@ecopages/core 0.2.0-alpha.53 → 0.2.0-alpha.54

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 (590) hide show
  1. package/README.md +2 -3
  2. package/package.json +97 -182
  3. package/src/adapters/abstract/application-adapter.test.ts +218 -0
  4. package/src/adapters/abstract/application-adapter.ts +379 -0
  5. package/src/adapters/abstract/router-adapter.ts +30 -0
  6. package/src/adapters/abstract/server-adapter.ts +79 -0
  7. package/src/adapters/bun/client-bridge.ts +62 -0
  8. package/src/adapters/bun/create-app.ts +214 -0
  9. package/src/adapters/bun/hmr-manager.test.ts +265 -0
  10. package/src/adapters/bun/hmr-manager.ts +88 -0
  11. package/src/adapters/bun/index.ts +2 -0
  12. package/src/adapters/bun/runtime-host.ts +76 -0
  13. package/src/adapters/bun/server-adapter.ts +605 -0
  14. package/src/adapters/bun/static-preview-host.ts +70 -0
  15. package/src/adapters/create-app.test.ts +10 -0
  16. package/src/adapters/create-app.ts +91 -0
  17. package/src/adapters/index.ts +2 -0
  18. package/src/adapters/node/create-app.test.ts +76 -0
  19. package/src/adapters/node/create-app.ts +116 -0
  20. package/src/adapters/node/http-request-bridge.test.ts +146 -0
  21. package/src/adapters/node/http-request-bridge.ts +176 -0
  22. package/src/adapters/node/node-client-bridge.test.ts +198 -0
  23. package/src/adapters/node/node-client-bridge.ts +79 -0
  24. package/src/adapters/node/node-hmr-manager.test.ts +374 -0
  25. package/src/adapters/node/node-hmr-manager.ts +72 -0
  26. package/src/adapters/node/runtime-host.test.ts +49 -0
  27. package/src/adapters/node/runtime-host.ts +113 -0
  28. package/src/adapters/node/server-adapter-dependencies.ts +28 -0
  29. package/src/adapters/node/server-adapter.test.ts +84 -0
  30. package/src/adapters/node/server-adapter.ts +423 -0
  31. package/src/adapters/node/static-content-server.test.ts +60 -0
  32. package/src/adapters/node/static-content-server.ts +239 -0
  33. package/src/adapters/node/static-preview-host.test.ts +89 -0
  34. package/src/adapters/node/static-preview-host.ts +101 -0
  35. package/src/adapters/shared/api-response.test.ts +97 -0
  36. package/src/adapters/shared/api-response.ts +104 -0
  37. package/src/adapters/shared/application-adapter.ts +199 -0
  38. package/src/adapters/shared/define-api-handler.ts +66 -0
  39. package/src/adapters/shared/explicit-static-render-preparation.ts +58 -0
  40. package/src/adapters/shared/explicit-static-route-matcher.test.ts +381 -0
  41. package/src/adapters/shared/explicit-static-route-matcher.ts +131 -0
  42. package/src/adapters/shared/file-route-middleware-pipeline.test.ts +85 -0
  43. package/src/adapters/shared/file-route-middleware-pipeline.ts +118 -0
  44. package/src/adapters/shared/fs-server-response-factory.test.ts +176 -0
  45. package/src/adapters/shared/fs-server-response-factory.ts +96 -0
  46. package/src/adapters/shared/fs-server-response-matcher.test.ts +311 -0
  47. package/src/adapters/shared/fs-server-response-matcher.ts +240 -0
  48. package/src/adapters/shared/hmr-entrypoint-registrar.ts +149 -0
  49. package/src/adapters/shared/hmr-html-response.ts +54 -0
  50. package/src/adapters/shared/hmr-manager.contract.test.ts +228 -0
  51. package/src/adapters/shared/hmr-manager.dispatch.test.ts +229 -0
  52. package/src/adapters/shared/render-context.test.ts +244 -0
  53. package/src/adapters/shared/render-context.ts +161 -0
  54. package/src/adapters/shared/runtime-app-bootstrap.test.ts +96 -0
  55. package/src/adapters/shared/runtime-app-bootstrap.ts +72 -0
  56. package/src/adapters/shared/runtime-host.ts +11 -0
  57. package/src/adapters/shared/server-adapter.test.ts +130 -0
  58. package/src/adapters/shared/server-adapter.ts +571 -0
  59. package/src/adapters/shared/server-route-handler.test.ts +112 -0
  60. package/src/adapters/shared/server-route-handler.ts +153 -0
  61. package/src/adapters/shared/server-static-builder.test.ts +338 -0
  62. package/src/adapters/shared/server-static-builder.ts +170 -0
  63. package/src/adapters/shared/shared-hmr-manager.ts +298 -0
  64. package/src/adapters/shared/static-preview-host.ts +12 -0
  65. package/src/build/README.md +57 -73
  66. package/src/build/browser-runtime-manifest.test.ts +121 -0
  67. package/src/build/browser-runtime-manifest.ts +105 -0
  68. package/src/build/browser-runtime-plugin-helpers.test.ts +49 -0
  69. package/src/build/browser-runtime-plugin-helpers.ts +37 -0
  70. package/src/build/browser-runtime-plugin.test.ts +256 -0
  71. package/src/build/browser-runtime-plugin.ts +306 -0
  72. package/src/build/build-adapter.test.ts +463 -0
  73. package/src/build/build-adapter.ts +788 -0
  74. package/src/build/build-manifest.ts +79 -0
  75. package/src/build/build-types.ts +83 -0
  76. package/src/build/rolldown-build-adapter.test.ts +352 -0
  77. package/src/build/rolldown-build-adapter.ts +363 -0
  78. package/src/build/rolldown-plugin-bridge.test.ts +256 -0
  79. package/src/build/rolldown-plugin-bridge.ts +309 -0
  80. package/src/build/runtime-build-executor.test.ts +130 -0
  81. package/src/build/runtime-build-executor.ts +37 -0
  82. package/src/build/runtime-build-output-normalizer.ts +137 -0
  83. package/src/build/serialized-build-executor.test.ts +96 -0
  84. package/src/build/serialized-build-executor.ts +90 -0
  85. package/src/build/server-side-css-shim-plugin.ts +77 -0
  86. package/src/cache/index.ts +6 -0
  87. package/src/cache/module-parse-cache.test.ts +73 -0
  88. package/src/cache/module-parse-cache.ts +137 -0
  89. package/src/config/README.md +1 -1
  90. package/src/config/config-builder.test.ts +456 -0
  91. package/src/config/config-builder.ts +728 -0
  92. package/src/config/config-builder.typecheck.test.ts +96 -0
  93. package/src/config/{constants.d.ts → constants.ts} +22 -13
  94. package/src/dev/host-runtime.ts +34 -0
  95. package/src/dev/sc-server.ts +143 -0
  96. package/src/eco/eco.browser.test.ts +43 -0
  97. package/src/eco/eco.browser.ts +137 -0
  98. package/src/eco/eco.test.ts +781 -0
  99. package/src/eco/eco.ts +262 -0
  100. package/src/eco/eco.types.ts +293 -0
  101. package/src/eco/eco.utils.test.ts +219 -0
  102. package/src/eco/eco.utils.ts +5 -0
  103. package/src/eco/global-injector-map.test.ts +42 -0
  104. package/src/eco/global-injector-map.ts +112 -0
  105. package/src/eco/lazy-injector-map.test.ts +66 -0
  106. package/src/eco/lazy-injector-map.ts +120 -0
  107. package/src/eco/module-dependencies.test.ts +30 -0
  108. package/src/eco/module-dependencies.ts +75 -0
  109. package/src/errors/http-error.test.ts +134 -0
  110. package/src/errors/http-error.ts +72 -0
  111. package/src/errors/index.ts +3 -0
  112. package/src/errors/locals-access-error.ts +7 -0
  113. package/src/global/app-logger.ts +4 -0
  114. package/src/global/utils.test.ts +12 -0
  115. 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
  116. package/src/hmr/client/__screenshots__/hmr-runtime.test.browser.ts/HMR-Runtime-HMR-Server-Integration-should-load-fixture-app-page-1.png +0 -0
  117. package/src/hmr/client/__screenshots__/hmr-runtime.test.browser.ts/HMR-Runtime-WebSocket-Connection-should-connect-to-correct-HMR-endpoint-1.png +0 -0
  118. package/src/hmr/client/hmr-runtime.ts +162 -0
  119. package/src/hmr/hmr-strategy.test.ts +124 -0
  120. package/src/hmr/hmr-strategy.ts +177 -0
  121. package/src/hmr/hmr.postcss.test.e2e.ts +41 -0
  122. package/src/hmr/hmr.test.e2e.ts +66 -0
  123. package/src/hmr/strategies/default-hmr-strategy.ts +60 -0
  124. package/src/hmr/strategies/js-hmr-strategy.test.ts +344 -0
  125. package/src/hmr/strategies/js-hmr-strategy.ts +307 -0
  126. package/src/index.browser.ts +3 -0
  127. package/src/index.ts +15 -0
  128. package/src/integrations/ghtml/ghtml-renderer.test.ts +253 -0
  129. package/src/integrations/ghtml/ghtml-renderer.ts +87 -0
  130. package/src/integrations/ghtml/ghtml.constants.ts +1 -0
  131. package/src/integrations/ghtml/ghtml.plugin.ts +28 -0
  132. package/src/plugins/alias-resolver-cache.test.ts +110 -0
  133. package/src/plugins/alias-resolver-cache.ts +145 -0
  134. package/src/plugins/alias-resolver-plugin.test.ts +41 -0
  135. package/src/plugins/alias-resolver-plugin.ts +75 -0
  136. package/src/plugins/eco-component-meta-plugin.test.ts +421 -0
  137. package/src/plugins/eco-component-meta-plugin.ts +518 -0
  138. package/src/plugins/foreign-jsx-override-plugin.test.ts +65 -0
  139. package/src/plugins/foreign-jsx-override-plugin.ts +76 -0
  140. package/src/plugins/integration-plugin.test.ts +151 -0
  141. package/src/plugins/integration-plugin.ts +344 -0
  142. package/src/plugins/processor.test.ts +148 -0
  143. package/src/plugins/processor.ts +257 -0
  144. package/src/plugins/{runtime-capability.d.ts → runtime-capability.ts} +8 -3
  145. package/src/plugins/source-transform.test.ts +82 -0
  146. package/src/plugins/source-transform.ts +123 -0
  147. package/src/route-renderer/orchestration/component-render-context.ts +338 -0
  148. package/src/route-renderer/orchestration/declared-ownership-graph.ts +62 -0
  149. package/src/route-renderer/orchestration/foreign-subtree-execution.service.ts +431 -0
  150. package/src/route-renderer/orchestration/integration-renderer.test.ts +2251 -0
  151. package/src/route-renderer/orchestration/integration-renderer.ts +1384 -0
  152. package/src/route-renderer/orchestration/ownership-planning.service.ts +97 -0
  153. package/src/route-renderer/orchestration/ownership-validation.service.ts +76 -0
  154. package/src/route-renderer/orchestration/processed-asset-dedupe.ts +29 -0
  155. package/src/route-renderer/orchestration/queued-foreign-subtree-resolution.service.test.ts +435 -0
  156. package/src/route-renderer/orchestration/queued-foreign-subtree-resolution.service.ts +310 -0
  157. package/src/route-renderer/orchestration/render-output.utils.ts +310 -0
  158. package/src/route-renderer/orchestration/route-render-orchestrator.prepare-render-options.test.ts +1365 -0
  159. package/src/route-renderer/orchestration/route-render-orchestrator.test.ts +267 -0
  160. package/src/route-renderer/orchestration/route-render-orchestrator.ts +879 -0
  161. package/src/route-renderer/orchestration/template-serialization.test.ts +110 -0
  162. package/src/route-renderer/orchestration/template-serialization.ts +117 -0
  163. package/src/route-renderer/page-loading/component-dependency-collection.ts +202 -0
  164. package/src/route-renderer/page-loading/declared-asset-collection.ts +153 -0
  165. package/src/route-renderer/page-loading/dependency-resolver.test.ts +761 -0
  166. package/src/route-renderer/page-loading/dependency-resolver.ts +144 -0
  167. package/src/route-renderer/page-loading/ecopages-virtual-imports.ts +75 -0
  168. package/src/route-renderer/page-loading/lazy-entry-collection.ts +167 -0
  169. package/src/route-renderer/page-loading/lazy-trigger-planning.ts +74 -0
  170. package/src/route-renderer/page-loading/module-declaration-aggregation.ts +60 -0
  171. package/src/route-renderer/page-loading/module-declaration-scripts.ts +16 -0
  172. package/src/route-renderer/page-loading/page-dependency-bundling.ts +244 -0
  173. package/src/route-renderer/page-loading/page-module-loader.test.ts +183 -0
  174. package/src/route-renderer/page-loading/page-module-loader.ts +184 -0
  175. package/src/route-renderer/route-renderer.ts +133 -0
  176. package/src/router/client/link-intent.test.browser.ts +51 -0
  177. package/src/router/client/link-intent.ts +92 -0
  178. package/src/router/client/navigation-coordinator.test.ts +237 -0
  179. package/src/router/client/navigation-coordinator.ts +453 -0
  180. package/src/router/server/route-registry.test.ts +176 -0
  181. package/src/router/server/route-registry.ts +382 -0
  182. package/src/services/assets/asset-processing-service/asset-dependency-keys.ts +66 -0
  183. package/src/services/assets/asset-processing-service/asset-processing.service.test.ts +473 -0
  184. package/src/services/assets/asset-processing-service/asset-processing.service.ts +344 -0
  185. package/src/services/assets/asset-processing-service/asset.factory.test.ts +63 -0
  186. package/src/services/assets/asset-processing-service/asset.factory.ts +105 -0
  187. package/src/services/assets/asset-processing-service/assets.types.ts +128 -0
  188. package/src/services/assets/asset-processing-service/browser-runtime-asset.factory.test.ts +74 -0
  189. package/src/services/assets/asset-processing-service/browser-runtime-asset.factory.ts +98 -0
  190. package/src/services/assets/asset-processing-service/browser-runtime-entry.factory.test.ts +67 -0
  191. package/src/services/assets/asset-processing-service/browser-runtime-entry.factory.ts +78 -0
  192. package/src/services/assets/asset-processing-service/grouped-content-bundles.ts +104 -0
  193. package/src/services/assets/asset-processing-service/index.ts +6 -0
  194. package/src/services/assets/asset-processing-service/page-package.test.ts +135 -0
  195. package/src/services/assets/asset-processing-service/page-package.ts +103 -0
  196. package/src/services/assets/asset-processing-service/{processor.interface.d.ts → processor.interface.ts} +10 -5
  197. package/src/services/assets/asset-processing-service/processor.registry.ts +18 -0
  198. package/src/services/assets/asset-processing-service/processors/base/base-processor.test.ts +59 -0
  199. package/src/services/assets/asset-processing-service/processors/base/base-processor.ts +83 -0
  200. package/src/services/assets/asset-processing-service/processors/base/base-script-processor.ts +173 -0
  201. package/src/services/assets/asset-processing-service/processors/index.ts +5 -0
  202. package/src/services/assets/asset-processing-service/processors/script/content-script.processor.test.ts +188 -0
  203. package/src/services/assets/asset-processing-service/processors/script/content-script.processor.ts +138 -0
  204. package/src/services/assets/asset-processing-service/processors/script/file-script.processor.test.ts +326 -0
  205. package/src/services/assets/asset-processing-service/processors/script/file-script.processor.ts +116 -0
  206. package/src/services/assets/asset-processing-service/processors/script/node-module-script.processor.test.ts +270 -0
  207. package/src/services/assets/asset-processing-service/processors/script/node-module-script.processor.ts +145 -0
  208. package/src/services/assets/asset-processing-service/processors/stylesheet/content-stylesheet.processor.test.ts +261 -0
  209. package/src/services/assets/asset-processing-service/processors/stylesheet/content-stylesheet.processor.ts +72 -0
  210. package/src/services/assets/asset-processing-service/processors/stylesheet/file-stylesheet.processor.ts +83 -0
  211. package/src/services/assets/asset-processing-service/ungrouped-dependency-processing.ts +65 -0
  212. package/src/services/assets/browser-bundle.service.test.ts +66 -0
  213. package/src/services/assets/browser-bundle.service.ts +109 -0
  214. package/src/services/cache/cache.types.ts +126 -0
  215. package/src/services/cache/index.ts +18 -0
  216. package/src/services/cache/memory-cache-store.test.ts +225 -0
  217. package/src/services/cache/memory-cache-store.ts +130 -0
  218. package/src/services/cache/page-cache-service.test.ts +175 -0
  219. package/src/services/cache/page-cache-service.ts +202 -0
  220. package/src/services/cache/page-request-cache-coordinator.service.test.ts +79 -0
  221. package/src/services/cache/page-request-cache-coordinator.service.ts +131 -0
  222. package/src/services/html/html-rewriter-provider.service.test.ts +183 -0
  223. package/src/services/html/html-rewriter-provider.service.ts +105 -0
  224. package/src/services/html/html-transformer.service.test.ts +544 -0
  225. package/src/services/html/html-transformer.service.ts +369 -0
  226. package/src/services/invalidation/development-invalidation.service.test.ts +87 -0
  227. package/src/services/invalidation/development-invalidation.service.ts +262 -0
  228. package/src/services/module-loading/app-module-loader.service.ts +9 -0
  229. package/src/services/module-loading/app-server-module-transpiler.service.test.ts +297 -0
  230. package/src/services/module-loading/app-server-module-transpiler.service.ts +168 -0
  231. package/src/services/module-loading/host-module-loader-registry.ts +15 -0
  232. package/src/services/module-loading/{module-loading-types.d.ts → module-loading-types.ts} +1 -0
  233. package/src/services/module-loading/page-module-import.service.test.ts +652 -0
  234. package/src/services/module-loading/page-module-import.service.ts +302 -0
  235. package/src/services/module-loading/server-module-transpiler.service.test.ts +242 -0
  236. package/src/services/module-loading/server-module-transpiler.service.ts +104 -0
  237. package/src/services/module-loading/source-module-support.ts +19 -0
  238. package/src/services/runtime-state/dev-graph.service.ts +217 -0
  239. package/src/services/runtime-state/entrypoint-dependency-graph.service.ts +136 -0
  240. package/src/services/runtime-state/server-invalidation-state.service.ts +68 -0
  241. package/src/services/validation/schema-validation-service.test.ts +223 -0
  242. package/src/services/validation/schema-validation-service.ts +204 -0
  243. package/src/services/validation/{standard-schema.types.d.ts → standard-schema.types.ts} +20 -17
  244. package/src/static-site-generator/static-site-generator.test.ts +408 -0
  245. package/src/static-site-generator/static-site-generator.ts +445 -0
  246. package/src/types/internal-types.ts +243 -0
  247. package/src/types/public-types.ts +1508 -0
  248. package/src/utils/deep-merge.test.ts +114 -0
  249. package/src/utils/deep-merge.ts +47 -0
  250. package/src/utils/hash.ts +5 -0
  251. package/src/utils/html-escaping.ts +9 -0
  252. package/src/utils/invariant.test.ts +22 -0
  253. package/src/utils/invariant.ts +15 -0
  254. package/src/utils/locals-utils.ts +37 -0
  255. package/src/utils/parse-cli-args.test.ts +69 -0
  256. package/src/utils/parse-cli-args.ts +105 -0
  257. package/src/utils/path-utils.module.ts +14 -0
  258. package/src/utils/path-utils.test.ts +15 -0
  259. package/src/utils/resolve-work-dir.ts +45 -0
  260. package/src/utils/runtime.ts +44 -0
  261. package/src/utils/server-utils.module.ts +67 -0
  262. package/src/utils/server-utils.test.ts +38 -0
  263. package/src/watchers/project-watcher.integration.test.ts +337 -0
  264. package/src/watchers/project-watcher.test-helpers.ts +42 -0
  265. package/src/watchers/project-watcher.test.ts +768 -0
  266. package/src/watchers/project-watcher.ts +357 -0
  267. package/src/adapters/abstract/application-adapter.d.ts +0 -194
  268. package/src/adapters/abstract/application-adapter.js +0 -121
  269. package/src/adapters/abstract/router-adapter.d.ts +0 -26
  270. package/src/adapters/abstract/router-adapter.js +0 -5
  271. package/src/adapters/abstract/server-adapter.d.ts +0 -69
  272. package/src/adapters/abstract/server-adapter.js +0 -15
  273. package/src/adapters/bun/client-bridge.d.ts +0 -34
  274. package/src/adapters/bun/client-bridge.js +0 -48
  275. package/src/adapters/bun/create-app.d.ts +0 -60
  276. package/src/adapters/bun/create-app.js +0 -140
  277. package/src/adapters/bun/hmr-manager.d.ts +0 -47
  278. package/src/adapters/bun/hmr-manager.js +0 -58
  279. package/src/adapters/bun/index.d.ts +0 -2
  280. package/src/adapters/bun/index.js +0 -8
  281. package/src/adapters/bun/runtime-host.d.ts +0 -52
  282. package/src/adapters/bun/runtime-host.js +0 -56
  283. package/src/adapters/bun/server-adapter.d.ts +0 -216
  284. package/src/adapters/bun/server-adapter.js +0 -445
  285. package/src/adapters/bun/static-preview-host.d.ts +0 -28
  286. package/src/adapters/bun/static-preview-host.js +0 -45
  287. package/src/adapters/create-app.d.ts +0 -20
  288. package/src/adapters/create-app.js +0 -66
  289. package/src/adapters/index.d.ts +0 -2
  290. package/src/adapters/index.js +0 -8
  291. package/src/adapters/node/create-app.d.ts +0 -24
  292. package/src/adapters/node/create-app.js +0 -92
  293. package/src/adapters/node/http-request-bridge.d.ts +0 -57
  294. package/src/adapters/node/http-request-bridge.js +0 -118
  295. package/src/adapters/node/node-client-bridge.d.ts +0 -26
  296. package/src/adapters/node/node-client-bridge.js +0 -66
  297. package/src/adapters/node/node-hmr-manager.d.ts +0 -52
  298. package/src/adapters/node/node-hmr-manager.js +0 -49
  299. package/src/adapters/node/runtime-host.d.ts +0 -57
  300. package/src/adapters/node/runtime-host.js +0 -92
  301. package/src/adapters/node/server-adapter-dependencies.d.ts +0 -19
  302. package/src/adapters/node/server-adapter-dependencies.js +0 -18
  303. package/src/adapters/node/server-adapter.d.ts +0 -138
  304. package/src/adapters/node/server-adapter.js +0 -315
  305. package/src/adapters/node/static-content-server.d.ts +0 -60
  306. package/src/adapters/node/static-content-server.js +0 -194
  307. package/src/adapters/node/static-preview-host.d.ts +0 -55
  308. package/src/adapters/node/static-preview-host.js +0 -68
  309. package/src/adapters/shared/api-response.d.ts +0 -52
  310. package/src/adapters/shared/api-response.js +0 -96
  311. package/src/adapters/shared/application-adapter.d.ts +0 -18
  312. package/src/adapters/shared/application-adapter.js +0 -90
  313. package/src/adapters/shared/define-api-handler.d.ts +0 -25
  314. package/src/adapters/shared/define-api-handler.js +0 -15
  315. package/src/adapters/shared/explicit-static-render-preparation.d.ts +0 -25
  316. package/src/adapters/shared/explicit-static-render-preparation.js +0 -26
  317. package/src/adapters/shared/explicit-static-route-matcher.d.ts +0 -41
  318. package/src/adapters/shared/explicit-static-route-matcher.js +0 -101
  319. package/src/adapters/shared/file-route-middleware-pipeline.d.ts +0 -62
  320. package/src/adapters/shared/file-route-middleware-pipeline.js +0 -90
  321. package/src/adapters/shared/fs-server-response-factory.d.ts +0 -23
  322. package/src/adapters/shared/fs-server-response-factory.js +0 -81
  323. package/src/adapters/shared/fs-server-response-matcher.d.ts +0 -75
  324. package/src/adapters/shared/fs-server-response-matcher.js +0 -186
  325. package/src/adapters/shared/hmr-entrypoint-registrar.d.ts +0 -55
  326. package/src/adapters/shared/hmr-entrypoint-registrar.js +0 -87
  327. package/src/adapters/shared/hmr-html-response.d.ts +0 -22
  328. package/src/adapters/shared/hmr-html-response.js +0 -33
  329. package/src/adapters/shared/render-context.d.ts +0 -16
  330. package/src/adapters/shared/render-context.js +0 -93
  331. package/src/adapters/shared/runtime-app-bootstrap.d.ts +0 -26
  332. package/src/adapters/shared/runtime-app-bootstrap.js +0 -46
  333. package/src/adapters/shared/runtime-host.d.ts +0 -12
  334. package/src/adapters/shared/runtime-host.js +0 -0
  335. package/src/adapters/shared/server-adapter.d.ts +0 -108
  336. package/src/adapters/shared/server-adapter.js +0 -436
  337. package/src/adapters/shared/server-route-handler.d.ts +0 -89
  338. package/src/adapters/shared/server-route-handler.js +0 -111
  339. package/src/adapters/shared/server-static-builder.d.ts +0 -71
  340. package/src/adapters/shared/server-static-builder.js +0 -100
  341. package/src/adapters/shared/shared-hmr-manager.d.ts +0 -59
  342. package/src/adapters/shared/shared-hmr-manager.js +0 -241
  343. package/src/adapters/shared/static-preview-host.d.ts +0 -10
  344. package/src/adapters/shared/static-preview-host.js +0 -0
  345. package/src/build/browser-runtime-import-rewrite-plugin.d.ts +0 -26
  346. package/src/build/browser-runtime-import-rewrite-plugin.js +0 -165
  347. package/src/build/browser-runtime-manifest.d.ts +0 -31
  348. package/src/build/browser-runtime-manifest.js +0 -61
  349. package/src/build/build-adapter.d.ts +0 -247
  350. package/src/build/build-adapter.js +0 -671
  351. package/src/build/build-manifest.d.ts +0 -33
  352. package/src/build/build-manifest.js +0 -52
  353. package/src/build/build-types.d.ts +0 -57
  354. package/src/build/build-types.js +0 -0
  355. package/src/build/dev-build-coordinator.d.ts +0 -72
  356. package/src/build/dev-build-coordinator.js +0 -154
  357. package/src/build/esbuild-build-adapter.d.ts +0 -79
  358. package/src/build/esbuild-build-adapter.js +0 -521
  359. package/src/build/runtime-build-executor.d.ts +0 -14
  360. package/src/build/runtime-build-executor.js +0 -22
  361. package/src/build/runtime-specifier-alias-plugin.d.ts +0 -15
  362. package/src/build/runtime-specifier-alias-plugin.js +0 -31
  363. package/src/config/config-builder.d.ts +0 -252
  364. package/src/config/config-builder.js +0 -598
  365. package/src/config/constants.js +0 -25
  366. package/src/dev/host-runtime.d.ts +0 -10
  367. package/src/dev/host-runtime.js +0 -24
  368. package/src/dev/sc-server.d.ts +0 -30
  369. package/src/dev/sc-server.js +0 -111
  370. package/src/eco/eco.browser.d.ts +0 -2
  371. package/src/eco/eco.browser.js +0 -88
  372. package/src/eco/eco.d.ts +0 -9
  373. package/src/eco/eco.js +0 -119
  374. package/src/eco/eco.types.d.ts +0 -233
  375. package/src/eco/eco.types.js +0 -0
  376. package/src/eco/eco.utils.d.ts +0 -1
  377. package/src/eco/eco.utils.js +0 -10
  378. package/src/eco/global-injector-map.d.ts +0 -16
  379. package/src/eco/global-injector-map.js +0 -80
  380. package/src/eco/lazy-injector-map.d.ts +0 -8
  381. package/src/eco/lazy-injector-map.js +0 -70
  382. package/src/eco/module-dependencies.d.ts +0 -18
  383. package/src/eco/module-dependencies.js +0 -49
  384. package/src/errors/http-error.d.ts +0 -31
  385. package/src/errors/http-error.js +0 -50
  386. package/src/errors/index.d.ts +0 -3
  387. package/src/errors/index.js +0 -6
  388. package/src/errors/locals-access-error.d.ts +0 -4
  389. package/src/errors/locals-access-error.js +0 -9
  390. package/src/global/app-logger.d.ts +0 -2
  391. package/src/global/app-logger.js +0 -6
  392. package/src/hmr/client/hmr-runtime.d.ts +0 -5
  393. package/src/hmr/client/hmr-runtime.js +0 -117
  394. package/src/hmr/hmr-strategy.d.ts +0 -162
  395. package/src/hmr/hmr-strategy.js +0 -44
  396. package/src/hmr/hmr.postcss.test.e2e.d.ts +0 -1
  397. package/src/hmr/hmr.postcss.test.e2e.js +0 -31
  398. package/src/hmr/hmr.test.e2e.d.ts +0 -1
  399. package/src/hmr/hmr.test.e2e.js +0 -43
  400. package/src/hmr/strategies/default-hmr-strategy.d.ts +0 -43
  401. package/src/hmr/strategies/default-hmr-strategy.js +0 -34
  402. package/src/hmr/strategies/js-hmr-strategy.d.ts +0 -134
  403. package/src/hmr/strategies/js-hmr-strategy.js +0 -173
  404. package/src/index.browser.d.ts +0 -3
  405. package/src/index.browser.js +0 -4
  406. package/src/index.d.ts +0 -6
  407. package/src/index.js +0 -21
  408. package/src/integrations/ghtml/ghtml-renderer.d.ts +0 -16
  409. package/src/integrations/ghtml/ghtml-renderer.js +0 -57
  410. package/src/integrations/ghtml/ghtml.constants.d.ts +0 -1
  411. package/src/integrations/ghtml/ghtml.constants.js +0 -4
  412. package/src/integrations/ghtml/ghtml.plugin.d.ts +0 -16
  413. package/src/integrations/ghtml/ghtml.plugin.js +0 -20
  414. package/src/plugins/alias-resolver-plugin.d.ts +0 -3
  415. package/src/plugins/alias-resolver-plugin.js +0 -61
  416. package/src/plugins/eco-component-meta-plugin.d.ts +0 -108
  417. package/src/plugins/eco-component-meta-plugin.js +0 -175
  418. package/src/plugins/foreign-jsx-override-plugin.d.ts +0 -33
  419. package/src/plugins/foreign-jsx-override-plugin.js +0 -41
  420. package/src/plugins/integration-plugin.d.ts +0 -230
  421. package/src/plugins/integration-plugin.js +0 -201
  422. package/src/plugins/processor.d.ts +0 -97
  423. package/src/plugins/processor.js +0 -141
  424. package/src/plugins/runtime-capability.js +0 -0
  425. package/src/plugins/source-transform.d.ts +0 -46
  426. package/src/plugins/source-transform.js +0 -71
  427. package/src/route-renderer/orchestration/component-render-context.d.ts +0 -97
  428. package/src/route-renderer/orchestration/component-render-context.js +0 -147
  429. package/src/route-renderer/orchestration/declared-ownership-graph.d.ts +0 -18
  430. package/src/route-renderer/orchestration/declared-ownership-graph.js +0 -34
  431. package/src/route-renderer/orchestration/foreign-subtree-execution.service.d.ts +0 -110
  432. package/src/route-renderer/orchestration/foreign-subtree-execution.service.js +0 -233
  433. package/src/route-renderer/orchestration/integration-renderer.d.ts +0 -534
  434. package/src/route-renderer/orchestration/integration-renderer.js +0 -991
  435. package/src/route-renderer/orchestration/ownership-planning.service.d.ts +0 -24
  436. package/src/route-renderer/orchestration/ownership-planning.service.js +0 -63
  437. package/src/route-renderer/orchestration/ownership-validation.service.d.ts +0 -29
  438. package/src/route-renderer/orchestration/ownership-validation.service.js +0 -53
  439. package/src/route-renderer/orchestration/processed-asset-dedupe.d.ts +0 -3
  440. package/src/route-renderer/orchestration/processed-asset-dedupe.js +0 -27
  441. package/src/route-renderer/orchestration/queued-foreign-subtree-resolution.service.d.ts +0 -91
  442. package/src/route-renderer/orchestration/queued-foreign-subtree-resolution.service.js +0 -170
  443. package/src/route-renderer/orchestration/render-output.utils.d.ts +0 -66
  444. package/src/route-renderer/orchestration/render-output.utils.js +0 -171
  445. package/src/route-renderer/orchestration/route-render-orchestrator.d.ts +0 -156
  446. package/src/route-renderer/orchestration/route-render-orchestrator.js +0 -577
  447. package/src/route-renderer/orchestration/template-serialization.d.ts +0 -38
  448. package/src/route-renderer/orchestration/template-serialization.js +0 -45
  449. package/src/route-renderer/page-loading/component-dependency-collection.d.ts +0 -37
  450. package/src/route-renderer/page-loading/component-dependency-collection.js +0 -132
  451. package/src/route-renderer/page-loading/declared-asset-collection.d.ts +0 -24
  452. package/src/route-renderer/page-loading/declared-asset-collection.js +0 -106
  453. package/src/route-renderer/page-loading/dependency-resolver.d.ts +0 -35
  454. package/src/route-renderer/page-loading/dependency-resolver.js +0 -115
  455. package/src/route-renderer/page-loading/ecopages-virtual-imports.d.ts +0 -11
  456. package/src/route-renderer/page-loading/ecopages-virtual-imports.js +0 -57
  457. package/src/route-renderer/page-loading/lazy-entry-collection.d.ts +0 -45
  458. package/src/route-renderer/page-loading/lazy-entry-collection.js +0 -105
  459. package/src/route-renderer/page-loading/lazy-trigger-planning.d.ts +0 -19
  460. package/src/route-renderer/page-loading/lazy-trigger-planning.js +0 -40
  461. package/src/route-renderer/page-loading/module-declaration-aggregation.d.ts +0 -5
  462. package/src/route-renderer/page-loading/module-declaration-aggregation.js +0 -33
  463. package/src/route-renderer/page-loading/module-declaration-scripts.d.ts +0 -3
  464. package/src/route-renderer/page-loading/module-declaration-scripts.js +0 -18
  465. package/src/route-renderer/page-loading/page-dependency-bundling.d.ts +0 -13
  466. package/src/route-renderer/page-loading/page-dependency-bundling.js +0 -137
  467. package/src/route-renderer/page-loading/page-module-loader.d.ts +0 -90
  468. package/src/route-renderer/page-loading/page-module-loader.js +0 -127
  469. package/src/route-renderer/route-renderer.d.ts +0 -69
  470. package/src/route-renderer/route-renderer.js +0 -80
  471. package/src/router/client/link-intent.js +0 -34
  472. package/src/router/client/link-intent.test.browser.d.ts +0 -1
  473. package/src/router/client/link-intent.test.browser.js +0 -43
  474. package/src/router/client/navigation-coordinator.d.ts +0 -169
  475. package/src/router/client/navigation-coordinator.js +0 -215
  476. package/src/router/server/route-registry.d.ts +0 -78
  477. package/src/router/server/route-registry.js +0 -262
  478. package/src/services/assets/asset-processing-service/asset-dependency-keys.d.ts +0 -3
  479. package/src/services/assets/asset-processing-service/asset-dependency-keys.js +0 -56
  480. package/src/services/assets/asset-processing-service/asset-processing.service.d.ts +0 -103
  481. package/src/services/assets/asset-processing-service/asset-processing.service.js +0 -285
  482. package/src/services/assets/asset-processing-service/asset.factory.d.ts +0 -17
  483. package/src/services/assets/asset-processing-service/asset.factory.js +0 -82
  484. package/src/services/assets/asset-processing-service/assets.types.d.ts +0 -103
  485. package/src/services/assets/asset-processing-service/assets.types.js +0 -0
  486. package/src/services/assets/asset-processing-service/browser-runtime-asset.factory.d.ts +0 -57
  487. package/src/services/assets/asset-processing-service/browser-runtime-asset.factory.js +0 -49
  488. package/src/services/assets/asset-processing-service/browser-runtime-entry.factory.d.ts +0 -20
  489. package/src/services/assets/asset-processing-service/browser-runtime-entry.factory.js +0 -41
  490. package/src/services/assets/asset-processing-service/grouped-content-bundles.d.ts +0 -30
  491. package/src/services/assets/asset-processing-service/grouped-content-bundles.js +0 -65
  492. package/src/services/assets/asset-processing-service/index.d.ts +0 -6
  493. package/src/services/assets/asset-processing-service/index.js +0 -6
  494. package/src/services/assets/asset-processing-service/page-package.d.ts +0 -6
  495. package/src/services/assets/asset-processing-service/page-package.js +0 -80
  496. package/src/services/assets/asset-processing-service/processor.interface.js +0 -6
  497. package/src/services/assets/asset-processing-service/processor.registry.d.ts +0 -8
  498. package/src/services/assets/asset-processing-service/processor.registry.js +0 -15
  499. package/src/services/assets/asset-processing-service/processors/base/base-processor.d.ts +0 -24
  500. package/src/services/assets/asset-processing-service/processors/base/base-processor.js +0 -65
  501. package/src/services/assets/asset-processing-service/processors/base/base-script-processor.d.ts +0 -22
  502. package/src/services/assets/asset-processing-service/processors/base/base-script-processor.js +0 -136
  503. package/src/services/assets/asset-processing-service/processors/index.d.ts +0 -5
  504. package/src/services/assets/asset-processing-service/processors/index.js +0 -5
  505. package/src/services/assets/asset-processing-service/processors/script/content-script.processor.d.ts +0 -6
  506. package/src/services/assets/asset-processing-service/processors/script/content-script.processor.js +0 -120
  507. package/src/services/assets/asset-processing-service/processors/script/file-script.processor.d.ts +0 -9
  508. package/src/services/assets/asset-processing-service/processors/script/file-script.processor.js +0 -97
  509. package/src/services/assets/asset-processing-service/processors/script/node-module-script.processor.d.ts +0 -42
  510. package/src/services/assets/asset-processing-service/processors/script/node-module-script.processor.js +0 -126
  511. package/src/services/assets/asset-processing-service/processors/stylesheet/content-stylesheet.processor.d.ts +0 -8
  512. package/src/services/assets/asset-processing-service/processors/stylesheet/content-stylesheet.processor.js +0 -59
  513. package/src/services/assets/asset-processing-service/processors/stylesheet/file-stylesheet.processor.d.ts +0 -9
  514. package/src/services/assets/asset-processing-service/processors/stylesheet/file-stylesheet.processor.js +0 -69
  515. package/src/services/assets/asset-processing-service/ungrouped-dependency-processing.d.ts +0 -18
  516. package/src/services/assets/asset-processing-service/ungrouped-dependency-processing.js +0 -45
  517. package/src/services/assets/browser-bundle.service.d.ts +0 -73
  518. package/src/services/assets/browser-bundle.service.js +0 -41
  519. package/src/services/cache/cache.types.d.ts +0 -107
  520. package/src/services/cache/cache.types.js +0 -0
  521. package/src/services/cache/index.d.ts +0 -7
  522. package/src/services/cache/index.js +0 -7
  523. package/src/services/cache/memory-cache-store.d.ts +0 -42
  524. package/src/services/cache/memory-cache-store.js +0 -98
  525. package/src/services/cache/page-cache-service.d.ts +0 -70
  526. package/src/services/cache/page-cache-service.js +0 -152
  527. package/src/services/cache/page-request-cache-coordinator.service.d.ts +0 -75
  528. package/src/services/cache/page-request-cache-coordinator.service.js +0 -109
  529. package/src/services/html/html-rewriter-provider.service.d.ts +0 -40
  530. package/src/services/html/html-rewriter-provider.service.js +0 -68
  531. package/src/services/html/html-transformer.service.d.ts +0 -96
  532. package/src/services/html/html-transformer.service.js +0 -287
  533. package/src/services/invalidation/development-invalidation.service.d.ts +0 -74
  534. package/src/services/invalidation/development-invalidation.service.js +0 -190
  535. package/src/services/module-loading/app-module-loader.service.d.ts +0 -7
  536. package/src/services/module-loading/app-module-loader.service.js +0 -0
  537. package/src/services/module-loading/app-server-module-transpiler.service.d.ts +0 -24
  538. package/src/services/module-loading/app-server-module-transpiler.service.js +0 -151
  539. package/src/services/module-loading/host-module-loader-registry.d.ts +0 -4
  540. package/src/services/module-loading/host-module-loader-registry.js +0 -15
  541. package/src/services/module-loading/module-loading-types.js +0 -0
  542. package/src/services/module-loading/node-bootstrap-plugin.d.ts +0 -38
  543. package/src/services/module-loading/node-bootstrap-plugin.js +0 -215
  544. package/src/services/module-loading/page-module-import.service.d.ts +0 -95
  545. package/src/services/module-loading/page-module-import.service.js +0 -191
  546. package/src/services/module-loading/server-module-transpiler.service.d.ts +0 -63
  547. package/src/services/module-loading/server-module-transpiler.service.js +0 -64
  548. package/src/services/module-loading/source-module-support.d.ts +0 -5
  549. package/src/services/module-loading/source-module-support.js +0 -8
  550. package/src/services/runtime-state/dev-graph.service.d.ts +0 -118
  551. package/src/services/runtime-state/dev-graph.service.js +0 -162
  552. package/src/services/runtime-state/entrypoint-dependency-graph.service.d.ts +0 -41
  553. package/src/services/runtime-state/entrypoint-dependency-graph.service.js +0 -85
  554. package/src/services/runtime-state/server-invalidation-state.service.d.ts +0 -26
  555. package/src/services/runtime-state/server-invalidation-state.service.js +0 -35
  556. package/src/services/validation/schema-validation-service.d.ts +0 -122
  557. package/src/services/validation/schema-validation-service.js +0 -101
  558. package/src/services/validation/standard-schema.types.js +0 -0
  559. package/src/static-site-generator/static-site-generator.d.ts +0 -104
  560. package/src/static-site-generator/static-site-generator.js +0 -316
  561. package/src/types/internal-types.d.ts +0 -232
  562. package/src/types/internal-types.js +0 -0
  563. package/src/types/public-types.d.ts +0 -1307
  564. package/src/types/public-types.js +0 -0
  565. package/src/utils/deep-merge.d.ts +0 -14
  566. package/src/utils/deep-merge.js +0 -32
  567. package/src/utils/hash.d.ts +0 -1
  568. package/src/utils/hash.js +0 -7
  569. package/src/utils/html-escaping.d.ts +0 -7
  570. package/src/utils/html-escaping.js +0 -6
  571. package/src/utils/html.js +0 -4
  572. package/src/utils/invariant.d.ts +0 -5
  573. package/src/utils/invariant.js +0 -11
  574. package/src/utils/locals-utils.d.ts +0 -15
  575. package/src/utils/locals-utils.js +0 -24
  576. package/src/utils/parse-cli-args.d.ts +0 -27
  577. package/src/utils/parse-cli-args.js +0 -62
  578. package/src/utils/path-utils.module.d.ts +0 -5
  579. package/src/utils/path-utils.module.js +0 -14
  580. package/src/utils/resolve-work-dir.d.ts +0 -11
  581. package/src/utils/resolve-work-dir.js +0 -31
  582. package/src/utils/runtime.d.ts +0 -11
  583. package/src/utils/runtime.js +0 -40
  584. package/src/utils/server-utils.module.d.ts +0 -19
  585. package/src/utils/server-utils.module.js +0 -56
  586. package/src/watchers/project-watcher.d.ts +0 -136
  587. package/src/watchers/project-watcher.js +0 -275
  588. package/src/watchers/project-watcher.test-helpers.d.ts +0 -4
  589. package/src/watchers/project-watcher.test-helpers.js +0 -52
  590. /package/src/utils/{html.d.ts → html.ts} +0 -0
