@ecopages/core 0.2.0-beta.8 → 0.2.0-rc.0

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 (623) hide show
  1. package/README.md +42 -13
  2. package/package.json +361 -58
  3. package/src/adapters/README.md +6 -2
  4. package/src/adapters/abstract/application-adapter.d.ts +57 -5
  5. package/src/adapters/abstract/application-adapter.js +261 -203
  6. package/src/adapters/abstract/router-adapter.js +12 -4
  7. package/src/adapters/abstract/segment-path-matcher.d.ts +6 -0
  8. package/src/adapters/abstract/segment-path-matcher.js +147 -0
  9. package/src/adapters/abstract/server-adapter.d.ts +13 -2
  10. package/src/adapters/abstract/server-adapter.js +22 -14
  11. package/src/adapters/abstract/ws-pattern-matcher.d.ts +2 -50
  12. package/src/adapters/abstract/ws-pattern-matcher.js +24 -57
  13. package/src/adapters/bun/bun-user-websocket-lifecycle.js +93 -0
  14. package/src/adapters/bun/client-bridge.js +51 -50
  15. package/src/adapters/bun/create-app.d.ts +4 -6
  16. package/src/adapters/bun/create-app.js +169 -154
  17. package/src/adapters/bun/hmr-manager.d.ts +2 -3
  18. package/src/adapters/bun/hmr-manager.js +62 -57
  19. package/src/adapters/bun/index.d.ts +1 -1
  20. package/src/adapters/bun/index.js +2 -8
  21. package/src/adapters/bun/runtime-host.d.ts +1 -1
  22. package/src/adapters/bun/runtime-host.js +61 -54
  23. package/src/adapters/bun/server-adapter.d.ts +34 -53
  24. package/src/adapters/bun/server-adapter.js +557 -637
  25. package/src/adapters/bun/static-preview-host.d.ts +1 -1
  26. package/src/adapters/bun/static-preview-host.js +43 -41
  27. package/src/adapters/create-app.d.ts +1 -12
  28. package/src/adapters/create-app.js +11 -72
  29. package/src/adapters/index.d.ts +2 -2
  30. package/src/adapters/index.js +2 -8
  31. package/src/adapters/node/create-app.d.ts +4 -3
  32. package/src/adapters/node/create-app.js +123 -98
  33. package/src/adapters/node/http-request-bridge.js +147 -106
  34. package/src/adapters/node/node-client-bridge.js +62 -64
  35. package/src/adapters/node/node-hmr-manager.d.ts +2 -3
  36. package/src/adapters/node/node-hmr-manager.js +58 -48
  37. package/src/adapters/node/runtime-host.d.ts +1 -1
  38. package/src/adapters/node/runtime-host.js +96 -89
  39. package/src/adapters/node/server-adapter-dependencies.js +18 -17
  40. package/src/adapters/node/server-adapter.d.ts +28 -8
  41. package/src/adapters/node/server-adapter.js +349 -302
  42. package/src/adapters/node/static-content-server.js +172 -186
  43. package/src/adapters/node/static-preview-host.d.ts +1 -1
  44. package/src/adapters/node/static-preview-host.js +88 -64
  45. package/src/adapters/shared/hmr/dev-transform-entrypoint-registry.d.ts +16 -0
  46. package/src/adapters/shared/hmr/dev-transform-entrypoint-registry.js +32 -0
  47. package/src/adapters/shared/{hmr-html-response.d.ts → hmr/hmr-html-response.d.ts} +2 -2
  48. package/src/adapters/shared/hmr/hmr-html-response.js +50 -0
  49. package/src/adapters/shared/hmr/shared-hmr-manager.d.ts +92 -0
  50. package/src/adapters/shared/hmr/shared-hmr-manager.js +446 -0
  51. package/src/adapters/shared/http/api-request-pipeline.d.ts +23 -0
  52. package/src/adapters/shared/http/api-request-pipeline.js +132 -0
  53. package/src/adapters/shared/{api-response.d.ts → http/api-response.d.ts} +1 -1
  54. package/src/adapters/shared/http/api-response.js +79 -0
  55. package/src/adapters/shared/http/create-body-response.d.ts +12 -0
  56. package/src/adapters/shared/http/create-body-response.js +26 -0
  57. package/src/adapters/shared/http/define-api-handler.d.ts +90 -0
  58. package/src/adapters/shared/http/define-api-handler.js +49 -0
  59. package/src/adapters/shared/{explicit-static-render-preparation.d.ts → http/explicit-static-render-preparation.d.ts} +3 -3
  60. package/src/adapters/shared/http/explicit-static-render-preparation.js +29 -0
  61. package/src/adapters/shared/{explicit-static-route-matcher.d.ts → http/explicit-static-route-matcher.d.ts} +3 -9
  62. package/src/adapters/shared/http/explicit-static-route-matcher.js +59 -0
  63. package/src/adapters/shared/{file-route-middleware-pipeline.d.ts → http/file-route-middleware-pipeline.d.ts} +2 -2
  64. package/src/adapters/shared/http/file-route-middleware-pipeline.js +84 -0
  65. package/src/adapters/shared/{fs-server-response-factory.d.ts → http/fs-server-response-factory.d.ts} +7 -2
  66. package/src/adapters/shared/http/fs-server-response-factory.js +106 -0
  67. package/src/adapters/shared/{fs-server-response-matcher.d.ts → http/fs-server-response-matcher.d.ts} +25 -5
  68. package/src/adapters/shared/http/fs-server-response-matcher.js +260 -0
  69. package/src/adapters/shared/http/run-middleware-chain.d.ts +5 -0
  70. package/src/adapters/shared/http/run-middleware-chain.js +17 -0
  71. package/src/adapters/shared/{application-adapter.d.ts → runtime/application-adapter.d.ts} +2 -2
  72. package/src/adapters/shared/runtime/application-adapter.js +75 -0
  73. package/src/adapters/shared/runtime/collect-dev-prewarm-plan.d.ts +11 -0
  74. package/src/adapters/shared/runtime/collect-dev-prewarm-plan.js +29 -0
  75. package/src/adapters/shared/runtime/copy-runtime-public-dir.js +27 -0
  76. package/src/adapters/shared/runtime/dev-static-route-prewarm.d.ts +16 -0
  77. package/src/adapters/shared/runtime/dev-static-route-prewarm.js +66 -0
  78. package/src/adapters/shared/runtime/port-manager.d.ts +116 -0
  79. package/src/adapters/shared/runtime/port-manager.js +226 -0
  80. package/src/adapters/shared/{render-context.d.ts → runtime/render-context.d.ts} +2 -2
  81. package/src/adapters/shared/runtime/render-context.js +99 -0
  82. package/src/adapters/shared/{runtime-app-bootstrap.d.ts → runtime/runtime-app-bootstrap.d.ts} +4 -2
  83. package/src/adapters/shared/runtime/runtime-app-bootstrap.js +38 -0
  84. package/src/adapters/shared/runtime/runtime-server-lifecycle.d.ts +45 -0
  85. package/src/adapters/shared/runtime/runtime-server-lifecycle.js +71 -0
  86. package/src/adapters/shared/{server-adapter.d.ts → runtime/server-adapter.d.ts} +31 -50
  87. package/src/adapters/shared/runtime/server-adapter.js +301 -0
  88. package/src/adapters/shared/{server-route-handler.d.ts → runtime/server-route-handler.d.ts} +6 -33
  89. package/src/adapters/shared/runtime/server-route-handler.js +77 -0
  90. package/src/adapters/shared/{server-static-builder.d.ts → runtime/server-static-builder.d.ts} +26 -31
  91. package/src/adapters/shared/runtime/server-static-builder.js +172 -0
  92. package/src/adapters/shared/{static-preview-host.d.ts → runtime/static-preview-host.d.ts} +6 -1
  93. package/src/adapters/shared/{node-http-websocket-upgrades.d.ts → ws/node-http-websocket-upgrades.d.ts} +1 -1
  94. package/src/adapters/shared/ws/node-http-websocket-upgrades.js +109 -0
  95. package/src/adapters/shared/ws/websocket-lifecycle.d.ts +24 -0
  96. package/src/adapters/shared/ws/websocket-lifecycle.js +62 -0
  97. package/src/build/README.md +165 -45
  98. package/src/build/app-build-manifest-runtime.d.ts +39 -0
  99. package/src/build/app-build-manifest-runtime.js +145 -0
  100. package/src/build/{browser-runtime-manifest.d.ts → browser/browser-runtime-manifest.d.ts} +4 -0
  101. package/src/build/browser/browser-runtime-manifest.js +65 -0
  102. package/src/build/{browser-runtime-plugin-helpers.d.ts → browser/browser-runtime-plugin-helpers.d.ts} +3 -5
  103. package/src/build/browser/browser-runtime-plugin-helpers.js +32 -0
  104. package/src/build/{browser-runtime-plugin.d.ts → browser/browser-runtime-plugin.d.ts} +12 -13
  105. package/src/build/browser/browser-runtime-plugin.js +218 -0
  106. package/src/build/browser/jsx-ownership-plugins.d.ts +24 -0
  107. package/src/build/browser/jsx-ownership-plugins.js +55 -0
  108. package/src/build/browser/lit-static-render-worker-context.d.ts +2 -0
  109. package/src/build/browser/lit-static-render-worker-context.js +4 -0
  110. package/src/build/build-adapter.d.ts +29 -340
  111. package/src/build/build-adapter.js +258 -260
  112. package/src/build/{build-input-fingerprint.d.ts → cache/build-input-fingerprint.d.ts} +3 -3
  113. package/src/build/cache/build-input-fingerprint.js +33 -0
  114. package/src/build/cache/cache-constants.d.ts +4 -0
  115. package/src/build/cache/cache-constants.js +4 -0
  116. package/src/build/cache/cache-keys.d.ts +22 -0
  117. package/src/build/cache/cache-keys.js +71 -0
  118. package/src/build/{pages-unified-graph-build.d.ts → cache/pages-unified-graph-build.d.ts} +1 -1
  119. package/src/build/cache/pages-unified-graph-build.js +199 -0
  120. package/src/build/cache/production-build-cache.d.ts +21 -0
  121. package/src/build/cache/production-build-cache.js +56 -0
  122. package/src/build/{server-entry-build-cache.d.ts → cache/server-entry-build-cache.d.ts} +3 -4
  123. package/src/build/cache/server-entry-build-cache.js +153 -0
  124. package/src/build/contracts/build-contracts.d.ts +96 -0
  125. package/src/build/contracts/build-contracts.js +1 -0
  126. package/src/build/contracts/build-manifest.d.ts +90 -0
  127. package/src/build/contracts/build-manifest.js +64 -0
  128. package/src/build/contracts/build-types.js +1 -0
  129. package/src/build/contracts/content-virtual-modules.d.ts +12 -0
  130. package/src/build/contracts/content-virtual-modules.js +29 -0
  131. package/src/build/{rolldown-adapter-helpers.d.ts → rolldown/rolldown-adapter-helpers.d.ts} +32 -9
  132. package/src/build/rolldown/rolldown-adapter-helpers.js +463 -0
  133. package/src/build/{rolldown-build-adapter.d.ts → rolldown/rolldown-build-adapter.d.ts} +3 -7
  134. package/src/build/rolldown/rolldown-build-adapter.js +57 -0
  135. package/src/build/{rolldown-build-invocation-metrics.d.ts → rolldown/rolldown-build-invocation-metrics.d.ts} +1 -1
  136. package/src/build/rolldown/rolldown-build-invocation-metrics.js +39 -0
  137. package/src/build/{rolldown-plugin-bridge.d.ts → rolldown/rolldown-plugin-bridge.d.ts} +16 -2
  138. package/src/build/rolldown/rolldown-plugin-bridge.js +284 -0
  139. package/src/build/rolldown/rolldown-source-transform-pass.d.ts +15 -0
  140. package/src/build/rolldown/rolldown-source-transform-pass.js +70 -0
  141. package/src/build/rolldown/runtime-build-output-normalizer.js +253 -0
  142. package/src/build/rolldown/server-side-css-shim-plugin.js +58 -0
  143. package/src/build/runtime/build-profile-options.d.ts +7 -0
  144. package/src/build/runtime/build-profile-options.js +37 -0
  145. package/src/build/runtime/build-request-identity.d.ts +17 -0
  146. package/src/build/runtime/build-request-identity.js +79 -0
  147. package/src/build/runtime/build-request-policy.d.ts +58 -0
  148. package/src/build/runtime/build-request-policy.js +84 -0
  149. package/src/build/runtime/build-runtime.d.ts +28 -0
  150. package/src/build/runtime/build-runtime.js +75 -0
  151. package/src/build/runtime/deduping-build-executor.d.ts +21 -0
  152. package/src/build/runtime/deduping-build-executor.js +40 -0
  153. package/src/build/{parallel-build-executor.d.ts → runtime/parallel-build-executor.d.ts} +1 -1
  154. package/src/build/runtime/parallel-build-executor.js +60 -0
  155. package/src/build/{serialized-build-executor.d.ts → runtime/serialized-build-executor.d.ts} +1 -1
  156. package/src/build/runtime/serialized-build-executor.js +79 -0
  157. package/src/cache/index.d.ts +2 -1
  158. package/src/cache/index.js +7 -6
  159. package/src/cache/module-parse-cache.d.ts +5 -0
  160. package/src/cache/module-parse-cache.js +122 -67
  161. package/src/cache/module-transform-profiler.d.ts +8 -0
  162. package/src/cache/module-transform-profiler.js +8 -0
  163. package/src/client/navigation-scripts/classification.d.ts +16 -0
  164. package/src/client/navigation-scripts/classification.js +49 -0
  165. package/src/client/navigation-scripts/index.d.ts +3 -0
  166. package/src/client/navigation-scripts/index.js +3 -0
  167. package/src/client/navigation-scripts/navigation-scripts.test.browser.d.ts +1 -0
  168. package/src/client/navigation-scripts/navigation-scripts.test.browser.js +61 -0
  169. package/src/client/navigation-scripts/registry.d.ts +11 -0
  170. package/src/client/navigation-scripts/registry.js +16 -0
  171. package/src/client/navigation-scripts/rerun-queue.d.ts +37 -0
  172. package/src/client/navigation-scripts/rerun-queue.js +90 -0
  173. package/src/client/scroll.d.ts +17 -0
  174. package/src/client/scroll.js +33 -0
  175. package/src/client/scroll.test.browser.d.ts +1 -0
  176. package/src/client/scroll.test.browser.js +31 -0
  177. package/src/client/view-transitions.d.ts +32 -0
  178. package/src/client/view-transitions.js +120 -0
  179. package/src/client/view-transitions.test.browser.d.ts +1 -0
  180. package/src/client/view-transitions.test.browser.js +56 -0
  181. package/src/config/README.md +1 -1
  182. package/src/config/config-builder.d.ts +42 -12
  183. package/src/config/config-builder.js +645 -600
  184. package/src/config/constants.d.ts +1 -0
  185. package/src/config/constants.js +44 -23
  186. package/src/declarations.d.ts +1 -0
  187. package/src/dev/README.md +24 -0
  188. package/src/dev/client-bridge-registry.d.ts +5 -0
  189. package/src/dev/client-bridge-registry.js +10 -0
  190. package/src/dev/dev-client-ownership.d.ts +7 -0
  191. package/src/dev/dev-client-ownership.js +8 -0
  192. package/src/dev/hmr-manager-registry.d.ts +8 -0
  193. package/src/dev/hmr-manager-registry.js +10 -0
  194. package/src/dev/host-runtime.d.ts +3 -0
  195. package/src/dev/host-runtime.js +25 -23
  196. package/src/dev/runtime-server-started-message.d.ts +2 -0
  197. package/src/dev/runtime-server-started-message.js +3 -0
  198. package/src/dev/sc-server.js +106 -103
  199. package/src/dev/transform-server/dev-transform-bundler.d.ts +24 -0
  200. package/src/dev/transform-server/dev-transform-bundler.js +79 -0
  201. package/src/dev/transform-server/dev-transform-externalize-plugin.d.ts +12 -0
  202. package/src/dev/transform-server/dev-transform-externalize-plugin.js +29 -0
  203. package/src/dev/transform-server/dev-transform-import-rewriter.d.ts +16 -0
  204. package/src/dev/transform-server/dev-transform-import-rewriter.js +127 -0
  205. package/src/dev/transform-server/dev-transform-module-kind.d.ts +13 -0
  206. package/src/dev/transform-server/dev-transform-module-kind.js +17 -0
  207. package/src/dev/transform-server/dev-transform-runtime-specifiers.d.ts +5 -0
  208. package/src/dev/transform-server/dev-transform-runtime-specifiers.js +16 -0
  209. package/src/dev/transform-server/dev-transform-server.d.ts +41 -0
  210. package/src/dev/transform-server/dev-transform-server.js +191 -0
  211. package/src/dev/transform-server/dev-transform-url.d.ts +13 -0
  212. package/src/dev/transform-server/dev-transform-url.js +58 -0
  213. package/src/dev/transform-server/dev-transform-vendor-registry.d.ts +28 -0
  214. package/src/dev/transform-server/dev-transform-vendor-registry.js +166 -0
  215. package/src/dev/transform-server/index.d.ts +6 -0
  216. package/src/dev/transform-server/index.js +4 -0
  217. package/src/dev/transform-server/types.d.ts +15 -0
  218. package/src/dev/transform-server/types.js +1 -0
  219. package/src/dev-toolbar/README.md +52 -0
  220. package/src/dev-toolbar/define-dev-tool.d.ts +21 -0
  221. package/src/dev-toolbar/define-dev-tool.js +9 -0
  222. package/src/dev-toolbar/dev-toolbar-config.d.ts +25 -0
  223. package/src/dev-toolbar/dev-toolbar-config.js +19 -0
  224. package/src/dev-toolbar/dev-toolbar-host.d.ts +49 -0
  225. package/src/dev-toolbar/dev-toolbar-host.js +117 -0
  226. package/src/dev-toolbar/dev-toolbar-html-response.d.ts +11 -0
  227. package/src/dev-toolbar/dev-toolbar-html-response.js +14 -0
  228. package/src/dev-toolbar/dev-toolbar-manifest-contract.d.ts +22 -0
  229. package/src/dev-toolbar/dev-toolbar-manifest-contract.js +2 -0
  230. package/src/dev-toolbar/dev-toolbar-manifest.d.ts +15 -0
  231. package/src/dev-toolbar/dev-toolbar-manifest.js +52 -0
  232. package/src/dev-toolbar/dev-toolbar-package.d.ts +34 -0
  233. package/src/dev-toolbar/dev-toolbar-package.js +78 -0
  234. package/src/dev-toolbar/dev-toolbar-runtime-paths.d.ts +10 -0
  235. package/src/dev-toolbar/dev-toolbar-runtime-paths.js +13 -0
  236. package/src/diagnostics/request-build-dedupe.d.ts +18 -0
  237. package/src/diagnostics/request-build-dedupe.js +39 -0
  238. package/src/diagnostics/request-pipeline-metrics.d.ts +38 -0
  239. package/src/diagnostics/request-pipeline-metrics.js +121 -0
  240. package/src/diagnostics/startup-trace.d.ts +81 -0
  241. package/src/diagnostics/startup-trace.js +281 -0
  242. package/src/eco/README.md +17 -0
  243. package/src/eco/component-identity.d.ts +13 -0
  244. package/src/eco/component-identity.js +18 -0
  245. package/src/eco/eco-declared-component.d.ts +15 -0
  246. package/src/eco/eco-declared-component.js +23 -0
  247. package/src/eco/eco.browser.js +63 -70
  248. package/src/eco/eco.js +163 -97
  249. package/src/eco/eco.types.d.ts +47 -8
  250. package/src/eco/eco.types.js +5 -0
  251. package/src/eco/eco.utils.d.ts +1 -1
  252. package/src/eco/eco.utils.js +1 -10
  253. package/src/eco/global-injector-map.js +55 -41
  254. package/src/eco/lazy-injector-map.js +90 -60
  255. package/src/eco/module-dependencies.js +52 -44
  256. package/src/eco/page-layout-normalization.d.ts +21 -0
  257. package/src/eco/page-layout-normalization.js +69 -0
  258. package/src/env.d.ts +2 -0
  259. package/src/errors/http-error.d.ts +8 -0
  260. package/src/errors/http-error.js +66 -49
  261. package/src/errors/index.d.ts +1 -0
  262. package/src/errors/index.js +3 -6
  263. package/src/errors/locals-access-error.js +5 -8
  264. package/src/errors/undeclared-component-dependency-error.d.ts +11 -0
  265. package/src/errors/undeclared-component-dependency-error.js +17 -0
  266. package/src/global/app-logger.js +3 -6
  267. package/src/hmr/README.md +21 -0
  268. package/src/hmr/client/hmr-runtime.js +119 -110
  269. package/src/hmr/client/module-update.d.ts +13 -0
  270. package/src/hmr/client/module-update.js +39 -0
  271. package/src/hmr/hmr-asset-paths.d.ts +14 -0
  272. package/src/hmr/hmr-asset-paths.js +22 -0
  273. package/src/hmr/hmr-entrypoint-output.d.ts +21 -0
  274. package/src/hmr/hmr-entrypoint-output.js +34 -0
  275. package/src/hmr/hmr-file-change-prep.d.ts +10 -0
  276. package/src/hmr/hmr-file-change-prep.js +14 -0
  277. package/src/hmr/hmr-registered-entrypoints-context.d.ts +7 -0
  278. package/src/hmr/hmr-registered-entrypoints-context.js +1 -0
  279. package/src/hmr/hmr-runtime-paths.d.ts +10 -0
  280. package/src/hmr/hmr-runtime-paths.js +13 -0
  281. package/src/hmr/hmr-strategy.d.ts +9 -0
  282. package/src/hmr/hmr-strategy.js +113 -42
  283. package/src/hmr/strategies/default-hmr-strategy.js +55 -33
  284. package/src/hmr/strategies/js-hmr-strategy.d.ts +6 -97
  285. package/src/hmr/strategies/js-hmr-strategy.js +107 -167
  286. package/src/hmr/strategies/server-rendered-template-hmr-strategy.d.ts +17 -0
  287. package/src/hmr/strategies/server-rendered-template-hmr-strategy.js +35 -0
  288. package/src/index.browser.d.ts +1 -0
  289. package/src/index.browser.js +2 -4
  290. package/src/index.d.ts +4 -1
  291. package/src/index.js +7 -21
  292. package/src/islands/README.md +25 -0
  293. package/src/islands/island-host.d.ts +37 -0
  294. package/src/islands/island-host.js +55 -0
  295. package/src/plugins/README.md +2 -1
  296. package/src/plugins/alias-resolver-cache.d.ts +6 -9
  297. package/src/plugins/alias-resolver-cache.js +114 -97
  298. package/src/plugins/alias-resolver-plugin.d.ts +3 -3
  299. package/src/plugins/alias-resolver-plugin.js +35 -62
  300. package/src/plugins/define-integration.d.ts +26 -0
  301. package/src/plugins/define-integration.js +20 -0
  302. package/src/plugins/eco-component-meta-plugin.d.ts +6 -102
  303. package/src/plugins/eco-component-meta-plugin.js +123 -162
  304. package/src/plugins/foreign-jsx-override-plugin.d.ts +1 -1
  305. package/src/plugins/foreign-jsx-override-plugin.js +49 -37
  306. package/src/plugins/integration-plugin.d.ts +24 -6
  307. package/src/plugins/integration-plugin.js +212 -195
  308. package/src/plugins/jsx-import-source.utils.d.ts +8 -0
  309. package/src/plugins/jsx-import-source.utils.js +21 -0
  310. package/src/plugins/package-specifier.d.ts +12 -0
  311. package/src/plugins/package-specifier.js +33 -0
  312. package/src/plugins/processor.d.ts +66 -12
  313. package/src/plugins/processor.js +168 -137
  314. package/src/plugins/runtime-capability.js +1 -0
  315. package/src/plugins/source-transform.d.ts +32 -1
  316. package/src/plugins/source-transform.js +112 -60
  317. package/src/plugins/tsconfig-import-resolver.d.ts +37 -0
  318. package/src/plugins/tsconfig-import-resolver.js +262 -0
  319. package/src/route-renderer/GRAPH.md +24 -30
  320. package/src/route-renderer/README.md +52 -32
  321. package/src/route-renderer/orchestration/document-shell/document-shell-render.service.d.ts +107 -0
  322. package/src/route-renderer/orchestration/document-shell/document-shell-render.service.js +155 -0
  323. package/src/route-renderer/orchestration/document-shell/layout-shell-props.service.d.ts +20 -0
  324. package/src/route-renderer/orchestration/document-shell/layout-shell-props.service.js +37 -0
  325. package/src/route-renderer/orchestration/{component-render-context.d.ts → foreign-child/component-render-context.d.ts} +8 -15
  326. package/src/route-renderer/orchestration/foreign-child/component-render-context.js +196 -0
  327. package/src/route-renderer/orchestration/{render-output.utils.d.ts → foreign-child/foreign-child-output.utils.d.ts} +20 -7
  328. package/src/route-renderer/orchestration/foreign-child/foreign-child-output.utils.js +195 -0
  329. package/src/route-renderer/orchestration/{foreign-subtree-execution.service.d.ts → foreign-child/foreign-subtree-execution.service.d.ts} +64 -34
  330. package/src/route-renderer/orchestration/foreign-child/foreign-subtree-execution.service.js +354 -0
  331. package/src/route-renderer/orchestration/foreign-child/owning-renderer-resolution.d.ts +19 -0
  332. package/src/route-renderer/orchestration/foreign-child/owning-renderer-resolution.js +36 -0
  333. package/src/route-renderer/orchestration/integration-renderer.d.ts +37 -153
  334. package/src/route-renderer/orchestration/integration-renderer.js +803 -1008
  335. package/src/route-renderer/orchestration/integration-renderer.test-fixtures.d.ts +75 -0
  336. package/src/route-renderer/orchestration/integration-renderer.test-fixtures.js +173 -0
  337. package/src/route-renderer/orchestration/ownership-graph/component-graph-collectors.d.ts +10 -0
  338. package/src/route-renderer/orchestration/ownership-graph/component-graph-collectors.js +132 -0
  339. package/src/route-renderer/orchestration/ownership-graph/component-graph.d.ts +34 -0
  340. package/src/route-renderer/orchestration/ownership-graph/component-graph.js +89 -0
  341. package/src/route-renderer/orchestration/{ownership-validation.service.d.ts → ownership-graph/ownership-validation.service.d.ts} +6 -2
  342. package/src/route-renderer/orchestration/ownership-graph/ownership-validation.service.js +77 -0
  343. package/src/route-renderer/orchestration/page-browser-graph/global-injector-assets.service.d.ts +7 -0
  344. package/src/route-renderer/orchestration/page-browser-graph/global-injector-assets.service.js +30 -0
  345. package/src/route-renderer/orchestration/page-browser-graph/grouped-graph-build-plan.d.ts +15 -0
  346. package/src/route-renderer/orchestration/page-browser-graph/grouped-graph-build-plan.js +9 -0
  347. package/src/route-renderer/orchestration/page-browser-graph/page-browser-graph-contribution.merge.d.ts +5 -0
  348. package/src/route-renderer/orchestration/page-browser-graph/page-browser-graph-contribution.merge.js +30 -0
  349. package/src/route-renderer/orchestration/page-browser-graph/page-browser-graph-merge.utils.d.ts +12 -0
  350. package/src/route-renderer/orchestration/page-browser-graph/page-browser-graph-merge.utils.js +32 -0
  351. package/src/route-renderer/orchestration/page-browser-graph/page-browser-graph-session.d.ts +126 -0
  352. package/src/route-renderer/orchestration/page-browser-graph/page-browser-graph-session.js +542 -0
  353. package/src/route-renderer/orchestration/page-browser-graph/page-browser-graph.service.d.ts +47 -0
  354. package/src/route-renderer/orchestration/page-browser-graph/page-browser-graph.service.js +248 -0
  355. package/src/route-renderer/orchestration/{processed-asset-dedupe.d.ts → page-browser-graph/processed-asset-dedupe.d.ts} +1 -1
  356. package/src/route-renderer/orchestration/page-browser-graph/processed-asset-dedupe.js +23 -0
  357. package/src/route-renderer/orchestration/page-browser-graph/route-instance-key.d.ts +29 -0
  358. package/src/route-renderer/orchestration/page-browser-graph/route-instance-key.js +54 -0
  359. package/src/route-renderer/orchestration/route-pipeline/integration-route-render-adapter.d.ts +38 -0
  360. package/src/route-renderer/orchestration/route-pipeline/integration-route-render-adapter.js +26 -0
  361. package/src/route-renderer/orchestration/route-pipeline/marker-artifact.utils.d.ts +6 -0
  362. package/src/route-renderer/orchestration/route-pipeline/marker-artifact.utils.js +25 -0
  363. package/src/route-renderer/orchestration/route-pipeline/robots-meta.contribution.d.ts +15 -0
  364. package/src/route-renderer/orchestration/route-pipeline/robots-meta.contribution.js +43 -0
  365. package/src/route-renderer/orchestration/route-pipeline/route-html-finalization.service.d.ts +25 -0
  366. package/src/route-renderer/orchestration/route-pipeline/route-html-finalization.service.js +44 -0
  367. package/src/route-renderer/orchestration/route-pipeline/route-prepared-options.builder.d.ts +26 -0
  368. package/src/route-renderer/orchestration/route-pipeline/route-prepared-options.builder.js +44 -0
  369. package/src/route-renderer/orchestration/route-pipeline/route-prepared-options.utils.d.ts +4 -0
  370. package/src/route-renderer/orchestration/route-pipeline/route-prepared-options.utils.js +30 -0
  371. package/src/route-renderer/orchestration/{route-render-orchestrator.d.ts → route-pipeline/route-render-orchestrator.d.ts} +24 -54
  372. package/src/route-renderer/orchestration/route-pipeline/route-render-orchestrator.js +215 -0
  373. package/src/{integrations/ghtml/ghtml-renderer.d.ts → route-renderer/orchestration/string-markup-renderer.d.ts} +8 -10
  374. package/src/route-renderer/orchestration/string-markup-renderer.js +52 -0
  375. package/src/route-renderer/page-loading/component-dependency-collection.js +121 -121
  376. package/src/route-renderer/page-loading/declared-asset-collection.js +66 -94
  377. package/src/route-renderer/page-loading/dependency-resolver.js +101 -104
  378. package/src/route-renderer/page-loading/ecopages-virtual-imports.d.ts +1 -0
  379. package/src/route-renderer/page-loading/ecopages-virtual-imports.js +64 -51
  380. package/src/route-renderer/page-loading/file-scoped-dependency-components.d.ts +42 -0
  381. package/src/route-renderer/page-loading/file-scoped-dependency-components.js +94 -0
  382. package/src/route-renderer/page-loading/lazy-entry-collection.js +75 -98
  383. package/src/route-renderer/page-loading/lazy-trigger-planning.js +47 -36
  384. package/src/route-renderer/page-loading/module-declaration-aggregation.js +39 -28
  385. package/src/route-renderer/page-loading/module-declaration-scripts.js +10 -15
  386. package/src/route-renderer/page-loading/page-dependency-bundling.js +156 -113
  387. package/src/route-renderer/page-loading/page-module-loader.d.ts +2 -1
  388. package/src/route-renderer/page-loading/page-module-loader.js +136 -124
  389. package/src/route-renderer/page-loading/resolved-page-dependencies.d.ts +12 -0
  390. package/src/route-renderer/page-loading/resolved-page-dependencies.js +38 -0
  391. package/src/route-renderer/route-renderer.js +74 -76
  392. package/src/router/README.md +31 -0
  393. package/src/router/client/link-intent.d.ts +11 -21
  394. package/src/router/client/link-intent.js +56 -30
  395. package/src/router/client/link-intent.test.browser.js +50 -39
  396. package/src/router/client/link-navigation-policy.d.ts +45 -0
  397. package/src/router/client/link-navigation-policy.js +122 -0
  398. package/src/router/client/link-navigation-policy.test.browser.d.ts +1 -0
  399. package/src/router/client/link-navigation-policy.test.browser.js +82 -0
  400. package/src/router/client/navigation-coordinator.d.ts +1 -1
  401. package/src/router/client/navigation-coordinator.js +235 -211
  402. package/src/router/client/navigation-lifecycle.d.ts +55 -0
  403. package/src/router/client/navigation-lifecycle.js +50 -0
  404. package/src/router/client/navigation-lifecycle.test.browser.d.ts +1 -0
  405. package/src/router/client/navigation-lifecycle.test.browser.js +118 -0
  406. package/src/router/server/route-registry.js +237 -242
  407. package/src/services/README.md +5 -0
  408. package/src/services/assets/asset-processing-service/asset-dependency-keys.d.ts +13 -0
  409. package/src/services/assets/asset-processing-service/asset-dependency-keys.js +64 -50
  410. package/src/services/assets/asset-processing-service/asset-processing.service.d.ts +12 -1
  411. package/src/services/assets/asset-processing-service/asset-processing.service.js +335 -268
  412. package/src/services/assets/asset-processing-service/asset.factory.js +78 -81
  413. package/src/services/assets/asset-processing-service/assets.types.d.ts +1 -1
  414. package/src/services/assets/asset-processing-service/assets.types.js +1 -0
  415. package/src/services/assets/asset-processing-service/browser-runtime-asset.factory.d.ts +1 -1
  416. package/src/services/assets/asset-processing-service/browser-runtime-asset.factory.js +57 -46
  417. package/src/services/assets/asset-processing-service/browser-runtime-entry-resolution.d.ts +52 -0
  418. package/src/services/assets/asset-processing-service/browser-runtime-entry-resolution.js +115 -0
  419. package/src/services/assets/asset-processing-service/browser-runtime-entry.factory.js +53 -58
  420. package/src/services/assets/asset-processing-service/finalize-processed-asset.d.ts +3 -0
  421. package/src/services/assets/asset-processing-service/finalize-processed-asset.js +5 -0
  422. package/src/services/assets/asset-processing-service/grouped-content-bundles.d.ts +2 -1
  423. package/src/services/assets/asset-processing-service/grouped-content-bundles.js +85 -60
  424. package/src/services/assets/asset-processing-service/index.d.ts +2 -0
  425. package/src/services/assets/asset-processing-service/index.js +8 -6
  426. package/src/services/assets/asset-processing-service/inline-content-script-body.d.ts +11 -0
  427. package/src/services/assets/asset-processing-service/inline-content-script-body.js +23 -0
  428. package/src/services/assets/asset-processing-service/materialize-content-script-asset.d.ts +9 -0
  429. package/src/services/assets/asset-processing-service/materialize-content-script-asset.js +22 -0
  430. package/src/services/assets/asset-processing-service/page-package.js +70 -72
  431. package/src/services/assets/asset-processing-service/processor.interface.js +7 -5
  432. package/src/services/assets/asset-processing-service/processor.registry.js +11 -14
  433. package/src/services/assets/asset-processing-service/processors/base/base-processor.js +59 -62
  434. package/src/services/assets/asset-processing-service/processors/base/base-script-processor.d.ts +0 -2
  435. package/src/services/assets/asset-processing-service/processors/base/base-script-processor.js +102 -130
  436. package/src/services/assets/asset-processing-service/processors/index.js +5 -5
  437. package/src/services/assets/asset-processing-service/processors/script/content-script.processor.d.ts +8 -0
  438. package/src/services/assets/asset-processing-service/processors/script/content-script.processor.js +111 -111
  439. package/src/services/assets/asset-processing-service/processors/script/file-script.processor.d.ts +0 -1
  440. package/src/services/assets/asset-processing-service/processors/script/file-script.processor.js +95 -94
  441. package/src/services/assets/asset-processing-service/processors/script/node-module-script.processor.js +136 -135
  442. package/src/services/assets/asset-processing-service/processors/stylesheet/content-stylesheet.processor.d.ts +0 -3
  443. package/src/services/assets/asset-processing-service/processors/stylesheet/content-stylesheet.processor.js +26 -57
  444. package/src/services/assets/asset-processing-service/processors/stylesheet/file-stylesheet.processor.d.ts +0 -3
  445. package/src/services/assets/asset-processing-service/processors/stylesheet/file-stylesheet.processor.js +33 -67
  446. package/src/services/assets/asset-processing-service/processors/stylesheet/stylesheet-processor-pipeline.d.ts +2 -0
  447. package/src/services/assets/asset-processing-service/processors/stylesheet/stylesheet-processor-pipeline.js +44 -0
  448. package/src/services/assets/asset-processing-service/resolve-integration-plugin.d.ts +4 -0
  449. package/src/services/assets/asset-processing-service/resolve-integration-plugin.js +15 -0
  450. package/src/services/assets/asset-processing-service/ungrouped-dependency-processing.d.ts +0 -1
  451. package/src/services/assets/asset-processing-service/ungrouped-dependency-processing.js +27 -44
  452. package/src/services/assets/browser-bundle.service.d.ts +27 -30
  453. package/src/services/assets/browser-bundle.service.js +54 -46
  454. package/src/services/assets/browser-runtime-asset-generation.d.ts +17 -0
  455. package/src/services/assets/browser-runtime-asset-generation.js +28 -0
  456. package/src/services/cache/cache.types.d.ts +4 -2
  457. package/src/services/cache/cache.types.js +5 -0
  458. package/src/services/cache/html-page-cache-dependency-index.d.ts +34 -0
  459. package/src/services/cache/html-page-cache-dependency-index.js +88 -0
  460. package/src/services/cache/index.d.ts +2 -0
  461. package/src/services/cache/index.js +8 -7
  462. package/src/services/cache/memory-cache-store.js +101 -89
  463. package/src/services/cache/page-cache-service.d.ts +31 -1
  464. package/src/services/cache/page-cache-service.js +237 -150
  465. package/src/services/cache/page-request-cache-coordinator.service.d.ts +2 -1
  466. package/src/services/cache/page-request-cache-coordinator.service.js +112 -102
  467. package/src/services/html/html-rewriter-provider.service.js +61 -61
  468. package/src/services/html/html-transformer.service.js +249 -266
  469. package/src/services/invalidation/development-invalidation.service.d.ts +15 -1
  470. package/src/services/invalidation/development-invalidation.service.js +241 -204
  471. package/src/services/module-loading/README.md +9 -6
  472. package/src/services/module-loading/app-module-loader.service.js +1 -0
  473. package/src/services/module-loading/app-server-module-transpiler.service.d.ts +8 -0
  474. package/src/services/module-loading/app-server-module-transpiler.service.js +104 -106
  475. package/src/services/module-loading/collection-server-module-build.service.d.ts +19 -0
  476. package/src/services/module-loading/collection-server-module-build.service.js +83 -0
  477. package/src/services/module-loading/host-module-loader-registry.js +6 -11
  478. package/src/services/module-loading/module-loading-types.js +1 -0
  479. package/src/services/module-loading/page-module-import.service.d.ts +7 -12
  480. package/src/services/module-loading/page-module-import.service.js +232 -206
  481. package/src/services/module-loading/route-module-build-cache-registry.d.ts +2 -0
  482. package/src/services/module-loading/route-module-build-cache-registry.js +59 -33
  483. package/src/services/module-loading/route-module-build-cache.js +3 -38
  484. package/src/services/module-loading/route-module-build-cache.store.d.ts +10 -0
  485. package/src/services/module-loading/route-module-build-cache.store.js +213 -196
  486. package/src/services/module-loading/route-module-build-manifest.d.ts +10 -14
  487. package/src/services/module-loading/route-module-build-manifest.js +54 -118
  488. package/src/services/module-loading/route-module-dependency-hasher.d.ts +2 -2
  489. package/src/services/module-loading/route-module-dependency-hasher.js +136 -109
  490. package/src/services/module-loading/server-module-transpiler.service.d.ts +1 -3
  491. package/src/services/module-loading/server-module-transpiler.service.js +65 -62
  492. package/src/services/module-loading/source-module-support.js +15 -7
  493. package/src/services/runtime-state/dev-graph.service.js +165 -157
  494. package/src/services/runtime-state/entrypoint-dependency-graph.service.js +85 -76
  495. package/src/services/runtime-state/server-invalidation-state.service.js +38 -30
  496. package/src/services/validation/schema-validation-service.d.ts +1 -4
  497. package/src/services/validation/schema-validation-service.js +156 -95
  498. package/src/services/validation/standard-schema.types.d.ts +9 -62
  499. package/src/services/validation/standard-schema.types.js +1 -0
  500. package/src/services/validation/validate-standard-schema.d.ts +7 -0
  501. package/src/services/validation/validate-standard-schema.js +14 -0
  502. package/src/static-site-generator/README.md +10 -2
  503. package/src/static-site-generator/production-page-browser-graph-prebuild.d.ts +32 -0
  504. package/src/static-site-generator/production-page-browser-graph-prebuild.js +57 -0
  505. package/src/static-site-generator/sitemap-routes.d.ts +14 -0
  506. package/src/static-site-generator/sitemap-routes.js +36 -0
  507. package/src/static-site-generator/sitemap.d.ts +15 -0
  508. package/src/static-site-generator/sitemap.js +42 -0
  509. package/src/static-site-generator/static-build-invalidation.d.ts +2 -2
  510. package/src/static-site-generator/static-build-invalidation.js +33 -74
  511. package/src/static-site-generator/static-export-context.d.ts +9 -1
  512. package/src/static-site-generator/static-export-context.js +1 -0
  513. package/src/static-site-generator/static-site-generator.d.ts +27 -6
  514. package/src/static-site-generator/static-site-generator.js +528 -389
  515. package/src/types/internal-types.d.ts +55 -17
  516. package/src/types/internal-types.js +1 -0
  517. package/src/types/public-types.d.ts +236 -95
  518. package/src/types/public-types.js +1 -0
  519. package/src/utils/deep-merge.js +39 -26
  520. package/src/utils/ecopages-route-info.d.ts +26 -0
  521. package/src/utils/ecopages-route-info.js +30 -0
  522. package/src/utils/hash.js +3 -6
  523. package/src/utils/html-escaping.d.ts +7 -0
  524. package/src/utils/html-escaping.js +22 -5
  525. package/src/utils/invariant.js +11 -10
  526. package/src/utils/locals-utils.js +32 -22
  527. package/src/utils/parse-cli-args.d.ts +1 -0
  528. package/src/utils/parse-cli-args.js +73 -62
  529. package/src/utils/path-pattern.d.ts +23 -0
  530. package/src/utils/path-pattern.js +42 -0
  531. package/src/utils/path-utils.module.js +8 -11
  532. package/src/utils/resolve-entry-file.js +70 -38
  533. package/src/utils/resolve-work-dir.js +23 -27
  534. package/src/utils/runtime.js +24 -33
  535. package/src/utils/server-utils.module.d.ts +3 -2
  536. package/src/utils/server-utils.module.js +60 -53
  537. package/src/utils/static-file-extensions.d.ts +12 -0
  538. package/src/utils/static-file-extensions.js +54 -0
  539. package/src/watchers/project-watcher-ignore.d.ts +11 -0
  540. package/src/watchers/project-watcher-ignore.js +17 -0
  541. package/src/watchers/project-watcher.d.ts +21 -6
  542. package/src/watchers/project-watcher.js +402 -277
  543. package/src/watchers/project-watcher.test-helpers.js +45 -50
  544. package/src/adapters/shared/api-response.js +0 -96
  545. package/src/adapters/shared/application-adapter.js +0 -90
  546. package/src/adapters/shared/bun-user-websocket-lifecycle.js +0 -102
  547. package/src/adapters/shared/copy-runtime-public-dir.js +0 -24
  548. package/src/adapters/shared/define-api-handler.d.ts +0 -25
  549. package/src/adapters/shared/define-api-handler.js +0 -15
  550. package/src/adapters/shared/explicit-static-render-preparation.js +0 -26
  551. package/src/adapters/shared/explicit-static-route-matcher.js +0 -101
  552. package/src/adapters/shared/file-route-middleware-pipeline.js +0 -90
  553. package/src/adapters/shared/fs-server-response-factory.js +0 -81
  554. package/src/adapters/shared/fs-server-response-matcher.js +0 -186
  555. package/src/adapters/shared/hmr-entrypoint-registrar.d.ts +0 -55
  556. package/src/adapters/shared/hmr-entrypoint-registrar.js +0 -87
  557. package/src/adapters/shared/hmr-html-response.js +0 -33
  558. package/src/adapters/shared/node-http-websocket-upgrades.js +0 -125
  559. package/src/adapters/shared/render-context.js +0 -93
  560. package/src/adapters/shared/runtime-app-bootstrap.js +0 -41
  561. package/src/adapters/shared/runtime-host.js +0 -0
  562. package/src/adapters/shared/server-adapter.js +0 -436
  563. package/src/adapters/shared/server-route-handler.js +0 -111
  564. package/src/adapters/shared/server-static-builder.js +0 -202
  565. package/src/adapters/shared/shared-hmr-manager.d.ts +0 -61
  566. package/src/adapters/shared/shared-hmr-manager.js +0 -273
  567. package/src/adapters/shared/static-preview-host.js +0 -0
  568. package/src/adapters/shared/websocket-lifecycle.d.ts +0 -3
  569. package/src/adapters/shared/websocket-lifecycle.js +0 -19
  570. package/src/build/browser-runtime-manifest.js +0 -61
  571. package/src/build/browser-runtime-plugin-helpers.js +0 -14
  572. package/src/build/browser-runtime-plugin.js +0 -173
  573. package/src/build/build-input-fingerprint.js +0 -31
  574. package/src/build/build-manifest.d.ts +0 -33
  575. package/src/build/build-manifest.js +0 -49
  576. package/src/build/build-types.js +0 -0
  577. package/src/build/jsx-ownership-plugins.d.ts +0 -10
  578. package/src/build/jsx-ownership-plugins.js +0 -17
  579. package/src/build/pages-unified-graph-build.js +0 -208
  580. package/src/build/parallel-build-executor.js +0 -52
  581. package/src/build/rolldown-adapter-helpers.js +0 -309
  582. package/src/build/rolldown-build-adapter.js +0 -67
  583. package/src/build/rolldown-build-invocation-metrics.js +0 -43
  584. package/src/build/rolldown-dev-build-adapter.d.ts +0 -82
  585. package/src/build/rolldown-dev-build-adapter.js +0 -182
  586. package/src/build/rolldown-plugin-bridge.js +0 -199
  587. package/src/build/runtime-build-executor.d.ts +0 -15
  588. package/src/build/runtime-build-executor.js +0 -43
  589. package/src/build/runtime-build-output-normalizer.js +0 -203
  590. package/src/build/serialized-build-executor.js +0 -63
  591. package/src/build/server-entry-build-cache.js +0 -169
  592. package/src/build/server-side-css-shim-plugin.js +0 -35
  593. package/src/hmr/hmr.postcss.test.e2e.js +0 -31
  594. package/src/hmr/hmr.test.e2e.js +0 -54
  595. package/src/integrations/ghtml/ghtml-renderer.js +0 -57
  596. package/src/integrations/ghtml/ghtml.constants.d.ts +0 -1
  597. package/src/integrations/ghtml/ghtml.constants.js +0 -4
  598. package/src/integrations/ghtml/ghtml.plugin.d.ts +0 -16
  599. package/src/integrations/ghtml/ghtml.plugin.js +0 -20
  600. package/src/route-renderer/orchestration/component-render-context.js +0 -147
  601. package/src/route-renderer/orchestration/declared-ownership-graph.d.ts +0 -18
  602. package/src/route-renderer/orchestration/declared-ownership-graph.js +0 -34
  603. package/src/route-renderer/orchestration/foreign-subtree-execution.service.js +0 -231
  604. package/src/route-renderer/orchestration/ownership-planning.service.d.ts +0 -24
  605. package/src/route-renderer/orchestration/ownership-planning.service.js +0 -63
  606. package/src/route-renderer/orchestration/ownership-validation.service.js +0 -53
  607. package/src/route-renderer/orchestration/processed-asset-dedupe.js +0 -27
  608. package/src/route-renderer/orchestration/queued-foreign-subtree-resolution.service.d.ts +0 -91
  609. package/src/route-renderer/orchestration/queued-foreign-subtree-resolution.service.js +0 -170
  610. package/src/route-renderer/orchestration/render-output.utils.js +0 -175
  611. package/src/route-renderer/orchestration/route-render-orchestrator.js +0 -578
  612. package/src/route-renderer/orchestration/template-serialization.d.ts +0 -38
  613. package/src/route-renderer/orchestration/template-serialization.js +0 -45
  614. package/src/utils/html.d.ts +0 -1
  615. package/src/utils/html.js +0 -4
  616. /package/src/adapters/{shared → bun}/bun-user-websocket-lifecycle.d.ts +0 -0
  617. /package/src/adapters/shared/{copy-runtime-public-dir.d.ts → runtime/copy-runtime-public-dir.d.ts} +0 -0
  618. /package/src/adapters/shared/{runtime-host.d.ts → runtime/runtime-host.d.ts} +0 -0
  619. /package/src/{hmr/hmr.postcss.test.e2e.d.ts → adapters/shared/runtime/runtime-host.js} +0 -0
  620. /package/src/{hmr/hmr.test.e2e.d.ts → adapters/shared/runtime/static-preview-host.js} +0 -0
  621. /package/src/build/{build-types.d.ts → contracts/build-types.d.ts} +0 -0
  622. /package/src/build/{runtime-build-output-normalizer.d.ts → rolldown/runtime-build-output-normalizer.d.ts} +0 -0
  623. /package/src/build/{server-side-css-shim-plugin.d.ts → rolldown/server-side-css-shim-plugin.d.ts} +0 -0
