@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
package/README.md CHANGED
@@ -4,10 +4,10 @@ The foundational engine for the Ecopages framework. It provides the core build p
4
4
 
5
5
  ## Overview
6
6
 
7
- Ecopages is an extensible static site generator (SSG) built for universal execution across Bun and Node.js. It embraces a strictly MPA (Multi-Page Application) architecture by default, rendering HTML at build-time or request-time, and hydrating interactive islands only where necessary.
7
+ Ecopages is an extensible static site generator (SSG) built around a Bun-first core with Node fallback support and Vite-hosted compatibility for advanced dev and build orchestration. It embraces a strictly MPA (Multi-Page Application) architecture by default, rendering HTML at build-time or request-time, and hydrating interactive islands only where necessary.
8
8
 
9
- - **Universal Support**: First-class, optimized execution on both **Bun** and **Node.js** runtimes, powered by a unified `createApp` factory.
10
- - **Fast by default**: Uses native ESM, optimized file watching, and esbuild for high-performance bundling and server-side rendering.
9
+ - **Runtime Boundary**: `createApp()` prefers Bun when available and falls back to Node otherwise. Vite and Nitro still own host-side dev and build orchestration.
10
+ - **Build Ownership**: Bun-native execution keeps a core-owned build path. Vite and Nitro own host-side transforms, module graph behavior, and deployment-oriented builds.
11
11
  - **Framework agnostic**: First-class support for KitaJS, Lit, React, and MDX via official integration plugins.
12
12
  - **Extensible**: Hook into the build process with custom processors or rendering integrations.
13
13
 
@@ -31,18 +31,14 @@ flowchart TD
31
31
  B --> D[App build manifest]
32
32
  B --> E[Build executor]
33
33
  B --> F[Dev graph service]
34
- B --> G[Runtime specifier registry]
35
- B --> H[Node runtime manifest]
36
- H --> I[CLI launch plan]
37
- I --> J[Node thin host]
38
- J --> K[Node runtime adapter]
39
- K --> L[TranspilerServerLoader]
40
- L --> M[ServerModuleTranspiler]
41
- M --> N[PageModuleImportService]
42
- K --> O[Loaded app runtime]
43
- D --> P[BrowserBundleService]
44
- E --> M
45
- E --> P
34
+ B --> G[Host module loader boundary]
35
+ G --> H[PageModuleImportService]
36
+ E --> H
37
+ E --> I
38
+ E --> I[BrowserBundleService]
39
+ H --> J[Runtime app adapter]
40
+ J --> K[Bun adapter or Node adapter]
41
+ D --> I
46
42
  ```
47
43
 
48
44
  ### Development Invalidation And HMR Flow
@@ -71,10 +67,11 @@ The manager/orchestration layer is core-owned, but framework-specific strategies
71
67
 
72
68
  ### Practical Summary
73
69
 
74
- - `ConfigBuilder` now seeds one app-owned build adapter, manifest, executor, dev graph, and runtime registry.
70
+ - `ConfigBuilder` seeds one app-owned build ownership path, adapter, manifest, executor, dev graph, and runtime registry.
75
71
  - `BrowserBundleService` is the shared browser build seam used by HMR and asset-oriented browser output paths.
76
72
  - `ServerModuleTranspiler` is the shared server-side source loading seam used by runtime bootstrap and HMR metadata loading.
77
- - the Node thin-host path exists to keep startup framework-owned without putting source parsing or tsconfig ownership into the host itself.
73
+ - `createApp()` stays the universal runtime entrypoint, while Vite and Nitro hosts own their advanced dev and build workflows.
74
+ - One bundled adapter is the default bundler. Vite-based apps route through the `ViteHostBuildAdapter` boundary marker instead.
78
75
 
79
76
  ## Documentation Map
80
77
 
@@ -102,7 +99,7 @@ The intended reading order is:
102
99
  ## Installation
103
100
 
104
101
  ```bash
