@ecopages/core 0.2.0-beta.31 → 0.2.0-beta.33

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 (343) hide show
  1. package/README.md +1 -0
  2. package/package.json +90 -3
  3. package/src/adapters/abstract/application-adapter.d.ts +0 -8
  4. package/src/adapters/abstract/application-adapter.js +252 -261
  5. package/src/adapters/abstract/router-adapter.js +12 -4
  6. package/src/adapters/abstract/segment-path-matcher.js +132 -134
  7. package/src/adapters/abstract/server-adapter.js +22 -14
  8. package/src/adapters/abstract/ws-pattern-matcher.js +24 -26
  9. package/src/adapters/bun/bun-user-websocket-lifecycle.js +83 -86
  10. package/src/adapters/bun/client-bridge.js +51 -50
  11. package/src/adapters/bun/create-app.js +171 -161
  12. package/src/adapters/bun/hmr-manager.js +62 -57
  13. package/src/adapters/bun/index.js +2 -31
  14. package/src/adapters/bun/runtime-host.js +61 -54
  15. package/src/adapters/bun/server-adapter.d.ts +0 -1
  16. package/src/adapters/bun/server-adapter.js +561 -561
  17. package/src/adapters/bun/static-preview-host.js +43 -46
  18. package/src/adapters/create-app.js +11 -14
  19. package/src/adapters/index.js +2 -30
  20. package/src/adapters/node/create-app.js +123 -129
  21. package/src/adapters/node/http-request-bridge.js +147 -106
  22. package/src/adapters/node/node-client-bridge.js +62 -64
  23. package/src/adapters/node/node-hmr-manager.js +58 -48
  24. package/src/adapters/node/runtime-host.js +96 -89
  25. package/src/adapters/node/server-adapter-dependencies.js +18 -21
  26. package/src/adapters/node/server-adapter.d.ts +0 -1
  27. package/src/adapters/node/server-adapter.js +347 -326
  28. package/src/adapters/node/static-content-server.js +172 -191
  29. package/src/adapters/node/static-preview-host.js +87 -78
  30. package/src/adapters/shared/hmr/dev-transform-entrypoint-registry.d.ts +16 -0
  31. package/src/adapters/shared/hmr/dev-transform-entrypoint-registry.js +32 -0
  32. package/src/adapters/shared/hmr/hmr-html-response.js +46 -32
  33. package/src/adapters/shared/hmr/shared-hmr-manager.d.ts +29 -38
  34. package/src/adapters/shared/hmr/shared-hmr-manager.js +439 -425
  35. package/src/adapters/shared/http/api-request-pipeline.js +122 -119
  36. package/src/adapters/shared/http/api-response.js +77 -77
  37. package/src/adapters/shared/http/create-body-response.js +22 -19
  38. package/src/adapters/shared/http/define-api-handler.js +41 -55
  39. package/src/adapters/shared/http/explicit-static-render-preparation.js +26 -23
  40. package/src/adapters/shared/http/explicit-static-route-matcher.js +55 -62
  41. package/src/adapters/shared/http/file-route-middleware-pipeline.js +81 -75
  42. package/src/adapters/shared/http/fs-server-response-factory.js +101 -96
  43. package/src/adapters/shared/http/fs-server-response-matcher.js +239 -257
  44. package/src/adapters/shared/http/run-middleware-chain.js +15 -15
  45. package/src/adapters/shared/runtime/application-adapter.js +72 -87
  46. package/src/adapters/shared/runtime/copy-runtime-public-dir.js +25 -22
  47. package/src/adapters/shared/runtime/port-manager.js +207 -177
  48. package/src/adapters/shared/runtime/render-context.js +94 -79
  49. package/src/adapters/shared/runtime/runtime-app-bootstrap.js +33 -38
  50. package/src/adapters/shared/runtime/runtime-host.js +1 -0
  51. package/src/adapters/shared/runtime/runtime-server-lifecycle.d.ts +2 -3
  52. package/src/adapters/shared/runtime/runtime-server-lifecycle.js +65 -51
  53. package/src/adapters/shared/runtime/server-adapter.d.ts +1 -0
  54. package/src/adapters/shared/runtime/server-adapter.js +233 -217
  55. package/src/adapters/shared/runtime/server-route-handler.js +74 -70
  56. package/src/adapters/shared/runtime/server-static-builder.js +165 -184
  57. package/src/adapters/shared/runtime/static-preview-host.js +1 -0
  58. package/src/adapters/shared/ws/node-http-websocket-upgrades.js +97 -88
  59. package/src/adapters/shared/ws/websocket-lifecycle.js +57 -50
  60. package/src/build/README.md +52 -1
  61. package/src/build/app-build-manifest-runtime.js +129 -108
  62. package/src/build/browser/browser-runtime-manifest.js +47 -50
  63. package/src/build/browser/browser-runtime-plugin-helpers.js +32 -12
  64. package/src/build/browser/browser-runtime-plugin.js +206 -160
  65. package/src/build/browser/jsx-ownership-plugins.js +51 -37
  66. package/src/build/browser/lit-static-render-worker-context.js +3 -5
  67. package/src/build/build-adapter.js +276 -139
  68. package/src/build/cache/build-input-fingerprint.js +28 -26
  69. package/src/build/cache/cache-constants.js +4 -6
  70. package/src/build/cache/cache-keys.js +64 -56
  71. package/src/build/cache/pages-unified-graph-build.js +179 -178
  72. package/src/build/cache/production-build-cache.js +47 -54
  73. package/src/build/cache/server-entry-build-cache.js +134 -146
  74. package/src/build/contracts/build-contracts.d.ts +4 -4
  75. package/src/build/contracts/build-contracts.js +1 -0
  76. package/src/build/contracts/build-manifest.js +58 -43
  77. package/src/build/contracts/build-types.js +1 -0
  78. package/src/build/rolldown/rolldown-adapter-helpers.d.ts +9 -0
  79. package/src/build/rolldown/rolldown-adapter-helpers.js +405 -298
  80. package/src/build/rolldown/rolldown-build-adapter.js +53 -61
  81. package/src/build/rolldown/rolldown-build-invocation-metrics.js +31 -35
  82. package/src/build/rolldown/rolldown-plugin-bridge.js +264 -194
  83. package/src/build/rolldown/rolldown-source-transform-pass.js +59 -50
  84. package/src/build/rolldown/runtime-build-output-normalizer.js +227 -175
  85. package/src/build/rolldown/server-side-css-shim-plugin.js +54 -31
  86. package/src/build/runtime/build-profile-options.js +36 -36
  87. package/src/build/runtime/build-request-identity.js +70 -45
  88. package/src/build/runtime/build-request-policy.js +80 -42
  89. package/src/build/runtime/build-runtime.js +64 -54
  90. package/src/build/runtime/deduping-build-executor.js +38 -32
  91. package/src/build/runtime/parallel-build-executor.js +58 -50
  92. package/src/build/runtime/serialized-build-executor.js +78 -62
  93. package/src/cache/index.js +6 -6
  94. package/src/cache/module-parse-cache.js +99 -68
  95. package/src/client/navigation-scripts/classification.js +45 -37
  96. package/src/client/navigation-scripts/index.js +3 -23
  97. package/src/client/navigation-scripts/navigation-scripts.test.browser.js +58 -62
  98. package/src/client/navigation-scripts/registry.js +15 -11
  99. package/src/client/navigation-scripts/rerun-queue.js +81 -64
  100. package/src/client/scroll.js +32 -24
  101. package/src/client/scroll.test.browser.js +27 -33
  102. package/src/client/view-transitions.js +68 -55
  103. package/src/config/config-builder.d.ts +8 -0
  104. package/src/config/config-builder.js +637 -642
  105. package/src/config/constants.js +44 -24
  106. package/src/declarations.d.ts +1 -0
  107. package/src/dev/README.md +24 -0
  108. package/src/dev/client-bridge-registry.js +7 -12
  109. package/src/dev/dev-client-ownership.js +7 -5
  110. package/src/dev/hmr-manager-registry.js +7 -12
  111. package/src/dev/host-runtime.js +25 -30
  112. package/src/dev/runtime-server-started-message.js +2 -5
  113. package/src/dev/sc-server.js +106 -103
  114. package/src/dev/transform-server/dev-transform-bundler.d.ts +24 -0
  115. package/src/dev/transform-server/dev-transform-bundler.js +79 -0
  116. package/src/dev/transform-server/dev-transform-externalize-plugin.d.ts +12 -0
  117. package/src/dev/transform-server/dev-transform-externalize-plugin.js +29 -0
  118. package/src/dev/transform-server/dev-transform-import-rewriter.d.ts +16 -0
  119. package/src/dev/transform-server/dev-transform-import-rewriter.js +110 -0
  120. package/src/dev/transform-server/dev-transform-module-kind.d.ts +13 -0
  121. package/src/dev/transform-server/dev-transform-module-kind.js +17 -0
  122. package/src/dev/transform-server/dev-transform-runtime-specifiers.d.ts +5 -0
  123. package/src/dev/transform-server/dev-transform-runtime-specifiers.js +16 -0
  124. package/src/dev/transform-server/dev-transform-server.d.ts +41 -0
  125. package/src/dev/transform-server/dev-transform-server.js +191 -0
  126. package/src/dev/transform-server/dev-transform-url.d.ts +13 -0
  127. package/src/dev/transform-server/dev-transform-url.js +58 -0
  128. package/src/dev/transform-server/dev-transform-vendor-registry.d.ts +27 -0
  129. package/src/dev/transform-server/dev-transform-vendor-registry.js +145 -0
  130. package/src/dev/transform-server/index.d.ts +6 -0
  131. package/src/dev/transform-server/index.js +4 -0
  132. package/src/dev/transform-server/types.d.ts +15 -0
  133. package/src/dev/transform-server/types.js +1 -0
  134. package/src/dev-toolbar/README.md +51 -0
  135. package/src/dev-toolbar/define-dev-tool.d.ts +21 -0
  136. package/src/dev-toolbar/define-dev-tool.js +9 -0
  137. package/src/dev-toolbar/dev-toolbar-config.d.ts +25 -0
  138. package/src/dev-toolbar/dev-toolbar-config.js +19 -0
  139. package/src/dev-toolbar/dev-toolbar-host.d.ts +49 -0
  140. package/src/dev-toolbar/dev-toolbar-host.js +117 -0
  141. package/src/dev-toolbar/dev-toolbar-html-response.d.ts +11 -0
  142. package/src/dev-toolbar/dev-toolbar-html-response.js +14 -0
  143. package/src/dev-toolbar/dev-toolbar-manifest.d.ts +15 -0
  144. package/src/dev-toolbar/dev-toolbar-manifest.js +52 -0
  145. package/src/dev-toolbar/dev-toolbar-package.d.ts +31 -0
  146. package/src/dev-toolbar/dev-toolbar-package.js +72 -0
  147. package/src/dev-toolbar/dev-toolbar-runtime-paths.d.ts +10 -0
  148. package/src/dev-toolbar/dev-toolbar-runtime-paths.js +13 -0
  149. package/src/diagnostics/request-build-dedupe.js +34 -28
  150. package/src/diagnostics/startup-trace.d.ts +10 -1
  151. package/src/diagnostics/startup-trace.js +269 -241
  152. package/src/eco/README.md +6 -0
  153. package/src/eco/eco-declared-component.js +19 -14
  154. package/src/eco/eco.browser.js +56 -69
  155. package/src/eco/eco.js +156 -96
  156. package/src/eco/eco.types.js +5 -0
  157. package/src/eco/eco.utils.js +1 -10
  158. package/src/eco/global-injector-map.js +55 -41
  159. package/src/eco/lazy-injector-map.js +90 -60
  160. package/src/eco/module-dependencies.js +52 -44
  161. package/src/eco/page-layout-normalization.js +59 -49
  162. package/src/errors/http-error.js +50 -49
  163. package/src/errors/index.js +3 -12
  164. package/src/errors/locals-access-error.js +5 -8
  165. package/src/errors/undeclared-component-dependency-error.js +15 -15
  166. package/src/global/app-logger.js +3 -6
  167. package/src/hmr/README.md +10 -0
  168. package/src/hmr/client/hmr-runtime.js +117 -113
  169. package/src/hmr/client/module-update.d.ts +13 -0
  170. package/src/hmr/client/module-update.js +39 -0
  171. package/src/hmr/hmr-asset-paths.d.ts +14 -0
  172. package/src/hmr/hmr-asset-paths.js +22 -0
  173. package/src/hmr/hmr-entrypoint-output.d.ts +11 -39
  174. package/src/hmr/hmr-entrypoint-output.js +28 -54
  175. package/src/hmr/hmr-file-change-prep.js +13 -16
  176. package/src/hmr/hmr-registered-entrypoints-context.d.ts +7 -0
  177. package/src/hmr/hmr-registered-entrypoints-context.js +1 -0
  178. package/src/hmr/hmr-runtime-paths.d.ts +10 -0
  179. package/src/hmr/hmr-runtime-paths.js +13 -0
  180. package/src/hmr/hmr-strategy.d.ts +5 -11
  181. package/src/hmr/hmr-strategy.js +113 -61
  182. package/src/hmr/strategies/default-hmr-strategy.js +55 -33
  183. package/src/hmr/strategies/js-hmr-strategy.d.ts +6 -95
  184. package/src/hmr/strategies/js-hmr-strategy.js +104 -217
  185. package/src/hmr/strategies/server-rendered-template-hmr-strategy.js +33 -27
  186. package/src/index.browser.js +1 -4
  187. package/src/index.d.ts +1 -0
  188. package/src/index.js +6 -47
  189. package/src/integrations/ghtml/ghtml-renderer.js +12 -7
  190. package/src/integrations/ghtml/ghtml.constants.js +1 -4
  191. package/src/integrations/ghtml/ghtml.plugin.js +9 -12
  192. package/src/islands/README.md +25 -0
  193. package/src/islands/island-host.d.ts +37 -0
  194. package/src/islands/island-host.js +55 -0
  195. package/src/plugins/alias-resolver-cache.js +114 -97
  196. package/src/plugins/alias-resolver-plugin.js +33 -47
  197. package/src/plugins/define-integration.js +18 -17
  198. package/src/plugins/eco-component-meta-plugin.js +387 -145
  199. package/src/plugins/foreign-jsx-override-plugin.js +49 -35
  200. package/src/plugins/integration-plugin.js +212 -203
  201. package/src/plugins/jsx-import-source.utils.js +16 -21
  202. package/src/plugins/processor.js +159 -149
  203. package/src/plugins/runtime-capability.js +1 -0
  204. package/src/plugins/source-transform.js +109 -79
  205. package/src/plugins/tsconfig-import-resolver.d.ts +17 -0
  206. package/src/plugins/tsconfig-import-resolver.js +218 -142
  207. package/src/route-renderer/README.md +12 -1
  208. package/src/route-renderer/orchestration/document-shell/document-shell-render.service.js +143 -136
  209. package/src/route-renderer/orchestration/document-shell/layout-shell-props.service.js +33 -27
  210. package/src/route-renderer/orchestration/foreign-child/component-render-context.js +173 -126
  211. package/src/route-renderer/orchestration/foreign-child/foreign-child-output.utils.js +165 -154
  212. package/src/route-renderer/orchestration/foreign-child/foreign-subtree-execution.service.js +329 -341
  213. package/src/route-renderer/orchestration/foreign-child/owning-renderer-resolution.js +33 -32
  214. package/src/route-renderer/orchestration/integration-renderer.d.ts +1 -0
  215. package/src/route-renderer/orchestration/integration-renderer.js +731 -750
  216. package/src/route-renderer/orchestration/integration-renderer.test-fixtures.js +168 -172
  217. package/src/route-renderer/orchestration/ownership-graph/component-graph-collectors.js +119 -131
  218. package/src/route-renderer/orchestration/ownership-graph/component-graph.js +82 -91
  219. package/src/route-renderer/orchestration/ownership-graph/ownership-validation.service.js +82 -76
  220. package/src/route-renderer/orchestration/page-browser-graph/global-injector-assets.service.js +29 -31
  221. package/src/route-renderer/orchestration/page-browser-graph/page-browser-graph-contribution.loader.js +10 -6
  222. package/src/route-renderer/orchestration/page-browser-graph/page-browser-graph-merge.utils.js +31 -28
  223. package/src/route-renderer/orchestration/page-browser-graph/page-browser-graph-session.d.ts +3 -0
  224. package/src/route-renderer/orchestration/page-browser-graph/page-browser-graph-session.js +430 -413
  225. package/src/route-renderer/orchestration/page-browser-graph/page-browser-graph.service.js +191 -212
  226. package/src/route-renderer/orchestration/page-browser-graph/processed-asset-dedupe.js +20 -24
  227. package/src/route-renderer/orchestration/route-pipeline/integration-route-render-adapter.d.ts +4 -0
  228. package/src/route-renderer/orchestration/route-pipeline/integration-route-render-adapter.js +24 -24
  229. package/src/route-renderer/orchestration/route-pipeline/marker-artifact.utils.js +22 -24
  230. package/src/route-renderer/orchestration/route-pipeline/robots-meta.contribution.js +41 -34
  231. package/src/route-renderer/orchestration/route-pipeline/route-html-finalization.service.d.ts +5 -0
  232. package/src/route-renderer/orchestration/route-pipeline/route-html-finalization.service.js +42 -22
  233. package/src/route-renderer/orchestration/route-pipeline/route-prepared-options.builder.js +50 -48
  234. package/src/route-renderer/orchestration/route-pipeline/route-prepared-options.utils.js +29 -32
  235. package/src/route-renderer/orchestration/route-pipeline/route-render-orchestrator.js +150 -156
  236. package/src/route-renderer/orchestration/string-markup-renderer.js +48 -51
  237. package/src/route-renderer/page-loading/component-dependency-collection.js +120 -124
  238. package/src/route-renderer/page-loading/declared-asset-collection.js +66 -94
  239. package/src/route-renderer/page-loading/dependency-resolver.js +101 -104
  240. package/src/route-renderer/page-loading/ecopages-virtual-imports.js +68 -54
  241. package/src/route-renderer/page-loading/lazy-entry-collection.js +75 -98
  242. package/src/route-renderer/page-loading/lazy-trigger-planning.js +46 -36
  243. package/src/route-renderer/page-loading/module-declaration-aggregation.js +38 -31
  244. package/src/route-renderer/page-loading/module-declaration-scripts.js +10 -15
  245. package/src/route-renderer/page-loading/page-dependency-bundling.js +156 -113
  246. package/src/route-renderer/page-loading/page-module-loader.js +130 -124
  247. package/src/route-renderer/route-renderer.js +74 -76
  248. package/src/router/README.md +23 -0
  249. package/src/router/client/link-intent.js +55 -39
  250. package/src/router/client/link-intent.test.browser.js +49 -49
  251. package/src/router/client/link-navigation-policy.js +114 -93
  252. package/src/router/client/link-navigation-policy.test.browser.js +70 -80
  253. package/src/router/client/navigation-coordinator.js +235 -211
  254. package/src/router/client/navigation-lifecycle.d.ts +55 -0
  255. package/src/router/client/navigation-lifecycle.js +50 -0
  256. package/src/router/client/navigation-lifecycle.test.browser.d.ts +1 -0
  257. package/src/router/client/navigation-lifecycle.test.browser.js +118 -0
  258. package/src/router/server/route-registry.js +237 -242
  259. package/src/services/assets/asset-processing-service/asset-dependency-keys.js +64 -53
  260. package/src/services/assets/asset-processing-service/asset-processing.service.js +287 -303
  261. package/src/services/assets/asset-processing-service/asset.factory.js +78 -81
  262. package/src/services/assets/asset-processing-service/assets.types.js +1 -0
  263. package/src/services/assets/asset-processing-service/browser-runtime-asset.factory.js +57 -46
  264. package/src/services/assets/asset-processing-service/browser-runtime-entry-resolution.js +106 -69
  265. package/src/services/assets/asset-processing-service/browser-runtime-entry.factory.js +53 -53
  266. package/src/services/assets/asset-processing-service/finalize-processed-asset.js +4 -6
  267. package/src/services/assets/asset-processing-service/grouped-content-bundles.js +79 -80
  268. package/src/services/assets/asset-processing-service/index.js +8 -8
  269. package/src/services/assets/asset-processing-service/inline-content-script-body.js +22 -16
  270. package/src/services/assets/asset-processing-service/materialize-content-script-asset.js +21 -17
  271. package/src/services/assets/asset-processing-service/page-package.js +70 -72
  272. package/src/services/assets/asset-processing-service/processor.interface.js +7 -5
  273. package/src/services/assets/asset-processing-service/processor.registry.js +11 -14
  274. package/src/services/assets/asset-processing-service/processors/base/base-processor.js +59 -62
  275. package/src/services/assets/asset-processing-service/processors/base/base-script-processor.js +102 -117
  276. package/src/services/assets/asset-processing-service/processors/index.js +5 -5
  277. package/src/services/assets/asset-processing-service/processors/script/content-script.processor.js +110 -115
  278. package/src/services/assets/asset-processing-service/processors/script/file-script.processor.js +95 -97
  279. package/src/services/assets/asset-processing-service/processors/script/node-module-script.processor.js +136 -135
  280. package/src/services/assets/asset-processing-service/processors/stylesheet/content-stylesheet.processor.js +27 -29
  281. package/src/services/assets/asset-processing-service/processors/stylesheet/file-stylesheet.processor.js +34 -40
  282. package/src/services/assets/asset-processing-service/processors/stylesheet/stylesheet-processor-pipeline.js +36 -35
  283. package/src/services/assets/asset-processing-service/resolve-integration-plugin.js +14 -16
  284. package/src/services/assets/asset-processing-service/ungrouped-dependency-processing.js +27 -39
  285. package/src/services/assets/browser-bundle.service.js +52 -47
  286. package/src/services/cache/cache.types.js +5 -0
  287. package/src/services/cache/index.js +6 -7
  288. package/src/services/cache/memory-cache-store.js +101 -89
  289. package/src/services/cache/page-cache-service.js +156 -145
  290. package/src/services/cache/page-request-cache-coordinator.service.js +102 -102
  291. package/src/services/html/html-rewriter-provider.service.js +61 -61
  292. package/src/services/html/html-transformer.service.js +249 -266
  293. package/src/services/invalidation/development-invalidation.service.js +252 -241
  294. package/src/services/module-loading/app-module-loader.service.js +1 -0
  295. package/src/services/module-loading/app-server-module-transpiler.service.js +107 -101
  296. package/src/services/module-loading/host-module-loader-registry.js +6 -11
  297. package/src/services/module-loading/module-loading-types.js +1 -0
  298. package/src/services/module-loading/page-module-import.service.js +235 -243
  299. package/src/services/module-loading/route-module-build-cache-registry.js +47 -33
  300. package/src/services/module-loading/route-module-build-cache.js +3 -38
  301. package/src/services/module-loading/route-module-build-cache.store.js +195 -200
  302. package/src/services/module-loading/route-module-build-manifest.js +61 -74
  303. package/src/services/module-loading/route-module-dependency-hasher.js +136 -110
  304. package/src/services/module-loading/server-module-transpiler.service.js +68 -62
  305. package/src/services/module-loading/source-module-support.js +15 -7
  306. package/src/services/runtime-state/dev-graph.service.js +165 -157
  307. package/src/services/runtime-state/entrypoint-dependency-graph.service.js +85 -76
  308. package/src/services/runtime-state/server-invalidation-state.service.js +38 -30
  309. package/src/services/validation/schema-validation-service.js +157 -95
  310. package/src/services/validation/standard-schema.types.js +1 -0
  311. package/src/services/validation/validate-standard-schema.js +13 -13
  312. package/src/static-site-generator/production-page-browser-graph-prebuild.js +35 -19
  313. package/src/static-site-generator/sitemap-routes.js +33 -28
  314. package/src/static-site-generator/sitemap.js +38 -29
  315. package/src/static-site-generator/static-build-invalidation.js +34 -56
  316. package/src/static-site-generator/static-export-context.js +1 -0
  317. package/src/static-site-generator/static-site-generator.js +517 -553
  318. package/src/types/internal-types.d.ts +19 -3
  319. package/src/types/internal-types.js +1 -0
  320. package/src/types/public-types.d.ts +16 -46
  321. package/src/types/public-types.js +1 -0
  322. package/src/utils/deep-merge.js +39 -26
  323. package/src/utils/ecopages-route-info.js +27 -23
  324. package/src/utils/hash.js +3 -6
  325. package/src/utils/html-escaping.js +21 -8
  326. package/src/utils/html.js +1 -4
  327. package/src/utils/invariant.js +11 -10
  328. package/src/utils/locals-utils.js +32 -22
  329. package/src/utils/parse-cli-args.js +73 -65
  330. package/src/utils/path-pattern.js +38 -23
  331. package/src/utils/path-utils.module.js +8 -11
  332. package/src/utils/resolve-entry-file.js +70 -38
  333. package/src/utils/resolve-work-dir.js +23 -27
  334. package/src/utils/runtime.js +24 -33
  335. package/src/utils/server-utils.module.js +60 -52
  336. package/src/utils/static-file-extensions.js +52 -46
  337. package/src/watchers/project-watcher-ignore.js +16 -15
  338. package/src/watchers/project-watcher.js +385 -366
  339. package/src/watchers/project-watcher.test-helpers.js +45 -50
  340. package/src/adapters/shared/hmr/hmr-entrypoint-registrar.d.ts +0 -56
  341. package/src/adapters/shared/hmr/hmr-entrypoint-registrar.js +0 -106
  342. package/src/build/cache/dev-browser-script-cache.d.ts +0 -34
  343. package/src/build/cache/dev-browser-script-cache.js +0 -90
