@ecopages/core 0.2.0-alpha.2 → 0.2.0-alpha.21

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 (391) hide show
  1. package/CHANGELOG.md +26 -64
  2. package/README.md +212 -14
  3. package/package.json +116 -66
  4. package/src/adapters/README.md +39 -0
  5. package/src/adapters/abstract/application-adapter.d.ts +28 -2
  6. package/src/adapters/abstract/application-adapter.js +14 -2
  7. package/src/adapters/abstract/router-adapter.d.ts +1 -1
  8. package/src/adapters/abstract/server-adapter.d.ts +2 -2
  9. package/src/adapters/bun/client-bridge.d.ts +1 -1
  10. package/src/adapters/bun/create-app.d.ts +4 -12
  11. package/src/adapters/bun/create-app.js +4 -5
  12. package/src/adapters/bun/hmr-manager.d.ts +80 -21
  13. package/src/adapters/bun/hmr-manager.js +168 -62
  14. package/src/adapters/bun/index.d.ts +2 -3
  15. package/src/adapters/bun/index.js +3 -3
  16. package/src/adapters/bun/server-adapter.d.ts +5 -5
  17. package/src/adapters/bun/server-adapter.js +40 -34
  18. package/src/adapters/bun/server-lifecycle.d.ts +28 -17
  19. package/src/adapters/bun/server-lifecycle.js +34 -62
  20. package/src/{create-app.d.ts → adapters/create-app.d.ts} +9 -6
  21. package/src/{create-app.js → adapters/create-app.js} +4 -4
  22. package/src/adapters/index.d.ts +2 -6
  23. package/src/adapters/index.js +2 -8
  24. package/src/adapters/node/create-app.d.ts +6 -9
  25. package/src/adapters/node/create-app.js +12 -6
  26. package/src/adapters/node/node-client-bridge.d.ts +1 -1
  27. package/src/adapters/node/node-hmr-manager.d.ts +89 -18
  28. package/src/adapters/node/node-hmr-manager.js +185 -95
  29. package/src/adapters/node/server-adapter.d.ts +6 -35
  30. package/src/adapters/node/server-adapter.js +44 -105
  31. package/src/adapters/node/static-content-server.d.ts +37 -1
  32. package/src/adapters/node/static-content-server.js +29 -1
  33. package/src/adapters/shared/application-adapter.d.ts +1 -1
  34. package/src/{define-api-handler.d.ts → adapters/shared/define-api-handler.d.ts} +1 -1
  35. package/src/adapters/shared/explicit-static-route-matcher.d.ts +2 -2
  36. package/src/adapters/shared/explicit-static-route-matcher.js +4 -1
  37. package/src/adapters/shared/file-route-middleware-pipeline.d.ts +1 -1
  38. package/src/adapters/shared/file-route-middleware-pipeline.js +1 -0
  39. package/src/adapters/shared/fs-server-response-factory.d.ts +2 -2
  40. package/src/adapters/shared/fs-server-response-factory.js +1 -1
  41. package/src/adapters/shared/fs-server-response-matcher.d.ts +8 -12
  42. package/src/adapters/shared/fs-server-response-matcher.js +10 -18
  43. package/src/adapters/shared/hmr-entrypoint-registrar.d.ts +55 -0
  44. package/src/adapters/shared/hmr-entrypoint-registrar.js +87 -0
  45. package/src/adapters/shared/hmr-html-response.d.ts +22 -0
  46. package/src/adapters/shared/hmr-html-response.js +32 -0
  47. package/src/adapters/shared/render-context.d.ts +2 -1
  48. package/src/adapters/shared/render-context.js +6 -3
  49. package/src/adapters/shared/runtime-bootstrap.d.ts +38 -0
  50. package/src/adapters/shared/runtime-bootstrap.js +43 -0
  51. package/src/adapters/shared/server-adapter.d.ts +13 -3
  52. package/src/adapters/shared/server-adapter.js +42 -5
  53. package/src/adapters/shared/server-route-handler.d.ts +4 -4
  54. package/src/adapters/shared/server-route-handler.js +6 -15
  55. package/src/adapters/shared/server-static-builder.d.ts +38 -6
  56. package/src/adapters/shared/server-static-builder.js +64 -10
  57. package/src/build/README.md +107 -0
  58. package/src/build/build-adapter.d.ts +168 -3
  59. package/src/build/build-adapter.js +604 -16
  60. package/src/build/build-manifest.d.ts +27 -0
  61. package/src/build/build-manifest.js +30 -0
  62. package/src/build/dev-build-coordinator.d.ts +72 -0
  63. package/src/build/dev-build-coordinator.js +154 -0
  64. package/src/build/esbuild-build-adapter.d.ts +15 -6
  65. package/src/build/esbuild-build-adapter.js +189 -74
  66. package/src/build/runtime-build-executor.d.ts +14 -0
  67. package/src/build/runtime-build-executor.js +22 -0
  68. package/src/build/runtime-specifier-alias-plugin.d.ts +15 -0
  69. package/src/build/runtime-specifier-alias-plugin.js +35 -0
  70. package/src/build/runtime-specifier-aliases.d.ts +5 -0
  71. package/src/build/runtime-specifier-aliases.js +95 -0
  72. package/src/config/README.md +36 -0
  73. package/src/config/config-builder.d.ts +52 -27
  74. package/src/config/config-builder.js +260 -49
  75. package/src/{constants.d.ts → config/constants.d.ts} +13 -0
  76. package/src/{constants.js → config/constants.js} +4 -0
  77. package/src/declarations.d.ts +19 -14
  78. package/src/dev/sc-server.d.ts +1 -1
  79. package/src/dev/sc-server.js +1 -1
  80. package/src/eco/README.md +70 -16
  81. package/src/eco/eco.browser.d.ts +2 -0
  82. package/src/eco/eco.browser.js +83 -0
  83. package/src/eco/eco.js +32 -57
  84. package/src/eco/eco.types.d.ts +12 -4
  85. package/src/eco/eco.utils.d.ts +1 -40
  86. package/src/eco/eco.utils.js +5 -35
  87. package/src/eco/global-injector-map.d.ts +1 -1
  88. package/src/eco/lazy-injector-map.d.ts +1 -1
  89. package/src/hmr/README.md +26 -0
  90. package/src/hmr/client/hmr-runtime.d.ts +1 -6
  91. package/src/hmr/client/hmr-runtime.js +30 -7
  92. package/src/hmr/hmr-strategy.d.ts +16 -13
  93. package/src/hmr/hmr-strategy.js +22 -7
  94. package/src/hmr/hmr.postcss.test.e2e.d.ts +1 -0
  95. package/src/hmr/hmr.postcss.test.e2e.js +31 -0
  96. package/src/hmr/hmr.test.e2e.js +26 -33
  97. package/src/hmr/strategies/default-hmr-strategy.d.ts +2 -2
  98. package/src/hmr/strategies/default-hmr-strategy.js +1 -1
  99. package/src/hmr/strategies/js-hmr-strategy.d.ts +46 -43
  100. package/src/hmr/strategies/js-hmr-strategy.js +72 -73
  101. package/src/index.browser.d.ts +2 -2
  102. package/src/index.browser.js +1 -1
  103. package/src/index.d.ts +4 -3
  104. package/src/index.js +16 -5
  105. package/src/integrations/ghtml/ghtml-renderer.d.ts +7 -2
  106. package/src/integrations/ghtml/ghtml-renderer.js +33 -30
  107. package/src/integrations/ghtml/ghtml.constants.d.ts +1 -0
  108. package/src/integrations/ghtml/ghtml.constants.js +4 -0
  109. package/src/integrations/ghtml/ghtml.plugin.d.ts +2 -6
  110. package/src/integrations/ghtml/ghtml.plugin.js +3 -4
  111. package/src/plugins/README.md +35 -0
  112. package/src/plugins/alias-resolver-plugin.js +17 -3
  113. package/src/plugins/eco-component-meta-plugin.d.ts +14 -1
  114. package/src/plugins/eco-component-meta-plugin.js +27 -21
  115. package/src/plugins/foreign-jsx-override-plugin.d.ts +31 -0
  116. package/src/plugins/foreign-jsx-override-plugin.js +35 -0
  117. package/src/plugins/integration-plugin.d.ts +145 -28
  118. package/src/plugins/integration-plugin.js +109 -13
  119. package/src/plugins/processor.d.ts +15 -2
  120. package/src/plugins/processor.js +16 -2
  121. package/src/plugins/runtime-capability.d.ts +9 -0
  122. package/src/plugins/source-transform.d.ts +46 -0
  123. package/src/plugins/source-transform.js +71 -0
  124. package/src/route-renderer/GRAPH.md +64 -98
  125. package/src/route-renderer/README.md +67 -46
  126. package/src/route-renderer/orchestration/boundary-planning.service.d.ts +25 -0
  127. package/src/route-renderer/orchestration/boundary-planning.service.js +97 -0
  128. package/src/route-renderer/orchestration/component-render-context.d.ts +83 -0
  129. package/src/route-renderer/orchestration/component-render-context.js +147 -0
  130. package/src/route-renderer/orchestration/integration-renderer.d.ts +554 -0
  131. package/src/route-renderer/orchestration/integration-renderer.js +957 -0
  132. package/src/route-renderer/orchestration/queued-boundary-runtime.service.d.ts +89 -0
  133. package/src/route-renderer/orchestration/queued-boundary-runtime.service.js +155 -0
  134. package/src/route-renderer/orchestration/render-execution.service.d.ts +43 -0
  135. package/src/route-renderer/orchestration/render-execution.service.js +106 -0
  136. package/src/{eco/eco.utils.ts → route-renderer/orchestration/render-output.utils.d.ts} +10 -53
  137. package/src/route-renderer/orchestration/render-output.utils.js +65 -0
  138. package/src/route-renderer/{render-preparation.service.d.ts → orchestration/render-preparation.service.d.ts} +18 -10
  139. package/src/route-renderer/{render-preparation.service.js → orchestration/render-preparation.service.js} +115 -17
  140. package/src/route-renderer/orchestration/route-shell-composer.service.d.ts +50 -0
  141. package/src/route-renderer/orchestration/route-shell-composer.service.js +81 -0
  142. package/src/route-renderer/orchestration/template-serialization.d.ts +38 -0
  143. package/src/route-renderer/orchestration/template-serialization.js +45 -0
  144. package/src/route-renderer/{dependency-resolver.d.ts → page-loading/dependency-resolver.d.ts} +15 -4
  145. package/src/route-renderer/{dependency-resolver.js → page-loading/dependency-resolver.js} +28 -12
  146. package/src/route-renderer/page-loading/page-module-loader.d.ts +90 -0
  147. package/src/route-renderer/{page-module-loader.js → page-loading/page-module-loader.js} +39 -14
  148. package/src/route-renderer/route-renderer.d.ts +45 -4
  149. package/src/route-renderer/route-renderer.js +38 -3
  150. package/src/router/README.md +97 -0
  151. package/src/router/client/link-intent.d.ts +53 -0
  152. package/src/router/client/link-intent.js +34 -0
  153. package/src/router/client/link-intent.test.browser.d.ts +1 -0
  154. package/src/router/client/link-intent.test.browser.js +43 -0
  155. package/src/router/client/navigation-coordinator.d.ts +149 -0
  156. package/src/router/client/navigation-coordinator.js +215 -0
  157. package/src/router/{fs-router-scanner.d.ts → server/fs-router-scanner.d.ts} +3 -3
  158. package/src/router/{fs-router-scanner.js → server/fs-router-scanner.js} +14 -8
  159. package/src/router/{fs-router.d.ts → server/fs-router.d.ts} +1 -1
  160. package/src/router/{fs-router.js → server/fs-router.js} +1 -1
  161. package/src/services/README.md +29 -0
  162. package/src/services/assets/asset-processing-service/asset-processing.service.d.ts +120 -0
  163. package/src/services/{asset-processing-service → assets/asset-processing-service}/asset-processing.service.js +91 -10
  164. package/src/services/{asset-processing-service → assets/asset-processing-service}/asset.factory.d.ts +1 -1
  165. package/src/services/{asset-processing-service → assets/asset-processing-service}/asset.factory.js +2 -2
  166. package/src/services/{asset-processing-service → assets/asset-processing-service}/assets.types.d.ts +2 -1
  167. package/src/services/assets/asset-processing-service/browser-runtime-asset.factory.d.ts +55 -0
  168. package/src/services/assets/asset-processing-service/browser-runtime-asset.factory.js +48 -0
  169. package/src/services/assets/asset-processing-service/browser-runtime-entry.factory.d.ts +20 -0
  170. package/src/services/assets/asset-processing-service/browser-runtime-entry.factory.js +41 -0
  171. package/src/services/assets/asset-processing-service/index.d.ts +5 -0
  172. package/src/services/assets/asset-processing-service/index.js +5 -0
  173. package/src/services/{asset-processing-service → assets/asset-processing-service}/processor.interface.d.ts +2 -2
  174. package/src/services/{asset-processing-service → assets/asset-processing-service}/processor.registry.d.ts +2 -2
  175. package/src/services/{asset-processing-service → assets/asset-processing-service}/processors/base/base-processor.d.ts +1 -1
  176. package/src/services/{asset-processing-service → assets/asset-processing-service}/processors/base/base-processor.js +9 -4
  177. package/src/services/{asset-processing-service → assets/asset-processing-service}/processors/base/base-script-processor.d.ts +5 -4
  178. package/src/services/{asset-processing-service → assets/asset-processing-service}/processors/base/base-script-processor.js +15 -23
  179. package/src/services/assets/asset-processing-service/processors/index.d.ts +5 -0
  180. package/src/services/assets/asset-processing-service/processors/index.js +5 -0
  181. package/src/services/{asset-processing-service → assets/asset-processing-service}/processors/script/content-script.processor.d.ts +2 -2
  182. package/src/services/{asset-processing-service → assets/asset-processing-service}/processors/script/content-script.processor.js +1 -1
  183. package/src/services/{asset-processing-service → assets/asset-processing-service}/processors/script/file-script.processor.d.ts +4 -3
  184. package/src/services/{asset-processing-service → assets/asset-processing-service}/processors/script/file-script.processor.js +16 -4
  185. package/src/services/{asset-processing-service → assets/asset-processing-service}/processors/script/node-module-script.processor.d.ts +3 -3
  186. package/src/services/{asset-processing-service → assets/asset-processing-service}/processors/script/node-module-script.processor.js +6 -5
  187. package/src/services/{asset-processing-service → assets/asset-processing-service}/processors/stylesheet/content-stylesheet.processor.d.ts +2 -2
  188. package/src/services/{asset-processing-service → assets/asset-processing-service}/processors/stylesheet/content-stylesheet.processor.js +1 -1
  189. package/src/services/{asset-processing-service → assets/asset-processing-service}/processors/stylesheet/file-stylesheet.processor.d.ts +2 -2
  190. package/src/services/{asset-processing-service → assets/asset-processing-service}/processors/stylesheet/file-stylesheet.processor.js +5 -2
  191. package/src/services/assets/browser-bundle.service.d.ts +32 -0
  192. package/src/services/assets/browser-bundle.service.js +33 -0
  193. package/src/services/{page-request-cache-coordinator.service.d.ts → cache/page-request-cache-coordinator.service.d.ts} +2 -2
  194. package/src/services/{page-request-cache-coordinator.service.js → cache/page-request-cache-coordinator.service.js} +3 -1
  195. package/src/services/html/html-rewriter-provider.service.d.ts +37 -0
  196. package/src/services/html/html-rewriter-provider.service.js +68 -0
  197. package/src/services/html/html-transformer.service.d.ts +77 -0
  198. package/src/services/html/html-transformer.service.js +215 -0
  199. package/src/services/invalidation/development-invalidation.service.d.ts +74 -0
  200. package/src/services/invalidation/development-invalidation.service.js +190 -0
  201. package/src/services/module-loading/app-module-loader.service.d.ts +28 -0
  202. package/src/services/module-loading/app-module-loader.service.js +35 -0
  203. package/src/services/module-loading/app-server-module-transpiler.service.d.ts +24 -0
  204. package/src/services/module-loading/app-server-module-transpiler.service.js +109 -0
  205. package/src/services/module-loading/host-module-loader-registry.d.ts +4 -0
  206. package/src/services/module-loading/host-module-loader-registry.js +15 -0
  207. package/src/services/module-loading/module-loading-types.d.ts +2 -0
  208. package/src/services/module-loading/node-bootstrap-plugin.d.ts +42 -0
  209. package/src/services/module-loading/node-bootstrap-plugin.js +204 -0
  210. package/src/services/module-loading/page-module-import.service.d.ts +76 -0
  211. package/src/services/module-loading/page-module-import.service.js +173 -0
  212. package/src/services/module-loading/server-module-transpiler.service.d.ts +72 -0
  213. package/src/services/module-loading/server-module-transpiler.service.js +64 -0
  214. package/src/services/runtime-state/dev-graph.service.d.ts +118 -0
  215. package/src/services/runtime-state/dev-graph.service.js +162 -0
  216. package/src/services/runtime-state/entrypoint-dependency-graph.service.d.ts +41 -0
  217. package/src/services/runtime-state/entrypoint-dependency-graph.service.js +85 -0
  218. package/src/services/runtime-state/runtime-specifier-registry.service.d.ts +69 -0
  219. package/src/services/runtime-state/runtime-specifier-registry.service.js +37 -0
  220. package/src/services/runtime-state/server-invalidation-state.service.d.ts +26 -0
  221. package/src/services/runtime-state/server-invalidation-state.service.js +35 -0
  222. package/src/services/{schema-validation-service.d.ts → validation/schema-validation-service.d.ts} +1 -1
  223. package/src/static-site-generator/README.md +26 -0
  224. package/src/static-site-generator/static-site-generator.d.ts +50 -3
  225. package/src/static-site-generator/static-site-generator.js +71 -5
  226. package/src/{internal-types.d.ts → types/internal-types.d.ts} +53 -22
  227. package/src/types/internal-types.js +0 -0
  228. package/src/{public-types.d.ts → types/public-types.d.ts} +146 -21
  229. package/src/types/public-types.js +0 -0
  230. package/src/utils/html-escaping.d.ts +7 -0
  231. package/src/utils/html-escaping.js +6 -0
  232. package/src/utils/locals-utils.d.ts +1 -1
  233. package/src/utils/parse-cli-args.d.ts +4 -1
  234. package/src/utils/parse-cli-args.js +16 -1
  235. package/src/utils/resolve-work-dir.d.ts +11 -0
  236. package/src/utils/resolve-work-dir.js +31 -0
  237. package/src/watchers/project-watcher.d.ts +40 -24
  238. package/src/watchers/project-watcher.js +129 -92
  239. package/src/watchers/project-watcher.test-helpers.d.ts +2 -2
  240. package/src/watchers/project-watcher.test-helpers.js +1 -0
  241. package/src/adapters/abstract/application-adapter.ts +0 -337
  242. package/src/adapters/abstract/router-adapter.ts +0 -30
  243. package/src/adapters/abstract/server-adapter.ts +0 -79
  244. package/src/adapters/bun/client-bridge.ts +0 -62
  245. package/src/adapters/bun/create-app.ts +0 -189
  246. package/src/adapters/bun/define-api-handler.d.ts +0 -61
  247. package/src/adapters/bun/define-api-handler.ts +0 -114
  248. package/src/adapters/bun/hmr-manager.ts +0 -281
  249. package/src/adapters/bun/index.ts +0 -3
  250. package/src/adapters/bun/server-adapter.ts +0 -492
  251. package/src/adapters/bun/server-lifecycle.ts +0 -154
  252. package/src/adapters/index.ts +0 -6
  253. package/src/adapters/node/create-app.ts +0 -179
  254. package/src/adapters/node/index.d.ts +0 -4
  255. package/src/adapters/node/index.js +0 -8
  256. package/src/adapters/node/index.ts +0 -9
  257. package/src/adapters/node/node-client-bridge.ts +0 -79
  258. package/src/adapters/node/node-hmr-manager.ts +0 -271
  259. package/src/adapters/node/server-adapter.ts +0 -561
  260. package/src/adapters/node/static-content-server.ts +0 -203
  261. package/src/adapters/shared/api-response.ts +0 -104
  262. package/src/adapters/shared/application-adapter.ts +0 -199
  263. package/src/adapters/shared/explicit-static-route-matcher.ts +0 -134
  264. package/src/adapters/shared/file-route-middleware-pipeline.ts +0 -123
  265. package/src/adapters/shared/fs-server-response-factory.ts +0 -118
  266. package/src/adapters/shared/fs-server-response-matcher.ts +0 -198
  267. package/src/adapters/shared/render-context.ts +0 -105
  268. package/src/adapters/shared/server-adapter.ts +0 -442
  269. package/src/adapters/shared/server-route-handler.ts +0 -166
  270. package/src/adapters/shared/server-static-builder.ts +0 -82
  271. package/src/build/build-adapter.ts +0 -132
  272. package/src/build/build-types.ts +0 -83
  273. package/src/build/esbuild-build-adapter.ts +0 -510
  274. package/src/config/config-builder.ts +0 -474
  275. package/src/constants.ts +0 -39
  276. package/src/create-app.ts +0 -87
  277. package/src/define-api-handler.js +0 -15
  278. package/src/define-api-handler.ts +0 -66
  279. package/src/dev/sc-server.ts +0 -143
  280. package/src/eco/component-render-context.d.ts +0 -105
  281. package/src/eco/component-render-context.js +0 -77
  282. package/src/eco/component-render-context.ts +0 -202
  283. package/src/eco/eco.ts +0 -221
  284. package/src/eco/eco.types.ts +0 -202
  285. package/src/eco/global-injector-map.ts +0 -112
  286. package/src/eco/lazy-injector-map.ts +0 -120
  287. package/src/eco/module-dependencies.ts +0 -75
  288. package/src/errors/http-error.ts +0 -72
  289. package/src/errors/index.ts +0 -2
  290. package/src/errors/locals-access-error.ts +0 -7
  291. package/src/global/app-logger.ts +0 -4
  292. package/src/hmr/client/__screenshots__/hmr-runtime.test.browser.ts/HMR-Runtime-HMR-Server-Integration-should-have-HMR-script-injected-in-page-1.png +0 -0
  293. package/src/hmr/client/__screenshots__/hmr-runtime.test.browser.ts/HMR-Runtime-HMR-Server-Integration-should-load-fixture-app-page-1.png +0 -0
  294. package/src/hmr/client/__screenshots__/hmr-runtime.test.browser.ts/HMR-Runtime-WebSocket-Connection-should-connect-to-correct-HMR-endpoint-1.png +0 -0
  295. package/src/hmr/client/hmr-runtime.ts +0 -121
  296. package/src/hmr/hmr-strategy.ts +0 -172
  297. package/src/hmr/hmr.test.e2e.ts +0 -75
  298. package/src/hmr/strategies/default-hmr-strategy.ts +0 -60
  299. package/src/hmr/strategies/js-hmr-strategy.ts +0 -308
  300. package/src/index.browser.ts +0 -3
  301. package/src/index.ts +0 -5
  302. package/src/integrations/ghtml/ghtml-renderer.ts +0 -93
  303. package/src/integrations/ghtml/ghtml.plugin.ts +0 -32
  304. package/src/internal-types.ts +0 -212
  305. package/src/plugins/alias-resolver-plugin.ts +0 -45
  306. package/src/plugins/eco-component-meta-plugin.ts +0 -474
  307. package/src/plugins/integration-plugin.ts +0 -184
  308. package/src/plugins/processor.ts +0 -220
  309. package/src/public-types.ts +0 -1255
  310. package/src/route-renderer/component-graph-executor.d.ts +0 -32
  311. package/src/route-renderer/component-graph-executor.js +0 -31
  312. package/src/route-renderer/component-graph-executor.ts +0 -84
  313. package/src/route-renderer/component-graph.d.ts +0 -42
  314. package/src/route-renderer/component-graph.js +0 -72
  315. package/src/route-renderer/component-graph.ts +0 -159
  316. package/src/route-renderer/component-marker.d.ts +0 -52
  317. package/src/route-renderer/component-marker.js +0 -46
  318. package/src/route-renderer/component-marker.ts +0 -117
  319. package/src/route-renderer/dependency-resolver.ts +0 -596
  320. package/src/route-renderer/html-post-processing.service.d.ts +0 -40
  321. package/src/route-renderer/html-post-processing.service.js +0 -86
  322. package/src/route-renderer/html-post-processing.service.ts +0 -103
  323. package/src/route-renderer/integration-renderer.d.ts +0 -339
  324. package/src/route-renderer/integration-renderer.js +0 -526
  325. package/src/route-renderer/integration-renderer.ts +0 -696
  326. package/src/route-renderer/marker-graph-resolver.d.ts +0 -76
  327. package/src/route-renderer/marker-graph-resolver.js +0 -93
  328. package/src/route-renderer/marker-graph-resolver.ts +0 -153
  329. package/src/route-renderer/page-module-loader.d.ts +0 -61
  330. package/src/route-renderer/page-module-loader.ts +0 -153
  331. package/src/route-renderer/render-execution.service.d.ts +0 -69
  332. package/src/route-renderer/render-execution.service.js +0 -91
  333. package/src/route-renderer/render-execution.service.ts +0 -158
  334. package/src/route-renderer/render-preparation.service.ts +0 -358
  335. package/src/route-renderer/route-renderer.ts +0 -80
  336. package/src/router/fs-router-scanner.ts +0 -217
  337. package/src/router/fs-router.ts +0 -122
  338. package/src/services/asset-processing-service/asset-processing.service.d.ts +0 -41
  339. package/src/services/asset-processing-service/asset-processing.service.ts +0 -306
  340. package/src/services/asset-processing-service/asset.factory.ts +0 -105
  341. package/src/services/asset-processing-service/assets.types.ts +0 -112
  342. package/src/services/asset-processing-service/index.d.ts +0 -3
  343. package/src/services/asset-processing-service/index.js +0 -3
  344. package/src/services/asset-processing-service/index.ts +0 -3
  345. package/src/services/asset-processing-service/processor.interface.ts +0 -27
  346. package/src/services/asset-processing-service/processor.registry.ts +0 -18
  347. package/src/services/asset-processing-service/processors/base/base-processor.ts +0 -76
  348. package/src/services/asset-processing-service/processors/base/base-script-processor.ts +0 -105
  349. package/src/services/asset-processing-service/processors/index.d.ts +0 -5
  350. package/src/services/asset-processing-service/processors/index.js +0 -5
  351. package/src/services/asset-processing-service/processors/index.ts +0 -5
  352. package/src/services/asset-processing-service/processors/script/content-script.processor.ts +0 -66
  353. package/src/services/asset-processing-service/processors/script/file-script.processor.ts +0 -88
  354. package/src/services/asset-processing-service/processors/script/node-module-script.processor.ts +0 -84
  355. package/src/services/asset-processing-service/processors/stylesheet/content-stylesheet.processor.ts +0 -27
  356. package/src/services/asset-processing-service/processors/stylesheet/file-stylesheet.processor.ts +0 -77
  357. package/src/services/cache/cache.types.ts +0 -126
  358. package/src/services/cache/index.ts +0 -18
  359. package/src/services/cache/memory-cache-store.ts +0 -130
  360. package/src/services/cache/page-cache-service.ts +0 -202
  361. package/src/services/html-transformer.service.d.ts +0 -50
  362. package/src/services/html-transformer.service.js +0 -163
  363. package/src/services/html-transformer.service.ts +0 -217
  364. package/src/services/page-module-import.service.d.ts +0 -37
  365. package/src/services/page-module-import.service.js +0 -88
  366. package/src/services/page-module-import.service.ts +0 -129
  367. package/src/services/page-request-cache-coordinator.service.ts +0 -128
  368. package/src/services/schema-validation-service.ts +0 -204
  369. package/src/services/validation/standard-schema.types.ts +0 -68
  370. package/src/static-site-generator/static-site-generator.ts +0 -359
  371. package/src/utils/css.d.ts +0 -1
  372. package/src/utils/css.js +0 -7
  373. package/src/utils/css.ts +0 -5
  374. package/src/utils/deep-merge.ts +0 -47
  375. package/src/utils/hash.ts +0 -5
  376. package/src/utils/html.ts +0 -1
  377. package/src/utils/invariant.ts +0 -15
  378. package/src/utils/locals-utils.ts +0 -37
  379. package/src/utils/parse-cli-args.ts +0 -83
  380. package/src/utils/path-utils.module.ts +0 -14
  381. package/src/utils/runtime.ts +0 -44
  382. package/src/utils/server-utils.module.ts +0 -67
  383. package/src/watchers/project-watcher.test-helpers.ts +0 -40
  384. package/src/watchers/project-watcher.ts +0 -306
  385. /package/src/adapters/{bun → shared}/define-api-handler.js +0 -0
  386. /package/src/{internal-types.js → plugins/runtime-capability.js} +0 -0
  387. /package/src/services/{asset-processing-service → assets/asset-processing-service}/assets.types.js +0 -0
  388. /package/src/services/{asset-processing-service → assets/asset-processing-service}/processor.interface.js +0 -0
  389. /package/src/services/{asset-processing-service → assets/asset-processing-service}/processor.registry.js +0 -0
  390. /package/src/{public-types.js → services/module-loading/module-loading-types.js} +0 -0
  391. /package/src/services/{schema-validation-service.js → validation/schema-validation-service.js} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ecopages/core",
