@ecopages/core 0.2.0-alpha.9 → 0.2.1-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (471) hide show
  1. package/README.md +79 -28
  2. package/package.json +94 -116
  3. package/src/adapters/README.md +2 -2
  4. package/src/adapters/abstract/application-adapter.d.ts +28 -2
  5. package/src/adapters/abstract/application-adapter.js +14 -2
  6. package/src/adapters/abstract/router-adapter.d.ts +1 -1
  7. package/src/adapters/abstract/server-adapter.d.ts +2 -2
  8. package/src/adapters/bun/client-bridge.d.ts +1 -1
  9. package/src/adapters/bun/create-app.d.ts +12 -12
  10. package/src/adapters/bun/create-app.js +64 -41
  11. package/src/adapters/bun/hmr-manager.d.ts +19 -115
  12. package/src/adapters/bun/hmr-manager.js +25 -301
  13. package/src/adapters/bun/index.d.ts +1 -1
  14. package/src/adapters/bun/index.js +2 -2
  15. package/src/adapters/bun/runtime-host.d.ts +52 -0
  16. package/src/adapters/bun/runtime-host.js +56 -0
  17. package/src/adapters/bun/server-adapter.d.ts +100 -32
  18. package/src/adapters/bun/server-adapter.js +142 -65
  19. package/src/adapters/bun/static-preview-host.d.ts +28 -0
  20. package/src/adapters/bun/static-preview-host.js +45 -0
  21. package/src/{create-app.d.ts → adapters/create-app.d.ts} +9 -6
  22. package/src/{create-app.js → adapters/create-app.js} +4 -4
  23. package/src/adapters/index.d.ts +1 -5
  24. package/src/adapters/index.js +1 -7
  25. package/src/adapters/node/create-app.d.ts +15 -12
  26. package/src/adapters/node/create-app.js +34 -85
  27. package/src/adapters/node/http-request-bridge.d.ts +57 -0
  28. package/src/adapters/node/http-request-bridge.js +118 -0
  29. package/src/adapters/node/node-client-bridge.d.ts +1 -1
  30. package/src/adapters/node/node-hmr-manager.d.ts +22 -103
  31. package/src/adapters/node/node-hmr-manager.js +26 -289
  32. package/src/adapters/node/runtime-host.d.ts +57 -0
  33. package/src/adapters/node/runtime-host.js +92 -0
  34. package/src/adapters/node/server-adapter-dependencies.d.ts +19 -0
  35. package/src/adapters/node/server-adapter-dependencies.js +18 -0
  36. package/src/adapters/node/server-adapter.d.ts +19 -42
  37. package/src/adapters/node/server-adapter.js +94 -139
  38. package/src/adapters/node/static-content-server.d.ts +1 -1
  39. package/src/adapters/node/static-content-server.js +1 -1
  40. package/src/adapters/node/static-preview-host.d.ts +55 -0
  41. package/src/adapters/node/static-preview-host.js +68 -0
  42. package/src/adapters/shared/application-adapter.d.ts +1 -1
  43. package/src/adapters/shared/define-api-handler.d.ts +1 -1
  44. package/src/adapters/shared/explicit-static-render-preparation.d.ts +25 -0
  45. package/src/adapters/shared/explicit-static-render-preparation.js +26 -0
  46. package/src/adapters/shared/explicit-static-route-matcher.d.ts +7 -4
  47. package/src/adapters/shared/explicit-static-route-matcher.js +14 -16
  48. package/src/adapters/shared/file-route-middleware-pipeline.d.ts +7 -10
  49. package/src/adapters/shared/file-route-middleware-pipeline.js +2 -11
  50. package/src/adapters/shared/fs-server-response-factory.d.ts +14 -10
  51. package/src/adapters/shared/fs-server-response-factory.js +11 -27
  52. package/src/adapters/shared/fs-server-response-matcher.d.ts +18 -18
  53. package/src/adapters/shared/fs-server-response-matcher.js +72 -46
  54. package/src/adapters/shared/hmr-entrypoint-registrar.js +1 -1
  55. package/src/adapters/shared/hmr-html-response.d.ts +1 -1
  56. package/src/adapters/shared/hmr-html-response.js +4 -3
  57. package/src/adapters/shared/render-context.d.ts +5 -3
  58. package/src/adapters/shared/render-context.js +24 -1
  59. package/src/adapters/shared/runtime-app-bootstrap.d.ts +26 -0
  60. package/src/adapters/shared/runtime-app-bootstrap.js +46 -0
  61. package/src/adapters/shared/runtime-host.d.ts +12 -0
  62. package/src/adapters/shared/server-adapter.d.ts +22 -11
  63. package/src/adapters/shared/server-adapter.js +183 -133
  64. package/src/adapters/shared/server-route-handler.d.ts +5 -5
  65. package/src/adapters/shared/server-route-handler.js +4 -4
  66. package/src/adapters/shared/server-static-builder.d.ts +8 -7
  67. package/src/adapters/shared/server-static-builder.js +6 -5
  68. package/src/adapters/shared/shared-hmr-manager.d.ts +59 -0
  69. package/src/adapters/shared/shared-hmr-manager.js +241 -0
  70. package/src/adapters/shared/static-preview-host.d.ts +10 -0
  71. package/src/build/README.md +57 -67
  72. package/src/build/browser-runtime-manifest.d.ts +31 -0
  73. package/src/build/browser-runtime-manifest.js +61 -0
  74. package/src/build/browser-runtime-plugin-helpers.d.ts +26 -0
  75. package/src/build/browser-runtime-plugin-helpers.js +14 -0
  76. package/src/build/browser-runtime-plugin.d.ts +78 -0
  77. package/src/build/browser-runtime-plugin.js +173 -0
  78. package/src/build/build-adapter.d.ts +384 -63
  79. package/src/build/build-adapter.js +129 -54
  80. package/src/build/build-manifest.d.ts +6 -0
  81. package/src/build/build-manifest.js +21 -2
  82. package/src/build/build-types.d.ts +2 -2
  83. package/src/build/rolldown-adapter-helpers.d.ts +58 -0
  84. package/src/build/rolldown-adapter-helpers.js +265 -0
  85. package/src/build/rolldown-build-adapter.d.ts +28 -0
  86. package/src/build/rolldown-build-adapter.js +65 -0
  87. package/src/build/rolldown-dev-build-adapter.d.ts +82 -0
  88. package/src/build/rolldown-dev-build-adapter.js +166 -0
  89. package/src/build/rolldown-plugin-bridge.d.ts +59 -0
  90. package/src/build/rolldown-plugin-bridge.js +199 -0
  91. package/src/build/runtime-build-executor.d.ts +15 -7
  92. package/src/build/runtime-build-executor.js +8 -9
  93. package/src/build/runtime-build-output-normalizer.d.ts +3 -0
  94. package/src/build/runtime-build-output-normalizer.js +111 -0
  95. package/src/build/serialized-build-executor.d.ts +64 -0
  96. package/src/build/serialized-build-executor.js +63 -0
  97. package/src/build/server-side-css-shim-plugin.d.ts +41 -0
  98. package/src/build/server-side-css-shim-plugin.js +35 -0
  99. package/src/cache/index.d.ts +6 -0
  100. package/src/cache/index.js +6 -0
  101. package/src/cache/module-parse-cache.d.ts +65 -0
  102. package/src/cache/module-parse-cache.js +75 -0
  103. package/src/config/README.md +5 -2
  104. package/src/config/config-builder.d.ts +41 -13
  105. package/src/config/config-builder.js +62 -24
  106. package/src/declarations.d.ts +1 -1
  107. package/src/dev/host-runtime.d.ts +10 -0
  108. package/src/dev/host-runtime.js +24 -0
  109. package/src/dev/sc-server.d.ts +1 -1
  110. package/src/dev/sc-server.js +1 -1
  111. package/src/eco/eco.browser.d.ts +2 -0
  112. package/src/eco/eco.browser.js +88 -0
  113. package/src/eco/eco.js +50 -45
  114. package/src/eco/eco.types.d.ts +60 -8
  115. package/src/eco/eco.utils.d.ts +1 -40
  116. package/src/eco/eco.utils.js +5 -35
  117. package/src/eco/global-injector-map.d.ts +3 -3
  118. package/src/eco/global-injector-map.js +2 -2
  119. package/src/eco/lazy-injector-map.d.ts +2 -2
  120. package/src/errors/index.d.ts +1 -0
  121. package/src/errors/index.js +3 -1
  122. package/src/hmr/client/hmr-runtime.js +9 -1
  123. package/src/hmr/hmr-strategy.d.ts +16 -13
  124. package/src/hmr/hmr-strategy.js +22 -7
  125. package/src/hmr/strategies/default-hmr-strategy.d.ts +2 -2
  126. package/src/hmr/strategies/default-hmr-strategy.js +1 -1
  127. package/src/hmr/strategies/js-hmr-strategy.d.ts +4 -9
  128. package/src/hmr/strategies/js-hmr-strategy.js +5 -10
  129. package/src/index.browser.d.ts +2 -2
  130. package/src/index.browser.js +1 -1
  131. package/src/index.d.ts +3 -2
  132. package/src/index.js +15 -4
  133. package/src/integrations/ghtml/ghtml-renderer.d.ts +2 -1
  134. package/src/integrations/ghtml/ghtml-renderer.js +24 -29
  135. package/src/integrations/ghtml/ghtml.constants.d.ts +1 -0
  136. package/src/integrations/ghtml/ghtml.constants.js +4 -0
  137. package/src/integrations/ghtml/ghtml.plugin.d.ts +2 -6
  138. package/src/integrations/ghtml/ghtml.plugin.js +3 -4
  139. package/src/plugins/README.md +1 -0
  140. package/src/plugins/alias-resolver-cache.d.ts +68 -0
  141. package/src/plugins/alias-resolver-cache.js +106 -0
  142. package/src/plugins/alias-resolver-plugin.d.ts +5 -1
  143. package/src/plugins/alias-resolver-plugin.js +19 -7
  144. package/src/plugins/eco-component-meta-plugin.d.ts +12 -1
  145. package/src/plugins/eco-component-meta-plugin.js +43 -25
  146. package/src/plugins/foreign-jsx-override-plugin.d.ts +33 -0
  147. package/src/plugins/foreign-jsx-override-plugin.js +41 -0
  148. package/src/plugins/integration-plugin.d.ts +136 -42
  149. package/src/plugins/integration-plugin.js +99 -31
  150. package/src/plugins/processor.d.ts +4 -2
  151. package/src/plugins/processor.js +8 -3
  152. package/src/plugins/source-transform.d.ts +46 -0
  153. package/src/plugins/source-transform.js +71 -0
  154. package/src/route-renderer/GRAPH.md +80 -318
  155. package/src/route-renderer/README.md +74 -78
  156. package/src/route-renderer/orchestration/component-render-context.d.ts +97 -0
  157. package/src/route-renderer/orchestration/component-render-context.js +147 -0
  158. package/src/route-renderer/orchestration/declared-ownership-graph.d.ts +18 -0
  159. package/src/route-renderer/orchestration/declared-ownership-graph.js +34 -0
  160. package/src/route-renderer/orchestration/foreign-subtree-execution.service.d.ts +110 -0
  161. package/src/route-renderer/orchestration/foreign-subtree-execution.service.js +233 -0
  162. package/src/route-renderer/orchestration/integration-renderer.d.ts +290 -128
  163. package/src/route-renderer/orchestration/integration-renderer.js +660 -258
  164. package/src/route-renderer/orchestration/ownership-planning.service.d.ts +24 -0
  165. package/src/route-renderer/orchestration/ownership-planning.service.js +63 -0
  166. package/src/route-renderer/orchestration/ownership-validation.service.d.ts +29 -0
  167. package/src/route-renderer/orchestration/ownership-validation.service.js +53 -0
  168. package/src/route-renderer/orchestration/processed-asset-dedupe.d.ts +3 -0
  169. package/src/route-renderer/orchestration/processed-asset-dedupe.js +27 -0
  170. package/src/route-renderer/orchestration/queued-foreign-subtree-resolution.service.d.ts +91 -0
  171. package/src/route-renderer/orchestration/queued-foreign-subtree-resolution.service.js +170 -0
  172. package/src/route-renderer/orchestration/render-output.utils.d.ts +66 -0
  173. package/src/route-renderer/orchestration/render-output.utils.js +171 -0
  174. package/src/route-renderer/orchestration/route-render-orchestrator.d.ts +156 -0
  175. package/src/route-renderer/orchestration/route-render-orchestrator.js +577 -0
  176. package/src/route-renderer/orchestration/template-serialization.d.ts +38 -0
  177. package/src/route-renderer/orchestration/template-serialization.js +45 -0
  178. package/src/route-renderer/page-loading/component-dependency-collection.d.ts +37 -0
  179. package/src/route-renderer/page-loading/component-dependency-collection.js +132 -0
  180. package/src/route-renderer/page-loading/declared-asset-collection.d.ts +24 -0
  181. package/src/route-renderer/page-loading/declared-asset-collection.js +106 -0
  182. package/src/route-renderer/page-loading/dependency-resolver.d.ts +2 -2
  183. package/src/route-renderer/page-loading/dependency-resolver.js +27 -354
  184. package/src/route-renderer/page-loading/ecopages-virtual-imports.d.ts +11 -0
  185. package/src/route-renderer/page-loading/ecopages-virtual-imports.js +57 -0
  186. package/src/route-renderer/page-loading/lazy-entry-collection.d.ts +45 -0
  187. package/src/route-renderer/page-loading/lazy-entry-collection.js +105 -0
  188. package/src/route-renderer/page-loading/lazy-trigger-planning.d.ts +19 -0
  189. package/src/route-renderer/page-loading/lazy-trigger-planning.js +40 -0
  190. package/src/route-renderer/page-loading/module-declaration-aggregation.d.ts +5 -0
  191. package/src/route-renderer/page-loading/module-declaration-aggregation.js +33 -0
  192. package/src/route-renderer/page-loading/module-declaration-scripts.d.ts +3 -0
  193. package/src/route-renderer/page-loading/module-declaration-scripts.js +18 -0
  194. package/src/route-renderer/page-loading/page-dependency-bundling.d.ts +13 -0
  195. package/src/route-renderer/page-loading/page-dependency-bundling.js +137 -0
  196. package/src/route-renderer/page-loading/page-module-loader.d.ts +7 -4
  197. package/src/route-renderer/page-loading/page-module-loader.js +8 -5
  198. package/src/route-renderer/route-renderer.d.ts +31 -23
  199. package/src/route-renderer/route-renderer.js +17 -24
  200. package/src/router/README.md +76 -8
  201. package/src/router/client/navigation-coordinator.d.ts +20 -0
  202. package/src/router/client/navigation-coordinator.js +2 -2
  203. package/src/router/server/route-registry.d.ts +78 -0
  204. package/src/router/server/route-registry.js +262 -0
  205. package/src/services/README.md +1 -2
  206. package/src/services/assets/asset-processing-service/asset-dependency-keys.d.ts +3 -0
  207. package/src/services/assets/asset-processing-service/asset-dependency-keys.js +56 -0
  208. package/src/services/assets/asset-processing-service/asset-processing.service.d.ts +3 -20
  209. package/src/services/assets/asset-processing-service/asset-processing.service.js +52 -98
  210. package/src/services/assets/asset-processing-service/asset.factory.d.ts +1 -1
  211. package/src/services/assets/asset-processing-service/asset.factory.js +2 -2
  212. package/src/services/assets/asset-processing-service/assets.types.d.ts +14 -0
  213. package/src/services/assets/asset-processing-service/browser-runtime-asset.factory.d.ts +2 -0
  214. package/src/services/assets/asset-processing-service/browser-runtime-asset.factory.js +1 -0
  215. package/src/services/assets/asset-processing-service/grouped-content-bundles.d.ts +30 -0
  216. package/src/services/assets/asset-processing-service/grouped-content-bundles.js +65 -0
  217. package/src/services/assets/asset-processing-service/index.d.ts +6 -5
  218. package/src/services/assets/asset-processing-service/index.js +6 -5
  219. package/src/services/assets/asset-processing-service/page-package.d.ts +6 -0
  220. package/src/services/assets/asset-processing-service/page-package.js +80 -0
  221. package/src/services/assets/asset-processing-service/processor.interface.d.ts +2 -2
  222. package/src/services/assets/asset-processing-service/processor.registry.d.ts +2 -2
  223. package/src/services/assets/asset-processing-service/processors/base/base-processor.d.ts +1 -1
  224. package/src/services/assets/asset-processing-service/processors/base/base-processor.js +3 -2
  225. package/src/services/assets/asset-processing-service/processors/base/base-script-processor.d.ts +10 -5
  226. package/src/services/assets/asset-processing-service/processors/base/base-script-processor.js +69 -5
  227. package/src/services/assets/asset-processing-service/processors/index.d.ts +5 -5
  228. package/src/services/assets/asset-processing-service/processors/index.js +5 -5
  229. package/src/services/assets/asset-processing-service/processors/script/content-script.processor.d.ts +3 -2
  230. package/src/services/assets/asset-processing-service/processors/script/content-script.processor.js +66 -3
  231. package/src/services/assets/asset-processing-service/processors/script/file-script.processor.d.ts +4 -3
  232. package/src/services/assets/asset-processing-service/processors/script/file-script.processor.js +27 -6
  233. package/src/services/assets/asset-processing-service/processors/script/node-module-script.processor.d.ts +38 -3
  234. package/src/services/assets/asset-processing-service/processors/script/node-module-script.processor.js +57 -6
  235. package/src/services/assets/asset-processing-service/processors/stylesheet/content-stylesheet.processor.d.ts +5 -2
  236. package/src/services/assets/asset-processing-service/processors/stylesheet/content-stylesheet.processor.js +39 -5
  237. package/src/services/assets/asset-processing-service/processors/stylesheet/file-stylesheet.processor.d.ts +2 -2
  238. package/src/services/assets/asset-processing-service/processors/stylesheet/file-stylesheet.processor.js +5 -2
  239. package/src/services/assets/asset-processing-service/ungrouped-dependency-processing.d.ts +18 -0
  240. package/src/services/assets/asset-processing-service/ungrouped-dependency-processing.js +45 -0
  241. package/src/services/assets/browser-bundle.service.d.ts +44 -3
  242. package/src/services/assets/browser-bundle.service.js +15 -7
  243. package/src/services/html/html-rewriter-provider.service.d.ts +3 -0
  244. package/src/services/html/html-rewriter-provider.service.js +4 -1
  245. package/src/services/html/html-transformer.service.d.ts +22 -3
  246. package/src/services/html/html-transformer.service.js +101 -35
  247. package/src/services/invalidation/development-invalidation.service.d.ts +1 -1
  248. package/src/services/invalidation/development-invalidation.service.js +1 -0
  249. package/src/services/module-loading/app-module-loader.service.d.ts +7 -0
  250. package/src/services/module-loading/app-module-loader.service.js +0 -0
  251. package/src/services/module-loading/app-server-module-transpiler.service.d.ts +9 -1
  252. package/src/services/module-loading/app-server-module-transpiler.service.js +102 -6
  253. package/src/services/module-loading/host-module-loader-registry.d.ts +4 -0
  254. package/src/services/module-loading/host-module-loader-registry.js +15 -0
  255. package/src/services/module-loading/module-loading-types.d.ts +2 -0
  256. package/src/services/module-loading/module-loading-types.js +0 -0
  257. package/src/services/module-loading/page-module-import.service.d.ts +32 -8
  258. package/src/services/module-loading/page-module-import.service.js +83 -22
  259. package/src/services/module-loading/server-module-transpiler.service.d.ts +8 -14
  260. package/src/services/module-loading/server-module-transpiler.service.js +5 -2
  261. package/src/services/module-loading/source-module-support.d.ts +5 -0
  262. package/src/services/module-loading/source-module-support.js +8 -0
  263. package/src/services/runtime-state/dev-graph.service.d.ts +6 -6
  264. package/src/services/runtime-state/dev-graph.service.js +10 -10
  265. package/src/services/runtime-state/entrypoint-dependency-graph.service.d.ts +1 -1
  266. package/src/services/runtime-state/server-invalidation-state.service.d.ts +1 -1
  267. package/src/static-site-generator/static-site-generator.d.ts +23 -28
  268. package/src/static-site-generator/static-site-generator.js +119 -156
  269. package/src/{internal-types.d.ts → types/internal-types.d.ts} +34 -23
  270. package/src/types/internal-types.js +0 -0
  271. package/src/{public-types.d.ts → types/public-types.d.ts} +195 -37
  272. package/src/types/public-types.js +0 -0
  273. package/src/utils/html-escaping.d.ts +7 -0
  274. package/src/utils/html-escaping.js +6 -0
  275. package/src/utils/locals-utils.d.ts +1 -1
  276. package/src/utils/parse-cli-args.d.ts +4 -1
  277. package/src/utils/parse-cli-args.js +16 -1
  278. package/src/utils/resolve-work-dir.js +1 -1
  279. package/src/watchers/project-watcher.d.ts +4 -4
  280. package/src/watchers/project-watcher.js +35 -41
  281. package/src/watchers/project-watcher.test-helpers.d.ts +2 -2
  282. package/src/watchers/project-watcher.test-helpers.js +5 -5
  283. package/CHANGELOG.md +0 -31
  284. package/src/adapters/abstract/application-adapter.ts +0 -337
  285. package/src/adapters/abstract/router-adapter.ts +0 -30
  286. package/src/adapters/abstract/server-adapter.ts +0 -79
  287. package/src/adapters/bun/client-bridge.ts +0 -62
  288. package/src/adapters/bun/create-app.ts +0 -189
  289. package/src/adapters/bun/hmr-manager.ts +0 -409
  290. package/src/adapters/bun/index.ts +0 -2
  291. package/src/adapters/bun/server-adapter.ts +0 -499
  292. package/src/adapters/bun/server-lifecycle.d.ts +0 -63
  293. package/src/adapters/bun/server-lifecycle.js +0 -92
  294. package/src/adapters/bun/server-lifecycle.ts +0 -124
  295. package/src/adapters/index.ts +0 -6
  296. package/src/adapters/node/bootstrap-dependency-resolver.d.ts +0 -44
  297. package/src/adapters/node/bootstrap-dependency-resolver.js +0 -172
  298. package/src/adapters/node/bootstrap-dependency-resolver.ts +0 -301
  299. package/src/adapters/node/create-app.ts +0 -179
  300. package/src/adapters/node/index.d.ts +0 -6
  301. package/src/adapters/node/index.js +0 -11
  302. package/src/adapters/node/index.ts +0 -16
  303. package/src/adapters/node/node-client-bridge.ts +0 -79
  304. package/src/adapters/node/node-hmr-manager.ts +0 -381
  305. package/src/adapters/node/runtime-adapter.d.ts +0 -46
  306. package/src/adapters/node/runtime-adapter.js +0 -306
  307. package/src/adapters/node/runtime-adapter.ts +0 -439
  308. package/src/adapters/node/server-adapter.ts +0 -488
  309. package/src/adapters/node/static-content-server.ts +0 -239
  310. package/src/adapters/node/write-runtime-manifest.d.ts +0 -26
  311. package/src/adapters/node/write-runtime-manifest.js +0 -12
  312. package/src/adapters/node/write-runtime-manifest.ts +0 -38
  313. package/src/adapters/shared/api-response.ts +0 -104
  314. package/src/adapters/shared/application-adapter.ts +0 -199
  315. package/src/adapters/shared/define-api-handler.ts +0 -66
  316. package/src/adapters/shared/explicit-static-route-matcher.ts +0 -140
  317. package/src/adapters/shared/file-route-middleware-pipeline.ts +0 -127
  318. package/src/adapters/shared/fs-server-response-factory.ts +0 -118
  319. package/src/adapters/shared/fs-server-response-matcher.ts +0 -205
  320. package/src/adapters/shared/hmr-entrypoint-registrar.ts +0 -149
  321. package/src/adapters/shared/hmr-html-response.ts +0 -52
  322. package/src/adapters/shared/render-context.ts +0 -120
  323. package/src/adapters/shared/runtime-bootstrap.d.ts +0 -38
  324. package/src/adapters/shared/runtime-bootstrap.js +0 -43
  325. package/src/adapters/shared/runtime-bootstrap.ts +0 -79
  326. package/src/adapters/shared/server-adapter.ts +0 -489
  327. package/src/adapters/shared/server-route-handler.ts +0 -153
  328. package/src/adapters/shared/server-static-builder.ts +0 -166
  329. package/src/build/build-adapter.ts +0 -361
  330. package/src/build/build-manifest.ts +0 -54
  331. package/src/build/build-types.ts +0 -83
  332. package/src/build/dev-build-coordinator.d.ts +0 -74
  333. package/src/build/dev-build-coordinator.js +0 -161
  334. package/src/build/dev-build-coordinator.ts +0 -221
  335. package/src/build/esbuild-build-adapter.d.ts +0 -72
  336. package/src/build/esbuild-build-adapter.js +0 -422
  337. package/src/build/esbuild-build-adapter.ts +0 -559
  338. package/src/build/runtime-build-executor.ts +0 -34
  339. package/src/build/runtime-specifier-alias-plugin.d.ts +0 -15
  340. package/src/build/runtime-specifier-alias-plugin.js +0 -31
  341. package/src/build/runtime-specifier-alias-plugin.ts +0 -58
  342. package/src/config/config-builder.ts +0 -706
  343. package/src/constants.ts +0 -54
  344. package/src/create-app.ts +0 -87
  345. package/src/dev/sc-server.ts +0 -143
  346. package/src/eco/component-render-context.d.ts +0 -105
  347. package/src/eco/component-render-context.js +0 -87
  348. package/src/eco/component-render-context.ts +0 -224
  349. package/src/eco/eco.ts +0 -242
  350. package/src/eco/eco.types.ts +0 -221
  351. package/src/eco/eco.utils.ts +0 -89
  352. package/src/eco/global-injector-map.ts +0 -112
  353. package/src/eco/lazy-injector-map.ts +0 -120
  354. package/src/eco/module-dependencies.ts +0 -75
  355. package/src/errors/http-error.ts +0 -72
  356. package/src/errors/index.ts +0 -2
  357. package/src/errors/locals-access-error.ts +0 -7
  358. package/src/global/app-logger.ts +0 -4
  359. package/src/hmr/client/hmr-runtime.ts +0 -152
  360. package/src/hmr/hmr-strategy.ts +0 -172
  361. package/src/hmr/hmr.postcss.test.e2e.ts +0 -41
  362. package/src/hmr/hmr.test.e2e.ts +0 -66
  363. package/src/hmr/strategies/default-hmr-strategy.ts +0 -60
  364. package/src/hmr/strategies/js-hmr-strategy.ts +0 -320
  365. package/src/index.browser.ts +0 -3
  366. package/src/index.ts +0 -5
  367. package/src/integrations/ghtml/ghtml-renderer.ts +0 -96
  368. package/src/integrations/ghtml/ghtml.plugin.ts +0 -32
  369. package/src/internal-types.ts +0 -232
  370. package/src/plugins/alias-resolver-plugin.ts +0 -63
  371. package/src/plugins/eco-component-meta-plugin.ts +0 -481
  372. package/src/plugins/integration-plugin.ts +0 -226
  373. package/src/plugins/processor.ts +0 -240
  374. package/src/plugins/runtime-capability.ts +0 -14
  375. package/src/public-types.ts +0 -1317
  376. package/src/route-renderer/component-graph/component-graph-executor.d.ts +0 -32
  377. package/src/route-renderer/component-graph/component-graph-executor.js +0 -31
  378. package/src/route-renderer/component-graph/component-graph-executor.ts +0 -84
  379. package/src/route-renderer/component-graph/component-graph.d.ts +0 -42
  380. package/src/route-renderer/component-graph/component-graph.js +0 -72
  381. package/src/route-renderer/component-graph/component-graph.ts +0 -159
  382. package/src/route-renderer/component-graph/component-marker.d.ts +0 -52
  383. package/src/route-renderer/component-graph/component-marker.js +0 -46
  384. package/src/route-renderer/component-graph/component-marker.ts +0 -117
  385. package/src/route-renderer/component-graph/component-reference.d.ts +0 -10
  386. package/src/route-renderer/component-graph/component-reference.js +0 -19
  387. package/src/route-renderer/component-graph/component-reference.ts +0 -29
  388. package/src/route-renderer/component-graph/marker-graph-resolver.d.ts +0 -77
  389. package/src/route-renderer/component-graph/marker-graph-resolver.js +0 -95
  390. package/src/route-renderer/component-graph/marker-graph-resolver.ts +0 -155
  391. package/src/route-renderer/orchestration/integration-renderer.ts +0 -790
  392. package/src/route-renderer/orchestration/render-execution.service.d.ts +0 -103
  393. package/src/route-renderer/orchestration/render-execution.service.js +0 -121
  394. package/src/route-renderer/orchestration/render-execution.service.ts +0 -230
  395. package/src/route-renderer/orchestration/render-preparation.service.d.ts +0 -121
  396. package/src/route-renderer/orchestration/render-preparation.service.js +0 -332
  397. package/src/route-renderer/orchestration/render-preparation.service.ts +0 -476
  398. package/src/route-renderer/page-loading/dependency-resolver.ts +0 -612
  399. package/src/route-renderer/page-loading/page-module-loader.ts +0 -181
  400. package/src/route-renderer/route-renderer.ts +0 -115
  401. package/src/router/client/link-intent.test.browser.ts +0 -51
  402. package/src/router/client/link-intent.ts +0 -92
  403. package/src/router/client/navigation-coordinator.ts +0 -433
  404. package/src/router/server/fs-router-scanner.d.ts +0 -41
  405. package/src/router/server/fs-router-scanner.js +0 -156
  406. package/src/router/server/fs-router-scanner.ts +0 -219
  407. package/src/router/server/fs-router.d.ts +0 -26
  408. package/src/router/server/fs-router.js +0 -100
  409. package/src/router/server/fs-router.ts +0 -122
  410. package/src/services/assets/asset-processing-service/asset-processing.service.ts +0 -401
  411. package/src/services/assets/asset-processing-service/asset.factory.ts +0 -105
  412. package/src/services/assets/asset-processing-service/assets.types.ts +0 -113
  413. package/src/services/assets/asset-processing-service/browser-runtime-asset.factory.ts +0 -95
  414. package/src/services/assets/asset-processing-service/browser-runtime-entry.factory.ts +0 -78
  415. package/src/services/assets/asset-processing-service/index.ts +0 -5
  416. package/src/services/assets/asset-processing-service/processor.interface.ts +0 -27
  417. package/src/services/assets/asset-processing-service/processor.registry.ts +0 -18
  418. package/src/services/assets/asset-processing-service/processors/base/base-processor.ts +0 -82
  419. package/src/services/assets/asset-processing-service/processors/base/base-script-processor.ts +0 -95
  420. package/src/services/assets/asset-processing-service/processors/index.ts +0 -5
  421. package/src/services/assets/asset-processing-service/processors/script/content-script.processor.ts +0 -66
  422. package/src/services/assets/asset-processing-service/processors/script/file-script.processor.ts +0 -88
  423. package/src/services/assets/asset-processing-service/processors/script/node-module-script.processor.ts +0 -85
  424. package/src/services/assets/asset-processing-service/processors/stylesheet/content-stylesheet.processor.ts +0 -27
  425. package/src/services/assets/asset-processing-service/processors/stylesheet/file-stylesheet.processor.ts +0 -80
  426. package/src/services/assets/browser-bundle.service.ts +0 -53
  427. package/src/services/cache/cache.types.ts +0 -126
  428. package/src/services/cache/index.ts +0 -18
  429. package/src/services/cache/memory-cache-store.ts +0 -130
  430. package/src/services/cache/page-cache-service.ts +0 -202
  431. package/src/services/cache/page-request-cache-coordinator.service.ts +0 -131
  432. package/src/services/html/html-rewriter-provider.service.ts +0 -103
  433. package/src/services/html/html-transformer.service.ts +0 -279
  434. package/src/services/invalidation/development-invalidation.service.ts +0 -261
  435. package/src/services/module-loading/app-server-module-transpiler.service.ts +0 -52
  436. package/src/services/module-loading/page-module-import.service.ts +0 -200
  437. package/src/services/module-loading/server-loader.service.d.ts +0 -96
  438. package/src/services/module-loading/server-loader.service.js +0 -32
  439. package/src/services/module-loading/server-loader.service.ts +0 -130
  440. package/src/services/module-loading/server-module-transpiler.service.ts +0 -105
  441. package/src/services/runtime-manifest/node-runtime-manifest.service.d.ts +0 -35
  442. package/src/services/runtime-manifest/node-runtime-manifest.service.js +0 -60
  443. package/src/services/runtime-manifest/node-runtime-manifest.service.ts +0 -101
  444. package/src/services/runtime-state/dev-graph.service.ts +0 -217
  445. package/src/services/runtime-state/entrypoint-dependency-graph.service.ts +0 -136
  446. package/src/services/runtime-state/runtime-specifier-registry.service.d.ts +0 -69
  447. package/src/services/runtime-state/runtime-specifier-registry.service.js +0 -37
  448. package/src/services/runtime-state/runtime-specifier-registry.service.ts +0 -96
  449. package/src/services/runtime-state/server-invalidation-state.service.ts +0 -68
  450. package/src/services/validation/schema-validation-service.ts +0 -204
  451. package/src/services/validation/standard-schema.types.ts +0 -68
  452. package/src/static-site-generator/static-site-generator.ts +0 -462
  453. package/src/utils/css.d.ts +0 -1
  454. package/src/utils/css.js +0 -7
  455. package/src/utils/css.ts +0 -5
  456. package/src/utils/deep-merge.ts +0 -47
  457. package/src/utils/hash.ts +0 -5
  458. package/src/utils/html.ts +0 -1
  459. package/src/utils/invariant.ts +0 -15
  460. package/src/utils/locals-utils.ts +0 -37
  461. package/src/utils/parse-cli-args.ts +0 -83
  462. package/src/utils/path-utils.module.ts +0 -14
  463. package/src/utils/resolve-work-dir.ts +0 -45
  464. package/src/utils/runtime.ts +0 -44
  465. package/src/utils/server-utils.module.ts +0 -67
  466. package/src/watchers/project-watcher.test-helpers.ts +0 -41
  467. package/src/watchers/project-watcher.ts +0 -363
  468. /package/src/{internal-types.js → adapters/shared/runtime-host.js} +0 -0
  469. /package/src/{public-types.js → adapters/shared/static-preview-host.js} +0 -0
  470. /package/src/{constants.d.ts → config/constants.d.ts} +0 -0
  471. /package/src/{constants.js → config/constants.js} +0 -0
