@ecopages/core 0.2.0-alpha.4 → 0.2.0-alpha.6

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 (418) hide show
  1. package/README.md +213 -12
  2. package/package.json +100 -188
  3. package/src/adapters/README.md +39 -0
  4. package/src/adapters/bun/hmr-manager.test.ts +267 -0
  5. package/src/adapters/bun/hmr-manager.ts +181 -68
  6. package/src/adapters/bun/index.ts +1 -2
  7. package/src/adapters/bun/server-adapter.ts +41 -34
  8. package/src/adapters/bun/server-lifecycle.ts +40 -70
  9. package/src/adapters/index.ts +1 -1
  10. package/src/adapters/node/bootstrap-dependency-resolver.test.ts +282 -0
  11. package/src/adapters/node/bootstrap-dependency-resolver.ts +301 -0
  12. package/src/adapters/node/index.ts +7 -0
  13. package/src/adapters/node/node-client-bridge.test.ts +198 -0
  14. package/src/adapters/node/node-hmr-manager.test.ts +322 -0
  15. package/src/adapters/node/node-hmr-manager.ts +208 -116
  16. package/src/adapters/node/runtime-adapter.test.ts +868 -0
  17. package/src/adapters/node/runtime-adapter.ts +439 -0
  18. package/src/adapters/node/server-adapter.ts +31 -104
  19. package/src/adapters/node/static-content-server.test.ts +60 -0
  20. package/src/adapters/node/static-content-server.ts +36 -0
  21. package/src/adapters/node/write-runtime-manifest.ts +38 -0
  22. package/src/adapters/shared/api-response.test.ts +97 -0
  23. package/src/{define-api-handler.ts → adapters/shared/define-api-handler.ts} +1 -1
  24. package/src/adapters/shared/explicit-static-route-matcher.test.ts +381 -0
  25. package/src/adapters/shared/explicit-static-route-matcher.ts +7 -1
  26. package/src/adapters/shared/file-route-middleware-pipeline.test.ts +90 -0
  27. package/src/adapters/shared/file-route-middleware-pipeline.ts +6 -2
  28. package/src/adapters/shared/fs-server-response-factory.test.ts +187 -0
  29. package/src/adapters/shared/fs-server-response-matcher.test.ts +286 -0
  30. package/src/adapters/shared/fs-server-response-matcher.ts +17 -10
  31. package/src/adapters/shared/hmr-entrypoint-registrar.ts +149 -0
  32. package/src/adapters/shared/hmr-html-response.ts +52 -0
  33. package/src/adapters/shared/hmr-manager.contract.test.ts +196 -0
  34. package/src/adapters/shared/hmr-manager.dispatch.test.ts +220 -0
  35. package/src/adapters/shared/render-context.test.ts +146 -0
  36. package/src/adapters/shared/render-context.ts +21 -6
  37. package/src/adapters/shared/runtime-bootstrap.ts +79 -0
  38. package/src/adapters/shared/server-adapter.test.ts +77 -0
  39. package/src/adapters/shared/server-adapter.ts +51 -4
  40. package/src/adapters/shared/server-route-handler.test.ts +110 -0
  41. package/src/adapters/shared/server-route-handler.ts +5 -18
  42. package/src/adapters/shared/server-static-builder.test.ts +316 -0
  43. package/src/adapters/shared/server-static-builder.ts +92 -8
  44. package/src/build/README.md +101 -0
  45. package/src/build/build-adapter-serialization.test.ts +268 -0
  46. package/src/build/build-adapter.test.ts +815 -0
  47. package/src/build/build-adapter.ts +235 -6
  48. package/src/build/build-manifest.ts +54 -0
  49. package/src/build/dev-build-coordinator.ts +221 -0
  50. package/src/build/esbuild-build-adapter.ts +132 -83
  51. package/src/build/runtime-build-executor.ts +34 -0
  52. package/src/build/runtime-specifier-alias-plugin.test.ts +43 -0
  53. package/src/build/runtime-specifier-alias-plugin.ts +58 -0
  54. package/src/config/README.md +33 -0
  55. package/src/config/config-builder.test.ts +410 -0
  56. package/src/config/config-builder.ts +281 -49
  57. package/src/constants.ts +15 -0
  58. package/src/declarations.d.ts +18 -13
  59. package/src/eco/README.md +70 -16
  60. package/src/eco/component-render-context.ts +39 -17
  61. package/src/eco/eco.test.ts +678 -0
  62. package/src/eco/eco.ts +29 -8
  63. package/src/eco/eco.types.ts +20 -1
  64. package/src/eco/eco.utils.test.ts +124 -0
  65. package/src/eco/global-injector-map.test.ts +42 -0
  66. package/src/eco/lazy-injector-map.test.ts +66 -0
  67. package/src/eco/module-dependencies.test.ts +30 -0
  68. package/src/errors/http-error.test.ts +134 -0
  69. package/src/global/utils.test.ts +12 -0
  70. package/src/hmr/README.md +26 -0
  71. 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
  72. package/src/hmr/client/__screenshots__/hmr-runtime.test.browser.ts/HMR-Runtime-HMR-Server-Integration-should-load-fixture-app-page-1.png +0 -0
  73. package/src/hmr/client/__screenshots__/hmr-runtime.test.browser.ts/HMR-Runtime-WebSocket-Connection-should-connect-to-correct-HMR-endpoint-1.png +0 -0
  74. package/src/hmr/client/hmr-runtime.ts +38 -7
  75. package/src/hmr/hmr-strategy.test.ts +124 -0
  76. package/src/hmr/hmr.postcss.test.e2e.ts +41 -0
  77. package/src/hmr/hmr.test.e2e.ts +29 -38
  78. package/src/hmr/strategies/js-hmr-strategy.test.ts +335 -0
  79. package/src/hmr/strategies/js-hmr-strategy.ts +115 -115
  80. package/src/index.ts +1 -1
  81. package/src/integrations/ghtml/ghtml-renderer.test.ts +63 -0
  82. package/src/integrations/ghtml/ghtml-renderer.ts +4 -1
  83. package/src/internal-types.ts +39 -19
  84. package/src/plugins/README.md +34 -0
  85. package/src/plugins/alias-resolver-plugin.test.ts +41 -0
  86. package/src/plugins/alias-resolver-plugin.ts +21 -3
  87. package/src/plugins/eco-component-meta-plugin.test.ts +380 -0
  88. package/src/plugins/eco-component-meta-plugin.ts +10 -3
  89. package/src/plugins/integration-plugin.test.ts +111 -0
  90. package/src/plugins/integration-plugin.ts +45 -3
  91. package/src/plugins/processor.test.ts +148 -0
  92. package/src/plugins/processor.ts +22 -2
  93. package/src/plugins/runtime-capability.ts +14 -0
  94. package/src/public-types.ts +73 -16
  95. package/src/route-renderer/GRAPH.md +16 -20
  96. package/src/route-renderer/README.md +8 -21
  97. package/src/route-renderer/component-graph/component-graph-executor.test.ts +41 -0
  98. package/src/route-renderer/component-graph/component-graph.test.ts +63 -0
  99. package/src/route-renderer/component-graph/component-marker.test.ts +73 -0
  100. package/src/route-renderer/component-graph/component-reference.ts +29 -0
  101. package/src/route-renderer/component-graph/marker-graph-resolver.test.ts +135 -0
  102. package/src/route-renderer/{marker-graph-resolver.ts → component-graph/marker-graph-resolver.ts} +11 -9
  103. package/src/route-renderer/orchestration/integration-renderer.test.ts +936 -0
  104. package/src/route-renderer/{integration-renderer.ts → orchestration/integration-renderer.ts} +113 -19
  105. package/src/route-renderer/orchestration/render-execution.service.test.ts +97 -0
  106. package/src/route-renderer/{render-execution.service.ts → orchestration/render-execution.service.ts} +109 -37
  107. package/src/route-renderer/orchestration/render-preparation.service.test.ts +235 -0
  108. package/src/route-renderer/{render-preparation.service.ts → orchestration/render-preparation.service.ts} +127 -9
  109. package/src/route-renderer/page-loading/dependency-resolver.test.ts +345 -0
  110. package/src/route-renderer/{dependency-resolver.ts → page-loading/dependency-resolver.ts} +28 -12
  111. package/src/route-renderer/page-loading/page-module-loader.test.ts +96 -0
  112. package/src/route-renderer/{page-module-loader.ts → page-loading/page-module-loader.ts} +49 -21
  113. package/src/route-renderer/route-renderer.ts +36 -1
  114. package/src/router/README.md +26 -0
  115. package/src/router/client/link-intent.d.ts +53 -0
  116. package/src/router/client/link-intent.test.browser.ts +51 -0
  117. package/src/router/client/link-intent.ts +92 -0
  118. package/src/router/client/navigation-coordinator.test.ts +237 -0
  119. package/src/router/client/navigation-coordinator.ts +433 -0
  120. package/src/router/server/fs-router-scanner.test.ts +83 -0
  121. package/src/router/{fs-router-scanner.ts → server/fs-router-scanner.ts} +12 -10
  122. package/src/router/server/fs-router.test.ts +214 -0
  123. package/src/router/{fs-router.ts → server/fs-router.ts} +2 -2
  124. package/src/services/README.md +29 -0
  125. package/src/services/assets/asset-processing-service/asset-processing.service.test.ts +385 -0
  126. package/src/services/{asset-processing-service → assets/asset-processing-service}/asset-processing.service.ts +101 -6
  127. package/src/services/assets/asset-processing-service/asset.factory.test.ts +63 -0
  128. package/src/services/{asset-processing-service → assets/asset-processing-service}/asset.factory.ts +2 -2
  129. package/src/services/{asset-processing-service → assets/asset-processing-service}/assets.types.ts +2 -1
  130. package/src/services/assets/asset-processing-service/browser-runtime-asset.factory.test.ts +72 -0
  131. package/src/services/assets/asset-processing-service/browser-runtime-asset.factory.ts +95 -0
  132. package/src/services/assets/asset-processing-service/browser-runtime-entry.factory.test.ts +67 -0
  133. package/src/services/assets/asset-processing-service/browser-runtime-entry.factory.ts +78 -0
  134. package/src/services/{asset-processing-service → assets/asset-processing-service}/index.ts +2 -0
  135. package/src/services/{asset-processing-service → assets/asset-processing-service}/processor.interface.ts +1 -1
  136. package/src/services/assets/asset-processing-service/processors/base/base-processor.test.ts +59 -0
  137. package/src/services/{asset-processing-service → assets/asset-processing-service}/processors/base/base-processor.ts +11 -5
  138. package/src/services/{asset-processing-service → assets/asset-processing-service}/processors/base/base-script-processor.ts +17 -27
  139. package/src/services/assets/asset-processing-service/processors/script/file-script.processor.test.ts +286 -0
  140. package/src/services/{asset-processing-service → assets/asset-processing-service}/processors/script/file-script.processor.ts +3 -3
  141. package/src/services/assets/asset-processing-service/processors/script/node-module-script.processor.test.ts +227 -0
  142. package/src/services/{asset-processing-service → assets/asset-processing-service}/processors/script/node-module-script.processor.ts +5 -4
  143. package/src/services/assets/asset-processing-service/processors/stylesheet/content-stylesheet.processor.test.ts +199 -0
  144. package/src/services/{asset-processing-service → assets/asset-processing-service}/processors/stylesheet/file-stylesheet.processor.ts +4 -1
  145. package/src/services/assets/browser-bundle.service.test.ts +36 -0
  146. package/src/services/assets/browser-bundle.service.ts +53 -0
  147. package/src/services/cache/index.ts +3 -3
  148. package/src/services/cache/memory-cache-store.test.ts +225 -0
  149. package/src/services/cache/memory-cache-store.ts +1 -1
  150. package/src/services/cache/page-cache-service.test.ts +175 -0
  151. package/src/services/cache/page-cache-service.ts +3 -3
  152. package/src/services/cache/page-request-cache-coordinator.service.test.ts +79 -0
  153. package/src/services/{page-request-cache-coordinator.service.ts → cache/page-request-cache-coordinator.service.ts} +9 -6
  154. package/src/services/html/html-rewriter-provider.service.test.ts +183 -0
  155. package/src/services/html/html-rewriter-provider.service.ts +103 -0
  156. package/src/services/html/html-transformer.service.test.ts +378 -0
  157. package/src/services/html/html-transformer.service.ts +279 -0
  158. package/src/services/invalidation/development-invalidation.service.test.ts +77 -0
  159. package/src/services/invalidation/development-invalidation.service.ts +261 -0
  160. package/src/services/module-loading/app-server-module-transpiler.service.ts +52 -0
  161. package/src/services/module-loading/page-module-import.service.test.ts +253 -0
  162. package/src/services/module-loading/page-module-import.service.ts +200 -0
  163. package/src/services/module-loading/server-loader.service.test.ts +161 -0
  164. package/src/services/module-loading/server-loader.service.ts +130 -0
  165. package/src/services/module-loading/server-module-transpiler.service.test.ts +115 -0
  166. package/src/services/module-loading/server-module-transpiler.service.ts +105 -0
  167. package/src/services/runtime-manifest/node-runtime-manifest.service.test.ts +95 -0
  168. package/src/services/runtime-manifest/node-runtime-manifest.service.ts +101 -0
  169. package/src/services/runtime-state/dev-graph.service.ts +217 -0
  170. package/src/services/runtime-state/entrypoint-dependency-graph.service.ts +136 -0
  171. package/src/services/runtime-state/runtime-specifier-registry.service.ts +96 -0
  172. package/src/services/runtime-state/server-invalidation-state.service.ts +68 -0
  173. package/src/services/validation/schema-validation-service.test.ts +223 -0
  174. package/src/services/{schema-validation-service.ts → validation/schema-validation-service.ts} +1 -1
  175. package/src/static-site-generator/README.md +26 -0
  176. package/src/static-site-generator/static-site-generator.test.ts +307 -0
  177. package/src/static-site-generator/static-site-generator.ts +109 -6
  178. package/src/utils/deep-merge.test.ts +114 -0
  179. package/src/utils/invariant.test.ts +22 -0
  180. package/src/utils/path-utils.test.ts +15 -0
  181. package/src/utils/resolve-work-dir.ts +45 -0
  182. package/src/utils/server-utils.test.ts +38 -0
  183. package/src/watchers/project-watcher.integration.test.ts +337 -0
  184. package/src/watchers/project-watcher.test-helpers.ts +1 -1
  185. package/src/watchers/project-watcher.test.ts +678 -0
  186. package/src/watchers/project-watcher.ts +130 -111
  187. package/CHANGELOG.md +0 -91
  188. package/src/adapters/abstract/application-adapter.d.ts +0 -168
  189. package/src/adapters/abstract/application-adapter.js +0 -109
  190. package/src/adapters/abstract/router-adapter.d.ts +0 -26
  191. package/src/adapters/abstract/router-adapter.js +0 -5
  192. package/src/adapters/abstract/server-adapter.d.ts +0 -69
  193. package/src/adapters/abstract/server-adapter.js +0 -15
  194. package/src/adapters/bun/client-bridge.d.ts +0 -34
  195. package/src/adapters/bun/client-bridge.js +0 -48
  196. package/src/adapters/bun/create-app.d.ts +0 -60
  197. package/src/adapters/bun/create-app.js +0 -117
  198. package/src/adapters/bun/define-api-handler.d.ts +0 -61
  199. package/src/adapters/bun/define-api-handler.js +0 -15
  200. package/src/adapters/bun/define-api-handler.ts +0 -114
  201. package/src/adapters/bun/hmr-manager.d.ts +0 -85
  202. package/src/adapters/bun/hmr-manager.js +0 -240
  203. package/src/adapters/bun/index.d.ts +0 -3
  204. package/src/adapters/bun/index.js +0 -8
  205. package/src/adapters/bun/server-adapter.d.ts +0 -155
  206. package/src/adapters/bun/server-adapter.js +0 -368
  207. package/src/adapters/bun/server-lifecycle.d.ts +0 -52
  208. package/src/adapters/bun/server-lifecycle.js +0 -120
  209. package/src/adapters/index.d.ts +0 -6
  210. package/src/adapters/index.js +0 -14
  211. package/src/adapters/node/create-app.d.ts +0 -21
  212. package/src/adapters/node/create-app.js +0 -143
  213. package/src/adapters/node/index.d.ts +0 -4
  214. package/src/adapters/node/index.js +0 -8
  215. package/src/adapters/node/node-client-bridge.d.ts +0 -26
  216. package/src/adapters/node/node-client-bridge.js +0 -66
  217. package/src/adapters/node/node-hmr-manager.d.ts +0 -63
  218. package/src/adapters/node/node-hmr-manager.js +0 -237
  219. package/src/adapters/node/server-adapter.d.ts +0 -190
  220. package/src/adapters/node/server-adapter.js +0 -420
  221. package/src/adapters/node/static-content-server.d.ts +0 -24
  222. package/src/adapters/node/static-content-server.js +0 -166
  223. package/src/adapters/shared/api-response.d.ts +0 -52
  224. package/src/adapters/shared/api-response.js +0 -96
  225. package/src/adapters/shared/application-adapter.d.ts +0 -18
  226. package/src/adapters/shared/application-adapter.js +0 -90
  227. package/src/adapters/shared/explicit-static-route-matcher.d.ts +0 -38
  228. package/src/adapters/shared/explicit-static-route-matcher.js +0 -100
  229. package/src/adapters/shared/file-route-middleware-pipeline.d.ts +0 -65
  230. package/src/adapters/shared/file-route-middleware-pipeline.js +0 -98
  231. package/src/adapters/shared/fs-server-response-factory.d.ts +0 -19
  232. package/src/adapters/shared/fs-server-response-factory.js +0 -97
  233. package/src/adapters/shared/fs-server-response-matcher.d.ts +0 -71
  234. package/src/adapters/shared/fs-server-response-matcher.js +0 -155
  235. package/src/adapters/shared/render-context.d.ts +0 -14
  236. package/src/adapters/shared/render-context.js +0 -69
  237. package/src/adapters/shared/server-adapter.d.ts +0 -87
  238. package/src/adapters/shared/server-adapter.js +0 -353
  239. package/src/adapters/shared/server-route-handler.d.ts +0 -89
  240. package/src/adapters/shared/server-route-handler.js +0 -120
  241. package/src/adapters/shared/server-static-builder.d.ts +0 -38
  242. package/src/adapters/shared/server-static-builder.js +0 -46
  243. package/src/build/build-adapter.d.ts +0 -74
  244. package/src/build/build-adapter.js +0 -54
  245. package/src/build/build-types.d.ts +0 -57
  246. package/src/build/build-types.js +0 -0
  247. package/src/build/esbuild-build-adapter.d.ts +0 -69
  248. package/src/build/esbuild-build-adapter.js +0 -390
  249. package/src/config/config-builder.d.ts +0 -227
  250. package/src/config/config-builder.js +0 -392
  251. package/src/constants.d.ts +0 -32
  252. package/src/constants.js +0 -21
  253. package/src/create-app.d.ts +0 -17
  254. package/src/create-app.js +0 -66
  255. package/src/define-api-handler.d.ts +0 -25
  256. package/src/define-api-handler.js +0 -15
  257. package/src/dev/sc-server.d.ts +0 -30
  258. package/src/dev/sc-server.js +0 -111
  259. package/src/eco/component-render-context.d.ts +0 -105
  260. package/src/eco/component-render-context.js +0 -77
  261. package/src/eco/eco.d.ts +0 -9
  262. package/src/eco/eco.js +0 -110
  263. package/src/eco/eco.types.d.ts +0 -170
  264. package/src/eco/eco.types.js +0 -0
  265. package/src/eco/eco.utils.d.ts +0 -40
  266. package/src/eco/eco.utils.js +0 -40
  267. package/src/eco/global-injector-map.d.ts +0 -16
  268. package/src/eco/global-injector-map.js +0 -80
  269. package/src/eco/lazy-injector-map.d.ts +0 -8
  270. package/src/eco/lazy-injector-map.js +0 -70
  271. package/src/eco/module-dependencies.d.ts +0 -18
  272. package/src/eco/module-dependencies.js +0 -49
  273. package/src/errors/http-error.d.ts +0 -31
  274. package/src/errors/http-error.js +0 -50
  275. package/src/errors/index.d.ts +0 -2
  276. package/src/errors/index.js +0 -4
  277. package/src/errors/locals-access-error.d.ts +0 -4
  278. package/src/errors/locals-access-error.js +0 -9
  279. package/src/global/app-logger.d.ts +0 -2
  280. package/src/global/app-logger.js +0 -6
  281. package/src/hmr/client/hmr-runtime.d.ts +0 -10
  282. package/src/hmr/client/hmr-runtime.js +0 -86
  283. package/src/hmr/hmr-strategy.d.ts +0 -159
  284. package/src/hmr/hmr-strategy.js +0 -29
  285. package/src/hmr/hmr.test.e2e.d.ts +0 -1
  286. package/src/hmr/hmr.test.e2e.js +0 -50
  287. package/src/hmr/strategies/default-hmr-strategy.d.ts +0 -43
  288. package/src/hmr/strategies/default-hmr-strategy.js +0 -34
  289. package/src/hmr/strategies/js-hmr-strategy.d.ts +0 -136
  290. package/src/hmr/strategies/js-hmr-strategy.js +0 -188
  291. package/src/index.browser.d.ts +0 -3
  292. package/src/index.browser.js +0 -4
  293. package/src/index.d.ts +0 -5
  294. package/src/index.js +0 -10
  295. package/src/integrations/ghtml/ghtml-renderer.d.ts +0 -15
  296. package/src/integrations/ghtml/ghtml-renderer.js +0 -60
  297. package/src/integrations/ghtml/ghtml.plugin.d.ts +0 -20
  298. package/src/integrations/ghtml/ghtml.plugin.js +0 -21
  299. package/src/internal-types.d.ts +0 -200
  300. package/src/internal-types.js +0 -0
  301. package/src/plugins/alias-resolver-plugin.d.ts +0 -2
  302. package/src/plugins/alias-resolver-plugin.js +0 -39
  303. package/src/plugins/eco-component-meta-plugin.d.ts +0 -95
  304. package/src/plugins/eco-component-meta-plugin.js +0 -157
  305. package/src/plugins/integration-plugin.d.ts +0 -102
  306. package/src/plugins/integration-plugin.js +0 -100
  307. package/src/plugins/processor.d.ts +0 -82
  308. package/src/plugins/processor.js +0 -122
  309. package/src/public-types.d.ts +0 -1098
  310. package/src/public-types.js +0 -0
  311. package/src/route-renderer/component-graph-executor.d.ts +0 -32
  312. package/src/route-renderer/component-graph-executor.js +0 -31
  313. package/src/route-renderer/component-graph.d.ts +0 -42
  314. package/src/route-renderer/component-graph.js +0 -72
  315. package/src/route-renderer/component-marker.d.ts +0 -52
  316. package/src/route-renderer/component-marker.js +0 -46
  317. package/src/route-renderer/dependency-resolver.d.ts +0 -24
  318. package/src/route-renderer/dependency-resolver.js +0 -428
  319. package/src/route-renderer/html-post-processing.service.d.ts +0 -40
  320. package/src/route-renderer/html-post-processing.service.js +0 -86
  321. package/src/route-renderer/html-post-processing.service.ts +0 -103
  322. package/src/route-renderer/integration-renderer.d.ts +0 -339
  323. package/src/route-renderer/integration-renderer.js +0 -526
  324. package/src/route-renderer/marker-graph-resolver.d.ts +0 -76
  325. package/src/route-renderer/marker-graph-resolver.js +0 -93
  326. package/src/route-renderer/page-module-loader.d.ts +0 -61
  327. package/src/route-renderer/page-module-loader.js +0 -102
  328. package/src/route-renderer/render-execution.service.d.ts +0 -69
  329. package/src/route-renderer/render-execution.service.js +0 -91
  330. package/src/route-renderer/render-preparation.service.d.ts +0 -112
  331. package/src/route-renderer/render-preparation.service.js +0 -243
  332. package/src/route-renderer/route-renderer.d.ts +0 -26
  333. package/src/route-renderer/route-renderer.js +0 -68
  334. package/src/router/fs-router-scanner.d.ts +0 -41
  335. package/src/router/fs-router-scanner.js +0 -155
  336. package/src/router/fs-router.d.ts +0 -26
  337. package/src/router/fs-router.js +0 -100
  338. package/src/services/asset-processing-service/asset-processing.service.d.ts +0 -41
  339. package/src/services/asset-processing-service/asset-processing.service.js +0 -250
  340. package/src/services/asset-processing-service/asset.factory.d.ts +0 -17
  341. package/src/services/asset-processing-service/asset.factory.js +0 -82
  342. package/src/services/asset-processing-service/assets.types.d.ts +0 -88
  343. package/src/services/asset-processing-service/assets.types.js +0 -0
  344. package/src/services/asset-processing-service/index.d.ts +0 -3
  345. package/src/services/asset-processing-service/index.js +0 -3
  346. package/src/services/asset-processing-service/processor.interface.d.ts +0 -22
  347. package/src/services/asset-processing-service/processor.interface.js +0 -6
  348. package/src/services/asset-processing-service/processor.registry.d.ts +0 -8
  349. package/src/services/asset-processing-service/processor.registry.js +0 -15
  350. package/src/services/asset-processing-service/processors/base/base-processor.d.ts +0 -24
  351. package/src/services/asset-processing-service/processors/base/base-processor.js +0 -59
  352. package/src/services/asset-processing-service/processors/base/base-script-processor.d.ts +0 -16
  353. package/src/services/asset-processing-service/processors/base/base-script-processor.js +0 -80
  354. package/src/services/asset-processing-service/processors/index.d.ts +0 -5
  355. package/src/services/asset-processing-service/processors/index.js +0 -5
  356. package/src/services/asset-processing-service/processors/script/content-script.processor.d.ts +0 -5
  357. package/src/services/asset-processing-service/processors/script/content-script.processor.js +0 -57
  358. package/src/services/asset-processing-service/processors/script/file-script.processor.d.ts +0 -8
  359. package/src/services/asset-processing-service/processors/script/file-script.processor.js +0 -76
  360. package/src/services/asset-processing-service/processors/script/node-module-script.processor.d.ts +0 -7
  361. package/src/services/asset-processing-service/processors/script/node-module-script.processor.js +0 -74
  362. package/src/services/asset-processing-service/processors/stylesheet/content-stylesheet.processor.d.ts +0 -5
  363. package/src/services/asset-processing-service/processors/stylesheet/content-stylesheet.processor.js +0 -25
  364. package/src/services/asset-processing-service/processors/stylesheet/file-stylesheet.processor.d.ts +0 -9
  365. package/src/services/asset-processing-service/processors/stylesheet/file-stylesheet.processor.js +0 -63
  366. package/src/services/cache/cache.types.d.ts +0 -107
  367. package/src/services/cache/cache.types.js +0 -0
  368. package/src/services/cache/index.d.ts +0 -7
  369. package/src/services/cache/index.js +0 -7
  370. package/src/services/cache/memory-cache-store.d.ts +0 -42
  371. package/src/services/cache/memory-cache-store.js +0 -98
  372. package/src/services/cache/page-cache-service.d.ts +0 -70
  373. package/src/services/cache/page-cache-service.js +0 -152
  374. package/src/services/html-transformer.service.d.ts +0 -50
  375. package/src/services/html-transformer.service.js +0 -163
  376. package/src/services/html-transformer.service.ts +0 -217
  377. package/src/services/page-module-import.service.d.ts +0 -37
  378. package/src/services/page-module-import.service.js +0 -88
  379. package/src/services/page-module-import.service.ts +0 -129
  380. package/src/services/page-request-cache-coordinator.service.d.ts +0 -75
  381. package/src/services/page-request-cache-coordinator.service.js +0 -107
  382. package/src/services/schema-validation-service.d.ts +0 -122
  383. package/src/services/schema-validation-service.js +0 -101
  384. package/src/services/validation/standard-schema.types.d.ts +0 -65
  385. package/src/services/validation/standard-schema.types.js +0 -0
  386. package/src/static-site-generator/static-site-generator.d.ts +0 -57
  387. package/src/static-site-generator/static-site-generator.js +0 -272
  388. package/src/utils/css.d.ts +0 -1
  389. package/src/utils/css.js +0 -7
  390. package/src/utils/deep-merge.d.ts +0 -14
  391. package/src/utils/deep-merge.js +0 -32
  392. package/src/utils/hash.d.ts +0 -1
  393. package/src/utils/hash.js +0 -7
  394. package/src/utils/html.d.ts +0 -1
  395. package/src/utils/html.js +0 -4
  396. package/src/utils/invariant.d.ts +0 -5
  397. package/src/utils/invariant.js +0 -11
  398. package/src/utils/locals-utils.d.ts +0 -15
  399. package/src/utils/locals-utils.js +0 -24
  400. package/src/utils/parse-cli-args.d.ts +0 -24
  401. package/src/utils/parse-cli-args.js +0 -47
  402. package/src/utils/path-utils.module.d.ts +0 -5
  403. package/src/utils/path-utils.module.js +0 -14
  404. package/src/utils/runtime.d.ts +0 -11
  405. package/src/utils/runtime.js +0 -40
  406. package/src/utils/server-utils.module.d.ts +0 -19
  407. package/src/utils/server-utils.module.js +0 -56
  408. package/src/watchers/project-watcher.d.ts +0 -125
  409. package/src/watchers/project-watcher.js +0 -265
  410. package/src/watchers/project-watcher.test-helpers.d.ts +0 -4
  411. package/src/watchers/project-watcher.test-helpers.js +0 -52
  412. /package/src/route-renderer/{component-graph-executor.ts → component-graph/component-graph-executor.ts} +0 -0
  413. /package/src/route-renderer/{component-graph.ts → component-graph/component-graph.ts} +0 -0
  414. /package/src/route-renderer/{component-marker.ts → component-graph/component-marker.ts} +0 -0
  415. /package/src/services/{asset-processing-service → assets/asset-processing-service}/processor.registry.ts +0 -0
  416. /package/src/services/{asset-processing-service → assets/asset-processing-service}/processors/index.ts +0 -0
  417. /package/src/services/{asset-processing-service → assets/asset-processing-service}/processors/script/content-script.processor.ts +0 -0
  418. /package/src/services/{asset-processing-service → assets/asset-processing-service}/processors/stylesheet/content-stylesheet.processor.ts +0 -0
