@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.
Files changed (281) hide show
  1. package/README.md +48 -10
  2. package/dist/commands/dev/demo/index.d.ts +1 -1
  3. package/dist/commands/dev/demo/index.js +21 -0
  4. package/dist/commands/dev/demo/index.js.map +1 -1
  5. package/dist/commands/dev/test-bundler.d.ts +0 -1
  6. package/dist/commands/dev/test-bundler.js +2 -10
  7. package/dist/commands/dev/test-bundler.js.map +1 -1
  8. package/dist/commands/docs/generate.d.ts +16 -0
  9. package/dist/commands/docs/generate.js +150 -0
  10. package/dist/commands/docs/generate.js.map +1 -0
  11. package/dist/commands/docs/verify.d.ts +12 -0
  12. package/dist/commands/docs/verify.js +40 -0
  13. package/dist/commands/docs/verify.js.map +1 -0
  14. package/dist/commands/packages/create-controllers.d.ts +0 -1
  15. package/dist/commands/packages/create-controllers.js.map +1 -1
  16. package/dist/commands/packages/create-lib-react.d.ts +0 -1
  17. package/dist/commands/packages/create-lib-react.js +1 -3
  18. package/dist/commands/packages/create-lib-react.js.map +1 -1
  19. package/dist/commands/packages/create-react-elements.d.ts +0 -1
  20. package/dist/commands/packages/create-react-elements.js +2 -3
  21. package/dist/commands/packages/create-react-elements.js.map +1 -1
  22. package/dist/commands/packages/enable-publishing.d.ts +0 -1
  23. package/dist/commands/packages/enable-publishing.js +26 -23
  24. package/dist/commands/packages/enable-publishing.js.map +1 -1
  25. package/dist/commands/packages/init-synced-elements.d.ts +0 -1
  26. package/dist/commands/packages/init-synced-elements.js +1 -1
  27. package/dist/commands/packages/init-synced-elements.js.map +1 -1
  28. package/dist/commands/upstream/analyze-esm.d.ts +0 -1
  29. package/dist/commands/upstream/analyze-esm.js +5 -1
  30. package/dist/commands/upstream/analyze-esm.js.map +1 -1
  31. package/dist/commands/upstream/check.d.ts +0 -1
  32. package/dist/commands/upstream/check.js.map +1 -1
  33. package/dist/commands/upstream/deps.d.ts +0 -1
  34. package/dist/commands/upstream/deps.js.map +1 -1
  35. package/dist/commands/upstream/sync.d.ts +11 -2
  36. package/dist/commands/upstream/sync.js +364 -25
  37. package/dist/commands/upstream/sync.js.map +1 -1
  38. package/dist/commands/upstream/track.d.ts +0 -1
  39. package/dist/commands/upstream/track.js.map +1 -1
  40. package/dist/commands/upstream/update.d.ts +0 -1
  41. package/dist/commands/upstream/update.js +37 -7
  42. package/dist/commands/upstream/update.js.map +1 -1
  43. package/dist/commands/verify/controllers.d.ts +0 -1
  44. package/dist/commands/verify/controllers.js +213 -59
  45. package/dist/commands/verify/controllers.js.map +1 -1
  46. package/dist/commands/verify/dependency-integrity.d.ts +18 -0
  47. package/dist/commands/verify/dependency-integrity.js +147 -0
  48. package/dist/commands/verify/dependency-integrity.js.map +1 -0
  49. package/dist/commands/verify/react-build.d.ts +0 -1
  50. package/dist/commands/verify/react-build.js.map +1 -1
  51. package/dist/index.d.ts +0 -1
  52. package/dist/index.js.map +1 -1
  53. package/dist/lib/docs/contract-validator.d.ts +12 -0
  54. package/dist/lib/docs/contract-validator.js +38 -0
  55. package/dist/lib/docs/contract-validator.js.map +1 -0
  56. package/dist/lib/docs/contracts.d.ts +11 -0
  57. package/dist/lib/docs/contracts.js +241 -0
  58. package/dist/lib/docs/contracts.js.map +1 -0
  59. package/dist/lib/docs/discovery.d.ts +10 -0
  60. package/dist/lib/docs/discovery.js +91 -0
  61. package/dist/lib/docs/discovery.js.map +1 -0
  62. package/dist/lib/docs/generator.d.ts +14 -0
  63. package/dist/lib/docs/generator.js +450 -0
  64. package/dist/lib/docs/generator.js.map +1 -0
  65. package/dist/lib/docs/source-extractor.d.ts +2 -0
  66. package/dist/lib/docs/source-extractor.js +209 -0
  67. package/dist/lib/docs/source-extractor.js.map +1 -0
  68. package/dist/lib/docs/types.d.ts +77 -0
  69. package/dist/lib/docs/types.js +2 -0
  70. package/dist/lib/docs/types.js.map +1 -0
  71. package/dist/lib/upstream/repo-utils.d.ts +0 -1
  72. package/dist/lib/upstream/repo-utils.js.map +1 -1
  73. package/dist/lib/upstream/sync-compatibility.d.ts +0 -1
  74. package/dist/lib/upstream/sync-compatibility.js.map +1 -1
  75. package/dist/lib/upstream/sync-constants.d.ts +35 -7
  76. package/dist/lib/upstream/sync-constants.js +40 -11
  77. package/dist/lib/upstream/sync-constants.js.map +1 -1
  78. package/dist/lib/upstream/sync-controllers-strategy.d.ts +0 -1
  79. package/dist/lib/upstream/sync-controllers-strategy.js +14 -4
  80. package/dist/lib/upstream/sync-controllers-strategy.js.map +1 -1
  81. package/dist/lib/upstream/sync-demo-metadata.d.ts +0 -1
  82. package/dist/lib/upstream/sync-demo-metadata.js +1 -1
  83. package/dist/lib/upstream/sync-demo-metadata.js.map +1 -1
  84. package/dist/lib/upstream/sync-entry-discovery.d.ts +3 -0
  85. package/dist/lib/upstream/sync-entry-discovery.js +23 -0
  86. package/dist/lib/upstream/sync-entry-discovery.js.map +1 -0
  87. package/dist/lib/upstream/sync-externals.d.ts +7 -7
  88. package/dist/lib/upstream/sync-externals.js +51 -35
  89. package/dist/lib/upstream/sync-externals.js.map +1 -1
  90. package/dist/lib/upstream/sync-filesystem.d.ts +0 -1
  91. package/dist/lib/upstream/sync-filesystem.js.map +1 -1
  92. package/dist/lib/upstream/sync-imports.d.ts +82 -62
  93. package/dist/lib/upstream/sync-imports.js +658 -185
  94. package/dist/lib/upstream/sync-imports.js.map +1 -1
  95. package/dist/lib/upstream/sync-package-json.d.ts +0 -1
  96. package/dist/lib/upstream/sync-package-json.js +7 -0
  97. package/dist/lib/upstream/sync-package-json.js.map +1 -1
  98. package/dist/lib/upstream/sync-package-manager.d.ts +14 -4
  99. package/dist/lib/upstream/sync-package-manager.js +408 -72
  100. package/dist/lib/upstream/sync-package-manager.js.map +1 -1
  101. package/dist/lib/upstream/sync-pielib-strategy.d.ts +2 -1
  102. package/dist/lib/upstream/sync-pielib-strategy.js +228 -110
  103. package/dist/lib/upstream/sync-pielib-strategy.js.map +1 -1
  104. package/dist/lib/upstream/sync-presets.d.ts +53 -0
  105. package/dist/lib/upstream/sync-presets.js +203 -0
  106. package/dist/lib/upstream/sync-presets.js.map +1 -0
  107. package/dist/lib/upstream/sync-react-strategy.d.ts +6 -1
  108. package/dist/lib/upstream/sync-react-strategy.js +342 -134
  109. package/dist/lib/upstream/sync-react-strategy.js.map +1 -1
  110. package/dist/lib/upstream/sync-source-edit.d.ts +14 -0
  111. package/dist/lib/upstream/sync-source-edit.js +89 -0
  112. package/dist/lib/upstream/sync-source-edit.js.map +1 -0
  113. package/dist/lib/upstream/sync-source-tree.d.ts +22 -0
  114. package/dist/lib/upstream/sync-source-tree.js +99 -0
  115. package/dist/lib/upstream/sync-source-tree.js.map +1 -0
  116. package/dist/lib/upstream/sync-strategy.d.ts +1 -1
  117. package/dist/lib/upstream/sync-strategy.js.map +1 -1
  118. package/dist/lib/upstream/sync-summary.d.ts +0 -1
  119. package/dist/lib/upstream/sync-summary.js.map +1 -1
  120. package/dist/lib/upstream/sync-transforms.d.ts +13 -11
  121. package/dist/lib/upstream/sync-transforms.js +23 -17
  122. package/dist/lib/upstream/sync-transforms.js.map +1 -1
  123. package/dist/lib/upstream/sync-vite-config.d.ts +13 -1
  124. package/dist/lib/upstream/sync-vite-config.js +65 -46
  125. package/dist/lib/upstream/sync-vite-config.js.map +1 -1
  126. package/dist/utils/compatibility.d.ts +13 -1
  127. package/dist/utils/compatibility.js +143 -2
  128. package/dist/utils/compatibility.js.map +1 -1
  129. package/dist/utils/conversion.d.ts +0 -1
  130. package/dist/utils/conversion.js.map +1 -1
  131. package/dist/utils/dependency-integrity.d.ts +37 -0
  132. package/dist/utils/dependency-integrity.js +557 -0
  133. package/dist/utils/dependency-integrity.js.map +1 -0
  134. package/dist/utils/git.d.ts +0 -1
  135. package/dist/utils/git.js.map +1 -1
  136. package/dist/utils/logger.d.ts +0 -1
  137. package/dist/utils/logger.js.map +1 -1
  138. package/dist/utils/package-json.d.ts +0 -1
  139. package/dist/utils/package-json.js.map +1 -1
  140. package/package.json +24 -12
  141. package/.compatibility/report.json +0 -2491
  142. package/.turbo/turbo-build.log +0 -1
  143. package/CHANGELOG.md +0 -8
  144. package/REFACTORING.md +0 -131
  145. package/bin/dev.js +0 -5
  146. package/dist/commands/dev/demo/index.d.ts.map +0 -1
  147. package/dist/commands/dev/test-bundler.d.ts.map +0 -1
  148. package/dist/commands/mathquill/migrate.d.ts +0 -20
  149. package/dist/commands/mathquill/migrate.d.ts.map +0 -1
  150. package/dist/commands/mathquill/migrate.js +0 -240
  151. package/dist/commands/mathquill/migrate.js.map +0 -1
  152. package/dist/commands/mathquill/status.d.ts +0 -20
  153. package/dist/commands/mathquill/status.d.ts.map +0 -1
  154. package/dist/commands/mathquill/status.js +0 -231
  155. package/dist/commands/mathquill/status.js.map +0 -1
  156. package/dist/commands/packages/create-controllers.d.ts.map +0 -1
  157. package/dist/commands/packages/create-lib-react.d.ts.map +0 -1
  158. package/dist/commands/packages/create-react-elements.d.ts.map +0 -1
  159. package/dist/commands/packages/enable-publishing.d.ts.map +0 -1
  160. package/dist/commands/packages/init-synced-elements.d.ts.map +0 -1
  161. package/dist/commands/upstream/analyze-esm.d.ts.map +0 -1
  162. package/dist/commands/upstream/check.d.ts.map +0 -1
  163. package/dist/commands/upstream/deps.d.ts.map +0 -1
  164. package/dist/commands/upstream/sync-mathquill.d.ts +0 -12
  165. package/dist/commands/upstream/sync-mathquill.d.ts.map +0 -1
  166. package/dist/commands/upstream/sync-mathquill.js +0 -97
  167. package/dist/commands/upstream/sync-mathquill.js.map +0 -1
  168. package/dist/commands/upstream/sync.d.ts.map +0 -1
  169. package/dist/commands/upstream/track.d.ts.map +0 -1
  170. package/dist/commands/upstream/update.d.ts.map +0 -1
  171. package/dist/commands/verify/controllers.d.ts.map +0 -1
  172. package/dist/commands/verify/react-build.d.ts.map +0 -1
  173. package/dist/index.d.ts.map +0 -1
  174. package/dist/lib/mathquill/extension-generator.d.ts +0 -9
  175. package/dist/lib/mathquill/extension-generator.d.ts.map +0 -1
  176. package/dist/lib/mathquill/extension-generator.js +0 -107
  177. package/dist/lib/mathquill/extension-generator.js.map +0 -1
  178. package/dist/lib/mathquill/khan-extractor.d.ts +0 -16
  179. package/dist/lib/mathquill/khan-extractor.d.ts.map +0 -1
  180. package/dist/lib/mathquill/khan-extractor.js +0 -148
  181. package/dist/lib/mathquill/khan-extractor.js.map +0 -1
  182. package/dist/lib/mathquill/learnosity-extractor.d.ts +0 -15
  183. package/dist/lib/mathquill/learnosity-extractor.d.ts.map +0 -1
  184. package/dist/lib/mathquill/learnosity-extractor.js +0 -170
  185. package/dist/lib/mathquill/learnosity-extractor.js.map +0 -1
  186. package/dist/lib/mathquill/migration-orchestrator.d.ts +0 -77
  187. package/dist/lib/mathquill/migration-orchestrator.d.ts.map +0 -1
  188. package/dist/lib/mathquill/migration-orchestrator.js +0 -391
  189. package/dist/lib/mathquill/migration-orchestrator.js.map +0 -1
  190. package/dist/lib/mathquill/package-updater.d.ts +0 -9
  191. package/dist/lib/mathquill/package-updater.d.ts.map +0 -1
  192. package/dist/lib/mathquill/package-updater.js +0 -103
  193. package/dist/lib/mathquill/package-updater.js.map +0 -1
  194. package/dist/lib/mathquill/pie-extractor.d.ts +0 -14
  195. package/dist/lib/mathquill/pie-extractor.d.ts.map +0 -1
  196. package/dist/lib/mathquill/pie-extractor.js +0 -167
  197. package/dist/lib/mathquill/pie-extractor.js.map +0 -1
  198. package/dist/lib/upstream/repo-utils.d.ts.map +0 -1
  199. package/dist/lib/upstream/sync-compatibility.d.ts.map +0 -1
  200. package/dist/lib/upstream/sync-constants.d.ts.map +0 -1
  201. package/dist/lib/upstream/sync-controllers-strategy.d.ts.map +0 -1
  202. package/dist/lib/upstream/sync-demo-metadata.d.ts.map +0 -1
  203. package/dist/lib/upstream/sync-dev-exports.d.ts +0 -13
  204. package/dist/lib/upstream/sync-dev-exports.d.ts.map +0 -1
  205. package/dist/lib/upstream/sync-dev-exports.js +0 -115
  206. package/dist/lib/upstream/sync-dev-exports.js.map +0 -1
  207. package/dist/lib/upstream/sync-externals.d.ts.map +0 -1
  208. package/dist/lib/upstream/sync-filesystem.d.ts.map +0 -1
  209. package/dist/lib/upstream/sync-imports.d.ts.map +0 -1
  210. package/dist/lib/upstream/sync-mathquill.d.ts +0 -19
  211. package/dist/lib/upstream/sync-mathquill.d.ts.map +0 -1
  212. package/dist/lib/upstream/sync-mathquill.js +0 -160
  213. package/dist/lib/upstream/sync-mathquill.js.map +0 -1
  214. package/dist/lib/upstream/sync-package-json.d.ts.map +0 -1
  215. package/dist/lib/upstream/sync-package-manager.d.ts.map +0 -1
  216. package/dist/lib/upstream/sync-pielib-strategy.d.ts.map +0 -1
  217. package/dist/lib/upstream/sync-react-strategy.d.ts.map +0 -1
  218. package/dist/lib/upstream/sync-strategy.d.ts.map +0 -1
  219. package/dist/lib/upstream/sync-summary.d.ts.map +0 -1
  220. package/dist/lib/upstream/sync-transforms.d.ts.map +0 -1
  221. package/dist/lib/upstream/sync-vite-config.d.ts.map +0 -1
  222. package/dist/utils/compatibility.d.ts.map +0 -1
  223. package/dist/utils/conversion.d.ts.map +0 -1
  224. package/dist/utils/git.d.ts.map +0 -1
  225. package/dist/utils/logger.d.ts.map +0 -1
  226. package/dist/utils/package-json.d.ts.map +0 -1
  227. package/packages/cli/bin/dev.js +0 -5
  228. package/packages/cli/bin/run.js +0 -5
  229. package/src/commands/dev/demo/index.ts +0 -313
  230. package/src/commands/dev/test-bundler.ts +0 -345
  231. package/src/commands/mathquill/migrate.ts +0 -269
  232. package/src/commands/mathquill/status.ts +0 -267
  233. package/src/commands/packages/create-controllers.ts +0 -127
  234. package/src/commands/packages/create-lib-react.ts +0 -279
  235. package/src/commands/packages/create-react-elements.ts +0 -306
  236. package/src/commands/packages/enable-publishing.ts +0 -161
  237. package/src/commands/packages/init-synced-elements.ts +0 -259
  238. package/src/commands/upstream/README.md +0 -444
  239. package/src/commands/upstream/analyze-esm.ts +0 -1973
  240. package/src/commands/upstream/check.ts +0 -228
  241. package/src/commands/upstream/deps.ts +0 -222
  242. package/src/commands/upstream/sync-mathquill.ts +0 -108
  243. package/src/commands/upstream/sync.ts +0 -687
  244. package/src/commands/upstream/track.ts +0 -145
  245. package/src/commands/upstream/update.ts +0 -110
  246. package/src/commands/verify/controllers.ts +0 -166
  247. package/src/commands/verify/react-build.ts +0 -171
  248. package/src/index.ts +0 -1
  249. package/src/lib/mathquill/extension-generator.ts +0 -111
  250. package/src/lib/mathquill/khan-extractor.ts +0 -175
  251. package/src/lib/mathquill/learnosity-extractor.ts +0 -198
  252. package/src/lib/mathquill/migration-orchestrator.ts +0 -513
  253. package/src/lib/mathquill/package-updater.ts +0 -120
  254. package/src/lib/mathquill/pie-extractor.ts +0 -194
  255. package/src/lib/upstream/repo-utils.ts +0 -18
  256. package/src/lib/upstream/sync-compatibility.ts +0 -89
  257. package/src/lib/upstream/sync-constants.ts +0 -77
  258. package/src/lib/upstream/sync-controllers-strategy.ts +0 -291
  259. package/src/lib/upstream/sync-demo-metadata.ts +0 -199
  260. package/src/lib/upstream/sync-dev-exports.ts +0 -151
  261. package/src/lib/upstream/sync-externals.ts +0 -159
  262. package/src/lib/upstream/sync-filesystem.ts +0 -87
  263. package/src/lib/upstream/sync-imports.ts +0 -992
  264. package/src/lib/upstream/sync-mathquill.ts +0 -194
  265. package/src/lib/upstream/sync-package-json.ts +0 -86
  266. package/src/lib/upstream/sync-package-manager.ts +0 -694
  267. package/src/lib/upstream/sync-pielib-strategy.ts +0 -441
  268. package/src/lib/upstream/sync-react-strategy.ts +0 -945
  269. package/src/lib/upstream/sync-strategy.ts +0 -61
  270. package/src/lib/upstream/sync-summary.ts +0 -194
  271. package/src/lib/upstream/sync-transforms.ts +0 -154
  272. package/src/lib/upstream/sync-vite-config.ts +0 -243
  273. package/src/types/es-module-lexer.d.ts +0 -4
  274. package/src/utils/compatibility.ts +0 -182
  275. package/src/utils/conversion.ts +0 -153
  276. package/src/utils/git.ts +0 -63
  277. package/src/utils/logger.ts +0 -69
  278. package/src/utils/package-json.ts +0 -43
  279. package/tests/sync-package-manager.test.ts +0 -112
  280. package/tests/transform-assign-props.test.ts +0 -101
  281. 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/data/sample-configs/react');
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":"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"}
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, @pie-element) - External for separate resolution
13
- * 3. Utility libraries (prop-types, classnames, debug) - External to reduce duplication across packages
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. Lodash variants (lodash/lodash-es) - External for runtime resolution via import maps
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, variant: 'element' | 'pielib'): boolean;
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(variant: 'element' | 'pielib'): string;
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, @pie-element) - External for separate resolution
13
- * 3. Utility libraries (prop-types, classnames, debug) - External to reduce duplication across packages
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. Lodash variants (lodash/lodash-es) - External for runtime resolution via import maps
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, variant) {
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(variant) {
95
- const lodashCheck = variant === 'element'
96
- ? `id === 'lodash' ||
97
- /^lodash\\//.test(id) ||`
98
- : `id === 'lodash-es' ||
99
- /^lodash-es\\//.test(id) ||`;
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
- ['prop-types', 'classnames', 'debug', 'i18next', 'humps', 'mathjs', 'react-jss', 'js-combinatorics', '@mapbox/point-geometry', 'react-transition-group', 'nested-property', 'pluralize', 'decimal.js'].includes(id)
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', 'classnames', 'debug', 'i18next', 'humps', 'mathjs', 'react-jss', 'js-combinatorics', '@mapbox/point-geometry', 'react-transition-group', 'nested-property', 'pluralize', 'decimal.js'].includes(id)) return true;
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":"AAAA;;;;;GAKG;AAEH;;;;;;;;;GASG;AACH,MAAM,UAAU,UAAU,CAAC,EAAU,EAAE,QAA8B;IACnE,4DAA4D;IAC5D,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC;IACzC,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC;IAE7C,+CAA+C;IAC/C,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC;IACxC,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5C,IAAI,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC;IAE9C,8DAA8D;IAC9D,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC;IAExC,6CAA6C;IAC7C,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC;IAEjC,0DAA0D;IAC1D,IAAI,EAAE,KAAK,UAAU,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC;IAE7D,sCAAsC;IACtC,IAAI,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC;IAEhD,2DAA2D;IAC3D,IAAI,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC;IAE/C,sEAAsE;IACtE,IAAI,EAAE,KAAK,OAAO,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3D,IAAI,EAAE,KAAK,aAAa,IAAI,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC;QAAE,OAAO,IAAI,CAAC;IAEvE,+DAA+D;IAC/D,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC;IAExC,8EAA8E;IAC9E,wEAAwE;IACxE,2EAA2E;IAC3E,8EAA8E;IAC9E,6EAA6E;IAC7E,6EAA6E;IAC7E,wCAAwC;IACxC,EAAE;IACF,mGAAmG;IACnG,oFAAoF;IACpF,oFAAoF;IACpF,oFAAoF;IACpF,EAAE;IACF,6EAA6E;IAC7E,4EAA4E;IAC5E,mEAAmE;IACnE,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7C,IAAI,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/C,IAAI,gCAAgC,CAAC,IAAI,CAAC,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC;IAE3D,iEAAiE;IACjE,IAAI,EAAE,KAAK,YAAY,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC;IAClE,IAAI,EAAE,KAAK,SAAS,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC;IAE5D,oDAAoD;IACpD,MAAM,eAAe,GAAG;QACtB,YAAY,EAAE,wBAAwB;QACtC,OAAO,EAAE,gBAAgB;QACzB,SAAS,EAAE,uBAAuB;QAClC,OAAO,EAAE,yBAAyB;QAClC,QAAQ,EAAE,6BAA6B;QACvC,WAAW,EAAE,wBAAwB;QACrC,kBAAkB,EAAE,wBAAwB;QAC5C,wBAAwB,EAAE,4BAA4B;QACtD,eAAe,EAAE,gBAAgB;QACjC,wBAAwB,EAAE,aAAa;QACvC,iBAAiB,EAAE,8CAA8C;QACjE,WAAW,EAAE,0CAA0C;QACvD,YAAY,EAAE,oCAAoC;KACnD,CAAC;IAEF,OAAO,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AACtC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CACpC,QAA8B,EAC9B,UAA2C,EAAE;IAE7C,MAAM,eAAe,GAAG;QACtB,YAAY;QACZ,OAAO;QACP,SAAS;QACT,OAAO;QACP,GAAG,CAAC,OAAO,CAAC,iBAAiB,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC1D,WAAW;QACX,kBAAkB;QAClB,wBAAwB;QACxB,wBAAwB;QACxB,iBAAiB;QACjB,WAAW;QACX,YAAY;KACb,CAAC;IAEF,OAAO;;;;;;;;;;;;;;;;;;;;;YAqBG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;;QAEtD,CAAC;AACT,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,2BAA2B;IACzC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA6BD,CAAC;AACT,CAAC","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"]}
@@ -18,4 +18,3 @@ export declare function existsAny(paths: string[]): boolean;
18
18
  * Safe wrapper around readdir that sorts results
19
19
  */
20
20
  export declare function readdir(path: string): Promise<string[]>;
21
- //# sourceMappingURL=sync-filesystem.d.ts.map
@@ -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 imports to lodash-es for ESM compatibility
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
- * Handles all lodash import patterns:
49
- * - Individual module imports: import isEmpty from 'lodash/isEmpty'
50
- * - Named imports: import { isEmpty, isEqual } from 'lodash'
51
- * - Default import: import _ from 'lodash'
52
- * - Namespace import: import * as _ from 'lodash'
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
- * Converts them to use lodash-es which is a pure ESM package.
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 transformLodashToLodashEs(content: string): string;
76
+ export declare function transformReactInputAutosizeToLocal(content: string, sourcePath?: string): string;
57
77
  /**
58
- * Transform package.json dependencies from lodash to lodash-es
78
+ * Replace config-ui's tiny mathjs usage with a local fraction-to-number helper.
59
79
  *
60
- * Replaces lodash with lodash-es version 4.17.22 (latest ESM version)
61
- * Also removes @types/lodash as lodash-es includes built-in TypeScript types
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
- * Transform @pie-framework/mathquill imports to internal @pie-element/shared-mathquill
151
+ * Rewrite legacy configure subpath imports to author entrypoints.
100
152
  *
101
- * Handles:
102
- * - @pie-framework/mathquill → @pie-element/shared-mathquill
153
+ * Upstream sometimes imports configure elements via:
154
+ * - @pie-element/<element-name>/configure/lib
103
155
  *
104
- * Our internal mathquill package is a fork from the PIE org with matrix support,
105
- * accessibility features, and modernized ESM code.
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 transformMathquillImports(content: string): string;
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-unsafe require() calls to standard ESM imports
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
- * ```tsx
185
- * import EditableHtmlImport from '@pie-lib/editable-html-tip-tap';
186
- *
187
- * const EditableHtml = EditableHtmlImport;
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 transformSsrRequireToReactLazy(content: string): string;
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 MathQuill.getInterface(2) to getInterface(3)
295
+ * Transform React component imports that may resolve as module objects in IIFE builds.
276
296
  *
277
- * Interface version 2 requires jQuery, but pie-elements-ng uses interface version 3
278
- * which has a jQuery-free API. This transform updates calls to use version 3.
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
- * @param content - Source code content
281
- * @returns Transformed content with getInterface(3) instead of getInterface(2)
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 transformMathQuillInterface(content: string): string;
284
- //# sourceMappingURL=sync-imports.d.ts.map
304
+ export declare function transformReactInteropComponentImports(content: string): string;