3
- "version": "0.2.0-alpha.2",
3
+ "version": "0.2.0-alpha.21",
4
4
  "description": "Core package for Ecopages",
5
5
  "keywords": [
6
6
  "ecopages",
@@ -17,14 +17,14 @@
17
17
  "directory": "packages/core"
18
18
  },
19
19
  "dependencies": {
20
- "@ecopages/file-system": "0.2.0-alpha.2",
21
- "@ecopages/logger": "latest",
20
+ "@ecopages/file-system": "0.2.0-alpha.21",
21
+ "@ecopages/logger": "^0.2.3",
22
22
  "@ecopages/scripts-injector": "^0.1.3",
23
23
  "@worker-tools/html-rewriter": "0.1.0-pre.19",
24
- "chokidar": "^4.0.3",
25
- "esbuild": "^0.27.3",
24
+ "chokidar": "^5.0.0",
25
+ "esbuild": "^0.28.0",
26
26
  "ghtml": "^4.0.2",
27
- "oxc-parser": "^0.110.0",
27
+ "oxc-parser": "^0.124.0",
28
28
  "ws": "^8.18.0"
29
29
  },
30
30
  "exports": {
@@ -35,21 +35,39 @@
35
35
  "default": "./src/index.js"
36
36
  },
37
37
  "./create-app": {
38
- "types": "./src/create-app.d.ts",
39
- "default": "./src/create-app.js"
38
+ "import": "./src/adapters/create-app.js",
39
+ "types": "./src/adapters/create-app.d.ts",
40
+ "default": "./src/adapters/create-app.js"
40
41
  },
