From f598f2469cb04aa1ca748d87292b39c10e5e7237 Mon Sep 17 00:00:00 2001 From: Steven Pautz Date: Sun, 18 Sep 2022 20:20:32 -0400 Subject: [PATCH] ESM and import fixes (#41) * Stashed changes to imports and esm build * Restore earlier import * Add changelog entry --- .changeset/silver-ties-deny.md | 6 +++++ packages/core/package.json | 6 ++--- packages/core/src/createDynamicSelector.ts | 14 +++++++---- .../src/devOnlyUtils/DebugInfoCheckUtil.ts | 6 ++--- packages/core/src/dynamicSelectorForState.ts | 8 +++--- packages/core/src/index.devOnly.ts | 4 +-- packages/core/src/index.ts | 6 ++--- packages/core/src/internals/callStack.ts | 2 +- packages/core/src/internals/dependencies.ts | 6 ++--- packages/core/src/internals/index.ts | 10 ++++---- packages/core/src/internals/resultCache.ts | 10 ++++---- .../core/src/internals/validateOptions.ts | 2 +- packages/core/src/types.ts | 2 +- packages/with-reselect/package.json | 2 +- packages/with-reselect/src/index.ts | 4 +-- pnpm-lock.yaml | 25 +++++++++++++------ scripts/full-everything.sh | 1 - 17 files changed, 67 insertions(+), 47 deletions(-) create mode 100644 .changeset/silver-ties-deny.md diff --git a/.changeset/silver-ties-deny.md b/.changeset/silver-ties-deny.md new file mode 100644 index 0000000..9a0e244 --- /dev/null +++ b/.changeset/silver-ties-deny.md @@ -0,0 +1,6 @@ +--- +'@dynamic-selectors/core': patch +'@dynamic-selectors/with-reselect': patch +--- + +Include esm-related fixes that were supposed to be in v1.1.0 diff --git a/packages/core/package.json b/packages/core/package.json index 8927b8f..cc24c27 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -67,7 +67,7 @@ "____ INDIVIDUAL COMMANDS ___________________________________________": "", "build": "pnpm run build:main && pnpm run size && pnpm run build:legacytypes", "build:clean": "rimraf ./dist ./legacy-types", - "build:main": "pnpm run build:clean && tsup src/index.ts ./src/index.devOnly.ts --format esm,cjs && tsc -p ./tsconfig.build.json --declaration --emitDeclarationOnly", + "build:main": "pnpm run build:clean && tsup src/index.ts ./src/index.devOnly.ts --format cjs && tsc -p ./tsconfig.build.json", "build:legacytypes": "pnpm run build:legacytypes:3.5 && pnpm run build:legacytypes:4.0 && pnpm run build:legacytypes:4.5", "build:legacytypes:3.5": "downlevel-dts ./dist ./legacy-types/ts3.5 --to=3.5", "build:legacytypes:4.0": "downlevel-dts ./dist ./legacy-types/ts4.0 --to=4.0", @@ -88,11 +88,11 @@ "types": "tsc -p ./tsconfig.json --noEmit" }, "dependencies": { - "lodash": "^4.17.21", + "lodash-es": "^4.17.21", "shallowequal": "^1.1.0" }, "devDependencies": { - "@types/lodash": "4.14.185", + "@types/lodash-es": "4.17.6", "@types/node": "18.7.18", "@types/shallowequal": "1.1.1" }, diff --git a/packages/core/src/createDynamicSelector.ts b/packages/core/src/createDynamicSelector.ts index 762400e..76a20b1 100644 --- a/packages/core/src/createDynamicSelector.ts +++ b/packages/core/src/createDynamicSelector.ts @@ -1,14 +1,18 @@ -import get from 'lodash/get.js'; +import { get } from 'lodash-es'; import shallowEqual from 'shallowequal'; -import { dynamicSelectorForState } from './dynamicSelectorForState'; -import type { DynamicSelectorResultCache, DynamicSelectorResultEntry } from './internals'; +import { dynamicSelectorForState } from './dynamicSelectorForState.js'; +import type { DynamicSelectorResultCache, DynamicSelectorResultEntry } from './internals/index.js'; import type { DefaultStateType, DynamicSelectorOptions, DynamicSelectorStateOptions, -} from './types'; -import { DynamicSelectorFnFromInnerFn, DynamicSelectorInnerFn, RemoveFirstElement } from './types'; +} from './types.js'; +import { + DynamicSelectorFnFromInnerFn, + DynamicSelectorInnerFn, + RemoveFirstElement, +} from './types.js'; /** * Default cache for dynamic-selector call results diff --git a/packages/core/src/devOnlyUtils/DebugInfoCheckUtil.ts b/packages/core/src/devOnlyUtils/DebugInfoCheckUtil.ts index 6cbfc7f..e36481f 100644 --- a/packages/core/src/devOnlyUtils/DebugInfoCheckUtil.ts +++ b/packages/core/src/devOnlyUtils/DebugInfoCheckUtil.ts @@ -1,6 +1,6 @@ /* c8 ignore start */ -import type { DynamicSelectorDebugInfo } from '../internals/debugInfo'; +import type { DynamicSelectorDebugInfo } from '../internals/debugInfo.js'; import { createDebugInfo, debugAbortedRun, @@ -9,8 +9,8 @@ import { debugInvoked, debugPhantomRun, debugSkippedRun, -} from '../internals/debugInfo'; -import type { AnyDynamicSelectorFn, DynamicSelectorParams } from '../types'; +} from '../internals/debugInfo.js'; +import type { AnyDynamicSelectorFn, DynamicSelectorParams } from '../types.js'; type ExpectedDebugInfoEntryType = 'depCheck' | 'invoked'; type ExpectedDebugInfoResultType = 'skipped' | 'phantom' | 'run' | 'aborted'; diff --git a/packages/core/src/dynamicSelectorForState.ts b/packages/core/src/dynamicSelectorForState.ts index ac05022..fc19933 100644 --- a/packages/core/src/dynamicSelectorForState.ts +++ b/packages/core/src/dynamicSelectorForState.ts @@ -2,7 +2,7 @@ import type { DynamicSelectorDebugInfo, DynamicSelectorResultCache, DynamicSelectorResultEntry, -} from './internals'; +} from './internals/index.js'; import { RESULT_ENTRY__STATE_OPTIONS, RESULT_ENTRY__STATE, @@ -29,7 +29,7 @@ import { pushCallStackEntry, validateOptions, validateStateOptions, -} from './internals'; +} from './internals/index.js'; import type { DefaultExtraArgsType, DefaultReturnType, @@ -40,8 +40,8 @@ import type { DynamicSelectorParams, DynamicSelectorStateOptions, StatePath, -} from './types'; -import { DynamicSelectorFnFromInnerFn, RemoveFirstElement } from './types'; +} from './types.js'; +import { DynamicSelectorFnFromInnerFn, RemoveFirstElement } from './types.js'; const dynamicSelectorForState = ( stateOptions: DynamicSelectorStateOptions, diff --git a/packages/core/src/index.devOnly.ts b/packages/core/src/index.devOnly.ts index a1e5a12..480ae04 100644 --- a/packages/core/src/index.devOnly.ts +++ b/packages/core/src/index.devOnly.ts @@ -1,2 +1,2 @@ -export * from './devOnlyUtils/DebugInfoCheckUtil'; -export * from './types'; +export * from './devOnlyUtils/DebugInfoCheckUtil.js'; +export * from './types.js'; diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts index 8e1a7f6..c48fe33 100644 --- a/packages/core/src/index.ts +++ b/packages/core/src/index.ts @@ -1,4 +1,4 @@ -export * from './createDynamicSelector'; -export * from './dynamicSelectorForState'; +export * from './createDynamicSelector.js'; +export * from './dynamicSelectorForState.js'; -export * from './types'; +export * from './types.js'; diff --git a/packages/core/src/internals/callStack.ts b/packages/core/src/internals/callStack.ts index a4358b2..24fbfee 100644 --- a/packages/core/src/internals/callStack.ts +++ b/packages/core/src/internals/callStack.ts @@ -1,4 +1,4 @@ -import type { DynamicSelectorResultEntry } from './resultCache'; +import type { DynamicSelectorResultEntry } from './resultCache.js'; /** * The CallStack tracks Results which aren't yet finished: when any Dynamic Selector is run, its (pending) Result diff --git a/packages/core/src/internals/dependencies.ts b/packages/core/src/internals/dependencies.ts index d219abc..109bdfd 100644 --- a/packages/core/src/internals/dependencies.ts +++ b/packages/core/src/internals/dependencies.ts @@ -1,14 +1,14 @@ -import { popCallStackEntry, pushCallStackEntry } from './callStack'; +import { popCallStackEntry, pushCallStackEntry } from './callStack.js'; import { createDepCheckEntry, RESULT_ENTRY__HAS_RETURN_VALUE, RESULT_ENTRY__RETURN_VALUE, -} from './resultCache'; +} from './resultCache.js'; import type { DynamicSelectorFnFromTypes, DynamicSelectorParams, DynamicSelectorStateGetFn, -} from '../types'; +} from '../types.js'; /** * We track wo types of dependencies: diff --git a/packages/core/src/internals/index.ts b/packages/core/src/internals/index.ts index 5d8a2a8..0188e47 100644 --- a/packages/core/src/internals/index.ts +++ b/packages/core/src/internals/index.ts @@ -1,5 +1,5 @@ -export * from './callStack'; -export * from './debugInfo'; -export * from './dependencies'; -export * from './resultCache'; -export * from './validateOptions'; +export * from './callStack.js'; +export * from './debugInfo.js'; +export * from './dependencies.js'; +export * from './resultCache.js'; +export * from './validateOptions.js'; diff --git a/packages/core/src/internals/resultCache.ts b/packages/core/src/internals/resultCache.ts index 164634c..a76b4dd 100644 --- a/packages/core/src/internals/resultCache.ts +++ b/packages/core/src/internals/resultCache.ts @@ -1,11 +1,11 @@ -import { getTopCallStackEntry } from './callStack'; -import type { DynamicSelectorDebugInfo } from './debugInfo'; -import { createDebugInfo } from './debugInfo'; +import { getTopCallStackEntry } from './callStack.js'; +import type { DynamicSelectorDebugInfo } from './debugInfo.js'; +import { createDebugInfo } from './debugInfo.js'; import type { DynamicSelectorCallDependencies, DynamicSelectorStateDependencies, -} from './dependencies'; -import type { DynamicSelectorStateOptions } from '../types'; +} from './dependencies.js'; +import type { DynamicSelectorStateOptions } from '../types.js'; /** * This is where things happen: this tracks everything about a single Dynamic Selector call: what was called, diff --git a/packages/core/src/internals/validateOptions.ts b/packages/core/src/internals/validateOptions.ts index 077e24a..aec37b2 100644 --- a/packages/core/src/internals/validateOptions.ts +++ b/packages/core/src/internals/validateOptions.ts @@ -1,4 +1,4 @@ -import type { DynamicSelectorOptions, DynamicSelectorStateOptions } from '../types'; +import type { DynamicSelectorOptions, DynamicSelectorStateOptions } from '../types.js'; const validateOptions = (options: DynamicSelectorOptions) => { /* c8 ignore start */ diff --git a/packages/core/src/types.ts b/packages/core/src/types.ts index a9da6b7..d4d69e6 100644 --- a/packages/core/src/types.ts +++ b/packages/core/src/types.ts @@ -4,7 +4,7 @@ import type { DynamicSelectorDebugInfo, DynamicSelectorResultCache, DynamicSelectorResultEntry, -} from './internals'; +} from './internals/index.js'; type AnyPrimitive = boolean | number | string | null | undefined; diff --git a/packages/with-reselect/package.json b/packages/with-reselect/package.json index 759f93c..601f5cc 100644 --- a/packages/with-reselect/package.json +++ b/packages/with-reselect/package.json @@ -62,7 +62,7 @@ "____ INDIVIDUAL COMMANDS ___________________________________________": "", "build": "pnpm run build:main && pnpm run size && pnpm run build:legacytypes", "build:clean": "rimraf ./dist ./legacy-types", - "build:main": "pnpm run build:clean && tsup src/index.ts --format esm,cjs && tsc -p ./tsconfig.build.json --declaration --emitDeclarationOnly", + "build:main": "pnpm run build:clean && tsup src/index.ts --format cjs && tsc -p ./tsconfig.build.json", "build:legacytypes": "pnpm run build:legacytypes:3.5 && pnpm run build:legacytypes:4.0 && pnpm run build:legacytypes:4.5", "build:legacytypes:3.5": "downlevel-dts ./dist ./legacy-types/ts3.5 --to=3.5", "build:legacytypes:4.0": "downlevel-dts ./dist ./legacy-types/ts4.0 --to=4.0", diff --git a/packages/with-reselect/src/index.ts b/packages/with-reselect/src/index.ts index da3ae06..c17474d 100644 --- a/packages/with-reselect/src/index.ts +++ b/packages/with-reselect/src/index.ts @@ -1,2 +1,2 @@ -export * from './dynamicSelectorFromReselect'; -export * from './reselectSelectorFromDynamic'; +export * from './dynamicSelectorFromReselect.js'; +export * from './reselectSelectorFromDynamic.js'; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 29b4036..a413a44 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -52,16 +52,16 @@ importers: packages/core: specifiers: - '@types/lodash': 4.14.185 + '@types/lodash-es': 4.17.6 '@types/node': 18.7.18 '@types/shallowequal': 1.1.1 - lodash: ^4.17.21 + lodash-es: ^4.17.21 shallowequal: ^1.1.0 dependencies: - lodash: 4.17.21 + lodash-es: 4.17.21 shallowequal: 1.1.0 devDependencies: - '@types/lodash': 4.14.185 + '@types/lodash-es': 4.17.6 '@types/node': 18.7.18 '@types/shallowequal': 1.1.1 @@ -461,6 +461,12 @@ packages: resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} dev: true + /@types/lodash-es/4.17.6: + resolution: {integrity: sha512-R+zTeVUKDdfoRxpAryaQNRKk3105Rrgx2CFRClIgRGaqDTdjsm8h6IYA8ir584W3ePzkZfst5xIgDwYrlh9HLg==} + dependencies: + '@types/lodash': 4.14.185 + dev: true + /@types/lodash/4.14.185: resolution: {integrity: sha512-evMDG1bC4rgQg4ku9tKpuMh5iBNEwNa3tf9zRHdP1qlv+1WUg44xat4IxCE14gIpZRGUUWAx2VhItCZc25NfMA==} dev: true @@ -1139,7 +1145,7 @@ packages: dependencies: semver: 7.3.7 shelljs: 0.8.5 - typescript: 4.9.0-dev.20220917 + typescript: 4.9.0-dev.20220918 dev: true /eastasianwidth/0.2.0: @@ -2313,6 +2319,10 @@ packages: p-locate: 5.0.0 dev: true + /lodash-es/4.17.21: + resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} + dev: false + /lodash.merge/4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} dev: true @@ -2327,6 +2337,7 @@ packages: /lodash/4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + dev: true /log-update/4.0.0: resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==} @@ -3424,8 +3435,8 @@ packages: hasBin: true dev: true - /typescript/4.9.0-dev.20220917: - resolution: {integrity: sha512-lWQcM2WDtYbIm7s//TgM84bRnGpuHqMVGX7Gl97qNs1QdBojiS7lzYVgLVMopBWvQc1KKAmBr6LZXhO2AfZ8Vw==} + /typescript/4.9.0-dev.20220918: + resolution: {integrity: sha512-ZaAeBYbVpmM9j0d35AlKqqM4Z2aVSEdjEF9U3barRlWUZ0kJQHjTOaLRIckqwiks8rxa0viyXGt/A8bCgkk8yQ==} engines: {node: '>=4.2.0'} hasBin: true dev: true diff --git a/scripts/full-everything.sh b/scripts/full-everything.sh index bc8d9c2..b008ecf 100755 --- a/scripts/full-everything.sh +++ b/scripts/full-everything.sh @@ -13,7 +13,6 @@ source ./scripts/helpers/helpers.sh echo "Going to doing everything: this will take a while..." ./scripts/clean-everything.sh ./scripts/setup-environment.sh -./scripts/full-ci.sh ./scripts/build-everything.sh ###################################################################################################