@ecopages/core 0.2.0-beta.4 → 0.2.0-beta.41

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 (611) hide show
  1. package/README.md +40 -9
  2. package/package.json +371 -33
  3. package/src/adapters/README.md +6 -2
  4. package/src/adapters/abstract/application-adapter.d.ts +115 -6
  5. package/src/adapters/abstract/application-adapter.js +261 -120
  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 +16 -2
  10. package/src/adapters/abstract/server-adapter.js +22 -14
  11. package/src/adapters/abstract/ws-pattern-matcher.d.ts +12 -0
  12. package/src/adapters/abstract/ws-pattern-matcher.js +28 -0
  13. package/src/adapters/bun/bun-user-websocket-lifecycle.d.ts +22 -0
  14. package/src/adapters/bun/bun-user-websocket-lifecycle.js +93 -0
  15. package/src/adapters/bun/client-bridge.d.ts +1 -0
  16. package/src/adapters/bun/client-bridge.js +51 -47
  17. package/src/adapters/bun/create-app.d.ts +9 -6
  18. package/src/adapters/bun/create-app.js +171 -130
  19. package/src/adapters/bun/hmr-manager.d.ts +1 -1
  20. package/src/adapters/bun/hmr-manager.js +62 -57
  21. package/src/adapters/bun/index.d.ts +1 -1
  22. package/src/adapters/bun/index.js +2 -8
  23. package/src/adapters/bun/runtime-host.d.ts +1 -1
  24. package/src/adapters/bun/runtime-host.js +61 -54
  25. package/src/adapters/bun/server-adapter.d.ts +91 -41
  26. package/src/adapters/bun/server-adapter.js +566 -426
  27. package/src/adapters/bun/static-preview-host.d.ts +1 -1
  28. package/src/adapters/bun/static-preview-host.js +43 -41
  29. package/src/adapters/create-app.d.ts +13 -11
  30. package/src/adapters/create-app.js +11 -63
  31. package/src/adapters/index.d.ts +2 -2
  32. package/src/adapters/index.js +2 -8
  33. package/src/adapters/node/create-app.d.ts +8 -3
  34. package/src/adapters/node/create-app.js +126 -84
  35. package/src/adapters/node/http-request-bridge.js +147 -106
  36. package/src/adapters/node/node-client-bridge.d.ts +1 -0
  37. package/src/adapters/node/node-client-bridge.js +62 -61
  38. package/src/adapters/node/node-hmr-manager.d.ts +1 -1
  39. package/src/adapters/node/node-hmr-manager.js +58 -48
  40. package/src/adapters/node/runtime-host.d.ts +1 -1
  41. package/src/adapters/node/runtime-host.js +96 -89
  42. package/src/adapters/node/server-adapter-dependencies.js +18 -17
  43. package/src/adapters/node/server-adapter.d.ts +63 -23
  44. package/src/adapters/node/server-adapter.js +346 -297
  45. package/src/adapters/node/static-content-server.d.ts +1 -0
  46. package/src/adapters/node/static-content-server.js +172 -183
  47. package/src/adapters/node/static-preview-host.d.ts +1 -1
  48. package/src/adapters/node/static-preview-host.js +88 -64
  49. package/src/adapters/shared/hmr/dev-transform-entrypoint-registry.d.ts +16 -0
  50. package/src/adapters/shared/hmr/dev-transform-entrypoint-registry.js +32 -0
  51. package/src/adapters/shared/{hmr-html-response.d.ts → hmr/hmr-html-response.d.ts} +2 -2
  52. package/src/adapters/shared/hmr/hmr-html-response.js +50 -0
  53. package/src/adapters/shared/hmr/shared-hmr-manager.d.ts +92 -0
  54. package/src/adapters/shared/hmr/shared-hmr-manager.js +446 -0
  55. package/src/adapters/shared/http/api-request-pipeline.d.ts +23 -0
  56. package/src/adapters/shared/http/api-request-pipeline.js +132 -0
  57. package/src/adapters/shared/{api-response.d.ts → http/api-response.d.ts} +1 -1
  58. package/src/adapters/shared/http/api-response.js +79 -0
  59. package/src/adapters/shared/http/create-body-response.d.ts +12 -0
  60. package/src/adapters/shared/http/create-body-response.js +26 -0
  61. package/src/adapters/shared/http/define-api-handler.d.ts +90 -0
  62. package/src/adapters/shared/http/define-api-handler.js +49 -0
  63. package/src/adapters/shared/{explicit-static-render-preparation.d.ts → http/explicit-static-render-preparation.d.ts} +3 -3
  64. package/src/adapters/shared/http/explicit-static-render-preparation.js +29 -0
  65. package/src/adapters/shared/{explicit-static-route-matcher.d.ts → http/explicit-static-route-matcher.d.ts} +3 -9
  66. package/src/adapters/shared/http/explicit-static-route-matcher.js +59 -0
  67. package/src/adapters/shared/{file-route-middleware-pipeline.d.ts → http/file-route-middleware-pipeline.d.ts} +2 -2
  68. package/src/adapters/shared/http/file-route-middleware-pipeline.js +84 -0
  69. package/src/adapters/shared/{fs-server-response-factory.d.ts → http/fs-server-response-factory.d.ts} +7 -2
  70. package/src/adapters/shared/http/fs-server-response-factory.js +106 -0
  71. package/src/adapters/shared/{fs-server-response-matcher.d.ts → http/fs-server-response-matcher.d.ts} +25 -5
  72. package/src/adapters/shared/http/fs-server-response-matcher.js +258 -0
  73. package/src/adapters/shared/http/run-middleware-chain.d.ts +5 -0
  74. package/src/adapters/shared/http/run-middleware-chain.js +17 -0
  75. package/src/adapters/shared/{application-adapter.d.ts → runtime/application-adapter.d.ts} +2 -2
  76. package/src/adapters/shared/runtime/application-adapter.js +75 -0
  77. package/src/adapters/shared/runtime/collect-dev-prewarm-plan.d.ts +11 -0
  78. package/src/adapters/shared/runtime/collect-dev-prewarm-plan.js +29 -0
  79. package/src/adapters/shared/runtime/copy-runtime-public-dir.d.ts +6 -0
  80. package/src/adapters/shared/runtime/copy-runtime-public-dir.js +27 -0
  81. package/src/adapters/shared/runtime/dev-static-route-prewarm.d.ts +16 -0
  82. package/src/adapters/shared/runtime/dev-static-route-prewarm.js +66 -0
  83. package/src/adapters/shared/runtime/port-manager.d.ts +116 -0
  84. package/src/adapters/shared/runtime/port-manager.js +226 -0
  85. package/src/adapters/shared/{render-context.d.ts → runtime/render-context.d.ts} +2 -2
  86. package/src/adapters/shared/runtime/render-context.js +99 -0
  87. package/src/adapters/shared/{runtime-app-bootstrap.d.ts → runtime/runtime-app-bootstrap.d.ts} +4 -3
  88. package/src/adapters/shared/runtime/runtime-app-bootstrap.js +38 -0
  89. package/src/adapters/shared/runtime/runtime-server-lifecycle.d.ts +45 -0
  90. package/src/adapters/shared/runtime/runtime-server-lifecycle.js +71 -0
  91. package/src/adapters/shared/{server-adapter.d.ts → runtime/server-adapter.d.ts} +31 -50
  92. package/src/adapters/shared/runtime/server-adapter.js +301 -0
  93. package/src/adapters/shared/{server-route-handler.d.ts → runtime/server-route-handler.d.ts} +6 -33
  94. package/src/adapters/shared/runtime/server-route-handler.js +77 -0
  95. package/src/adapters/shared/{server-static-builder.d.ts → runtime/server-static-builder.d.ts} +27 -35
  96. package/src/adapters/shared/runtime/server-static-builder.js +172 -0
  97. package/src/adapters/shared/{static-preview-host.d.ts → runtime/static-preview-host.d.ts} +6 -1
  98. package/src/adapters/shared/ws/node-http-websocket-upgrades.d.ts +21 -0
  99. package/src/adapters/shared/ws/node-http-websocket-upgrades.js +109 -0
  100. package/src/adapters/shared/ws/websocket-lifecycle.d.ts +24 -0
  101. package/src/adapters/shared/ws/websocket-lifecycle.js +62 -0
  102. package/src/build/README.md +191 -31
  103. package/src/build/app-build-manifest-runtime.d.ts +39 -0
  104. package/src/build/app-build-manifest-runtime.js +145 -0
  105. package/src/build/browser/browser-runtime-manifest.js +58 -0
  106. package/src/build/browser/browser-runtime-plugin-helpers.js +34 -0
  107. package/src/build/{browser-runtime-plugin.d.ts → browser/browser-runtime-plugin.d.ts} +1 -1
  108. package/src/build/browser/browser-runtime-plugin.js +216 -0
  109. package/src/build/browser/jsx-ownership-plugins.d.ts +24 -0
  110. package/src/build/browser/jsx-ownership-plugins.js +55 -0
  111. package/src/build/browser/lit-static-render-worker-context.d.ts +2 -0
  112. package/src/build/browser/lit-static-render-worker-context.js +4 -0
  113. package/src/build/build-adapter.d.ts +29 -334
  114. package/src/build/build-adapter.js +273 -237
  115. package/src/build/cache/build-input-fingerprint.d.ts +28 -0
  116. package/src/build/cache/build-input-fingerprint.js +33 -0
  117. package/src/build/cache/cache-constants.d.ts +4 -0
  118. package/src/build/cache/cache-constants.js +4 -0
  119. package/src/build/cache/cache-keys.d.ts +22 -0
  120. package/src/build/cache/cache-keys.js +71 -0
  121. package/src/build/cache/pages-unified-graph-build.d.ts +31 -0
  122. package/src/build/cache/pages-unified-graph-build.js +199 -0
  123. package/src/build/cache/production-build-cache.d.ts +21 -0
  124. package/src/build/cache/production-build-cache.js +56 -0
  125. package/src/build/cache/server-entry-build-cache.d.ts +43 -0
  126. package/src/build/cache/server-entry-build-cache.js +153 -0
  127. package/src/build/contracts/build-contracts.d.ts +96 -0
  128. package/src/build/contracts/build-contracts.js +1 -0
  129. package/src/build/contracts/build-manifest.d.ts +90 -0
  130. package/src/build/contracts/build-manifest.js +64 -0
  131. package/src/build/contracts/build-types.js +1 -0
  132. package/src/build/contracts/content-virtual-modules.d.ts +12 -0
  133. package/src/build/contracts/content-virtual-modules.js +29 -0
  134. package/src/build/{rolldown-adapter-helpers.d.ts → rolldown/rolldown-adapter-helpers.d.ts} +32 -9
  135. package/src/build/rolldown/rolldown-adapter-helpers.js +458 -0
  136. package/src/build/{rolldown-build-adapter.d.ts → rolldown/rolldown-build-adapter.d.ts} +3 -7
  137. package/src/build/rolldown/rolldown-build-adapter.js +57 -0
  138. package/src/build/rolldown/rolldown-build-invocation-metrics.d.ts +12 -0
  139. package/src/build/rolldown/rolldown-build-invocation-metrics.js +39 -0
  140. package/src/build/{rolldown-plugin-bridge.d.ts → rolldown/rolldown-plugin-bridge.d.ts} +16 -2
  141. package/src/build/rolldown/rolldown-plugin-bridge.js +284 -0
  142. package/src/build/rolldown/rolldown-source-transform-pass.d.ts +15 -0
  143. package/src/build/rolldown/rolldown-source-transform-pass.js +70 -0
  144. package/src/build/rolldown/runtime-build-output-normalizer.d.ts +10 -0
  145. package/src/build/rolldown/runtime-build-output-normalizer.js +253 -0
  146. package/src/build/rolldown/server-side-css-shim-plugin.js +58 -0
  147. package/src/build/runtime/build-profile-options.d.ts +7 -0
  148. package/src/build/runtime/build-profile-options.js +37 -0
  149. package/src/build/runtime/build-request-identity.d.ts +17 -0
  150. package/src/build/runtime/build-request-identity.js +79 -0
  151. package/src/build/runtime/build-request-policy.d.ts +58 -0
  152. package/src/build/runtime/build-request-policy.js +84 -0
  153. package/src/build/runtime/build-runtime.d.ts +28 -0
  154. package/src/build/runtime/build-runtime.js +75 -0
  155. package/src/build/runtime/deduping-build-executor.d.ts +21 -0
  156. package/src/build/runtime/deduping-build-executor.js +40 -0
  157. package/src/build/runtime/parallel-build-executor.d.ts +21 -0
  158. package/src/build/runtime/parallel-build-executor.js +60 -0
  159. package/src/build/{serialized-build-executor.d.ts → runtime/serialized-build-executor.d.ts} +1 -1
  160. package/src/build/runtime/serialized-build-executor.js +79 -0
  161. package/src/cache/index.d.ts +2 -1
  162. package/src/cache/index.js +7 -6
  163. package/src/cache/module-parse-cache.d.ts +5 -0
  164. package/src/cache/module-parse-cache.js +122 -67
  165. package/src/cache/module-transform-profiler.d.ts +8 -0
  166. package/src/cache/module-transform-profiler.js +8 -0
  167. package/src/client/navigation-scripts/classification.d.ts +16 -0
  168. package/src/client/navigation-scripts/classification.js +49 -0
  169. package/src/client/navigation-scripts/index.d.ts +3 -0
  170. package/src/client/navigation-scripts/index.js +3 -0
  171. package/src/client/navigation-scripts/navigation-scripts.test.browser.d.ts +1 -0
  172. package/src/client/navigation-scripts/navigation-scripts.test.browser.js +61 -0
  173. package/src/client/navigation-scripts/registry.d.ts +11 -0
  174. package/src/client/navigation-scripts/registry.js +16 -0
  175. package/src/client/navigation-scripts/rerun-queue.d.ts +37 -0
  176. package/src/client/navigation-scripts/rerun-queue.js +90 -0
  177. package/src/client/scroll.d.ts +17 -0
  178. package/src/client/scroll.js +33 -0
  179. package/src/client/scroll.test.browser.d.ts +1 -0
  180. package/src/client/scroll.test.browser.js +31 -0
  181. package/src/client/view-transitions.d.ts +32 -0
  182. package/src/client/view-transitions.js +120 -0
  183. package/src/client/view-transitions.test.browser.d.ts +1 -0
  184. package/src/client/view-transitions.test.browser.js +56 -0
  185. package/src/config/config-builder.d.ts +40 -10
  186. package/src/config/config-builder.js +647 -600
  187. package/src/config/constants.d.ts +1 -0
  188. package/src/config/constants.js +44 -23
  189. package/src/declarations.d.ts +1 -0
  190. package/src/dev/README.md +24 -0
  191. package/src/dev/client-bridge-registry.d.ts +5 -0
  192. package/src/dev/client-bridge-registry.js +10 -0
  193. package/src/dev/dev-client-ownership.d.ts +7 -0
  194. package/src/dev/dev-client-ownership.js +8 -0
  195. package/src/dev/hmr-manager-registry.d.ts +8 -0
  196. package/src/dev/hmr-manager-registry.js +10 -0
  197. package/src/dev/host-runtime.d.ts +3 -0
  198. package/src/dev/host-runtime.js +25 -23
  199. package/src/dev/runtime-server-started-message.d.ts +2 -0
  200. package/src/dev/runtime-server-started-message.js +3 -0
  201. package/src/dev/sc-server.js +106 -103
  202. package/src/dev/transform-server/dev-transform-bundler.d.ts +24 -0
  203. package/src/dev/transform-server/dev-transform-bundler.js +79 -0
  204. package/src/dev/transform-server/dev-transform-externalize-plugin.d.ts +12 -0
  205. package/src/dev/transform-server/dev-transform-externalize-plugin.js +29 -0
  206. package/src/dev/transform-server/dev-transform-import-rewriter.d.ts +16 -0
  207. package/src/dev/transform-server/dev-transform-import-rewriter.js +126 -0
  208. package/src/dev/transform-server/dev-transform-module-kind.d.ts +13 -0
  209. package/src/dev/transform-server/dev-transform-module-kind.js +17 -0
  210. package/src/dev/transform-server/dev-transform-runtime-specifiers.d.ts +5 -0
  211. package/src/dev/transform-server/dev-transform-runtime-specifiers.js +16 -0
  212. package/src/dev/transform-server/dev-transform-server.d.ts +41 -0
  213. package/src/dev/transform-server/dev-transform-server.js +191 -0
  214. package/src/dev/transform-server/dev-transform-url.d.ts +13 -0
  215. package/src/dev/transform-server/dev-transform-url.js +58 -0
  216. package/src/dev/transform-server/dev-transform-vendor-registry.d.ts +28 -0
  217. package/src/dev/transform-server/dev-transform-vendor-registry.js +158 -0
  218. package/src/dev/transform-server/index.d.ts +6 -0
  219. package/src/dev/transform-server/index.js +4 -0
  220. package/src/dev/transform-server/types.d.ts +15 -0
  221. package/src/dev/transform-server/types.js +1 -0
  222. package/src/dev-toolbar/README.md +52 -0
  223. package/src/dev-toolbar/define-dev-tool.d.ts +21 -0
  224. package/src/dev-toolbar/define-dev-tool.js +9 -0
  225. package/src/dev-toolbar/dev-toolbar-config.d.ts +25 -0
  226. package/src/dev-toolbar/dev-toolbar-config.js +19 -0
  227. package/src/dev-toolbar/dev-toolbar-host.d.ts +49 -0
  228. package/src/dev-toolbar/dev-toolbar-host.js +117 -0
  229. package/src/dev-toolbar/dev-toolbar-html-response.d.ts +11 -0
  230. package/src/dev-toolbar/dev-toolbar-html-response.js +14 -0
  231. package/src/dev-toolbar/dev-toolbar-manifest-contract.d.ts +22 -0
  232. package/src/dev-toolbar/dev-toolbar-manifest-contract.js +2 -0
  233. package/src/dev-toolbar/dev-toolbar-manifest.d.ts +15 -0
  234. package/src/dev-toolbar/dev-toolbar-manifest.js +52 -0
  235. package/src/dev-toolbar/dev-toolbar-package.d.ts +34 -0
  236. package/src/dev-toolbar/dev-toolbar-package.js +78 -0
  237. package/src/dev-toolbar/dev-toolbar-runtime-paths.d.ts +10 -0
  238. package/src/dev-toolbar/dev-toolbar-runtime-paths.js +13 -0
  239. package/src/diagnostics/request-build-dedupe.d.ts +18 -0
  240. package/src/diagnostics/request-build-dedupe.js +39 -0
  241. package/src/diagnostics/request-pipeline-metrics.d.ts +38 -0
  242. package/src/diagnostics/request-pipeline-metrics.js +121 -0
  243. package/src/diagnostics/startup-trace.d.ts +81 -0
  244. package/src/diagnostics/startup-trace.js +281 -0
  245. package/src/eco/README.md +17 -0
  246. package/src/eco/component-identity.d.ts +13 -0
  247. package/src/eco/component-identity.js +18 -0
  248. package/src/eco/eco-declared-component.d.ts +15 -0
  249. package/src/eco/eco-declared-component.js +23 -0
  250. package/src/eco/eco.browser.js +63 -70
  251. package/src/eco/eco.js +163 -97
  252. package/src/eco/eco.types.d.ts +47 -8
  253. package/src/eco/eco.types.js +5 -0
  254. package/src/eco/eco.utils.d.ts +1 -1
  255. package/src/eco/eco.utils.js +1 -10
  256. package/src/eco/global-injector-map.js +55 -41
  257. package/src/eco/lazy-injector-map.js +90 -60
  258. package/src/eco/module-dependencies.js +52 -44
  259. package/src/eco/page-layout-normalization.d.ts +21 -0
  260. package/src/eco/page-layout-normalization.js +69 -0
  261. package/src/env.d.ts +2 -0
  262. package/src/errors/http-error.d.ts +8 -0
  263. package/src/errors/http-error.js +66 -49
  264. package/src/errors/index.d.ts +1 -0
  265. package/src/errors/index.js +3 -6
  266. package/src/errors/locals-access-error.js +5 -8
  267. package/src/errors/undeclared-component-dependency-error.d.ts +11 -0
  268. package/src/errors/undeclared-component-dependency-error.js +17 -0
  269. package/src/global/app-logger.js +3 -6
  270. package/src/hmr/README.md +21 -0
  271. package/src/hmr/client/hmr-runtime.js +119 -110
  272. package/src/hmr/client/module-update.d.ts +13 -0
  273. package/src/hmr/client/module-update.js +39 -0
  274. package/src/hmr/hmr-asset-paths.d.ts +14 -0
  275. package/src/hmr/hmr-asset-paths.js +22 -0
  276. package/src/hmr/hmr-entrypoint-output.d.ts +21 -0
  277. package/src/hmr/hmr-entrypoint-output.js +34 -0
  278. package/src/hmr/hmr-file-change-prep.d.ts +10 -0
  279. package/src/hmr/hmr-file-change-prep.js +14 -0
  280. package/src/hmr/hmr-registered-entrypoints-context.d.ts +7 -0
  281. package/src/hmr/hmr-registered-entrypoints-context.js +1 -0
  282. package/src/hmr/hmr-runtime-paths.d.ts +10 -0
  283. package/src/hmr/hmr-runtime-paths.js +13 -0
  284. package/src/hmr/hmr-strategy.d.ts +9 -0
  285. package/src/hmr/hmr-strategy.js +113 -42
  286. package/src/hmr/strategies/default-hmr-strategy.js +55 -33
  287. package/src/hmr/strategies/js-hmr-strategy.d.ts +6 -97
  288. package/src/hmr/strategies/js-hmr-strategy.js +107 -167
  289. package/src/hmr/strategies/server-rendered-template-hmr-strategy.d.ts +17 -0
  290. package/src/hmr/strategies/server-rendered-template-hmr-strategy.js +35 -0
  291. package/src/index.browser.d.ts +1 -0
  292. package/src/index.browser.js +2 -4
  293. package/src/index.d.ts +4 -1
  294. package/src/index.js +7 -21
  295. package/src/integrations/ghtml/ghtml-renderer.d.ts +2 -6
  296. package/src/integrations/ghtml/ghtml-renderer.js +12 -56
  297. package/src/integrations/ghtml/ghtml.constants.js +1 -4
  298. package/src/integrations/ghtml/ghtml.plugin.d.ts +3 -16
  299. package/src/integrations/ghtml/ghtml.plugin.js +10 -20
  300. package/src/islands/README.md +25 -0
  301. package/src/islands/island-host.d.ts +37 -0
  302. package/src/islands/island-host.js +55 -0
  303. package/src/plugins/README.md +2 -1
  304. package/src/plugins/alias-resolver-cache.d.ts +6 -9
  305. package/src/plugins/alias-resolver-cache.js +114 -97
  306. package/src/plugins/alias-resolver-plugin.d.ts +3 -3
  307. package/src/plugins/alias-resolver-plugin.js +35 -62
  308. package/src/plugins/define-integration.d.ts +26 -0
  309. package/src/plugins/define-integration.js +20 -0
  310. package/src/plugins/eco-component-meta-plugin.d.ts +6 -102
  311. package/src/plugins/eco-component-meta-plugin.js +120 -162
  312. package/src/plugins/foreign-jsx-override-plugin.d.ts +1 -1
  313. package/src/plugins/foreign-jsx-override-plugin.js +49 -37
  314. package/src/plugins/integration-plugin.d.ts +43 -14
  315. package/src/plugins/integration-plugin.js +212 -190
  316. package/src/plugins/jsx-import-source.utils.d.ts +8 -0
  317. package/src/plugins/jsx-import-source.utils.js +21 -0
  318. package/src/plugins/processor.d.ts +71 -12
  319. package/src/plugins/processor.js +168 -130
  320. package/src/plugins/runtime-capability.js +1 -0
  321. package/src/plugins/source-transform.d.ts +32 -1
  322. package/src/plugins/source-transform.js +112 -60
  323. package/src/plugins/tsconfig-import-resolver.d.ts +35 -0
  324. package/src/plugins/tsconfig-import-resolver.js +235 -0
  325. package/src/route-renderer/GRAPH.md +26 -32
  326. package/src/route-renderer/README.md +54 -33
  327. package/src/route-renderer/orchestration/document-shell/document-shell-render.service.d.ts +107 -0
  328. package/src/route-renderer/orchestration/document-shell/document-shell-render.service.js +155 -0
  329. package/src/route-renderer/orchestration/document-shell/layout-shell-props.service.d.ts +20 -0
  330. package/src/route-renderer/orchestration/document-shell/layout-shell-props.service.js +37 -0
  331. package/src/route-renderer/orchestration/{component-render-context.d.ts → foreign-child/component-render-context.d.ts} +8 -15
  332. package/src/route-renderer/orchestration/foreign-child/component-render-context.js +196 -0
  333. package/src/route-renderer/orchestration/{render-output.utils.d.ts → foreign-child/foreign-child-output.utils.d.ts} +17 -7
  334. package/src/route-renderer/orchestration/foreign-child/foreign-child-output.utils.js +191 -0
  335. package/src/route-renderer/orchestration/{foreign-subtree-execution.service.d.ts → foreign-child/foreign-subtree-execution.service.d.ts} +64 -34
  336. package/src/route-renderer/orchestration/foreign-child/foreign-subtree-execution.service.js +354 -0
  337. package/src/route-renderer/orchestration/foreign-child/owning-renderer-resolution.d.ts +19 -0
  338. package/src/route-renderer/orchestration/foreign-child/owning-renderer-resolution.js +36 -0
  339. package/src/route-renderer/orchestration/integration-renderer.d.ts +41 -151
  340. package/src/route-renderer/orchestration/integration-renderer.js +798 -988
  341. package/src/route-renderer/orchestration/integration-renderer.test-fixtures.d.ts +75 -0
  342. package/src/route-renderer/orchestration/integration-renderer.test-fixtures.js +173 -0
  343. package/src/route-renderer/orchestration/ownership-graph/component-graph-collectors.d.ts +10 -0
  344. package/src/route-renderer/orchestration/ownership-graph/component-graph-collectors.js +132 -0
  345. package/src/route-renderer/orchestration/ownership-graph/component-graph.d.ts +34 -0
  346. package/src/route-renderer/orchestration/ownership-graph/component-graph.js +89 -0
  347. package/src/route-renderer/orchestration/{ownership-validation.service.d.ts → ownership-graph/ownership-validation.service.d.ts} +6 -2
  348. package/src/route-renderer/orchestration/ownership-graph/ownership-validation.service.js +77 -0
  349. package/src/route-renderer/orchestration/page-browser-graph/global-injector-assets.service.d.ts +7 -0
  350. package/src/route-renderer/orchestration/page-browser-graph/global-injector-assets.service.js +30 -0
  351. package/src/route-renderer/orchestration/page-browser-graph/grouped-graph-build-plan.d.ts +15 -0
  352. package/src/route-renderer/orchestration/page-browser-graph/grouped-graph-build-plan.js +9 -0
  353. package/src/route-renderer/orchestration/page-browser-graph/page-browser-graph-contribution.merge.d.ts +5 -0
  354. package/src/route-renderer/orchestration/page-browser-graph/page-browser-graph-contribution.merge.js +30 -0
  355. package/src/route-renderer/orchestration/page-browser-graph/page-browser-graph-merge.utils.d.ts +12 -0
  356. package/src/route-renderer/orchestration/page-browser-graph/page-browser-graph-merge.utils.js +32 -0
  357. package/src/route-renderer/orchestration/page-browser-graph/page-browser-graph-session.d.ts +126 -0
  358. package/src/route-renderer/orchestration/page-browser-graph/page-browser-graph-session.js +542 -0
  359. package/src/route-renderer/orchestration/page-browser-graph/page-browser-graph.service.d.ts +47 -0
  360. package/src/route-renderer/orchestration/page-browser-graph/page-browser-graph.service.js +232 -0
  361. package/src/route-renderer/orchestration/{processed-asset-dedupe.d.ts → page-browser-graph/processed-asset-dedupe.d.ts} +1 -1
  362. package/src/route-renderer/orchestration/page-browser-graph/processed-asset-dedupe.js +23 -0
  363. package/src/route-renderer/orchestration/page-browser-graph/route-instance-key.d.ts +29 -0
  364. package/src/route-renderer/orchestration/page-browser-graph/route-instance-key.js +54 -0
  365. package/src/route-renderer/orchestration/route-pipeline/integration-route-render-adapter.d.ts +38 -0
  366. package/src/route-renderer/orchestration/route-pipeline/integration-route-render-adapter.js +26 -0
  367. package/src/route-renderer/orchestration/route-pipeline/marker-artifact.utils.d.ts +6 -0
  368. package/src/route-renderer/orchestration/route-pipeline/marker-artifact.utils.js +25 -0
  369. package/src/route-renderer/orchestration/route-pipeline/robots-meta.contribution.d.ts +15 -0
  370. package/src/route-renderer/orchestration/route-pipeline/robots-meta.contribution.js +43 -0
  371. package/src/route-renderer/orchestration/route-pipeline/route-html-finalization.service.d.ts +25 -0
  372. package/src/route-renderer/orchestration/route-pipeline/route-html-finalization.service.js +44 -0
  373. package/src/route-renderer/orchestration/route-pipeline/route-prepared-options.builder.d.ts +26 -0
  374. package/src/route-renderer/orchestration/route-pipeline/route-prepared-options.builder.js +49 -0
  375. package/src/route-renderer/orchestration/route-pipeline/route-prepared-options.utils.d.ts +4 -0
  376. package/src/route-renderer/orchestration/route-pipeline/route-prepared-options.utils.js +30 -0
  377. package/src/route-renderer/orchestration/{route-render-orchestrator.d.ts → route-pipeline/route-render-orchestrator.d.ts} +24 -54
  378. package/src/route-renderer/orchestration/route-pipeline/route-render-orchestrator.js +215 -0
  379. package/src/route-renderer/orchestration/string-markup-renderer.d.ts +14 -0
  380. package/src/route-renderer/orchestration/string-markup-renderer.js +52 -0
  381. package/src/route-renderer/page-loading/component-dependency-collection.js +121 -121
  382. package/src/route-renderer/page-loading/declared-asset-collection.js +66 -94
  383. package/src/route-renderer/page-loading/dependency-resolver.js +101 -104
  384. package/src/route-renderer/page-loading/ecopages-virtual-imports.d.ts +1 -0
  385. package/src/route-renderer/page-loading/ecopages-virtual-imports.js +64 -51
  386. package/src/route-renderer/page-loading/file-scoped-dependency-components.d.ts +42 -0
  387. package/src/route-renderer/page-loading/file-scoped-dependency-components.js +94 -0
  388. package/src/route-renderer/page-loading/lazy-entry-collection.js +75 -98
  389. package/src/route-renderer/page-loading/lazy-trigger-planning.js +47 -36
  390. package/src/route-renderer/page-loading/module-declaration-aggregation.js +39 -28
  391. package/src/route-renderer/page-loading/module-declaration-scripts.js +10 -15
  392. package/src/route-renderer/page-loading/page-dependency-bundling.js +156 -113
  393. package/src/route-renderer/page-loading/page-module-loader.d.ts +2 -1
  394. package/src/route-renderer/page-loading/page-module-loader.js +136 -124
  395. package/src/route-renderer/page-loading/resolved-page-dependencies.d.ts +12 -0
  396. package/src/route-renderer/page-loading/resolved-page-dependencies.js +38 -0
  397. package/src/route-renderer/route-renderer.js +74 -76
  398. package/src/router/README.md +31 -0
  399. package/src/router/client/link-intent.d.ts +11 -21
  400. package/src/router/client/link-intent.js +56 -30
  401. package/src/router/client/link-intent.test.browser.js +50 -39
  402. package/src/router/client/link-navigation-policy.d.ts +45 -0
  403. package/src/router/client/link-navigation-policy.js +122 -0
  404. package/src/router/client/link-navigation-policy.test.browser.d.ts +1 -0
  405. package/src/router/client/link-navigation-policy.test.browser.js +82 -0
  406. package/src/router/client/navigation-coordinator.d.ts +1 -1
  407. package/src/router/client/navigation-coordinator.js +235 -201
  408. package/src/router/client/navigation-lifecycle.d.ts +55 -0
  409. package/src/router/client/navigation-lifecycle.js +50 -0
  410. package/src/router/client/navigation-lifecycle.test.browser.d.ts +1 -0
  411. package/src/router/client/navigation-lifecycle.test.browser.js +118 -0
  412. package/src/router/server/route-registry.js +237 -242
  413. package/src/services/README.md +5 -0
  414. package/src/services/assets/asset-processing-service/asset-dependency-keys.d.ts +13 -0
  415. package/src/services/assets/asset-processing-service/asset-dependency-keys.js +64 -50
  416. package/src/services/assets/asset-processing-service/asset-processing.service.d.ts +7 -1
  417. package/src/services/assets/asset-processing-service/asset-processing.service.js +308 -268
  418. package/src/services/assets/asset-processing-service/asset.factory.js +78 -81
  419. package/src/services/assets/asset-processing-service/assets.types.d.ts +1 -1
  420. package/src/services/assets/asset-processing-service/assets.types.js +1 -0
  421. package/src/services/assets/asset-processing-service/browser-runtime-asset.factory.d.ts +2 -1
  422. package/src/services/assets/asset-processing-service/browser-runtime-asset.factory.js +57 -45
  423. package/src/services/assets/asset-processing-service/browser-runtime-entry-resolution.d.ts +52 -0
  424. package/src/services/assets/asset-processing-service/browser-runtime-entry-resolution.js +115 -0
  425. package/src/services/assets/asset-processing-service/browser-runtime-entry.factory.d.ts +4 -2
  426. package/src/services/assets/asset-processing-service/browser-runtime-entry.factory.js +53 -38
  427. package/src/services/assets/asset-processing-service/finalize-processed-asset.d.ts +3 -0
  428. package/src/services/assets/asset-processing-service/finalize-processed-asset.js +5 -0
  429. package/src/services/assets/asset-processing-service/grouped-content-bundles.d.ts +2 -1
  430. package/src/services/assets/asset-processing-service/grouped-content-bundles.js +85 -60
  431. package/src/services/assets/asset-processing-service/index.d.ts +2 -0
  432. package/src/services/assets/asset-processing-service/index.js +8 -6
  433. package/src/services/assets/asset-processing-service/inline-content-script-body.d.ts +11 -0
  434. package/src/services/assets/asset-processing-service/inline-content-script-body.js +23 -0
  435. package/src/services/assets/asset-processing-service/materialize-content-script-asset.d.ts +9 -0
  436. package/src/services/assets/asset-processing-service/materialize-content-script-asset.js +22 -0
  437. package/src/services/assets/asset-processing-service/page-package.js +70 -72
  438. package/src/services/assets/asset-processing-service/processor.interface.js +7 -5
  439. package/src/services/assets/asset-processing-service/processor.registry.js +11 -14
  440. package/src/services/assets/asset-processing-service/processors/base/base-processor.js +59 -62
  441. package/src/services/assets/asset-processing-service/processors/base/base-script-processor.d.ts +0 -2
  442. package/src/services/assets/asset-processing-service/processors/base/base-script-processor.js +102 -130
  443. package/src/services/assets/asset-processing-service/processors/index.js +5 -5
  444. package/src/services/assets/asset-processing-service/processors/script/content-script.processor.d.ts +8 -0
  445. package/src/services/assets/asset-processing-service/processors/script/content-script.processor.js +111 -111
  446. package/src/services/assets/asset-processing-service/processors/script/file-script.processor.d.ts +0 -1
  447. package/src/services/assets/asset-processing-service/processors/script/file-script.processor.js +95 -94
  448. package/src/services/assets/asset-processing-service/processors/script/node-module-script.processor.js +136 -121
  449. package/src/services/assets/asset-processing-service/processors/stylesheet/content-stylesheet.processor.d.ts +0 -3
  450. package/src/services/assets/asset-processing-service/processors/stylesheet/content-stylesheet.processor.js +26 -57
  451. package/src/services/assets/asset-processing-service/processors/stylesheet/file-stylesheet.processor.d.ts +0 -3
  452. package/src/services/assets/asset-processing-service/processors/stylesheet/file-stylesheet.processor.js +33 -67
  453. package/src/services/assets/asset-processing-service/processors/stylesheet/stylesheet-processor-pipeline.d.ts +2 -0
  454. package/src/services/assets/asset-processing-service/processors/stylesheet/stylesheet-processor-pipeline.js +44 -0
  455. package/src/services/assets/asset-processing-service/resolve-integration-plugin.d.ts +4 -0
  456. package/src/services/assets/asset-processing-service/resolve-integration-plugin.js +15 -0
  457. package/src/services/assets/asset-processing-service/ungrouped-dependency-processing.d.ts +0 -1
  458. package/src/services/assets/asset-processing-service/ungrouped-dependency-processing.js +27 -44
  459. package/src/services/assets/browser-bundle.service.d.ts +28 -30
  460. package/src/services/assets/browser-bundle.service.js +54 -40
  461. package/src/services/cache/cache.types.d.ts +4 -2
  462. package/src/services/cache/cache.types.js +5 -0
  463. package/src/services/cache/html-page-cache-dependency-index.d.ts +34 -0
  464. package/src/services/cache/html-page-cache-dependency-index.js +88 -0
  465. package/src/services/cache/index.d.ts +2 -0
  466. package/src/services/cache/index.js +8 -7
  467. package/src/services/cache/memory-cache-store.js +101 -89
  468. package/src/services/cache/page-cache-service.d.ts +31 -1
  469. package/src/services/cache/page-cache-service.js +237 -150
  470. package/src/services/cache/page-request-cache-coordinator.service.js +106 -102
  471. package/src/services/html/html-rewriter-provider.service.js +61 -61
  472. package/src/services/html/html-transformer.service.d.ts +1 -1
  473. package/src/services/html/html-transformer.service.js +249 -266
  474. package/src/services/invalidation/development-invalidation.service.d.ts +25 -2
  475. package/src/services/invalidation/development-invalidation.service.js +239 -175
  476. package/src/services/module-loading/README.md +52 -0
  477. package/src/services/module-loading/app-module-loader.service.js +1 -0
  478. package/src/services/module-loading/app-server-module-transpiler.service.d.ts +8 -0
  479. package/src/services/module-loading/app-server-module-transpiler.service.js +103 -118
  480. package/src/services/module-loading/collection-server-module-build.service.d.ts +19 -0
  481. package/src/services/module-loading/collection-server-module-build.service.js +83 -0
  482. package/src/services/module-loading/host-module-loader-registry.js +6 -11
  483. package/src/services/module-loading/module-loading-types.js +1 -0
  484. package/src/services/module-loading/page-module-import.service.d.ts +11 -13
  485. package/src/services/module-loading/page-module-import.service.js +222 -184
  486. package/src/services/module-loading/route-module-build-cache-registry.d.ts +24 -0
  487. package/src/services/module-loading/route-module-build-cache-registry.js +51 -0
  488. package/src/services/module-loading/route-module-build-cache.d.ts +4 -0
  489. package/src/services/module-loading/route-module-build-cache.js +3 -0
  490. package/src/services/module-loading/route-module-build-cache.store.d.ts +57 -0
  491. package/src/services/module-loading/route-module-build-cache.store.js +202 -0
  492. package/src/services/module-loading/route-module-build-manifest.d.ts +57 -0
  493. package/src/services/module-loading/route-module-build-manifest.js +60 -0
  494. package/src/services/module-loading/route-module-dependency-hasher.d.ts +81 -0
  495. package/src/services/module-loading/route-module-dependency-hasher.js +148 -0
  496. package/src/services/module-loading/server-module-transpiler.service.d.ts +1 -3
  497. package/src/services/module-loading/server-module-transpiler.service.js +65 -62
  498. package/src/services/module-loading/source-module-support.js +15 -7
  499. package/src/services/runtime-state/dev-graph.service.js +165 -157
  500. package/src/services/runtime-state/entrypoint-dependency-graph.service.js +85 -76
  501. package/src/services/runtime-state/server-invalidation-state.service.js +38 -30
  502. package/src/services/validation/schema-validation-service.d.ts +1 -4
  503. package/src/services/validation/schema-validation-service.js +156 -95
  504. package/src/services/validation/standard-schema.types.d.ts +9 -62
  505. package/src/services/validation/standard-schema.types.js +1 -0
  506. package/src/services/validation/validate-standard-schema.d.ts +7 -0
  507. package/src/services/validation/validate-standard-schema.js +14 -0
  508. package/src/static-site-generator/README.md +41 -0
  509. package/src/static-site-generator/production-page-browser-graph-prebuild.d.ts +32 -0
  510. package/src/static-site-generator/production-page-browser-graph-prebuild.js +57 -0
  511. package/src/static-site-generator/sitemap-routes.d.ts +14 -0
  512. package/src/static-site-generator/sitemap-routes.js +36 -0
  513. package/src/static-site-generator/sitemap.d.ts +15 -0
  514. package/src/static-site-generator/sitemap.js +42 -0
  515. package/src/static-site-generator/static-build-invalidation.d.ts +10 -0
  516. package/src/static-site-generator/static-build-invalidation.js +37 -0
  517. package/src/static-site-generator/static-export-context.d.ts +30 -0
  518. package/src/static-site-generator/static-export-context.js +1 -0
  519. package/src/static-site-generator/static-site-generator.d.ts +43 -25
  520. package/src/static-site-generator/static-site-generator.js +536 -294
  521. package/src/types/internal-types.d.ts +59 -13
  522. package/src/types/internal-types.js +1 -0
  523. package/src/types/public-types.d.ts +310 -95
  524. package/src/types/public-types.js +1 -0
  525. package/src/utils/deep-merge.js +39 -26
  526. package/src/utils/ecopages-route-info.d.ts +26 -0
  527. package/src/utils/ecopages-route-info.js +30 -0
  528. package/src/utils/hash.js +3 -6
  529. package/src/utils/html-escaping.d.ts +7 -0
  530. package/src/utils/html-escaping.js +22 -5
  531. package/src/utils/html.js +1 -4
  532. package/src/utils/invariant.js +11 -10
  533. package/src/utils/locals-utils.js +32 -22
  534. package/src/utils/parse-cli-args.d.ts +2 -0
  535. package/src/utils/parse-cli-args.js +73 -59
  536. package/src/utils/path-pattern.d.ts +23 -0
  537. package/src/utils/path-pattern.js +42 -0
  538. package/src/utils/path-utils.module.js +8 -11
  539. package/src/utils/resolve-entry-file.js +70 -38
  540. package/src/utils/resolve-work-dir.js +23 -27
  541. package/src/utils/runtime.js +24 -33
  542. package/src/utils/server-utils.module.d.ts +3 -2
  543. package/src/utils/server-utils.module.js +60 -53
  544. package/src/utils/static-file-extensions.d.ts +12 -0
  545. package/src/utils/static-file-extensions.js +54 -0
  546. package/src/watchers/project-watcher-ignore.d.ts +11 -0
  547. package/src/watchers/project-watcher-ignore.js +17 -0
  548. package/src/watchers/project-watcher.d.ts +29 -6
  549. package/src/watchers/project-watcher.js +402 -257
  550. package/src/watchers/project-watcher.test-helpers.js +45 -50
  551. package/src/adapters/shared/api-response.js +0 -96
  552. package/src/adapters/shared/application-adapter.js +0 -90
  553. package/src/adapters/shared/define-api-handler.d.ts +0 -25
  554. package/src/adapters/shared/define-api-handler.js +0 -15
  555. package/src/adapters/shared/explicit-static-render-preparation.js +0 -26
  556. package/src/adapters/shared/explicit-static-route-matcher.js +0 -101
  557. package/src/adapters/shared/file-route-middleware-pipeline.js +0 -90
  558. package/src/adapters/shared/fs-server-response-factory.js +0 -81
  559. package/src/adapters/shared/fs-server-response-matcher.js +0 -186
  560. package/src/adapters/shared/hmr-entrypoint-registrar.d.ts +0 -55
  561. package/src/adapters/shared/hmr-entrypoint-registrar.js +0 -87
  562. package/src/adapters/shared/hmr-html-response.js +0 -33
  563. package/src/adapters/shared/render-context.js +0 -93
  564. package/src/adapters/shared/runtime-app-bootstrap.js +0 -46
  565. package/src/adapters/shared/runtime-host.js +0 -0
  566. package/src/adapters/shared/server-adapter.js +0 -436
  567. package/src/adapters/shared/server-route-handler.js +0 -111
  568. package/src/adapters/shared/server-static-builder.js +0 -162
  569. package/src/adapters/shared/shared-hmr-manager.d.ts +0 -59
  570. package/src/adapters/shared/shared-hmr-manager.js +0 -241
  571. package/src/adapters/shared/static-preview-host.js +0 -0
  572. package/src/build/browser-runtime-manifest.js +0 -61
  573. package/src/build/browser-runtime-plugin-helpers.js +0 -14
  574. package/src/build/browser-runtime-plugin.js +0 -173
  575. package/src/build/build-manifest.d.ts +0 -33
  576. package/src/build/build-manifest.js +0 -49
  577. package/src/build/build-types.js +0 -0
  578. package/src/build/rolldown-adapter-helpers.js +0 -265
  579. package/src/build/rolldown-build-adapter.js +0 -65
  580. package/src/build/rolldown-dev-build-adapter.d.ts +0 -82
  581. package/src/build/rolldown-dev-build-adapter.js +0 -166
  582. package/src/build/rolldown-plugin-bridge.js +0 -199
  583. package/src/build/runtime-build-executor.d.ts +0 -21
  584. package/src/build/runtime-build-executor.js +0 -19
  585. package/src/build/runtime-build-output-normalizer.d.ts +0 -3
  586. package/src/build/runtime-build-output-normalizer.js +0 -111
  587. package/src/build/serialized-build-executor.js +0 -63
  588. package/src/build/server-side-css-shim-plugin.js +0 -35
  589. package/src/hmr/hmr.postcss.test.e2e.js +0 -31
  590. package/src/hmr/hmr.test.e2e.js +0 -43
  591. package/src/route-renderer/orchestration/component-render-context.js +0 -147
  592. package/src/route-renderer/orchestration/declared-ownership-graph.d.ts +0 -18
  593. package/src/route-renderer/orchestration/declared-ownership-graph.js +0 -34
  594. package/src/route-renderer/orchestration/foreign-subtree-execution.service.js +0 -233
  595. package/src/route-renderer/orchestration/ownership-planning.service.d.ts +0 -24
  596. package/src/route-renderer/orchestration/ownership-planning.service.js +0 -63
  597. package/src/route-renderer/orchestration/ownership-validation.service.js +0 -53
  598. package/src/route-renderer/orchestration/processed-asset-dedupe.js +0 -27
  599. package/src/route-renderer/orchestration/queued-foreign-subtree-resolution.service.d.ts +0 -91
  600. package/src/route-renderer/orchestration/queued-foreign-subtree-resolution.service.js +0 -170
  601. package/src/route-renderer/orchestration/render-output.utils.js +0 -171
  602. package/src/route-renderer/orchestration/route-render-orchestrator.js +0 -577
  603. package/src/route-renderer/orchestration/template-serialization.d.ts +0 -38
  604. package/src/route-renderer/orchestration/template-serialization.js +0 -45
  605. /package/src/adapters/shared/{runtime-host.d.ts → runtime/runtime-host.d.ts} +0 -0
  606. /package/src/{hmr/hmr.postcss.test.e2e.d.ts → adapters/shared/runtime/runtime-host.js} +0 -0
  607. /package/src/{hmr/hmr.test.e2e.d.ts → adapters/shared/runtime/static-preview-host.js} +0 -0
  608. /package/src/build/{browser-runtime-manifest.d.ts → browser/browser-runtime-manifest.d.ts} +0 -0
  609. /package/src/build/{browser-runtime-plugin-helpers.d.ts → browser/browser-runtime-plugin-helpers.d.ts} +0 -0
  610. /package/src/build/{build-types.d.ts → contracts/build-types.d.ts} +0 -0
  611. /package/src/build/{server-side-css-shim-plugin.d.ts → rolldown/server-side-css-shim-plugin.d.ts} +0 -0