41
42
  "./route-renderer/integration-renderer": {
42
- "types": "./src/route-renderer/integration-renderer.d.ts",
43
- "default": "./src/route-renderer/integration-renderer.js"
43
+ "types": "./src/route-renderer/orchestration/integration-renderer.d.ts",
44
+ "default": "./src/route-renderer/orchestration/integration-renderer.js"
45
+ },
46
+ "./router/navigation-coordinator": {
47
+ "types": "./src/router/client/navigation-coordinator.d.ts",
48
+ "default": "./src/router/client/navigation-coordinator.js"
49
+ },
50
+ "./router/link-intent": {
51
+ "types": "./src/router/client/link-intent.d.ts",
52
+ "default": "./src/router/client/link-intent.js"
53
+ },
54
+ "./router/client/navigation-coordinator": {
55
+ "types": "./src/router/client/navigation-coordinator.d.ts",
56
+ "default": "./src/router/client/navigation-coordinator.js"
44
57
  },
45
58
  "./errors/locals-access-error": {
46
59
  "types": "./src/errors/locals-access-error.d.ts",
47
60
  "default": "./src/errors/locals-access-error.js"
48
61
  },
49
62
  "./eco": {
63
+ "browser": "./src/eco/eco.browser.js",
50
64
  "types": "./src/eco/eco.d.ts",
51
65
  "default": "./src/eco/eco.js"
52
66
  },
