@ecopages/core 0.2.0-beta.9 → 0.2.0-rc.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 (624) hide show
  1. package/README.md +42 -13
  2. package/package.json +360 -57
  3. package/src/adapters/README.md +6 -2
  4. package/src/adapters/abstract/application-adapter.d.ts +57 -5
  5. package/src/adapters/abstract/application-adapter.js +261 -203
  6. package/src/adapters/abstract/router-adapter.js +12 -4
  7. package/src/adapters/abstract/segment-path-matcher.d.ts +6 -0
  8. package/src/adapters/abstract/segment-path-matcher.js +147 -0
  9. package/src/adapters/abstract/server-adapter.d.ts +13 -2
  10. package/src/adapters/abstract/server-adapter.js +22 -14
  11. package/src/adapters/abstract/ws-pattern-matcher.d.ts +2 -50
  12. package/src/adapters/abstract/ws-pattern-matcher.js +24 -57
  13. package/src/adapters/bun/bun-user-websocket-lifecycle.js +93 -0
  14. package/src/adapters/bun/client-bridge.js +51 -50
  15. package/src/adapters/bun/create-app.d.ts +4 -6
  16. package/src/adapters/bun/create-app.js +169 -154
  17. package/src/adapters/bun/hmr-manager.d.ts +2 -3
  18. package/src/adapters/bun/hmr-manager.js +62 -57
  19. package/src/adapters/bun/index.d.ts +1 -1
  20. package/src/adapters/bun/index.js +2 -8
  21. package/src/adapters/bun/runtime-host.d.ts +1 -1
  22. package/src/adapters/bun/runtime-host.js +61 -54
  23. package/src/adapters/bun/server-adapter.d.ts +34 -53
  24. package/src/adapters/bun/server-adapter.js +557 -637
  25. package/src/adapters/bun/static-preview-host.d.ts +1 -1
  26. package/src/adapters/bun/static-preview-host.js +43 -41
  27. package/src/adapters/create-app.d.ts +1 -12
  28. package/src/adapters/create-app.js +11 -72
  29. package/src/adapters/index.d.ts +2 -2
  30. package/src/adapters/index.js +2 -8
  31. package/src/adapters/node/create-app.d.ts +4 -3
  32. package/src/adapters/node/create-app.js +123 -98
  33. package/src/adapters/node/http-request-bridge.js +147 -106
  34. package/src/adapters/node/node-client-bridge.js +62 -64
  35. package/src/adapters/node/node-hmr-manager.d.ts +2 -3
  36. package/src/adapters/node/node-hmr-manager.js +58 -48
  37. package/src/adapters/node/runtime-host.d.ts +1 -1
  38. package/src/adapters/node/runtime-host.js +96 -89
  39. package/src/adapters/node/server-adapter-dependencies.js +18 -17
  40. package/src/adapters/node/server-adapter.d.ts +28 -8
  41. package/src/adapters/node/server-adapter.js +349 -302
  42. package/src/adapters/node/static-content-server.js +172 -186
  43. package/src/adapters/node/static-preview-host.d.ts +1 -1
  44. package/src/adapters/node/static-preview-host.js +88 -64
  45. package/src/adapters/shared/hmr/dev-transform-entrypoint-registry.d.ts +16 -0
  46. package/src/adapters/shared/hmr/dev-transform-entrypoint-registry.js +32 -0
  47. package/src/adapters/shared/{hmr-html-response.d.ts → hmr/hmr-html-response.d.ts} +2 -2
  48. package/src/adapters/shared/hmr/hmr-html-response.js +50 -0
  49. package/src/adapters/shared/hmr/shared-hmr-manager.d.ts +92 -0
  50. package/src/adapters/shared/hmr/shared-hmr-manager.js +446 -0
  51. package/src/adapters/shared/http/api-request-pipeline.d.ts +23 -0
  52. package/src/adapters/shared/http/api-request-pipeline.js +132 -0
  53. package/src/adapters/shared/{api-response.d.ts → http/api-response.d.ts} +1 -1
  54. package/src/adapters/shared/http/api-response.js +79 -0
  55. package/src/adapters/shared/http/create-body-response.d.ts +12 -0
  56. package/src/adapters/shared/http/create-body-response.js +26 -0
  57. package/src/adapters/shared/http/define-api-handler.d.ts +90 -0
  58. package/src/adapters/shared/http/define-api-handler.js +49 -0
  59. package/src/adapters/shared/{explicit-static-render-preparation.d.ts → http/explicit-static-render-preparation.d.ts} +3 -3
  60. package/src/adapters/shared/http/explicit-static-render-preparation.js +29 -0
  61. package/src/adapters/shared/{explicit-static-route-matcher.d.ts → http/explicit-static-route-matcher.d.ts} +3 -9
  62. package/src/adapters/shared/http/explicit-static-route-matcher.js +59 -0
  63. package/src/adapters/shared/{file-route-middleware-pipeline.d.ts → http/file-route-middleware-pipeline.d.ts} +2 -2
  64. package/src/adapters/shared/http/file-route-middleware-pipeline.js +84 -0
  65. package/src/adapters/shared/{fs-server-response-factory.d.ts → http/fs-server-response-factory.d.ts} +7 -2
  66. package/src/adapters/shared/http/fs-server-response-factory.js +106 -0
  67. package/src/adapters/shared/{fs-server-response-matcher.d.ts → http/fs-server-response-matcher.d.ts} +25 -5
  68. package/src/adapters/shared/http/fs-server-response-matcher.js +260 -0
  69. package/src/adapters/shared/http/run-middleware-chain.d.ts +5 -0
  70. package/src/adapters/shared/http/run-middleware-chain.js +17 -0
  71. package/src/adapters/shared/{application-adapter.d.ts → runtime/application-adapter.d.ts} +2 -2
  72. package/src/adapters/shared/runtime/application-adapter.js +75 -0
  73. package/src/adapters/shared/runtime/collect-dev-prewarm-plan.d.ts +11 -0
  74. package/src/adapters/shared/runtime/collect-dev-prewarm-plan.js +29 -0
  75. package/src/adapters/shared/runtime/copy-runtime-public-dir.js +27 -0
  76. package/src/adapters/shared/runtime/dev-static-route-prewarm.d.ts +16 -0
  77. package/src/adapters/shared/runtime/dev-static-route-prewarm.js +66 -0
  78. package/src/adapters/shared/runtime/port-manager.d.ts +116 -0
  79. package/src/adapters/shared/runtime/port-manager.js +226 -0
  80. package/src/adapters/shared/{render-context.d.ts → runtime/render-context.d.ts} +2 -2
  81. package/src/adapters/shared/runtime/render-context.js +99 -0
  82. package/src/adapters/shared/{runtime-app-bootstrap.d.ts → runtime/runtime-app-bootstrap.d.ts} +4 -2
  83. package/src/adapters/shared/runtime/runtime-app-bootstrap.js +38 -0
  84. package/src/adapters/shared/runtime/runtime-server-lifecycle.d.ts +45 -0
  85. package/src/adapters/shared/runtime/runtime-server-lifecycle.js +71 -0
  86. package/src/adapters/shared/{server-adapter.d.ts → runtime/server-adapter.d.ts} +31 -50
  87. package/src/adapters/shared/runtime/server-adapter.js +301 -0
  88. package/src/adapters/shared/{server-route-handler.d.ts → runtime/server-route-handler.d.ts} +6 -33
  89. package/src/adapters/shared/runtime/server-route-handler.js +77 -0
  90. package/src/adapters/shared/{server-static-builder.d.ts → runtime/server-static-builder.d.ts} +26 -31
  91. package/src/adapters/shared/runtime/server-static-builder.js +172 -0
  92. package/src/adapters/shared/{static-preview-host.d.ts → runtime/static-preview-host.d.ts} +6 -1
  93. package/src/adapters/shared/{node-http-websocket-upgrades.d.ts → ws/node-http-websocket-upgrades.d.ts} +1 -1
  94. package/src/adapters/shared/ws/node-http-websocket-upgrades.js +109 -0
  95. package/src/adapters/shared/ws/websocket-lifecycle.d.ts +24 -0
  96. package/src/adapters/shared/ws/websocket-lifecycle.js +62 -0
  97. package/src/build/README.md +165 -45
  98. package/src/build/app-build-manifest-runtime.d.ts +39 -0
  99. package/src/build/app-build-manifest-runtime.js +145 -0
  100. package/src/build/{browser-runtime-manifest.d.ts → browser/browser-runtime-manifest.d.ts} +4 -0
  101. package/src/build/browser/browser-runtime-manifest.js +65 -0
  102. package/src/build/{browser-runtime-plugin-helpers.d.ts → browser/browser-runtime-plugin-helpers.d.ts} +3 -5
  103. package/src/build/browser/browser-runtime-plugin-helpers.js +32 -0
  104. package/src/build/{browser-runtime-plugin.d.ts → browser/browser-runtime-plugin.d.ts} +12 -13
  105. package/src/build/browser/browser-runtime-plugin.js +218 -0
  106. package/src/build/browser/jsx-ownership-plugins.d.ts +24 -0
  107. package/src/build/browser/jsx-ownership-plugins.js +55 -0
  108. package/src/build/browser/lit-static-render-worker-context.d.ts +2 -0
  109. package/src/build/browser/lit-static-render-worker-context.js +4 -0
  110. package/src/build/build-adapter.d.ts +25 -355
  111. package/src/build/build-adapter.js +258 -265
  112. package/src/build/{build-input-fingerprint.d.ts → cache/build-input-fingerprint.d.ts} +3 -3
  113. package/src/build/cache/build-input-fingerprint.js +33 -0
  114. package/src/build/cache/cache-constants.d.ts +4 -0
  115. package/src/build/cache/cache-constants.js +4 -0
  116. package/src/build/cache/cache-keys.d.ts +22 -0
  117. package/src/build/cache/cache-keys.js +71 -0
  118. package/src/build/{pages-unified-graph-build.d.ts → cache/pages-unified-graph-build.d.ts} +1 -1
  119. package/src/build/cache/pages-unified-graph-build.js +199 -0
  120. package/src/build/cache/production-build-cache.d.ts +21 -0
  121. package/src/build/cache/production-build-cache.js +56 -0
  122. package/src/build/{server-entry-build-cache.d.ts → cache/server-entry-build-cache.d.ts} +3 -4
  123. package/src/build/cache/server-entry-build-cache.js +153 -0
  124. package/src/build/contracts/build-contracts.d.ts +96 -0
  125. package/src/build/contracts/build-contracts.js +1 -0
  126. package/src/build/contracts/build-manifest.d.ts +90 -0
  127. package/src/build/contracts/build-manifest.js +64 -0
  128. package/src/build/contracts/build-types.js +1 -0
  129. package/src/build/contracts/content-virtual-modules.d.ts +12 -0
  130. package/src/build/contracts/content-virtual-modules.js +29 -0
  131. package/src/build/{rolldown-adapter-helpers.d.ts → rolldown/rolldown-adapter-helpers.d.ts} +32 -9
  132. package/src/build/rolldown/rolldown-adapter-helpers.js +463 -0
  133. package/src/build/{rolldown-build-adapter.d.ts → rolldown/rolldown-build-adapter.d.ts} +3 -7
  134. package/src/build/rolldown/rolldown-build-adapter.js +57 -0
  135. package/src/build/{rolldown-build-invocation-metrics.d.ts → rolldown/rolldown-build-invocation-metrics.d.ts} +1 -1
  136. package/src/build/rolldown/rolldown-build-invocation-metrics.js +39 -0
  137. package/src/build/{rolldown-plugin-bridge.d.ts → rolldown/rolldown-plugin-bridge.d.ts} +7 -2
  138. package/src/build/rolldown/rolldown-plugin-bridge.js +284 -0
  139. package/src/build/{rolldown-source-transform-pass.d.ts → rolldown/rolldown-source-transform-pass.d.ts} +1 -1
  140. package/src/build/rolldown/rolldown-source-transform-pass.js +70 -0
  141. package/src/build/rolldown/runtime-build-output-normalizer.js +253 -0
  142. package/src/build/rolldown/server-side-css-shim-plugin.js +58 -0
  143. package/src/build/runtime/build-profile-options.d.ts +7 -0
  144. package/src/build/runtime/build-profile-options.js +37 -0
  145. package/src/build/runtime/build-request-identity.d.ts +17 -0
  146. package/src/build/runtime/build-request-identity.js +79 -0
  147. package/src/build/runtime/build-request-policy.d.ts +58 -0
  148. package/src/build/runtime/build-request-policy.js +84 -0
  149. package/src/build/runtime/build-runtime.d.ts +28 -0
  150. package/src/build/runtime/build-runtime.js +75 -0
  151. package/src/build/runtime/deduping-build-executor.d.ts +21 -0
  152. package/src/build/runtime/deduping-build-executor.js +40 -0
  153. package/src/build/{parallel-build-executor.d.ts → runtime/parallel-build-executor.d.ts} +1 -1
  154. package/src/build/runtime/parallel-build-executor.js +60 -0
  155. package/src/build/{serialized-build-executor.d.ts → runtime/serialized-build-executor.d.ts} +1 -1
  156. package/src/build/runtime/serialized-build-executor.js +79 -0
  157. package/src/cache/index.d.ts +2 -1
  158. package/src/cache/index.js +7 -6
  159. package/src/cache/module-parse-cache.d.ts +5 -0
  160. package/src/cache/module-parse-cache.js +122 -67
  161. package/src/cache/module-transform-profiler.d.ts +8 -0
  162. package/src/cache/module-transform-profiler.js +8 -0
  163. package/src/client/navigation-scripts/classification.d.ts +16 -0
  164. package/src/client/navigation-scripts/classification.js +49 -0
  165. package/src/client/navigation-scripts/index.d.ts +3 -0
  166. package/src/client/navigation-scripts/index.js +3 -0
  167. package/src/client/navigation-scripts/navigation-scripts.test.browser.d.ts +1 -0
  168. package/src/client/navigation-scripts/navigation-scripts.test.browser.js +61 -0
  169. package/src/client/navigation-scripts/registry.d.ts +11 -0
  170. package/src/client/navigation-scripts/registry.js +16 -0
  171. package/src/client/navigation-scripts/rerun-queue.d.ts +37 -0
  172. package/src/client/navigation-scripts/rerun-queue.js +90 -0
  173. package/src/client/scroll.d.ts +17 -0
  174. package/src/client/scroll.js +33 -0
  175. package/src/client/scroll.test.browser.d.ts +1 -0
  176. package/src/client/scroll.test.browser.js +31 -0
  177. package/src/client/view-transitions.d.ts +32 -0
  178. package/src/client/view-transitions.js +120 -0
  179. package/src/client/view-transitions.test.browser.d.ts +1 -0
  180. package/src/client/view-transitions.test.browser.js +56 -0
  181. package/src/config/README.md +1 -1
  182. package/src/config/config-builder.d.ts +40 -20
  183. package/src/config/config-builder.js +645 -610
  184. package/src/config/constants.d.ts +1 -0
  185. package/src/config/constants.js +44 -23
  186. package/src/declarations.d.ts +1 -0
  187. package/src/dev/README.md +24 -0
  188. package/src/dev/client-bridge-registry.d.ts +5 -0
  189. package/src/dev/client-bridge-registry.js +10 -0
  190. package/src/dev/dev-client-ownership.d.ts +7 -0
  191. package/src/dev/dev-client-ownership.js +8 -0
  192. package/src/dev/hmr-manager-registry.d.ts +8 -0
  193. package/src/dev/hmr-manager-registry.js +10 -0
  194. package/src/dev/host-runtime.d.ts +3 -0
  195. package/src/dev/host-runtime.js +25 -23
  196. package/src/dev/runtime-server-started-message.d.ts +2 -0
  197. package/src/dev/runtime-server-started-message.js +3 -0
  198. package/src/dev/sc-server.js +106 -103
  199. package/src/dev/transform-server/dev-transform-bundler.d.ts +24 -0
  200. package/src/dev/transform-server/dev-transform-bundler.js +79 -0
  201. package/src/dev/transform-server/dev-transform-externalize-plugin.d.ts +12 -0
  202. package/src/dev/transform-server/dev-transform-externalize-plugin.js +29 -0
  203. package/src/dev/transform-server/dev-transform-import-rewriter.d.ts +16 -0
  204. package/src/dev/transform-server/dev-transform-import-rewriter.js +127 -0
  205. package/src/dev/transform-server/dev-transform-module-kind.d.ts +13 -0
  206. package/src/dev/transform-server/dev-transform-module-kind.js +17 -0
  207. package/src/dev/transform-server/dev-transform-runtime-specifiers.d.ts +5 -0
  208. package/src/dev/transform-server/dev-transform-runtime-specifiers.js +16 -0
  209. package/src/dev/transform-server/dev-transform-server.d.ts +41 -0
  210. package/src/dev/transform-server/dev-transform-server.js +191 -0
  211. package/src/dev/transform-server/dev-transform-url.d.ts +13 -0
  212. package/src/dev/transform-server/dev-transform-url.js +58 -0
  213. package/src/dev/transform-server/dev-transform-vendor-registry.d.ts +28 -0
  214. package/src/dev/transform-server/dev-transform-vendor-registry.js +166 -0
  215. package/src/dev/transform-server/index.d.ts +6 -0
  216. package/src/dev/transform-server/index.js +4 -0
  217. package/src/dev/transform-server/types.d.ts +15 -0
  218. package/src/dev/transform-server/types.js +1 -0
  219. package/src/dev-toolbar/README.md +52 -0
  220. package/src/dev-toolbar/define-dev-tool.d.ts +21 -0
  221. package/src/dev-toolbar/define-dev-tool.js +9 -0
  222. package/src/dev-toolbar/dev-toolbar-config.d.ts +25 -0
  223. package/src/dev-toolbar/dev-toolbar-config.js +19 -0
  224. package/src/dev-toolbar/dev-toolbar-host.d.ts +49 -0
  225. package/src/dev-toolbar/dev-toolbar-host.js +117 -0
  226. package/src/dev-toolbar/dev-toolbar-html-response.d.ts +11 -0
  227. package/src/dev-toolbar/dev-toolbar-html-response.js +14 -0
  228. package/src/dev-toolbar/dev-toolbar-manifest-contract.d.ts +22 -0
  229. package/src/dev-toolbar/dev-toolbar-manifest-contract.js +2 -0
  230. package/src/dev-toolbar/dev-toolbar-manifest.d.ts +15 -0
  231. package/src/dev-toolbar/dev-toolbar-manifest.js +52 -0
  232. package/src/dev-toolbar/dev-toolbar-package.d.ts +34 -0
  233. package/src/dev-toolbar/dev-toolbar-package.js +78 -0
  234. package/src/dev-toolbar/dev-toolbar-runtime-paths.d.ts +10 -0
  235. package/src/dev-toolbar/dev-toolbar-runtime-paths.js +13 -0
  236. package/src/diagnostics/request-build-dedupe.d.ts +18 -0
  237. package/src/diagnostics/request-build-dedupe.js +39 -0
  238. package/src/diagnostics/request-pipeline-metrics.d.ts +38 -0
  239. package/src/diagnostics/request-pipeline-metrics.js +121 -0
  240. package/src/diagnostics/startup-trace.d.ts +81 -0
  241. package/src/diagnostics/startup-trace.js +281 -0
  242. package/src/eco/README.md +17 -0
  243. package/src/eco/component-identity.d.ts +13 -0
  244. package/src/eco/component-identity.js +18 -0
  245. package/src/eco/eco-declared-component.d.ts +15 -0
  246. package/src/eco/eco-declared-component.js +23 -0
  247. package/src/eco/eco.browser.js +63 -70
  248. package/src/eco/eco.js +163 -97
  249. package/src/eco/eco.types.d.ts +47 -8
  250. package/src/eco/eco.types.js +5 -0
  251. package/src/eco/eco.utils.d.ts +1 -1
  252. package/src/eco/eco.utils.js +1 -10
  253. package/src/eco/global-injector-map.js +55 -41
  254. package/src/eco/lazy-injector-map.js +90 -60
  255. package/src/eco/module-dependencies.js +52 -44
  256. package/src/eco/page-layout-normalization.d.ts +21 -0
  257. package/src/eco/page-layout-normalization.js +69 -0
  258. package/src/env.d.ts +2 -0
  259. package/src/errors/http-error.d.ts +8 -0
  260. package/src/errors/http-error.js +66 -49
  261. package/src/errors/index.d.ts +1 -0
  262. package/src/errors/index.js +3 -6
  263. package/src/errors/locals-access-error.js +5 -8
  264. package/src/errors/undeclared-component-dependency-error.d.ts +11 -0
  265. package/src/errors/undeclared-component-dependency-error.js +17 -0
  266. package/src/global/app-logger.js +3 -6
  267. package/src/hmr/README.md +21 -0
  268. package/src/hmr/client/hmr-runtime.js +119 -110
  269. package/src/hmr/client/module-update.d.ts +13 -0
  270. package/src/hmr/client/module-update.js +39 -0
  271. package/src/hmr/hmr-asset-paths.d.ts +14 -0
  272. package/src/hmr/hmr-asset-paths.js +22 -0
  273. package/src/hmr/hmr-entrypoint-output.d.ts +21 -0
  274. package/src/hmr/hmr-entrypoint-output.js +34 -0
  275. package/src/hmr/hmr-file-change-prep.d.ts +10 -0
  276. package/src/hmr/hmr-file-change-prep.js +14 -0
  277. package/src/hmr/hmr-registered-entrypoints-context.d.ts +7 -0
  278. package/src/hmr/hmr-registered-entrypoints-context.js +1 -0
  279. package/src/hmr/hmr-runtime-paths.d.ts +10 -0
  280. package/src/hmr/hmr-runtime-paths.js +13 -0
  281. package/src/hmr/hmr-strategy.d.ts +9 -0
  282. package/src/hmr/hmr-strategy.js +113 -42
  283. package/src/hmr/strategies/default-hmr-strategy.js +55 -33
  284. package/src/hmr/strategies/js-hmr-strategy.d.ts +6 -97
  285. package/src/hmr/strategies/js-hmr-strategy.js +107 -167
  286. package/src/hmr/strategies/server-rendered-template-hmr-strategy.d.ts +17 -0
  287. package/src/hmr/strategies/server-rendered-template-hmr-strategy.js +35 -0
  288. package/src/index.browser.d.ts +1 -0
  289. package/src/index.browser.js +2 -4
  290. package/src/index.d.ts +4 -1
  291. package/src/index.js +7 -21
  292. package/src/islands/README.md +25 -0
  293. package/src/islands/island-host.d.ts +37 -0
  294. package/src/islands/island-host.js +55 -0
  295. package/src/plugins/README.md +2 -1
  296. package/src/plugins/alias-resolver-cache.d.ts +6 -9
  297. package/src/plugins/alias-resolver-cache.js +114 -97
  298. package/src/plugins/alias-resolver-plugin.d.ts +3 -3
  299. package/src/plugins/alias-resolver-plugin.js +35 -62
  300. package/src/plugins/define-integration.d.ts +26 -0
  301. package/src/plugins/define-integration.js +20 -0
  302. package/src/plugins/eco-component-meta-plugin.d.ts +6 -102
  303. package/src/plugins/eco-component-meta-plugin.js +123 -162
  304. package/src/plugins/foreign-jsx-override-plugin.d.ts +1 -1
  305. package/src/plugins/foreign-jsx-override-plugin.js +49 -37
  306. package/src/plugins/integration-plugin.d.ts +24 -6
  307. package/src/plugins/integration-plugin.js +212 -195
  308. package/src/plugins/jsx-import-source.utils.d.ts +8 -0
  309. package/src/plugins/jsx-import-source.utils.js +21 -0
  310. package/src/plugins/package-specifier.d.ts +12 -0
  311. package/src/plugins/package-specifier.js +33 -0
  312. package/src/plugins/processor.d.ts +66 -12
  313. package/src/plugins/processor.js +168 -137
  314. package/src/plugins/runtime-capability.js +1 -0
  315. package/src/plugins/source-transform.d.ts +1 -1
  316. package/src/plugins/source-transform.js +109 -79
  317. package/src/plugins/tsconfig-import-resolver.d.ts +37 -0
  318. package/src/plugins/tsconfig-import-resolver.js +262 -0
  319. package/src/route-renderer/GRAPH.md +24 -30
  320. package/src/route-renderer/README.md +52 -32
  321. package/src/route-renderer/orchestration/document-shell/document-shell-render.service.d.ts +107 -0
  322. package/src/route-renderer/orchestration/document-shell/document-shell-render.service.js +155 -0
  323. package/src/route-renderer/orchestration/document-shell/layout-shell-props.service.d.ts +20 -0
  324. package/src/route-renderer/orchestration/document-shell/layout-shell-props.service.js +37 -0
  325. package/src/route-renderer/orchestration/{component-render-context.d.ts → foreign-child/component-render-context.d.ts} +8 -15
  326. package/src/route-renderer/orchestration/foreign-child/component-render-context.js +196 -0
  327. package/src/route-renderer/orchestration/{render-output.utils.d.ts → foreign-child/foreign-child-output.utils.d.ts} +20 -7
  328. package/src/route-renderer/orchestration/foreign-child/foreign-child-output.utils.js +195 -0
  329. package/src/route-renderer/orchestration/{foreign-subtree-execution.service.d.ts → foreign-child/foreign-subtree-execution.service.d.ts} +64 -34
  330. package/src/route-renderer/orchestration/foreign-child/foreign-subtree-execution.service.js +354 -0
  331. package/src/route-renderer/orchestration/foreign-child/owning-renderer-resolution.d.ts +19 -0
  332. package/src/route-renderer/orchestration/foreign-child/owning-renderer-resolution.js +36 -0
  333. package/src/route-renderer/orchestration/integration-renderer.d.ts +37 -153
  334. package/src/route-renderer/orchestration/integration-renderer.js +803 -1008
  335. package/src/route-renderer/orchestration/integration-renderer.test-fixtures.d.ts +75 -0
  336. package/src/route-renderer/orchestration/integration-renderer.test-fixtures.js +173 -0
  337. package/src/route-renderer/orchestration/ownership-graph/component-graph-collectors.d.ts +10 -0
  338. package/src/route-renderer/orchestration/ownership-graph/component-graph-collectors.js +132 -0
  339. package/src/route-renderer/orchestration/ownership-graph/component-graph.d.ts +34 -0
  340. package/src/route-renderer/orchestration/ownership-graph/component-graph.js +89 -0
  341. package/src/route-renderer/orchestration/{ownership-validation.service.d.ts → ownership-graph/ownership-validation.service.d.ts} +6 -2
  342. package/src/route-renderer/orchestration/ownership-graph/ownership-validation.service.js +77 -0
  343. package/src/route-renderer/orchestration/page-browser-graph/global-injector-assets.service.d.ts +7 -0
  344. package/src/route-renderer/orchestration/page-browser-graph/global-injector-assets.service.js +30 -0
  345. package/src/route-renderer/orchestration/page-browser-graph/grouped-graph-build-plan.d.ts +15 -0
  346. package/src/route-renderer/orchestration/page-browser-graph/grouped-graph-build-plan.js +9 -0
  347. package/src/route-renderer/orchestration/page-browser-graph/page-browser-graph-contribution.merge.d.ts +5 -0
  348. package/src/route-renderer/orchestration/page-browser-graph/page-browser-graph-contribution.merge.js +30 -0
  349. package/src/route-renderer/orchestration/page-browser-graph/page-browser-graph-merge.utils.d.ts +12 -0
  350. package/src/route-renderer/orchestration/page-browser-graph/page-browser-graph-merge.utils.js +32 -0
  351. package/src/route-renderer/orchestration/page-browser-graph/page-browser-graph-session.d.ts +126 -0
  352. package/src/route-renderer/orchestration/page-browser-graph/page-browser-graph-session.js +542 -0
  353. package/src/route-renderer/orchestration/page-browser-graph/page-browser-graph.service.d.ts +47 -0
  354. package/src/route-renderer/orchestration/page-browser-graph/page-browser-graph.service.js +248 -0
  355. package/src/route-renderer/orchestration/{processed-asset-dedupe.d.ts → page-browser-graph/processed-asset-dedupe.d.ts} +1 -1
  356. package/src/route-renderer/orchestration/page-browser-graph/processed-asset-dedupe.js +23 -0
  357. package/src/route-renderer/orchestration/page-browser-graph/route-instance-key.d.ts +29 -0
  358. package/src/route-renderer/orchestration/page-browser-graph/route-instance-key.js +54 -0
  359. package/src/route-renderer/orchestration/route-pipeline/integration-route-render-adapter.d.ts +38 -0
  360. package/src/route-renderer/orchestration/route-pipeline/integration-route-render-adapter.js +26 -0
  361. package/src/route-renderer/orchestration/route-pipeline/marker-artifact.utils.d.ts +6 -0
  362. package/src/route-renderer/orchestration/route-pipeline/marker-artifact.utils.js +25 -0
  363. package/src/route-renderer/orchestration/route-pipeline/robots-meta.contribution.d.ts +15 -0
  364. package/src/route-renderer/orchestration/route-pipeline/robots-meta.contribution.js +43 -0
  365. package/src/route-renderer/orchestration/route-pipeline/route-html-finalization.service.d.ts +25 -0
  366. package/src/route-renderer/orchestration/route-pipeline/route-html-finalization.service.js +44 -0
  367. package/src/route-renderer/orchestration/route-pipeline/route-prepared-options.builder.d.ts +26 -0
  368. package/src/route-renderer/orchestration/route-pipeline/route-prepared-options.builder.js +44 -0
  369. package/src/route-renderer/orchestration/route-pipeline/route-prepared-options.utils.d.ts +4 -0
  370. package/src/route-renderer/orchestration/route-pipeline/route-prepared-options.utils.js +30 -0
  371. package/src/route-renderer/orchestration/{route-render-orchestrator.d.ts → route-pipeline/route-render-orchestrator.d.ts} +24 -54
  372. package/src/route-renderer/orchestration/route-pipeline/route-render-orchestrator.js +215 -0
  373. package/src/{integrations/ghtml/ghtml-renderer.d.ts → route-renderer/orchestration/string-markup-renderer.d.ts} +8 -10
  374. package/src/route-renderer/orchestration/string-markup-renderer.js +52 -0
  375. package/src/route-renderer/page-loading/component-dependency-collection.js +121 -121
  376. package/src/route-renderer/page-loading/declared-asset-collection.js +66 -94
  377. package/src/route-renderer/page-loading/dependency-resolver.js +101 -104
  378. package/src/route-renderer/page-loading/ecopages-virtual-imports.d.ts +1 -0
  379. package/src/route-renderer/page-loading/ecopages-virtual-imports.js +64 -51
  380. package/src/route-renderer/page-loading/file-scoped-dependency-components.d.ts +42 -0
  381. package/src/route-renderer/page-loading/file-scoped-dependency-components.js +94 -0
  382. package/src/route-renderer/page-loading/lazy-entry-collection.js +75 -98
  383. package/src/route-renderer/page-loading/lazy-trigger-planning.js +47 -36
  384. package/src/route-renderer/page-loading/module-declaration-aggregation.js +39 -28
  385. package/src/route-renderer/page-loading/module-declaration-scripts.js +10 -15
  386. package/src/route-renderer/page-loading/page-dependency-bundling.js +156 -113
  387. package/src/route-renderer/page-loading/page-module-loader.d.ts +2 -1
  388. package/src/route-renderer/page-loading/page-module-loader.js +136 -124
  389. package/src/route-renderer/page-loading/resolved-page-dependencies.d.ts +12 -0
  390. package/src/route-renderer/page-loading/resolved-page-dependencies.js +38 -0
  391. package/src/route-renderer/route-renderer.js +74 -76
  392. package/src/router/README.md +31 -0
  393. package/src/router/client/link-intent.d.ts +11 -21
  394. package/src/router/client/link-intent.js +56 -30
  395. package/src/router/client/link-intent.test.browser.js +50 -39
  396. package/src/router/client/link-navigation-policy.d.ts +45 -0
  397. package/src/router/client/link-navigation-policy.js +122 -0
  398. package/src/router/client/link-navigation-policy.test.browser.d.ts +1 -0
  399. package/src/router/client/link-navigation-policy.test.browser.js +82 -0
  400. package/src/router/client/navigation-coordinator.d.ts +1 -1
  401. package/src/router/client/navigation-coordinator.js +235 -211
  402. package/src/router/client/navigation-lifecycle.d.ts +55 -0
  403. package/src/router/client/navigation-lifecycle.js +50 -0
  404. package/src/router/client/navigation-lifecycle.test.browser.d.ts +1 -0
  405. package/src/router/client/navigation-lifecycle.test.browser.js +118 -0
  406. package/src/router/server/route-registry.js +237 -242
  407. package/src/services/README.md +5 -0
  408. package/src/services/assets/asset-processing-service/asset-dependency-keys.d.ts +13 -0
  409. package/src/services/assets/asset-processing-service/asset-dependency-keys.js +64 -50
  410. package/src/services/assets/asset-processing-service/asset-processing.service.d.ts +12 -1
  411. package/src/services/assets/asset-processing-service/asset-processing.service.js +335 -268
  412. package/src/services/assets/asset-processing-service/asset.factory.js +78 -81
  413. package/src/services/assets/asset-processing-service/assets.types.d.ts +1 -1
  414. package/src/services/assets/asset-processing-service/assets.types.js +1 -0
  415. package/src/services/assets/asset-processing-service/browser-runtime-asset.factory.d.ts +1 -1
  416. package/src/services/assets/asset-processing-service/browser-runtime-asset.factory.js +57 -46
  417. package/src/services/assets/asset-processing-service/browser-runtime-entry-resolution.d.ts +52 -0
  418. package/src/services/assets/asset-processing-service/browser-runtime-entry-resolution.js +115 -0
  419. package/src/services/assets/asset-processing-service/browser-runtime-entry.factory.js +53 -58
  420. package/src/services/assets/asset-processing-service/finalize-processed-asset.d.ts +3 -0
  421. package/src/services/assets/asset-processing-service/finalize-processed-asset.js +5 -0
  422. package/src/services/assets/asset-processing-service/grouped-content-bundles.d.ts +2 -1
  423. package/src/services/assets/asset-processing-service/grouped-content-bundles.js +85 -60
  424. package/src/services/assets/asset-processing-service/index.d.ts +2 -0
  425. package/src/services/assets/asset-processing-service/index.js +8 -6
  426. package/src/services/assets/asset-processing-service/inline-content-script-body.d.ts +11 -0
  427. package/src/services/assets/asset-processing-service/inline-content-script-body.js +23 -0
  428. package/src/services/assets/asset-processing-service/materialize-content-script-asset.d.ts +9 -0
  429. package/src/services/assets/asset-processing-service/materialize-content-script-asset.js +22 -0
  430. package/src/services/assets/asset-processing-service/page-package.js +70 -72
  431. package/src/services/assets/asset-processing-service/processor.interface.js +7 -5
  432. package/src/services/assets/asset-processing-service/processor.registry.js +11 -14
  433. package/src/services/assets/asset-processing-service/processors/base/base-processor.js +59 -62
  434. package/src/services/assets/asset-processing-service/processors/base/base-script-processor.d.ts +0 -2
  435. package/src/services/assets/asset-processing-service/processors/base/base-script-processor.js +102 -130
  436. package/src/services/assets/asset-processing-service/processors/index.js +5 -5
  437. package/src/services/assets/asset-processing-service/processors/script/content-script.processor.d.ts +8 -0
  438. package/src/services/assets/asset-processing-service/processors/script/content-script.processor.js +111 -111
  439. package/src/services/assets/asset-processing-service/processors/script/file-script.processor.d.ts +0 -1
  440. package/src/services/assets/asset-processing-service/processors/script/file-script.processor.js +95 -94
  441. package/src/services/assets/asset-processing-service/processors/script/node-module-script.processor.js +136 -135
  442. package/src/services/assets/asset-processing-service/processors/stylesheet/content-stylesheet.processor.d.ts +0 -3
  443. package/src/services/assets/asset-processing-service/processors/stylesheet/content-stylesheet.processor.js +26 -57
  444. package/src/services/assets/asset-processing-service/processors/stylesheet/file-stylesheet.processor.d.ts +0 -3
  445. package/src/services/assets/asset-processing-service/processors/stylesheet/file-stylesheet.processor.js +33 -67
  446. package/src/services/assets/asset-processing-service/processors/stylesheet/stylesheet-processor-pipeline.d.ts +2 -0
  447. package/src/services/assets/asset-processing-service/processors/stylesheet/stylesheet-processor-pipeline.js +44 -0
  448. package/src/services/assets/asset-processing-service/resolve-integration-plugin.d.ts +4 -0
  449. package/src/services/assets/asset-processing-service/resolve-integration-plugin.js +15 -0
  450. package/src/services/assets/asset-processing-service/ungrouped-dependency-processing.d.ts +0 -1
  451. package/src/services/assets/asset-processing-service/ungrouped-dependency-processing.js +27 -44
  452. package/src/services/assets/browser-bundle.service.d.ts +27 -31
  453. package/src/services/assets/browser-bundle.service.js +54 -49
  454. package/src/services/assets/browser-runtime-asset-generation.d.ts +17 -0
  455. package/src/services/assets/browser-runtime-asset-generation.js +28 -0
  456. package/src/services/cache/cache.types.d.ts +4 -2
  457. package/src/services/cache/cache.types.js +5 -0
  458. package/src/services/cache/html-page-cache-dependency-index.d.ts +34 -0
  459. package/src/services/cache/html-page-cache-dependency-index.js +88 -0
  460. package/src/services/cache/index.d.ts +2 -0
  461. package/src/services/cache/index.js +8 -7
  462. package/src/services/cache/memory-cache-store.js +101 -89
  463. package/src/services/cache/page-cache-service.d.ts +31 -1
  464. package/src/services/cache/page-cache-service.js +237 -150
  465. package/src/services/cache/page-request-cache-coordinator.service.d.ts +2 -1
  466. package/src/services/cache/page-request-cache-coordinator.service.js +112 -102
  467. package/src/services/html/html-rewriter-provider.service.js +61 -61
  468. package/src/services/html/html-transformer.service.js +249 -266
  469. package/src/services/invalidation/development-invalidation.service.d.ts +15 -1
  470. package/src/services/invalidation/development-invalidation.service.js +241 -204
  471. package/src/services/module-loading/README.md +9 -6
  472. package/src/services/module-loading/app-module-loader.service.js +1 -0
  473. package/src/services/module-loading/app-server-module-transpiler.service.d.ts +8 -0
  474. package/src/services/module-loading/app-server-module-transpiler.service.js +104 -106
  475. package/src/services/module-loading/collection-server-module-build.service.d.ts +19 -0
  476. package/src/services/module-loading/collection-server-module-build.service.js +83 -0
  477. package/src/services/module-loading/host-module-loader-registry.js +6 -11
  478. package/src/services/module-loading/module-loading-types.js +1 -0
  479. package/src/services/module-loading/page-module-import.service.d.ts +7 -12
  480. package/src/services/module-loading/page-module-import.service.js +232 -206
  481. package/src/services/module-loading/route-module-build-cache-registry.d.ts +2 -0
  482. package/src/services/module-loading/route-module-build-cache-registry.js +59 -33
  483. package/src/services/module-loading/route-module-build-cache.js +3 -38
  484. package/src/services/module-loading/route-module-build-cache.store.d.ts +10 -0
  485. package/src/services/module-loading/route-module-build-cache.store.js +213 -196
  486. package/src/services/module-loading/route-module-build-manifest.d.ts +10 -14
  487. package/src/services/module-loading/route-module-build-manifest.js +54 -118
  488. package/src/services/module-loading/route-module-dependency-hasher.d.ts +2 -2
  489. package/src/services/module-loading/route-module-dependency-hasher.js +136 -109
  490. package/src/services/module-loading/server-module-transpiler.service.d.ts +1 -3
  491. package/src/services/module-loading/server-module-transpiler.service.js +65 -62
  492. package/src/services/module-loading/source-module-support.js +15 -7
  493. package/src/services/runtime-state/dev-graph.service.js +165 -157
  494. package/src/services/runtime-state/entrypoint-dependency-graph.service.js +85 -76
  495. package/src/services/runtime-state/server-invalidation-state.service.js +38 -30
  496. package/src/services/validation/schema-validation-service.d.ts +1 -4
  497. package/src/services/validation/schema-validation-service.js +156 -95
  498. package/src/services/validation/standard-schema.types.d.ts +9 -62
  499. package/src/services/validation/standard-schema.types.js +1 -0
  500. package/src/services/validation/validate-standard-schema.d.ts +7 -0
  501. package/src/services/validation/validate-standard-schema.js +14 -0
  502. package/src/static-site-generator/README.md +10 -2
  503. package/src/static-site-generator/production-page-browser-graph-prebuild.d.ts +32 -0
  504. package/src/static-site-generator/production-page-browser-graph-prebuild.js +57 -0
  505. package/src/static-site-generator/sitemap-routes.d.ts +14 -0
  506. package/src/static-site-generator/sitemap-routes.js +36 -0
  507. package/src/static-site-generator/sitemap.d.ts +15 -0
  508. package/src/static-site-generator/sitemap.js +42 -0
  509. package/src/static-site-generator/static-build-invalidation.d.ts +2 -2
  510. package/src/static-site-generator/static-build-invalidation.js +33 -74
  511. package/src/static-site-generator/static-export-context.d.ts +9 -1
  512. package/src/static-site-generator/static-export-context.js +1 -0
  513. package/src/static-site-generator/static-site-generator.d.ts +27 -6
  514. package/src/static-site-generator/static-site-generator.js +528 -389
  515. package/src/types/internal-types.d.ts +55 -17
  516. package/src/types/internal-types.js +1 -0
  517. package/src/types/public-types.d.ts +236 -95
  518. package/src/types/public-types.js +1 -0
  519. package/src/utils/deep-merge.js +39 -26
  520. package/src/utils/ecopages-route-info.d.ts +26 -0
  521. package/src/utils/ecopages-route-info.js +30 -0
  522. package/src/utils/hash.js +3 -6
  523. package/src/utils/html-escaping.d.ts +7 -0
  524. package/src/utils/html-escaping.js +22 -5
  525. package/src/utils/invariant.js +11 -10
  526. package/src/utils/locals-utils.js +32 -22
  527. package/src/utils/parse-cli-args.d.ts +1 -0
  528. package/src/utils/parse-cli-args.js +73 -62
  529. package/src/utils/path-pattern.d.ts +23 -0
  530. package/src/utils/path-pattern.js +42 -0
  531. package/src/utils/path-utils.module.js +8 -11
  532. package/src/utils/resolve-entry-file.js +70 -38
  533. package/src/utils/resolve-work-dir.js +23 -27
  534. package/src/utils/runtime.js +24 -33
  535. package/src/utils/server-utils.module.d.ts +3 -2
  536. package/src/utils/server-utils.module.js +60 -53
  537. package/src/utils/static-file-extensions.d.ts +12 -0
  538. package/src/utils/static-file-extensions.js +54 -0
  539. package/src/watchers/project-watcher-ignore.d.ts +11 -0
  540. package/src/watchers/project-watcher-ignore.js +17 -0
  541. package/src/watchers/project-watcher.d.ts +21 -6
  542. package/src/watchers/project-watcher.js +402 -277
  543. package/src/watchers/project-watcher.test-helpers.js +45 -50
  544. package/src/adapters/shared/api-response.js +0 -96
  545. package/src/adapters/shared/application-adapter.js +0 -90
  546. package/src/adapters/shared/bun-user-websocket-lifecycle.js +0 -102
  547. package/src/adapters/shared/copy-runtime-public-dir.js +0 -24
  548. package/src/adapters/shared/define-api-handler.d.ts +0 -25
  549. package/src/adapters/shared/define-api-handler.js +0 -15
  550. package/src/adapters/shared/explicit-static-render-preparation.js +0 -26
  551. package/src/adapters/shared/explicit-static-route-matcher.js +0 -101
  552. package/src/adapters/shared/file-route-middleware-pipeline.js +0 -90
  553. package/src/adapters/shared/fs-server-response-factory.js +0 -81
  554. package/src/adapters/shared/fs-server-response-matcher.js +0 -186
  555. package/src/adapters/shared/hmr-entrypoint-registrar.d.ts +0 -55
  556. package/src/adapters/shared/hmr-entrypoint-registrar.js +0 -87
  557. package/src/adapters/shared/hmr-html-response.js +0 -33
  558. package/src/adapters/shared/node-http-websocket-upgrades.js +0 -125
  559. package/src/adapters/shared/render-context.js +0 -93
  560. package/src/adapters/shared/runtime-app-bootstrap.js +0 -41
  561. package/src/adapters/shared/runtime-host.js +0 -0
  562. package/src/adapters/shared/server-adapter.js +0 -436
  563. package/src/adapters/shared/server-route-handler.js +0 -111
  564. package/src/adapters/shared/server-static-builder.js +0 -202
  565. package/src/adapters/shared/shared-hmr-manager.d.ts +0 -61
  566. package/src/adapters/shared/shared-hmr-manager.js +0 -273
  567. package/src/adapters/shared/static-preview-host.js +0 -0
  568. package/src/adapters/shared/websocket-lifecycle.d.ts +0 -3
  569. package/src/adapters/shared/websocket-lifecycle.js +0 -19
  570. package/src/build/browser-runtime-manifest.js +0 -61
  571. package/src/build/browser-runtime-plugin-helpers.js +0 -14
  572. package/src/build/browser-runtime-plugin.js +0 -173
  573. package/src/build/build-input-fingerprint.js +0 -31
  574. package/src/build/build-manifest.d.ts +0 -33
  575. package/src/build/build-manifest.js +0 -49
  576. package/src/build/build-types.js +0 -0
  577. package/src/build/jsx-ownership-plugins.d.ts +0 -10
  578. package/src/build/jsx-ownership-plugins.js +0 -17
  579. package/src/build/pages-unified-graph-build.js +0 -208
  580. package/src/build/parallel-build-executor.js +0 -52
  581. package/src/build/rolldown-adapter-helpers.js +0 -310
  582. package/src/build/rolldown-build-adapter.js +0 -67
  583. package/src/build/rolldown-build-invocation-metrics.js +0 -43
  584. package/src/build/rolldown-dev-build-adapter.d.ts +0 -82
  585. package/src/build/rolldown-dev-build-adapter.js +0 -182
  586. package/src/build/rolldown-plugin-bridge.js +0 -211
  587. package/src/build/rolldown-source-transform-pass.js +0 -58
  588. package/src/build/runtime-build-executor.d.ts +0 -15
  589. package/src/build/runtime-build-executor.js +0 -43
  590. package/src/build/runtime-build-output-normalizer.js +0 -203
  591. package/src/build/serialized-build-executor.js +0 -63
  592. package/src/build/server-entry-build-cache.js +0 -169
  593. package/src/build/server-side-css-shim-plugin.js +0 -35
  594. package/src/hmr/hmr.postcss.test.e2e.js +0 -31
  595. package/src/hmr/hmr.test.e2e.js +0 -54
  596. package/src/integrations/ghtml/ghtml-renderer.js +0 -57
  597. package/src/integrations/ghtml/ghtml.constants.d.ts +0 -1
  598. package/src/integrations/ghtml/ghtml.constants.js +0 -4
  599. package/src/integrations/ghtml/ghtml.plugin.d.ts +0 -16
  600. package/src/integrations/ghtml/ghtml.plugin.js +0 -20
  601. package/src/route-renderer/orchestration/component-render-context.js +0 -147
  602. package/src/route-renderer/orchestration/declared-ownership-graph.d.ts +0 -18
  603. package/src/route-renderer/orchestration/declared-ownership-graph.js +0 -34
  604. package/src/route-renderer/orchestration/foreign-subtree-execution.service.js +0 -231
  605. package/src/route-renderer/orchestration/ownership-planning.service.d.ts +0 -24
  606. package/src/route-renderer/orchestration/ownership-planning.service.js +0 -63
  607. package/src/route-renderer/orchestration/ownership-validation.service.js +0 -53
  608. package/src/route-renderer/orchestration/processed-asset-dedupe.js +0 -27
  609. package/src/route-renderer/orchestration/queued-foreign-subtree-resolution.service.d.ts +0 -91
  610. package/src/route-renderer/orchestration/queued-foreign-subtree-resolution.service.js +0 -170
  611. package/src/route-renderer/orchestration/render-output.utils.js +0 -175
  612. package/src/route-renderer/orchestration/route-render-orchestrator.js +0 -578
  613. package/src/route-renderer/orchestration/template-serialization.d.ts +0 -38
  614. package/src/route-renderer/orchestration/template-serialization.js +0 -45
  615. package/src/utils/html.d.ts +0 -1
  616. package/src/utils/html.js +0 -4
  617. /package/src/adapters/{shared → bun}/bun-user-websocket-lifecycle.d.ts +0 -0
  618. /package/src/adapters/shared/{copy-runtime-public-dir.d.ts → runtime/copy-runtime-public-dir.d.ts} +0 -0
  619. /package/src/adapters/shared/{runtime-host.d.ts → runtime/runtime-host.d.ts} +0 -0
  620. /package/src/{hmr/hmr.postcss.test.e2e.d.ts → adapters/shared/runtime/runtime-host.js} +0 -0
  621. /package/src/{hmr/hmr.test.e2e.d.ts → adapters/shared/runtime/static-preview-host.js} +0 -0
  622. /package/src/build/{build-types.d.ts → contracts/build-types.d.ts} +0 -0
  623. /package/src/build/{runtime-build-output-normalizer.d.ts → rolldown/runtime-build-output-normalizer.d.ts} +0 -0
  624. /package/src/build/{server-side-css-shim-plugin.d.ts → rolldown/server-side-css-shim-plugin.d.ts} +0 -0