@@ -1,173 +0,0 @@
1
- import path from "node:path";
2
- import { existsSync, readFileSync } from "node:fs";
3
- import { cachedParseSync } from "../cache/module-parse-cache.js";
4
- import { getBrowserRuntimeSpecifierMap } from "./browser-runtime-manifest.js";
5
- import { buildSpecifierFilter } from "./browser-runtime-plugin-helpers.js";
6
- const BROWSER_RUNTIME_IMPORT_REWRITE_MAP = /* @__PURE__ */ Symbol.for("ecopages.browserRuntimeImportRewriteMap");
7
- const DEFAULT_BROWSER_RUNTIME_PLUGIN_NAME = "browser-runtime-plugin";
8
- function isRecord(value) {
9
- return Boolean(value) && typeof value === "object";
10
- }
11
- function inferLoaderFromPath(filePath) {
12
- const extension = path.extname(filePath).toLowerCase();
13
- switch (extension) {
14
- case ".mts":
15
- case ".cts":
16
- case ".ts":
17
- return "ts";
18
- case ".tsx":
19
- return "tsx";
20
- case ".jsx":
21
- return "jsx";
22
- default:
23
- return "js";
24
- }
25
- }
26
- function queueReplacement(options) {
27
- if (!isRecord(options.source) || typeof options.source.value !== "string") {
28
- return;
29
- }
30
- const mappedPath = options.specifierMap.get(options.source.value);
31
- if (!mappedPath || typeof options.source.start !== "number" || typeof options.source.end !== "number") {
32
- return;
33
- }
34
- const quote = options.code[options.source.start] === "'" ? "'" : '"';
35
- options.edits.push({
36
- start: options.source.start,
37
- end: options.source.end,
38
- replacement: `${quote}${mappedPath}${quote}`
39
- });
40
- }
41
- function rewriteBrowserRuntimeImports(code, specifierMap, filePath = "browser-runtime-imports.js") {
42
- if (specifierMap.size === 0) {
43
- return code;
44
- }
45
- const edits = [];
46
- try {
47
- const result = cachedParseSync(filePath, code, {
48
- sourceType: "module",
49
- lang: path.extname(filePath).endsWith("x") ? "tsx" : "ts"
50
- });
51
- const walk = (node) => {
52
- if (!isRecord(node)) {
53
- return;
54
- }
55
- if (node.type === "ImportDeclaration" || node.type === "ExportNamedDeclaration" || node.type === "ExportAllDeclaration") {
56
- queueReplacement({ code, source: node.source, specifierMap, edits });
57
- }
58
- if (node.type === "ImportExpression" && isRecord(node.source)) {
59
- if (node.source.type === "StringLiteral" || node.source.type === "Literal") {
60
- queueReplacement({ code, source: node.source, specifierMap, edits });
61
- }
62
- }
63
- for (const value of Object.values(node)) {
64
- if (Array.isArray(value)) {
65
- for (const child of value) {
66
- walk(child);
67
- }
68
- } else {
69
- walk(value);
70
- }
71
- }
72
- };
73
- walk(result.program);
74
- } catch {
75
- return code;
76
- }
77
- if (edits.length === 0) {
78
- return code;
79
- }
80
- edits.sort((left, right) => right.start - left.start);
81
- let rewritten = code;
82
- for (const edit of edits) {
83
- rewritten = rewritten.slice(0, edit.start) + edit.replacement + rewritten.slice(edit.end);
84
- }
85
- return rewritten;
86
- }
87
- function getBrowserRuntimeImportRewriteMap(plugin) {
88
- return plugin[BROWSER_RUNTIME_IMPORT_REWRITE_MAP];
89
- }
90
- function collectBrowserRuntimeImportRewriteMap(plugins) {
91
- const merged = /* @__PURE__ */ new Map();
92
- for (const plugin of plugins ?? []) {
93
- const specifierMap = getBrowserRuntimeImportRewriteMap(plugin);
94
- if (!specifierMap) {
95
- continue;
96
- }
97
- for (const [specifier, publicPath] of specifierMap.entries()) {
98
- if (!merged.has(specifier)) {
99
- merged.set(specifier, publicPath);
100
- }
101
- }
102
- }
103
- return merged;
104
- }
105
- function createBrowserRuntimePlugin(options) {
106
- const { manifest } = options;
107
- const specifierMap = getBrowserRuntimeSpecifierMap(manifest);
108
- const specifierFilter = buildSpecifierFilter(specifierMap);
109
- if (!specifierFilter) {
110
- return null;
111
- }
112
- const external = options.external ?? true;
113
- const rewriteImports = options.rewriteImports ?? true;
114
- const matchPublicPaths = options.matchPublicPaths ?? true;
115
- const publicPathSet = new Set(specifierMap.values());
116
- const specifierKeys = Array.from(specifierMap.keys());
117
- const plugin = {
118
- name: options.name ?? DEFAULT_BROWSER_RUNTIME_PLUGIN_NAME,
119
- setup(build) {
120
- build.onResolve({ filter: specifierFilter }, (args) => {
121
- const mappedPath = specifierMap.get(args.path);
122
- if (!mappedPath) {
123
- return void 0;
124
- }
125
- return {
126
- path: mappedPath,
127
- external
128
- };
129
- });
130
- if (matchPublicPaths) {
131
- build.onResolve({ filter: /^\// }, (args) => {
132
- if (!publicPathSet.has(args.path)) {
133
- return void 0;
134
- }
135
- return {
136
- path: args.path,
137
- external: true
138
- };
139
- });
140
- }
141
- if (rewriteImports) {
142
- build.onLoad({ filter: /\.[cm]?[jt]sx?$/ }, (args) => {
143
- if (!path.isAbsolute(args.path) || !existsSync(args.path)) {
144
- return void 0;
145
- }
146
- const code = readFileSync(args.path, "utf-8");
147
- if (!specifierKeys.some((specifier) => code.includes(specifier))) {
148
- return void 0;
149
- }
150
- const rewritten = rewriteBrowserRuntimeImports(code, specifierMap, args.path);
151
- if (rewritten === code) {
152
- return void 0;
153
- }
154
- return {
155
- contents: rewritten,
156
- loader: inferLoaderFromPath(args.path),
157
- resolveDir: path.dirname(args.path)
158
- };
159
- });
160
- }
161
- }
162
- };
163
- plugin[BROWSER_RUNTIME_IMPORT_REWRITE_MAP] = specifierMap;
164
- return plugin;
165
- }
166
- export {
167
- BROWSER_RUNTIME_IMPORT_REWRITE_MAP,
168
- DEFAULT_BROWSER_RUNTIME_PLUGIN_NAME,
169
- collectBrowserRuntimeImportRewriteMap,
170
- createBrowserRuntimePlugin,
171
- getBrowserRuntimeImportRewriteMap,
172
- rewriteBrowserRuntimeImports
173
- };
@@ -1,33 +0,0 @@
1
- import type { EcoBuildPlugin } from './build-types.js';
2
- import { type BrowserRuntimeManifest } from './browser-runtime-manifest.js';
3
- export interface AppBuildManifest {
4
- loaderPlugins: EcoBuildPlugin[];
5
- runtimePlugins: EcoBuildPlugin[];
6
- browserBundlePlugins: EcoBuildPlugin[];
7
- browserRuntimeManifest: BrowserRuntimeManifest;
8
- }
9
- /**
10
- * Merges plugin lists while preserving first-registration precedence by name.
11
- *
12
- * @remarks
13
- * Build manifests treat plugin names as stable identities. The first plugin
14
- * with a given name wins so config-time assembly stays deterministic across
15
- * loader, runtime, and browser buckets.
16
- */
17
- export declare function mergeEcoBuildPlugins(...pluginLists: Array<EcoBuildPlugin[] | undefined>): EcoBuildPlugin[];
18
- /**
19
- * Creates one app-owned build manifest from the supplied plugin buckets.
20
- */
21
- export declare function createAppBuildManifest(input?: Partial<AppBuildManifest>): AppBuildManifest;
22
- /**
23
- * Returns the shared browser runtime asset manifest sealed into the app build manifest.
24
- */
25
- export declare function getBrowserRuntimeManifest(manifest: AppBuildManifest): BrowserRuntimeManifest;
26
- /**
27
- * Returns the plugin list used for server-oriented builds.
28
- */
29
- export declare function getServerBuildPlugins(manifest: AppBuildManifest): EcoBuildPlugin[];
30
- /**
31
- * Returns the plugin list used for browser-oriented builds.
32
- */
33
- export declare function getBrowserBuildPlugins(manifest: AppBuildManifest): EcoBuildPlugin[];
@@ -1,49 +0,0 @@
1
- import { createBrowserRuntimePlugin, DEFAULT_BROWSER_RUNTIME_PLUGIN_NAME } from "./browser-runtime-plugin.js";
2
- import {
3
- createBrowserRuntimeManifest,
4
- mergeBrowserRuntimeManifests
5
- } from "./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
- }
13
- }
14
- }
15
- return Array.from(byName.values());
16
- }
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
- };
24
- }
25
- function getBrowserRuntimeManifest(manifest) {
26
- return manifest.browserRuntimeManifest ?? createBrowserRuntimeManifest();
27
- }
28
- function getServerBuildPlugins(manifest) {
29
- return mergeEcoBuildPlugins(manifest.loaderPlugins, manifest.runtimePlugins);
30
- }
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
- );
42
- }
43
- export {
44
- createAppBuildManifest,
45
- getBrowserBuildPlugins,
46
- getBrowserRuntimeManifest,
47
- getServerBuildPlugins,
48
- mergeEcoBuildPlugins
49
- };
File without changes
@@ -1,265 +0,0 @@
1
- import { createRequire } from "node:module";
2
- import path from "node:path";
3
- import { collectBrowserRuntimeImportRewriteMap, rewriteBrowserRuntimeImports } from "./browser-runtime-plugin.js";
4
- import { createServerSideCssShimPlugin } from "./server-side-css-shim-plugin.js";
5
- import { createRolldownPluginBridge } from "./rolldown-plugin-bridge.js";
6
- import { isDeclaredAppPackageImport, normalizeNodeRuntimeBuildOutputs } from "./runtime-build-output-normalizer.js";
7
- const corePackageRequire = createRequire(new URL("../../package.json", import.meta.url));
8
- function transpileProfileToOptions(profile) {
9
- switch (profile) {
10
- case "browser-script":
11
- case "hmr-runtime":
12
- case "hmr-entrypoint":
13
- return {
14
- target: "browser",
15
- format: "esm",
16
- sourcemap: "none"
17
- };
18
- }
19
- }
20
- function isPackageImport(id) {
21
- return !id.startsWith(".") && !path.isAbsolute(id) && !id.startsWith("/") && !id.startsWith("node:") && !id.startsWith("@/") && !id.startsWith("~/") && !id.startsWith("#") && !id.includes(":");
22
- }
23
- function tryResolveModule(id, resolver) {
24
- try {
25
- return resolver.resolve(id);
26
- } catch {
27
- return void 0;
28
- }
29
- }
30
- function getAppRootRequire(cache, contextRoot) {
31
- const cacheKey = path.resolve(contextRoot);
32
- let req = cache.get(cacheKey);
33
- if (!req) {
34
- req = createRequire(path.join(cacheKey, "package.json"));
35
- cache.set(cacheKey, req);
36
- }
37
- return req;
38
- }
39
- function shouldBundlePackageImport(id, contextRoot, appRootRequireCache) {
40
- if (isDeclaredAppPackageImport(id, contextRoot)) {
41
- const appRootRequire = getAppRootRequire(appRootRequireCache, contextRoot);
42
- const appResolvedPath = tryResolveModule(id, appRootRequire);
43
- return Boolean(appResolvedPath && /\.(?:[cm]?ts|tsx|jsx)$/u.test(appResolvedPath));
44
- }
45
- const coreResolvedPath = tryResolveModule(id, corePackageRequire);
46
- return Boolean(coreResolvedPath && /\.(?:[cm]?ts|tsx|jsx)$/u.test(coreResolvedPath));
47
- }
48
- function createExternalMatcher(options, appRootRequireCache) {
49
- const explicitExternals = new Set(options.external ?? []);
50
- const externalPackages = options.externalPackages === true;
51
- const contextRoot = options.root ? path.resolve(options.root) : process.cwd();
52
- return (id) => {
53
- if (explicitExternals.has(id)) {
54
- return true;
55
- }
56
- if (!externalPackages || !isPackageImport(id)) {
57
- return false;
58
- }
59
- return !shouldBundlePackageImport(id, contextRoot, appRootRequireCache);
60
- };
61
- }
62
- function mapRolldownFormat(value) {
63
- switch (value) {
64
- case "cjs":
65
- return "cjs";
66
- case "iife":
67
- return "iife";
68
- default:
69
- return "esm";
70
- }
71
- }
72
- function mapRolldownPlatform(value) {
73
- if (value === "browser") return "browser";
74
- if (value === "node") return "node";
75
- if (value && /^(?:es\d+|chrome\d+|edge\d+|firefox\d+|safari\d+|hermes|deno\d+|ios\d+)$/.test(value)) {
76
- return "node";
77
- }
78
- return "neutral";
79
- }
80
- function mapRolldownSourcemap(value) {
81
- switch (value) {
82
- case "none":
83
- return false;
84
- case "inline":
85
- return "inline";
86
- case "external":
87
- case "linked":
88
- return "hidden";
89
- default:
90
- return true;
91
- }
92
- }
93
- function mapRolldownJsx(jsx) {
94
- const { factory, fragment, ...rest } = jsx;
95
- const out = { ...rest };
96
- if (factory !== void 0) {
97
- out.pragma = factory;
98
- }
99
- if (fragment !== void 0) {
100
- out.pragmaFrag = fragment;
101
- }
102
- return out;
103
- }
104
- function toEntryFileNamesPattern(value) {
105
- if (!value) {
106
- return void 0;
107
- }
108
- const literal = !/\[[^\]]+\]/u.test(value);
109
- const stripped = value.replaceAll(/\.?\[ext\]/g, "");
110
- if (stripped.length === 0) {
111
- return void 0;
112
- }
113
- return { pattern: stripped, literal };
114
- }
115
- function getJavaScriptOutExtension(options, literal) {
116
- if (literal) {
117
- return void 0;
118
- }
119
- if (options.target === "browser") {
120
- return ".js";
121
- }
122
- if (options.format === "cjs") {
123
- return ".cjs";
124
- }
125
- return ".mjs";
126
- }
127
- function normalizeOutputPath(outputPath, outdir) {
128
- return path.isAbsolute(outputPath) ? path.normalize(outputPath) : path.normalize(path.join(outdir, outputPath));
129
- }
130
- function normalizeModulePath(modulePath, contextRoot) {
131
- return path.isAbsolute(modulePath) ? path.normalize(modulePath) : path.normalize(path.resolve(contextRoot, modulePath));
132
- }
133
- function extractDependencyGraph(chunks, contextRoot) {
134
- const entrypoints = {};
135
- for (const chunk of chunks) {
136
- if (!chunk.facadeModuleId) {
137
- continue;
138
- }
139
- const entrypointPath = normalizeModulePath(chunk.facadeModuleId, contextRoot);
140
- entrypoints[entrypointPath] = Array.from(
141
- /* @__PURE__ */ new Set([entrypointPath, ...chunk.moduleIds.map((id) => normalizeModulePath(id, contextRoot))])
142
- );
143
- }
144
- return { entrypoints };
145
- }
146
- function toBuildLogs(error) {
147
- if (error instanceof Error) {
148
- return [{ message: error.message }];
149
- }
150
- return [{ message: "Unknown build error" }];
151
- }
152
- function resolveRolldownOptions(options, contextRoot, outdir, appRootRequireCache) {
153
- const external = createExternalMatcher(options, appRootRequireCache);
154
- const transformOptions = {};
155
- if (options.define) {
156
- transformOptions.define = options.define;
157
- }
158
- if (options.jsx) {
159
- transformOptions.jsx = mapRolldownJsx(options.jsx);
160
- }
161
- if (options.target && /^(?:es|chrome|edge|firefox|safari|hermes|deno|ios)/.test(options.target)) {
162
- transformOptions.target = options.target;
163
- }
164
- const bundlePlugins = options.plugins ?? [];
165
- const appPlugins = createRolldownPluginBridge(bundlePlugins, contextRoot);
166
- const allPlugins = [...options.target !== "browser" ? [createServerSideCssShimPlugin()] : [], ...appPlugins];
167
- const inputOptions = {
168
- input: options.entrypoints,
169
- cwd: contextRoot,
170
- external,
171
- platform: mapRolldownPlatform(options.target),
172
- transform: Object.keys(transformOptions).length > 0 ? transformOptions : void 0,
173
- resolve: options.conditions ? { conditionNames: options.conditions } : void 0,
174
- treeshake: typeof options.treeshaking === "boolean" ? options.treeshaking : true,
175
- experimental: {
176
- nativeMagicString: true
177
- },
178
- plugins: allPlugins
179
- };
180
- const entryFileNames = toEntryFileNamesPattern(options.naming);
181
- const jsExtension = getJavaScriptOutExtension(options, entryFileNames?.literal ?? false);
182
- const finalEntryFileNames = entryFileNames ? jsExtension ? `${entryFileNames.pattern}${jsExtension}` : entryFileNames.pattern : jsExtension ? `[name]${jsExtension}` : "[name]";
183
- const outputOptions = {
184
- dir: outdir,
185
- format: mapRolldownFormat(options.format),
186
- minify: !!options.minify,
187
- entryFileNames: finalEntryFileNames,
188
- chunkFileNames: "[name]-[hash].js",
189
- assetFileNames: "[name]-[hash][extname]",
190
- sourcemap: mapRolldownSourcemap(options.sourcemap)
191
- };
192
- return { inputOptions, outputOptions };
193
- }
194
- function rewriteBrowserRuntimeImportsInOutputs(result, contextRoot, plugins) {
195
- if (!result.success || result.outputs.length === 0) {
196
- return result;
197
- }
198
- const specifierMap = collectBrowserRuntimeImportRewriteMap(plugins);
199
- if (specifierMap.size === 0) {
200
- return result;
201
- }
202
- const moduleRequireFromContext = createRequire(path.join(contextRoot, "package.json"));
203
- const fs = moduleRequireFromContext("node:fs");
204
- const cacheFingerprint = `${Array.from(specifierMap.entries()).sort().join("|")}`;
205
- for (const output of result.outputs) {
206
- if (!/\.(?:[cm]?js)$/u.test(output.path)) {
207
- continue;
208
- }
209
- const code = fs.readFileSync(output.path, "utf-8");
210
- const contentKey = `${cacheFingerprint}::${output.path}::${djb2(code)}`;
211
- if (rewriteCache.has(contentKey)) {
212
- continue;
213
- }
214
- const rewritten = rewriteBrowserRuntimeImports(code, specifierMap, output.path);
215
- if (rewritten !== code) {
216
- fs.writeFileSync(output.path, rewritten);
217
- }
218
- rewriteCache.add(contentKey);
219
- }
220
- return result;
221
- }
222
- const rewriteCache = /* @__PURE__ */ new Set();
223
- function djb2(input) {
224
- let hash = 5381;
225
- for (let i = 0; i < input.length; i++) {
226
- hash = (hash << 5) + hash + input.charCodeAt(i) | 0;
227
- }
228
- return hash.toString(36);
229
- }
230
- function clearRewriteCacheForTests() {
231
- rewriteCache.clear();
232
- }
233
- function rewriteNodeRuntimeImportsInOutputs(result, contextRoot) {
234
- if (!result.success || result.outputs.length === 0) {
235
- return result;
236
- }
237
- normalizeNodeRuntimeBuildOutputs(
238
- result.outputs.map((output) => output.path),
239
- contextRoot
240
- );
241
- return result;
242
- }
243
- function buildResultFromRolldownOutput(output, outdir, contextRoot) {
244
- const outputs = output.output.map((entry) => ({
245
- path: normalizeOutputPath(entry.fileName, outdir)
246
- }));
247
- const entryChunks = output.output.filter((entry) => entry.type === "chunk" && entry.isEntry);
248
- const dependencyGraph = entryChunks.length > 0 ? extractDependencyGraph(entryChunks, contextRoot) : void 0;
249
- return {
250
- success: true,
251
- logs: [],
252
- outputs,
253
- dependencyGraph
254
- };
255
- }
256
- export {
257
- buildResultFromRolldownOutput,
258
- clearRewriteCacheForTests,
259
- extractDependencyGraph,
260
- resolveRolldownOptions,
261
- rewriteBrowserRuntimeImportsInOutputs,
262
- rewriteNodeRuntimeImportsInOutputs,
263
- toBuildLogs,
264
- transpileProfileToOptions
265
- };
@@ -1,65 +0,0 @@
1
- import { createRequire } from "node:module";
2
- import path from "node:path";
3
- import { rolldown } from "rolldown";
4
- import {
5
- buildResultFromRolldownOutput,
6
- resolveRolldownOptions,
7
- rewriteBrowserRuntimeImportsInOutputs,
8
- rewriteNodeRuntimeImportsInOutputs,
9
- toBuildLogs,
10
- transpileProfileToOptions
11
- } from "./rolldown-adapter-helpers.js";
12
- const moduleRequire = createRequire(import.meta.url);
13
- class RolldownBuildAdapter {
14
- ownership = "rolldown";
15
- /** Per-adapter require cache, keyed on resolved context root. */
16
- appRootRequireCache = /* @__PURE__ */ new Map();
17
- /**
18
- * Issues one build. Creates a fresh `rolldown()` bundler per call,
19
- * so no module-graph reuse. For repeated rebuilds on the same
20
- * entrypoints, use {@link RolldownDevBuildAdapter}.
21
- */
22
- async buildOrThrow(options) {
23
- const contextRoot = options.root ? path.resolve(options.root) : process.cwd();
24
- const outdir = path.resolve(options.outdir ?? "dist/assets");
25
- const plugins = options.plugins ?? [];
26
- const { inputOptions, outputOptions } = resolveRolldownOptions(
27
- options,
28
- contextRoot,
29
- outdir,
30
- this.appRootRequireCache
31
- );
32
- const bundle = await rolldown(inputOptions);
33
- const output = await bundle.write(outputOptions);
34
- await bundle.close();
35
- const baseResult = buildResultFromRolldownOutput(output, outdir, contextRoot);
36
- return rewriteNodeRuntimeImportsInOutputs(
37
- rewriteBrowserRuntimeImportsInOutputs(baseResult, contextRoot, plugins),
38
- contextRoot
39
- );
40
- }
41
- async build(options) {
42
- try {
43
- return await this.buildOrThrow(options);
44
- } catch (error) {
45
- return {
46
- success: false,
47
- logs: toBuildLogs(error),
48
- outputs: []
49
- };
50
- }
51
- }
52
- resolve(importPath, rootDir) {
53
- return moduleRequire.resolve(importPath, { paths: [rootDir] });
54
- }
55
- getTranspileOptions(profile) {
56
- return transpileProfileToOptions(profile);
57
- }
58
- }
59
- function createRolldownBuildAdapter() {
60
- return new RolldownBuildAdapter();
61
- }
62
- export {
63
- RolldownBuildAdapter,
64
- createRolldownBuildAdapter
65
- };
@@ -1,82 +0,0 @@
1
- /**
2
- * DevEngine-backed build adapter for cached incremental rebuilds.
3
- *
4
- * @remarks
5
- * Wraps Rolldown's experimental `DevEngine` to provide cached incremental
6
- * rebuilds. Unlike the standard `RolldownBuildAdapter` which creates a new
7
- * bundler for every build, this adapter keeps a `DevEngine` instance alive
8
- * and reuses the internal module graph, resolver cache, and transform cache
9
- * across builds.
10
- *
11
- * The adapter is designed for the HMR rebuild path where the same entrypoints
12
- * are rebuilt repeatedly with small changes. For one-off production builds,
13
- * use `RolldownBuildAdapter` instead.
14
- *
15
- * The first build creates the engine and runs it. Subsequent builds with the
16
- * same plugin/target/format triple reuse the cached engine and call
17
- * `triggerFullBuild()`. The cache key incorporates the context root, plugin
18
- * names, target, and format; when any of those change, the cached engine is
19
- * closed and a new one is created.
20
- *
21
- * Call `close()` to release the cached engine and free resources.
22
- *
23
- * @module
24
- */
25
- import type { BuildAdapter, BuildOptions, BuildResult, BuildTranspileOptions, BuildTranspileProfile } from './build-adapter.js';
26
- /**
27
- * Build adapter backed by Rolldown's DevEngine for cached incremental rebuilds.
28
- */
29
- export declare class RolldownDevBuildAdapter implements BuildAdapter {
30
- /**
31
- * `'rolldown-dev'` (not `'rolldown'`) so {@link getBuildAdapterOwnership}
32
- * round-trips correctly and `createBuildAdapter({ ownership })` can
33
- * re-select this class.
34
- */
35
- readonly ownership: "rolldown-dev";
36
- private cachedEngine;
37
- private engineInstanceCount;
38
- private readonly pendingBuilds;
39
- private readonly appRootRequireCache;
40
- /**
41
- * Stable key over the inputs that affect the engine configuration.
42
- * Plugin order is intentionally not part of the key: two plugin
43
- * sets with the same names are interchangeable for caching.
44
- */
45
- private getCacheKey;
46
- /**
47
- * Returns the cached engine, creating a new one when the cache
48
- * key changes. On a cache miss the prior engine is closed and
49
- * {@link engineInstanceCount} is incremented.
50
- */
51
- private getOrCreateEngine;
52
- /**
53
- * Triggers a build on the cached engine and returns the next
54
- * `RolldownOutput` delivered to `onOutput`.
55
- *
56
- * First call after engine creation invokes `engine.run`; subsequent
57
- * calls invoke `engine.triggerFullBuild` and reuse the cached
58
- * module graph, resolver, and transform caches.
59
- *
60
- * If the trigger itself throws, the queued build is removed so
61
- * the next `build()` does not consume a stale slot.
62
- */
63
- private runBuild;
64
- /** Throws on error; see {@link build} for the no-throw variant. */
65
- buildOrThrow(options: BuildOptions): Promise<BuildResult>;
66
- build(options: BuildOptions): Promise<BuildResult>;
67
- resolve(importPath: string, rootDir: string): string;
68
- getTranspileOptions(profile: BuildTranspileProfile): BuildTranspileOptions;
69
- /**
70
- * Closes the cached DevEngine and rejects any in-flight builds
71
- * with `'DevBuildAdapter closed'`.
72
- *
73
- * @remarks
74
- * Not on the {@link BuildAdapter} interface, so it is only
75
- * reachable through the concrete class. The adapter is meant to
76
- * live for the process lifetime; this is for explicit teardown.
77
- */
78
- close(): Promise<void>;
79
- /** Test-only: number of engines created over the adapter's lifetime. */
80
- getEngineInstanceCountForTests(): number;
81
- }
82
- export declare function createRolldownDevBuildAdapter(): RolldownDevBuildAdapter;