67
+ "./route-renderer/template-serialization": {
68
+ "types": "./src/route-renderer/orchestration/template-serialization.d.ts",
69
+ "default": "./src/route-renderer/orchestration/template-serialization.js"
70
+ },
53
71
  "./declarations": {
54
72
  "types": "./src/declarations.d.ts"
55
73
  },
@@ -61,8 +79,8 @@
61
79
  "default": "./src/config/config-builder.js"
62
80
  },
63
81
  "./constants": {
64
- "types": "./src/constants.d.ts",
65
- "default": "./src/constants.js"
82
+ "types": "./src/config/constants.d.ts",
83
+ "default": "./src/config/constants.js"
66
84
  },
67
85
  "./bun": {
68
86
  "types": "./src/adapters/bun/index.d.ts",
@@ -72,20 +90,28 @@
72
90
  "types": "./src/adapters/bun/create-app.d.ts",
73
91
  "default": "./src/adapters/bun/create-app.js"
74
92
  },
75
- "./bun/define-api-handler": {
76
- "types": "./src/adapters/bun/define-api-handler.d.ts",
77
- "default": "./src/adapters/bun/define-api-handler.js"
78
- },
79
93
  "./hmr/hmr-strategy": {
80
94
  "types": "./src/hmr/hmr-strategy.d.ts",
81
95
  "default": "./src/hmr/hmr-strategy.js"
82
96
  },