@@ -1,45 +0,0 @@
1
- import { StaticContentServer } from "../../dev/sc-server.js";
2
- import { appLogger } from "../../global/app-logger.js";
3
- class BunStaticPreviewHost {
4
- constructor(previewServerFactory = StaticContentServer, logger = appLogger) {
5
- this.previewServerFactory = previewServerFactory;
6
- this.logger = logger;
7
- }
8
- previewServerFactory;
9
- logger;
10
- previewServer = null;
11
- async start(options) {
12
- await this.stop();
13
- await new Promise((resolve) => setTimeout(resolve, 100));
14
- for (let attempt = 0; attempt < 20; attempt += 1) {
15
- try {
16
- this.previewServer = this.previewServerFactory.createServer({
17
- appConfig: options.appConfig,
18
- options: { port: options.port }
19
- });
20
- const previewPort = this.previewServer.server?.port;
21
- if (previewPort) {
22
- return previewPort;
23
- }
24
- break;
25
- } catch (error) {
26
- const errorMessage = error instanceof Error ? error.message : String(error);
27
- const errorCode = typeof error === "object" && error !== null && "code" in error ? String(error.code) : void 0;
28
- const isPortReleaseRace = errorCode === "EADDRINUSE" || errorMessage.includes("EADDRINUSE");
29
- if (!isPortReleaseRace || attempt === 19) {
30
- throw error;
31
- }
32
- await new Promise((resolve) => setTimeout(resolve, 100));
33
- }
34
- }
35
- this.logger.error("Failed to start preview server");
36
- return null;
37
- }
38
- async stop() {
39
- this.previewServer?.stop();
40
- this.previewServer = null;
41
- }
42
- }
43
- export {
44
- BunStaticPreviewHost
45
- };
@@ -1,20 +0,0 @@
1
- import type { EcoPagesAppConfig } from '../types/internal-types.js';
2
- import { AbstractApplicationAdapter } from './abstract/application-adapter.js';
3
- import type { ApplicationAdapterOptions } from './abstract/application-adapter.js';
4
- import { SharedApplicationAdapter } from './shared/application-adapter.js';
5
- export interface EcopagesAppOptions extends ApplicationAdapterOptions {
6
- appConfig: EcoPagesAppConfig;
7
- serverOptions?: Record<string, any>;
8
- }
9
- export type UniversalEcopagesApp = AbstractApplicationAdapter<EcopagesAppOptions, unknown, Request>;
10
- export declare function createApp<WebSocketData = undefined>(options: EcopagesAppOptions): Promise<UniversalEcopagesApp>;
11
- export declare class EcopagesApp extends SharedApplicationAdapter<EcopagesAppOptions, unknown, Request> {
12
- private readonly appOptions;
13
- private runtimeApp;
14
- private runtimeAppPromise;
15
- constructor(options: EcopagesAppOptions);
16
- private getRuntimeApp;
17
- protected initializeServerAdapter(): Promise<UniversalEcopagesApp>;
18
- start(): Promise<unknown>;
19
- fetch(request: Request): Promise<Response>;
20
- }
@@ -1,66 +0,0 @@
1
- import { AbstractApplicationAdapter } from "./abstract/application-adapter.js";
2
- import { SharedApplicationAdapter } from "./shared/application-adapter.js";
3
- import { createApp as createBunApp } from "./bun/create-app.js";
4
- import { createNodeApp } from "./node/create-app.js";
5
- async function createRuntimeApp(options) {
6
- const bun = globalThis.Bun;
7
- if (bun) {
8
- return await createBunApp(options);
9
- }
10
- return await createNodeApp(options);
11
- }
12
- async function createApp(options) {
13
- return createRuntimeApp(options);
14
- }
15
- class EcopagesApp extends SharedApplicationAdapter {
16
- appOptions;
17
- runtimeApp = null;
18
- runtimeAppPromise = null;
19
- constructor(options) {
20
- super(options);
21
- this.appOptions = options;
22
- }
23
- async getRuntimeApp() {
24
- if (this.runtimeApp) {
25
- return this.runtimeApp;
26
- }
27
- if (!this.runtimeAppPromise) {
28
- this.runtimeAppPromise = createRuntimeApp({
29
- ...this.appOptions,
30
- clearOutput: false
31
- }).then((app) => {
32
- for (const handler of this.apiHandlers) {
33
- app.add(handler);
34
- }
35
- for (const route of this.staticRoutes) {
36
- app.static(route.path, route.loader);
37
- }
38
- if (this.errorHandler) {
39
- app.onError(this.errorHandler);
40
- }
41
- this.runtimeApp = app;
42
- return app;
43
- });
44
- }
45
- return this.runtimeAppPromise;
46
- }
47
- async initializeServerAdapter() {
48
- return this.getRuntimeApp();
49
- }
50
- async start() {
51
- const runtimeApp = await this.getRuntimeApp();
52
- return runtimeApp.start();
53
- }
54
- async fetch(request) {
55
- const runtimeApp = await this.getRuntimeApp();
56
- const candidate = runtimeApp;
57
- if (!candidate.fetch) {
58
- throw new Error("The selected runtime adapter does not expose fetch()");
59
- }
60
- return candidate.fetch(request);
61
- }
62
- }
63
- export {
64
- EcopagesApp,
65
- createApp
66
- };
@@ -1,2 +0,0 @@
1
- export { EcopagesApp, createApp } from './create-app.js';
2
- export { defineApiHandler, defineGroupHandler, type GroupHandler } from './shared/define-api-handler.js';
@@ -1,8 +0,0 @@
1
- import { EcopagesApp, createApp } from "./create-app.js";
2
- import { defineApiHandler, defineGroupHandler } from "./shared/define-api-handler.js";
3
- export {
4
- EcopagesApp,
5
- createApp,
6
- defineApiHandler,
7
- defineGroupHandler
8
- };
@@ -1,24 +0,0 @@
1
- import { SharedApplicationAdapter } from '../shared/application-adapter.js';
2
- import type { RuntimeHost } from '../shared/runtime-host.js';
3
- import type { EcopagesAppOptions } from '../create-app.js';
4
- import { type NodeServerAdapterResult, createNodeServerAdapter } from './server-adapter.js';
5
- import type { NodeServerInstance } from './server-adapter.js';
6
- export declare class NodeEcopagesApp extends SharedApplicationAdapter<EcopagesAppOptions, NodeServerInstance, Request> {
7
- serverAdapter: NodeServerAdapterResult | undefined;
8
- private server;
9
- private runtimeOrigin;
10
- private readonly runtimeHost;
11
- constructor(options: EcopagesAppOptions, dependencies: {
12
- runtimeHost: RuntimeHost<NodeServerInstance, {
13
- port?: number;
14
- hostname?: string;
15
- }>;
16
- });
17
- protected createServerAdapter(params: Parameters<typeof createNodeServerAdapter>[0]): Promise<NodeServerAdapterResult>;
18
- stop(force?: boolean): Promise<void>;
19
- protected initializeServerAdapter(): Promise<NodeServerAdapterResult>;
20
- start(): Promise<NodeServerInstance | void>;
21
- fetch(request: Request): Promise<Response>;
22
- }
23
- export declare function createNodeApp(options: EcopagesAppOptions): Promise<NodeEcopagesApp>;
24
- export declare function createApp(options: EcopagesAppOptions): Promise<NodeEcopagesApp>;
@@ -1,92 +0,0 @@
1
- import { appLogger } from "../../global/app-logger.js";
2
- import { SharedApplicationAdapter } from "../shared/application-adapter.js";
3
- import { resolveRuntimeBinding } from "../shared/runtime-app-bootstrap.js";
4
- import { createNodeServerAdapter } from "./server-adapter.js";
5
- import { NodeHttpRequestBridge } from "./http-request-bridge.js";
6
- import { NodeRuntimeHost } from "./runtime-host.js";
7
- class NodeEcopagesApp extends SharedApplicationAdapter {
8
- serverAdapter;
9
- server = null;
10
- runtimeOrigin = "";
11
- runtimeHost;
12
- constructor(options, dependencies) {
13
- super(options);
14
- this.runtimeHost = dependencies.runtimeHost;
15
- }
16
- createServerAdapter(params) {
17
- return createNodeServerAdapter(params);
18
- }
19
- async stop(force = true) {
20
- if (!this.server) {
21
- return;
22
- }
23
- const activeServer = this.server;
24
- this.server = null;
25
- await this.runtimeHost.stop(activeServer, { force });
26
- }
27
- async initializeServerAdapter() {
28
- const binding = resolveRuntimeBinding({
29
- cliArgs: this.cliArgs,
30
- serverOptions: this.serverOptions
31
- });
32
- this.runtimeOrigin = binding.runtimeOrigin;
33
- return this.createServerAdapter({
34
- runtimeOrigin: this.runtimeOrigin,
35
- appConfig: this.appConfig,
36
- apiHandlers: this.apiHandlers,
37
- staticRoutes: this.staticRoutes,
38
- errorHandler: this.errorHandler,
39
- options: { watch: binding.watch },
40
- serveOptions: binding.serveOptions
41
- });
42
- }
43
- async start() {
44
- if (!this.serverAdapter) {
45
- this.serverAdapter = await this.initializeServerAdapter();
46
- }
47
- if (this.server) {
48
- return this.server;
49
- }
50
- const { build, preview } = this.cliArgs;
51
- if (build || preview) {
52
- appLogger.debugTime("Building static pages");
53
- await this.serverAdapter.buildStatic({ preview });
54
- await this.stop(true);
55
- appLogger.debugTimeEnd("Building static pages");
56
- if (build) {
57
- process.exit(0);
58
- }
59
- return;
60
- }
61
- const serveOptions = this.serverAdapter.getServerOptions();
62
- this.server = await this.runtimeHost.start({
63
- serveOptions,
64
- handleRequest: async (request) => await this.serverAdapter.handleRequest(request),
65
- onError: async () => {
66
- }
67
- });
68
- this.runtimeOrigin = this.runtimeHost.getOrigin(this.server, serveOptions);
69
- await this.serverAdapter.completeInitialization(this.server);
70
- appLogger.info(`Node server running at ${this.runtimeOrigin}`);
71
- return this.server;
72
- }
73
- async fetch(request) {
74
- if (!this.serverAdapter) {
75
- this.serverAdapter = await this.initializeServerAdapter();
76
- }
77
- return this.serverAdapter.handleRequest(request);
78
- }
79
- }
80
- async function createNodeApp(options) {
81
- return new NodeEcopagesApp(options, {
82
- runtimeHost: new NodeRuntimeHost(new NodeHttpRequestBridge())
83
- });
84
- }
85
- async function createApp(options) {
86
- return createNodeApp(options);
87
- }
88
- export {
89
- NodeEcopagesApp,
90
- createApp,
91
- createNodeApp
92
- };
@@ -1,57 +0,0 @@
1
- import type { IncomingMessage, ServerResponse } from 'node:http';
2
- /**
3
- * Signals that the remote client closed the HTTP exchange before the Node
4
- * adapter finished reading or writing the body.
5
- *
6
- * @remarks
7
- * This error represents a transport-level disconnect, not an application
8
- * failure. Higher layers may safely suppress logging for this error when the
9
- * client socket is already gone and no meaningful response can still be sent.
10
- */
11
- export declare class NodeClientAbortError extends Error {
12
- /**
13
- * Creates the canonical Node transport abort error used across request-body
14
- * reads and response-body writes.
15
- */
16
- constructor();
17
- }
18
- /**
19
- * Type guard for the canonical client-abort error used by the Node adapter.
20
- *
21
- * @remarks
22
- * Runtime hosts use this guard before logging so only explicitly classified
23
- * client disconnects are muted. All other failures continue through the normal
24
- * error-reporting path.
25
- */
26
- export declare function isNodeClientAbortError(error: unknown): error is NodeClientAbortError;
27
- /**
28
- * Bridges Node's `IncomingMessage` / `ServerResponse` pair to the Web
29
- * `Request` / `Response` contract used by the shared routing pipeline.
30
- *
31
- * @remarks
32
- * This class is the Node transport boundary. It owns the translation of request
33
- * headers and bodies into Web primitives and the reverse translation of Web
34
- * responses back onto Node streams, including client-abort normalization.
35
- */
36
- export declare class NodeHttpRequestBridge {
37
- /**
38
- * Converts one incoming Node request into the Web `Request` shape consumed by
39
- * the shared server adapter.
40
- *
41
- * @remarks
42
- * Non-GET/HEAD requests retain streaming semantics via a `ReadableStream` so
43
- * large request bodies do not need to be buffered before route handling begins.
44
- */
45
- createWebRequest(req: IncomingMessage, runtimeOrigin: string): Request;
46
- /**
47
- * Sends a Web `Response` through Node's `ServerResponse` without buffering the
48
- * full body in memory first.
49
- *
50
- * @remarks
51
- * Streaming responses matter for large payloads and long-lived transports such
52
- * as server-sent events. The bridge therefore forwards the `ReadableStream`
53
- * directly into the Node writable response instead of materializing an
54
- * intermediate `ArrayBuffer`.
55
- */
56
- sendNodeResponse(res: ServerResponse, response: Response): Promise<void>;
57
- }
@@ -1,118 +0,0 @@
1
- import { Readable } from "node:stream";
2
- import { pipeline } from "node:stream/promises";
3
- class NodeClientAbortError extends Error {
4
- /**
5
- * Creates the canonical Node transport abort error used across request-body
6
- * reads and response-body writes.
7
- */
8
- constructor() {
9
- super("Client closed the request");
10
- this.name = "ClientAbortError";
11
- }
12
- }
13
- function isNodeClientDisconnectCode(code) {
14
- return [
15
- "ECONNRESET",
16
- "EPIPE",
17
- "ERR_STREAM_DESTROYED",
18
- "ERR_STREAM_PREMATURE_CLOSE",
19
- "ERR_STREAM_UNABLE_TO_PIPE"
20
- ].includes(code ?? "");
21
- }
22
- function isNodeClientAbortError(error) {
23
- return error instanceof NodeClientAbortError;
24
- }
25
- function toNodeClientAbortError(error) {
26
- if (error instanceof NodeClientAbortError) {
27
- return error;
28
- }
29
- if (typeof error === "object" && error !== null && "code" in error) {
30
- const code = typeof error.code === "string" ? error.code : void 0;
31
- if (isNodeClientDisconnectCode(code)) {
32
- return new NodeClientAbortError();
33
- }
34
- }
35
- return null;
36
- }
37
- class NodeHttpRequestBridge {
38
- /**
39
- * Converts one incoming Node request into the Web `Request` shape consumed by
40
- * the shared server adapter.
41
- *
42
- * @remarks
43
- * Non-GET/HEAD requests retain streaming semantics via a `ReadableStream` so
44
- * large request bodies do not need to be buffered before route handling begins.
45
- */
46
- createWebRequest(req, runtimeOrigin) {
47
- const url = new URL(req.url ?? "/", runtimeOrigin);
48
- const headers = new Headers();
49
- for (const [key, value] of Object.entries(req.headers)) {
50
- if (Array.isArray(value)) {
51
- for (const item of value) {
52
- headers.append(key, item);
53
- }
54
- continue;
55
- }
56
- if (value !== void 0) {
57
- headers.set(key, value);
58
- }
59
- }
60
- const method = (req.method ?? "GET").toUpperCase();
61
- const requestInit = {
62
- method,
63
- headers
64
- };
65
- if (method !== "GET" && method !== "HEAD") {
66
- const body = new ReadableStream({
67
- start(controller) {
68
- req.on("data", (chunk) => controller.enqueue(chunk));
69
- req.once("end", () => controller.close());
70
- req.once("aborted", () => {
71
- controller.error(new NodeClientAbortError());
72
- });
73
- req.once("error", (err) => {
74
- const isClientAbort = err.code === "ECONNRESET";
75
- controller.error(isClientAbort ? new NodeClientAbortError() : err);
76
- });
77
- },
78
- cancel() {
79
- req.destroy();
80
- }
81
- });
82
- requestInit.body = body;
83
- requestInit.duplex = "half";
84
- }
85
- return new Request(url, requestInit);
86
- }
87
- /**
88
- * Sends a Web `Response` through Node's `ServerResponse` without buffering the
89
- * full body in memory first.
90
- *
91
- * @remarks
92
- * Streaming responses matter for large payloads and long-lived transports such
93
- * as server-sent events. The bridge therefore forwards the `ReadableStream`
94
- * directly into the Node writable response instead of materializing an
95
- * intermediate `ArrayBuffer`.
96
- */
97
- async sendNodeResponse(res, response) {
98
- res.statusCode = response.status;
99
- response.headers.forEach((value, key) => {
100
- res.setHeader(key, value);
101
- });
102
- if (!response.body) {
103
- res.end();
104
- return;
105
- }
106
- const responseBody = response.body;
107
- try {
108
- await pipeline(Readable.fromWeb(responseBody), res);
109
- } catch (error) {
110
- throw toNodeClientAbortError(error) ?? error;
111
- }
112
- }
113
- }
114
- export {
115
- NodeClientAbortError,
116
- NodeHttpRequestBridge,
117
- isNodeClientAbortError
118
- };
@@ -1,26 +0,0 @@
1
- import type { WebSocket } from 'ws';
2
- import type { ClientBridgeEvent, IClientBridge } from '../../types/public-types.js';
3
- export declare class NodeClientBridge implements IClientBridge {
4
- private subscribers;
5
- private heartbeatTimer;
6
- constructor();
7
- /**
8
- * Pings all open subscribers and removes any that are no longer in OPEN state.
9
- * This prevents a slow memory leak caused by zombie connections that never
10
- * send a close event (e.g. abruptly killed browsers, orphaned tabs, network drops).
11
- */
12
- private sweep;
13
- subscribe(ws: WebSocket): void;
14
- unsubscribe(ws: WebSocket): void;
15
- broadcast(event: ClientBridgeEvent): void;
16
- reload(): void;
17
- cssUpdate(path: string): void;
18
- update(path: string): void;
19
- error(message: string): void;
20
- get subscriberCount(): number;
21
- /**
22
- * Stops the heartbeat timer and clears all subscribers.
23
- * Call this when the dev server is shutting down.
24
- */
25
- destroy(): void;
26
- }
@@ -1,66 +0,0 @@
1
- const HEARTBEAT_INTERVAL_MS = 3e4;
2
- class NodeClientBridge {
3
- subscribers = /* @__PURE__ */ new Set();
4
- heartbeatTimer = null;
5
- constructor() {
6
- this.heartbeatTimer = setInterval(() => this.sweep(), HEARTBEAT_INTERVAL_MS);
7
- this.heartbeatTimer.unref?.();
8
- }
9
- /**
10
- * Pings all open subscribers and removes any that are no longer in OPEN state.
11
- * This prevents a slow memory leak caused by zombie connections that never
12
- * send a close event (e.g. abruptly killed browsers, orphaned tabs, network drops).
13
- */
14
- sweep() {
15
- for (const ws of this.subscribers) {
16
- if (ws.readyState !== 1) {
17
- this.subscribers.delete(ws);
18
- continue;
19
- }
20
- ws.ping();
21
- }
22
- }
23
- subscribe(ws) {
24
- this.subscribers.add(ws);
25
- }
26
- unsubscribe(ws) {
27
- this.subscribers.delete(ws);
28
- }
29
- broadcast(event) {
30
- const payload = JSON.stringify(event);
31
- for (const ws of this.subscribers) {
32
- if (ws.readyState === 1) {
33
- ws.send(payload);
34
- }
35
- }
36
- }
37
- reload() {
38
- this.broadcast({ type: "reload" });
39
- }
40
- cssUpdate(path) {
41
- this.broadcast({ type: "css-update", path, timestamp: Date.now() });
42
- }
43
- update(path) {
44
- this.broadcast({ type: "update", path, timestamp: Date.now() });
45
- }
46
- error(message) {
47
- this.broadcast({ type: "error", message });
48
- }
49
- get subscriberCount() {
50
- return this.subscribers.size;
51
- }
52
- /**
53
- * Stops the heartbeat timer and clears all subscribers.
54
- * Call this when the dev server is shutting down.
55
- */
56
- destroy() {
57
- if (this.heartbeatTimer !== null) {
58
- clearInterval(this.heartbeatTimer);
59
- this.heartbeatTimer = null;
60
- }
61
- this.subscribers.clear();
62
- }
63
- }
64
- export {
65
- NodeClientBridge
66
- };
@@ -1,52 +0,0 @@
1
- import type { EcoPagesAppConfig, IClientBridge } from '../../types/internal-types.js';
2
- import { InMemoryEntrypointDependencyGraph, type EntrypointDependencyGraph } from '../../services/runtime-state/entrypoint-dependency-graph.service.js';
3
- import { SharedHmrManager } from '../shared/shared-hmr-manager.js';
4
- export interface NodeHmrManagerParams {
5
- appConfig: EcoPagesAppConfig;
6
- bridge: IClientBridge;
7
- }
8
- /**
9
- * Node development HMR manager.
10
- *
11
- * @remarks
12
- * This manager owns three separate concerns:
13
- * - runtime websocket event fanout
14
- * - entrypoint registration and dedupe
15
- * - strategy coordination for rebuilds and invalidation
16
- *
17
- * The strict page-entrypoint contract lives here: `registerEntrypoint()` is
18
- * reserved for integration-owned page bundles, while generic script assets must
19
- * go through `registerScriptEntrypoint()`.
20
- */
21
- export declare class NodeHmrManager extends SharedHmrManager {
22
- /**
23
- * Creates the Node HMR manager over the shared coordination pipeline.
24
- *
25
- * @remarks
26
- * Unlike Bun, Node keeps websocket subscription wiring in the server adapter,
27
- * so this manager only specializes the shared manager where runtime behavior
28
- * actually differs: dependency-graph storage, missing-file tolerance, and how
29
- * runtime bundle failures disable HMR.
30
- */
31
- constructor({ appConfig, bridge }: NodeHmrManagerParams);
32
- /**
33
- * Reuses the shared in-memory dependency graph when the app already has one and
34
- * otherwise creates the default Node development graph.
35
- */
36
- protected createEntrypointDependencyGraph(existingEntrypointDependencyGraph: EntrypointDependencyGraph): InMemoryEntrypointDependencyGraph;
37
- /**
38
- * Tells the shared HMR manager to ignore missing-file events during Node watch
39
- * mode.
40
- *
41
- * @remarks
42
- * Node file watching can briefly report remove-and-recreate sequences while a
43
- * file is being rewritten. Treating those transient gaps as fatal would disable
44
- * otherwise healthy development sessions.
45
- */
46
- protected shouldSkipMissingFileChange(_filePath: string): boolean;
47
- /**
48
- * Disables HMR after a runtime bundle failure so the Node dev server can keep
49
- * serving requests without repeatedly emitting broken updates.
50
- */
51
- protected onRuntimeBundleFailure(error: unknown): void;
52
- }
@@ -1,49 +0,0 @@
1
- import { appLogger } from "../../global/app-logger.js";
2
- import {
3
- InMemoryEntrypointDependencyGraph
4
- } from "../../services/runtime-state/entrypoint-dependency-graph.service.js";
5
- import { SharedHmrManager } from "../shared/shared-hmr-manager.js";
6
- class NodeHmrManager extends SharedHmrManager {
7
- /**
8
- * Creates the Node HMR manager over the shared coordination pipeline.
9
- *
10
- * @remarks
11
- * Unlike Bun, Node keeps websocket subscription wiring in the server adapter,
12
- * so this manager only specializes the shared manager where runtime behavior
13
- * actually differs: dependency-graph storage, missing-file tolerance, and how
14
- * runtime bundle failures disable HMR.
15
- */
16
- constructor({ appConfig, bridge }) {
17
- super({ appConfig, bridge });
18
- }
19
- /**
20
- * Reuses the shared in-memory dependency graph when the app already has one and
21
- * otherwise creates the default Node development graph.
22
- */
23
- createEntrypointDependencyGraph(existingEntrypointDependencyGraph) {
24
- return existingEntrypointDependencyGraph instanceof InMemoryEntrypointDependencyGraph ? existingEntrypointDependencyGraph : new InMemoryEntrypointDependencyGraph();
25
- }
26
- /**
27
- * Tells the shared HMR manager to ignore missing-file events during Node watch
28
- * mode.
29
- *
30
- * @remarks
31
- * Node file watching can briefly report remove-and-recreate sequences while a
32
- * file is being rewritten. Treating those transient gaps as fatal would disable
33
- * otherwise healthy development sessions.
34
- */
35
- shouldSkipMissingFileChange(_filePath) {
36
- return true;
37
- }
38
- /**
39
- * Disables HMR after a runtime bundle failure so the Node dev server can keep
40
- * serving requests without repeatedly emitting broken updates.
41
- */
42
- onRuntimeBundleFailure(error) {
43
- this.enabled = false;
44
- appLogger.error("[HMR] Failed to build runtime script; continuing with HMR disabled.", error);
45
- }
46
- }
47
- export {
48
- NodeHmrManager
49
- };