@ecopages/core 0.2.0-beta.30 → 0.2.0-beta.32
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 +1 -0
- package/package.json +82 -3
- package/src/adapters/abstract/application-adapter.d.ts +0 -8
- package/src/adapters/abstract/application-adapter.js +252 -261
- package/src/adapters/abstract/router-adapter.js +12 -4
- package/src/adapters/abstract/segment-path-matcher.js +132 -134
- package/src/adapters/abstract/server-adapter.js +22 -14
- package/src/adapters/abstract/ws-pattern-matcher.js +24 -26
- package/src/adapters/bun/bun-user-websocket-lifecycle.js +83 -86
- package/src/adapters/bun/client-bridge.js +51 -50
- package/src/adapters/bun/create-app.js +171 -161
- package/src/adapters/bun/hmr-manager.js +62 -57
- package/src/adapters/bun/index.js +2 -31
- package/src/adapters/bun/runtime-host.js +61 -54
- package/src/adapters/bun/server-adapter.d.ts +0 -1
- package/src/adapters/bun/server-adapter.js +561 -561
- package/src/adapters/bun/static-preview-host.js +43 -46
- package/src/adapters/create-app.js +11 -14
- package/src/adapters/index.js +2 -30
- package/src/adapters/node/create-app.js +123 -129
- package/src/adapters/node/http-request-bridge.js +147 -106
- package/src/adapters/node/node-client-bridge.js +62 -64
- package/src/adapters/node/node-hmr-manager.js +58 -48
- package/src/adapters/node/runtime-host.js +96 -89
- package/src/adapters/node/server-adapter-dependencies.js +18 -21
- package/src/adapters/node/server-adapter.d.ts +0 -1
- package/src/adapters/node/server-adapter.js +347 -326
- package/src/adapters/node/static-content-server.js +172 -191
- package/src/adapters/node/static-preview-host.js +87 -78
- package/src/adapters/shared/hmr/dev-transform-entrypoint-registry.d.ts +16 -0
- package/src/adapters/shared/hmr/dev-transform-entrypoint-registry.js +32 -0
- package/src/adapters/shared/hmr/hmr-html-response.js +46 -32
- package/src/adapters/shared/hmr/shared-hmr-manager.d.ts +29 -38
- package/src/adapters/shared/hmr/shared-hmr-manager.js +439 -425
- package/src/adapters/shared/http/api-request-pipeline.js +122 -119
- package/src/adapters/shared/http/api-response.js +77 -77
- package/src/adapters/shared/http/create-body-response.js +22 -19
- package/src/adapters/shared/http/define-api-handler.js +41 -55
- package/src/adapters/shared/http/explicit-static-render-preparation.js +26 -23
- package/src/adapters/shared/http/explicit-static-route-matcher.js +55 -62
- package/src/adapters/shared/http/file-route-middleware-pipeline.js +81 -75
- package/src/adapters/shared/http/fs-server-response-factory.js +101 -96
- package/src/adapters/shared/http/fs-server-response-matcher.js +239 -257
- package/src/adapters/shared/http/run-middleware-chain.js +15 -15
- package/src/adapters/shared/runtime/application-adapter.js +72 -87
- package/src/adapters/shared/runtime/copy-runtime-public-dir.js +25 -22
- package/src/adapters/shared/runtime/port-manager.js +207 -177
- package/src/adapters/shared/runtime/render-context.js +94 -79
- package/src/adapters/shared/runtime/runtime-app-bootstrap.js +33 -38
- package/src/adapters/shared/runtime/runtime-host.js +1 -0
- package/src/adapters/shared/runtime/runtime-server-lifecycle.d.ts +2 -3
- package/src/adapters/shared/runtime/runtime-server-lifecycle.js +65 -51
- package/src/adapters/shared/runtime/server-adapter.d.ts +1 -0
- package/src/adapters/shared/runtime/server-adapter.js +233 -217
- package/src/adapters/shared/runtime/server-route-handler.js +74 -70
- package/src/adapters/shared/runtime/server-static-builder.js +165 -184
- package/src/adapters/shared/runtime/static-preview-host.js +1 -0
- package/src/adapters/shared/ws/node-http-websocket-upgrades.js +97 -88
- package/src/adapters/shared/ws/websocket-lifecycle.js +57 -50
- package/src/build/README.md +52 -1
- package/src/build/app-build-manifest-runtime.js +129 -108
- package/src/build/browser/browser-runtime-manifest.js +47 -50
- package/src/build/browser/browser-runtime-plugin-helpers.js +32 -12
- package/src/build/browser/browser-runtime-plugin.js +206 -160
- package/src/build/browser/jsx-ownership-plugins.js +51 -37
- package/src/build/browser/lit-static-render-worker-context.js +3 -5
- package/src/build/build-adapter.js +276 -139
- package/src/build/cache/build-input-fingerprint.js +28 -26
- package/src/build/cache/cache-constants.js +4 -6
- package/src/build/cache/cache-keys.js +64 -56
- package/src/build/cache/pages-unified-graph-build.js +179 -178
- package/src/build/cache/production-build-cache.js +47 -54
- package/src/build/cache/server-entry-build-cache.js +134 -146
- package/src/build/contracts/build-contracts.d.ts +4 -4
- package/src/build/contracts/build-contracts.js +1 -0
- package/src/build/contracts/build-manifest.js +58 -43
- package/src/build/contracts/build-types.js +1 -0
- package/src/build/rolldown/rolldown-adapter-helpers.d.ts +9 -0
- package/src/build/rolldown/rolldown-adapter-helpers.js +405 -298
- package/src/build/rolldown/rolldown-build-adapter.js +53 -61
- package/src/build/rolldown/rolldown-build-invocation-metrics.js +31 -35
- package/src/build/rolldown/rolldown-plugin-bridge.js +264 -194
- package/src/build/rolldown/rolldown-source-transform-pass.js +59 -50
- package/src/build/rolldown/runtime-build-output-normalizer.js +227 -175
- package/src/build/rolldown/server-side-css-shim-plugin.js +54 -31
- package/src/build/runtime/build-profile-options.js +36 -36
- package/src/build/runtime/build-request-identity.js +70 -45
- package/src/build/runtime/build-request-policy.js +80 -42
- package/src/build/runtime/build-runtime.js +64 -54
- package/src/build/runtime/deduping-build-executor.js +38 -32
- package/src/build/runtime/parallel-build-executor.js +58 -50
- package/src/build/runtime/serialized-build-executor.js +78 -62
- package/src/cache/index.js +6 -6
- package/src/cache/module-parse-cache.js +99 -68
- package/src/client/navigation-scripts/classification.js +45 -37
- package/src/client/navigation-scripts/index.js +3 -23
- package/src/client/navigation-scripts/navigation-scripts.test.browser.js +58 -62
- package/src/client/navigation-scripts/registry.js +15 -11
- package/src/client/navigation-scripts/rerun-queue.js +81 -64
- package/src/client/scroll.js +32 -24
- package/src/client/scroll.test.browser.js +27 -33
- package/src/client/view-transitions.js +68 -55
- package/src/config/config-builder.d.ts +8 -0
- package/src/config/config-builder.js +637 -642
- package/src/config/constants.js +44 -24
- package/src/declarations.d.ts +1 -0
- package/src/dev/README.md +24 -0
- package/src/dev/client-bridge-registry.js +7 -12
- package/src/dev/dev-client-ownership.js +7 -5
- package/src/dev/hmr-manager-registry.js +7 -12
- package/src/dev/host-runtime.js +25 -30
- package/src/dev/runtime-server-started-message.js +2 -5
- package/src/dev/sc-server.js +106 -103
- package/src/dev/transform-server/dev-transform-bundler.d.ts +24 -0
- package/src/dev/transform-server/dev-transform-bundler.js +79 -0
- package/src/dev/transform-server/dev-transform-externalize-plugin.d.ts +12 -0
- package/src/dev/transform-server/dev-transform-externalize-plugin.js +29 -0
- package/src/dev/transform-server/dev-transform-import-rewriter.d.ts +16 -0
- package/src/dev/transform-server/dev-transform-import-rewriter.js +110 -0
- package/src/dev/transform-server/dev-transform-module-kind.d.ts +13 -0
- package/src/dev/transform-server/dev-transform-module-kind.js +17 -0
- package/src/dev/transform-server/dev-transform-runtime-specifiers.d.ts +5 -0
- package/src/dev/transform-server/dev-transform-runtime-specifiers.js +16 -0
- package/src/dev/transform-server/dev-transform-server.d.ts +41 -0
- package/src/dev/transform-server/dev-transform-server.js +191 -0
- package/src/dev/transform-server/dev-transform-url.d.ts +13 -0
- package/src/dev/transform-server/dev-transform-url.js +58 -0
- package/src/dev/transform-server/dev-transform-vendor-registry.d.ts +27 -0
- package/src/dev/transform-server/dev-transform-vendor-registry.js +145 -0
- package/src/dev/transform-server/index.d.ts +6 -0
- package/src/dev/transform-server/index.js +4 -0
- package/src/dev/transform-server/types.d.ts +15 -0
- package/src/dev/transform-server/types.js +1 -0
- package/src/dev-toolbar/README.md +51 -0
- package/src/dev-toolbar/define-dev-tool.d.ts +21 -0
- package/src/dev-toolbar/define-dev-tool.js +9 -0
- package/src/dev-toolbar/dev-toolbar-config.d.ts +25 -0
- package/src/dev-toolbar/dev-toolbar-config.js +19 -0
- package/src/dev-toolbar/dev-toolbar-host.d.ts +49 -0
- package/src/dev-toolbar/dev-toolbar-host.js +117 -0
- package/src/dev-toolbar/dev-toolbar-html-response.d.ts +11 -0
- package/src/dev-toolbar/dev-toolbar-html-response.js +14 -0
- package/src/dev-toolbar/dev-toolbar-manifest.d.ts +15 -0
- package/src/dev-toolbar/dev-toolbar-manifest.js +52 -0
- package/src/dev-toolbar/dev-toolbar-package.d.ts +31 -0
- package/src/dev-toolbar/dev-toolbar-package.js +72 -0
- package/src/dev-toolbar/dev-toolbar-runtime-paths.d.ts +10 -0
- package/src/dev-toolbar/dev-toolbar-runtime-paths.js +13 -0
- package/src/diagnostics/request-build-dedupe.js +34 -28
- package/src/diagnostics/startup-trace.d.ts +10 -1
- package/src/diagnostics/startup-trace.js +269 -241
- package/src/eco/README.md +6 -0
- package/src/eco/eco-declared-component.js +19 -14
- package/src/eco/eco.browser.js +56 -69
- package/src/eco/eco.js +156 -96
- package/src/eco/eco.types.js +5 -0
- package/src/eco/eco.utils.js +1 -10
- package/src/eco/global-injector-map.js +55 -41
- package/src/eco/lazy-injector-map.js +90 -60
- package/src/eco/module-dependencies.js +52 -44
- package/src/eco/page-layout-normalization.js +59 -49
- package/src/errors/http-error.js +50 -49
- package/src/errors/index.js +3 -12
- package/src/errors/locals-access-error.js +5 -8
- package/src/errors/undeclared-component-dependency-error.js +15 -15
- package/src/global/app-logger.js +3 -6
- package/src/hmr/README.md +10 -0
- package/src/hmr/client/hmr-runtime.js +117 -113
- package/src/hmr/client/module-update.d.ts +13 -0
- package/src/hmr/client/module-update.js +39 -0
- package/src/hmr/hmr-asset-paths.d.ts +14 -0
- package/src/hmr/hmr-asset-paths.js +22 -0
- package/src/hmr/hmr-entrypoint-output.d.ts +11 -39
- package/src/hmr/hmr-entrypoint-output.js +28 -54
- package/src/hmr/hmr-file-change-prep.js +13 -16
- package/src/hmr/hmr-registered-entrypoints-context.d.ts +7 -0
- package/src/hmr/hmr-registered-entrypoints-context.js +1 -0
- package/src/hmr/hmr-runtime-paths.d.ts +10 -0
- package/src/hmr/hmr-runtime-paths.js +13 -0
- package/src/hmr/hmr-strategy.d.ts +5 -11
- package/src/hmr/hmr-strategy.js +113 -61
- package/src/hmr/strategies/default-hmr-strategy.js +55 -33
- package/src/hmr/strategies/js-hmr-strategy.d.ts +6 -95
- package/src/hmr/strategies/js-hmr-strategy.js +104 -217
- package/src/hmr/strategies/server-rendered-template-hmr-strategy.js +33 -27
- package/src/index.browser.js +1 -4
- package/src/index.d.ts +1 -0
- package/src/index.js +6 -47
- package/src/integrations/ghtml/ghtml-renderer.js +12 -7
- package/src/integrations/ghtml/ghtml.constants.js +1 -4
- package/src/integrations/ghtml/ghtml.plugin.js +9 -12
- package/src/islands/README.md +25 -0
- package/src/islands/island-host.d.ts +37 -0
- package/src/islands/island-host.js +55 -0
- package/src/plugins/alias-resolver-cache.js +114 -97
- package/src/plugins/alias-resolver-plugin.js +33 -47
- package/src/plugins/define-integration.js +18 -17
- package/src/plugins/eco-component-meta-plugin.js +387 -145
- package/src/plugins/foreign-jsx-override-plugin.js +49 -35
- package/src/plugins/integration-plugin.js +212 -203
- package/src/plugins/jsx-import-source.utils.js +16 -21
- package/src/plugins/processor.js +159 -149
- package/src/plugins/runtime-capability.js +1 -0
- package/src/plugins/source-transform.js +109 -79
- package/src/plugins/tsconfig-import-resolver.d.ts +17 -0
- package/src/plugins/tsconfig-import-resolver.js +218 -142
- package/src/route-renderer/README.md +12 -1
- package/src/route-renderer/orchestration/document-shell/document-shell-render.service.js +143 -136
- package/src/route-renderer/orchestration/document-shell/layout-shell-props.service.js +33 -27
- package/src/route-renderer/orchestration/foreign-child/component-render-context.js +173 -126
- package/src/route-renderer/orchestration/foreign-child/foreign-child-output.utils.js +165 -154
- package/src/route-renderer/orchestration/foreign-child/foreign-subtree-execution.service.js +329 -341
- package/src/route-renderer/orchestration/foreign-child/owning-renderer-resolution.js +33 -32
- package/src/route-renderer/orchestration/integration-renderer.d.ts +1 -0
- package/src/route-renderer/orchestration/integration-renderer.js +731 -750
- package/src/route-renderer/orchestration/integration-renderer.test-fixtures.js +168 -172
- package/src/route-renderer/orchestration/ownership-graph/component-graph-collectors.js +119 -131
- package/src/route-renderer/orchestration/ownership-graph/component-graph.js +82 -91
- package/src/route-renderer/orchestration/ownership-graph/ownership-validation.service.js +82 -76
- package/src/route-renderer/orchestration/page-browser-graph/global-injector-assets.service.js +29 -31
- package/src/route-renderer/orchestration/page-browser-graph/page-browser-graph-contribution.loader.js +10 -6
- package/src/route-renderer/orchestration/page-browser-graph/page-browser-graph-merge.utils.js +31 -28
- package/src/route-renderer/orchestration/page-browser-graph/page-browser-graph-session.d.ts +3 -0
- package/src/route-renderer/orchestration/page-browser-graph/page-browser-graph-session.js +430 -413
- package/src/route-renderer/orchestration/page-browser-graph/page-browser-graph.service.js +191 -212
- package/src/route-renderer/orchestration/page-browser-graph/processed-asset-dedupe.js +20 -24
- package/src/route-renderer/orchestration/route-pipeline/integration-route-render-adapter.d.ts +4 -0
- package/src/route-renderer/orchestration/route-pipeline/integration-route-render-adapter.js +24 -24
- package/src/route-renderer/orchestration/route-pipeline/marker-artifact.utils.js +22 -24
- package/src/route-renderer/orchestration/route-pipeline/robots-meta.contribution.js +41 -34
- package/src/route-renderer/orchestration/route-pipeline/route-html-finalization.service.d.ts +5 -0
- package/src/route-renderer/orchestration/route-pipeline/route-html-finalization.service.js +42 -22
- package/src/route-renderer/orchestration/route-pipeline/route-prepared-options.builder.js +50 -48
- package/src/route-renderer/orchestration/route-pipeline/route-prepared-options.utils.js +29 -32
- package/src/route-renderer/orchestration/route-pipeline/route-render-orchestrator.js +150 -156
- package/src/route-renderer/orchestration/string-markup-renderer.js +48 -51
- package/src/route-renderer/page-loading/component-dependency-collection.js +120 -124
- package/src/route-renderer/page-loading/declared-asset-collection.js +66 -94
- package/src/route-renderer/page-loading/dependency-resolver.js +101 -104
- package/src/route-renderer/page-loading/ecopages-virtual-imports.js +68 -54
- package/src/route-renderer/page-loading/lazy-entry-collection.js +75 -98
- package/src/route-renderer/page-loading/lazy-trigger-planning.js +46 -36
- package/src/route-renderer/page-loading/module-declaration-aggregation.js +38 -31
- package/src/route-renderer/page-loading/module-declaration-scripts.js +10 -15
- package/src/route-renderer/page-loading/page-dependency-bundling.js +156 -113
- package/src/route-renderer/page-loading/page-module-loader.js +130 -124
- package/src/route-renderer/route-renderer.js +74 -76
- package/src/router/client/link-intent.js +55 -39
- package/src/router/client/link-intent.test.browser.js +49 -49
- package/src/router/client/link-navigation-policy.js +114 -93
- package/src/router/client/link-navigation-policy.test.browser.js +70 -80
- package/src/router/client/navigation-coordinator.js +235 -211
- package/src/router/server/route-registry.js +237 -242
- package/src/services/assets/asset-processing-service/asset-dependency-keys.js +64 -53
- package/src/services/assets/asset-processing-service/asset-processing.service.js +287 -303
- package/src/services/assets/asset-processing-service/asset.factory.js +78 -81
- package/src/services/assets/asset-processing-service/assets.types.js +1 -0
- package/src/services/assets/asset-processing-service/browser-runtime-asset.factory.js +57 -46
- package/src/services/assets/asset-processing-service/browser-runtime-entry-resolution.js +106 -69
- package/src/services/assets/asset-processing-service/browser-runtime-entry.factory.js +53 -53
- package/src/services/assets/asset-processing-service/finalize-processed-asset.js +4 -6
- package/src/services/assets/asset-processing-service/grouped-content-bundles.js +79 -80
- package/src/services/assets/asset-processing-service/index.js +8 -8
- package/src/services/assets/asset-processing-service/inline-content-script-body.js +22 -16
- package/src/services/assets/asset-processing-service/materialize-content-script-asset.js +21 -17
- package/src/services/assets/asset-processing-service/page-package.js +70 -72
- package/src/services/assets/asset-processing-service/processor.interface.js +7 -5
- package/src/services/assets/asset-processing-service/processor.registry.js +11 -14
- package/src/services/assets/asset-processing-service/processors/base/base-processor.js +59 -62
- package/src/services/assets/asset-processing-service/processors/base/base-script-processor.js +102 -117
- package/src/services/assets/asset-processing-service/processors/index.js +5 -5
- package/src/services/assets/asset-processing-service/processors/script/content-script.processor.js +110 -115
- package/src/services/assets/asset-processing-service/processors/script/file-script.processor.js +95 -97
- package/src/services/assets/asset-processing-service/processors/script/node-module-script.processor.js +136 -135
- package/src/services/assets/asset-processing-service/processors/stylesheet/content-stylesheet.processor.js +27 -29
- package/src/services/assets/asset-processing-service/processors/stylesheet/file-stylesheet.processor.js +34 -40
- package/src/services/assets/asset-processing-service/processors/stylesheet/stylesheet-processor-pipeline.js +36 -35
- package/src/services/assets/asset-processing-service/resolve-integration-plugin.js +14 -16
- package/src/services/assets/asset-processing-service/ungrouped-dependency-processing.js +27 -39
- package/src/services/assets/browser-bundle.service.js +52 -47
- package/src/services/cache/cache.types.js +5 -0
- package/src/services/cache/index.js +6 -7
- package/src/services/cache/memory-cache-store.js +101 -89
- package/src/services/cache/page-cache-service.js +156 -145
- package/src/services/cache/page-request-cache-coordinator.service.js +102 -102
- package/src/services/html/html-rewriter-provider.service.js +61 -61
- package/src/services/html/html-transformer.service.js +249 -266
- package/src/services/invalidation/development-invalidation.service.js +252 -241
- package/src/services/module-loading/app-module-loader.service.js +1 -0
- package/src/services/module-loading/app-server-module-transpiler.service.js +107 -101
- package/src/services/module-loading/host-module-loader-registry.js +6 -11
- package/src/services/module-loading/module-loading-types.js +1 -0
- package/src/services/module-loading/page-module-import.service.js +235 -243
- package/src/services/module-loading/route-module-build-cache-registry.js +47 -33
- package/src/services/module-loading/route-module-build-cache.js +3 -38
- package/src/services/module-loading/route-module-build-cache.store.js +195 -200
- package/src/services/module-loading/route-module-build-manifest.js +61 -74
- package/src/services/module-loading/route-module-dependency-hasher.js +136 -110
- package/src/services/module-loading/server-module-transpiler.service.js +68 -62
- package/src/services/module-loading/source-module-support.js +15 -7
- package/src/services/runtime-state/dev-graph.service.js +165 -157
- package/src/services/runtime-state/entrypoint-dependency-graph.service.js +85 -76
- package/src/services/runtime-state/server-invalidation-state.service.js +38 -30
- package/src/services/validation/schema-validation-service.js +157 -95
- package/src/services/validation/standard-schema.types.js +1 -0
- package/src/services/validation/validate-standard-schema.js +13 -13
- package/src/static-site-generator/production-page-browser-graph-prebuild.js +35 -19
- package/src/static-site-generator/sitemap-routes.js +33 -28
- package/src/static-site-generator/sitemap.js +38 -29
- package/src/static-site-generator/static-build-invalidation.js +34 -56
- package/src/static-site-generator/static-export-context.js +1 -0
- package/src/static-site-generator/static-site-generator.js +517 -553
- package/src/types/internal-types.d.ts +19 -3
- package/src/types/internal-types.js +1 -0
- package/src/types/public-types.d.ts +16 -46
- package/src/types/public-types.js +1 -0
- package/src/utils/deep-merge.js +39 -26
- package/src/utils/ecopages-route-info.js +27 -23
- package/src/utils/hash.js +3 -6
- package/src/utils/html-escaping.js +21 -8
- package/src/utils/html.js +1 -4
- package/src/utils/invariant.js +11 -10
- package/src/utils/locals-utils.js +32 -22
- package/src/utils/parse-cli-args.js +73 -65
- package/src/utils/path-pattern.js +38 -23
- package/src/utils/path-utils.module.js +8 -11
- package/src/utils/resolve-entry-file.js +70 -38
- package/src/utils/resolve-work-dir.js +23 -27
- package/src/utils/runtime.js +24 -33
- package/src/utils/server-utils.module.js +60 -52
- package/src/utils/static-file-extensions.js +52 -46
- package/src/watchers/project-watcher-ignore.js +16 -15
- package/src/watchers/project-watcher.js +385 -366
- package/src/watchers/project-watcher.test-helpers.js +45 -50
- package/src/adapters/shared/hmr/hmr-entrypoint-registrar.d.ts +0 -56
- package/src/adapters/shared/hmr/hmr-entrypoint-registrar.js +0 -106
- package/src/build/cache/dev-browser-script-cache.d.ts +0 -34
- package/src/build/cache/dev-browser-script-cache.js +0 -90
|
@@ -1,201 +1,253 @@
|
|
|
1
|
-
import { createRequire } from
|
|
2
|
-
import { readFileSync } from
|
|
3
|
-
import path from
|
|
4
|
-
import { pathToFileURL } from
|
|
5
|
-
import { isBarePackageImportSpecifier } from
|
|
6
|
-
const corePackageRequire = createRequire(new URL(
|
|
7
|
-
const appDeclaredPackageCache =
|
|
8
|
-
const appWorkspacePackageCache =
|
|
9
|
-
|
|
1
|
+
import { createRequire } from 'node:module';
|
|
2
|
+
import { readFileSync } from 'node:fs';
|
|
3
|
+
import path from 'node:path';
|
|
4
|
+
import { pathToFileURL } from 'node:url';
|
|
5
|
+
import { isBarePackageImportSpecifier } from '../../plugins/tsconfig-import-resolver.js';
|
|
6
|
+
const corePackageRequire = createRequire(new URL('../../../package.json', import.meta.url));
|
|
7
|
+
const appDeclaredPackageCache = new Map();
|
|
8
|
+
const appWorkspacePackageCache = new Map();
|
|
9
|
+
/**
|
|
10
|
+
* Core-owned packages that are part of the Node adapter's runtime surface and
|
|
11
|
+
* should therefore be preserved as bare specifiers in bundled output.
|
|
12
|
+
*
|
|
13
|
+
* Only list packages whose bare-specifier form will be resolvable from the
|
|
14
|
+
* app's Node.js runtime (i.e. they ship alongside the framework and do not
|
|
15
|
+
* need to be in the app's own package.json).
|
|
16
|
+
*
|
|
17
|
+
* Build-time tools (e.g. oxc-parser, rolldown) deliberately omitted — their
|
|
18
|
+
* imports in server-side output must be rewritten to absolute file: URLs so
|
|
19
|
+
* the bundler does not embed them in app code.
|
|
20
|
+
*/
|
|
21
|
+
const CORE_RUNTIME_BARE_SPECIFIER_PACKAGES = new Set(['ws']);
|
|
10
22
|
function tryResolveRuntimeImport(specifier, resolver) {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
23
|
+
try {
|
|
24
|
+
return resolver.resolve(specifier);
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
return undefined;
|
|
28
|
+
}
|
|
16
29
|
}
|
|
30
|
+
/**
|
|
31
|
+
* Extracts the package name from a file:// URL pointing to a node_modules path.
|
|
32
|
+
*
|
|
33
|
+
* @remarks
|
|
34
|
+
* Given a URL like `file:///path/to/node_modules/@scope/pkg/dist/index.js`,
|
|
35
|
+
* returns `@scope/pkg`. Given `file:///path/to/node_modules/pkg/dist/index.js`,
|
|
36
|
+
* returns `pkg`. Returns `undefined` if the URL doesn't point to node_modules.
|
|
37
|
+
*
|
|
38
|
+
* Handles pnpm's nested node_modules structure by finding the LAST node_modules
|
|
39
|
+
* in the path (e.g., `node_modules/.pnpm/pkg@version/node_modules/@scope/pkg/...`).
|
|
40
|
+
*/
|
|
17
41
|
function extractPackageNameFromFileUrl(specifier) {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
42
|
+
if (!specifier.startsWith('file://')) {
|
|
43
|
+
return undefined;
|
|
44
|
+
}
|
|
45
|
+
// Find the LAST node_modules in the path to handle pnpm's nested structure
|
|
46
|
+
const lastNodeModulesIndex = specifier.lastIndexOf('/node_modules/');
|
|
47
|
+
if (lastNodeModulesIndex === -1) {
|
|
48
|
+
return undefined;
|
|
49
|
+
}
|
|
50
|
+
const afterNodeModules = specifier.slice(lastNodeModulesIndex + '/node_modules/'.length);
|
|
51
|
+
const parts = afterNodeModules.split('/');
|
|
52
|
+
if (parts.length === 0) {
|
|
53
|
+
return undefined;
|
|
54
|
+
}
|
|
55
|
+
if (parts[0]?.startsWith('@') && parts.length > 1) {
|
|
56
|
+
return `${parts[0]}/${parts[1]}`;
|
|
57
|
+
}
|
|
58
|
+
return parts[0];
|
|
34
59
|
}
|
|
35
60
|
function getPackageNameFromSpecifier(specifier) {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
61
|
+
if (specifier.startsWith('@')) {
|
|
62
|
+
return specifier.split('/').slice(0, 2).join('/');
|
|
63
|
+
}
|
|
64
|
+
return specifier.split('/')[0] ?? specifier;
|
|
40
65
|
}
|
|
41
66
|
function getDeclaredAppPackages(rootDir) {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
67
|
+
const cacheKey = path.resolve(rootDir);
|
|
68
|
+
const cached = appDeclaredPackageCache.get(cacheKey);
|
|
69
|
+
if (cached) {
|
|
70
|
+
return cached;
|
|
71
|
+
}
|
|
72
|
+
const packageJsonPath = path.resolve(rootDir, 'package.json');
|
|
73
|
+
const declaredPackages = new Set();
|
|
74
|
+
try {
|
|
75
|
+
const packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf-8'));
|
|
76
|
+
for (const field of ['dependencies', 'devDependencies', 'peerDependencies', 'optionalDependencies']) {
|
|
77
|
+
const entries = packageJson[field];
|
|
78
|
+
if (!entries || typeof entries !== 'object') {
|
|
79
|
+
continue;
|
|
80
|
+
}
|
|
81
|
+
for (const packageName of Object.keys(entries)) {
|
|
82
|
+
declaredPackages.add(packageName);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
catch {
|
|
87
|
+
appDeclaredPackageCache.set(cacheKey, declaredPackages);
|
|
88
|
+
return declaredPackages;
|
|
89
|
+
}
|
|
61
90
|
appDeclaredPackageCache.set(cacheKey, declaredPackages);
|
|
62
91
|
return declaredPackages;
|
|
63
|
-
}
|
|
64
|
-
appDeclaredPackageCache.set(cacheKey, declaredPackages);
|
|
65
|
-
return declaredPackages;
|
|
66
92
|
}
|
|
93
|
+
/**
|
|
94
|
+
* Returns the set of workspace packages declared in the app's package.json.
|
|
95
|
+
*
|
|
96
|
+
* Workspace packages are identified by the `workspace:` protocol in their
|
|
97
|
+
* version specifier (e.g., `"workspace:*"`, `"workspace:^1.0.0"`). These
|
|
98
|
+
* packages are typically source-only and must be bundled rather than
|
|
99
|
+
* externalized.
|
|
100
|
+
*/
|
|
67
101
|
function getWorkspacePackages(rootDir) {
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
102
|
+
const cacheKey = path.resolve(rootDir);
|
|
103
|
+
const cached = appWorkspacePackageCache.get(cacheKey);
|
|
104
|
+
if (cached) {
|
|
105
|
+
return cached;
|
|
106
|
+
}
|
|
107
|
+
const packageJsonPath = path.resolve(rootDir, 'package.json');
|
|
108
|
+
const workspacePackages = new Set();
|
|
109
|
+
try {
|
|
110
|
+
const packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf-8'));
|
|
111
|
+
for (const field of ['dependencies', 'devDependencies', 'peerDependencies', 'optionalDependencies']) {
|
|
112
|
+
const entries = packageJson[field];
|
|
113
|
+
if (!entries || typeof entries !== 'object') {
|
|
114
|
+
continue;
|
|
115
|
+
}
|
|
116
|
+
for (const [packageName, version] of Object.entries(entries)) {
|
|
117
|
+
if (typeof version === 'string' && version.startsWith('workspace:')) {
|
|
118
|
+
workspacePackages.add(packageName);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
85
121
|
}
|
|
86
|
-
}
|
|
87
122
|
}
|
|
88
|
-
|
|
123
|
+
catch {
|
|
124
|
+
appWorkspacePackageCache.set(cacheKey, workspacePackages);
|
|
125
|
+
return workspacePackages;
|
|
126
|
+
}
|
|
89
127
|
appWorkspacePackageCache.set(cacheKey, workspacePackages);
|
|
90
128
|
return workspacePackages;
|
|
91
|
-
}
|
|
92
|
-
appWorkspacePackageCache.set(cacheKey, workspacePackages);
|
|
93
|
-
return workspacePackages;
|
|
94
129
|
}
|
|
95
|
-
|
|
96
|
-
|
|
130
|
+
/**
|
|
131
|
+
* Returns true if the given specifier is a workspace package.
|
|
132
|
+
*
|
|
133
|
+
* Workspace packages are declared with the `workspace:` protocol and are
|
|
134
|
+
* typically source-only, requiring bundling rather than externalization.
|
|
135
|
+
*/
|
|
136
|
+
export function isWorkspacePackageImport(specifier, rootDir) {
|
|
137
|
+
return getWorkspacePackages(rootDir).has(getPackageNameFromSpecifier(specifier));
|
|
97
138
|
}
|
|
98
|
-
function isDeclaredAppPackageImport(specifier, rootDir) {
|
|
99
|
-
|
|
139
|
+
export function isDeclaredAppPackageImport(specifier, rootDir) {
|
|
140
|
+
return getDeclaredAppPackages(rootDir).has(getPackageNameFromSpecifier(specifier));
|
|
100
141
|
}
|
|
142
|
+
/**
|
|
143
|
+
* Whether the given bare specifier should be left as-is (not rewritten to a
|
|
144
|
+
* file URL) in bundled output.
|
|
145
|
+
*
|
|
146
|
+
* Two categories qualify:
|
|
147
|
+
* 1. **App-declared packages** — present in the app's own package.json; the
|
|
148
|
+
* app's resolver will find them at runtime.
|
|
149
|
+
* 2. **Core runtime surface packages** — a curated subset of the framework's
|
|
150
|
+
* own dependencies that are part of its public Node adapter surface (e.g.
|
|
151
|
+
* `ws`). These ship alongside the framework and are resolvable from the
|
|
152
|
+
* bundled output's location even when the app has not declared them.
|
|
153
|
+
*
|
|
154
|
+
* Build-time packages declared by core (e.g. `oxc-parser`, `rolldown`) are
|
|
155
|
+
* intentionally *not* included here — their imports must still be rewritten
|
|
156
|
+
* to absolute `file:` URLs so they are not left as bare specifiers in app
|
|
157
|
+
* output.
|
|
158
|
+
*/
|
|
101
159
|
function isDeclaredInResolutionChain(specifier, rootDir) {
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
160
|
+
const packageName = getPackageNameFromSpecifier(specifier);
|
|
161
|
+
if (CORE_RUNTIME_BARE_SPECIFIER_PACKAGES.has(packageName)) {
|
|
162
|
+
return true;
|
|
163
|
+
}
|
|
164
|
+
return isDeclaredAppPackageImport(specifier, rootDir);
|
|
107
165
|
}
|
|
108
166
|
function rewriteRuntimeImportSpecifier(specifier, quote, rootDir) {
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
167
|
+
if (!isBarePackageImportSpecifier(specifier, rootDir)) {
|
|
168
|
+
return undefined;
|
|
169
|
+
}
|
|
170
|
+
if (isDeclaredInResolutionChain(specifier, rootDir)) {
|
|
171
|
+
return undefined;
|
|
172
|
+
}
|
|
173
|
+
const resolvedPath = tryResolveRuntimeImport(specifier, corePackageRequire);
|
|
174
|
+
if (!resolvedPath || !/\.(?:[cm]?[jt]s|tsx|jsx)$/u.test(resolvedPath)) {
|
|
175
|
+
return undefined;
|
|
176
|
+
}
|
|
177
|
+
return `${quote}${pathToFileURL(resolvedPath).href}${quote}`;
|
|
120
178
|
}
|
|
121
179
|
function rewriteRuntimeBuildOutputImports(code, rootDir) {
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
180
|
+
const rewriteSpecifier = (prefix, quote, specifier) => {
|
|
181
|
+
const rewrittenSpecifier = rewriteRuntimeImportSpecifier(specifier, quote, rootDir);
|
|
182
|
+
return `${prefix}${rewrittenSpecifier ?? `${quote}${specifier}${quote}`}`;
|
|
183
|
+
};
|
|
184
|
+
/**
|
|
185
|
+
* Rewrites file:// URLs pointing to node_modules back to bare specifiers,
|
|
186
|
+
* but only when the package is resolvable from the app's resolution chain.
|
|
187
|
+
*
|
|
188
|
+
* @remarks
|
|
189
|
+
* Rolldown resolves external imports to file:// URLs during the build. For
|
|
190
|
+
* packages declared in the app's package.json, rewriting to bare specifiers
|
|
191
|
+
* is safe and preserves CJS named-export interop. For transitive
|
|
192
|
+
* dependencies that aren't directly resolvable, the file:// URL is kept as-is
|
|
193
|
+
* to avoid ERR_MODULE_NOT_FOUND errors at runtime.
|
|
194
|
+
*/
|
|
195
|
+
const rewriteFileUrl = (prefix, quote, specifier) => {
|
|
196
|
+
const packageName = extractPackageNameFromFileUrl(specifier);
|
|
197
|
+
if (!packageName) {
|
|
198
|
+
return `${prefix}${quote}${specifier}${quote}`;
|
|
199
|
+
}
|
|
200
|
+
if (!isDeclaredInResolutionChain(packageName, rootDir)) {
|
|
201
|
+
return `${prefix}${quote}${specifier}${quote}`;
|
|
202
|
+
}
|
|
203
|
+
// Extract the subpath after the package name
|
|
204
|
+
// Use lastIndexOf to handle pnpm's nested node_modules structure
|
|
205
|
+
const lastNodeModulesIndex = specifier.lastIndexOf('/node_modules/');
|
|
206
|
+
if (lastNodeModulesIndex === -1) {
|
|
207
|
+
return `${prefix}${quote}${specifier}${quote}`;
|
|
208
|
+
}
|
|
209
|
+
const afterNodeModules = specifier.slice(lastNodeModulesIndex + '/node_modules/'.length);
|
|
210
|
+
const afterPackage = afterNodeModules.slice(packageName.length);
|
|
211
|
+
// Reconstruct the bare specifier
|
|
212
|
+
const bareSpecifier = packageName + afterPackage;
|
|
213
|
+
return `${prefix}${quote}${bareSpecifier}${quote}`;
|
|
214
|
+
};
|
|
215
|
+
const withResolvedPackages = code
|
|
216
|
+
.replace(/(\bfrom\s+)(['"])([^'"\\]+)\2/g, (_match, prefix, quote, specifier) => rewriteSpecifier(prefix, quote, specifier))
|
|
217
|
+
.replace(/(\bimport\s+)(['"])([^'"\\]+)\2/g, (_match, prefix, quote, specifier) => rewriteSpecifier(prefix, quote, specifier))
|
|
218
|
+
.replace(/(\bimport\s*\(\s*)(['"])([^'"\\]+)\2/g, (_match, prefix, quote, specifier) => rewriteSpecifier(prefix, quote, specifier));
|
|
219
|
+
// Rewrite file:// URLs pointing to node_modules back to bare specifiers
|
|
220
|
+
const withBareSpecifiers = withResolvedPackages
|
|
221
|
+
.replace(/(\bfrom\s+)(['"])(file:\/\/[^'"\\]+)\2/g, (_match, prefix, quote, specifier) => rewriteFileUrl(prefix, quote, specifier))
|
|
222
|
+
.replace(/(\bimport\s+)(['"])(file:\/\/[^'"\\]+)\2/g, (_match, prefix, quote, specifier) => rewriteFileUrl(prefix, quote, specifier))
|
|
223
|
+
.replace(/(\bimport\s*\(\s*)(['"])(file:\/\/[^'"\\]+)\2/g, (_match, prefix, quote, specifier) => rewriteFileUrl(prefix, quote, specifier));
|
|
224
|
+
return withBareSpecifiers.replace(/(['"])(@oxc-project\/runtime\/(?:helpers(?:\/esm)?\/[^'"\\]+))\1/g, (match, quote, specifier) => {
|
|
225
|
+
const resolvedPath = tryResolveRuntimeImport(specifier, corePackageRequire);
|
|
226
|
+
return resolvedPath ? `${quote}${pathToFileURL(resolvedPath).href}${quote}` : match;
|
|
227
|
+
});
|
|
170
228
|
}
|
|
171
|
-
function normalizeNodeRuntimeBuildOutputFile(filePath, rootDir) {
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
229
|
+
export function normalizeNodeRuntimeBuildOutputFile(filePath, rootDir) {
|
|
230
|
+
if (process.env.ECOPAGES_LOGGER_DEBUG === 'true') {
|
|
231
|
+
console.log(`[normalizeNodeRuntimeBuildOutputFile] Checking ${filePath}`);
|
|
232
|
+
}
|
|
233
|
+
if (!/\.(?:[cm]?js)$/u.test(filePath)) {
|
|
234
|
+
return;
|
|
235
|
+
}
|
|
236
|
+
const fileSystem = corePackageRequire('node:fs');
|
|
237
|
+
if (!fileSystem.existsSync(filePath)) {
|
|
238
|
+
return;
|
|
239
|
+
}
|
|
240
|
+
const code = fileSystem.readFileSync(filePath, 'utf-8');
|
|
241
|
+
const rewritten = rewriteRuntimeBuildOutputImports(code, rootDir);
|
|
242
|
+
if (rewritten !== code) {
|
|
243
|
+
if (process.env.ECOPAGES_LOGGER_DEBUG === 'true') {
|
|
244
|
+
console.log(`[normalizeNodeRuntimeBuildOutputFile] Rewriting ${filePath}`);
|
|
245
|
+
}
|
|
246
|
+
fileSystem.writeFileSync(filePath, rewritten);
|
|
247
|
+
}
|
|
190
248
|
}
|
|
191
|
-
function normalizeNodeRuntimeBuildOutputs(outputPaths, rootDir) {
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
249
|
+
export function normalizeNodeRuntimeBuildOutputs(outputPaths, rootDir) {
|
|
250
|
+
for (const outputPath of outputPaths) {
|
|
251
|
+
normalizeNodeRuntimeBuildOutputFile(outputPath, rootDir);
|
|
252
|
+
}
|
|
195
253
|
}
|
|
196
|
-
export {
|
|
197
|
-
isDeclaredAppPackageImport,
|
|
198
|
-
isWorkspacePackageImport,
|
|
199
|
-
normalizeNodeRuntimeBuildOutputFile,
|
|
200
|
-
normalizeNodeRuntimeBuildOutputs
|
|
201
|
-
};
|
|
@@ -1,35 +1,58 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Server-side CSS shim plugin for the bundler adapter.
|
|
3
|
+
*
|
|
4
|
+
* @remarks
|
|
5
|
+
* Page modules imported by the server (so the framework can read
|
|
6
|
+
* `getStaticProps` / `staticPaths` / page metadata) commonly have
|
|
7
|
+
* `import './style.css'` at the top. The bundler does not bundle
|
|
8
|
+
* CSS, and the server only needs the JS exports — the CSS itself
|
|
9
|
+
* is delivered to the browser via the page's `dependencies.stylesheets`
|
|
10
|
+
* declarations. This plugin:
|
|
11
|
+
*
|
|
12
|
+
* - Resolves `.css` imports to the absolute on-disk path.
|
|
13
|
+
* - Loads them and returns an empty ESM module with
|
|
14
|
+
* `moduleSideEffects: true` so the bundler keeps the import in
|
|
15
|
+
* the dependency graph without trying to bundle the bytes.
|
|
16
|
+
*
|
|
17
|
+
* The plugin is added by the adapter on every server-side build.
|
|
18
|
+
* Browser-side builds that want real CSS bundling should keep using
|
|
19
|
+
* a dedicated CSS pipeline (e.g. the postcss processor's output)
|
|
20
|
+
* and continue to declare stylesheets in `dependencies.stylesheets`
|
|
21
|
+
* — the shim is intentionally inert for those flows.
|
|
22
|
+
*/
|
|
23
|
+
import { existsSync, readFileSync } from 'node:fs';
|
|
24
|
+
import path from 'node:path';
|
|
3
25
|
const CSS_PATH = /\.css$/u;
|
|
4
|
-
const CSS_QUERY =
|
|
26
|
+
const CSS_QUERY = '?ecopages-css-shim';
|
|
5
27
|
function stripShimQuery(id) {
|
|
6
|
-
|
|
7
|
-
|
|
28
|
+
const queryIndex = id.indexOf('?');
|
|
29
|
+
return queryIndex === -1 ? id : id.slice(0, queryIndex);
|
|
8
30
|
}
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
31
|
+
/**
|
|
32
|
+
* Builds a Rolldown plugin that turns `.css` imports into no-op ESM
|
|
33
|
+
* modules while preserving the dependency graph.
|
|
34
|
+
*/
|
|
35
|
+
export function createServerSideCssShimPlugin() {
|
|
36
|
+
return {
|
|
37
|
+
name: 'ecopages:server-side-css-shim',
|
|
38
|
+
async resolveId(source, importer) {
|
|
39
|
+
if (!CSS_PATH.test(source)) {
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
const resolved = importer ? path.resolve(path.dirname(importer), source) : path.resolve(source);
|
|
43
|
+
return existsSync(resolved) ? `${resolved}${CSS_QUERY}` : null;
|
|
44
|
+
},
|
|
45
|
+
async load(id) {
|
|
46
|
+
if (!id.endsWith(CSS_QUERY)) {
|
|
47
|
+
return null;
|
|
48
|
+
}
|
|
49
|
+
const realPath = stripShimQuery(id);
|
|
50
|
+
readFileSync(realPath, 'utf-8');
|
|
51
|
+
return {
|
|
52
|
+
code: 'export default "";',
|
|
53
|
+
moduleType: 'js',
|
|
54
|
+
moduleSideEffects: true,
|
|
55
|
+
};
|
|
56
|
+
},
|
|
57
|
+
};
|
|
32
58
|
}
|
|
33
|
-
export {
|
|
34
|
-
createServerSideCssShimPlugin
|
|
35
|
-
};
|
|
@@ -1,37 +1,37 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Resolves shared Rolldown options for a build profile.
|
|
3
|
+
*/
|
|
4
|
+
export function resolveBuildProfileOptions(profile, appConfig, overrides = {}) {
|
|
5
|
+
const root = appConfig.rootDir;
|
|
6
|
+
switch (profile) {
|
|
7
|
+
case 'server-entry':
|
|
8
|
+
return {
|
|
9
|
+
root,
|
|
10
|
+
target: 'node',
|
|
11
|
+
format: 'esm',
|
|
12
|
+
sourcemap: 'none',
|
|
13
|
+
minify: false,
|
|
14
|
+
externalPackages: true,
|
|
15
|
+
...overrides,
|
|
16
|
+
};
|
|
17
|
+
case 'route-module':
|
|
18
|
+
return {
|
|
19
|
+
root,
|
|
20
|
+
target: 'es2022',
|
|
21
|
+
format: 'esm',
|
|
22
|
+
sourcemap: 'none',
|
|
23
|
+
minify: false,
|
|
24
|
+
externalPackages: true,
|
|
25
|
+
...overrides,
|
|
26
|
+
};
|
|
27
|
+
case 'browser-hmr':
|
|
28
|
+
return {
|
|
29
|
+
root,
|
|
30
|
+
target: 'browser',
|
|
31
|
+
format: 'esm',
|
|
32
|
+
sourcemap: 'none',
|
|
33
|
+
minify: false,
|
|
34
|
+
...overrides,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
34
37
|
}
|
|
35
|
-
export {
|
|
36
|
-
resolveBuildProfileOptions
|
|
37
|
-
};
|