@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,64 +1,67 @@
1
- import { PageModuleImportService } from "./page-module-import.service.js";
2
- class ServerModuleTranspiler {
3
- pageModuleImportService;
4
- getRootDir;
5
- getBuildExecutor;
6
- getInvalidationVersion;
7
- invalidateModules;
8
- getDefaultPlugins;
9
- /**
10
- * Creates one explicit server-transpiler boundary for a given execution
11
- * context.
12
- */
13
- constructor(args) {
14
- this.pageModuleImportService = args.pageModuleImportService ?? new PageModuleImportService({
15
- canLoadSourceModuleFromHost: args.canLoadSourceModuleFromHost,
16
- getHostModuleLoader: args.getHostModuleLoader
17
- });
18
- this.getRootDir = () => args.rootDir;
19
- this.getBuildExecutor = args.getBuildExecutor ?? (() => void 0);
20
- this.getInvalidationVersion = () => args.getInvalidationVersion?.();
21
- this.getDefaultPlugins = args.getDefaultPlugins ?? (() => []);
22
- this.invalidateModules = (changedFiles) => {
23
- if (args.invalidateModules) {
24
- args.invalidateModules(changedFiles);
1
+ import { PageModuleImportService } from './page-module-import.service.js';
2
+ /**
3
+ * App-owned boundary for server-side source module loading.
4
+ *
5
+ * @remarks
6
+ * This service centralizes server-side module transpilation and import behind
7
+ * an explicit caller-owned root and build executor.
8
+ */
9
+ export class ServerModuleTranspiler {
10
+ pageModuleImportService;
11
+ getRootDir;
12
+ getBuildExecutor;
13
+ invalidateModules;
14
+ getDefaultPlugins;
15
+ /**
16
+ * Creates one explicit server-transpiler boundary for a given execution
17
+ * context.
18
+ */
19
+ constructor(args) {
20
+ this.pageModuleImportService =
21
+ args.pageModuleImportService ??
22
+ new PageModuleImportService(undefined, {
23
+ canLoadSourceModuleFromHost: args.canLoadSourceModuleFromHost,
24
+ getHostModuleLoader: args.getHostModuleLoader,
25
+ });
26
+ this.getRootDir = () => args.rootDir;
27
+ this.getBuildExecutor = args.getBuildExecutor ?? (() => undefined);
28
+ this.getDefaultPlugins = args.getDefaultPlugins ?? (() => []);
29
+ this.invalidateModules = (changedFiles) => {
30
+ if (args.invalidateModules) {
31
+ args.invalidateModules(changedFiles);
32
+ return;
33
+ }
34
+ this.pageModuleImportService.invalidateDevelopmentGraph();
35
+ };
36
+ }
37
+ /**
38
+ * Loads a server-side source module through the caller-owned transpile
39
+ * context.
40
+ */
41
+ async importModule(options) {
42
+ const mergedPlugins = [...this.getDefaultPlugins(), ...(options.plugins ?? [])];
43
+ const { plugins: _plugins, ...baseOptions } = options;
44
+ return await this.pageModuleImportService.importModule({
45
+ ...baseOptions,
46
+ ...(mergedPlugins.length > 0 ? { plugins: mergedPlugins } : {}),
47
+ rootDir: this.getRootDir(),
48
+ buildExecutor: this.getBuildExecutor(),
49
+ });
50
+ }
51
+ /**
52
+ * Invalidates cached module state for development reloads.
53
+ */
54
+ invalidate(changedFiles) {
55
+ this.invalidateModules(changedFiles);
56
+ }
57
+ /**
58
+ * Releases transpiler-owned resources.
59
+ *
60
+ * @remarks
61
+ * The current implementation delegates cache ownership to lower-level module
62
+ * loading services, so disposal is intentionally a no-op for now.
63
+ */
64
+ async dispose() {
25
65
  return;
26
- }
27
- this.pageModuleImportService.invalidateDevelopmentGraph();
28
- };
29
- }
30
- /**
31
- * Loads a server-side source module through the caller-owned transpile
32
- * context.
33
- */
34
- async importModule(options) {
35
- const mergedPlugins = [...this.getDefaultPlugins(), ...options.plugins ?? []];
36
- const { plugins: _plugins, ...baseOptions } = options;
37
- return await this.pageModuleImportService.importModule({
38
- ...baseOptions,
39
- ...mergedPlugins.length > 0 ? { plugins: mergedPlugins } : {},
40
- rootDir: this.getRootDir(),
41
- buildExecutor: this.getBuildExecutor(),
42
- invalidationVersion: this.getInvalidationVersion()
43
- });
44
- }
45
- /**
46
- * Invalidates cached module state for development reloads.
47
- */
48
- invalidate(changedFiles) {
49
- this.invalidateModules(changedFiles);
50
- }
51
- /**
52
- * Releases transpiler-owned resources.
53
- *
54
- * @remarks
55
- * The current implementation delegates cache ownership to lower-level module
56
- * loading services, so disposal is intentionally a no-op for now.
57
- */
58
- async dispose() {
59
- return;
60
- }
66
+ }
61
67
  }
62
- export {
63
- ServerModuleTranspiler
64
- };
@@ -1,8 +1,16 @@
1
- import path from "node:path";
2
- function supportsSourceModuleLoading(filePath) {
3
- const extension = path.extname(filePath);
4
- return extension === ".js" || extension === ".jsx" || extension === ".ts" || extension === ".tsx" || extension === ".mjs" || extension === ".mts" || extension === ".cjs" || extension === ".cts";
1
+ import path from 'node:path';
2
+ /**
3
+ * Returns whether a source module can be loaded directly by the host runtime without
4
+ * first going through the transpile/import pipeline.
5
+ */
6
+ export function supportsSourceModuleLoading(filePath) {
7
+ const extension = path.extname(filePath);
8
+ return (extension === '.js' ||
9
+ extension === '.jsx' ||
10
+ extension === '.ts' ||
11
+ extension === '.tsx' ||
12
+ extension === '.mjs' ||
13
+ extension === '.mts' ||
14
+ extension === '.cjs' ||
15
+ extension === '.cts');
5
16
  }
6
- export {
7
- supportsSourceModuleLoading
8
- };
@@ -1,162 +1,170 @@
1
- import {
2
- CounterServerInvalidationState,
3
- getAppServerInvalidationState,
4
- setAppServerInvalidationState
5
- } from "./server-invalidation-state.service.js";
6
- import {
7
- getAppEntrypointDependencyGraph,
8
- InMemoryEntrypointDependencyGraph,
9
- NoopEntrypointDependencyGraph,
10
- setAppEntrypointDependencyGraph
11
- } from "./entrypoint-dependency-graph.service.js";
12
- class NoopDevGraphService {
13
- invalidationState = new CounterServerInvalidationState();
14
- dependencyGraph = new NoopEntrypointDependencyGraph();
15
- /**
16
- * Returns the current coarse invalidation version.
17
- */
18
- getServerInvalidationVersion() {
19
- return this.invalidationState.getServerInvalidationVersion();
20
- }
21
- /**
22
- * Invalidates all server-side module state by incrementing the shared version.
23
- */
24
- invalidateServerModules(changedFiles) {
25
- this.invalidationState.invalidateServerModules(changedFiles);
26
- }
27
- /**
28
- * Indicates that this graph cannot target invalidation to one entrypoint set.
29
- */
30
- supportsSelectiveInvalidation() {
31
- return this.dependencyGraph.supportsSelectiveInvalidation();
32
- }
33
- /**
34
- * Returns an empty entrypoint set because this implementation stores no
35
- * dependency graph metadata.
36
- */
37
- getDependencyEntrypoints(filePath) {
38
- return this.dependencyGraph.getDependencyEntrypoints(filePath);
39
- }
40
- /**
41
- * Accepts dependency updates to preserve interface compatibility, but stores no
42
- * graph state in the noop implementation.
43
- */
44
- setEntrypointDependencies(entrypointPath, dependencies) {
45
- this.dependencyGraph.setEntrypointDependencies(entrypointPath, dependencies);
46
- }
47
- /**
48
- * Clears one entrypoint from the graph.
49
- *
50
- * @remarks
51
- * There is no stored graph state in this implementation, so this is a no-op.
52
- */
53
- clearEntrypointDependencies(entrypointPath) {
54
- this.dependencyGraph.clearEntrypointDependencies(entrypointPath);
55
- }
56
- /**
57
- * Resets graph-owned state for a fresh runtime cycle.
58
- */
59
- reset() {
60
- this.invalidationState.reset();
61
- this.dependencyGraph.reset();
62
- }
1
+ import { CounterServerInvalidationState, getAppServerInvalidationState, setAppServerInvalidationState, } from './server-invalidation-state.service.js';
2
+ import { getAppEntrypointDependencyGraph, InMemoryEntrypointDependencyGraph, NoopEntrypointDependencyGraph, setAppEntrypointDependencyGraph, } from './entrypoint-dependency-graph.service.js';
3
+ /**
4
+ * Minimal dev-graph implementation used when an app has no selective graph
5
+ * metadata available.
6
+ *
7
+ * @remarks
8
+ * This preserves correct behavior by using coarse invalidation version bumps.
9
+ * Callers still pass changed-file information through the interface now so a
10
+ * richer graph can become more selective later without changing call sites.
11
+ */
12
+ export class NoopDevGraphService {
13
+ invalidationState = new CounterServerInvalidationState();
14
+ dependencyGraph = new NoopEntrypointDependencyGraph();
15
+ /**
16
+ * Returns the current coarse invalidation version.
17
+ */
18
+ getServerInvalidationVersion() {
19
+ return this.invalidationState.getServerInvalidationVersion();
20
+ }
21
+ /**
22
+ * Invalidates all server-side module state by incrementing the shared version.
23
+ */
24
+ invalidateServerModules(changedFiles) {
25
+ this.invalidationState.invalidateServerModules(changedFiles);
26
+ }
27
+ /**
28
+ * Indicates that this graph cannot target invalidation to one entrypoint set.
29
+ */
30
+ supportsSelectiveInvalidation() {
31
+ return this.dependencyGraph.supportsSelectiveInvalidation();
32
+ }
33
+ /**
34
+ * Returns an empty entrypoint set because this implementation stores no
35
+ * dependency graph metadata.
36
+ */
37
+ getDependencyEntrypoints(filePath) {
38
+ return this.dependencyGraph.getDependencyEntrypoints(filePath);
39
+ }
40
+ /**
41
+ * Accepts dependency updates to preserve interface compatibility, but stores no
42
+ * graph state in the noop implementation.
43
+ */
44
+ setEntrypointDependencies(entrypointPath, dependencies) {
45
+ this.dependencyGraph.setEntrypointDependencies(entrypointPath, dependencies);
46
+ }
47
+ /**
48
+ * Clears one entrypoint from the graph.
49
+ *
50
+ * @remarks
51
+ * There is no stored graph state in this implementation, so this is a no-op.
52
+ */
53
+ clearEntrypointDependencies(entrypointPath) {
54
+ this.dependencyGraph.clearEntrypointDependencies(entrypointPath);
55
+ }
56
+ /**
57
+ * Resets graph-owned state for a fresh runtime cycle.
58
+ */
59
+ reset() {
60
+ this.invalidationState.reset();
61
+ this.dependencyGraph.reset();
62
+ }
63
63
  }
64
- class InMemoryDevGraphService {
65
- invalidationState = new CounterServerInvalidationState();
66
- dependencyGraph = new InMemoryEntrypointDependencyGraph();
67
- /**
68
- * Returns the current app-local server invalidation version.
69
- */
70
- getServerInvalidationVersion() {
71
- return this.invalidationState.getServerInvalidationVersion();
72
- }
73
- /**
74
- * Invalidates the current server-module cache generation.
75
- *
76
- * @remarks
77
- * The current implementation still uses a coarse generation bump for server
78
- * modules. Selective dependency lookups are used by callers that need to limit
79
- * browser rebuild work.
80
- */
81
- invalidateServerModules(changedFiles) {
82
- this.invalidationState.invalidateServerModules(changedFiles);
83
- }
84
- /**
85
- * Indicates that this graph can answer dependency-to-entrypoint lookups.
86
- */
87
- supportsSelectiveInvalidation() {
88
- return this.dependencyGraph.supportsSelectiveInvalidation();
89
- }
90
- /**
91
- * Returns all known entrypoints that currently depend on the given file.
92
- */
93
- getDependencyEntrypoints(filePath) {
94
- return this.dependencyGraph.getDependencyEntrypoints(filePath);
95
- }
96
- /**
97
- * Replaces the stored dependency set for one entrypoint.
98
- *
99
- * @remarks
100
- * The entrypoint itself is always included in its own dependency set so reverse
101
- * lookups can map a changed entry file back to that same entrypoint.
102
- */
103
- setEntrypointDependencies(entrypointPath, dependencies) {
104
- this.dependencyGraph.setEntrypointDependencies(entrypointPath, dependencies);
105
- }
106
- /**
107
- * Removes one entrypoint and all of its reverse dependency edges.
108
- */
109
- clearEntrypointDependencies(entrypointPath) {
110
- this.dependencyGraph.clearEntrypointDependencies(entrypointPath);
111
- }
112
- /**
113
- * Clears all graph state and starts a fresh invalidation generation.
114
- */
115
- reset() {
116
- this.invalidationState.reset();
117
- this.dependencyGraph.reset();
118
- }
64
+ /**
65
+ * In-memory development graph with entrypoint-to-dependency reverse lookups.
66
+ *
67
+ * @remarks
68
+ * This is the current selective graph implementation used by development flows
69
+ * that need to answer which entrypoints depend on a changed file while still
70
+ * keeping invalidation state app-local.
71
+ */
72
+ export class InMemoryDevGraphService {
73
+ invalidationState = new CounterServerInvalidationState();
74
+ dependencyGraph = new InMemoryEntrypointDependencyGraph();
75
+ /**
76
+ * Returns the current app-local server invalidation version.
77
+ */
78
+ getServerInvalidationVersion() {
79
+ return this.invalidationState.getServerInvalidationVersion();
80
+ }
81
+ /**
82
+ * Invalidates the current server-module cache generation.
83
+ *
84
+ * @remarks
85
+ * The current implementation still uses a coarse generation bump for server
86
+ * modules. Selective dependency lookups are used by callers that need to limit
87
+ * browser rebuild work.
88
+ */
89
+ invalidateServerModules(changedFiles) {
90
+ this.invalidationState.invalidateServerModules(changedFiles);
91
+ }
92
+ /**
93
+ * Indicates that this graph can answer dependency-to-entrypoint lookups.
94
+ */
95
+ supportsSelectiveInvalidation() {
96
+ return this.dependencyGraph.supportsSelectiveInvalidation();
97
+ }
98
+ /**
99
+ * Returns all known entrypoints that currently depend on the given file.
100
+ */
101
+ getDependencyEntrypoints(filePath) {
102
+ return this.dependencyGraph.getDependencyEntrypoints(filePath);
103
+ }
104
+ /**
105
+ * Replaces the stored dependency set for one entrypoint.
106
+ *
107
+ * @remarks
108
+ * The entrypoint itself is always included in its own dependency set so reverse
109
+ * lookups can map a changed entry file back to that same entrypoint.
110
+ */
111
+ setEntrypointDependencies(entrypointPath, dependencies) {
112
+ this.dependencyGraph.setEntrypointDependencies(entrypointPath, dependencies);
113
+ }
114
+ /**
115
+ * Removes one entrypoint and all of its reverse dependency edges.
116
+ */
117
+ clearEntrypointDependencies(entrypointPath) {
118
+ this.dependencyGraph.clearEntrypointDependencies(entrypointPath);
119
+ }
120
+ /**
121
+ * Clears all graph state and starts a fresh invalidation generation.
122
+ */
123
+ reset() {
124
+ this.invalidationState.reset();
125
+ this.dependencyGraph.reset();
126
+ }
119
127
  }
120
- function getAppDevGraphService(appConfig) {
121
- if (appConfig.runtime?.devGraphService) {
122
- return appConfig.runtime.devGraphService;
123
- }
124
- const serverInvalidationState = getAppServerInvalidationState(appConfig);
125
- const entrypointDependencyGraph = getAppEntrypointDependencyGraph(appConfig);
126
- return {
127
- getServerInvalidationVersion: () => serverInvalidationState.getServerInvalidationVersion(),
128
- invalidateServerModules: (changedFiles) => serverInvalidationState.invalidateServerModules(changedFiles),
129
- supportsSelectiveInvalidation: () => entrypointDependencyGraph.supportsSelectiveInvalidation(),
130
- getDependencyEntrypoints: (filePath) => entrypointDependencyGraph.getDependencyEntrypoints(filePath),
131
- setEntrypointDependencies: (entrypointPath, dependencies) => entrypointDependencyGraph.setEntrypointDependencies(entrypointPath, dependencies),
132
- clearEntrypointDependencies: (entrypointPath) => entrypointDependencyGraph.clearEntrypointDependencies(entrypointPath),
133
- reset: () => {
134
- serverInvalidationState.reset();
135
- entrypointDependencyGraph.reset();
128
+ /**
129
+ * Returns the dev-graph service owned by one app instance.
130
+ */
131
+ export function getAppDevGraphService(appConfig) {
132
+ if (appConfig.runtime?.devGraphService) {
133
+ return appConfig.runtime.devGraphService;
136
134
  }
137
- };
135
+ const serverInvalidationState = getAppServerInvalidationState(appConfig);
136
+ const entrypointDependencyGraph = getAppEntrypointDependencyGraph(appConfig);
137
+ return {
138
+ getServerInvalidationVersion: () => serverInvalidationState.getServerInvalidationVersion(),
139
+ invalidateServerModules: (changedFiles) => serverInvalidationState.invalidateServerModules(changedFiles),
140
+ supportsSelectiveInvalidation: () => entrypointDependencyGraph.supportsSelectiveInvalidation(),
141
+ getDependencyEntrypoints: (filePath) => entrypointDependencyGraph.getDependencyEntrypoints(filePath),
142
+ setEntrypointDependencies: (entrypointPath, dependencies) => entrypointDependencyGraph.setEntrypointDependencies(entrypointPath, dependencies),
143
+ clearEntrypointDependencies: (entrypointPath) => entrypointDependencyGraph.clearEntrypointDependencies(entrypointPath),
144
+ reset: () => {
145
+ serverInvalidationState.reset();
146
+ entrypointDependencyGraph.reset();
147
+ },
148
+ };
138
149
  }
139
- function setAppDevGraphService(appConfig, devGraphService) {
140
- setAppServerInvalidationState(appConfig, {
141
- getServerInvalidationVersion: () => devGraphService.getServerInvalidationVersion(),
142
- invalidateServerModules: (changedFiles) => devGraphService.invalidateServerModules(changedFiles),
143
- reset: () => devGraphService.reset()
144
- });
145
- setAppEntrypointDependencyGraph(appConfig, {
146
- supportsSelectiveInvalidation: () => devGraphService.supportsSelectiveInvalidation(),
147
- getDependencyEntrypoints: (filePath) => devGraphService.getDependencyEntrypoints(filePath),
148
- setEntrypointDependencies: (entrypointPath, dependencies) => devGraphService.setEntrypointDependencies(entrypointPath, dependencies),
149
- clearEntrypointDependencies: (entrypointPath) => devGraphService.clearEntrypointDependencies(entrypointPath),
150
- reset: () => devGraphService.reset()
151
- });
152
- appConfig.runtime = {
153
- ...appConfig.runtime ?? {},
154
- devGraphService
155
- };
150
+ /**
151
+ * Installs the dev-graph service that should back one app/runtime instance.
152
+ */
153
+ export function setAppDevGraphService(appConfig, devGraphService) {
154
+ setAppServerInvalidationState(appConfig, {
155
+ getServerInvalidationVersion: () => devGraphService.getServerInvalidationVersion(),
156
+ invalidateServerModules: (changedFiles) => devGraphService.invalidateServerModules(changedFiles),
157
+ reset: () => devGraphService.reset(),
158
+ });
159
+ setAppEntrypointDependencyGraph(appConfig, {
160
+ supportsSelectiveInvalidation: () => devGraphService.supportsSelectiveInvalidation(),
161
+ getDependencyEntrypoints: (filePath) => devGraphService.getDependencyEntrypoints(filePath),
162
+ setEntrypointDependencies: (entrypointPath, dependencies) => devGraphService.setEntrypointDependencies(entrypointPath, dependencies),
163
+ clearEntrypointDependencies: (entrypointPath) => devGraphService.clearEntrypointDependencies(entrypointPath),
164
+ reset: () => devGraphService.reset(),
165
+ });
166
+ appConfig.runtime = {
167
+ ...(appConfig.runtime ?? {}),
168
+ devGraphService,
169
+ };
156
170
  }
157
- export {
158
- InMemoryDevGraphService,
159
- NoopDevGraphService,
160
- getAppDevGraphService,
161
- setAppDevGraphService
162
- };
@@ -1,85 +1,94 @@
1
- import path from "node:path";
2
- class NoopEntrypointDependencyGraph {
3
- supportsSelectiveInvalidation() {
4
- return false;
5
- }
6
- getDependencyEntrypoints(_filePath) {
7
- return /* @__PURE__ */ new Set();
8
- }
9
- setEntrypointDependencies(_entrypointPath, _dependencies) {
10
- }
11
- clearEntrypointDependencies(_entrypointPath) {
12
- }
13
- reset() {
14
- }
1
+ import path from 'node:path';
2
+ /**
3
+ * Graph implementation for runtimes that rebuild every watched entrypoint.
4
+ */
5
+ export class NoopEntrypointDependencyGraph {
6
+ supportsSelectiveInvalidation() {
7
+ return false;
8
+ }
9
+ getDependencyEntrypoints(_filePath) {
10
+ return new Set();
11
+ }
12
+ setEntrypointDependencies(_entrypointPath, _dependencies) { }
13
+ clearEntrypointDependencies(_entrypointPath) { }
14
+ reset() { }
15
15
  }
16
- class InMemoryEntrypointDependencyGraph {
17
- dependencyEntrypoints = /* @__PURE__ */ new Map();
18
- entrypointDependencies = /* @__PURE__ */ new Map();
19
- supportsSelectiveInvalidation() {
20
- return true;
21
- }
22
- getDependencyEntrypoints(filePath) {
23
- return new Set(this.dependencyEntrypoints.get(path.resolve(filePath)) ?? []);
24
- }
25
- setEntrypointDependencies(entrypointPath, dependencies) {
26
- const normalizedEntrypoint = path.resolve(entrypointPath);
27
- this.clearEntrypointDependencies(normalizedEntrypoint);
28
- const normalizedDependencies = /* @__PURE__ */ new Set([
29
- normalizedEntrypoint,
30
- ...dependencies.map((dependencyPath) => path.resolve(dependencyPath))
31
- ]);
32
- this.entrypointDependencies.set(normalizedEntrypoint, normalizedDependencies);
33
- for (const dependencyPath of normalizedDependencies) {
34
- const entrypoints = this.dependencyEntrypoints.get(dependencyPath) ?? /* @__PURE__ */ new Set();
35
- entrypoints.add(normalizedEntrypoint);
36
- this.dependencyEntrypoints.set(dependencyPath, entrypoints);
16
+ /**
17
+ * In-memory entrypoint-to-dependency graph with reverse dependency lookups.
18
+ */
19
+ export class InMemoryEntrypointDependencyGraph {
20
+ dependencyEntrypoints = new Map();
21
+ entrypointDependencies = new Map();
22
+ supportsSelectiveInvalidation() {
23
+ return true;
24
+ }
25
+ getDependencyEntrypoints(filePath) {
26
+ return new Set(this.dependencyEntrypoints.get(path.resolve(filePath)) ?? []);
37
27
  }
38
- }
39
- clearEntrypointDependencies(entrypointPath) {
40
- const normalizedEntrypoint = path.resolve(entrypointPath);
41
- const previousDependencies = this.entrypointDependencies.get(normalizedEntrypoint);
42
- if (!previousDependencies) {
43
- return;
28
+ setEntrypointDependencies(entrypointPath, dependencies) {
29
+ const normalizedEntrypoint = path.resolve(entrypointPath);
30
+ this.clearEntrypointDependencies(normalizedEntrypoint);
31
+ const normalizedDependencies = new Set([
32
+ normalizedEntrypoint,
33
+ ...dependencies.map((dependencyPath) => path.resolve(dependencyPath)),
34
+ ]);
35
+ this.entrypointDependencies.set(normalizedEntrypoint, normalizedDependencies);
36
+ for (const dependencyPath of normalizedDependencies) {
37
+ const entrypoints = this.dependencyEntrypoints.get(dependencyPath) ?? new Set();
38
+ entrypoints.add(normalizedEntrypoint);
39
+ this.dependencyEntrypoints.set(dependencyPath, entrypoints);
40
+ }
44
41
  }
45
- for (const dependencyPath of previousDependencies) {
46
- const entrypoints = this.dependencyEntrypoints.get(dependencyPath);
47
- if (!entrypoints) {
48
- continue;
49
- }
50
- entrypoints.delete(normalizedEntrypoint);
51
- if (entrypoints.size === 0) {
52
- this.dependencyEntrypoints.delete(dependencyPath);
53
- }
42
+ clearEntrypointDependencies(entrypointPath) {
43
+ const normalizedEntrypoint = path.resolve(entrypointPath);
44
+ const previousDependencies = this.entrypointDependencies.get(normalizedEntrypoint);
45
+ if (!previousDependencies) {
46
+ return;
47
+ }
48
+ for (const dependencyPath of previousDependencies) {
49
+ const entrypoints = this.dependencyEntrypoints.get(dependencyPath);
50
+ if (!entrypoints) {
51
+ continue;
52
+ }
53
+ entrypoints.delete(normalizedEntrypoint);
54
+ if (entrypoints.size === 0) {
55
+ this.dependencyEntrypoints.delete(dependencyPath);
56
+ }
57
+ }
58
+ this.entrypointDependencies.delete(normalizedEntrypoint);
59
+ }
60
+ reset() {
61
+ this.dependencyEntrypoints.clear();
62
+ this.entrypointDependencies.clear();
54
63
  }
55
- this.entrypointDependencies.delete(normalizedEntrypoint);
56
- }
57
- reset() {
58
- this.dependencyEntrypoints.clear();
59
- this.entrypointDependencies.clear();
60
- }
61
64
  }
62
65
  function isLegacyEntrypointDependencyGraph(value) {
63
- return Boolean(value) && typeof value === "object" && typeof value.supportsSelectiveInvalidation === "function" && typeof value.getDependencyEntrypoints === "function" && typeof value.setEntrypointDependencies === "function" && typeof value.clearEntrypointDependencies === "function" && typeof value.reset === "function";
66
+ return (Boolean(value) &&
67
+ typeof value === 'object' &&
68
+ typeof value.supportsSelectiveInvalidation === 'function' &&
69
+ typeof value.getDependencyEntrypoints === 'function' &&
70
+ typeof value.setEntrypointDependencies === 'function' &&
71
+ typeof value.clearEntrypointDependencies === 'function' &&
72
+ typeof value.reset === 'function');
64
73
  }
65
- function getAppEntrypointDependencyGraph(appConfig) {
66
- if (appConfig.runtime?.entrypointDependencyGraph) {
67
- return appConfig.runtime.entrypointDependencyGraph;
68
- }
69
- if (isLegacyEntrypointDependencyGraph(appConfig.runtime?.devGraphService)) {
70
- return appConfig.runtime.devGraphService;
71
- }
72
- return new NoopEntrypointDependencyGraph();
74
+ /**
75
+ * Returns the app-owned entrypoint dependency graph.
76
+ */
77
+ export function getAppEntrypointDependencyGraph(appConfig) {
78
+ if (appConfig.runtime?.entrypointDependencyGraph) {
79
+ return appConfig.runtime.entrypointDependencyGraph;
80
+ }
81
+ if (isLegacyEntrypointDependencyGraph(appConfig.runtime?.devGraphService)) {
82
+ return appConfig.runtime.devGraphService;
83
+ }
84
+ return new NoopEntrypointDependencyGraph();
73
85
  }
74
- function setAppEntrypointDependencyGraph(appConfig, entrypointDependencyGraph) {
75
- appConfig.runtime = {
76
- ...appConfig.runtime ?? {},
77
- entrypointDependencyGraph
78
- };
86
+ /**
87
+ * Installs the dependency graph used by one app instance.
88
+ */
89
+ export function setAppEntrypointDependencyGraph(appConfig, entrypointDependencyGraph) {
90
+ appConfig.runtime = {
91
+ ...(appConfig.runtime ?? {}),
92
+ entrypointDependencyGraph,
93
+ };
79
94
  }
80
- export {
81
- InMemoryEntrypointDependencyGraph,
82
- NoopEntrypointDependencyGraph,
83
- getAppEntrypointDependencyGraph,
84
- setAppEntrypointDependencyGraph
85
- };