83
97
  "./internal-types": {
84
- "types": "./src/internal-types.d.ts"
98
+ "types": "./src/types/internal-types.d.ts"
85
99
  },
86
100
  "./services/asset-processing-service": {
87
- "types": "./src/services/asset-processing-service/index.d.ts",
88
- "default": "./src/services/asset-processing-service/index.js"
101
+ "types": "./src/services/assets/asset-processing-service/index.d.ts",
102
+ "default": "./src/services/assets/asset-processing-service/index.js"
103
+ },
104
+ "./services/invalidation/development-invalidation.service": {
105
+ "types": "./src/services/invalidation/development-invalidation.service.d.ts",
106
+ "default": "./src/services/invalidation/development-invalidation.service.js"
107
+ },
108
+ "./services/module-loading/app-server-module-transpiler.service": {
109
+ "types": "./src/services/module-loading/app-server-module-transpiler.service.d.ts",
110
+ "default": "./src/services/module-loading/app-server-module-transpiler.service.js"
111
+ },
112
+ "./host-module-loader": {
113
+ "types": "./src/services/module-loading/host-module-loader-registry.d.ts",
114
+ "default": "./src/services/module-loading/host-module-loader-registry.js"
89
115
  },
90
116
  "./utils/deep-merge": {
91
117
  "types": "./src/utils/deep-merge.d.ts",
@@ -107,6 +133,10 @@
107
133
  "types": "./src/plugins/integration-plugin.d.ts",
108
134
  "default": "./src/plugins/integration-plugin.js"
109
135
  },
