meno-core 1.0.53 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (415) hide show
  1. package/.claude/settings.local.json +1 -3
  2. package/bin/cli.ts +66 -261
  3. package/build-astro.ts +150 -128
  4. package/dist/bin/cli.js +42 -185
  5. package/dist/bin/cli.js.map +2 -2
  6. package/dist/chunks/chunk-2AR55GYH.js +42 -0
  7. package/dist/chunks/chunk-2AR55GYH.js.map +7 -0
  8. package/dist/chunks/{chunk-JGWFTO6P.js → chunk-2IIQK7T3.js} +2624 -1389
  9. package/dist/chunks/chunk-2IIQK7T3.js.map +7 -0
  10. package/dist/chunks/chunk-4ZRU52J2.js +169 -0
  11. package/dist/chunks/chunk-4ZRU52J2.js.map +7 -0
  12. package/dist/chunks/{chunk-UB44F4Z2.js → chunk-5X4HCN7J.js} +5 -7
  13. package/dist/chunks/chunk-5X4HCN7J.js.map +7 -0
  14. package/dist/chunks/{chunk-WQFG7PAH.js → chunk-7CCVOL5M.js} +15 -19
  15. package/dist/chunks/chunk-7CCVOL5M.js.map +7 -0
  16. package/dist/chunks/{chunk-YBLHKYFF.js → chunk-AR7LHIFY.js} +8 -2
  17. package/dist/chunks/chunk-AR7LHIFY.js.map +7 -0
  18. package/dist/chunks/{chunk-O3NAGJP4.js → chunk-NUP7H7D3.js} +135 -41
  19. package/dist/chunks/chunk-NUP7H7D3.js.map +7 -0
  20. package/dist/chunks/{chunk-X754AHS5.js → chunk-QWTQZHG3.js} +194 -90
  21. package/dist/chunks/chunk-QWTQZHG3.js.map +7 -0
  22. package/dist/chunks/{chunk-H3GJ4H2U.js → chunk-XTKNX4FW.js} +216 -87
  23. package/dist/chunks/chunk-XTKNX4FW.js.map +7 -0
  24. package/dist/chunks/{fs-JGINUXGL.js → fs-G3ANWEFP.js} +2 -2
  25. package/dist/lib/client/index.js +1003 -475
  26. package/dist/lib/client/index.js.map +3 -3
  27. package/dist/lib/server/index.js +14393 -6371
  28. package/dist/lib/server/index.js.map +4 -4
  29. package/dist/lib/shared/index.js +342 -101
  30. package/dist/lib/shared/index.js.map +4 -4
  31. package/dist/lib/shared/richtext/index.js +1 -1
  32. package/dist/lib/test-utils/index.js +64 -80
  33. package/dist/lib/test-utils/index.js.map +2 -2
  34. package/entries/client-router.tsx +10 -8
  35. package/lib/client/ClientInitializer.ts +8 -8
  36. package/lib/client/ErrorBoundary.test.tsx +246 -186
  37. package/lib/client/ErrorBoundary.tsx +183 -132
  38. package/lib/client/componentRegistry.test.ts +96 -108
  39. package/lib/client/componentRegistry.ts +1 -3
  40. package/lib/client/contexts/ThemeContext.tsx +3 -2
  41. package/lib/client/core/ComponentBuilder.test.ts +663 -560
  42. package/lib/client/core/ComponentBuilder.ts +427 -155
  43. package/lib/client/core/ComponentRenderer.test.tsx +2 -4
  44. package/lib/client/core/ComponentRenderer.tsx +46 -33
  45. package/lib/client/core/builders/embedBuilder.ts +242 -54
  46. package/lib/client/core/builders/linkBuilder.ts +72 -45
  47. package/lib/client/core/builders/linkNodeBuilder.ts +79 -54
  48. package/lib/client/core/builders/listBuilder.ts +155 -89
  49. package/lib/client/core/builders/localeListBuilder.ts +97 -62
  50. package/lib/client/core/builders/types.ts +5 -5
  51. package/lib/client/core/cmsTemplateProcessor.ts +8 -9
  52. package/lib/client/elementRegistry.ts +3 -3
  53. package/lib/client/fontFamiliesService.test.ts +2 -10
  54. package/lib/client/fontFamiliesService.ts +3 -3
  55. package/lib/client/hmr/HMRManager.tsx +47 -30
  56. package/lib/client/hmrCssReload.ts +49 -14
  57. package/lib/client/hmrWebSocket.ts +14 -19
  58. package/lib/client/hooks/useColorVariables.test.ts +21 -21
  59. package/lib/client/hooks/useColorVariables.ts +23 -18
  60. package/lib/client/hooks/usePropertyAutocomplete.ts +4 -6
  61. package/lib/client/hooks/useVariables.ts +6 -4
  62. package/lib/client/hydration/HydrationUtils.test.ts +24 -25
  63. package/lib/client/hydration/HydrationUtils.ts +3 -4
  64. package/lib/client/i18nConfigService.test.ts +2 -7
  65. package/lib/client/i18nConfigService.ts +2 -2
  66. package/lib/client/meno-filter/MenoFilter.test.ts +47 -49
  67. package/lib/client/meno-filter/MenoFilter.ts +14 -15
  68. package/lib/client/meno-filter/bindings.ts +18 -43
  69. package/lib/client/meno-filter/init.ts +4 -4
  70. package/lib/client/meno-filter/renderer.ts +30 -32
  71. package/lib/client/meno-filter/script.generated.ts +1 -3
  72. package/lib/client/meno-filter/ui.ts +4 -6
  73. package/lib/client/meno-filter/updates.ts +18 -23
  74. package/lib/client/meno-filter/utils.ts +1 -1
  75. package/lib/client/navigation.test.ts +174 -178
  76. package/lib/client/navigation.ts +0 -1
  77. package/lib/client/responsiveStyleResolver.knownTokens.test.ts +71 -0
  78. package/lib/client/responsiveStyleResolver.test.ts +234 -232
  79. package/lib/client/responsiveStyleResolver.ts +74 -20
  80. package/lib/client/routing/RouteLoader.test.ts +24 -25
  81. package/lib/client/routing/RouteLoader.ts +27 -35
  82. package/lib/client/routing/Router.tsx +210 -153
  83. package/lib/client/scripts/ScriptExecutor.test.ts +157 -158
  84. package/lib/client/scripts/ScriptExecutor.ts +18 -36
  85. package/lib/client/services/PrefetchService.test.ts +3 -3
  86. package/lib/client/services/PrefetchService.ts +23 -29
  87. package/lib/client/styleProcessor.test.ts +9 -9
  88. package/lib/client/styleProcessor.ts +24 -15
  89. package/lib/client/styles/StyleInjector.test.ts +122 -115
  90. package/lib/client/styles/StyleInjector.ts +10 -7
  91. package/lib/client/styles/UtilityClassCollector.ts +62 -28
  92. package/lib/client/styles/cspNonce.test.ts +2 -5
  93. package/lib/client/templateEngine.test.ts +554 -488
  94. package/lib/client/templateEngine.ts +203 -73
  95. package/lib/client/theme.test.ts +1 -1
  96. package/lib/client/theme.ts +0 -1
  97. package/lib/client/utils/toast.ts +0 -1
  98. package/lib/server/__integration__/api-routes.test.ts +8 -4
  99. package/lib/server/__integration__/cms-integration.test.ts +1 -4
  100. package/lib/server/__integration__/server-lifecycle.test.ts +4 -5
  101. package/lib/server/__integration__/ssr-rendering.test.ts +47 -37
  102. package/lib/server/__integration__/static-assets.test.ts +3 -3
  103. package/lib/server/__integration__/test-helpers.ts +87 -74
  104. package/lib/server/ab/generateFunctions.ts +12 -10
  105. package/lib/server/astro/cmsPageEmitter.ts +26 -42
  106. package/lib/server/astro/componentEmitter.ts +35 -43
  107. package/lib/server/astro/cssCollector.ts +10 -26
  108. package/lib/server/astro/nodeToAstro.test.ts +1754 -34
  109. package/lib/server/astro/nodeToAstro.ts +232 -216
  110. package/lib/server/astro/normalizeOrphanTemplateProps.test.ts +115 -119
  111. package/lib/server/astro/normalizeOrphanTemplateProps.ts +11 -18
  112. package/lib/server/astro/pageEmitter.ts +9 -13
  113. package/lib/server/astro/tailwindMapper.test.ts +10 -37
  114. package/lib/server/astro/tailwindMapper.ts +33 -40
  115. package/lib/server/astro/templateTransformer.ts +17 -20
  116. package/lib/server/createServer.ts +7 -19
  117. package/lib/server/cssGenerator.test.ts +35 -44
  118. package/lib/server/cssGenerator.ts +8 -19
  119. package/lib/server/fileWatcher.test.ts +164 -13
  120. package/lib/server/fileWatcher.ts +209 -124
  121. package/lib/server/index.ts +14 -17
  122. package/lib/server/jsonLoader.test.ts +39 -2
  123. package/lib/server/jsonLoader.ts +39 -34
  124. package/lib/server/middleware/cors.test.ts +21 -21
  125. package/lib/server/middleware/cors.ts +28 -4
  126. package/lib/server/middleware/errorHandler.test.ts +7 -5
  127. package/lib/server/middleware/errorHandler.ts +3 -8
  128. package/lib/server/middleware/index.ts +0 -1
  129. package/lib/server/middleware/logger.test.ts +10 -8
  130. package/lib/server/middleware/logger.ts +17 -29
  131. package/lib/server/migrateTemplates.ts +3 -3
  132. package/lib/server/pageCache.test.ts +76 -77
  133. package/lib/server/pageCache.ts +0 -1
  134. package/lib/server/projectContext.ts +5 -4
  135. package/lib/server/providers/fileSystemCMSProvider.test.ts +142 -99
  136. package/lib/server/providers/fileSystemCMSProvider.ts +62 -38
  137. package/lib/server/routes/api/cms.test.ts +26 -14
  138. package/lib/server/routes/api/cms.ts +9 -14
  139. package/lib/server/routes/api/colors.test.ts +2 -2
  140. package/lib/server/routes/api/components.ts +31 -35
  141. package/lib/server/routes/api/config.ts +3 -4
  142. package/lib/server/routes/api/core-routes.ts +49 -76
  143. package/lib/server/routes/api/enums.test.ts +2 -2
  144. package/lib/server/routes/api/functions.ts +9 -17
  145. package/lib/server/routes/api/index.ts +3 -6
  146. package/lib/server/routes/api/pages.ts +8 -11
  147. package/lib/server/routes/api/shared.test.ts +1 -1
  148. package/lib/server/routes/api/shared.ts +12 -9
  149. package/lib/server/routes/api/variables.test.ts +3 -5
  150. package/lib/server/routes/api/variables.ts +1 -1
  151. package/lib/server/routes/index.ts +25 -28
  152. package/lib/server/routes/pages.ts +35 -31
  153. package/lib/server/routes/static.ts +17 -6
  154. package/lib/server/runtime/bundler.ts +98 -61
  155. package/lib/server/runtime/fs.ts +16 -26
  156. package/lib/server/runtime/httpServer.ts +8 -12
  157. package/lib/server/services/ColorService.test.ts +3 -3
  158. package/lib/server/services/ColorService.ts +37 -29
  159. package/lib/server/services/EnumService.test.ts +4 -8
  160. package/lib/server/services/EnumService.ts +11 -3
  161. package/lib/server/services/VariableService.test.ts +8 -12
  162. package/lib/server/services/VariableService.ts +11 -3
  163. package/lib/server/services/cmsService.test.ts +158 -120
  164. package/lib/server/services/cmsService.ts +36 -146
  165. package/lib/server/services/componentService.test.ts +125 -45
  166. package/lib/server/services/componentService.ts +70 -46
  167. package/lib/server/services/configService.test.ts +22 -45
  168. package/lib/server/services/configService.ts +50 -27
  169. package/lib/server/services/fileWatcherService.ts +42 -8
  170. package/lib/server/services/index.ts +0 -1
  171. package/lib/server/services/pageService.test.ts +8 -10
  172. package/lib/server/services/pageService.ts +32 -18
  173. package/lib/server/ssr/attributeBuilder.ts +18 -8
  174. package/lib/server/ssr/buildErrorOverlay.ts +11 -12
  175. package/lib/server/ssr/clientDataInjector.ts +7 -21
  176. package/lib/server/ssr/cmsSSRProcessor.ts +4 -8
  177. package/lib/server/ssr/cssCollector.ts +1 -1
  178. package/lib/server/ssr/errorOverlay.test.ts +1 -1
  179. package/lib/server/ssr/errorOverlay.ts +3 -9
  180. package/lib/server/ssr/htmlGenerator.nonce.test.ts +9 -14
  181. package/lib/server/ssr/htmlGenerator.test.ts +120 -44
  182. package/lib/server/ssr/htmlGenerator.ts +126 -91
  183. package/lib/server/ssr/imageMetadata.test.ts +3 -1
  184. package/lib/server/ssr/imageMetadata.ts +27 -21
  185. package/lib/server/ssr/jsCollector.test.ts +8 -18
  186. package/lib/server/ssr/jsCollector.ts +3 -8
  187. package/lib/server/ssr/liveReloadIntegration.test.ts +76 -36
  188. package/lib/server/ssr/metaTagGenerator.ts +2 -2
  189. package/lib/server/ssr/ssrRenderer.branches.test.ts +1103 -0
  190. package/lib/server/ssr/ssrRenderer.test.ts +316 -256
  191. package/lib/server/ssr/ssrRenderer.ts +795 -243
  192. package/lib/server/ssrRenderer.test.ts +1048 -954
  193. package/lib/server/utils/jsonLineMapper.test.ts +28 -28
  194. package/lib/server/utils/jsonLineMapper.ts +7 -7
  195. package/lib/server/validateStyleCoverage.ts +18 -21
  196. package/lib/server/websocketManager.ts +28 -19
  197. package/lib/shared/attributeNodeUtils.test.ts +15 -15
  198. package/lib/shared/attributeNodeUtils.ts +5 -12
  199. package/lib/shared/breakpoints.test.ts +5 -5
  200. package/lib/shared/breakpoints.ts +4 -11
  201. package/lib/shared/cmsQuery.test.ts +81 -0
  202. package/lib/shared/cmsQuery.ts +92 -0
  203. package/lib/shared/cmsQueryParser.test.ts +50 -42
  204. package/lib/shared/cmsQueryParser.ts +60 -38
  205. package/lib/shared/colorConversions.ts +9 -9
  206. package/lib/shared/colorVariableUtils.test.ts +27 -5
  207. package/lib/shared/colorVariableUtils.ts +21 -12
  208. package/lib/shared/componentRefs.ts +1 -5
  209. package/lib/shared/constants.test.ts +3 -3
  210. package/lib/shared/constants.ts +8 -8
  211. package/lib/shared/cssGeneration.test.ts +285 -144
  212. package/lib/shared/cssGeneration.ts +217 -531
  213. package/lib/shared/cssNamedColors.ts +152 -30
  214. package/lib/shared/cssProperties.test.ts +69 -70
  215. package/lib/shared/cssProperties.ts +298 -114
  216. package/lib/shared/elementClassName.test.ts +109 -109
  217. package/lib/shared/elementClassName.ts +3 -3
  218. package/lib/shared/elementUtils.ts +12 -16
  219. package/lib/shared/errorLogger.test.ts +12 -12
  220. package/lib/shared/errorLogger.ts +2 -10
  221. package/lib/shared/errors.test.ts +2 -13
  222. package/lib/shared/errors.ts +2 -8
  223. package/lib/shared/expressionEvaluator.test.ts +145 -0
  224. package/lib/shared/expressionEvaluator.ts +52 -24
  225. package/lib/shared/fontLoader.test.ts +32 -18
  226. package/lib/shared/fontLoader.ts +2 -2
  227. package/lib/shared/friendlyError.ts +2 -3
  228. package/lib/shared/gradientUtils.test.ts +3 -7
  229. package/lib/shared/gradientUtils.ts +17 -14
  230. package/lib/shared/hrefRefs.test.ts +2 -2
  231. package/lib/shared/hrefRefs.ts +2 -10
  232. package/lib/shared/i18n.test.ts +4 -4
  233. package/lib/shared/i18n.ts +18 -38
  234. package/lib/shared/index.ts +27 -0
  235. package/lib/shared/inlineSvgStyleRules.ts +14 -13
  236. package/lib/shared/interactiveStyleMappings.test.ts +32 -54
  237. package/lib/shared/interactiveStyleMappings.ts +11 -24
  238. package/lib/shared/interactiveStyles.test.ts +165 -188
  239. package/lib/shared/interfaces/contentProvider.ts +1 -1
  240. package/lib/shared/itemTemplateUtils.test.ts +11 -17
  241. package/lib/shared/itemTemplateUtils.ts +27 -39
  242. package/lib/shared/jsonRepair.ts +16 -10
  243. package/lib/shared/libraryLoader.test.ts +21 -55
  244. package/lib/shared/libraryLoader.ts +7 -22
  245. package/lib/shared/linkUtils.ts +1 -1
  246. package/lib/shared/logger.test.ts +66 -0
  247. package/lib/shared/logger.ts +94 -0
  248. package/lib/shared/markdown.ts +25 -0
  249. package/lib/shared/netlifyLocale404.test.ts +179 -0
  250. package/lib/shared/netlifyLocale404.ts +110 -0
  251. package/lib/shared/nodeUtils.test.ts +28 -16
  252. package/lib/shared/nodeUtils.ts +76 -23
  253. package/lib/shared/pathArrayUtils.test.ts +1 -2
  254. package/lib/shared/pathArrayUtils.ts +1 -1
  255. package/lib/shared/pathSecurity.ts +2 -2
  256. package/lib/shared/pathUtils.test.ts +4 -6
  257. package/lib/shared/pathUtils.ts +42 -49
  258. package/lib/shared/paths/Path.test.ts +2 -2
  259. package/lib/shared/paths/Path.ts +0 -1
  260. package/lib/shared/paths/PathConverter.test.ts +1 -1
  261. package/lib/shared/paths/PathConverter.ts +17 -20
  262. package/lib/shared/paths/PathUtils.ts +13 -13
  263. package/lib/shared/paths/PathValidator.test.ts +2 -15
  264. package/lib/shared/paths/PathValidator.ts +12 -10
  265. package/lib/shared/paths/index.ts +1 -2
  266. package/lib/shared/permissions.test.ts +168 -0
  267. package/lib/shared/permissions.ts +162 -0
  268. package/lib/shared/propResolver.test.ts +240 -244
  269. package/lib/shared/propResolver.ts +15 -26
  270. package/lib/shared/pxToRem.test.ts +7 -6
  271. package/lib/shared/pxToRem.ts +2 -5
  272. package/lib/shared/registry/BaseNodeTypeRegistry.test.ts +12 -6
  273. package/lib/shared/registry/ClientRegistry.ts +0 -2
  274. package/lib/shared/registry/ComponentRegistry.test.ts +46 -32
  275. package/lib/shared/registry/ComponentRegistry.ts +12 -9
  276. package/lib/shared/registry/NodeTypeDefinition.ts +16 -9
  277. package/lib/shared/registry/RegistryManager.ts +1 -2
  278. package/lib/shared/registry/SSRRegistry.ts +0 -2
  279. package/lib/shared/registry/createNodeType.ts +7 -9
  280. package/lib/shared/registry/defineNodeType.ts +2 -6
  281. package/lib/shared/registry/fieldPresets.ts +3 -1
  282. package/lib/shared/registry/index.ts +0 -1
  283. package/lib/shared/registry/nodeTypes/ComponentInstanceNodeType.ts +14 -15
  284. package/lib/shared/registry/nodeTypes/CustomNodeType.ts +103 -0
  285. package/lib/shared/registry/nodeTypes/EmbedNodeType.ts +18 -11
  286. package/lib/shared/registry/nodeTypes/HtmlNodeType.ts +48 -19
  287. package/lib/shared/registry/nodeTypes/IslandNodeType.ts +129 -0
  288. package/lib/shared/registry/nodeTypes/LinkNodeType.ts +21 -19
  289. package/lib/shared/registry/nodeTypes/ListNodeType.ts +117 -77
  290. package/lib/shared/registry/nodeTypes/LocaleListNodeType.ts +27 -21
  291. package/lib/shared/registry/nodeTypes/MarkdownNodeType.ts +78 -0
  292. package/lib/shared/registry/nodeTypes/SlotMarkerType.ts +12 -8
  293. package/lib/shared/registry/nodeTypes/index.ts +26 -3
  294. package/lib/shared/responsiveScaling.test.ts +16 -34
  295. package/lib/shared/responsiveScaling.ts +61 -42
  296. package/lib/shared/responsiveStyleUtils.test.ts +0 -1
  297. package/lib/shared/responsiveStyleUtils.ts +11 -13
  298. package/lib/shared/richtext/htmlToTiptap.test.ts +139 -130
  299. package/lib/shared/richtext/htmlToTiptap.ts +2 -4
  300. package/lib/shared/richtext/tiptapToHtml.test.ts +5 -6
  301. package/lib/shared/richtext/types.ts +1 -8
  302. package/lib/shared/slugTranslator.test.ts +13 -13
  303. package/lib/shared/slugTranslator.ts +12 -16
  304. package/lib/shared/slugify.ts +9 -15
  305. package/lib/shared/styleNodeUtils.test.ts +8 -8
  306. package/lib/shared/styleNodeUtils.ts +18 -20
  307. package/lib/shared/styleUtils.test.ts +87 -61
  308. package/lib/shared/styleUtils.ts +5 -6
  309. package/lib/shared/themeDefaults.test.ts +11 -14
  310. package/lib/shared/themeDefaults.ts +3 -4
  311. package/lib/shared/tree/PathBuilder.test.ts +63 -145
  312. package/lib/shared/tree/PathBuilder.ts +59 -47
  313. package/lib/shared/treePathUtils.test.ts +51 -12
  314. package/lib/shared/treePathUtils.ts +91 -60
  315. package/lib/shared/types/api.ts +105 -8
  316. package/lib/shared/types/cms.test.ts +34 -0
  317. package/lib/shared/types/cms.ts +90 -34
  318. package/lib/shared/types/comment.ts +49 -16
  319. package/lib/shared/types/components.ts +51 -25
  320. package/lib/shared/types/errors.test.ts +1 -6
  321. package/lib/shared/types/errors.ts +3 -7
  322. package/lib/shared/types/experiments.ts +28 -28
  323. package/lib/shared/types/index.ts +25 -2
  324. package/lib/shared/types/permissions.ts +139 -0
  325. package/lib/shared/types/styles.ts +0 -1
  326. package/lib/shared/types/variables.test.ts +4 -13
  327. package/lib/shared/types/variables.ts +51 -30
  328. package/lib/shared/types.ts +1 -2
  329. package/lib/shared/utilityClassConfig.ts +751 -321
  330. package/lib/shared/utilityClassMapper.durability.test.ts +117 -0
  331. package/lib/shared/utilityClassMapper.test.ts +433 -95
  332. package/lib/shared/utilityClassMapper.ts +322 -249
  333. package/lib/shared/utilityClassNames.test.ts +38 -0
  334. package/lib/shared/utilityClassNames.ts +458 -0
  335. package/lib/shared/utils.test.ts +2 -10
  336. package/lib/shared/utils.ts +19 -10
  337. package/lib/shared/validation/cmsValidators.ts +2 -1
  338. package/lib/shared/validation/commentValidators.test.ts +53 -0
  339. package/lib/shared/validation/commentValidators.ts +12 -1
  340. package/lib/shared/validation/index.ts +1 -0
  341. package/lib/shared/validation/permissionsValidators.test.ts +49 -0
  342. package/lib/shared/validation/permissionsValidators.ts +49 -0
  343. package/lib/shared/validation/propValidator.test.ts +19 -21
  344. package/lib/shared/validation/propValidator.ts +13 -18
  345. package/lib/shared/validation/schemas.test.ts +64 -32
  346. package/lib/shared/validation/schemas.ts +616 -345
  347. package/lib/shared/validation/validators.test.ts +3 -8
  348. package/lib/shared/validation/validators.ts +89 -68
  349. package/lib/shared/viewportUnits.integration.test.ts +14 -10
  350. package/lib/shared/viewportUnits.test.ts +24 -23
  351. package/lib/shared/viewportUnits.ts +12 -5
  352. package/lib/test-utils/dom-setup.ts +1 -1
  353. package/lib/test-utils/factories/ConsoleMockFactory.ts +10 -14
  354. package/lib/test-utils/factories/DomMockFactory.ts +17 -23
  355. package/lib/test-utils/factories/EventMockFactory.ts +7 -13
  356. package/lib/test-utils/factories/FetchMockFactory.ts +39 -57
  357. package/lib/test-utils/factories/ServerMockFactory.ts +6 -10
  358. package/lib/test-utils/factories/StoreMockFactory.ts +18 -29
  359. package/lib/test-utils/fixtures.ts +45 -45
  360. package/lib/test-utils/helpers/asyncHelpers.test.ts +15 -18
  361. package/lib/test-utils/helpers/asyncHelpers.ts +11 -20
  362. package/lib/test-utils/helpers.ts +1 -5
  363. package/lib/test-utils/index.ts +0 -4
  364. package/lib/test-utils/mockFactories.ts +13 -19
  365. package/lib/test-utils/mocks.ts +6 -4
  366. package/package.json +3 -5
  367. package/scripts/build-for-publish.mjs +2 -4
  368. package/scripts/build-meno-filter.ts +4 -7
  369. package/tsconfig.json +1 -0
  370. package/vite.config.ts +4 -4
  371. package/build-next.ts +0 -1361
  372. package/build-static.test.ts +0 -424
  373. package/build-static.ts +0 -1074
  374. package/dist/build-static.js +0 -36
  375. package/dist/chunks/chunk-2MHDV5BF.js +0 -251
  376. package/dist/chunks/chunk-2MHDV5BF.js.map +0 -7
  377. package/dist/chunks/chunk-AZQYF6KE.js +0 -559
  378. package/dist/chunks/chunk-AZQYF6KE.js.map +0 -7
  379. package/dist/chunks/chunk-GZHGVVW3.js +0 -322
  380. package/dist/chunks/chunk-GZHGVVW3.js.map +0 -7
  381. package/dist/chunks/chunk-H3GJ4H2U.js.map +0 -7
  382. package/dist/chunks/chunk-I7YIGZXT.js +0 -467
  383. package/dist/chunks/chunk-I7YIGZXT.js.map +0 -7
  384. package/dist/chunks/chunk-IGYR22T6.js +0 -6192
  385. package/dist/chunks/chunk-IGYR22T6.js.map +0 -7
  386. package/dist/chunks/chunk-JGP5A3Y5.js +0 -1136
  387. package/dist/chunks/chunk-JGP5A3Y5.js.map +0 -7
  388. package/dist/chunks/chunk-JGWFTO6P.js.map +0 -7
  389. package/dist/chunks/chunk-O3NAGJP4.js.map +0 -7
  390. package/dist/chunks/chunk-QB2LNO4W.js +0 -77
  391. package/dist/chunks/chunk-QB2LNO4W.js.map +0 -7
  392. package/dist/chunks/chunk-R6XHAFBF.js +0 -3821
  393. package/dist/chunks/chunk-R6XHAFBF.js.map +0 -7
  394. package/dist/chunks/chunk-UB44F4Z2.js.map +0 -7
  395. package/dist/chunks/chunk-WQFG7PAH.js.map +0 -7
  396. package/dist/chunks/chunk-X754AHS5.js.map +0 -7
  397. package/dist/chunks/chunk-YBLHKYFF.js.map +0 -7
  398. package/dist/chunks/configService-R3OGU2UD.js +0 -13
  399. package/dist/chunks/configService-R3OGU2UD.js.map +0 -7
  400. package/dist/chunks/constants-STK2YBIW.js +0 -46
  401. package/dist/chunks/constants-STK2YBIW.js.map +0 -7
  402. package/dist/chunks/fs-JGINUXGL.js.map +0 -7
  403. package/dist/entries/server-router.js +0 -67
  404. package/dist/entries/server-router.js.map +0 -7
  405. package/entries/server-router.tsx +0 -81
  406. package/lib/server/providers/fileSystemPageProvider.ts +0 -160
  407. package/lib/server/webflow/buildWebflow.ts +0 -635
  408. package/lib/server/webflow/index.ts +0 -23
  409. package/lib/server/webflow/nodeToWebflow.test.ts +0 -3170
  410. package/lib/server/webflow/nodeToWebflow.ts +0 -2435
  411. package/lib/server/webflow/styleMapper.test.ts +0 -389
  412. package/lib/server/webflow/styleMapper.ts +0 -695
  413. package/lib/server/webflow/templateWrapper.ts +0 -49
  414. package/lib/server/webflow/types.ts +0 -396
  415. /package/dist/{build-static.js.map → chunks/fs-G3ANWEFP.js.map} +0 -0
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  NODE_TYPE,
3
3
  init_constants
