@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
@@ -1 +1 @@
1
- {"version":3,"file":"sync-pielib-strategy.js","sourceRoot":"","sources":["../../../src/lib/upstream/sync-pielib-strategy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync-pielib-strategy.js","sourceRoot":"","sources":["../../../src/lib/upstream/sync-pielib-strategy.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Pie-lib sync strategy - syncs @pie-lib packages from upstream pie-lib\n *\n * Synced from: pie-lib/packages/{package}/src/\n * Target: packages/lib-react/{package}/src/\n */\n\nimport { existsSync } from 'node:fs';\nimport { mkdir, readFile, writeFile } from 'node:fs/promises';\nimport { join } from 'node:path';\nimport { getCurrentCommit } from '../../utils/git.js';\nimport type { SyncStrategy, SyncContext, SyncConfig, SyncResult } from './sync-strategy.js';\nimport { cleanDirectory, readdir } from './sync-filesystem.js';\nimport { generatePieLibViteConfig } from './sync-vite-config.js';\nimport { createPieLibTransformPipeline } from './sync-transforms.js';\nimport { ensurePieLibPackageJson } from './sync-package-manager.js';\nimport { EXCLUDED_UPSTREAM_PIE_LIB_PACKAGES } from './sync-constants.js';\nimport { syncSourceTree } from './sync-source-tree.js';\nimport {\n getPieLibSourcePreserveList,\n getPieLibSyncMode,\n PIE_LIB_COMPATIBILITY_APPEND_PATCHES,\n shouldGenerateConfigUiFractionHelper,\n shouldGenerateAutosizeInputComponent,\n} from './sync-presets.js';\n\ninterface InternalSyncResult {\n filesChecked: number;\n filesCopied: number;\n filesSkipped: number;\n filesUpdated: number;\n}\n\nexport class PieLibStrategy implements SyncStrategy {\n private touchedPieLibPackages = new Set<string>();\n private result: InternalSyncResult = {\n filesChecked: 0,\n filesCopied: 0,\n filesSkipped: 0,\n filesUpdated: 0,\n };\n\n getName(): string {\n return 'pie-lib';\n }\n\n getDescription(): string {\n return '@pie-lib packages';\n }\n\n shouldRun(config: SyncConfig): boolean {\n return config.syncPieLib;\n }\n\n async execute(context: SyncContext): Promise<SyncResult> {\n const { config, logger } = context;\n this.touchedPieLibPackages.clear();\n this.result = {\n filesChecked: 0,\n filesCopied: 0,\n filesSkipped: 0,\n filesUpdated: 0,\n };\n\n if (!logger.isVerbose()) {\n logger.progressStart('Syncing @pie-lib packages...');\n } else {\n logger.section('📚 Syncing @pie-lib packages');\n }\n\n const upstreamLibDir = join(config.pieLib, 'packages');\n const targetBaseDir = join(config.pieElementsNg, 'packages/lib-react');\n\n // Verify pie-lib exists\n if (!existsSync(upstreamLibDir)) {\n logger.error(`pie-lib packages not found at ${upstreamLibDir}`);\n return { count: 0, packageNames: [] };\n }\n\n const upstreamCommit = getCurrentCommit(config.pieLib);\n\n // Get list of packages to sync\n const allPackages = await readdir(upstreamLibDir);\n let packagesToSync: string[];\n\n if (logger.isVerbose()) {\n logger.info(` Compat report present: ${!!context.compatibilityReport}`);\n logger.info(\n ` Compat pieLibPackages: ${context.compatibilityReport?.pieLibPackages?.length || 0}`\n );\n }\n\n // Use the filtered list from config if available (computed from element dependencies)\n // This ensures we only sync the pie-lib packages actually needed by the elements being synced\n if (config.pieLibPackages && config.pieLibPackages.length > 0) {\n packagesToSync = config.pieLibPackages;\n if (logger.isVerbose()) {\n logger.info(` Using filtered pie-lib list: ${packagesToSync.length} packages`);\n logger.info(` Packages: ${packagesToSync.join(', ')}`);\n }\n } else if (context.compatibilityReport?.pieLibPackages?.length) {\n // Fallback to compatibility report list (used when no filtering is needed)\n packagesToSync = context.compatibilityReport.pieLibPackages;\n if (logger.isVerbose()) {\n logger.info(` Using ESM compatibility report list: ${packagesToSync.length} packages`);\n logger.info(` Packages: ${packagesToSync.join(', ')}`);\n }\n } else {\n // Final fallback: sync all packages\n packagesToSync = allPackages;\n if (logger.isVerbose()) {\n logger.info(` Using all packages fallback: ${allPackages.length} packages`);\n }\n }\n\n for (const pkg of packagesToSync) {\n if (\n EXCLUDED_UPSTREAM_PIE_LIB_PACKAGES.includes(\n pkg as (typeof EXCLUDED_UPSTREAM_PIE_LIB_PACKAGES)[number]\n )\n ) {\n if (logger.isVerbose()) {\n logger.info(` ⏭️ ${pkg}: skipping (locally owned package)`);\n }\n continue;\n }\n\n // Skip if package doesn't exist\n const pkgSrcDir = join(upstreamLibDir, pkg, 'src');\n if (!existsSync(pkgSrcDir)) {\n continue;\n }\n\n // Target: packages/lib-react/{package}/src/\n const targetDir = join(targetBaseDir, pkg);\n const targetSrcDir = join(targetDir, 'src');\n\n // Clean target src subtree first so removed upstream files don't linger\n await this.cleanTargetDir(targetSrcDir, pkg, `lib-react/${pkg}/src`, logger, config.dryRun);\n\n // Package sync mode is preset-driven (full sync vs wrapper generation).\n let filesProcessed: number;\n let libChanged: boolean;\n\n if (getPieLibSyncMode(pkg) === 'wrapper') {\n filesProcessed = await this.generateMathRenderingWrapper(targetSrcDir, logger);\n libChanged = filesProcessed > 0;\n } else {\n // Recursively sync all files from src/ directory\n const beforeChanges = this.result.filesCopied + this.result.filesUpdated;\n filesProcessed = await this.syncDirectory(\n pkgSrcDir,\n targetSrcDir,\n 'src',\n pkg,\n upstreamCommit\n );\n const afterChanges = this.result.filesCopied + this.result.filesUpdated;\n libChanged = afterChanges > beforeChanges;\n }\n\n if (filesProcessed > 0 && logger.isVerbose()) {\n logger.success(` ✨ ${pkg}: ${filesProcessed} file(s) synced`);\n }\n\n // Keep local compatibility exports that upstream plot package currently misses.\n const wroteCompatibilityPatch = await this.ensurePlotTypesCompatibilityPatch(\n pkg,\n targetSrcDir\n );\n const wroteAutosizeInput = await this.ensureAutosizeInputComponent(pkg, targetSrcDir);\n const wroteConfigUiFractionHelper = await this.ensureConfigUiFractionHelper(\n pkg,\n targetSrcDir\n );\n\n // Ensure package.json has ESM module support and expected exports\n let wrotePkgJson = false;\n wrotePkgJson = await ensurePieLibPackageJson(pkg, targetDir, config);\n\n // Ensure vite.config.ts exists\n const wroteViteConfig = await this.ensureViteConfig(pkg, targetDir, logger);\n\n // Ensure tsconfig.json exists\n const wroteTsConfig = await this.ensureTsConfig(pkg, targetDir, logger);\n\n if (\n libChanged ||\n wroteCompatibilityPatch ||\n wroteAutosizeInput ||\n wroteConfigUiFractionHelper ||\n wrotePkgJson ||\n wroteViteConfig ||\n wroteTsConfig\n ) {\n this.touchedPieLibPackages.add(pkg);\n }\n }\n\n if (!logger.isVerbose()) {\n logger.progressCompleteWithCount(this.touchedPieLibPackages.size, 'packages');\n } else {\n logger.info(`\\nSynced ${this.touchedPieLibPackages.size} @pie-lib package(s)`);\n }\n return {\n count: this.touchedPieLibPackages.size,\n packageNames: Array.from(this.touchedPieLibPackages)\n .sort()\n .map((pkg) => `@pie-lib/${pkg}`),\n };\n }\n\n private async cleanTargetDir(\n targetDir: string,\n pkgName: string,\n label: string,\n logger: any,\n dryRun: boolean\n ): Promise<void> {\n const preserve = getPieLibSourcePreserveList(pkgName);\n\n await cleanDirectory(targetDir, label, { dryRun, verbose: false, preserve }, logger);\n }\n\n private async syncDirectory(\n sourceDir: string,\n targetDir: string,\n relativePath: string,\n pkg: string,\n upstreamCommit: string\n ): Promise<number> {\n const transformPipeline = createPieLibTransformPipeline();\n const stats = await syncSourceTree({\n sourceDir,\n targetDir,\n relativePath,\n sourcePathPrefix: `pie-lib/packages/${pkg}`,\n upstreamCommit,\n transform: (content, context) => transformPipeline(content, context.absoluteSourcePath),\n });\n\n this.result.filesChecked += stats.filesChecked;\n this.result.filesCopied += stats.filesCopied;\n this.result.filesSkipped += stats.filesSkipped;\n this.result.filesUpdated += stats.filesUpdated;\n\n return stats.filesProcessed;\n }\n\n /**\n * Generate a thin wrapper for math-rendering that re-exports from @pie-element/math-rendering\n */\n private async generateMathRenderingWrapper(targetSrcDir: string, logger: any): Promise<number> {\n await mkdir(targetSrcDir, { recursive: true });\n\n const wrapperContent = `// @ts-nocheck\n/**\n * @synced-from pie-lib/packages/math-rendering\n * @auto-generated\n *\n * This is a thin wrapper that re-exports from @pie-element/shared-math-rendering-mathjax.\n * The actual implementation is in packages/shared/math-rendering-mathjax.\n */\n\nexport { renderMath, wrapMath, unWrapMath, mmlToLatex } from '@pie-element/shared-math-rendering-mathjax';\n`;\n\n const indexPath = join(targetSrcDir, 'index.ts');\n const needsWrite =\n !existsSync(indexPath) || (await readFile(indexPath, 'utf-8')) !== wrapperContent;\n\n if (needsWrite) {\n await writeFile(indexPath, wrapperContent, 'utf-8');\n if (logger.isVerbose()) {\n logger.success(` ✨ math-rendering: generated wrapper`);\n }\n return 1;\n }\n\n return 0;\n }\n\n private async ensureViteConfig(pkgName: string, pkgDir: string, logger: any): Promise<boolean> {\n if (!existsSync(pkgDir)) {\n return false;\n }\n\n const viteConfigPath = join(pkgDir, 'vite.config.ts');\n const viteConfig = generatePieLibViteConfig(pkgName, pkgDir);\n\n // Check if vite config needs to be written\n const currentContent = existsSync(viteConfigPath)\n ? await readFile(viteConfigPath, 'utf-8').catch(() => null)\n : null;\n\n if (currentContent === viteConfig) {\n return false;\n }\n\n await writeFile(viteConfigPath, viteConfig, 'utf-8');\n if (logger.isVerbose()) {\n logger.success(` 📝 ${pkgName}: generated vite.config.ts`);\n }\n return true;\n }\n\n private async ensurePlotTypesCompatibilityPatch(\n pkgName: string,\n targetSrcDir: string\n ): Promise<boolean> {\n const patchPreset = PIE_LIB_COMPATIBILITY_APPEND_PATCHES[pkgName];\n if (!patchPreset) {\n return false;\n }\n\n const typesPath = join(targetSrcDir, 'types.ts');\n if (!existsSync(typesPath)) {\n return false;\n }\n\n const current = await readFile(typesPath, 'utf-8');\n if (current.includes(patchPreset.requiredMarker)) {\n return false;\n }\n\n await writeFile(typesPath, `${current}${patchPreset.append}`, 'utf-8');\n return true;\n }\n\n private async ensureAutosizeInputComponent(\n pkgName: string,\n targetSrcDir: string\n ): Promise<boolean> {\n if (!shouldGenerateAutosizeInputComponent(pkgName)) {\n return false;\n }\n\n const autosizeInputPath = join(targetSrcDir, 'autosize-input.tsx');\n const content = `// @auto-generated by upstream:sync\n// Local ESM replacement for react-input-autosize used by graph label inputs.\nimport React, { useCallback, useLayoutEffect, useRef, useState } from 'react';\n\nexport interface AutosizeInputProps\n extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'className' | 'style'> {\n className?: string;\n inputClassName?: string;\n inputRef?: (node: HTMLInputElement | null) => void;\n inputStyle?: React.CSSProperties;\n minWidth?: number | string;\n style?: React.CSSProperties;\n}\n\nconst parsePixelValue = (value: string): number => {\n const parsed = Number.parseFloat(value);\n return Number.isFinite(parsed) ? parsed : 0;\n};\n\nconst readMinWidth = (\n value: number | string | undefined,\n fallback: number | string | undefined\n): number => {\n const candidate = value ?? fallback;\n if (typeof candidate === 'number') {\n return candidate;\n }\n if (typeof candidate === 'string' && candidate.endsWith('px')) {\n return parsePixelValue(candidate);\n }\n return 1;\n};\n\nexport const AutosizeInput = React.forwardRef<HTMLInputElement, AutosizeInputProps>(\n (\n {\n className,\n inputClassName,\n inputRef,\n inputStyle,\n minWidth,\n placeholder,\n style,\n value,\n defaultValue,\n ...inputProps\n },\n forwardedRef\n ) => {\n const inputNodeRef = useRef<HTMLInputElement | null>(null);\n const inputRefCallbackRef = useRef(inputRef);\n const forwardedRefRef = useRef(forwardedRef);\n const measureNodeRef = useRef<HTMLSpanElement | null>(null);\n const [width, setWidth] = useState(() => readMinWidth(minWidth, inputStyle?.minWidth));\n\n inputRefCallbackRef.current = inputRef;\n forwardedRefRef.current = forwardedRef;\n\n const setInputRef = useCallback(\n (node: HTMLInputElement | null) => {\n inputNodeRef.current = node;\n inputRefCallbackRef.current?.(node);\n const currentForwardedRef = forwardedRefRef.current;\n if (typeof currentForwardedRef === 'function') {\n currentForwardedRef(node);\n } else if (currentForwardedRef) {\n (currentForwardedRef as React.MutableRefObject<HTMLInputElement | null>).current = node;\n }\n },\n []\n );\n\n useLayoutEffect(() => {\n const input = inputNodeRef.current;\n const measure = measureNodeRef.current;\n if (!input || !measure) {\n return;\n }\n\n const computed = window.getComputedStyle(input);\n measure.style.font = computed.font;\n measure.style.letterSpacing = computed.letterSpacing;\n measure.style.textTransform = computed.textTransform;\n measure.textContent = String(value ?? defaultValue ?? placeholder ?? '') || ' ';\n\n const horizontalPadding =\n parsePixelValue(computed.paddingLeft) +\n parsePixelValue(computed.paddingRight) +\n parsePixelValue(computed.borderLeftWidth) +\n parsePixelValue(computed.borderRightWidth);\n const measuredTextWidth = Math.ceil(measure.getBoundingClientRect().width + 2);\n const measuredWidth =\n computed.boxSizing === 'border-box'\n ? measuredTextWidth + horizontalPadding\n : measuredTextWidth;\n setWidth(Math.max(readMinWidth(minWidth, inputStyle?.minWidth), measuredWidth));\n }, [defaultValue, inputClassName, inputStyle, minWidth, placeholder, value]);\n\n return (\n <span className={className} style={{ display: 'inline-block', ...style }}>\n <input\n {...inputProps}\n ref={setInputRef}\n className={inputClassName}\n placeholder={placeholder}\n style={{ width, ...inputStyle }}\n value={value}\n defaultValue={defaultValue}\n />\n <span\n ref={measureNodeRef}\n aria-hidden=\"true\"\n style={{\n height: 0,\n left: 0,\n overflow: 'hidden',\n position: 'absolute',\n top: 0,\n visibility: 'hidden',\n whiteSpace: 'pre',\n }}\n />\n </span>\n );\n }\n);\n\nAutosizeInput.displayName = 'AutosizeInput';\n`;\n\n const current = existsSync(autosizeInputPath)\n ? await readFile(autosizeInputPath, 'utf-8').catch(() => null)\n : null;\n if (current === content) {\n return false;\n }\n\n await writeFile(autosizeInputPath, content, 'utf-8');\n return true;\n }\n\n private async ensureConfigUiFractionHelper(\n pkgName: string,\n targetSrcDir: string\n ): Promise<boolean> {\n if (!shouldGenerateConfigUiFractionHelper(pkgName)) {\n return false;\n }\n\n const helperPath = join(targetSrcDir, 'fraction-to-number.ts');\n const content = `// @auto-generated by upstream:sync\n// Local ESM replacement for config-ui's tiny mathjs fraction conversion usage.\ntype FractionLike = {\n d: number;\n n: number;\n s?: number;\n};\n\nconst isFractionLike = (value: unknown): value is FractionLike =>\n typeof value === 'object' &&\n value !== null &&\n typeof (value as FractionLike).n === 'number' &&\n typeof (value as FractionLike).d === 'number';\n\nexport const fractionToNumber = (value: FractionLike | number | string): number => {\n if (typeof value === 'number') {\n return value;\n }\n\n if (isFractionLike(value)) {\n const sign = value.s ?? 1;\n return (sign * value.n) / value.d;\n }\n\n const normalized = String(value).trim();\n const fractionMatch = normalized.match(/^([+-]?\\\\d+)\\\\s*\\\\/\\\\s*([+-]?\\\\d+)$/);\n if (fractionMatch) {\n const numerator = Number.parseInt(fractionMatch[1] ?? '0', 10);\n const denominator = Number.parseInt(fractionMatch[2] ?? '1', 10);\n return numerator / denominator;\n }\n\n return Number(normalized);\n};\n`;\n\n const current = existsSync(helperPath)\n ? await readFile(helperPath, 'utf-8').catch(() => null)\n : null;\n if (current === content) {\n return false;\n }\n\n await writeFile(helperPath, content, 'utf-8');\n return true;\n }\n\n private async ensureTsConfig(pkgName: string, pkgDir: string, logger: any): Promise<boolean> {\n if (!existsSync(pkgDir)) {\n return false;\n }\n\n const tsConfigPath = join(pkgDir, 'tsconfig.json');\n const tsConfig = this.generateTsConfig();\n\n // Check if tsconfig needs to be written\n const currentContent = existsSync(tsConfigPath)\n ? await readFile(tsConfigPath, 'utf-8').catch(() => null)\n : null;\n\n if (currentContent === tsConfig) {\n return false;\n }\n\n await writeFile(tsConfigPath, tsConfig, 'utf-8');\n if (logger.isVerbose()) {\n logger.success(` 📝 ${pkgName}: generated tsconfig.json`);\n }\n return true;\n }\n\n private generateTsConfig(): string {\n return `{\n \"extends\": \"../../../tsconfig.declarations.json\",\n \"compilerOptions\": {\n \"outDir\": \"dist\",\n \"declarationDir\": \"dist\",\n \"rootDir\": \"src\"\n },\n \"include\": [\"src/**/*\"]\n}\n`;\n }\n}\n"]}
@@ -0,0 +1,53 @@
1
+ export interface TextReplacement {
2
+ from: string;
3
+ to: string;
4
+ }
5
+ export interface PostSyncTextPatch {
6
+ id: string;
7
+ label: string;
8
+ file: string;
9
+ replacements: TextReplacement[];
10
+ }
11
+ export type PieLibSyncMode = 'full-sync' | 'wrapper';
12
+ export type PieLibVitePreset = 'default' | 'math-rendering-wrapper' | 'test-utils' | 'editable-html-tip-tap';
13
+ /**
14
+ * Central inventory for element/package-specific sync compatibility adaptations.
15
+ *
16
+ * Each entry gets a stable id so it can be referenced in docs/logs/tests without
17
+ * coupling to implementation file names.
18
+ */
19
+ export declare const PRESET_IDS: {
20
+ readonly testUtilsDeclarationStabilization: "patch.test-utils.declaration-stabilization";
21
+ readonly graphingDomPropLeakGuard: "patch.graphing.dom-prop-leak-guard";
22
+ readonly previewPromptPropTypesShape: "patch.render-ui.preview-prompt-proptypes-shape";
23
+ readonly correctAnswerToggleStyleNormalization: "patch.correct-answer-toggle.style-key-normalization";
24
+ readonly plotToolPropTypesCompatibility: "patch.plot.tool-proptypes-compatibility";
25
+ readonly mathRenderingWrapperMode: "mode.math-rendering.wrapper";
26
+ readonly preserveRenderUiInlineMenu: "preserve.render-ui.inline-menu";
27
+ readonly depsGraphingDndKit: "deps.graphing.dnd-kit-core";
28
+ readonly depsChartingD3Peers: "deps.charting.d3-peers";
29
+ readonly depsMathRenderingOverride: "deps.math-rendering.shared-adapter-only";
30
+ readonly viteMathRenderingWrapper: "vite.math-rendering-wrapper";
31
+ readonly viteTestUtils: "vite.test-utils";
32
+ readonly viteEditableHtmlTipTap: "vite.editable-html-tip-tap";
33
+ readonly transformChartingUtilsTypeFix: "transform.charting.utils-exported-function-types";
34
+ readonly transformTranslatorIndexTypeFix: "transform.translator.index-type-annotations";
35
+ readonly transformRenderUiInlineMenuExport: "transform.render-ui.inline-menu-export";
36
+ readonly transformTextSelectTokenTypesReexport: "transform.text-select.token-types-reexport";
37
+ };
38
+ export declare function getPostSyncTextPatches(projectRoot: string): PostSyncTextPatch[];
39
+ export declare function getPieLibSyncMode(pkgName: string): PieLibSyncMode;
40
+ export declare function getPieLibSourcePreserveList(pkgName: string): string[];
41
+ export declare function shouldGenerateAutosizeInputComponent(pkgName: string): boolean;
42
+ export declare function shouldGenerateConfigUiFractionHelper(pkgName: string): boolean;
43
+ export declare function shouldTransformReactInputAutosizeSource(sourcePath?: string): boolean;
44
+ export declare function shouldTransformConfigUiMathjsSource(sourcePath?: string): boolean;
45
+ export declare function getPieLibVitePreset(pkgName?: string): PieLibVitePreset;
46
+ export declare function getPieLibDependencyAugmentations(pkgName: string): Record<string, string>;
47
+ export declare function getPieLibDependencyOverride(pkgName: string): Record<string, string> | null;
48
+ export declare function applyPieLibDependencyVersionPins(deps: Record<string, string>): Record<string, string>;
49
+ export declare const PIE_LIB_COMPATIBILITY_APPEND_PATCHES: Record<string, {
50
+ id: string;
51
+ append: string;
52
+ requiredMarker: string;
53
+ }>;
@@ -0,0 +1,203 @@
1
+ import { join } from 'node:path';
2
+ /**
3
+ * Central inventory for element/package-specific sync compatibility adaptations.
4
+ *
5
+ * Each entry gets a stable id so it can be referenced in docs/logs/tests without
6
+ * coupling to implementation file names.
7
+ */
8
+ export const PRESET_IDS = {
9
+ testUtilsDeclarationStabilization: 'patch.test-utils.declaration-stabilization',
10
+ graphingDomPropLeakGuard: 'patch.graphing.dom-prop-leak-guard',
11
+ previewPromptPropTypesShape: 'patch.render-ui.preview-prompt-proptypes-shape',
12
+ correctAnswerToggleStyleNormalization: 'patch.correct-answer-toggle.style-key-normalization',
13
+ plotToolPropTypesCompatibility: 'patch.plot.tool-proptypes-compatibility',
14
+ mathRenderingWrapperMode: 'mode.math-rendering.wrapper',
15
+ preserveRenderUiInlineMenu: 'preserve.render-ui.inline-menu',
16
+ depsGraphingDndKit: 'deps.graphing.dnd-kit-core',
17
+ depsChartingD3Peers: 'deps.charting.d3-peers',
18
+ depsMathRenderingOverride: 'deps.math-rendering.shared-adapter-only',
19
+ viteMathRenderingWrapper: 'vite.math-rendering-wrapper',
20
+ viteTestUtils: 'vite.test-utils',
21
+ viteEditableHtmlTipTap: 'vite.editable-html-tip-tap',
22
+ transformChartingUtilsTypeFix: 'transform.charting.utils-exported-function-types',
23
+ transformTranslatorIndexTypeFix: 'transform.translator.index-type-annotations',
24
+ transformRenderUiInlineMenuExport: 'transform.render-ui.inline-menu-export',
25
+ transformTextSelectTokenTypesReexport: 'transform.text-select.token-types-reexport',
26
+ };
27
+ export function getPostSyncTextPatches(projectRoot) {
28
+ return [
29
+ {
30
+ id: PRESET_IDS.testUtilsDeclarationStabilization,
31
+ label: '@pie-lib/test-utils declaration stabilization',
32
+ file: join(projectRoot, 'packages/lib-react/test-utils/src/index.tsx'),
33
+ replacements: [
34
+ {
35
+ from: "import { render } from '@testing-library/react';",
36
+ to: "import { render, type RenderOptions, type RenderResult } from '@testing-library/react';",
37
+ },
38
+ {
39
+ from: 'export function renderWithTheme(ui, options = {}) {',
40
+ to: 'export function renderWithTheme(ui: React.ReactElement, options: RenderOptions & { theme?: unknown } = {}): RenderResult {',
41
+ },
42
+ {
43
+ from: 'export function renderWithProviders(ui, options = {}) {',
44
+ to: 'export function renderWithProviders(ui: React.ReactElement, options: RenderOptions & { theme?: unknown; providers?: React.ComponentType<{ children?: React.ReactNode }>[] } = {}): RenderResult {',
45
+ },
46
+ ],
47
+ },
48
+ {
49
+ id: PRESET_IDS.graphingDomPropLeakGuard,
50
+ label: '@pie-lib/graphing DOM prop leak guard',
51
+ file: join(projectRoot, 'packages/lib-react/graphing/src/tools/shared/point/base-point.tsx'),
52
+ replacements: [
53
+ {
54
+ from: ' onTouchEnd,\n ...rest\n',
55
+ to: ' onTouchEnd\n',
56
+ },
57
+ {
58
+ from: ' <circle {...rest} r={r} cx={scale.x(x)} cy={scale.y(y)} />',
59
+ to: ' <circle r={r} cx={scale.x(x)} cy={scale.y(y)} />',
60
+ },
61
+ ],
62
+ },
63
+ {
64
+ id: PRESET_IDS.previewPromptPropTypesShape,
65
+ label: '@pie-lib/render-ui PreviewPrompt PropTypes.shape',
66
+ file: join(projectRoot, 'packages/lib-react/render-ui/src/preview-prompt.tsx'),
67
+ replacements: [
68
+ {
69
+ from: ' customAudioButton: {\n playImage: PropTypes.string,\n pauseImage: PropTypes.string,\n },',
70
+ to: ' customAudioButton: PropTypes.shape({\n playImage: PropTypes.string,\n pauseImage: PropTypes.string,\n }),',
71
+ },
72
+ ],
73
+ },
74
+ {
75
+ id: PRESET_IDS.correctAnswerToggleStyleNormalization,
76
+ label: '@pie-lib/correct-answer-toggle style key normalization',
77
+ file: join(projectRoot, 'packages/lib-react/correct-answer-toggle/src/index.tsx'),
78
+ replacements: [
79
+ { from: " '-webkit-touchCcallout': 'none',", to: " WebkitTouchCallout: 'none'," },
80
+ { from: " '-webkit-user-select': 'none',", to: " WebkitUserSelect: 'none'," },
81
+ { from: " '-khtml-user-select': 'none',", to: " KhtmlUserSelect: 'none'," },
82
+ { from: " '-moz-user-select': 'none',", to: " MozUserSelect: 'none'," },
83
+ { from: " '-ms-user-select': 'none',", to: " msUserSelect: 'none'," },
84
+ { from: " 'user-select': 'none',", to: " userSelect: 'none'," },
85
+ ],
86
+ },
87
+ ];
88
+ }
89
+ export function getPieLibSyncMode(pkgName) {
90
+ if (pkgName === 'math-rendering') {
91
+ return 'wrapper';
92
+ }
93
+ return 'full-sync';
94
+ }
95
+ export function getPieLibSourcePreserveList(pkgName) {
96
+ if (pkgName === 'render-ui') {
97
+ return ['inline-menu.tsx'];
98
+ }
99
+ return [];
100
+ }
101
+ export function shouldGenerateAutosizeInputComponent(pkgName) {
102
+ return ['charting', 'graphing', 'graphing-solution-set'].includes(pkgName);
103
+ }
104
+ export function shouldGenerateConfigUiFractionHelper(pkgName) {
105
+ return pkgName === 'config-ui';
106
+ }
107
+ export function shouldTransformReactInputAutosizeSource(sourcePath) {
108
+ if (!sourcePath) {
109
+ return true;
110
+ }
111
+ return ['charting', 'graphing', 'graphing-solution-set'].some((pkgName) => sourcePath.includes(`pie-lib/packages/${pkgName}/src/`) ||
112
+ sourcePath.includes(`packages/lib-react/${pkgName}/src/`));
113
+ }
114
+ export function shouldTransformConfigUiMathjsSource(sourcePath) {
115
+ if (!sourcePath) {
116
+ return false;
117
+ }
118
+ return (sourcePath.includes('pie-lib/packages/config-ui/src/number-text-field-custom') ||
119
+ sourcePath.includes('packages/lib-react/config-ui/src/number-text-field-custom'));
120
+ }
121
+ export function getPieLibVitePreset(pkgName) {
122
+ if (pkgName === 'math-rendering') {
123
+ return 'math-rendering-wrapper';
124
+ }
125
+ if (pkgName === 'test-utils') {
126
+ return 'test-utils';
127
+ }
128
+ if (pkgName === 'editable-html-tip-tap') {
129
+ return 'editable-html-tip-tap';
130
+ }
131
+ return 'default';
132
+ }
133
+ export function getPieLibDependencyAugmentations(pkgName) {
134
+ if (pkgName === 'graphing') {
135
+ return {
136
+ '@dnd-kit/core': '^6.3.0',
137
+ };
138
+ }
139
+ if (pkgName === 'charting') {
140
+ return {
141
+ 'd3-time': '^3.1.0',
142
+ 'd3-interpolate': '^3.0.1',
143
+ 'd3-shape': '^3.2.0',
144
+ };
145
+ }
146
+ return {};
147
+ }
148
+ export function getPieLibDependencyOverride(pkgName) {
149
+ if (pkgName === 'math-rendering') {
150
+ return {
151
+ '@pie-element/shared-math-rendering-mathjax': 'workspace:*',
152
+ };
153
+ }
154
+ return null;
155
+ }
156
+ /**
157
+ * Exact versions forced onto a synced package's dependencies, whatever upstream declares.
158
+ *
159
+ * tiptap pins its own peers exactly from 3.24.0 on — `@tiptap/core@3.31.3` peers on
160
+ * `@tiptap/pm: "3.31.3"`, not a range — so every `@tiptap/*` package in one install tree has
161
+ * to be the same exact version. Mix them and a second `@tiptap/core` resolves, which breaks
162
+ * ProseMirror on duplicate schema and plugin identity.
163
+ *
164
+ * Upstream pie-lib still declares 3.20.0 and is no longer maintained, so the version lives
165
+ * here instead of being fixed there. This matters because `ensurePieLibPackageJson` rebuilds
166
+ * `dependencies` from the upstream manifest on every sync: without this pin, one
167
+ * `upstream:sync` walks the whole set back to 3.20.0 and silently undoes the alignment.
168
+ *
169
+ * Matched by prefix rather than by name so a newly imported `@tiptap/*` package is pinned as
170
+ * well, instead of arriving as a caret range off whatever happens to be installed. Keep in
171
+ * step with the root `package.json` `overrides`.
172
+ */
173
+ const PIE_LIB_DEPENDENCY_VERSION_PINS = [
174
+ { prefix: '@tiptap/', version: '3.31.3' },
175
+ ];
176
+ export function applyPieLibDependencyVersionPins(deps) {
177
+ const pinned = {};
178
+ for (const [depName, version] of Object.entries(deps)) {
179
+ const pin = PIE_LIB_DEPENDENCY_VERSION_PINS.find(({ prefix }) => depName.startsWith(prefix));
180
+ pinned[depName] = pin ? pin.version : version;
181
+ }
182
+ return pinned;
183
+ }
184
+ export const PIE_LIB_COMPATIBILITY_APPEND_PATCHES = {
185
+ plot: {
186
+ id: PRESET_IDS.plotToolPropTypesCompatibility,
187
+ requiredMarker: 'ToolPropTypeFields',
188
+ append: `
189
+
190
+ // Local compatibility export used by graphing tool components.
191
+ export const ToolPropTypeFields = {
192
+ graphProps: GraphPropsType.isRequired,
193
+ mark: PropTypes.object,
194
+ onChange: PropTypes.func,
195
+ onDelete: PropTypes.func,
196
+ onClick: PropTypes.func,
197
+ };
198
+
199
+ export const ToolPropType = PropTypes.shape(ToolPropTypeFields);
200
+ `,
201
+ },
202
+ };
203
+ //# sourceMappingURL=sync-presets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-presets.js","sourceRoot":"","sources":["../../../src/lib/upstream/sync-presets.ts"],"names":[],"mappings":"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","sourcesContent":["import { join } from 'node:path';\n\nexport interface TextReplacement {\n from: string;\n to: string;\n}\n\nexport interface PostSyncTextPatch {\n id: string;\n label: string;\n file: string;\n replacements: TextReplacement[];\n}\n\nexport type PieLibSyncMode = 'full-sync' | 'wrapper';\nexport type PieLibVitePreset =\n | 'default'\n | 'math-rendering-wrapper'\n | 'test-utils'\n | 'editable-html-tip-tap';\n\n/**\n * Central inventory for element/package-specific sync compatibility adaptations.\n *\n * Each entry gets a stable id so it can be referenced in docs/logs/tests without\n * coupling to implementation file names.\n */\nexport const PRESET_IDS = {\n testUtilsDeclarationStabilization: 'patch.test-utils.declaration-stabilization',\n graphingDomPropLeakGuard: 'patch.graphing.dom-prop-leak-guard',\n previewPromptPropTypesShape: 'patch.render-ui.preview-prompt-proptypes-shape',\n correctAnswerToggleStyleNormalization: 'patch.correct-answer-toggle.style-key-normalization',\n plotToolPropTypesCompatibility: 'patch.plot.tool-proptypes-compatibility',\n mathRenderingWrapperMode: 'mode.math-rendering.wrapper',\n preserveRenderUiInlineMenu: 'preserve.render-ui.inline-menu',\n depsGraphingDndKit: 'deps.graphing.dnd-kit-core',\n depsChartingD3Peers: 'deps.charting.d3-peers',\n depsMathRenderingOverride: 'deps.math-rendering.shared-adapter-only',\n viteMathRenderingWrapper: 'vite.math-rendering-wrapper',\n viteTestUtils: 'vite.test-utils',\n viteEditableHtmlTipTap: 'vite.editable-html-tip-tap',\n transformChartingUtilsTypeFix: 'transform.charting.utils-exported-function-types',\n transformTranslatorIndexTypeFix: 'transform.translator.index-type-annotations',\n transformRenderUiInlineMenuExport: 'transform.render-ui.inline-menu-export',\n transformTextSelectTokenTypesReexport: 'transform.text-select.token-types-reexport',\n} as const;\n\nexport function getPostSyncTextPatches(projectRoot: string): PostSyncTextPatch[] {\n return [\n {\n id: PRESET_IDS.testUtilsDeclarationStabilization,\n label: '@pie-lib/test-utils declaration stabilization',\n file: join(projectRoot, 'packages/lib-react/test-utils/src/index.tsx'),\n replacements: [\n {\n from: \"import { render } from '@testing-library/react';\",\n to: \"import { render, type RenderOptions, type RenderResult } from '@testing-library/react';\",\n },\n {\n from: 'export function renderWithTheme(ui, options = {}) {',\n to: 'export function renderWithTheme(ui: React.ReactElement, options: RenderOptions & { theme?: unknown } = {}): RenderResult {',\n },\n {\n from: 'export function renderWithProviders(ui, options = {}) {',\n to: 'export function renderWithProviders(ui: React.ReactElement, options: RenderOptions & { theme?: unknown; providers?: React.ComponentType<{ children?: React.ReactNode }>[] } = {}): RenderResult {',\n },\n ],\n },\n {\n id: PRESET_IDS.graphingDomPropLeakGuard,\n label: '@pie-lib/graphing DOM prop leak guard',\n file: join(projectRoot, 'packages/lib-react/graphing/src/tools/shared/point/base-point.tsx'),\n replacements: [\n {\n from: ' onTouchEnd,\\n ...rest\\n',\n to: ' onTouchEnd\\n',\n },\n {\n from: ' <circle {...rest} r={r} cx={scale.x(x)} cy={scale.y(y)} />',\n to: ' <circle r={r} cx={scale.x(x)} cy={scale.y(y)} />',\n },\n ],\n },\n {\n id: PRESET_IDS.previewPromptPropTypesShape,\n label: '@pie-lib/render-ui PreviewPrompt PropTypes.shape',\n file: join(projectRoot, 'packages/lib-react/render-ui/src/preview-prompt.tsx'),\n replacements: [\n {\n from: ' customAudioButton: {\\n playImage: PropTypes.string,\\n pauseImage: PropTypes.string,\\n },',\n to: ' customAudioButton: PropTypes.shape({\\n playImage: PropTypes.string,\\n pauseImage: PropTypes.string,\\n }),',\n },\n ],\n },\n {\n id: PRESET_IDS.correctAnswerToggleStyleNormalization,\n label: '@pie-lib/correct-answer-toggle style key normalization',\n file: join(projectRoot, 'packages/lib-react/correct-answer-toggle/src/index.tsx'),\n replacements: [\n { from: \" '-webkit-touchCcallout': 'none',\", to: \" WebkitTouchCallout: 'none',\" },\n { from: \" '-webkit-user-select': 'none',\", to: \" WebkitUserSelect: 'none',\" },\n { from: \" '-khtml-user-select': 'none',\", to: \" KhtmlUserSelect: 'none',\" },\n { from: \" '-moz-user-select': 'none',\", to: \" MozUserSelect: 'none',\" },\n { from: \" '-ms-user-select': 'none',\", to: \" msUserSelect: 'none',\" },\n { from: \" 'user-select': 'none',\", to: \" userSelect: 'none',\" },\n ],\n },\n ];\n}\n\nexport function getPieLibSyncMode(pkgName: string): PieLibSyncMode {\n if (pkgName === 'math-rendering') {\n return 'wrapper';\n }\n return 'full-sync';\n}\n\nexport function getPieLibSourcePreserveList(pkgName: string): string[] {\n if (pkgName === 'render-ui') {\n return ['inline-menu.tsx'];\n }\n return [];\n}\n\nexport function shouldGenerateAutosizeInputComponent(pkgName: string): boolean {\n return ['charting', 'graphing', 'graphing-solution-set'].includes(pkgName);\n}\n\nexport function shouldGenerateConfigUiFractionHelper(pkgName: string): boolean {\n return pkgName === 'config-ui';\n}\n\nexport function shouldTransformReactInputAutosizeSource(sourcePath?: string): boolean {\n if (!sourcePath) {\n return true;\n }\n\n return ['charting', 'graphing', 'graphing-solution-set'].some(\n (pkgName) =>\n sourcePath.includes(`pie-lib/packages/${pkgName}/src/`) ||\n sourcePath.includes(`packages/lib-react/${pkgName}/src/`)\n );\n}\n\nexport function shouldTransformConfigUiMathjsSource(sourcePath?: string): boolean {\n if (!sourcePath) {\n return false;\n }\n\n return (\n sourcePath.includes('pie-lib/packages/config-ui/src/number-text-field-custom') ||\n sourcePath.includes('packages/lib-react/config-ui/src/number-text-field-custom')\n );\n}\n\nexport function getPieLibVitePreset(pkgName?: string): PieLibVitePreset {\n if (pkgName === 'math-rendering') {\n return 'math-rendering-wrapper';\n }\n if (pkgName === 'test-utils') {\n return 'test-utils';\n }\n if (pkgName === 'editable-html-tip-tap') {\n return 'editable-html-tip-tap';\n }\n return 'default';\n}\n\nexport function getPieLibDependencyAugmentations(pkgName: string): Record<string, string> {\n if (pkgName === 'graphing') {\n return {\n '@dnd-kit/core': '^6.3.0',\n };\n }\n if (pkgName === 'charting') {\n return {\n 'd3-time': '^3.1.0',\n 'd3-interpolate': '^3.0.1',\n 'd3-shape': '^3.2.0',\n };\n }\n return {};\n}\n\nexport function getPieLibDependencyOverride(pkgName: string): Record<string, string> | null {\n if (pkgName === 'math-rendering') {\n return {\n '@pie-element/shared-math-rendering-mathjax': 'workspace:*',\n };\n }\n return null;\n}\n\n/**\n * Exact versions forced onto a synced package's dependencies, whatever upstream declares.\n *\n * tiptap pins its own peers exactly from 3.24.0 on — `@tiptap/core@3.31.3` peers on\n * `@tiptap/pm: \"3.31.3\"`, not a range — so every `@tiptap/*` package in one install tree has\n * to be the same exact version. Mix them and a second `@tiptap/core` resolves, which breaks\n * ProseMirror on duplicate schema and plugin identity.\n *\n * Upstream pie-lib still declares 3.20.0 and is no longer maintained, so the version lives\n * here instead of being fixed there. This matters because `ensurePieLibPackageJson` rebuilds\n * `dependencies` from the upstream manifest on every sync: without this pin, one\n * `upstream:sync` walks the whole set back to 3.20.0 and silently undoes the alignment.\n *\n * Matched by prefix rather than by name so a newly imported `@tiptap/*` package is pinned as\n * well, instead of arriving as a caret range off whatever happens to be installed. Keep in\n * step with the root `package.json` `overrides`.\n */\nconst PIE_LIB_DEPENDENCY_VERSION_PINS: ReadonlyArray<{ prefix: string; version: string }> = [\n { prefix: '@tiptap/', version: '3.31.3' },\n];\n\nexport function applyPieLibDependencyVersionPins(\n deps: Record<string, string>\n): Record<string, string> {\n const pinned: Record<string, string> = {};\n for (const [depName, version] of Object.entries(deps)) {\n const pin = PIE_LIB_DEPENDENCY_VERSION_PINS.find(({ prefix }) => depName.startsWith(prefix));\n pinned[depName] = pin ? pin.version : version;\n }\n return pinned;\n}\n\nexport const PIE_LIB_COMPATIBILITY_APPEND_PATCHES: Record<\n string,\n { id: string; append: string; requiredMarker: string }\n> = {\n plot: {\n id: PRESET_IDS.plotToolPropTypesCompatibility,\n requiredMarker: 'ToolPropTypeFields',\n append: `\n\n// Local compatibility export used by graphing tool components.\nexport const ToolPropTypeFields = {\n graphProps: GraphPropsType.isRequired,\n mark: PropTypes.object,\n onChange: PropTypes.func,\n onDelete: PropTypes.func,\n onClick: PropTypes.func,\n};\n\nexport const ToolPropType = PropTypes.shape(ToolPropTypeFields);\n`,\n },\n};\n"]}
@@ -5,6 +5,7 @@
5
5
  * Target: packages/elements-react/{element}/src/
6
6
  */
7
7
  import type { SyncStrategy, SyncContext, SyncConfig, SyncResult } from './sync-strategy.js';
8
+ export declare function collectElementViteEntryPoints(elementDir: string): Record<string, string>;
8
9
  export declare class ReactComponentsStrategy implements SyncStrategy {
9
10
  private touchedElementPackages;
10
11
  private result;
@@ -19,6 +20,11 @@ export declare class ReactComponentsStrategy implements SyncStrategy {
19
20
  * These are typically utility files like utils.js that are imported by files in configure/src/
20
21
  */
21
22
  private syncConfigureRootFiles;
23
+ private ensurePrivateChildElementSupport;
24
+ private ensurePrivateTagsFile;
25
+ private ensureEbsrPrivateChildReferences;
26
+ private ensureComplexRubricPrivateChildReferences;
27
+ private replaceInSyncedFile;
22
28
  /**
23
29
  * Sync a single print file (src/print.js -> src/print/index.ts)
24
30
  */
@@ -51,4 +57,3 @@ export declare class ReactComponentsStrategy implements SyncStrategy {
51
57
  private ensureTsConfig;
52
58
  private generateTsConfig;
53
59
  }
54
- //# sourceMappingURL=sync-react-strategy.d.ts.map