105
- bunx jsr add @ecopages/core
102
+ bun add @ecopages/core
106
103
  ```
107
104
 
108
105
  _(You can also use `npm`, `yarn`, or `pnpm`)_
@@ -134,13 +131,13 @@ export default config;
134
131
 
135
132
  ### 2. Application Entry (`app.ts`)
136
133
 
137
- Start the application using the universal `createApp` factory. It automatically detects your runtime and applies the correct adapter.
134
+ Start the application using `createApp`. It will choose the Bun adapter when Bun is available and fall back to Node otherwise.
138
135
 
139
136
  ```typescript
140
- import { createApp } from '@ecopages/core';
137
+ import { createApp } from '@ecopages/core/create-app';
141
138
  import appConfig from './eco.config';
142
139
 
143
- const app = createApp({ appConfig });
140
+ const app = await createApp({ appConfig });
144
141
 
145
142
  await app.start();
146
143
  ```
@@ -181,6 +178,12 @@ export const MyButton = eco.component({
181
178
  });
182
179
  ```
183
180
 
181
+ Dependency ownership affects final asset packaging:
182
+
183
+ - Stylesheets and scripts declared from `eco.html()` stay Html-owned and can be emitted as shared app-wide assets.
184
+ - Stylesheets and scripts declared from Pages, Layouts, or Components are resolved into page-owned assets for the rendered route.
185
+ - This split is intentional. Shared Html assets can be cached across routes, while page-owned assets can change without invalidating the global shell.
186
+
184
187
  ### 5. API Handlers
185
188
 
186
189
  Add server-side routes using `defineApiHandler`. Register them on your `app` instance before starting:
@@ -201,11 +204,11 @@ Attach the handler in your `app.ts` entry:
201
204
 
202
205
  ```typescript
203
206
  // app.ts
204
- import { createApp } from '@ecopages/core';
207
+ import { createApp } from '@ecopages/core/create-app';
205
208
  import { helloWorld } from './handlers/hello';
206
209
  import appConfig from './eco.config';
207
210
 
208
- const app = createApp({ appConfig });
211
+ const app = await createApp({ appConfig });
209
212
 
210
213
  app.get(helloWorld); // Register the API handler
211
214
 
@@ -216,18 +219,66 @@ See the [official documentation](https://ecopages.app) for advanced usage, API h
216
219
 
217
220
  ## Import Structure
218
221
 
219
- Use the root package exports for standard authoring. The framework automatically detects your runtime and uses the optimal internal adapter:
222
+ Use the `create-app` subpath for runtime startup and the root package for standard authoring helpers:
220
223
 
221
224
  ```ts