4
- } from "../../chunks/chunk-YBLHKYFF.js";
4
+ } from "../../chunks/chunk-AR7LHIFY.js";
5
5
  import "../../chunks/chunk-KSBZ2L7C.js";
6
6
 
7
7
  // lib/test-utils/mocks.ts
@@ -28,7 +28,7 @@ function createMockComponentNode(overrides) {
28
28
  ...overrides
29
29
  };
30
30
  }
31
- function createMockComponentDefinition(name, overrides) {
31
+ function createMockComponentDefinition(_name, overrides) {
32
32
  return {
33
33
  component: {
34
34
  interface: {},
@@ -241,7 +241,7 @@ function createMockPageProvider(pages = {}) {
241
241
  function createMockFs(files = {}) {
242
242
  const fileSystem = { ...files };
243
243
  return {
244
- readFile: mock(async (path, encoding) => {
244
+ readFile: mock(async (path, _encoding) => {
245
245
  if (path in fileSystem) {
246
246
  return fileSystem[path];
247
247
  }
@@ -261,7 +261,7 @@ function createMockFs(files = {}) {
261
261
  delete fileSystem[path];
262
262
  }),
263
263
  readdir: mock(async (dir) => {
264
- const normalizedDir = dir.endsWith("/") ? dir : dir + "/";
264
+ const normalizedDir = dir.endsWith("/") ? dir : `${dir}/`;
265
265
  const entries = /* @__PURE__ */ new Set();
266
266
  for (const path of Object.keys(fileSystem)) {
267
267
  if (path.startsWith(normalizedDir)) {
@@ -419,7 +419,7 @@ function createTestContainer() {
419
419
  function cleanupTestContainer(container) {
420
420
  try {
421
421
  document.body.removeChild(container);
422
- } catch (e) {
422
+ } catch (_e) {
423
423
  }
424
424
  }
425
425
 
@@ -449,7 +449,7 @@ function createMockCSSStyleDeclaration(initial) {
449
449
  }
450
450
  }
451
451
  return new Proxy(styles, {
452
- get(target, prop) {
452
+ get(_target, prop) {
453
453
  if (prop === "setProperty") {
454
454
  return (name, value) => {
455
455
  styles[name] = value;
@@ -474,9 +474,7 @@ function createMockCSSStyleDeclaration(initial) {
474
474
  });
475
475
  }
476
476
  function createTypedMockHTMLElement(options = {}) {
477
- const attributes = new Map(
478
- Object.entries(options.attributes || {})
479
- );
477
+ const attributes = new Map(Object.entries(options.attributes || {}));
480
478
  const eventListeners = /* @__PURE__ */ new Map();
481
479
  const childNodes = [];
482
480
  const element = {
@@ -514,7 +512,9 @@ function createTypedMockHTMLElement(options = {}) {
514
512
  }),
515
513
  dispatchEvent: mock2((event) => {
516
514
  const listeners = eventListeners.get(event.type);
517
- listeners?.forEach((l) => l(event));
515
+ listeners?.forEach((l) => {
516
+ l(event);
517
+ });
518
518
  return true;
519
519
  }),
520
520
  appendChild: mock2((child) => {
@@ -631,7 +631,9 @@ function createTypedMockWindow(options = {}) {
631
631
  }),
632
632
  dispatchEvent: mock2((event) => {
633
633
  const listeners = eventListeners.get(event.type);
634
- listeners?.forEach((l) => l(event));
634
+ listeners?.forEach((l) => {
635
+ l(event);
636
+ });
635
637
  return true;
636
638
  }),
637
639
  getComputedStyle: mock2(() => createMockCSSStyleDeclaration()),
@@ -681,7 +683,9 @@ function createTypedMockDocument(options = {}) {
681
683
  }),
682
684
  dispatchEvent: mock2((event) => {
683
685
  const listeners = eventListeners.get(event.type);
684
- listeners?.forEach((l) => l(event));
686
+ listeners?.forEach((l) => {
687
+ l(event);
688
+ });
685
689
  return true;
686
690
  }),
687
691
  head: createTypedMockHTMLElement({ tagName: "HEAD" }),
@@ -722,9 +726,7 @@ function createMockResponse(config) {
722
726
  json: config.json ?? (() => Promise.resolve({})),
723
727
  text: config.text ?? (() => Promise.resolve("")),
724
728
  blob: config.blob ?? (() => Promise.resolve(new Blob())),
725
- clone: function() {
726
- return createMockResponse(config);
727
- },
729
+ clone: () => createMockResponse(config),
728
730
  arrayBuffer: () => Promise.resolve(new ArrayBuffer(0)),
729
731
  formData: () => Promise.resolve(new FormData()),
730
732
  body: null,
@@ -737,41 +739,39 @@ function createMockResponse(config) {
737
739
  function createTypedFetchMock(config = {}) {
738
740
  const calls = [];
739
741
  const responses = new Map(config.responses || []);
740
- const mockFn = mock3(
741
- async (input, init) => {
742
- const url = typeof input === "string" ? input : input.toString();
743
- calls.push({ url, options: init });
744
- if (config.delay) {
745
- await new Promise((resolve) => setTimeout(resolve, config.delay));
742
+ const mockFn = mock3(async (input, init) => {
743
+ const url = typeof input === "string" ? input : input.toString();
744
+ calls.push({ url, options: init });
745
+ if (config.delay) {
746
+ await new Promise((resolve) => setTimeout(resolve, config.delay));
747
+ }
748
+ let responseConfig;
749
+ for (const [pattern, response] of responses) {
750
+ if (typeof pattern === "string" && url === pattern) {
751
+ responseConfig = response;
752
+ break;
746
753
  }
747
- let responseConfig;
748
- for (const [pattern, response] of responses) {
749
- if (typeof pattern === "string" && url === pattern) {
750
- responseConfig = response;
751
- break;
752
- }
753
- if (typeof pattern === "string" && url.includes(pattern)) {
754
- responseConfig = response;
755
- break;
756
- }
757
- if (pattern instanceof RegExp && pattern.test(url)) {
758
- responseConfig = response;
759
- break;
760
- }
754
+ if (typeof pattern === "string" && url.includes(pattern)) {
755
+ responseConfig = response;
756
+ break;
761
757
  }
762
- if (!responseConfig && config.defaultResponse) {
763
- responseConfig = config.defaultResponse;
758
+ if (pattern instanceof RegExp && pattern.test(url)) {
759
+ responseConfig = response;
760
+ break;
764
761
  }
765
- if (!responseConfig) {
766
- if (config.throwOnUnmatched) {
767
- throw new Error(`Unmatched fetch request: ${url}`);
768
- }
769
- return createMockResponse({ status: 404, ok: false });
762
+ }
763
+ if (!responseConfig && config.defaultResponse) {
764
+ responseConfig = config.defaultResponse;
765
+ }
766
+ if (!responseConfig) {
767
+ if (config.throwOnUnmatched) {
768
+ throw new Error(`Unmatched fetch request: ${url}`);
770
769
  }
771
- const resolvedConfig = typeof responseConfig === "function" ? responseConfig() : responseConfig;
772
- return createMockResponse(resolvedConfig);
770
+ return createMockResponse({ status: 404, ok: false });
773
771
  }
774
- );
772
+ const resolvedConfig = typeof responseConfig === "function" ? responseConfig() : responseConfig;
773
+ return createMockResponse(resolvedConfig);
774
+ });
775
775
  mockFn._calls = calls;
776
776
  mockFn._reset = () => {
777
777
  calls.length = 0;
@@ -1063,19 +1063,19 @@ function createTypedMockNodeStore(initialState = {}) {
1063
1063
  state.isDirty = false;
1064
1064
  store.isDirty = false;
1065
1065
  }),
1066
- updateNode: mock5((path, updates) => {
1066
+ updateNode: mock5((_path, _updates) => {
1067
1067
  state.isDirty = true;
1068
1068
  store.isDirty = true;
1069
1069
  }),
1070
- deleteNode: mock5((path) => {
1070
+ deleteNode: mock5((_path) => {
1071
1071
  state.isDirty = true;
1072
1072
  store.isDirty = true;
1073
1073
  }),
1074
- addNode: mock5((parentPath, node, index) => {
1074
+ addNode: mock5((_parentPath, _node, _index) => {
1075
1075
  state.isDirty = true;
1076
1076
  store.isDirty = true;
1077
1077
  }),
1078
- moveNode: mock5((fromPath, toPath) => {
1078
+ moveNode: mock5((_fromPath, _toPath) => {
1079
1079
  state.isDirty = true;
1080
1080
  store.isDirty = true;
1081
1081
  }),
@@ -1120,12 +1120,8 @@ function createTypedMockComponentStore(initialState = {}) {
1120
1120
  function createTypedMockEditorServices() {
1121
1121
  return {
1122
1122
  fileService: {
1123
- loadAllFiles: mock5(
1124
- () => Promise.resolve({ pages: [], components: [] })
1125
- ),
1126
- loadFileData: mock5(
1127
- () => Promise.resolve({ component: { type: "div", children: [] } })
1128
- ),
1123
+ loadAllFiles: mock5(() => Promise.resolve({ pages: [], components: [] })),
1124
+ loadFileData: mock5(() => Promise.resolve({ component: { type: "div", children: [] } })),
1129
1125
  saveFileData: mock5(() => Promise.resolve()),
1130
1126
  saveComponentJS: mock5(() => Promise.resolve()),
1131
1127
  saveComponentCSS: mock5(() => Promise.resolve())
@@ -1143,12 +1139,8 @@ function createTypedMockEditorServices() {
1143
1139
  },
1144
1140
  fileStoreService: {
1145
1141
  loadFiles: mock5(() => Promise.resolve()),
1146
- selectFile: mock5(
1147
- () => Promise.resolve({ component: { type: "div", children: [] } })
1148
- ),
1149
- reloadSelectedFilePreservingSelection: mock5(
1150
- () => Promise.resolve({ component: { type: "div", children: [] } })
1151
- )
1142
+ selectFile: mock5(() => Promise.resolve({ component: { type: "div", children: [] } })),
1143
+ reloadSelectedFilePreservingSelection: mock5(() => Promise.resolve({ component: { type: "div", children: [] } }))
1152
1144
  }
1153
1145
  };
1154
1146
  }
@@ -1165,17 +1157,17 @@ function createTypedConsoleSpy() {
1165
1157
  trace: console.trace
1166
1158
  };
1167
1159
  const mocks = {
1168
- log: mock6((...args) => {
1160
+ log: mock6((..._args) => {
1169
1161
  }),
1170
- warn: mock6((...args) => {
1162
+ warn: mock6((..._args) => {
1171
1163
  }),
1172
- error: mock6((...args) => {
1164
+ error: mock6((..._args) => {
1173
1165
  }),
1174
- info: mock6((...args) => {
1166
+ info: mock6((..._args) => {
1175
1167
  }),
1176
- debug: mock6((...args) => {
1168
+ debug: mock6((..._args) => {
1177
1169
  }),
1178
- trace: mock6((...args) => {
1170
+ trace: mock6((..._args) => {
1179
1171
  })
1180
1172
  };
1181
1173
  console.log = mocks.log;
@@ -1225,7 +1217,7 @@ function captureConsole(methods) {
1225
1217
  const allMethods = ["log", "warn", "error", "info", "debug", "trace"];
1226
1218
  for (const method of allMethods) {
1227
1219
  if (!methods.includes(method)) {
1228
- const original = {
1220
+ const _original = {
1229
1221
  log: console.log,
1230
1222
  warn: console.warn,
1231
1223
  error: console.error,
@@ -1288,9 +1280,7 @@ function createPassthroughConsoleSpy() {
1288
1280
  },
1289
1281
  wasCalledWith: (method, ...args) => {
1290
1282
  const calls = mocks[method];
1291
- return (calls.mock?.calls || []).some(
1292
- (call) => args.every((arg, i) => call[i] === arg)
1293
- );
1283
+ return (calls.mock?.calls || []).some((call) => args.every((arg, i) => call[i] === arg));
1294
1284
  },
1295
1285
  clearCalls: () => {
1296
1286
  for (const method of Object.values(mocks)) {
@@ -1380,7 +1370,7 @@ function createTypedMockFs(initialFiles = {}) {
1380
1370
  delete files[path];
1381
1371
  }),
1382
1372
  readdir: mock7(async (dir) => {
1383
- const normalizedDir = dir.endsWith("/") ? dir : dir + "/";
1373
+ const normalizedDir = dir.endsWith("/") ? dir : `${dir}/`;
1384
1374
  const entries = /* @__PURE__ */ new Set();
1385
1375
  for (const path of Object.keys(files)) {
1386
1376
  if (path.startsWith(normalizedDir)) {
@@ -1439,10 +1429,7 @@ async function waitForMockCall(mockFn, options = {}) {
1439
1429
  }
1440
1430
  async function waitForElement(selector, options = {}) {
1441
1431
  const { container = document, timeout = 5e3 } = options;
1442
- await waitFor(
1443
- () => container.querySelector(selector) !== null,
1444
- { timeout }
1445
- );
1432
+ await waitFor(() => container.querySelector(selector) !== null, { timeout });
1446
1433
  const element = container.querySelector(selector);
1447
1434
  if (!element) {
1448
1435
  throw new Error(`Element not found: ${selector}`);
@@ -1451,10 +1438,7 @@ async function waitForElement(selector, options = {}) {
1451
1438
  }
1452
1439
  async function waitForElementToBeRemoved(selector, options = {}) {
1453
1440
  const { container = document, timeout = 5e3 } = options;
1454
- await waitFor(
1455
- () => container.querySelector(selector) === null,
1456
- { timeout }
1457
- );
1441
+ await waitFor(() => container.querySelector(selector) === null, { timeout });
1458
1442
  }
1459
1443
  export {
1460
1444
  KeyboardShortcuts,