@@ -1,165 +1,153 @@
1
- import path from "node:path";
2
- import { fileSystem } from "@ecopages/file-system";
3
- import { resolveServerAppBuildPlugins } from "../runtime/build-request-policy.js";
4
- import { createBuildInputsFingerprint } from "./build-input-fingerprint.js";
5
- import {
6
- isProductionCacheManifestCurrent,
7
- matchesProductionCacheBuildKey,
8
- matchesProductionCacheFingerprint,
9
- readProductionCacheManifest,
10
- writeProductionCacheManifest
11
- } from "./production-build-cache.js";
12
- import { createPluginCacheKey, getCorePackageVersion } from "./cache-keys.js";
13
- import {
14
- RouteModuleDependencyHasher,
15
- createRouteModuleDependencyHashes
16
- } from "../../services/module-loading/route-module-dependency-hasher.js";
17
- import { resolveInternalExecutionDir } from "../../utils/resolve-work-dir.js";
18
- import { SERVER_BUNDLE_DIR, SERVER_BUNDLE_FILENAME } from "../../utils/resolve-entry-file.js";
19
- import { SERVER_ENTRY_BUILD_CACHE_FILENAME } from "./cache-constants.js";
20
- import { SERVER_ENTRY_BUILD_CACHE_FILENAME as SERVER_ENTRY_BUILD_CACHE_FILENAME2 } from "./cache-constants.js";
21
- const SERVER_BUNDLE_MANIFEST_FILENAME = "manifest.json";
1
+ import path from 'node:path';
2
+ import { fileSystem } from '@ecopages/file-system';
3
+ import { resolveServerAppBuildPlugins } from '../runtime/build-request-policy.js';
4
+ import { createBuildInputsFingerprint } from './build-input-fingerprint.js';
5
+ import { isProductionCacheManifestCurrent, matchesProductionCacheBuildKey, matchesProductionCacheFingerprint, readProductionCacheManifest, writeProductionCacheManifest, } from './production-build-cache.js';
6
+ import { createPluginCacheKey, getCorePackageVersion } from './cache-keys.js';
7
+ import { RouteModuleDependencyHasher, createRouteModuleDependencyHashes, } from '../../services/module-loading/route-module-dependency-hasher.js';
8
+ import { resolveInternalExecutionDir } from '../../utils/resolve-work-dir.js';
9
+ import { SERVER_BUNDLE_DIR, SERVER_BUNDLE_FILENAME } from '../../utils/resolve-entry-file.js';
10
+ import { SERVER_ENTRY_BUILD_CACHE_FILENAME } from './cache-constants.js';
11
+ export { SERVER_ENTRY_BUILD_CACHE_FILENAME } from './cache-constants.js';
12
+ export const SERVER_BUNDLE_MANIFEST_FILENAME = 'manifest.json';
22
13
  function getServerEntryCacheDir(appConfig) {
23
- return path.join(resolveInternalExecutionDir(appConfig), ".server-entry");
14
+ return path.join(resolveInternalExecutionDir(appConfig), '.server-entry');
24
15
  }
