@servicetitan/startup 36.4.0 → 37.0.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/analyze.js +3 -0
- package/dist/cli/commands/build.d.ts.map +1 -1
- package/dist/cli/commands/build.js +4 -5
- package/dist/cli/commands/build.js.map +1 -1
- package/dist/cli/commands/bundle-vite.d.ts.map +1 -1
- package/dist/cli/commands/bundle-vite.js +18 -1
- package/dist/cli/commands/bundle-vite.js.map +1 -1
- package/dist/cli/commands/registry/build.d.ts +6 -0
- package/dist/cli/commands/registry/build.d.ts.map +1 -1
- package/dist/cli/commands/registry/build.js +10 -1
- package/dist/cli/commands/registry/build.js.map +1 -1
- package/dist/cli/commands/registry/command-registry.d.ts +12 -28
- package/dist/cli/commands/registry/command-registry.d.ts.map +1 -1
- package/dist/cli/commands/registry/command-registry.js +0 -3
- package/dist/cli/commands/registry/command-registry.js.map +1 -1
- package/dist/cli/commands/registry/start.d.ts +6 -0
- package/dist/cli/commands/registry/start.d.ts.map +1 -1
- package/dist/cli/commands/registry/start.js +10 -1
- package/dist/cli/commands/registry/start.js.map +1 -1
- package/dist/cli/commands/review/rules/index.d.ts.map +1 -1
- package/dist/cli/commands/review/rules/index.js +2 -0
- package/dist/cli/commands/review/rules/index.js.map +1 -1
- package/dist/cli/commands/review/rules/require-compatible-typescript.d.ts +13 -0
- package/dist/cli/commands/review/rules/require-compatible-typescript.d.ts.map +1 -0
- package/dist/cli/commands/review/rules/require-compatible-typescript.js +72 -0
- package/dist/cli/commands/review/rules/require-compatible-typescript.js.map +1 -0
- package/dist/cli/commands/start.d.ts.map +1 -1
- package/dist/cli/commands/start.js +3 -4
- package/dist/cli/commands/start.js.map +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/utils/get-bundle-command.d.ts +3 -0
- package/dist/cli/utils/get-bundle-command.d.ts.map +1 -0
- package/dist/cli/utils/get-bundle-command.js +16 -0
- package/dist/cli/utils/get-bundle-command.js.map +1 -0
- package/dist/cli/utils/get-exit-code.d.ts +12 -0
- package/dist/cli/utils/get-exit-code.d.ts.map +1 -0
- package/dist/cli/utils/get-exit-code.js +26 -0
- package/dist/cli/utils/get-exit-code.js.map +1 -0
- package/dist/cli/utils/index.d.ts +3 -0
- package/dist/cli/utils/index.d.ts.map +1 -1
- package/dist/cli/utils/index.js +3 -0
- package/dist/cli/utils/index.js.map +1 -1
- package/dist/cli/utils/resolve-bundler.d.ts +8 -0
- package/dist/cli/utils/resolve-bundler.d.ts.map +1 -0
- package/dist/cli/utils/resolve-bundler.js +24 -0
- package/dist/cli/utils/resolve-bundler.js.map +1 -0
- package/dist/core/bundle-report.d.ts +4 -0
- package/dist/core/bundle-report.d.ts.map +1 -0
- package/dist/core/bundle-report.js +43 -0
- package/dist/core/bundle-report.js.map +1 -0
- package/dist/core/check-resource/check-resource.d.ts +2 -2
- package/dist/core/check-resource/check-resource.d.ts.map +1 -1
- package/dist/core/check-resource/check-resource.js +20 -13
- package/dist/core/check-resource/check-resource.js.map +1 -1
- package/dist/core/check-resource/get-peer-dependency-meta.d.ts +11 -1
- package/dist/core/check-resource/get-peer-dependency-meta.d.ts.map +1 -1
- package/dist/core/check-resource/get-peer-dependency-meta.js +58 -2
- package/dist/core/check-resource/get-peer-dependency-meta.js.map +1 -1
- package/dist/core/check-resource/index.d.ts +1 -1
- package/dist/core/check-resource/index.d.ts.map +1 -1
- package/dist/core/check-resource/index.js.map +1 -1
- package/dist/core/check-resource/is-resolvable.d.ts +7 -0
- package/dist/core/check-resource/is-resolvable.d.ts.map +1 -0
- package/dist/core/check-resource/is-resolvable.js +31 -0
- package/dist/core/check-resource/is-resolvable.js.map +1 -0
- package/dist/core/check-resource/types.d.ts +1 -0
- package/dist/core/check-resource/types.d.ts.map +1 -1
- package/dist/core/chunk-patterns.d.ts +7 -0
- package/dist/core/chunk-patterns.d.ts.map +1 -0
- package/dist/core/chunk-patterns.js +37 -0
- package/dist/core/chunk-patterns.js.map +1 -0
- package/dist/core/create-build-context.d.ts +0 -1
- package/dist/core/create-build-context.d.ts.map +1 -1
- package/dist/core/create-build-context.js +2 -2
- package/dist/core/create-build-context.js.map +1 -1
- package/dist/core/create-extension-regexp.d.ts +5 -0
- package/dist/core/create-extension-regexp.d.ts.map +1 -0
- package/dist/core/create-extension-regexp.js +45 -0
- package/dist/core/create-extension-regexp.js.map +1 -0
- package/dist/core/get-process-env.d.ts +3 -0
- package/dist/core/get-process-env.d.ts.map +1 -0
- package/dist/core/get-process-env.js +25 -0
- package/dist/core/get-process-env.js.map +1 -0
- package/dist/core/index.d.ts +8 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +8 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/moment-locales.d.ts +2 -0
- package/dist/core/moment-locales.d.ts.map +1 -0
- package/dist/core/moment-locales.js +21 -0
- package/dist/core/moment-locales.js.map +1 -0
- package/dist/core/resolve-output-path.d.ts +3 -0
- package/dist/core/resolve-output-path.d.ts.map +1 -0
- package/dist/core/resolve-output-path.js +25 -0
- package/dist/core/resolve-output-path.js.map +1 -0
- package/dist/core/resolve-output-root.d.ts +3 -0
- package/dist/core/resolve-output-root.d.ts.map +1 -0
- package/dist/core/resolve-output-root.js +23 -0
- package/dist/core/resolve-output-root.js.map +1 -0
- package/dist/core/sort-shared-css.d.ts +2 -0
- package/dist/core/sort-shared-css.d.ts.map +1 -0
- package/dist/core/sort-shared-css.js +20 -0
- package/dist/core/sort-shared-css.js.map +1 -0
- package/dist/core/types.d.ts +1 -1
- package/dist/core/types.d.ts.map +1 -1
- package/dist/cypress/config/index.d.ts +1 -0
- package/dist/cypress/config/index.d.ts.map +1 -1
- package/dist/cypress/config/index.js +1 -0
- package/dist/cypress/config/index.js.map +1 -1
- package/dist/cypress/config/vite-config.d.ts +3 -0
- package/dist/cypress/config/vite-config.d.ts.map +1 -0
- package/dist/cypress/config/vite-config.js +58 -0
- package/dist/cypress/config/vite-config.js.map +1 -0
- package/dist/storybook-config/index.d.ts +1 -0
- package/dist/storybook-config/index.d.ts.map +1 -1
- package/dist/storybook-config/index.js +1 -0
- package/dist/storybook-config/index.js.map +1 -1
- package/dist/storybook-config/vite-final.d.ts +7 -0
- package/dist/storybook-config/vite-final.d.ts.map +1 -0
- package/dist/storybook-config/vite-final.js +86 -0
- package/dist/storybook-config/vite-final.js.map +1 -0
- package/dist/utils/get-configuration.d.ts +15 -10
- package/dist/utils/get-configuration.d.ts.map +1 -1
- package/dist/utils/get-configuration.js +32 -2
- package/dist/utils/get-configuration.js.map +1 -1
- package/dist/utils/get-package-name.d.ts +2 -1
- package/dist/utils/get-package-name.d.ts.map +1 -1
- package/dist/utils/get-package-name.js +4 -2
- package/dist/utils/get-package-name.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.map +1 -1
- package/dist/utils/types.d.ts +2 -0
- package/dist/utils/types.d.ts.map +1 -0
- package/dist/utils/types.js +6 -0
- package/dist/utils/types.js.map +1 -0
- package/dist/utils/validate-shared-dependencies.d.ts.map +1 -1
- package/dist/utils/validate-shared-dependencies.js +4 -0
- package/dist/utils/validate-shared-dependencies.js.map +1 -1
- package/dist/vite/build-shared-dependencies.d.ts.map +1 -1
- package/dist/vite/build-shared-dependencies.js +1 -2
- package/dist/vite/build-shared-dependencies.js.map +1 -1
- package/dist/vite/config/asset-file-names.d.ts +4 -0
- package/dist/vite/config/asset-file-names.d.ts.map +1 -0
- package/dist/vite/config/asset-file-names.js +29 -0
- package/dist/vite/config/asset-file-names.js.map +1 -0
- package/dist/vite/config/base-config.d.ts.map +1 -1
- package/dist/vite/config/base-config.js +67 -40
- package/dist/vite/config/base-config.js.map +1 -1
- package/dist/vite/config/code-splitting.d.ts +4 -0
- package/dist/vite/config/code-splitting.d.ts.map +1 -0
- package/dist/vite/config/code-splitting.js +48 -0
- package/dist/vite/config/code-splitting.js.map +1 -0
- package/dist/vite/config/create-css-config.d.ts +3 -0
- package/dist/vite/config/create-css-config.d.ts.map +1 -0
- package/dist/vite/config/create-css-config.js +26 -0
- package/dist/vite/config/create-css-config.js.map +1 -0
- package/dist/vite/config/create-filtering-logger.d.ts +3 -0
- package/dist/vite/config/create-filtering-logger.d.ts.map +1 -0
- package/dist/vite/config/create-filtering-logger.js +37 -0
- package/dist/vite/config/create-filtering-logger.js.map +1 -0
- package/dist/vite/config/create-vite-build-context.d.ts +2 -1
- package/dist/vite/config/create-vite-build-context.d.ts.map +1 -1
- package/dist/vite/config/create-vite-build-context.js.map +1 -1
- package/dist/vite/config/create-vite-config.d.ts.map +1 -1
- package/dist/vite/config/create-vite-config.js +30 -13
- package/dist/vite/config/create-vite-config.js.map +1 -1
- package/dist/vite/config/get-warmup-client-files.d.ts +3 -0
- package/dist/vite/config/get-warmup-client-files.d.ts.map +1 -0
- package/dist/vite/config/get-warmup-client-files.js +26 -0
- package/dist/vite/config/get-warmup-client-files.js.map +1 -0
- package/dist/vite/index.html +1 -0
- package/dist/vite/plugins/bundle-stat-plugin.d.ts +4 -0
- package/dist/vite/plugins/bundle-stat-plugin.d.ts.map +1 -0
- package/dist/vite/plugins/bundle-stat-plugin.js +32 -0
- package/dist/vite/plugins/bundle-stat-plugin.js.map +1 -0
- package/dist/vite/plugins/chain-source-maps-plugin.d.ts +3 -0
- package/dist/vite/plugins/chain-source-maps-plugin.d.ts.map +1 -0
- package/dist/vite/plugins/chain-source-maps-plugin.js +37 -0
- package/dist/vite/plugins/chain-source-maps-plugin.js.map +1 -0
- package/dist/vite/plugins/clean-plugin.d.ts +4 -0
- package/dist/vite/plugins/clean-plugin.d.ts.map +1 -0
- package/dist/vite/plugins/clean-plugin.js +63 -0
- package/dist/vite/plugins/clean-plugin.js.map +1 -0
- package/dist/vite/plugins/design-system-guard-plugin.d.ts +4 -0
- package/dist/vite/plugins/design-system-guard-plugin.d.ts.map +1 -0
- package/dist/vite/plugins/design-system-guard-plugin.js +35 -0
- package/dist/vite/plugins/design-system-guard-plugin.js.map +1 -0
- package/dist/vite/plugins/ignore-modules-plugin.d.ts +17 -1
- package/dist/vite/plugins/ignore-modules-plugin.d.ts.map +1 -1
- package/dist/vite/plugins/ignore-modules-plugin.js +22 -8
- package/dist/vite/plugins/ignore-modules-plugin.js.map +1 -1
- package/dist/vite/plugins/index.d.ts +7 -0
- package/dist/vite/plugins/index.d.ts.map +1 -1
- package/dist/vite/plugins/index.js +7 -0
- package/dist/vite/plugins/index.js.map +1 -1
- package/dist/vite/plugins/istanbul-plugin.d.ts +4 -0
- package/dist/vite/plugins/istanbul-plugin.d.ts.map +1 -0
- package/dist/vite/plugins/istanbul-plugin.js +27 -0
- package/dist/vite/plugins/istanbul-plugin.js.map +1 -0
- package/dist/vite/plugins/magic-comments-plugin/index.d.ts +2 -0
- package/dist/vite/plugins/magic-comments-plugin/index.d.ts.map +1 -0
- package/dist/vite/plugins/magic-comments-plugin/index.js +20 -0
- package/dist/vite/plugins/magic-comments-plugin/index.js.map +1 -0
- package/dist/vite/plugins/magic-comments-plugin/magic-comments-plugin.d.ts +4 -0
- package/dist/vite/plugins/magic-comments-plugin/magic-comments-plugin.d.ts.map +1 -0
- package/dist/vite/plugins/magic-comments-plugin/magic-comments-plugin.js +63 -0
- package/dist/vite/plugins/magic-comments-plugin/magic-comments-plugin.js.map +1 -0
- package/dist/vite/plugins/magic-comments-plugin/parse-magic-comments.d.ts +6 -0
- package/dist/vite/plugins/magic-comments-plugin/parse-magic-comments.d.ts.map +1 -0
- package/dist/vite/plugins/magic-comments-plugin/parse-magic-comments.js +40 -0
- package/dist/vite/plugins/magic-comments-plugin/parse-magic-comments.js.map +1 -0
- package/dist/vite/plugins/metadata-plugin.js +2 -2
- package/dist/vite/plugins/metadata-plugin.js.map +1 -1
- package/dist/vite/plugins/moment-locales-plugin.d.ts +5 -0
- package/dist/vite/plugins/moment-locales-plugin.d.ts.map +1 -0
- package/dist/vite/plugins/moment-locales-plugin.js +50 -0
- package/dist/vite/plugins/moment-locales-plugin.js.map +1 -0
- package/dist/vite/plugins/shared-dependencies-plugin/assemble-iife.d.ts +14 -0
- package/dist/vite/plugins/shared-dependencies-plugin/assemble-iife.d.ts.map +1 -0
- package/dist/vite/plugins/shared-dependencies-plugin/assemble-iife.js +100 -0
- package/dist/vite/plugins/shared-dependencies-plugin/assemble-iife.js.map +1 -0
- package/dist/vite/plugins/shared-dependencies-plugin/assert-no-dynamic-css.d.ts +3 -0
- package/dist/vite/plugins/shared-dependencies-plugin/assert-no-dynamic-css.d.ts.map +1 -0
- package/dist/vite/plugins/shared-dependencies-plugin/assert-no-dynamic-css.js +56 -0
- package/dist/vite/plugins/shared-dependencies-plugin/assert-no-dynamic-css.js.map +1 -0
- package/dist/vite/plugins/shared-dependencies-plugin/flatten.d.ts +2 -0
- package/dist/vite/plugins/shared-dependencies-plugin/flatten.d.ts.map +1 -0
- package/dist/vite/plugins/shared-dependencies-plugin/flatten.js +19 -0
- package/dist/vite/plugins/shared-dependencies-plugin/flatten.js.map +1 -0
- package/dist/vite/plugins/shared-dependencies-plugin/index.d.ts +2 -0
- package/dist/vite/plugins/shared-dependencies-plugin/index.d.ts.map +1 -0
- package/dist/vite/plugins/shared-dependencies-plugin/index.js +20 -0
- package/dist/vite/plugins/shared-dependencies-plugin/index.js.map +1 -0
- package/dist/vite/plugins/shared-dependencies-plugin/shared-dependencies-plugin.d.ts.map +1 -0
- package/dist/vite/plugins/{shared-dependencies-plugin.js → shared-dependencies-plugin/shared-dependencies-plugin.js} +29 -107
- package/dist/vite/plugins/shared-dependencies-plugin/shared-dependencies-plugin.js.map +1 -0
- package/dist/vite/plugins/utils/import-esm.d.ts +2 -0
- package/dist/vite/plugins/utils/import-esm.d.ts.map +1 -0
- package/dist/vite/plugins/utils/import-esm.js +22 -0
- package/dist/vite/plugins/utils/import-esm.js.map +1 -0
- package/dist/vite/plugins/utils/index.d.ts +3 -0
- package/dist/vite/plugins/utils/index.d.ts.map +1 -0
- package/dist/vite/plugins/utils/index.js +21 -0
- package/dist/vite/plugins/utils/index.js.map +1 -0
- package/dist/webpack/configs/optimization-config.d.ts.map +1 -1
- package/dist/webpack/configs/optimization-config.js +53 -24
- package/dist/webpack/configs/optimization-config.js.map +1 -1
- package/dist/webpack/configs/output-config.d.ts.map +1 -1
- package/dist/webpack/configs/output-config.js +0 -1
- package/dist/webpack/configs/output-config.js.map +1 -1
- package/dist/webpack/configs/plugins/assets-manifest-plugin.d.ts.map +1 -1
- package/dist/webpack/configs/plugins/assets-manifest-plugin.js +11 -3
- package/dist/webpack/configs/plugins/assets-manifest-plugin.js.map +1 -1
- package/dist/webpack/configs/plugins/bundle-analyser-plugin.d.ts.map +1 -1
- package/dist/webpack/configs/plugins/bundle-analyser-plugin.js +2 -21
- package/dist/webpack/configs/plugins/bundle-analyser-plugin.js.map +1 -1
- package/dist/webpack/configs/plugins/define-process-env-plugin.d.ts +5 -0
- package/dist/webpack/configs/plugins/define-process-env-plugin.d.ts.map +1 -0
- package/dist/webpack/configs/plugins/define-process-env-plugin.js +20 -0
- package/dist/webpack/configs/plugins/define-process-env-plugin.js.map +1 -0
- package/dist/webpack/configs/plugins/ignore-plugin/empty-module.d.ts +2 -0
- package/dist/webpack/configs/plugins/ignore-plugin/empty-module.d.ts.map +1 -0
- package/dist/webpack/configs/plugins/ignore-plugin/empty-module.js +11 -0
- package/dist/webpack/configs/plugins/ignore-plugin/empty-module.js.map +1 -0
- package/dist/webpack/configs/plugins/ignore-plugin/ignore-plugin.d.ts +26 -3
- package/dist/webpack/configs/plugins/ignore-plugin/ignore-plugin.d.ts.map +1 -1
- package/dist/webpack/configs/plugins/ignore-plugin/ignore-plugin.js +41 -10
- package/dist/webpack/configs/plugins/ignore-plugin/ignore-plugin.js.map +1 -1
- package/dist/webpack/configs/plugins/index.d.ts +1 -0
- package/dist/webpack/configs/plugins/index.d.ts.map +1 -1
- package/dist/webpack/configs/plugins/index.js +1 -0
- package/dist/webpack/configs/plugins/index.js.map +1 -1
- package/dist/webpack/configs/plugins/moment-locales-plugin.d.ts.map +1 -1
- package/dist/webpack/configs/plugins/moment-locales-plugin.js +2 -5
- package/dist/webpack/configs/plugins/moment-locales-plugin.js.map +1 -1
- package/dist/webpack/configs/plugins-config.d.ts.map +1 -1
- package/dist/webpack/configs/plugins-config.js +1 -0
- package/dist/webpack/configs/plugins-config.js.map +1 -1
- package/dist/webpack/configs/rules/font-rules.d.ts.map +1 -1
- package/dist/webpack/configs/rules/font-rules.js +2 -1
- package/dist/webpack/configs/rules/font-rules.js.map +1 -1
- package/dist/webpack/configs/rules/image-rules.d.ts.map +1 -1
- package/dist/webpack/configs/rules/image-rules.js +2 -1
- package/dist/webpack/configs/rules/image-rules.js.map +1 -1
- package/dist/webpack/create-webpack-config.d.ts.map +1 -1
- package/dist/webpack/create-webpack-config.js +8 -3
- package/dist/webpack/create-webpack-config.js.map +1 -1
- package/dist/webpack/create-webpack-configs.d.ts.map +1 -1
- package/dist/webpack/create-webpack-configs.js +4 -12
- package/dist/webpack/create-webpack-configs.js.map +1 -1
- package/dist/webpack/types.d.ts +1 -1
- package/dist/webpack/types.d.ts.map +1 -1
- package/dist/webpack/utils/create-webpack-build-context.d.ts.map +1 -1
- package/dist/webpack/utils/create-webpack-build-context.js +1 -2
- package/dist/webpack/utils/create-webpack-build-context.js.map +1 -1
- package/package.json +22 -18
- package/src/cli/commands/__tests__/build.test.ts +33 -5
- package/src/cli/commands/__tests__/bundle-vite.test.ts +50 -1
- package/src/cli/commands/__tests__/start.test.ts +17 -4
- package/src/cli/commands/build.ts +5 -6
- package/src/cli/commands/bundle-vite.ts +13 -0
- package/src/cli/commands/registry/build.ts +6 -1
- package/src/cli/commands/registry/command-registry.ts +0 -1
- package/src/cli/commands/registry/start.ts +6 -1
- package/src/cli/commands/review/rules/__tests__/require-compatible-typescript.test.ts +127 -0
- package/src/cli/commands/review/rules/index.ts +2 -0
- package/src/cli/commands/review/rules/require-compatible-typescript.ts +64 -0
- package/src/cli/commands/start.ts +4 -4
- package/src/cli/index.ts +2 -2
- package/src/cli/utils/__tests__/get-bundle-command.test.ts +23 -0
- package/src/cli/utils/__tests__/get-exit-code.test.ts +41 -0
- package/src/cli/utils/__tests__/resolve-bundler.test.ts +64 -0
- package/src/cli/utils/get-bundle-command.ts +5 -0
- package/src/cli/utils/get-exit-code.ts +17 -0
- package/src/cli/utils/index.ts +3 -0
- package/src/cli/utils/resolve-bundler.ts +23 -0
- package/src/core/__tests__/bundle-report.test.ts +60 -0
- package/src/core/__tests__/create-extension-regexp.test.ts +32 -0
- package/src/core/__tests__/resolve-output-path.test.ts +45 -0
- package/src/core/__tests__/resolve-output-root.test.ts +37 -0
- package/src/core/__tests__/sort-shared-css.test.ts +39 -0
- package/src/core/bundle-report.ts +33 -0
- package/src/core/check-resource/__tests__/check-resource.test.ts +21 -7
- package/src/core/check-resource/__tests__/get-peer-dependency-meta.test.ts +70 -13
- package/src/core/check-resource/__tests__/is-resolvable.test.ts +20 -0
- package/src/core/check-resource/check-resource.ts +15 -14
- package/src/core/check-resource/get-peer-dependency-meta.ts +67 -4
- package/src/core/check-resource/index.ts +1 -1
- package/src/core/check-resource/is-resolvable.ts +19 -0
- package/src/core/check-resource/types.ts +2 -0
- package/src/core/chunk-patterns.ts +30 -0
- package/src/core/create-build-context.ts +2 -2
- package/src/core/create-extension-regexp.ts +7 -0
- package/src/core/get-process-env.ts +17 -0
- package/src/core/index.ts +8 -1
- package/src/core/moment-locales.ts +6 -0
- package/src/core/resolve-output-path.ts +10 -0
- package/src/core/resolve-output-root.ts +8 -0
- package/src/core/sort-shared-css.ts +7 -0
- package/src/core/types.ts +1 -1
- package/src/cypress/config/__tests__/vite-config.test.ts +72 -0
- package/src/cypress/config/index.ts +1 -0
- package/src/cypress/config/vite-config.ts +37 -0
- package/src/storybook-config/__tests__/vite-final.test.ts +122 -0
- package/src/storybook-config/index.ts +1 -0
- package/src/storybook-config/vite-final.ts +65 -0
- package/src/utils/__tests__/get-configuration.test.ts +82 -5
- package/src/utils/__tests__/get-package-name.test.ts +57 -0
- package/src/utils/__tests__/validate-shared-dependencies.test.ts +50 -35
- package/src/utils/get-configuration.ts +50 -15
- package/src/utils/get-package-name.ts +8 -2
- package/src/utils/index.ts +1 -0
- package/src/utils/types.ts +1 -0
- package/src/utils/validate-shared-dependencies.ts +15 -1
- package/src/vite/__tests__/build-shared-dependencies.test.ts +13 -26
- package/src/vite/__tests__/validate-shared-dependencies.test.ts +30 -19
- package/src/vite/build-shared-dependencies.ts +3 -7
- package/src/vite/config/__tests__/asset-file-names.test.ts +40 -0
- package/src/vite/config/__tests__/base-config.test.ts +99 -31
- package/src/vite/config/__tests__/code-splitting.test.ts +34 -0
- package/src/vite/config/__tests__/create-css-config.test.ts +58 -0
- package/src/vite/config/__tests__/create-filtering-logger.test.ts +51 -0
- package/src/vite/config/__tests__/create-vite-build-context.test.ts +5 -2
- package/src/vite/config/__tests__/create-vite-config.test.ts +91 -13
- package/src/vite/config/__tests__/get-warmup-client-files.test.ts +20 -0
- package/src/vite/config/asset-file-names.ts +20 -0
- package/src/vite/config/base-config.ts +45 -37
- package/src/vite/config/code-splitting.ts +23 -0
- package/src/vite/config/create-css-config.ts +16 -0
- package/src/vite/config/create-filtering-logger.ts +34 -0
- package/src/vite/config/create-vite-build-context.ts +3 -5
- package/src/vite/config/create-vite-config.ts +45 -12
- package/src/vite/config/get-warmup-client-files.ts +13 -0
- package/src/vite/index.html +1 -0
- package/src/vite/plugins/__tests__/bundle-stat-plugin.test.ts +70 -0
- package/src/vite/plugins/__tests__/chain-source-maps-plugin.test.ts +58 -0
- package/src/vite/plugins/__tests__/clean-plugin.test.ts +121 -0
- package/src/vite/plugins/__tests__/design-system-guard-plugin.test.ts +83 -0
- package/src/vite/plugins/__tests__/html-template.test.ts +6 -0
- package/src/vite/plugins/__tests__/ignore-modules-plugin.test.ts +29 -7
- package/src/vite/plugins/__tests__/istanbul-plugin.test.ts +62 -0
- package/src/vite/plugins/__tests__/moment-locales-plugin.test.ts +104 -0
- package/src/vite/plugins/bundle-stat-plugin.ts +24 -0
- package/src/vite/plugins/chain-source-maps-plugin.ts +26 -0
- package/src/vite/plugins/clean-plugin.ts +46 -0
- package/src/vite/plugins/design-system-guard-plugin.ts +34 -0
- package/src/vite/plugins/ignore-modules-plugin.ts +31 -5
- package/src/vite/plugins/index.ts +7 -0
- package/src/vite/plugins/istanbul-plugin.ts +19 -0
- package/src/vite/plugins/magic-comments-plugin/__tests__/magic-comments-plugin.test.ts +105 -0
- package/src/vite/plugins/magic-comments-plugin/__tests__/parse-magic-comments.test.ts +40 -0
- package/src/vite/plugins/magic-comments-plugin/index.ts +1 -0
- package/src/vite/plugins/magic-comments-plugin/magic-comments-plugin.ts +63 -0
- package/src/vite/plugins/magic-comments-plugin/parse-magic-comments.ts +39 -0
- package/src/vite/plugins/metadata-plugin.ts +1 -1
- package/src/vite/plugins/moment-locales-plugin.ts +41 -0
- package/src/vite/plugins/shared-dependencies-plugin/__tests__/assemble-iife.test.ts +29 -0
- package/src/vite/plugins/shared-dependencies-plugin/__tests__/assert-no-dynamic-css.test.ts +113 -0
- package/src/vite/plugins/shared-dependencies-plugin/__tests__/flatten.test.ts +23 -0
- package/src/vite/plugins/{__tests__ → shared-dependencies-plugin/__tests__}/shared-dependencies-plugin.test.ts +38 -4
- package/src/vite/plugins/shared-dependencies-plugin/assemble-iife.ts +114 -0
- package/src/vite/plugins/shared-dependencies-plugin/assert-no-dynamic-css.ts +58 -0
- package/src/vite/plugins/shared-dependencies-plugin/flatten.ts +8 -0
- package/src/vite/plugins/shared-dependencies-plugin/index.ts +1 -0
- package/src/vite/plugins/{shared-dependencies-plugin.ts → shared-dependencies-plugin/shared-dependencies-plugin.ts} +24 -115
- package/src/vite/plugins/utils/import-esm.ts +15 -0
- package/src/vite/plugins/utils/index.ts +2 -0
- package/src/vite/rolldown-oxc.d.ts +20 -0
- package/src/webpack/__tests__/bundle-webpack.test.ts +8 -8
- package/src/webpack/__tests__/create-webpack-config-shared-dependencies.test.ts +54 -5
- package/src/webpack/__tests__/create-webpack-config-web-component.test.ts +70 -12
- package/src/webpack/__tests__/create-webpack-config.test.ts +92 -9
- package/src/webpack/configs/optimization-config.ts +47 -25
- package/src/webpack/configs/output-config.ts +1 -2
- package/src/webpack/configs/plugins/assets-manifest-plugin.ts +16 -4
- package/src/webpack/configs/plugins/bundle-analyser-plugin.ts +3 -25
- package/src/webpack/configs/plugins/define-process-env-plugin.ts +10 -0
- package/src/webpack/configs/plugins/ignore-plugin/__tests__/ignore-plugin.test.ts +76 -24
- package/src/webpack/configs/plugins/ignore-plugin/empty-module.ts +7 -0
- package/src/webpack/configs/plugins/ignore-plugin/ignore-plugin.ts +59 -9
- package/src/webpack/configs/plugins/index.ts +1 -0
- package/src/webpack/configs/plugins/moment-locales-plugin.ts +2 -2
- package/src/webpack/configs/plugins-config.ts +2 -0
- package/src/webpack/configs/rules/font-rules.ts +2 -2
- package/src/webpack/configs/rules/image-rules.ts +2 -2
- package/src/webpack/create-webpack-config.ts +11 -4
- package/src/webpack/create-webpack-configs.ts +2 -8
- package/src/webpack/types.ts +1 -4
- package/src/webpack/utils/create-webpack-build-context.ts +1 -6
- package/tsconfig/base.json +1 -1
- package/tsconfig/types.d.ts +10 -0
- package/dist/core/get-output-path.d.ts +0 -3
- package/dist/core/get-output-path.d.ts.map +0 -1
- package/dist/core/get-output-path.js +0 -29
- package/dist/core/get-output-path.js.map +0 -1
- package/dist/vite/plugins/shared-dependencies-plugin.d.ts.map +0 -1
- package/dist/vite/plugins/shared-dependencies-plugin.js.map +0 -1
- package/src/core/__tests__/get-output-path.test.ts +0 -64
- package/src/core/get-output-path.ts +0 -15
- /package/dist/vite/plugins/{shared-dependencies-plugin.d.ts → shared-dependencies-plugin/shared-dependencies-plugin.d.ts} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chain-source-maps-plugin.d.ts","sourceRoot":"","sources":["../../../src/vite/plugins/chain-source-maps-plugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAOvC,wBAAgB,qBAAqB,IAAI,MAAM,CAgB9C"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "chainSourceMapsPlugin", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return chainSourceMapsPlugin;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
|
|
12
|
+
const _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
13
|
+
function _interop_require_default(obj) {
|
|
14
|
+
return obj && obj.__esModule ? obj : {
|
|
15
|
+
default: obj
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
function chainSourceMapsPlugin() {
|
|
19
|
+
return {
|
|
20
|
+
name: 'chain-source-maps',
|
|
21
|
+
load (id) {
|
|
22
|
+
const mapPath = `${id}.map`;
|
|
23
|
+
if (id.endsWith('.js') && _fs.default.existsSync(mapPath)) {
|
|
24
|
+
const map = JSON.parse(_fs.default.readFileSync(mapPath, 'utf8'));
|
|
25
|
+
const dir = _path.default.dirname(mapPath);
|
|
26
|
+
// Absolute paths let Rolldown resolve the sources; source maps require `/` separators.
|
|
27
|
+
map.sources = map.sources.map((source)=>_path.default.resolve(dir, source).replace(/\\/g, '/'));
|
|
28
|
+
return {
|
|
29
|
+
code: _fs.default.readFileSync(id, 'utf8'),
|
|
30
|
+
map
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
//# sourceMappingURL=chain-source-maps-plugin.js.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clean-plugin.d.ts","sourceRoot":"","sources":["../../../src/vite/plugins/clean-plugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,EAAE,YAAY,EAAiB,MAAM,YAAY,CAAC;AAOzD,wBAAgB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CAwBzD"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "cleanPlugin", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return cleanPlugin;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
|
|
12
|
+
const _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
13
|
+
const _core = require("../../core");
|
|
14
|
+
function _interop_require_default(obj) {
|
|
15
|
+
return obj && obj.__esModule ? obj : {
|
|
16
|
+
default: obj
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
function cleanPlugin(context) {
|
|
20
|
+
const { isWebComponent } = context.package;
|
|
21
|
+
let outDir = '';
|
|
22
|
+
return {
|
|
23
|
+
name: 'clean',
|
|
24
|
+
apply: 'build',
|
|
25
|
+
config: ()=>({
|
|
26
|
+
build: {
|
|
27
|
+
emptyOutDir: isWebComponent
|
|
28
|
+
}
|
|
29
|
+
}),
|
|
30
|
+
configResolved (config) {
|
|
31
|
+
outDir = config.build.outDir;
|
|
32
|
+
},
|
|
33
|
+
buildStart () {
|
|
34
|
+
if (isWebComponent || !_fs.default.existsSync(outDir)) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
const keep = getKeepDir(context);
|
|
38
|
+
for (const entry of _fs.default.readdirSync(outDir)){
|
|
39
|
+
if (entry === keep) {
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
42
|
+
_fs.default.rmSync(_path.default.join(outDir, entry), {
|
|
43
|
+
recursive: true,
|
|
44
|
+
force: true
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
/* The shared deps subdirectory to preserve, or undefined to clean everything. */ function getKeepDir(context) {
|
|
51
|
+
if (context.build.emitExposedDependencies) {
|
|
52
|
+
return undefined;
|
|
53
|
+
}
|
|
54
|
+
return (0, _core.getBundleType)({
|
|
55
|
+
...context,
|
|
56
|
+
build: {
|
|
57
|
+
...context.build,
|
|
58
|
+
emitExposedDependencies: true
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
//# sourceMappingURL=clean-plugin.js.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +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,CAqBrE"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "designSystemGuardPlugin", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return designSystemGuardPlugin;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
12
|
+
function _interop_require_default(obj) {
|
|
13
|
+
return obj && obj.__esModule ? obj : {
|
|
14
|
+
default: obj
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
const DESIGN_SYSTEM = '@servicetitan/design-system';
|
|
18
|
+
const DESIGN_SYSTEM_CSS = /[\\/]design-system\.css$/;
|
|
19
|
+
function designSystemGuardPlugin(context) {
|
|
20
|
+
const { isExposeSharedDependencies, sharedDependencies } = context.package;
|
|
21
|
+
const { emitExposedDependencies } = context.build;
|
|
22
|
+
const designSystemInSharedBundle = isExposeSharedDependencies && !!sharedDependencies[DESIGN_SYSTEM] && !emitExposedDependencies;
|
|
23
|
+
return {
|
|
24
|
+
name: 'design-system-guard',
|
|
25
|
+
enforce: 'pre',
|
|
26
|
+
resolveId (source, importer) {
|
|
27
|
+
if (designSystemInSharedBundle && importer && DESIGN_SYSTEM_CSS.test(source)) {
|
|
28
|
+
const filename = _path.default.parse(importer).name;
|
|
29
|
+
this.error(`do not import design-system.css in "${filename}"; it is automatically included as a shared dependency`);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
//# sourceMappingURL=design-system-guard-plugin.js.map
|
|
@@ -0,0 +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 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"],"names":["designSystemGuardPlugin","DESIGN_SYSTEM","DESIGN_SYSTEM_CSS","context","isExposeSharedDependencies","sharedDependencies","package","emitExposedDependencies","build","designSystemInSharedBundle","name","enforce","resolveId","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,WAAUC,MAAM,EAAEC,QAAQ;YACtB,IAAIL,8BAA8BK,YAAYZ,kBAAkBa,IAAI,CAACF,SAAS;gBAC1E,MAAMG,WAAWC,aAAI,CAACC,KAAK,CAACJ,UAAUJ,IAAI;gBAC1C,IAAI,CAACS,KAAK,CACN,CAAC,oCAAoC,EAAEH,SAAS,sDAAsD,CAAC;YAE/G;QACJ;IACJ;AACJ"}
|
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
import type { Plugin } from 'vite';
|
|
2
2
|
import { BuildContext } from '../../core';
|
|
3
|
-
export declare const
|
|
3
|
+
export declare const THROW_PREFIX = "\0IGNORE_THROW:";
|
|
4
|
+
export declare const EMPTY_PREFIX = "\0IGNORE_EMPTY:";
|
|
5
|
+
/**
|
|
6
|
+
* Handles optional peer dependencies that are not installed.
|
|
7
|
+
*
|
|
8
|
+
* @see {@link file://./../../webpack/configs/plugins/ignore-plugin/ignore-plugin.ts} for the webpack counterpart.
|
|
9
|
+
*
|
|
10
|
+
* 'throw' mode: substitutes a virtual module whose body throws "Cannot find module" on
|
|
11
|
+
* evaluation. Mirrors webpack's `webpackMissingModule()` semantics. Top-level static
|
|
12
|
+
* imports of the resource crash module evaluation, and `try { await import(...) } catch {}`
|
|
13
|
+
* (or `try { require(...) } catch {}` in CJS code Rolldown bundles) work as expected.
|
|
14
|
+
* This is the default for matched optional peers.
|
|
15
|
+
*
|
|
16
|
+
* 'empty' mode: substitutes a virtual module with no exports. Required for top-level
|
|
17
|
+
* `import * as X from 'optional'` followed by `X.foo === undefined` detection. Opt in via
|
|
18
|
+
* `cli.peerDependenciesMeta["pkg"].fallback = "empty"` in the importer's package.json.
|
|
19
|
+
*/
|
|
4
20
|
export declare function ignoreModulesPlugin(context: BuildContext): Plugin;
|
|
5
21
|
//# sourceMappingURL=ignore-modules-plugin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ignore-modules-plugin.d.ts","sourceRoot":"","sources":["../../../src/vite/plugins/ignore-modules-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,EAAE,YAAY,EAAiB,MAAM,YAAY,CAAC;AAEzD,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"ignore-modules-plugin.d.ts","sourceRoot":"","sources":["../../../src/vite/plugins/ignore-modules-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,EAAE,YAAY,EAAiB,MAAM,YAAY,CAAC;AAEzD,eAAO,MAAM,YAAY,oBAAoB,CAAC;AAC9C,eAAO,MAAM,YAAY,oBAAoB,CAAC;AAE9C;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CA6BjE"}
|
|
@@ -9,34 +9,48 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
-
get
|
|
13
|
-
return
|
|
12
|
+
get EMPTY_PREFIX () {
|
|
13
|
+
return EMPTY_PREFIX;
|
|
14
|
+
},
|
|
15
|
+
get THROW_PREFIX () {
|
|
16
|
+
return THROW_PREFIX;
|
|
14
17
|
},
|
|
15
18
|
get ignoreModulesPlugin () {
|
|
16
19
|
return ignoreModulesPlugin;
|
|
17
20
|
}
|
|
18
21
|
});
|
|
19
22
|
const _core = require("../../core");
|
|
20
|
-
const
|
|
23
|
+
const THROW_PREFIX = '\0IGNORE_THROW:';
|
|
24
|
+
const EMPTY_PREFIX = '\0IGNORE_EMPTY:';
|
|
21
25
|
function ignoreModulesPlugin(context) {
|
|
22
26
|
const checker = (0, _core.checkResource)(context);
|
|
23
27
|
return {
|
|
24
28
|
name: 'ignore-modules',
|
|
25
29
|
enforce: 'pre',
|
|
26
30
|
resolveId (source, importer) {
|
|
27
|
-
if (importer
|
|
31
|
+
if (!importer) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
const mode = checker({
|
|
28
35
|
resource: source,
|
|
29
36
|
importer
|
|
30
|
-
})
|
|
31
|
-
|
|
37
|
+
});
|
|
38
|
+
if (mode === 'throw') {
|
|
39
|
+
return `${THROW_PREFIX}${source}`;
|
|
40
|
+
}
|
|
41
|
+
if (mode === 'empty') {
|
|
42
|
+
return `${EMPTY_PREFIX}${source}`;
|
|
32
43
|
}
|
|
33
44
|
},
|
|
34
45
|
load (id) {
|
|
35
|
-
if (id.startsWith(
|
|
36
|
-
const source = id.slice(
|
|
46
|
+
if (id.startsWith(THROW_PREFIX)) {
|
|
47
|
+
const source = id.slice(THROW_PREFIX.length);
|
|
37
48
|
const message = JSON.stringify(`Cannot find module '${source}'`);
|
|
38
49
|
return `throw Object.assign(new Error(${message}), { code: 'MODULE_NOT_FOUND' });`;
|
|
39
50
|
}
|
|
51
|
+
if (id.startsWith(EMPTY_PREFIX)) {
|
|
52
|
+
return 'export {};';
|
|
53
|
+
}
|
|
40
54
|
}
|
|
41
55
|
};
|
|
42
56
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/vite/plugins/ignore-modules-plugin.ts"],"sourcesContent":["import type { Plugin } from 'vite';\nimport { BuildContext, checkResource } from '../../core';\n\nexport const
|
|
1
|
+
{"version":3,"sources":["../../../src/vite/plugins/ignore-modules-plugin.ts"],"sourcesContent":["import type { Plugin } from 'vite';\nimport { BuildContext, checkResource } from '../../core';\n\nexport const THROW_PREFIX = '\\0IGNORE_THROW:';\nexport const EMPTY_PREFIX = '\\0IGNORE_EMPTY:';\n\n/**\n * Handles optional peer dependencies that are not installed.\n *\n * @see {@link file://./../../webpack/configs/plugins/ignore-plugin/ignore-plugin.ts} for the webpack counterpart.\n *\n * 'throw' mode: substitutes a virtual module whose body throws \"Cannot find module\" on\n * evaluation. Mirrors webpack's `webpackMissingModule()` semantics. Top-level static\n * imports of the resource crash module evaluation, and `try { await import(...) } catch {}`\n * (or `try { require(...) } catch {}` in CJS code Rolldown bundles) work as expected.\n * This is the default for matched optional peers.\n *\n * 'empty' mode: substitutes a virtual module with no exports. Required for top-level\n * `import * as X from 'optional'` followed by `X.foo === undefined` detection. Opt in via\n * `cli.peerDependenciesMeta[\"pkg\"].fallback = \"empty\"` in the importer's package.json.\n */\nexport function ignoreModulesPlugin(context: BuildContext): Plugin {\n const checker = checkResource(context);\n\n return {\n name: 'ignore-modules',\n enforce: 'pre',\n resolveId(source, importer) {\n if (!importer) {\n return;\n }\n const mode = checker({ resource: source, importer });\n if (mode === 'throw') {\n return `${THROW_PREFIX}${source}`;\n }\n if (mode === 'empty') {\n return `${EMPTY_PREFIX}${source}`;\n }\n },\n load(id) {\n if (id.startsWith(THROW_PREFIX)) {\n const source = id.slice(THROW_PREFIX.length);\n const message = JSON.stringify(`Cannot find module '${source}'`);\n return `throw Object.assign(new Error(${message}), { code: 'MODULE_NOT_FOUND' });`;\n }\n if (id.startsWith(EMPTY_PREFIX)) {\n return 'export {};';\n }\n },\n };\n}\n"],"names":["EMPTY_PREFIX","THROW_PREFIX","ignoreModulesPlugin","context","checker","checkResource","name","enforce","resolveId","source","importer","mode","resource","load","id","startsWith","slice","length","message","JSON","stringify"],"mappings":";;;;;;;;;;;QAIaA;eAAAA;;QADAC;eAAAA;;QAkBGC;eAAAA;;;sBApB4B;AAErC,MAAMD,eAAe;AACrB,MAAMD,eAAe;AAiBrB,SAASE,oBAAoBC,OAAqB;IACrD,MAAMC,UAAUC,IAAAA,mBAAa,EAACF;IAE9B,OAAO;QACHG,MAAM;QACNC,SAAS;QACTC,WAAUC,MAAM,EAAEC,QAAQ;YACtB,IAAI,CAACA,UAAU;gBACX;YACJ;YACA,MAAMC,OAAOP,QAAQ;gBAAEQ,UAAUH;gBAAQC;YAAS;YAClD,IAAIC,SAAS,SAAS;gBAClB,OAAO,GAAGV,eAAeQ,QAAQ;YACrC;YACA,IAAIE,SAAS,SAAS;gBAClB,OAAO,GAAGX,eAAeS,QAAQ;YACrC;QACJ;QACAI,MAAKC,EAAE;YACH,IAAIA,GAAGC,UAAU,CAACd,eAAe;gBAC7B,MAAMQ,SAASK,GAAGE,KAAK,CAACf,aAAagB,MAAM;gBAC3C,MAAMC,UAAUC,KAAKC,SAAS,CAAC,CAAC,oBAAoB,EAAEX,OAAO,CAAC,CAAC;gBAC/D,OAAO,CAAC,8BAA8B,EAAES,QAAQ,iCAAiC,CAAC;YACtF;YACA,IAAIJ,GAAGC,UAAU,CAACf,eAAe;gBAC7B,OAAO;YACX;QACJ;IACJ;AACJ"}
|
|
@@ -1,9 +1,16 @@
|
|
|
1
|
+
export * from './bundle-stat-plugin';
|
|
2
|
+
export * from './chain-source-maps-plugin';
|
|
3
|
+
export * from './clean-plugin';
|
|
1
4
|
export * from './css-injector-plugin';
|
|
5
|
+
export * from './design-system-guard-plugin';
|
|
2
6
|
export * from './dev-server-routing-plugin';
|
|
3
7
|
export * from './externals-plugin';
|
|
4
8
|
export * from './html-plugin';
|
|
5
9
|
export * from './ignore-modules-plugin';
|
|
10
|
+
export * from './istanbul-plugin';
|
|
11
|
+
export * from './magic-comments-plugin';
|
|
6
12
|
export * from './metadata-plugin';
|
|
13
|
+
export * from './moment-locales-plugin';
|
|
7
14
|
export * from './style-urls-plugin';
|
|
8
15
|
export * from './svgr-plugin';
|
|
9
16
|
export * from './virtual-modules-plugin';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/vite/plugins/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/vite/plugins/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC"}
|
|
@@ -2,12 +2,19 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
+
_export_star(require("./bundle-stat-plugin"), exports);
|
|
6
|
+
_export_star(require("./chain-source-maps-plugin"), exports);
|
|
7
|
+
_export_star(require("./clean-plugin"), exports);
|
|
5
8
|
_export_star(require("./css-injector-plugin"), exports);
|
|
9
|
+
_export_star(require("./design-system-guard-plugin"), exports);
|
|
6
10
|
_export_star(require("./dev-server-routing-plugin"), exports);
|
|
7
11
|
_export_star(require("./externals-plugin"), exports);
|
|
8
12
|
_export_star(require("./html-plugin"), exports);
|
|
9
13
|
_export_star(require("./ignore-modules-plugin"), exports);
|
|
14
|
+
_export_star(require("./istanbul-plugin"), exports);
|
|
15
|
+
_export_star(require("./magic-comments-plugin"), exports);
|
|
10
16
|
_export_star(require("./metadata-plugin"), exports);
|
|
17
|
+
_export_star(require("./moment-locales-plugin"), exports);
|
|
11
18
|
_export_star(require("./style-urls-plugin"), exports);
|
|
12
19
|
_export_star(require("./svgr-plugin"), exports);
|
|
13
20
|
_export_star(require("./virtual-modules-plugin"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/vite/plugins/index.ts"],"sourcesContent":["export * from './css-injector-plugin';\nexport * from './dev-server-routing-plugin';\nexport * from './externals-plugin';\nexport * from './html-plugin';\nexport * from './ignore-modules-plugin';\nexport * from './metadata-plugin';\nexport * from './style-urls-plugin';\nexport * from './svgr-plugin';\nexport * from './virtual-modules-plugin';\n"],"names":[],"mappings":";;;;qBAAc;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA"}
|
|
1
|
+
{"version":3,"sources":["../../../src/vite/plugins/index.ts"],"sourcesContent":["export * from './bundle-stat-plugin';\nexport * from './chain-source-maps-plugin';\nexport * from './clean-plugin';\nexport * from './css-injector-plugin';\nexport * from './design-system-guard-plugin';\nexport * from './dev-server-routing-plugin';\nexport * from './externals-plugin';\nexport * from './html-plugin';\nexport * from './ignore-modules-plugin';\nexport * from './istanbul-plugin';\nexport * from './magic-comments-plugin';\nexport * from './metadata-plugin';\nexport * from './moment-locales-plugin';\nexport * from './style-urls-plugin';\nexport * from './svgr-plugin';\nexport * from './virtual-modules-plugin';\n"],"names":[],"mappings":";;;;qBAAc;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"istanbul-plugin.d.ts","sourceRoot":"","sources":["../../../src/vite/plugins/istanbul-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAG5C,wBAAgB,cAAc,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,SAAS,CAcrF"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "istanbulPlugin", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return istanbulPlugin;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _utils = require("./utils");
|
|
12
|
+
function istanbulPlugin(context) {
|
|
13
|
+
if (!context.options.codeCoverage) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
// vite-plugin-istanbul is ESM-only; load it natively so SWC doesn't rewrite to require.
|
|
17
|
+
return (0, _utils.importEsm)('vite-plugin-istanbul').then(({ default: istanbul })=>istanbul({
|
|
18
|
+
exclude: [
|
|
19
|
+
'**/node_modules/**',
|
|
20
|
+
'**/.yalc/**'
|
|
21
|
+
],
|
|
22
|
+
requireEnv: false,
|
|
23
|
+
forceBuildInstrument: true
|
|
24
|
+
}));
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
//# sourceMappingURL=istanbul-plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/vite/plugins/istanbul-plugin.ts"],"sourcesContent":["import type { Plugin } from 'vite';\nimport { ViteBuildContext } from '../types';\nimport { importEsm } from './utils';\n\nexport function istanbulPlugin(context: ViteBuildContext): Promise<Plugin> | undefined {\n if (!context.options.codeCoverage) {\n return;\n }\n\n // vite-plugin-istanbul is ESM-only; load it natively so SWC doesn't rewrite to require.\n return importEsm<typeof import('vite-plugin-istanbul')>('vite-plugin-istanbul').then(\n ({ default: istanbul }) =>\n istanbul({\n exclude: ['**/node_modules/**', '**/.yalc/**'],\n requireEnv: false,\n forceBuildInstrument: true,\n })\n );\n}\n"],"names":["istanbulPlugin","context","options","codeCoverage","importEsm","then","default","istanbul","exclude","requireEnv","forceBuildInstrument"],"mappings":";;;;+BAIgBA;;;eAAAA;;;uBAFU;AAEnB,SAASA,eAAeC,OAAyB;IACpD,IAAI,CAACA,QAAQC,OAAO,CAACC,YAAY,EAAE;QAC/B;IACJ;IAEA,wFAAwF;IACxF,OAAOC,IAAAA,gBAAS,EAAwC,wBAAwBC,IAAI,CAChF,CAAC,EAAEC,SAASC,QAAQ,EAAE,GAClBA,SAAS;YACLC,SAAS;gBAAC;gBAAsB;aAAc;YAC9CC,YAAY;YACZC,sBAAsB;QAC1B;AAEZ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/vite/plugins/magic-comments-plugin/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
_export_star(require("./magic-comments-plugin"), exports);
|
|
6
|
+
function _export_star(from, to) {
|
|
7
|
+
Object.keys(from).forEach(function(k) {
|
|
8
|
+
if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
|
|
9
|
+
Object.defineProperty(to, k, {
|
|
10
|
+
enumerable: true,
|
|
11
|
+
get: function() {
|
|
12
|
+
return from[k];
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
return from;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/vite/plugins/magic-comments-plugin/index.ts"],"sourcesContent":["export * from './magic-comments-plugin';\n"],"names":[],"mappings":";;;;qBAAc"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"magic-comments-plugin.d.ts","sourceRoot":"","sources":["../../../../src/vite/plugins/magic-comments-plugin/magic-comments-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAW/C,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,GAAG,SAAS,CAkDjF"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "magicCommentsPlugin", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return magicCommentsPlugin;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _parsemagiccomments = require("./parse-magic-comments");
|
|
12
|
+
/* Mirrors Vite's default chunk file naming. A magic comment only substitutes the [name] token. */ const CHUNK_FILE_NAME = 'assets/[name]-[hash].js';
|
|
13
|
+
function magicCommentsPlugin(context) {
|
|
14
|
+
if (!context.build.isProduction) {
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
const chunkNames = new Map();
|
|
18
|
+
const moduleByName = new Map();
|
|
19
|
+
return {
|
|
20
|
+
name: 'magic-comments',
|
|
21
|
+
apply: 'build',
|
|
22
|
+
enforce: 'pre',
|
|
23
|
+
config: ()=>({
|
|
24
|
+
build: {
|
|
25
|
+
rolldownOptions: {
|
|
26
|
+
output: {
|
|
27
|
+
chunkFileNames: (chunk)=>{
|
|
28
|
+
const name = chunk.facadeModuleId && chunkNames.get(chunk.facadeModuleId);
|
|
29
|
+
return name ? CHUNK_FILE_NAME.replace('[name]', name) : CHUNK_FILE_NAME;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}),
|
|
35
|
+
transform: {
|
|
36
|
+
filter: {
|
|
37
|
+
id: {
|
|
38
|
+
exclude: /node_modules/
|
|
39
|
+
},
|
|
40
|
+
code: 'webpackChunkName'
|
|
41
|
+
},
|
|
42
|
+
async handler (code, id) {
|
|
43
|
+
const comments = await (0, _parsemagiccomments.parseMagicComments)(code);
|
|
44
|
+
const resolved = await Promise.all(comments.map(({ importPath })=>this.resolve(importPath, id)));
|
|
45
|
+
comments.forEach(({ chunkName }, index)=>{
|
|
46
|
+
const module = resolved[index];
|
|
47
|
+
if (!module) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
const claimedBy = moduleByName.get(chunkName);
|
|
51
|
+
if (claimedBy && claimedBy !== module.id) {
|
|
52
|
+
this.warn(`webpackChunkName "${chunkName}" is used by multiple modules; Vite emits a separate chunk for each rather than merging them.`);
|
|
53
|
+
} else {
|
|
54
|
+
moduleByName.set(chunkName, module.id);
|
|
55
|
+
}
|
|
56
|
+
chunkNames.set(module.id, chunkName);
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
//# sourceMappingURL=magic-comments-plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/vite/plugins/magic-comments-plugin/magic-comments-plugin.ts"],"sourcesContent":["import type { Plugin } from 'vite';\nimport { ViteBuildContext } from '../../types';\nimport { parseMagicComments } from './parse-magic-comments';\n\n/* Mirrors Vite's default chunk file naming. A magic comment only substitutes the [name] token. */\nconst CHUNK_FILE_NAME = 'assets/[name]-[hash].js';\n\n/*\n * Honors `webpackChunkName` magic comments on dynamic imports. Vite splits dynamic\n * imports into separate chunks, named after the source file; this renames the chunk\n * to specified `webpackChunkName`. Warns when a name is reused by different modules.\n */\nexport function magicCommentsPlugin(context: ViteBuildContext): Plugin | undefined {\n if (!context.build.isProduction) {\n return;\n }\n\n const chunkNames = new Map<string, string>();\n const moduleByName = new Map<string, string>();\n\n return {\n name: 'magic-comments',\n apply: 'build',\n enforce: 'pre',\n config: () => ({\n build: {\n rolldownOptions: {\n output: {\n chunkFileNames: (chunk: { facadeModuleId?: string | null }) => {\n const name =\n chunk.facadeModuleId && chunkNames.get(chunk.facadeModuleId);\n return name ? CHUNK_FILE_NAME.replace('[name]', name) : CHUNK_FILE_NAME;\n },\n },\n },\n },\n }),\n transform: {\n filter: { id: { exclude: /node_modules/ }, code: 'webpackChunkName' },\n async handler(code, id) {\n const comments = await parseMagicComments(code);\n const resolved = await Promise.all(\n comments.map(({ importPath }) => this.resolve(importPath, id))\n );\n comments.forEach(({ chunkName }, index) => {\n const module = resolved[index];\n if (!module) {\n return;\n }\n const claimedBy = moduleByName.get(chunkName);\n if (claimedBy && claimedBy !== module.id) {\n this.warn(\n `webpackChunkName \"${chunkName}\" is used by multiple modules; Vite emits a separate chunk for each rather than merging them.`\n );\n } else {\n moduleByName.set(chunkName, module.id);\n }\n chunkNames.set(module.id, chunkName);\n });\n },\n },\n };\n}\n"],"names":["magicCommentsPlugin","CHUNK_FILE_NAME","context","build","isProduction","chunkNames","Map","moduleByName","name","apply","enforce","config","rolldownOptions","output","chunkFileNames","chunk","facadeModuleId","get","replace","transform","filter","id","exclude","code","handler","comments","parseMagicComments","resolved","Promise","all","map","importPath","resolve","forEach","chunkName","index","module","claimedBy","warn","set"],"mappings":";;;;+BAYgBA;;;eAAAA;;;oCAVmB;AAEnC,gGAAgG,GAChG,MAAMC,kBAAkB;AAOjB,SAASD,oBAAoBE,OAAyB;IACzD,IAAI,CAACA,QAAQC,KAAK,CAACC,YAAY,EAAE;QAC7B;IACJ;IAEA,MAAMC,aAAa,IAAIC;IACvB,MAAMC,eAAe,IAAID;IAEzB,OAAO;QACHE,MAAM;QACNC,OAAO;QACPC,SAAS;QACTC,QAAQ,IAAO,CAAA;gBACXR,OAAO;oBACHS,iBAAiB;wBACbC,QAAQ;4BACJC,gBAAgB,CAACC;gCACb,MAAMP,OACFO,MAAMC,cAAc,IAAIX,WAAWY,GAAG,CAACF,MAAMC,cAAc;gCAC/D,OAAOR,OAAOP,gBAAgBiB,OAAO,CAAC,UAAUV,QAAQP;4BAC5D;wBACJ;oBACJ;gBACJ;YACJ,CAAA;QACAkB,WAAW;YACPC,QAAQ;gBAAEC,IAAI;oBAAEC,SAAS;gBAAe;gBAAGC,MAAM;YAAmB;YACpE,MAAMC,SAAQD,IAAI,EAAEF,EAAE;gBAClB,MAAMI,WAAW,MAAMC,IAAAA,sCAAkB,EAACH;gBAC1C,MAAMI,WAAW,MAAMC,QAAQC,GAAG,CAC9BJ,SAASK,GAAG,CAAC,CAAC,EAAEC,UAAU,EAAE,GAAK,IAAI,CAACC,OAAO,CAACD,YAAYV;gBAE9DI,SAASQ,OAAO,CAAC,CAAC,EAAEC,SAAS,EAAE,EAAEC;oBAC7B,MAAMC,SAAST,QAAQ,CAACQ,MAAM;oBAC9B,IAAI,CAACC,QAAQ;wBACT;oBACJ;oBACA,MAAMC,YAAY9B,aAAaU,GAAG,CAACiB;oBACnC,IAAIG,aAAaA,cAAcD,OAAOf,EAAE,EAAE;wBACtC,IAAI,CAACiB,IAAI,CACL,CAAC,kBAAkB,EAAEJ,UAAU,6FAA6F,CAAC;oBAErI,OAAO;wBACH3B,aAAagC,GAAG,CAACL,WAAWE,OAAOf,EAAE;oBACzC;oBACAhB,WAAWkC,GAAG,CAACH,OAAOf,EAAE,EAAEa;gBAC9B;YACJ;QACJ;IACJ;AACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-magic-comments.d.ts","sourceRoot":"","sources":["../../../../src/vite/plugins/magic-comments-plugin/parse-magic-comments.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,YAAY;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACtB;AASD,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAwB9E"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "parseMagicComments", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return parseMagicComments;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _esmodulelexer = require("es-module-lexer");
|
|
12
|
+
const CHUNK_NAME_REGEXP = /webpackChunkName:\s*["']([^"']+)["']/;
|
|
13
|
+
async function parseMagicComments(code) {
|
|
14
|
+
await _esmodulelexer.init;
|
|
15
|
+
const [imports] = (0, _esmodulelexer.parse)(code);
|
|
16
|
+
const result = [];
|
|
17
|
+
for (const imp of imports){
|
|
18
|
+
/*
|
|
19
|
+
* es-module-lexer positions on `import( <comment> './foo')`:
|
|
20
|
+
* (d: openParenIndex): the `(`, or -1 when the import is static
|
|
21
|
+
* (s: importPathStart): the opening quote of './foo'
|
|
22
|
+
* (n: importPath): ./foo, or undefined when not a string literal
|
|
23
|
+
*/ const { d: openParenIndex, n: importPath, s: importPathStart } = imp;
|
|
24
|
+
if (openParenIndex < 0 || importPath === undefined) {
|
|
25
|
+
continue;
|
|
26
|
+
}
|
|
27
|
+
// commentRegion (between the `(` and the path) holds the magic comment
|
|
28
|
+
const commentRegion = code.slice(openParenIndex + 1, importPathStart);
|
|
29
|
+
const match = CHUNK_NAME_REGEXP.exec(commentRegion);
|
|
30
|
+
if (match) {
|
|
31
|
+
result.push({
|
|
32
|
+
chunkName: match[1],
|
|
33
|
+
importPath
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return result;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
//# sourceMappingURL=parse-magic-comments.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/vite/plugins/magic-comments-plugin/parse-magic-comments.ts"],"sourcesContent":["import { init, parse } from 'es-module-lexer';\n\nexport interface MagicComment {\n chunkName: string;\n importPath: string;\n}\n\nconst CHUNK_NAME_REGEXP = /webpackChunkName:\\s*[\"']([^\"']+)[\"']/;\n\n/*\n * Extracts the chunk name from `webpackChunkName` magic comments on dynamic imports,\n * such as `import( <comment> './foo')` with a `webpackChunkName: \"x\"` comment. Only\n * target imports with a static string path.\n */\nexport async function parseMagicComments(code: string): Promise<MagicComment[]> {\n await init;\n const [imports] = parse(code);\n\n const result: MagicComment[] = [];\n for (const imp of imports) {\n /*\n * es-module-lexer positions on `import( <comment> './foo')`:\n * (d: openParenIndex): the `(`, or -1 when the import is static\n * (s: importPathStart): the opening quote of './foo'\n * (n: importPath): ./foo, or undefined when not a string literal\n */\n const { d: openParenIndex, n: importPath, s: importPathStart } = imp;\n if (openParenIndex < 0 || importPath === undefined) {\n continue;\n }\n // commentRegion (between the `(` and the path) holds the magic comment\n const commentRegion = code.slice(openParenIndex + 1, importPathStart);\n const match = CHUNK_NAME_REGEXP.exec(commentRegion);\n if (match) {\n result.push({ chunkName: match[1], importPath });\n }\n }\n return result;\n}\n"],"names":["parseMagicComments","CHUNK_NAME_REGEXP","code","init","imports","parse","result","imp","d","openParenIndex","n","importPath","s","importPathStart","undefined","commentRegion","slice","match","exec","push","chunkName"],"mappings":";;;;+BAcsBA;;;eAAAA;;;+BAdM;AAO5B,MAAMC,oBAAoB;AAOnB,eAAeD,mBAAmBE,IAAY;IACjD,MAAMC,mBAAI;IACV,MAAM,CAACC,QAAQ,GAAGC,IAAAA,oBAAK,EAACH;IAExB,MAAMI,SAAyB,EAAE;IACjC,KAAK,MAAMC,OAAOH,QAAS;QACvB;;;;;SAKC,GACD,MAAM,EAAEI,GAAGC,cAAc,EAAEC,GAAGC,UAAU,EAAEC,GAAGC,eAAe,EAAE,GAAGN;QACjE,IAAIE,iBAAiB,KAAKE,eAAeG,WAAW;YAChD;QACJ;QACA,uEAAuE;QACvE,MAAMC,gBAAgBb,KAAKc,KAAK,CAACP,iBAAiB,GAAGI;QACrD,MAAMI,QAAQhB,kBAAkBiB,IAAI,CAACH;QACrC,IAAIE,OAAO;YACPX,OAAOa,IAAI,CAAC;gBAAEC,WAAWH,KAAK,CAAC,EAAE;gBAAEN;YAAW;QAClD;IACJ;IACA,OAAOL;AACX"}
|
|
@@ -11,7 +11,7 @@ Object.defineProperty(exports, "metadataPlugin", {
|
|
|
11
11
|
const _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
|
|
12
12
|
const _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
13
13
|
const _core = require("../../core");
|
|
14
|
-
const
|
|
14
|
+
const _utils = require("./utils");
|
|
15
15
|
function _interop_require_default(obj) {
|
|
16
16
|
return obj && obj.__esModule ? obj : {
|
|
17
17
|
default: obj
|
|
@@ -62,7 +62,7 @@ function metadataPlugin(context) {
|
|
|
62
62
|
js.push(chunk.fileName);
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
|
-
const css = (0,
|
|
65
|
+
const css = (0, _utils.getCssFileNames)(bundle);
|
|
66
66
|
_fs.default.writeFileSync(_path.default.join(options.dir, 'entrypoints.json'), JSON.stringify({
|
|
67
67
|
module: true,
|
|
68
68
|
css,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/vite/plugins/metadata-plugin.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport type { Plugin } from 'vite';\nimport { BuildContext, generateMetadata } from '../../core';\nimport { getCssFileNames } from './utils
|
|
1
|
+
{"version":3,"sources":["../../../src/vite/plugins/metadata-plugin.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport type { Plugin } from 'vite';\nimport { BuildContext, generateMetadata } from '../../core';\nimport { getCssFileNames } from './utils';\n\nexport function metadataPlugin(context: BuildContext): Plugin | undefined {\n if (!context.package.isWebComponent) {\n return;\n }\n\n let outDir = '';\n\n return {\n name: 'metadata',\n configResolved(config) {\n outDir = config.build.outDir;\n },\n configureServer(server) {\n server.httpServer?.once('listening', () => {\n const address = server.httpServer?.address();\n if (!address || typeof address === 'string') {\n return;\n }\n\n const entrypoints = {\n module: true,\n port: address.port,\n css: [],\n js: ['@vite/client', '@id/__x00__VIRTUAL./index'],\n };\n\n const entrypointsPath = path.join(outDir, 'entrypoints.json');\n fs.mkdirSync(path.dirname(entrypointsPath), { recursive: true });\n fs.writeFileSync(entrypointsPath, JSON.stringify(entrypoints, null, 2));\n\n generateMetadata(context);\n });\n },\n writeBundle(options, bundle) {\n if (!options.dir) {\n throw new Error(\n 'web-component build requires output.dir — output.file is not supported'\n );\n }\n\n const js: string[] = [];\n\n for (const chunk of Object.values(bundle)) {\n if (chunk.type === 'chunk' && chunk.isEntry) {\n js.push(chunk.fileName);\n }\n }\n\n const css = getCssFileNames(bundle);\n\n fs.writeFileSync(\n path.join(options.dir, 'entrypoints.json'),\n JSON.stringify({ module: true, css, js }, null, 2)\n );\n\n generateMetadata(context);\n },\n };\n}\n"],"names":["metadataPlugin","context","package","isWebComponent","outDir","name","configResolved","config","build","configureServer","server","httpServer","once","address","entrypoints","module","port","css","js","entrypointsPath","path","join","fs","mkdirSync","dirname","recursive","writeFileSync","JSON","stringify","generateMetadata","writeBundle","options","bundle","dir","Error","chunk","Object","values","type","isEntry","push","fileName","getCssFileNames"],"mappings":";;;;+BAMgBA;;;eAAAA;;;2DAND;6DACE;sBAE8B;uBACf;;;;;;AAEzB,SAASA,eAAeC,OAAqB;IAChD,IAAI,CAACA,QAAQC,OAAO,CAACC,cAAc,EAAE;QACjC;IACJ;IAEA,IAAIC,SAAS;IAEb,OAAO;QACHC,MAAM;QACNC,gBAAeC,MAAM;YACjBH,SAASG,OAAOC,KAAK,CAACJ,MAAM;QAChC;QACAK,iBAAgBC,MAAM;gBAClBA;aAAAA,qBAAAA,OAAOC,UAAU,cAAjBD,yCAAAA,mBAAmBE,IAAI,CAAC,aAAa;oBACjBF;gBAAhB,MAAMG,WAAUH,qBAAAA,OAAOC,UAAU,cAAjBD,yCAAAA,mBAAmBG,OAAO;gBAC1C,IAAI,CAACA,WAAW,OAAOA,YAAY,UAAU;oBACzC;gBACJ;gBAEA,MAAMC,cAAc;oBAChBC,QAAQ;oBACRC,MAAMH,QAAQG,IAAI;oBAClBC,KAAK,EAAE;oBACPC,IAAI;wBAAC;wBAAgB;qBAA4B;gBACrD;gBAEA,MAAMC,kBAAkBC,aAAI,CAACC,IAAI,CAACjB,QAAQ;gBAC1CkB,WAAE,CAACC,SAAS,CAACH,aAAI,CAACI,OAAO,CAACL,kBAAkB;oBAAEM,WAAW;gBAAK;gBAC9DH,WAAE,CAACI,aAAa,CAACP,iBAAiBQ,KAAKC,SAAS,CAACd,aAAa,MAAM;gBAEpEe,IAAAA,sBAAgB,EAAC5B;YACrB;QACJ;QACA6B,aAAYC,OAAO,EAAEC,MAAM;YACvB,IAAI,CAACD,QAAQE,GAAG,EAAE;gBACd,MAAM,IAAIC,MACN;YAER;YAEA,MAAMhB,KAAe,EAAE;YAEvB,KAAK,MAAMiB,SAASC,OAAOC,MAAM,CAACL,QAAS;gBACvC,IAAIG,MAAMG,IAAI,KAAK,WAAWH,MAAMI,OAAO,EAAE;oBACzCrB,GAAGsB,IAAI,CAACL,MAAMM,QAAQ;gBAC1B;YACJ;YAEA,MAAMxB,MAAMyB,IAAAA,sBAAe,EAACV;YAE5BV,WAAE,CAACI,aAAa,CACZN,aAAI,CAACC,IAAI,CAACU,QAAQE,GAAG,EAAE,qBACvBN,KAAKC,SAAS,CAAC;gBAAEb,QAAQ;gBAAME;gBAAKC;YAAG,GAAG,MAAM;YAGpDW,IAAAA,sBAAgB,EAAC5B;QACrB;IACJ;AACJ"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { Plugin } from 'vite';
|
|
2
|
+
import { BuildContext } from '../../core';
|
|
3
|
+
export declare const VIRTUAL_MOMENT = "\0VIRTUAL_MOMENT";
|
|
4
|
+
export declare function momentLocalesPlugin(_context: BuildContext): Plugin;
|
|
5
|
+
//# sourceMappingURL=moment-locales-plugin.d.ts.map
|