@@ -1,82 +1,79 @@
1
- import { RESOLVED_ASSETS_DIR, RESOLVED_ASSETS_VENDORS_DIR } from "../../../config/constants.js";
2
- import { deepMerge } from "../../../utils/deep-merge.js";
3
- class AssetFactory {
4
- static RESOLVED_ASSETS_DIR = RESOLVED_ASSETS_DIR;
5
- static RESOLVED_ASSETS_VENDORS_DIR = RESOLVED_ASSETS_VENDORS_DIR;
6
- static createContentScript(options) {
7
- return {
8
- kind: "script",
9
- source: "content",
10
- position: options.position || "body",
11
- ...options
12
- };
13
- }
14
- static createInlineContentScript(options) {
15
- return {
16
- ...AssetFactory.createContentScript(options),
17
- inline: true
18
- };
19
- }
20
- static createFileScript(options) {
21
- return {
22
- kind: "script",
23
- source: "file",
24
- position: options.position || "body",
25
- ...options
26
- };
27
- }
28
- static createInlineFileScript(options) {
29
- return {
30
- ...AssetFactory.createFileScript(options),
31
- inline: true
32
- };
33
- }
34
- static createNodeModuleScript(options) {
35
- return {
36
- kind: "script",
37
- source: "node-module",
38
- position: options.position || "body",
39
- ...options
40
- };
41
- }
42
- static createInlineNodeModuleScript(options) {
43
- return {
44
- ...AssetFactory.createNodeModuleScript(options),
45
- inline: true
46
- };
47
- }
48
- static createJsonScript(options) {
49
- return {
50
- kind: "script",
51
- source: "content",
52
- attributes: deepMerge(options.attributes, { type: "application/json" }),
53
- position: options.position || "body",
54
- ...options
55
- };
56
- }
57
- static createContentStylesheet(options) {
58
- return {
59
- kind: "stylesheet",
60
- source: "content",
61
- position: "head",
62
- ...options
63
- };
64
- }
65
- static createInlineContentStylesheet(options) {
66
- return {
67
- ...AssetFactory.createContentStylesheet(options),
68
- inline: true
69
- };
70
- }
71
- static createFileStylesheet(options) {
72
- return {
73
- kind: "stylesheet",
74
- source: "file",
75
- position: options.position || "head",
76
- ...options
77
- };
78
- }
1
+ import { RESOLVED_ASSETS_DIR, RESOLVED_ASSETS_VENDORS_DIR } from '../../../config/constants.js';
2
+ import { deepMerge } from '../../../utils/deep-merge.js';
3
+ export class AssetFactory {
4
+ static RESOLVED_ASSETS_DIR = RESOLVED_ASSETS_DIR;
5
+ static RESOLVED_ASSETS_VENDORS_DIR = RESOLVED_ASSETS_VENDORS_DIR;
6
+ static createContentScript(options) {
7
+ return {
8
+ kind: 'script',
9
+ source: 'content',
10
+ position: options.position || 'body',
11
+ ...options,
12
+ };
13
+ }
14
+ static createInlineContentScript(options) {
15
+ return {
16
+ ...AssetFactory.createContentScript(options),
17
+ inline: true,
18
+ };
19
+ }
20
+ static createFileScript(options) {
21
+ return {
22
+ kind: 'script',
23
+ source: 'file',
24
+ position: options.position || 'body',
25
+ ...options,
26
+ };
27
+ }
28
+ static createInlineFileScript(options) {
29
+ return {
30
+ ...AssetFactory.createFileScript(options),
31
+ inline: true,
32
+ };
33
+ }
34
+ static createNodeModuleScript(options) {
35
+ return {
36
+ kind: 'script',
37
+ source: 'node-module',
38
+ position: options.position || 'body',
39
+ ...options,
40
+ };
41
+ }
42
+ static createInlineNodeModuleScript(options) {
43
+ return {
44
+ ...AssetFactory.createNodeModuleScript(options),
45
+ inline: true,
46
+ };
47
+ }
48
+ static createJsonScript(options) {
49
+ return {
50
+ kind: 'script',
51
+ source: 'content',
52
+ attributes: deepMerge(options.attributes, { type: 'application/json' }),
53
+ position: options.position || 'body',
54
+ ...options,
55
+ };
56
+ }
57
+ static createContentStylesheet(options) {
58
+ return {
59
+ kind: 'stylesheet',
60
+ source: 'content',
61
+ position: 'head',
62
+ ...options,
63
+ };
64
+ }
65
+ static createInlineContentStylesheet(options) {
66
+ return {
67
+ ...AssetFactory.createContentStylesheet(options),
68
+ inline: true,
69
+ };
70
+ }
71
+ static createFileStylesheet(options) {
72
+ return {
73
+ kind: 'stylesheet',
74
+ source: 'file',
75
+ position: options.position || 'head',
76
+ ...options,
77
+ };
78
+ }
79
79
  }
80
- export {
81
- AssetFactory
82
- };
@@ -1,4 +1,4 @@
1
- import type { EcoBuildPlugin } from '../../../build/build-types.js';
1
+ import type { EcoBuildPlugin } from '../../../build/contracts/build-types.js';
2
2
  export type AssetSource = 'content' | 'file' | 'node-module';
3
3
  export type AssetKind = 'script' | 'stylesheet';
4
4
  export type AssetPosition = 'head' | 'body';
@@ -1,4 +1,4 @@
1
- import type { EcoBuildPlugin } from '../../../build/build-types.js';
1
+ import type { EcoBuildPlugin } from '../../../build/contracts/build-types.js';
2
2
  import type { AssetDefinition } from './assets.types.js';
3
3
  import { type BrowserRuntimeEntryModuleConfig } from './browser-runtime-entry.factory.js';
4
4
  export declare const BROWSER_RUNTIME_SCRIPT_ATTRIBUTES: {
@@ -1,50 +1,61 @@
1
- import { AssetFactory } from "./asset.factory.js";
2
- import {
3
- createBrowserRuntimeEntryModule
4
- } from "./browser-runtime-entry.factory.js";
5
- const BROWSER_RUNTIME_SCRIPT_ATTRIBUTES = {
6
- type: "module",
7
- defer: ""
1
+ import { AssetFactory } from './asset.factory.js';
2
+ import { createBrowserRuntimeEntryModule, } from './browser-runtime-entry.factory.js';
3
+ export const BROWSER_RUNTIME_SCRIPT_ATTRIBUTES = {
4
+ type: 'module',
5
+ defer: '',
8
6
  };
9
- function buildBrowserRuntimeAssetUrl(fileName) {
10
- return `/${AssetFactory.RESOLVED_ASSETS_VENDORS_DIR}/${fileName}`;
7
+ /**
8
+ * Builds the public vendor URL used for generated browser runtime assets.
9
+ */
10
+ export function buildBrowserRuntimeAssetUrl(fileName) {
11
+ return `/${AssetFactory.RESOLVED_ASSETS_VENDORS_DIR}/${fileName}`;
11
12
  }
12
- function createBrowserRuntimeScriptAsset(options) {
13
- return AssetFactory.createNodeModuleScript({
14
- position: "head",
15
- importPath: options.importPath,
16
- name: options.name,
17
- packageRole: "runtime",
18
- excludeFromHtml: true,
19
- bundleOptions: {
20
- naming: options.fileName,
21
- ...options.bundleOptions
22
- },
23
- attributes: {
24
- ...BROWSER_RUNTIME_SCRIPT_ATTRIBUTES,
25
- ...options.attributes ?? {}
26
- }
27
- });
13
+ /**
14
+ * Declares a browser runtime script asset backed by one importable module.
15
+ *
16
+ * @remarks
17
+ * Runtime assets are emitted as excluded head scripts because integrations often
18
+ * need the bundler output and specifier registration without injecting the raw
19
+ * asset directly into HTML during dependency resolution.
20
+ */
21
+ export function createBrowserRuntimeScriptAsset(options) {
22
+ return AssetFactory.createNodeModuleScript({
23
+ position: 'head',
24
+ importPath: options.importPath,
25
+ name: options.name,
26
+ packageRole: 'runtime',
27
+ excludeFromHtml: true,
28
+ bundleOptions: {
29
+ naming: options.fileName,
30
+ ...options.bundleOptions,
31
+ },
32
+ attributes: {
33
+ ...BROWSER_RUNTIME_SCRIPT_ATTRIBUTES,
34
+ ...(options.attributes ?? {}),
35
+ },
36
+ });
28
37
  }
29
- function createBrowserRuntimeModuleAsset(options) {
30
- const importPath = createBrowserRuntimeEntryModule({
31
- modules: options.modules,
32
- fileName: `${options.name}-entry.mjs`,
33
- rootDir: options.rootDir,
34
- workDir: options.workDir,
35
- cacheDirName: options.cacheDirName
36
- });
37
- return createBrowserRuntimeScriptAsset({
38
- importPath,
39
- name: options.name,
40
- fileName: options.fileName,
41
- bundleOptions: options.bundleOptions,
42
- attributes: options.attributes
43
- });
38
+ /**
39
+ * Creates a browser runtime asset from a generated re-export entry module.
40
+ *
41
+ * @remarks
42
+ * This is the shared "module list -> generated entry file -> runtime asset"
43
+ * path used by integrations that need browser-side runtime bundles without
44
+ * owning bespoke entry-file generation logic.
45
+ */
46
+ export function createBrowserRuntimeModuleAsset(options) {
47
+ const importPath = createBrowserRuntimeEntryModule({
48
+ modules: options.modules,
49
+ fileName: `${options.name}-entry.mjs`,
50
+ rootDir: options.rootDir,
51
+ workDir: options.workDir,
52
+ cacheDirName: options.cacheDirName,
53
+ });
54
+ return createBrowserRuntimeScriptAsset({
55
+ importPath,
56
+ name: options.name,
57
+ fileName: options.fileName,
58
+ bundleOptions: options.bundleOptions,
59
+ attributes: options.attributes,
60
+ });
44
61
  }
45
- export {
46
- BROWSER_RUNTIME_SCRIPT_ATTRIBUTES,
47
- buildBrowserRuntimeAssetUrl,
48
- createBrowserRuntimeModuleAsset,
49
- createBrowserRuntimeScriptAsset
50
- };
@@ -0,0 +1,52 @@
1
+ import type { createRequire } from 'node:module';
2
+ export type BrowserRuntimeDefaultExportPolicy = 'emit-default' | 'skip-default';
3
+ type RequireFromRoot = ReturnType<typeof createRequire>;
4
+ /**
5
+ * Resolves a package specifier to its ESM entry file path from the app root.
6
+ */
7
+ export declare function resolvePackageEsmEntryPath(specifier: string, rootDir: string): string | undefined;
8
+ /**
9
+ * Builds a relative import path from a generated runtime entry file to a resolved module path.
10
+ */
11
+ export declare function toRelativeEntryImport(entryDir: string, resolvedPath: string): string;
12
+ /**
13
+ * Resolves a browser runtime entry import to an ESM file path when possible.
14
+ *
15
+ * @remarks
16
+ * `createRequire().resolve()` follows the `require` export condition and can
17
+ * land on `.cjs` entrypoints. Browser vendor bundles then emit runtime
18
+ * `require()` calls for React externals. Prefer Node's ESM resolver first, then
19
+ * a `.cjs` → `.js` sibling fallback.
20
+ */
21
+ export declare function resolveBrowserRuntimeEntryImport(options: {
22
+ specifier: string;
23
+ requireFromRoot: RequireFromRoot;
24
+ entryDir: string;
25
+ rootDir: string;
26
+ }): string;
27
+ /**
28
+ * Decides whether a generated runtime entry should re-export a default binding.
29
+ *
30
+ * @remarks
31
+ * ESM-only packages such as `@tanstack/react-query` expose named exports only.
32
+ * Legacy CJS packages such as `react` assign `module.exports` directly and have
33
+ * no `.default` under `require()`, but still need a default re-export for
34
+ * `import React from 'react'` in browser bundles.
35
+ *
36
+ * ESM source inspection is a best-effort fast path; when it is inconclusive the
37
+ * policy falls back to the shape returned by `require()`.
38
+ */
39
+ export declare function inferBrowserRuntimeDefaultExportPolicy(options: {
40
+ specifier: string;
41
+ requireFromRoot: RequireFromRoot;
42
+ rootDir: string;
43
+ }): BrowserRuntimeDefaultExportPolicy;
44
+ /**
45
+ * Reads the named runtime exports that should be re-exported from a generated runtime entry module.
46
+ *
47
+ * @remarks
48
+ * Default exports are handled separately because generated runtime entry files need to emit a
49
+ * synthetic default binding only when the caller explicitly asks for it.
50
+ */
51
+ export declare function listBrowserRuntimeModuleExportNames(specifier: string, requireFromRoot: RequireFromRoot): string[];
52
+ export {};
@@ -0,0 +1,115 @@
1
+ import fs from 'node:fs';
2
+ import path from 'node:path';
3
+ import { pathToFileURL, fileURLToPath } from 'node:url';
4
+ import { isBarePackageImportSpecifier } from '../../../plugins/tsconfig-import-resolver.js';
5
+ /**
6
+ * Resolves a package specifier to its ESM entry file path from the app root.
7
+ */
8
+ export function resolvePackageEsmEntryPath(specifier, rootDir) {
9
+ try {
10
+ return fileURLToPath(import.meta.resolve(specifier, pathToFileURL(path.join(rootDir, 'package.json')).href));
11
+ }
12
+ catch {
13
+ return undefined;
14
+ }
15
+ }
16
+ /**
17
+ * Builds a relative import path from a generated runtime entry file to a resolved module path.
18
+ */
19
+ export function toRelativeEntryImport(entryDir, resolvedPath) {
20
+ let relativePath = path.relative(entryDir, resolvedPath).replace(/\\/g, '/');
21
+ if (!relativePath.startsWith('.')) {
22
+ relativePath = `./${relativePath}`;
23
+ }
24
+ return relativePath;
25
+ }
26
+ /**
27
+ * Resolves a browser runtime entry import to an ESM file path when possible.
28
+ *
29
+ * @remarks
30
+ * `createRequire().resolve()` follows the `require` export condition and can
31
+ * land on `.cjs` entrypoints. Browser vendor bundles then emit runtime
32
+ * `require()` calls for React externals. Prefer Node's ESM resolver first, then
33
+ * a `.cjs` → `.js` sibling fallback.
34
+ */
35
+ export function resolveBrowserRuntimeEntryImport(options) {
36
+ const { specifier, requireFromRoot, entryDir, rootDir } = options;
37
+ if (specifier.startsWith('node:') || specifier.startsWith('file:')) {
38
+ return specifier;
39
+ }
40
+ if (specifier.startsWith('.')) {
41
+ const resolvedPath = requireFromRoot.resolve(specifier);
42
+ return toRelativeEntryImport(entryDir, resolvedPath);
43
+ }
44
+ if (isBarePackageImportSpecifier(specifier, rootDir)) {
45
+ const esmResolvedPath = resolvePackageEsmEntryPath(specifier, rootDir);
46
+ if (esmResolvedPath) {
47
+ return toRelativeEntryImport(entryDir, esmResolvedPath);
48
+ }
49
+ }
50
+ const resolvedPath = requireFromRoot.resolve(specifier);
51
+ const esmSibling = resolvedPath.endsWith('.cjs')
52
+ ? `${resolvedPath.slice(0, -4)}.js`
53
+ : resolvedPath.endsWith('.cts')
54
+ ? `${resolvedPath.slice(0, -4)}.ts`
55
+ : undefined;
56
+ if (esmSibling && fs.existsSync(esmSibling)) {
57
+ return toRelativeEntryImport(entryDir, esmSibling);
58
+ }
59
+ return toRelativeEntryImport(entryDir, resolvedPath);
60
+ }
61
+ /**
62
+ * Decides whether a generated runtime entry should re-export a default binding.
63
+ *
64
+ * @remarks
65
+ * ESM-only packages such as `@tanstack/react-query` expose named exports only.
66
+ * Legacy CJS packages such as `react` assign `module.exports` directly and have
67
+ * no `.default` under `require()`, but still need a default re-export for
68
+ * `import React from 'react'` in browser bundles.
69
+ *
70
+ * ESM source inspection is a best-effort fast path; when it is inconclusive the
71
+ * policy falls back to the shape returned by `require()`.
72
+ */
73
+ export function inferBrowserRuntimeDefaultExportPolicy(options) {
74
+ const { specifier, requireFromRoot, rootDir } = options;
75
+ const esmPath = resolvePackageEsmEntryPath(specifier, rootDir);
76
+ if (esmPath && fs.existsSync(esmPath)) {
77
+ const source = fs.readFileSync(esmPath, 'utf8');
78
+ if (/\bexport\s+default\b/.test(source)) {
79
+ return 'emit-default';
80
+ }
81
+ if (/\bexport\s+(?:[\w*{]|const|let|var|function|class)/.test(source)) {
82
+ return 'skip-default';
83
+ }
84
+ }
85
+ try {
86
+ const moduleExports = requireFromRoot(specifier);
87
+ if (moduleExports.default !== undefined) {
88
+ return 'emit-default';
89
+ }
90
+ return moduleExports.__esModule === true ? 'skip-default' : 'emit-default';
91
+ }
92
+ catch {
93
+ return 'skip-default';
94
+ }
95
+ }
96
+ /**
97
+ * Reads the named runtime exports that should be re-exported from a generated runtime entry module.
98
+ *
99
+ * @remarks
100
+ * Default exports are handled separately because generated runtime entry files need to emit a
101
+ * synthetic default binding only when the caller explicitly asks for it.
102
+ */
103
+ export function listBrowserRuntimeModuleExportNames(specifier, requireFromRoot) {
104
+ let moduleExports;
105
+ try {
106
+ moduleExports = requireFromRoot(specifier);
107
+ }
108
+ catch {
109
+ return [];
110
+ }
111
+ return Object.keys(moduleExports)
112
+ .filter((name) => name !== '__esModule' && name !== 'default')
113
+ .filter((name) => /^[$A-Z_a-z][$\w]*$/.test(name))
114
+ .sort();
115
+ }
@@ -1,61 +1,56 @@
1
- import fs from "node:fs";
2
- import path from "node:path";
3
- import { createRequire } from "node:module";
4
- import { DEFAULT_ECOPAGES_WORK_DIR } from "../../../config/constants.js";
5
- function createBrowserRuntimeEntryModule(options) {
6
- if (options.modules.some((module) => !module.specifier.startsWith("node:")) && !options.rootDir) {
7
- throw new Error("createBrowserRuntimeEntryModule requires rootDir to resolve package specifiers");
8
- }
9
- const rootDir = options.rootDir ?? process.cwd();
10
- const workDir = options.workDir ?? path.join(rootDir, DEFAULT_ECOPAGES_WORK_DIR);
11
- const artifactsDir = path.join(
12
- workDir,
13
- ".browser-runtime-entries",
14
- options.cacheDirName ?? "ecopages-browser-runtime"
15
- );
16
- fs.mkdirSync(artifactsDir, { recursive: true });
17
- const requireFromRoot = createRequire(path.join(rootDir, "package.json"));
18
- const seenExports = /* @__PURE__ */ new Set();
19
- const statements = [];
20
- const filePath = path.join(artifactsDir, options.fileName);
21
- const entryDir = path.dirname(filePath);
22
- for (const module of options.modules) {
23
- const importSpecifier = resolveEntryImportSpecifier(module.specifier, requireFromRoot, entryDir);
24
- if (module.defaultExport) {
25
- statements.push(`import __ecopages_default_export__ from '${importSpecifier}';`);
26
- statements.push("export default __ecopages_default_export__;");
1
+ import fs from 'node:fs';
2
+ import path from 'node:path';
3
+ import { createRequire } from 'node:module';
4
+ import { DEFAULT_ECOPAGES_WORK_DIR } from '../../../config/constants.js';
5
+ import { inferBrowserRuntimeDefaultExportPolicy, listBrowserRuntimeModuleExportNames, resolveBrowserRuntimeEntryImport, } from './browser-runtime-entry-resolution.js';
6
+ /**
7
+ * Creates a generated ESM entry module that re-exports runtime modules through
8
+ * one stable file.
9
+ *
10
+ * @remarks
11
+ * Integrations use this helper when they need a browser runtime asset composed
12
+ * from multiple bare specifiers but do not want to own temporary file assembly
13
+ * logic themselves. The generated file lives under the app work directory so
14
+ * repeated runs can reuse the same location without placing sources inside
15
+ * `node_modules`, which can cause bundlers to externalize bare imports.
16
+ */
17
+ export function createBrowserRuntimeEntryModule(options) {
18
+ if (options.modules.some((module) => !module.specifier.startsWith('node:')) && !options.rootDir) {
19
+ throw new Error('createBrowserRuntimeEntryModule requires rootDir to resolve package specifiers');
27
20
  }
28
- const exportNames = getModuleExportNames(module.specifier, requireFromRoot).filter(
29
- (name) => !seenExports.has(name)
30
- );
31
- if (exportNames.length > 0) {
32
- statements.push(`export { ${exportNames.join(", ")} } from '${importSpecifier}';`);
33
- for (const exportName of exportNames) {
34
- seenExports.add(exportName);
35
- }
21
+ const rootDir = options.rootDir ?? process.cwd();
22
+ const workDir = options.workDir ?? path.join(rootDir, DEFAULT_ECOPAGES_WORK_DIR);
23
+ const artifactsDir = path.join(workDir, '.browser-runtime-entries', options.cacheDirName ?? 'ecopages-browser-runtime');
24
+ fs.mkdirSync(artifactsDir, { recursive: true });
25
+ const requireFromRoot = createRequire(path.join(rootDir, 'package.json'));
26
+ const seenExports = new Set();
27
+ const statements = [];
28
+ const filePath = path.join(artifactsDir, options.fileName);
29
+ const entryDir = path.dirname(filePath);
30
+ for (const module of options.modules) {
31
+ const importSpecifier = resolveBrowserRuntimeEntryImport({
32
+ specifier: module.specifier,
33
+ requireFromRoot,
34
+ entryDir,
35
+ rootDir,
36
+ });
37
+ if (module.defaultExport &&
38
+ inferBrowserRuntimeDefaultExportPolicy({ specifier: module.specifier, requireFromRoot, rootDir }) ===
39
+ 'emit-default') {
40
+ statements.push(`import __ecopages_default_export__ from '${importSpecifier}';`);
41
+ statements.push('export default __ecopages_default_export__;');
42
+ }
43
+ const exportNames = listBrowserRuntimeModuleExportNames(module.specifier, requireFromRoot).filter((name) => !seenExports.has(name));
44
+ if (exportNames.length > 0) {
45
+ statements.push(`export { ${exportNames.join(', ')} } from '${importSpecifier}';`);
46
+ for (const exportName of exportNames) {
47
+ seenExports.add(exportName);
48
+ }
49
+ }
36
50
  }
37
- }
38
- const content = statements.join("\n");
39
- if (!fs.existsSync(filePath) || fs.readFileSync(filePath, "utf-8") !== content) {
40
- fs.writeFileSync(filePath, content, "utf-8");
41
- }
42
- return filePath;
43
- }
44
- function resolveEntryImportSpecifier(specifier, requireFromRoot, entryDir) {
45
- if (specifier.startsWith("node:") || specifier.startsWith("file:")) {
46
- return specifier;
47
- }
48
- const resolvedPath = requireFromRoot.resolve(specifier);
49
- let relativePath = path.relative(entryDir, resolvedPath).replace(/\\/g, "/");
50
- if (!relativePath.startsWith(".")) {
51
- relativePath = `./${relativePath}`;
52
- }
53
- return relativePath;
54
- }
55
- function getModuleExportNames(specifier, requireFromRoot) {
56
- const moduleExports = requireFromRoot(specifier);
57
- return Object.keys(moduleExports).filter((name) => name !== "__esModule" && name !== "default").filter((name) => /^[$A-Z_a-z][$\w]*$/.test(name)).sort();
51
+ const content = statements.join('\n');
52
+ if (!fs.existsSync(filePath) || fs.readFileSync(filePath, 'utf-8') !== content) {
53
+ fs.writeFileSync(filePath, content, 'utf-8');
54
+ }
55
+ return filePath;
58
56
  }
59
- export {
60
- createBrowserRuntimeEntryModule
61
- };
@@ -0,0 +1,3 @@
1
+ import type { ProcessedAsset } from './assets.types.js';
2
+ /** Applies the public source URL to one processed asset when available. */
3
+ export declare function finalizeProcessedAsset(processed: ProcessedAsset, resolveProcessedAssetSrcUrl: (processed: ProcessedAsset) => string | undefined): ProcessedAsset;
@@ -0,0 +1,5 @@
1
+ /** Applies the public source URL to one processed asset when available. */
2
+ export function finalizeProcessedAsset(processed, resolveProcessedAssetSrcUrl) {
3
+ const srcUrl = resolveProcessedAssetSrcUrl(processed);
4
+ return srcUrl ? { ...processed, srcUrl } : processed;
5
+ }
@@ -1,4 +1,6 @@
1
1
  import type { AssetDefinition, ProcessedAsset } from './assets.types.js';
2
+ /** Forces grouped content scripts to run through the bundler in production builds. */
3
+ export declare function ensureGroupedContentScriptsBundle(dependencies: AssetDefinition[]): void;
2
4
  /**
3
5
  * Splits grouped content-script dependencies from ordinary dependencies so callers can
4
6
  * route them through `processGrouped` without changing ordering for the remaining assets.
@@ -12,7 +14,6 @@ type GroupedBundleProcessor = {
12
14
  };
13
15
  type ProcessGroupedDependencyBundlesOptions = {
14
16
  bundles: AssetDefinition[][];
15
- key: string;
16
17
  getCachedAsset: (dep: AssetDefinition, depKey: string) => ProcessedAsset | null;
17
18
  getDependencyKey: (dep: AssetDefinition) => string;
18
19
  getGroupedProcessor: () => GroupedBundleProcessor | undefined;