@@ -2,6 +2,8 @@ import path from "node:path";
2
2
  import { pathToFileURL } from "node:url";
3
3
  import { fileSystem } from "@ecopages/file-system";
4
4
  import { build } from "../../build/build-adapter.js";
5
+ import { normalizeNodeRuntimeBuildOutputFile } from "../../build/runtime-build-output-normalizer.js";
6
+ import { supportsSourceModuleLoading } from "./source-module-support.js";
5
7
  class PageModuleImportService {
6
8
  dependencies;
7
9
  importCache = /* @__PURE__ */ new Map();
@@ -9,7 +11,9 @@ class PageModuleImportService {
9
11
  constructor(dependencies) {
10
12
  this.dependencies = {
11
13
  hashFile: dependencies?.hashFile ?? ((filePath) => fileSystem.hash(filePath)),
12
- buildModule: dependencies?.buildModule ?? ((options, buildExecutor) => build(options, buildExecutor))
14
+ buildModule: dependencies?.buildModule ?? ((options, buildExecutor) => build(options, buildExecutor)),
15
+ canLoadSourceModuleFromHost: dependencies?.canLoadSourceModuleFromHost ?? supportsSourceModuleLoading,
16
+ getHostModuleLoader: dependencies?.getHostModuleLoader ?? (() => void 0)
13
17
  };
14
18
  }
15
19
  /**
@@ -44,16 +48,33 @@ class PageModuleImportService {
44
48
  * @returns The loaded module.
45
49
  */
46
50
  async importModule(options) {
47
- const { filePath, rootDir, externalPackages, splitting } = options;
51
+ const { filePath } = options;
48
52
  const invalidationVersion = options.invalidationVersion ?? this.developmentInvalidationVersion;
53
+ const { externalPackages, splitting } = options;
49
54
  const fileHash = this.dependencies.hashFile(filePath);
50
- const runtime = typeof Bun !== "undefined" ? "bun" : "node";
55
+ const hostModuleLoader = typeof Bun === "undefined" && process.env.NODE_ENV === "development" && this.dependencies.canLoadSourceModuleFromHost(filePath) ? this.dependencies.getHostModuleLoader() : void 0;
56
+ if (hostModuleLoader) {
57
+ const sourceModuleUrl = createRuntimeModuleUrl(filePath, fileHash, invalidationVersion, options.cacheScope);
58
+ return await hostModuleLoader(sourceModuleUrl.href);
59
+ }
60
+ if (options.bypassCache) {
61
+ this.developmentInvalidationVersion += 1;
62
+ return await this.loadModule({
63
+ ...options,
64
+ invalidationVersion: this.developmentInvalidationVersion,
65
+ fileHash
66
+ });
67
+ }
68
+ const runtime = typeof Bun !== "undefined" ? "bun" : "node-build";
51
69
  const cacheKey = [
52
70
  runtime,
53
71
  filePath,
54
- rootDir,
72
+ options.rootDir,
55
73
  splitting ?? "default",
56
74
  externalPackages ?? "default",
75
+ options.cacheScope ?? "default",
76
+ createJsxCacheKey(options.jsx),
77
+ createPluginCacheKey(options.plugins),
57
78
  fileHash,
58
79
  invalidationVersion
59
80
  ].join("::");
@@ -74,38 +95,33 @@ class PageModuleImportService {
74
95
  }
75
96
  }
76
97
  async loadModule(options) {
98
+ const { filePath, invalidationVersion = this.developmentInvalidationVersion, cacheScope, fileHash } = options;
77
99
  const {
78
- filePath,
79
100
  rootDir,
80
101
  outdir,
81
- invalidationVersion = this.developmentInvalidationVersion,
82
102
  splitting,
83
103
  externalPackages,
84
104
  transpileErrorMessage = (details) => `Error transpiling page module: ${details}`,
85
- noOutputMessage = (targetFilePath) => `No transpiled output generated for page module: ${targetFilePath}`,
86
- fileHash
105
+ noOutputMessage = (targetFilePath) => `No transpiled output generated for page module: ${targetFilePath}`
87
106
  } = options;
88
- if (typeof Bun !== "undefined") {
89
- const moduleUrl = pathToFileURL(filePath);
90
- if (process.env.NODE_ENV === "development") {
91
- moduleUrl.searchParams.set("update", `${fileHash}-${invalidationVersion}`);
92
- }
93
- return await import(moduleUrl.href);
94
- }
95
107
  const fileBaseName = path.basename(filePath, path.extname(filePath));
96
- const outputFileName = `${fileBaseName}-${fileHash}.js`;
108
+ const cacheScopeSuffix = cacheScope ? `-${sanitizeCacheScope(cacheScope)}` : "";
109
+ const invalidationSuffix = shouldVersionBuildOutputPath(invalidationVersion) ? `-v${invalidationVersion}` : "";
110
+ const outputFileName = `${fileBaseName}-${fileHash}${cacheScopeSuffix}${invalidationSuffix}.mjs`;
111
+ const outputNamingTemplate = `${fileBaseName}-${fileHash}${cacheScopeSuffix}${invalidationSuffix}.[ext]`;
97
112
  const buildResult = await this.dependencies.buildModule(
98
113
  {
99
114
  entrypoints: [filePath],
100
115
  root: rootDir,
101
116
  outdir,
102
- target: "node",
117
+ target: "es2022",
103
118
  format: "esm",
104
119
  sourcemap: "none",
105
120
  splitting: splitting ?? true,
106
121
  minify: false,
107
- naming: outputFileName,
122
+ naming: outputNamingTemplate,
108
123
  externalPackages: true,
124
+ jsx: options.jsx,
109
125
  plugins: options.plugins,
110
126
  ...externalPackages !== void 0 ? { externalPackages } : {}
111
127
  },
@@ -116,16 +132,61 @@ class PageModuleImportService {
116
132
  throw new Error(transpileErrorMessage(details));
117
133
  }
118
134
  const preferredOutputPath = path.join(outdir, outputFileName);
119
- const compiledOutput = buildResult.outputs.find((output) => output.path === preferredOutputPath)?.path ?? buildResult.outputs.find((output) => output.path.endsWith(".js"))?.path;
135
+ const compiledOutput = buildResult.outputs.find((output) => output.path === preferredOutputPath)?.path ?? buildResult.outputs.find((output) => /\.(?:[cm]?js)$/u.test(output.path))?.path;
120
136
  if (!compiledOutput) {
121
137
  throw new Error(noOutputMessage(filePath));
122
138
  }
139
+ normalizeNodeRuntimeBuildOutputFile(compiledOutput, rootDir);
123
140
  const compiledOutputUrl = pathToFileURL(compiledOutput);
124
- if (process.env.NODE_ENV === "development") {
125
- compiledOutputUrl.searchParams.set("update", `${fileHash}-${invalidationVersion}`);
141
+ if (shouldAddRuntimeUpdateQuery(invalidationVersion, cacheScope)) {
142
+ compiledOutputUrl.searchParams.set(
143
+ "update",
144
+ [fileHash, invalidationVersion, cacheScope ? sanitizeCacheScope(cacheScope) : void 0].filter((value) => value !== void 0).join("-")
145
+ );
126
146
  }
127
- return await import(compiledOutputUrl.href);
147
+ return await import(
148
+ /* @vite-ignore */
149
+ compiledOutputUrl.href
150
+ );
151
+ }
152
+ }
153
+ function createRuntimeModuleUrl(filePath, fileHash, invalidationVersion, cacheScope) {
154
+ const moduleUrl = pathToFileURL(filePath);
155
+ if (shouldAddRuntimeUpdateQuery(invalidationVersion, cacheScope)) {
156
+ moduleUrl.searchParams.set(
157
+ "update",
158
+ [fileHash, invalidationVersion, cacheScope ? sanitizeCacheScope(cacheScope) : void 0].filter((value) => value !== void 0).join("-")
159
+ );
160
+ }
161
+ return moduleUrl;
162
+ }
163
+ function shouldAddRuntimeUpdateQuery(invalidationVersion, cacheScope) {
164
+ return process.env.NODE_ENV === "development" || invalidationVersion > 0 || !!cacheScope;
165
+ }
166
+ function shouldVersionBuildOutputPath(invalidationVersion) {
167
+ return typeof Bun !== "undefined" && invalidationVersion > 0;
168
+ }
169
+ function sanitizeCacheScope(cacheScope) {
170
+ return cacheScope.replace(/[^a-zA-Z0-9_-]+/g, "-");
171
+ }
172
+ function createJsxCacheKey(jsx) {
173
+ if (!jsx) {
174
+ return "jsx:default";
175
+ }
176
+ return JSON.stringify({
177
+ development: jsx.development ?? false,
178
+ factory: jsx.factory ?? null,
179
+ fragment: jsx.fragment ?? null,
180
+ importSource: jsx.importSource ?? null,
181
+ runtime: jsx.runtime ?? null,
182
+ sideEffects: jsx.sideEffects ?? null
183
+ });
184
+ }
185
+ function createPluginCacheKey(plugins) {
186
+ if (!plugins || plugins.length === 0) {
187
+ return "plugins:default";
128
188
  }
189
+ return `plugins:${plugins.map((plugin) => plugin.name).join(",")}`;
129
190
  }
130
191
  export {
131
192
  PageModuleImportService
@@ -1,18 +1,10 @@
1
1
  import type { BuildExecutor } from '../../build/build-adapter.js';
2
2
  import type { EcoBuildPlugin } from '../../build/build-types.js';
3
- import { type PageModuleImportOptions } from './page-module-import.service.js';
4
- export type ServerModuleTranspilerOptions = Omit<PageModuleImportOptions, 'rootDir' | 'buildExecutor'>;
5
- /**
6
- * Minimal import-service dependency required by the server module transpiler.
7
- *
8
- * @remarks
9
- * This keeps the transpiler boundary testable without module-level mocking and
10
- * lets callers provide an app-owned import implementation when needed.
11
- */
12
- export interface ServerModuleImportDependency {
13
- importModule<T = unknown>(options: PageModuleImportOptions): Promise<T>;
14
- invalidateDevelopmentGraph(): void;
15
- }
3
+ import type { AppModuleLoader } from './app-module-loader.service.js';
4
+ import { type PageModuleBuildImportOptions } from './page-module-import.service.js';
5
+ import type { SourceModuleLoaderFactory } from './module-loading-types.js';
6
+ export type ServerModuleTranspilerOptions = Omit<PageModuleBuildImportOptions, 'rootDir' | 'buildExecutor'>;
7
+ export type ServerModuleImportDependency = Pick<AppModuleLoader, 'importModule' | 'invalidateDevelopmentGraph'>;
16
8
  /**
17
9
  * Immutable execution context for one server-transpiler instance.
18
10
  *
@@ -23,7 +15,9 @@ export interface ServerModuleImportDependency {
23
15
  */
24
16
  export type ServerModuleTranspilerBootstrapArgs = {
25
17
  rootDir: string;
26
- getBuildExecutor: () => BuildExecutor | undefined;
18
+ getBuildExecutor?: () => BuildExecutor | undefined;
19
+ canLoadSourceModuleFromHost?: (filePath: string) => boolean;
20
+ getHostModuleLoader?: SourceModuleLoaderFactory;
27
21
  getInvalidationVersion?: () => number;
28
22
  invalidateModules?: (changedFiles?: string[]) => void;
29
23
  pageModuleImportService?: ServerModuleImportDependency;
@@ -11,9 +11,12 @@ class ServerModuleTranspiler {
11
11
  * context.
12
12
  */
13
13
  constructor(args) {
14
- this.pageModuleImportService = args.pageModuleImportService ?? new PageModuleImportService();
14
+ this.pageModuleImportService = args.pageModuleImportService ?? new PageModuleImportService({
15
+ canLoadSourceModuleFromHost: args.canLoadSourceModuleFromHost,
16
+ getHostModuleLoader: args.getHostModuleLoader
17
+ });
15
18
  this.getRootDir = () => args.rootDir;
16
- this.getBuildExecutor = args.getBuildExecutor;
19
+ this.getBuildExecutor = args.getBuildExecutor ?? (() => void 0);
17
20
  this.getInvalidationVersion = () => args.getInvalidationVersion?.();
18
21
  this.getDefaultPlugins = args.getDefaultPlugins ?? (() => []);
19
22
  this.invalidateModules = (changedFiles) => {
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Returns whether a source module can be loaded directly by the host runtime without
3
+ * first going through the transpile/import pipeline.
4
+ */
5
+ export declare function supportsSourceModuleLoading(filePath: string): boolean;
@@ -0,0 +1,8 @@
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";
5
+ }
6
+ export {
7
+ supportsSourceModuleLoading
8
+ };
@@ -1,4 +1,4 @@
1
- import type { EcoPagesAppConfig } from '../../internal-types.js';
1
+ import type { EcoPagesAppConfig } from '../../types/internal-types.js';
2
2
  import { type ServerInvalidationState } from './server-invalidation-state.service.js';
3
3
  import { type EntrypointDependencyGraph } from './entrypoint-dependency-graph.service.js';
4
4
  /**
@@ -32,7 +32,7 @@ export declare class NoopDevGraphService implements DevGraphService {
32
32
  /**
33
33
  * Invalidates all server-side module state by incrementing the shared version.
34
34
  */
35
- invalidateServerModules(_changedFiles?: string[]): void;
35
+ invalidateServerModules(changedFiles?: string[]): void;
36
36
  /**
37
37
  * Indicates that this graph cannot target invalidation to one entrypoint set.
38
38
  */
@@ -41,19 +41,19 @@ export declare class NoopDevGraphService implements DevGraphService {
41
41
  * Returns an empty entrypoint set because this implementation stores no
42
42
  * dependency graph metadata.
43
43
  */
44
- getDependencyEntrypoints(_filePath: string): Set<string>;
44
+ getDependencyEntrypoints(filePath: string): Set<string>;
45
45
  /**
46
46
  * Accepts dependency updates to preserve interface compatibility, but stores no
47
47
  * graph state in the noop implementation.
48
48
  */
49
- setEntrypointDependencies(_entrypointPath: string, _dependencies: string[]): void;
49
+ setEntrypointDependencies(entrypointPath: string, dependencies: string[]): void;
50
50
  /**
51
51
  * Clears one entrypoint from the graph.
52
52
  *
53
53
  * @remarks
54
54
  * There is no stored graph state in this implementation, so this is a no-op.
55
55
  */
56
- clearEntrypointDependencies(_entrypointPath: string): void;
56
+ clearEntrypointDependencies(entrypointPath: string): void;
57
57
  /**
58
58
  * Resets graph-owned state for a fresh runtime cycle.
59
59
  */
@@ -82,7 +82,7 @@ export declare class InMemoryDevGraphService implements DevGraphService {
82
82
  * modules. Selective dependency lookups are used by callers that need to limit
83
83
  * browser rebuild work.
84
84
  */
85
- invalidateServerModules(_changedFiles?: string[]): void;
85
+ invalidateServerModules(changedFiles?: string[]): void;
86
86
  /**
87
87
  * Indicates that this graph can answer dependency-to-entrypoint lookups.
88
88
  */
@@ -21,8 +21,8 @@ class NoopDevGraphService {
21
21
  /**
22
22
  * Invalidates all server-side module state by incrementing the shared version.
23
23
  */
24
- invalidateServerModules(_changedFiles) {
25
- this.invalidationState.invalidateServerModules(_changedFiles);
24
+ invalidateServerModules(changedFiles) {
25
+ this.invalidationState.invalidateServerModules(changedFiles);
26
26
  }
27
27
  /**
28
28
  * Indicates that this graph cannot target invalidation to one entrypoint set.
@@ -34,15 +34,15 @@ class NoopDevGraphService {
34
34
  * Returns an empty entrypoint set because this implementation stores no
35
35
  * dependency graph metadata.
36
36
  */
37
- getDependencyEntrypoints(_filePath) {
38
- return this.dependencyGraph.getDependencyEntrypoints(_filePath);
37
+ getDependencyEntrypoints(filePath) {
38
+ return this.dependencyGraph.getDependencyEntrypoints(filePath);
39
39
  }
40
40
  /**
41
41
  * Accepts dependency updates to preserve interface compatibility, but stores no
42
42
  * graph state in the noop implementation.
43
43
  */
44
- setEntrypointDependencies(_entrypointPath, _dependencies) {
45
- this.dependencyGraph.setEntrypointDependencies(_entrypointPath, _dependencies);
44
+ setEntrypointDependencies(entrypointPath, dependencies) {
45
+ this.dependencyGraph.setEntrypointDependencies(entrypointPath, dependencies);
46
46
  }
47
47
  /**
48
48
  * Clears one entrypoint from the graph.
@@ -50,8 +50,8 @@ class NoopDevGraphService {
50
50
  * @remarks
51
51
  * There is no stored graph state in this implementation, so this is a no-op.
52
52
  */
53
- clearEntrypointDependencies(_entrypointPath) {
54
- this.dependencyGraph.clearEntrypointDependencies(_entrypointPath);
53
+ clearEntrypointDependencies(entrypointPath) {
54
+ this.dependencyGraph.clearEntrypointDependencies(entrypointPath);
55
55
  }
56
56
  /**
57
57
  * Resets graph-owned state for a fresh runtime cycle.
@@ -78,8 +78,8 @@ class InMemoryDevGraphService {
78
78
  * modules. Selective dependency lookups are used by callers that need to limit
79
79
  * browser rebuild work.
80
80
  */
81
- invalidateServerModules(_changedFiles) {
82
- this.invalidationState.invalidateServerModules(_changedFiles);
81
+ invalidateServerModules(changedFiles) {
82
+ this.invalidationState.invalidateServerModules(changedFiles);
83
83
  }
84
84
  /**
85
85
  * Indicates that this graph can answer dependency-to-entrypoint lookups.
@@ -1,4 +1,4 @@
1
- import type { EcoPagesAppConfig } from '../../internal-types.js';
1
+ import type { EcoPagesAppConfig } from '../../types/internal-types.js';
2
2
  /**
3
3
  * App-owned dependency graph used to target browser entrypoint rebuilds.
4
4
  */
@@ -1,4 +1,4 @@
1
- import type { EcoPagesAppConfig } from '../../internal-types.js';
1
+ import type { EcoPagesAppConfig } from '../../types/internal-types.js';
2
2
  /**
3
3
  * App-owned coarse invalidation state for server-executed modules.
4
4
  */
@@ -1,7 +1,14 @@
1
- import type { EcoPagesAppConfig } from '../internal-types.js';
2
- import type { StaticRoute } from '../public-types.js';
3
- import type { RouteRendererFactory } from '../route-renderer/route-renderer.js';
4
- import type { FSRouter } from '../router/server/fs-router.js';
1
+ import type { EcoPagesAppConfig } from '../types/internal-types.js';
2
+ import type { StaticRoute } from '../types/public-types.js';
3
+ import type { PageRendererResolver, StaticGenerationRendererResolver } from '../route-renderer/route-renderer.js';
4
+ import type { StaticGenerationRoute } from '../router/server/route-registry.js';
5
+ type StaticGenerationRouteSource = {
6
+ listStaticGenerationRoutes(input: {
7
+ runtimeOrigin: string;
8
+ }): Promise<readonly StaticGenerationRoute[]>;
9
+ };
10
+ type StaticPageRouteRendererFactory = PageRendererResolver;
11
+ type StaticGenerationRendererFactory = StaticGenerationRendererResolver;
5
12
  export declare const STATIC_SITE_GENERATOR_ERRORS: {
6
13
  readonly ROUTE_RENDERER_FACTORY_REQUIRED: "RouteRendererFactory is required for render strategy";
7
14
  readonly unsupportedBodyType: (bodyType: string) => string;
@@ -20,17 +27,12 @@ export declare const STATIC_SITE_GENERATOR_ERRORS: {
20
27
  */
21
28
  export declare class StaticSiteGenerator {
22
29
  appConfig: EcoPagesAppConfig;
23
- private serverModuleTranspiler;
24
30
  /**
25
31
  * Creates the static-site generator for one app config.
26
32
  */
27
33
  constructor({ appConfig }: {
28
34
  appConfig: EcoPagesAppConfig;
29
35
  });
30
- /**
31
- * Returns the transpiler output directory used for static page-module probes.
32
- */
33
- private getStaticPageModuleOutdir;
34
36
  private getExportDir;
35
37
  /**
36
38
  * Logs the standardized warning emitted when a dynamic-cache page is skipped.
@@ -58,14 +60,9 @@ export declare class StaticSiteGenerator {
58
60
  * Collects parent directories that must exist for the generated route set.
59
61
  */
60
62
  getDirectories(routes: string[]): string[];
61
- /**
62
- * Extracts dynamic parameters from the actual path based on the template path.
63
- *
64
- * @param templatePath - The template path (e.g., "/blog/[slug]")
65
- * @param actualPath - The actual path (e.g., "/blog/my-post")
66
- * @returns A record of extracted parameters (e.g., { slug: "my-post" })
67
- */
68
- private extractParams;
63
+ private writeStaticOutput;
64
+ private getStaticBuildStrategy;
65
+ private createFilesystemStaticContents;
69
66
  /**
70
67
  * Generates static output for all filesystem-discovered routes.
71
68
  *
@@ -74,14 +71,15 @@ export declare class StaticSiteGenerator {
74
71
  * issuing a request against the running server origin. Render-strategy routes
75
72
  * go through the normal route renderer directly.
76
73
  */
77
- generateStaticPages(router: FSRouter, baseUrl: string, routeRendererFactory?: RouteRendererFactory): Promise<void>;
74
+ generateStaticPages(router: StaticGenerationRouteSource, baseUrl: string, routeRendererFactory?: StaticPageRouteRendererFactory): Promise<void>;
75
+ private resolveStaticFetchUrl;
78
76
  /**
79
77
  * Executes the full static-generation workflow for one app run.
80
78
  */
81
79
  run({ router, baseUrl, routeRendererFactory, staticRoutes, }: {
82
- router: FSRouter;
80
+ router: StaticGenerationRouteSource;
83
81
  baseUrl: string;
84
- routeRendererFactory?: RouteRendererFactory;
82
+ routeRendererFactory?: StaticGenerationRendererFactory;
85
83
  staticRoutes?: StaticRoute[];
86
84
  }): Promise<void>;
87
85
  /**
@@ -89,14 +87,10 @@ export declare class StaticSiteGenerator {
89
87
  * These routes use eco.page views via loader functions for HMR support.
90
88
  */
91
89
  private generateExplicitStaticPages;
92
- /**
93
- * Generate a single static page for a non-dynamic route.
94
- */
95
- private generateSingleStaticRoute;
96
- /**
97
- * Generate static pages for a dynamic route using staticPaths.
98
- */
99
- private generateDynamicStaticRoute;
90
+ private generateExplicitStaticRoute;
91
+ private planExplicitStaticRoute;
92
+ private createExplicitStaticContents;
93
+ private listExplicitStaticRouteEntries;
100
94
  /**
101
95
  * Resolve a route path template with actual params.
102
96
  * Supports both :param and [param] syntax.
@@ -107,3 +101,4 @@ export declare class StaticSiteGenerator {
107
101
  */
108
102
  private getOutputPath;
109
103
  }
104
+ export {};