@pie-element/cli 0.1.1 → 0.1.2-next.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +48 -10
- package/dist/commands/dev/demo/index.d.ts +1 -1
- package/dist/commands/dev/demo/index.js +21 -0
- package/dist/commands/dev/demo/index.js.map +1 -1
- package/dist/commands/dev/test-bundler.d.ts +0 -1
- package/dist/commands/dev/test-bundler.js +2 -10
- package/dist/commands/dev/test-bundler.js.map +1 -1
- package/dist/commands/docs/generate.d.ts +16 -0
- package/dist/commands/docs/generate.js +150 -0
- package/dist/commands/docs/generate.js.map +1 -0
- package/dist/commands/docs/verify.d.ts +12 -0
- package/dist/commands/docs/verify.js +40 -0
- package/dist/commands/docs/verify.js.map +1 -0
- package/dist/commands/packages/create-controllers.d.ts +0 -1
- package/dist/commands/packages/create-controllers.js.map +1 -1
- package/dist/commands/packages/create-lib-react.d.ts +0 -1
- package/dist/commands/packages/create-lib-react.js +1 -3
- package/dist/commands/packages/create-lib-react.js.map +1 -1
- package/dist/commands/packages/create-react-elements.d.ts +0 -1
- package/dist/commands/packages/create-react-elements.js +2 -3
- package/dist/commands/packages/create-react-elements.js.map +1 -1
- package/dist/commands/packages/enable-publishing.d.ts +0 -1
- package/dist/commands/packages/enable-publishing.js +26 -23
- package/dist/commands/packages/enable-publishing.js.map +1 -1
- package/dist/commands/packages/init-synced-elements.d.ts +0 -1
- package/dist/commands/packages/init-synced-elements.js +1 -1
- package/dist/commands/packages/init-synced-elements.js.map +1 -1
- package/dist/commands/upstream/analyze-esm.d.ts +0 -1
- package/dist/commands/upstream/analyze-esm.js +5 -1
- package/dist/commands/upstream/analyze-esm.js.map +1 -1
- package/dist/commands/upstream/check.d.ts +0 -1
- package/dist/commands/upstream/check.js.map +1 -1
- package/dist/commands/upstream/deps.d.ts +0 -1
- package/dist/commands/upstream/deps.js.map +1 -1
- package/dist/commands/upstream/sync.d.ts +11 -2
- package/dist/commands/upstream/sync.js +364 -25
- package/dist/commands/upstream/sync.js.map +1 -1
- package/dist/commands/upstream/track.d.ts +0 -1
- package/dist/commands/upstream/track.js.map +1 -1
- package/dist/commands/upstream/update.d.ts +0 -1
- package/dist/commands/upstream/update.js +37 -7
- package/dist/commands/upstream/update.js.map +1 -1
- package/dist/commands/verify/controllers.d.ts +0 -1
- package/dist/commands/verify/controllers.js +213 -59
- package/dist/commands/verify/controllers.js.map +1 -1
- package/dist/commands/verify/dependency-integrity.d.ts +18 -0
- package/dist/commands/verify/dependency-integrity.js +147 -0
- package/dist/commands/verify/dependency-integrity.js.map +1 -0
- package/dist/commands/verify/react-build.d.ts +0 -1
- package/dist/commands/verify/react-build.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/docs/contract-validator.d.ts +12 -0
- package/dist/lib/docs/contract-validator.js +38 -0
- package/dist/lib/docs/contract-validator.js.map +1 -0
- package/dist/lib/docs/contracts.d.ts +11 -0
- package/dist/lib/docs/contracts.js +241 -0
- package/dist/lib/docs/contracts.js.map +1 -0
- package/dist/lib/docs/discovery.d.ts +10 -0
- package/dist/lib/docs/discovery.js +91 -0
- package/dist/lib/docs/discovery.js.map +1 -0
- package/dist/lib/docs/generator.d.ts +14 -0
- package/dist/lib/docs/generator.js +450 -0
- package/dist/lib/docs/generator.js.map +1 -0
- package/dist/lib/docs/source-extractor.d.ts +2 -0
- package/dist/lib/docs/source-extractor.js +209 -0
- package/dist/lib/docs/source-extractor.js.map +1 -0
- package/dist/lib/docs/types.d.ts +77 -0
- package/dist/lib/docs/types.js +2 -0
- package/dist/lib/docs/types.js.map +1 -0
- package/dist/lib/upstream/repo-utils.d.ts +0 -1
- package/dist/lib/upstream/repo-utils.js.map +1 -1
- package/dist/lib/upstream/sync-compatibility.d.ts +0 -1
- package/dist/lib/upstream/sync-compatibility.js.map +1 -1
- package/dist/lib/upstream/sync-constants.d.ts +35 -7
- package/dist/lib/upstream/sync-constants.js +40 -11
- package/dist/lib/upstream/sync-constants.js.map +1 -1
- package/dist/lib/upstream/sync-controllers-strategy.d.ts +0 -1
- package/dist/lib/upstream/sync-controllers-strategy.js +14 -4
- package/dist/lib/upstream/sync-controllers-strategy.js.map +1 -1
- package/dist/lib/upstream/sync-demo-metadata.d.ts +0 -1
- package/dist/lib/upstream/sync-demo-metadata.js +1 -1
- package/dist/lib/upstream/sync-demo-metadata.js.map +1 -1
- package/dist/lib/upstream/sync-entry-discovery.d.ts +3 -0
- package/dist/lib/upstream/sync-entry-discovery.js +23 -0
- package/dist/lib/upstream/sync-entry-discovery.js.map +1 -0
- package/dist/lib/upstream/sync-externals.d.ts +7 -7
- package/dist/lib/upstream/sync-externals.js +51 -35
- package/dist/lib/upstream/sync-externals.js.map +1 -1
- package/dist/lib/upstream/sync-filesystem.d.ts +0 -1
- package/dist/lib/upstream/sync-filesystem.js.map +1 -1
- package/dist/lib/upstream/sync-imports.d.ts +82 -62
- package/dist/lib/upstream/sync-imports.js +658 -185
- package/dist/lib/upstream/sync-imports.js.map +1 -1
- package/dist/lib/upstream/sync-package-json.d.ts +0 -1
- package/dist/lib/upstream/sync-package-json.js +7 -0
- package/dist/lib/upstream/sync-package-json.js.map +1 -1
- package/dist/lib/upstream/sync-package-manager.d.ts +14 -4
- package/dist/lib/upstream/sync-package-manager.js +408 -72
- package/dist/lib/upstream/sync-package-manager.js.map +1 -1
- package/dist/lib/upstream/sync-pielib-strategy.d.ts +2 -1
- package/dist/lib/upstream/sync-pielib-strategy.js +228 -110
- package/dist/lib/upstream/sync-pielib-strategy.js.map +1 -1
- package/dist/lib/upstream/sync-presets.d.ts +53 -0
- package/dist/lib/upstream/sync-presets.js +203 -0
- package/dist/lib/upstream/sync-presets.js.map +1 -0
- package/dist/lib/upstream/sync-react-strategy.d.ts +6 -1
- package/dist/lib/upstream/sync-react-strategy.js +342 -134
- package/dist/lib/upstream/sync-react-strategy.js.map +1 -1
- package/dist/lib/upstream/sync-source-edit.d.ts +14 -0
- package/dist/lib/upstream/sync-source-edit.js +89 -0
- package/dist/lib/upstream/sync-source-edit.js.map +1 -0
- package/dist/lib/upstream/sync-source-tree.d.ts +22 -0
- package/dist/lib/upstream/sync-source-tree.js +99 -0
- package/dist/lib/upstream/sync-source-tree.js.map +1 -0
- package/dist/lib/upstream/sync-strategy.d.ts +1 -1
- package/dist/lib/upstream/sync-strategy.js.map +1 -1
- package/dist/lib/upstream/sync-summary.d.ts +0 -1
- package/dist/lib/upstream/sync-summary.js.map +1 -1
- package/dist/lib/upstream/sync-transforms.d.ts +13 -11
- package/dist/lib/upstream/sync-transforms.js +23 -17
- package/dist/lib/upstream/sync-transforms.js.map +1 -1
- package/dist/lib/upstream/sync-vite-config.d.ts +13 -1
- package/dist/lib/upstream/sync-vite-config.js +65 -46
- package/dist/lib/upstream/sync-vite-config.js.map +1 -1
- package/dist/utils/compatibility.d.ts +13 -1
- package/dist/utils/compatibility.js +143 -2
- package/dist/utils/compatibility.js.map +1 -1
- package/dist/utils/conversion.d.ts +0 -1
- package/dist/utils/conversion.js.map +1 -1
- package/dist/utils/dependency-integrity.d.ts +37 -0
- package/dist/utils/dependency-integrity.js +557 -0
- package/dist/utils/dependency-integrity.js.map +1 -0
- package/dist/utils/git.d.ts +0 -1
- package/dist/utils/git.js.map +1 -1
- package/dist/utils/logger.d.ts +0 -1
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/package-json.d.ts +0 -1
- package/dist/utils/package-json.js.map +1 -1
- package/package.json +24 -12
- package/.compatibility/report.json +0 -2491
- package/.turbo/turbo-build.log +0 -1
- package/CHANGELOG.md +0 -8
- package/REFACTORING.md +0 -131
- package/bin/dev.js +0 -5
- package/dist/commands/dev/demo/index.d.ts.map +0 -1
- package/dist/commands/dev/test-bundler.d.ts.map +0 -1
- package/dist/commands/mathquill/migrate.d.ts +0 -20
- package/dist/commands/mathquill/migrate.d.ts.map +0 -1
- package/dist/commands/mathquill/migrate.js +0 -240
- package/dist/commands/mathquill/migrate.js.map +0 -1
- package/dist/commands/mathquill/status.d.ts +0 -20
- package/dist/commands/mathquill/status.d.ts.map +0 -1
- package/dist/commands/mathquill/status.js +0 -231
- package/dist/commands/mathquill/status.js.map +0 -1
- package/dist/commands/packages/create-controllers.d.ts.map +0 -1
- package/dist/commands/packages/create-lib-react.d.ts.map +0 -1
- package/dist/commands/packages/create-react-elements.d.ts.map +0 -1
- package/dist/commands/packages/enable-publishing.d.ts.map +0 -1
- package/dist/commands/packages/init-synced-elements.d.ts.map +0 -1
- package/dist/commands/upstream/analyze-esm.d.ts.map +0 -1
- package/dist/commands/upstream/check.d.ts.map +0 -1
- package/dist/commands/upstream/deps.d.ts.map +0 -1
- package/dist/commands/upstream/sync-mathquill.d.ts +0 -12
- package/dist/commands/upstream/sync-mathquill.d.ts.map +0 -1
- package/dist/commands/upstream/sync-mathquill.js +0 -97
- package/dist/commands/upstream/sync-mathquill.js.map +0 -1
- package/dist/commands/upstream/sync.d.ts.map +0 -1
- package/dist/commands/upstream/track.d.ts.map +0 -1
- package/dist/commands/upstream/update.d.ts.map +0 -1
- package/dist/commands/verify/controllers.d.ts.map +0 -1
- package/dist/commands/verify/react-build.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/lib/mathquill/extension-generator.d.ts +0 -9
- package/dist/lib/mathquill/extension-generator.d.ts.map +0 -1
- package/dist/lib/mathquill/extension-generator.js +0 -107
- package/dist/lib/mathquill/extension-generator.js.map +0 -1
- package/dist/lib/mathquill/khan-extractor.d.ts +0 -16
- package/dist/lib/mathquill/khan-extractor.d.ts.map +0 -1
- package/dist/lib/mathquill/khan-extractor.js +0 -148
- package/dist/lib/mathquill/khan-extractor.js.map +0 -1
- package/dist/lib/mathquill/learnosity-extractor.d.ts +0 -15
- package/dist/lib/mathquill/learnosity-extractor.d.ts.map +0 -1
- package/dist/lib/mathquill/learnosity-extractor.js +0 -170
- package/dist/lib/mathquill/learnosity-extractor.js.map +0 -1
- package/dist/lib/mathquill/migration-orchestrator.d.ts +0 -77
- package/dist/lib/mathquill/migration-orchestrator.d.ts.map +0 -1
- package/dist/lib/mathquill/migration-orchestrator.js +0 -391
- package/dist/lib/mathquill/migration-orchestrator.js.map +0 -1
- package/dist/lib/mathquill/package-updater.d.ts +0 -9
- package/dist/lib/mathquill/package-updater.d.ts.map +0 -1
- package/dist/lib/mathquill/package-updater.js +0 -103
- package/dist/lib/mathquill/package-updater.js.map +0 -1
- package/dist/lib/mathquill/pie-extractor.d.ts +0 -14
- package/dist/lib/mathquill/pie-extractor.d.ts.map +0 -1
- package/dist/lib/mathquill/pie-extractor.js +0 -167
- package/dist/lib/mathquill/pie-extractor.js.map +0 -1
- package/dist/lib/upstream/repo-utils.d.ts.map +0 -1
- package/dist/lib/upstream/sync-compatibility.d.ts.map +0 -1
- package/dist/lib/upstream/sync-constants.d.ts.map +0 -1
- package/dist/lib/upstream/sync-controllers-strategy.d.ts.map +0 -1
- package/dist/lib/upstream/sync-demo-metadata.d.ts.map +0 -1
- package/dist/lib/upstream/sync-dev-exports.d.ts +0 -13
- package/dist/lib/upstream/sync-dev-exports.d.ts.map +0 -1
- package/dist/lib/upstream/sync-dev-exports.js +0 -115
- package/dist/lib/upstream/sync-dev-exports.js.map +0 -1
- package/dist/lib/upstream/sync-externals.d.ts.map +0 -1
- package/dist/lib/upstream/sync-filesystem.d.ts.map +0 -1
- package/dist/lib/upstream/sync-imports.d.ts.map +0 -1
- package/dist/lib/upstream/sync-mathquill.d.ts +0 -19
- package/dist/lib/upstream/sync-mathquill.d.ts.map +0 -1
- package/dist/lib/upstream/sync-mathquill.js +0 -160
- package/dist/lib/upstream/sync-mathquill.js.map +0 -1
- package/dist/lib/upstream/sync-package-json.d.ts.map +0 -1
- package/dist/lib/upstream/sync-package-manager.d.ts.map +0 -1
- package/dist/lib/upstream/sync-pielib-strategy.d.ts.map +0 -1
- package/dist/lib/upstream/sync-react-strategy.d.ts.map +0 -1
- package/dist/lib/upstream/sync-strategy.d.ts.map +0 -1
- package/dist/lib/upstream/sync-summary.d.ts.map +0 -1
- package/dist/lib/upstream/sync-transforms.d.ts.map +0 -1
- package/dist/lib/upstream/sync-vite-config.d.ts.map +0 -1
- package/dist/utils/compatibility.d.ts.map +0 -1
- package/dist/utils/conversion.d.ts.map +0 -1
- package/dist/utils/git.d.ts.map +0 -1
- package/dist/utils/logger.d.ts.map +0 -1
- package/dist/utils/package-json.d.ts.map +0 -1
- package/packages/cli/bin/dev.js +0 -5
- package/packages/cli/bin/run.js +0 -5
- package/src/commands/dev/demo/index.ts +0 -313
- package/src/commands/dev/test-bundler.ts +0 -345
- package/src/commands/mathquill/migrate.ts +0 -269
- package/src/commands/mathquill/status.ts +0 -267
- package/src/commands/packages/create-controllers.ts +0 -127
- package/src/commands/packages/create-lib-react.ts +0 -279
- package/src/commands/packages/create-react-elements.ts +0 -306
- package/src/commands/packages/enable-publishing.ts +0 -161
- package/src/commands/packages/init-synced-elements.ts +0 -259
- package/src/commands/upstream/README.md +0 -444
- package/src/commands/upstream/analyze-esm.ts +0 -1973
- package/src/commands/upstream/check.ts +0 -228
- package/src/commands/upstream/deps.ts +0 -222
- package/src/commands/upstream/sync-mathquill.ts +0 -108
- package/src/commands/upstream/sync.ts +0 -687
- package/src/commands/upstream/track.ts +0 -145
- package/src/commands/upstream/update.ts +0 -110
- package/src/commands/verify/controllers.ts +0 -166
- package/src/commands/verify/react-build.ts +0 -171
- package/src/index.ts +0 -1
- package/src/lib/mathquill/extension-generator.ts +0 -111
- package/src/lib/mathquill/khan-extractor.ts +0 -175
- package/src/lib/mathquill/learnosity-extractor.ts +0 -198
- package/src/lib/mathquill/migration-orchestrator.ts +0 -513
- package/src/lib/mathquill/package-updater.ts +0 -120
- package/src/lib/mathquill/pie-extractor.ts +0 -194
- package/src/lib/upstream/repo-utils.ts +0 -18
- package/src/lib/upstream/sync-compatibility.ts +0 -89
- package/src/lib/upstream/sync-constants.ts +0 -77
- package/src/lib/upstream/sync-controllers-strategy.ts +0 -291
- package/src/lib/upstream/sync-demo-metadata.ts +0 -199
- package/src/lib/upstream/sync-dev-exports.ts +0 -151
- package/src/lib/upstream/sync-externals.ts +0 -159
- package/src/lib/upstream/sync-filesystem.ts +0 -87
- package/src/lib/upstream/sync-imports.ts +0 -992
- package/src/lib/upstream/sync-mathquill.ts +0 -194
- package/src/lib/upstream/sync-package-json.ts +0 -86
- package/src/lib/upstream/sync-package-manager.ts +0 -694
- package/src/lib/upstream/sync-pielib-strategy.ts +0 -441
- package/src/lib/upstream/sync-react-strategy.ts +0 -945
- package/src/lib/upstream/sync-strategy.ts +0 -61
- package/src/lib/upstream/sync-summary.ts +0 -194
- package/src/lib/upstream/sync-transforms.ts +0 -154
- package/src/lib/upstream/sync-vite-config.ts +0 -243
- package/src/types/es-module-lexer.d.ts +0 -4
- package/src/utils/compatibility.ts +0 -182
- package/src/utils/conversion.ts +0 -153
- package/src/utils/git.ts +0 -63
- package/src/utils/logger.ts +0 -69
- package/src/utils/package-json.ts +0 -43
- package/tests/sync-package-manager.test.ts +0 -112
- package/tests/transform-assign-props.test.ts +0 -101
- package/tsconfig.json +0 -15
|
@@ -104,7 +104,7 @@ export function getAllElements(): ElementMetadata[] {
|
|
|
104
104
|
async function copySampleConfigs(elements) {
|
|
105
105
|
for (const element of elements) {
|
|
106
106
|
const sourcePath = join(ELEMENTS_REACT_PATH, element.name, 'docs/demo');
|
|
107
|
-
const targetDir = join(DEMO_APP_PATH, 'src/lib/
|
|
107
|
+
const targetDir = join(DEMO_APP_PATH, 'src/lib/samples');
|
|
108
108
|
await mkdir(targetDir, { recursive: true });
|
|
109
109
|
// Convert config.mjs to JSON
|
|
110
110
|
if (element.hasConfig) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-demo-metadata.js","sourceRoot":"","sources":["../../../src/lib/upstream/sync-demo-metadata.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;AACpD,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;AAC3D,MAAM,mBAAmB,GAAG,IAAI,CAAC,SAAS,EAAE,yBAAyB,CAAC,CAAC;AAavE;;GAEG;AACH,KAAK,UAAU,iBAAiB;IAC9B,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;IAEpF,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC;QAC5E,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,QAAQ,GAAsB,EAAE,CAAC;IACvC,MAAM,IAAI,GAAG,WAAW,CAAC,mBAAmB,CAAC,CAAC;IAE9C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;QACnD,MAAM,IAAI,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;QAEnC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YAAE,SAAS;QAElC,+BAA+B;QAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QACzC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAC/C,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;YAAE,SAAS;QAE1C,6BAA6B;QAC7B,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;QACxD,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QAEtD,uBAAuB;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAChD,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;QAC7D,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;QAE/D,0EAA0E;QAC1E,MAAM,KAAK,GAAG,GAAG;aACd,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aAC3D,IAAI,CAAC,GAAG,CAAC,CAAC;QAEb,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,GAAG;YACT,KAAK;YACL,WAAW,EAAE,gBAAgB,GAAG,EAAE;YAClC,SAAS;YACT,QAAQ;YACR,SAAS;YACT,UAAU;YACV,SAAS,EAAE,CAAC,EAAE,uCAAuC;SACtD,CAAC,CAAC;IACL,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,gBAAgB,CAAC,QAA2B;IACzD,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,EAAE,8BAA8B,CAAC,CAAC;IAEzE,MAAM,OAAO,GAAG;;;;;;gBAMF,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;;;;;;;;;;;;;;8DAcsB,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;;;;;;;;;CAS9F,CAAC;IAEA,MAAM,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,MAAM,SAAS,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,2CAA2C,QAAQ,CAAC,MAAM,WAAW,CAAC,CAAC;AACrF,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,iBAAiB,CAAC,QAA2B;IAC1D,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,EAAE,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACxE,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE,mCAAmC,CAAC,CAAC;QAC3E,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE5C,6BAA6B;QAC7B,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;YACpD,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,OAAO,CAAC,CAAC;YAC7D,IAAI,CAAC;gBACH,+BAA+B;gBAC/B,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,UAAU,YAAY,EAAE,CAAC,CAAC;gBAC5D,IAAI,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC;gBAEtC,gEAAgE;gBAChE,IAAI,UAAU,EAAE,MAAM,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC;oBAC7C,OAAO,CAAC,GAAG,CAAC,8BAA8B,OAAO,CAAC,IAAI,gCAAgC,CAAC,CAAC;oBACxF,UAAU,GAAG;wBACX,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAU,EAAE,KAAa,EAAE,EAAE,CAAC,CAAC;4BAC3D,EAAE,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,KAAK,GAAG,CAAC,EAAE;4BACjD,KAAK,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,KAAK,GAAG,CAAC,EAAE;4BACzD,WAAW,EAAE,uBAAuB;4BACpC,IAAI,EAAE,EAAE;4BACR,KAAK,EAAE,KAAK;4BACZ,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;yBACvB,CAAC,CAAC;qBACJ,CAAC;gBACJ,CAAC;gBAED,0CAA0C;gBAC1C,IAAI,UAAU,EAAE,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;oBACzD,OAAO,CAAC,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC;gBAC9C,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC;gBACxB,CAAC;gBAED,gBAAgB;gBAChB,MAAM,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;YACrF,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,CAAC,IAAI,CAAC,gDAAgD,OAAO,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC;YACnF,CAAC;QACH,CAAC;QAED,kEAAkE;QAClE,mEAAmE;QACnE,mFAAmF;IACrF,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,wDAAwD,QAAQ,CAAC,MAAM,WAAW,CAAC,CAAC;AAClG,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB;IACxC,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;IAEpD,MAAM,aAAa,GAAG,MAAM,iBAAiB,EAAE,CAAC;IAChD,MAAM,WAAW,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAEpF,OAAO,CAAC,GAAG,CAAC,yBAAyB,aAAa,CAAC,MAAM,iBAAiB,CAAC,CAAC;IAE5E,wDAAwD;IACxD,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAErC,uDAAuD;IACvD,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAEpC,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;AACrE,CAAC"}
|
|
1
|
+
{"version":3,"file":"sync-demo-metadata.js","sourceRoot":"","sources":["../../../src/lib/upstream/sync-demo-metadata.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Generate demo metadata for SvelteKit demo app\n *\n * This module generates:\n * 1. Element registry (lib/elements/registry.ts)\n * 2. Sample configs converted to JSON from each element\n * 3. Sample sessions converted to JSON from each element\n */\nimport { mkdir, writeFile } from 'node:fs/promises';\nimport { join, dirname } from 'node:path';\nimport { fileURLToPath } from 'node:url';\n\nconst __dirname = dirname(fileURLToPath(import.meta.url));\nconst REPO_ROOT = join(__dirname, '../../../../..');\nconst DEMO_APP_PATH = join(REPO_ROOT, 'apps/element-demo');\nconst ELEMENTS_REACT_PATH = join(REPO_ROOT, 'packages/elements-react');\n\nexport interface ElementMetadata {\n name: string;\n title: string;\n packageName: string;\n hasAuthor: boolean;\n hasPrint: boolean;\n hasConfig: boolean;\n hasSession: boolean;\n demoCount: number;\n}\n\n/**\n * Scan elements-react directory for all elements\n */\nasync function scanReactElements(): Promise<ElementMetadata[]> {\n const { readdirSync, existsSync: fsExistsSync, statSync } = await import('node:fs');\n\n if (!fsExistsSync(ELEMENTS_REACT_PATH)) {\n console.log('[demo-metadata] elements-react directory not found, skipping');\n return [];\n }\n\n const elements: ElementMetadata[] = [];\n const dirs = readdirSync(ELEMENTS_REACT_PATH);\n\n for (const dir of dirs) {\n const elementPath = join(ELEMENTS_REACT_PATH, dir);\n const stat = statSync(elementPath);\n\n if (!stat.isDirectory()) continue;\n\n // Check for required structure\n const srcPath = join(elementPath, 'src');\n const deliveryPath = join(srcPath, 'delivery');\n if (!fsExistsSync(deliveryPath)) continue;\n\n // Check for author and print\n const hasAuthor = fsExistsSync(join(srcPath, 'author'));\n const hasPrint = fsExistsSync(join(srcPath, 'print'));\n\n // Check for demo files\n const docsPath = join(elementPath, 'docs/demo');\n const hasConfig = fsExistsSync(join(docsPath, 'config.mjs'));\n const hasSession = fsExistsSync(join(docsPath, 'session.mjs'));\n\n // Generate title from name (e.g., \"multiple-choice\" -> \"Multiple Choice\")\n const title = dir\n .split('-')\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1))\n .join(' ');\n\n elements.push({\n name: dir,\n title,\n packageName: `@pie-element/${dir}`,\n hasAuthor,\n hasPrint,\n hasConfig,\n hasSession,\n demoCount: 0, // Will be updated in copySampleConfigs\n });\n }\n\n return elements;\n}\n\n/**\n * Generate registry.ts file\n */\nasync function generateRegistry(elements: ElementMetadata[]): Promise<void> {\n const registryPath = join(DEMO_APP_PATH, 'src/lib/elements/registry.ts');\n\n const content = `/**\n * Element Registry\n *\n * AUTO-GENERATED by upstream:sync command.\n * DO NOT EDIT MANUALLY - changes will be overwritten.\n *\n * Generated: ${new Date().toISOString()}\n */\n\nexport interface ElementMetadata {\n name: string;\n title: string;\n packageName: string;\n hasAuthor: boolean;\n hasPrint: boolean;\n hasConfig: boolean;\n hasSession: boolean;\n demoCount: number;\n}\n\nexport const ELEMENT_REGISTRY: readonly ElementMetadata[] = ${JSON.stringify(elements, null, 2)};\n\nexport function getElement(name: string): ElementMetadata | undefined {\n return ELEMENT_REGISTRY.find((el) => el.name === name);\n}\n\nexport function getAllElements(): ElementMetadata[] {\n return ELEMENT_REGISTRY;\n}\n`;\n\n await mkdir(dirname(registryPath), { recursive: true });\n await writeFile(registryPath, content, 'utf-8');\n console.log(`[demo-metadata] Generated registry with ${elements.length} elements`);\n}\n\n/**\n * Convert and copy sample configs for an element as JSON\n */\nasync function copySampleConfigs(elements: ElementMetadata[]): Promise<void> {\n for (const element of elements) {\n const sourcePath = join(ELEMENTS_REACT_PATH, element.name, 'docs/demo');\n const targetDir = join(DEMO_APP_PATH, 'src/lib/samples');\n await mkdir(targetDir, { recursive: true });\n\n // Convert config.mjs to JSON\n if (element.hasConfig) {\n const sourceConfig = join(sourcePath, 'config.mjs');\n const targetConfig = join(targetDir, `${element.name}.json`);\n try {\n // Dynamic import the .mjs file\n const configModule = await import(`file://${sourceConfig}`);\n let configData = configModule.default;\n\n // Convert old format (models array) to new format (demos array)\n if (configData?.models && !configData?.demos) {\n console.log(`[demo-metadata] Converting ${element.name} from old format to new format`);\n configData = {\n demos: configData.models.map((model: any, index: number) => ({\n id: index === 0 ? 'default' : `demo-${index + 1}`,\n title: index === 0 ? 'Default Demo' : `Demo ${index + 1}`,\n description: 'Default configuration',\n tags: [],\n model: model,\n session: { value: [] },\n })),\n };\n }\n\n // Count demos (now all in 'demos' format)\n if (configData?.demos && Array.isArray(configData.demos)) {\n element.demoCount = configData.demos.length;\n } else {\n element.demoCount = 0;\n }\n\n // Write as JSON\n await writeFile(targetConfig, JSON.stringify(configData, null, 2) + '\\n', 'utf-8');\n } catch (e) {\n console.warn(`[demo-metadata] Failed to convert config for ${element.name}:`, e);\n }\n }\n\n // Note: session.mjs files are no longer copied as separate files.\n // Sessions are now embedded within each demo object in the config.\n // Old format session files are automatically converted during config import above.\n }\n\n console.log(`[demo-metadata] Converted sample configs to JSON for ${elements.length} elements`);\n}\n\n/**\n * Main entry point\n */\nexport async function generateDemoMetadata(): Promise<void> {\n console.log('[demo-metadata] Scanning elements...');\n\n const reactElements = await scanReactElements();\n const allElements = [...reactElements].sort((a, b) => a.name.localeCompare(b.name));\n\n console.log(`[demo-metadata] Found ${reactElements.length} React elements`);\n\n // Copy sample configs first so demoCount gets populated\n await copySampleConfigs(allElements);\n\n // Then generate registry with updated demoCount values\n await generateRegistry(allElements);\n\n console.log('[demo-metadata] ✓ Demo metadata generation complete');\n}\n"]}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export type EntryDefinition = readonly [entryName: string, sourceBasePath: string];
|
|
2
|
+
export declare function detectEntryFile(packageDir: string, sourceBasePath: string, extensions?: readonly string[]): string | null;
|
|
3
|
+
export declare function collectEntryPoints(packageDir: string, entries: readonly EntryDefinition[], extensions?: readonly string[]): Record<string, string>;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { existsSync } from 'node:fs';
|
|
2
|
+
import { join } from 'node:path';
|
|
3
|
+
const DEFAULT_ENTRY_EXTENSIONS = ['.tsx', '.ts'];
|
|
4
|
+
export function detectEntryFile(packageDir, sourceBasePath, extensions = DEFAULT_ENTRY_EXTENSIONS) {
|
|
5
|
+
for (const extension of extensions) {
|
|
6
|
+
const entryPath = `${sourceBasePath}${extension}`;
|
|
7
|
+
if (existsSync(join(packageDir, entryPath))) {
|
|
8
|
+
return entryPath;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
return null;
|
|
12
|
+
}
|
|
13
|
+
export function collectEntryPoints(packageDir, entries, extensions = DEFAULT_ENTRY_EXTENSIONS) {
|
|
14
|
+
const entryPoints = {};
|
|
15
|
+
for (const [entryName, sourceBasePath] of entries) {
|
|
16
|
+
const entry = detectEntryFile(packageDir, sourceBasePath, extensions);
|
|
17
|
+
if (entry) {
|
|
18
|
+
entryPoints[entryName] = entry;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
return entryPoints;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=sync-entry-discovery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync-entry-discovery.js","sourceRoot":"","sources":["../../../src/lib/upstream/sync-entry-discovery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAIjC,MAAM,wBAAwB,GAAG,CAAC,MAAM,EAAE,KAAK,CAAU,CAAC;AAE1D,MAAM,UAAU,eAAe,CAC7B,UAAkB,EAClB,cAAsB,EACtB,aAAgC,wBAAwB;IAExD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,SAAS,GAAG,GAAG,cAAc,GAAG,SAAS,EAAE,CAAC;QAClD,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC;YAC5C,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,UAAkB,EAClB,OAAmC,EACnC,aAAgC,wBAAwB;IAExD,MAAM,WAAW,GAA2B,EAAE,CAAC;IAE/C,KAAK,MAAM,CAAC,SAAS,EAAE,cAAc,CAAC,IAAI,OAAO,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,eAAe,CAAC,UAAU,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC;QACtE,IAAI,KAAK,EAAE,CAAC;YACV,WAAW,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;QACjC,CAAC;IACH,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC","sourcesContent":["import { existsSync } from 'node:fs';\nimport { join } from 'node:path';\n\nexport type EntryDefinition = readonly [entryName: string, sourceBasePath: string];\n\nconst DEFAULT_ENTRY_EXTENSIONS = ['.tsx', '.ts'] as const;\n\nexport function detectEntryFile(\n packageDir: string,\n sourceBasePath: string,\n extensions: readonly string[] = DEFAULT_ENTRY_EXTENSIONS\n): string | null {\n for (const extension of extensions) {\n const entryPath = `${sourceBasePath}${extension}`;\n if (existsSync(join(packageDir, entryPath))) {\n return entryPath;\n }\n }\n return null;\n}\n\nexport function collectEntryPoints(\n packageDir: string,\n entries: readonly EntryDefinition[],\n extensions: readonly string[] = DEFAULT_ENTRY_EXTENSIONS\n): Record<string, string> {\n const entryPoints: Record<string, string> = {};\n\n for (const [entryName, sourceBasePath] of entries) {\n const entry = detectEntryFile(packageDir, sourceBasePath, extensions);\n if (entry) {\n entryPoints[entryName] = entry;\n }\n }\n\n return entryPoints;\n}\n"]}
|
|
@@ -9,21 +9,21 @@
|
|
|
9
9
|
*
|
|
10
10
|
* Categories of externals:
|
|
11
11
|
* 1. Framework peer dependencies (React, MUI, Emotion) - MUST be external to avoid duplicate instances
|
|
12
|
-
* 2. Internal monorepo packages (@pie-lib, @pie-element
|
|
13
|
-
* 3. Utility libraries (prop-types,
|
|
12
|
+
* 2. Internal monorepo packages (@pie-lib, @pie-element) - External for separate resolution
|
|
13
|
+
* 3. Utility libraries (prop-types, debug) - External to reduce duplication across packages
|
|
14
14
|
* 4. Specialized UI libraries (@dnd-kit, react-transition-group, styled-components) - External to avoid version conflicts
|
|
15
|
-
* 5.
|
|
16
|
-
* 6. D3 modules - External as they're commonly shared
|
|
15
|
+
* 5. D3 modules - External as they're commonly shared
|
|
17
16
|
*/
|
|
18
|
-
export declare function isExternal(id: string,
|
|
17
|
+
export declare function isExternal(id: string, _variant: 'element' | 'pielib'): boolean;
|
|
19
18
|
/**
|
|
20
19
|
* Generate external function for Vite rollupOptions
|
|
21
20
|
* Use this in vite.config.ts generation
|
|
22
21
|
*/
|
|
23
|
-
export declare function createExternalFunction(
|
|
22
|
+
export declare function createExternalFunction(_variant: 'element' | 'pielib', options?: {
|
|
23
|
+
externalizeMathjs?: boolean;
|
|
24
|
+
}): string;
|
|
24
25
|
/**
|
|
25
26
|
* Generate external function for Konva-based elements (preserveModules: false)
|
|
26
27
|
* These bundle konva, react-konva, scheduler, and react-reconciler to avoid runtime resolution issues
|
|
27
28
|
*/
|
|
28
29
|
export declare function createKonvaExternalFunction(): string;
|
|
29
|
-
//# sourceMappingURL=sync-externals.d.ts.map
|
|
@@ -9,13 +9,12 @@
|
|
|
9
9
|
*
|
|
10
10
|
* Categories of externals:
|
|
11
11
|
* 1. Framework peer dependencies (React, MUI, Emotion) - MUST be external to avoid duplicate instances
|
|
12
|
-
* 2. Internal monorepo packages (@pie-lib, @pie-element
|
|
13
|
-
* 3. Utility libraries (prop-types,
|
|
12
|
+
* 2. Internal monorepo packages (@pie-lib, @pie-element) - External for separate resolution
|
|
13
|
+
* 3. Utility libraries (prop-types, debug) - External to reduce duplication across packages
|
|
14
14
|
* 4. Specialized UI libraries (@dnd-kit, react-transition-group, styled-components) - External to avoid version conflicts
|
|
15
|
-
* 5.
|
|
16
|
-
* 6. D3 modules - External as they're commonly shared
|
|
15
|
+
* 5. D3 modules - External as they're commonly shared
|
|
17
16
|
*/
|
|
18
|
-
export function isExternal(id,
|
|
17
|
+
export function isExternal(id, _variant) {
|
|
19
18
|
// React and React DOM - always external (peer dependencies)
|
|
20
19
|
if (/^react($|\/)/.test(id))
|
|
21
20
|
return true;
|
|
@@ -26,8 +25,6 @@ export function isExternal(id, variant) {
|
|
|
26
25
|
return true;
|
|
27
26
|
if (/^@pie-element\//.test(id))
|
|
28
27
|
return true;
|
|
29
|
-
if (/^@pie-element\//.test(id))
|
|
30
|
-
return true;
|
|
31
28
|
if (/^@pie-framework\//.test(id))
|
|
32
29
|
return true;
|
|
33
30
|
// UI framework packages - always external (peer dependencies)
|
|
@@ -44,19 +41,6 @@ export function isExternal(id, variant) {
|
|
|
44
41
|
// Testing libraries - always external
|
|
45
42
|
if (/^@testing-library\//.test(id))
|
|
46
43
|
return true;
|
|
47
|
-
// Lodash - variant-specific (elements use lodash, pie-lib uses lodash-es)
|
|
48
|
-
if (variant === 'element') {
|
|
49
|
-
if (id === 'lodash')
|
|
50
|
-
return true;
|
|
51
|
-
if (/^lodash\//.test(id))
|
|
52
|
-
return true;
|
|
53
|
-
}
|
|
54
|
-
else {
|
|
55
|
-
if (id === 'lodash-es')
|
|
56
|
-
return true;
|
|
57
|
-
if (/^lodash-es\//.test(id))
|
|
58
|
-
return true;
|
|
59
|
-
}
|
|
60
44
|
// Styled-components - external to avoid multiple instances
|
|
61
45
|
if (/^styled-components/.test(id))
|
|
62
46
|
return true;
|
|
@@ -68,10 +52,36 @@ export function isExternal(id, variant) {
|
|
|
68
52
|
// DnD Kit libraries - external for drag and drop functionality
|
|
69
53
|
if (/^@dnd-kit\//.test(id))
|
|
70
54
|
return true;
|
|
55
|
+
// Redux-family drag/state libraries - external because their dependency chain
|
|
56
|
+
// reaches use-sync-external-store, which is CJS-only in every published
|
|
57
|
+
// version (exports map, no ESM build). Bundling it while React is external
|
|
58
|
+
// makes rolldown emit a `__require("react")` shim that throws in the browser:
|
|
59
|
+
// "Calling `require` for \"react\" in an environment that doesn't expose the
|
|
60
|
+
// `require` function". Keeping the chain external hands it to the consumer's
|
|
61
|
+
// bundler, which resolves CJS natively.
|
|
62
|
+
//
|
|
63
|
+
// @pie-lib/rubric -> @hello-pangea/dnd -> react-redux -> use-sync-external-store
|
|
64
|
+
// @pie-lib/graphing -> react-redux -> use-sync-external-store
|
|
65
|
+
// @pie-lib/graphing-solution-set -> react-redux -> use-sync-external-store
|
|
66
|
+
// @pie-lib/plot -> react-redux -> use-sync-external-store
|
|
67
|
+
//
|
|
68
|
+
// Each carrier is a declared dependency of the package that needs it, so the
|
|
69
|
+
// published manifests still resolve. use-sync-external-store is listed only
|
|
70
|
+
// as a guard; it never appears as a bare import in our own output.
|
|
71
|
+
if (/^@hello-pangea\//.test(id))
|
|
72
|
+
return true;
|
|
73
|
+
if (/^react-redux($|\/)/.test(id))
|
|
74
|
+
return true;
|
|
75
|
+
if (/^use-sync-external-store($|\/)/.test(id))
|
|
76
|
+
return true;
|
|
77
|
+
// Material Design Icons - external for graphing/drawing packages
|
|
78
|
+
if (id === '@mdi/react' || /^@mdi\/react\//.test(id))
|
|
79
|
+
return true;
|
|
80
|
+
if (id === '@mdi/js' || /^@mdi\/js\//.test(id))
|
|
81
|
+
return true;
|
|
71
82
|
// Common utility and UI libraries - always external
|
|
72
83
|
const commonExternals = [
|
|
73
84
|
'prop-types', // React prop validation
|
|
74
|
-
'classnames', // CSS class utility
|
|
75
85
|
'debug', // Debug logging
|
|
76
86
|
'i18next', // Internationalization
|
|
77
87
|
'humps', // String case conversion
|
|
@@ -91,25 +101,32 @@ export function isExternal(id, variant) {
|
|
|
91
101
|
* Generate external function for Vite rollupOptions
|
|
92
102
|
* Use this in vite.config.ts generation
|
|
93
103
|
*/
|
|
94
|
-
export function createExternalFunction(
|
|
95
|
-
const
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
104
|
+
export function createExternalFunction(_variant, options = {}) {
|
|
105
|
+
const sharedExternals = [
|
|
106
|
+
'prop-types',
|
|
107
|
+
'debug',
|
|
108
|
+
'i18next',
|
|
109
|
+
'humps',
|
|
110
|
+
...(options.externalizeMathjs === false ? [] : ['mathjs']),
|
|
111
|
+
'react-jss',
|
|
112
|
+
'js-combinatorics',
|
|
113
|
+
'@mapbox/point-geometry',
|
|
114
|
+
'react-transition-group',
|
|
115
|
+
'nested-property',
|
|
116
|
+
'pluralize',
|
|
117
|
+
'decimal.js',
|
|
118
|
+
];
|
|
100
119
|
return `(id) => {
|
|
101
120
|
return (
|
|
102
121
|
/^react($|\\/)/.test(id) ||
|
|
103
122
|
/^react-dom($|\\/)/.test(id) ||
|
|
104
123
|
/^@pie-lib\\//.test(id) ||
|
|
105
124
|
/^@pie-element\\//.test(id) ||
|
|
106
|
-
/^@pie-element\\//.test(id) ||
|
|
107
125
|
/^@pie-framework\\//.test(id) ||
|
|
108
126
|
/^@mui\\//.test(id) ||
|
|
109
127
|
/^@emotion\\//.test(id) ||
|
|
110
128
|
/^d3-/.test(id) ||
|
|
111
129
|
/^@testing-library\\//.test(id) ||
|
|
112
|
-
${lodashCheck}
|
|
113
130
|
/^styled-components/.test(id) ||
|
|
114
131
|
id === 'konva' || /^konva\\//.test(id) ||
|
|
115
132
|
id === 'react-konva' || /^react-konva\\//.test(id) ||
|
|
@@ -117,7 +134,10 @@ export function createExternalFunction(variant) {
|
|
|
117
134
|
id === '@mdi/react' || /^@mdi\\/react\\//.test(id) ||
|
|
118
135
|
id === '@mdi/js' || /^@mdi\\/js\\//.test(id) ||
|
|
119
136
|
id === 'recharts' || /^recharts\\//.test(id) ||
|
|
120
|
-
|
|
137
|
+
/^@hello-pangea\\//.test(id) ||
|
|
138
|
+
/^react-redux($|\\/)/.test(id) ||
|
|
139
|
+
/^use-sync-external-store($|\\/)/.test(id) ||
|
|
140
|
+
${JSON.stringify(sharedExternals).replace(/"/g, "'")}.includes(id)
|
|
121
141
|
);
|
|
122
142
|
}`;
|
|
123
143
|
}
|
|
@@ -139,23 +159,19 @@ export function createKonvaExternalFunction() {
|
|
|
139
159
|
if (id === 'react-dom' || id.startsWith('react-dom/')) return true;
|
|
140
160
|
if (id.startsWith('@pie-lib/')) return true;
|
|
141
161
|
if (id.startsWith('@pie-element/')) return true;
|
|
142
|
-
if (id.startsWith('@pie-element/')) return true;
|
|
143
162
|
if (id.startsWith('@pie-framework/')) return true;
|
|
144
163
|
if (id.startsWith('@mui/')) return true;
|
|
145
164
|
if (id.startsWith('@emotion/')) return true;
|
|
146
165
|
if (id.startsWith('d3-')) return true;
|
|
147
166
|
// Keep recharts external
|
|
148
167
|
if (id === 'recharts' || id.startsWith('recharts/')) return true;
|
|
149
|
-
// Keep lodash external even with preserveModules: false
|
|
150
|
-
// It will be resolved via import map in demo HTML
|
|
151
|
-
if (id === 'lodash' || id.startsWith('lodash/')) return true;
|
|
152
168
|
if (id === 'styled-components' || id.startsWith('styled-components/')) return true;
|
|
153
169
|
// DnD Kit libraries
|
|
154
170
|
if (id.startsWith('@dnd-kit/')) return true;
|
|
155
171
|
// Material Design Icons for drawing-response
|
|
156
172
|
if (id === '@mdi/react' || id.startsWith('@mdi/react/')) return true;
|
|
157
173
|
if (id === '@mdi/js' || id.startsWith('@mdi/js/')) return true;
|
|
158
|
-
if (['prop-types', '
|
|
174
|
+
if (['prop-types', 'debug', 'i18next', 'humps', 'mathjs', 'react-jss', 'js-combinatorics', '@mapbox/point-geometry', 'react-transition-group', 'nested-property', 'pluralize', 'decimal.js'].includes(id)) return true;
|
|
159
175
|
|
|
160
176
|
// Everything else gets bundled (including dependencies of konva/react-konva)
|
|
161
177
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-externals.js","sourceRoot":"","sources":["../../../src/lib/upstream/sync-externals.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sync-externals.js","sourceRoot":"","sources":["../../../src/lib/upstream/sync-externals.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Shared external dependency configuration for Vite builds\n *\n * These dependencies should NOT be bundled into library outputs.\n * Instead, they are resolved at runtime from the consuming application.\n */\n\n/**\n * Check if a module ID should be treated as external (not bundled)\n *\n * Categories of externals:\n * 1. Framework peer dependencies (React, MUI, Emotion) - MUST be external to avoid duplicate instances\n * 2. Internal monorepo packages (@pie-lib, @pie-element) - External for separate resolution\n * 3. Utility libraries (prop-types, debug) - External to reduce duplication across packages\n * 4. Specialized UI libraries (@dnd-kit, react-transition-group, styled-components) - External to avoid version conflicts\n * 5. D3 modules - External as they're commonly shared\n */\nexport function isExternal(id: string, _variant: 'element' | 'pielib'): boolean {\n // React and React DOM - always external (peer dependencies)\n if (/^react($|\\/)/.test(id)) return true;\n if (/^react-dom($|\\/)/.test(id)) return true;\n\n // Internal monorepo packages - always external\n if (/^@pie-lib\\//.test(id)) return true;\n if (/^@pie-element\\//.test(id)) return true;\n if (/^@pie-framework\\//.test(id)) return true;\n\n // UI framework packages - always external (peer dependencies)\n if (/^@mui\\//.test(id)) return true;\n if (/^@emotion\\//.test(id)) return true;\n\n // D3 visualization modules - always external\n if (/^d3-/.test(id)) return true;\n\n // Recharts charting library - external for fraction-model\n if (id === 'recharts' || /^recharts\\//.test(id)) return true;\n\n // Testing libraries - always external\n if (/^@testing-library\\//.test(id)) return true;\n\n // Styled-components - external to avoid multiple instances\n if (/^styled-components/.test(id)) return true;\n\n // Konva visualization library - external for hotspot/drawing-response\n if (id === 'konva' || id.startsWith('konva/')) return true;\n if (id === 'react-konva' || id.startsWith('react-konva/')) return true;\n\n // DnD Kit libraries - external for drag and drop functionality\n if (/^@dnd-kit\\//.test(id)) return true;\n\n // Redux-family drag/state libraries - external because their dependency chain\n // reaches use-sync-external-store, which is CJS-only in every published\n // version (exports map, no ESM build). Bundling it while React is external\n // makes rolldown emit a `__require(\"react\")` shim that throws in the browser:\n // \"Calling `require` for \\\"react\\\" in an environment that doesn't expose the\n // `require` function\". Keeping the chain external hands it to the consumer's\n // bundler, which resolves CJS natively.\n //\n // @pie-lib/rubric -> @hello-pangea/dnd -> react-redux -> use-sync-external-store\n // @pie-lib/graphing -> react-redux -> use-sync-external-store\n // @pie-lib/graphing-solution-set -> react-redux -> use-sync-external-store\n // @pie-lib/plot -> react-redux -> use-sync-external-store\n //\n // Each carrier is a declared dependency of the package that needs it, so the\n // published manifests still resolve. use-sync-external-store is listed only\n // as a guard; it never appears as a bare import in our own output.\n if (/^@hello-pangea\\//.test(id)) return true;\n if (/^react-redux($|\\/)/.test(id)) return true;\n if (/^use-sync-external-store($|\\/)/.test(id)) return true;\n\n // Material Design Icons - external for graphing/drawing packages\n if (id === '@mdi/react' || /^@mdi\\/react\\//.test(id)) return true;\n if (id === '@mdi/js' || /^@mdi\\/js\\//.test(id)) return true;\n\n // Common utility and UI libraries - always external\n const commonExternals = [\n 'prop-types', // React prop validation\n 'debug', // Debug logging\n 'i18next', // Internationalization\n 'humps', // String case conversion\n 'mathjs', // Math expression evaluation\n 'react-jss', // JSS styling for React\n 'js-combinatorics', // Combinatorics library\n '@mapbox/point-geometry', // Graphing utils dependency\n '@dnd-kit/core', // Drag and drop\n 'react-transition-group', // Animations\n 'nested-property', // Object property access (placement-ordering)\n 'pluralize', // Word pluralization (placement-ordering)\n 'decimal.js', // Decimal math (placement-ordering)\n ];\n\n return commonExternals.includes(id);\n}\n\n/**\n * Generate external function for Vite rollupOptions\n * Use this in vite.config.ts generation\n */\nexport function createExternalFunction(\n _variant: 'element' | 'pielib',\n options: { externalizeMathjs?: boolean } = {}\n): string {\n const sharedExternals = [\n 'prop-types',\n 'debug',\n 'i18next',\n 'humps',\n ...(options.externalizeMathjs === false ? [] : ['mathjs']),\n 'react-jss',\n 'js-combinatorics',\n '@mapbox/point-geometry',\n 'react-transition-group',\n 'nested-property',\n 'pluralize',\n 'decimal.js',\n ];\n\n return `(id) => {\n return (\n /^react($|\\\\/)/.test(id) ||\n /^react-dom($|\\\\/)/.test(id) ||\n /^@pie-lib\\\\//.test(id) ||\n /^@pie-element\\\\//.test(id) ||\n /^@pie-framework\\\\//.test(id) ||\n /^@mui\\\\//.test(id) ||\n /^@emotion\\\\//.test(id) ||\n /^d3-/.test(id) ||\n /^@testing-library\\\\//.test(id) ||\n /^styled-components/.test(id) ||\n id === 'konva' || /^konva\\\\//.test(id) ||\n id === 'react-konva' || /^react-konva\\\\//.test(id) ||\n /^@dnd-kit\\\\//.test(id) ||\n id === '@mdi/react' || /^@mdi\\\\/react\\\\//.test(id) ||\n id === '@mdi/js' || /^@mdi\\\\/js\\\\//.test(id) ||\n id === 'recharts' || /^recharts\\\\//.test(id) ||\n /^@hello-pangea\\\\//.test(id) ||\n /^react-redux($|\\\\/)/.test(id) ||\n /^use-sync-external-store($|\\\\/)/.test(id) ||\n ${JSON.stringify(sharedExternals).replace(/\"/g, \"'\")}.includes(id)\n );\n }`;\n}\n\n/**\n * Generate external function for Konva-based elements (preserveModules: false)\n * These bundle konva, react-konva, scheduler, and react-reconciler to avoid runtime resolution issues\n */\nexport function createKonvaExternalFunction(): string {\n return `(id) => {\n // Bundle konva, react-konva, scheduler, and react-reconciler\n // Check these FIRST before other react checks\n if (id === 'konva' || id.startsWith('konva/')) return false;\n if (id === 'react-konva' || id.startsWith('react-konva/')) return false;\n if (id === 'scheduler' || id.startsWith('scheduler/')) return false;\n if (id === 'react-reconciler' || id.startsWith('react-reconciler/')) return false;\n\n // Always external: base package names\n if (id === 'react' || id.startsWith('react/')) return true;\n if (id === 'react-dom' || id.startsWith('react-dom/')) return true;\n if (id.startsWith('@pie-lib/')) return true;\n if (id.startsWith('@pie-element/')) return true;\n if (id.startsWith('@pie-framework/')) return true;\n if (id.startsWith('@mui/')) return true;\n if (id.startsWith('@emotion/')) return true;\n if (id.startsWith('d3-')) return true;\n // Keep recharts external\n if (id === 'recharts' || id.startsWith('recharts/')) return true;\n if (id === 'styled-components' || id.startsWith('styled-components/')) return true;\n // DnD Kit libraries\n if (id.startsWith('@dnd-kit/')) return true;\n // Material Design Icons for drawing-response\n if (id === '@mdi/react' || id.startsWith('@mdi/react/')) return true;\n if (id === '@mdi/js' || id.startsWith('@mdi/js/')) return true;\n if (['prop-types', 'debug', 'i18next', 'humps', 'mathjs', 'react-jss', 'js-combinatorics', '@mapbox/point-geometry', 'react-transition-group', 'nested-property', 'pluralize', 'decimal.js'].includes(id)) return true;\n\n // Everything else gets bundled (including dependencies of konva/react-konva)\n return false;\n }`;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-filesystem.js","sourceRoot":"","sources":["../../../src/lib/upstream/sync-filesystem.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,EAAE,IAAI,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAYjC;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,SAAiB,EACjB,KAAa,EACb,UAAwB,EAAE,EAC1B,MAAe;IAEf,MAAM,EAAE,MAAM,GAAG,KAAK,EAAE,OAAO,GAAG,KAAK,EAAE,QAAQ,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;IAEnE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,OAAO;IACT,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;YACtB,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACvF,MAAM,CAAC,IAAI,CAAC,oBAAoB,KAAK,GAAG,WAAW,EAAE,CAAC,CAAC;QACzD,CAAC;QACD,OAAO;IACT,CAAC;IAED,mDAAmD;IACnD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACxD,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,gBAAgB,KAAK,EAAE,CAAC,CAAC;QACvC,CAAC;QACD,OAAO;IACT,CAAC;IAED,+DAA+D;IAC/D,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC;IAE3C,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,SAAS;QACX,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACzC,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;QACtB,MAAM,CAAC,IAAI,CAAC,gBAAgB,KAAK,gBAAgB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3E,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,KAAe;IACvC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,IAAY;IACxC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;QACtC,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACrF,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"sync-filesystem.js","sourceRoot":"","sources":["../../../src/lib/upstream/sync-filesystem.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,EAAE,IAAI,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAYjC;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,SAAiB,EACjB,KAAa,EACb,UAAwB,EAAE,EAC1B,MAAe;IAEf,MAAM,EAAE,MAAM,GAAG,KAAK,EAAE,OAAO,GAAG,KAAK,EAAE,QAAQ,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;IAEnE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,OAAO;IACT,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;YACtB,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACvF,MAAM,CAAC,IAAI,CAAC,oBAAoB,KAAK,GAAG,WAAW,EAAE,CAAC,CAAC;QACzD,CAAC;QACD,OAAO;IACT,CAAC;IAED,mDAAmD;IACnD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACxD,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,gBAAgB,KAAK,EAAE,CAAC,CAAC;QACvC,CAAC;QACD,OAAO;IACT,CAAC;IAED,+DAA+D;IAC/D,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC;IAE3C,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,SAAS;QACX,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACzC,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;QACtB,MAAM,CAAC,IAAI,CAAC,gBAAgB,KAAK,gBAAgB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3E,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,KAAe;IACvC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,IAAY;IACxC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;QACtC,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACrF,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC","sourcesContent":["/**\n * File system utilities for sync operations\n */\nimport { existsSync } from 'node:fs';\nimport { readdir as fsReaddir, rm as fsRm } from 'node:fs/promises';\nimport { join } from 'node:path';\n\nexport interface CleanOptions {\n dryRun?: boolean;\n verbose?: boolean;\n preserve?: string[];\n}\n\nexport interface Logger {\n info(message: string): void;\n}\n\n/**\n * Clean a directory, optionally preserving subdirectories\n */\nexport async function cleanDirectory(\n targetDir: string,\n label: string,\n options: CleanOptions = {},\n logger?: Logger\n): Promise<void> {\n const { dryRun = false, verbose = false, preserve = [] } = options;\n\n if (!existsSync(targetDir)) {\n return;\n }\n\n if (dryRun) {\n if (verbose && logger) {\n const preserveMsg = preserve.length > 0 ? ` (preserving: ${preserve.join(', ')})` : '';\n logger.info(` 🧹 Would clean ${label}${preserveMsg}`);\n }\n return;\n }\n\n // If no directories to preserve, delete everything\n if (preserve.length === 0) {\n await fsRm(targetDir, { recursive: true, force: true });\n if (verbose && logger) {\n logger.info(` 🧹 Cleaned ${label}`);\n }\n return;\n }\n\n // Selectively delete entries, preserving specified directories\n const entries = await fsReaddir(targetDir);\n\n for (const entry of entries) {\n if (preserve.includes(entry)) {\n continue;\n }\n\n const entryPath = join(targetDir, entry);\n await fsRm(entryPath, { recursive: true, force: true });\n }\n\n if (verbose && logger) {\n logger.info(` 🧹 Cleaned ${label} (preserved: ${preserve.join(', ')})`);\n }\n}\n\n/**\n * Check if any of the given paths exist\n */\nexport function existsAny(paths: string[]): boolean {\n return paths.some((p) => existsSync(p));\n}\n\n/**\n * Safe wrapper around readdir that sorts results\n */\nexport async function readdir(path: string): Promise<string[]> {\n try {\n const entries = await fsReaddir(path);\n return entries.sort();\n } catch (error: unknown) {\n if (error && typeof error === 'object' && 'code' in error && error.code === 'ENOENT') {\n return [];\n }\n throw error;\n }\n}\n"]}
|
|
@@ -5,6 +5,14 @@
|
|
|
5
5
|
* imports in consuming files to use named imports instead.
|
|
6
6
|
*/
|
|
7
7
|
export declare function fixImportsInFile(filePath: string, defaultExportFiles: Set<string>): Promise<boolean>;
|
|
8
|
+
/**
|
|
9
|
+
* Rewrite relative ESM specifiers to explicit `.js` extensions for NodeNext compatibility.
|
|
10
|
+
*
|
|
11
|
+
* This is applied after sync so TypeScript source uses runtime-valid ESM specifiers:
|
|
12
|
+
* - `./foo` -> `./foo.js`
|
|
13
|
+
* - `./bar` (directory with index file) -> `./bar/index.js`
|
|
14
|
+
*/
|
|
15
|
+
export declare function rewriteRelativeSpecifiersForNodeEsm(filePath: string): Promise<boolean>;
|
|
8
16
|
/**
|
|
9
17
|
* Check if code contains JSX syntax
|
|
10
18
|
*/
|
|
@@ -43,22 +51,55 @@ export declare function shouldUseTsxExtension(content: string, originalPath: str
|
|
|
43
51
|
*/
|
|
44
52
|
export declare function convertModuleExportsToEsm(content: string): string;
|
|
45
53
|
/**
|
|
46
|
-
* Transform lodash
|
|
54
|
+
* Transform lodash and lodash-es imports to the vendored shared lodash package.
|
|
55
|
+
*
|
|
56
|
+
* The vendored package is intentionally a narrow ESM implementation of the
|
|
57
|
+
* lodash helpers used by synced PIE sources, avoiding CDN/runtime lodash
|
|
58
|
+
* resolution while keeping import shapes tree-shakeable.
|
|
59
|
+
*/
|
|
60
|
+
export declare function transformLodashToVendoredLodash(content: string): string;
|
|
61
|
+
export declare const transformLodashToLodashEs: typeof transformLodashToVendoredLodash;
|
|
62
|
+
/**
|
|
63
|
+
* Transform classnames imports to clsx.
|
|
47
64
|
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
65
|
+
* clsx preserves the call shape used by classnames while offering a browser ESM
|
|
66
|
+
* entrypoint, so synced source should prefer it over the CommonJS-era package.
|
|
67
|
+
*/
|
|
68
|
+
export declare function transformClassnamesToClsx(content: string): string;
|
|
69
|
+
/**
|
|
70
|
+
* Replace react-input-autosize with the local ESM autosize input component.
|
|
53
71
|
*
|
|
54
|
-
*
|
|
72
|
+
* The upstream dependency is CommonJS-era and only used by graph label inputs.
|
|
73
|
+
* Synced packages generate a tiny local component instead of carrying the
|
|
74
|
+
* dependency into browser ESM output.
|
|
55
75
|
*/
|
|
56
|
-
export declare function
|
|
76
|
+
export declare function transformReactInputAutosizeToLocal(content: string, sourcePath?: string): string;
|
|
57
77
|
/**
|
|
58
|
-
*
|
|
78
|
+
* Replace config-ui's tiny mathjs usage with a local fraction-to-number helper.
|
|
59
79
|
*
|
|
60
|
-
*
|
|
61
|
-
*
|
|
80
|
+
* number-text-field-custom only uses `math.number(math.fraction(value))` to
|
|
81
|
+
* compare custom fraction values. Keep mathjs for number-line where the surface
|
|
82
|
+
* includes exact rational arithmetic, comparisons, snapping, and expression
|
|
83
|
+
* parsing.
|
|
84
|
+
*/
|
|
85
|
+
export declare function transformConfigUiMathjsToLocalFraction(content: string, sourcePath?: string): string;
|
|
86
|
+
/**
|
|
87
|
+
* Compatibility wrapper retained for older callers. Lodash imports now target
|
|
88
|
+
* the vendored shared package rather than lodash-es deep modules.
|
|
89
|
+
*/
|
|
90
|
+
export declare function transformLodashEsDeepImportsToFullySpecified(content: string): string;
|
|
91
|
+
/**
|
|
92
|
+
* Ensure known strict-ESM deep imports include explicit file extensions.
|
|
93
|
+
*
|
|
94
|
+
* Webpack's fully-specified ESM resolution requires `.js` on deep imports like:
|
|
95
|
+
* - react-konva/lib/ReactKonvaCore -> react-konva/lib/ReactKonvaCore.js
|
|
96
|
+
*/
|
|
97
|
+
export declare function transformKnownDeepImportsToFullySpecified(content: string): string;
|
|
98
|
+
/**
|
|
99
|
+
* Transform package.json dependencies from lodash/lodash-es to the vendored package.
|
|
100
|
+
*
|
|
101
|
+
* The browser/runtime dependency is a workspace package that vendors the small
|
|
102
|
+
* lodash helper surface needed by synced sources.
|
|
62
103
|
*/
|
|
63
104
|
export declare function transformPackageJsonLodash<T extends Record<string, any>>(packageJson: T): T;
|
|
64
105
|
/**
|
|
@@ -68,6 +109,17 @@ export declare function transformPackageJsonLodash<T extends Record<string, any>
|
|
|
68
109
|
* Recharts 3.x removes the lodash dependency and is fully ESM-compatible.
|
|
69
110
|
*/
|
|
70
111
|
export declare function transformPackageJsonRecharts<T extends Record<string, any>>(packageJson: T): T;
|
|
112
|
+
/**
|
|
113
|
+
* Apply browser-ESM dependency replacements and upgrades for synced packages.
|
|
114
|
+
*
|
|
115
|
+
* This is intentionally dependency policy, not build-output patching: upstream
|
|
116
|
+
* sync rewrites package manifests toward packages that can participate in the
|
|
117
|
+
* browser ESM graph directly.
|
|
118
|
+
*/
|
|
119
|
+
export declare function transformPackageJsonBrowserEsmDependencies<T extends Record<string, any>>(packageJson: T, options?: {
|
|
120
|
+
removeReactInputAutosize?: boolean;
|
|
121
|
+
removeMathjs?: boolean;
|
|
122
|
+
}): T;
|
|
71
123
|
/**
|
|
72
124
|
* Transform @pie-framework event package imports to internal packages
|
|
73
125
|
*
|
|
@@ -96,15 +148,15 @@ export declare function transformControllerUtilsImports(content: string): string
|
|
|
96
148
|
*/
|
|
97
149
|
export declare function transformSharedPackageImports(content: string): string;
|
|
98
150
|
/**
|
|
99
|
-
*
|
|
151
|
+
* Rewrite legacy configure subpath imports to author entrypoints.
|
|
100
152
|
*
|
|
101
|
-
*
|
|
102
|
-
* - @pie-
|
|
153
|
+
* Upstream sometimes imports configure elements via:
|
|
154
|
+
* - @pie-element/<element-name>/configure/lib
|
|
103
155
|
*
|
|
104
|
-
*
|
|
105
|
-
*
|
|
156
|
+
* In this repo, configure code is synced into `src/author` and packages expose that via
|
|
157
|
+
* the `./author` export. Rewriting to `/author` preserves author-vs-delivery boundaries.
|
|
106
158
|
*/
|
|
107
|
-
export declare function
|
|
159
|
+
export declare function transformLegacyConfigureLibImports(content: string): string;
|
|
108
160
|
/**
|
|
109
161
|
* Transform package.json dependencies for PIE Framework event packages
|
|
110
162
|
*
|
|
@@ -123,12 +175,6 @@ export declare function transformPackageJsonControllerUtils<T extends Record<str
|
|
|
123
175
|
* Replaces @pie-lib shared packages with internal @pie-element/shared-* packages
|
|
124
176
|
*/
|
|
125
177
|
export declare function transformPackageJsonSharedPackages<T extends Record<string, any>>(packageJson: T): T;
|
|
126
|
-
/**
|
|
127
|
-
* Transform package.json dependencies for @pie-framework/mathquill
|
|
128
|
-
*
|
|
129
|
-
* Replaces @pie-framework/mathquill with internal @pie-element/shared-mathquill
|
|
130
|
-
*/
|
|
131
|
-
export declare function transformPackageJsonMathquill<T extends Record<string, any>>(packageJson: T): T;
|
|
132
178
|
/**
|
|
133
179
|
* Transform direct property assignment patterns to use assignProps utility
|
|
134
180
|
*
|
|
@@ -163,40 +209,14 @@ export declare function transformToAssignProps(content: string): string;
|
|
|
163
209
|
*/
|
|
164
210
|
export declare function transformConfigureUtilsImports(content: string, relativePath: string): string;
|
|
165
211
|
/**
|
|
166
|
-
* Transform SSR-
|
|
167
|
-
*
|
|
168
|
-
* Upstream pie-lib code uses this pattern for SSR compatibility with MathQuill:
|
|
169
|
-
*
|
|
170
|
-
* ```js
|
|
171
|
-
* // - mathquill error window not defined
|
|
172
|
-
* let EditableHtml;
|
|
173
|
-
* let StyledEditableHTML;
|
|
174
|
-
* if (typeof window !== 'undefined') {
|
|
175
|
-
* EditableHtml = require('@pie-lib/editable-html-tip-tap')['default'];
|
|
176
|
-
* StyledEditableHTML = styled(EditableHtml)(({ theme }) => ({
|
|
177
|
-
* fontFamily: theme.typography.fontFamily,
|
|
178
|
-
* }));
|
|
179
|
-
* }
|
|
180
|
-
* ```
|
|
181
|
-
*
|
|
182
|
-
* This doesn't work in browser ESM (require is not defined). Transform to:
|
|
212
|
+
* Transform legacy SSR-gated `require()` for pie-lib editors into static ESM imports.
|
|
183
213
|
*
|
|
184
|
-
*
|
|
185
|
-
*
|
|
186
|
-
*
|
|
187
|
-
*
|
|
188
|
-
* const StyledEditableHTML = styled(EditableHtml)(({ theme }) => ({
|
|
189
|
-
* fontFamily: theme.typography.fontFamily,
|
|
190
|
-
* }));
|
|
191
|
-
* ```
|
|
192
|
-
*
|
|
193
|
-
* We use direct imports instead of React.lazy because:
|
|
194
|
-
* - Simpler code (no Suspense wrapper needed)
|
|
195
|
-
* - No loading flicker
|
|
196
|
-
* - Modern bundlers handle ESM imports correctly for SSR
|
|
197
|
-
* - The component is always needed (no code-splitting benefit)
|
|
214
|
+
* Older upstream pie-lib used `typeof window` + `require()` so heavy editor code did not
|
|
215
|
+
* run under SSR. That breaks in browser ESM where `require` is undefined. When this pattern
|
|
216
|
+
* is still present in synced sources, rewrite it to a normal default import plus styled()
|
|
217
|
+
* wrapper. If upstream has already moved to ESM imports, this is a no-op.
|
|
198
218
|
*/
|
|
199
|
-
export declare function
|
|
219
|
+
export declare function transformSsrRequireToEsmImport(content: string): string;
|
|
200
220
|
/**
|
|
201
221
|
* Fix TypeScript type inference errors for styled components
|
|
202
222
|
*
|
|
@@ -272,13 +292,13 @@ export declare function transformMenuToInlineMenu(content: string): string;
|
|
|
272
292
|
*/
|
|
273
293
|
export declare function addInlineMenuExport(content: string, sourcePath?: string): string;
|
|
274
294
|
/**
|
|
275
|
-
* Transform
|
|
295
|
+
* Transform React component imports that may resolve as module objects in IIFE builds.
|
|
276
296
|
*
|
|
277
|
-
*
|
|
278
|
-
* which
|
|
297
|
+
* Some libraries export React components as objects (e.g. forwardRef) or wrapped modules,
|
|
298
|
+
* which can trigger React invariant #130 in certain bundled interop paths.
|
|
279
299
|
*
|
|
280
|
-
*
|
|
281
|
-
*
|
|
300
|
+
* This transform rewrites known-risk imports to pass through a small runtime unwrap helper:
|
|
301
|
+
* - `@mdi/react` default import
|
|
302
|
+
* - `react-konva` named imports
|
|
282
303
|
*/
|
|
283
|
-
export declare function
|
|
284
|
-
//# sourceMappingURL=sync-imports.d.ts.map
|
|
304
|
+
export declare function transformReactInteropComponentImports(content: string): string;
|