@servicetitan/startup 34.3.0-beta.2 → 35.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/dist/cli/commands/build.d.ts +0 -16
- package/dist/cli/commands/build.d.ts.map +1 -1
- package/dist/cli/commands/build.js +2 -15
- package/dist/cli/commands/build.js.map +1 -1
- package/dist/cli/commands/bundle-package.d.ts.map +1 -1
- package/dist/cli/commands/bundle-package.js +0 -1
- package/dist/cli/commands/bundle-package.js.map +1 -1
- package/dist/cli/commands/get-command.js +2 -2
- 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.d.ts +10 -0
- package/dist/cli/commands/mfe-package-publish.d.ts.map +1 -1
- package/dist/cli/commands/mfe-package-publish.js +12 -0
- package/dist/cli/commands/mfe-package-publish.js.map +1 -1
- package/dist/cli/commands/mfe-package-rollback.d.ts +10 -1
- package/dist/cli/commands/mfe-package-rollback.d.ts.map +1 -1
- package/dist/cli/commands/mfe-package-rollback.js +15 -3
- package/dist/cli/commands/mfe-package-rollback.js.map +1 -1
- package/dist/cli/commands/mfe-publish.d.ts.map +1 -1
- package/dist/cli/commands/mfe-publish.js +10 -4
- package/dist/cli/commands/mfe-publish.js.map +1 -1
- package/dist/cli/commands/mfe-purge-cache.d.ts +57 -0
- package/dist/cli/commands/mfe-purge-cache.d.ts.map +1 -0
- package/dist/cli/commands/mfe-purge-cache.js +101 -0
- package/dist/cli/commands/mfe-purge-cache.js.map +1 -0
- package/dist/cli/commands/start.d.ts +0 -8
- package/dist/cli/commands/start.d.ts.map +1 -1
- package/dist/cli/commands/start.js +2 -8
- package/dist/cli/commands/start.js.map +1 -1
- package/dist/cli/commands/{utils.d.ts → utils/build-rollback-tag.d.ts} +1 -2
- package/dist/cli/commands/utils/build-rollback-tag.d.ts.map +1 -0
- package/dist/cli/commands/{utils.js → utils/build-rollback-tag.js} +1 -5
- package/dist/cli/commands/utils/build-rollback-tag.js.map +1 -0
- package/dist/cli/commands/utils/constants.d.ts +2 -0
- package/dist/cli/commands/utils/constants.d.ts.map +1 -0
- package/dist/cli/commands/utils/constants.js +13 -0
- package/dist/cli/commands/utils/constants.js.map +1 -0
- package/dist/cli/commands/utils/index.d.ts +4 -0
- package/dist/cli/commands/utils/index.d.ts.map +1 -0
- package/dist/{core → cli/commands/utils}/index.js +3 -7
- package/dist/cli/commands/utils/index.js.map +1 -0
- package/dist/cli/commands/utils/purge-cache.d.ts +6 -0
- package/dist/cli/commands/utils/purge-cache.d.ts.map +1 -0
- package/dist/cli/commands/utils/purge-cache.js +21 -0
- package/dist/cli/commands/utils/purge-cache.js.map +1 -0
- package/dist/cli/utils/bundle.d.ts +5 -2
- package/dist/cli/utils/bundle.d.ts.map +1 -1
- package/dist/cli/utils/bundle.js +98 -18
- package/dist/cli/utils/bundle.js.map +1 -1
- package/dist/cli/utils/cli-os.js +1 -1
- package/dist/cli/utils/cli-os.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- 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 +6 -18
- package/dist/storybook-config/webpack-final.js.map +1 -1
- package/dist/utils/get-configuration.d.ts +1 -28
- package/dist/utils/get-configuration.d.ts.map +1 -1
- package/dist/utils/get-configuration.js +2 -42
- 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 +2 -3
- package/dist/utils/get-package-data.js.map +1 -1
- package/dist/webpack/configs/amd-config.d.ts +2 -3
- 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 +2 -3
- 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 +2 -3
- 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 +2 -3
- 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 +2 -3
- package/dist/webpack/configs/entry.config.d.ts.map +1 -1
- package/dist/webpack/configs/entry.config.js +5 -6
- package/dist/webpack/configs/entry.config.js.map +1 -1
- package/dist/webpack/configs/externals-config.d.ts +2 -3
- package/dist/webpack/configs/externals-config.d.ts.map +1 -1
- package/dist/webpack/configs/externals-config.js +14 -4
- package/dist/webpack/configs/externals-config.js.map +1 -1
- package/dist/webpack/configs/index.d.ts +1 -0
- 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 +1 -2
- 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 +1 -4
- package/dist/webpack/configs/loaders/style-loader.js.map +1 -1
- package/dist/webpack/configs/module-config.d.ts +2 -3
- 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 +2 -3
- package/dist/webpack/configs/optimization-config.d.ts.map +1 -1
- package/dist/webpack/configs/optimization-config.js +7 -10
- package/dist/webpack/configs/optimization-config.js.map +1 -1
- package/dist/webpack/configs/output-config.d.ts +2 -3
- package/dist/webpack/configs/output-config.d.ts.map +1 -1
- package/dist/webpack/configs/output-config.js +24 -15
- package/dist/webpack/configs/output-config.js.map +1 -1
- package/dist/webpack/configs/plugins/assets-manifest-plugin.d.ts +8 -3
- package/dist/webpack/configs/plugins/assets-manifest-plugin.d.ts.map +1 -1
- package/dist/webpack/configs/plugins/assets-manifest-plugin.js +47 -10
- package/dist/webpack/configs/plugins/assets-manifest-plugin.js.map +1 -1
- package/dist/webpack/configs/plugins/bundle-analyser-plugin.d.ts +2 -3
- 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 +2 -3
- package/dist/webpack/configs/plugins/define-exposed-dependencies-plugin.d.ts.map +1 -1
- package/dist/webpack/configs/plugins/define-exposed-dependencies-plugin.js +13 -4
- 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 +2 -3
- 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 +12 -4
- 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 +2 -3
- 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 +6 -4
- package/dist/webpack/configs/plugins/define-web-component-name-plugin.js.map +1 -1
- package/dist/webpack/configs/plugins/filter-warnings-plugin.d.ts +2 -3
- 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 +2 -3
- package/dist/webpack/configs/plugins/html-plugin.d.ts.map +1 -1
- package/dist/webpack/configs/plugins/html-plugin.js +2 -5
- package/dist/webpack/configs/plugins/html-plugin.js.map +1 -1
- package/dist/webpack/configs/plugins/html-tags-plugin.d.ts +2 -3
- package/dist/webpack/configs/plugins/html-tags-plugin.d.ts.map +1 -1
- package/dist/webpack/configs/plugins/html-tags-plugin.js +19 -8
- package/dist/webpack/configs/plugins/html-tags-plugin.js.map +1 -1
- package/dist/webpack/configs/plugins/ignore-plugin/check-resource.d.ts +3 -0
- package/dist/webpack/configs/plugins/ignore-plugin/check-resource.d.ts.map +1 -0
- package/dist/{core/check-resource → webpack/configs/plugins/ignore-plugin}/check-resource.js +2 -2
- package/dist/webpack/configs/plugins/ignore-plugin/check-resource.js.map +1 -0
- package/dist/webpack/configs/plugins/ignore-plugin/get-package-json.d.ts.map +1 -0
- package/dist/{core/check-resource → webpack/configs/plugins/ignore-plugin}/get-package-json.js +2 -2
- package/dist/webpack/configs/plugins/ignore-plugin/get-package-json.js.map +1 -0
- package/dist/webpack/configs/plugins/ignore-plugin/ignore-plugin.d.ts +3 -17
- package/dist/webpack/configs/plugins/ignore-plugin/ignore-plugin.d.ts.map +1 -1
- package/dist/webpack/configs/plugins/ignore-plugin/ignore-plugin.js +6 -45
- package/dist/webpack/configs/plugins/ignore-plugin/ignore-plugin.js.map +1 -1
- package/dist/webpack/configs/plugins/ignore-plugin/is-optional-peer-dependency.d.ts.map +1 -0
- package/dist/webpack/configs/plugins/ignore-plugin/is-optional-peer-dependency.js.map +1 -0
- package/dist/webpack/configs/plugins/ignore-plugin/is-optional-react-dom-peer-dependency.d.ts.map +1 -0
- package/dist/webpack/configs/plugins/ignore-plugin/is-optional-react-dom-peer-dependency.js.map +1 -0
- package/dist/webpack/configs/plugins/mini-css-extract-plugin.d.ts +2 -3
- package/dist/webpack/configs/plugins/mini-css-extract-plugin.d.ts.map +1 -1
- package/dist/webpack/configs/plugins/mini-css-extract-plugin.js +2 -4
- package/dist/webpack/configs/plugins/mini-css-extract-plugin.js.map +1 -1
- package/dist/webpack/configs/plugins/moment-locales-plugin.d.ts +2 -3
- 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 +2 -3
- 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 +56 -13
- package/dist/webpack/configs/plugins/virtual-modules-plugin.js.map +1 -1
- package/dist/webpack/configs/plugins/watch-run-plugin.d.ts +2 -3
- 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 +2 -3
- 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 +2 -3
- 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 +1 -2
- 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 +1 -3
- 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 +2 -3
- 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 +2 -3
- 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/types.d.ts +35 -0
- package/dist/webpack/configs/types.d.ts.map +1 -0
- package/dist/webpack/configs/types.js.map +1 -0
- package/dist/webpack/configs/utils/build-metadata.d.ts.map +1 -0
- package/dist/{core → webpack/configs}/utils/build-metadata.js +1 -1
- package/dist/webpack/configs/utils/build-metadata.js.map +1 -0
- package/dist/webpack/configs/utils/generate-metadata.d.ts +3 -0
- package/dist/webpack/configs/utils/generate-metadata.d.ts.map +1 -0
- package/dist/{core → webpack/configs}/utils/generate-metadata.js +4 -5
- package/dist/webpack/configs/utils/generate-metadata.js.map +1 -0
- package/dist/webpack/configs/utils/get-bundle-type.d.ts +3 -0
- package/dist/webpack/configs/utils/get-bundle-type.d.ts.map +1 -0
- package/dist/{core → webpack/configs}/utils/get-bundle-type.js +2 -5
- package/dist/webpack/configs/utils/get-bundle-type.js.map +1 -0
- package/dist/webpack/configs/utils/get-exposed-dependencies.d.ts.map +1 -0
- package/dist/webpack/configs/utils/get-exposed-dependencies.js.map +1 -0
- package/dist/webpack/configs/utils/get-launchdarkly-sdk-version.d.ts.map +1 -0
- package/dist/{core → webpack/configs}/utils/get-launchdarkly-sdk-version.js +1 -1
- package/dist/webpack/configs/utils/get-launchdarkly-sdk-version.js.map +1 -0
- package/dist/webpack/configs/utils/get-web-components-version.d.ts.map +1 -0
- package/dist/{core → webpack/configs}/utils/get-web-components-version.js +1 -1
- package/dist/webpack/configs/utils/get-web-components-version.js.map +1 -0
- package/dist/webpack/configs/utils/index.d.ts +4 -0
- package/dist/webpack/configs/utils/index.d.ts.map +1 -0
- package/dist/{core → webpack/configs}/utils/index.js +0 -5
- package/dist/webpack/configs/utils/index.js.map +1 -0
- 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 +0 -10
- package/dist/webpack/create-webpack-config.d.ts.map +1 -1
- package/dist/webpack/create-webpack-config.js +41 -108
- package/dist/webpack/create-webpack-config.js.map +1 -1
- package/dist/webpack/types.d.ts +11 -4
- package/dist/webpack/types.d.ts.map +1 -1
- package/dist/webpack/utils/index.d.ts +1 -0
- package/dist/webpack/utils/index.d.ts.map +1 -1
- package/dist/webpack/utils/index.js +1 -0
- package/dist/webpack/utils/index.js.map +1 -1
- package/dist/webpack/utils/stringify-config.d.ts.map +1 -0
- package/dist/webpack/utils/stringify-config.js.map +1 -0
- package/package.json +16 -19
- package/src/cli/commands/__tests__/mfe-generate-metadata.test.ts +4 -3
- package/src/cli/commands/__tests__/mfe-package-publish.test.ts +27 -1
- package/src/cli/commands/__tests__/mfe-package-rollback.test.ts +31 -0
- package/src/cli/commands/__tests__/mfe-publish.test.ts +4 -2
- package/src/cli/commands/__tests__/mfe-purge-cache.test.ts +141 -0
- package/src/cli/commands/build.ts +2 -7
- package/src/cli/commands/bundle-package.ts +1 -3
- package/src/cli/commands/get-command.ts +2 -2
- package/src/cli/commands/mfe-check.ts +2 -1
- package/src/cli/commands/mfe-generate-metadata.ts +1 -1
- package/src/cli/commands/mfe-package-publish.ts +12 -2
- package/src/cli/commands/mfe-package-rollback.ts +15 -5
- package/src/cli/commands/mfe-publish.ts +14 -3
- package/src/cli/commands/mfe-purge-cache.ts +75 -0
- package/src/cli/commands/start.ts +2 -5
- package/src/cli/commands/utils/__tests__/purge-cache.test.ts +40 -0
- package/src/cli/commands/{utils.ts → utils/build-rollback-tag.ts} +0 -1
- package/src/cli/commands/utils/constants.ts +1 -0
- package/src/cli/commands/utils/index.ts +3 -0
- package/src/cli/commands/utils/purge-cache.ts +13 -0
- package/src/cli/utils/__tests__/bundle.test.ts +10 -19
- package/src/cli/utils/bundle.ts +101 -20
- package/src/cli/utils/cli-os.ts +1 -1
- package/src/index.ts +0 -1
- package/src/storybook-config/__tests__/webpack-final.test.ts +2 -5
- package/src/storybook-config/webpack-final.ts +10 -24
- package/src/utils/__tests__/get-configuration.test.ts +1 -99
- package/src/utils/__tests__/get-package-data.test.ts +1 -35
- package/src/utils/get-configuration.ts +2 -92
- package/src/utils/get-package-data.ts +1 -3
- 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 +2 -3
- package/src/webpack/configs/amd-config.ts +2 -3
- package/src/webpack/configs/cache-config.ts +3 -4
- package/src/webpack/configs/dev-server-config.ts +3 -8
- package/src/webpack/configs/devtool-config.ts +3 -4
- package/src/webpack/configs/entry.config.ts +7 -8
- package/src/webpack/configs/externals-config.ts +21 -5
- package/src/webpack/configs/index.ts +1 -0
- package/src/webpack/configs/loaders/css-loader.ts +2 -3
- package/src/webpack/configs/loaders/style-loader.ts +5 -5
- package/src/webpack/configs/module-config.ts +2 -3
- package/src/webpack/configs/optimization-config.ts +11 -16
- package/src/webpack/configs/output-config.ts +22 -16
- package/src/webpack/configs/plugins/assets-manifest-plugin.ts +36 -9
- package/src/webpack/configs/plugins/bundle-analyser-plugin.ts +8 -8
- package/src/webpack/configs/plugins/define-exposed-dependencies-plugin.ts +15 -7
- package/src/webpack/configs/plugins/define-exposed-instance-dependencies-plugin.ts +13 -7
- package/src/webpack/configs/plugins/define-web-component-name-plugin.ts +8 -7
- package/src/webpack/configs/plugins/filter-warnings-plugin.ts +3 -4
- package/src/webpack/configs/plugins/html-plugin.ts +6 -7
- package/src/webpack/configs/plugins/html-tags-plugin.ts +16 -7
- package/src/{core/check-resource → webpack/configs/plugins/ignore-plugin}/__tests__/check-resource.test.ts +5 -18
- package/src/{core/check-resource → webpack/configs/plugins/ignore-plugin}/check-resource.ts +4 -4
- package/src/{core/check-resource → webpack/configs/plugins/ignore-plugin}/get-package-json.ts +2 -2
- package/src/webpack/configs/plugins/ignore-plugin/ignore-plugin.ts +6 -48
- package/src/webpack/configs/plugins/mini-css-extract-plugin.ts +5 -10
- package/src/webpack/configs/plugins/moment-locales-plugin.ts +2 -3
- package/src/webpack/configs/plugins/remove-empty-scripts-plugin.ts +3 -4
- package/src/webpack/configs/plugins/virtual-modules-plugin.ts +65 -13
- package/src/webpack/configs/plugins/watch-run-plugin.ts +2 -3
- package/src/webpack/configs/plugins-config.ts +2 -3
- package/src/webpack/configs/resolve-config.ts +2 -3
- package/src/webpack/configs/rules/css-rules.ts +3 -4
- 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 +2 -4
- 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 +5 -9
- package/src/webpack/configs/stats-config.ts +2 -3
- package/src/webpack/configs/types.ts +38 -0
- package/src/{core → webpack/configs}/utils/__tests__/build-metadata.test.ts +2 -2
- package/src/{core → webpack/configs}/utils/__tests__/generate-metadata.test.ts +13 -27
- package/src/{core → webpack/configs}/utils/build-metadata.ts +1 -1
- package/src/{core → webpack/configs}/utils/generate-metadata.ts +6 -7
- package/src/webpack/configs/utils/get-bundle-type.ts +22 -0
- package/src/{core → webpack/configs}/utils/get-launchdarkly-sdk-version.ts +1 -1
- package/src/{core → webpack/configs}/utils/get-web-components-version.ts +1 -1
- package/src/webpack/configs/utils/index.ts +3 -0
- package/src/webpack/configs/watch-options-config.ts +3 -3
- package/src/webpack/create-webpack-config.ts +43 -85
- package/src/webpack/types.ts +11 -7
- package/src/webpack/utils/index.ts +1 -0
- package/dist/cli/commands/bundle-vite.d.ts +0 -66
- package/dist/cli/commands/bundle-vite.d.ts.map +0 -1
- package/dist/cli/commands/bundle-vite.js +0 -184
- package/dist/cli/commands/bundle-vite.js.map +0 -1
- package/dist/cli/commands/utils.d.ts.map +0 -1
- package/dist/cli/commands/utils.js.map +0 -1
- package/dist/core/check-resource/check-resource.d.ts +0 -3
- package/dist/core/check-resource/check-resource.d.ts.map +0 -1
- package/dist/core/check-resource/check-resource.js.map +0 -1
- package/dist/core/check-resource/get-package-json.d.ts.map +0 -1
- package/dist/core/check-resource/get-package-json.js.map +0 -1
- package/dist/core/check-resource/index.d.ts +0 -2
- package/dist/core/check-resource/index.d.ts.map +0 -1
- package/dist/core/check-resource/index.js +0 -13
- package/dist/core/check-resource/index.js.map +0 -1
- package/dist/core/check-resource/is-optional-peer-dependency.d.ts.map +0 -1
- package/dist/core/check-resource/is-optional-peer-dependency.js.map +0 -1
- package/dist/core/check-resource/is-optional-react-dom-peer-dependency.d.ts.map +0 -1
- package/dist/core/check-resource/is-optional-react-dom-peer-dependency.js.map +0 -1
- package/dist/core/context.d.ts +0 -14
- package/dist/core/context.d.ts.map +0 -1
- package/dist/core/context.js +0 -62
- package/dist/core/context.js.map +0 -1
- package/dist/core/defines/exposed-dependencies.d.ts +0 -5
- package/dist/core/defines/exposed-dependencies.d.ts.map +0 -1
- package/dist/core/defines/exposed-dependencies.js +0 -26
- package/dist/core/defines/exposed-dependencies.js.map +0 -1
- package/dist/core/defines/exposed-instance-dependencies.d.ts +0 -5
- package/dist/core/defines/exposed-instance-dependencies.d.ts.map +0 -1
- package/dist/core/defines/exposed-instance-dependencies.js +0 -29
- package/dist/core/defines/exposed-instance-dependencies.js.map +0 -1
- package/dist/core/defines/index.d.ts +0 -4
- package/dist/core/defines/index.d.ts.map +0 -1
- package/dist/core/defines/index.js +0 -26
- package/dist/core/defines/index.js.map +0 -1
- package/dist/core/defines/web-component-name.d.ts +0 -5
- package/dist/core/defines/web-component-name.d.ts.map +0 -1
- package/dist/core/defines/web-component-name.js +0 -23
- package/dist/core/defines/web-component-name.js.map +0 -1
- package/dist/core/externals.d.ts +0 -3
- package/dist/core/externals.d.ts.map +0 -1
- package/dist/core/externals.js +0 -29
- package/dist/core/externals.js.map +0 -1
- package/dist/core/get-exposed-dependencies-entry-points.d.ts +0 -11
- package/dist/core/get-exposed-dependencies-entry-points.d.ts.map +0 -1
- package/dist/core/get-exposed-dependencies-entry-points.js +0 -82
- package/dist/core/get-exposed-dependencies-entry-points.js.map +0 -1
- package/dist/core/index.d.ts +0 -9
- package/dist/core/index.d.ts.map +0 -1
- package/dist/core/index.js.map +0 -1
- package/dist/core/types.d.ts +0 -55
- package/dist/core/types.d.ts.map +0 -1
- package/dist/core/types.js.map +0 -1
- package/dist/core/utils/build-metadata.d.ts.map +0 -1
- package/dist/core/utils/build-metadata.js.map +0 -1
- package/dist/core/utils/generate-metadata.d.ts +0 -3
- package/dist/core/utils/generate-metadata.d.ts.map +0 -1
- package/dist/core/utils/generate-metadata.js.map +0 -1
- package/dist/core/utils/get-bundle-type.d.ts +0 -3
- package/dist/core/utils/get-bundle-type.d.ts.map +0 -1
- package/dist/core/utils/get-bundle-type.js.map +0 -1
- package/dist/core/utils/get-exposed-dependencies.d.ts.map +0 -1
- package/dist/core/utils/get-exposed-dependencies.js.map +0 -1
- package/dist/core/utils/get-launchdarkly-sdk-version.d.ts.map +0 -1
- package/dist/core/utils/get-launchdarkly-sdk-version.js.map +0 -1
- package/dist/core/utils/get-output-path.d.ts +0 -3
- package/dist/core/utils/get-output-path.d.ts.map +0 -1
- package/dist/core/utils/get-output-path.js +0 -32
- package/dist/core/utils/get-output-path.js.map +0 -1
- package/dist/core/utils/get-web-components-version.d.ts.map +0 -1
- package/dist/core/utils/get-web-components-version.js.map +0 -1
- package/dist/core/utils/index.d.ts +0 -9
- package/dist/core/utils/index.d.ts.map +0 -1
- package/dist/core/utils/index.js.map +0 -1
- package/dist/core/utils/stringify-config.d.ts.map +0 -1
- package/dist/core/utils/stringify-config.js.map +0 -1
- package/dist/core/virtual-modules.d.ts +0 -9
- package/dist/core/virtual-modules.d.ts.map +0 -1
- package/dist/core/virtual-modules.js +0 -84
- package/dist/core/virtual-modules.js.map +0 -1
- package/dist/vite/base-config.d.ts +0 -4
- package/dist/vite/base-config.d.ts.map +0 -1
- package/dist/vite/base-config.js +0 -76
- package/dist/vite/base-config.js.map +0 -1
- package/dist/vite/build-shared-deps.d.ts +0 -3
- package/dist/vite/build-shared-deps.d.ts.map +0 -1
- package/dist/vite/build-shared-deps.js +0 -310
- package/dist/vite/build-shared-deps.js.map +0 -1
- package/dist/vite/create-vite-config.d.ts +0 -3
- package/dist/vite/create-vite-config.d.ts.map +0 -1
- package/dist/vite/create-vite-config.js +0 -52
- package/dist/vite/create-vite-config.js.map +0 -1
- package/dist/vite/define-config.d.ts +0 -12
- package/dist/vite/define-config.d.ts.map +0 -1
- package/dist/vite/define-config.js +0 -15
- package/dist/vite/define-config.js.map +0 -1
- package/dist/vite/load-config-file.d.ts +0 -6
- package/dist/vite/load-config-file.d.ts.map +0 -1
- package/dist/vite/load-config-file.js +0 -107
- package/dist/vite/load-config-file.js.map +0 -1
- package/dist/vite/merge-config.d.ts +0 -6
- package/dist/vite/merge-config.d.ts.map +0 -1
- package/dist/vite/merge-config.js +0 -106
- package/dist/vite/merge-config.js.map +0 -1
- package/dist/vite/plugins/css-injector-plugin.d.ts +0 -15
- package/dist/vite/plugins/css-injector-plugin.d.ts.map +0 -1
- package/dist/vite/plugins/css-injector-plugin.js +0 -76
- package/dist/vite/plugins/css-injector-plugin.js.map +0 -1
- package/dist/vite/plugins/dev-server-routing-plugin.d.ts +0 -12
- package/dist/vite/plugins/dev-server-routing-plugin.d.ts.map +0 -1
- package/dist/vite/plugins/dev-server-routing-plugin.js +0 -85
- package/dist/vite/plugins/dev-server-routing-plugin.js.map +0 -1
- package/dist/vite/plugins/externals-plugin.d.ts +0 -4
- package/dist/vite/plugins/externals-plugin.d.ts.map +0 -1
- package/dist/vite/plugins/externals-plugin.js +0 -39
- package/dist/vite/plugins/externals-plugin.js.map +0 -1
- package/dist/vite/plugins/html-plugin.d.ts +0 -5
- package/dist/vite/plugins/html-plugin.d.ts.map +0 -1
- package/dist/vite/plugins/html-plugin.js +0 -74
- package/dist/vite/plugins/html-plugin.js.map +0 -1
- package/dist/vite/plugins/ignore-modules-plugin.d.ts +0 -4
- package/dist/vite/plugins/ignore-modules-plugin.d.ts.map +0 -1
- package/dist/vite/plugins/ignore-modules-plugin.js +0 -30
- package/dist/vite/plugins/ignore-modules-plugin.js.map +0 -1
- package/dist/vite/plugins/index.d.ts +0 -10
- package/dist/vite/plugins/index.d.ts.map +0 -1
- package/dist/vite/plugins/index.js +0 -28
- package/dist/vite/plugins/index.js.map +0 -1
- package/dist/vite/plugins/metadata-plugin.d.ts +0 -4
- package/dist/vite/plugins/metadata-plugin.d.ts.map +0 -1
- package/dist/vite/plugins/metadata-plugin.js +0 -86
- package/dist/vite/plugins/metadata-plugin.js.map +0 -1
- package/dist/vite/plugins/style-urls-plugin.d.ts +0 -4
- package/dist/vite/plugins/style-urls-plugin.d.ts.map +0 -1
- package/dist/vite/plugins/style-urls-plugin.js +0 -29
- package/dist/vite/plugins/style-urls-plugin.js.map +0 -1
- package/dist/vite/plugins/svgr-plugin.d.ts +0 -4
- package/dist/vite/plugins/svgr-plugin.d.ts.map +0 -1
- package/dist/vite/plugins/svgr-plugin.js +0 -31
- package/dist/vite/plugins/svgr-plugin.js.map +0 -1
- package/dist/vite/plugins/virtual-modules-plugin.d.ts +0 -4
- package/dist/vite/plugins/virtual-modules-plugin.d.ts.map +0 -1
- package/dist/vite/plugins/virtual-modules-plugin.js +0 -71
- package/dist/vite/plugins/virtual-modules-plugin.js.map +0 -1
- package/patches/vite-plugin-css-injected-by-js+3.5.2.patch +0 -63
- package/src/cli/commands/bundle-vite.ts +0 -112
- package/src/core/check-resource/index.ts +0 -1
- package/src/core/context.ts +0 -65
- package/src/core/defines/exposed-dependencies.ts +0 -21
- package/src/core/defines/exposed-instance-dependencies.ts +0 -19
- package/src/core/defines/index.ts +0 -3
- package/src/core/defines/web-component-name.ts +0 -15
- package/src/core/externals.ts +0 -23
- package/src/core/get-exposed-dependencies-entry-points.ts +0 -59
- package/src/core/index.ts +0 -8
- package/src/core/types.ts +0 -59
- package/src/core/utils/get-bundle-type.ts +0 -20
- package/src/core/utils/get-output-path.ts +0 -18
- package/src/core/utils/index.ts +0 -8
- package/src/core/virtual-modules.ts +0 -76
- package/src/vite/__tests__/define-config.test.ts +0 -13
- package/src/vite/__tests__/load-config-file.test.ts +0 -115
- package/src/vite/__tests__/merge-config.test.ts +0 -173
- package/src/vite/base-config.ts +0 -79
- package/src/vite/build-shared-deps.ts +0 -320
- package/src/vite/create-vite-config.ts +0 -50
- package/src/vite/define-config.ts +0 -20
- package/src/vite/index.html +0 -29
- package/src/vite/load-config-file.ts +0 -54
- package/src/vite/merge-config.ts +0 -93
- package/src/vite/plugins/css-injector-plugin.ts +0 -85
- package/src/vite/plugins/dev-server-routing-plugin.ts +0 -89
- package/src/vite/plugins/externals-plugin.ts +0 -27
- package/src/vite/plugins/html-plugin.ts +0 -65
- package/src/vite/plugins/ignore-modules-plugin.ts +0 -22
- package/src/vite/plugins/index.ts +0 -9
- package/src/vite/plugins/metadata-plugin.ts +0 -78
- package/src/vite/plugins/style-urls-plugin.ts +0 -34
- package/src/vite/plugins/svgr-plugin.ts +0 -11
- package/src/vite/plugins/virtual-modules-plugin.ts +0 -74
- package/src/webpack/configs/plugins/ignore-plugin/empty-module.js +0 -1
- /package/dist/{core/check-resource → webpack/configs/plugins/ignore-plugin}/get-package-json.d.ts +0 -0
- /package/dist/{core/check-resource → webpack/configs/plugins/ignore-plugin}/is-optional-peer-dependency.d.ts +0 -0
- /package/dist/{core/check-resource → webpack/configs/plugins/ignore-plugin}/is-optional-peer-dependency.js +0 -0
- /package/dist/{core/check-resource → webpack/configs/plugins/ignore-plugin}/is-optional-react-dom-peer-dependency.d.ts +0 -0
- /package/dist/{core/check-resource → webpack/configs/plugins/ignore-plugin}/is-optional-react-dom-peer-dependency.js +0 -0
- /package/dist/{core → webpack/configs}/types.js +0 -0
- /package/dist/{core → webpack/configs}/utils/build-metadata.d.ts +0 -0
- /package/dist/{core → webpack/configs}/utils/get-exposed-dependencies.d.ts +0 -0
- /package/dist/{core → webpack/configs}/utils/get-exposed-dependencies.js +0 -0
- /package/dist/{core → webpack/configs}/utils/get-launchdarkly-sdk-version.d.ts +0 -0
- /package/dist/{core → webpack/configs}/utils/get-web-components-version.d.ts +0 -0
- /package/dist/{core → webpack}/utils/stringify-config.d.ts +0 -0
- /package/dist/{core → webpack}/utils/stringify-config.js +0 -0
- /package/src/{core/check-resource → webpack/configs/plugins/ignore-plugin}/__tests__/get-package-json.test.ts +0 -0
- /package/src/{core/check-resource → webpack/configs/plugins/ignore-plugin}/__tests__/is-optional-peer-dependency.test.ts +0 -0
- /package/src/{core/check-resource → webpack/configs/plugins/ignore-plugin}/__tests__/is-optional-react-dom-peer-dependency.test.ts +0 -0
- /package/src/{core/check-resource → webpack/configs/plugins/ignore-plugin}/is-optional-peer-dependency.ts +0 -0
- /package/src/{core/check-resource → webpack/configs/plugins/ignore-plugin}/is-optional-react-dom-peer-dependency.ts +0 -0
- /package/src/{core → webpack/configs}/utils/__tests__/get-exposed-dependencies.test.ts +0 -0
- /package/src/{core → webpack/configs}/utils/__tests__/get-launchdarkly-sdk-version.test.ts +0 -0
- /package/src/{core → webpack/configs}/utils/__tests__/get-web-components-version.test.ts +0 -0
- /package/src/{core → webpack/configs}/utils/get-exposed-dependencies.ts +0 -0
- /package/src/{core → webpack}/utils/stringify-config.ts +0 -0
|
@@ -18,10 +18,6 @@ declare const options: {
|
|
|
18
18
|
string: true;
|
|
19
19
|
description: string;
|
|
20
20
|
};
|
|
21
|
-
preview: {
|
|
22
|
-
boolean: true;
|
|
23
|
-
description: string;
|
|
24
|
-
};
|
|
25
21
|
scope: {
|
|
26
22
|
array: true;
|
|
27
23
|
string: true;
|
|
@@ -35,10 +31,6 @@ declare const options: {
|
|
|
35
31
|
boolean: true;
|
|
36
32
|
description: string;
|
|
37
33
|
};
|
|
38
|
-
useVite: {
|
|
39
|
-
boolean: true;
|
|
40
|
-
description: string;
|
|
41
|
-
};
|
|
42
34
|
};
|
|
43
35
|
export declare class Build extends Command<typeof options> {
|
|
44
36
|
static readonly description = "Build project for production";
|
|
@@ -62,10 +54,6 @@ export declare class Build extends Command<typeof options> {
|
|
|
62
54
|
string: true;
|
|
63
55
|
description: string;
|
|
64
56
|
};
|
|
65
|
-
preview: {
|
|
66
|
-
boolean: true;
|
|
67
|
-
description: string;
|
|
68
|
-
};
|
|
69
57
|
scope: {
|
|
70
58
|
array: true;
|
|
71
59
|
string: true;
|
|
@@ -79,10 +67,6 @@ export declare class Build extends Command<typeof options> {
|
|
|
79
67
|
boolean: true;
|
|
80
68
|
description: string;
|
|
81
69
|
};
|
|
82
|
-
useVite: {
|
|
83
|
-
boolean: true;
|
|
84
|
-
description: string;
|
|
85
|
-
};
|
|
86
70
|
};
|
|
87
71
|
execute(): Promise<void>;
|
|
88
72
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/build.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAkB,MAAM,SAAS,CAAC;AAElD,QAAA,MAAM,OAAO
|
|
1
|
+
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/build.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAkB,MAAM,SAAS,CAAC;AAElD,QAAA,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQa,CAAC;AAY3B,qBAAa,KAAM,SAAQ,OAAO,CAAC,OAAO,OAAO,CAAC;IAC9C,MAAM,CAAC,QAAQ,CAAC,WAAW,kCAAkC;IAC7D,MAAM,CAAC,QAAQ,CAAC,MAAM,QAAQ;IAC9B,MAAM,CAAC,QAAQ,CAAC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAW;IAG5B,OAAO;CAkGhB"}
|
|
@@ -53,10 +53,6 @@ const options = {
|
|
|
53
53
|
string: true,
|
|
54
54
|
description: 'Packages to skip'
|
|
55
55
|
},
|
|
56
|
-
preview: {
|
|
57
|
-
boolean: true,
|
|
58
|
-
description: 'Start preview server after build?'
|
|
59
|
-
},
|
|
60
56
|
scope: {
|
|
61
57
|
array: true,
|
|
62
58
|
string: true,
|
|
@@ -69,10 +65,6 @@ const options = {
|
|
|
69
65
|
useTsc: {
|
|
70
66
|
boolean: true,
|
|
71
67
|
description: 'Use tsc to compile packages?'
|
|
72
|
-
},
|
|
73
|
-
useVite: {
|
|
74
|
-
boolean: true,
|
|
75
|
-
description: 'Use Vite to bundle packages?'
|
|
76
68
|
}
|
|
77
69
|
};
|
|
78
70
|
var BuildProcesses = /*#__PURE__*/ function(BuildProcesses) {
|
|
@@ -94,8 +86,6 @@ class Build extends _types.Command {
|
|
|
94
86
|
]
|
|
95
87
|
});
|
|
96
88
|
const useTsc = this.args.useTsc;
|
|
97
|
-
const useVite = this.args.useVite;
|
|
98
|
-
const cmd = useVite ? 'startup bundle-vite' : 'startup bundle-package';
|
|
99
89
|
const packages = (0, _utils.getPackages)({
|
|
100
90
|
scope: this.args.scope,
|
|
101
91
|
ignore: this.args.ignore,
|
|
@@ -151,7 +141,7 @@ class Build extends _types.Command {
|
|
|
151
141
|
return Promise.resolve();
|
|
152
142
|
}
|
|
153
143
|
return (0, _utils1.lernaExec)({
|
|
154
|
-
cmd,
|
|
144
|
+
'cmd': 'startup bundle-package',
|
|
155
145
|
'scope': webpackScope,
|
|
156
146
|
'parallel': true,
|
|
157
147
|
'stream': true,
|
|
@@ -171,7 +161,7 @@ class Build extends _types.Command {
|
|
|
171
161
|
return Promise.resolve();
|
|
172
162
|
}
|
|
173
163
|
return (0, _utils1.lernaExec)({
|
|
174
|
-
cmd,
|
|
164
|
+
'cmd': 'startup bundle-package',
|
|
175
165
|
'scope': webpackScope,
|
|
176
166
|
'stream': true,
|
|
177
167
|
'--': [
|
|
@@ -183,9 +173,6 @@ class Build extends _types.Command {
|
|
|
183
173
|
],
|
|
184
174
|
...[
|
|
185
175
|
this.args.stat ? '--stat' : undefined
|
|
186
|
-
],
|
|
187
|
-
...[
|
|
188
|
-
useVite && this.args.preview ? '--preview' : undefined
|
|
189
176
|
]
|
|
190
177
|
].filter((item)=>!!item)
|
|
191
178
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/cli/commands/build.ts"],"sourcesContent":["import { getPackages, logErrors, PackageType } from '../../utils';\nimport { checkArgs, compile, lernaExec, ProcessTree, typeCheck } from '../utils';\nimport { kendoUILicense } from './kendo-ui-license';\nimport { Command, CommandOptions } from './types';\n\nconst options = {\n cdnPath: { string: true, description: 'Base url for application assets' },\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
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/commands/build.ts"],"sourcesContent":["import { getPackages, logErrors, PackageType } from '../../utils';\nimport { checkArgs, compile, lernaExec, ProcessTree, typeCheck } from '../utils';\nimport { kendoUILicense } from './kendo-ui-license';\nimport { Command, CommandOptions } from './types';\n\nconst options = {\n cdnPath: { string: true, description: 'Base url for application assets' },\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 build' },\n stat: { boolean: true, description: 'Generate bundle report?' },\n useTsc: { boolean: true, description: 'Use tsc to compile packages?' },\n} satisfies CommandOptions;\n\nenum BuildProcesses {\n Precompile,\n Compile,\n KendoUILicense,\n PreparePackage,\n TypeCheck,\n BundleExposedDependencies,\n BundlePackage,\n}\n\nexport class Build extends Command<typeof options> {\n static readonly description = 'Build project for production';\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 if (this.args.cdnPath) {\n process.env.CLIENT_CDN_PATH = this.args.cdnPath;\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 BuildProcesses>();\n\n processTree.add(BuildProcesses.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 processTree.add(BuildProcesses.Compile, () => compile({ packages: scope, useTsc }), {\n dependsOn: [BuildProcesses.Precompile],\n });\n processTree.add(BuildProcesses.KendoUILicense, () => kendoUILicense());\n processTree.add(BuildProcesses.PreparePackage, () =>\n lernaExec({\n cmd: 'startup prepare-package',\n scope,\n stream: true,\n })\n );\n processTree.add(BuildProcesses.TypeCheck, () => typeCheck({ packages: scope }), {\n dependsOn: [BuildProcesses.PreparePackage],\n });\n processTree.add(\n BuildProcesses.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'],\n });\n },\n {\n dependsOn: [\n BuildProcesses.Compile,\n BuildProcesses.KendoUILicense,\n BuildProcesses.PreparePackage,\n ],\n }\n );\n processTree.add(\n BuildProcesses.BundlePackage,\n () => {\n if (webpackScope.length === 0) {\n return Promise.resolve();\n }\n\n return lernaExec({\n 'cmd': 'startup bundle-package',\n 'scope': webpackScope,\n 'stream': true,\n '--': [\n ...[this.args.config ? `--config \"${this.args.config}\"` : undefined],\n ...[this.args.codeCoverage ? '--code-coverage' : undefined],\n ...[this.args.stat ? '--stat' : undefined],\n ].filter(item => !!item) as string[],\n });\n },\n { dependsOn: [BuildProcesses.BundleExposedDependencies] }\n );\n\n await processTree.run();\n }\n}\n"],"names":["Build","options","cdnPath","string","description","codeCoverage","boolean","config","hidden","ignore","array","scope","stat","useTsc","BuildProcesses","Command","execute","checkArgs","args","obsolete","packages","getPackages","type","PackageType","TSC","Webpack","length","process","env","CLIENT_CDN_PATH","map","name","webpackScope","filter","precompileScope","scripts","precompile","processTree","ProcessTree","add","Promise","resolve","lernaExec","cmd","parallel","stream","compile","dependsOn","kendoUILicense","typeCheck","undefined","item","run","greedy"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundle-package.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/bundle-package.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAkB,MAAM,SAAS,CAAC;AAElD,QAAA,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;CAOa,CAAC;AAE3B,qBAAa,aAAc,SAAQ,OAAO,CAAC,OAAO,OAAO,CAAC;IACtD,MAAM,CAAC,QAAQ,CAAC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;MAAW;IAE5B,OAAO;
|
|
1
|
+
{"version":3,"file":"bundle-package.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/bundle-package.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAkB,MAAM,SAAS,CAAC;AAElD,QAAA,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;CAOa,CAAC;AAE3B,qBAAa,aAAc,SAAQ,OAAO,CAAC,OAAO,OAAO,CAAC;IACtD,MAAM,CAAC,QAAQ,CAAC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;MAAW;IAE5B,OAAO;CAyBhB"}
|
|
@@ -61,7 +61,6 @@ const options = {
|
|
|
61
61
|
};
|
|
62
62
|
class BundlePackage extends _types.Command {
|
|
63
63
|
async execute() {
|
|
64
|
-
(0, _utils.validateSharedDependenciesConsistency)();
|
|
65
64
|
const { config, codeCoverage, exposedDependencies: emitExposedDependencies, stat = false, useWatchConfig, watch } = this.args;
|
|
66
65
|
if ((0, _utils1.getModuleType)((0, _utils.getTsConfig)()) !== 'esnext') {
|
|
67
66
|
_utils.log.warning('webpack packages should set compilerOptions.module to "esnext" in tsconfig.json');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/cli/commands/bundle-package.ts"],"sourcesContent":["import { getTsConfig, log, logErrors
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/commands/bundle-package.ts"],"sourcesContent":["import { getTsConfig, log, logErrors } from '../../utils';\nimport { bundle, getModuleType } from '../utils';\nimport { Command, CommandOptions } from './types';\n\nconst options = {\n codeCoverage: { boolean: true, hidden: true },\n config: { string: true, hidden: true },\n exposedDependencies: { boolean: true, hidden: true },\n stat: { boolean: true, hidden: true },\n useWatchConfig: { boolean: true, hidden: true },\n watch: { boolean: true, hidden: true },\n} satisfies CommandOptions;\n\nexport class BundlePackage extends Command<typeof options> {\n static readonly options = options;\n @logErrors\n async execute() {\n const {\n config,\n codeCoverage,\n exposedDependencies: emitExposedDependencies,\n stat = false,\n useWatchConfig,\n watch,\n } = this.args;\n\n if (getModuleType(getTsConfig()) !== 'esnext') {\n log.warning(\n 'webpack packages should set compilerOptions.module to \"esnext\" in tsconfig.json'\n );\n }\n\n const options: Parameters<typeof bundle>[0] = {\n ...(emitExposedDependencies ? {} : { config }),\n codeCoverage,\n emitExposedDependencies,\n useWatchConfig,\n };\n\n await bundle({ buildStat: stat, ...options, watch });\n }\n}\n"],"names":["BundlePackage","options","codeCoverage","boolean","hidden","config","string","exposedDependencies","stat","useWatchConfig","watch","Command","execute","emitExposedDependencies","args","getModuleType","getTsConfig","log","warning","bundle","buildStat"],"mappings":";;;;+BAaaA;;;eAAAA;;;uBAb+B;wBACN;uBACE;;;;;;;;;;;;;;;;;;;;;;;AAExC,MAAMC,UAAU;IACZC,cAAc;QAAEC,SAAS;QAAMC,QAAQ;IAAK;IAC5CC,QAAQ;QAAEC,QAAQ;QAAMF,QAAQ;IAAK;IACrCG,qBAAqB;QAAEJ,SAAS;QAAMC,QAAQ;IAAK;IACnDI,MAAM;QAAEL,SAAS;QAAMC,QAAQ;IAAK;IACpCK,gBAAgB;QAAEN,SAAS;QAAMC,QAAQ;IAAK;IAC9CM,OAAO;QAAEP,SAAS;QAAMC,QAAQ;IAAK;AACzC;AAEO,MAAMJ,sBAAsBW,cAAO;IAEtC,MACMC,UAAU;QACZ,MAAM,EACFP,MAAM,EACNH,YAAY,EACZK,qBAAqBM,uBAAuB,EAC5CL,OAAO,KAAK,EACZC,cAAc,EACdC,KAAK,EACR,GAAG,IAAI,CAACI,IAAI;QAEb,IAAIC,IAAAA,qBAAa,EAACC,IAAAA,kBAAW,SAAQ,UAAU;YAC3CC,UAAG,CAACC,OAAO,CACP;QAER;QAEA,MAAMjB,UAAwC;YAC1C,GAAIY,0BAA0B,CAAC,IAAI;gBAAER;YAAO,CAAC;YAC7CH;YACAW;YACAJ;QACJ;QAEA,MAAMU,IAAAA,cAAM,EAAC;YAAEC,WAAWZ;YAAM,GAAGP,OAAO;YAAES;QAAM;IACtD;AACJ;AA3BI,iBADSV,eACOC,WAAUA"}
|
|
@@ -11,7 +11,6 @@ Object.defineProperty(exports, "getCommand", {
|
|
|
11
11
|
const _utils = require("../../utils");
|
|
12
12
|
const _build = require("./build");
|
|
13
13
|
const _bundlepackage = require("./bundle-package");
|
|
14
|
-
const _bundlevite = require("./bundle-vite");
|
|
15
14
|
const _clean = require("./clean");
|
|
16
15
|
const _converteslintconfig = require("./convert-eslint-config");
|
|
17
16
|
const _eslint = require("./eslint");
|
|
@@ -26,6 +25,7 @@ const _mfepackageclean = require("./mfe-package-clean");
|
|
|
26
25
|
const _mfepackagepublish = require("./mfe-package-publish");
|
|
27
26
|
const _mfepackagerollback = require("./mfe-package-rollback");
|
|
28
27
|
const _mfepublish = require("./mfe-publish");
|
|
28
|
+
const _mfepurgecache = require("./mfe-purge-cache");
|
|
29
29
|
const _preparepackage = require("./prepare-package");
|
|
30
30
|
const _review = require("./review");
|
|
31
31
|
const _runtask = require("./run-task");
|
|
@@ -37,7 +37,6 @@ const _uploadsourcemaps = require("./upload-sourcemaps");
|
|
|
37
37
|
const commands = {
|
|
38
38
|
[_utils.CommandName.build]: _build.Build,
|
|
39
39
|
[_utils.CommandName['bundle-package']]: _bundlepackage.BundlePackage,
|
|
40
|
-
[_utils.CommandName['bundle-vite']]: _bundlevite.BundleVite,
|
|
41
40
|
[_utils.CommandName['convert-eslint-config']]: _converteslintconfig.ConvertEslintConfig,
|
|
42
41
|
[_utils.CommandName.clean]: _clean.Clean,
|
|
43
42
|
[_utils.CommandName.eslint]: _eslint.ESLintCommand,
|
|
@@ -52,6 +51,7 @@ const commands = {
|
|
|
52
51
|
[_utils.CommandName['mfe-package-publish']]: _mfepackagepublish.MFEPackagePublish,
|
|
53
52
|
[_utils.CommandName['mfe-package-rollback']]: _mfepackagerollback.MFEPackageRollback,
|
|
54
53
|
[_utils.CommandName['mfe-publish']]: _mfepublish.MFEPublish,
|
|
54
|
+
[_utils.CommandName['mfe-purge-cache']]: _mfepurgecache.MFEPurgeCache,
|
|
55
55
|
[_utils.CommandName['prepare-package']]: _preparepackage.PreparePackage,
|
|
56
56
|
[_utils.CommandName.review]: _review.Review,
|
|
57
57
|
[_utils.CommandName.start]: _start.Start,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/cli/commands/get-command.ts"],"sourcesContent":["import { CommandName } from '../../utils';\nimport { Build } from './build';\nimport { BundlePackage } from './bundle-package';\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/commands/get-command.ts"],"sourcesContent":["import { CommandName } from '../../utils';\nimport { Build } from './build';\nimport { BundlePackage } from './bundle-package';\nimport { Clean } from './clean';\nimport { ConvertEslintConfig } from './convert-eslint-config';\nimport { ESLintCommand } from './eslint';\nimport { Init } from './init';\nimport { Install } from './install';\nimport { KendoUILicense } from './kendo-ui-license';\nimport { Lint } from './lint';\nimport { MfeCheck } from './mfe-check';\nimport { MfeGenerateMetadata } from './mfe-generate-metadata';\nimport { MFEList } from './mfe-list';\nimport { MFEPackageClean } from './mfe-package-clean';\nimport { MFEPackagePublish } from './mfe-package-publish';\nimport { MFEPackageRollback } from './mfe-package-rollback';\nimport { MFEPublish } from './mfe-publish';\nimport { MFEPurgeCache } from './mfe-purge-cache';\nimport { PreparePackage } from './prepare-package';\nimport { Review } from './review';\nimport { RunTask } from './run-task';\nimport { Start } from './start';\nimport { Stylelint } from './stylelint';\nimport { StylesCheck } from './styles-check';\nimport { Tests } from './test';\nimport { Command, Newable } from './types';\nimport { UploadSourcemaps } from './upload-sourcemaps';\n\nconst commands: Record<CommandName, Newable<Command>> = {\n [CommandName.build]: Build,\n [CommandName['bundle-package']]: BundlePackage,\n [CommandName['convert-eslint-config']]: ConvertEslintConfig,\n [CommandName.clean]: Clean,\n [CommandName.eslint]: ESLintCommand,\n [CommandName.init]: Init,\n [CommandName.install]: Install,\n [CommandName['kendo-ui-license']]: KendoUILicense,\n [CommandName.lint]: Lint,\n [CommandName['mfe-check']]: MfeCheck,\n [CommandName['mfe-generate-metadata']]: MfeGenerateMetadata,\n [CommandName['mfe-list']]: MFEList,\n [CommandName['mfe-package-clean']]: MFEPackageClean,\n [CommandName['mfe-package-publish']]: MFEPackagePublish,\n [CommandName['mfe-package-rollback']]: MFEPackageRollback,\n [CommandName['mfe-publish']]: MFEPublish,\n [CommandName['mfe-purge-cache']]: MFEPurgeCache,\n [CommandName['prepare-package']]: PreparePackage,\n [CommandName.review]: Review,\n [CommandName.start]: Start,\n [CommandName.stylelint]: Stylelint,\n [CommandName['styles-check']]: StylesCheck,\n [CommandName.test]: Tests,\n [CommandName.task]: RunTask,\n [CommandName['upload-sourcemaps']]: UploadSourcemaps,\n};\n\nexport function getCommand(name: CommandName): Newable<Command> | undefined {\n return commands[name];\n}\n"],"names":["getCommand","commands","CommandName","build","Build","BundlePackage","ConvertEslintConfig","clean","Clean","eslint","ESLintCommand","init","Init","install","Install","KendoUILicense","lint","Lint","MfeCheck","MfeGenerateMetadata","MFEList","MFEPackageClean","MFEPackagePublish","MFEPackageRollback","MFEPublish","MFEPurgeCache","PreparePackage","review","Review","start","Start","stylelint","Stylelint","StylesCheck","test","Tests","task","RunTask","UploadSourcemaps","name"],"mappings":";;;;+BAwDgBA;;;eAAAA;;;uBAxDY;uBACN;+BACQ;uBACR;qCACc;wBACN;sBACT;yBACG;gCACO;sBACV;0BACI;qCACW;yBACZ;iCACQ;mCACE;oCACC;4BACR;+BACG;gCACC;wBACR;yBACC;uBACF;2BACI;6BACE;sBACN;kCAEW;AAEjC,MAAMC,WAAkD;IACpD,CAACC,kBAAW,CAACC,KAAK,CAAC,EAAEC,YAAK;IAC1B,CAACF,kBAAW,CAAC,iBAAiB,CAAC,EAAEG,4BAAa;IAC9C,CAACH,kBAAW,CAAC,wBAAwB,CAAC,EAAEI,wCAAmB;IAC3D,CAACJ,kBAAW,CAACK,KAAK,CAAC,EAAEC,YAAK;IAC1B,CAACN,kBAAW,CAACO,MAAM,CAAC,EAAEC,qBAAa;IACnC,CAACR,kBAAW,CAACS,IAAI,CAAC,EAAEC,UAAI;IACxB,CAACV,kBAAW,CAACW,OAAO,CAAC,EAAEC,gBAAO;IAC9B,CAACZ,kBAAW,CAAC,mBAAmB,CAAC,EAAEa,8BAAc;IACjD,CAACb,kBAAW,CAACc,IAAI,CAAC,EAAEC,UAAI;IACxB,CAACf,kBAAW,CAAC,YAAY,CAAC,EAAEgB,kBAAQ;IACpC,CAAChB,kBAAW,CAAC,wBAAwB,CAAC,EAAEiB,wCAAmB;IAC3D,CAACjB,kBAAW,CAAC,WAAW,CAAC,EAAEkB,gBAAO;IAClC,CAAClB,kBAAW,CAAC,oBAAoB,CAAC,EAAEmB,gCAAe;IACnD,CAACnB,kBAAW,CAAC,sBAAsB,CAAC,EAAEoB,oCAAiB;IACvD,CAACpB,kBAAW,CAAC,uBAAuB,CAAC,EAAEqB,sCAAkB;IACzD,CAACrB,kBAAW,CAAC,cAAc,CAAC,EAAEsB,sBAAU;IACxC,CAACtB,kBAAW,CAAC,kBAAkB,CAAC,EAAEuB,4BAAa;IAC/C,CAACvB,kBAAW,CAAC,kBAAkB,CAAC,EAAEwB,8BAAc;IAChD,CAACxB,kBAAW,CAACyB,MAAM,CAAC,EAAEC,cAAM;IAC5B,CAAC1B,kBAAW,CAAC2B,KAAK,CAAC,EAAEC,YAAK;IAC1B,CAAC5B,kBAAW,CAAC6B,SAAS,CAAC,EAAEC,oBAAS;IAClC,CAAC9B,kBAAW,CAAC,eAAe,CAAC,EAAE+B,wBAAW;IAC1C,CAAC/B,kBAAW,CAACgC,IAAI,CAAC,EAAEC,WAAK;IACzB,CAACjC,kBAAW,CAACkC,IAAI,CAAC,EAAEC,gBAAO;IAC3B,CAACnC,kBAAW,CAAC,oBAAoB,CAAC,EAAEoC,kCAAgB;AACxD;AAEO,SAAStC,WAAWuC,IAAiB;IACxC,OAAOtC,QAAQ,CAACsC,KAAK;AACzB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mfe-check.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/mfe-check.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mfe-check.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/mfe-check.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,OAAO,EAAkB,MAAM,SAAS,CAAC;AAuBlD,QAAA,MAAM,OAAO;;;;;;;;;;;;;;;;;;;CAoBa,CAAC;AAE3B,qBAAa,QAAS,SAAQ,OAAO,CAAC,OAAO,OAAO,CAAC;IACjD,MAAM,CAAC,QAAQ,CAAC,kBAAkB,QAAQ;IAC1C,MAAM,CAAC,QAAQ,CAAC,WAAW,6CAA6C;IACxE,MAAM,CAAC,QAAQ,CAAC,OAAO;;;;;;;;;;;;;;;;;;;MAAW;IAG5B,OAAO;IAoBb,OAAO,CAAC,kBAAkB;IAiB1B,OAAO,CAAC,kBAAkB;IAkC1B,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,mBAAmB;CA2B9B"}
|
|
@@ -10,8 +10,8 @@ Object.defineProperty(exports, "MfeCheck", {
|
|
|
10
10
|
});
|
|
11
11
|
const _startuputils = require("@servicetitan/startup-utils");
|
|
12
12
|
const _nodepath = /*#__PURE__*/ _interop_require_default(require("node:path"));
|
|
13
|
-
const _core = require("../../core");
|
|
14
13
|
const _utils = require("../../utils");
|
|
14
|
+
const _utils1 = require("../../webpack/configs/utils");
|
|
15
15
|
const _types = require("./types");
|
|
16
16
|
function _define_property(obj, key, value) {
|
|
17
17
|
if (key in obj) {
|
|
@@ -91,7 +91,7 @@ class MfeCheck extends _types.Command {
|
|
|
91
91
|
var _hostData_cli_webpack, _hostData_cli, _hostData_cli_webpack1, _hostData_cli1;
|
|
92
92
|
const mfeSharedDependencies = mfeMetadata.sharedDependencies;
|
|
93
93
|
const hostSharedDependencies = (0, _utils.loadSharedDependencies)(hostData.dependencies, (_hostData_cli = hostData.cli) === null || _hostData_cli === void 0 ? void 0 : (_hostData_cli_webpack = _hostData_cli.webpack) === null || _hostData_cli_webpack === void 0 ? void 0 : _hostData_cli_webpack['shared-dependencies']);
|
|
94
|
-
const exposedDependencies = (0,
|
|
94
|
+
const exposedDependencies = (0, _utils1.getExposedDependencies)(hostSharedDependencies, hostData.dependencies);
|
|
95
95
|
const mismatchResult = (0, _startuputils.getVersionMismatches)(exposedDependencies, mfeMetadata.dependencies, mfeSharedDependencies);
|
|
96
96
|
const isHostMfe = (0, _utils.isWebComponent)(hostData);
|
|
97
97
|
const isSharedDependenciesEnabled = ((_hostData_cli1 = hostData.cli) === null || _hostData_cli1 === void 0 ? void 0 : (_hostData_cli_webpack1 = _hostData_cli1.webpack) === null || _hostData_cli_webpack1 === void 0 ? void 0 : _hostData_cli_webpack1['expose-shared-dependencies']) === true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/cli/commands/mfe-check.ts"],"sourcesContent":["import { getVersionMismatches } from '@servicetitan/startup-utils';\nimport path from 'node:path';\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/commands/mfe-check.ts"],"sourcesContent":["import { getVersionMismatches } from '@servicetitan/startup-utils';\nimport path from 'node:path';\nimport {\n isWebComponent,\n loadSharedDependencies,\n log,\n logErrors,\n readJson,\n toArray,\n} from '../../utils';\nimport { Metadata } from '../../webpack/configs/types';\nimport { getExposedDependencies } from '../../webpack/configs/utils';\nimport { Command, CommandOptions } from './types';\n\ninterface HostPackageJSON {\n name: string;\n dependencies: Record<string, string>;\n cli?: {\n 'web-component'?: boolean | string | object;\n 'webpack'?: {\n 'expose-shared-dependencies'?: boolean;\n 'shared-dependencies'?: Record<string, string>;\n };\n };\n}\n\ninterface CompatibilityResult {\n name: string;\n compatible: boolean;\n bundleType: 'light' | 'full';\n mismatches?: Record<string, { host: string; package: string }>;\n isSharedDependenciesEnabled: boolean;\n isHostMfe: boolean;\n}\n\nconst options = {\n metadata: {\n description:\n \"Path to MFE's metadata.json file, can be generated with the 'mfe-generate-metadata' command\",\n string: true,\n demandOption: true,\n requiresArg: true,\n },\n hostPackageJson: {\n description: 'Path(s) to host package.json files',\n array: true,\n string: true,\n demandOption: true,\n requiresArg: true,\n },\n json: {\n description: 'Output results as JSON',\n boolean: true,\n default: false,\n },\n} satisfies CommandOptions;\n\nexport class MfeCheck extends Command<typeof options> {\n static readonly allowRunFromGlobal = true;\n static readonly description = 'Check MFE/host dependency compatibility';\n static readonly options = options;\n\n @logErrors\n async execute() {\n const { metadata: metadataPath, hostPackageJson, json } = this.args;\n const mfeMetadata = readJson<Metadata>(path.resolve(metadataPath));\n const hostPackageJsonPaths = toArray(hostPackageJson);\n const hostData = this.getHostPackageData(hostPackageJsonPaths);\n const result = this.checkCompatibility(mfeMetadata, hostData);\n\n if (json) {\n this.outputJson(result);\n } else {\n this.outputHumanReadable(result);\n }\n\n if (!result.compatible) {\n process.exitCode = 1;\n }\n\n return Promise.resolve();\n }\n\n private getHostPackageData(packageJsonPaths: string[]): HostPackageJSON {\n const packages = packageJsonPaths.map(packageJsonPath =>\n readJson<HostPackageJSON>(path.resolve(packageJsonPath))\n );\n const mergedDependencies = packages.reduceRight<HostPackageJSON['dependencies']>(\n (result, currentPackage) => Object.assign(result, currentPackage.dependencies),\n {}\n );\n const mainPackage = packages[0];\n\n return {\n name: mainPackage.name,\n cli: mainPackage.cli,\n dependencies: mergedDependencies,\n };\n }\n\n private checkCompatibility(\n mfeMetadata: Metadata,\n hostData: HostPackageJSON\n ): CompatibilityResult {\n const mfeSharedDependencies = mfeMetadata.sharedDependencies;\n const hostSharedDependencies = loadSharedDependencies(\n hostData.dependencies,\n hostData.cli?.webpack?.['shared-dependencies']\n );\n const exposedDependencies = getExposedDependencies(\n hostSharedDependencies,\n hostData.dependencies\n );\n const mismatchResult = getVersionMismatches(\n exposedDependencies,\n mfeMetadata.dependencies,\n mfeSharedDependencies\n );\n\n const isHostMfe = isWebComponent(hostData);\n const isSharedDependenciesEnabled =\n hostData.cli?.webpack?.['expose-shared-dependencies'] === true;\n const compatible = !isHostMfe && !mismatchResult && isSharedDependenciesEnabled;\n\n return {\n name: mfeMetadata.name,\n compatible,\n bundleType: compatible ? 'light' : 'full',\n isSharedDependenciesEnabled,\n isHostMfe,\n ...(mismatchResult ? { mismatches: mismatchResult } : {}),\n };\n }\n\n private outputJson(result: CompatibilityResult) {\n process.stdout.write(JSON.stringify(result, null, 2) + '\\n');\n }\n\n private outputHumanReadable(result: CompatibilityResult) {\n log.info(`Checking ${result.name}...`);\n\n if (result.isHostMfe) {\n log.error('Skipping compatibility check because host is an MFE');\n return;\n }\n\n if (result.compatible) {\n log.info('Compatible: light bundle can be used');\n return;\n }\n\n if (result.mismatches) {\n log.error('Dependency mismatch found:');\n\n for (const [dep, versions] of Object.entries(result.mismatches)) {\n log.error(` ${dep}: host=${versions.host}, package=${versions.package}`);\n }\n }\n\n if (!result.isSharedDependenciesEnabled) {\n log.error('expose-shared-dependencies is not enabled in host package.json');\n }\n\n log.error('Result: full bundle required');\n }\n}\n"],"names":["MfeCheck","options","metadata","description","string","demandOption","requiresArg","hostPackageJson","array","json","boolean","default","Command","execute","metadataPath","args","mfeMetadata","readJson","path","resolve","hostPackageJsonPaths","toArray","hostData","getHostPackageData","result","checkCompatibility","outputJson","outputHumanReadable","compatible","process","exitCode","Promise","packageJsonPaths","packages","map","packageJsonPath","mergedDependencies","reduceRight","currentPackage","Object","assign","dependencies","mainPackage","name","cli","mfeSharedDependencies","sharedDependencies","hostSharedDependencies","loadSharedDependencies","webpack","exposedDependencies","getExposedDependencies","mismatchResult","getVersionMismatches","isHostMfe","isWebComponent","isSharedDependenciesEnabled","bundleType","mismatches","stdout","write","JSON","stringify","log","info","error","dep","versions","entries","host","package","allowRunFromGlobal"],"mappings":"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"}
|
|
@@ -10,8 +10,8 @@ Object.defineProperty(exports, "MfeGenerateMetadata", {
|
|
|
10
10
|
});
|
|
11
11
|
const _nodefs = /*#__PURE__*/ _interop_require_default(require("node:fs"));
|
|
12
12
|
const _nodepath = /*#__PURE__*/ _interop_require_default(require("node:path"));
|
|
13
|
-
const _core = require("../../core");
|
|
14
13
|
const _utils = require("../../utils");
|
|
14
|
+
const _buildmetadata = require("../../webpack/configs/utils/build-metadata");
|
|
15
15
|
const _types = require("./types");
|
|
16
16
|
function _define_property(obj, key, value) {
|
|
17
17
|
if (key in obj) {
|
|
@@ -56,7 +56,7 @@ class MfeGenerateMetadata extends _types.Command {
|
|
|
56
56
|
const name = (0, _utils.getPackageName)();
|
|
57
57
|
const packageData = (0, _utils.getPackageData)();
|
|
58
58
|
const sharedDependencies = (0, _utils.loadSharedDependencies)(packageData.dependencies, packageData.sharedDependencies);
|
|
59
|
-
const metadata = (0,
|
|
59
|
+
const metadata = (0, _buildmetadata.buildMetadata)({
|
|
60
60
|
destination,
|
|
61
61
|
name,
|
|
62
62
|
version: packageData.version,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/cli/commands/mfe-generate-metadata.ts"],"sourcesContent":["import fs from 'node:fs';\nimport path from 'node:path';\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/commands/mfe-generate-metadata.ts"],"sourcesContent":["import fs from 'node:fs';\nimport path from 'node:path';\nimport {\n getFolders,\n getPackageData,\n getPackageName,\n isWebComponent,\n loadSharedDependencies,\n log,\n logErrors,\n} from '../../utils';\nimport { buildMetadata } from '../../webpack/configs/utils/build-metadata';\nimport { Command, CommandOptions } from './types';\n\nconst options = {\n output: {\n description: 'Output file path (outputs to stdout if not specified)',\n string: true,\n },\n} satisfies CommandOptions;\n\nexport class MfeGenerateMetadata extends Command<typeof options> {\n static readonly allowRunFromGlobal = true;\n static readonly description = 'Generate MFE metadata for compatibility checking';\n static readonly options = options;\n\n @logErrors\n async execute() {\n if (!isWebComponent()) {\n throw new Error('this command must be run inside a web-component directory');\n }\n\n const { output } = this.args;\n\n const { destination } = getFolders();\n const name = getPackageName();\n const packageData = getPackageData();\n const sharedDependencies = loadSharedDependencies(\n packageData.dependencies,\n packageData.sharedDependencies\n );\n\n const metadata = buildMetadata({\n destination,\n name,\n version: packageData.version,\n dependencies: packageData.dependencies,\n sharedDependencies,\n });\n\n const jsonOutput = JSON.stringify(metadata, null, 2);\n\n if (output) {\n const outputPath = path.resolve(output);\n const outputDir = path.dirname(outputPath);\n\n if (!fs.existsSync(outputDir)) {\n fs.mkdirSync(outputDir, { recursive: true });\n }\n\n fs.writeFileSync(outputPath, jsonOutput, 'utf8');\n log.info(`Metadata written to ${outputPath}`);\n } else {\n process.stdout.write(jsonOutput + '\\n');\n }\n\n return Promise.resolve();\n }\n}\n"],"names":["MfeGenerateMetadata","options","output","description","string","Command","execute","isWebComponent","Error","args","destination","getFolders","name","getPackageName","packageData","getPackageData","sharedDependencies","loadSharedDependencies","dependencies","metadata","buildMetadata","version","jsonOutput","JSON","stringify","outputPath","path","resolve","outputDir","dirname","fs","existsSync","mkdirSync","recursive","writeFileSync","log","info","process","stdout","write","Promise","allowRunFromGlobal"],"mappings":";;;;+BAqBaA;;;eAAAA;;;+DArBE;iEACE;uBASV;+BACuB;uBACU;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAExC,MAAMC,UAAU;IACZC,QAAQ;QACJC,aAAa;QACbC,QAAQ;IACZ;AACJ;AAEO,MAAMJ,4BAA4BK,cAAO;IAK5C,MACMC,UAAU;QACZ,IAAI,CAACC,IAAAA,qBAAc,KAAI;YACnB,MAAM,IAAIC,MAAM;QACpB;QAEA,MAAM,EAAEN,MAAM,EAAE,GAAG,IAAI,CAACO,IAAI;QAE5B,MAAM,EAAEC,WAAW,EAAE,GAAGC,IAAAA,iBAAU;QAClC,MAAMC,OAAOC,IAAAA,qBAAc;QAC3B,MAAMC,cAAcC,IAAAA,qBAAc;QAClC,MAAMC,qBAAqBC,IAAAA,6BAAsB,EAC7CH,YAAYI,YAAY,EACxBJ,YAAYE,kBAAkB;QAGlC,MAAMG,WAAWC,IAAAA,4BAAa,EAAC;YAC3BV;YACAE;YACAS,SAASP,YAAYO,OAAO;YAC5BH,cAAcJ,YAAYI,YAAY;YACtCF;QACJ;QAEA,MAAMM,aAAaC,KAAKC,SAAS,CAACL,UAAU,MAAM;QAElD,IAAIjB,QAAQ;YACR,MAAMuB,aAAaC,iBAAI,CAACC,OAAO,CAACzB;YAChC,MAAM0B,YAAYF,iBAAI,CAACG,OAAO,CAACJ;YAE/B,IAAI,CAACK,eAAE,CAACC,UAAU,CAACH,YAAY;gBAC3BE,eAAE,CAACE,SAAS,CAACJ,WAAW;oBAAEK,WAAW;gBAAK;YAC9C;YAEAH,eAAE,CAACI,aAAa,CAACT,YAAYH,YAAY;YACzCa,UAAG,CAACC,IAAI,CAAC,CAAC,oBAAoB,EAAEX,YAAY;QAChD,OAAO;YACHY,QAAQC,MAAM,CAACC,KAAK,CAACjB,aAAa;QACtC;QAEA,OAAOkB,QAAQb,OAAO;IAC1B;AACJ;AA9CI,iBADS3B,qBACOyC,sBAAqB;AACrC,iBAFSzC,qBAEOG,eAAc;AAC9B,iBAHSH,qBAGOC,WAAUA"}
|
|
@@ -38,6 +38,11 @@ export declare const mfePackagePublishOptions: {
|
|
|
38
38
|
description: string;
|
|
39
39
|
defaultDescription: string;
|
|
40
40
|
};
|
|
41
|
+
purgeCache: {
|
|
42
|
+
boolean: true;
|
|
43
|
+
description: string;
|
|
44
|
+
defaultDescription: string;
|
|
45
|
+
};
|
|
41
46
|
};
|
|
42
47
|
export declare class MFEPackagePublish extends Command<typeof mfePackagePublishOptions> {
|
|
43
48
|
static readonly options: {
|
|
@@ -79,6 +84,11 @@ export declare class MFEPackagePublish extends Command<typeof mfePackagePublishO
|
|
|
79
84
|
description: string;
|
|
80
85
|
defaultDescription: string;
|
|
81
86
|
};
|
|
87
|
+
purgeCache: {
|
|
88
|
+
boolean: true;
|
|
89
|
+
description: string;
|
|
90
|
+
defaultDescription: string;
|
|
91
|
+
};
|
|
82
92
|
};
|
|
83
93
|
execute(): Promise<void>;
|
|
84
94
|
private get dryRunPrefix();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mfe-package-publish.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/mfe-package-publish.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,OAAO,EAAkB,MAAM,SAAS,CAAC;AAGlD,eAAO,MAAM,wBAAwB
|
|
1
|
+
{"version":3,"file":"mfe-package-publish.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/mfe-package-publish.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,OAAO,EAAkB,MAAM,SAAS,CAAC;AAGlD,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwCX,CAAC;AAqB3B,qBAAa,iBAAkB,SAAQ,OAAO,CAAC,OAAO,wBAAwB,CAAC;IAC3E,MAAM,CAAC,QAAQ,CAAC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAA4B;IAG7C,OAAO;IA0Bb,OAAO,KAAK,YAAY,GAEvB;IAED,OAAO,CAAC,YAAY;YAoBN,mBAAmB;IAiDjC,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,cAAc;YA2BR,eAAe;IAqB7B,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,kBAAkB;YAsBZ,qBAAqB;YAoCrB,kBAAkB;CAgBnC"}
|
|
@@ -87,6 +87,11 @@ const mfePackagePublishOptions = {
|
|
|
87
87
|
boolean: true,
|
|
88
88
|
description: 'Upload source maps to Datadog?',
|
|
89
89
|
defaultDescription: 'true'
|
|
90
|
+
},
|
|
91
|
+
purgeCache: {
|
|
92
|
+
boolean: true,
|
|
93
|
+
description: 'Purge unpkg cache after publishing?',
|
|
94
|
+
defaultDescription: 'true'
|
|
90
95
|
}
|
|
91
96
|
};
|
|
92
97
|
class MFEPackagePublish extends _types.Command {
|
|
@@ -101,6 +106,13 @@ class MFEPackagePublish extends _types.Command {
|
|
|
101
106
|
}
|
|
102
107
|
await this.maybeApplyRollbackTag(packageJson.name, data);
|
|
103
108
|
await this.maybePublishPackage(packageJson, data);
|
|
109
|
+
const { dry, tag } = data;
|
|
110
|
+
if (this.args.purgeCache !== false && !dry) {
|
|
111
|
+
(0, _utils2.purgeCache)({
|
|
112
|
+
packageName: packageJson.name,
|
|
113
|
+
tag
|
|
114
|
+
});
|
|
115
|
+
}
|
|
104
116
|
if (data.uploadSourcemaps) {
|
|
105
117
|
this.uploadSourcemaps(data);
|
|
106
118
|
}
|
|
@@ -1 +1 @@
|
|
|
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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"}
|
|
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 { DEFAULT_MFE_REGISTRY, buildRollbackTag, purgeCache } 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 purgeCache: {\n boolean: true,\n description: 'Purge unpkg cache after publishing?',\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 const { dry, tag } = data;\n if (this.args.purgeCache !== false && !dry) {\n purgeCache({ packageName: packageJson.name, tag });\n }\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","purgeCache","Command","execute","args","log","warning","packageJson","readJson","data","getPublishData","name","checkPackage","maybeApplyRollbackTag","maybePublishPackage","packageName","dryRunPrefix","DRY_RUN_PREFIX","isBranchConfigured","isWebComponent","Error","private","version","versions","npmGetPackageVersions","includes","info","npmTagVersion","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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"}
|
|
@@ -14,9 +14,13 @@ export declare const mfePackageRollbackOptions: {
|
|
|
14
14
|
description: string;
|
|
15
15
|
required: true;
|
|
16
16
|
};
|
|
17
|
+
purgeCache: {
|
|
18
|
+
boolean: true;
|
|
19
|
+
description: string;
|
|
20
|
+
defaultDescription: string;
|
|
21
|
+
};
|
|
17
22
|
};
|
|
18
23
|
export declare class MFEPackageRollback extends Command<typeof mfePackageRollbackOptions> {
|
|
19
|
-
static readonly description = "Rollback a package to a previous tagged version";
|
|
20
24
|
static readonly options: {
|
|
21
25
|
dry: {
|
|
22
26
|
boolean: true;
|
|
@@ -32,6 +36,11 @@ export declare class MFEPackageRollback extends Command<typeof mfePackageRollbac
|
|
|
32
36
|
description: string;
|
|
33
37
|
required: true;
|
|
34
38
|
};
|
|
39
|
+
purgeCache: {
|
|
40
|
+
boolean: true;
|
|
41
|
+
description: string;
|
|
42
|
+
defaultDescription: string;
|
|
43
|
+
};
|
|
35
44
|
};
|
|
36
45
|
private get dryRunPrefix();
|
|
37
46
|
execute(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mfe-package-rollback.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/mfe-package-rollback.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAkB,MAAM,SAAS,CAAC;AAGlD,eAAO,MAAM,yBAAyB
|
|
1
|
+
{"version":3,"file":"mfe-package-rollback.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/mfe-package-rollback.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAkB,MAAM,SAAS,CAAC;AAGlD,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;CAoBZ,CAAC;AAM3B,qBAAa,kBAAmB,SAAQ,OAAO,CAAC,OAAO,yBAAyB,CAAC;IAC7E,MAAM,CAAC,QAAQ,CAAC,OAAO;;;;;;;;;;;;;;;;;;;;MAA6B;IAEpD,OAAO,KAAK,YAAY,GAEvB;IAGK,OAAO;YAaC,cAAc;CAyD/B"}
|
|
@@ -56,6 +56,11 @@ const mfePackageRollbackOptions = {
|
|
|
56
56
|
string: true,
|
|
57
57
|
description: 'The tag to rollback to its previous version',
|
|
58
58
|
required: true
|
|
59
|
+
},
|
|
60
|
+
purgeCache: {
|
|
61
|
+
boolean: true,
|
|
62
|
+
description: 'Purge unpkg cache after rolling back?',
|
|
63
|
+
defaultDescription: 'true'
|
|
59
64
|
}
|
|
60
65
|
};
|
|
61
66
|
class MFEPackageRollback extends _types.Command {
|
|
@@ -63,10 +68,17 @@ class MFEPackageRollback extends _types.Command {
|
|
|
63
68
|
return this.args.dry ? _utils1.DRY_RUN_PREFIX : '';
|
|
64
69
|
}
|
|
65
70
|
async execute() {
|
|
66
|
-
|
|
71
|
+
const { dry, tag } = this.args;
|
|
72
|
+
if (dry) {
|
|
67
73
|
_utils.log.warning('DRY-RUN MODE ENABLED, WILL NOT PERFORM ROLLBACK');
|
|
68
74
|
}
|
|
69
|
-
await this.handleRollback();
|
|
75
|
+
const packageName = await this.handleRollback();
|
|
76
|
+
if (packageName && this.args.purgeCache !== false && !dry) {
|
|
77
|
+
(0, _utils2.purgeCache)({
|
|
78
|
+
packageName,
|
|
79
|
+
tag
|
|
80
|
+
});
|
|
81
|
+
}
|
|
70
82
|
}
|
|
71
83
|
async handleRollback() {
|
|
72
84
|
var _ref;
|
|
@@ -105,9 +117,9 @@ class MFEPackageRollback extends _types.Command {
|
|
|
105
117
|
tag
|
|
106
118
|
});
|
|
107
119
|
}
|
|
120
|
+
return packageName;
|
|
108
121
|
}
|
|
109
122
|
}
|
|
110
|
-
_define_property(MFEPackageRollback, "description", 'Rollback a package to a previous tagged version');
|
|
111
123
|
_define_property(MFEPackageRollback, "options", mfePackageRollbackOptions);
|
|
112
124
|
_ts_decorate([
|
|
113
125
|
_utils.logErrors,
|