222
- import { createApp, defineApiHandler, defineGroupHandler, eco } from '@ecopages/core';
225
+ import { createApp } from '@ecopages/core/create-app';
226
+ import { defineApiHandler, defineGroupHandler, eco } from '@ecopages/core';
223
227
  ```
224
228
 
225
229
  > [!NOTE]
226
- > `createApp` is now the recommended universal entrypoint over `EcopagesApp`.
230
+ > `createApp` is the recommended entrypoint over `EcopagesApp`.
227
231
 
228
232
  ### Runtime Escape Hatches
229
233
 
230
- Use runtime-specific subpaths only when you explicitly need Bun-native or Node-native APIs that bypass the universal abstractions:
234
+ Use runtime-specific subpaths only when you explicitly need Bun-native APIs that bypass the universal abstractions:
231
235
 
232
236
  - `@ecopages/core/bun`
233
- - `@ecopages/core/node`
237
+
238
+ ## Entry Point Roles
239
+
240
+ The published subpaths are grouped by architectural role rather than by source folder.
241
+
242
+ ### App Authoring
243
+
244
+ Use these entrypoints when building an Ecopages app:
245
+
246
+ - `@ecopages/core`
247
+ - `@ecopages/core/create-app`
248
+ - `@ecopages/core/config-builder`
249
+ - `@ecopages/core/errors`
250
+ - `@ecopages/core/html`
251
+ - `@ecopages/core/hash`
252
+ - `@ecopages/core/declarations`
253
+ - `@ecopages/core/env`
254
+ - `@ecopages/core/bun`
255
+
256
+ ### Browser Navigation
257
+
258
+ Use these entrypoints when a browser runtime needs to coordinate document ownership and link intent:
259
+
260
+ - `@ecopages/core/router/navigation-coordinator`
261
+ - `@ecopages/core/router/link-intent`
262
+
263
+ ### Extension Authoring
264
+
265
+ Use these entrypoints when implementing integrations, processors, or source transforms:
266
+
267
+ - `@ecopages/core/plugins/integration-plugin`
268
+ - `@ecopages/core/plugins/processor`
269
+ - `@ecopages/core/plugins/source-transform`
270
+ - `@ecopages/core/route-renderer/integration-renderer`
271
+ - `@ecopages/core/services/asset-processing-service`
272
+ - `@ecopages/core/hmr/hmr-strategy`
273
+ - `@ecopages/core/integrations/ghtml`
274
+
275
+ ### Host And Runtime Composition
276
+
277
+ Use these entrypoints only when implementing host adapters or framework-owned bundling seams:
278
+
279
+ - `@ecopages/core/dev/host-runtime`
280
+ - `@ecopages/core/build/build-adapter`
281
+ - `@ecopages/core/build/build-types`
282
+ - `@ecopages/core/plugins/foreign-jsx-override-plugin`
283
+
284
+ These host-facing entrypoints are narrower compatibility seams. App code and most extensions should prefer the app-authoring or extension-authoring surfaces.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ecopages/core",
3
- "version": "0.2.0-alpha.9",
3
+ "version": "0.2.0-beta.1",
4
4
  "description": "Core package for Ecopages",
5
5
  "keywords": [
6
6
  "ecopages",
@@ -17,15 +17,17 @@
17
17
  "directory": "packages/core"
18
18
  },
19
19
  "dependencies": {
20
- "@ecopages/file-system": "0.2.0-alpha.9",
21
- "@ecopages/logger": "latest",
22
- "@ecopages/scripts-injector": "^0.1.3",
20
+ "@ecopages/file-system": "0.2.0-beta.1",
21
+ "@ecopages/logger": "^0.2.3",
22
+ "@ecopages/scripts-injector": "^0.1.5",
23
+ "@oxc-project/runtime": "0.134.0",
23
24
  "@worker-tools/html-rewriter": "0.1.0-pre.19",
24
- "chokidar": "^4.0.3",
25
- "esbuild": "^0.27.3",
25
+ "chokidar": "^5.0.0",
26
+ "esbuild": "^0.28.0",
26
27
  "ghtml": "^4.0.2",
27
- "oxc-parser": "^0.110.0",
28
- "ws": "^8.18.0"
28
+ "oxc-parser": "^0.124.0",
29
+ "rolldown": "^1.1.0",
30
+ "ws": "^8.20.1"
29
31
  },
30
32
  "exports": {
31
33
  ".": {
@@ -35,13 +37,19 @@
35
37
  "default": "./src/index.js"
36
38
  },
37
39
  "./create-app": {
38
- "types": "./src/create-app.d.ts",
39
- "default": "./src/create-app.js"
40
+ "import": "./src/adapters/create-app.js",
41
+ "types": "./src/adapters/create-app.d.ts",
42
+ "default": "./src/adapters/create-app.js"
40
43
  },
41
44
  "./route-renderer/integration-renderer": {
42
45
  "types": "./src/route-renderer/orchestration/integration-renderer.d.ts",
43
46
  "default": "./src/route-renderer/orchestration/integration-renderer.js"
44
47
  },
48
+ "./route-renderer/component-render-context": {
49
+ "import": "./src/route-renderer/orchestration/component-render-context.js",
50
+ "types": "./src/route-renderer/orchestration/component-render-context.d.ts",
51
+ "default": "./src/route-renderer/orchestration/component-render-context.js"
52
+ },
45
53
  "./router/navigation-coordinator": {
46
54
  "types": "./src/router/client/navigation-coordinator.d.ts",
47
55
  "default": "./src/router/client/navigation-coordinator.js"
@@ -50,15 +58,8 @@
50
58
  "types": "./src/router/client/link-intent.d.ts",
51
59
  "default": "./src/router/client/link-intent.js"
52
60
  },
53
- "./router/client/navigation-coordinator": {
54
- "types": "./src/router/client/navigation-coordinator.d.ts",
55
- "default": "./src/router/client/navigation-coordinator.js"
56
- },
57
- "./errors/locals-access-error": {
58
- "types": "./src/errors/locals-access-error.d.ts",
59
- "default": "./src/errors/locals-access-error.js"
60
- },
61
61
  "./eco": {
62
+ "browser": "./src/eco/eco.browser.js",
62
63
  "types": "./src/eco/eco.d.ts",
63
64
  "default": "./src/eco/eco.js"
64
65
  },
@@ -73,40 +74,29 @@
73
74
  "default": "./src/config/config-builder.js"
74
75
  },
75
76
  "./constants": {
76
- "types": "./src/constants.d.ts",
77
- "default": "./src/constants.js"
77
+ "types": "./src/config/constants.d.ts",
78
+ "default": "./src/config/constants.js"
78
79
  },
79
80
  "./bun": {
80
81
  "types": "./src/adapters/bun/index.d.ts",
81
82
  "default": "./src/adapters/bun/index.js"
82
83
  },
83
- "./bun/create-app": {
84
- "types": "./src/adapters/bun/create-app.d.ts",
85
- "default": "./src/adapters/bun/create-app.js"
86
- },
87
84
  "./hmr/hmr-strategy": {
88
85
  "types": "./src/hmr/hmr-strategy.d.ts",
89
86
  "default": "./src/hmr/hmr-strategy.js"
90
87
  },
91
- "./internal-types": {
92
- "types": "./src/internal-types.d.ts"
88
+ "./hmr/client/hmr-runtime": {
89
+ "types": "./src/hmr/client/hmr-runtime.d.ts",
90
+ "default": "./src/hmr/client/hmr-runtime.js"
91
+ },
92
+ "./dev/host-runtime": {
93
+ "types": "./src/dev/host-runtime.d.ts",
94
+ "default": "./src/dev/host-runtime.js"
93
95
  },
94
96
  "./services/asset-processing-service": {
95
97
  "types": "./src/services/assets/asset-processing-service/index.d.ts",
96
98
  "default": "./src/services/assets/asset-processing-service/index.js"
97
99
  },
98
- "./utils/deep-merge": {
99
- "types": "./src/utils/deep-merge.d.ts",
100
- "default": "./src/utils/deep-merge.js"
101
- },
102
- "./utils/invariant": {
103
- "types": "./src/utils/invariant.d.ts",
104
- "default": "./src/utils/invariant.js"
105
- },
106
- "./utils/parse-cli-args": {
107
- "types": "./src/utils/parse-cli-args.d.ts",
108
- "default": "./src/utils/parse-cli-args.js"
109
- },
110
100
  "./plugins/processor": {
111
101
  "types": "./src/plugins/processor.d.ts",
112
102
  "default": "./src/plugins/processor.js"
@@ -115,6 +105,10 @@
115
105
  "types": "./src/plugins/integration-plugin.d.ts",
116
106
  "default": "./src/plugins/integration-plugin.js"
117
107
  },
108
+ "./plugins/source-transform": {
109
+ "types": "./src/plugins/source-transform.d.ts",
110
+ "default": "./src/plugins/source-transform.js"
111
+ },
118
112
  "./build/build-types": {
119
113
  "types": "./src/build/build-types.d.ts",
120
114
  "default": "./src/build/build-types.js"
@@ -123,45 +117,46 @@
123
117
  "types": "./src/build/build-adapter.d.ts",
124
118
  "default": "./src/build/build-adapter.js"
125
119
  },
126
- "./build/runtime-specifier-alias-plugin": {
127
- "types": "./src/build/runtime-specifier-alias-plugin.d.ts",
128
- "default": "./src/build/runtime-specifier-alias-plugin.js"
129
- },
130
- "./adapters/bun/client-bridge": {
131
- "types": "./src/adapters/bun/client-bridge.d.ts",
132
- "default": "./src/adapters/bun/client-bridge.js"
120
+ "./build/runtime-build-output-normalizer": {
121
+ "types": "./src/build/runtime-build-output-normalizer.d.ts",
122
+ "default": "./src/build/runtime-build-output-normalizer.js"
133
123
  },
134
- "./node": {
135
- "types": "./src/adapters/node/index.d.ts",
136
- "default": "./src/adapters/node/index.js"
124
+ "./build/browser-runtime-manifest": {
125
+ "types": "./src/build/browser-runtime-manifest.d.ts",
126
+ "default": "./src/build/browser-runtime-manifest.js"
137
127
  },
138
- "./node/server-adapter": {
139
- "types": "./src/adapters/node/server-adapter.d.ts",
140
- "default": "./src/adapters/node/server-adapter.js"
128
+ "./build/browser-runtime-plugin": {
129
+ "types": "./src/build/browser-runtime-plugin.d.ts",
130
+ "default": "./src/build/browser-runtime-plugin.js"
141
131
  },
142
- "./node/create-app": {
143
- "types": "./src/adapters/node/create-app.d.ts",
144
- "default": "./src/adapters/node/create-app.js"
132
+ "./cache": {
133
+ "types": "./src/cache/index.d.ts",
134
+ "default": "./src/cache/index.js"
145
135
  },
146
- "./node/runtime-adapter": {
147
- "types": "./src/adapters/node/runtime-adapter.d.ts",
148
- "default": "./src/adapters/node/runtime-adapter.js"
136
+ "./plugins/foreign-jsx-override-plugin": {
137
+ "types": "./src/plugins/foreign-jsx-override-plugin.d.ts",
138
+ "default": "./src/plugins/foreign-jsx-override-plugin.js"
149
139
  },
150
140
  "./html": {
151
141
  "import": "./src/utils/html.js",
152
142
  "default": "./src/utils/html.js",
153
143
  "types": "./src/utils/html.d.ts"
154
144
  },
155
- "./css": {
156
- "import": "./src/utils/css.js",
157
- "default": "./src/utils/css.js",
158
- "types": "./src/utils/css.d.ts"
159
- },
160
145
  "./hash": {
161
146
  "import": "./src/utils/hash.js",
162
147
  "default": "./src/utils/hash.js",
163
148
  "types": "./src/utils/hash.d.ts"
164
149
  },
150
+ "./utils/hash": {
151
+ "import": "./src/utils/hash.js",
152
+ "default": "./src/utils/hash.js",
153
+ "types": "./src/utils/hash.d.ts"
154
+ },
155
+ "./utils/resolve-entry-file": {
156
+ "import": "./src/utils/resolve-entry-file.js",
157
+ "types": "./src/utils/resolve-entry-file.d.ts",
158
+ "default": "./src/utils/resolve-entry-file.js"
159
+ },
165
160
  "./errors": {
166
161
  "types": "./src/errors/index.d.ts",
167
162
  "default": "./src/errors/index.js"
@@ -171,13 +166,19 @@
171
166
  "default": "./src/integrations/ghtml/ghtml.plugin.js"
172
167
  },
173
168
  "./create-app.ts": {
174
- "types": "./src/create-app.d.ts",
175
- "default": "./src/create-app.js"
169
+ "import": "./src/adapters/create-app.js",
170
+ "types": "./src/adapters/create-app.d.ts",
171
+ "default": "./src/adapters/create-app.js"
176
172
  },
177
173
  "./route-renderer/integration-renderer.ts": {
178
174
  "types": "./src/route-renderer/orchestration/integration-renderer.d.ts",
179
175
  "default": "./src/route-renderer/orchestration/integration-renderer.js"
180
176
  },
177
+ "./route-renderer/component-render-context.ts": {
178
+ "import": "./src/route-renderer/orchestration/component-render-context.js",
179
+ "types": "./src/route-renderer/orchestration/component-render-context.d.ts",
180
+ "default": "./src/route-renderer/orchestration/component-render-context.js"
181
+ },
181
182
  "./router/navigation-coordinator.ts": {
182
183
  "types": "./src/router/client/navigation-coordinator.d.ts",
183
184
  "default": "./src/router/client/navigation-coordinator.js"
@@ -186,15 +187,8 @@
186
187
  "types": "./src/router/client/link-intent.d.ts",
187
188
  "default": "./src/router/client/link-intent.js"
188
189
  },
189
- "./router/client/navigation-coordinator.ts": {
190
- "types": "./src/router/client/navigation-coordinator.d.ts",
191
- "default": "./src/router/client/navigation-coordinator.js"
192
- },
193
- "./errors/locals-access-error.ts": {
194
- "types": "./src/errors/locals-access-error.d.ts",
195
- "default": "./src/errors/locals-access-error.js"
196
- },
197
190
  "./eco.ts": {
191
+ "browser": "./src/eco/eco.browser.js",
198
192
  "types": "./src/eco/eco.d.ts",
199
193
  "default": "./src/eco/eco.js"
200
194
  },
@@ -209,40 +203,29 @@
209
203
  "default": "./src/config/config-builder.js"
210
204
  },
211
205
  "./constants.ts": {
212
- "types": "./src/constants.d.ts",
213
- "default": "./src/constants.js"
206
+ "types": "./src/config/constants.d.ts",
207
+ "default": "./src/config/constants.js"
214
208
  },
215
209
  "./bun.ts": {
216
210
  "types": "./src/adapters/bun/index.d.ts",
217
211
  "default": "./src/adapters/bun/index.js"
218
212
  },
219
- "./bun/create-app.ts": {
220
- "types": "./src/adapters/bun/create-app.d.ts",
221
- "default": "./src/adapters/bun/create-app.js"
222
- },
223
213
  "./hmr/hmr-strategy.ts": {
224
214
  "types": "./src/hmr/hmr-strategy.d.ts",
225
215
  "default": "./src/hmr/hmr-strategy.js"
226
216
  },
227
- "./internal-types.ts": {
228
- "types": "./src/internal-types.d.ts"
217
+ "./hmr/client/hmr-runtime.ts": {
218
+ "types": "./src/hmr/client/hmr-runtime.d.ts",
219
+ "default": "./src/hmr/client/hmr-runtime.js"
220
+ },
221
+ "./dev/host-runtime.ts": {
222
+ "types": "./src/dev/host-runtime.d.ts",
223
+ "default": "./src/dev/host-runtime.js"
229
224
  },
230
225
  "./services/asset-processing-service.ts": {
231
226
  "types": "./src/services/assets/asset-processing-service/index.d.ts",
232
227
  "default": "./src/services/assets/asset-processing-service/index.js"
233
228
  },
234
- "./utils/deep-merge.ts": {
235
- "types": "./src/utils/deep-merge.d.ts",
236
- "default": "./src/utils/deep-merge.js"
237
- },
238
- "./utils/invariant.ts": {
239
- "types": "./src/utils/invariant.d.ts",
240
- "default": "./src/utils/invariant.js"
241
- },
242
- "./utils/parse-cli-args.ts": {
243
- "types": "./src/utils/parse-cli-args.d.ts",
244
- "default": "./src/utils/parse-cli-args.js"
245
- },
246
229
  "./plugins/processor.ts": {
247
230
  "types": "./src/plugins/processor.d.ts",
248
231
  "default": "./src/plugins/processor.js"
@@ -251,6 +234,10 @@
251
234
  "types": "./src/plugins/integration-plugin.d.ts",
252
235
  "default": "./src/plugins/integration-plugin.js"
253
236
  },
237
+ "./plugins/source-transform.ts": {
238
+ "types": "./src/plugins/source-transform.d.ts",
239
+ "default": "./src/plugins/source-transform.js"
240
+ },
254
241
  "./build/build-types.ts": {
255
242
  "types": "./src/build/build-types.d.ts",
256
243
  "default": "./src/build/build-types.js"
@@ -259,45 +246,46 @@
259
246
  "types": "./src/build/build-adapter.d.ts",
260
247
  "default": "./src/build/build-adapter.js"
261
248
  },
262
- "./build/runtime-specifier-alias-plugin.ts": {
263
- "types": "./src/build/runtime-specifier-alias-plugin.d.ts",
264
- "default": "./src/build/runtime-specifier-alias-plugin.js"
265
- },
266
- "./adapters/bun/client-bridge.ts": {
267
- "types": "./src/adapters/bun/client-bridge.d.ts",
268
- "default": "./src/adapters/bun/client-bridge.js"
249
+ "./build/runtime-build-output-normalizer.ts": {
250
+ "types": "./src/build/runtime-build-output-normalizer.d.ts",
251
+ "default": "./src/build/runtime-build-output-normalizer.js"
269
252
  },
270
- "./node.ts": {
271
- "types": "./src/adapters/node/index.d.ts",
272
- "default": "./src/adapters/node/index.js"
253
+ "./build/browser-runtime-manifest.ts": {
254
+ "types": "./src/build/browser-runtime-manifest.d.ts",
255
+ "default": "./src/build/browser-runtime-manifest.js"
273
256
  },
274
- "./node/server-adapter.ts": {
275
- "types": "./src/adapters/node/server-adapter.d.ts",
276
- "default": "./src/adapters/node/server-adapter.js"
257
+ "./build/browser-runtime-plugin.ts": {
258
+ "types": "./src/build/browser-runtime-plugin.d.ts",
259
+ "default": "./src/build/browser-runtime-plugin.js"
277
260
  },
278
- "./node/create-app.ts": {
279
- "types": "./src/adapters/node/create-app.d.ts",
280
- "default": "./src/adapters/node/create-app.js"
261
+ "./cache.ts": {
262
+ "types": "./src/cache/index.d.ts",
263
+ "default": "./src/cache/index.js"
281
264
  },
282
- "./node/runtime-adapter.ts": {
283
- "types": "./src/adapters/node/runtime-adapter.d.ts",
284
- "default": "./src/adapters/node/runtime-adapter.js"
265
+ "./plugins/foreign-jsx-override-plugin.ts": {
266
+ "types": "./src/plugins/foreign-jsx-override-plugin.d.ts",
267
+ "default": "./src/plugins/foreign-jsx-override-plugin.js"
285
268
  },
286
269
  "./html.ts": {
287
270
  "import": "./src/utils/html.js",
288
271
  "default": "./src/utils/html.js",
289
272
  "types": "./src/utils/html.d.ts"
290
273
  },
291
- "./css.ts": {
292
- "import": "./src/utils/css.js",
293
- "default": "./src/utils/css.js",
294
- "types": "./src/utils/css.d.ts"
295
- },
296
274
  "./hash.ts": {
297
275
  "import": "./src/utils/hash.js",
298
276
  "default": "./src/utils/hash.js",
299
277
  "types": "./src/utils/hash.d.ts"
300
278
  },
279
+ "./utils/hash.ts": {
280
+ "import": "./src/utils/hash.js",
281
+ "default": "./src/utils/hash.js",
282
+ "types": "./src/utils/hash.d.ts"
283
+ },
284
+ "./utils/resolve-entry-file.ts": {
285
+ "import": "./src/utils/resolve-entry-file.js",
286
+ "types": "./src/utils/resolve-entry-file.d.ts",
287
+ "default": "./src/utils/resolve-entry-file.js"
288
+ },
301
289
  "./errors.ts": {
302
290
  "types": "./src/errors/index.d.ts",
303
291
  "default": "./src/errors/index.js"
@@ -4,7 +4,7 @@ This directory contains the runtime-host integration layer for Ecopages.
4
4
 
5
5
  ## Purpose
6
6
 
7
- Adapters translate app-owned core services into concrete runtime behavior on Bun and Node.
7
+ Adapters translate app-owned core services into concrete runtime behavior at the host boundary. Bun remains the direct core runtime, while Node compatibility is driven by the Ecopages CLI thin-host path and reuses internal adapter pieces here.
8
8
 
9
9
  They are responsible for:
10
10
 
@@ -23,7 +23,7 @@ They are not responsible for:
23
23
  ## Main Areas
24
24
 
25
25
  - `bun/`: Bun server adapter, lifecycle coordination, bridge, and HMR transport
26
- - `node/`: Node server adapter plus thin-host runtime bootstrap path
26
+ - `node/`: internal Node compatibility adapter pieces used by the CLI thin-host path
27
27
  - `shared/`: runtime-neutral adapter helpers used by both hosts
28
28
 
29
29
  ## Ownership Boundary
@@ -6,15 +6,40 @@
6
6
  *
7
7
  * @module ApplicationAdapter
8
8
  */
9
- import type { EcoPagesAppConfig } from '../../internal-types.js';
10
- import type { ApiHandler, ApiHandlerContext, ErrorHandler, Middleware, RouteOptions, StaticRoute, ViewLoader } from '../../public-types.js';
9
+ import type { SourceModuleLoader } from '../../services/module-loading/module-loading-types.js';
10
+ import type { EcoPagesAppConfig } from '../../types/internal-types.js';
11
+ import type { ApiHandler, ApiHandlerContext, ErrorHandler, Middleware, RouteOptions, StaticRoute, ViewLoader } from '../../types/public-types.js';
11
12
  import { type ReturnParseCliArgs } from '../../utils/parse-cli-args.js';
13
+ /**
14
+ * Runtime bootstrap options layered on top of the app config.
15
+ *
16
+ * These options let a host runtime embed Ecopages without mutating process
17
+ * globals or app runtime state before calling `createApp()`.
18
+ */
19
+ export interface ApplicationRuntimeOptions {
20
+ /**
21
+ * Forces the app into the embedded-runtime CLI mode used by host
22
+ * environments.
23
+ *
24
+ * When enabled and no explicit `hostModuleLoader` is provided, the
25
+ * adapter auto-detects a host module loader from the global scope.
26
+ */
27
+ embedded?: boolean;
28
+ /**
29
+ * Explicit source module loader for request-time imports.
30
+ *
31
+ * When omitted in embedded mode, the adapter attempts automatic
32
+ * detection from globals set by the host environment.
33
+ */
34
+ hostModuleLoader?: SourceModuleLoader;
35
+ }
12
36
  /**
13
37
  * Configuration options for application adapters
14
38
  */
15
39
  export interface ApplicationAdapterOptions {
16
40
  appConfig: EcoPagesAppConfig;
17
41
  serverOptions?: Record<string, any>;
42
+ runtime?: ApplicationRuntimeOptions;
18
43
  /**
19
44
  * Options for clearing the output directory before starting the server
20
45
  * @default false
@@ -43,6 +68,7 @@ export declare abstract class AbstractApplicationAdapter<TOptions extends Applic
43
68
  protected appConfig: EcoPagesAppConfig;
44
69
  protected serverOptions: Record<string, any>;
45
70
  protected cliArgs: ReturnParseCliArgs;
71
+ protected runtimeOptions: ApplicationRuntimeOptions;
46
72
  protected apiHandlers: ApiHandler[];
47
73
  protected staticRoutes: StaticRoute[];
48
74
  protected errorHandler?: ErrorHandler;