@ecopages/core 0.2.0-alpha.8 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (357) hide show
  1. package/CHANGELOG.md +18 -11
  2. package/README.md +23 -26
  3. package/package.json +76 -58
  4. package/src/adapters/README.md +2 -2
  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 +4 -4
  13. package/src/adapters/bun/hmr-manager.js +8 -8
  14. package/src/adapters/bun/index.d.ts +1 -1
  15. package/src/adapters/bun/index.js +2 -2
  16. package/src/adapters/bun/server-adapter.d.ts +5 -5
  17. package/src/adapters/bun/server-adapter.js +6 -5
  18. package/src/adapters/bun/server-lifecycle.d.ts +4 -4
  19. package/src/adapters/bun/server-lifecycle.js +2 -2
  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 +1 -5
  23. package/src/adapters/index.js +1 -7
  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 +2 -2
  28. package/src/adapters/node/node-hmr-manager.js +3 -3
  29. package/src/adapters/node/server-adapter.d.ts +4 -4
  30. package/src/adapters/node/server-adapter.js +13 -12
  31. package/src/adapters/node/static-content-server.d.ts +1 -1
  32. package/src/adapters/node/static-content-server.js +1 -1
  33. package/src/adapters/shared/application-adapter.d.ts +1 -1
  34. package/src/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/file-route-middleware-pipeline.d.ts +1 -1
  37. package/src/adapters/shared/fs-server-response-factory.d.ts +2 -2
  38. package/src/adapters/shared/fs-server-response-factory.js +1 -1
  39. package/src/adapters/shared/fs-server-response-matcher.d.ts +1 -1
  40. package/src/adapters/shared/hmr-entrypoint-registrar.js +1 -1
  41. package/src/adapters/shared/hmr-html-response.d.ts +1 -1
  42. package/src/adapters/shared/render-context.d.ts +2 -1
  43. package/src/adapters/shared/render-context.js +3 -1
  44. package/src/adapters/shared/runtime-bootstrap.d.ts +1 -1
  45. package/src/adapters/shared/runtime-bootstrap.js +1 -1
  46. package/src/adapters/shared/server-adapter.d.ts +1 -1
  47. package/src/adapters/shared/server-adapter.js +5 -1
  48. package/src/adapters/shared/server-route-handler.d.ts +4 -4
  49. package/src/adapters/shared/server-route-handler.js +3 -3
  50. package/src/adapters/shared/server-static-builder.d.ts +5 -5
  51. package/src/adapters/shared/server-static-builder.js +5 -4
  52. package/src/build/README.md +19 -13
  53. package/src/build/build-adapter.d.ts +67 -20
  54. package/src/build/build-adapter.js +420 -19
  55. package/src/build/dev-build-coordinator.d.ts +10 -12
  56. package/src/build/dev-build-coordinator.js +8 -15
  57. package/src/build/esbuild-build-adapter.d.ts +6 -0
  58. package/src/build/esbuild-build-adapter.js +94 -11
  59. package/src/build/runtime-build-executor.d.ts +5 -4
  60. package/src/build/runtime-build-executor.js +5 -3
  61. package/src/build/runtime-specifier-alias-plugin.js +19 -15
  62. package/src/build/runtime-specifier-aliases.d.ts +5 -0
  63. package/src/build/runtime-specifier-aliases.js +95 -0
  64. package/src/config/README.md +5 -2
  65. package/src/config/config-builder.d.ts +25 -2
  66. package/src/config/config-builder.js +44 -7
  67. package/src/declarations.d.ts +1 -1
  68. package/src/dev/sc-server.d.ts +1 -1
  69. package/src/dev/sc-server.js +1 -1
  70. package/src/eco/eco.browser.d.ts +2 -0
  71. package/src/eco/eco.browser.js +83 -0
  72. package/src/eco/eco.js +19 -48
  73. package/src/eco/eco.types.d.ts +1 -1
  74. package/src/eco/eco.utils.d.ts +1 -40
  75. package/src/eco/eco.utils.js +5 -35
  76. package/src/eco/global-injector-map.d.ts +1 -1
  77. package/src/eco/lazy-injector-map.d.ts +1 -1
  78. package/src/hmr/hmr-strategy.d.ts +16 -13
  79. package/src/hmr/hmr-strategy.js +22 -7
  80. package/src/hmr/strategies/default-hmr-strategy.d.ts +2 -2
  81. package/src/hmr/strategies/default-hmr-strategy.js +1 -1
  82. package/src/hmr/strategies/js-hmr-strategy.d.ts +2 -2
  83. package/src/hmr/strategies/js-hmr-strategy.js +2 -2
  84. package/src/index.browser.d.ts +2 -2
  85. package/src/index.browser.js +1 -1
  86. package/src/index.d.ts +3 -2
  87. package/src/index.js +15 -4
  88. package/src/integrations/ghtml/ghtml-renderer.d.ts +6 -1
  89. package/src/integrations/ghtml/ghtml-renderer.js +29 -28
  90. package/src/integrations/ghtml/ghtml.plugin.d.ts +2 -2
  91. package/src/integrations/ghtml/ghtml.plugin.js +2 -2
  92. package/src/plugins/README.md +1 -0
  93. package/src/plugins/eco-component-meta-plugin.d.ts +12 -1
  94. package/src/plugins/eco-component-meta-plugin.js +26 -20
  95. package/src/plugins/foreign-jsx-override-plugin.d.ts +31 -0
  96. package/src/plugins/foreign-jsx-override-plugin.js +35 -0
  97. package/src/plugins/integration-plugin.d.ts +99 -33
  98. package/src/plugins/integration-plugin.js +68 -21
  99. package/src/plugins/processor.d.ts +2 -2
  100. package/src/plugins/processor.js +2 -2
  101. package/src/plugins/source-transform.d.ts +46 -0
  102. package/src/plugins/source-transform.js +71 -0
  103. package/src/route-renderer/GRAPH.md +54 -84
  104. package/src/route-renderer/README.md +14 -20
  105. package/src/route-renderer/orchestration/component-render-context.d.ts +83 -0
  106. package/src/route-renderer/orchestration/component-render-context.js +147 -0
  107. package/src/route-renderer/orchestration/integration-renderer.d.ts +233 -76
  108. package/src/route-renderer/orchestration/integration-renderer.js +500 -143
  109. package/src/route-renderer/orchestration/queued-boundary-runtime.service.d.ts +93 -0
  110. package/src/route-renderer/orchestration/queued-boundary-runtime.service.js +155 -0
  111. package/src/route-renderer/orchestration/render-execution.service.d.ts +11 -71
  112. package/src/route-renderer/orchestration/render-execution.service.js +65 -80
  113. package/src/{eco/eco.utils.ts → route-renderer/orchestration/render-output.utils.d.ts} +10 -53
  114. package/src/route-renderer/orchestration/render-output.utils.js +65 -0
  115. package/src/route-renderer/orchestration/render-preparation.service.d.ts +2 -8
  116. package/src/route-renderer/orchestration/render-preparation.service.js +10 -17
  117. package/src/route-renderer/orchestration/template-serialization.d.ts +38 -0
  118. package/src/route-renderer/orchestration/template-serialization.js +45 -0
  119. package/src/route-renderer/page-loading/dependency-resolver.d.ts +2 -2
  120. package/src/route-renderer/page-loading/dependency-resolver.js +10 -8
  121. package/src/route-renderer/page-loading/page-module-loader.d.ts +6 -4
  122. package/src/route-renderer/page-loading/page-module-loader.js +7 -5
  123. package/src/route-renderer/route-renderer.d.ts +5 -3
  124. package/src/route-renderer/route-renderer.js +13 -3
  125. package/src/router/README.md +79 -8
  126. package/src/router/client/navigation-coordinator.js +2 -2
  127. package/src/router/server/fs-router-scanner.d.ts +1 -1
  128. package/src/router/server/fs-router-scanner.js +6 -1
  129. package/src/router/server/fs-router.d.ts +1 -1
  130. package/src/services/assets/asset-processing-service/asset-processing.service.d.ts +3 -3
  131. package/src/services/assets/asset-processing-service/asset-processing.service.js +6 -6
  132. package/src/services/assets/asset-processing-service/asset.factory.d.ts +1 -1
  133. package/src/services/assets/asset-processing-service/asset.factory.js +2 -2
  134. package/src/services/assets/asset-processing-service/index.d.ts +5 -5
  135. package/src/services/assets/asset-processing-service/index.js +5 -5
  136. package/src/services/assets/asset-processing-service/processor.interface.d.ts +2 -2
  137. package/src/services/assets/asset-processing-service/processor.registry.d.ts +2 -2
  138. package/src/services/assets/asset-processing-service/processors/base/base-processor.d.ts +1 -1
  139. package/src/services/assets/asset-processing-service/processors/base/base-processor.js +1 -1
  140. package/src/services/assets/asset-processing-service/processors/base/base-script-processor.d.ts +3 -3
  141. package/src/services/assets/asset-processing-service/processors/base/base-script-processor.js +2 -2
  142. package/src/services/assets/asset-processing-service/processors/index.d.ts +5 -5
  143. package/src/services/assets/asset-processing-service/processors/index.js +5 -5
  144. package/src/services/assets/asset-processing-service/processors/script/content-script.processor.d.ts +2 -2
  145. package/src/services/assets/asset-processing-service/processors/script/content-script.processor.js +1 -1
  146. package/src/services/assets/asset-processing-service/processors/script/file-script.processor.d.ts +4 -3
  147. package/src/services/assets/asset-processing-service/processors/script/file-script.processor.js +15 -3
  148. package/src/services/assets/asset-processing-service/processors/script/node-module-script.processor.d.ts +3 -3
  149. package/src/services/assets/asset-processing-service/processors/script/node-module-script.processor.js +1 -1
  150. package/src/services/assets/asset-processing-service/processors/stylesheet/content-stylesheet.processor.d.ts +2 -2
  151. package/src/services/assets/asset-processing-service/processors/stylesheet/content-stylesheet.processor.js +1 -1
  152. package/src/services/assets/asset-processing-service/processors/stylesheet/file-stylesheet.processor.d.ts +2 -2
  153. package/src/services/assets/asset-processing-service/processors/stylesheet/file-stylesheet.processor.js +1 -1
  154. package/src/services/assets/browser-bundle.service.d.ts +1 -1
  155. package/src/services/assets/browser-bundle.service.js +2 -2
  156. package/src/services/html/html-rewriter-provider.service.js +4 -1
  157. package/src/services/html/html-transformer.service.d.ts +2 -2
  158. package/src/services/html/html-transformer.service.js +4 -10
  159. package/src/services/invalidation/development-invalidation.service.d.ts +1 -1
  160. package/src/services/invalidation/development-invalidation.service.js +1 -0
  161. package/src/services/module-loading/app-module-loader.service.d.ts +25 -0
  162. package/src/services/module-loading/app-module-loader.service.js +31 -0
  163. package/src/services/module-loading/app-server-module-transpiler.service.d.ts +9 -1
  164. package/src/services/module-loading/app-server-module-transpiler.service.js +77 -2
  165. package/src/services/module-loading/host-module-loader-registry.d.ts +4 -0
  166. package/src/services/module-loading/host-module-loader-registry.js +15 -0
  167. package/src/services/module-loading/module-loading-types.d.ts +2 -0
  168. package/src/{adapters/node/bootstrap-dependency-resolver.d.ts → services/module-loading/node-bootstrap-plugin.d.ts} +2 -24
  169. package/src/{adapters/node/bootstrap-dependency-resolver.js → services/module-loading/node-bootstrap-plugin.js} +42 -22
  170. package/src/services/module-loading/page-module-import.service.d.ts +4 -0
  171. package/src/services/module-loading/page-module-import.service.js +38 -9
  172. package/src/services/module-loading/server-module-transpiler.service.d.ts +3 -0
  173. package/src/services/module-loading/server-module-transpiler.service.js +4 -1
  174. package/src/services/runtime-state/dev-graph.service.d.ts +6 -6
  175. package/src/services/runtime-state/dev-graph.service.js +10 -10
  176. package/src/services/runtime-state/entrypoint-dependency-graph.service.d.ts +1 -1
  177. package/src/services/runtime-state/runtime-specifier-registry.service.d.ts +1 -1
  178. package/src/services/runtime-state/server-invalidation-state.service.d.ts +1 -1
  179. package/src/static-site-generator/static-site-generator.d.ts +2 -2
  180. package/src/static-site-generator/static-site-generator.js +1 -1
  181. package/src/{internal-types.d.ts → types/internal-types.d.ts} +24 -14
  182. package/src/{public-types.d.ts → types/public-types.d.ts} +30 -14
  183. package/src/types/public-types.js +0 -0
  184. package/src/utils/html-escaping.d.ts +7 -0
  185. package/src/utils/html-escaping.js +6 -0
  186. package/src/utils/locals-utils.d.ts +1 -1
  187. package/src/utils/parse-cli-args.d.ts +4 -1
  188. package/src/utils/parse-cli-args.js +16 -1
  189. package/src/utils/resolve-work-dir.js +1 -1
  190. package/src/watchers/project-watcher.d.ts +4 -4
  191. package/src/watchers/project-watcher.js +4 -10
  192. package/src/watchers/project-watcher.test-helpers.d.ts +2 -2
  193. package/src/adapters/abstract/application-adapter.ts +0 -337
  194. package/src/adapters/abstract/router-adapter.ts +0 -30
  195. package/src/adapters/abstract/server-adapter.ts +0 -79
  196. package/src/adapters/bun/client-bridge.ts +0 -62
  197. package/src/adapters/bun/create-app.ts +0 -189
  198. package/src/adapters/bun/hmr-manager.ts +0 -409
  199. package/src/adapters/bun/index.ts +0 -2
  200. package/src/adapters/bun/server-adapter.ts +0 -499
  201. package/src/adapters/bun/server-lifecycle.ts +0 -124
  202. package/src/adapters/index.ts +0 -6
  203. package/src/adapters/node/bootstrap-dependency-resolver.ts +0 -301
  204. package/src/adapters/node/create-app.ts +0 -179
  205. package/src/adapters/node/index.d.ts +0 -6
  206. package/src/adapters/node/index.js +0 -11
  207. package/src/adapters/node/index.ts +0 -16
  208. package/src/adapters/node/node-client-bridge.ts +0 -79
  209. package/src/adapters/node/node-hmr-manager.ts +0 -381
  210. package/src/adapters/node/runtime-adapter.d.ts +0 -46
  211. package/src/adapters/node/runtime-adapter.js +0 -306
  212. package/src/adapters/node/runtime-adapter.ts +0 -439
  213. package/src/adapters/node/server-adapter.ts +0 -488
  214. package/src/adapters/node/static-content-server.ts +0 -239
  215. package/src/adapters/node/write-runtime-manifest.d.ts +0 -26
  216. package/src/adapters/node/write-runtime-manifest.js +0 -12
  217. package/src/adapters/node/write-runtime-manifest.ts +0 -38
  218. package/src/adapters/shared/api-response.ts +0 -104
  219. package/src/adapters/shared/application-adapter.ts +0 -199
  220. package/src/adapters/shared/define-api-handler.ts +0 -66
  221. package/src/adapters/shared/explicit-static-route-matcher.ts +0 -140
  222. package/src/adapters/shared/file-route-middleware-pipeline.ts +0 -127
  223. package/src/adapters/shared/fs-server-response-factory.ts +0 -118
  224. package/src/adapters/shared/fs-server-response-matcher.ts +0 -205
  225. package/src/adapters/shared/hmr-entrypoint-registrar.ts +0 -149
  226. package/src/adapters/shared/hmr-html-response.ts +0 -52
  227. package/src/adapters/shared/render-context.ts +0 -120
  228. package/src/adapters/shared/runtime-bootstrap.ts +0 -79
  229. package/src/adapters/shared/server-adapter.ts +0 -489
  230. package/src/adapters/shared/server-route-handler.ts +0 -153
  231. package/src/adapters/shared/server-static-builder.ts +0 -166
  232. package/src/build/build-adapter.ts +0 -361
  233. package/src/build/build-manifest.ts +0 -54
  234. package/src/build/build-types.ts +0 -83
  235. package/src/build/dev-build-coordinator.ts +0 -221
  236. package/src/build/esbuild-build-adapter.ts +0 -559
  237. package/src/build/runtime-build-executor.ts +0 -34
  238. package/src/build/runtime-specifier-alias-plugin.ts +0 -58
  239. package/src/config/config-builder.ts +0 -706
  240. package/src/constants.ts +0 -54
  241. package/src/create-app.ts +0 -87
  242. package/src/dev/sc-server.ts +0 -143
  243. package/src/eco/component-render-context.d.ts +0 -105
  244. package/src/eco/component-render-context.js +0 -87
  245. package/src/eco/component-render-context.ts +0 -224
  246. package/src/eco/eco.ts +0 -242
  247. package/src/eco/eco.types.ts +0 -221
  248. package/src/eco/global-injector-map.ts +0 -112
  249. package/src/eco/lazy-injector-map.ts +0 -120
  250. package/src/eco/module-dependencies.ts +0 -75
  251. package/src/errors/http-error.ts +0 -72
  252. package/src/errors/index.ts +0 -2
  253. package/src/errors/locals-access-error.ts +0 -7
  254. package/src/global/app-logger.ts +0 -4
  255. package/src/hmr/client/hmr-runtime.ts +0 -152
  256. package/src/hmr/hmr-strategy.ts +0 -172
  257. package/src/hmr/hmr.postcss.test.e2e.ts +0 -41
  258. package/src/hmr/hmr.test.e2e.ts +0 -66
  259. package/src/hmr/strategies/default-hmr-strategy.ts +0 -60
  260. package/src/hmr/strategies/js-hmr-strategy.ts +0 -320
  261. package/src/index.browser.ts +0 -3
  262. package/src/index.ts +0 -5
  263. package/src/integrations/ghtml/ghtml-renderer.ts +0 -96
  264. package/src/integrations/ghtml/ghtml.plugin.ts +0 -32
  265. package/src/internal-types.ts +0 -232
  266. package/src/plugins/alias-resolver-plugin.ts +0 -63
  267. package/src/plugins/eco-component-meta-plugin.ts +0 -481
  268. package/src/plugins/integration-plugin.ts +0 -226
  269. package/src/plugins/processor.ts +0 -240
  270. package/src/plugins/runtime-capability.ts +0 -14
  271. package/src/public-types.ts +0 -1317
  272. package/src/route-renderer/component-graph/component-graph-executor.d.ts +0 -32
  273. package/src/route-renderer/component-graph/component-graph-executor.js +0 -31
  274. package/src/route-renderer/component-graph/component-graph-executor.ts +0 -84
  275. package/src/route-renderer/component-graph/component-graph.d.ts +0 -42
  276. package/src/route-renderer/component-graph/component-graph.js +0 -72
  277. package/src/route-renderer/component-graph/component-graph.ts +0 -159
  278. package/src/route-renderer/component-graph/component-marker.d.ts +0 -52
  279. package/src/route-renderer/component-graph/component-marker.js +0 -46
  280. package/src/route-renderer/component-graph/component-marker.ts +0 -117
  281. package/src/route-renderer/component-graph/component-reference.d.ts +0 -10
  282. package/src/route-renderer/component-graph/component-reference.js +0 -19
  283. package/src/route-renderer/component-graph/component-reference.ts +0 -29
  284. package/src/route-renderer/component-graph/marker-graph-resolver.d.ts +0 -77
  285. package/src/route-renderer/component-graph/marker-graph-resolver.js +0 -95
  286. package/src/route-renderer/component-graph/marker-graph-resolver.ts +0 -155
  287. package/src/route-renderer/orchestration/integration-renderer.ts +0 -790
  288. package/src/route-renderer/orchestration/render-execution.service.ts +0 -230
  289. package/src/route-renderer/orchestration/render-preparation.service.ts +0 -476
  290. package/src/route-renderer/page-loading/dependency-resolver.ts +0 -612
  291. package/src/route-renderer/page-loading/page-module-loader.ts +0 -181
  292. package/src/route-renderer/route-renderer.ts +0 -115
  293. package/src/router/client/link-intent.test.browser.ts +0 -51
  294. package/src/router/client/link-intent.ts +0 -92
  295. package/src/router/client/navigation-coordinator.ts +0 -433
  296. package/src/router/server/fs-router-scanner.ts +0 -219
  297. package/src/router/server/fs-router.ts +0 -122
  298. package/src/services/assets/asset-processing-service/asset-processing.service.ts +0 -401
  299. package/src/services/assets/asset-processing-service/asset.factory.ts +0 -105
  300. package/src/services/assets/asset-processing-service/assets.types.ts +0 -113
  301. package/src/services/assets/asset-processing-service/browser-runtime-asset.factory.ts +0 -95
  302. package/src/services/assets/asset-processing-service/browser-runtime-entry.factory.ts +0 -78
  303. package/src/services/assets/asset-processing-service/index.ts +0 -5
  304. package/src/services/assets/asset-processing-service/processor.interface.ts +0 -27
  305. package/src/services/assets/asset-processing-service/processor.registry.ts +0 -18
  306. package/src/services/assets/asset-processing-service/processors/base/base-processor.ts +0 -82
  307. package/src/services/assets/asset-processing-service/processors/base/base-script-processor.ts +0 -95
  308. package/src/services/assets/asset-processing-service/processors/index.ts +0 -5
  309. package/src/services/assets/asset-processing-service/processors/script/content-script.processor.ts +0 -66
  310. package/src/services/assets/asset-processing-service/processors/script/file-script.processor.ts +0 -88
  311. package/src/services/assets/asset-processing-service/processors/script/node-module-script.processor.ts +0 -85
  312. package/src/services/assets/asset-processing-service/processors/stylesheet/content-stylesheet.processor.ts +0 -27
  313. package/src/services/assets/asset-processing-service/processors/stylesheet/file-stylesheet.processor.ts +0 -80
  314. package/src/services/assets/browser-bundle.service.ts +0 -53
  315. package/src/services/cache/cache.types.ts +0 -126
  316. package/src/services/cache/index.ts +0 -18
  317. package/src/services/cache/memory-cache-store.ts +0 -130
  318. package/src/services/cache/page-cache-service.ts +0 -202
  319. package/src/services/cache/page-request-cache-coordinator.service.ts +0 -131
  320. package/src/services/html/html-rewriter-provider.service.ts +0 -103
  321. package/src/services/html/html-transformer.service.ts +0 -279
  322. package/src/services/invalidation/development-invalidation.service.ts +0 -261
  323. package/src/services/module-loading/app-server-module-transpiler.service.ts +0 -52
  324. package/src/services/module-loading/page-module-import.service.ts +0 -200
  325. package/src/services/module-loading/server-loader.service.d.ts +0 -96
  326. package/src/services/module-loading/server-loader.service.js +0 -32
  327. package/src/services/module-loading/server-loader.service.ts +0 -130
  328. package/src/services/module-loading/server-module-transpiler.service.ts +0 -105
  329. package/src/services/runtime-manifest/node-runtime-manifest.service.d.ts +0 -35
  330. package/src/services/runtime-manifest/node-runtime-manifest.service.js +0 -60
  331. package/src/services/runtime-manifest/node-runtime-manifest.service.ts +0 -101
  332. package/src/services/runtime-state/dev-graph.service.ts +0 -217
  333. package/src/services/runtime-state/entrypoint-dependency-graph.service.ts +0 -136
  334. package/src/services/runtime-state/runtime-specifier-registry.service.ts +0 -96
  335. package/src/services/runtime-state/server-invalidation-state.service.ts +0 -68
  336. package/src/services/validation/schema-validation-service.ts +0 -204
  337. package/src/services/validation/standard-schema.types.ts +0 -68
  338. package/src/static-site-generator/static-site-generator.ts +0 -462
  339. package/src/utils/css.d.ts +0 -1
  340. package/src/utils/css.js +0 -7
  341. package/src/utils/css.ts +0 -5
  342. package/src/utils/deep-merge.ts +0 -47
  343. package/src/utils/hash.ts +0 -5
  344. package/src/utils/html.ts +0 -1
  345. package/src/utils/invariant.ts +0 -15
  346. package/src/utils/locals-utils.ts +0 -37
  347. package/src/utils/parse-cli-args.ts +0 -83
  348. package/src/utils/path-utils.module.ts +0 -14
  349. package/src/utils/resolve-work-dir.ts +0 -45
  350. package/src/utils/runtime.ts +0 -44
  351. package/src/utils/server-utils.module.ts +0 -67
  352. package/src/watchers/project-watcher.test-helpers.ts +0 -41
  353. package/src/watchers/project-watcher.ts +0 -363
  354. /package/src/{constants.d.ts → config/constants.d.ts} +0 -0
  355. /package/src/{constants.js → config/constants.js} +0 -0
  356. /package/src/{internal-types.js → services/module-loading/module-loading-types.js} +0 -0
  357. /package/src/{public-types.js → types/internal-types.js} +0 -0