25
16
  function getServerEntryCacheManifestPath(appConfig) {
26
- return path.join(getServerEntryCacheDir(appConfig), SERVER_ENTRY_BUILD_CACHE_FILENAME);
17
+ return path.join(getServerEntryCacheDir(appConfig), SERVER_ENTRY_BUILD_CACHE_FILENAME);
27
18
  }
28
19
  function hashDependencyGraph(entryPath, dependencyGraph, hasher, rootDir) {
29
- if (!dependencyGraph) {
30
- return { [path.resolve(entryPath)]: fileSystem.hash(entryPath) };
31
- }
32
- return createRouteModuleDependencyHashes(hasher, { dependencyGraph }, entryPath, rootDir);
20
+ if (!dependencyGraph) {
21
+ return { [path.resolve(entryPath)]: fileSystem.hash(entryPath) };
22
+ }
23
+ return createRouteModuleDependencyHashes(hasher, { dependencyGraph }, entryPath, rootDir);
33
24
  }
25
+ /**
26
+ * Fingerprints the app-owned output-affecting server request policy.
27
+ *
28
+ * @remarks
29
+ * Includes ordered server plugins and JSX ownership plugins via
30
+ * {@link resolveServerAppBuildPlugins}. The versioned prefix intentionally
31
+ * invalidates manifests written before server requests included JSX ownership.
32
+ */
34
33
  function createServerEntryBuildKey(appConfig) {
35
- try {
36
- return [
37
- "server-entry-request-v2",
38
- "node",
39
- "esm",
40
- "external-packages",
41
- createPluginCacheKey(resolveServerAppBuildPlugins(appConfig))
42
- ].join("::");
43
- } catch {
44
- return "server-entry-request-v2::node::esm::external-packages";
45
- }
34
+ try {
35
+ return [
36
+ 'server-entry-request-v2',
37
+ 'node',
38
+ 'esm',
39
+ 'external-packages',
40
+ createPluginCacheKey(resolveServerAppBuildPlugins(appConfig)),
41
+ ].join('::');
42
+ }
43
+ catch {
44
+ return 'server-entry-request-v2::node::esm::external-packages';
45
+ }
46
46
  }
