@servicetitan/startup 34.2.1 → 34.3.0-beta.1
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/dist/cli/commands/build.d.ts +16 -0
- package/dist/cli/commands/build.d.ts.map +1 -1
- package/dist/cli/commands/build.js +15 -2
- package/dist/cli/commands/build.js.map +1 -1
- package/dist/cli/commands/bundle-vite.d.ts +66 -0
- package/dist/cli/commands/bundle-vite.d.ts.map +1 -0
- package/dist/cli/commands/bundle-vite.js +184 -0
- package/dist/cli/commands/bundle-vite.js.map +1 -0
- package/dist/cli/commands/get-command.d.ts.map +1 -1
- package/dist/cli/commands/get-command.js +2 -0
- package/dist/cli/commands/get-command.js.map +1 -1
- package/dist/cli/commands/mfe-check.d.ts.map +1 -1
- package/dist/cli/commands/mfe-check.js +2 -2
- package/dist/cli/commands/mfe-check.js.map +1 -1
- package/dist/cli/commands/mfe-generate-metadata.js +2 -2
- package/dist/cli/commands/mfe-generate-metadata.js.map +1 -1
- package/dist/cli/commands/mfe-package-publish.js.map +1 -1
- package/dist/cli/commands/start.d.ts +8 -0
- package/dist/cli/commands/start.d.ts.map +1 -1
- package/dist/cli/commands/start.js +8 -2
- package/dist/cli/commands/start.js.map +1 -1
- package/dist/cli/tasks/swc-compile-package.js +127 -0
- package/dist/cli/tasks/swc-compile-package.js.map +1 -0
- package/dist/cli/tasks/tsc-compile-package.js +46 -0
- package/dist/cli/tasks/tsc-compile-package.js.map +1 -0
- package/dist/cli/tasks/tsc-compile.js +68 -0
- package/dist/cli/tasks/tsc-compile.js.map +1 -0
- package/dist/cli/utils/bundle.d.ts +2 -5
- package/dist/cli/utils/bundle.d.ts.map +1 -1
- package/dist/cli/utils/bundle.js +18 -98
- package/dist/cli/utils/bundle.js.map +1 -1
- package/dist/core/check-resource/check-resource.d.ts +3 -0
- package/dist/core/check-resource/check-resource.d.ts.map +1 -0
- package/dist/core/check-resource/check-resource.js +40 -0
- package/dist/core/check-resource/check-resource.js.map +1 -0
- package/dist/core/check-resource/get-package-json.d.ts.map +1 -0
- package/dist/core/check-resource/get-package-json.js +37 -0
- package/dist/core/check-resource/get-package-json.js.map +1 -0
- package/dist/core/check-resource/index.d.ts +2 -0
- package/dist/core/check-resource/index.d.ts.map +1 -0
- package/dist/core/check-resource/index.js +13 -0
- package/dist/core/check-resource/index.js.map +1 -0
- package/dist/core/check-resource/is-optional-peer-dependency.d.ts.map +1 -0
- package/dist/core/check-resource/is-optional-peer-dependency.js +27 -0
- package/dist/core/check-resource/is-optional-peer-dependency.js.map +1 -0
- package/dist/core/check-resource/is-optional-react-dom-peer-dependency.d.ts.map +1 -0
- package/dist/core/check-resource/is-optional-react-dom-peer-dependency.js +15 -0
- package/dist/core/check-resource/is-optional-react-dom-peer-dependency.js.map +1 -0
- package/dist/core/context.d.ts +14 -0
- package/dist/core/context.d.ts.map +1 -0
- package/dist/core/context.js +62 -0
- package/dist/core/context.js.map +1 -0
- package/dist/core/defines/exposed-dependencies.d.ts +5 -0
- package/dist/core/defines/exposed-dependencies.d.ts.map +1 -0
- package/dist/core/defines/exposed-dependencies.js +26 -0
- package/dist/core/defines/exposed-dependencies.js.map +1 -0
- package/dist/core/defines/exposed-instance-dependencies.d.ts +5 -0
- package/dist/core/defines/exposed-instance-dependencies.d.ts.map +1 -0
- package/dist/core/defines/exposed-instance-dependencies.js +29 -0
- package/dist/core/defines/exposed-instance-dependencies.js.map +1 -0
- package/dist/core/defines/index.d.ts +4 -0
- package/dist/core/defines/index.d.ts.map +1 -0
- package/dist/core/defines/index.js +26 -0
- package/dist/core/defines/index.js.map +1 -0
- package/dist/core/defines/web-component-name.d.ts +5 -0
- package/dist/core/defines/web-component-name.d.ts.map +1 -0
- package/dist/core/defines/web-component-name.js +23 -0
- package/dist/core/defines/web-component-name.js.map +1 -0
- package/dist/core/externals.d.ts +3 -0
- package/dist/core/externals.d.ts.map +1 -0
- package/dist/core/externals.js +29 -0
- package/dist/core/externals.js.map +1 -0
- package/dist/core/get-exposed-dependencies-entry-points.d.ts +11 -0
- package/dist/core/get-exposed-dependencies-entry-points.d.ts.map +1 -0
- package/dist/core/get-exposed-dependencies-entry-points.js +82 -0
- package/dist/core/get-exposed-dependencies-entry-points.js.map +1 -0
- package/dist/core/index.d.ts +9 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +26 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/types.d.ts +55 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +6 -0
- package/dist/core/types.js.map +1 -0
- package/dist/core/utils/build-metadata.d.ts.map +1 -0
- package/dist/core/utils/build-metadata.js +50 -0
- package/dist/core/utils/build-metadata.js.map +1 -0
- package/dist/core/utils/generate-metadata.d.ts +3 -0
- package/dist/core/utils/generate-metadata.d.ts.map +1 -0
- package/dist/core/utils/generate-metadata.js +40 -0
- package/dist/core/utils/generate-metadata.js.map +1 -0
- package/dist/core/utils/get-bundle-type.d.ts +3 -0
- package/dist/core/utils/get-bundle-type.d.ts.map +1 -0
- package/dist/core/utils/get-bundle-type.js +27 -0
- package/dist/core/utils/get-bundle-type.js.map +1 -0
- package/dist/core/utils/get-exposed-dependencies.d.ts.map +1 -0
- package/dist/core/utils/get-exposed-dependencies.js +21 -0
- package/dist/core/utils/get-exposed-dependencies.js.map +1 -0
- package/dist/core/utils/get-launchdarkly-sdk-version.d.ts.map +1 -0
- package/dist/core/utils/get-launchdarkly-sdk-version.js +26 -0
- package/dist/core/utils/get-launchdarkly-sdk-version.js.map +1 -0
- package/dist/core/utils/get-output-path.d.ts +3 -0
- package/dist/core/utils/get-output-path.d.ts.map +1 -0
- package/dist/core/utils/get-output-path.js +32 -0
- package/dist/core/utils/get-output-path.js.map +1 -0
- package/dist/core/utils/get-web-components-version.d.ts.map +1 -0
- package/dist/core/utils/get-web-components-version.js +22 -0
- package/dist/core/utils/get-web-components-version.js.map +1 -0
- package/dist/core/utils/index.d.ts +9 -0
- package/dist/core/utils/index.d.ts.map +1 -0
- package/dist/core/utils/index.js +27 -0
- package/dist/core/utils/index.js.map +1 -0
- package/dist/core/utils/stringify-config.d.ts +2 -0
- package/dist/core/utils/stringify-config.d.ts.map +1 -0
- package/dist/core/utils/stringify-config.js +35 -0
- package/dist/core/utils/stringify-config.js.map +1 -0
- package/dist/core/virtual-modules.d.ts +9 -0
- package/dist/core/virtual-modules.d.ts.map +1 -0
- package/dist/core/virtual-modules.js +84 -0
- package/dist/core/virtual-modules.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/storybook-config/webpack-final.d.ts +1 -1
- package/dist/storybook-config/webpack-final.d.ts.map +1 -1
- package/dist/storybook-config/webpack-final.js +18 -6
- package/dist/storybook-config/webpack-final.js.map +1 -1
- package/dist/utils/get-configuration.d.ts +28 -0
- package/dist/utils/get-configuration.d.ts.map +1 -1
- package/dist/utils/get-configuration.js +42 -1
- package/dist/utils/get-configuration.js.map +1 -1
- package/dist/utils/get-package-data.d.ts.map +1 -1
- package/dist/utils/get-package-data.js +3 -2
- package/dist/utils/get-package-data.js.map +1 -1
- package/dist/vite/base-config.d.ts +4 -0
- package/dist/vite/base-config.d.ts.map +1 -0
- package/dist/vite/base-config.js +76 -0
- package/dist/vite/base-config.js.map +1 -0
- package/dist/vite/build-shared-deps.d.ts +3 -0
- package/dist/vite/build-shared-deps.d.ts.map +1 -0
- package/dist/vite/build-shared-deps.js +310 -0
- package/dist/vite/build-shared-deps.js.map +1 -0
- package/dist/vite/create-vite-config.d.ts +3 -0
- package/dist/vite/create-vite-config.d.ts.map +1 -0
- package/dist/vite/create-vite-config.js +52 -0
- package/dist/vite/create-vite-config.js.map +1 -0
- package/dist/vite/define-config.d.ts +12 -0
- package/dist/vite/define-config.d.ts.map +1 -0
- package/dist/vite/define-config.js +15 -0
- package/dist/vite/define-config.js.map +1 -0
- package/dist/vite/load-config-file.d.ts +6 -0
- package/dist/vite/load-config-file.d.ts.map +1 -0
- package/dist/vite/load-config-file.js +107 -0
- package/dist/vite/load-config-file.js.map +1 -0
- package/dist/vite/merge-config.d.ts +6 -0
- package/dist/vite/merge-config.d.ts.map +1 -0
- package/dist/vite/merge-config.js +106 -0
- package/dist/vite/merge-config.js.map +1 -0
- package/dist/vite/plugins/css-injector-plugin.d.ts +15 -0
- package/dist/vite/plugins/css-injector-plugin.d.ts.map +1 -0
- package/dist/vite/plugins/css-injector-plugin.js +76 -0
- package/dist/vite/plugins/css-injector-plugin.js.map +1 -0
- package/dist/vite/plugins/dev-bundle-routing-plugin.d.ts +7 -0
- package/dist/vite/plugins/dev-bundle-routing-plugin.d.ts.map +1 -0
- package/dist/vite/plugins/dev-bundle-routing-plugin.js +48 -0
- package/dist/vite/plugins/dev-bundle-routing-plugin.js.map +1 -0
- package/dist/vite/plugins/dev-server-routing-plugin.d.ts +12 -0
- package/dist/vite/plugins/dev-server-routing-plugin.d.ts.map +1 -0
- package/dist/vite/plugins/dev-server-routing-plugin.js +85 -0
- package/dist/vite/plugins/dev-server-routing-plugin.js.map +1 -0
- package/dist/vite/plugins/externals-plugin.d.ts +4 -0
- package/dist/vite/plugins/externals-plugin.d.ts.map +1 -0
- package/dist/vite/plugins/externals-plugin.js +39 -0
- package/dist/vite/plugins/externals-plugin.js.map +1 -0
- package/dist/vite/plugins/full-bundle-proxy-plugin.d.ts +14 -0
- package/dist/vite/plugins/full-bundle-proxy-plugin.d.ts.map +1 -0
- package/dist/vite/plugins/full-bundle-proxy-plugin.js +48 -0
- package/dist/vite/plugins/full-bundle-proxy-plugin.js.map +1 -0
- package/dist/vite/plugins/html-plugin.d.ts +5 -0
- package/dist/vite/plugins/html-plugin.d.ts.map +1 -0
- package/dist/vite/plugins/html-plugin.js +74 -0
- package/dist/vite/plugins/html-plugin.js.map +1 -0
- package/dist/vite/plugins/ignore-modules-plugin.d.ts +4 -0
- package/dist/vite/plugins/ignore-modules-plugin.d.ts.map +1 -0
- package/dist/vite/plugins/ignore-modules-plugin.js +30 -0
- package/dist/vite/plugins/ignore-modules-plugin.js.map +1 -0
- package/dist/vite/plugins/index.d.ts +10 -0
- package/dist/vite/plugins/index.d.ts.map +1 -0
- package/dist/vite/plugins/index.js +28 -0
- package/dist/vite/plugins/index.js.map +1 -0
- package/dist/vite/plugins/metadata-plugin.d.ts +4 -0
- package/dist/vite/plugins/metadata-plugin.d.ts.map +1 -0
- package/dist/vite/plugins/metadata-plugin.js +86 -0
- package/dist/vite/plugins/metadata-plugin.js.map +1 -0
- package/dist/vite/plugins/outdir-rewrite-plugin.d.ts +9 -0
- package/dist/vite/plugins/outdir-rewrite-plugin.d.ts.map +1 -0
- package/dist/vite/plugins/preview-static-files-plugin.d.ts +9 -0
- package/dist/vite/plugins/preview-static-files-plugin.d.ts.map +1 -0
- package/dist/vite/plugins/preview-static-files-plugin.js +50 -0
- package/dist/vite/plugins/preview-static-files-plugin.js.map +1 -0
- package/dist/vite/plugins/shared-deps-dev-server-plugin.d.ts +11 -0
- package/dist/vite/plugins/shared-deps-dev-server-plugin.d.ts.map +1 -0
- package/dist/vite/plugins/shared-deps-rewrite-plugin.d.ts +10 -0
- package/dist/vite/plugins/shared-deps-rewrite-plugin.d.ts.map +1 -0
- package/dist/vite/plugins/shared-deps-rewrite-plugin.js +51 -0
- package/dist/vite/plugins/shared-deps-rewrite-plugin.js.map +1 -0
- package/dist/vite/plugins/style-urls-plugin.d.ts +4 -0
- package/dist/vite/plugins/style-urls-plugin.d.ts.map +1 -0
- package/dist/vite/plugins/style-urls-plugin.js +29 -0
- package/dist/vite/plugins/style-urls-plugin.js.map +1 -0
- package/dist/vite/plugins/svgr-plugin.d.ts +4 -0
- package/dist/vite/plugins/svgr-plugin.d.ts.map +1 -0
- package/dist/vite/plugins/svgr-plugin.js +31 -0
- package/dist/vite/plugins/svgr-plugin.js.map +1 -0
- package/dist/vite/plugins/virtual-modules-plugin.d.ts +4 -0
- package/dist/vite/plugins/virtual-modules-plugin.d.ts.map +1 -0
- package/dist/vite/plugins/virtual-modules-plugin.js +71 -0
- package/dist/vite/plugins/virtual-modules-plugin.js.map +1 -0
- package/dist/webpack/configs/amd-config.d.ts +3 -2
- package/dist/webpack/configs/amd-config.d.ts.map +1 -1
- package/dist/webpack/configs/amd-config.js.map +1 -1
- package/dist/webpack/configs/cache-config.d.ts +3 -2
- package/dist/webpack/configs/cache-config.d.ts.map +1 -1
- package/dist/webpack/configs/cache-config.js +1 -1
- package/dist/webpack/configs/cache-config.js.map +1 -1
- package/dist/webpack/configs/dev-server-config.d.ts +3 -2
- package/dist/webpack/configs/dev-server-config.d.ts.map +1 -1
- package/dist/webpack/configs/dev-server-config.js +1 -1
- package/dist/webpack/configs/dev-server-config.js.map +1 -1
- package/dist/webpack/configs/devtool-config.d.ts +3 -2
- package/dist/webpack/configs/devtool-config.d.ts.map +1 -1
- package/dist/webpack/configs/devtool-config.js +1 -1
- package/dist/webpack/configs/devtool-config.js.map +1 -1
- package/dist/webpack/configs/entry.config.d.ts +3 -2
- package/dist/webpack/configs/entry.config.d.ts.map +1 -1
- package/dist/webpack/configs/entry.config.js +6 -5
- package/dist/webpack/configs/entry.config.js.map +1 -1
- package/dist/webpack/configs/externals-config.d.ts +3 -2
- package/dist/webpack/configs/externals-config.d.ts.map +1 -1
- package/dist/webpack/configs/externals-config.js +4 -14
- package/dist/webpack/configs/externals-config.js.map +1 -1
- package/dist/webpack/configs/index.d.ts +0 -1
- package/dist/webpack/configs/index.d.ts.map +1 -1
- package/dist/webpack/configs/index.js.map +1 -1
- package/dist/webpack/configs/loaders/css-loader.d.ts +2 -2
- package/dist/webpack/configs/loaders/css-loader.d.ts.map +1 -1
- package/dist/webpack/configs/loaders/css-loader.js +2 -1
- package/dist/webpack/configs/loaders/css-loader.js.map +1 -1
- package/dist/webpack/configs/loaders/style-loader.d.ts +2 -2
- package/dist/webpack/configs/loaders/style-loader.d.ts.map +1 -1
- package/dist/webpack/configs/loaders/style-loader.js +4 -1
- package/dist/webpack/configs/loaders/style-loader.js.map +1 -1
- package/dist/webpack/configs/module-config.d.ts +3 -2
- package/dist/webpack/configs/module-config.d.ts.map +1 -1
- package/dist/webpack/configs/module-config.js.map +1 -1
- package/dist/webpack/configs/optimization-config.d.ts +3 -2
- package/dist/webpack/configs/optimization-config.d.ts.map +1 -1
- package/dist/webpack/configs/optimization-config.js +10 -7
- package/dist/webpack/configs/optimization-config.js.map +1 -1
- package/dist/webpack/configs/output-config.d.ts +3 -2
- package/dist/webpack/configs/output-config.d.ts.map +1 -1
- package/dist/webpack/configs/output-config.js +15 -24
- package/dist/webpack/configs/output-config.js.map +1 -1
- package/dist/webpack/configs/plugins/assets-manifest-plugin.d.ts +3 -8
- package/dist/webpack/configs/plugins/assets-manifest-plugin.d.ts.map +1 -1
- package/dist/webpack/configs/plugins/assets-manifest-plugin.js +10 -47
- package/dist/webpack/configs/plugins/assets-manifest-plugin.js.map +1 -1
- package/dist/webpack/configs/plugins/bundle-analyser-plugin.d.ts +3 -2
- package/dist/webpack/configs/plugins/bundle-analyser-plugin.d.ts.map +1 -1
- package/dist/webpack/configs/plugins/bundle-analyser-plugin.js +6 -6
- package/dist/webpack/configs/plugins/bundle-analyser-plugin.js.map +1 -1
- package/dist/webpack/configs/plugins/define-exposed-dependencies-plugin.d.ts +3 -2
- package/dist/webpack/configs/plugins/define-exposed-dependencies-plugin.d.ts.map +1 -1
- package/dist/webpack/configs/plugins/define-exposed-dependencies-plugin.js +4 -13
- package/dist/webpack/configs/plugins/define-exposed-dependencies-plugin.js.map +1 -1
- package/dist/webpack/configs/plugins/define-exposed-instance-dependencies-plugin.d.ts +3 -2
- package/dist/webpack/configs/plugins/define-exposed-instance-dependencies-plugin.d.ts.map +1 -1
- package/dist/webpack/configs/plugins/define-exposed-instance-dependencies-plugin.js +4 -12
- package/dist/webpack/configs/plugins/define-exposed-instance-dependencies-plugin.js.map +1 -1
- package/dist/webpack/configs/plugins/define-web-component-name-plugin.d.ts +3 -2
- package/dist/webpack/configs/plugins/define-web-component-name-plugin.d.ts.map +1 -1
- package/dist/webpack/configs/plugins/define-web-component-name-plugin.js +4 -6
- package/dist/webpack/configs/plugins/define-web-component-name-plugin.js.map +1 -1
- package/dist/webpack/configs/plugins/filter-warnings-plugin.d.ts +3 -2
- package/dist/webpack/configs/plugins/filter-warnings-plugin.d.ts.map +1 -1
- package/dist/webpack/configs/plugins/filter-warnings-plugin.js +2 -2
- package/dist/webpack/configs/plugins/filter-warnings-plugin.js.map +1 -1
- package/dist/webpack/configs/plugins/html-plugin.d.ts +3 -2
- package/dist/webpack/configs/plugins/html-plugin.d.ts.map +1 -1
- package/dist/webpack/configs/plugins/html-plugin.js +5 -2
- package/dist/webpack/configs/plugins/html-plugin.js.map +1 -1
- package/dist/webpack/configs/plugins/html-tags-plugin.d.ts +3 -2
- package/dist/webpack/configs/plugins/html-tags-plugin.d.ts.map +1 -1
- package/dist/webpack/configs/plugins/html-tags-plugin.js +8 -19
- package/dist/webpack/configs/plugins/html-tags-plugin.js.map +1 -1
- package/dist/webpack/configs/plugins/ignore-plugin/get-package-json.js +1 -1
- package/dist/webpack/configs/plugins/ignore-plugin/get-package-json.js.map +1 -1
- package/dist/webpack/configs/plugins/ignore-plugin/ignore-plugin.d.ts +17 -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 +45 -6
- package/dist/webpack/configs/plugins/ignore-plugin/ignore-plugin.js.map +1 -1
- package/dist/webpack/configs/plugins/mini-css-extract-plugin.d.ts +3 -2
- package/dist/webpack/configs/plugins/mini-css-extract-plugin.d.ts.map +1 -1
- package/dist/webpack/configs/plugins/mini-css-extract-plugin.js +4 -2
- package/dist/webpack/configs/plugins/mini-css-extract-plugin.js.map +1 -1
- package/dist/webpack/configs/plugins/moment-locales-plugin.d.ts +3 -2
- package/dist/webpack/configs/plugins/moment-locales-plugin.d.ts.map +1 -1
- package/dist/webpack/configs/plugins/moment-locales-plugin.js.map +1 -1
- package/dist/webpack/configs/plugins/remove-empty-scripts-plugin.d.ts +3 -2
- package/dist/webpack/configs/plugins/remove-empty-scripts-plugin.d.ts.map +1 -1
- package/dist/webpack/configs/plugins/remove-empty-scripts-plugin.js +1 -1
- package/dist/webpack/configs/plugins/remove-empty-scripts-plugin.js.map +1 -1
- package/dist/webpack/configs/plugins/virtual-modules-plugin.d.ts +3 -3
- package/dist/webpack/configs/plugins/virtual-modules-plugin.d.ts.map +1 -1
- package/dist/webpack/configs/plugins/virtual-modules-plugin.js +13 -56
- package/dist/webpack/configs/plugins/virtual-modules-plugin.js.map +1 -1
- package/dist/webpack/configs/plugins/watch-run-plugin.d.ts +3 -2
- package/dist/webpack/configs/plugins/watch-run-plugin.d.ts.map +1 -1
- package/dist/webpack/configs/plugins/watch-run-plugin.js.map +1 -1
- package/dist/webpack/configs/plugins-config.d.ts +3 -2
- package/dist/webpack/configs/plugins-config.d.ts.map +1 -1
- package/dist/webpack/configs/plugins-config.js.map +1 -1
- package/dist/webpack/configs/resolve-config.d.ts +3 -2
- package/dist/webpack/configs/resolve-config.d.ts.map +1 -1
- package/dist/webpack/configs/resolve-config.js.map +1 -1
- package/dist/webpack/configs/rules/css-rules.d.ts +2 -2
- package/dist/webpack/configs/rules/css-rules.d.ts.map +1 -1
- package/dist/webpack/configs/rules/css-rules.js +2 -1
- package/dist/webpack/configs/rules/css-rules.js.map +1 -1
- package/dist/webpack/configs/rules/font-rules.d.ts +2 -2
- package/dist/webpack/configs/rules/font-rules.d.ts.map +1 -1
- package/dist/webpack/configs/rules/font-rules.js.map +1 -1
- package/dist/webpack/configs/rules/image-rules.d.ts +2 -2
- package/dist/webpack/configs/rules/image-rules.d.ts.map +1 -1
- package/dist/webpack/configs/rules/image-rules.js.map +1 -1
- package/dist/webpack/configs/rules/js-rules.d.ts +2 -2
- package/dist/webpack/configs/rules/js-rules.d.ts.map +1 -1
- package/dist/webpack/configs/rules/js-rules.js +3 -1
- package/dist/webpack/configs/rules/js-rules.js.map +1 -1
- package/dist/webpack/configs/rules/less-rules.d.ts +2 -2
- package/dist/webpack/configs/rules/less-rules.d.ts.map +1 -1
- package/dist/webpack/configs/rules/less-rules.js.map +1 -1
- package/dist/webpack/configs/rules/scss-rules.d.ts +2 -2
- package/dist/webpack/configs/rules/scss-rules.d.ts.map +1 -1
- package/dist/webpack/configs/rules/scss-rules.js.map +1 -1
- package/dist/webpack/configs/rules/svg-rules.d.ts +2 -2
- package/dist/webpack/configs/rules/svg-rules.d.ts.map +1 -1
- package/dist/webpack/configs/rules/svg-rules.js.map +1 -1
- package/dist/webpack/configs/rules-config.d.ts +3 -2
- package/dist/webpack/configs/rules-config.d.ts.map +1 -1
- package/dist/webpack/configs/rules-config.js +2 -2
- package/dist/webpack/configs/rules-config.js.map +1 -1
- package/dist/webpack/configs/stats-config.d.ts +3 -2
- package/dist/webpack/configs/stats-config.d.ts.map +1 -1
- package/dist/webpack/configs/stats-config.js.map +1 -1
- package/dist/webpack/configs/watch-options-config.d.ts +2 -2
- package/dist/webpack/configs/watch-options-config.d.ts.map +1 -1
- package/dist/webpack/configs/watch-options-config.js +2 -2
- package/dist/webpack/configs/watch-options-config.js.map +1 -1
- package/dist/webpack/create-webpack-config.d.ts +10 -0
- package/dist/webpack/create-webpack-config.d.ts.map +1 -1
- package/dist/webpack/create-webpack-config.js +109 -41
- package/dist/webpack/create-webpack-config.js.map +1 -1
- package/dist/webpack/types.d.ts +4 -11
- package/dist/webpack/types.d.ts.map +1 -1
- package/dist/webpack/utils/index.d.ts +0 -1
- package/dist/webpack/utils/index.d.ts.map +1 -1
- package/dist/webpack/utils/index.js +0 -1
- package/dist/webpack/utils/index.js.map +1 -1
- package/package.json +9 -6
- package/patches/vite-plugin-css-injected-by-js+3.5.2.patch +63 -0
- package/src/cli/commands/__tests__/mfe-generate-metadata.test.ts +3 -4
- package/src/cli/commands/build.ts +7 -2
- package/src/cli/commands/bundle-vite.ts +112 -0
- package/src/cli/commands/get-command.ts +2 -0
- package/src/cli/commands/mfe-check.ts +1 -2
- package/src/cli/commands/mfe-generate-metadata.ts +1 -1
- package/src/cli/commands/mfe-package-publish.ts +1 -1
- package/src/cli/commands/start.ts +5 -2
- package/src/cli/utils/__tests__/bundle.test.ts +19 -10
- package/src/cli/utils/bundle.ts +20 -101
- package/src/{webpack/configs/plugins/ignore-plugin → core/check-resource}/__tests__/check-resource.test.ts +18 -5
- package/src/{webpack/configs/plugins/ignore-plugin → core/check-resource}/check-resource.ts +4 -4
- package/src/{webpack/configs/plugins/ignore-plugin → core/check-resource}/get-package-json.ts +2 -2
- package/src/core/check-resource/index.ts +1 -0
- package/src/core/context.ts +65 -0
- package/src/core/defines/exposed-dependencies.ts +21 -0
- package/src/core/defines/exposed-instance-dependencies.ts +19 -0
- package/src/core/defines/index.ts +3 -0
- package/src/core/defines/web-component-name.ts +15 -0
- package/src/core/externals.ts +23 -0
- package/src/core/get-exposed-dependencies-entry-points.ts +59 -0
- package/src/core/index.ts +8 -0
- package/src/core/types.ts +59 -0
- package/src/{webpack/configs → core}/utils/__tests__/build-metadata.test.ts +2 -2
- package/src/{webpack/configs → core}/utils/__tests__/generate-metadata.test.ts +27 -13
- package/src/{webpack/configs → core}/utils/build-metadata.ts +1 -1
- package/src/{webpack/configs → core}/utils/generate-metadata.ts +7 -6
- package/src/core/utils/get-bundle-type.ts +20 -0
- package/src/{webpack/configs → core}/utils/get-launchdarkly-sdk-version.ts +1 -1
- package/src/core/utils/get-output-path.ts +18 -0
- package/src/{webpack/configs → core}/utils/get-web-components-version.ts +1 -1
- package/src/core/utils/index.ts +8 -0
- package/src/core/virtual-modules.ts +76 -0
- package/src/index.ts +1 -0
- package/src/storybook-config/__tests__/webpack-final.test.ts +5 -2
- package/src/storybook-config/webpack-final.ts +24 -10
- package/src/utils/__tests__/get-configuration.test.ts +99 -1
- package/src/utils/__tests__/get-package-data.test.ts +35 -1
- package/src/utils/get-configuration.ts +92 -1
- package/src/utils/get-package-data.ts +3 -1
- package/src/vite/__tests__/define-config.test.ts +13 -0
- package/src/vite/__tests__/load-config-file.test.ts +115 -0
- package/src/vite/__tests__/merge-config.test.ts +173 -0
- package/src/vite/base-config.ts +79 -0
- package/src/vite/build-shared-deps.ts +320 -0
- package/src/vite/create-vite-config.ts +50 -0
- package/src/vite/define-config.ts +20 -0
- package/src/vite/index.html +29 -0
- package/src/vite/load-config-file.ts +54 -0
- package/src/vite/merge-config.ts +93 -0
- package/src/vite/plugins/css-injector-plugin.ts +85 -0
- package/src/vite/plugins/dev-server-routing-plugin.ts +89 -0
- package/src/vite/plugins/externals-plugin.ts +27 -0
- package/src/vite/plugins/html-plugin.ts +65 -0
- package/src/vite/plugins/ignore-modules-plugin.ts +22 -0
- package/src/vite/plugins/index.ts +9 -0
- package/src/vite/plugins/metadata-plugin.ts +78 -0
- package/src/vite/plugins/style-urls-plugin.ts +34 -0
- package/src/vite/plugins/svgr-plugin.ts +11 -0
- package/src/vite/plugins/virtual-modules-plugin.ts +74 -0
- package/src/webpack/__tests__/create-webpack-config-shared-dependencies.test.ts +2 -2
- package/src/webpack/__tests__/create-webpack-config-web-component.test.ts +11 -11
- package/src/webpack/__tests__/create-webpack-config.test.ts +3 -2
- package/src/webpack/configs/amd-config.ts +3 -2
- package/src/webpack/configs/cache-config.ts +4 -3
- package/src/webpack/configs/dev-server-config.ts +8 -3
- package/src/webpack/configs/devtool-config.ts +4 -3
- package/src/webpack/configs/entry.config.ts +8 -7
- package/src/webpack/configs/externals-config.ts +5 -21
- package/src/webpack/configs/index.ts +0 -1
- package/src/webpack/configs/loaders/css-loader.ts +3 -2
- package/src/webpack/configs/loaders/style-loader.ts +5 -5
- package/src/webpack/configs/module-config.ts +3 -2
- package/src/webpack/configs/optimization-config.ts +16 -11
- package/src/webpack/configs/output-config.ts +16 -22
- package/src/webpack/configs/plugins/assets-manifest-plugin.ts +9 -36
- package/src/webpack/configs/plugins/bundle-analyser-plugin.ts +8 -8
- package/src/webpack/configs/plugins/define-exposed-dependencies-plugin.ts +7 -15
- package/src/webpack/configs/plugins/define-exposed-instance-dependencies-plugin.ts +7 -13
- package/src/webpack/configs/plugins/define-web-component-name-plugin.ts +7 -8
- package/src/webpack/configs/plugins/filter-warnings-plugin.ts +4 -3
- package/src/webpack/configs/plugins/html-plugin.ts +7 -6
- package/src/webpack/configs/plugins/html-tags-plugin.ts +7 -16
- package/src/webpack/configs/plugins/ignore-plugin/empty-module.js +1 -0
- package/src/webpack/configs/plugins/ignore-plugin/ignore-plugin.ts +48 -6
- package/src/webpack/configs/plugins/mini-css-extract-plugin.ts +10 -5
- package/src/webpack/configs/plugins/moment-locales-plugin.ts +3 -2
- package/src/webpack/configs/plugins/remove-empty-scripts-plugin.ts +4 -3
- package/src/webpack/configs/plugins/virtual-modules-plugin.ts +13 -65
- package/src/webpack/configs/plugins/watch-run-plugin.ts +3 -2
- package/src/webpack/configs/plugins-config.ts +3 -2
- package/src/webpack/configs/resolve-config.ts +3 -2
- package/src/webpack/configs/rules/css-rules.ts +4 -3
- package/src/webpack/configs/rules/font-rules.ts +2 -2
- package/src/webpack/configs/rules/image-rules.ts +2 -2
- package/src/webpack/configs/rules/js-rules.ts +4 -2
- package/src/webpack/configs/rules/less-rules.ts +2 -2
- package/src/webpack/configs/rules/scss-rules.ts +2 -2
- package/src/webpack/configs/rules/svg-rules.ts +2 -2
- package/src/webpack/configs/rules-config.ts +9 -5
- package/src/webpack/configs/stats-config.ts +3 -2
- package/src/webpack/configs/watch-options-config.ts +3 -3
- package/src/webpack/create-webpack-config.ts +88 -43
- package/src/webpack/types.ts +7 -11
- package/src/webpack/utils/index.ts +0 -1
- package/dist/webpack/configs/plugins/ignore-plugin/check-resource.d.ts +0 -3
- package/dist/webpack/configs/plugins/ignore-plugin/check-resource.d.ts.map +0 -1
- package/dist/webpack/configs/plugins/ignore-plugin/get-package-json.d.ts.map +0 -1
- package/dist/webpack/configs/plugins/ignore-plugin/is-optional-peer-dependency.d.ts.map +0 -1
- package/dist/webpack/configs/plugins/ignore-plugin/is-optional-react-dom-peer-dependency.d.ts.map +0 -1
- package/dist/webpack/configs/types.d.ts +0 -35
- package/dist/webpack/configs/types.d.ts.map +0 -1
- package/dist/webpack/configs/utils/build-metadata.d.ts.map +0 -1
- package/dist/webpack/configs/utils/generate-metadata.d.ts +0 -3
- package/dist/webpack/configs/utils/generate-metadata.d.ts.map +0 -1
- package/dist/webpack/configs/utils/get-bundle-type.d.ts +0 -3
- package/dist/webpack/configs/utils/get-bundle-type.d.ts.map +0 -1
- package/dist/webpack/configs/utils/get-exposed-dependencies.d.ts.map +0 -1
- package/dist/webpack/configs/utils/get-launchdarkly-sdk-version.d.ts.map +0 -1
- package/dist/webpack/configs/utils/get-web-components-version.d.ts.map +0 -1
- package/dist/webpack/configs/utils/index.d.ts +0 -4
- package/dist/webpack/configs/utils/index.d.ts.map +0 -1
- package/src/webpack/configs/types.ts +0 -38
- package/src/webpack/configs/utils/get-bundle-type.ts +0 -22
- package/src/webpack/configs/utils/index.ts +0 -3
- /package/dist/{webpack/configs/plugins/ignore-plugin → core/check-resource}/get-package-json.d.ts +0 -0
- /package/dist/{webpack/configs/plugins/ignore-plugin → core/check-resource}/is-optional-peer-dependency.d.ts +0 -0
- /package/dist/{webpack/configs/plugins/ignore-plugin → core/check-resource}/is-optional-react-dom-peer-dependency.d.ts +0 -0
- /package/dist/{webpack/configs → core}/utils/build-metadata.d.ts +0 -0
- /package/dist/{webpack/configs → core}/utils/get-exposed-dependencies.d.ts +0 -0
- /package/dist/{webpack/configs → core}/utils/get-launchdarkly-sdk-version.d.ts +0 -0
- /package/dist/{webpack/configs → core}/utils/get-web-components-version.d.ts +0 -0
- /package/src/{webpack/configs/plugins/ignore-plugin → core/check-resource}/__tests__/get-package-json.test.ts +0 -0
- /package/src/{webpack/configs/plugins/ignore-plugin → core/check-resource}/__tests__/is-optional-peer-dependency.test.ts +0 -0
- /package/src/{webpack/configs/plugins/ignore-plugin → core/check-resource}/__tests__/is-optional-react-dom-peer-dependency.test.ts +0 -0
- /package/src/{webpack/configs/plugins/ignore-plugin → core/check-resource}/is-optional-peer-dependency.ts +0 -0
- /package/src/{webpack/configs/plugins/ignore-plugin → core/check-resource}/is-optional-react-dom-peer-dependency.ts +0 -0
- /package/src/{webpack/configs → core}/utils/__tests__/get-exposed-dependencies.test.ts +0 -0
- /package/src/{webpack/configs → core}/utils/__tests__/get-launchdarkly-sdk-version.test.ts +0 -0
- /package/src/{webpack/configs → core}/utils/__tests__/get-web-components-version.test.ts +0 -0
- /package/src/{webpack/configs → core}/utils/get-exposed-dependencies.ts +0 -0
- /package/src/{webpack → core}/utils/stringify-config.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/cli/commands/mfe-package-publish.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport {\n getBranchesConfigs,\n getFolders,\n isWebComponent,\n log,\n logErrors,\n readJson,\n} from '../../utils';\nimport { EntryPoint, EntryPoints, Metadata } from '../../webpack/configs';\nimport {\n DRY_RUN_PREFIX,\n getDefaultBuildVersion,\n gitGetBranch,\n gitGetCommitHash,\n npmGetPackageVersions,\n npmPackageSet,\n npmPublish,\n npmTagVersion,\n npmView,\n runCommand,\n} from '../utils';\nimport { Command, CommandOptions } from './types';\nimport { buildRollbackTag, DEFAULT_MFE_REGISTRY } from './utils';\n\nexport const mfePackagePublishOptions = {\n branch: {\n string: true,\n description: 'Branch name to associate with published version',\n defaultDescription: 'current git branch',\n },\n build: {\n string: true,\n description: 'Package version',\n defaultDescription: '<branch_name>.<commit_hash>',\n },\n dry: {\n boolean: true,\n description: 'Take no action and only log what would be published',\n },\n force: {\n boolean: true,\n description: 'Force publishing from an unrecognized branch',\n },\n registry: { string: true, hidden: true, description: 'Registry url' },\n trackHistory: {\n boolean: true,\n description: `Tag the previous release, to support rollbacks`,\n defaultDescription: 'true',\n hidden: true,\n },\n tag: {\n string: true,\n description: 'Tag to assign to published version',\n },\n uploadSourcemaps: {\n boolean: true,\n description: 'Upload source maps to Datadog?',\n defaultDescription: 'true',\n },\n} satisfies CommandOptions;\n\ninterface PublishData {\n buildVersion: string;\n dry: boolean;\n force: boolean;\n isBranchConfigured: boolean;\n registry: string;\n tag: string;\n uploadSourcemaps: boolean;\n version: string;\n trackHistory: boolean;\n publishedTags: Record<string, string>;\n}\n\ninterface PackageJson {\n name: string;\n private?: boolean;\n files?: string[];\n}\n\nexport class MFEPackagePublish extends Command<typeof mfePackagePublishOptions> {\n static readonly options = mfePackagePublishOptions;\n\n @logErrors\n async execute() {\n if (this.args.dry) {\n log.warning('DRY-RUN MODE ENABLED, WILL NOT PUBLISH PACKAGES');\n }\n\n const packageJson = readJson<PackageJson>('package.json');\n\n const data = this.getPublishData(packageJson.name);\n if (!this.checkPackage(packageJson, data)) {\n return;\n }\n\n await this.maybeApplyRollbackTag(packageJson.name, data);\n\n await this.maybePublishPackage(packageJson, data);\n\n if (data.uploadSourcemaps) {\n this.uploadSourcemaps(data);\n }\n }\n\n private get dryRunPrefix() {\n return this.args.dry ? DRY_RUN_PREFIX : '';\n }\n\n private checkPackage(packageJson: PackageJson, { force, isBranchConfigured }: PublishData) {\n if (!isWebComponent()) {\n throw new Error('only web-components can be published');\n }\n\n if (packageJson.private) {\n log.warning('package is private, skipping publish');\n return false;\n }\n\n if (!isBranchConfigured && !force) {\n log.warning(\n 'branch is not configured for publishing, use --force flag to publish if needed'\n );\n return false;\n }\n\n return true;\n }\n\n private async maybePublishPackage(packageJson: PackageJson, data: PublishData) {\n try {\n const { dry, registry, tag, version } = data;\n\n const versions = npmGetPackageVersions(registry, packageJson.name);\n if (versions.includes(version)) {\n log.warning(\n `${this.dryRunPrefix}${packageJson.name} version ${version} is already published, skipping publish`\n );\n\n log.info(`${this.dryRunPrefix}Tagging version ${version} with tag \"${tag}\"`);\n\n if (!dry) {\n await npmTagVersion({\n packageName: packageJson.name,\n packageVersion: version,\n registry,\n tag,\n });\n }\n\n return;\n }\n\n this.validateMetadata(version);\n\n await npmPackageSet('version', version);\n await npmPackageSet('publishConfig.registry', registry);\n await this.setPackageFiles(packageJson);\n\n log.info(`${this.dryRunPrefix}Publishing ${packageJson.name} version ${version}`);\n await npmPublish({ dry, tag });\n } catch (error) {\n log.error(`Failed to publish package ${packageJson.name}`);\n\n const versionOriginallyTaggedWithRollback =\n data.publishedTags[buildRollbackTag(data.tag)];\n\n if (versionOriginallyTaggedWithRollback) {\n await this.restoreRollbackTag(\n packageJson.name,\n data,\n versionOriginallyTaggedWithRollback\n );\n }\n throw error;\n }\n }\n\n private uploadSourcemaps({ dry, version }: PublishData) {\n const options = [...[dry && '--dry'], `--releaseVersion=${version}`].filter(\n option => !!option\n ) as string[];\n\n runCommand(`npx startup upload-sourcemaps ${options.join(' ')}`);\n }\n\n private getPublishData(packageName: string): PublishData {\n const cli = this.args;\n const branch = cli.branch ?? gitGetBranch();\n const branchConfig = getBranchesConfigs()[branch];\n\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n const buildVersion = cli.build || getDefaultBuildVersion(branch, gitGetCommitHash());\n const registry = cli.registry ?? DEFAULT_MFE_REGISTRY;\n const tag = cli.tag ?? branchConfig?.publishTag ?? '';\n const uploadSourcemaps = cli.uploadSourcemaps ?? branchConfig?.uploadSourcemaps ?? true;\n const version = '0.0.0-' + buildVersion;\n const publishedTags = npmView({ packageName, registry })?.['dist-tags'] ?? {};\n\n return {\n buildVersion,\n dry: !!cli.dry,\n force: !!cli.force,\n isBranchConfigured: !!branchConfig,\n publishedTags,\n registry,\n tag: tag || 'latest',\n trackHistory: cli.trackHistory ?? true,\n uploadSourcemaps,\n version,\n };\n }\n\n private async setPackageFiles({ files: inputFiles }: PackageJson) {\n let outputFiles = ['dist/bundle', 'dist/metadata.json', 'package.json'];\n\n if (inputFiles?.length) {\n const index = inputFiles.findIndex(file => file === 'dist');\n if (index < 0) {\n return;\n }\n outputFiles = [\n ...inputFiles.slice(0, index),\n ...outputFiles.filter(file => file.startsWith('dist')),\n ...inputFiles.slice(index + 1),\n ];\n }\n\n for (let i = 0, n = outputFiles.length; i < n; i++) {\n // eslint-disable-next-line no-await-in-loop\n await npmPackageSet(`files[${i}]`, outputFiles[i]);\n }\n }\n\n private validateMetadata(version: string) {\n const { destination: outDir } = getFolders();\n\n const metadataJson = path.join(outDir, 'metadata.json');\n if (!fs.existsSync(metadataJson)) {\n throw new Error(`${metadataJson} is not present`);\n }\n\n const metadata = readJson<Metadata>(metadataJson);\n this.validateEntryPoints(outDir, metadata);\n\n fs.writeFileSync(metadataJson, JSON.stringify({ ...metadata, version }, null, 2), 'utf-8');\n }\n\n private validateEntryPoints(outDir: string, { entrypoints = {} }: Metadata) {\n const keys: (keyof EntryPoints)[] = ['full', 'light'];\n keys.forEach(name =>\n this.validateEntryPoint({ entryPoint: entrypoints[name], name, outDir })\n );\n }\n\n private validateEntryPoint({\n entryPoint = {},\n name,\n outDir,\n }: {\n entryPoint?: EntryPoint;\n name: keyof EntryPoints;\n outDir: string;\n }) {\n const keys: (keyof EntryPoint)[] = ['css', 'js'];\n keys.forEach(key => {\n if (!entryPoint[key]) {\n throw new Error(`${name}.${key} not found in metadata.json`);\n }\n entryPoint[key].forEach(filename => {\n if (!fs.existsSync(path.join(outDir, 'bundle', name, filename))) {\n throw new Error(`referenced bundle ${filename} was not found`);\n }\n });\n });\n }\n\n private async maybeApplyRollbackTag(packageName: string, data: PublishData) {\n const { dry, registry, tag, trackHistory, version, publishedTags } = data;\n\n if (!trackHistory) {\n log.info('Track history is turned off, skipping rollback tag');\n return;\n }\n\n const previousVersion = publishedTags[tag];\n\n if (!previousVersion) {\n log.info(`No previous version published with tag \"${tag}\", skipping rollback tag`);\n return;\n }\n\n if (previousVersion === version) {\n log.info(`Version \"${version}\" is already tagged \"${tag}\", skipping rollback tag`);\n return;\n }\n\n const prevTag = buildRollbackTag(tag);\n\n log.info(\n `${this.dryRunPrefix}Tagging previous version ${previousVersion} with tag \"${prevTag}\"`\n );\n\n if (!dry) {\n await npmTagVersion({\n packageName,\n packageVersion: previousVersion,\n registry,\n tag: prevTag,\n });\n }\n }\n\n private async restoreRollbackTag(\n packageName: string,\n { registry, tag }: PublishData,\n version: string\n ) {\n const rollbackTag = buildRollbackTag(tag);\n\n log.info(`Restoring rollback tag ${rollbackTag} back to version ${version}`);\n\n await npmTagVersion({\n packageName,\n packageVersion: version,\n registry,\n tag: rollbackTag,\n });\n }\n}\n"],"names":["MFEPackagePublish","mfePackagePublishOptions","branch","string","description","defaultDescription","build","dry","boolean","force","registry","hidden","trackHistory","tag","uploadSourcemaps","Command","execute","args","log","warning","packageJson","readJson","data","getPublishData","name","checkPackage","maybeApplyRollbackTag","maybePublishPackage","dryRunPrefix","DRY_RUN_PREFIX","isBranchConfigured","isWebComponent","Error","private","version","versions","npmGetPackageVersions","includes","info","npmTagVersion","packageName","packageVersion","validateMetadata","npmPackageSet","setPackageFiles","npmPublish","error","versionOriginallyTaggedWithRollback","publishedTags","buildRollbackTag","restoreRollbackTag","options","filter","option","runCommand","join","cli","npmView","gitGetBranch","branchConfig","getBranchesConfigs","buildVersion","getDefaultBuildVersion","gitGetCommitHash","DEFAULT_MFE_REGISTRY","publishTag","files","inputFiles","outputFiles","length","index","findIndex","file","slice","startsWith","i","n","destination","outDir","getFolders","metadataJson","path","fs","existsSync","metadata","validateEntryPoints","writeFileSync","JSON","stringify","entrypoints","keys","forEach","validateEntryPoint","entryPoint","key","filename","previousVersion","prevTag","rollbackTag"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/commands/mfe-package-publish.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport { EntryPoint, EntryPoints, Metadata } from '../../core';\nimport {\n getBranchesConfigs,\n getFolders,\n isWebComponent,\n log,\n logErrors,\n readJson,\n} from '../../utils';\nimport {\n DRY_RUN_PREFIX,\n getDefaultBuildVersion,\n gitGetBranch,\n gitGetCommitHash,\n npmGetPackageVersions,\n npmPackageSet,\n npmPublish,\n npmTagVersion,\n npmView,\n runCommand,\n} from '../utils';\nimport { Command, CommandOptions } from './types';\nimport { buildRollbackTag, DEFAULT_MFE_REGISTRY } from './utils';\n\nexport const mfePackagePublishOptions = {\n branch: {\n string: true,\n description: 'Branch name to associate with published version',\n defaultDescription: 'current git branch',\n },\n build: {\n string: true,\n description: 'Package version',\n defaultDescription: '<branch_name>.<commit_hash>',\n },\n dry: {\n boolean: true,\n description: 'Take no action and only log what would be published',\n },\n force: {\n boolean: true,\n description: 'Force publishing from an unrecognized branch',\n },\n registry: { string: true, hidden: true, description: 'Registry url' },\n trackHistory: {\n boolean: true,\n description: `Tag the previous release, to support rollbacks`,\n defaultDescription: 'true',\n hidden: true,\n },\n tag: {\n string: true,\n description: 'Tag to assign to published version',\n },\n uploadSourcemaps: {\n boolean: true,\n description: 'Upload source maps to Datadog?',\n defaultDescription: 'true',\n },\n} satisfies CommandOptions;\n\ninterface PublishData {\n buildVersion: string;\n dry: boolean;\n force: boolean;\n isBranchConfigured: boolean;\n registry: string;\n tag: string;\n uploadSourcemaps: boolean;\n version: string;\n trackHistory: boolean;\n publishedTags: Record<string, string>;\n}\n\ninterface PackageJson {\n name: string;\n private?: boolean;\n files?: string[];\n}\n\nexport class MFEPackagePublish extends Command<typeof mfePackagePublishOptions> {\n static readonly options = mfePackagePublishOptions;\n\n @logErrors\n async execute() {\n if (this.args.dry) {\n log.warning('DRY-RUN MODE ENABLED, WILL NOT PUBLISH PACKAGES');\n }\n\n const packageJson = readJson<PackageJson>('package.json');\n\n const data = this.getPublishData(packageJson.name);\n if (!this.checkPackage(packageJson, data)) {\n return;\n }\n\n await this.maybeApplyRollbackTag(packageJson.name, data);\n\n await this.maybePublishPackage(packageJson, data);\n\n if (data.uploadSourcemaps) {\n this.uploadSourcemaps(data);\n }\n }\n\n private get dryRunPrefix() {\n return this.args.dry ? DRY_RUN_PREFIX : '';\n }\n\n private checkPackage(packageJson: PackageJson, { force, isBranchConfigured }: PublishData) {\n if (!isWebComponent()) {\n throw new Error('only web-components can be published');\n }\n\n if (packageJson.private) {\n log.warning('package is private, skipping publish');\n return false;\n }\n\n if (!isBranchConfigured && !force) {\n log.warning(\n 'branch is not configured for publishing, use --force flag to publish if needed'\n );\n return false;\n }\n\n return true;\n }\n\n private async maybePublishPackage(packageJson: PackageJson, data: PublishData) {\n try {\n const { dry, registry, tag, version } = data;\n\n const versions = npmGetPackageVersions(registry, packageJson.name);\n if (versions.includes(version)) {\n log.warning(\n `${this.dryRunPrefix}${packageJson.name} version ${version} is already published, skipping publish`\n );\n\n log.info(`${this.dryRunPrefix}Tagging version ${version} with tag \"${tag}\"`);\n\n if (!dry) {\n await npmTagVersion({\n packageName: packageJson.name,\n packageVersion: version,\n registry,\n tag,\n });\n }\n\n return;\n }\n\n this.validateMetadata(version);\n\n await npmPackageSet('version', version);\n await npmPackageSet('publishConfig.registry', registry);\n await this.setPackageFiles(packageJson);\n\n log.info(`${this.dryRunPrefix}Publishing ${packageJson.name} version ${version}`);\n await npmPublish({ dry, tag });\n } catch (error) {\n log.error(`Failed to publish package ${packageJson.name}`);\n\n const versionOriginallyTaggedWithRollback =\n data.publishedTags[buildRollbackTag(data.tag)];\n\n if (versionOriginallyTaggedWithRollback) {\n await this.restoreRollbackTag(\n packageJson.name,\n data,\n versionOriginallyTaggedWithRollback\n );\n }\n throw error;\n }\n }\n\n private uploadSourcemaps({ dry, version }: PublishData) {\n const options = [...[dry && '--dry'], `--releaseVersion=${version}`].filter(\n option => !!option\n ) as string[];\n\n runCommand(`npx startup upload-sourcemaps ${options.join(' ')}`);\n }\n\n private getPublishData(packageName: string): PublishData {\n const cli = this.args;\n const branch = cli.branch ?? gitGetBranch();\n const branchConfig = getBranchesConfigs()[branch];\n\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n const buildVersion = cli.build || getDefaultBuildVersion(branch, gitGetCommitHash());\n const registry = cli.registry ?? DEFAULT_MFE_REGISTRY;\n const tag = cli.tag ?? branchConfig?.publishTag ?? '';\n const uploadSourcemaps = cli.uploadSourcemaps ?? branchConfig?.uploadSourcemaps ?? true;\n const version = '0.0.0-' + buildVersion;\n const publishedTags = npmView({ packageName, registry })?.['dist-tags'] ?? {};\n\n return {\n buildVersion,\n dry: !!cli.dry,\n force: !!cli.force,\n isBranchConfigured: !!branchConfig,\n publishedTags,\n registry,\n tag: tag || 'latest',\n trackHistory: cli.trackHistory ?? true,\n uploadSourcemaps,\n version,\n };\n }\n\n private async setPackageFiles({ files: inputFiles }: PackageJson) {\n let outputFiles = ['dist/bundle', 'dist/metadata.json', 'package.json'];\n\n if (inputFiles?.length) {\n const index = inputFiles.findIndex(file => file === 'dist');\n if (index < 0) {\n return;\n }\n outputFiles = [\n ...inputFiles.slice(0, index),\n ...outputFiles.filter(file => file.startsWith('dist')),\n ...inputFiles.slice(index + 1),\n ];\n }\n\n for (let i = 0, n = outputFiles.length; i < n; i++) {\n // eslint-disable-next-line no-await-in-loop\n await npmPackageSet(`files[${i}]`, outputFiles[i]);\n }\n }\n\n private validateMetadata(version: string) {\n const { destination: outDir } = getFolders();\n\n const metadataJson = path.join(outDir, 'metadata.json');\n if (!fs.existsSync(metadataJson)) {\n throw new Error(`${metadataJson} is not present`);\n }\n\n const metadata = readJson<Metadata>(metadataJson);\n this.validateEntryPoints(outDir, metadata);\n\n fs.writeFileSync(metadataJson, JSON.stringify({ ...metadata, version }, null, 2), 'utf-8');\n }\n\n private validateEntryPoints(outDir: string, { entrypoints = {} }: Metadata) {\n const keys: (keyof EntryPoints)[] = ['full', 'light'];\n keys.forEach(name =>\n this.validateEntryPoint({ entryPoint: entrypoints[name], name, outDir })\n );\n }\n\n private validateEntryPoint({\n entryPoint = {},\n name,\n outDir,\n }: {\n entryPoint?: EntryPoint;\n name: keyof EntryPoints;\n outDir: string;\n }) {\n const keys: (keyof EntryPoint)[] = ['css', 'js'];\n keys.forEach(key => {\n if (!entryPoint[key]) {\n throw new Error(`${name}.${key} not found in metadata.json`);\n }\n entryPoint[key].forEach(filename => {\n if (!fs.existsSync(path.join(outDir, 'bundle', name, filename))) {\n throw new Error(`referenced bundle ${filename} was not found`);\n }\n });\n });\n }\n\n private async maybeApplyRollbackTag(packageName: string, data: PublishData) {\n const { dry, registry, tag, trackHistory, version, publishedTags } = data;\n\n if (!trackHistory) {\n log.info('Track history is turned off, skipping rollback tag');\n return;\n }\n\n const previousVersion = publishedTags[tag];\n\n if (!previousVersion) {\n log.info(`No previous version published with tag \"${tag}\", skipping rollback tag`);\n return;\n }\n\n if (previousVersion === version) {\n log.info(`Version \"${version}\" is already tagged \"${tag}\", skipping rollback tag`);\n return;\n }\n\n const prevTag = buildRollbackTag(tag);\n\n log.info(\n `${this.dryRunPrefix}Tagging previous version ${previousVersion} with tag \"${prevTag}\"`\n );\n\n if (!dry) {\n await npmTagVersion({\n packageName,\n packageVersion: previousVersion,\n registry,\n tag: prevTag,\n });\n }\n }\n\n private async restoreRollbackTag(\n packageName: string,\n { registry, tag }: PublishData,\n version: string\n ) {\n const rollbackTag = buildRollbackTag(tag);\n\n log.info(`Restoring rollback tag ${rollbackTag} back to version ${version}`);\n\n await npmTagVersion({\n packageName,\n packageVersion: version,\n registry,\n tag: rollbackTag,\n });\n }\n}\n"],"names":["MFEPackagePublish","mfePackagePublishOptions","branch","string","description","defaultDescription","build","dry","boolean","force","registry","hidden","trackHistory","tag","uploadSourcemaps","Command","execute","args","log","warning","packageJson","readJson","data","getPublishData","name","checkPackage","maybeApplyRollbackTag","maybePublishPackage","dryRunPrefix","DRY_RUN_PREFIX","isBranchConfigured","isWebComponent","Error","private","version","versions","npmGetPackageVersions","includes","info","npmTagVersion","packageName","packageVersion","validateMetadata","npmPackageSet","setPackageFiles","npmPublish","error","versionOriginallyTaggedWithRollback","publishedTags","buildRollbackTag","restoreRollbackTag","options","filter","option","runCommand","join","cli","npmView","gitGetBranch","branchConfig","getBranchesConfigs","buildVersion","getDefaultBuildVersion","gitGetCommitHash","DEFAULT_MFE_REGISTRY","publishTag","files","inputFiles","outputFiles","length","index","findIndex","file","slice","startsWith","i","n","destination","outDir","getFolders","metadataJson","path","fs","existsSync","metadata","validateEntryPoints","writeFileSync","JSON","stringify","entrypoints","keys","forEach","validateEntryPoint","entryPoint","key","filename","previousVersion","prevTag","rollbackTag"],"mappings":"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"}
|
|
@@ -23,6 +23,10 @@ declare const options: {
|
|
|
23
23
|
boolean: true;
|
|
24
24
|
description: string;
|
|
25
25
|
};
|
|
26
|
+
useVite: {
|
|
27
|
+
boolean: true;
|
|
28
|
+
description: string;
|
|
29
|
+
};
|
|
26
30
|
};
|
|
27
31
|
export declare class Start extends Command<typeof options> {
|
|
28
32
|
static readonly description = "Run project in development mode";
|
|
@@ -51,6 +55,10 @@ export declare class Start extends Command<typeof options> {
|
|
|
51
55
|
boolean: true;
|
|
52
56
|
description: string;
|
|
53
57
|
};
|
|
58
|
+
useVite: {
|
|
59
|
+
boolean: true;
|
|
60
|
+
description: string;
|
|
61
|
+
};
|
|
54
62
|
};
|
|
55
63
|
execute(): Promise<void>;
|
|
56
64
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,OAAO,EAAkB,MAAM,SAAS,CAAC;AAElD,QAAA,MAAM,OAAO
|
|
1
|
+
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,OAAO,EAAkB,MAAM,SAAS,CAAC;AAElD,QAAA,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOa,CAAC;AAa3B,qBAAa,KAAM,SAAQ,OAAO,CAAC,OAAO,OAAO,CAAC;IAC9C,MAAM,CAAC,QAAQ,CAAC,WAAW,qCAAqC;IAChE,MAAM,CAAC,QAAQ,CAAC,MAAM,QAAQ;IAC9B,MAAM,CAAC,QAAQ,CAAC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAW;IAG5B,OAAO;CAsJhB"}
|
|
@@ -56,6 +56,10 @@ const options = {
|
|
|
56
56
|
useTsc: {
|
|
57
57
|
boolean: true,
|
|
58
58
|
description: 'Use tsc to compile packages?'
|
|
59
|
+
},
|
|
60
|
+
useVite: {
|
|
61
|
+
boolean: true,
|
|
62
|
+
description: 'Use Vite to bundle packages?'
|
|
59
63
|
}
|
|
60
64
|
};
|
|
61
65
|
var StartProcesses = /*#__PURE__*/ function(StartProcesses) {
|
|
@@ -78,6 +82,8 @@ class Start extends _types.Command {
|
|
|
78
82
|
]
|
|
79
83
|
});
|
|
80
84
|
const useTsc = this.args.useTsc;
|
|
85
|
+
const useVite = this.args.useVite;
|
|
86
|
+
const cmd = useVite ? 'startup bundle-vite' : 'startup bundle-package';
|
|
81
87
|
const packages = (0, _utils.getPackages)({
|
|
82
88
|
scope: this.args.scope,
|
|
83
89
|
ignore: this.args.ignore,
|
|
@@ -172,7 +178,7 @@ class Start extends _types.Command {
|
|
|
172
178
|
return Promise.resolve();
|
|
173
179
|
}
|
|
174
180
|
return (0, _utils1.lernaExec)({
|
|
175
|
-
|
|
181
|
+
cmd,
|
|
176
182
|
'scope': webpackScope,
|
|
177
183
|
'parallel': true,
|
|
178
184
|
'stream': true,
|
|
@@ -192,7 +198,7 @@ class Start extends _types.Command {
|
|
|
192
198
|
return Promise.resolve();
|
|
193
199
|
}
|
|
194
200
|
return (0, _utils1.lernaExec)({
|
|
195
|
-
|
|
201
|
+
cmd,
|
|
196
202
|
'scope': webpackScope,
|
|
197
203
|
'parallel': true,
|
|
198
204
|
'stream': true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/cli/commands/start.ts"],"sourcesContent":["import { getPackages, log, logErrors, PackageType } from '../../utils';\nimport {\n checkArgs,\n compile,\n lernaExec,\n pipeStdout,\n ProcessTree,\n typeCheck,\n watchStdout,\n} from '../utils';\nimport { Command, CommandOptions } from './types';\n\nconst options = {\n codeCoverage: { boolean: true, description: 'Instrument code for coverage analysis?' },\n config: { string: true, hidden: true, description: 'Use specified configuration' },\n ignore: { array: true, string: true, description: 'Packages to skip' },\n scope: { array: true, string: true, description: 'Packages to run and watch' },\n useTsc: { boolean: true, description: 'Use tsc to compile packages?' },\n} satisfies CommandOptions;\n\nenum StartProcesses {\n Precompile,\n Compile,\n KendoUILicense,\n PreparePackage,\n PreparePackageWatch,\n TypeCheck,\n BundleExposedDependencies,\n BundlePackage,\n}\n\nexport class Start extends Command<typeof options> {\n static readonly description = 'Run project in development mode';\n static readonly greedy = true;\n static readonly options = options;\n\n @logErrors\n async execute() {\n checkArgs(this.args, { obsolete: ['--esbuild', '--experimental-bundlers'] });\n\n const useTsc = this.args.useTsc;\n\n const packages = getPackages({\n scope: this.args.scope,\n ignore: this.args.ignore,\n type: [PackageType.TSC, PackageType.Webpack],\n });\n if (packages.length === 0) {\n return;\n }\n\n const scope = packages.map(({ name }) => name);\n const webpackScope = packages\n .filter(({ type }) => type === PackageType.Webpack)\n .map(({ name }) => name);\n const precompileScope = packages\n .filter(({ scripts }) => !!scripts?.precompile)\n .map(({ name }) => name);\n\n const processTree = new ProcessTree<typeof StartProcesses>();\n\n processTree.add(StartProcesses.Precompile, () => {\n if (precompileScope.length === 0) {\n return Promise.resolve();\n }\n return lernaExec({\n cmd: 'npm run precompile',\n scope: precompileScope,\n parallel: true,\n stream: true,\n });\n });\n\n processTree.add(\n StartProcesses.Compile,\n () => {\n const process = compile({\n packages: scope,\n watch: true,\n useTsc,\n });\n\n pipeStdout(process);\n\n const onComplete = new Promise<void>(resolve => {\n let counter = 0;\n let timeout: NodeJS.Timeout;\n\n if (!useTsc) {\n /*\n * Running the timer as a fallback\n * In case there are no files in the package swc will not print out completion indicator\n */\n timeout = setTimeout(() => {\n log.warning(\n 'Compilation timeout exceeded. Proceeding without waiting.'\n );\n resolve();\n unwatch();\n }, 30000);\n }\n\n const unwatch = watchStdout(\n process,\n useTsc\n ? 'Initial tsc-compile-package task completed'\n : 'Initial swc-compile-package task completed',\n count => {\n counter += count;\n\n if (counter === scope.length) {\n resolve();\n clearTimeout(timeout);\n }\n }\n );\n });\n\n return { process, onComplete };\n },\n { dependsOn: [StartProcesses.Precompile] }\n );\n processTree.add(StartProcesses.PreparePackage, () =>\n lernaExec({\n cmd: 'startup prepare-package',\n scope,\n stream: true,\n })\n );\n processTree.add(\n StartProcesses.PreparePackageWatch,\n () =>\n lernaExec({\n 'cmd': 'startup prepare-package',\n scope,\n 'parallel': true,\n 'stream': true,\n '--': ['--watch'],\n }),\n { dependsOn: [StartProcesses.PreparePackage] }\n );\n processTree.add(\n StartProcesses.TypeCheck,\n () => typeCheck({ packages: scope, watch: true }),\n { dependsOn: [StartProcesses.PreparePackage] }\n );\n processTree.add(\n StartProcesses.BundleExposedDependencies,\n () => {\n if (webpackScope.length === 0) {\n return Promise.resolve();\n }\n return lernaExec({\n 'cmd': 'startup bundle-package',\n 'scope': webpackScope,\n 'parallel': true,\n 'stream': true,\n '--': ['--exposed-dependencies', '--use-watch-config'],\n });\n },\n { dependsOn: [StartProcesses.Compile, StartProcesses.PreparePackage] }\n );\n processTree.add(\n StartProcesses.BundlePackage,\n () => {\n if (webpackScope.length === 0) {\n return Promise.resolve();\n }\n return lernaExec({\n 'cmd': 'startup bundle-package',\n 'scope': webpackScope,\n 'parallel': true,\n 'stream': true,\n '--': [\n '--watch',\n this.args.config ? `--config \"${this.args.config}\"` : undefined,\n this.args.codeCoverage ? '--code-coverage' : undefined,\n ].filter(item => !!item) as string[],\n });\n },\n { dependsOn: [StartProcesses.BundleExposedDependencies] }\n );\n\n await processTree.run();\n }\n}\n"],"names":["Start","options","codeCoverage","boolean","description","config","string","hidden","ignore","array","scope","useTsc","StartProcesses","Command","execute","checkArgs","args","obsolete","packages","getPackages","type","PackageType","TSC","Webpack","length","map","name","webpackScope","filter","precompileScope","scripts","precompile","processTree","ProcessTree","add","Promise","resolve","lernaExec","cmd","parallel","stream","process","compile","watch","pipeStdout","onComplete","counter","timeout","setTimeout","log","warning","unwatch","watchStdout","count","clearTimeout","dependsOn","typeCheck","undefined","item","run","greedy"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/commands/start.ts"],"sourcesContent":["import { getPackages, log, logErrors, PackageType } from '../../utils';\nimport {\n checkArgs,\n compile,\n lernaExec,\n pipeStdout,\n ProcessTree,\n typeCheck,\n watchStdout,\n} from '../utils';\nimport { Command, CommandOptions } from './types';\n\nconst options = {\n codeCoverage: { boolean: true, description: 'Instrument code for coverage analysis?' },\n config: { string: true, hidden: true, description: 'Use specified configuration' },\n ignore: { array: true, string: true, description: 'Packages to skip' },\n scope: { array: true, string: true, description: 'Packages to run and watch' },\n useTsc: { boolean: true, description: 'Use tsc to compile packages?' },\n useVite: { boolean: true, description: 'Use Vite to bundle packages?' },\n} satisfies CommandOptions;\n\nenum StartProcesses {\n Precompile,\n Compile,\n KendoUILicense,\n PreparePackage,\n PreparePackageWatch,\n TypeCheck,\n BundleExposedDependencies,\n BundlePackage,\n}\n\nexport class Start extends Command<typeof options> {\n static readonly description = 'Run project in development mode';\n static readonly greedy = true;\n static readonly options = options;\n\n @logErrors\n async execute() {\n checkArgs(this.args, { obsolete: ['--esbuild', '--experimental-bundlers'] });\n\n const useTsc = this.args.useTsc;\n const useVite = this.args.useVite;\n const cmd = useVite ? 'startup bundle-vite' : 'startup bundle-package';\n\n const packages = getPackages({\n scope: this.args.scope,\n ignore: this.args.ignore,\n type: [PackageType.TSC, PackageType.Webpack],\n });\n if (packages.length === 0) {\n return;\n }\n\n const scope = packages.map(({ name }) => name);\n const webpackScope = packages\n .filter(({ type }) => type === PackageType.Webpack)\n .map(({ name }) => name);\n const precompileScope = packages\n .filter(({ scripts }) => !!scripts?.precompile)\n .map(({ name }) => name);\n\n const processTree = new ProcessTree<typeof StartProcesses>();\n\n processTree.add(StartProcesses.Precompile, () => {\n if (precompileScope.length === 0) {\n return Promise.resolve();\n }\n return lernaExec({\n cmd: 'npm run precompile',\n scope: precompileScope,\n parallel: true,\n stream: true,\n });\n });\n\n processTree.add(\n StartProcesses.Compile,\n () => {\n const process = compile({\n packages: scope,\n watch: true,\n useTsc,\n });\n\n pipeStdout(process);\n\n const onComplete = new Promise<void>(resolve => {\n let counter = 0;\n let timeout: NodeJS.Timeout;\n\n if (!useTsc) {\n /*\n * Running the timer as a fallback\n * In case there are no files in the package swc will not print out completion indicator\n */\n timeout = setTimeout(() => {\n log.warning(\n 'Compilation timeout exceeded. Proceeding without waiting.'\n );\n resolve();\n unwatch();\n }, 30000);\n }\n\n const unwatch = watchStdout(\n process,\n useTsc\n ? 'Initial tsc-compile-package task completed'\n : 'Initial swc-compile-package task completed',\n count => {\n counter += count;\n\n if (counter === scope.length) {\n resolve();\n clearTimeout(timeout);\n }\n }\n );\n });\n\n return { process, onComplete };\n },\n { dependsOn: [StartProcesses.Precompile] }\n );\n processTree.add(StartProcesses.PreparePackage, () =>\n lernaExec({\n cmd: 'startup prepare-package',\n scope,\n stream: true,\n })\n );\n processTree.add(\n StartProcesses.PreparePackageWatch,\n () =>\n lernaExec({\n 'cmd': 'startup prepare-package',\n scope,\n 'parallel': true,\n 'stream': true,\n '--': ['--watch'],\n }),\n { dependsOn: [StartProcesses.PreparePackage] }\n );\n processTree.add(\n StartProcesses.TypeCheck,\n () => typeCheck({ packages: scope, watch: true }),\n { dependsOn: [StartProcesses.PreparePackage] }\n );\n processTree.add(\n StartProcesses.BundleExposedDependencies,\n () => {\n if (webpackScope.length === 0) {\n return Promise.resolve();\n }\n return lernaExec({\n cmd,\n 'scope': webpackScope,\n 'parallel': true,\n 'stream': true,\n '--': ['--exposed-dependencies', '--use-watch-config'],\n });\n },\n { dependsOn: [StartProcesses.Compile, StartProcesses.PreparePackage] }\n );\n processTree.add(\n StartProcesses.BundlePackage,\n () => {\n if (webpackScope.length === 0) {\n return Promise.resolve();\n }\n return lernaExec({\n cmd,\n 'scope': webpackScope,\n 'parallel': true,\n 'stream': true,\n '--': [\n '--watch',\n this.args.config ? `--config \"${this.args.config}\"` : undefined,\n this.args.codeCoverage ? '--code-coverage' : undefined,\n ].filter(item => !!item) as string[],\n });\n },\n { dependsOn: [StartProcesses.BundleExposedDependencies] }\n );\n\n await processTree.run();\n }\n}\n"],"names":["Start","options","codeCoverage","boolean","description","config","string","hidden","ignore","array","scope","useTsc","useVite","StartProcesses","Command","execute","checkArgs","args","obsolete","cmd","packages","getPackages","type","PackageType","TSC","Webpack","length","map","name","webpackScope","filter","precompileScope","scripts","precompile","processTree","ProcessTree","add","Promise","resolve","lernaExec","parallel","stream","process","compile","watch","pipeStdout","onComplete","counter","timeout","setTimeout","log","warning","unwatch","watchStdout","count","clearTimeout","dependsOn","typeCheck","undefined","item","run","greedy"],"mappings":"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"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "SwcCompilePackage", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return SwcCompilePackage;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _cli = require("@swc/cli");
|
|
12
|
+
const _debounce = /*#__PURE__*/ _interop_require_default(require("debounce"));
|
|
13
|
+
const _deepmerge = /*#__PURE__*/ _interop_require_default(require("deepmerge"));
|
|
14
|
+
const _utils = require("../../utils");
|
|
15
|
+
const _utils1 = require("../utils");
|
|
16
|
+
const _task = require("./task");
|
|
17
|
+
function _interop_require_default(obj) {
|
|
18
|
+
return obj && obj.__esModule ? obj : {
|
|
19
|
+
default: obj
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
function overwriteMerge(_destinationArray, sourceArray) {
|
|
23
|
+
return sourceArray;
|
|
24
|
+
}
|
|
25
|
+
const typedefsPattern = '**/*.d.ts';
|
|
26
|
+
class SwcCompilePackage extends _task.Task {
|
|
27
|
+
async execute() {
|
|
28
|
+
const config = this.getConfig();
|
|
29
|
+
/* istanbul ignore next: debug only */ _utils.log.debug('swc-compile-package:config', ()=>JSON.stringify(config, null, 2));
|
|
30
|
+
/*
|
|
31
|
+
* @swc/cli@0.5.0 doesn't implement "ignore" in watch mode so debounce
|
|
32
|
+
* noisy output. See https://servicetitan.atlassian.net/browse/FAR-1592
|
|
33
|
+
* and DEVELOPER_NOTES in file://./../../../package.json
|
|
34
|
+
*/ const logSuccessResults = this.watch ? (0, _debounce.default)(this.logCompletionResults.bind(this), 200) : this.logCompletionResults.bind(this);
|
|
35
|
+
return new Promise((resolve, reject)=>{
|
|
36
|
+
(0, _cli.swcDir)({
|
|
37
|
+
...config,
|
|
38
|
+
callbacks: {
|
|
39
|
+
onSuccess: (e)=>{
|
|
40
|
+
logSuccessResults(this.taskTimer.add(e.duration));
|
|
41
|
+
if (!this.watch) {
|
|
42
|
+
resolve();
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
onFail: (e)=>{
|
|
46
|
+
_utils.log.text([
|
|
47
|
+
...e.reasons.values()
|
|
48
|
+
][0]);
|
|
49
|
+
this.logCompletionResults(this.taskTimer.add(e.duration));
|
|
50
|
+
if (!this.watch) {
|
|
51
|
+
reject(new Error('Compilation failed'));
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
getConfig() {
|
|
59
|
+
var _tsConfig_getValue;
|
|
60
|
+
const { source, destination } = (0, _utils.getFolders)();
|
|
61
|
+
const packageConfig = (0, _utils.getSwcCompilePackageConfiguration)();
|
|
62
|
+
const tsConfig = new _utils1.TSConfig((0, _utils.getTsConfig)());
|
|
63
|
+
const target = tsConfig.getValue('compilerOptions.target');
|
|
64
|
+
const legacyDecorator = tsConfig.getValue('compilerOptions.experimentalDecorators');
|
|
65
|
+
const decoratorMetadata = tsConfig.getValue('compilerOptions.emitDecoratorMetadata');
|
|
66
|
+
const sourceMaps = tsConfig.getValue('compilerOptions.sourceMap');
|
|
67
|
+
const module = (_tsConfig_getValue = tsConfig.getValue('compilerOptions.module')) === null || _tsConfig_getValue === void 0 ? void 0 : _tsConfig_getValue.toLowerCase();
|
|
68
|
+
const ignore = tsConfig.getValue('exclude', [
|
|
69
|
+
'**/*.d.ts',
|
|
70
|
+
'**/__tests__/*',
|
|
71
|
+
'**/*.test.*',
|
|
72
|
+
'**/__mocks__/*',
|
|
73
|
+
'**/*.stories.*'
|
|
74
|
+
]);
|
|
75
|
+
if (!ignore.includes(typedefsPattern)) {
|
|
76
|
+
ignore.push(typedefsPattern);
|
|
77
|
+
}
|
|
78
|
+
return (0, _deepmerge.default)({
|
|
79
|
+
cliOptions: {
|
|
80
|
+
watch: this.watch,
|
|
81
|
+
outDir: destination,
|
|
82
|
+
stripLeadingPaths: true,
|
|
83
|
+
extensions: [
|
|
84
|
+
'.ts',
|
|
85
|
+
'.tsx'
|
|
86
|
+
],
|
|
87
|
+
filenames: [
|
|
88
|
+
source
|
|
89
|
+
],
|
|
90
|
+
ignore
|
|
91
|
+
},
|
|
92
|
+
swcOptions: {
|
|
93
|
+
jsc: {
|
|
94
|
+
parser: {
|
|
95
|
+
syntax: 'typescript',
|
|
96
|
+
tsx: true,
|
|
97
|
+
decorators: true
|
|
98
|
+
},
|
|
99
|
+
target,
|
|
100
|
+
transform: {
|
|
101
|
+
legacyDecorator,
|
|
102
|
+
decoratorMetadata,
|
|
103
|
+
react: {
|
|
104
|
+
runtime: 'automatic'
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
},
|
|
108
|
+
sourceMaps,
|
|
109
|
+
module: {
|
|
110
|
+
type: module === 'commonjs' || module === 'nodenext' ? 'commonjs' : 'es6'
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}, packageConfig, {
|
|
114
|
+
arrayMerge: overwriteMerge,
|
|
115
|
+
clone: false
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
constructor({ watch }){
|
|
119
|
+
super({
|
|
120
|
+
name: 'swc-compile-package',
|
|
121
|
+
global: false,
|
|
122
|
+
watch
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
//# sourceMappingURL=swc-compile-package.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/tasks/swc-compile-package.ts"],"sourcesContent":["import { Options, swcDir } from '@swc/cli';\nimport debounce from 'debounce';\nimport deepmerge from 'deepmerge';\nimport { getFolders, getSwcCompilePackageConfiguration, getTsConfig, log } from '../../utils';\nimport { TSConfig } from '../utils';\nimport { Task } from './task';\n\ninterface Args {\n watch?: boolean;\n}\n\nfunction overwriteMerge(_destinationArray: unknown[], sourceArray: unknown[]) {\n return sourceArray;\n}\n\nconst typedefsPattern = '**/*.d.ts';\n\nexport class SwcCompilePackage extends Task {\n constructor({ watch }: Args) {\n super({ name: 'swc-compile-package', global: false, watch });\n }\n\n async execute(): Promise<void> {\n const config = this.getConfig();\n\n /* istanbul ignore next: debug only */\n log.debug('swc-compile-package:config', () => JSON.stringify(config, null, 2));\n\n /*\n * @swc/cli@0.5.0 doesn't implement \"ignore\" in watch mode so debounce\n * noisy output. See https://servicetitan.atlassian.net/browse/FAR-1592\n * and DEVELOPER_NOTES in file://./../../../package.json\n */\n const logSuccessResults = this.watch\n ? debounce(this.logCompletionResults.bind(this), 200)\n : this.logCompletionResults.bind(this);\n\n return new Promise((resolve, reject) => {\n swcDir({\n ...config,\n callbacks: {\n onSuccess: (e: { duration: number }) => {\n logSuccessResults(this.taskTimer.add(e.duration));\n if (!this.watch) {\n resolve();\n }\n },\n onFail: (e: { duration: number; reasons: Map<string, string> }) => {\n log.text([...e.reasons.values()][0]);\n this.logCompletionResults(this.taskTimer.add(e.duration));\n if (!this.watch) {\n reject(new Error('Compilation failed'));\n }\n },\n },\n });\n });\n }\n\n private getConfig(): Options {\n const { source, destination } = getFolders();\n const packageConfig = getSwcCompilePackageConfiguration();\n const tsConfig = new TSConfig(getTsConfig());\n const target = tsConfig.getValue('compilerOptions.target');\n const legacyDecorator = tsConfig.getValue('compilerOptions.experimentalDecorators');\n const decoratorMetadata = tsConfig.getValue('compilerOptions.emitDecoratorMetadata');\n const sourceMaps = tsConfig.getValue('compilerOptions.sourceMap');\n const module = tsConfig.getValue<string>('compilerOptions.module')?.toLowerCase();\n const ignore = tsConfig.getValue('exclude', [\n '**/*.d.ts',\n '**/__tests__/*',\n '**/*.test.*',\n '**/__mocks__/*',\n '**/*.stories.*',\n ]);\n\n if (!ignore.includes(typedefsPattern)) {\n ignore.push(typedefsPattern);\n }\n\n return deepmerge(\n {\n cliOptions: {\n watch: this.watch,\n outDir: destination,\n stripLeadingPaths: true,\n extensions: ['.ts', '.tsx'],\n filenames: [source],\n ignore,\n },\n swcOptions: {\n jsc: {\n parser: {\n syntax: 'typescript',\n tsx: true,\n decorators: true,\n },\n target,\n transform: {\n legacyDecorator,\n decoratorMetadata,\n react: {\n runtime: 'automatic',\n },\n },\n },\n sourceMaps,\n module: {\n type: module === 'commonjs' || module === 'nodenext' ? 'commonjs' : 'es6',\n },\n },\n },\n packageConfig,\n { arrayMerge: overwriteMerge, clone: false }\n );\n }\n}\n"],"names":["SwcCompilePackage","overwriteMerge","_destinationArray","sourceArray","typedefsPattern","Task","execute","config","getConfig","log","debug","JSON","stringify","logSuccessResults","watch","debounce","logCompletionResults","bind","Promise","resolve","reject","swcDir","callbacks","onSuccess","e","taskTimer","add","duration","onFail","text","reasons","values","Error","tsConfig","source","destination","getFolders","packageConfig","getSwcCompilePackageConfiguration","TSConfig","getTsConfig","target","getValue","legacyDecorator","decoratorMetadata","sourceMaps","module","toLowerCase","ignore","includes","push","deepmerge","cliOptions","outDir","stripLeadingPaths","extensions","filenames","swcOptions","jsc","parser","syntax","tsx","decorators","transform","react","runtime","type","arrayMerge","clone","name","global"],"mappings":";;;;+BAiBaA;;;eAAAA;;;qBAjBmB;iEACX;kEACC;uBAC0D;wBACvD;sBACJ;;;;;;AAMrB,SAASC,eAAeC,iBAA4B,EAAEC,WAAsB;IACxE,OAAOA;AACX;AAEA,MAAMC,kBAAkB;AAEjB,MAAMJ,0BAA0BK,UAAI;IAKvC,MAAMC,UAAyB;QAC3B,MAAMC,SAAS,IAAI,CAACC,SAAS;QAE7B,oCAAoC,GACpCC,UAAG,CAACC,KAAK,CAAC,8BAA8B,IAAMC,KAAKC,SAAS,CAACL,QAAQ,MAAM;QAE3E;;;;SAIC,GACD,MAAMM,oBAAoB,IAAI,CAACC,KAAK,GAC9BC,IAAAA,iBAAQ,EAAC,IAAI,CAACC,oBAAoB,CAACC,IAAI,CAAC,IAAI,GAAG,OAC/C,IAAI,CAACD,oBAAoB,CAACC,IAAI,CAAC,IAAI;QAEzC,OAAO,IAAIC,QAAQ,CAACC,SAASC;YACzBC,IAAAA,WAAM,EAAC;gBACH,GAAGd,MAAM;gBACTe,WAAW;oBACPC,WAAW,CAACC;wBACRX,kBAAkB,IAAI,CAACY,SAAS,CAACC,GAAG,CAACF,EAAEG,QAAQ;wBAC/C,IAAI,CAAC,IAAI,CAACb,KAAK,EAAE;4BACbK;wBACJ;oBACJ;oBACAS,QAAQ,CAACJ;wBACLf,UAAG,CAACoB,IAAI,CAAC;+BAAIL,EAAEM,OAAO,CAACC,MAAM;yBAAG,CAAC,EAAE;wBACnC,IAAI,CAACf,oBAAoB,CAAC,IAAI,CAACS,SAAS,CAACC,GAAG,CAACF,EAAEG,QAAQ;wBACvD,IAAI,CAAC,IAAI,CAACb,KAAK,EAAE;4BACbM,OAAO,IAAIY,MAAM;wBACrB;oBACJ;gBACJ;YACJ;QACJ;IACJ;IAEQxB,YAAqB;YAQVyB;QAPf,MAAM,EAAEC,MAAM,EAAEC,WAAW,EAAE,GAAGC,IAAAA,iBAAU;QAC1C,MAAMC,gBAAgBC,IAAAA,wCAAiC;QACvD,MAAML,WAAW,IAAIM,gBAAQ,CAACC,IAAAA,kBAAW;QACzC,MAAMC,SAASR,SAASS,QAAQ,CAAC;QACjC,MAAMC,kBAAkBV,SAASS,QAAQ,CAAC;QAC1C,MAAME,oBAAoBX,SAASS,QAAQ,CAAC;QAC5C,MAAMG,aAAaZ,SAASS,QAAQ,CAAC;QACrC,MAAMI,UAASb,qBAAAA,SAASS,QAAQ,CAAS,uCAA1BT,yCAAAA,mBAAqDc,WAAW;QAC/E,MAAMC,SAASf,SAASS,QAAQ,CAAC,WAAW;YACxC;YACA;YACA;YACA;YACA;SACH;QAED,IAAI,CAACM,OAAOC,QAAQ,CAAC7C,kBAAkB;YACnC4C,OAAOE,IAAI,CAAC9C;QAChB;QAEA,OAAO+C,IAAAA,kBAAS,EACZ;YACIC,YAAY;gBACRtC,OAAO,IAAI,CAACA,KAAK;gBACjBuC,QAAQlB;gBACRmB,mBAAmB;gBACnBC,YAAY;oBAAC;oBAAO;iBAAO;gBAC3BC,WAAW;oBAACtB;iBAAO;gBACnBc;YACJ;YACAS,YAAY;gBACRC,KAAK;oBACDC,QAAQ;wBACJC,QAAQ;wBACRC,KAAK;wBACLC,YAAY;oBAChB;oBACArB;oBACAsB,WAAW;wBACPpB;wBACAC;wBACAoB,OAAO;4BACHC,SAAS;wBACb;oBACJ;gBACJ;gBACApB;gBACAC,QAAQ;oBACJoB,MAAMpB,WAAW,cAAcA,WAAW,aAAa,aAAa;gBACxE;YACJ;QACJ,GACAT,eACA;YAAE8B,YAAYlE;YAAgBmE,OAAO;QAAM;IAEnD;IAjGA,YAAY,EAAEtD,KAAK,EAAQ,CAAE;QACzB,KAAK,CAAC;YAAEuD,MAAM;YAAuBC,QAAQ;YAAOxD;QAAM;IAC9D;AAgGJ"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "TscCompilePackage", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return TscCompilePackage;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _utils = require("../../utils");
|
|
12
|
+
const _clitask = require("./cli-task");
|
|
13
|
+
class TscCompilePackage extends _clitask.CliTask {
|
|
14
|
+
async execute() {
|
|
15
|
+
const tsConfig = (0, _utils.getTsConfig)();
|
|
16
|
+
await this.runChildProcess('tsc', [
|
|
17
|
+
this.watch ? '-w' : undefined,
|
|
18
|
+
'--pretty',
|
|
19
|
+
'--preserveWatchOutput',
|
|
20
|
+
'--noCheck',
|
|
21
|
+
'--composite',
|
|
22
|
+
'false',
|
|
23
|
+
'--declaration',
|
|
24
|
+
'false',
|
|
25
|
+
'--declarationMap',
|
|
26
|
+
'false',
|
|
27
|
+
'--tsBuildInfoFile',
|
|
28
|
+
'tsconfig.compile.tsbuildinfo',
|
|
29
|
+
'--project',
|
|
30
|
+
tsConfig
|
|
31
|
+
].filter((i)=>i !== undefined));
|
|
32
|
+
}
|
|
33
|
+
constructor({ watch }){
|
|
34
|
+
super({
|
|
35
|
+
name: 'tsc-compile-package',
|
|
36
|
+
global: false,
|
|
37
|
+
indicators: {
|
|
38
|
+
end: 'Watching for file changes.',
|
|
39
|
+
watchStart: 'Starting incremental compilation.'
|
|
40
|
+
},
|
|
41
|
+
watch
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
//# sourceMappingURL=tsc-compile-package.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/tasks/tsc-compile-package.ts"],"sourcesContent":["import { getTsConfig } from '../../utils';\nimport { CliTask } from './cli-task';\n\ninterface Args {\n watch?: boolean;\n}\n\nexport class TscCompilePackage extends CliTask {\n constructor({ watch }: Args) {\n super({\n name: 'tsc-compile-package',\n global: false,\n indicators: {\n end: 'Watching for file changes.',\n watchStart: 'Starting incremental compilation.',\n },\n watch,\n });\n }\n\n async execute() {\n const tsConfig = getTsConfig();\n await this.runChildProcess(\n 'tsc',\n [\n this.watch ? '-w' : undefined,\n '--pretty',\n '--preserveWatchOutput',\n '--noCheck',\n '--composite',\n 'false',\n '--declaration',\n 'false',\n '--declarationMap',\n 'false',\n '--tsBuildInfoFile',\n 'tsconfig.compile.tsbuildinfo',\n '--project',\n tsConfig,\n ].filter(i => i !== undefined)\n );\n }\n}\n"],"names":["TscCompilePackage","CliTask","execute","tsConfig","getTsConfig","runChildProcess","watch","undefined","filter","i","name","global","indicators","end","watchStart"],"mappings":";;;;+BAOaA;;;eAAAA;;;uBAPe;yBACJ;AAMjB,MAAMA,0BAA0BC,gBAAO;IAa1C,MAAMC,UAAU;QACZ,MAAMC,WAAWC,IAAAA,kBAAW;QAC5B,MAAM,IAAI,CAACC,eAAe,CACtB,OACA;YACI,IAAI,CAACC,KAAK,GAAG,OAAOC;YACpB;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACAJ;SACH,CAACK,MAAM,CAACC,CAAAA,IAAKA,MAAMF;IAE5B;IAjCA,YAAY,EAAED,KAAK,EAAQ,CAAE;QACzB,KAAK,CAAC;YACFI,MAAM;YACNC,QAAQ;YACRC,YAAY;gBACRC,KAAK;gBACLC,YAAY;YAChB;YACAR;QACJ;IACJ;AAwBJ"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "TscCompile", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return TscCompile;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _utils = require("../../utils");
|
|
12
|
+
const _clitask = require("./cli-task");
|
|
13
|
+
function _define_property(obj, key, value) {
|
|
14
|
+
if (key in obj) {
|
|
15
|
+
Object.defineProperty(obj, key, {
|
|
16
|
+
value: value,
|
|
17
|
+
enumerable: true,
|
|
18
|
+
configurable: true,
|
|
19
|
+
writable: true
|
|
20
|
+
});
|
|
21
|
+
} else {
|
|
22
|
+
obj[key] = value;
|
|
23
|
+
}
|
|
24
|
+
return obj;
|
|
25
|
+
}
|
|
26
|
+
class TscCompile extends _clitask.CliTask {
|
|
27
|
+
async execute() {
|
|
28
|
+
const packages = (0, _utils.getPackages)({
|
|
29
|
+
scope: this.args.scope,
|
|
30
|
+
ignore: this.args.ignore,
|
|
31
|
+
type: [
|
|
32
|
+
_utils.PackageType.TSC,
|
|
33
|
+
_utils.PackageType.Webpack
|
|
34
|
+
]
|
|
35
|
+
});
|
|
36
|
+
const tsConfigs = collapsePackages(packages).map(({ location })=>(0, _utils.getTsConfig)(location));
|
|
37
|
+
_utils.log.debug('tsc-compile', `${this.args.watch ? 'watching' : 'compiling'} ${tsConfigs.join(' ')}`);
|
|
38
|
+
await this.runChildProcess('tsc', [
|
|
39
|
+
'-b',
|
|
40
|
+
this.watch ? '-w' : undefined,
|
|
41
|
+
'--pretty',
|
|
42
|
+
'--preserveWatchOutput',
|
|
43
|
+
'--emitDeclarationOnly',
|
|
44
|
+
...tsConfigs
|
|
45
|
+
].filter((i)=>i !== undefined));
|
|
46
|
+
}
|
|
47
|
+
constructor(args){
|
|
48
|
+
super({
|
|
49
|
+
name: 'tsc-compile',
|
|
50
|
+
watch: args.watch,
|
|
51
|
+
global: true,
|
|
52
|
+
indicators: {
|
|
53
|
+
end: 'Watching for file changes.',
|
|
54
|
+
watchStart: 'Starting incremental compilation.'
|
|
55
|
+
}
|
|
56
|
+
}), _define_property(this, "args", void 0), this.args = args;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Exclude dependant packages as they will be built through project references
|
|
61
|
+
*/ function collapsePackages(packages) {
|
|
62
|
+
const dependencies = new Set(Object.values((0, _utils.getPackagesGraph)({
|
|
63
|
+
scope: packages.map(({ name })=>name)
|
|
64
|
+
})).flat());
|
|
65
|
+
return packages.filter(({ name })=>!dependencies.has(name));
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
//# sourceMappingURL=tsc-compile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/tasks/tsc-compile.ts"],"sourcesContent":["import { getPackages, getPackagesGraph, getTsConfig, log, Package, PackageType } from '../../utils';\nimport { CliTask } from './cli-task';\n\ninterface Args {\n ignore?: string | string[];\n scope?: string | string[];\n watch?: boolean;\n}\n\nexport class TscCompile extends CliTask {\n constructor(private readonly args: Args) {\n super({\n name: 'tsc-compile',\n watch: args.watch,\n global: true,\n indicators: {\n end: 'Watching for file changes.',\n watchStart: 'Starting incremental compilation.',\n },\n });\n }\n\n async execute() {\n const packages = getPackages({\n scope: this.args.scope,\n ignore: this.args.ignore,\n type: [PackageType.TSC, PackageType.Webpack],\n });\n\n const tsConfigs = collapsePackages(packages).map(({ location }) => getTsConfig(location));\n\n log.debug(\n 'tsc-compile',\n `${this.args.watch ? 'watching' : 'compiling'} ${tsConfigs.join(' ')}`\n );\n\n await this.runChildProcess(\n 'tsc',\n [\n '-b',\n this.watch ? '-w' : undefined,\n '--pretty',\n '--preserveWatchOutput',\n '--emitDeclarationOnly',\n ...tsConfigs,\n ].filter(i => i !== undefined)\n );\n }\n}\n\n/**\n * Exclude dependant packages as they will be built through project references\n */\nfunction collapsePackages(packages: Package[]) {\n const dependencies = new Set(\n Object.values(getPackagesGraph({ scope: packages.map(({ name }) => name) })).flat()\n );\n\n return packages.filter(({ name }) => !dependencies.has(name));\n}\n"],"names":["TscCompile","CliTask","execute","packages","getPackages","scope","args","ignore","type","PackageType","TSC","Webpack","tsConfigs","collapsePackages","map","location","getTsConfig","log","debug","watch","join","runChildProcess","undefined","filter","i","name","global","indicators","end","watchStart","dependencies","Set","Object","values","getPackagesGraph","flat","has"],"mappings":";;;;+BASaA;;;eAAAA;;;uBATyE;yBAC9D;;;;;;;;;;;;;;AAQjB,MAAMA,mBAAmBC,gBAAO;IAanC,MAAMC,UAAU;QACZ,MAAMC,WAAWC,IAAAA,kBAAW,EAAC;YACzBC,OAAO,IAAI,CAACC,IAAI,CAACD,KAAK;YACtBE,QAAQ,IAAI,CAACD,IAAI,CAACC,MAAM;YACxBC,MAAM;gBAACC,kBAAW,CAACC,GAAG;gBAAED,kBAAW,CAACE,OAAO;aAAC;QAChD;QAEA,MAAMC,YAAYC,iBAAiBV,UAAUW,GAAG,CAAC,CAAC,EAAEC,QAAQ,EAAE,GAAKC,IAAAA,kBAAW,EAACD;QAE/EE,UAAG,CAACC,KAAK,CACL,eACA,GAAG,IAAI,CAACZ,IAAI,CAACa,KAAK,GAAG,aAAa,YAAY,CAAC,EAAEP,UAAUQ,IAAI,CAAC,MAAM;QAG1E,MAAM,IAAI,CAACC,eAAe,CACtB,OACA;YACI;YACA,IAAI,CAACF,KAAK,GAAG,OAAOG;YACpB;YACA;YACA;eACGV;SACN,CAACW,MAAM,CAACC,CAAAA,IAAKA,MAAMF;IAE5B;IArCA,YAAY,AAAiBhB,IAAU,CAAE;QACrC,KAAK,CAAC;YACFmB,MAAM;YACNN,OAAOb,KAAKa,KAAK;YACjBO,QAAQ;YACRC,YAAY;gBACRC,KAAK;gBACLC,YAAY;YAChB;QACJ,iDATyBvB,OAAAA;IAU7B;AA4BJ;AAEA;;CAEC,GACD,SAASO,iBAAiBV,QAAmB;IACzC,MAAM2B,eAAe,IAAIC,IACrBC,OAAOC,MAAM,CAACC,IAAAA,uBAAgB,EAAC;QAAE7B,OAAOF,SAASW,GAAG,CAAC,CAAC,EAAEW,IAAI,EAAE,GAAKA;IAAM,IAAIU,IAAI;IAGrF,OAAOhC,SAASoB,MAAM,CAAC,CAAC,EAAEE,IAAI,EAAE,GAAK,CAACK,aAAaM,GAAG,CAACX;AAC3D"}
|
|
@@ -1,14 +1,11 @@
|
|
|
1
|
-
import { Configuration } from 'webpack';
|
|
2
1
|
interface Options {
|
|
3
2
|
buildStat?: boolean;
|
|
4
3
|
codeCoverage?: boolean;
|
|
5
4
|
config?: string;
|
|
6
|
-
emitExposedDependencies?: boolean
|
|
5
|
+
emitExposedDependencies?: boolean;
|
|
7
6
|
useWatchConfig?: boolean;
|
|
8
7
|
watch?: boolean;
|
|
9
8
|
}
|
|
10
|
-
export declare
|
|
11
|
-
export declare const webpackProdConfigFileName = "webpack.prod.config.js";
|
|
12
|
-
export declare function bundle(options?: Options): Promise<void | void[]>;
|
|
9
|
+
export declare function bundle(options?: Options): Promise<void | [void, void, void]>;
|
|
13
10
|
export {};
|
|
14
11
|
//# sourceMappingURL=bundle.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/bundle.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/bundle.ts"],"names":[],"mappings":"AAMA,UAAU,OAAO;IACb,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAsB,MAAM,CAAC,OAAO,GAAE,OAAY,sCAqCjD"}
|