@ecopages/core 0.2.0-alpha.9 → 0.2.0-beta.1

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 (473) hide show
  1. package/README.md +79 -28
  2. package/package.json +104 -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 +32 -8
  67. package/src/adapters/shared/server-static-builder.js +69 -6
  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-entry-file.d.ts +72 -0
  279. package/src/utils/resolve-entry-file.js +41 -0
  280. package/src/utils/resolve-work-dir.js +1 -1
  281. package/src/watchers/project-watcher.d.ts +4 -4
  282. package/src/watchers/project-watcher.js +35 -41
  283. package/src/watchers/project-watcher.test-helpers.d.ts +2 -2
  284. package/src/watchers/project-watcher.test-helpers.js +5 -5
  285. package/CHANGELOG.md +0 -31
  286. package/src/adapters/abstract/application-adapter.ts +0 -337
  287. package/src/adapters/abstract/router-adapter.ts +0 -30
  288. package/src/adapters/abstract/server-adapter.ts +0 -79
  289. package/src/adapters/bun/client-bridge.ts +0 -62
  290. package/src/adapters/bun/create-app.ts +0 -189
  291. package/src/adapters/bun/hmr-manager.ts +0 -409
  292. package/src/adapters/bun/index.ts +0 -2
  293. package/src/adapters/bun/server-adapter.ts +0 -499
  294. package/src/adapters/bun/server-lifecycle.d.ts +0 -63
  295. package/src/adapters/bun/server-lifecycle.js +0 -92
  296. package/src/adapters/bun/server-lifecycle.ts +0 -124
  297. package/src/adapters/index.ts +0 -6
  298. package/src/adapters/node/bootstrap-dependency-resolver.d.ts +0 -44
  299. package/src/adapters/node/bootstrap-dependency-resolver.js +0 -172
  300. package/src/adapters/node/bootstrap-dependency-resolver.ts +0 -301
  301. package/src/adapters/node/create-app.ts +0 -179
  302. package/src/adapters/node/index.d.ts +0 -6
  303. package/src/adapters/node/index.js +0 -11
  304. package/src/adapters/node/index.ts +0 -16
  305. package/src/adapters/node/node-client-bridge.ts +0 -79
  306. package/src/adapters/node/node-hmr-manager.ts +0 -381
  307. package/src/adapters/node/runtime-adapter.d.ts +0 -46
  308. package/src/adapters/node/runtime-adapter.js +0 -306
  309. package/src/adapters/node/runtime-adapter.ts +0 -439
  310. package/src/adapters/node/server-adapter.ts +0 -488
  311. package/src/adapters/node/static-content-server.ts +0 -239
  312. package/src/adapters/node/write-runtime-manifest.d.ts +0 -26
  313. package/src/adapters/node/write-runtime-manifest.js +0 -12
  314. package/src/adapters/node/write-runtime-manifest.ts +0 -38
  315. package/src/adapters/shared/api-response.ts +0 -104
  316. package/src/adapters/shared/application-adapter.ts +0 -199
  317. package/src/adapters/shared/define-api-handler.ts +0 -66
  318. package/src/adapters/shared/explicit-static-route-matcher.ts +0 -140
  319. package/src/adapters/shared/file-route-middleware-pipeline.ts +0 -127
  320. package/src/adapters/shared/fs-server-response-factory.ts +0 -118
  321. package/src/adapters/shared/fs-server-response-matcher.ts +0 -205
  322. package/src/adapters/shared/hmr-entrypoint-registrar.ts +0 -149
  323. package/src/adapters/shared/hmr-html-response.ts +0 -52
  324. package/src/adapters/shared/render-context.ts +0 -120
  325. package/src/adapters/shared/runtime-bootstrap.d.ts +0 -38
  326. package/src/adapters/shared/runtime-bootstrap.js +0 -43
  327. package/src/adapters/shared/runtime-bootstrap.ts +0 -79
  328. package/src/adapters/shared/server-adapter.ts +0 -489
  329. package/src/adapters/shared/server-route-handler.ts +0 -153
  330. package/src/adapters/shared/server-static-builder.ts +0 -166
  331. package/src/build/build-adapter.ts +0 -361
  332. package/src/build/build-manifest.ts +0 -54
  333. package/src/build/build-types.ts +0 -83
  334. package/src/build/dev-build-coordinator.d.ts +0 -74
  335. package/src/build/dev-build-coordinator.js +0 -161
  336. package/src/build/dev-build-coordinator.ts +0 -221
  337. package/src/build/esbuild-build-adapter.d.ts +0 -72
  338. package/src/build/esbuild-build-adapter.js +0 -422
  339. package/src/build/esbuild-build-adapter.ts +0 -559
  340. package/src/build/runtime-build-executor.ts +0 -34
  341. package/src/build/runtime-specifier-alias-plugin.d.ts +0 -15
  342. package/src/build/runtime-specifier-alias-plugin.js +0 -31
  343. package/src/build/runtime-specifier-alias-plugin.ts +0 -58
  344. package/src/config/config-builder.ts +0 -706
  345. package/src/constants.ts +0 -54
  346. package/src/create-app.ts +0 -87
  347. package/src/dev/sc-server.ts +0 -143
  348. package/src/eco/component-render-context.d.ts +0 -105
  349. package/src/eco/component-render-context.js +0 -87
  350. package/src/eco/component-render-context.ts +0 -224
  351. package/src/eco/eco.ts +0 -242
  352. package/src/eco/eco.types.ts +0 -221
  353. package/src/eco/eco.utils.ts +0 -89
  354. package/src/eco/global-injector-map.ts +0 -112
  355. package/src/eco/lazy-injector-map.ts +0 -120
  356. package/src/eco/module-dependencies.ts +0 -75
  357. package/src/errors/http-error.ts +0 -72
  358. package/src/errors/index.ts +0 -2
  359. package/src/errors/locals-access-error.ts +0 -7
  360. package/src/global/app-logger.ts +0 -4
  361. package/src/hmr/client/hmr-runtime.ts +0 -152
  362. package/src/hmr/hmr-strategy.ts +0 -172
  363. package/src/hmr/hmr.postcss.test.e2e.ts +0 -41
  364. package/src/hmr/hmr.test.e2e.ts +0 -66
  365. package/src/hmr/strategies/default-hmr-strategy.ts +0 -60
  366. package/src/hmr/strategies/js-hmr-strategy.ts +0 -320
  367. package/src/index.browser.ts +0 -3
  368. package/src/index.ts +0 -5
  369. package/src/integrations/ghtml/ghtml-renderer.ts +0 -96
  370. package/src/integrations/ghtml/ghtml.plugin.ts +0 -32
  371. package/src/internal-types.ts +0 -232
  372. package/src/plugins/alias-resolver-plugin.ts +0 -63
  373. package/src/plugins/eco-component-meta-plugin.ts +0 -481
  374. package/src/plugins/integration-plugin.ts +0 -226
  375. package/src/plugins/processor.ts +0 -240
  376. package/src/plugins/runtime-capability.ts +0 -14
  377. package/src/public-types.ts +0 -1317
  378. package/src/route-renderer/component-graph/component-graph-executor.d.ts +0 -32
  379. package/src/route-renderer/component-graph/component-graph-executor.js +0 -31
  380. package/src/route-renderer/component-graph/component-graph-executor.ts +0 -84
  381. package/src/route-renderer/component-graph/component-graph.d.ts +0 -42
  382. package/src/route-renderer/component-graph/component-graph.js +0 -72
  383. package/src/route-renderer/component-graph/component-graph.ts +0 -159
  384. package/src/route-renderer/component-graph/component-marker.d.ts +0 -52
  385. package/src/route-renderer/component-graph/component-marker.js +0 -46
  386. package/src/route-renderer/component-graph/component-marker.ts +0 -117
  387. package/src/route-renderer/component-graph/component-reference.d.ts +0 -10
  388. package/src/route-renderer/component-graph/component-reference.js +0 -19
  389. package/src/route-renderer/component-graph/component-reference.ts +0 -29
  390. package/src/route-renderer/component-graph/marker-graph-resolver.d.ts +0 -77
  391. package/src/route-renderer/component-graph/marker-graph-resolver.js +0 -95
  392. package/src/route-renderer/component-graph/marker-graph-resolver.ts +0 -155
  393. package/src/route-renderer/orchestration/integration-renderer.ts +0 -790
  394. package/src/route-renderer/orchestration/render-execution.service.d.ts +0 -103
  395. package/src/route-renderer/orchestration/render-execution.service.js +0 -121
  396. package/src/route-renderer/orchestration/render-execution.service.ts +0 -230
  397. package/src/route-renderer/orchestration/render-preparation.service.d.ts +0 -121
  398. package/src/route-renderer/orchestration/render-preparation.service.js +0 -332
  399. package/src/route-renderer/orchestration/render-preparation.service.ts +0 -476
  400. package/src/route-renderer/page-loading/dependency-resolver.ts +0 -612
  401. package/src/route-renderer/page-loading/page-module-loader.ts +0 -181
  402. package/src/route-renderer/route-renderer.ts +0 -115
  403. package/src/router/client/link-intent.test.browser.ts +0 -51
  404. package/src/router/client/link-intent.ts +0 -92
  405. package/src/router/client/navigation-coordinator.ts +0 -433
  406. package/src/router/server/fs-router-scanner.d.ts +0 -41
  407. package/src/router/server/fs-router-scanner.js +0 -156
  408. package/src/router/server/fs-router-scanner.ts +0 -219
  409. package/src/router/server/fs-router.d.ts +0 -26
  410. package/src/router/server/fs-router.js +0 -100
  411. package/src/router/server/fs-router.ts +0 -122
  412. package/src/services/assets/asset-processing-service/asset-processing.service.ts +0 -401
  413. package/src/services/assets/asset-processing-service/asset.factory.ts +0 -105
  414. package/src/services/assets/asset-processing-service/assets.types.ts +0 -113
  415. package/src/services/assets/asset-processing-service/browser-runtime-asset.factory.ts +0 -95
  416. package/src/services/assets/asset-processing-service/browser-runtime-entry.factory.ts +0 -78
  417. package/src/services/assets/asset-processing-service/index.ts +0 -5
  418. package/src/services/assets/asset-processing-service/processor.interface.ts +0 -27
  419. package/src/services/assets/asset-processing-service/processor.registry.ts +0 -18
  420. package/src/services/assets/asset-processing-service/processors/base/base-processor.ts +0 -82
  421. package/src/services/assets/asset-processing-service/processors/base/base-script-processor.ts +0 -95
  422. package/src/services/assets/asset-processing-service/processors/index.ts +0 -5
  423. package/src/services/assets/asset-processing-service/processors/script/content-script.processor.ts +0 -66
  424. package/src/services/assets/asset-processing-service/processors/script/file-script.processor.ts +0 -88
  425. package/src/services/assets/asset-processing-service/processors/script/node-module-script.processor.ts +0 -85
  426. package/src/services/assets/asset-processing-service/processors/stylesheet/content-stylesheet.processor.ts +0 -27
  427. package/src/services/assets/asset-processing-service/processors/stylesheet/file-stylesheet.processor.ts +0 -80
  428. package/src/services/assets/browser-bundle.service.ts +0 -53
  429. package/src/services/cache/cache.types.ts +0 -126
  430. package/src/services/cache/index.ts +0 -18
  431. package/src/services/cache/memory-cache-store.ts +0 -130
  432. package/src/services/cache/page-cache-service.ts +0 -202
  433. package/src/services/cache/page-request-cache-coordinator.service.ts +0 -131
  434. package/src/services/html/html-rewriter-provider.service.ts +0 -103
  435. package/src/services/html/html-transformer.service.ts +0 -279
  436. package/src/services/invalidation/development-invalidation.service.ts +0 -261
  437. package/src/services/module-loading/app-server-module-transpiler.service.ts +0 -52
  438. package/src/services/module-loading/page-module-import.service.ts +0 -200
  439. package/src/services/module-loading/server-loader.service.d.ts +0 -96
  440. package/src/services/module-loading/server-loader.service.js +0 -32
  441. package/src/services/module-loading/server-loader.service.ts +0 -130
  442. package/src/services/module-loading/server-module-transpiler.service.ts +0 -105
  443. package/src/services/runtime-manifest/node-runtime-manifest.service.d.ts +0 -35
  444. package/src/services/runtime-manifest/node-runtime-manifest.service.js +0 -60
  445. package/src/services/runtime-manifest/node-runtime-manifest.service.ts +0 -101
  446. package/src/services/runtime-state/dev-graph.service.ts +0 -217
  447. package/src/services/runtime-state/entrypoint-dependency-graph.service.ts +0 -136
  448. package/src/services/runtime-state/runtime-specifier-registry.service.d.ts +0 -69
  449. package/src/services/runtime-state/runtime-specifier-registry.service.js +0 -37
  450. package/src/services/runtime-state/runtime-specifier-registry.service.ts +0 -96
  451. package/src/services/runtime-state/server-invalidation-state.service.ts +0 -68
  452. package/src/services/validation/schema-validation-service.ts +0 -204
  453. package/src/services/validation/standard-schema.types.ts +0 -68
  454. package/src/static-site-generator/static-site-generator.ts +0 -462
  455. package/src/utils/css.d.ts +0 -1
  456. package/src/utils/css.js +0 -7
  457. package/src/utils/css.ts +0 -5
  458. package/src/utils/deep-merge.ts +0 -47
  459. package/src/utils/hash.ts +0 -5
  460. package/src/utils/html.ts +0 -1
  461. package/src/utils/invariant.ts +0 -15
  462. package/src/utils/locals-utils.ts +0 -37
  463. package/src/utils/parse-cli-args.ts +0 -83
  464. package/src/utils/path-utils.module.ts +0 -14
  465. package/src/utils/resolve-work-dir.ts +0 -45
  466. package/src/utils/runtime.ts +0 -44
  467. package/src/utils/server-utils.module.ts +0 -67
  468. package/src/watchers/project-watcher.test-helpers.ts +0 -41
  469. package/src/watchers/project-watcher.ts +0 -363
  470. /package/src/{internal-types.js → adapters/shared/runtime-host.js} +0 -0
  471. /package/src/{public-types.js → adapters/shared/static-preview-host.js} +0 -0
  472. /package/src/{constants.d.ts → config/constants.d.ts} +0 -0
  473. /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 {};