@@ -1,86 +0,0 @@
1
- (function() {
2
- const WS_URL = "ws://" + location.host + "/_hmr";
3
- let socket;
4
- let reconnectAttempts = 0;
5
- function connect() {
6
- socket = new WebSocket(WS_URL);
7
- socket.addEventListener("open", () => {
8
- console.log("[ecopages] HMR Connected");
9
- reconnectAttempts = 0;
10
- });
11
- socket.addEventListener("message", async (event) => {
12
- try {
13
- const payload = JSON.parse(event.data);
14
- handleMessage(payload);
15
- } catch (e) {
16
- console.error("[ecopages] Invalid HMR message:", e);
17
- }
18
- });
19
- socket.addEventListener("close", () => {
20
- if (reconnectAttempts < 10) {
21
- setTimeout(connect, 1e3 * 2 ** reconnectAttempts);
22
- reconnectAttempts++;
23
- }
24
- });
25
- }
26
- async function handleMessage(payload) {
27
- switch (payload.type) {
28
- case "reload":
29
- location.reload();
30
- break;
31
- case "layout-update": {
32
- const reloadFn = window.__ecopages_reload_current_page__;
33
- if (typeof reloadFn === "function") {
34
- await reloadFn({ clearCache: true });
35
- } else {
36
- location.reload();
37
- }
38
- break;
39
- }
40
- case "error":
41
- console.error("[ecopages] HMR Error:", payload.message);
42
- break;
43
- case "update":
44
- if (payload.path) {
45
- await applyUpdate(payload.path, payload.timestamp);
46
- }
47
- break;
48
- case "css-update":
49
- if (payload.path) {
50
- refreshStylesheet(payload.path);
51
- }
52
- break;
53
- }
54
- }
55
- async function applyUpdate(path, timestamp) {
56
- try {
57
- const url = path + "?t=" + (timestamp || Date.now());
58
- const handlers = window.__ecopages_hmr_handlers__;
59
- if (handlers?.[path]) {
60
- await handlers[path](url);
61
- return;
62
- }
63
- await import(url);
64
- const reloadFn = window.__ecopages_reload_current_page__;
65
- if (typeof reloadFn === "function") {
66
- await reloadFn({ clearCache: false });
67
- }
68
- } catch (e) {
69
- console.error("[ecopages] Failed to apply HMR update:", e);
70
- }
71
- }
72
- function refreshStylesheet(path) {
73
- const filename = path.split("/").pop() || "";
74
- const links = document.querySelectorAll('link[rel="stylesheet"]');
75
- links.forEach((link) => {
76
- const href = link.href;
77
- if (href.includes(filename) || href.includes(path.replace(/^.*\/src\//, "/assets/"))) {
78
- const url = new URL(href, location.origin);
79
- url.searchParams.set("t", Date.now().toString());
80
- link.href = url.toString();
81
- console.log("[ecopages] CSS updated:", filename);
82
- }
83
- });
84
- }
85
- connect();
86
- })();
@@ -1,159 +0,0 @@
1
- import type { ClientBridgeEvent } from '../public-types';
2
- /**
3
- * HMR Strategy Pattern
4
- *
5
- * This module defines the base classes and types for Hot Module Replacement strategies.
6
- * Each strategy handles a specific type of file change and determines how to process it.
7
- *
8
- * @module
9
- * @example
10
- * ```typescript
11
- * class CustomHmrStrategy extends HmrStrategy {
12
- * readonly type = HmrStrategyType.INTEGRATION;
13
- *
14
- * matches(filePath: string): boolean {
15
- * return filePath.endsWith('.custom');
16
- * }
17
- *
18
- * async process(filePath: string): Promise<HmrAction> {
19
- * return {
20
- * type: 'broadcast',
21
- * events: [{ type: 'update', path: filePath, timestamp: Date.now() }]
22
- * };
23
- * }
24
- * }
25
-
26
- * Defines the category of an HMR strategy, which determines its execution priority.
27
- * Strategies are evaluated in descending order: INTEGRATION → ASSET → SCRIPT → FALLBACK.
28
- *
29
- * @remarks
30
- * The numeric values represent base priorities. Strategies can fine-tune their priority
31
- * using the `priorityOffset` property.
32
- */
33
- export declare enum HmrStrategyType {
34
- /**
35
- * Integration-specific strategies (React, Lit, etc.)
36
- * Highest priority to allow framework-specific HMR handling.
37
- */
38
- INTEGRATION = 100,
39
- /**
40
- * Asset processing strategies (CSS, images, etc.)
41
- * High priority for specialized asset handling.
42
- */
43
- ASSET = 50,
44
- /**
45
- * Generic script bundling strategies (JS/TS)
46
- * Medium priority for standard script processing.
47
- */
48
- SCRIPT = 25,
49
- /**
50
- * Fallback strategy for unhandled file types.
51
- * Lowest priority, triggers full page reload.
52
- */
53
- FALLBACK = 0
54
- }
55
- /**
56
- * Represents an action to be taken after processing a file change.
57
- */
58
- export interface HmrAction {
59
- /**
60
- * Whether to broadcast an HMR event to connected clients.
61
- */
62
- type: 'broadcast' | 'none';
63
- /**
64
- * The HMR events to broadcast, if type is 'broadcast'.
65
- * capable of broadcasting multiple events at once.
66
- */
67
- events?: ClientBridgeEvent[];
68
- }
69
- /**
70
- * Base class for HMR strategies.
71
- *
72
- * Each strategy handles a specific type of file change and determines how to process it.
73
- * Strategies are selected based on their priority (higher values are evaluated first) and
74
- * whether they match the changed file path.
75
- *
76
- * @remarks
77
- * Strategies should be stateless and idempotent. The same file change should always
78
- * produce the same result when processed by the same strategy.
79
- *
80
- * @example
81
- * ```typescript
82
- * class MyAssetStrategy extends HmrStrategy {
83
- * readonly type = HmrStrategyType.ASSET;
84
- * readonly priorityOffset = 5;
85
- *
86
- * matches(filePath: string): boolean {
87
- * return /\.(png|jpg|svg)$/.test(filePath);
88
- * }
89
- *
90
- * async process(filePath: string): Promise<HmrAction> {
91
- * await this.optimizeImage(filePath);
92
- * return {
93
- * type: 'broadcast',
94
- * events: [{ type: 'update', path: filePath, timestamp: Date.now() }]
95
- * };
96
- * }
97
- * }
98
- * ```
99
- */
100
- export declare abstract class HmrStrategy {
101
- /**
102
- * The category of this strategy, determining its base priority.
103
- */
104
- abstract readonly type: HmrStrategyType;
105
- /**
106
- * Optional offset to fine-tune priority within the same category.
107
- * Useful when multiple strategies share the same type.
108
- *
109
- * @defaultValue 0
110
- */
111
- readonly priorityOffset: number;
112
- /**
113
- * Computed priority for strategy selection.
114
- * Higher values are evaluated first.
115
- *
116
- * @returns The sum of the strategy type and priority offset
117
- */
118
- get priority(): number;
119
- /**
120
- * Determines if this strategy can handle the given file path.
121
- *
122
- * @param filePath - Absolute path to the changed file
123
- * @returns True if this strategy should process the file
124
- *
125
- * @example
126
- * ```typescript
127
- * matches(filePath: string): boolean {
128
- * return filePath.endsWith('.css');
129
- * }
130
- * ```
131
- */
132
- abstract matches(filePath: string): boolean;
133
- /**
134
- * Processes a file change and returns the action to take.
135
- *
136
- * This method may perform side effects such as:
137
- * - Rebuilding files
138
- * - Writing to disk
139
- * - Transforming code
140
- * - Updating caches
141
- *
142
- * @param filePath - Absolute path to the changed file
143
- * @returns Action to take (broadcast event or none)
144
- *
145
- * @example
146
- * ```typescript
147
- * async process(filePath: string): Promise<HmrAction> {
148
- * const processed = await this.transform(filePath);
149
- * await Bun.write(outputPath, processed);
150
- *
151
- * return {
152
- * type: 'broadcast',
153
- * events: [{ type: 'update', path: outputPath, timestamp: Date.now() }]
154
- * };
155
- * }
156
- * ```
157
- */
158
- abstract process(filePath: string): Promise<HmrAction>;
159
- }
@@ -1,29 +0,0 @@
1
- var HmrStrategyType = /* @__PURE__ */ ((HmrStrategyType2) => {
2
- HmrStrategyType2[HmrStrategyType2["INTEGRATION"] = 100] = "INTEGRATION";
3
- HmrStrategyType2[HmrStrategyType2["ASSET"] = 50] = "ASSET";
4
- HmrStrategyType2[HmrStrategyType2["SCRIPT"] = 25] = "SCRIPT";
5
- HmrStrategyType2[HmrStrategyType2["FALLBACK"] = 0] = "FALLBACK";
6
- return HmrStrategyType2;
7
- })(HmrStrategyType || {});
8
- class HmrStrategy {
9
- /**
10
- * Optional offset to fine-tune priority within the same category.
11
- * Useful when multiple strategies share the same type.
12
- *
13
- * @defaultValue 0
14
- */
15
- priorityOffset = 0;
16
- /**
17
- * Computed priority for strategy selection.
18
- * Higher values are evaluated first.
19
- *
20
- * @returns The sum of the strategy type and priority offset
21
- */
22
- get priority() {
23
- return this.type + this.priorityOffset;
24
- }
25
- }
26
- export {
27
- HmrStrategy,
28
- HmrStrategyType
29
- };
@@ -1 +0,0 @@
1
- export {};
@@ -1,50 +0,0 @@
1
- import { test, expect } from "@playwright/test";
2
- import { readFileSync } from "node:fs";
3
- import { writeFile } from "node:fs/promises";
4
- import { resolve } from "node:path";
5
- const FIXTURE_DIR = resolve(process.cwd(), "packages/core/__fixtures__/app");
6
- const TEST_CSS_FILE = resolve(FIXTURE_DIR, "src/pages/index.css");
7
- const BUILT_CSS_FILE = resolve(FIXTURE_DIR, ".eco/assets/pages/index.css");
8
- const TEST_URL = "http://localhost:3002";
9
- test.describe("HMR E2E", () => {
10
- test("should load page with .main-title element", async ({ page }) => {
11
- await page.goto(TEST_URL, { waitUntil: "networkidle" });
12
- const title = page.locator(".main-title").first();
13
- await expect(title).toBeVisible();
14
- });
15
- test("should connect to HMR WebSocket", async ({ page }) => {
16
- await page.goto(TEST_URL);
17
- const connected = await page.evaluate(async () => {
18
- return new Promise((resolve2) => {
19
- const ws = new WebSocket("ws://localhost:3002/_hmr");
20
- ws.onopen = () => {
21
- ws.close();
22
- resolve2(true);
23
- };
24
- ws.onerror = () => resolve2(false);
25
- setTimeout(() => resolve2(false), 5e3);
26
- });
27
- });
28
- expect(connected).toBe(true);
29
- });
30
- test("should reload page when CSS file changes", async ({ page }) => {
31
- const originalCss = readFileSync(TEST_CSS_FILE, "utf-8");
32
- await page.goto(TEST_URL, { waitUntil: "networkidle" });
33
- const initialColor = await page.evaluate(() => {
34
- const el = document.querySelector(".main-title");
35
- return el ? getComputedStyle(el).color : null;
36
- });
37
- expect(initialColor).toBeTruthy();
38
- const modifiedCss = originalCss.replace(".main-title {", ".main-title {\n color: rgb(255, 0, 0);");
39
- const loadPromise = page.waitForEvent("load", { timeout: 1e4 });
40
- await writeFile(TEST_CSS_FILE, modifiedCss, { flush: true });
41
- await writeFile(BUILT_CSS_FILE, modifiedCss, { flush: true });
42
- await loadPromise;
43
- const updatedColor = await page.evaluate(() => {
44
- const el = document.querySelector(".main-title");
45
- return el ? getComputedStyle(el).color : null;
46
- });
47
- expect(updatedColor).toBe("rgb(255, 0, 0)");
48
- await writeFile(TEST_CSS_FILE, originalCss, { flush: true });
49
- });
50
- });
@@ -1,43 +0,0 @@
1
- /**
2
- * Default HMR Strategy
3
- *
4
- * Fallback strategy for file types that don't have specialized handling.
5
- * Triggers a full page reload to ensure changes are reflected.
6
- *
7
- * @module
8
- */
9
- import { HmrStrategy, HmrStrategyType, type HmrAction } from '../hmr-strategy';
10
- /**
11
- * Default fallback strategy for unhandled file types.
12
- *
13
- * This strategy matches all files and triggers a full page reload.
14
- * It has the lowest priority (FALLBACK) and acts as a catch-all when
15
- * no other strategy matches the changed file.
16
- *
17
- * @remarks
18
- * This strategy ensures that all file changes result in some action,
19
- * even if we don't have specialized handling for that file type.
20
- *
21
- * @example
22
- * ```typescript
23
- * const strategy = new DefaultHmrStrategy();
24
- * const action = await strategy.process('/path/to/unknown.file');
25
- * ```
26
- */
27
- export declare class DefaultHmrStrategy extends HmrStrategy {
28
- readonly type = HmrStrategyType.FALLBACK;
29
- /**
30
- * Matches all file paths.
31
- *
32
- * @param _filePath - Absolute path to the changed file (unused)
33
- * @returns Always returns true as this is a catch-all strategy
34
- */
35
- matches(_filePath: string): boolean;
36
- /**
37
- * Processes a file change by triggering a full page reload.
38
- *
39
- * @param filePath - Absolute path to the changed file
40
- * @returns Action to broadcast a reload event
41
- */
42
- process(filePath: string): Promise<HmrAction>;
43
- }
@@ -1,34 +0,0 @@
1
- import { HmrStrategy, HmrStrategyType } from "../hmr-strategy";
2
- class DefaultHmrStrategy extends HmrStrategy {
3
- type = HmrStrategyType.FALLBACK;
4
- /**
5
- * Matches all file paths.
6
- *
7
- * @param _filePath - Absolute path to the changed file (unused)
8
- * @returns Always returns true as this is a catch-all strategy
9
- */
10
- matches(_filePath) {
11
- return true;
12
- }
13
- /**
14
- * Processes a file change by triggering a full page reload.
15
- *
16
- * @param filePath - Absolute path to the changed file
17
- * @returns Action to broadcast a reload event
18
- */
19
- async process(filePath) {
20
- return {
21
- type: "broadcast",
22
- events: [
23
- {
24
- type: "reload",
25
- path: filePath,
26
- message: "fallback-strategy"
27
- }
28
- ]
29
- };
30
- }
31
- }
32
- export {
33
- DefaultHmrStrategy
34
- };
@@ -1,136 +0,0 @@
1
- /**
2
- * JavaScript HMR Strategy
3
- *
4
- * Handles hot module replacement for JavaScript and TypeScript entrypoints.
5
- * Bundles files, replaces bare specifiers, and injects HMR boilerplate.
6
- *
7
- * @module
8
- */
9
- import { HmrStrategy, HmrStrategyType, type HmrAction } from '../hmr-strategy';
10
- import type { EcoBuildPlugin } from '../../build/build-types.js';
11
- /**
12
- * Context interface providing access to HmrManager state.
13
- * Required for JsHmrStrategy to access registered entrypoints and configuration.
14
- */
15
- export interface JsHmrContext {
16
- /**
17
- * Map of registered entrypoints to their output URLs.
18
- */
19
- getWatchedFiles(): Map<string, string>;
20
- /**
21
- * Map of bare specifiers to vendor URLs for import resolution.
22
- */
23
- getSpecifierMap(): Map<string, string>;
24
- /**
25
- * Returns entrypoints impacted by a changed dependency path.
26
- *
27
- * @remarks
28
- * This hook is currently provided by the Node HMR manager where dependency
29
- * graph metadata is extracted from the Node/esbuild build adapter.
30
- */
31
- getDependencyEntrypoints?(filePath: string): Set<string>;
32
- /**
33
- * Stores latest dependency set for an entrypoint.
34
- *
35
- * @remarks
36
- * This hook is currently used only by the Node HMR manager to maintain a
37
- * reverse invalidation index. Runtimes that do not provide it keep rebuild-all
38
- * fallback semantics.
39
- */
40
- setEntrypointDependencies?(entrypointPath: string, dependencies: string[]): void;
41
- /**
42
- * Directory where HMR bundles are written.
43
- */
44
- getDistDir(): string;
45
- /**
46
- * Build plugins to use during bundling.
47
- */
48
- getPlugins(): EcoBuildPlugin[];
49
- /**
50
- * Absolute path to the source directory.
51
- */
52
- getSrcDir(): string;
53
- }
54
- /**
55
- * Strategy for handling JavaScript/TypeScript file changes with hot reloading.
56
- *
57
- * This strategy rebuilds all registered entrypoints when any file changes,
58
- * as we don't currently track dependencies. This is safe but inefficient.
59
- *
60
- * The processing steps are:
61
- * 1. Check if any entrypoints are registered
62
- * 2. Rebuild all entrypoints (the changed file could be a dependency)
63
- * 3. Replace bare specifiers with vendor URLs
64
- * 4. Inject generic HMR boilerplate
65
- * 5. Broadcast update events for each rebuilt entrypoint
66
- *
67
- * @remarks
68
- * Future enhancement: Track dependencies using Bun's transpiler API to only
69
- * rebuild affected entrypoints instead of all of them.
70
- *
71
- * @see https://bun.sh/docs/runtime/transpiler
72
- *
73
- * @example
74
- * ```typescript
75
- * const context = {
76
- * getWatchedFiles: () => watchedFilesMap,
77
- * getSpecifierMap: () => specifierMap,
78
- * getDistDir: () => '/path/to/dist/_hmr',
79
- * getPlugins: () => [],
80
- * getSrcDir: () => '/path/to/src'
81
- * };
82
- * const strategy = new JsHmrStrategy(context);
83
- * ```
84
- */
85
- export declare class JsHmrStrategy extends HmrStrategy {
86
- private context;
87
- readonly type = HmrStrategyType.SCRIPT;
88
- constructor(context: JsHmrContext);
89
- /**
90
- * Determines if the file is a JS/TS file that could affect registered entrypoints.
91
- *
92
- * Matches if:
93
- * 1. There are registered entrypoints to rebuild
94
- * 2. The changed file is a JS/TS file in the src directory
95
- *
96
- * @param filePath - Absolute path to the changed file
97
- * @returns True if this file should trigger entrypoint rebuilds
98
- */
99
- matches(filePath: string): boolean;
100
- /**
101
- * Processes a file change by rebuilding affected entrypoints.
102
- *
103
- * @param filePath - Absolute path to the changed file
104
- *
105
- * @remarks
106
- * If runtime-specific dependency graph hooks are unavailable, this strategy
107
- * falls back to rebuilding all watched entrypoints.
108
- * @returns Action to broadcast update events
109
- */
110
- process(filePath: string): Promise<HmrAction>;
111
- /**
112
- * Bundles a single entrypoint and processes the output.
113
- *
114
- * @param entrypointPath - Absolute path to the source file
115
- * @param outputUrl - URL path for the bundled file
116
- * @returns True if bundling was successful
117
- */
118
- private bundleEntrypoint;
119
- /**
120
- * Processes bundled output by replacing specifiers and injecting HMR code.
121
- *
122
- * @param filepath - Path to the bundled output file
123
- * @param url - URL path for the bundled file
124
- * @returns True if processing was successful and update should be broadcast
125
- */
126
- private processOutput;
127
- /**
128
- * Replaces bare specifiers with vendor URLs.
129
- *
130
- * Handles both static imports and dynamic imports.
131
- *
132
- * @param code - The bundled code to transform
133
- * @returns The transformed code with vendor URLs
134
- */
135
- private replaceBareSpecifiers;
136
- }