@ecopages/core 0.2.0-alpha.8 → 0.2.1-beta.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.
- package/README.md +79 -28
- package/package.json +94 -116
- package/src/adapters/README.md +2 -2
- package/src/adapters/abstract/application-adapter.d.ts +28 -2
- package/src/adapters/abstract/application-adapter.js +14 -2
- package/src/adapters/abstract/router-adapter.d.ts +1 -1
- package/src/adapters/abstract/server-adapter.d.ts +2 -2
- package/src/adapters/bun/client-bridge.d.ts +1 -1
- package/src/adapters/bun/create-app.d.ts +12 -12
- package/src/adapters/bun/create-app.js +64 -41
- package/src/adapters/bun/hmr-manager.d.ts +19 -115
- package/src/adapters/bun/hmr-manager.js +25 -301
- package/src/adapters/bun/index.d.ts +1 -1
- package/src/adapters/bun/index.js +2 -2
- package/src/adapters/bun/runtime-host.d.ts +52 -0
- package/src/adapters/bun/runtime-host.js +56 -0
- package/src/adapters/bun/server-adapter.d.ts +100 -32
- package/src/adapters/bun/server-adapter.js +142 -65
- package/src/adapters/bun/static-preview-host.d.ts +28 -0
- package/src/adapters/bun/static-preview-host.js +45 -0
- package/src/{create-app.d.ts → adapters/create-app.d.ts} +9 -6
- package/src/{create-app.js → adapters/create-app.js} +4 -4
- package/src/adapters/index.d.ts +1 -5
- package/src/adapters/index.js +1 -7
- package/src/adapters/node/create-app.d.ts +15 -12
- package/src/adapters/node/create-app.js +34 -85
- package/src/adapters/node/http-request-bridge.d.ts +57 -0
- package/src/adapters/node/http-request-bridge.js +118 -0
- package/src/adapters/node/node-client-bridge.d.ts +1 -1
- package/src/adapters/node/node-hmr-manager.d.ts +22 -103
- package/src/adapters/node/node-hmr-manager.js +26 -289
- package/src/adapters/node/runtime-host.d.ts +57 -0
- package/src/adapters/node/runtime-host.js +92 -0
- package/src/adapters/node/server-adapter-dependencies.d.ts +19 -0
- package/src/adapters/node/server-adapter-dependencies.js +18 -0
- package/src/adapters/node/server-adapter.d.ts +19 -42
- package/src/adapters/node/server-adapter.js +94 -139
- package/src/adapters/node/static-content-server.d.ts +1 -1
- package/src/adapters/node/static-content-server.js +1 -1
- package/src/adapters/node/static-preview-host.d.ts +55 -0
- package/src/adapters/node/static-preview-host.js +68 -0
- package/src/adapters/shared/application-adapter.d.ts +1 -1
- package/src/adapters/shared/define-api-handler.d.ts +1 -1
- package/src/adapters/shared/explicit-static-render-preparation.d.ts +25 -0
- package/src/adapters/shared/explicit-static-render-preparation.js +26 -0
- package/src/adapters/shared/explicit-static-route-matcher.d.ts +7 -4
- package/src/adapters/shared/explicit-static-route-matcher.js +14 -16
- package/src/adapters/shared/file-route-middleware-pipeline.d.ts +7 -10
- package/src/adapters/shared/file-route-middleware-pipeline.js +2 -11
- package/src/adapters/shared/fs-server-response-factory.d.ts +14 -10
- package/src/adapters/shared/fs-server-response-factory.js +11 -27
- package/src/adapters/shared/fs-server-response-matcher.d.ts +18 -18
- package/src/adapters/shared/fs-server-response-matcher.js +72 -46
- package/src/adapters/shared/hmr-entrypoint-registrar.js +1 -1
- package/src/adapters/shared/hmr-html-response.d.ts +1 -1
- package/src/adapters/shared/hmr-html-response.js +4 -3
- package/src/adapters/shared/render-context.d.ts +5 -3
- package/src/adapters/shared/render-context.js +24 -1
- package/src/adapters/shared/runtime-app-bootstrap.d.ts +26 -0
- package/src/adapters/shared/runtime-app-bootstrap.js +46 -0
- package/src/adapters/shared/runtime-host.d.ts +12 -0
- package/src/adapters/shared/server-adapter.d.ts +22 -11
- package/src/adapters/shared/server-adapter.js +183 -133
- package/src/adapters/shared/server-route-handler.d.ts +5 -5
- package/src/adapters/shared/server-route-handler.js +4 -4
- package/src/adapters/shared/server-static-builder.d.ts +8 -7
- package/src/adapters/shared/server-static-builder.js +6 -5
- package/src/adapters/shared/shared-hmr-manager.d.ts +59 -0
- package/src/adapters/shared/shared-hmr-manager.js +241 -0
- package/src/adapters/shared/static-preview-host.d.ts +10 -0
- package/src/build/README.md +57 -67
- package/src/build/browser-runtime-manifest.d.ts +31 -0
- package/src/build/browser-runtime-manifest.js +61 -0
- package/src/build/browser-runtime-plugin-helpers.d.ts +26 -0
- package/src/build/browser-runtime-plugin-helpers.js +14 -0
- package/src/build/browser-runtime-plugin.d.ts +78 -0
- package/src/build/browser-runtime-plugin.js +173 -0
- package/src/build/build-adapter.d.ts +384 -63
- package/src/build/build-adapter.js +129 -54
- package/src/build/build-manifest.d.ts +6 -0
- package/src/build/build-manifest.js +21 -2
- package/src/build/build-types.d.ts +2 -2
- package/src/build/rolldown-adapter-helpers.d.ts +58 -0
- package/src/build/rolldown-adapter-helpers.js +265 -0
- package/src/build/rolldown-build-adapter.d.ts +28 -0
- package/src/build/rolldown-build-adapter.js +65 -0
- package/src/build/rolldown-dev-build-adapter.d.ts +82 -0
- package/src/build/rolldown-dev-build-adapter.js +166 -0
- package/src/build/rolldown-plugin-bridge.d.ts +59 -0
- package/src/build/rolldown-plugin-bridge.js +199 -0
- package/src/build/runtime-build-executor.d.ts +15 -7
- package/src/build/runtime-build-executor.js +8 -9
- package/src/build/runtime-build-output-normalizer.d.ts +3 -0
- package/src/build/runtime-build-output-normalizer.js +111 -0
- package/src/build/serialized-build-executor.d.ts +64 -0
- package/src/build/serialized-build-executor.js +63 -0
- package/src/build/server-side-css-shim-plugin.d.ts +41 -0
- package/src/build/server-side-css-shim-plugin.js +35 -0
- package/src/cache/index.d.ts +6 -0
- package/src/cache/index.js +6 -0
- package/src/cache/module-parse-cache.d.ts +65 -0
- package/src/cache/module-parse-cache.js +75 -0
- package/src/config/README.md +5 -2
- package/src/config/config-builder.d.ts +41 -13
- package/src/config/config-builder.js +62 -24
- package/src/declarations.d.ts +1 -1
- package/src/dev/host-runtime.d.ts +10 -0
- package/src/dev/host-runtime.js +24 -0
- package/src/dev/sc-server.d.ts +1 -1
- package/src/dev/sc-server.js +1 -1
- package/src/eco/eco.browser.d.ts +2 -0
- package/src/eco/eco.browser.js +88 -0
- package/src/eco/eco.js +50 -45
- package/src/eco/eco.types.d.ts +60 -8
- package/src/eco/eco.utils.d.ts +1 -40
- package/src/eco/eco.utils.js +5 -35
- package/src/eco/global-injector-map.d.ts +3 -3
- package/src/eco/global-injector-map.js +2 -2
- package/src/eco/lazy-injector-map.d.ts +2 -2
- package/src/errors/index.d.ts +1 -0
- package/src/errors/index.js +3 -1
- package/src/hmr/client/hmr-runtime.js +9 -1
- package/src/hmr/hmr-strategy.d.ts +16 -13
- package/src/hmr/hmr-strategy.js +22 -7
- package/src/hmr/strategies/default-hmr-strategy.d.ts +2 -2
- package/src/hmr/strategies/default-hmr-strategy.js +1 -1
- package/src/hmr/strategies/js-hmr-strategy.d.ts +4 -9
- package/src/hmr/strategies/js-hmr-strategy.js +5 -10
- package/src/index.browser.d.ts +2 -2
- package/src/index.browser.js +1 -1
- package/src/index.d.ts +3 -2
- package/src/index.js +15 -4
- package/src/integrations/ghtml/ghtml-renderer.d.ts +2 -1
- package/src/integrations/ghtml/ghtml-renderer.js +24 -29
- package/src/integrations/ghtml/ghtml.constants.d.ts +1 -0
- package/src/integrations/ghtml/ghtml.constants.js +4 -0
- package/src/integrations/ghtml/ghtml.plugin.d.ts +2 -6
- package/src/integrations/ghtml/ghtml.plugin.js +3 -4
- package/src/plugins/README.md +1 -0
- package/src/plugins/alias-resolver-cache.d.ts +68 -0
- package/src/plugins/alias-resolver-cache.js +106 -0
- package/src/plugins/alias-resolver-plugin.d.ts +5 -1
- package/src/plugins/alias-resolver-plugin.js +19 -7
- package/src/plugins/eco-component-meta-plugin.d.ts +12 -1
- package/src/plugins/eco-component-meta-plugin.js +43 -25
- package/src/plugins/foreign-jsx-override-plugin.d.ts +33 -0
- package/src/plugins/foreign-jsx-override-plugin.js +41 -0
- package/src/plugins/integration-plugin.d.ts +136 -42
- package/src/plugins/integration-plugin.js +99 -31
- package/src/plugins/processor.d.ts +4 -2
- package/src/plugins/processor.js +8 -3
- package/src/plugins/source-transform.d.ts +46 -0
- package/src/plugins/source-transform.js +71 -0
- package/src/route-renderer/GRAPH.md +80 -318
- package/src/route-renderer/README.md +74 -78
- package/src/route-renderer/orchestration/component-render-context.d.ts +97 -0
- package/src/route-renderer/orchestration/component-render-context.js +147 -0
- package/src/route-renderer/orchestration/declared-ownership-graph.d.ts +18 -0
- package/src/route-renderer/orchestration/declared-ownership-graph.js +34 -0
- package/src/route-renderer/orchestration/foreign-subtree-execution.service.d.ts +110 -0
- package/src/route-renderer/orchestration/foreign-subtree-execution.service.js +233 -0
- package/src/route-renderer/orchestration/integration-renderer.d.ts +290 -128
- package/src/route-renderer/orchestration/integration-renderer.js +660 -258
- package/src/route-renderer/orchestration/ownership-planning.service.d.ts +24 -0
- package/src/route-renderer/orchestration/ownership-planning.service.js +63 -0
- package/src/route-renderer/orchestration/ownership-validation.service.d.ts +29 -0
- package/src/route-renderer/orchestration/ownership-validation.service.js +53 -0
- package/src/route-renderer/orchestration/processed-asset-dedupe.d.ts +3 -0
- package/src/route-renderer/orchestration/processed-asset-dedupe.js +27 -0
- package/src/route-renderer/orchestration/queued-foreign-subtree-resolution.service.d.ts +91 -0
- package/src/route-renderer/orchestration/queued-foreign-subtree-resolution.service.js +170 -0
- package/src/route-renderer/orchestration/render-output.utils.d.ts +66 -0
- package/src/route-renderer/orchestration/render-output.utils.js +171 -0
- package/src/route-renderer/orchestration/route-render-orchestrator.d.ts +156 -0
- package/src/route-renderer/orchestration/route-render-orchestrator.js +577 -0
- package/src/route-renderer/orchestration/template-serialization.d.ts +38 -0
- package/src/route-renderer/orchestration/template-serialization.js +45 -0
- package/src/route-renderer/page-loading/component-dependency-collection.d.ts +37 -0
- package/src/route-renderer/page-loading/component-dependency-collection.js +132 -0
- package/src/route-renderer/page-loading/declared-asset-collection.d.ts +24 -0
- package/src/route-renderer/page-loading/declared-asset-collection.js +106 -0
- package/src/route-renderer/page-loading/dependency-resolver.d.ts +2 -2
- package/src/route-renderer/page-loading/dependency-resolver.js +27 -354
- package/src/route-renderer/page-loading/ecopages-virtual-imports.d.ts +11 -0
- package/src/route-renderer/page-loading/ecopages-virtual-imports.js +57 -0
- package/src/route-renderer/page-loading/lazy-entry-collection.d.ts +45 -0
- package/src/route-renderer/page-loading/lazy-entry-collection.js +105 -0
- package/src/route-renderer/page-loading/lazy-trigger-planning.d.ts +19 -0
- package/src/route-renderer/page-loading/lazy-trigger-planning.js +40 -0
- package/src/route-renderer/page-loading/module-declaration-aggregation.d.ts +5 -0
- package/src/route-renderer/page-loading/module-declaration-aggregation.js +33 -0
- package/src/route-renderer/page-loading/module-declaration-scripts.d.ts +3 -0
- package/src/route-renderer/page-loading/module-declaration-scripts.js +18 -0
- package/src/route-renderer/page-loading/page-dependency-bundling.d.ts +13 -0
- package/src/route-renderer/page-loading/page-dependency-bundling.js +137 -0
- package/src/route-renderer/page-loading/page-module-loader.d.ts +7 -4
- package/src/route-renderer/page-loading/page-module-loader.js +8 -5
- package/src/route-renderer/route-renderer.d.ts +31 -23
- package/src/route-renderer/route-renderer.js +17 -24
- package/src/router/README.md +76 -8
- package/src/router/client/navigation-coordinator.d.ts +20 -0
- package/src/router/client/navigation-coordinator.js +2 -2
- package/src/router/server/route-registry.d.ts +78 -0
- package/src/router/server/route-registry.js +262 -0
- package/src/services/README.md +1 -2
- package/src/services/assets/asset-processing-service/asset-dependency-keys.d.ts +3 -0
- package/src/services/assets/asset-processing-service/asset-dependency-keys.js +56 -0
- package/src/services/assets/asset-processing-service/asset-processing.service.d.ts +3 -20
- package/src/services/assets/asset-processing-service/asset-processing.service.js +52 -98
- package/src/services/assets/asset-processing-service/asset.factory.d.ts +1 -1
- package/src/services/assets/asset-processing-service/asset.factory.js +2 -2
- package/src/services/assets/asset-processing-service/assets.types.d.ts +14 -0
- package/src/services/assets/asset-processing-service/browser-runtime-asset.factory.d.ts +2 -0
- package/src/services/assets/asset-processing-service/browser-runtime-asset.factory.js +1 -0
- package/src/services/assets/asset-processing-service/grouped-content-bundles.d.ts +30 -0
- package/src/services/assets/asset-processing-service/grouped-content-bundles.js +65 -0
- package/src/services/assets/asset-processing-service/index.d.ts +6 -5
- package/src/services/assets/asset-processing-service/index.js +6 -5
- package/src/services/assets/asset-processing-service/page-package.d.ts +6 -0
- package/src/services/assets/asset-processing-service/page-package.js +80 -0
- package/src/services/assets/asset-processing-service/processor.interface.d.ts +2 -2
- package/src/services/assets/asset-processing-service/processor.registry.d.ts +2 -2
- package/src/services/assets/asset-processing-service/processors/base/base-processor.d.ts +1 -1
- package/src/services/assets/asset-processing-service/processors/base/base-processor.js +3 -2
- package/src/services/assets/asset-processing-service/processors/base/base-script-processor.d.ts +10 -5
- package/src/services/assets/asset-processing-service/processors/base/base-script-processor.js +69 -5
- package/src/services/assets/asset-processing-service/processors/index.d.ts +5 -5
- package/src/services/assets/asset-processing-service/processors/index.js +5 -5
- package/src/services/assets/asset-processing-service/processors/script/content-script.processor.d.ts +3 -2
- package/src/services/assets/asset-processing-service/processors/script/content-script.processor.js +66 -3
- package/src/services/assets/asset-processing-service/processors/script/file-script.processor.d.ts +4 -3
- package/src/services/assets/asset-processing-service/processors/script/file-script.processor.js +27 -6
- package/src/services/assets/asset-processing-service/processors/script/node-module-script.processor.d.ts +38 -3
- package/src/services/assets/asset-processing-service/processors/script/node-module-script.processor.js +57 -6
- package/src/services/assets/asset-processing-service/processors/stylesheet/content-stylesheet.processor.d.ts +5 -2
- package/src/services/assets/asset-processing-service/processors/stylesheet/content-stylesheet.processor.js +39 -5
- package/src/services/assets/asset-processing-service/processors/stylesheet/file-stylesheet.processor.d.ts +2 -2
- package/src/services/assets/asset-processing-service/processors/stylesheet/file-stylesheet.processor.js +5 -2
- package/src/services/assets/asset-processing-service/ungrouped-dependency-processing.d.ts +18 -0
- package/src/services/assets/asset-processing-service/ungrouped-dependency-processing.js +45 -0
- package/src/services/assets/browser-bundle.service.d.ts +44 -3
- package/src/services/assets/browser-bundle.service.js +15 -7
- package/src/services/html/html-rewriter-provider.service.d.ts +3 -0
- package/src/services/html/html-rewriter-provider.service.js +4 -1
- package/src/services/html/html-transformer.service.d.ts +22 -3
- package/src/services/html/html-transformer.service.js +101 -35
- package/src/services/invalidation/development-invalidation.service.d.ts +1 -1
- package/src/services/invalidation/development-invalidation.service.js +1 -0
- package/src/services/module-loading/app-module-loader.service.d.ts +7 -0
- package/src/services/module-loading/app-module-loader.service.js +0 -0
- package/src/services/module-loading/app-server-module-transpiler.service.d.ts +9 -1
- package/src/services/module-loading/app-server-module-transpiler.service.js +102 -6
- package/src/services/module-loading/host-module-loader-registry.d.ts +4 -0
- package/src/services/module-loading/host-module-loader-registry.js +15 -0
- package/src/services/module-loading/module-loading-types.d.ts +2 -0
- package/src/services/module-loading/module-loading-types.js +0 -0
- package/src/services/module-loading/page-module-import.service.d.ts +32 -8
- package/src/services/module-loading/page-module-import.service.js +83 -22
- package/src/services/module-loading/server-module-transpiler.service.d.ts +8 -14
- package/src/services/module-loading/server-module-transpiler.service.js +5 -2
- package/src/services/module-loading/source-module-support.d.ts +5 -0
- package/src/services/module-loading/source-module-support.js +8 -0
- package/src/services/runtime-state/dev-graph.service.d.ts +6 -6
- package/src/services/runtime-state/dev-graph.service.js +10 -10
- package/src/services/runtime-state/entrypoint-dependency-graph.service.d.ts +1 -1
- package/src/services/runtime-state/server-invalidation-state.service.d.ts +1 -1
- package/src/static-site-generator/static-site-generator.d.ts +23 -28
- package/src/static-site-generator/static-site-generator.js +119 -156
- package/src/{internal-types.d.ts → types/internal-types.d.ts} +34 -23
- package/src/types/internal-types.js +0 -0
- package/src/{public-types.d.ts → types/public-types.d.ts} +195 -37
- package/src/types/public-types.js +0 -0
- package/src/utils/html-escaping.d.ts +7 -0
- package/src/utils/html-escaping.js +6 -0
- package/src/utils/locals-utils.d.ts +1 -1
- package/src/utils/parse-cli-args.d.ts +4 -1
- package/src/utils/parse-cli-args.js +16 -1
- package/src/utils/resolve-work-dir.js +1 -1
- package/src/watchers/project-watcher.d.ts +4 -4
- package/src/watchers/project-watcher.js +35 -41
- package/src/watchers/project-watcher.test-helpers.d.ts +2 -2
- package/src/watchers/project-watcher.test-helpers.js +5 -5
- package/CHANGELOG.md +0 -31
- package/src/adapters/abstract/application-adapter.ts +0 -337
- package/src/adapters/abstract/router-adapter.ts +0 -30
- package/src/adapters/abstract/server-adapter.ts +0 -79
- package/src/adapters/bun/client-bridge.ts +0 -62
- package/src/adapters/bun/create-app.ts +0 -189
- package/src/adapters/bun/hmr-manager.ts +0 -409
- package/src/adapters/bun/index.ts +0 -2
- package/src/adapters/bun/server-adapter.ts +0 -499
- package/src/adapters/bun/server-lifecycle.d.ts +0 -63
- package/src/adapters/bun/server-lifecycle.js +0 -92
- package/src/adapters/bun/server-lifecycle.ts +0 -124
- package/src/adapters/index.ts +0 -6
- package/src/adapters/node/bootstrap-dependency-resolver.d.ts +0 -44
- package/src/adapters/node/bootstrap-dependency-resolver.js +0 -172
- package/src/adapters/node/bootstrap-dependency-resolver.ts +0 -301
- package/src/adapters/node/create-app.ts +0 -179
- package/src/adapters/node/index.d.ts +0 -6
- package/src/adapters/node/index.js +0 -11
- package/src/adapters/node/index.ts +0 -16
- package/src/adapters/node/node-client-bridge.ts +0 -79
- package/src/adapters/node/node-hmr-manager.ts +0 -381
- package/src/adapters/node/runtime-adapter.d.ts +0 -46
- package/src/adapters/node/runtime-adapter.js +0 -306
- package/src/adapters/node/runtime-adapter.ts +0 -439
- package/src/adapters/node/server-adapter.ts +0 -488
- package/src/adapters/node/static-content-server.ts +0 -239
- package/src/adapters/node/write-runtime-manifest.d.ts +0 -26
- package/src/adapters/node/write-runtime-manifest.js +0 -12
- package/src/adapters/node/write-runtime-manifest.ts +0 -38
- package/src/adapters/shared/api-response.ts +0 -104
- package/src/adapters/shared/application-adapter.ts +0 -199
- package/src/adapters/shared/define-api-handler.ts +0 -66
- package/src/adapters/shared/explicit-static-route-matcher.ts +0 -140
- package/src/adapters/shared/file-route-middleware-pipeline.ts +0 -127
- package/src/adapters/shared/fs-server-response-factory.ts +0 -118
- package/src/adapters/shared/fs-server-response-matcher.ts +0 -205
- package/src/adapters/shared/hmr-entrypoint-registrar.ts +0 -149
- package/src/adapters/shared/hmr-html-response.ts +0 -52
- package/src/adapters/shared/render-context.ts +0 -120
- package/src/adapters/shared/runtime-bootstrap.d.ts +0 -38
- package/src/adapters/shared/runtime-bootstrap.js +0 -43
- package/src/adapters/shared/runtime-bootstrap.ts +0 -79
- package/src/adapters/shared/server-adapter.ts +0 -489
- package/src/adapters/shared/server-route-handler.ts +0 -153
- package/src/adapters/shared/server-static-builder.ts +0 -166
- package/src/build/build-adapter.ts +0 -361
- package/src/build/build-manifest.ts +0 -54
- package/src/build/build-types.ts +0 -83
- package/src/build/dev-build-coordinator.d.ts +0 -74
- package/src/build/dev-build-coordinator.js +0 -161
- package/src/build/dev-build-coordinator.ts +0 -221
- package/src/build/esbuild-build-adapter.d.ts +0 -72
- package/src/build/esbuild-build-adapter.js +0 -422
- package/src/build/esbuild-build-adapter.ts +0 -559
- package/src/build/runtime-build-executor.ts +0 -34
- package/src/build/runtime-specifier-alias-plugin.d.ts +0 -15
- package/src/build/runtime-specifier-alias-plugin.js +0 -31
- package/src/build/runtime-specifier-alias-plugin.ts +0 -58
- package/src/config/config-builder.ts +0 -706
- package/src/constants.ts +0 -54
- package/src/create-app.ts +0 -87
- package/src/dev/sc-server.ts +0 -143
- package/src/eco/component-render-context.d.ts +0 -105
- package/src/eco/component-render-context.js +0 -87
- package/src/eco/component-render-context.ts +0 -224
- package/src/eco/eco.ts +0 -242
- package/src/eco/eco.types.ts +0 -221
- package/src/eco/eco.utils.ts +0 -89
- package/src/eco/global-injector-map.ts +0 -112
- package/src/eco/lazy-injector-map.ts +0 -120
- package/src/eco/module-dependencies.ts +0 -75
- package/src/errors/http-error.ts +0 -72
- package/src/errors/index.ts +0 -2
- package/src/errors/locals-access-error.ts +0 -7
- package/src/global/app-logger.ts +0 -4
- package/src/hmr/client/hmr-runtime.ts +0 -152
- package/src/hmr/hmr-strategy.ts +0 -172
- package/src/hmr/hmr.postcss.test.e2e.ts +0 -41
- package/src/hmr/hmr.test.e2e.ts +0 -66
- package/src/hmr/strategies/default-hmr-strategy.ts +0 -60
- package/src/hmr/strategies/js-hmr-strategy.ts +0 -320
- package/src/index.browser.ts +0 -3
- package/src/index.ts +0 -5
- package/src/integrations/ghtml/ghtml-renderer.ts +0 -96
- package/src/integrations/ghtml/ghtml.plugin.ts +0 -32
- package/src/internal-types.ts +0 -232
- package/src/plugins/alias-resolver-plugin.ts +0 -63
- package/src/plugins/eco-component-meta-plugin.ts +0 -481
- package/src/plugins/integration-plugin.ts +0 -226
- package/src/plugins/processor.ts +0 -240
- package/src/plugins/runtime-capability.ts +0 -14
- package/src/public-types.ts +0 -1317
- package/src/route-renderer/component-graph/component-graph-executor.d.ts +0 -32
- package/src/route-renderer/component-graph/component-graph-executor.js +0 -31
- package/src/route-renderer/component-graph/component-graph-executor.ts +0 -84
- package/src/route-renderer/component-graph/component-graph.d.ts +0 -42
- package/src/route-renderer/component-graph/component-graph.js +0 -72
- package/src/route-renderer/component-graph/component-graph.ts +0 -159
- package/src/route-renderer/component-graph/component-marker.d.ts +0 -52
- package/src/route-renderer/component-graph/component-marker.js +0 -46
- package/src/route-renderer/component-graph/component-marker.ts +0 -117
- package/src/route-renderer/component-graph/component-reference.d.ts +0 -10
- package/src/route-renderer/component-graph/component-reference.js +0 -19
- package/src/route-renderer/component-graph/component-reference.ts +0 -29
- package/src/route-renderer/component-graph/marker-graph-resolver.d.ts +0 -77
- package/src/route-renderer/component-graph/marker-graph-resolver.js +0 -95
- package/src/route-renderer/component-graph/marker-graph-resolver.ts +0 -155
- package/src/route-renderer/orchestration/integration-renderer.ts +0 -790
- package/src/route-renderer/orchestration/render-execution.service.d.ts +0 -103
- package/src/route-renderer/orchestration/render-execution.service.js +0 -121
- package/src/route-renderer/orchestration/render-execution.service.ts +0 -230
- package/src/route-renderer/orchestration/render-preparation.service.d.ts +0 -121
- package/src/route-renderer/orchestration/render-preparation.service.js +0 -332
- package/src/route-renderer/orchestration/render-preparation.service.ts +0 -476
- package/src/route-renderer/page-loading/dependency-resolver.ts +0 -612
- package/src/route-renderer/page-loading/page-module-loader.ts +0 -181
- package/src/route-renderer/route-renderer.ts +0 -115
- package/src/router/client/link-intent.test.browser.ts +0 -51
- package/src/router/client/link-intent.ts +0 -92
- package/src/router/client/navigation-coordinator.ts +0 -433
- package/src/router/server/fs-router-scanner.d.ts +0 -41
- package/src/router/server/fs-router-scanner.js +0 -156
- package/src/router/server/fs-router-scanner.ts +0 -219
- package/src/router/server/fs-router.d.ts +0 -26
- package/src/router/server/fs-router.js +0 -100
- package/src/router/server/fs-router.ts +0 -122
- package/src/services/assets/asset-processing-service/asset-processing.service.ts +0 -401
- package/src/services/assets/asset-processing-service/asset.factory.ts +0 -105
- package/src/services/assets/asset-processing-service/assets.types.ts +0 -113
- package/src/services/assets/asset-processing-service/browser-runtime-asset.factory.ts +0 -95
- package/src/services/assets/asset-processing-service/browser-runtime-entry.factory.ts +0 -78
- package/src/services/assets/asset-processing-service/index.ts +0 -5
- package/src/services/assets/asset-processing-service/processor.interface.ts +0 -27
- package/src/services/assets/asset-processing-service/processor.registry.ts +0 -18
- package/src/services/assets/asset-processing-service/processors/base/base-processor.ts +0 -82
- package/src/services/assets/asset-processing-service/processors/base/base-script-processor.ts +0 -95
- package/src/services/assets/asset-processing-service/processors/index.ts +0 -5
- package/src/services/assets/asset-processing-service/processors/script/content-script.processor.ts +0 -66
- package/src/services/assets/asset-processing-service/processors/script/file-script.processor.ts +0 -88
- package/src/services/assets/asset-processing-service/processors/script/node-module-script.processor.ts +0 -85
- package/src/services/assets/asset-processing-service/processors/stylesheet/content-stylesheet.processor.ts +0 -27
- package/src/services/assets/asset-processing-service/processors/stylesheet/file-stylesheet.processor.ts +0 -80
- package/src/services/assets/browser-bundle.service.ts +0 -53
- package/src/services/cache/cache.types.ts +0 -126
- package/src/services/cache/index.ts +0 -18
- package/src/services/cache/memory-cache-store.ts +0 -130
- package/src/services/cache/page-cache-service.ts +0 -202
- package/src/services/cache/page-request-cache-coordinator.service.ts +0 -131
- package/src/services/html/html-rewriter-provider.service.ts +0 -103
- package/src/services/html/html-transformer.service.ts +0 -279
- package/src/services/invalidation/development-invalidation.service.ts +0 -261
- package/src/services/module-loading/app-server-module-transpiler.service.ts +0 -52
- package/src/services/module-loading/page-module-import.service.ts +0 -200
- package/src/services/module-loading/server-loader.service.d.ts +0 -96
- package/src/services/module-loading/server-loader.service.js +0 -32
- package/src/services/module-loading/server-loader.service.ts +0 -130
- package/src/services/module-loading/server-module-transpiler.service.ts +0 -105
- package/src/services/runtime-manifest/node-runtime-manifest.service.d.ts +0 -35
- package/src/services/runtime-manifest/node-runtime-manifest.service.js +0 -60
- package/src/services/runtime-manifest/node-runtime-manifest.service.ts +0 -101
- package/src/services/runtime-state/dev-graph.service.ts +0 -217
- package/src/services/runtime-state/entrypoint-dependency-graph.service.ts +0 -136
- package/src/services/runtime-state/runtime-specifier-registry.service.d.ts +0 -69
- package/src/services/runtime-state/runtime-specifier-registry.service.js +0 -37
- package/src/services/runtime-state/runtime-specifier-registry.service.ts +0 -96
- package/src/services/runtime-state/server-invalidation-state.service.ts +0 -68
- package/src/services/validation/schema-validation-service.ts +0 -204
- package/src/services/validation/standard-schema.types.ts +0 -68
- package/src/static-site-generator/static-site-generator.ts +0 -462
- package/src/utils/css.d.ts +0 -1
- package/src/utils/css.js +0 -7
- package/src/utils/css.ts +0 -5
- package/src/utils/deep-merge.ts +0 -47
- package/src/utils/hash.ts +0 -5
- package/src/utils/html.ts +0 -1
- package/src/utils/invariant.ts +0 -15
- package/src/utils/locals-utils.ts +0 -37
- package/src/utils/parse-cli-args.ts +0 -83
- package/src/utils/path-utils.module.ts +0 -14
- package/src/utils/resolve-work-dir.ts +0 -45
- package/src/utils/runtime.ts +0 -44
- package/src/utils/server-utils.module.ts +0 -67
- package/src/watchers/project-watcher.test-helpers.ts +0 -41
- package/src/watchers/project-watcher.ts +0 -363
- /package/src/{internal-types.js → adapters/shared/runtime-host.js} +0 -0
- /package/src/{public-types.js → adapters/shared/static-preview-host.js} +0 -0
- /package/src/{constants.d.ts → config/constants.d.ts} +0 -0
- /package/src/{constants.js → config/constants.js} +0 -0
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
*
|
|
7
7
|
* @module ServerAdapter
|
|
8
8
|
*/
|
|
9
|
-
import type { EcoPagesAppConfig } from '../../internal-types.js';
|
|
10
|
-
import type { ApiHandler } from '../../public-types.js';
|
|
9
|
+
import type { EcoPagesAppConfig } from '../../types/internal-types.js';
|
|
10
|
+
import type { ApiHandler } from '../../types/public-types.js';
|
|
11
11
|
/**
|
|
12
12
|
* Configuration options for all server adapters
|
|
13
13
|
*/
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ServerWebSocket } from 'bun';
|
|
2
|
-
import type { ClientBridgeEvent, IClientBridge } from '../../public-types';
|
|
2
|
+
import type { ClientBridgeEvent, IClientBridge } from '../../types/public-types.js';
|
|
3
3
|
type BunSocket = ServerWebSocket<unknown>;
|
|
4
4
|
/**
|
|
5
5
|
* Manages WebSocket subscribers and broadcasts development events.
|
|
@@ -8,18 +8,12 @@
|
|
|
8
8
|
* @module EcopagesApp
|
|
9
9
|
*/
|
|
10
10
|
import type { Server } from 'bun';
|
|
11
|
-
import type {
|
|
12
|
-
import type { ApiHandlerContext, RouteGroupBuilder } from '../../public-types.js';
|
|
13
|
-
import { type ApplicationAdapterOptions } from '../abstract/application-adapter.js';
|
|
11
|
+
import type { ApiHandlerContext, RouteGroupBuilder } from '../../types/public-types.js';
|
|
14
12
|
import { SharedApplicationAdapter } from '../shared/application-adapter.js';
|
|
13
|
+
import type { RuntimeHost } from '../shared/runtime-host.js';
|
|
14
|
+
import type { StaticPreviewHost } from '../shared/static-preview-host.js';
|
|
15
|
+
import type { EcopagesAppOptions } from '../create-app.js';
|
|
15
16
|
import { type BunServerAdapterResult } from './server-adapter.js';
|
|
16
|
-
/**
|
|
17
|
-
* Configuration options for the Bun application adapter
|
|
18
|
-
*/
|
|
19
|
-
export interface EcopagesAppOptions extends ApplicationAdapterOptions {
|
|
20
|
-
appConfig: EcoPagesAppConfig;
|
|
21
|
-
serverOptions?: Record<string, any>;
|
|
22
|
-
}
|
|
23
17
|
/**
|
|
24
18
|
* Bun-specific route group builder that properly infers route params from path patterns.
|
|
25
19
|
* When you define a route like `/posts/:slug`, the handler context will have
|
|
@@ -34,9 +28,15 @@ export type BunRouteGroupBuilder<WebSocketData = undefined, TContext extends Api
|
|
|
34
28
|
* This class extends the {@link AbstractApplicationAdapter}
|
|
35
29
|
* and provides methods for handling HTTP requests and managing the server.
|
|
36
30
|
*/
|
|
37
|
-
export declare class
|
|
31
|
+
export declare class BunEcopagesApp<WebSocketData = undefined> extends SharedApplicationAdapter<EcopagesAppOptions, Server<WebSocketData>, Request> {
|
|
38
32
|
serverAdapter: BunServerAdapterResult | undefined;
|
|
39
33
|
private server;
|
|
34
|
+
private readonly runtimeHost;
|
|
35
|
+
private readonly previewHost;
|
|
36
|
+
constructor(options: EcopagesAppOptions, dependencies: {
|
|
37
|
+
runtimeHost: RuntimeHost<Server<WebSocketData>, Bun.Serve.Options<WebSocketData>>;
|
|
38
|
+
previewHost: StaticPreviewHost;
|
|
39
|
+
});
|
|
40
40
|
fetch(request: Request): Promise<Response>;
|
|
41
41
|
/**
|
|
42
42
|
* Complete the initialization of the server adapter by processing dynamic routes
|
|
@@ -57,4 +57,4 @@ export declare class EcopagesApp<WebSocketData = undefined> extends SharedApplic
|
|
|
57
57
|
/**
|
|
58
58
|
* Factory function to create a Bun application
|
|
59
59
|
*/
|
|
60
|
-
export declare function createApp<WebSocketData = undefined>(options: EcopagesAppOptions): Promise<
|
|
60
|
+
export declare function createApp<WebSocketData = undefined>(options: EcopagesAppOptions): Promise<BunEcopagesApp<WebSocketData>>;
|
|
@@ -1,12 +1,20 @@
|
|
|
1
|
-
import { DEFAULT_ECOPAGES_HOSTNAME, DEFAULT_ECOPAGES_PORT } from "../../constants.js";
|
|
1
|
+
import { DEFAULT_ECOPAGES_HOSTNAME, DEFAULT_ECOPAGES_PORT } from "../../config/constants.js";
|
|
2
2
|
import { appLogger } from "../../global/app-logger.js";
|
|
3
|
-
import { getBunRuntime } from "../../utils/runtime.js";
|
|
4
|
-
import {} from "../abstract/application-adapter.js";
|
|
5
3
|
import { SharedApplicationAdapter } from "../shared/application-adapter.js";
|
|
4
|
+
import { resolveRuntimeBinding, resolveStaticRuntimeMode } from "../shared/runtime-app-bootstrap.js";
|
|
6
5
|
import { createBunServerAdapter } from "./server-adapter.js";
|
|
7
|
-
|
|
6
|
+
import { BunStaticPreviewHost } from "./static-preview-host.js";
|
|
7
|
+
import { BunRuntimeHost } from "./runtime-host.js";
|
|
8
|
+
class BunEcopagesApp extends SharedApplicationAdapter {
|
|
8
9
|
serverAdapter;
|
|
9
10
|
server = null;
|
|
11
|
+
runtimeHost;
|
|
12
|
+
previewHost;
|
|
13
|
+
constructor(options, dependencies) {
|
|
14
|
+
super(options);
|
|
15
|
+
this.runtimeHost = dependencies.runtimeHost;
|
|
16
|
+
this.previewHost = dependencies.previewHost;
|
|
17
|
+
}
|
|
10
18
|
async fetch(request) {
|
|
11
19
|
if (!this.serverAdapter) {
|
|
12
20
|
this.serverAdapter = await this.initializeServerAdapter();
|
|
@@ -28,34 +36,28 @@ class EcopagesApp extends SharedApplicationAdapter {
|
|
|
28
36
|
* Initialize the Bun server adapter
|
|
29
37
|
*/
|
|
30
38
|
async initializeServerAdapter() {
|
|
31
|
-
const
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
const preferredPort = cliPort ?? envPort ?? DEFAULT_ECOPAGES_PORT;
|
|
36
|
-
const preferredHostname = cliHostname ?? envHostname ?? DEFAULT_ECOPAGES_HOSTNAME;
|
|
39
|
+
const binding = resolveRuntimeBinding({
|
|
40
|
+
cliArgs: this.cliArgs,
|
|
41
|
+
serverOptions: this.serverOptions
|
|
42
|
+
});
|
|
37
43
|
appLogger.debug("initializeServerAdapter", {
|
|
38
|
-
dev,
|
|
39
|
-
cliPort,
|
|
40
|
-
cliHostname,
|
|
41
|
-
envPort,
|
|
42
|
-
envHostname,
|
|
43
|
-
preferredPort,
|
|
44
|
-
preferredHostname,
|
|
45
|
-
composedUrl:
|
|
44
|
+
dev: this.cliArgs.dev,
|
|
45
|
+
cliPort: this.cliArgs.port,
|
|
46
|
+
cliHostname: this.cliArgs.hostname,
|
|
47
|
+
envPort: process.env.ECOPAGES_PORT,
|
|
48
|
+
envHostname: process.env.ECOPAGES_HOSTNAME,
|
|
49
|
+
preferredPort: binding.preferredPort,
|
|
50
|
+
preferredHostname: binding.preferredHostname,
|
|
51
|
+
composedUrl: binding.runtimeOrigin
|
|
46
52
|
});
|
|
47
53
|
return await createBunServerAdapter({
|
|
48
|
-
runtimeOrigin:
|
|
54
|
+
runtimeOrigin: binding.runtimeOrigin,
|
|
49
55
|
appConfig: this.appConfig,
|
|
50
56
|
apiHandlers: this.apiHandlers,
|
|
51
57
|
staticRoutes: this.staticRoutes,
|
|
52
58
|
errorHandler: this.errorHandler,
|
|
53
|
-
options: { watch:
|
|
54
|
-
serveOptions:
|
|
55
|
-
port: preferredPort,
|
|
56
|
-
hostname: preferredHostname,
|
|
57
|
-
...this.serverOptions
|
|
58
|
-
}
|
|
59
|
+
options: { watch: binding.watch },
|
|
60
|
+
serveOptions: binding.serveOptions
|
|
59
61
|
});
|
|
60
62
|
}
|
|
61
63
|
/**
|
|
@@ -68,11 +70,11 @@ class EcopagesApp extends SharedApplicationAdapter {
|
|
|
68
70
|
this.serverAdapter = await this.initializeServerAdapter();
|
|
69
71
|
}
|
|
70
72
|
const { dev, preview, build } = this.cliArgs;
|
|
71
|
-
const
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
if (canBuildWithoutRuntimeServer) {
|
|
73
|
+
const staticRuntimeMode = resolveStaticRuntimeMode({
|
|
74
|
+
appConfig: this.appConfig,
|
|
75
|
+
cliArgs: this.cliArgs
|
|
76
|
+
});
|
|
77
|
+
if (staticRuntimeMode.canBuildWithoutRuntimeServer) {
|
|
76
78
|
appLogger.debugTime("Building static pages");
|
|
77
79
|
await this.serverAdapter.buildStatic({ preview });
|
|
78
80
|
appLogger.debugTimeEnd("Building static pages");
|
|
@@ -83,23 +85,41 @@ class EcopagesApp extends SharedApplicationAdapter {
|
|
|
83
85
|
}
|
|
84
86
|
const enableHmr = dev || !preview && !build;
|
|
85
87
|
const serverOptions = this.serverAdapter.getServerOptions({ enableHmr });
|
|
86
|
-
const
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
88
|
+
const configuredHostname = String(serverOptions.hostname ?? DEFAULT_ECOPAGES_HOSTNAME);
|
|
89
|
+
const configuredPort = Number(serverOptions.port ?? DEFAULT_ECOPAGES_PORT);
|
|
90
|
+
const runtimeServerOptions = (preview || build) && staticRuntimeMode.requiresFetchRuntime ? {
|
|
91
|
+
...serverOptions,
|
|
92
|
+
port: 0
|
|
93
|
+
} : serverOptions;
|
|
94
|
+
this.server = await this.runtimeHost.start({
|
|
95
|
+
serveOptions: runtimeServerOptions,
|
|
96
|
+
handleRequest: async () => new Response(null, { status: 500 }),
|
|
97
|
+
onError: async () => {
|
|
98
|
+
}
|
|
99
|
+
});
|
|
92
100
|
await this.serverAdapter.completeInitialization(this.server).catch((error) => {
|
|
93
101
|
appLogger.error(`Failed to complete initialization: ${error}`);
|
|
94
102
|
});
|
|
95
103
|
if (!this.server) {
|
|
96
104
|
throw new Error("Server failed to start");
|
|
97
105
|
}
|
|
98
|
-
appLogger.info(
|
|
106
|
+
appLogger.info(
|
|
107
|
+
`Server running at ${this.runtimeHost.getOrigin(this.server, runtimeServerOptions)}`
|
|
108
|
+
);
|
|
99
109
|
if (build || preview) {
|
|
100
110
|
appLogger.debugTime("Building static pages");
|
|
101
|
-
await this.serverAdapter.buildStatic({ preview });
|
|
102
|
-
this.
|
|
111
|
+
await this.serverAdapter.buildStatic({ preview: false });
|
|
112
|
+
await this.runtimeHost.stop(this.server, { force: true });
|
|
113
|
+
if (preview) {
|
|
114
|
+
const previewPort = await this.previewHost.start({
|
|
115
|
+
appConfig: this.appConfig,
|
|
116
|
+
hostname: configuredHostname,
|
|
117
|
+
port: configuredPort
|
|
118
|
+
});
|
|
119
|
+
if (previewPort) {
|
|
120
|
+
appLogger.info(`Preview running at http://${configuredHostname}:${previewPort}`);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
103
123
|
appLogger.debugTimeEnd("Building static pages");
|
|
104
124
|
if (build) {
|
|
105
125
|
process.exit(0);
|
|
@@ -109,9 +129,12 @@ class EcopagesApp extends SharedApplicationAdapter {
|
|
|
109
129
|
}
|
|
110
130
|
}
|
|
111
131
|
async function createApp(options) {
|
|
112
|
-
return new
|
|
132
|
+
return new BunEcopagesApp(options, {
|
|
133
|
+
runtimeHost: new BunRuntimeHost(),
|
|
134
|
+
previewHost: new BunStaticPreviewHost()
|
|
135
|
+
});
|
|
113
136
|
}
|
|
114
137
|
export {
|
|
115
|
-
|
|
138
|
+
BunEcopagesApp,
|
|
116
139
|
createApp
|
|
117
140
|
};
|
|
@@ -1,17 +1,13 @@
|
|
|
1
1
|
import type { WebSocketHandler } from 'bun';
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
4
|
-
import { type
|
|
5
|
-
import
|
|
6
|
-
import type { ClientBridgeEvent } from '../../public-types';
|
|
2
|
+
import type { EcoPagesAppConfig } from '../../types/internal-types.js';
|
|
3
|
+
import type { ClientBridge } from './client-bridge.js';
|
|
4
|
+
import { InMemoryEntrypointDependencyGraph, type EntrypointDependencyGraph } from '../../services/runtime-state/entrypoint-dependency-graph.service.js';
|
|
5
|
+
import { SharedHmrManager } from '../shared/shared-hmr-manager.js';
|
|
7
6
|
type BunSocketHandler = WebSocketHandler<unknown>;
|
|
8
7
|
export interface HmrManagerParams {
|
|
9
8
|
appConfig: EcoPagesAppConfig;
|
|
10
9
|
bridge: ClientBridge;
|
|
11
10
|
}
|
|
12
|
-
type HandleFileChangeOptions = {
|
|
13
|
-
broadcast?: boolean;
|
|
14
|
-
};
|
|
15
11
|
/**
|
|
16
12
|
* Bun development HMR manager.
|
|
17
13
|
*
|
|
@@ -20,124 +16,32 @@ type HandleFileChangeOptions = {
|
|
|
20
16
|
* strict integration-owned registrations, while generic script assets use their
|
|
21
17
|
* own explicit registration path.
|
|
22
18
|
*/
|
|
23
|
-
export declare class HmrManager
|
|
24
|
-
private static readonly entrypointRegistrationTimeoutMs;
|
|
25
|
-
readonly appConfig: EcoPagesAppConfig;
|
|
26
|
-
private readonly bridge;
|
|
27
|
-
/** Keep track of watchers */
|
|
28
|
-
private watchers;
|
|
29
|
-
/** entrypoint -> output path */
|
|
30
|
-
private watchedFiles;
|
|
31
|
-
private entrypointRegistrations;
|
|
32
|
-
private distDir;
|
|
33
|
-
private plugins;
|
|
34
|
-
private enabled;
|
|
35
|
-
private strategies;
|
|
36
|
-
private readonly entrypointRegistrar;
|
|
37
|
-
private readonly browserBundleService;
|
|
38
|
-
private readonly entrypointDependencyGraph;
|
|
39
|
-
private readonly runtimeSpecifierRegistry;
|
|
40
|
-
private readonly serverModuleTranspiler;
|
|
19
|
+
export declare class HmrManager extends SharedHmrManager {
|
|
41
20
|
private wsHandler;
|
|
42
|
-
constructor({ appConfig, bridge }: HmrManagerParams);
|
|
43
|
-
/**
|
|
44
|
-
* Ensures the HMR output directory exists.
|
|
45
|
-
*
|
|
46
|
-
* This must not remove the directory because multiple app processes
|
|
47
|
-
* can share the same dist path during e2e runs.
|
|
48
|
-
*/
|
|
49
|
-
private cleanDistDir;
|
|
50
21
|
/**
|
|
51
|
-
*
|
|
22
|
+
* Creates the Bun HMR manager around the shared HMR orchestration pipeline.
|
|
52
23
|
*
|
|
53
24
|
* @remarks
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
*
|
|
25
|
+
* Bun delegates route watching, rebuild dispatch, and runtime bundle
|
|
26
|
+
* generation to `SharedHmrManager`. The Bun subclass only supplies the
|
|
27
|
+
* transport-specific dependency graph policy and websocket hook surface.
|
|
57
28
|
*/
|
|
58
|
-
|
|
59
|
-
/**
|
|
60
|
-
* Initializes core HMR strategies.
|
|
61
|
-
* Strategies are evaluated in priority order (highest first).
|
|
62
|
-
*/
|
|
63
|
-
private initializeStrategies;
|
|
29
|
+
constructor({ appConfig, bridge }: HmrManagerParams);
|
|
64
30
|
/**
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
-
* @param strategy - The HMR strategy to register
|
|
31
|
+
* Reuses the shared in-memory dependency graph when possible and otherwise
|
|
32
|
+
* creates the Bun-compatible default graph implementation.
|
|
68
33
|
*/
|
|
69
|
-
|
|
70
|
-
setPlugins(plugins: EcoBuildPlugin[]): void;
|
|
71
|
-
setEnabled(enabled: boolean): void;
|
|
72
|
-
isEnabled(): boolean;
|
|
34
|
+
protected createEntrypointDependencyGraph(existingEntrypointDependencyGraph: EntrypointDependencyGraph): InMemoryEntrypointDependencyGraph;
|
|
73
35
|
/**
|
|
74
|
-
*
|
|
36
|
+
* Returns the Bun websocket hooks that attach and detach live HMR subscribers.
|
|
75
37
|
*
|
|
76
38
|
* @remarks
|
|
77
|
-
*
|
|
78
|
-
*
|
|
79
|
-
*
|
|
80
|
-
*
|
|
39
|
+
* `SharedHmrManager` stores the bridge behind the transport-agnostic
|
|
40
|
+
* `IClientBridge` contract because most HMR coordination only needs broadcast
|
|
41
|
+
* behavior. Bun connection lifecycle wiring is the point where that abstraction
|
|
42
|
+
* intentionally narrows back to the concrete Bun bridge so websocket instances
|
|
43
|
+
* can be tracked directly.
|
|
81
44
|
*/
|
|
82
|
-
registerSpecifierMap(map: Record<string, string>): void;
|
|
83
45
|
getWebSocketHandler(): BunSocketHandler;
|
|
84
|
-
/**
|
|
85
|
-
* Builds the client-side HMR runtime script.
|
|
86
|
-
*/
|
|
87
|
-
buildRuntime(): Promise<void>;
|
|
88
|
-
getRuntimePath(): string;
|
|
89
|
-
broadcast(event: ClientBridgeEvent): void;
|
|
90
|
-
handleFileChange(filePath: string, options?: HandleFileChangeOptions): Promise<void>;
|
|
91
|
-
getOutputUrl(entrypointPath: string): string | undefined;
|
|
92
|
-
getWatchedFiles(): Map<string, string>;
|
|
93
|
-
getSpecifierMap(): Map<string, string>;
|
|
94
|
-
getDistDir(): string;
|
|
95
|
-
getPlugins(): EcoBuildPlugin[];
|
|
96
|
-
getDefaultContext(): DefaultHmrContext;
|
|
97
|
-
private clearFailedEntrypointRegistration;
|
|
98
|
-
/**
|
|
99
|
-
* Registers one integration-owned page entrypoint.
|
|
100
|
-
*
|
|
101
|
-
* @remarks
|
|
102
|
-
* Concurrent callers share one in-flight registration. The registration is
|
|
103
|
-
* cleared from the dedupe map when it settles so later callers cannot inherit a
|
|
104
|
-
* stale promise.
|
|
105
|
-
*/
|
|
106
|
-
registerEntrypoint(entrypointPath: string): Promise<string>;
|
|
107
|
-
/**
|
|
108
|
-
* Registers one generic script entrypoint.
|
|
109
|
-
*
|
|
110
|
-
* @remarks
|
|
111
|
-
* This explicit path keeps the page-entrypoint contract strict while still
|
|
112
|
-
* allowing generic script assets to use the fallback build path.
|
|
113
|
-
*/
|
|
114
|
-
registerScriptEntrypoint(entrypointPath: string): Promise<string>;
|
|
115
|
-
/**
|
|
116
|
-
* Performs strict integration-owned registration for one normalized path.
|
|
117
|
-
*
|
|
118
|
-
* @remarks
|
|
119
|
-
* The manager reserves the output URL, removes any stale emitted file, runs
|
|
120
|
-
* strategy processing without broadcasting, and then verifies that the owning
|
|
121
|
-
* integration emitted the expected file.
|
|
122
|
-
*/
|
|
123
|
-
private emitStrictEntrypoint;
|
|
124
|
-
/**
|
|
125
|
-
* Performs registration for a generic script asset.
|
|
126
|
-
*
|
|
127
|
-
* @remarks
|
|
128
|
-
* Strategies get the first chance to emit output. If no output exists after
|
|
129
|
-
* that pass, Bun falls back to the generic browser build for this explicit
|
|
130
|
-
* script-only path.
|
|
131
|
-
*/
|
|
132
|
-
private emitScriptEntrypoint;
|
|
133
|
-
/**
|
|
134
|
-
* Stops active watchers and releases retained registration state.
|
|
135
|
-
*
|
|
136
|
-
* @remarks
|
|
137
|
-
* Emitted `_hmr` files remain on disk because parallel app processes may share
|
|
138
|
-
* the same dist directory. The in-memory indexes are cleared so stale
|
|
139
|
-
* entrypoints and specifier maps cannot leak through a reused manager object.
|
|
140
|
-
*/
|
|
141
|
-
stop(): void;
|
|
142
46
|
}
|
|
143
47
|
export {};
|