@@ -1,29 +0,0 @@
1
- import type { EcoComponent } from '../../public-types.ts';
2
-
3
- const runtimeComponentRefs = new WeakMap<EcoComponent, string>();
4
- let nextRuntimeComponentRef = 0;
5
-
6
- /**
7
- * Resolves a stable component reference for marker emission and lookup.
8
- *
9
- * Build-time metadata remains the preferred source. When a component is
10
- * imported directly from source on the server and metadata has not been
11
- * injected, fall back to a process-local stable runtime reference so explicit
12
- * request-time rendering can still resolve deferred boundaries.
13
- */
14
- export function getComponentReference(component: EcoComponent): string {
15
- const metadataRef = component.config?.__eco?.id ?? component.config?.__eco?.file;
16
- if (metadataRef) {
17
- return metadataRef;
18
- }
19
-
20
- const existingRef = runtimeComponentRefs.get(component);
21
- if (existingRef) {
22
- return existingRef;
23
- }
24
-
25
- nextRuntimeComponentRef += 1;
26
- const runtimeRef = `eco-runtime-component-${nextRuntimeComponentRef}`;
27
- runtimeComponentRefs.set(component, runtimeRef);
28
- return runtimeRef;
29
- }
@@ -1,77 +0,0 @@
1
- import type { ComponentRenderInput, ComponentRenderResult, EcoComponent } from '../../public-types.js';
2
- import type { ProcessedAsset } from '../../services/assets/asset-processing-service/index.js';
3
- import type { MarkerNodeId } from './component-marker.js';
4
- /**
5
- * Serializable graph-context payload used during post-render marker resolution.
6
- *
7
- * `propsByRef` stores serialized props captured during the first render pass,
8
- * while `slotChildrenByRef` preserves parent-child marker relationships for
9
- * slot-like composition.
10
- */
11
- export type MarkerGraphContext = {
12
- propsByRef?: Record<string, Record<string, unknown>>;
13
- slotChildrenByRef?: Record<string, MarkerNodeId[]>;
14
- };
15
- /**
16
- * Minimal renderer contract needed for deferred component resolution.
17
- *
18
- * The marker graph resolver intentionally depends only on component-level render
19
- * capabilities, not on the full integration renderer abstraction.
20
- */
21
- export interface MarkerGraphComponentRenderer {
22
- renderComponent(input: ComponentRenderInput): Promise<ComponentRenderResult>;
23
- }
24
- export interface MarkerGraphResolverOptions {
25
- html: string;
26
- componentsToResolve: EcoComponent[];
27
- graphContext: MarkerGraphContext;
28
- resolveRenderer: (integrationName: string) => MarkerGraphComponentRenderer;
29
- applyAttributesToFirstElement: (html: string, attributes: Record<string, string>) => string;
30
- }
31
- /**
32
- * Resolves deferred `eco-marker` tokens after the first render pass.
33
- *
34
- * This service owns the second-stage orchestration for cross-integration
35
- * component rendering. It builds a component reference registry, constructs a
36
- * deterministic marker DAG, resolves leaf nodes before parents, and collects any
37
- * component-level assets emitted during that process.
38
- *
39
- * Responsibility split:
40
- * - core resolves marker structure, refs, child ordering, and renderer dispatch
41
- * - the target integration renderer resolves the actual component render through
42
- * `renderComponent()` once the marker has been decoded into component input
43
- */
44
- export declare class MarkerGraphResolver {
45
- /**
46
- * Resolves every marker in the supplied HTML and returns the final HTML plus
47
- * any assets produced by nested component renders.
48
- *
49
- * The resolver is intentionally fail-fast: missing component refs or props refs
50
- * indicate a broken render graph and should surface immediately instead of
51
- * producing partial output.
52
- *
53
- * The resolver does not render integration-specific HTML itself. Instead, it
54
- * reconstructs `ComponentRenderInput` from the marker payload and then delegates
55
- * the actual rendering to the target integration renderer.
56
- *
57
- * @param options Marker graph resolution inputs for one render pass.
58
- * @returns Resolved HTML and collected component assets.
59
- */
60
- resolve(options: MarkerGraphResolverOptions): Promise<{
61
- html: string;
62
- assets: ProcessedAsset[];
63
- }>;
64
- /**
65
- * Builds a reference registry from the root component set and all nested
66
- * declared component dependencies.
67
- *
68
- * Component refs are keyed by build metadata when available, falling back to a
69
- * stable runtime reference for source-imported components. Traversal is depth-
70
- * first and deduplicated by component identity to remain stable in shared
71
- * dependency graphs.
72
- *
73
- * @param components Root components participating in resolution.
74
- * @returns Lookup table from component ref to component definition.
75
- */
76
- private buildComponentRefRegistry;
77
- }
@@ -1,95 +0,0 @@
1
- import { getComponentReference } from "./component-reference.js";
2
- import { extractComponentGraph } from "./component-graph.js";
3
- import { resolveComponentGraph } from "./component-graph-executor.js";
4
- class MarkerGraphResolver {
5
- /**
6
- * Resolves every marker in the supplied HTML and returns the final HTML plus
7
- * any assets produced by nested component renders.
8
- *
9
- * The resolver is intentionally fail-fast: missing component refs or props refs
10
- * indicate a broken render graph and should surface immediately instead of
11
- * producing partial output.
12
- *
13
- * The resolver does not render integration-specific HTML itself. Instead, it
14
- * reconstructs `ComponentRenderInput` from the marker payload and then delegates
15
- * the actual rendering to the target integration renderer.
16
- *
17
- * @param options Marker graph resolution inputs for one render pass.
18
- * @returns Resolved HTML and collected component assets.
19
- */
20
- async resolve(options) {
21
- const registry = this.buildComponentRefRegistry(options.componentsToResolve);
22
- const graph = extractComponentGraph(options.html, options.graphContext.slotChildrenByRef ?? {});
23
- const resolvedNodeHtml = /* @__PURE__ */ new Map();
24
- const assets = [];
25
- const resolvedHtml = await resolveComponentGraph(options.html, graph, async (marker) => {
26
- const component = registry.get(marker.componentRef);
27
- if (!component) {
28
- throw new Error(`[ecopages] Missing component reference for marker: ${marker.componentRef}`);
29
- }
30
- const props = options.graphContext.propsByRef?.[marker.propsRef];
31
- if (!props) {
32
- throw new Error(`[ecopages] Missing props reference for marker: ${marker.propsRef}`);
33
- }
34
- let children;
35
- if (marker.slotRef) {
36
- const childNodeIds = options.graphContext.slotChildrenByRef?.[marker.slotRef] ?? [];
37
- if (childNodeIds.length > 0) {
38
- children = childNodeIds.map((childNodeId) => resolvedNodeHtml.get(childNodeId) ?? "").join("");
39
- }
40
- }
41
- const renderer = options.resolveRenderer(marker.integration);
42
- const componentRender = await renderer.renderComponent({
43
- component,
44
- props,
45
- children,
46
- integrationContext: {
47
- componentInstanceId: marker.nodeId
48
- }
49
- });
50
- if (componentRender.assets?.length) {
51
- assets.push(...componentRender.assets);
52
- }
53
- const htmlWithAttributes = componentRender.canAttachAttributes && componentRender.rootAttributes ? options.applyAttributesToFirstElement(componentRender.html, componentRender.rootAttributes) : componentRender.html;
54
- resolvedNodeHtml.set(marker.nodeId, htmlWithAttributes);
55
- return { html: htmlWithAttributes };
56
- });
57
- return {
58
- html: resolvedHtml,
59
- assets
60
- };
61
- }
62
- /**
63
- * Builds a reference registry from the root component set and all nested
64
- * declared component dependencies.
65
- *
66
- * Component refs are keyed by build metadata when available, falling back to a
67
- * stable runtime reference for source-imported components. Traversal is depth-
68
- * first and deduplicated by component identity to remain stable in shared
69
- * dependency graphs.
70
- *
71
- * @param components Root components participating in resolution.
72
- * @returns Lookup table from component ref to component definition.
73
- */
74
- buildComponentRefRegistry(components) {
75
- const registry = /* @__PURE__ */ new Map();
76
- const stack = [...components];
77
- const seen = /* @__PURE__ */ new Set();
78
- while (stack.length > 0) {
79
- const current = stack.pop();
80
- if (!current || seen.has(current)) {
81
- continue;
82
- }
83
- seen.add(current);
84
- registry.set(getComponentReference(current), current);
85
- const nested = current.config?.dependencies?.components ?? [];
86
- for (const component of nested) {
87
- stack.push(component);
88
- }
89
- }
90
- return registry;
91
- }
92
- }
93
- export {
94
- MarkerGraphResolver
95
- };
@@ -1,155 +0,0 @@
1
- import type { ComponentRenderInput, ComponentRenderResult, EcoComponent } from '../../public-types.ts';
2
- import type { ProcessedAsset } from '../../services/assets/asset-processing-service/index.ts';
3
- import type { MarkerNodeId } from './component-marker.ts';
4
- import { getComponentReference } from './component-reference.ts';
5
- import { extractComponentGraph } from './component-graph.ts';
6
- import { resolveComponentGraph } from './component-graph-executor.ts';
7
-
8
- /**
9
- * Serializable graph-context payload used during post-render marker resolution.
10
- *
11
- * `propsByRef` stores serialized props captured during the first render pass,
12
- * while `slotChildrenByRef` preserves parent-child marker relationships for
13
- * slot-like composition.
14
- */
15
- export type MarkerGraphContext = {
16
- propsByRef?: Record<string, Record<string, unknown>>;
17
- slotChildrenByRef?: Record<string, MarkerNodeId[]>;
18
- };
19
-
20
- /**
21
- * Minimal renderer contract needed for deferred component resolution.
22
- *
23
- * The marker graph resolver intentionally depends only on component-level render
24
- * capabilities, not on the full integration renderer abstraction.
25
- */
26
- export interface MarkerGraphComponentRenderer {
27
- renderComponent(input: ComponentRenderInput): Promise<ComponentRenderResult>;
28
- }
29
-
30
- export interface MarkerGraphResolverOptions {
31
- html: string;
32
- componentsToResolve: EcoComponent[];
33
- graphContext: MarkerGraphContext;
34
- resolveRenderer: (integrationName: string) => MarkerGraphComponentRenderer;
35
- applyAttributesToFirstElement: (html: string, attributes: Record<string, string>) => string;
36
- }
37
-
38
- /**
39
- * Resolves deferred `eco-marker` tokens after the first render pass.
40
- *
41
- * This service owns the second-stage orchestration for cross-integration
42
- * component rendering. It builds a component reference registry, constructs a
43
- * deterministic marker DAG, resolves leaf nodes before parents, and collects any
44
- * component-level assets emitted during that process.
45
- *
46
- * Responsibility split:
47
- * - core resolves marker structure, refs, child ordering, and renderer dispatch
48
- * - the target integration renderer resolves the actual component render through
49
- * `renderComponent()` once the marker has been decoded into component input
50
- */
51
- export class MarkerGraphResolver {
52
- /**
53
- * Resolves every marker in the supplied HTML and returns the final HTML plus
54
- * any assets produced by nested component renders.
55
- *
56
- * The resolver is intentionally fail-fast: missing component refs or props refs
57
- * indicate a broken render graph and should surface immediately instead of
58
- * producing partial output.
59
- *
60
- * The resolver does not render integration-specific HTML itself. Instead, it
61
- * reconstructs `ComponentRenderInput` from the marker payload and then delegates
62
- * the actual rendering to the target integration renderer.
63
- *
64
- * @param options Marker graph resolution inputs for one render pass.
65
- * @returns Resolved HTML and collected component assets.
66
- */
67
- async resolve(options: MarkerGraphResolverOptions): Promise<{ html: string; assets: ProcessedAsset[] }> {
68
- const registry = this.buildComponentRefRegistry(options.componentsToResolve);
69
- const graph = extractComponentGraph(options.html, options.graphContext.slotChildrenByRef ?? {});
70
- const resolvedNodeHtml = new Map<MarkerNodeId, string>();
71
- const assets: ProcessedAsset[] = [];
72
-
73
- const resolvedHtml = await resolveComponentGraph(options.html, graph, async (marker) => {
74
- const component = registry.get(marker.componentRef);
75
- if (!component) {
76
- throw new Error(`[ecopages] Missing component reference for marker: ${marker.componentRef}`);
77
- }
78
-
79
- const props = options.graphContext.propsByRef?.[marker.propsRef];
80
- if (!props) {
81
- throw new Error(`[ecopages] Missing props reference for marker: ${marker.propsRef}`);
82
- }
83
-
84
- let children: string | undefined;
85
- if (marker.slotRef) {
86
- const childNodeIds = options.graphContext.slotChildrenByRef?.[marker.slotRef] ?? [];
87
- if (childNodeIds.length > 0) {
88
- children = childNodeIds.map((childNodeId) => resolvedNodeHtml.get(childNodeId) ?? '').join('');
89
- }
90
- }
91
-
92
- const renderer = options.resolveRenderer(marker.integration);
93
- const componentRender = await renderer.renderComponent({
94
- component,
95
- props,
96
- children,
97
- integrationContext: {
98
- componentInstanceId: marker.nodeId,
99
- },
100
- });
101
-
102
- if (componentRender.assets?.length) {
103
- assets.push(...componentRender.assets);
104
- }
105
-
106
- const htmlWithAttributes =
107
- componentRender.canAttachAttributes && componentRender.rootAttributes
108
- ? options.applyAttributesToFirstElement(componentRender.html, componentRender.rootAttributes)
109
- : componentRender.html;
110
-
111
- resolvedNodeHtml.set(marker.nodeId, htmlWithAttributes);
112
- return { html: htmlWithAttributes };
113
- });
114
-
115
- return {
116
- html: resolvedHtml,
117
- assets,
118
- };
119
- }
120
-
121
- /**
122
- * Builds a reference registry from the root component set and all nested
123
- * declared component dependencies.
124
- *
125
- * Component refs are keyed by build metadata when available, falling back to a
126
- * stable runtime reference for source-imported components. Traversal is depth-
127
- * first and deduplicated by component identity to remain stable in shared
128
- * dependency graphs.
129
- *
130
- * @param components Root components participating in resolution.
131
- * @returns Lookup table from component ref to component definition.
132
- */
133
- private buildComponentRefRegistry(components: EcoComponent[]): Map<string, EcoComponent> {
134
- const registry = new Map<string, EcoComponent>();
135
- const stack = [...components];
136
- const seen = new Set<EcoComponent>();
137
-
138
- while (stack.length > 0) {
139
- const current = stack.pop();
140
- if (!current || seen.has(current)) {
141
- continue;
142
- }
143
- seen.add(current);
144
-
145
- registry.set(getComponentReference(current), current);
146
-
147
- const nested = current.config?.dependencies?.components ?? [];
148
- for (const component of nested) {
149
- stack.push(component);
150
- }
151
- }
152
-
153
- return registry;
154
- }
155
- }