47
- function getServerBundleOutputPaths(appConfig) {
48
- const distDir = appConfig.absolutePaths?.distDir ?? path.join(appConfig.rootDir, appConfig.distDir);
49
- const serverOutdir = path.join(distDir, SERVER_BUNDLE_DIR);
50
- const serverEntryPath = path.join(serverOutdir, SERVER_BUNDLE_FILENAME);
51
- const manifestPath = path.join(serverOutdir, SERVER_BUNDLE_MANIFEST_FILENAME);
52
- return { distDir, serverOutdir, serverEntryPath, manifestPath };
47
+ export function getServerBundleOutputPaths(appConfig) {
48
+ const distDir = appConfig.absolutePaths?.distDir ?? path.join(appConfig.rootDir, appConfig.distDir);
49
+ const serverOutdir = path.join(distDir, SERVER_BUNDLE_DIR);
50
+ const serverEntryPath = path.join(serverOutdir, SERVER_BUNDLE_FILENAME);
51
+ const manifestPath = path.join(serverOutdir, SERVER_BUNDLE_MANIFEST_FILENAME);
52
+ return { distDir, serverOutdir, serverEntryPath, manifestPath };
53
53
  }
54
- function readServerEntryBuildCacheManifest(appConfig) {
55
- return readProductionCacheManifest(getServerEntryCacheManifestPath(appConfig));
54
+ export function readServerEntryBuildCacheManifest(appConfig) {
55
+ return readProductionCacheManifest(getServerEntryCacheManifestPath(appConfig));
56
56
  }
57
57
  function writeServerEntryBuildCacheManifest(appConfig, manifest) {
58
- writeProductionCacheManifest(
59
- path.join(getServerEntryCacheDir(appConfig), SERVER_ENTRY_BUILD_CACHE_FILENAME),
60
- manifest
61
- );
58
+ writeProductionCacheManifest(path.join(getServerEntryCacheDir(appConfig), SERVER_ENTRY_BUILD_CACHE_FILENAME), manifest);
62
59
  }
63
- function writeServerBundleDeployManifest(appConfig, serverEntryPath) {
64
- const { distDir, manifestPath } = getServerBundleOutputPaths(appConfig);
65
- fileSystem.ensureDir(path.dirname(manifestPath));
66
- const payload = {
67
- serverEntry: path.relative(path.dirname(manifestPath), serverEntryPath) || SERVER_BUNDLE_FILENAME,
68
- distDir,
69
- builtAt: Date.now()
70
- };
71
- fileSystem.write(manifestPath, `${JSON.stringify(payload, null, " ")}
72
- `);
60
+ export function writeServerBundleDeployManifest(appConfig, serverEntryPath) {
61
+ const { distDir, manifestPath } = getServerBundleOutputPaths(appConfig);
62
+ fileSystem.ensureDir(path.dirname(manifestPath));
63
+ const payload = {
64
+ serverEntry: path.relative(path.dirname(manifestPath), serverEntryPath) || SERVER_BUNDLE_FILENAME,
65
+ distDir,
66
+ builtAt: Date.now(),
67
+ };
68
+ fileSystem.write(manifestPath, `${JSON.stringify(payload, null, '\t')}\n`);
73
69
  }
74
- function lookupServerEntryBuildCache(options) {
75
- if (options.force) {
76
- return void 0;
77
- }
78
- if (process.env.NODE_ENV !== "production") {
79
- return void 0;
80
- }
81
- const entryPath = path.resolve(options.entryPath);
82
- const entryHash = fileSystem.hash(entryPath);
83
- const buildInputsFingerprint = createBuildInputsFingerprint(options.appConfig);
84
- const buildKey = createServerEntryBuildKey(options.appConfig);
85
- const manifest = readServerEntryBuildCacheManifest(options.appConfig);
86
- if (!manifest) {
87
- return void 0;
88
- }
89
- if (!isProductionCacheManifestCurrent(manifest, getCorePackageVersion())) {
90
- return void 0;
91
- }
92
- if (manifest.entryPath !== entryPath || manifest.entryHash !== entryHash || !matchesProductionCacheFingerprint(manifest, buildInputsFingerprint) || !matchesProductionCacheBuildKey(manifest, buildKey)) {
93
- return void 0;
94
- }
95
- const hasher = new RouteModuleDependencyHasher();
96
- if (!hasher.matchesStoredHashes(manifest.dependencyHashes, entryPath, entryHash)) {
97
- return void 0;
98
- }
99
- const existingOutputs = manifest.outputPaths.filter((outputPath) => fileSystem.exists(outputPath));
100
- if (existingOutputs.length === 0) {
101
- return void 0;
102
- }
103
- return {
104
- manifest,
105
- outputPaths: existingOutputs
106
- };
70
+ export function lookupServerEntryBuildCache(options) {
71
+ if (options.force) {
72
+ return undefined;
73
+ }
74
+ if (process.env.NODE_ENV !== 'production') {
75
+ return undefined;
76
+ }
77
+ const entryPath = path.resolve(options.entryPath);
78
+ const entryHash = fileSystem.hash(entryPath);
79
+ const buildInputsFingerprint = createBuildInputsFingerprint(options.appConfig);
80
+ const buildKey = createServerEntryBuildKey(options.appConfig);
81
+ const manifest = readServerEntryBuildCacheManifest(options.appConfig);
82
+ if (!manifest) {
83
+ return undefined;
84
+ }
85
+ if (!isProductionCacheManifestCurrent(manifest, getCorePackageVersion())) {
86
+ return undefined;
87
+ }
88
+ if (manifest.entryPath !== entryPath ||
89
+ manifest.entryHash !== entryHash ||
90
+ !matchesProductionCacheFingerprint(manifest, buildInputsFingerprint) ||
91
+ !matchesProductionCacheBuildKey(manifest, buildKey)) {
92
+ return undefined;
93
+ }
94
+ const hasher = new RouteModuleDependencyHasher();
95
+ if (!hasher.matchesStoredHashes(manifest.dependencyHashes, entryPath, entryHash)) {
96
+ return undefined;
97
+ }
98
+ const existingOutputs = manifest.outputPaths.filter((outputPath) => fileSystem.exists(outputPath));
99
+ if (existingOutputs.length === 0) {
100
+ return undefined;
101
+ }
102
+ return {
103
+ manifest,
104
+ outputPaths: existingOutputs,
105
+ };
107
106
  }
108
- function recordServerEntryBuildCache(options) {
109
- if (process.env.NODE_ENV !== "production") {
110
- return;
111
- }
112
- const entryPath = path.resolve(options.entryPath);
113
- const entryHash = fileSystem.hash(entryPath);
114
- const hasher = new RouteModuleDependencyHasher();
115
- const dependencyHashes = hashDependencyGraph(
116
- entryPath,
117
- options.buildResult.dependencyGraph,
118
- hasher,
119
- options.appConfig.rootDir
120
- );
121
- const manifest = {
122
- invalidationVersion: getCorePackageVersion(),
123
- entryPath,
124
- entryHash,
125
- buildInputsFingerprint: createBuildInputsFingerprint(options.appConfig),
126
- buildKey: createServerEntryBuildKey(options.appConfig),
127
- outputPaths: options.outputPaths,
128
- dependencyHashes,
129
- builtAt: Date.now()
130
- };
131
- writeServerEntryBuildCacheManifest(options.appConfig, manifest);
107
+ export function recordServerEntryBuildCache(options) {
108
+ if (process.env.NODE_ENV !== 'production') {
109
+ return;
110
+ }
111
+ const entryPath = path.resolve(options.entryPath);
112
+ const entryHash = fileSystem.hash(entryPath);
113
+ const hasher = new RouteModuleDependencyHasher();
114
+ const dependencyHashes = hashDependencyGraph(entryPath, options.buildResult.dependencyGraph, hasher, options.appConfig.rootDir);
115
+ const manifest = {
116
+ invalidationVersion: getCorePackageVersion(),
117
+ entryPath,
118
+ entryHash,
119
+ buildInputsFingerprint: createBuildInputsFingerprint(options.appConfig),
120
+ buildKey: createServerEntryBuildKey(options.appConfig),
121
+ outputPaths: options.outputPaths,
122
+ dependencyHashes,
123
+ builtAt: Date.now(),
124
+ };
125
+ writeServerEntryBuildCacheManifest(options.appConfig, manifest);
132
126
  }
133
- function resolveProductionServerEntry(cwd = process.cwd()) {
134
- const manifestPath = path.join(cwd, "dist", SERVER_BUNDLE_DIR, SERVER_BUNDLE_MANIFEST_FILENAME);
135
- if (fileSystem.exists(manifestPath)) {
136
- try {
137
- const parsed = JSON.parse(fileSystem.readFileSync(manifestPath));
138
- if (parsed?.serverEntry) {
139
- const fromManifest = path.isAbsolute(parsed.serverEntry) ? parsed.serverEntry : path.join(path.dirname(manifestPath), parsed.serverEntry);
140
- if (fileSystem.exists(fromManifest)) {
141
- return fromManifest;
127
+ export function resolveProductionServerEntry(cwd = process.cwd()) {
128
+ const manifestPath = path.join(cwd, 'dist', SERVER_BUNDLE_DIR, SERVER_BUNDLE_MANIFEST_FILENAME);
129
+ if (fileSystem.exists(manifestPath)) {
130
+ try {
131
+ const parsed = JSON.parse(fileSystem.readFileSync(manifestPath));
132
+ if (parsed?.serverEntry) {
133
+ const fromManifest = path.isAbsolute(parsed.serverEntry)
134
+ ? parsed.serverEntry
135
+ : path.join(path.dirname(manifestPath), parsed.serverEntry);
136
+ if (fileSystem.exists(fromManifest)) {
137
+ return fromManifest;
138
+ }
139
+ }
140
+ if (parsed?.distDir) {
141
+ const fromDistDir = path.join(parsed.distDir, SERVER_BUNDLE_DIR, SERVER_BUNDLE_FILENAME);
142
+ if (fileSystem.exists(fromDistDir)) {
143
+ return fromDistDir;
144
+ }
145
+ }
142
146
  }
143
- }
144
- if (parsed?.distDir) {
145
- const fromDistDir = path.join(parsed.distDir, SERVER_BUNDLE_DIR, SERVER_BUNDLE_FILENAME);
146
- if (fileSystem.exists(fromDistDir)) {
147
- return fromDistDir;
147
+ catch {
148
+ // fall through to legacy path
148
149
  }
149
- }
150
- } catch {
151
150
  }
152
- }
153
- const legacyPath = path.join(cwd, "dist", SERVER_BUNDLE_DIR, SERVER_BUNDLE_FILENAME);
154
- return fileSystem.exists(legacyPath) ? legacyPath : void 0;
151
+ const legacyPath = path.join(cwd, 'dist', SERVER_BUNDLE_DIR, SERVER_BUNDLE_FILENAME);
152
+ return fileSystem.exists(legacyPath) ? legacyPath : undefined;
155
153
  }
156
- export {
157
- SERVER_BUNDLE_MANIFEST_FILENAME,
158
- SERVER_ENTRY_BUILD_CACHE_FILENAME2 as SERVER_ENTRY_BUILD_CACHE_FILENAME,
159
- getServerBundleOutputPaths,
160
- lookupServerEntryBuildCache,
161
- readServerEntryBuildCacheManifest,
162
- recordServerEntryBuildCache,
163
- resolveProductionServerEntry,
164
- writeServerBundleDeployManifest
165
- };
@@ -33,9 +33,9 @@ export interface BuildResult {
33
33
  * Options accepted by every `BuildAdapter.build` call.
34
34
  *
35
35
  * @remarks
36
- * Fields that the adapter can forward are honored; fields that cannot
37
- * (currently `splitting`, `bundle`, and `outbase`) are accepted so
38
- * call-sites compile, but the adapter ignores them.
36
+ * Fields that the adapter can forward are honored. `splitting: false` disables
37
+ * Rolldown code splitting for single-entrypoint builds. `bundle` and `outbase`
38
+ * are accepted for call-site compatibility but ignored.
39
39
  */
40
40
  export interface BuildOptions {
41
41
  entrypoints: string[] | Record<string, string>;
@@ -57,7 +57,7 @@ export interface BuildOptions {
57
57
  target?: string;
58
58
  format?: string;
59
59
  sourcemap?: string;
60
- /** @deprecated Accepted for call-site compatibility only. */
60
+ /** When `false` with a single entrypoint, inlines dynamic imports into one output file. */
61
61
  splitting?: boolean;
62
62
  root?: string;
63
63
  /** @deprecated Accepted for call-site compatibility only. */
@@ -0,0 +1 @@
1
+ export {};
@@ -1,49 +1,64 @@
1
- import { createBrowserRuntimePlugin, DEFAULT_BROWSER_RUNTIME_PLUGIN_NAME } from "../browser/browser-runtime-plugin.js";
2
- import {
3
- createBrowserRuntimeManifest,
4
- mergeBrowserRuntimeManifests
5
- } from "../browser/browser-runtime-manifest.js";
6
- function mergeEcoBuildPlugins(...pluginLists) {
7
- const byName = /* @__PURE__ */ new Map();
8
- for (const plugins of pluginLists) {
9
- for (const plugin of plugins ?? []) {
10
- if (!byName.has(plugin.name)) {
11
- byName.set(plugin.name, plugin);
12
- }
1
+ import { createBrowserRuntimePlugin, DEFAULT_BROWSER_RUNTIME_PLUGIN_NAME } from '../browser/browser-runtime-plugin.js';
2
+ import { createBrowserRuntimeManifest, mergeBrowserRuntimeManifests, } from '../browser/browser-runtime-manifest.js';
3
+ /**
4
+ * Merges plugin lists while preserving first-registration precedence by name.
5
+ *
6
+ * @remarks
7
+ * Build manifests treat plugin names as stable identities. The first plugin
8
+ * with a given name wins so config-time assembly stays deterministic across
9
+ * loader, runtime, and browser buckets.
10
+ */
11
+ export function mergeEcoBuildPlugins(...pluginLists) {
12
+ const byName = new Map();
13
+ for (const plugins of pluginLists) {
14
+ for (const plugin of plugins ?? []) {
15
+ if (!byName.has(plugin.name)) {
16
+ byName.set(plugin.name, plugin);
17
+ }
18
+ }
13
19
  }
14
- }
15
- return Array.from(byName.values());
20
+ return Array.from(byName.values());
16
21
  }
17
- function createAppBuildManifest(input) {
18
- return {
19
- loaderPlugins: mergeEcoBuildPlugins(input?.loaderPlugins),
20
- runtimePlugins: mergeEcoBuildPlugins(input?.runtimePlugins),
21
- browserBundlePlugins: mergeEcoBuildPlugins(input?.browserBundlePlugins),
22
- browserRuntimeManifest: mergeBrowserRuntimeManifests(input?.browserRuntimeManifest)
23
- };
22
+ /**
23
+ * Creates one app-owned build manifest from the supplied plugin buckets.
24
+ */
25
+ export function createAppBuildManifest(input) {
26
+ return {
27
+ loaderPlugins: mergeEcoBuildPlugins(input?.loaderPlugins),
28
+ runtimePlugins: mergeEcoBuildPlugins(input?.runtimePlugins),
29
+ browserBundlePlugins: mergeEcoBuildPlugins(input?.browserBundlePlugins),
30
+ browserRuntimeManifest: mergeBrowserRuntimeManifests(input?.browserRuntimeManifest),
31
+ };
24
32
  }
25
- function getBrowserRuntimeManifest(manifest) {
26
- return manifest.browserRuntimeManifest ?? createBrowserRuntimeManifest();
33
+ /**
34
+ * Returns the shared browser runtime asset manifest sealed into the app build manifest.
35
+ */
36
+ export function getBrowserRuntimeManifest(manifest) {
37
+ return manifest.browserRuntimeManifest ?? createBrowserRuntimeManifest();
27
38
  }
28
- function getServerBuildPlugins(manifest) {
29
- return mergeEcoBuildPlugins(manifest.loaderPlugins, manifest.runtimePlugins);
39
+ /**
40
+ * Returns the plugin list used for server-oriented builds.
41
+ *
42
+ * @remarks
43
+ * Merges `loaderPlugins` then `runtimePlugins`. Browser-only buckets and the
44
+ * synthesized browser-runtime rewrite plugin are excluded.
45
+ */
46
+ export function getServerBuildPlugins(manifest) {
47
+ return mergeEcoBuildPlugins(manifest.loaderPlugins, manifest.runtimePlugins);
30
48
  }
31
- function getBrowserBuildPlugins(manifest) {
32
- const runtimeRewritePlugin = createBrowserRuntimePlugin({
33
- name: DEFAULT_BROWSER_RUNTIME_PLUGIN_NAME,
34
- manifest: getBrowserRuntimeManifest(manifest)
35
- });
36
- return mergeEcoBuildPlugins(
37
- manifest.loaderPlugins,
38
- manifest.runtimePlugins,
39
- runtimeRewritePlugin ? [runtimeRewritePlugin] : [],
40
- manifest.browserBundlePlugins
41
- );
49
+ /**
50
+ * Returns the plugin list used for browser-oriented builds.
51
+ *
52
+ * @remarks
53
+ * Merges, in order: `loaderPlugins`, `runtimePlugins`, a synthesized
54
+ * `browser-runtime-plugin` when `browserRuntimeManifest` has entries, then
55
+ * `browserBundlePlugins`. Plugin names dedupe with first-registration wins via
56
+ * {@link mergeEcoBuildPlugins}.
57
+ */
58
+ export function getBrowserBuildPlugins(manifest) {
59
+ const runtimeRewritePlugin = createBrowserRuntimePlugin({
60
+ name: DEFAULT_BROWSER_RUNTIME_PLUGIN_NAME,
61
+ manifest: getBrowserRuntimeManifest(manifest),
62
+ });
63
+ return mergeEcoBuildPlugins(manifest.loaderPlugins, manifest.runtimePlugins, runtimeRewritePlugin ? [runtimeRewritePlugin] : [], manifest.browserBundlePlugins);
42
64
  }
43
- export {
44
- createAppBuildManifest,
45
- getBrowserBuildPlugins,
46
- getBrowserRuntimeManifest,
47
- getServerBuildPlugins,
48
- mergeEcoBuildPlugins
49
- };
@@ -0,0 +1 @@
1
+ export {};
@@ -29,6 +29,15 @@ export declare function transpileProfileToOptions(profile: BuildTranspileProfile
29
29
  * See {@link https://rolldown.rs/in-depth/external-modules | Rolldown external modules}.
30
30
  */
31
31
  export declare function createNodeBuiltinExternalPlugin(): RolldownPlugin;
32
+ /**
33
+ * Rejects Node builtins in browser-target builds before Rolldown externalizes them.
34
+ *
35
+ * @remarks
36
+ * With `platform: 'browser'`, Rolldown leaves `node:*` imports in the output as
37
+ * bare specifiers. This plugin fails the build instead so server-only graphs
38
+ * cannot reach the browser as silent CORS errors.
39
+ */
40
+ export declare function createBrowserNodeBuiltinGuardPlugin(): RolldownPlugin;
32
41
  export declare function extractDependencyGraph(chunks: Array<{
33
42
  facadeModuleId: string | null;
34
43
  moduleIds: string[];