diff --git a/packages/playground/vite.config.ts b/packages/playground/vite.config.ts index 13fbb42369..65821a815c 100644 --- a/packages/playground/vite.config.ts +++ b/packages/playground/vite.config.ts @@ -24,7 +24,7 @@ export default defineConfig({ '@rjsf/semantic-ui': path.resolve(__dirname, '../semantic-ui/src'), '@rjsf/shadcn': path.resolve(__dirname, '../shadcn/src'), // We want to pick up the browser version of the utils - '@rjsf/utils': path.resolve(__dirname, '../utils/src/indexBrowser'), + '@rjsf/utils': path.resolve(__dirname, '../utils/src'), '@rjsf/validator-ajv8': path.resolve(__dirname, '../validator-ajv8/src'), '@rjsf/daisyui': path.resolve(__dirname, '../daisyui/src'), }, diff --git a/packages/utils/package.json b/packages/utils/package.json index 33db1fa979..e3055c0a97 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -4,7 +4,6 @@ "main": "dist/index.js", "module": "lib/index.js", "typings": "lib/index.d.ts", - "browser": "dist/indexBrowser.js", "type": "module", "description": "Utility functions for @rjsf/core", "exports": { @@ -46,13 +45,10 @@ "scripts": { "compileReplacer": "tsc -p tsconfig.replacer.json && move-file lodashReplacer.js lodashReplacer.cjs", "build:ts": "npm run compileReplacer && rimraf ./lib && tsc -b tsconfig.build.json && tsc-alias -p tsconfig.build.json", - "build:esm-browser": "esbuild ./src/indexBrowser.ts --bundle --outfile=dist/utils-browser.esm.js --sourcemap --packages=external --format=esm", - "build:cjs-browser": "esbuild ./src/indexBrowser.ts --bundle --outfile=dist/indexBrowser.js --sourcemap --packages=external --format=cjs", - "build:umd-browser": "rollup dist/utils-browser.esm.js --format=umd --file=dist/utils-browser.umd.js --name=@rjsf/utils", "build:cjs": "esbuild ./src/index.ts --bundle --outfile=dist/index.js --sourcemap --packages=external --format=cjs", "build:esm": "esbuild ./src/index.ts --bundle --outfile=dist/utils.esm.js --sourcemap --packages=external --format=esm", "build:umd": "rollup dist/utils.esm.js --format=umd --file=dist/utils.umd.js --name=@rjsf/utils", - "build": "npm run build:ts && npm run build:cjs && npm run build:cjs-browser && npm run build:esm && npm run build:esm-browser && npm run build:umd && npm run build:umd-browser", + "build": "npm run build:ts && npm run build:cjs && npm run build:esm && npm run build:umd", "cs-check": "prettier -l \"{src,test}/**/*.ts?(x)\"", "cs-format": "prettier \"{src,test}/**/*.ts?(x)\" --write", "lint": "eslint src test", diff --git a/packages/utils/src/getTestIds.ts b/packages/utils/src/getTestIds.ts index 6849a3ac50..6021512252 100644 --- a/packages/utils/src/getTestIds.ts +++ b/packages/utils/src/getTestIds.ts @@ -3,12 +3,6 @@ import get from 'lodash/get'; import { TestIdShape } from './types'; -/** Returns an empty object for use on the browser since we'll never use test ids there. - */ -export function getTestIdsBrowser(): TestIdShape { - return {}; -} - /** Returns an object of test IDs that can only be used in test mode. If the function is called in a test environment * (`NODE_ENV === 'test'`, this is set by jest) then a Proxy object will be returned. If a key within the returned * object is accessed, if the value already exists the object will return that value, otherwise it will create that key @@ -27,8 +21,8 @@ export function getTestIdsBrowser(): TestIdShape { export default function getTestIds(): TestIdShape { // For some reason, even though process.env contains the value of `test` for NODE_ENV, accessing it directly returns // 'development'. Using `get()` does, in fact, return test so sticking with it - if (get(process, 'env.NODE_ENV') !== 'test') { - return getTestIdsBrowser(); + if (typeof process === 'undefined' || get(process, 'env.NODE_ENV') !== 'test') { + return {}; } const ids = new Map(); diff --git a/packages/utils/src/indexBrowser.ts b/packages/utils/src/indexBrowser.ts deleted file mode 100644 index e55cc5d455..0000000000 --- a/packages/utils/src/indexBrowser.ts +++ /dev/null @@ -1,144 +0,0 @@ -import allowAdditionalItems from './allowAdditionalItems'; -import asNumber from './asNumber'; -import canExpand from './canExpand'; -import createErrorHandler from './createErrorHandler'; -import createSchemaUtils from './createSchemaUtils'; -import dataURItoBlob from './dataURItoBlob'; -import dateRangeOptions from './dateRangeOptions'; -import deepEquals from './deepEquals'; -import englishStringTranslator from './englishStringTranslator'; -import enumOptionsDeselectValue from './enumOptionsDeselectValue'; -import enumOptionsIndexForValue from './enumOptionsIndexForValue'; -import enumOptionsIsSelected from './enumOptionsIsSelected'; -import enumOptionsSelectValue from './enumOptionsSelectValue'; -import enumOptionsValueForIndex from './enumOptionsValueForIndex'; -import ErrorSchemaBuilder from './ErrorSchemaBuilder'; -import findSchemaDefinition from './findSchemaDefinition'; -import getDateElementProps, { type DateElementFormat } from './getDateElementProps'; -import getDiscriminatorFieldFromSchema from './getDiscriminatorFieldFromSchema'; -import getInputProps from './getInputProps'; -import getSchemaType from './getSchemaType'; -import getSubmitButtonOptions from './getSubmitButtonOptions'; -import getTemplate from './getTemplate'; -import { getTestIdsBrowser as getTestIds } from './getTestIds'; -import getUiOptions from './getUiOptions'; -import getWidget from './getWidget'; -import guessType from './guessType'; -import hashForSchema, { hashObject, hashString, sortedJSONStringify } from './hashForSchema'; -import hasWidget from './hasWidget'; -import { - ariaDescribedByIds, - buttonId, - descriptionId, - errorId, - examplesId, - helpId, - optionId, - titleId, -} from './idGenerators'; -import isConstant from './isConstant'; -import isCustomWidget from './isCustomWidget'; -import isFixedItems from './isFixedItems'; -import isObject from './isObject'; -import labelValue from './labelValue'; -import localToUTC from './localToUTC'; -import lookupFromFormContext from './lookupFromFormContext'; -import mergeDefaultsWithFormData from './mergeDefaultsWithFormData'; -import mergeObjects from './mergeObjects'; -import mergeSchemas from './mergeSchemas'; -import optionsList from './optionsList'; -import orderProperties from './orderProperties'; -import pad from './pad'; -import parseDateString from './parseDateString'; -import rangeSpec from './rangeSpec'; -import replaceStringParameters from './replaceStringParameters'; -import schemaRequiresTrueValue from './schemaRequiresTrueValue'; -import shouldRender from './shouldRender'; -import toConstant from './toConstant'; -import toDateString from './toDateString'; -import toErrorList from './toErrorList'; -import toErrorSchema from './toErrorSchema'; -import unwrapErrorHandler from './unwrapErrorHandler'; -import utcToLocal from './utcToLocal'; -import validationDataMerge from './validationDataMerge'; -import withIdRefPrefix from './withIdRefPrefix'; -import getOptionMatchingSimpleDiscriminator from './getOptionMatchingSimpleDiscriminator'; -import getChangedFields from './getChangedFields'; - -export * from './types'; -export * from './enums'; - -export * from './constants'; -export * from './parser'; -export * from './schema'; - -export { - allowAdditionalItems, - ariaDescribedByIds, - asNumber, - buttonId, - canExpand, - createErrorHandler, - createSchemaUtils, - DateElementFormat, - dataURItoBlob, - dateRangeOptions, - deepEquals, - descriptionId, - englishStringTranslator, - enumOptionsDeselectValue, - enumOptionsIndexForValue, - enumOptionsIsSelected, - enumOptionsSelectValue, - enumOptionsValueForIndex, - errorId, - examplesId, - ErrorSchemaBuilder, - findSchemaDefinition, - getChangedFields, - getDateElementProps, - getDiscriminatorFieldFromSchema, - getInputProps, - getOptionMatchingSimpleDiscriminator, - getSchemaType, - getSubmitButtonOptions, - getTemplate, - getTestIds, - getUiOptions, - getWidget, - guessType, - hasWidget, - hashForSchema, - hashObject, - hashString, - helpId, - isConstant, - isCustomWidget, - isFixedItems, - isObject, - labelValue, - localToUTC, - lookupFromFormContext, - mergeDefaultsWithFormData, - mergeObjects, - mergeSchemas, - optionId, - optionsList, - orderProperties, - pad, - parseDateString, - rangeSpec, - replaceStringParameters, - schemaRequiresTrueValue, - shouldRender, - sortedJSONStringify, - titleId, - toConstant, - toDateString, - toErrorList, - toErrorSchema, - unwrapErrorHandler, - utcToLocal, - validationDataMerge, - withIdRefPrefix, -};