@@ -1,148 +1,179 @@
1
- import path from "node:path";
2
- import { fileSystem } from "@ecopages/file-system";
3
- import { DEFAULT_ECOPAGES_WORK_DIR } from "../config/constants.js";
4
- import { GENERATED_BASE_PATHS } from "../config/constants.js";
5
- import { deepMerge } from "../utils/deep-merge.js";
6
- const PROCESSOR_ERRORS = {
7
- CACHE_DIRECTORY_NOT_SET: "Cache directory not set in context"
1
+ import path from 'node:path';
2
+ import { fileSystem } from '@ecopages/file-system';
3
+ import { DEFAULT_ECOPAGES_WORK_DIR } from '../config/constants.js';
4
+ import { GENERATED_BASE_PATHS } from '../config/constants.js';
5
+ import { deepMerge } from '../utils/deep-merge.js';
6
+ export const PROCESSOR_ERRORS = {
7
+ CACHE_DIRECTORY_NOT_SET: 'Cache directory not set in context',
8
8
  };
9
- function mergeProcessorOptions(defaults, overrides) {
10
- return deepMerge(defaults, overrides);
9
+ export function mergeProcessorOptions(defaults, overrides) {
10
+ return deepMerge(defaults, overrides);
11
11
  }
12
- function resolveGeneratedPath(type, options) {
13
- const { root, module, subPath } = options;
14
- const parts = [root, GENERATED_BASE_PATHS[type], module, subPath].filter(Boolean);
15
- return path.join(...parts);
12
+ export function resolveGeneratedPath(type, options) {
13
+ const { root, module, subPath } = options;
14
+ const parts = [root, GENERATED_BASE_PATHS[type], module, subPath].filter(Boolean);
15
+ return path.join(...parts);
16
16
  }
17
- class Processor {
18
- name;
19
- dependencies = [];
20
- context;
21
- options;
22
- watchConfig;
23
- capabilities = [];
24
- runtimeCapability;
25
- constructor(config) {
26
- this.name = config.name;
27
- this.options = config.options;
28
- this.watchConfig = config.watch;
29
- this.capabilities = config.capabilities ?? [];
30
- this.runtimeCapability = config.runtimeCapability;
31
- }
32
- setContext(appConfig) {
33
- const workDir = appConfig.absolutePaths.workDir ?? path.join(appConfig.rootDir, appConfig.workDir ?? DEFAULT_ECOPAGES_WORK_DIR);
34
- const cachePath = resolveGeneratedPath("cache", {
35
- root: workDir,
36
- module: this.name
37
- });
38
- fileSystem.ensureDir(cachePath);
39
- this.context = {
40
- config: appConfig,
41
- rootDir: appConfig.rootDir,
42
- srcDir: appConfig.absolutePaths.srcDir,
43
- distDir: appConfig.absolutePaths.distDir,
44
- cache: cachePath
45
- };
46
- }
47
- /**
48
- * Prepares build-facing processor contributions before config finalization.
49
- *
50
- * @remarks
51
- * Override this when a processor must compute runtime/build plugins or other
52
- * manifest-owned state before startup. Runtime-only work such as cache
53
- * warming or watcher registration should stay in `setup()`.
54
- */
55
- async prepareBuildContributions() {
56
- }
57
- /**
58
- * Reports whether this processor's build inputs changed since the last
59
- * incremental static build.
60
- */
61
- didChange() {
62
- return false;
63
- }
64
- getCachePath(key) {
65
- return `${this.context?.cache}/${key}`;
66
- }
67
- async readCache(key) {
68
- const cachePath = this.getCachePath(key);
69
- try {
70
- const data = await fileSystem.readFile(cachePath);
71
- return JSON.parse(data);
72
- } catch {
73
- return null;
17
+ /**
18
+ * Base class for content and asset processors that contribute build plugins.
19
+ *
20
+ * @remarks
21
+ * Processors declare plugins through two getters that map to
22
+ * {@link AppBuildManifest} buckets (names differ from integrations):
23
+ *
24
+ * - `plugins` → `runtimePlugins` (server **and** browser builds)
25
+ * - `buildPlugins` → `browserBundlePlugins` (browser bundles only)
26
+ *
27
+ * Virtual modules that must resolve during route-module transpile belong in
28
+ * `plugins`. Browser-only bundler hooks belong in `buildPlugins`.
29
+ */
30
+ export class Processor {
31
+ name;
32
+ context;
33
+ options;
34
+ watchConfig;
35
+ capabilities = [];
36
+ runtimeCapability;
37
+ constructor(config) {
38
+ this.name = config.name;
39
+ this.options = config.options;
40
+ this.watchConfig = config.watch;
41
+ this.capabilities = config.capabilities ?? [];
42
+ this.runtimeCapability = config.runtimeCapability;
74
43
  }
75
- }
76
- async writeCache(key, data) {
77
- if (!this.context?.cache) {
78
- throw new Error(PROCESSOR_ERRORS.CACHE_DIRECTORY_NOT_SET);
44
+ setContext(appConfig) {
45
+ const workDir = appConfig.absolutePaths.workDir ??
46
+ path.join(appConfig.rootDir, appConfig.workDir ?? DEFAULT_ECOPAGES_WORK_DIR);
47
+ const cachePath = resolveGeneratedPath('cache', {
48
+ root: workDir,
49
+ module: this.name,
50
+ });
51
+ fileSystem.ensureDir(cachePath);
52
+ this.context = {
53
+ config: appConfig,
54
+ rootDir: appConfig.rootDir,
55
+ srcDir: appConfig.absolutePaths.srcDir,
56
+ distDir: appConfig.absolutePaths.distDir,
57
+ cache: cachePath,
58
+ };
79
59
  }
80
- const cachePath = this.getCachePath(key);
81
- fileSystem.write(cachePath, JSON.stringify(data, null, 2));
82
- }
83
- getWatchConfig() {
84
- return this.watchConfig;
85
- }
86
- getDependencies() {
87
- return this.dependencies;
88
- }
89
- getName() {
90
- return this.name;
91
- }
92
- getAssetCapabilities() {
93
- return this.capabilities;
94
- }
95
- matchesFileFilter(_filepath) {
96
- return true;
97
- }
98
- canProcessAsset(kind, filepath) {
99
- const capabilities = this.getAssetCapabilities();
100
- if (capabilities.length === 0) {
101
- return false;
60
+ /**
61
+ * Prepares build-facing processor contributions before config finalization.
62
+ *
63
+ * @remarks
64
+ * Override this when a processor must compute runtime/build plugins or other
65
+ * manifest-owned state before startup. Runtime-only work such as cache
66
+ * warming or watcher registration should stay in `setup()`.
67
+ */
68
+ async prepareBuildContributions() { }
69
+ /**
70
+ * Declares watch-mode SSR prewarm pathnames and readiness for core.
71
+ *
72
+ * @remarks
73
+ * Processors return paths and readiness only; core owns parallel rendering and page cache population.
74
+ */
75
+ collectDevPrewarmPlan() {
76
+ return Promise.resolve({ pathnames: [], readiness: 'background' });
102
77
  }
103
- const matchingKind = capabilities.filter((capability) => capability.kind === kind);
104
- if (matchingKind.length === 0) {
105
- return false;
78
+ /**
79
+ * Reports whether this processor's build inputs changed since the last
80
+ * incremental static build.
81
+ *
82
+ * @remarks
83
+ * No shipped processor overrides this today. Integrations and processors can
84
+ * opt in when they own build inputs that should invalidate incremental static
85
+ * exports without a full rebuild.
86
+ */
87
+ didChange() {
88
+ return false;
106
89
  }
107
- if (!filepath) {
108
- return true;
90
+ /**
91
+ * Releases runtime resources owned by the processor.
92
+ *
93
+ * @remarks
94
+ * Core does not call this hook today. Override only when a processor owns
95
+ * watchers, compiler handles, or other resources that outlive individual
96
+ * requests.
97
+ */
98
+ async teardown() { }
99
+ getCachePath(key) {
100
+ return `${this.context?.cache}/${key}`;
109
101
  }
110
- return matchingKind.some((capability) => this.matchesCapabilityExtensions(filepath, capability.extensions));
111
- }
112
- matchesCapabilityExtensions(filepath, extensions) {
113
- if (!extensions || extensions.length === 0) {
114
- return true;
102
+ async readCache(key) {
103
+ const cachePath = this.getCachePath(key);
104
+ try {
105
+ const data = await fileSystem.readFile(cachePath);
106
+ return JSON.parse(data);
107
+ }
108
+ catch {
109
+ return null;
110
+ }
115
111
  }
116
- const normalizedExt = path.extname(filepath).toLowerCase();
117
- return extensions.some((rawPattern) => {
118
- const pattern = this.normalizeExtensionPattern(rawPattern);
119
- if (!pattern) {
120
- return false;
121
- }
122
- if (pattern === "*") {
112
+ async writeCache(key, data) {
113
+ if (!this.context?.cache) {
114
+ throw new Error(PROCESSOR_ERRORS.CACHE_DIRECTORY_NOT_SET);
115
+ }
116
+ const cachePath = this.getCachePath(key);
117
+ fileSystem.write(cachePath, JSON.stringify(data, null, 2));
118
+ }
119
+ getWatchConfig() {
120
+ return this.watchConfig;
121
+ }
122
+ getName() {
123
+ return this.name;
124
+ }
125
+ getAssetCapabilities() {
126
+ return this.capabilities;
127
+ }
128
+ matchesFileFilter(_filepath) {
123
129
  return true;
124
- }
125
- const groupedMatch = pattern.match(/^\*\.\{(.+)\}$/);
126
- if (groupedMatch) {
127
- const groupItems = groupedMatch[1].split(",").map((item) => this.normalizeExtensionPattern(item)).filter(Boolean);
128
- return groupItems.some((item) => normalizedExt === item || normalizedExt === `.${item}`);
129
- }
130
- if (pattern.startsWith("*")) {
131
- const suffix = pattern.slice(1);
132
- return normalizedExt.endsWith(suffix);
133
- }
134
- if (pattern.startsWith(".")) {
135
- return normalizedExt === pattern;
136
- }
137
- return normalizedExt === `.${pattern}`;
138
- });
139
- }
140
- normalizeExtensionPattern(rawPattern) {
141
- return rawPattern.trim().toLowerCase();
142
- }
130
+ }
131
+ canProcessAsset(kind, filepath) {
132
+ const capabilities = this.getAssetCapabilities();
133
+ if (capabilities.length === 0) {
134
+ return false;
135
+ }
136
+ const matchingKind = capabilities.filter((capability) => capability.kind === kind);
137
+ if (matchingKind.length === 0) {
138
+ return false;
139
+ }
140
+ if (!filepath) {
141
+ return true;
142
+ }
143
+ return matchingKind.some((capability) => this.matchesCapabilityExtensions(filepath, capability.extensions));
144
+ }
145
+ matchesCapabilityExtensions(filepath, extensions) {
146
+ if (!extensions || extensions.length === 0) {
147
+ return true;
148
+ }
149
+ const normalizedExt = path.extname(filepath).toLowerCase();
150
+ return extensions.some((rawPattern) => {
151
+ const pattern = this.normalizeExtensionPattern(rawPattern);
152
+ if (!pattern) {
153
+ return false;
154
+ }
155
+ if (pattern === '*') {
156
+ return true;
157
+ }
158
+ const groupedMatch = pattern.match(/^\*\.\{(.+)\}$/);
159
+ if (groupedMatch) {
160
+ const groupItems = groupedMatch[1]
161
+ .split(',')
162
+ .map((item) => this.normalizeExtensionPattern(item))
163
+ .filter(Boolean);
164
+ return groupItems.some((item) => normalizedExt === item || normalizedExt === `.${item}`);
165
+ }
166
+ if (pattern.startsWith('*')) {
167
+ const suffix = pattern.slice(1);
168
+ return normalizedExt.endsWith(suffix);
169
+ }
170
+ if (pattern.startsWith('.')) {
171
+ return normalizedExt === pattern;
172
+ }
173
+ return normalizedExt === `.${pattern}`;
174
+ });
175
+ }
176
+ normalizeExtensionPattern(rawPattern) {
177
+ return rawPattern.trim().toLowerCase();
178
+ }
143
179
  }
144
- export {
145
- PROCESSOR_ERRORS,
146
- Processor,
147
- mergeProcessorOptions
148
- };
@@ -0,0 +1 @@
1
+ export {};
@@ -1,12 +1,24 @@
1
- import type { EcoBuildPlugin } from '../build/build-types.js';
1
+ import type { EcoBuildPlugin } from '../build/contracts/build-types.js';
2
2
  import type { EcoPagesAppConfig } from '../types/internal-types.js';
3
3
  export interface EcoSourceTransformResult {
4
4
  code: string;
5
5
  map?: unknown;
6
6
  }
7
+ /**
8
+ * Bundler-neutral source transform registered on {@link EcoPagesAppConfig.sourceTransforms}.
9
+ *
10
+ * @remarks
11
+ * Prefer this shape over a competing {@link EcoBuildPlugin} `onLoad` handler when
12
+ * the transform only rewrites module source. Browser/HMR builds run source
13
+ * transforms after first-wins `onLoad` plugins, so metadata injection and similar
14
+ * passes still run on rewritten output from boundary/runtime plugins.
15
+ */
7
16
  export interface EcoSourceTransform {
17
+ /** Stable transform name. Also used to dedupe loader plugins in browser builds. */
8
18
  name: string;
19
+ /** File-path filter tested against {@link normalizeTransformId | normalized ids}. */
9
20
  filter: RegExp;
21
+ /** Runs before default transforms, or after them when set to `post`. */
10
22
  enforce?: 'pre' | 'post';
11
23
  transform(code: string, id: string): EcoSourceTransformResult | string | undefined;
12
24
  }
@@ -24,8 +36,27 @@ export declare function normalizeTransformId(id: string): string;
24
36
  * Applies one source transform if the normalized id matches its filter.
25
37
  */
26
38
  export declare function applySourceTransform(transform: EcoSourceTransform, code: string, id: string): EcoSourceTransformResult | string | undefined;
39
+ /**
40
+ * Applies app-owned source transforms in deterministic `pre` → default → `post` order.
41
+ *
42
+ * @remarks
43
+ * Used by the Rolldown plugin bridge after `onLoad` plugins produce final module
44
+ * contents. Transforms that do not match `filter` are skipped; matching transforms
45
+ * are chained left-to-right on the current source string.
46
+ *
47
+ * @param transforms - App-owned transforms, usually from {@link getAppSourceTransforms}.
48
+ * @param code - Current module source.
49
+ * @param id - Module id forwarded to each transform after query/hash normalization.
50
+ * @returns The transformed source, or the original `code` when no transform matches.
51
+ */
52
+ export declare function applySourceTransforms(transforms: readonly EcoSourceTransform[], code: string, id: string): string;
27
53
  /**
28
54
  * Adapts a source transform into the existing Ecopages build-plugin contract.
55
+ *
56
+ * @remarks
57
+ * Server-oriented builds and loader registration still use this adapter.
58
+ * Browser/HMR builds should register the transform in `appConfig.sourceTransforms`
59
+ * instead so the Rolldown bridge can run it after competing `onLoad` plugins.
29
60
  */
30
61
  export declare function createEcoBuildPluginFromSourceTransform(transform: EcoSourceTransform): EcoBuildPlugin;
31
62
  /**
@@ -1,71 +1,123 @@
1
- import path from "node:path";
2
- import { fileSystem } from "@ecopages/file-system";
3
- function normalizeTransformId(id) {
4
- const queryIndex = id.indexOf("?");
5
- const hashIndex = id.indexOf("#");
6
- const endIndex = [queryIndex, hashIndex].filter((index) => index >= 0).sort((left, right) => left - right)[0];
7
- return endIndex === void 0 ? id : id.slice(0, endIndex);
1
+ import path from 'node:path';
2
+ import { fileSystem } from '@ecopages/file-system';
3
+ /**
4
+ * Normalizes bundler module ids so one transform can serve Ecopages loaders,
5
+ * Vite, and future bundler adapters.
6
+ */
7
+ export function normalizeTransformId(id) {
8
+ const queryIndex = id.indexOf('?');
9
+ const hashIndex = id.indexOf('#');
10
+ const endIndex = [queryIndex, hashIndex].filter((index) => index >= 0).sort((left, right) => left - right)[0];
11
+ return endIndex === undefined ? id : id.slice(0, endIndex);
8
12
  }
9
- function applySourceTransform(transform, code, id) {
10
- const normalizedId = normalizeTransformId(id);
11
- if (!transform.filter.test(normalizedId)) {
12
- return void 0;
13
- }
14
- return transform.transform(code, normalizedId);
13
+ /**
14
+ * Applies one source transform if the normalized id matches its filter.
15
+ */
16
+ export function applySourceTransform(transform, code, id) {
17
+ const normalizedId = normalizeTransformId(id);
18
+ if (!transform.filter.test(normalizedId)) {
19
+ return undefined;
20
+ }
21
+ return transform.transform(code, normalizedId);
15
22
  }
16
- function inferLoaderFromPath(filePath) {
17
- const extension = path.extname(filePath).toLowerCase();
18
- switch (extension) {
19
- case ".ts":
20
- return "ts";
21
- case ".tsx":
22
- return "tsx";
23
- case ".jsx":
24
- return "jsx";
25
- default:
26
- return "js";
27
- }
23
+ const SOURCE_TRANSFORM_ENFORCE_ORDER = {
24
+ pre: 0,
25
+ default: 1,
26
+ post: 2,
27
+ };
28
+ function getSourceTransformEnforceOrder(transform) {
29
+ return SOURCE_TRANSFORM_ENFORCE_ORDER[transform.enforce ?? 'default'];
28
30
  }
29
- function createEcoBuildPluginFromSourceTransform(transform) {
30
- return {
31
- name: transform.name,
32
- setup(build) {
33
- build.onLoad({ filter: transform.filter }, (args) => {
34
- const filePath = normalizeTransformId(args.path);
35
- const code = fileSystem.readFileSync(filePath);
36
- const result = applySourceTransform(transform, code, filePath);
31
+ /**
32
+ * Applies app-owned source transforms in deterministic `pre` → default → `post` order.
33
+ *
34
+ * @remarks
35
+ * Used by the Rolldown plugin bridge after `onLoad` plugins produce final module
36
+ * contents. Transforms that do not match `filter` are skipped; matching transforms
37
+ * are chained left-to-right on the current source string.
38
+ *
39
+ * @param transforms - App-owned transforms, usually from {@link getAppSourceTransforms}.
40
+ * @param code - Current module source.
41
+ * @param id - Module id forwarded to each transform after query/hash normalization.
42
+ * @returns The transformed source, or the original `code` when no transform matches.
43
+ */
44
+ export function applySourceTransforms(transforms, code, id) {
45
+ let current = code;
46
+ for (const transform of [...transforms].sort((left, right) => getSourceTransformEnforceOrder(left) - getSourceTransformEnforceOrder(right))) {
47
+ const result = applySourceTransform(transform, current, id);
37
48
  if (!result) {
38
- return void 0;
49
+ continue;
39
50
  }
40
- return {
41
- contents: typeof result === "string" ? result : result.code,
42
- loader: inferLoaderFromPath(filePath),
43
- resolveDir: path.dirname(filePath)
44
- };
45
- });
51
+ current = typeof result === 'string' ? result : result.code;
46
52
  }
47
- };
53
+ return current;
48
54
  }
49
- function createVitePluginFromSourceTransform(transform) {
50
- return {
51
- name: transform.name,
52
- enforce: transform.enforce,
53
- transform(code, id) {
54
- return applySourceTransform(transform, code, id);
55
+ function inferLoaderFromPath(filePath) {
56
+ const extension = path.extname(filePath).toLowerCase();
57
+ switch (extension) {
58
+ case '.ts':
59
+ return 'ts';
60
+ case '.tsx':
61
+ return 'tsx';
62
+ case '.jsx':
63
+ return 'jsx';
64
+ default:
65
+ return 'js';
55
66
  }
56
- };
57
67
  }
58
- function getAppSourceTransforms(appConfig) {
59
- return Array.from(appConfig.sourceTransforms.values());
68
+ /**
69
+ * Adapts a source transform into the existing Ecopages build-plugin contract.
70
+ *
71
+ * @remarks
72
+ * Server-oriented builds and loader registration still use this adapter.
73
+ * Browser/HMR builds should register the transform in `appConfig.sourceTransforms`
74
+ * instead so the Rolldown bridge can run it after competing `onLoad` plugins.
75
+ */
76
+ export function createEcoBuildPluginFromSourceTransform(transform) {
77
+ return {
78
+ name: transform.name,
79
+ setup(build) {
80
+ build.onLoad({ filter: transform.filter }, (args) => {
81
+ const filePath = normalizeTransformId(args.path);
82
+ const code = fileSystem.readFileSync(filePath);
83
+ const result = applySourceTransform(transform, code, filePath);
84
+ if (!result) {
85
+ return undefined;
86
+ }
87
+ return {
88
+ contents: typeof result === 'string' ? result : result.code,
89
+ loader: inferLoaderFromPath(filePath),
90
+ resolveDir: path.dirname(filePath),
91
+ };
92
+ });
93
+ },
94
+ };
60
95
  }
61
- function createVitePluginsFromAppSourceTransforms(appConfig) {
62
- return getAppSourceTransforms(appConfig).map((transform) => createVitePluginFromSourceTransform(transform));
96
+ /**
97
+ * Adapts a source transform into a Vite-compatible plugin object.
98
+ *
99
+ * @remarks
100
+ * This intentionally returns a plain object shape so core does not need a hard
101
+ * dependency on `vite` just to author transform primitives.
102
+ */
103
+ export function createVitePluginFromSourceTransform(transform) {
104
+ return {
105
+ name: transform.name,
106
+ enforce: transform.enforce,
107
+ transform(code, id) {
108
+ return applySourceTransform(transform, code, id);
109
+ },
110
+ };
111
+ }
112
+ /**
113
+ * Returns the app-owned source transforms in stable registration order.
114
+ */
115
+ export function getAppSourceTransforms(appConfig) {
116
+ return appConfig.sourceTransforms ? Array.from(appConfig.sourceTransforms.values()) : [];
117
+ }
118
+ /**
119
+ * Adapts the app-owned source transforms into Vite-compatible plugin objects.
120
+ */
121
+ export function createVitePluginsFromAppSourceTransforms(appConfig) {
122
+ return getAppSourceTransforms(appConfig).map((transform) => createVitePluginFromSourceTransform(transform));
63
123
  }
64
- export {
65
- applySourceTransform,
66
- createEcoBuildPluginFromSourceTransform,
67
- createVitePluginFromSourceTransform,
68
- createVitePluginsFromAppSourceTransforms,
69
- getAppSourceTransforms,
70
- normalizeTransformId
71
- };
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Loads `compilerOptions.paths` keys from tsconfig, following `extends` recursively.
3
+ */
4
+ export declare function loadTsconfigPathPrefixes(projectRoot: string): string[];
5
+ export declare function matchesTsconfigPathPrefix(specifier: string, prefixes: readonly string[]): boolean;
6
+ /**
7
+ * Returns true when `specifier` looks like a bare npm package import rather than
8
+ * a relative path, absolute path, node built-in, tsconfig alias, or `#` import map.
9
+ */
10
+ export declare function isBarePackageImportSpecifier(specifier: string, projectRoot?: string): boolean;
11
+ /**
12
+ * Resolves a bare npm package entry for browser vendor prebundles.
13
+ *
14
+ * @remarks
15
+ * Framework-owned dual packages such as `@ecopages/core` keep browser-first
16
+ * `mainFields` and `conditionNames` so vendor prebundles pick the browser facade.
17
+ * Third-party packages prefer ESM (`module` / `import`) and omit the `browser`
18
+ * export condition so legacy UMD `exports.browser` entries cannot win during
19
+ * Rolldown bundling.
20
+ */
21
+ export declare function resolveBarePackageBrowserEntry(projectRoot: string, specifier: string): string | undefined;
22
+ /**
23
+ * Resolves a relative import against the filesystem without requiring tsconfig.
24
+ *
25
+ * @remarks
26
+ * Used when oxc-resolver has no tsconfig (minimal fixtures / apps without paths)
27
+ * and as a fallback when the resolver cannot locate a relative specifier.
28
+ */
29
+ export declare function resolveRelativeModulePath(fromFile: string, specifier: string): string | undefined;
30
+ /**
31
+ * Resolves a relative or tsconfig path alias import (via oxc-resolver).
32
+ */
33
+ export declare function resolveProjectModulePath(projectRoot: string, fromFile: string, specifier: string): string | undefined;
34
+ /**
35
+ * Resolves a TS path alias import using the app's tsconfig `paths` (via oxc-resolver).
36
+ */
37
+ export declare function resolveProjectImportPath(projectRoot: string, fromFile: string, specifier: string): string | undefined;