136
+ "./plugins/source-transform": {
137
+ "types": "./src/plugins/source-transform.d.ts",
138
+ "default": "./src/plugins/source-transform.js"
139
+ },
110
140
  "./build/build-types": {
111
141
  "types": "./src/build/build-types.d.ts",
112
142
  "default": "./src/build/build-types.js"
@@ -115,32 +145,27 @@
115
145
  "types": "./src/build/build-adapter.d.ts",
116
146
  "default": "./src/build/build-adapter.js"
117
147
  },
118
- "./adapters/bun/client-bridge": {
119
- "types": "./src/adapters/bun/client-bridge.d.ts",
120
- "default": "./src/adapters/bun/client-bridge.js"
148
+ "./build/runtime-specifier-alias-plugin": {
149
+ "types": "./src/build/runtime-specifier-alias-plugin.d.ts",
150
+ "default": "./src/build/runtime-specifier-alias-plugin.js"
121
151
  },
122
- "./node": {
123
- "types": "./src/adapters/node/index.d.ts",
124
- "default": "./src/adapters/node/index.js"
152
+ "./build/runtime-specifier-aliases": {
153
+ "types": "./src/build/runtime-specifier-aliases.d.ts",
154
+ "default": "./src/build/runtime-specifier-aliases.js"
125
155
  },
126
- "./node/server-adapter": {
127
- "types": "./src/adapters/node/server-adapter.d.ts",
128
- "default": "./src/adapters/node/server-adapter.js"
156
+ "./plugins/foreign-jsx-override-plugin": {
157
+ "types": "./src/plugins/foreign-jsx-override-plugin.d.ts",
158
+ "default": "./src/plugins/foreign-jsx-override-plugin.js"
129
159
  },
130
- "./node/create-app": {
131
- "types": "./src/adapters/node/create-app.d.ts",
132
- "default": "./src/adapters/node/create-app.js"
160
+ "./adapters/bun/client-bridge": {
161
+ "types": "./src/adapters/bun/client-bridge.d.ts",
162
+ "default": "./src/adapters/bun/client-bridge.js"
133
163
  },
134
164
  "./html": {
135
165
  "import": "./src/utils/html.js",
136
166
  "default": "./src/utils/html.js",
137
167
  "types": "./src/utils/html.d.ts"
138
168
  },
139
- "./css": {
140
- "import": "./src/utils/css.js",
141
- "default": "./src/utils/css.js",
142
- "types": "./src/utils/css.d.ts"
143
- },
144
169
  "./hash": {
145
170
  "import": "./src/utils/hash.js",
146
171
  "default": "./src/utils/hash.js",
@@ -155,21 +180,39 @@
155
180
  "default": "./src/integrations/ghtml/ghtml.plugin.js"
156
181
  },
157
182
  "./create-app.ts": {
158
- "types": "./src/create-app.d.ts",
159
- "default": "./src/create-app.js"
183
+ "import": "./src/adapters/create-app.js",
184
+ "types": "./src/adapters/create-app.d.ts",
185
+ "default": "./src/adapters/create-app.js"
160
186
  },
161
187
  "./route-renderer/integration-renderer.ts": {
162
- "types": "./src/route-renderer/integration-renderer.d.ts",
163
- "default": "./src/route-renderer/integration-renderer.js"
188
+ "types": "./src/route-renderer/orchestration/integration-renderer.d.ts",
189
+ "default": "./src/route-renderer/orchestration/integration-renderer.js"
190
+ },
191
+ "./router/navigation-coordinator.ts": {
192
+ "types": "./src/router/client/navigation-coordinator.d.ts",
193
+ "default": "./src/router/client/navigation-coordinator.js"
194
+ },
195
+ "./router/link-intent.ts": {
196
+ "types": "./src/router/client/link-intent.d.ts",
197
+ "default": "./src/router/client/link-intent.js"
198
+ },
199
+ "./router/client/navigation-coordinator.ts": {
200
+ "types": "./src/router/client/navigation-coordinator.d.ts",
201
+ "default": "./src/router/client/navigation-coordinator.js"
164
202
  },
165
203
  "./errors/locals-access-error.ts": {
166
204
  "types": "./src/errors/locals-access-error.d.ts",
167
205
  "default": "./src/errors/locals-access-error.js"
168
206
  },
169
207
  "./eco.ts": {
208
+ "browser": "./src/eco/eco.browser.js",
170
209
  "types": "./src/eco/eco.d.ts",
171
210
  "default": "./src/eco/eco.js"
172
211
  },
212
+ "./route-renderer/template-serialization.ts": {
213
+ "types": "./src/route-renderer/orchestration/template-serialization.d.ts",
214
+ "default": "./src/route-renderer/orchestration/template-serialization.js"
215
+ },
173
216
  "./declarations.ts": {
174
217
  "types": "./src/declarations.d.ts"
175
218
  },
@@ -181,8 +224,8 @@
181
224
  "default": "./src/config/config-builder.js"
182
225
  },
183
226
  "./constants.ts": {
184
- "types": "./src/constants.d.ts",
185
- "default": "./src/constants.js"
227
+ "types": "./src/config/constants.d.ts",
228
+ "default": "./src/config/constants.js"
186
229
  },
187
230
  "./bun.ts": {
188
231
  "types": "./src/adapters/bun/index.d.ts",
@@ -192,20 +235,28 @@
192
235
  "types": "./src/adapters/bun/create-app.d.ts",
193
236
  "default": "./src/adapters/bun/create-app.js"
194
237
  },
195
- "./bun/define-api-handler.ts": {
196
- "types": "./src/adapters/bun/define-api-handler.d.ts",
197
- "default": "./src/adapters/bun/define-api-handler.js"
198
- },
199
238
  "./hmr/hmr-strategy.ts": {
200
239
  "types": "./src/hmr/hmr-strategy.d.ts",
201
240
  "default": "./src/hmr/hmr-strategy.js"
202
241
  },
203
242
  "./internal-types.ts": {
204
- "types": "./src/internal-types.d.ts"
243
+ "types": "./src/types/internal-types.d.ts"
205
244
  },
206
245
  "./services/asset-processing-service.ts": {
207
- "types": "./src/services/asset-processing-service/index.d.ts",
208
- "default": "./src/services/asset-processing-service/index.js"
246
+ "types": "./src/services/assets/asset-processing-service/index.d.ts",
247
+ "default": "./src/services/assets/asset-processing-service/index.js"
248
+ },
249
+ "./services/invalidation/development-invalidation.service.ts": {
250
+ "types": "./src/services/invalidation/development-invalidation.service.d.ts",
251
+ "default": "./src/services/invalidation/development-invalidation.service.js"
252
+ },
253
+ "./services/module-loading/app-server-module-transpiler.service.ts": {
254
+ "types": "./src/services/module-loading/app-server-module-transpiler.service.d.ts",
255
+ "default": "./src/services/module-loading/app-server-module-transpiler.service.js"
256
+ },
257
+ "./host-module-loader.ts": {
258
+ "types": "./src/services/module-loading/host-module-loader-registry.d.ts",
259
+ "default": "./src/services/module-loading/host-module-loader-registry.js"
209
260
  },
210
261
  "./utils/deep-merge.ts": {
211
262
  "types": "./src/utils/deep-merge.d.ts",
@@ -227,6 +278,10 @@
227
278
  "types": "./src/plugins/integration-plugin.d.ts",
228
279
  "default": "./src/plugins/integration-plugin.js"
229
280
  },
281
+ "./plugins/source-transform.ts": {
282
+ "types": "./src/plugins/source-transform.d.ts",
283
+ "default": "./src/plugins/source-transform.js"
284
+ },
230
285
  "./build/build-types.ts": {
231
286
  "types": "./src/build/build-types.d.ts",
232
287
  "default": "./src/build/build-types.js"
@@ -235,32 +290,27 @@
235
290
  "types": "./src/build/build-adapter.d.ts",
236
291
  "default": "./src/build/build-adapter.js"
237
292
  },
238
- "./adapters/bun/client-bridge.ts": {
239
- "types": "./src/adapters/bun/client-bridge.d.ts",
240
- "default": "./src/adapters/bun/client-bridge.js"
293
+ "./build/runtime-specifier-alias-plugin.ts": {
294
+ "types": "./src/build/runtime-specifier-alias-plugin.d.ts",
295
+ "default": "./src/build/runtime-specifier-alias-plugin.js"
241
296
  },
242
- "./node.ts": {
243
- "types": "./src/adapters/node/index.d.ts",
244
- "default": "./src/adapters/node/index.js"
297
+ "./build/runtime-specifier-aliases.ts": {
298
+ "types": "./src/build/runtime-specifier-aliases.d.ts",
299
+ "default": "./src/build/runtime-specifier-aliases.js"
245
300
  },
246
- "./node/server-adapter.ts": {
247
- "types": "./src/adapters/node/server-adapter.d.ts",
248
- "default": "./src/adapters/node/server-adapter.js"
301
+ "./plugins/foreign-jsx-override-plugin.ts": {
302
+ "types": "./src/plugins/foreign-jsx-override-plugin.d.ts",
303
+ "default": "./src/plugins/foreign-jsx-override-plugin.js"
249
304
  },
250
- "./node/create-app.ts": {
251
- "types": "./src/adapters/node/create-app.d.ts",
252
- "default": "./src/adapters/node/create-app.js"
305
+ "./adapters/bun/client-bridge.ts": {
306
+ "types": "./src/adapters/bun/client-bridge.d.ts",
307
+ "default": "./src/adapters/bun/client-bridge.js"
253
308
  },
254
309
  "./html.ts": {
255
310
  "import": "./src/utils/html.js",
256
311
  "default": "./src/utils/html.js",
257
312
  "types": "./src/utils/html.d.ts"
258
313
  },
259
- "./css.ts": {
260
- "import": "./src/utils/css.js",
261
- "default": "./src/utils/css.js",
262
- "types": "./src/utils/css.d.ts"
263
- },
264
314
  "./hash.ts": {
265
315
  "import": "./src/utils/hash.js",
266
316
  "default": "./src/utils/hash.js",
@@ -0,0 +1,39 @@
1
+ # Runtime Adapters
2
+
3
+ This directory contains the runtime-host integration layer for Ecopages.
4
+
5
+ ## Purpose
6
+
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
+
9
+ They are responsible for:
10
+
11
+ - starting and stopping runtime-specific servers or thin hosts
12
+ - delegating startup into framework-owned loaders and services
13
+ - bridging runtime-specific request/response or HMR transport details
14
+ - keeping host/runtime transport details out of generic core orchestration
15
+
16
+ They are not responsible for:
17
+
18
+ - deciding plugin lifecycle ordering
19
+ - owning server-module semantics
20
+ - owning browser bundling policy
21
+ - owning route rendering semantics
22
+
23
+ ## Main Areas
24
+
25
+ - `bun/`: Bun server adapter, lifecycle coordination, bridge, and HMR transport
26
+ - `node/`: internal Node compatibility adapter pieces used by the CLI thin-host path
27
+ - `shared/`: runtime-neutral adapter helpers used by both hosts
28
+
29
+ ## Ownership Boundary
30
+
31
+ The adapter layer is transport-oriented.
32
+
33
+ Core services still own:
34
+
35
+ - config finalization
36
+ - build-manifest assembly
37
+ - server loading
38
+ - invalidation classification
39
+ - route rendering orchestration
@@ -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;
@@ -1,4 +1,9 @@
1
1
  import { appLogger } from "../../global/app-logger.js";
2
+ import {
3
+ getAppModuleLoader,
4
+ setAppHostModuleLoader
5
+ } from "../../services/module-loading/app-server-module-transpiler.service.js";
6
+ import { getHostModuleLoader } from "../../services/module-loading/host-module-loader-registry.js";
2
7
  import { invariant } from "../../utils/invariant.js";
3
8
  import { fileSystem } from "@ecopages/file-system";
4
9
  import { parseCliArgs } from "../../utils/parse-cli-args.js";
@@ -6,20 +11,27 @@ class AbstractApplicationAdapter {
6
11
  appConfig;
7
12
  serverOptions;
8
13
  cliArgs;
14
+ runtimeOptions;
9
15
  apiHandlers = [];
10
16
  staticRoutes = [];
11
17
  errorHandler;
12
18
  constructor(options) {
13
19
  this.appConfig = options.appConfig;
14
20
  this.serverOptions = options.serverOptions || {};
15
- this.cliArgs = parseCliArgs();
21
+ this.runtimeOptions = options.runtime ?? {};
22
+ this.cliArgs = parseCliArgs({ embeddedRuntime: this.runtimeOptions.embedded });
23
+ const hostModuleLoader = this.runtimeOptions.hostModuleLoader ?? (this.runtimeOptions.embedded ? getHostModuleLoader() : void 0);
24
+ if (hostModuleLoader) {
25
+ setAppHostModuleLoader(this.appConfig, hostModuleLoader);
26
+ }
27
+ getAppModuleLoader(this.appConfig);
16
28
  if (options.clearOutput) {
17
29
  this.clearDistFolder().catch((error) => {
18
30
  appLogger.error("Error clearing dist folder", error);
19
31
  });
20
32
  }
21
33
  }
22
- async clearDistFolder(_filter = []) {
34
+ async clearDistFolder() {
23
35
  const distPath = this.appConfig.absolutePaths.distDir;
24
36
  const distExists = fileSystem.exists(distPath);
25
37
  if (!distExists) return;
@@ -6,7 +6,7 @@
6
6
  *
7
7
  * @module RouterAdapter
8
8
  */
9
- import type { Routes } from '../../internal-types.js';
9
+ import type { Routes } from '../../types/internal-types.js';
10
10
  /**
11
11
  * Abstract base class for router adapters across different runtimes
12
12
  */
@@ -6,8 +6,8 @@
6
6
  *
7
7
  * @module ServerAdapter
8
8
  */
9
- import type { EcoPagesAppConfig } from '../../internal-types.js';
10
- import type { ApiHandler } from '../../public-types.js';
9
+ import type { EcoPagesAppConfig } from '../../types/internal-types.js';
10
+ import type { ApiHandler } from '../../types/public-types.js';
11
11
  /**
12
12
  * Configuration options for all server adapters
13
13
  */
@@ -1,5 +1,5 @@
1
1
  import type { ServerWebSocket } from 'bun';
2
- import type { ClientBridgeEvent, IClientBridge } from '../../public-types';
2
+ import type { ClientBridgeEvent, IClientBridge } from '../../types/public-types.js';
3
3
  type BunSocket = ServerWebSocket<unknown>;
4
4
  /**
5
5
  * Manages WebSocket subscribers and broadcasts development events.
@@ -8,18 +8,10 @@
8
8
  * @module EcopagesApp
9
9
  */
10
10
  import type { Server } from 'bun';
11
- import type { EcoPagesAppConfig } from '../../internal-types.js';
12
- import type { ApiHandlerContext, RouteGroupBuilder } from '../../public-types.js';
13
- import { type ApplicationAdapterOptions } from '../abstract/application-adapter.js';
11
+ import type { ApiHandlerContext, RouteGroupBuilder } from '../../types/public-types.js';
14
12
  import { SharedApplicationAdapter } from '../shared/application-adapter.js';
13
+ import type { EcopagesAppOptions } from '../create-app.js';
15
14
  import { type BunServerAdapterResult } from './server-adapter.js';
16
- /**
17
- * Configuration options for the Bun application adapter
18
- */
19
- export interface EcopagesAppOptions extends ApplicationAdapterOptions {
20
- appConfig: EcoPagesAppConfig;
21
- serverOptions?: Record<string, any>;
22
- }
23
15
  /**
24
16
  * Bun-specific route group builder that properly infers route params from path patterns.
25
17
  * When you define a route like `/posts/:slug`, the handler context will have
@@ -34,7 +26,7 @@ export type BunRouteGroupBuilder<WebSocketData = undefined, TContext extends Api
34
26
  * This class extends the {@link AbstractApplicationAdapter}
35
27
  * and provides methods for handling HTTP requests and managing the server.
36
28
  */
37
- export declare class EcopagesApp<WebSocketData = undefined> extends SharedApplicationAdapter<EcopagesAppOptions, Server<WebSocketData>, Request> {
29
+ export declare class BunEcopagesApp<WebSocketData = undefined> extends SharedApplicationAdapter<EcopagesAppOptions, Server<WebSocketData>, Request> {
38
30
  serverAdapter: BunServerAdapterResult | undefined;
39
31
  private server;
40
32
  fetch(request: Request): Promise<Response>;
@@ -57,4 +49,4 @@ export declare class EcopagesApp<WebSocketData = undefined> extends SharedApplic
57
49
  /**
58
50
  * Factory function to create a Bun application
59
51
  */
60
- export declare function createApp<WebSocketData = undefined>(options: EcopagesAppOptions): Promise<EcopagesApp<WebSocketData>>;
52
+ export declare function createApp<WebSocketData = undefined>(options: EcopagesAppOptions): Promise<BunEcopagesApp<WebSocketData>>;
@@ -1,10 +1,9 @@
1
- import { DEFAULT_ECOPAGES_HOSTNAME, DEFAULT_ECOPAGES_PORT } from "../../constants.js";
1
+ import { DEFAULT_ECOPAGES_HOSTNAME, DEFAULT_ECOPAGES_PORT } from "../../config/constants.js";
2
2
  import { appLogger } from "../../global/app-logger.js";
3
3
  import { getBunRuntime } from "../../utils/runtime.js";
4
- import {} from "../abstract/application-adapter.js";
5
4
  import { SharedApplicationAdapter } from "../shared/application-adapter.js";
6
5
  import { createBunServerAdapter } from "./server-adapter.js";
7
- class EcopagesApp extends SharedApplicationAdapter {
6
+ class BunEcopagesApp extends SharedApplicationAdapter {
8
7
  serverAdapter;
9
8
  server = null;
10
9
  async fetch(request) {
@@ -109,9 +108,9 @@ class EcopagesApp extends SharedApplicationAdapter {
109
108
  }
110
109
  }
111
110
  async function createApp(options) {
112
- return new EcopagesApp(options);
111
+ return new BunEcopagesApp(options);
113
112
  }
114
113
  export {
115
- EcopagesApp,
114
+ BunEcopagesApp,
116
115
  createApp
117
116
  };