@pie-element/cli 0.1.1 ā 0.1.2-next.0
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 +405 -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 +52 -0
- package/dist/lib/upstream/sync-presets.js +175 -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 +25 -8
- 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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyze-esm.js","sourceRoot":"","sources":["../../../src/commands/upstream/analyze-esm.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"analyze-esm.js","sourceRoot":"","sources":["../../../src/commands/upstream/analyze-esm.ts"],"names":[],"mappings":"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","sourcesContent":["import { Command, Flags } from '@oclif/core';\nimport { Logger } from '../../utils/logger.js';\nimport { loadPackageJson, type PackageJson } from '../../utils/package-json.js';\nimport { existsSync } from 'node:fs';\nimport { mkdir, readFile, readdir, writeFile } from 'node:fs/promises';\nimport { join } from 'node:path';\nimport type {\n CompatibilityReport,\n ElementDetail,\n EsmPackageValidation,\n EsmRuntimeValidationResult,\n EsmValidationResult,\n} from '../../utils/compatibility.js';\nimport {\n createTrackedCompatibilityReport,\n deriveStaticBrowserEsmReport,\n} from '../../utils/compatibility.js';\nimport { assertReposExist } from '../../lib/upstream/repo-utils.js';\n\n// PIE elements that are actively used in pie-elements-ng\n// Only these elements will be analyzed\nconst ACTIVE_ELEMENTS = [\n 'categorize',\n 'charting',\n 'complex-rubric',\n 'drag-in-the-blank',\n 'drawing-response',\n 'ebsr',\n 'explicit-constructed-response',\n 'extended-text-entry',\n 'fraction-model',\n 'graphing',\n 'graphing-solution-set',\n 'hotspot',\n 'image-cloze-association',\n 'inline-dropdown',\n 'likert',\n 'match',\n 'match-list',\n 'math-inline',\n 'math-templated',\n 'matrix',\n 'multi-trait-rubric',\n 'multiple-choice',\n 'number-line',\n 'passage',\n 'placement-ordering',\n 'rubric',\n 'select-text',\n];\n\n// Known ESM blockers - packages that prevent ESM builds\nconst ESM_BLOCKERS = [\n // Old Slate editor (v0.36.x) - not ESM compatible\n { pattern: /^slate@0\\.[0-4]\\d/, reason: 'Slate v0.x is not ESM compatible' },\n { pattern: /^slate-/, reason: 'Slate v0.x plugins are not ESM compatible' },\n\n // Known CommonJS-only packages (add more as discovered)\n { pattern: /^enzyme/, reason: 'Enzyme is not ESM compatible' },\n];\n\n// PIE lib packages that should always be included if compatible\n// These are packages that may be imported directly in code (e.g., controllers)\n// but not declared in package.json dependencies\nconst ALWAYS_INCLUDE_PIE_LIB = [\n 'controller-utils', // Used in controller code via direct imports\n];\n\nexport default class AnalyzeEsm extends Command {\n static override description = 'Analyze PIE elements for ESM compatibility';\n\n static override examples = [\n '<%= config.bin %> <%= command.id %>',\n '<%= config.bin %> <%= command.id %> --verbose',\n '<%= config.bin %> <%= command.id %> --output=./.compatibility/custom-report.json',\n ];\n\n static override flags = {\n verbose: Flags.boolean({\n char: 'v',\n description: 'Show detailed analysis output',\n default: false,\n }),\n 'pie-elements': Flags.string({\n description: 'Path to pie-elements repo',\n default: '../pie-elements',\n }),\n 'pie-lib': Flags.string({\n description: 'Path to pie-lib repo',\n default: '../pie-lib',\n }),\n output: Flags.string({\n description: 'Output JSON file path',\n default: './.compatibility/report.json',\n }),\n 'include-dev-deps': Flags.boolean({\n description:\n 'Include devDependencies in blocker analysis (usually unnecessary since pie-elements-ng does not sync upstream tests)',\n default: false,\n }),\n 'validate-esm-player': Flags.boolean({\n description: 'Validate ESM player compatibility (package.json structure, exports).',\n default: true,\n allowNo: true,\n }),\n 'runtime-cdn-base-url': Flags.string({\n description: 'CDN base URL to use for runtime probes (e.g. https://esm.sh)',\n default: 'https://esm.sh',\n }),\n 'runtime-local-pie-elements-path': Flags.string({\n description: 'Path to sibling pie-elements repo used for local PIE resolution during probes.',\n default: '../pie-elements',\n }),\n 'runtime-local-pie-lib-path': Flags.string({\n description: 'Path to sibling pie-lib repo used for local PIE resolution during probes.',\n default: '../pie-lib',\n }),\n 'runtime-timeout-ms': Flags.integer({\n description: 'Timeout for each runtime probe request (ms)',\n default: 6000,\n }),\n 'runtime-concurrency': Flags.integer({\n description: 'Max concurrent runtime probes',\n default: 8,\n }),\n 'runtime-max-depth': Flags.integer({\n description: 'Max import graph depth for the deep runtime probe',\n default: 6,\n }),\n 'runtime-max-modules': Flags.integer({\n description: 'Max total modules fetched per element for the deep runtime probe',\n default: 250,\n }),\n 'runtime-cache-file': Flags.string({\n description:\n 'Optional JSON cache file path for runtime probe results (speeds up repeated runs)',\n default: './.cache/analyze-esm.runtime-cache.json',\n }),\n };\n\n private logger = new Logger();\n\n public async run(): Promise<void> {\n const { flags } = await this.parse(AnalyzeEsm);\n\n this.logger = new Logger(flags.verbose);\n\n if (flags.verbose) {\n this.logger.section('š Analyzing ESM Compatibility');\n this.logger.info(` PIE Elements: ${flags['pie-elements']}`);\n this.logger.info(` PIE Lib: ${flags['pie-lib']}\\n`);\n }\n\n // Verify repos exist\n try {\n assertReposExist([\n { label: 'pie-elements', path: flags['pie-elements'] },\n { label: 'pie-lib', path: flags['pie-lib'] },\n ]);\n } catch (error) {\n this.error(error instanceof Error ? error.message : String(error));\n }\n\n const report = await this.analyzeCompatibility(\n flags['pie-elements'],\n flags['pie-lib'],\n flags.verbose,\n flags['include-dev-deps'],\n flags['validate-esm-player'],\n flags['runtime-cdn-base-url'],\n flags['runtime-local-pie-elements-path'],\n flags['runtime-local-pie-lib-path'],\n flags['runtime-timeout-ms'],\n flags['runtime-concurrency'],\n flags['runtime-max-depth'],\n flags['runtime-max-modules'],\n flags['runtime-cache-file']\n );\n const staticBrowserEsmReport = await deriveStaticBrowserEsmReport(process.cwd());\n report.browserEsmReady = staticBrowserEsmReport.browserEsmReady;\n report.browserEsmUnsupported = staticBrowserEsmReport.browserEsmUnsupported;\n\n // Save JSON report\n const outputDir = join(flags.output, '..');\n await mkdir(outputDir, { recursive: true });\n await writeFile(\n flags.output,\n `${JSON.stringify(createTrackedCompatibilityReport(report), null, 2)}\\n`,\n 'utf-8'\n );\n\n // Print summary\n this.printReport(report, flags.output);\n }\n\n private async analyzeCompatibility(\n pieElementsPath: string,\n pieLibPath: string,\n verbose: boolean,\n includeDevDeps: boolean,\n validateEsmPlayer: boolean,\n runtimeCdnBaseUrl: string,\n runtimeLocalPieElementsPath: string,\n runtimeLocalPieLibPath: string,\n runtimeTimeoutMs: number,\n runtimeConcurrency: number,\n runtimeMaxDepth: number,\n runtimeMaxModules: number,\n runtimeCacheFile: string\n ): Promise<CompatibilityReport> {\n if (!verbose) {\n this.logger.progressStart('Analyzing ESM compatibility...');\n }\n\n const report: CompatibilityReport = {\n elements: [],\n pieLibPackages: [],\n blockedElements: {},\n esmPlayerReady: [],\n esmValidation: {},\n esmPlayerValidationEnabled: validateEsmPlayer,\n esmRuntimeValidationEnabled: true,\n esmRuntimeCdnBaseUrl: runtimeCdnBaseUrl,\n esmRuntimeValidation: {},\n elementDetails: {},\n pieLibDetails: {},\n lastAnalyzed: new Date().toISOString(),\n summary: {\n totalElements: 0,\n compatibleElements: 0,\n blockedElements: 0,\n esmPlayerReady: 0,\n esmRuntimeReady: 0,\n totalPieLibPackages: 0,\n compatiblePieLibPackages: 0,\n },\n };\n\n // Cache for pie-lib compatibility checks\n const pieLibCache = new Map<\n string,\n {\n compatible: boolean;\n blockers: string[];\n }\n >();\n\n // Get all element packages\n const elementsDir = join(pieElementsPath, 'packages');\n const allElements = await readdir(elementsDir);\n\n // Filter to only active elements used in pie-elements-ng\n const elements = allElements.filter((name) => ACTIVE_ELEMENTS.includes(name));\n\n report.summary.totalElements = elements.length;\n\n if (verbose) {\n this.logger.info(`š Analyzing ${elements.length} elements...\\n`);\n }\n\n // Track which elements use which pie-lib packages\n const pieLibUsage = new Map<string, Set<string>>();\n\n // Analyze each element\n for (const element of elements.sort()) {\n const result = await this.checkElementCompatibility(\n element,\n pieElementsPath,\n pieLibPath,\n pieLibCache,\n verbose,\n includeDevDeps\n );\n\n // Check subdirectories separately\n const srcCheck = await this.checkSubdirectoryCompatibility(\n element,\n 'src',\n pieElementsPath,\n pieLibPath,\n pieLibCache,\n verbose,\n includeDevDeps\n );\n\n const configureCheck = await this.checkSubdirectoryCompatibility(\n element,\n 'configure',\n pieElementsPath,\n pieLibPath,\n pieLibCache,\n verbose,\n includeDevDeps\n );\n\n const controllerCheck = await this.checkSubdirectoryCompatibility(\n element,\n 'controller',\n pieElementsPath,\n pieLibPath,\n pieLibCache,\n verbose,\n includeDevDeps\n );\n\n // Add subdirectory results to element details\n if (srcCheck !== null) {\n result.studentUI = srcCheck;\n }\n if (configureCheck !== null) {\n result.configure = configureCheck;\n }\n if (controllerCheck !== null) {\n result.controller = controllerCheck;\n }\n\n report.elementDetails[element] = result;\n\n if (result.compatible) {\n report.elements.push(element);\n report.summary.compatibleElements++;\n\n // Track pie-lib usage (including transitive deps)\n // For example: if element uses text-select, and text-select uses style-utils,\n // we need to sync both text-select AND style-utils\n const allPieLibDeps = await this.collectAllTransitivePieLibDeps(\n result.pieLibDeps,\n pieLibPath,\n includeDevDeps\n );\n\n for (const pieLibDep of allPieLibDeps) {\n if (!pieLibUsage.has(pieLibDep)) {\n pieLibUsage.set(pieLibDep, new Set());\n }\n const usageSet = pieLibUsage.get(pieLibDep);\n if (usageSet) {\n usageSet.add(element);\n }\n }\n } else {\n report.blockedElements[element] = result.blockers;\n report.summary.blockedElements++;\n }\n }\n\n // Second pass: Check element-to-element dependencies\n // Elements can only be compatible if all their element dependencies are also compatible\n if (verbose) {\n this.logger.info('\\nš Checking element-to-element dependencies...\\n');\n }\n\n let changed = true;\n while (changed) {\n changed = false;\n for (const element of elements) {\n const details = report.elementDetails[element];\n if (!details?.compatible) continue; // Already blocked, skip\n\n // Check if this element depends on any blocked elements\n for (const depElement of details.pieElementDeps) {\n const depDetails = report.elementDetails[depElement];\n\n if (!depDetails?.compatible) {\n // This element depends on a blocked element\n const blocker = `@pie-element/${depElement} - dependency is not ESM compatible`;\n details.blockers.push(blocker);\n details.compatible = false;\n\n // Move from compatible to blocked\n const idx = report.elements.indexOf(element);\n if (idx !== -1) {\n report.elements.splice(idx, 1);\n report.summary.compatibleElements--;\n }\n report.blockedElements[element] = details.blockers;\n report.summary.blockedElements++;\n\n changed = true;\n\n if (verbose) {\n this.logger.info(` ā ${element}: depends on blocked element ${depElement}`);\n }\n break;\n }\n }\n }\n }\n\n // Build pie-lib report\n for (const [pieLibPkg, usedBy] of pieLibUsage.entries()) {\n const check = pieLibCache.get(pieLibPkg);\n if (check?.compatible) {\n report.pieLibPackages.push(pieLibPkg);\n report.pieLibDetails[pieLibPkg] = {\n compatible: true,\n usedBy: Array.from(usedBy),\n blockers: [],\n };\n } else if (check) {\n report.pieLibDetails[pieLibPkg] = {\n compatible: false,\n usedBy: Array.from(usedBy),\n blockers: check.blockers,\n };\n }\n }\n\n // Add always-include pie-lib packages if they're compatible\n for (const pieLibPkg of ALWAYS_INCLUDE_PIE_LIB) {\n // Skip if already in the report\n if (pieLibUsage.has(pieLibPkg)) {\n continue;\n }\n\n // Check if this package exists and is compatible\n let check = pieLibCache.get(pieLibPkg);\n if (!check) {\n check = await this.checkPieLibCompatibility(\n pieLibPkg,\n pieLibPath,\n verbose,\n includeDevDeps,\n pieLibCache\n );\n pieLibCache.set(pieLibPkg, check);\n }\n\n if (check.compatible) {\n report.pieLibPackages.push(pieLibPkg);\n report.pieLibDetails[pieLibPkg] = {\n compatible: true,\n usedBy: ['(always included)'], // Mark as always included\n blockers: [],\n };\n if (verbose) {\n this.logger.info(` ā
${pieLibPkg}: always included (compatible)`);\n }\n } else if (verbose) {\n this.logger.info(` āļø ${pieLibPkg}: skipped (not compatible)`);\n }\n }\n\n report.summary.totalPieLibPackages = pieLibUsage.size + ALWAYS_INCLUDE_PIE_LIB.length;\n report.summary.compatiblePieLibPackages = report.pieLibPackages.length;\n\n // Identify student-UI-only elements (blocked overall but student UI is compatible)\n report.studentUIOnly = [];\n for (const element of elements) {\n const details = report.elementDetails[element];\n if (!details?.compatible && details?.studentUI?.compatible) {\n report.studentUIOnly.push(element);\n }\n }\n report.summary.studentUIOnlyElements = report.studentUIOnly.length;\n\n if (verbose && report.studentUIOnly.length > 0) {\n this.logger.info(\n `\\nš± Found ${report.studentUIOnly.length} elements with student-UI-only support:\\n`\n );\n for (const element of report.studentUIOnly) {\n this.logger.info(` ${element}`);\n }\n }\n\n // ESM player validation (only for compatible elements)\n if (validateEsmPlayer) {\n if (verbose) {\n this.logger.info('\\nš® Validating ESM player compatibility...\\n');\n }\n\n for (const element of report.elements) {\n const validation = await this.validateEsmPlayerCompatibility(\n element,\n pieElementsPath,\n verbose\n );\n\n report.esmValidation[element] = validation;\n\n if (validation.compatible) {\n report.esmPlayerReady.push(element);\n report.summary.esmPlayerReady++;\n }\n }\n }\n\n // Runtime-ish CDN probes (production-like signal)\n const base = runtimeCdnBaseUrl.replace(/\\/+$/, '');\n\n // Probe all CommonJS-free elements by default.\n // Rationale: \"ESM ready in production\" is primarily about whether the CDN can resolve\n // the package + transitives into browser-loadable ESM, not whether upstream package.json\n // has ideal exports metadata (which we often rewrite during sync).\n const elementsToProbe = report.elements.slice();\n\n const cache = await this.loadRuntimeCache(runtimeCacheFile);\n\n if (verbose) {\n this.logger.info(\n `\\nš Probing ESM runtime readiness via CDN (${elementsToProbe.length} elements, concurrency=${runtimeConcurrency})...\\n`\n );\n this.logger.info(` CDN base: ${base}\\n`);\n this.logger.info(\n ` Mode: deep (maxDepth=${runtimeMaxDepth}, maxModules=${runtimeMaxModules})\\n`\n );\n this.logger.info(\n ` Local PIE resolution: enabled (pie-elements=${runtimeLocalPieElementsPath}, pie-lib=${runtimeLocalPieLibPath})\\n`\n );\n } else {\n this.logger.info(\n `š Probing ESM runtime readiness via CDN (${elementsToProbe.length} elements, concurrency=${runtimeConcurrency})...`\n );\n }\n\n const results = await this.probeElementsRuntime({\n elements: elementsToProbe,\n pieElementsPath,\n cdnBaseUrl: base,\n localPieEnabled: true,\n localPieElementsPath: runtimeLocalPieElementsPath,\n localPieLibPath: runtimeLocalPieLibPath,\n timeoutMs: runtimeTimeoutMs,\n concurrency: runtimeConcurrency,\n deep: true,\n maxDepth: runtimeMaxDepth,\n maxModules: runtimeMaxModules,\n cache,\n verbose,\n });\n\n let okCount = 0;\n for (const [element, result] of Object.entries(results)) {\n report.esmRuntimeValidation ??= {};\n report.esmRuntimeValidation[element] = result;\n if (result.compatible) okCount++;\n }\n report.summary.esmRuntimeReady = okCount;\n\n await this.saveRuntimeCache(runtimeCacheFile, cache);\n\n if (!verbose) {\n this.logger.info(` Runtime-ready: ${okCount}/${elementsToProbe.length}\\n`);\n }\n\n if (!verbose) {\n this.logger.progressComplete();\n this.logger.info('');\n this.logger.success(`${report.summary.compatibleElements} elements compatible`);\n if (report.summary.blockedElements > 0) {\n this.logger.warn(`${report.summary.blockedElements} elements blocked`);\n }\n if (report.summary.compatiblePieLibPackages > 0) {\n this.logger.info(`${report.summary.compatiblePieLibPackages} @pie-lib packages compatible`);\n }\n if (report.summary.totalPieLibPackages - report.summary.compatiblePieLibPackages > 0) {\n this.logger.warn(\n `${report.summary.totalPieLibPackages - report.summary.compatiblePieLibPackages} @pie-lib packages blocked`\n );\n }\n this.logger.info('');\n this.logger.info('Run with --verbose to see detailed blocker information');\n this.logger.info('');\n }\n\n return report;\n }\n\n private async loadRuntimeCache(\n filePath: string\n ): Promise<Record<string, EsmRuntimeValidationResult>> {\n try {\n if (!existsSync(filePath)) return {};\n const raw = await readFile(filePath, 'utf-8');\n return JSON.parse(raw) as Record<string, EsmRuntimeValidationResult>;\n } catch {\n return {};\n }\n }\n\n private async saveRuntimeCache(\n filePath: string,\n cache: Record<string, EsmRuntimeValidationResult>\n ): Promise<void> {\n try {\n const dir = filePath.includes('/') ? filePath.split('/').slice(0, -1).join('/') : '.';\n if (dir && dir !== '.' && !existsSync(dir)) {\n await mkdir(dir, { recursive: true });\n }\n await writeFile(filePath, JSON.stringify(cache, null, 2), 'utf-8');\n } catch {\n // Best-effort cache only.\n }\n }\n\n private async parseAsEsm(code: string): Promise<boolean> {\n try {\n const mod = (await import('es-module-lexer')) as unknown as {\n init: Promise<void>;\n parse: (source: string) => [unknown[], unknown];\n };\n await mod.init;\n mod.parse(code);\n return true;\n } catch {\n // Fallback: very light heuristic (still useful signal for obvious non-JS responses).\n return typeof code === 'string' && code.length > 0;\n }\n }\n\n private async getImportSpecifiers(code: string): Promise<string[]> {\n try {\n const mod = (await import('es-module-lexer')) as unknown as {\n init: Promise<void>;\n parse: (source: string) => [{ s: number; e: number }[], unknown];\n };\n await mod.init;\n const [imports] = mod.parse(code);\n const specs: string[] = [];\n for (const i of imports) {\n const spec = code.slice(i.s, i.e);\n if (spec) specs.push(spec);\n }\n return specs;\n } catch {\n return [];\n }\n }\n\n private resolveImportUrl(fromUrl: string, spec: string, cdnBaseUrl: string): string | null {\n if (!spec) return null;\n if (spec.startsWith('data:')) return null;\n if (spec.startsWith('http://') || spec.startsWith('https://')) return spec;\n if (spec.startsWith('//')) return `https:${spec}`;\n if (spec.startsWith('/')) return `${cdnBaseUrl.replace(/\\/+$/, '')}${spec}`;\n if (spec.startsWith('./') || spec.startsWith('../')) return new URL(spec, fromUrl).toString();\n // Bare specifiers shouldn't typically appear in CDN output; best-effort map to base.\n return `${cdnBaseUrl.replace(/\\/+$/, '')}/${spec}`;\n }\n\n private isPiePackageSpecifier(spec: string): boolean {\n return (\n spec.startsWith('@pie-lib/') ||\n spec.startsWith('@pie-element/') ||\n spec.startsWith('@pie-element/')\n );\n }\n\n private tryResolvePieToLocalFile(\n spec: string,\n pieElementsPath: string,\n pieLibPath: string\n ): string | null {\n // Map PIE package specifiers to sibling upstream source trees.\n // Supports:\n // - @pie-lib/<name>[/subpath] -> <pie-lib>/packages/<name>/src/...\n // - @pie-element/<name>[/subpath] -> <pie-elements>/packages/<name>/src/... (and controller/configure sources)\n const [scope, name, ...rest] = spec.split('/');\n const subpath = rest.join('/');\n\n if (scope === '@pie-lib') {\n const base = join(pieLibPath, 'packages', name, 'src');\n return this.resolveLocalEntrypoint(base, subpath);\n }\n\n if (scope === '@pie-element') {\n // Special-case known subpaths that live outside src/ in upstream.\n if (subpath === 'controller' || subpath.startsWith('controller/')) {\n const controllerSub = subpath === 'controller' ? '' : subpath.replace(/^controller\\//, '');\n const base = join(pieElementsPath, 'packages', name, 'controller', 'src');\n return this.resolveLocalEntrypoint(base, controllerSub);\n }\n if (subpath === 'configure' || subpath.startsWith('configure/')) {\n const cfgSub = subpath === 'configure' ? '' : subpath.replace(/^configure\\//, '');\n const base = join(pieElementsPath, 'packages', name, 'configure', 'src');\n return this.resolveLocalEntrypoint(base, cfgSub);\n }\n\n const base = join(pieElementsPath, 'packages', name, 'src');\n return this.resolveLocalEntrypoint(base, subpath);\n }\n\n return null;\n }\n\n private resolveLocalEntrypoint(srcBaseDir: string, subpath: string): string | null {\n const candidates: string[] = [];\n if (!subpath) {\n candidates.push(join(srcBaseDir, 'index.ts'));\n candidates.push(join(srcBaseDir, 'index.tsx'));\n candidates.push(join(srcBaseDir, 'index.js'));\n candidates.push(join(srcBaseDir, 'index.jsx'));\n } else {\n const normalized = subpath.replace(/^\\/+/, '');\n // common convention: <subpath>/index.*\n candidates.push(join(srcBaseDir, normalized, 'index.ts'));\n candidates.push(join(srcBaseDir, normalized, 'index.tsx'));\n candidates.push(join(srcBaseDir, normalized, 'index.js'));\n candidates.push(join(srcBaseDir, normalized, 'index.jsx'));\n // direct file\n candidates.push(join(srcBaseDir, `${normalized}.ts`));\n candidates.push(join(srcBaseDir, `${normalized}.tsx`));\n candidates.push(join(srcBaseDir, `${normalized}.js`));\n candidates.push(join(srcBaseDir, `${normalized}.jsx`));\n }\n\n for (const c of candidates) {\n if (existsSync(c)) return `file://${c}`;\n }\n return null;\n }\n\n private resolveLocalImport(fromFileUrl: string, spec: string): string | null {\n // Supports extensionless TS/JS imports and index resolution.\n const fromPath = fromFileUrl.startsWith('file://')\n ? fromFileUrl.slice('file://'.length)\n : fromFileUrl;\n const baseDir = join(fromPath, '..');\n const tryPaths: string[] = [];\n\n const resolved = join(baseDir, spec);\n if (\n spec.endsWith('.ts') ||\n spec.endsWith('.tsx') ||\n spec.endsWith('.js') ||\n spec.endsWith('.jsx')\n ) {\n tryPaths.push(resolved);\n } else {\n tryPaths.push(resolved + '.ts');\n tryPaths.push(resolved + '.tsx');\n tryPaths.push(resolved + '.js');\n tryPaths.push(resolved + '.jsx');\n tryPaths.push(join(resolved, 'index.ts'));\n tryPaths.push(join(resolved, 'index.tsx'));\n tryPaths.push(join(resolved, 'index.js'));\n tryPaths.push(join(resolved, 'index.jsx'));\n }\n\n for (const p of tryPaths) {\n if (existsSync(p)) return `file://${p}`;\n }\n return null;\n }\n\n private getTsImportSpecifiers(code: string): string[] {\n // Minimal TS import extractor that handles import ... from \"x\" and export ... from \"x\".\n // We do not attempt full TS AST walking here to keep dependencies minimal.\n const specs = new Set<string>();\n const re = /\\b(?:import|export)\\s+(?:type\\s+)?(?:[^'\"]*?\\s+from\\s+)?['\"]([^'\"]+)['\"]/g;\n for (const m of code.matchAll(re)) {\n if (m[1]) specs.add(m[1]);\n }\n // dynamic import(\"x\")\n const reDyn = /\\bimport\\s*\\(\\s*['\"]([^'\"]+)['\"]\\s*\\)/g;\n for (const m of code.matchAll(reDyn)) {\n if (m[1]) specs.add(m[1]);\n }\n return Array.from(specs);\n }\n\n private async deepProbeFromUrl(opts: {\n entryUrl: string;\n cdnBaseUrl: string;\n timeoutMs: number;\n maxDepth: number;\n maxModules: number;\n logPrefix: string;\n localPieEnabled: boolean;\n localPieElementsPath: string;\n localPieLibPath: string;\n }): Promise<{\n ok: boolean;\n fetched: number;\n fetchedOk: number;\n firstFailingUrl?: string;\n errors: string[];\n }> {\n const {\n entryUrl,\n cdnBaseUrl,\n timeoutMs,\n maxDepth,\n maxModules,\n logPrefix,\n localPieEnabled,\n localPieElementsPath,\n localPieLibPath,\n } = opts;\n const visited = new Set<string>();\n const errors: string[] = [];\n let fetched = 0;\n let fetchedOk = 0;\n let firstFailingUrl: string | undefined;\n let lastLogAt = 0;\n\n const queue: Array<{ url: string; depth: number }> = [{ url: entryUrl, depth: 0 }];\n while (queue.length > 0) {\n const next = queue.shift();\n if (!next) break;\n if (next.depth > maxDepth) continue;\n if (visited.has(next.url)) continue;\n if (visited.size >= maxModules) break;\n visited.add(next.url);\n\n fetched++;\n // Periodic progress logging (deep probe can take a while)\n // Log at most every ~2s, and also on notable milestones.\n const now = Date.now();\n if (fetched === 1 || fetched % 50 === 0 || now - lastLogAt > 2000) {\n lastLogAt = now;\n this.logger.info(\n ` ā³ ${logPrefix}: fetched ${fetched}/${maxModules} modules (ok ${fetchedOk}), queue ${queue.length}, depth ${next.depth}/${maxDepth}`\n );\n }\n const res = await this.fetchTextWithTimeout(next.url, timeoutMs);\n if (!res.ok) {\n const baseMsg = `fetch ${next.url} -> ${res.status || 'error'} (${res.text.slice(0, 120)})`;\n const jsxHint =\n typeof res.text === 'string' &&\n res.text.includes('The JSX syntax extension is not currently enabled')\n ? ' Hint: CDN failed parsing JSX in a .js/.mjs file. This usually means the published package contains uncompiled JSX; fix build output or file extensions.'\n : '';\n const msg = baseMsg + jsxHint;\n errors.push(msg);\n if (!firstFailingUrl) firstFailingUrl = next.url;\n continue;\n }\n fetchedOk++;\n\n // For local file:// sources, parse imports in a TS-friendly way (regex-based).\n // For CDN URLs, parse as ESM and use es-module-lexer import locations.\n const isFile = next.url.startsWith('file://');\n if (!isFile) {\n const parses = await this.parseAsEsm(res.text);\n if (!parses) {\n const msg = `parse ${next.url} -> non-parseable JS`;\n errors.push(msg);\n if (!firstFailingUrl) firstFailingUrl = next.url;\n continue;\n }\n }\n\n const specs = isFile\n ? this.getTsImportSpecifiers(res.text)\n : await this.getImportSpecifiers(res.text);\n for (const spec of specs) {\n let resolved: string | null = null;\n\n // Prefer local resolution for PIE packages when enabled.\n if (localPieEnabled && this.isPiePackageSpecifier(spec)) {\n resolved = this.tryResolvePieToLocalFile(spec, localPieElementsPath, localPieLibPath);\n }\n\n if (!resolved) {\n if (isFile && (spec.startsWith('./') || spec.startsWith('../'))) {\n resolved = this.resolveLocalImport(next.url, spec);\n } else {\n resolved = this.resolveImportUrl(next.url, spec, cdnBaseUrl);\n }\n }\n\n if (!resolved) continue;\n if (!visited.has(resolved)) queue.push({ url: resolved, depth: next.depth + 1 });\n }\n }\n\n return { ok: errors.length === 0, fetched, fetchedOk, firstFailingUrl, errors };\n }\n\n private async fetchTextWithTimeout(\n url: string,\n timeoutMs: number\n ): Promise<{ ok: boolean; status: number; text: string }> {\n const controller = new AbortController();\n const t = setTimeout(() => controller.abort(), timeoutMs);\n try {\n const res = await fetch(url, { signal: controller.signal });\n const text = await res.text();\n return { ok: res.ok, status: res.status, text };\n } catch (e: any) {\n return { ok: false, status: 0, text: String(e?.message || e) };\n } finally {\n clearTimeout(t);\n }\n }\n\n private async probeElementsRuntime(opts: {\n elements: string[];\n pieElementsPath: string;\n cdnBaseUrl: string;\n localPieEnabled: boolean;\n localPieElementsPath: string;\n localPieLibPath: string;\n timeoutMs: number;\n concurrency: number;\n deep: boolean;\n maxDepth: number;\n maxModules: number;\n cache: Record<string, EsmRuntimeValidationResult>;\n verbose: boolean;\n }): Promise<Record<string, EsmRuntimeValidationResult>> {\n const {\n elements,\n pieElementsPath,\n cdnBaseUrl,\n localPieEnabled,\n localPieElementsPath,\n localPieLibPath,\n timeoutMs,\n concurrency,\n deep,\n maxDepth,\n maxModules,\n cache,\n verbose,\n } = opts;\n\n const results: Record<string, EsmRuntimeValidationResult> = {};\n const queue = elements.slice();\n let done = 0;\n\n const worker = async () => {\n while (queue.length > 0) {\n const element = queue.shift();\n if (!element) return;\n\n const pkgPath = join(pieElementsPath, 'packages', element, 'package.json');\n const pkg = (await loadPackageJson(pkgPath)) as PackageJson;\n const pkgName = `@pie-element/${element}`;\n const version = String((pkg as any).version || 'latest');\n // Cache key must include probe mode + limits, otherwise a shallow cached result\n // would incorrectly satisfy a deep/transitive run.\n const cacheKey = `${cdnBaseUrl}|${pkgName}@${version}|mode=${deep ? 'deep' : 'shallow'}|depth=${maxDepth}|modules=${maxModules}`;\n\n if (cache[cacheKey]) {\n results[element] = cache[cacheKey];\n done++;\n if (!verbose && done % 5 === 0)\n this.logger.info(` Progress: ${done}/${elements.length}`);\n continue;\n }\n\n const entryUrl = `${cdnBaseUrl}/${pkgName}@${version}`;\n const controllerUrl = `${cdnBaseUrl}/${pkgName}@${version}/controller`;\n\n const out: EsmRuntimeValidationResult = {\n compatible: false,\n cdnBaseUrl,\n version,\n entryOk: false,\n controllerOk: false,\n entryParseOk: false,\n controllerParseOk: false,\n errors: [],\n probeMode: deep ? 'deep' : 'shallow',\n maxDepth: deep ? maxDepth : undefined,\n maxModules: deep ? maxModules : undefined,\n };\n\n if (!deep) {\n const entry = await this.fetchTextWithTimeout(entryUrl, timeoutMs);\n out.entryOk = entry.ok;\n if (!entry.ok) {\n out.errors.push(\n `entry ${entryUrl} -> ${entry.status || 'error'} (${entry.text.slice(0, 120)})`\n );\n } else {\n out.entryParseOk = await this.parseAsEsm(entry.text);\n if (!out.entryParseOk) out.errors.push(`entry ${entryUrl} returned non-parseable JS`);\n }\n\n const ctrl = await this.fetchTextWithTimeout(controllerUrl, timeoutMs);\n out.controllerOk = ctrl.ok;\n if (!ctrl.ok) {\n out.errors.push(\n `controller ${controllerUrl} -> ${ctrl.status || 'error'} (${ctrl.text.slice(0, 120)})`\n );\n } else {\n out.controllerParseOk = await this.parseAsEsm(ctrl.text);\n if (!out.controllerParseOk)\n out.errors.push(`controller ${controllerUrl} returned non-parseable JS`);\n }\n\n out.compatible =\n out.entryOk && out.entryParseOk && out.controllerOk && out.controllerParseOk;\n } else {\n // Deep probe: walk import graphs for entry and controller\n // Still record the top-level entry/controller status for readability.\n const entryTop = await this.fetchTextWithTimeout(entryUrl, timeoutMs);\n out.entryOk = entryTop.ok;\n out.entryParseOk = entryTop.ok ? await this.parseAsEsm(entryTop.text) : false;\n\n const ctrlTop = await this.fetchTextWithTimeout(controllerUrl, timeoutMs);\n out.controllerOk = ctrlTop.ok;\n out.controllerParseOk = ctrlTop.ok ? await this.parseAsEsm(ctrlTop.text) : false;\n\n const entryDeep = await this.deepProbeFromUrl({\n entryUrl,\n cdnBaseUrl,\n timeoutMs,\n maxDepth,\n maxModules,\n logPrefix: `${element} entry`,\n localPieEnabled,\n localPieElementsPath,\n localPieLibPath,\n });\n const ctrlDeep = await this.deepProbeFromUrl({\n entryUrl: controllerUrl,\n cdnBaseUrl,\n timeoutMs,\n maxDepth,\n maxModules,\n logPrefix: `${element} controller`,\n localPieEnabled,\n localPieElementsPath,\n localPieLibPath,\n });\n\n out.fetchedModules = (entryDeep.fetched || 0) + (ctrlDeep.fetched || 0);\n out.fetchedOk = (entryDeep.fetchedOk || 0) + (ctrlDeep.fetchedOk || 0);\n out.firstFailingUrl = entryDeep.firstFailingUrl || ctrlDeep.firstFailingUrl;\n out.errors.push(...entryDeep.errors.slice(0, 5));\n out.errors.push(...ctrlDeep.errors.slice(0, 5));\n\n out.compatible =\n out.entryOk &&\n out.entryParseOk &&\n out.controllerOk &&\n out.controllerParseOk &&\n entryDeep.ok &&\n ctrlDeep.ok;\n }\n\n cache[cacheKey] = out;\n results[element] = out;\n\n done++;\n if (verbose) {\n this.logger.info(\n ` ⢠${element} -> ${out.compatible ? 'ā
' : 'ā'} (entry:${out.entryOk ? 'ok' : 'bad'}, controller:${out.controllerOk ? 'ok' : 'bad'})`\n );\n if (!out.compatible && out.errors.length > 0) {\n this.logger.info(` - ${out.errors[0]}`);\n }\n } else if (done % 5 === 0 || done === elements.length) {\n this.logger.info(` Progress: ${done}/${elements.length}`);\n }\n }\n };\n\n await Promise.all(\n Array.from({ length: Math.max(1, Math.min(concurrency, elements.length)) }, () => worker())\n );\n return results;\n }\n\n private async checkElementCompatibility(\n elementName: string,\n pieElementsPath: string,\n pieLibPath: string,\n pieLibCache: Map<string, { compatible: boolean; blockers: string[] }>,\n verbose: boolean,\n includeDevDeps: boolean\n ): Promise<ElementDetail> {\n const blockers: string[] = [];\n const elementPath = join(pieElementsPath, 'packages', elementName, 'package.json');\n const pkg = await loadPackageJson(elementPath);\n\n if (!pkg) {\n blockers.push(`Package.json not found at ${elementPath}`);\n return { compatible: false, directDeps: [], pieLibDeps: [], pieElementDeps: [], blockers };\n }\n\n const deps = this.getAllDeps(pkg, includeDevDeps);\n const directDeps = Object.keys(deps);\n const pieLibDeps = this.extractPieLibDeps(deps);\n const pieElementDeps = this.extractPieElementDeps(deps);\n\n if (verbose) {\n this.logger.info(`\\n š¦ ${elementName}:`);\n this.logger.info(` Direct deps: ${directDeps.length}`);\n this.logger.info(` PIE Lib deps: ${pieLibDeps.join(', ') || 'none'}`);\n this.logger.info(` PIE Element deps: ${pieElementDeps.join(', ') || 'none'}`);\n }\n\n // Deep scan all dependencies recursively\n const depCache = new Map<string, { compatible: boolean; blockers: string[] }>();\n for (const [dep, version] of Object.entries(deps)) {\n // Skip pie-lib packages - we'll check those separately\n if (dep.startsWith('@pie-lib/')) {\n continue;\n }\n\n await this.checkDependencyDeep(\n dep,\n version,\n pieElementsPath,\n pieLibPath,\n depCache,\n blockers,\n verbose,\n includeDevDeps,\n []\n );\n }\n\n // Check transitive pie-lib dependencies\n for (const pieLibDep of pieLibDeps) {\n let pieLibCheck = pieLibCache.get(pieLibDep);\n\n if (!pieLibCheck) {\n pieLibCheck = await this.checkPieLibCompatibility(\n pieLibDep,\n pieLibPath,\n verbose,\n includeDevDeps,\n pieLibCache\n );\n pieLibCache.set(pieLibDep, pieLibCheck);\n }\n\n if (!pieLibCheck.compatible) {\n for (const blocker of pieLibCheck.blockers) {\n const transitiveBlocker = `@pie-lib/${pieLibDep} -> ${blocker}`;\n blockers.push(transitiveBlocker);\n if (verbose) {\n this.logger.info(` ā Transitive: ${transitiveBlocker}`);\n }\n }\n }\n }\n\n const compatible = blockers.length === 0;\n\n if (verbose && compatible) {\n this.logger.info(' ā
Compatible!');\n }\n\n return {\n compatible,\n directDeps,\n pieLibDeps,\n pieElementDeps,\n blockers,\n };\n }\n\n /**\n * Check subdirectory compatibility (src/, configure/, controller/)\n * Returns compatibility status for each subdirectory that has its own package.json\n */\n private async checkSubdirectoryCompatibility(\n elementName: string,\n subdirName: 'src' | 'configure' | 'controller',\n pieElementsPath: string,\n pieLibPath: string,\n pieLibCache: Map<string, { compatible: boolean; blockers: string[] }>,\n verbose: boolean,\n includeDevDeps: boolean\n ): Promise<{ compatible: boolean; blockers: string[] } | null> {\n const subdirPath = join(pieElementsPath, 'packages', elementName, subdirName);\n const pkgJsonPath = join(subdirPath, 'package.json');\n\n // If no package.json in subdirectory, it's part of the main element\n if (!existsSync(pkgJsonPath)) {\n return null;\n }\n\n const blockers: string[] = [];\n const pkg = await loadPackageJson(pkgJsonPath);\n\n if (!pkg) {\n return null;\n }\n\n const deps = this.getAllDeps(pkg, includeDevDeps);\n const pieLibDeps = this.extractPieLibDeps(deps);\n\n if (verbose) {\n this.logger.info(` š ${subdirName}/: checking ${Object.keys(deps).length} dependencies`);\n }\n\n // Deep scan all dependencies\n const depCache = new Map<string, { compatible: boolean; blockers: string[] }>();\n for (const [dep, version] of Object.entries(deps)) {\n if (dep.startsWith('@pie-lib/')) {\n continue;\n }\n\n await this.checkDependencyDeep(\n dep,\n version,\n pieElementsPath,\n pieLibPath,\n depCache,\n blockers,\n verbose,\n includeDevDeps,\n []\n );\n }\n\n // Check pie-lib dependencies\n for (const pieLibDep of pieLibDeps) {\n let pieLibCheck = pieLibCache.get(pieLibDep);\n\n if (!pieLibCheck) {\n pieLibCheck = await this.checkPieLibCompatibility(\n pieLibDep,\n pieLibPath,\n verbose,\n includeDevDeps,\n pieLibCache\n );\n pieLibCache.set(pieLibDep, pieLibCheck);\n }\n\n if (!pieLibCheck.compatible) {\n for (const blocker of pieLibCheck.blockers) {\n const transitiveBlocker = `@pie-lib/${pieLibDep} -> ${blocker}`;\n blockers.push(transitiveBlocker);\n if (verbose) {\n this.logger.info(` ā ${subdirName}/: ${transitiveBlocker}`);\n }\n }\n }\n }\n\n const compatible = blockers.length === 0;\n\n if (verbose) {\n if (compatible) {\n this.logger.info(` ā
${subdirName}/: Compatible`);\n } else {\n this.logger.info(` ā ${subdirName}/: Blocked`);\n }\n }\n\n return { compatible, blockers };\n }\n\n private async checkDependencyDeep(\n depName: string,\n version: string,\n pieElementsPath: string,\n pieLibPath: string,\n cache: Map<string, { compatible: boolean; blockers: string[] }>,\n blockers: string[],\n verbose: boolean,\n includeDevDeps: boolean,\n depChain: string[]\n ): Promise<void> {\n const depKey = `${depName}@${version}`;\n\n // Check cache\n if (cache.has(depKey)) {\n const cached = cache.get(depKey);\n if (cached && !cached.compatible) {\n for (const blocker of cached.blockers) {\n const chain = [...depChain, blocker].join(' -> ');\n if (!blockers.includes(chain)) {\n blockers.push(chain);\n }\n }\n }\n return;\n }\n\n // Check if this is a known ESM blocker\n const blocker = this.checkEsmBlocker(depName, version);\n if (blocker) {\n const chain = [...depChain, blocker].join(' -> ');\n if (!blockers.includes(chain)) {\n blockers.push(chain);\n if (verbose) {\n this.logger.info(` ā Transitive: ${chain}`);\n }\n }\n cache.set(depKey, { compatible: false, blockers: [blocker] });\n return;\n }\n\n // Try to load package.json from upstream repos to get transitive deps\n // Look in pie-elements node_modules first, then pie-lib node_modules\n let pkg: PackageJson | null = null;\n const possiblePaths = [\n join(pieElementsPath, 'node_modules', depName, 'package.json'),\n join(pieLibPath, 'node_modules', depName, 'package.json'),\n ];\n\n for (const path of possiblePaths) {\n if (existsSync(path)) {\n pkg = await loadPackageJson(path);\n if (pkg) break;\n }\n }\n\n if (!pkg) {\n // Can't resolve - assume compatible (will be caught by runtime validation if problematic)\n cache.set(depKey, { compatible: true, blockers: [] });\n return;\n }\n\n // Check transitive dependencies\n const transitiveDeps = this.getAllDeps(pkg, false); // Don't include devDeps for transitive checks\n const hasBlockers = false;\n\n for (const [transitiveDep, transitiveVersion] of Object.entries(transitiveDeps)) {\n // Skip PIE packages in transitive scan\n if (\n transitiveDep.startsWith('@pie-lib/') ||\n transitiveDep.startsWith('@pie-element/') ||\n transitiveDep.startsWith('@pie-element/')\n ) {\n continue;\n }\n\n await this.checkDependencyDeep(\n transitiveDep,\n transitiveVersion,\n pieElementsPath,\n pieLibPath,\n cache,\n blockers,\n verbose,\n includeDevDeps,\n [...depChain, `${depName}@${version}`]\n );\n }\n\n cache.set(depKey, { compatible: !hasBlockers, blockers: [] });\n }\n\n private async checkPieLibCompatibility(\n pkgName: string,\n pieLibPath: string,\n verbose: boolean,\n includeDevDeps: boolean,\n pieLibCache?: Map<string, { compatible: boolean; blockers: string[] }>\n ): Promise<{\n compatible: boolean;\n blockers: string[];\n }> {\n // Check cache first to avoid infinite recursion\n if (pieLibCache?.has(pkgName)) {\n const cached = pieLibCache.get(pkgName);\n if (cached) return cached;\n }\n\n const blockers: string[] = [];\n const pkgPath = join(pieLibPath, 'packages', pkgName, 'package.json');\n const pkg = await loadPackageJson(pkgPath);\n\n if (!pkg) {\n blockers.push(`Package.json not found at ${pkgPath}`);\n return { compatible: false, blockers };\n }\n\n const deps = this.getAllDeps(pkg, includeDevDeps);\n\n // Check direct dependencies for blockers\n for (const [dep, version] of Object.entries(deps)) {\n // Check for direct ESM blockers (non pie-lib packages)\n if (!dep.startsWith('@pie-lib/')) {\n const blocker = this.checkEsmBlocker(dep, version);\n if (blocker) {\n blockers.push(blocker);\n if (verbose) {\n this.logger.info(` ā ${pkgName}: ${blocker}`);\n }\n }\n }\n }\n\n // Store preliminary result in cache to prevent infinite recursion\n const preliminaryResult = {\n compatible: blockers.length === 0,\n blockers: [...blockers],\n };\n if (pieLibCache) {\n pieLibCache.set(pkgName, preliminaryResult);\n }\n\n // Recursively check transitive pie-lib dependencies\n const pieLibDeps = this.extractPieLibDeps(deps);\n for (const transitivePieLib of pieLibDeps) {\n const transitiveCheck = await this.checkPieLibCompatibility(\n transitivePieLib,\n pieLibPath,\n verbose,\n includeDevDeps,\n pieLibCache\n );\n\n if (!transitiveCheck.compatible) {\n for (const blocker of transitiveCheck.blockers) {\n const transitiveBlocker = `@pie-lib/${transitivePieLib} -> ${blocker}`;\n blockers.push(transitiveBlocker);\n if (verbose) {\n this.logger.info(` ā ${pkgName}: transitive ${transitiveBlocker}`);\n }\n }\n }\n }\n\n // Update cache with final result\n const finalResult = {\n compatible: blockers.length === 0,\n blockers,\n };\n if (pieLibCache) {\n pieLibCache.set(pkgName, finalResult);\n }\n\n return finalResult;\n }\n\n /**\n * Collect all transitive pie-lib dependencies recursively.\n * For example, if text-select depends on style-utils, we need style-utils too.\n */\n private async collectAllTransitivePieLibDeps(\n pieLibDeps: string[],\n pieLibPath: string,\n includeDevDeps: boolean,\n visited = new Set<string>()\n ): Promise<string[]> {\n const allDeps = new Set<string>(pieLibDeps);\n\n for (const dep of pieLibDeps) {\n if (visited.has(dep)) {\n continue;\n }\n visited.add(dep);\n\n const pkgPath = join(pieLibPath, 'packages', dep, 'package.json');\n let pkg: PackageJson | null = null;\n try {\n pkg = await loadPackageJson(pkgPath);\n } catch (error) {\n // Package doesn't exist or can't be read, skip it\n continue;\n }\n if (!pkg) continue;\n\n const deps = this.getAllDeps(pkg, includeDevDeps);\n const transitivePieLibDeps = this.extractPieLibDeps(deps);\n\n // Recursively collect transitive deps\n const deepDeps = await this.collectAllTransitivePieLibDeps(\n transitivePieLibDeps,\n pieLibPath,\n includeDevDeps,\n visited\n );\n\n for (const transitiveDep of deepDeps) {\n allDeps.add(transitiveDep);\n }\n }\n\n return Array.from(allDeps);\n }\n\n private getAllDeps(pkg: PackageJson, includeDevDeps: boolean): Record<string, string> {\n const optionalDependencies =\n (pkg.optionalDependencies as Record<string, string> | undefined) ?? {};\n return {\n ...pkg.dependencies,\n ...optionalDependencies,\n ...(includeDevDeps ? pkg.devDependencies : {}),\n };\n }\n\n private extractPieLibDeps(deps: Record<string, string>): string[] {\n return Object.keys(deps)\n .filter((dep) => dep.startsWith('@pie-lib/'))\n .map((dep) => dep.replace('@pie-lib/', ''));\n }\n\n private extractPieElementDeps(deps: Record<string, string>): string[] {\n return Object.keys(deps)\n .filter((dep) => dep.startsWith('@pie-element/'))\n .map((dep) => dep.replace('@pie-element/', ''));\n }\n\n private checkEsmBlocker(dep: string, version: string): string | null {\n const depVersion = `${dep}@${version}`;\n\n for (const blocker of ESM_BLOCKERS) {\n if (blocker.pattern.test(depVersion) || blocker.pattern.test(dep)) {\n return `${dep}@${version} - ${blocker.reason}`;\n }\n }\n\n return null;\n }\n\n private async validateEsmPlayerCompatibility(\n elementName: string,\n pieElementsPath: string,\n verbose: boolean\n ): Promise<EsmValidationResult> {\n const blockers: string[] = [];\n const warnings: string[] = [];\n\n const elementPath = join(pieElementsPath, 'packages', elementName, 'package.json');\n const pkg = await loadPackageJson(elementPath);\n\n if (!pkg) {\n blockers.push(`Package.json not found at ${elementPath}`);\n return {\n compatible: false,\n packageJson: {\n hasTypeModule: false,\n hasExportsField: false,\n hasMainExport: false,\n hasControllerExport: false,\n sideEffectsFree: false,\n mainExportIsEsm: false,\n controllerExportIsEsm: false,\n },\n blockers,\n warnings,\n };\n }\n\n // Check 1: type: \"module\"\n const hasTypeModule = pkg.type === 'module';\n if (!hasTypeModule) {\n blockers.push('Missing \"type\": \"module\" in package.json');\n }\n\n // Check 2: exports field exists\n const hasExportsField = !!pkg.exports;\n if (!hasExportsField) {\n blockers.push('Missing \"exports\" field in package.json');\n }\n\n // Check 3: main export (\".\")\n const exportsObj = pkg.exports as Record<string, unknown> | undefined;\n const mainExport = exportsObj?.['.'];\n const hasMainExport = !!mainExport;\n if (!hasMainExport && hasExportsField) {\n blockers.push('Missing \".\" export in package.json exports field');\n }\n\n // Check 4: controller export (\"./controller\")\n const controllerExport = exportsObj?.['./controller'];\n const hasControllerExport = !!controllerExport;\n if (!hasControllerExport && hasExportsField) {\n warnings.push('Missing \"./controller\" export - ESM player needs controller subpath');\n }\n\n // Check 5: sideEffects\n const sideEffectsFree = pkg.sideEffects === false;\n if (!sideEffectsFree) {\n warnings.push('Consider adding \"sideEffects\": false for better tree-shaking');\n }\n\n // Check 6: main export points to .js file\n let mainExportIsEsm = false;\n if (mainExport) {\n const exportObj = mainExport as Record<string, unknown> | string;\n const mainPath =\n typeof exportObj === 'string'\n ? exportObj\n : (exportObj.import as string | undefined) || (exportObj.default as string | undefined);\n mainExportIsEsm = typeof mainPath === 'string' && mainPath.endsWith('.js');\n if (!mainExportIsEsm) {\n blockers.push(`Main export must point to .js file (ESM), got: ${mainPath}`);\n }\n }\n\n // Check 7: controller export points to .js file\n let controllerExportIsEsm = false;\n if (controllerExport) {\n const exportObj = controllerExport as Record<string, unknown> | string;\n const controllerPath =\n typeof exportObj === 'string'\n ? exportObj\n : (exportObj.import as string | undefined) || (exportObj.default as string | undefined);\n controllerExportIsEsm = typeof controllerPath === 'string' && controllerPath.endsWith('.js');\n if (!controllerExportIsEsm) {\n warnings.push(`Controller export should point to .js file (ESM), got: ${controllerPath}`);\n }\n }\n\n const validation: EsmPackageValidation = {\n hasTypeModule,\n hasExportsField,\n hasMainExport,\n hasControllerExport,\n sideEffectsFree,\n mainExportIsEsm,\n controllerExportIsEsm,\n };\n\n const compatible = blockers.length === 0;\n\n if (verbose) {\n if (compatible) {\n this.logger.info(` ā
${elementName}: ESM player ready`);\n } else {\n this.logger.info(` ā ${elementName}: Not ESM player ready`);\n for (const blocker of blockers) {\n this.logger.info(` - ${blocker}`);\n }\n }\n }\n\n return {\n compatible,\n packageJson: validation,\n blockers,\n warnings,\n };\n }\n\n private printReport(report: CompatibilityReport, outputPath: string): void {\n const verbose = this.logger.isVerbose();\n\n if (verbose) {\n this.log(`\\n${'='.repeat(70)}`);\n this.log('š ESM COMPATIBILITY REPORT');\n this.log('='.repeat(70));\n this.log('\\nš¦ Elements:');\n this.log(` Total: ${report.summary.totalElements}`);\n this.log(\n ` CommonJS-free: ${report.summary.compatibleElements} ā
(no CommonJS deps)`\n );\n if (report.esmPlayerValidationEnabled) {\n this.log(\n ` ESM player ready: ${report.summary.esmPlayerReady} ā
(package.json exports)`\n );\n } else {\n this.log(' ESM player ready: n/a (validation disabled)');\n }\n\n if (report.esmRuntimeValidationEnabled) {\n const runtimeReady = report.summary.esmRuntimeReady ?? 0;\n this.log(` Runtime ready: ${runtimeReady} ā
(CDN probe: fetch + parse)`);\n } else {\n this.log(' Runtime ready: n/a (runtime probes disabled)');\n }\n this.log(` Blocked: ${report.summary.blockedElements} ā`);\n\n this.log('\\nš PIE Lib Packages:');\n this.log(` Total: ${report.summary.totalPieLibPackages}`);\n this.log(` Compatible: ${report.summary.compatiblePieLibPackages} ā
`);\n this.log(\n ` Blocked: ${report.summary.totalPieLibPackages - report.summary.compatiblePieLibPackages} ā`\n );\n\n if (report.esmPlayerValidationEnabled) {\n // ESM player ready elements (best category)\n if (report.esmPlayerReady.length > 0) {\n this.log(`\\nā
ESM Player Ready (${report.esmPlayerReady.length}):`);\n for (const element of report.esmPlayerReady.sort()) {\n const validation = report.esmValidation[element];\n const deps = report.elementDetails[element]?.pieLibDeps || [];\n this.log(` ⢠${element}`);\n this.log(` - type: module ${validation.packageJson.hasTypeModule ? 'ā
' : 'ā'}`);\n this.log(` - exports: . ${validation.packageJson.hasMainExport ? 'ā
' : 'ā'}`);\n this.log(\n ` - exports: ./controller ${validation.packageJson.hasControllerExport ? 'ā
' : 'ā'}`\n );\n this.log(` - deps: ${deps.length > 0 ? deps.join(', ') : 'none'}`);\n\n if (report.esmRuntimeValidationEnabled && report.esmRuntimeValidation?.[element]) {\n const r = report.esmRuntimeValidation[element];\n this.log(\n ` - runtime probe: ${r.compatible ? 'ā
' : 'ā'} (${r.cdnBaseUrl}, entry:${r.entryOk ? 'ok' : 'bad'}, controller:${r.controllerOk ? 'ok' : 'bad'})`\n );\n if (!r.compatible && r.errors?.length) {\n this.log(` - ${r.errors[0]}`);\n }\n }\n }\n }\n\n // CommonJS-free but not ESM player ready\n const commonJsFreeNotEsmReady = report.elements.filter(\n (element) => !report.esmPlayerReady.includes(element)\n );\n\n if (commonJsFreeNotEsmReady.length > 0) {\n this.log(\n `\\nā ļø CommonJS-free but not ESM Player Ready (${commonJsFreeNotEsmReady.length}):`\n );\n for (const element of commonJsFreeNotEsmReady.sort()) {\n const validation = report.esmValidation[element];\n this.log(` ⢠${element}`);\n\n if (!validation.packageJson.hasTypeModule) {\n this.log(` ā Missing \"type\": \"module\"`);\n }\n if (!validation.packageJson.hasExportsField) {\n this.log(` ā Missing \"exports\" field`);\n }\n if (!validation.packageJson.hasMainExport) {\n this.log(` ā Missing \".\" export`);\n }\n if (!validation.packageJson.hasControllerExport) {\n this.log(` ā Missing \"./controller\" export`);\n }\n if (!validation.packageJson.mainExportIsEsm) {\n this.log(` ā Main export not ESM (.js)`);\n }\n\n // Show warnings\n for (const warning of validation.warnings) {\n this.log(` ā ļø ${warning}`);\n }\n }\n }\n }\n\n if (Object.keys(report.blockedElements).length > 0) {\n this.log(`\\nā Blocked Elements (${Object.keys(report.blockedElements).length}):`);\n for (const [element, blockers] of Object.entries(report.blockedElements).sort()) {\n this.log(` ⢠${element}:`);\n for (const blocker of blockers) {\n this.log(` - ${blocker}`);\n }\n }\n }\n\n if (report.pieLibPackages.length > 0) {\n this.log(`\\nš Compatible PIE Lib Packages (${report.pieLibPackages.length}):`);\n for (const pkg of report.pieLibPackages.sort()) {\n const usedBy = report.pieLibDetails[pkg]?.usedBy || [];\n this.log(` ⢠${pkg} (used by: ${usedBy.join(', ')})`);\n }\n }\n\n const blockedPieLib = Object.entries(report.pieLibDetails)\n .filter(([_, details]) => !details.compatible)\n .sort();\n\n if (blockedPieLib.length > 0) {\n this.log(`\\nā Blocked PIE Lib Packages (${blockedPieLib.length}):`);\n for (const [pkg, details] of blockedPieLib) {\n this.log(` ⢠${pkg} (needed by: ${details.usedBy.join(', ')}):`);\n for (const blocker of details.blockers) {\n this.log(` - ${blocker}`);\n }\n }\n }\n\n this.printNotReadyActionReport(report);\n\n this.log(`\\n${'='.repeat(70)}`);\n this.log(`\\nš¾ Report saved to: ${outputPath}`);\n this.log('\\nš” Next steps:');\n this.log(' 1. Review the compatibility report above');\n this.log(' 2. Run sync: bun run upstream:sync');\n this.log(' 3. The sync will automatically use the ESM-compatible list\\n');\n } else {\n // Non-verbose: just show where report was saved\n this.log(`\\nš¾ Report saved to: ${outputPath}`);\n }\n }\n\n private printNotReadyActionReport(report: CompatibilityReport): void {\n const allElements = Object.keys(report.elementDetails).sort();\n const blockedElements = allElements.filter((e) => !report.elementDetails[e]?.compatible);\n const commonJsFreeNotEsmReady = report.esmPlayerValidationEnabled\n ? report.elements.filter((e) => !report.esmPlayerReady.includes(e))\n : [];\n const runtimeNotReady =\n report.esmRuntimeValidationEnabled && report.esmRuntimeValidation\n ? Object.entries(report.esmRuntimeValidation)\n .filter(([_, r]) => !r.compatible)\n .map(([e]) => e)\n : [];\n\n const blockedPieLib = Object.entries(report.pieLibDetails)\n .filter(([_, details]) => !details.compatible)\n .sort();\n\n const hasAnyNotReady =\n blockedElements.length > 0 ||\n commonJsFreeNotEsmReady.length > 0 ||\n runtimeNotReady.length > 0 ||\n blockedPieLib.length > 0;\n\n if (!hasAnyNotReady) return;\n\n this.log('\\nš§ Not ESM-ready yet (action items for upstream maintainers)');\n this.log(\n ' Goal: ādeploy package + ESM player can load entry + controller (and transitives)ā\\n'\n );\n\n if (blockedElements.length > 0) {\n this.log(` ā CommonJS blockers (${blockedElements.length}):`);\n this.log(\n ' Fix: remove/upgrade/replace the listed CommonJS-only deps (direct or via @pie-lib/*).'\n );\n for (const element of blockedElements) {\n const blockers =\n report.elementDetails[element]?.blockers ?? report.blockedElements[element] ?? [];\n this.log(`\\n ⢠${element}`);\n for (const blocker of blockers.slice(0, 5)) {\n this.log(` - ${blocker}`);\n }\n if (blockers.length > 5) {\n this.log(` - ā¦and ${blockers.length - 5} more`);\n }\n this.log(' What to do:');\n this.log(\n ' - Upgrade the dependency to a version that provides ESM + proper \"exports\"'\n );\n this.log(\n ' - If no ESM exists, replace the dependency or move it behind build-time code (not runtime)'\n );\n }\n this.log('');\n }\n\n if (report.esmPlayerValidationEnabled && commonJsFreeNotEsmReady.length > 0) {\n this.log(` ā ļø Package metadata / exports issues (${commonJsFreeNotEsmReady.length}):`);\n this.log(\n ' Fix: make package.json ESM-friendly so an ESM loader can resolve `@pie-element/<name>` + `/controller`.\\n'\n );\n\n for (const element of commonJsFreeNotEsmReady.sort()) {\n const validation = report.esmValidation[element];\n if (!validation) continue;\n\n const pj = validation.packageJson;\n this.log(` ⢠${element}`);\n\n const issues: string[] = [];\n const fixes: string[] = [];\n\n if (!pj.hasTypeModule) {\n issues.push('Missing `\"type\": \"module\"`');\n fixes.push(\n 'Add `\"type\": \"module\"` (or use `.mjs` consistently) so Node/bundlers treat output as ESM.'\n );\n }\n if (!pj.hasExportsField) {\n issues.push('Missing `\"exports\"`');\n fixes.push(\n 'Add `\"exports\"` with `\".\"` (entry) and `\"./controller\"` (controller) subpaths pointing at `dist/*`.'\n );\n }\n if (pj.hasExportsField && !pj.hasMainExport) {\n issues.push('Missing `\"exports\".\".\"`');\n fixes.push('Add `\"exports\": { \".\": { \"default\": \"./dist/index.js\" } }` (path may vary).');\n }\n if (!pj.hasControllerExport) {\n issues.push('Missing `\"exports\".\"./controller\"`');\n fixes.push(\n 'Add `\"./controller\": { \"default\": \"./dist/controller/index.js\" }` when a controller exists.'\n );\n }\n if (!pj.mainExportIsEsm) {\n issues.push('Main export does not point at a `.js` ESM build');\n fixes.push(\n 'Ensure the published entry is transpiled ESM JS (no TS, no JSX) and the export points to it.'\n );\n }\n if (pj.hasControllerExport && !pj.controllerExportIsEsm) {\n issues.push('Controller export does not point at a `.js` ESM build');\n fixes.push(\n 'Ensure the published controller is transpiled ESM JS (no TS, no JSX) and the export points to it.'\n );\n }\n\n for (const issue of issues.slice(0, 6)) {\n this.log(` - ${issue}`);\n }\n if (validation.blockers.length > 0) {\n this.log(` - Details: ${validation.blockers[0]}`);\n }\n if (validation.warnings.length > 0) {\n this.log(` - Warning: ${validation.warnings[0]}`);\n }\n this.log(' What to do:');\n for (const fix of fixes.slice(0, 4)) {\n this.log(` - ${fix}`);\n }\n this.log('');\n }\n }\n\n if (\n report.esmRuntimeValidationEnabled &&\n report.esmRuntimeValidation &&\n runtimeNotReady.length > 0\n ) {\n this.log(` ā Runtime probe failures (${runtimeNotReady.length}):`);\n this.log(\n ' Fix: make sure the published JS parses as ESM and all transitives resolve in production-like loading.\\n'\n );\n\n for (const element of runtimeNotReady.sort()) {\n const r = report.esmRuntimeValidation[element];\n if (!r) continue;\n\n this.log(` ⢠${element} (CDN: ${r.cdnBaseUrl}, mode: ${r.probeMode ?? 'shallow'})`);\n if (r.firstFailingUrl) this.log(` - First failing URL: ${r.firstFailingUrl}`);\n const firstErr = r.errors?.[0];\n if (firstErr) this.log(` - Error: ${firstErr}`);\n\n const suggestions = this.suggestionsFromRuntimeError(firstErr);\n if (suggestions.length > 0) {\n this.log(' What to do:');\n for (const s of suggestions) this.log(` - ${s}`);\n }\n this.log('');\n }\n }\n\n if (blockedPieLib.length > 0) {\n this.log(` ā PIE lib packages blocking ESM (${blockedPieLib.length}):`);\n this.log(' Fix: these must become ESM-compatible because elements import them.\\n');\n for (const [pkg, details] of blockedPieLib) {\n this.log(` ⢠@pie-lib/${pkg} (used by: ${details.usedBy.join(', ')})`);\n for (const blocker of details.blockers.slice(0, 5)) {\n this.log(` - ${blocker}`);\n }\n if (details.blockers.length > 5) {\n this.log(` - ā¦and ${details.blockers.length - 5} more`);\n }\n }\n this.log('');\n }\n }\n\n private suggestionsFromRuntimeError(err: string | undefined): string[] {\n if (!err) {\n return [\n 'Confirm the published entry and controller URLs return JavaScript (not HTML/404) and parse as ESM.',\n 'Re-run with --verbose to see the exact failing URL + first error.',\n ];\n }\n\n const e = err.toLowerCase();\n\n if (\n e.includes('jsx syntax extension is not currently enabled') ||\n e.includes('unexpected token <')\n ) {\n return [\n 'Your published output likely contains raw JSX; transpile JSX away during build (do not ship JSX in `.js/.mjs`).',\n 'Verify `dist/` contains plain JS and that `package.json` exports point at those `dist/` files.',\n ];\n }\n\n if (e.includes('missing') && e.includes('specifier') && e.includes('exports')) {\n return [\n 'A dependency is deep-importing a path that is not exposed via `\"exports\"`; upgrade/replace that dependency or avoid that deep import.',\n 'If this is a PIE package, ensure its `\"exports\"` explicitly lists the needed subpaths.',\n ];\n }\n\n if (e.includes('could not resolve') || e.includes('not found') || e.includes('404')) {\n return [\n 'Ensure the entry/controller paths you publish actually exist on the CDN (and match `package.json` exports).',\n 'If the controller exists, publish it as a subpath export (e.g. `./controller`) and ship the referenced `dist/` files.',\n ];\n }\n\n if (\n e.includes('commonjs') ||\n e.includes('require is not defined') ||\n e.includes('module is not defined')\n ) {\n return [\n 'A transitive dependency is CommonJS-only; upgrade/replace it with an ESM-capable version, or ship a pre-bundled ESM build.',\n ];\n }\n\n return [\n 'Inspect the first failing URL and error; fix whichever dependency/output is not valid ESM.',\n 'Re-run with --verbose and (if needed) increase --runtime-max-depth / --runtime-max-modules to reproduce reliably.',\n ];\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../../src/commands/upstream/check.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../../src/commands/upstream/check.ts"],"names":[],"mappings":"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","sourcesContent":["import { Command, Flags } from '@oclif/core';\nimport { existsSync } from 'node:fs';\nimport { readdir } from 'node:fs/promises';\nimport { join } from 'node:path';\nimport { getCurrentCommit, getFileModifiedDate } from '../../utils/git.js';\nimport { Logger } from '../../utils/logger.js';\nimport { DEFAULT_PATHS } from '../../lib/upstream/sync-constants.js';\nimport { formatRepoNotFound } from '../../lib/upstream/repo-utils.js';\n\ninterface CheckConfig {\n pieElements: string;\n pieLib: string;\n pieElementsNg: string;\n elements?: string[];\n verbose: boolean;\n}\n\ninterface FileChange {\n element: string;\n file: string;\n upstreamPath: string;\n localPath: string;\n upstreamModified: Date;\n localModified: Date;\n upstreamSize: number;\n localSize: number;\n}\n\ninterface CheckResult {\n elementsChecked: number;\n filesChecked: number;\n potentialChanges: FileChange[];\n errors: string[];\n warnings: string[];\n}\n\nexport default class Check extends Command {\n static override description = 'Check for changes in upstream pie-elements repository';\n\n static override examples = [\n '<%= config.bin %> <%= command.id %>',\n '<%= config.bin %> <%= command.id %> --verbose',\n '<%= config.bin %> <%= command.id %> --element multiple-choice',\n ];\n\n static override flags = {\n verbose: Flags.boolean({\n char: 'v',\n description: 'Show detailed output',\n default: false,\n }),\n element: Flags.string({\n description: 'Check only specified element',\n }),\n };\n\n private logger!: Logger;\n\n public async run(): Promise<void> {\n const { flags } = await this.parse(Check);\n\n this.logger = new Logger(flags.verbose);\n\n const config: CheckConfig = {\n pieElements: DEFAULT_PATHS.PIE_ELEMENTS,\n pieLib: DEFAULT_PATHS.PIE_LIB,\n pieElementsNg: DEFAULT_PATHS.PIE_ELEMENTS_NG,\n elements: flags.element ? [flags.element] : undefined,\n verbose: flags.verbose,\n };\n\n const result = await this.checkUpstream(config);\n\n // Display results\n this.displayResults(result);\n\n if (result.errors.length > 0) {\n this.error('Check completed with errors');\n }\n }\n\n private async checkUpstream(config: CheckConfig): Promise<CheckResult> {\n const result: CheckResult = {\n elementsChecked: 0,\n filesChecked: 0,\n potentialChanges: [],\n errors: [],\n warnings: [],\n };\n\n this.logger.info('š Checking upstream changes...');\n this.logger.info(` pie-elements: ${config.pieElements}`);\n this.logger.info(` pie-lib: ${config.pieLib}`);\n this.logger.info(` pie-elements-ng: ${config.pieElementsNg}\\n`);\n\n // Verify upstream repos exist\n if (!existsSync(config.pieElements)) {\n result.errors.push(formatRepoNotFound('pie-elements', config.pieElements));\n return result;\n }\n if (!existsSync(config.pieLib)) {\n result.errors.push(formatRepoNotFound('pie-lib', config.pieLib));\n return result;\n }\n\n // Get commit info\n const pieElementsCommit = getCurrentCommit(config.pieElements);\n const pieLibCommit = getCurrentCommit(config.pieLib);\n const pieElementsNgCommit = getCurrentCommit(config.pieElementsNg);\n\n this.logger.info('š Repository Commits:');\n this.logger.info(` pie-elements: ${pieElementsCommit.substring(0, 8)}`);\n this.logger.info(` pie-lib: ${pieLibCommit.substring(0, 8)}`);\n this.logger.info(` pie-elements-ng: ${pieElementsNgCommit.substring(0, 8)}\\n`);\n\n // Check controllers\n await this.checkControllers(config, result);\n\n return result;\n }\n\n private async checkControllers(config: CheckConfig, result: CheckResult): Promise<void> {\n this.logger.info('š¦ Checking controllers...\\n');\n\n const upstreamElementsDir = join(config.pieElements, 'packages');\n const localElementsDir = join(config.pieElementsNg, 'packages/elements-react');\n\n // Get list of elements that exist in both repos\n const upstreamPackages = await readdir(upstreamElementsDir);\n const localPackages = existsSync(localElementsDir) ? await readdir(localElementsDir) : [];\n\n for (const pkg of upstreamPackages) {\n // Skip if filtering by element\n if (config.elements && !config.elements.includes(pkg)) {\n continue;\n }\n\n // Skip if not in local repo\n if (!localPackages.includes(pkg)) {\n this.logger.debug(` Skipping ${pkg} (not in local repo)`);\n continue;\n }\n\n result.elementsChecked++;\n\n // Check controller file\n const upstreamController = join(upstreamElementsDir, pkg, 'controller/src/index.js');\n const localController = join(localElementsDir, pkg, 'src/controller/index.ts');\n\n if (!existsSync(upstreamController)) {\n this.logger.debug(` No controller found for ${pkg}`);\n continue;\n }\n\n if (!existsSync(localController)) {\n result.warnings.push(`Local controller missing for ${pkg}`);\n continue;\n }\n\n result.filesChecked++;\n\n // Compare modification dates\n const upstreamDate = getFileModifiedDate(upstreamController, config.pieElements);\n const localDate = getFileModifiedDate(localController, config.pieElementsNg);\n\n if (upstreamDate > localDate) {\n const stat = await import('node:fs/promises').then((m) => m.stat);\n const upstreamStat = await stat(upstreamController);\n const localStat = await stat(localController);\n\n result.potentialChanges.push({\n element: pkg,\n file: 'controller',\n upstreamPath: upstreamController,\n localPath: localController,\n upstreamModified: upstreamDate,\n localModified: localDate,\n upstreamSize: upstreamStat.size,\n localSize: localStat.size,\n });\n }\n }\n }\n\n private displayResults(result: CheckResult): void {\n this.logger.section('\\nš Check Results');\n\n this.logger.info(` Elements checked: ${result.elementsChecked}`);\n this.logger.info(` Files checked: ${result.filesChecked}`);\n this.logger.info(` Potential changes: ${result.potentialChanges.length}`);\n\n if (result.potentialChanges.length > 0) {\n this.logger.section('\\nā ļø Potential Changes');\n for (const change of result.potentialChanges) {\n this.logger.info(`\\n ${change.element} - ${change.file}`);\n this.logger.info(` Upstream: ${change.upstreamModified.toISOString()}`);\n this.logger.info(` Local: ${change.localModified.toISOString()}`);\n this.logger.info(` Size diff: ${change.upstreamSize - change.localSize} bytes`);\n }\n\n this.logger.section('\\nš” Next Steps');\n this.logger.info(' Review the changes with:');\n for (const change of result.potentialChanges.slice(0, 3)) {\n this.logger.info(\n ` git log --oneline --since=\"${change.localModified.toISOString()}\" -- packages/${change.element}/controller/src/index.js`\n );\n }\n this.logger.info('\\n Then sync with:');\n this.logger.info(` bun run cli upstream:sync --element <element-name>\\n`);\n } else {\n this.logger.success('\\nā
No changes detected - all elements are up to date\\n');\n }\n\n if (result.warnings.length > 0) {\n this.logger.section('\\nā ļø Warnings');\n for (const warning of result.warnings) {\n this.logger.warn(` ${warning}`);\n }\n }\n\n if (result.errors.length > 0) {\n this.logger.section('\\nā Errors');\n for (const error of result.errors) {\n this.logger.error(` ${error}`);\n }\n }\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deps.js","sourceRoot":"","sources":["../../../src/commands/upstream/deps.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"deps.js","sourceRoot":"","sources":["../../../src/commands/upstream/deps.ts"],"names":[],"mappings":"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","sourcesContent":["import { Command, Flags } from '@oclif/core';\nimport { Logger } from '../../utils/logger.js';\nimport { loadPackageJson, type PackageJson } from '../../utils/package-json.js';\nimport { existsSync } from 'node:fs';\n\ninterface DependencyReport {\n library: string;\n pieElements?: string;\n pieLib?: string;\n pieElementsNg?: string;\n status: 'ok' | 'outdated' | 'missing' | 'newer' | 'not-used-upstream';\n recommendation?: string;\n}\n\n// Libraries we care about tracking\nconst TRACKED_DEPS = [\n // Math rendering\n 'mathjax-full',\n 'mathlive',\n\n // Sanitization\n 'dompurify',\n\n // Rich text\n '@tiptap/core',\n '@tiptap/pm',\n '@tiptap/starter-kit',\n '@tiptap/extension-image',\n '@tiptap/extension-link',\n '@tiptap/extension-table',\n '@tiptap/extension-task-list',\n\n // PIE framework\n '@pie-framework/pie-player-events',\n '@pie-framework/pie-configure-events',\n\n // Utilities (note: lodash is replaced with lodash-es during sync)\n 'lodash-es',\n 'uuid',\n];\n\nexport default class Deps extends Command {\n static override description = 'Compare dependencies with upstream and suggest updates';\n\n static override examples = ['<%= config.bin %> <%= command.id %>'];\n\n static override flags = {\n verbose: Flags.boolean({\n char: 'v',\n description: 'Show detailed output',\n default: false,\n }),\n };\n\n private logger = new Logger();\n\n public async run(): Promise<void> {\n const { flags } = await this.parse(Deps);\n\n this.logger = new Logger(flags.verbose);\n\n this.logger.section('š¦ Dependency Check Report');\n\n // Read all package.json files\n const pieElementsPkg = await this.loadPackage('../pie-elements/package.json');\n const pieLibPkg = await this.loadPackage('../pie-lib/package.json');\n const pieElementsNgPkg = await this.loadPackage('./package.json');\n\n if (!pieElementsPkg) {\n this.error('Could not load pie-elements package.json');\n }\n if (!pieLibPkg) {\n this.error('Could not load pie-lib package.json');\n }\n if (!pieElementsNgPkg) {\n this.error('Could not load pie-elements-ng package.json');\n }\n\n const reports: DependencyReport[] = [];\n\n for (const dep of TRACKED_DEPS) {\n const report: DependencyReport = {\n library: dep,\n pieElements: this.getDep(pieElementsPkg, dep),\n pieLib: this.getDep(pieLibPkg, dep),\n pieElementsNg: this.getDep(pieElementsNgPkg, dep),\n status: 'ok',\n };\n\n // Determine status\n const upstreamVersion = report.pieElements || report.pieLib;\n const currentVersion = report.pieElementsNg;\n\n if (!upstreamVersion && !currentVersion) {\n report.status = 'not-used-upstream';\n continue; // Skip reporting\n }\n\n if (!currentVersion && upstreamVersion) {\n report.status = 'missing';\n report.recommendation = `Install ${dep}@${upstreamVersion}`;\n } else if (currentVersion && upstreamVersion && currentVersion !== upstreamVersion) {\n const comparison = this.compareVersions(currentVersion, upstreamVersion);\n if (comparison < 0) {\n report.status = 'outdated';\n report.recommendation = `Update from ${currentVersion} to ${upstreamVersion}`;\n } else if (comparison > 0) {\n report.status = 'newer';\n report.recommendation = `Already on newer version (${currentVersion} > ${upstreamVersion})`;\n } else {\n report.status = 'ok';\n }\n }\n\n reports.push(report);\n }\n\n // Print summary table\n this.log(\n 'āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā¬āāāāāāāāāāāāāāā¬āāāāāāāāāāāāāāā¬āāāāāāāāāāāāāāā¬āāāāāāāāāāā'\n );\n this.log(\n 'ā Library ā pie-elements ā pie-lib ā pie-elem-ng ā Status ā'\n );\n this.log(\n 'āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā¼āāāāāāāāāāāāāāā¼āāāāāāāāāāāāāāā¼āāāāāāāāāāāāāāā¼āāāāāāāāāāā¤'\n );\n\n for (const r of reports) {\n if (r.status === 'not-used-upstream') continue;\n\n const lib = r.library.padEnd(39);\n const pe = (r.pieElements || '-').padEnd(12);\n const pl = (r.pieLib || '-').padEnd(12);\n const peng = (r.pieElementsNg || '-').padEnd(12);\n\n let statusIcon = 'ā
';\n if (r.status === 'outdated') statusIcon = 'ā ļø ';\n else if (r.status === 'missing') statusIcon = 'ā';\n else if (r.status === 'newer') statusIcon = 'š';\n\n this.log(`ā ${lib} ā ${pe} ā ${pl} ā ${peng} ā ${statusIcon} ā`);\n }\n\n this.log(\n 'āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā“āāāāāāāāāāāāāāā“āāāāāāāāāāāāāāā“āāāāāāāāāāāāāāā“āāāāāāāāāāā'\n );\n\n // Print actionable recommendations\n const actionable = reports.filter(\n (r) => r.recommendation && r.status !== 'ok' && r.status !== 'newer'\n );\n\n if (actionable.length > 0) {\n this.logger.section('\\nš§ Recommended Actions');\n for (const r of actionable) {\n this.logger.info(` ${r.recommendation}`);\n }\n this.log('');\n }\n\n const newer = reports.filter((r) => r.status === 'newer');\n if (newer.length > 0) {\n this.logger.info('ā¹ļø Libraries where pie-elements-ng is ahead:\\n');\n for (const r of newer) {\n this.logger.info(\n ` ${r.library}: ${r.pieElementsNg} (upstream: ${r.pieElements || r.pieLib || '-'})`\n );\n }\n this.log('');\n }\n\n const allOk = reports.filter((r) => r.status === 'ok');\n if (actionable.length === 0 && newer.length === 0) {\n this.logger.success('\\nā
All dependencies in sync!');\n } else {\n this.logger.info(\n `\\nš Summary: ${allOk.length} in sync, ${actionable.length} need updates, ${newer.length} ahead\\n`\n );\n }\n }\n\n private async loadPackage(path: string): Promise<PackageJson | null> {\n try {\n if (!existsSync(path)) {\n return null;\n }\n return await loadPackageJson(path);\n } catch (error) {\n this.logger.error(`Error loading ${path}: ${error}`);\n return null;\n }\n }\n\n private getDep(pkg: PackageJson | null, name: string): string | undefined {\n if (!pkg) return undefined;\n return pkg.dependencies?.[name] || pkg.devDependencies?.[name];\n }\n\n private cleanVersion(version: string): string {\n // Remove ^, ~, >=, etc. for comparison\n return version.replace(/^[\\^~>=<]+/, '');\n }\n\n private compareVersions(v1: string, v2: string): number {\n const clean1 = this.cleanVersion(v1);\n const clean2 = this.cleanVersion(v2);\n\n const parts1 = clean1.split('.').map(Number);\n const parts2 = clean2.split('.').map(Number);\n\n for (let i = 0; i < Math.max(parts1.length, parts2.length); i++) {\n const n1 = parts1[i] || 0;\n const n2 = parts2[i] || 0;\n\n if (n1 > n2) return 1;\n if (n1 < n2) return -1;\n }\n\n return 0;\n }\n}\n"]}
|
|
@@ -10,6 +10,7 @@ export default class Sync extends Command {
|
|
|
10
10
|
private logger;
|
|
11
11
|
private touchedElementPackages;
|
|
12
12
|
private touchedPieLibPackages;
|
|
13
|
+
private preSyncProblemIntegrityByImport;
|
|
13
14
|
run(): Promise<void>;
|
|
14
15
|
private syncUpstream;
|
|
15
16
|
private applyEsmFilter;
|
|
@@ -18,8 +19,16 @@ export default class Sync extends Command {
|
|
|
18
19
|
private expandPieLibDeps;
|
|
19
20
|
private cleanTargetDirectories;
|
|
20
21
|
private checkViteAvailable;
|
|
22
|
+
private verifyTouchedPackageDependencyIntegrity;
|
|
23
|
+
private captureCurrentProblemIntegrityBaseline;
|
|
24
|
+
private integrityIssueKey;
|
|
25
|
+
private autoFixTouchedPackageDependencyDeclarations;
|
|
26
|
+
private getTouchedPackageDirs;
|
|
27
|
+
private buildDependencyVersionCatalog;
|
|
28
|
+
private resolveDependencyVersion;
|
|
29
|
+
private applyPostSyncBuildStabilizers;
|
|
30
|
+
private applyNodeEsmSpecifierRewrites;
|
|
31
|
+
private collectTypeScriptSourceFiles;
|
|
21
32
|
private rewriteWorkspaceDependencies;
|
|
22
|
-
private addDevelopmentExportsToPackages;
|
|
23
33
|
private buildTouchedPackages;
|
|
24
34
|
}
|
|
25
|
-
//# sourceMappingURL=sync.d.ts.map
|