@servicetitan/startup 38.0.0 → 38.2.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/bin/js-yaml.js +2 -2
- package/dist/cli/commands/build.d.ts.map +1 -1
- package/dist/cli/commands/build.js +32 -10
- package/dist/cli/commands/build.js.map +1 -1
- package/dist/cli/commands/bundle-package.d.ts +6 -0
- package/dist/cli/commands/bundle-package.d.ts.map +1 -0
- package/dist/cli/commands/bundle-package.js +59 -0
- package/dist/cli/commands/bundle-package.js.map +1 -0
- package/dist/cli/commands/bundle-vite.js +13 -4
- package/dist/cli/commands/bundle-vite.js.map +1 -1
- package/dist/cli/commands/bundle-webpack.js +13 -4
- package/dist/cli/commands/bundle-webpack.js.map +1 -1
- package/dist/cli/commands/clean.js +13 -4
- package/dist/cli/commands/clean.js.map +1 -1
- package/dist/cli/commands/command.d.ts +13 -0
- package/dist/cli/commands/command.d.ts.map +1 -0
- package/dist/cli/commands/command.js +74 -0
- package/dist/cli/commands/command.js.map +1 -0
- package/dist/cli/commands/convert-eslint-config.js +14 -7
- package/dist/cli/commands/convert-eslint-config.js.map +1 -1
- package/dist/cli/commands/eslint.js +13 -4
- package/dist/cli/commands/eslint.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +13 -5
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/install.d.ts.map +1 -1
- package/dist/cli/commands/install.js +14 -21
- package/dist/cli/commands/install.js.map +1 -1
- package/dist/cli/commands/kendo-ui-license.js +13 -4
- package/dist/cli/commands/kendo-ui-license.js.map +1 -1
- package/dist/cli/commands/lint.js +13 -4
- package/dist/cli/commands/lint.js.map +1 -1
- package/dist/cli/commands/mfe-check.d.ts.map +1 -1
- package/dist/cli/commands/mfe-check.js +15 -7
- package/dist/cli/commands/mfe-check.js.map +1 -1
- package/dist/cli/commands/mfe-generate-metadata.js +13 -4
- package/dist/cli/commands/mfe-generate-metadata.js.map +1 -1
- package/dist/cli/commands/mfe-list.js +13 -4
- package/dist/cli/commands/mfe-list.js.map +1 -1
- package/dist/cli/commands/mfe-package-clean.js +13 -4
- package/dist/cli/commands/mfe-package-clean.js.map +1 -1
- package/dist/cli/commands/mfe-package-publish.js +13 -4
- package/dist/cli/commands/mfe-package-publish.js.map +1 -1
- package/dist/cli/commands/mfe-package-rollback.js +13 -4
- package/dist/cli/commands/mfe-package-rollback.js.map +1 -1
- package/dist/cli/commands/mfe-publish.js +13 -4
- package/dist/cli/commands/mfe-publish.js.map +1 -1
- package/dist/cli/commands/mfe-purge-cache.js +13 -4
- package/dist/cli/commands/mfe-purge-cache.js.map +1 -1
- package/dist/cli/commands/prepare-package.js +13 -4
- package/dist/cli/commands/prepare-package.js.map +1 -1
- package/dist/cli/commands/registry/build.d.ts +1 -1
- package/dist/cli/commands/registry/build.d.ts.map +1 -1
- package/dist/cli/commands/registry/build.js +3 -5
- package/dist/cli/commands/registry/build.js.map +1 -1
- package/dist/cli/commands/registry/bundle-package.d.ts +41 -0
- package/dist/cli/commands/registry/bundle-package.d.ts.map +1 -0
- package/dist/cli/commands/registry/bundle-package.js +54 -0
- package/dist/cli/commands/registry/bundle-package.js.map +1 -0
- package/dist/cli/commands/registry/command-registry.d.ts +42 -18
- package/dist/cli/commands/registry/command-registry.d.ts.map +1 -1
- package/dist/cli/commands/registry/command-registry.js +10 -19
- package/dist/cli/commands/registry/command-registry.js.map +1 -1
- package/dist/cli/commands/registry/install.d.ts +0 -16
- package/dist/cli/commands/registry/install.d.ts.map +1 -1
- package/dist/cli/commands/registry/install.js +1 -17
- package/dist/cli/commands/registry/install.js.map +1 -1
- package/dist/cli/commands/registry/start.d.ts +1 -1
- package/dist/cli/commands/registry/start.d.ts.map +1 -1
- package/dist/cli/commands/registry/start.js +3 -5
- package/dist/cli/commands/registry/start.js.map +1 -1
- package/dist/cli/commands/review/review.js +14 -7
- package/dist/cli/commands/review/review.js.map +1 -1
- package/dist/cli/commands/review/rules/no-deprecated-content-base.js +1 -3
- package/dist/cli/commands/review/rules/no-deprecated-content-base.js.map +1 -1
- package/dist/cli/commands/review/rules/no-direct-peer-dependencies.js +1 -3
- package/dist/cli/commands/review/rules/no-direct-peer-dependencies.js.map +1 -1
- package/dist/cli/commands/review/rules/no-typescript-entry-point.js +1 -3
- package/dist/cli/commands/review/rules/no-typescript-entry-point.js.map +1 -1
- package/dist/cli/commands/review/rules/prefer-open-ended-peer-dependencies.js +5 -12
- package/dist/cli/commands/review/rules/prefer-open-ended-peer-dependencies.js.map +1 -1
- package/dist/cli/commands/review/rules/require-compatible-launch-darkly-sdk.js +5 -12
- package/dist/cli/commands/review/rules/require-compatible-launch-darkly-sdk.js.map +1 -1
- package/dist/cli/commands/review/rules/require-explicit-side-effects.js +1 -3
- package/dist/cli/commands/review/rules/require-explicit-side-effects.js.map +1 -1
- package/dist/cli/commands/review/rules/require-one-collection-version.js +1 -3
- package/dist/cli/commands/review/rules/require-one-collection-version.js.map +1 -1
- package/dist/cli/commands/review/rules/require-servicetitan-scope.js +1 -3
- package/dist/cli/commands/review/rules/require-servicetitan-scope.js.map +1 -1
- package/dist/cli/commands/review/rules/require-tsconfig-references.js +1 -3
- package/dist/cli/commands/review/rules/require-tsconfig-references.js.map +1 -1
- package/dist/cli/commands/review/utils/compare-version.js +8 -19
- package/dist/cli/commands/review/utils/compare-version.js.map +1 -1
- package/dist/cli/commands/run-task.d.ts +1 -0
- package/dist/cli/commands/run-task.d.ts.map +1 -1
- package/dist/cli/commands/run-task.js +20 -6
- package/dist/cli/commands/run-task.js.map +1 -1
- package/dist/cli/commands/start.d.ts.map +1 -1
- package/dist/cli/commands/start.js +37 -14
- package/dist/cli/commands/start.js.map +1 -1
- package/dist/cli/commands/stylelint.js +13 -4
- package/dist/cli/commands/stylelint.js.map +1 -1
- package/dist/cli/commands/styles-check.js +13 -4
- package/dist/cli/commands/styles-check.js.map +1 -1
- package/dist/cli/commands/test/runners/jest.js +1 -3
- package/dist/cli/commands/test/runners/jest.js.map +1 -1
- package/dist/cli/commands/test/tests.js +13 -4
- package/dist/cli/commands/test/tests.js.map +1 -1
- package/dist/cli/commands/types.d.ts +1 -6
- package/dist/cli/commands/types.d.ts.map +1 -1
- package/dist/cli/commands/types.js +2 -20
- package/dist/cli/commands/types.js.map +1 -1
- package/dist/cli/commands/upload-sourcemaps.js +17 -13
- package/dist/cli/commands/upload-sourcemaps.js.map +1 -1
- package/dist/cli/index.js +1 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/tasks/cli-task.d.ts +3 -0
- package/dist/cli/tasks/cli-task.d.ts.map +1 -1
- package/dist/cli/tasks/cli-task.js +41 -9
- package/dist/cli/tasks/cli-task.js.map +1 -1
- package/dist/cli/tasks/swc-compile-package/get-swc-options.d.ts +9 -1
- package/dist/cli/tasks/swc-compile-package/get-swc-options.d.ts.map +1 -1
- package/dist/cli/tasks/swc-compile-package/get-swc-options.js +18 -2
- package/dist/cli/tasks/swc-compile-package/get-swc-options.js.map +1 -1
- package/dist/cli/tasks/swc-compile-package/swc-compile-package.d.ts +3 -1
- package/dist/cli/tasks/swc-compile-package/swc-compile-package.d.ts.map +1 -1
- package/dist/cli/tasks/swc-compile-package/swc-compile-package.js +17 -3
- package/dist/cli/tasks/swc-compile-package/swc-compile-package.js.map +1 -1
- package/dist/cli/tasks/task.d.ts +2 -1
- package/dist/cli/tasks/task.d.ts.map +1 -1
- package/dist/cli/tasks/task.js +6 -3
- package/dist/cli/tasks/task.js.map +1 -1
- package/dist/cli/tasks/tsc-compile/tsc-compile.js +1 -3
- package/dist/cli/tasks/tsc-compile/tsc-compile.js.map +1 -1
- package/dist/cli/utils/cli-git.d.ts +7 -0
- package/dist/cli/utils/cli-git.d.ts.map +1 -1
- package/dist/cli/utils/cli-git.js +30 -0
- package/dist/cli/utils/cli-git.js.map +1 -1
- package/dist/cli/utils/cli-npm.d.ts.map +1 -1
- package/dist/cli/utils/cli-npm.js +8 -1
- package/dist/cli/utils/cli-npm.js.map +1 -1
- package/dist/cli/utils/cli-os.d.ts +7 -1
- package/dist/cli/utils/cli-os.d.ts.map +1 -1
- package/dist/cli/utils/cli-os.js +42 -0
- package/dist/cli/utils/cli-os.js.map +1 -1
- package/dist/cli/utils/compile.d.ts.map +1 -1
- package/dist/cli/utils/compile.js +7 -4
- package/dist/cli/utils/compile.js.map +1 -1
- package/dist/cli/utils/copy-files.js +1 -0
- package/dist/cli/utils/copy-files.js.map +1 -1
- package/dist/cli/utils/index.d.ts +1 -1
- package/dist/cli/utils/index.d.ts.map +1 -1
- package/dist/cli/utils/index.js +1 -1
- package/dist/cli/utils/index.js.map +1 -1
- package/dist/cli/utils/process-tree.js +2 -6
- package/dist/cli/utils/process-tree.js.map +1 -1
- package/dist/cli/utils/resolve-bundler.d.ts.map +1 -1
- package/dist/cli/utils/resolve-bundler.js +2 -1
- package/dist/cli/utils/resolve-bundler.js.map +1 -1
- package/dist/cli/utils/ts-config.d.ts +1 -1
- package/dist/cli/utils/ts-config.d.ts.map +1 -1
- package/dist/cli/utils/ts-config.js +1 -3
- package/dist/cli/utils/ts-config.js.map +1 -1
- package/dist/cli/utils/with-exponential-backoff.d.ts +7 -0
- package/dist/cli/utils/with-exponential-backoff.d.ts.map +1 -0
- package/dist/cli/utils/with-exponential-backoff.js +28 -0
- package/dist/cli/utils/with-exponential-backoff.js.map +1 -0
- package/dist/core/constants.d.ts +2 -0
- package/dist/core/constants.d.ts.map +1 -1
- package/dist/core/constants.js +6 -1
- package/dist/core/constants.js.map +1 -1
- package/dist/postinstall.js +118 -0
- package/dist/scripts/generate-bin-wrappers.js +203 -0
- package/dist/storybook-config/swc.d.ts +6 -0
- package/dist/storybook-config/swc.d.ts.map +1 -1
- package/dist/storybook-config/webpack-final.d.ts.map +1 -1
- package/dist/storybook-config/webpack-final.js +2 -1
- package/dist/storybook-config/webpack-final.js.map +1 -1
- package/dist/telemetry/index.d.ts +3 -0
- package/dist/telemetry/index.d.ts.map +1 -0
- package/dist/telemetry/index.js +21 -0
- package/dist/telemetry/index.js.map +1 -0
- package/dist/telemetry/telemetry.d.ts +15 -0
- package/dist/telemetry/telemetry.d.ts.map +1 -0
- package/dist/telemetry/telemetry.js +176 -0
- package/dist/telemetry/telemetry.js.map +1 -0
- package/dist/utils/exit-when-parent-exits.d.ts +6 -0
- package/dist/utils/exit-when-parent-exits.d.ts.map +1 -0
- package/dist/utils/exit-when-parent-exits.js +37 -0
- package/dist/utils/exit-when-parent-exits.js.map +1 -0
- package/dist/utils/find-up.d.ts +1 -1
- package/dist/utils/find-up.d.ts.map +1 -1
- package/dist/utils/find-up.js +2 -2
- package/dist/utils/find-up.js.map +1 -1
- package/dist/utils/get-configuration.d.ts +6 -3
- package/dist/utils/get-configuration.d.ts.map +1 -1
- package/dist/utils/get-configuration.js +10 -2
- package/dist/utils/get-configuration.js.map +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/log.js +1 -3
- package/dist/utils/log.js.map +1 -1
- package/dist/vite/build-shared-dependencies.d.ts.map +1 -1
- package/dist/vite/build-shared-dependencies.js +2 -0
- package/dist/vite/build-shared-dependencies.js.map +1 -1
- package/dist/vite/config/base-config.d.ts.map +1 -1
- package/dist/vite/config/base-config.js +12 -1
- package/dist/vite/config/base-config.js.map +1 -1
- package/dist/vite/config/create-filtering-logger.d.ts.map +1 -1
- package/dist/vite/config/create-filtering-logger.js +6 -2
- package/dist/vite/config/create-filtering-logger.js.map +1 -1
- package/dist/vite/config/create-vite-config.js +7 -2
- package/dist/vite/config/create-vite-config.js.map +1 -1
- package/dist/vite/config/load-config-file.js +8 -19
- package/dist/vite/config/load-config-file.js.map +1 -1
- package/dist/vite/index.d.ts +2 -0
- package/dist/vite/index.d.ts.map +1 -1
- package/dist/vite/index.html +2 -2
- package/dist/vite/index.js +16 -0
- package/dist/vite/index.js.map +1 -1
- package/dist/vite/plugins/chain-source-maps-plugin.js +1 -1
- package/dist/vite/plugins/chain-source-maps-plugin.js.map +1 -1
- package/dist/vite/plugins/clean-plugin.js +1 -1
- package/dist/vite/plugins/clean-plugin.js.map +1 -1
- package/dist/vite/plugins/css-injector-plugin.js +1 -1
- package/dist/vite/plugins/css-injector-plugin.js.map +1 -1
- package/dist/vite/plugins/design-system-guard-plugin.d.ts.map +1 -1
- package/dist/vite/plugins/design-system-guard-plugin.js +10 -5
- package/dist/vite/plugins/design-system-guard-plugin.js.map +1 -1
- package/dist/vite/plugins/dev-server-routing-plugin.js +1 -1
- package/dist/vite/plugins/dev-server-routing-plugin.js.map +1 -1
- package/dist/vite/plugins/externals-plugin.d.ts.map +1 -1
- package/dist/vite/plugins/externals-plugin.js +11 -5
- package/dist/vite/plugins/externals-plugin.js.map +1 -1
- package/dist/vite/plugins/html-plugin.d.ts.map +1 -1
- package/dist/vite/plugins/html-plugin.js +5 -3
- package/dist/vite/plugins/html-plugin.js.map +1 -1
- package/dist/vite/plugins/ignore-modules-plugin.d.ts +2 -2
- package/dist/vite/plugins/ignore-modules-plugin.d.ts.map +1 -1
- package/dist/vite/plugins/ignore-modules-plugin.js +36 -24
- package/dist/vite/plugins/ignore-modules-plugin.js.map +1 -1
- package/dist/vite/plugins/index.d.ts +3 -0
- package/dist/vite/plugins/index.d.ts.map +1 -1
- package/dist/vite/plugins/index.js +3 -0
- package/dist/vite/plugins/index.js.map +1 -1
- package/dist/vite/plugins/less-tilde-plugin.d.ts +8 -0
- package/dist/vite/plugins/less-tilde-plugin.d.ts.map +1 -0
- package/dist/vite/plugins/less-tilde-plugin.js +53 -0
- package/dist/vite/plugins/less-tilde-plugin.js.map +1 -0
- package/dist/vite/plugins/magic-comments-plugin/magic-comments-plugin.js +1 -1
- package/dist/vite/plugins/magic-comments-plugin/magic-comments-plugin.js.map +1 -1
- package/dist/vite/plugins/metadata-plugin.js +1 -1
- package/dist/vite/plugins/metadata-plugin.js.map +1 -1
- package/dist/vite/plugins/moment-locales-plugin.d.ts +1 -1
- package/dist/vite/plugins/moment-locales-plugin.d.ts.map +1 -1
- package/dist/vite/plugins/moment-locales-plugin.js +30 -14
- package/dist/vite/plugins/moment-locales-plugin.js.map +1 -1
- package/dist/vite/plugins/react-refresh-plugin/index.d.ts +2 -0
- package/dist/vite/plugins/react-refresh-plugin/index.d.ts.map +1 -0
- package/dist/vite/plugins/react-refresh-plugin/index.js +20 -0
- package/dist/vite/plugins/react-refresh-plugin/index.js.map +1 -0
- package/dist/vite/plugins/react-refresh-plugin/react-refresh-plugin.d.ts +4 -0
- package/dist/vite/plugins/react-refresh-plugin/react-refresh-plugin.d.ts.map +1 -0
- package/dist/vite/plugins/react-refresh-plugin/react-refresh-plugin.js +143 -0
- package/dist/vite/plugins/react-refresh-plugin/react-refresh-plugin.js.map +1 -0
- package/dist/vite/plugins/react-refresh-plugin/refresh-runtime.js +113 -0
- package/dist/vite/plugins/shared-dependencies-plugin/shared-dependencies-plugin.d.ts.map +1 -1
- package/dist/vite/plugins/shared-dependencies-plugin/shared-dependencies-plugin.js +14 -11
- package/dist/vite/plugins/shared-dependencies-plugin/shared-dependencies-plugin.js.map +1 -1
- package/dist/vite/plugins/style-urls-plugin.js +1 -1
- package/dist/vite/plugins/style-urls-plugin.js.map +1 -1
- package/dist/vite/plugins/virtual-modules-plugin.d.ts.map +1 -1
- package/dist/vite/plugins/virtual-modules-plugin.js +9 -6
- package/dist/vite/plugins/virtual-modules-plugin.js.map +1 -1
- package/dist/vite/plugins/window-externals-plugin.d.ts +22 -0
- package/dist/vite/plugins/window-externals-plugin.d.ts.map +1 -0
- package/dist/vite/plugins/window-externals-plugin.js +74 -0
- package/dist/vite/plugins/window-externals-plugin.js.map +1 -0
- package/dist/webpack/bundle-webpack.d.ts.map +1 -1
- package/dist/webpack/bundle-webpack.js +6 -1
- package/dist/webpack/bundle-webpack.js.map +1 -1
- package/dist/webpack/configs/optimization-config.js +17 -12
- package/dist/webpack/configs/optimization-config.js.map +1 -1
- package/dist/webpack/configs/output-config.js +1 -1
- package/dist/webpack/configs/output-config.js.map +1 -1
- package/dist/webpack/configs/plugins/ignore-plugin/ignore-plugin.js +1 -3
- package/dist/webpack/configs/plugins/ignore-plugin/ignore-plugin.js.map +1 -1
- package/dist/webpack/loaders/expose-loader/__tests__/__mocks__/configuration.expose-loader.js +13 -0
- package/dist/webpack/loaders/expose-loader/__tests__/__mocks__/index.js +1 -0
- package/dist/webpack/utils/index.d.ts +1 -0
- package/dist/webpack/utils/index.d.ts.map +1 -1
- package/dist/webpack/utils/index.js +1 -0
- package/dist/webpack/utils/index.js.map +1 -1
- package/dist/webpack/utils/normalize-proxy-config.d.ts +6 -0
- package/dist/webpack/utils/normalize-proxy-config.d.ts.map +1 -0
- package/dist/webpack/utils/normalize-proxy-config.js +52 -0
- package/dist/webpack/utils/normalize-proxy-config.js.map +1 -0
- package/package.json +32 -26
- package/src/cli/commands/__tests__/build.test.ts +81 -20
- package/src/cli/commands/__tests__/bundle-package.test.ts +65 -0
- package/src/cli/commands/__tests__/command.test.ts +154 -0
- package/src/cli/commands/__tests__/init.test.ts +1 -1
- package/src/cli/commands/__tests__/install.test.ts +5 -72
- package/src/cli/commands/__tests__/mfe-check.test.ts +26 -5
- package/src/cli/commands/__tests__/run-task.test.ts +20 -1
- package/src/cli/commands/__tests__/start.test.ts +77 -16
- package/src/cli/commands/build.ts +15 -6
- package/src/cli/commands/bundle-package.ts +20 -0
- package/src/cli/commands/command.ts +64 -0
- package/src/cli/commands/init.ts +0 -1
- package/src/cli/commands/install.ts +5 -21
- package/src/cli/commands/mfe-check.ts +6 -10
- package/src/cli/commands/registry/build.ts +3 -2
- package/src/cli/commands/registry/bundle-package.ts +22 -0
- package/src/cli/commands/registry/command-registry.ts +2 -0
- package/src/cli/commands/registry/install.ts +1 -6
- package/src/cli/commands/registry/start.ts +3 -2
- package/src/cli/commands/run-task.ts +8 -2
- package/src/cli/commands/start.ts +17 -6
- package/src/cli/commands/types.ts +2 -6
- package/src/cli/index.ts +3 -0
- package/src/cli/tasks/__tests__/cli-task.test.ts +181 -69
- package/src/cli/tasks/__tests__/task.test.ts +40 -45
- package/src/cli/tasks/cli-task.ts +43 -2
- package/src/cli/tasks/swc-compile-package/__tests__/get-swc-options.test.ts +46 -4
- package/src/cli/tasks/swc-compile-package/__tests__/swc-compile-package.test.ts +25 -4
- package/src/cli/tasks/swc-compile-package/get-swc-options.ts +14 -1
- package/src/cli/tasks/swc-compile-package/swc-compile-package.ts +6 -2
- package/src/cli/tasks/task.ts +8 -2
- package/src/cli/tasks/tsc-compile/__tests__/tsc-compile.test.ts +8 -32
- package/src/cli/tasks/tsc-compile-package/__tests__/tsc-compile-package.test.ts +10 -19
- package/src/cli/utils/__tests__/cli-git.test.ts +54 -3
- package/src/cli/utils/__tests__/cli-npm.test.ts +33 -0
- package/src/cli/utils/__tests__/cli-os.test.ts +183 -4
- package/src/cli/utils/__tests__/compile.test.ts +37 -2
- package/src/cli/utils/__tests__/copy-files.test.ts +1 -1
- package/src/cli/utils/__tests__/with-exponential-backoff.test.ts +119 -0
- package/src/cli/utils/cli-git.ts +27 -1
- package/src/cli/utils/cli-npm.ts +19 -4
- package/src/cli/utils/cli-os.ts +44 -0
- package/src/cli/utils/compile.ts +8 -1
- package/src/cli/utils/copy-files.ts +1 -1
- package/src/cli/utils/index.ts +1 -1
- package/src/cli/utils/resolve-bundler.ts +2 -1
- package/src/cli/utils/ts-config.ts +1 -1
- package/src/cli/utils/with-exponential-backoff.ts +28 -0
- package/src/core/constants.ts +2 -0
- package/src/storybook-config/__tests__/vite-final.test.ts +6 -0
- package/src/storybook-config/__tests__/webpack-final.test.ts +26 -12
- package/src/storybook-config/webpack-final.ts +10 -4
- package/src/telemetry/__tests__/telemetry.test.ts +326 -0
- package/src/telemetry/index.ts +2 -0
- package/src/telemetry/telemetry.ts +134 -0
- package/src/utils/__tests__/exit-when-parent-exits.test.ts +87 -0
- package/src/utils/__tests__/find-up.test.ts +49 -0
- package/src/utils/__tests__/get-configuration.test.ts +62 -0
- package/src/utils/exit-when-parent-exits.ts +33 -0
- package/src/utils/find-up.ts +2 -2
- package/src/utils/get-configuration.ts +14 -5
- package/src/utils/index.ts +1 -0
- package/src/vite/__tests__/build-shared-dependencies.test.ts +39 -5
- package/src/vite/build-shared-dependencies.ts +2 -1
- package/src/vite/config/__tests__/base-config.test.ts +12 -4
- package/src/vite/config/__tests__/create-css-config.test.ts +2 -6
- package/src/vite/config/__tests__/create-filtering-logger.test.ts +3 -2
- package/src/vite/config/__tests__/create-vite-config.test.ts +6 -3
- package/src/vite/config/base-config.ts +13 -1
- package/src/vite/config/create-filtering-logger.ts +8 -2
- package/src/vite/config/create-vite-config.ts +6 -3
- package/src/vite/index.html +2 -2
- package/src/vite/index.ts +2 -0
- package/src/vite/plugins/__tests__/chain-source-maps-plugin.test.ts +1 -1
- package/src/vite/plugins/__tests__/clean-plugin.test.ts +1 -1
- package/src/vite/plugins/__tests__/css-injector-plugin.test.ts +1 -1
- package/src/vite/plugins/__tests__/design-system-guard-plugin.test.ts +15 -3
- package/src/vite/plugins/__tests__/dev-server-routing-plugin.test.ts +1 -1
- package/src/vite/plugins/__tests__/externals-plugin.test.ts +24 -3
- package/src/vite/plugins/__tests__/html-plugin.test.ts +10 -3
- package/src/vite/plugins/__tests__/html-template.test.ts +10 -2
- package/src/vite/plugins/__tests__/ignore-modules-plugin.test.ts +30 -6
- package/src/vite/plugins/__tests__/less-tilde-plugin.test.ts +91 -0
- package/src/vite/plugins/__tests__/metadata-plugin.test.ts +1 -1
- package/src/vite/plugins/__tests__/moment-locales-plugin.test.ts +35 -25
- package/src/vite/plugins/__tests__/style-urls-plugin.test.ts +1 -1
- package/src/vite/plugins/__tests__/virtual-modules-plugin.test.ts +20 -9
- package/src/vite/plugins/__tests__/window-externals-plugin.test.ts +128 -0
- package/src/vite/plugins/chain-source-maps-plugin.ts +1 -1
- package/src/vite/plugins/clean-plugin.ts +1 -1
- package/src/vite/plugins/css-injector-plugin.ts +1 -1
- package/src/vite/plugins/design-system-guard-plugin.ts +11 -8
- package/src/vite/plugins/dev-server-routing-plugin.ts +1 -1
- package/src/vite/plugins/externals-plugin.ts +15 -6
- package/src/vite/plugins/html-plugin.ts +4 -2
- package/src/vite/plugins/ignore-modules-plugin.ts +32 -23
- package/src/vite/plugins/index.ts +3 -0
- package/src/vite/plugins/less-tilde-plugin.ts +64 -0
- package/src/vite/plugins/magic-comments-plugin/magic-comments-plugin.ts +1 -1
- package/src/vite/plugins/metadata-plugin.ts +1 -1
- package/src/vite/plugins/moment-locales-plugin.ts +24 -14
- package/src/vite/plugins/react-refresh-plugin/README.md +165 -0
- package/src/vite/plugins/react-refresh-plugin/__tests__/react-refresh-plugin.test.ts +366 -0
- package/src/vite/plugins/react-refresh-plugin/__tests__/refresh-runtime.test.ts +193 -0
- package/src/vite/plugins/react-refresh-plugin/index.ts +1 -0
- package/src/vite/plugins/react-refresh-plugin/react-refresh-plugin.ts +144 -0
- package/src/vite/plugins/react-refresh-plugin/refresh-runtime.js +113 -0
- package/src/vite/plugins/shared-dependencies-plugin/__tests__/shared-dependencies-plugin.test.ts +21 -16
- package/src/vite/plugins/shared-dependencies-plugin/shared-dependencies-plugin.ts +13 -12
- package/src/vite/plugins/style-urls-plugin.ts +1 -1
- package/src/vite/plugins/virtual-modules-plugin.ts +8 -7
- package/src/vite/plugins/window-externals-plugin.ts +94 -0
- package/src/webpack/__tests__/bundle-webpack.test.ts +32 -0
- package/src/webpack/__tests__/create-webpack-config-shared-dependencies.test.ts +27 -1
- package/src/webpack/__tests__/create-webpack-config-web-component.test.ts +17 -5
- package/src/webpack/__tests__/create-webpack-config.test.ts +10 -6
- package/src/webpack/bundle-webpack.ts +7 -1
- package/src/webpack/configs/optimization-config.ts +22 -11
- package/src/webpack/configs/output-config.ts +1 -1
- package/src/webpack/utils/__tests__/normalize-proxy-config.test.ts +121 -0
- package/src/webpack/utils/index.ts +1 -0
- package/src/webpack/utils/normalize-proxy-config.ts +59 -0
- package/tsconfig/types.d.ts +10 -0
- package/dist/cli/utils/get-bundle-command.d.ts +0 -3
- package/dist/cli/utils/get-bundle-command.d.ts.map +0 -1
- package/dist/cli/utils/get-bundle-command.js +0 -16
- package/dist/cli/utils/get-bundle-command.js.map +0 -1
- package/src/cli/utils/__tests__/get-bundle-command.test.ts +0 -23
- package/src/cli/utils/get-bundle-command.ts +0 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/vite/config/base-config.ts"],"sourcesContent":["import type { InlineConfig, Plugin } from 'vite';\nimport {\n bundleConstants,\n defineExposedDependencies,\n defineExposedInstanceDependencies,\n defineWebComponentName,\n getBundleType,\n getCdnPath,\n getProcessEnv,\n} from '../../core';\nimport { omit } from '../../utils';\nimport {\n bundleStatPlugin,\n chainSourceMapsPlugin,\n cleanPlugin,\n cssInjectorPlugin,\n designSystemGuardPlugin,\n devServerRoutingPlugin,\n externalsPlugin,\n htmlPlugin,\n ignoreModulesPlugin,\n istanbulPlugin,\n magicCommentsPlugin,\n metadataPlugin,\n momentLocalesPlugin,\n styleUrlsPlugin,\n svgrPlugin,\n virtualModulesPlugin,\n} from '../plugins';\nimport { ViteBuildContext } from '../types';\nimport { assetFileNames } from './asset-file-names';\nimport { getCodeSplitting } from './code-splitting';\nimport { createCssConfig } from './create-css-config';\nimport { createFilteringLogger } from './create-filtering-logger';\n\nfunction importMetaRemap(\n ...definitions: (Record<string, string> | undefined)[]\n): Record<string, string> {\n const result: Record<string, string> = {};\n\n definitions\n .filter(definition => definition !== undefined)\n .forEach(definition =>\n Object.keys(definition).forEach(item => {\n result[`import.meta.env.${item}`] = definition[item];\n })\n );\n\n return result;\n}\n\nfunction createPlugins(context: ViteBuildContext) {\n const entries: [string, Plugin[] | Plugin | Promise<Plugin> | undefined][] = [\n ['bundleStat', bundleStatPlugin(context)],\n ['clean', cleanPlugin(context)],\n ['cssInjector', cssInjectorPlugin(context)],\n ['designSystemGuard', designSystemGuardPlugin(context)],\n ['devServerRouting', devServerRoutingPlugin(context)],\n ['externals', externalsPlugin(context)],\n ['html', htmlPlugin(context)],\n ['ignoreModules', ignoreModulesPlugin(context)],\n ['istanbul', istanbulPlugin(context)],\n ['magicComments', magicCommentsPlugin(context)],\n ['metadata', metadataPlugin(context)],\n ['momentLocales', momentLocalesPlugin(context)],\n ['styleUrls', styleUrlsPlugin(context)],\n ['svgr', svgrPlugin(context)],\n ['virtualModules', virtualModulesPlugin(context)],\n ];\n\n return entries\n .filter(\n ([name, plugin]) =>\n plugin && !context.bundlerConfig.omitDefault?.includes(`plugins.${name}`)\n )\n .flatMap(([, plugin]) => plugin);\n}\n\nexport function createBaseConfig(context: ViteBuildContext): InlineConfig {\n const { isProduction } = context.build;\n const { isWebComponent } = context.package;\n\n let config: InlineConfig = {\n cacheDir: `node_modules/.vite/${getBundleType(context) ?? 'host'}`,\n customLogger: createFilteringLogger(),\n server: {\n // Windows machines can fail to connect to \"localhost\"; bind to a fixed address instead.\n host: '127.0.0.1',\n port: context.bundlerConfig.port ?? (isWebComponent ? 8888 : 8080),\n },\n mode: isProduction ? bundleConstants.mode.production : bundleConstants.mode.development,\n configFile: false,\n oxc: { legalComments: 'none' },\n base: getCdnPath(context) || './', // eslint-disable-line @typescript-eslint/prefer-nullish-coalescing\n css: createCssConfig(isProduction),\n build: {\n /*\n * MFEs render inside shadow DOM — lazy CSS chunks would inject into document.head,\n * leaking styles into the host. Bundling all CSS into one file avoids this.\n */\n cssCodeSplit: !isWebComponent,\n sourcemap: true,\n rolldownOptions: {\n output: { assetFileNames, codeSplitting: getCodeSplitting(context) },\n plugins: [chainSourceMapsPlugin()],\n },\n },\n define: {\n ...importMetaRemap(\n defineExposedDependencies(context),\n defineExposedInstanceDependencies(context),\n defineWebComponentName(context)\n ),\n ...(getProcessEnv(context) ?? {}),\n },\n optimizeDeps: {\n include: ['@servicetitan/startup-utils'],\n /*\n * Top-level plugins don't run during dependency pre-bundling, so\n * register ignoreModulesPlugin again here. Without this, missing\n * optional peer dependencies inside pre-bundled packages throw at\n * runtime instead of resolving to an empty module.\n */\n rolldownOptions: {\n plugins: [ignoreModulesPlugin(context)],\n },\n },\n plugins: createPlugins(context),\n };\n\n const omitKeys = context.bundlerConfig.omitDefault?.filter(k => !k.startsWith('plugins.'));\n if (omitKeys?.length) {\n config = omit({ ...config }, omitKeys);\n }\n\n if (context.bundlerConfig.minify.js !== undefined) {\n config.build = { ...config.build, minify: !!context.bundlerConfig.minify.js };\n }\n if (context.bundlerConfig.minify.css !== undefined) {\n config.build = { ...config.build, cssMinify: !!context.bundlerConfig.minify.css };\n }\n\n // Minified output can't be mapped back to source, so skip it when instrumenting.\n if (context.options.codeCoverage) {\n config.build = { ...config.build, minify: false };\n }\n\n return config;\n}\n"],"names":["createBaseConfig","importMetaRemap","definitions","result","filter","definition","undefined","forEach","Object","keys","item","createPlugins","context","entries","bundleStatPlugin","cleanPlugin","cssInjectorPlugin","designSystemGuardPlugin","devServerRoutingPlugin","externalsPlugin","htmlPlugin","ignoreModulesPlugin","istanbulPlugin","magicCommentsPlugin","metadataPlugin","momentLocalesPlugin","styleUrlsPlugin","svgrPlugin","virtualModulesPlugin","name","plugin","bundlerConfig","omitDefault","includes","flatMap","getBundleType","getProcessEnv","isProduction","build","isWebComponent","package","config","cacheDir","customLogger","createFilteringLogger","server","host","port","mode","bundleConstants","production","development","configFile","oxc","legalComments","base","getCdnPath","css","createCssConfig","cssCodeSplit","sourcemap","rolldownOptions","output","assetFileNames","codeSplitting","getCodeSplitting","plugins","chainSourceMapsPlugin","define","defineExposedDependencies","defineExposedInstanceDependencies","defineWebComponentName","optimizeDeps","include","omitKeys","k","startsWith","length","omit","minify","js","cssMinify","options","codeCoverage"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/vite/config/base-config.ts"],"sourcesContent":["import type { InlineConfig, Plugin } from 'vite';\nimport {\n bundleConstants,\n defineExposedDependencies,\n defineExposedInstanceDependencies,\n defineWebComponentName,\n getBundleType,\n getCdnPath,\n getProcessEnv,\n} from '../../core';\nimport { omit } from '../../utils';\nimport {\n bundleStatPlugin,\n chainSourceMapsPlugin,\n cleanPlugin,\n cssInjectorPlugin,\n designSystemGuardPlugin,\n devServerRoutingPlugin,\n externalsPlugin,\n htmlPlugin,\n ignoreModulesPlugin,\n istanbulPlugin,\n magicCommentsPlugin,\n metadataPlugin,\n momentLocalesPlugin,\n reactRefreshPlugin,\n styleUrlsPlugin,\n svgrPlugin,\n virtualModulesPlugin,\n} from '../plugins';\nimport { ViteBuildContext } from '../types';\nimport { assetFileNames } from './asset-file-names';\nimport { getCodeSplitting } from './code-splitting';\nimport { createCssConfig } from './create-css-config';\nimport { createFilteringLogger } from './create-filtering-logger';\n\nfunction importMetaRemap(\n ...definitions: (Record<string, string> | undefined)[]\n): Record<string, string> {\n const result: Record<string, string> = {};\n\n definitions\n .filter(definition => definition !== undefined)\n .forEach(definition =>\n Object.keys(definition).forEach(item => {\n result[`import.meta.env.${item}`] = definition[item];\n })\n );\n\n return result;\n}\n\nfunction createPlugins(context: ViteBuildContext) {\n const entries: [string, Plugin[] | Plugin | Promise<Plugin> | undefined][] = [\n ['reactRefresh', reactRefreshPlugin(context)],\n ['bundleStat', bundleStatPlugin(context)],\n ['clean', cleanPlugin(context)],\n ['cssInjector', cssInjectorPlugin(context)],\n ['designSystemGuard', designSystemGuardPlugin(context)],\n ['devServerRouting', devServerRoutingPlugin(context)],\n ['externals', externalsPlugin(context)],\n ['html', htmlPlugin(context)],\n ['ignoreModules', ignoreModulesPlugin(context)],\n ['istanbul', istanbulPlugin(context)],\n ['magicComments', magicCommentsPlugin(context)],\n ['metadata', metadataPlugin(context)],\n ['momentLocales', momentLocalesPlugin(context)],\n ['styleUrls', styleUrlsPlugin(context)],\n ['svgr', svgrPlugin(context)],\n ['virtualModules', virtualModulesPlugin(context)],\n ];\n\n return entries\n .filter(\n ([name, plugin]) =>\n plugin && !context.bundlerConfig.omitDefault?.includes(`plugins.${name}`)\n )\n .flatMap(([, plugin]) => plugin);\n}\n\nexport function createBaseConfig(context: ViteBuildContext): InlineConfig {\n const { isProduction } = context.build;\n const { isWebComponent } = context.package;\n\n let config: InlineConfig = {\n cacheDir: `node_modules/.vite/${getBundleType(context) ?? 'host'}`,\n customLogger: createFilteringLogger(),\n server: {\n // Windows machines can fail to connect to \"localhost\"; bind to a fixed address instead.\n host: '127.0.0.1',\n port: context.bundlerConfig.port ?? (isWebComponent ? 8888 : 8080),\n },\n mode: isProduction ? bundleConstants.mode.production : bundleConstants.mode.development,\n configFile: false,\n oxc: { legalComments: 'none' },\n base: getCdnPath(context) || './', // eslint-disable-line @typescript-eslint/prefer-nullish-coalescing\n css: createCssConfig(isProduction),\n build: {\n /*\n * MFEs render inside shadow DOM — lazy CSS chunks would inject into document.head,\n * leaking styles into the host. Bundling all CSS into one file avoids this.\n */\n cssCodeSplit: !isWebComponent,\n sourcemap: true,\n rolldownOptions: {\n output: { assetFileNames, codeSplitting: getCodeSplitting(context) },\n plugins: [chainSourceMapsPlugin()],\n },\n },\n define: {\n /*\n * Some dependencies assume Node's `global` exists (webpack polyfills this\n * automatically for browser targets; Vite does not).\n */\n global: 'globalThis',\n ...importMetaRemap(\n defineExposedDependencies(context),\n defineExposedInstanceDependencies(context),\n defineWebComponentName(context)\n ),\n ...(getProcessEnv(context) ?? {}),\n },\n optimizeDeps: {\n include: [\n '@servicetitan/startup-utils',\n 'react-refresh/runtime',\n 'react/jsx-runtime',\n 'react/jsx-dev-runtime',\n ],\n /*\n * Top-level plugins don't run during dependency pre-bundling, so\n * register ignoreModulesPlugin again here. Without this, missing\n * optional peer dependencies inside pre-bundled packages throw at\n * runtime instead of resolving to an empty module.\n */\n rolldownOptions: {\n plugins: [ignoreModulesPlugin(context)],\n },\n },\n plugins: createPlugins(context),\n };\n\n const omitKeys = context.bundlerConfig.omitDefault?.filter(k => !k.startsWith('plugins.'));\n if (omitKeys?.length) {\n config = omit({ ...config }, omitKeys);\n }\n\n if (context.bundlerConfig.minify.js !== undefined) {\n config.build = { ...config.build, minify: !!context.bundlerConfig.minify.js };\n }\n if (context.bundlerConfig.minify.css !== undefined) {\n config.build = { ...config.build, cssMinify: !!context.bundlerConfig.minify.css };\n }\n\n // Minified output can't be mapped back to source, so skip it when instrumenting.\n if (context.options.codeCoverage) {\n config.build = { ...config.build, minify: false };\n }\n\n return config;\n}\n"],"names":["createBaseConfig","importMetaRemap","definitions","result","filter","definition","undefined","forEach","Object","keys","item","createPlugins","context","entries","reactRefreshPlugin","bundleStatPlugin","cleanPlugin","cssInjectorPlugin","designSystemGuardPlugin","devServerRoutingPlugin","externalsPlugin","htmlPlugin","ignoreModulesPlugin","istanbulPlugin","magicCommentsPlugin","metadataPlugin","momentLocalesPlugin","styleUrlsPlugin","svgrPlugin","virtualModulesPlugin","name","plugin","bundlerConfig","omitDefault","includes","flatMap","getBundleType","getProcessEnv","isProduction","build","isWebComponent","package","config","cacheDir","customLogger","createFilteringLogger","server","host","port","mode","bundleConstants","production","development","configFile","oxc","legalComments","base","getCdnPath","css","createCssConfig","cssCodeSplit","sourcemap","rolldownOptions","output","assetFileNames","codeSplitting","getCodeSplitting","plugins","chainSourceMapsPlugin","define","global","defineExposedDependencies","defineExposedInstanceDependencies","defineWebComponentName","optimizeDeps","include","omitKeys","k","startsWith","length","omit","minify","js","cssMinify","options","codeCoverage"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-filtering-logger.d.ts","sourceRoot":"","sources":["../../../src/vite/config/create-filtering-logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"create-filtering-logger.d.ts","sourceRoot":"","sources":["../../../src/vite/config/create-filtering-logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,MAAM,CAAC;AAgCjD,wBAAgB,qBAAqB,IAAI,MAAM,CAkB9C"}
|
|
@@ -9,6 +9,7 @@ Object.defineProperty(exports, "createFilteringLogger", {
|
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
const _vite = require("vite");
|
|
12
|
+
const _ignoremodulesplugin = require("../plugins/ignore-modules-plugin");
|
|
12
13
|
/*
|
|
13
14
|
* Expected warnings when a host's HTML references the shared-bundle assets created by
|
|
14
15
|
* separate "exposed dependencies" build. Matched on ./shared/ so a genuinely missing
|
|
@@ -20,9 +21,12 @@ const _vite = require("vite");
|
|
|
20
21
|
/*
|
|
21
22
|
* Expected when code feature-detects an optional peer dependency (e.g. `Package.Export
|
|
22
23
|
* === undefined`) and ignoreModulesPlugin has substituted an empty module for it. Matched
|
|
23
|
-
* on the plugin's
|
|
24
|
+
* on the plugin's EMPTY_PREFIX marker so a genuinely undefined export elsewhere still warns.
|
|
25
|
+
* Rolldown renders the marker's leading NUL control character as the visible characters "\"
|
|
26
|
+
* and "0" when it prints a warning, so match that instead of the raw NUL, doubled here
|
|
27
|
+
* because the backslash is also a regex metacharacter.
|
|
24
28
|
*/ const IGNORED_MODULE_WARNINGS = [
|
|
25
|
-
|
|
29
|
+
new RegExp(`Import \`\\w+\` will always be undefined because there is no matching export in '${_ignoremodulesplugin.EMPTY_PREFIX.replace('\0', '\\\\0')}[^']+'`)
|
|
26
30
|
];
|
|
27
31
|
const SUPPRESSED_WARNINGS = [
|
|
28
32
|
...SHARED_ASSET_WARNINGS,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/vite/config/create-filtering-logger.ts"],"sourcesContent":["import { createLogger, type Logger } from 'vite';\n\n/*\n * Expected warnings when a host's HTML references the shared-bundle assets created by\n * separate \"exposed dependencies\" build. Matched on ./shared/ so a genuinely missing\n * app asset still warns.\n */\nconst SHARED_ASSET_WARNINGS = [\n /<script src=\"\\.\\/shared\\/[^\"]+\"> in \"[^\"]*\" can't be bundled without type=\"module\"/,\n /\\.\\/shared\\/\\S+ doesn't exist at build time/,\n];\n\n/*\n * Expected when code feature-detects an optional peer dependency (e.g. `Package.Export\n * === undefined`) and ignoreModulesPlugin has substituted an empty module for it. Matched\n * on the plugin's
|
|
1
|
+
{"version":3,"sources":["../../../src/vite/config/create-filtering-logger.ts"],"sourcesContent":["import { createLogger, type Logger } from 'vite';\nimport { EMPTY_PREFIX } from '../plugins/ignore-modules-plugin';\n\n/*\n * Expected warnings when a host's HTML references the shared-bundle assets created by\n * separate \"exposed dependencies\" build. Matched on ./shared/ so a genuinely missing\n * app asset still warns.\n */\nconst SHARED_ASSET_WARNINGS = [\n /<script src=\"\\.\\/shared\\/[^\"]+\"> in \"[^\"]*\" can't be bundled without type=\"module\"/,\n /\\.\\/shared\\/\\S+ doesn't exist at build time/,\n];\n\n/*\n * Expected when code feature-detects an optional peer dependency (e.g. `Package.Export\n * === undefined`) and ignoreModulesPlugin has substituted an empty module for it. Matched\n * on the plugin's EMPTY_PREFIX marker so a genuinely undefined export elsewhere still warns.\n * Rolldown renders the marker's leading NUL control character as the visible characters \"\\\"\n * and \"0\" when it prints a warning, so match that instead of the raw NUL, doubled here\n * because the backslash is also a regex metacharacter.\n */\nconst IGNORED_MODULE_WARNINGS = [\n new RegExp(\n `Import \\`\\\\w+\\` will always be undefined because there is no matching export in '${EMPTY_PREFIX.replace('\\0', '\\\\\\\\0')}[^']+'`\n ),\n];\n\nconst SUPPRESSED_WARNINGS = [...SHARED_ASSET_WARNINGS, ...IGNORED_MODULE_WARNINGS];\n\n/*\n * Wraps Vite's logger to drop expected warnings. Everything else passes through.\n */\nexport function createFilteringLogger(): Logger {\n const logger = createLogger();\n const { warn, warnOnce } = logger;\n const isSuppressed = (message: string) =>\n SUPPRESSED_WARNINGS.some(pattern => pattern.test(message));\n\n logger.warn = (message, options) => {\n if (!isSuppressed(message)) {\n warn.call(logger, message, options);\n }\n };\n logger.warnOnce = (message, options) => {\n if (!isSuppressed(message)) {\n warnOnce.call(logger, message, options);\n }\n };\n\n return logger;\n}\n"],"names":["createFilteringLogger","SHARED_ASSET_WARNINGS","IGNORED_MODULE_WARNINGS","RegExp","EMPTY_PREFIX","replace","SUPPRESSED_WARNINGS","logger","createLogger","warn","warnOnce","isSuppressed","message","some","pattern","test","options","call"],"mappings":";;;;+BAgCgBA;;;eAAAA;;;sBAhC0B;qCACb;AAE7B;;;;CAIC,GACD,MAAMC,wBAAwB;IAC1B;IACA;CACH;AAED;;;;;;;CAOC,GACD,MAAMC,0BAA0B;IAC5B,IAAIC,OACA,CAAC,iFAAiF,EAAEC,iCAAY,CAACC,OAAO,CAAC,MAAM,SAAS,MAAM,CAAC;CAEtI;AAED,MAAMC,sBAAsB;OAAIL;OAA0BC;CAAwB;AAK3E,SAASF;IACZ,MAAMO,SAASC,IAAAA,kBAAY;IAC3B,MAAM,EAAEC,IAAI,EAAEC,QAAQ,EAAE,GAAGH;IAC3B,MAAMI,eAAe,CAACC,UAClBN,oBAAoBO,IAAI,CAACC,CAAAA,UAAWA,QAAQC,IAAI,CAACH;IAErDL,OAAOE,IAAI,GAAG,CAACG,SAASI;QACpB,IAAI,CAACL,aAAaC,UAAU;YACxBH,KAAKQ,IAAI,CAACV,QAAQK,SAASI;QAC/B;IACJ;IACAT,OAAOG,QAAQ,GAAG,CAACE,SAASI;QACxB,IAAI,CAACL,aAAaC,UAAU;YACxBF,SAASO,IAAI,CAACV,QAAQK,SAASI;QACnC;IACJ;IAEA,OAAOT;AACX"}
|
|
@@ -36,13 +36,18 @@ async function createViteConfig(options) {
|
|
|
36
36
|
return finalConfig;
|
|
37
37
|
}
|
|
38
38
|
function createDevServerConfig(viteContext, finalConfig, outputRoot) {
|
|
39
|
+
var _ref;
|
|
39
40
|
var _finalConfig_server;
|
|
40
41
|
const { light, headless, emitExposedDependencies } = viteContext.build;
|
|
42
|
+
const warmup = (_finalConfig_server = finalConfig.server) === null || _finalConfig_server === void 0 ? void 0 : _finalConfig_server.warmup;
|
|
41
43
|
const server = {
|
|
42
44
|
...finalConfig.server,
|
|
43
45
|
warmup: {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
+
...warmup,
|
|
47
|
+
clientFiles: [
|
|
48
|
+
...(0, _getwarmupclientfiles.getWarmupClientFiles)(viteContext, outputRoot),
|
|
49
|
+
...(_ref = warmup === null || warmup === void 0 ? void 0 : warmup.clientFiles) !== null && _ref !== void 0 ? _ref : []
|
|
50
|
+
]
|
|
46
51
|
}
|
|
47
52
|
};
|
|
48
53
|
/*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/vite/config/create-vite-config.ts"],"sourcesContent":["import {\n BuildContextOptions,\n createBuildContext,\n resolveOutputPath,\n resolveOutputRoot,\n stringifyConfig,\n} from '../../core';\nimport { getViteConfiguration, log } from '../../utils';\nimport { createBaseConfig } from './base-config';\nimport { createViteBuildContext } from './create-vite-build-context';\nimport { getWarmupClientFiles } from './get-warmup-client-files';\nimport { loadConfigFile } from './load-config-file';\nimport { mergeViteConfigs } from './merge-vite-configs';\n\nexport async function createViteConfig(options: BuildContextOptions) {\n const context = createBuildContext(options);\n const packageJsonConfig = getViteConfiguration();\n const fileConfig = await loadConfigFile('./', context);\n const viteContext = createViteBuildContext(context, packageJsonConfig, fileConfig);\n const baseConfig = createBaseConfig(viteContext);\n const finalConfig = mergeViteConfigs(baseConfig, packageJsonConfig, fileConfig);\n const outputRoot = resolveOutputRoot(context, finalConfig.build?.outDir);\n\n // Resolve the output path: web components force the default, hosts honor a configured path.\n finalConfig.build = {\n ...finalConfig.build,\n outDir: resolveOutputPath(context, finalConfig.build?.outDir),\n };\n\n if (!context.build.isProduction) {\n finalConfig.server = createDevServerConfig(viteContext, finalConfig, outputRoot);\n }\n\n /* istanbul ignore next: debug only */\n log.debug('create-vite-config', () => stringifyConfig(finalConfig));\n\n return finalConfig;\n}\n\nfunction createDevServerConfig(\n viteContext: ReturnType<typeof createViteBuildContext>,\n finalConfig: ReturnType<typeof mergeViteConfigs>,\n outputRoot: string\n) {\n const { light, headless, emitExposedDependencies } = viteContext.build;\n
|
|
1
|
+
{"version":3,"sources":["../../../src/vite/config/create-vite-config.ts"],"sourcesContent":["import {\n BuildContextOptions,\n createBuildContext,\n resolveOutputPath,\n resolveOutputRoot,\n stringifyConfig,\n} from '../../core';\nimport { getViteConfiguration, log } from '../../utils';\nimport { createBaseConfig } from './base-config';\nimport { createViteBuildContext } from './create-vite-build-context';\nimport { getWarmupClientFiles } from './get-warmup-client-files';\nimport { loadConfigFile } from './load-config-file';\nimport { mergeViteConfigs } from './merge-vite-configs';\n\nexport async function createViteConfig(options: BuildContextOptions) {\n const context = createBuildContext(options);\n const packageJsonConfig = getViteConfiguration();\n const fileConfig = await loadConfigFile('./', context);\n const viteContext = createViteBuildContext(context, packageJsonConfig, fileConfig);\n const baseConfig = createBaseConfig(viteContext);\n const finalConfig = mergeViteConfigs(baseConfig, packageJsonConfig, fileConfig);\n const outputRoot = resolveOutputRoot(context, finalConfig.build?.outDir);\n\n // Resolve the output path: web components force the default, hosts honor a configured path.\n finalConfig.build = {\n ...finalConfig.build,\n outDir: resolveOutputPath(context, finalConfig.build?.outDir),\n };\n\n if (!context.build.isProduction) {\n finalConfig.server = createDevServerConfig(viteContext, finalConfig, outputRoot);\n }\n\n /* istanbul ignore next: debug only */\n log.debug('create-vite-config', () => stringifyConfig(finalConfig));\n\n return finalConfig;\n}\n\nfunction createDevServerConfig(\n viteContext: ReturnType<typeof createViteBuildContext>,\n finalConfig: ReturnType<typeof mergeViteConfigs>,\n outputRoot: string\n) {\n const { light, headless, emitExposedDependencies } = viteContext.build;\n const warmup = finalConfig.server?.warmup;\n const server = {\n ...finalConfig.server,\n warmup: {\n ...warmup,\n clientFiles: [\n ...getWarmupClientFiles(viteContext, outputRoot),\n ...(warmup?.clientFiles ?? []),\n ],\n },\n };\n\n /*\n * Background dev servers (light/headless) must use a random port to avoid\n * conflicting with the full bundle's user-configured port.\n */\n if (light || headless) {\n server.port = 0;\n } else if (!emitExposedDependencies) {\n server.port = Number(process.env.PORT) || finalConfig.server?.port;\n }\n\n return server;\n}\n"],"names":["createViteConfig","options","finalConfig","context","createBuildContext","packageJsonConfig","getViteConfiguration","fileConfig","loadConfigFile","viteContext","createViteBuildContext","baseConfig","createBaseConfig","mergeViteConfigs","outputRoot","resolveOutputRoot","build","outDir","resolveOutputPath","isProduction","server","createDevServerConfig","log","debug","stringifyConfig","light","headless","emitExposedDependencies","warmup","clientFiles","getWarmupClientFiles","port","Number","process","env","PORT"],"mappings":";;;;+BAcsBA;;;eAAAA;;;sBARf;uBACmC;4BACT;wCACM;sCACF;gCACN;kCACE;AAE1B,eAAeA,iBAAiBC,OAA4B;QAOjBC,oBAKPA;IAXvC,MAAMC,UAAUC,IAAAA,wBAAkB,EAACH;IACnC,MAAMI,oBAAoBC,IAAAA,2BAAoB;IAC9C,MAAMC,aAAa,MAAMC,IAAAA,8BAAc,EAAC,MAAML;IAC9C,MAAMM,cAAcC,IAAAA,8CAAsB,EAACP,SAASE,mBAAmBE;IACvE,MAAMI,aAAaC,IAAAA,4BAAgB,EAACH;IACpC,MAAMP,cAAcW,IAAAA,kCAAgB,EAACF,YAAYN,mBAAmBE;IACpE,MAAMO,aAAaC,IAAAA,uBAAiB,EAACZ,UAASD,qBAAAA,YAAYc,KAAK,cAAjBd,yCAAAA,mBAAmBe,MAAM;IAEvE,4FAA4F;IAC5Ff,YAAYc,KAAK,GAAG;QAChB,GAAGd,YAAYc,KAAK;QACpBC,QAAQC,IAAAA,uBAAiB,EAACf,UAASD,sBAAAA,YAAYc,KAAK,cAAjBd,0CAAAA,oBAAmBe,MAAM;IAChE;IAEA,IAAI,CAACd,QAAQa,KAAK,CAACG,YAAY,EAAE;QAC7BjB,YAAYkB,MAAM,GAAGC,sBAAsBZ,aAAaP,aAAaY;IACzE;IAEA,oCAAoC,GACpCQ,UAAG,CAACC,KAAK,CAAC,sBAAsB,IAAMC,IAAAA,qBAAe,EAACtB;IAEtD,OAAOA;AACX;AAEA,SAASmB,sBACLZ,WAAsD,EACtDP,WAAgD,EAChDY,UAAkB;;QAGHZ;IADf,MAAM,EAAEuB,KAAK,EAAEC,QAAQ,EAAEC,uBAAuB,EAAE,GAAGlB,YAAYO,KAAK;IACtE,MAAMY,UAAS1B,sBAAAA,YAAYkB,MAAM,cAAlBlB,0CAAAA,oBAAoB0B,MAAM;IACzC,MAAMR,SAAS;QACX,GAAGlB,YAAYkB,MAAM;QACrBQ,QAAQ;YACJ,GAAGA,MAAM;YACTC,aAAa;mBACNC,IAAAA,0CAAoB,EAACrB,aAAaK;2BACjCc,mBAAAA,6BAAAA,OAAQC,WAAW,uCAAI,EAAE;aAChC;QACL;IACJ;IAEA;;;KAGC,GACD,IAAIJ,SAASC,UAAU;QACnBN,OAAOW,IAAI,GAAG;IAClB,OAAO,IAAI,CAACJ,yBAAyB;YACSzB;QAA1CkB,OAAOW,IAAI,GAAGC,OAAOC,QAAQC,GAAG,CAACC,IAAI,OAAKjC,uBAAAA,YAAYkB,MAAM,cAAlBlB,2CAAAA,qBAAoB6B,IAAI;IACtE;IAEA,OAAOX;AACX"}
|
|
@@ -26,18 +26,12 @@ function _getRequireWildcardCache(nodeInterop) {
|
|
|
26
26
|
})(nodeInterop);
|
|
27
27
|
}
|
|
28
28
|
function _interop_require_wildcard(obj, nodeInterop) {
|
|
29
|
-
if (!nodeInterop && obj && obj.__esModule)
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
return {
|
|
34
|
-
default: obj
|
|
35
|
-
};
|
|
36
|
-
}
|
|
29
|
+
if (!nodeInterop && obj && obj.__esModule) return obj;
|
|
30
|
+
if (obj === null || typeof obj !== "object" && typeof obj !== "function") return {
|
|
31
|
+
default: obj
|
|
32
|
+
};
|
|
37
33
|
var cache = _getRequireWildcardCache(nodeInterop);
|
|
38
|
-
if (cache && cache.has(obj))
|
|
39
|
-
return cache.get(obj);
|
|
40
|
-
}
|
|
34
|
+
if (cache && cache.has(obj)) return cache.get(obj);
|
|
41
35
|
var newObj = {
|
|
42
36
|
__proto__: null
|
|
43
37
|
};
|
|
@@ -45,17 +39,12 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
45
39
|
for(var key in obj){
|
|
46
40
|
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
47
41
|
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
48
|
-
if (desc && (desc.get || desc.set))
|
|
49
|
-
|
|
50
|
-
} else {
|
|
51
|
-
newObj[key] = obj[key];
|
|
52
|
-
}
|
|
42
|
+
if (desc && (desc.get || desc.set)) Object.defineProperty(newObj, key, desc);
|
|
43
|
+
else newObj[key] = obj[key];
|
|
53
44
|
}
|
|
54
45
|
}
|
|
55
46
|
newObj.default = obj;
|
|
56
|
-
if (cache)
|
|
57
|
-
cache.set(obj, newObj);
|
|
58
|
-
}
|
|
47
|
+
if (cache) cache.set(obj, newObj);
|
|
59
48
|
return newObj;
|
|
60
49
|
}
|
|
61
50
|
async function loadConfigFile(root, context) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/vite/config/load-config-file.ts"],"sourcesContent":["import crypto from 'crypto';\nimport fs from 'fs';\nimport path from 'path';\nimport { rolldown } from 'rolldown'; // eslint-disable-line import/no-extraneous-dependencies\nimport type { BuildContext } from '../../core/types';\nimport type { ViteConfigFileOverride } from './define-config';\n\nexport async function loadConfigFile(\n root: string,\n context: BuildContext\n): Promise<ViteConfigFileOverride> {\n const baseName = context.build.isProduction ? 'vite.prod.config' : 'vite.dev.config';\n const configPath = ['.ts', '.js']\n .map(ext => path.join(root, baseName + ext))\n .find(path => fs.existsSync(path));\n\n if (!configPath) {\n return {};\n }\n\n /*\n * Write to node_modules/.startup/ so Node can resolve package imports\n * relative to the project's node_modules. The leading dot follows the\n * convention for tool-managed directories (like .cache, .vite) — npm\n * ignores dotfiles inside node_modules. The directory persists after the\n * temp file is cleaned up, avoiding re-creation on subsequent runs.\n */\n const tmpDir = path.resolve(root, 'node_modules', '.startup');\n fs.mkdirSync(tmpDir, { recursive: true });\n const tmpFile = path.join(tmpDir, `vite-config-${crypto.randomUUID()}.cjs`);\n\n const bundle = await rolldown({\n input: configPath,\n /*\n * Externalize bare imports (node_modules) — only bundle relative files\n * like ./vite.shared.ts. Rolldown calls external() twice per import: once\n * with the original specifier (./foo) and once with the resolved absolute\n * path (/Users/.../foo.ts or C:\\...\\foo.ts). Both must return false to\n * keep the import internal.\n */\n external: id => !id.startsWith('.') && !path.isAbsolute(id),\n });\n const code = (await bundle.generate({ format: 'cjs' })).output[0].code;\n\n try {\n fs.writeFileSync(tmpFile, code);\n const exported = (await import(tmpFile)).default;\n return typeof exported === 'function' ? exported(context) : (exported ?? {});\n } finally {\n fs.unlinkSync(tmpFile);\n }\n}\n"],"names":["loadConfigFile","root","context","baseName","build","isProduction","configPath","map","ext","path","join","find","fs","existsSync","tmpDir","resolve","mkdirSync","recursive","tmpFile","crypto","randomUUID","bundle","rolldown","input","external","id","startsWith","isAbsolute","code","generate","format","output","writeFileSync","exported","default","unlinkSync"],"mappings":";;;;+BAOsBA;;;eAAAA;;;+DAPH;2DACJ;6DACE;0BACQ
|
|
1
|
+
{"version":3,"sources":["../../../src/vite/config/load-config-file.ts"],"sourcesContent":["import crypto from 'crypto';\nimport fs from 'fs';\nimport path from 'path';\nimport { rolldown } from 'rolldown'; // eslint-disable-line import/no-extraneous-dependencies\nimport type { BuildContext } from '../../core/types';\nimport type { ViteConfigFileOverride } from './define-config';\n\nexport async function loadConfigFile(\n root: string,\n context: BuildContext\n): Promise<ViteConfigFileOverride> {\n const baseName = context.build.isProduction ? 'vite.prod.config' : 'vite.dev.config';\n const configPath = ['.ts', '.js']\n .map(ext => path.join(root, baseName + ext))\n .find(path => fs.existsSync(path));\n\n if (!configPath) {\n return {};\n }\n\n /*\n * Write to node_modules/.startup/ so Node can resolve package imports\n * relative to the project's node_modules. The leading dot follows the\n * convention for tool-managed directories (like .cache, .vite) — npm\n * ignores dotfiles inside node_modules. The directory persists after the\n * temp file is cleaned up, avoiding re-creation on subsequent runs.\n */\n const tmpDir = path.resolve(root, 'node_modules', '.startup');\n fs.mkdirSync(tmpDir, { recursive: true });\n const tmpFile = path.join(tmpDir, `vite-config-${crypto.randomUUID()}.cjs`);\n\n const bundle = await rolldown({\n input: configPath,\n /*\n * Externalize bare imports (node_modules) — only bundle relative files\n * like ./vite.shared.ts. Rolldown calls external() twice per import: once\n * with the original specifier (./foo) and once with the resolved absolute\n * path (/Users/.../foo.ts or C:\\...\\foo.ts). Both must return false to\n * keep the import internal.\n */\n external: id => !id.startsWith('.') && !path.isAbsolute(id),\n });\n const code = (await bundle.generate({ format: 'cjs' })).output[0].code;\n\n try {\n fs.writeFileSync(tmpFile, code);\n const exported = (await import(tmpFile)).default;\n return typeof exported === 'function' ? exported(context) : (exported ?? {});\n } finally {\n fs.unlinkSync(tmpFile);\n }\n}\n"],"names":["loadConfigFile","root","context","baseName","build","isProduction","configPath","map","ext","path","join","find","fs","existsSync","tmpDir","resolve","mkdirSync","recursive","tmpFile","crypto","randomUUID","bundle","rolldown","input","external","id","startsWith","isAbsolute","code","generate","format","output","writeFileSync","exported","default","unlinkSync"],"mappings":";;;;+BAOsBA;;;eAAAA;;;+DAPH;2DACJ;6DACE;0BACQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIlB,eAAeA,eAClBC,IAAY,EACZC,OAAqB;IAErB,MAAMC,WAAWD,QAAQE,KAAK,CAACC,YAAY,GAAG,qBAAqB;IACnE,MAAMC,aAAa;QAAC;QAAO;KAAM,CAC5BC,GAAG,CAACC,CAAAA,MAAOC,aAAI,CAACC,IAAI,CAACT,MAAME,WAAWK,MACtCG,IAAI,CAACF,CAAAA,OAAQG,WAAE,CAACC,UAAU,CAACJ;IAEhC,IAAI,CAACH,YAAY;QACb,OAAO,CAAC;IACZ;IAEA;;;;;;KAMC,GACD,MAAMQ,SAASL,aAAI,CAACM,OAAO,CAACd,MAAM,gBAAgB;IAClDW,WAAE,CAACI,SAAS,CAACF,QAAQ;QAAEG,WAAW;IAAK;IACvC,MAAMC,UAAUT,aAAI,CAACC,IAAI,CAACI,QAAQ,CAAC,YAAY,EAAEK,eAAM,CAACC,UAAU,GAAG,IAAI,CAAC;IAE1E,MAAMC,SAAS,MAAMC,IAAAA,kBAAQ,EAAC;QAC1BC,OAAOjB;QACP;;;;;;SAMC,GACDkB,UAAUC,CAAAA,KAAM,CAACA,GAAGC,UAAU,CAAC,QAAQ,CAACjB,aAAI,CAACkB,UAAU,CAACF;IAC5D;IACA,MAAMG,OAAO,AAAC,CAAA,MAAMP,OAAOQ,QAAQ,CAAC;QAAEC,QAAQ;IAAM,EAAC,EAAGC,MAAM,CAAC,EAAE,CAACH,IAAI;IAEtE,IAAI;QACAhB,WAAE,CAACoB,aAAa,CAACd,SAASU;QAC1B,MAAMK,WAAW,AAAC,CAAA,MAAM,gBAAOf,2DAAP,YAAc,EAAGgB,OAAO;QAChD,OAAO,OAAOD,aAAa,aAAaA,SAAS/B,WAAY+B,qBAAAA,sBAAAA,WAAY,CAAC;IAC9E,SAAU;QACNrB,WAAE,CAACuB,UAAU,CAACjB;IAClB;AACJ"}
|
package/dist/vite/index.d.ts
CHANGED
package/dist/vite/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vite/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vite/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,KAAK,eAAe,EAAE,MAAM,mCAAmC,CAAC"}
|
package/dist/vite/index.html
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
<% } %> <% it.css.forEach(function(item) { %>
|
|
10
10
|
<link href="./<%= item %>" rel="stylesheet" crossorigin="anonymous" />
|
|
11
11
|
<% }); %> <% it.js.forEach(function(item) { %>
|
|
12
|
-
<script src="./<%= item %>"></script>
|
|
12
|
+
<script defer src="./<%= item %>"></script>
|
|
13
13
|
<% }); %>
|
|
14
14
|
<script type="text/javascript">
|
|
15
15
|
<% if (it.isWebComponent) { %>
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
<% if (it.isWebComponent) { %>
|
|
26
26
|
import './index';
|
|
27
27
|
<% } else { %>
|
|
28
|
-
import '
|
|
28
|
+
import './<%= it.tsOutDir %>/index';
|
|
29
29
|
<% } %>
|
|
30
30
|
</script>
|
|
31
31
|
<% if (it.isWebComponent) { %><<%~ it.name %> /><% } %>
|
package/dist/vite/index.js
CHANGED
|
@@ -2,7 +2,23 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
get lessTildePlugin () {
|
|
13
|
+
return _lesstildeplugin.lessTildePlugin;
|
|
14
|
+
},
|
|
15
|
+
get windowExternalsPlugin () {
|
|
16
|
+
return _windowexternalsplugin.windowExternalsPlugin;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
5
19
|
_export_star(require("./config/define-config"), exports);
|
|
20
|
+
const _lesstildeplugin = require("./plugins/less-tilde-plugin");
|
|
21
|
+
const _windowexternalsplugin = require("./plugins/window-externals-plugin");
|
|
6
22
|
function _export_star(from, to) {
|
|
7
23
|
Object.keys(from).forEach(function(k) {
|
|
8
24
|
if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
|
package/dist/vite/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/vite/index.ts"],"sourcesContent":["export * from './config/define-config';\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/vite/index.ts"],"sourcesContent":["export * from './config/define-config';\nexport { lessTildePlugin } from './plugins/less-tilde-plugin';\nexport { windowExternalsPlugin, type WindowExternals } from './plugins/window-externals-plugin';\n"],"names":["lessTildePlugin","windowExternalsPlugin"],"mappings":";;;;;;;;;;;QACSA;eAAAA,gCAAe;;QACfC;eAAAA,4CAAqB;;;qBAFhB;iCACkB;uCAC4B"}
|
|
@@ -17,7 +17,7 @@ function _interop_require_default(obj) {
|
|
|
17
17
|
}
|
|
18
18
|
function chainSourceMapsPlugin() {
|
|
19
19
|
return {
|
|
20
|
-
name: 'chain-source-maps',
|
|
20
|
+
name: 'st:chain-source-maps',
|
|
21
21
|
load (id) {
|
|
22
22
|
const mapPath = `${id}.map`;
|
|
23
23
|
if (id.endsWith('.js') && _fs.default.existsSync(mapPath)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/vite/plugins/chain-source-maps-plugin.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport type { Plugin } from 'rolldown';\n\n/*\n * Return each compiled `.js` file's external `.js.map` (emitted by SWC) from the\n * load hook so Rolldown chains it, making source maps resolve to the original\n * `.ts` instead of stopping at the compiled `.js`.\n */\nexport function chainSourceMapsPlugin(): Plugin {\n return {\n name: 'chain-source-maps',\n load(id) {\n const mapPath = `${id}.map`;\n if (id.endsWith('.js') && fs.existsSync(mapPath)) {\n const map = JSON.parse(fs.readFileSync(mapPath, 'utf8'));\n const dir = path.dirname(mapPath);\n // Absolute paths let Rolldown resolve the sources; source maps require `/` separators.\n map.sources = map.sources.map((source: string) =>\n path.resolve(dir, source).replace(/\\\\/g, '/')\n );\n return { code: fs.readFileSync(id, 'utf8'), map };\n }\n },\n };\n}\n"],"names":["chainSourceMapsPlugin","name","load","id","mapPath","endsWith","fs","existsSync","map","JSON","parse","readFileSync","dir","path","dirname","sources","source","resolve","replace","code"],"mappings":";;;;+BASgBA;;;eAAAA;;;2DATD;6DACE;;;;;;AAQV,SAASA;IACZ,OAAO;QACHC,MAAM;QACNC,MAAKC,EAAE;YACH,MAAMC,UAAU,GAAGD,GAAG,IAAI,CAAC;YAC3B,IAAIA,GAAGE,QAAQ,CAAC,UAAUC,WAAE,CAACC,UAAU,CAACH,UAAU;gBAC9C,MAAMI,MAAMC,KAAKC,KAAK,CAACJ,WAAE,CAACK,YAAY,CAACP,SAAS;gBAChD,MAAMQ,MAAMC,aAAI,CAACC,OAAO,CAACV;gBACzB,uFAAuF;gBACvFI,IAAIO,OAAO,GAAGP,IAAIO,OAAO,CAACP,GAAG,CAAC,CAACQ,SAC3BH,aAAI,CAACI,OAAO,CAACL,KAAKI,QAAQE,OAAO,CAAC,OAAO;gBAE7C,OAAO;oBAAEC,MAAMb,WAAE,CAACK,YAAY,CAACR,IAAI;oBAASK;gBAAI;YACpD;QACJ;IACJ;AACJ"}
|
|
1
|
+
{"version":3,"sources":["../../../src/vite/plugins/chain-source-maps-plugin.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport type { Plugin } from 'rolldown';\n\n/*\n * Return each compiled `.js` file's external `.js.map` (emitted by SWC) from the\n * load hook so Rolldown chains it, making source maps resolve to the original\n * `.ts` instead of stopping at the compiled `.js`.\n */\nexport function chainSourceMapsPlugin(): Plugin {\n return {\n name: 'st:chain-source-maps',\n load(id) {\n const mapPath = `${id}.map`;\n if (id.endsWith('.js') && fs.existsSync(mapPath)) {\n const map = JSON.parse(fs.readFileSync(mapPath, 'utf8'));\n const dir = path.dirname(mapPath);\n // Absolute paths let Rolldown resolve the sources; source maps require `/` separators.\n map.sources = map.sources.map((source: string) =>\n path.resolve(dir, source).replace(/\\\\/g, '/')\n );\n return { code: fs.readFileSync(id, 'utf8'), map };\n }\n },\n };\n}\n"],"names":["chainSourceMapsPlugin","name","load","id","mapPath","endsWith","fs","existsSync","map","JSON","parse","readFileSync","dir","path","dirname","sources","source","resolve","replace","code"],"mappings":";;;;+BASgBA;;;eAAAA;;;2DATD;6DACE;;;;;;AAQV,SAASA;IACZ,OAAO;QACHC,MAAM;QACNC,MAAKC,EAAE;YACH,MAAMC,UAAU,GAAGD,GAAG,IAAI,CAAC;YAC3B,IAAIA,GAAGE,QAAQ,CAAC,UAAUC,WAAE,CAACC,UAAU,CAACH,UAAU;gBAC9C,MAAMI,MAAMC,KAAKC,KAAK,CAACJ,WAAE,CAACK,YAAY,CAACP,SAAS;gBAChD,MAAMQ,MAAMC,aAAI,CAACC,OAAO,CAACV;gBACzB,uFAAuF;gBACvFI,IAAIO,OAAO,GAAGP,IAAIO,OAAO,CAACP,GAAG,CAAC,CAACQ,SAC3BH,aAAI,CAACI,OAAO,CAACL,KAAKI,QAAQE,OAAO,CAAC,OAAO;gBAE7C,OAAO;oBAAEC,MAAMb,WAAE,CAACK,YAAY,CAACR,IAAI;oBAASK;gBAAI;YACpD;QACJ;IACJ;AACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/vite/plugins/clean-plugin.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport type { Plugin } from 'vite';\nimport { BuildContext, getBundleType } from '../../core';\n\n/*\n * Removes stale artifacts from the output directory. MFE builds use Vite's `emptyOutDir`.\n * Host builds can't, since their outDir holds the shared dependencies subdir, so\n * `buildStart` empties it while keeping shared dependencies.\n */\nexport function cleanPlugin(context: BuildContext): Plugin {\n const { isWebComponent } = context.package;\n let outDir = '';\n\n return {\n name: 'clean',\n apply: 'build',\n config: () => ({ build: { emptyOutDir: isWebComponent } }),\n configResolved(config) {\n outDir = config.build.outDir;\n },\n buildStart() {\n if (isWebComponent || !fs.existsSync(outDir)) {\n return;\n }\n const keep = getKeepDir(context);\n for (const entry of fs.readdirSync(outDir)) {\n if (entry === keep) {\n continue;\n }\n fs.rmSync(path.join(outDir, entry), { recursive: true, force: true });\n }\n },\n };\n}\n\n/* The shared deps subdirectory to preserve, or undefined to clean everything. */\nfunction getKeepDir(context: BuildContext): string | undefined {\n if (context.build.emitExposedDependencies) {\n return undefined;\n }\n return getBundleType({\n ...context,\n build: { ...context.build, emitExposedDependencies: true },\n });\n}\n"],"names":["cleanPlugin","context","isWebComponent","package","outDir","name","apply","config","build","emptyOutDir","configResolved","buildStart","fs","existsSync","keep","getKeepDir","entry","readdirSync","rmSync","path","join","recursive","force","emitExposedDependencies","undefined","getBundleType"],"mappings":";;;;+BAUgBA;;;eAAAA;;;2DAVD;6DACE;sBAE2B;;;;;;AAOrC,SAASA,YAAYC,OAAqB;IAC7C,MAAM,EAAEC,cAAc,EAAE,GAAGD,QAAQE,OAAO;IAC1C,IAAIC,SAAS;IAEb,OAAO;QACHC,MAAM;QACNC,OAAO;QACPC,QAAQ,IAAO,CAAA;gBAAEC,OAAO;oBAAEC,aAAaP;gBAAe;YAAE,CAAA;QACxDQ,gBAAeH,MAAM;YACjBH,SAASG,OAAOC,KAAK,CAACJ,MAAM;QAChC;QACAO;YACI,IAAIT,kBAAkB,CAACU,WAAE,CAACC,UAAU,CAACT,SAAS;gBAC1C;YACJ;YACA,MAAMU,OAAOC,WAAWd;YACxB,KAAK,MAAMe,SAASJ,WAAE,CAACK,WAAW,CAACb,QAAS;gBACxC,IAAIY,UAAUF,MAAM;oBAChB;gBACJ;gBACAF,WAAE,CAACM,MAAM,CAACC,aAAI,CAACC,IAAI,CAAChB,QAAQY,QAAQ;oBAAEK,WAAW;oBAAMC,OAAO;gBAAK;YACvE;QACJ;IACJ;AACJ;AAEA,+EAA+E,GAC/E,SAASP,WAAWd,OAAqB;IACrC,IAAIA,QAAQO,KAAK,CAACe,uBAAuB,EAAE;QACvC,OAAOC;IACX;IACA,OAAOC,IAAAA,mBAAa,EAAC;QACjB,GAAGxB,OAAO;QACVO,OAAO;YAAE,GAAGP,QAAQO,KAAK;YAAEe,yBAAyB;QAAK;IAC7D;AACJ"}
|
|
1
|
+
{"version":3,"sources":["../../../src/vite/plugins/clean-plugin.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport type { Plugin } from 'vite';\nimport { BuildContext, getBundleType } from '../../core';\n\n/*\n * Removes stale artifacts from the output directory. MFE builds use Vite's `emptyOutDir`.\n * Host builds can't, since their outDir holds the shared dependencies subdir, so\n * `buildStart` empties it while keeping shared dependencies.\n */\nexport function cleanPlugin(context: BuildContext): Plugin {\n const { isWebComponent } = context.package;\n let outDir = '';\n\n return {\n name: 'st:clean',\n apply: 'build',\n config: () => ({ build: { emptyOutDir: isWebComponent } }),\n configResolved(config) {\n outDir = config.build.outDir;\n },\n buildStart() {\n if (isWebComponent || !fs.existsSync(outDir)) {\n return;\n }\n const keep = getKeepDir(context);\n for (const entry of fs.readdirSync(outDir)) {\n if (entry === keep) {\n continue;\n }\n fs.rmSync(path.join(outDir, entry), { recursive: true, force: true });\n }\n },\n };\n}\n\n/* The shared deps subdirectory to preserve, or undefined to clean everything. */\nfunction getKeepDir(context: BuildContext): string | undefined {\n if (context.build.emitExposedDependencies) {\n return undefined;\n }\n return getBundleType({\n ...context,\n build: { ...context.build, emitExposedDependencies: true },\n });\n}\n"],"names":["cleanPlugin","context","isWebComponent","package","outDir","name","apply","config","build","emptyOutDir","configResolved","buildStart","fs","existsSync","keep","getKeepDir","entry","readdirSync","rmSync","path","join","recursive","force","emitExposedDependencies","undefined","getBundleType"],"mappings":";;;;+BAUgBA;;;eAAAA;;;2DAVD;6DACE;sBAE2B;;;;;;AAOrC,SAASA,YAAYC,OAAqB;IAC7C,MAAM,EAAEC,cAAc,EAAE,GAAGD,QAAQE,OAAO;IAC1C,IAAIC,SAAS;IAEb,OAAO;QACHC,MAAM;QACNC,OAAO;QACPC,QAAQ,IAAO,CAAA;gBAAEC,OAAO;oBAAEC,aAAaP;gBAAe;YAAE,CAAA;QACxDQ,gBAAeH,MAAM;YACjBH,SAASG,OAAOC,KAAK,CAACJ,MAAM;QAChC;QACAO;YACI,IAAIT,kBAAkB,CAACU,WAAE,CAACC,UAAU,CAACT,SAAS;gBAC1C;YACJ;YACA,MAAMU,OAAOC,WAAWd;YACxB,KAAK,MAAMe,SAASJ,WAAE,CAACK,WAAW,CAACb,QAAS;gBACxC,IAAIY,UAAUF,MAAM;oBAChB;gBACJ;gBACAF,WAAE,CAACM,MAAM,CAACC,aAAI,CAACC,IAAI,CAAChB,QAAQY,QAAQ;oBAAEK,WAAW;oBAAMC,OAAO;gBAAK;YACvE;QACJ;IACJ;AACJ;AAEA,+EAA+E,GAC/E,SAASP,WAAWd,OAAqB;IACrC,IAAIA,QAAQO,KAAK,CAACe,uBAAuB,EAAE;QACvC,OAAOC;IACX;IACA,OAAOC,IAAAA,mBAAa,EAAC;QACjB,GAAGxB,OAAO;QACVO,OAAO;YAAE,GAAGP,QAAQO,KAAK;YAAEe,yBAAyB;QAAK;IAC7D;AACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/vite/plugins/css-injector-plugin.ts"],"sourcesContent":["import type { Plugin } from 'vite';\nimport type { BuildContext } from '../../core';\n\n/*\n * Replaces Vite's default CSS injection (<style> tags in document.head) with\n * MfeStyleRegistry.injectSheet() from @servicetitan/web-components, which\n * creates CSSStyleSheet objects that can be adopted into shadow roots.\n *\n * Works by transforming Vite's CSS module output at enforce:'post'. Vite\n * transforms CSS imports into JS modules that call updateStyle(id, css) from\n * /@vite/client — this plugin replaces that call with injectSheet().\n *\n * HMR works automatically: when a CSS file changes, Vite re-evaluates the\n * module, which re-runs injectSheet(). Existing CSSStyleSheet objects are\n * updated via replaceSync(), so all shadow roots that adopted them see the\n * change immediately.\n */\nexport function cssInjectorPlugin(context: BuildContext): Plugin | undefined {\n const { name, isProduction } = context.build;\n const { isWebComponent } = context.package;\n if (!isWebComponent || isProduction) {\n return;\n }\n\n return {\n name: 'mfe-css-injector',\n enforce: 'post',\n transform(code, id) {\n if (!id.endsWith('.css') && !id.endsWith('.less') && !id.endsWith('.scss')) {\n return;\n }\n if (!code.includes('__vite__updateStyle')) {\n return;\n }\n\n let transformed = code;\n\n const importPattern =\n /import \\{ updateStyle as __vite__updateStyle, removeStyle as __vite__removeStyle \\} from [^\\n]+/;\n const callPattern = '__vite__updateStyle(__vite__id, __vite__css)';\n\n if (!importPattern.test(transformed) || !transformed.includes(callPattern)) {\n this.error(\n `[startup] Failed to transform CSS module — Vite's internal output format may have changed. File: ${id}`\n );\n }\n\n transformed = transformed\n .replace(\n importPattern,\n `import { MfeStyleRegistry as __mfe__Registry } from '@servicetitan/web-components'`\n )\n .replace(\n callPattern,\n `__mfe__Registry.for(${JSON.stringify(name)}).injectSheet(__vite__id, __vite__css)`\n )\n .replace(\n /import\\.meta\\.hot\\.prune\\(\\(\\) => __vite__removeStyle\\(__vite__id\\)\\)/,\n ''\n );\n\n return { code: transformed, map: null };\n },\n };\n}\n"],"names":["cssInjectorPlugin","context","name","isProduction","build","isWebComponent","package","enforce","transform","code","id","endsWith","includes","transformed","importPattern","callPattern","test","error","replace","JSON","stringify","map"],"mappings":";;;;+BAiBgBA;;;eAAAA;;;AAAT,SAASA,kBAAkBC,OAAqB;IACnD,MAAM,EAAEC,IAAI,EAAEC,YAAY,EAAE,GAAGF,QAAQG,KAAK;IAC5C,MAAM,EAAEC,cAAc,EAAE,GAAGJ,QAAQK,OAAO;IAC1C,IAAI,CAACD,kBAAkBF,cAAc;QACjC;IACJ;IAEA,OAAO;QACHD,MAAM;QACNK,SAAS;QACTC,WAAUC,IAAI,EAAEC,EAAE;YACd,IAAI,CAACA,GAAGC,QAAQ,CAAC,WAAW,CAACD,GAAGC,QAAQ,CAAC,YAAY,CAACD,GAAGC,QAAQ,CAAC,UAAU;gBACxE;YACJ;YACA,IAAI,CAACF,KAAKG,QAAQ,CAAC,wBAAwB;gBACvC;YACJ;YAEA,IAAIC,cAAcJ;YAElB,MAAMK,gBACF;YACJ,MAAMC,cAAc;YAEpB,IAAI,CAACD,cAAcE,IAAI,CAACH,gBAAgB,CAACA,YAAYD,QAAQ,CAACG,cAAc;gBACxE,IAAI,CAACE,KAAK,CACN,CAAC,iGAAiG,EAAEP,IAAI;YAEhH;YAEAG,cAAcA,YACTK,OAAO,CACJJ,eACA,CAAC,kFAAkF,CAAC,EAEvFI,OAAO,CACJH,aACA,CAAC,oBAAoB,EAAEI,KAAKC,SAAS,CAAClB,MAAM,sCAAsC,CAAC,EAEtFgB,OAAO,CACJ,yEACA;YAGR,OAAO;gBAAET,MAAMI;gBAAaQ,KAAK;YAAK;QAC1C;IACJ;AACJ"}
|
|
1
|
+
{"version":3,"sources":["../../../src/vite/plugins/css-injector-plugin.ts"],"sourcesContent":["import type { Plugin } from 'vite';\nimport type { BuildContext } from '../../core';\n\n/*\n * Replaces Vite's default CSS injection (<style> tags in document.head) with\n * MfeStyleRegistry.injectSheet() from @servicetitan/web-components, which\n * creates CSSStyleSheet objects that can be adopted into shadow roots.\n *\n * Works by transforming Vite's CSS module output at enforce:'post'. Vite\n * transforms CSS imports into JS modules that call updateStyle(id, css) from\n * /@vite/client — this plugin replaces that call with injectSheet().\n *\n * HMR works automatically: when a CSS file changes, Vite re-evaluates the\n * module, which re-runs injectSheet(). Existing CSSStyleSheet objects are\n * updated via replaceSync(), so all shadow roots that adopted them see the\n * change immediately.\n */\nexport function cssInjectorPlugin(context: BuildContext): Plugin | undefined {\n const { name, isProduction } = context.build;\n const { isWebComponent } = context.package;\n if (!isWebComponent || isProduction) {\n return;\n }\n\n return {\n name: 'st:mfe-css-injector',\n enforce: 'post',\n transform(code, id) {\n if (!id.endsWith('.css') && !id.endsWith('.less') && !id.endsWith('.scss')) {\n return;\n }\n if (!code.includes('__vite__updateStyle')) {\n return;\n }\n\n let transformed = code;\n\n const importPattern =\n /import \\{ updateStyle as __vite__updateStyle, removeStyle as __vite__removeStyle \\} from [^\\n]+/;\n const callPattern = '__vite__updateStyle(__vite__id, __vite__css)';\n\n if (!importPattern.test(transformed) || !transformed.includes(callPattern)) {\n this.error(\n `[startup] Failed to transform CSS module — Vite's internal output format may have changed. File: ${id}`\n );\n }\n\n transformed = transformed\n .replace(\n importPattern,\n `import { MfeStyleRegistry as __mfe__Registry } from '@servicetitan/web-components'`\n )\n .replace(\n callPattern,\n `__mfe__Registry.for(${JSON.stringify(name)}).injectSheet(__vite__id, __vite__css)`\n )\n .replace(\n /import\\.meta\\.hot\\.prune\\(\\(\\) => __vite__removeStyle\\(__vite__id\\)\\)/,\n ''\n );\n\n return { code: transformed, map: null };\n },\n };\n}\n"],"names":["cssInjectorPlugin","context","name","isProduction","build","isWebComponent","package","enforce","transform","code","id","endsWith","includes","transformed","importPattern","callPattern","test","error","replace","JSON","stringify","map"],"mappings":";;;;+BAiBgBA;;;eAAAA;;;AAAT,SAASA,kBAAkBC,OAAqB;IACnD,MAAM,EAAEC,IAAI,EAAEC,YAAY,EAAE,GAAGF,QAAQG,KAAK;IAC5C,MAAM,EAAEC,cAAc,EAAE,GAAGJ,QAAQK,OAAO;IAC1C,IAAI,CAACD,kBAAkBF,cAAc;QACjC;IACJ;IAEA,OAAO;QACHD,MAAM;QACNK,SAAS;QACTC,WAAUC,IAAI,EAAEC,EAAE;YACd,IAAI,CAACA,GAAGC,QAAQ,CAAC,WAAW,CAACD,GAAGC,QAAQ,CAAC,YAAY,CAACD,GAAGC,QAAQ,CAAC,UAAU;gBACxE;YACJ;YACA,IAAI,CAACF,KAAKG,QAAQ,CAAC,wBAAwB;gBACvC;YACJ;YAEA,IAAIC,cAAcJ;YAElB,MAAMK,gBACF;YACJ,MAAMC,cAAc;YAEpB,IAAI,CAACD,cAAcE,IAAI,CAACH,gBAAgB,CAACA,YAAYD,QAAQ,CAACG,cAAc;gBACxE,IAAI,CAACE,KAAK,CACN,CAAC,iGAAiG,EAAEP,IAAI;YAEhH;YAEAG,cAAcA,YACTK,OAAO,CACJJ,eACA,CAAC,kFAAkF,CAAC,EAEvFI,OAAO,CACJH,aACA,CAAC,oBAAoB,EAAEI,KAAKC,SAAS,CAAClB,MAAM,sCAAsC,CAAC,EAEtFgB,OAAO,CACJ,yEACA;YAGR,OAAO;gBAAET,MAAMI;gBAAaQ,KAAK;YAAK;QAC1C;IACJ;AACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"design-system-guard-plugin.d.ts","sourceRoot":"","sources":["../../../src/vite/plugins/design-system-guard-plugin.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAU1C,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"design-system-guard-plugin.d.ts","sourceRoot":"","sources":["../../../src/vite/plugins/design-system-guard-plugin.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAU1C,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CAwBrE"}
|
|
@@ -21,12 +21,17 @@ function designSystemGuardPlugin(context) {
|
|
|
21
21
|
const { emitExposedDependencies } = context.build;
|
|
22
22
|
const designSystemInSharedBundle = isExposeSharedDependencies && !!sharedDependencies[DESIGN_SYSTEM] && !emitExposedDependencies;
|
|
23
23
|
return {
|
|
24
|
-
name: 'design-system-guard',
|
|
24
|
+
name: 'st:design-system-guard',
|
|
25
25
|
enforce: 'pre',
|
|
26
|
-
resolveId
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
26
|
+
resolveId: {
|
|
27
|
+
filter: {
|
|
28
|
+
id: DESIGN_SYSTEM_CSS
|
|
29
|
+
},
|
|
30
|
+
handler (source, importer) {
|
|
31
|
+
if (designSystemInSharedBundle && importer && DESIGN_SYSTEM_CSS.test(source)) {
|
|
32
|
+
const filename = _path.default.parse(importer).name;
|
|
33
|
+
this.error(`do not import design-system.css in "${filename}"; it is automatically included as a shared dependency`);
|
|
34
|
+
}
|
|
30
35
|
}
|
|
31
36
|
}
|
|
32
37
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/vite/plugins/design-system-guard-plugin.ts"],"sourcesContent":["import path from 'path';\nimport type { Plugin } from 'vite';\nimport { BuildContext } from '../../core';\n\nconst DESIGN_SYSTEM = '@servicetitan/design-system';\nconst DESIGN_SYSTEM_CSS = /[\\\\/]design-system\\.css$/;\n\n/*\n * Errors when a host's own code imports design-system.css while it exposes the design\n * system as a shared dependency. The CSS already ships in the shared bundle, so a direct\n * import would load the design system twice. Mirrors the webpack guard in css-rules.ts.\n */\nexport function designSystemGuardPlugin(context: BuildContext): Plugin {\n const { isExposeSharedDependencies, sharedDependencies } = context.package;\n const { emitExposedDependencies } = context.build;\n\n const designSystemInSharedBundle =\n isExposeSharedDependencies &&\n !!sharedDependencies[DESIGN_SYSTEM] &&\n !emitExposedDependencies;\n\n return {\n name: 'design-system-guard',\n enforce: 'pre',\n resolveId(source, importer) {\n
|
|
1
|
+
{"version":3,"sources":["../../../src/vite/plugins/design-system-guard-plugin.ts"],"sourcesContent":["import path from 'path';\nimport type { Plugin } from 'vite';\nimport { BuildContext } from '../../core';\n\nconst DESIGN_SYSTEM = '@servicetitan/design-system';\nconst DESIGN_SYSTEM_CSS = /[\\\\/]design-system\\.css$/;\n\n/*\n * Errors when a host's own code imports design-system.css while it exposes the design\n * system as a shared dependency. The CSS already ships in the shared bundle, so a direct\n * import would load the design system twice. Mirrors the webpack guard in css-rules.ts.\n */\nexport function designSystemGuardPlugin(context: BuildContext): Plugin {\n const { isExposeSharedDependencies, sharedDependencies } = context.package;\n const { emitExposedDependencies } = context.build;\n\n const designSystemInSharedBundle =\n isExposeSharedDependencies &&\n !!sharedDependencies[DESIGN_SYSTEM] &&\n !emitExposedDependencies;\n\n return {\n name: 'st:design-system-guard',\n enforce: 'pre',\n resolveId: {\n filter: { id: DESIGN_SYSTEM_CSS },\n handler(source, importer) {\n if (designSystemInSharedBundle && importer && DESIGN_SYSTEM_CSS.test(source)) {\n const filename = path.parse(importer).name;\n this.error(\n `do not import design-system.css in \"${filename}\"; it is automatically included as a shared dependency`\n );\n }\n },\n },\n };\n}\n"],"names":["designSystemGuardPlugin","DESIGN_SYSTEM","DESIGN_SYSTEM_CSS","context","isExposeSharedDependencies","sharedDependencies","package","emitExposedDependencies","build","designSystemInSharedBundle","name","enforce","resolveId","filter","id","handler","source","importer","test","filename","path","parse","error"],"mappings":";;;;+BAYgBA;;;eAAAA;;;6DAZC;;;;;;AAIjB,MAAMC,gBAAgB;AACtB,MAAMC,oBAAoB;AAOnB,SAASF,wBAAwBG,OAAqB;IACzD,MAAM,EAAEC,0BAA0B,EAAEC,kBAAkB,EAAE,GAAGF,QAAQG,OAAO;IAC1E,MAAM,EAAEC,uBAAuB,EAAE,GAAGJ,QAAQK,KAAK;IAEjD,MAAMC,6BACFL,8BACA,CAAC,CAACC,kBAAkB,CAACJ,cAAc,IACnC,CAACM;IAEL,OAAO;QACHG,MAAM;QACNC,SAAS;QACTC,WAAW;YACPC,QAAQ;gBAAEC,IAAIZ;YAAkB;YAChCa,SAAQC,MAAM,EAAEC,QAAQ;gBACpB,IAAIR,8BAA8BQ,YAAYf,kBAAkBgB,IAAI,CAACF,SAAS;oBAC1E,MAAMG,WAAWC,aAAI,CAACC,KAAK,CAACJ,UAAUP,IAAI;oBAC1C,IAAI,CAACY,KAAK,CACN,CAAC,oCAAoC,EAAEH,SAAS,sDAAsD,CAAC;gBAE/G;YACJ;QACJ;IACJ;AACJ"}
|
|
@@ -32,7 +32,7 @@ function devServerRoutingPlugin(context) {
|
|
|
32
32
|
_utils.log.info(`[${_utils.log.timestamp}]: ${req.method} ${req.url}`);
|
|
33
33
|
};
|
|
34
34
|
return {
|
|
35
|
-
name: 'dev-server-routing',
|
|
35
|
+
name: 'st:dev-server-routing',
|
|
36
36
|
configResolved (config) {
|
|
37
37
|
outDir = config.build.outDir;
|
|
38
38
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/vite/plugins/dev-server-routing-plugin.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport { normalizePath, type Plugin } from 'vite';\nimport { getBundleType, type BuildContext } from '../../core';\nimport { log } from '../../utils';\n\n/**\n * URL rewrites for dev and preview servers.\n *\n * Dev serves from the project root, preview serves from outDir. Production builds output to\n * dist/bundle/. Paths that work in prod (relative to index.html in outDir) break in dev and\n * preview because the server root differs.\n *\n * - Host dev (root: project root): template uses ./shared/... which resolves to /shared/...\n * but files are at dist/bundle/shared/. Rewrites to /dist/bundle/shared/... so Vite serves them.\n *\n * - MFE dev (root: project root): Loader reads entrypoints.json and requests assets at\n * production output paths (e.g. /dist/bundle/full/index.js). Strips the outDir prefix\n * so files resolve from root.\n *\n * - Host preview (root: dist/bundle/): shared/ is inside outDir, no rewrites needed.\n *\n * - MFE preview (root: dist/bundle/full/): host requests metadata.json from the parent\n * dist/bundle/ and sibling bundle assets (light/, headless/). Serves the entire destination\n * directory as static files.\n */\nexport function devServerRoutingPlugin(context: BuildContext): Plugin {\n const { isWebComponent, destination } = context.package;\n let outDir = '';\n\n const sharedDepsDirname = getBundleType({\n ...context,\n build: { ...context.build, emitExposedDependencies: true },\n });\n\n const logRequest = (req: import('http').IncomingMessage) => {\n log.info(`[${log.timestamp}]: ${req.method} ${req.url}`);\n };\n\n return {\n name: 'dev-server-routing',\n\n configResolved(config) {\n outDir = config.build.outDir;\n },\n\n configureServer(server) {\n const outDirRelative = `/${normalizePath(path.relative(process.cwd(), outDir))}/`;\n\n server.middlewares.use((req, _res, next) => {\n logRequest(req);\n const url = req.url ?? '';\n if (isWebComponent) {\n if (url.startsWith(outDirRelative)) {\n req.url = url.slice(outDirRelative.length - 1);\n }\n } else if (url.startsWith(`/${sharedDepsDirname}/`)) {\n req.url = `${outDirRelative}${url.slice(1)}`;\n }\n next();\n });\n },\n\n configurePreviewServer(server) {\n server.middlewares.use((req, _res, next) => {\n logRequest(req);\n next();\n });\n\n if (!isWebComponent) {\n return;\n }\n\n const destDir = path.resolve(destination);\n const mountPath = '/' + normalizePath(path.relative(process.cwd(), destDir));\n\n const contentTypes: Record<string, string> = {\n '.js': 'application/javascript',\n '.css': 'text/css',\n '.json': 'application/json',\n };\n\n server.middlewares.use(mountPath, (req, res, next) => {\n const filePath = path.join(destDir, req.url ?? '');\n if (!filePath.startsWith(destDir + path.sep) || !fs.existsSync(filePath)) {\n return next();\n }\n const contentType = contentTypes[path.extname(filePath)];\n if (contentType) {\n res.setHeader('Content-Type', contentType);\n }\n fs.createReadStream(filePath).pipe(res);\n });\n },\n };\n}\n"],"names":["devServerRoutingPlugin","context","isWebComponent","destination","package","outDir","sharedDepsDirname","getBundleType","build","emitExposedDependencies","logRequest","req","log","info","timestamp","method","url","name","configResolved","config","configureServer","server","outDirRelative","normalizePath","path","relative","process","cwd","middlewares","use","_res","next","startsWith","slice","length","configurePreviewServer","destDir","resolve","mountPath","contentTypes","res","filePath","join","sep","fs","existsSync","contentType","extname","setHeader","createReadStream","pipe"],"mappings":";;;;+BA0BgBA;;;eAAAA;;;2DA1BD;6DACE;sBAC0B;sBACM;uBAC7B;;;;;;AAsBb,SAASA,uBAAuBC,OAAqB;IACxD,MAAM,EAAEC,cAAc,EAAEC,WAAW,EAAE,GAAGF,QAAQG,OAAO;IACvD,IAAIC,SAAS;IAEb,MAAMC,oBAAoBC,IAAAA,mBAAa,EAAC;QACpC,GAAGN,OAAO;QACVO,OAAO;YAAE,GAAGP,QAAQO,KAAK;YAAEC,yBAAyB;QAAK;IAC7D;IAEA,MAAMC,aAAa,CAACC;QAChBC,UAAG,CAACC,IAAI,CAAC,CAAC,CAAC,EAAED,UAAG,CAACE,SAAS,CAAC,GAAG,EAAEH,IAAII,MAAM,CAAC,CAAC,EAAEJ,IAAIK,GAAG,EAAE;IAC3D;IAEA,OAAO;QACHC,MAAM;QAENC,gBAAeC,MAAM;YACjBd,SAASc,OAAOX,KAAK,CAACH,MAAM;QAChC;QAEAe,iBAAgBC,MAAM;YAClB,MAAMC,iBAAiB,CAAC,CAAC,EAAEC,IAAAA,mBAAa,EAACC,aAAI,CAACC,QAAQ,CAACC,QAAQC,GAAG,IAAItB,SAAS,CAAC,CAAC;YAEjFgB,OAAOO,WAAW,CAACC,GAAG,CAAC,CAAClB,KAAKmB,MAAMC;oBAEnBpB;gBADZD,WAAWC;gBACX,MAAMK,OAAML,WAAAA,IAAIK,GAAG,cAAPL,sBAAAA,WAAW;gBACvB,IAAIT,gBAAgB;oBAChB,IAAIc,IAAIgB,UAAU,CAACV,iBAAiB;wBAChCX,IAAIK,GAAG,GAAGA,IAAIiB,KAAK,CAACX,eAAeY,MAAM,GAAG;oBAChD;gBACJ,OAAO,IAAIlB,IAAIgB,UAAU,CAAC,CAAC,CAAC,EAAE1B,kBAAkB,CAAC,CAAC,GAAG;oBACjDK,IAAIK,GAAG,GAAG,GAAGM,iBAAiBN,IAAIiB,KAAK,CAAC,IAAI;gBAChD;gBACAF;YACJ;QACJ;QAEAI,wBAAuBd,MAAM;YACzBA,OAAOO,WAAW,CAACC,GAAG,CAAC,CAAClB,KAAKmB,MAAMC;gBAC/BrB,WAAWC;gBACXoB;YACJ;YAEA,IAAI,CAAC7B,gBAAgB;gBACjB;YACJ;YAEA,MAAMkC,UAAUZ,aAAI,CAACa,OAAO,CAAClC;YAC7B,MAAMmC,YAAY,MAAMf,IAAAA,mBAAa,EAACC,aAAI,CAACC,QAAQ,CAACC,QAAQC,GAAG,IAAIS;YAEnE,MAAMG,eAAuC;gBACzC,OAAO;gBACP,QAAQ;gBACR,SAAS;YACb;YAEAlB,OAAOO,WAAW,CAACC,GAAG,CAACS,WAAW,CAAC3B,KAAK6B,KAAKT;oBACLpB;gBAApC,MAAM8B,WAAWjB,aAAI,CAACkB,IAAI,CAACN,UAASzB,WAAAA,IAAIK,GAAG,cAAPL,sBAAAA,WAAW;gBAC/C,IAAI,CAAC8B,SAAST,UAAU,CAACI,UAAUZ,aAAI,CAACmB,GAAG,KAAK,CAACC,WAAE,CAACC,UAAU,CAACJ,WAAW;oBACtE,OAAOV;gBACX;gBACA,MAAMe,cAAcP,YAAY,CAACf,aAAI,CAACuB,OAAO,CAACN,UAAU;gBACxD,IAAIK,aAAa;oBACbN,IAAIQ,SAAS,CAAC,gBAAgBF;gBAClC;gBACAF,WAAE,CAACK,gBAAgB,CAACR,UAAUS,IAAI,CAACV;YACvC;QACJ;IACJ;AACJ"}
|
|
1
|
+
{"version":3,"sources":["../../../src/vite/plugins/dev-server-routing-plugin.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport { normalizePath, type Plugin } from 'vite';\nimport { getBundleType, type BuildContext } from '../../core';\nimport { log } from '../../utils';\n\n/**\n * URL rewrites for dev and preview servers.\n *\n * Dev serves from the project root, preview serves from outDir. Production builds output to\n * dist/bundle/. Paths that work in prod (relative to index.html in outDir) break in dev and\n * preview because the server root differs.\n *\n * - Host dev (root: project root): template uses ./shared/... which resolves to /shared/...\n * but files are at dist/bundle/shared/. Rewrites to /dist/bundle/shared/... so Vite serves them.\n *\n * - MFE dev (root: project root): Loader reads entrypoints.json and requests assets at\n * production output paths (e.g. /dist/bundle/full/index.js). Strips the outDir prefix\n * so files resolve from root.\n *\n * - Host preview (root: dist/bundle/): shared/ is inside outDir, no rewrites needed.\n *\n * - MFE preview (root: dist/bundle/full/): host requests metadata.json from the parent\n * dist/bundle/ and sibling bundle assets (light/, headless/). Serves the entire destination\n * directory as static files.\n */\nexport function devServerRoutingPlugin(context: BuildContext): Plugin {\n const { isWebComponent, destination } = context.package;\n let outDir = '';\n\n const sharedDepsDirname = getBundleType({\n ...context,\n build: { ...context.build, emitExposedDependencies: true },\n });\n\n const logRequest = (req: import('http').IncomingMessage) => {\n log.info(`[${log.timestamp}]: ${req.method} ${req.url}`);\n };\n\n return {\n name: 'st:dev-server-routing',\n\n configResolved(config) {\n outDir = config.build.outDir;\n },\n\n configureServer(server) {\n const outDirRelative = `/${normalizePath(path.relative(process.cwd(), outDir))}/`;\n\n server.middlewares.use((req, _res, next) => {\n logRequest(req);\n const url = req.url ?? '';\n if (isWebComponent) {\n if (url.startsWith(outDirRelative)) {\n req.url = url.slice(outDirRelative.length - 1);\n }\n } else if (url.startsWith(`/${sharedDepsDirname}/`)) {\n req.url = `${outDirRelative}${url.slice(1)}`;\n }\n next();\n });\n },\n\n configurePreviewServer(server) {\n server.middlewares.use((req, _res, next) => {\n logRequest(req);\n next();\n });\n\n if (!isWebComponent) {\n return;\n }\n\n const destDir = path.resolve(destination);\n const mountPath = '/' + normalizePath(path.relative(process.cwd(), destDir));\n\n const contentTypes: Record<string, string> = {\n '.js': 'application/javascript',\n '.css': 'text/css',\n '.json': 'application/json',\n };\n\n server.middlewares.use(mountPath, (req, res, next) => {\n const filePath = path.join(destDir, req.url ?? '');\n if (!filePath.startsWith(destDir + path.sep) || !fs.existsSync(filePath)) {\n return next();\n }\n const contentType = contentTypes[path.extname(filePath)];\n if (contentType) {\n res.setHeader('Content-Type', contentType);\n }\n fs.createReadStream(filePath).pipe(res);\n });\n },\n };\n}\n"],"names":["devServerRoutingPlugin","context","isWebComponent","destination","package","outDir","sharedDepsDirname","getBundleType","build","emitExposedDependencies","logRequest","req","log","info","timestamp","method","url","name","configResolved","config","configureServer","server","outDirRelative","normalizePath","path","relative","process","cwd","middlewares","use","_res","next","startsWith","slice","length","configurePreviewServer","destDir","resolve","mountPath","contentTypes","res","filePath","join","sep","fs","existsSync","contentType","extname","setHeader","createReadStream","pipe"],"mappings":";;;;+BA0BgBA;;;eAAAA;;;2DA1BD;6DACE;sBAC0B;sBACM;uBAC7B;;;;;;AAsBb,SAASA,uBAAuBC,OAAqB;IACxD,MAAM,EAAEC,cAAc,EAAEC,WAAW,EAAE,GAAGF,QAAQG,OAAO;IACvD,IAAIC,SAAS;IAEb,MAAMC,oBAAoBC,IAAAA,mBAAa,EAAC;QACpC,GAAGN,OAAO;QACVO,OAAO;YAAE,GAAGP,QAAQO,KAAK;YAAEC,yBAAyB;QAAK;IAC7D;IAEA,MAAMC,aAAa,CAACC;QAChBC,UAAG,CAACC,IAAI,CAAC,CAAC,CAAC,EAAED,UAAG,CAACE,SAAS,CAAC,GAAG,EAAEH,IAAII,MAAM,CAAC,CAAC,EAAEJ,IAAIK,GAAG,EAAE;IAC3D;IAEA,OAAO;QACHC,MAAM;QAENC,gBAAeC,MAAM;YACjBd,SAASc,OAAOX,KAAK,CAACH,MAAM;QAChC;QAEAe,iBAAgBC,MAAM;YAClB,MAAMC,iBAAiB,CAAC,CAAC,EAAEC,IAAAA,mBAAa,EAACC,aAAI,CAACC,QAAQ,CAACC,QAAQC,GAAG,IAAItB,SAAS,CAAC,CAAC;YAEjFgB,OAAOO,WAAW,CAACC,GAAG,CAAC,CAAClB,KAAKmB,MAAMC;oBAEnBpB;gBADZD,WAAWC;gBACX,MAAMK,OAAML,WAAAA,IAAIK,GAAG,cAAPL,sBAAAA,WAAW;gBACvB,IAAIT,gBAAgB;oBAChB,IAAIc,IAAIgB,UAAU,CAACV,iBAAiB;wBAChCX,IAAIK,GAAG,GAAGA,IAAIiB,KAAK,CAACX,eAAeY,MAAM,GAAG;oBAChD;gBACJ,OAAO,IAAIlB,IAAIgB,UAAU,CAAC,CAAC,CAAC,EAAE1B,kBAAkB,CAAC,CAAC,GAAG;oBACjDK,IAAIK,GAAG,GAAG,GAAGM,iBAAiBN,IAAIiB,KAAK,CAAC,IAAI;gBAChD;gBACAF;YACJ;QACJ;QAEAI,wBAAuBd,MAAM;YACzBA,OAAOO,WAAW,CAACC,GAAG,CAAC,CAAClB,KAAKmB,MAAMC;gBAC/BrB,WAAWC;gBACXoB;YACJ;YAEA,IAAI,CAAC7B,gBAAgB;gBACjB;YACJ;YAEA,MAAMkC,UAAUZ,aAAI,CAACa,OAAO,CAAClC;YAC7B,MAAMmC,YAAY,MAAMf,IAAAA,mBAAa,EAACC,aAAI,CAACC,QAAQ,CAACC,QAAQC,GAAG,IAAIS;YAEnE,MAAMG,eAAuC;gBACzC,OAAO;gBACP,QAAQ;gBACR,SAAS;YACb;YAEAlB,OAAOO,WAAW,CAACC,GAAG,CAACS,WAAW,CAAC3B,KAAK6B,KAAKT;oBACLpB;gBAApC,MAAM8B,WAAWjB,aAAI,CAACkB,IAAI,CAACN,UAASzB,WAAAA,IAAIK,GAAG,cAAPL,sBAAAA,WAAW;gBAC/C,IAAI,CAAC8B,SAAST,UAAU,CAACI,UAAUZ,aAAI,CAACmB,GAAG,KAAK,CAACC,WAAE,CAACC,UAAU,CAACJ,WAAW;oBACtE,OAAOV;gBACX;gBACA,MAAMe,cAAcP,YAAY,CAACf,aAAI,CAACuB,OAAO,CAACN,UAAU;gBACxD,IAAIK,aAAa;oBACbN,IAAIQ,SAAS,CAAC,gBAAgBF;gBAClC;gBACAF,WAAE,CAACK,gBAAgB,CAACR,UAAUS,IAAI,CAACV;YACvC;QACJ;IACJ;AACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"externals-plugin.d.ts","sourceRoot":"","sources":["../../../src/vite/plugins/externals-plugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,EAAE,YAAY,EAAgB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"externals-plugin.d.ts","sourceRoot":"","sources":["../../../src/vite/plugins/externals-plugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,EAAE,YAAY,EAAgB,MAAM,YAAY,CAAC;AAoCxD,wBAAgB,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAkDzE"}
|
|
@@ -16,6 +16,7 @@ function _interop_require_default(obj) {
|
|
|
16
16
|
default: obj
|
|
17
17
|
};
|
|
18
18
|
}
|
|
19
|
+
/* Dots are the only valid regex-special character in package names */ const buildEscapedRegExp = (dependency)=>new RegExp(`^${dependency.replace(/\./g, '\\.')}$`);
|
|
19
20
|
function externalsPlugin(context) {
|
|
20
21
|
const entries = (0, _core.getExternals)(context);
|
|
21
22
|
if (!entries) {
|
|
@@ -36,12 +37,12 @@ function externalsPlugin(context) {
|
|
|
36
37
|
const proxyNodeModules = _path.default.join(proxyModulesDir, 'node_modules');
|
|
37
38
|
const { isProduction } = context.build;
|
|
38
39
|
return {
|
|
39
|
-
name: 'externals',
|
|
40
|
+
name: 'st:externals',
|
|
40
41
|
enforce: 'pre',
|
|
41
42
|
config: isProduction ? undefined : ()=>({
|
|
42
43
|
resolve: {
|
|
43
44
|
alias: Object.keys(entries).map((dep)=>({
|
|
44
|
-
find:
|
|
45
|
+
find: buildEscapedRegExp(dep),
|
|
45
46
|
replacement: _path.default.join(proxyNodeModules, dep)
|
|
46
47
|
}))
|
|
47
48
|
},
|
|
@@ -49,9 +50,14 @@ function externalsPlugin(context) {
|
|
|
49
50
|
include: Object.keys(entries)
|
|
50
51
|
}
|
|
51
52
|
}),
|
|
52
|
-
resolveId: isProduction ?
|
|
53
|
-
|
|
54
|
-
|
|
53
|
+
resolveId: isProduction ? {
|
|
54
|
+
filter: {
|
|
55
|
+
id: Object.keys(entries).map(buildEscapedRegExp)
|
|
56
|
+
},
|
|
57
|
+
handler (source) {
|
|
58
|
+
if (source in entries) {
|
|
59
|
+
return _path.default.join(proxyNodeModules, source, 'index.cjs');
|
|
60
|
+
}
|
|
55
61
|
}
|
|
56
62
|
} : undefined
|
|
57
63
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/vite/plugins/externals-plugin.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport type { Plugin } from 'vite';\nimport { BuildContext, getExternals } from '../../core';\n\n/*\n * Externalizes shared dependencies by redirecting imports to CJS proxy modules\n * that read from the host's global shared deps registry at runtime.\n *\n * Each shared dep gets a fake package on disk (node_modules/.startup/externals/)\n * with `module.exports = SharedDependencies.Foo['scope']`.\n *\n * Three mechanisms work together, each handling a different mode:\n *\n * - resolve.alias (dev) — exact-match regex redirects `react` to the proxy package.\n * Subpath imports (react/jsx-runtime) are NOT matched and resolve normally.\n *\n * - optimizeDeps.include (dev) — forces Vite to pre-bundle the proxy packages.\n * This triggers Vite's CJS-to-ESM interop: the pre-bundled output has `export default`,\n * and Vite's import-analysis plugin rewrites consumers' named imports to property access\n * on the default export (e.g. `import { useState } from 'react'` becomes\n * `const useState = __default[\"useState\"]`). Without optimizeDeps, the raw CJS proxy\n * would be served to the browser and fail on named imports.\n *\n * - resolveId (prod) — resolve.alias doesn't run during Rolldown bundling, so resolveId\n * with enforce:'pre' intercepts shared dep imports before Vite's default resolver.\n * Rolldown handles CJS-to-ESM interop natively via __commonJSMin/__toESM helpers.\n * Only exact matches — subpath imports must NOT be redirected because they export\n * different things than the barrel.\n *\n * The disk-based proxy + optimizeDeps complexity exists because Vite's dev server serves\n * modules as native ESM without bundling — CJS virtual modules can't be served to the browser.\n * When Vite's \"full bundle\" dev mode ships (Rolldown bundles in dev, like prod), this can be\n * simplified to a single resolveId + load with a virtual CJS module for both modes (see 9ffd1815).\n */\nexport function externalsPlugin(context: BuildContext): Plugin | undefined {\n const entries = getExternals(context);\n if (!entries) {\n return;\n }\n\n const proxyModulesDir = path.resolve('node_modules', '.startup', 'externals');\n for (const [dep, proxy] of Object.entries(entries)) {\n const pkgDir = path.join(proxyModulesDir, 'node_modules', dep);\n fs.mkdirSync(pkgDir, { recursive: true });\n fs.writeFileSync(path.join(pkgDir, 'index.cjs'), `module.exports = ${proxy};`);\n fs.writeFileSync(\n path.join(pkgDir, 'package.json'),\n JSON.stringify({ name: dep, main: './index.cjs' })\n );\n }\n\n const proxyNodeModules = path.join(proxyModulesDir, 'node_modules');\n\n const { isProduction } = context.build;\n\n return {\n name: 'externals',\n enforce: 'pre',\n config: isProduction\n ? undefined\n : () => ({\n resolve: {\n alias: Object.keys(entries).map(dep => ({\n find:
|
|
1
|
+
{"version":3,"sources":["../../../src/vite/plugins/externals-plugin.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport type { Plugin } from 'vite';\nimport { BuildContext, getExternals } from '../../core';\n\n/* Dots are the only valid regex-special character in package names */\nconst buildEscapedRegExp = (dependency: string) =>\n new RegExp(`^${dependency.replace(/\\./g, '\\\\.')}$`);\n\n/*\n * Externalizes shared dependencies by redirecting imports to CJS proxy modules\n * that read from the host's global shared deps registry at runtime.\n *\n * Each shared dep gets a fake package on disk (node_modules/.startup/externals/)\n * with `module.exports = SharedDependencies.Foo['scope']`.\n *\n * Three mechanisms work together, each handling a different mode:\n *\n * - resolve.alias (dev) — exact-match regex redirects `react` to the proxy package.\n * Subpath imports (react/jsx-runtime) are NOT matched and resolve normally.\n *\n * - optimizeDeps.include (dev) — forces Vite to pre-bundle the proxy packages.\n * This triggers Vite's CJS-to-ESM interop: the pre-bundled output has `export default`,\n * and Vite's import-analysis plugin rewrites consumers' named imports to property access\n * on the default export (e.g. `import { useState } from 'react'` becomes\n * `const useState = __default[\"useState\"]`). Without optimizeDeps, the raw CJS proxy\n * would be served to the browser and fail on named imports.\n *\n * - resolveId (prod) — resolve.alias doesn't run during Rolldown bundling, so resolveId\n * with enforce:'pre' intercepts shared dep imports before Vite's default resolver.\n * Rolldown handles CJS-to-ESM interop natively via __commonJSMin/__toESM helpers.\n * Only exact matches — subpath imports must NOT be redirected because they export\n * different things than the barrel.\n *\n * The disk-based proxy + optimizeDeps complexity exists because Vite's dev server serves\n * modules as native ESM without bundling — CJS virtual modules can't be served to the browser.\n * When Vite's \"full bundle\" dev mode ships (Rolldown bundles in dev, like prod), this can be\n * simplified to a single resolveId + load with a virtual CJS module for both modes (see 9ffd1815).\n */\nexport function externalsPlugin(context: BuildContext): Plugin | undefined {\n const entries = getExternals(context);\n if (!entries) {\n return;\n }\n\n const proxyModulesDir = path.resolve('node_modules', '.startup', 'externals');\n for (const [dep, proxy] of Object.entries(entries)) {\n const pkgDir = path.join(proxyModulesDir, 'node_modules', dep);\n fs.mkdirSync(pkgDir, { recursive: true });\n fs.writeFileSync(path.join(pkgDir, 'index.cjs'), `module.exports = ${proxy};`);\n fs.writeFileSync(\n path.join(pkgDir, 'package.json'),\n JSON.stringify({ name: dep, main: './index.cjs' })\n );\n }\n\n const proxyNodeModules = path.join(proxyModulesDir, 'node_modules');\n\n const { isProduction } = context.build;\n\n return {\n name: 'st:externals',\n enforce: 'pre',\n config: isProduction\n ? undefined\n : () => ({\n resolve: {\n alias: Object.keys(entries).map(dep => ({\n find: buildEscapedRegExp(dep),\n replacement: path.join(proxyNodeModules, dep),\n })),\n },\n optimizeDeps: {\n include: Object.keys(entries),\n },\n }),\n resolveId: isProduction\n ? {\n filter: {\n id: Object.keys(entries).map(buildEscapedRegExp),\n },\n handler(source: string) {\n if (source in entries) {\n return path.join(proxyNodeModules, source, 'index.cjs');\n }\n },\n }\n : undefined,\n };\n}\n"],"names":["externalsPlugin","buildEscapedRegExp","dependency","RegExp","replace","context","entries","getExternals","proxyModulesDir","path","resolve","dep","proxy","Object","pkgDir","join","fs","mkdirSync","recursive","writeFileSync","JSON","stringify","name","main","proxyNodeModules","isProduction","build","enforce","config","undefined","alias","keys","map","find","replacement","optimizeDeps","include","resolveId","filter","id","handler","source"],"mappings":";;;;+BAuCgBA;;;eAAAA;;;2DAvCD;6DACE;sBAE0B;;;;;;AAE3C,oEAAoE,GACpE,MAAMC,qBAAqB,CAACC,aACxB,IAAIC,OAAO,CAAC,CAAC,EAAED,WAAWE,OAAO,CAAC,OAAO,OAAO,CAAC,CAAC;AAgC/C,SAASJ,gBAAgBK,OAAqB;IACjD,MAAMC,UAAUC,IAAAA,kBAAY,EAACF;IAC7B,IAAI,CAACC,SAAS;QACV;IACJ;IAEA,MAAME,kBAAkBC,aAAI,CAACC,OAAO,CAAC,gBAAgB,YAAY;IACjE,KAAK,MAAM,CAACC,KAAKC,MAAM,IAAIC,OAAOP,OAAO,CAACA,SAAU;QAChD,MAAMQ,SAASL,aAAI,CAACM,IAAI,CAACP,iBAAiB,gBAAgBG;QAC1DK,WAAE,CAACC,SAAS,CAACH,QAAQ;YAAEI,WAAW;QAAK;QACvCF,WAAE,CAACG,aAAa,CAACV,aAAI,CAACM,IAAI,CAACD,QAAQ,cAAc,CAAC,iBAAiB,EAAEF,MAAM,CAAC,CAAC;QAC7EI,WAAE,CAACG,aAAa,CACZV,aAAI,CAACM,IAAI,CAACD,QAAQ,iBAClBM,KAAKC,SAAS,CAAC;YAAEC,MAAMX;YAAKY,MAAM;QAAc;IAExD;IAEA,MAAMC,mBAAmBf,aAAI,CAACM,IAAI,CAACP,iBAAiB;IAEpD,MAAM,EAAEiB,YAAY,EAAE,GAAGpB,QAAQqB,KAAK;IAEtC,OAAO;QACHJ,MAAM;QACNK,SAAS;QACTC,QAAQH,eACFI,YACA,IAAO,CAAA;gBACHnB,SAAS;oBACLoB,OAAOjB,OAAOkB,IAAI,CAACzB,SAAS0B,GAAG,CAACrB,CAAAA,MAAQ,CAAA;4BACpCsB,MAAMhC,mBAAmBU;4BACzBuB,aAAazB,aAAI,CAACM,IAAI,CAACS,kBAAkBb;wBAC7C,CAAA;gBACJ;gBACAwB,cAAc;oBACVC,SAASvB,OAAOkB,IAAI,CAACzB;gBACzB;YACJ,CAAA;QACN+B,WAAWZ,eACL;YACIa,QAAQ;gBACJC,IAAI1B,OAAOkB,IAAI,CAACzB,SAAS0B,GAAG,CAAC/B;YACjC;YACAuC,SAAQC,MAAc;gBAClB,IAAIA,UAAUnC,SAAS;oBACnB,OAAOG,aAAI,CAACM,IAAI,CAACS,kBAAkBiB,QAAQ;gBAC/C;YACJ;QACJ,IACAZ;IACV;AACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"html-plugin.d.ts","sourceRoot":"","sources":["../../../src/vite/plugins/html-plugin.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C,wBAAgB,UAAU,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"html-plugin.d.ts","sourceRoot":"","sources":["../../../src/vite/plugins/html-plugin.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C,wBAAgB,UAAU,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAsF5D"}
|
|
@@ -19,7 +19,7 @@ function _interop_require_default(obj) {
|
|
|
19
19
|
}
|
|
20
20
|
function htmlPlugin(context) {
|
|
21
21
|
const { name, isProduction } = context.build;
|
|
22
|
-
const { isWebComponent } = context.package;
|
|
22
|
+
const { isWebComponent, destination } = context.package;
|
|
23
23
|
const { css, js } = (0, _core.getSharedEntryPoints)(context);
|
|
24
24
|
const { pluginOverrides } = context.bundlerConfig;
|
|
25
25
|
const htmlTemplatePath = resolveTemplatePath(context);
|
|
@@ -37,7 +37,8 @@ function htmlPlugin(context) {
|
|
|
37
37
|
js,
|
|
38
38
|
isProduction,
|
|
39
39
|
isWebComponent,
|
|
40
|
-
name
|
|
40
|
+
name,
|
|
41
|
+
tsOutDir: destination
|
|
41
42
|
});
|
|
42
43
|
}
|
|
43
44
|
/*
|
|
@@ -51,7 +52,7 @@ function htmlPlugin(context) {
|
|
|
51
52
|
*/ const INDEX_HTML = 'index.html';
|
|
52
53
|
const VIRTUAL_HTML_PATH = _path.default.resolve(INDEX_HTML);
|
|
53
54
|
return {
|
|
54
|
-
name: 'html',
|
|
55
|
+
name: 'st:html',
|
|
55
56
|
/*
|
|
56
57
|
* Auto-detect favicon.ico in vite's publicDir so projects following
|
|
57
58
|
* the convention get a working favicon link without explicit config.
|
|
@@ -72,6 +73,7 @@ function htmlPlugin(context) {
|
|
|
72
73
|
}
|
|
73
74
|
let html = renderHtml();
|
|
74
75
|
html = await server.transformIndexHtml(req.url, html);
|
|
76
|
+
res.setHeader('Content-Type', 'text/html');
|
|
75
77
|
res.end(html);
|
|
76
78
|
});
|
|
77
79
|
};
|