@servicetitan/startup 38.0.0 → 38.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/js-yaml.js +2 -2
- package/dist/cli/commands/build.d.ts.map +1 -1
- package/dist/cli/commands/build.js +32 -10
- package/dist/cli/commands/build.js.map +1 -1
- package/dist/cli/commands/bundle-package.d.ts +6 -0
- package/dist/cli/commands/bundle-package.d.ts.map +1 -0
- package/dist/cli/commands/bundle-package.js +59 -0
- package/dist/cli/commands/bundle-package.js.map +1 -0
- package/dist/cli/commands/bundle-vite.js +13 -4
- package/dist/cli/commands/bundle-vite.js.map +1 -1
- package/dist/cli/commands/bundle-webpack.js +13 -4
- package/dist/cli/commands/bundle-webpack.js.map +1 -1
- package/dist/cli/commands/clean.js +13 -4
- package/dist/cli/commands/clean.js.map +1 -1
- package/dist/cli/commands/command.d.ts +13 -0
- package/dist/cli/commands/command.d.ts.map +1 -0
- package/dist/cli/commands/command.js +74 -0
- package/dist/cli/commands/command.js.map +1 -0
- package/dist/cli/commands/convert-eslint-config.js +14 -7
- package/dist/cli/commands/convert-eslint-config.js.map +1 -1
- package/dist/cli/commands/eslint.js +13 -4
- package/dist/cli/commands/eslint.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +13 -5
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/install.d.ts.map +1 -1
- package/dist/cli/commands/install.js +14 -21
- package/dist/cli/commands/install.js.map +1 -1
- package/dist/cli/commands/kendo-ui-license.js +13 -4
- package/dist/cli/commands/kendo-ui-license.js.map +1 -1
- package/dist/cli/commands/lint.js +13 -4
- package/dist/cli/commands/lint.js.map +1 -1
- package/dist/cli/commands/mfe-check.d.ts.map +1 -1
- package/dist/cli/commands/mfe-check.js +15 -7
- package/dist/cli/commands/mfe-check.js.map +1 -1
- package/dist/cli/commands/mfe-generate-metadata.js +13 -4
- package/dist/cli/commands/mfe-generate-metadata.js.map +1 -1
- package/dist/cli/commands/mfe-list.js +13 -4
- package/dist/cli/commands/mfe-list.js.map +1 -1
- package/dist/cli/commands/mfe-package-clean.js +13 -4
- package/dist/cli/commands/mfe-package-clean.js.map +1 -1
- package/dist/cli/commands/mfe-package-publish.js +13 -4
- package/dist/cli/commands/mfe-package-publish.js.map +1 -1
- package/dist/cli/commands/mfe-package-rollback.js +13 -4
- package/dist/cli/commands/mfe-package-rollback.js.map +1 -1
- package/dist/cli/commands/mfe-publish.js +13 -4
- package/dist/cli/commands/mfe-publish.js.map +1 -1
- package/dist/cli/commands/mfe-purge-cache.js +13 -4
- package/dist/cli/commands/mfe-purge-cache.js.map +1 -1
- package/dist/cli/commands/prepare-package.js +13 -4
- package/dist/cli/commands/prepare-package.js.map +1 -1
- package/dist/cli/commands/registry/build.d.ts +1 -1
- package/dist/cli/commands/registry/build.d.ts.map +1 -1
- package/dist/cli/commands/registry/build.js +3 -5
- package/dist/cli/commands/registry/build.js.map +1 -1
- package/dist/cli/commands/registry/bundle-package.d.ts +41 -0
- package/dist/cli/commands/registry/bundle-package.d.ts.map +1 -0
- package/dist/cli/commands/registry/bundle-package.js +54 -0
- package/dist/cli/commands/registry/bundle-package.js.map +1 -0
- package/dist/cli/commands/registry/command-registry.d.ts +42 -18
- package/dist/cli/commands/registry/command-registry.d.ts.map +1 -1
- package/dist/cli/commands/registry/command-registry.js +10 -19
- package/dist/cli/commands/registry/command-registry.js.map +1 -1
- package/dist/cli/commands/registry/install.d.ts +0 -16
- package/dist/cli/commands/registry/install.d.ts.map +1 -1
- package/dist/cli/commands/registry/install.js +1 -17
- package/dist/cli/commands/registry/install.js.map +1 -1
- package/dist/cli/commands/registry/start.d.ts +1 -1
- package/dist/cli/commands/registry/start.d.ts.map +1 -1
- package/dist/cli/commands/registry/start.js +3 -5
- package/dist/cli/commands/registry/start.js.map +1 -1
- package/dist/cli/commands/review/review.js +14 -7
- package/dist/cli/commands/review/review.js.map +1 -1
- package/dist/cli/commands/review/rules/no-deprecated-content-base.js +1 -3
- package/dist/cli/commands/review/rules/no-deprecated-content-base.js.map +1 -1
- package/dist/cli/commands/review/rules/no-direct-peer-dependencies.js +1 -3
- package/dist/cli/commands/review/rules/no-direct-peer-dependencies.js.map +1 -1
- package/dist/cli/commands/review/rules/no-typescript-entry-point.js +1 -3
- package/dist/cli/commands/review/rules/no-typescript-entry-point.js.map +1 -1
- package/dist/cli/commands/review/rules/prefer-open-ended-peer-dependencies.js +5 -12
- package/dist/cli/commands/review/rules/prefer-open-ended-peer-dependencies.js.map +1 -1
- package/dist/cli/commands/review/rules/require-compatible-launch-darkly-sdk.js +5 -12
- package/dist/cli/commands/review/rules/require-compatible-launch-darkly-sdk.js.map +1 -1
- package/dist/cli/commands/review/rules/require-explicit-side-effects.js +1 -3
- package/dist/cli/commands/review/rules/require-explicit-side-effects.js.map +1 -1
- package/dist/cli/commands/review/rules/require-one-collection-version.js +1 -3
- package/dist/cli/commands/review/rules/require-one-collection-version.js.map +1 -1
- package/dist/cli/commands/review/rules/require-servicetitan-scope.js +1 -3
- package/dist/cli/commands/review/rules/require-servicetitan-scope.js.map +1 -1
- package/dist/cli/commands/review/rules/require-tsconfig-references.js +1 -3
- package/dist/cli/commands/review/rules/require-tsconfig-references.js.map +1 -1
- package/dist/cli/commands/review/utils/compare-version.js +8 -19
- package/dist/cli/commands/review/utils/compare-version.js.map +1 -1
- package/dist/cli/commands/run-task.d.ts +1 -0
- package/dist/cli/commands/run-task.d.ts.map +1 -1
- package/dist/cli/commands/run-task.js +20 -6
- package/dist/cli/commands/run-task.js.map +1 -1
- package/dist/cli/commands/start.d.ts.map +1 -1
- package/dist/cli/commands/start.js +37 -14
- package/dist/cli/commands/start.js.map +1 -1
- package/dist/cli/commands/stylelint.js +13 -4
- package/dist/cli/commands/stylelint.js.map +1 -1
- package/dist/cli/commands/styles-check.js +13 -4
- package/dist/cli/commands/styles-check.js.map +1 -1
- package/dist/cli/commands/test/runners/jest.js +1 -3
- package/dist/cli/commands/test/runners/jest.js.map +1 -1
- package/dist/cli/commands/test/tests.js +13 -4
- package/dist/cli/commands/test/tests.js.map +1 -1
- package/dist/cli/commands/types.d.ts +1 -6
- package/dist/cli/commands/types.d.ts.map +1 -1
- package/dist/cli/commands/types.js +2 -20
- package/dist/cli/commands/types.js.map +1 -1
- package/dist/cli/commands/upload-sourcemaps.js +17 -13
- package/dist/cli/commands/upload-sourcemaps.js.map +1 -1
- package/dist/cli/index.js +1 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/tasks/cli-task.d.ts +3 -0
- package/dist/cli/tasks/cli-task.d.ts.map +1 -1
- package/dist/cli/tasks/cli-task.js +41 -9
- package/dist/cli/tasks/cli-task.js.map +1 -1
- package/dist/cli/tasks/swc-compile-package/get-swc-options.d.ts +9 -1
- package/dist/cli/tasks/swc-compile-package/get-swc-options.d.ts.map +1 -1
- package/dist/cli/tasks/swc-compile-package/get-swc-options.js +18 -2
- package/dist/cli/tasks/swc-compile-package/get-swc-options.js.map +1 -1
- package/dist/cli/tasks/swc-compile-package/swc-compile-package.d.ts +3 -1
- package/dist/cli/tasks/swc-compile-package/swc-compile-package.d.ts.map +1 -1
- package/dist/cli/tasks/swc-compile-package/swc-compile-package.js +17 -3
- package/dist/cli/tasks/swc-compile-package/swc-compile-package.js.map +1 -1
- package/dist/cli/tasks/task.d.ts +2 -1
- package/dist/cli/tasks/task.d.ts.map +1 -1
- package/dist/cli/tasks/task.js +6 -3
- package/dist/cli/tasks/task.js.map +1 -1
- package/dist/cli/tasks/tsc-compile/tsc-compile.js +1 -3
- package/dist/cli/tasks/tsc-compile/tsc-compile.js.map +1 -1
- package/dist/cli/utils/cli-git.d.ts +7 -0
- package/dist/cli/utils/cli-git.d.ts.map +1 -1
- package/dist/cli/utils/cli-git.js +30 -0
- package/dist/cli/utils/cli-git.js.map +1 -1
- package/dist/cli/utils/cli-npm.d.ts.map +1 -1
- package/dist/cli/utils/cli-npm.js +8 -1
- package/dist/cli/utils/cli-npm.js.map +1 -1
- package/dist/cli/utils/cli-os.d.ts +7 -1
- package/dist/cli/utils/cli-os.d.ts.map +1 -1
- package/dist/cli/utils/cli-os.js +42 -0
- package/dist/cli/utils/cli-os.js.map +1 -1
- package/dist/cli/utils/compile.d.ts.map +1 -1
- package/dist/cli/utils/compile.js +7 -4
- package/dist/cli/utils/compile.js.map +1 -1
- package/dist/cli/utils/copy-files.js +1 -0
- package/dist/cli/utils/copy-files.js.map +1 -1
- package/dist/cli/utils/index.d.ts +1 -1
- package/dist/cli/utils/index.d.ts.map +1 -1
- package/dist/cli/utils/index.js +1 -1
- package/dist/cli/utils/index.js.map +1 -1
- package/dist/cli/utils/process-tree.js +2 -6
- package/dist/cli/utils/process-tree.js.map +1 -1
- package/dist/cli/utils/resolve-bundler.d.ts.map +1 -1
- package/dist/cli/utils/resolve-bundler.js +2 -1
- package/dist/cli/utils/resolve-bundler.js.map +1 -1
- package/dist/cli/utils/ts-config.d.ts +1 -1
- package/dist/cli/utils/ts-config.d.ts.map +1 -1
- package/dist/cli/utils/ts-config.js +1 -3
- package/dist/cli/utils/ts-config.js.map +1 -1
- package/dist/cli/utils/with-exponential-backoff.d.ts +7 -0
- package/dist/cli/utils/with-exponential-backoff.d.ts.map +1 -0
- package/dist/cli/utils/with-exponential-backoff.js +28 -0
- package/dist/cli/utils/with-exponential-backoff.js.map +1 -0
- package/dist/core/constants.d.ts +2 -0
- package/dist/core/constants.d.ts.map +1 -1
- package/dist/core/constants.js +6 -1
- package/dist/core/constants.js.map +1 -1
- package/dist/postinstall.js +118 -0
- package/dist/scripts/generate-bin-wrappers.js +203 -0
- package/dist/storybook-config/swc.d.ts +6 -0
- package/dist/storybook-config/swc.d.ts.map +1 -1
- package/dist/storybook-config/webpack-final.d.ts.map +1 -1
- package/dist/storybook-config/webpack-final.js +2 -1
- package/dist/storybook-config/webpack-final.js.map +1 -1
- package/dist/telemetry/index.d.ts +3 -0
- package/dist/telemetry/index.d.ts.map +1 -0
- package/dist/telemetry/index.js +21 -0
- package/dist/telemetry/index.js.map +1 -0
- package/dist/telemetry/telemetry.d.ts +15 -0
- package/dist/telemetry/telemetry.d.ts.map +1 -0
- package/dist/telemetry/telemetry.js +176 -0
- package/dist/telemetry/telemetry.js.map +1 -0
- package/dist/utils/exit-when-parent-exits.d.ts +6 -0
- package/dist/utils/exit-when-parent-exits.d.ts.map +1 -0
- package/dist/utils/exit-when-parent-exits.js +37 -0
- package/dist/utils/exit-when-parent-exits.js.map +1 -0
- package/dist/utils/find-up.d.ts +1 -1
- package/dist/utils/find-up.d.ts.map +1 -1
- package/dist/utils/find-up.js +2 -2
- package/dist/utils/find-up.js.map +1 -1
- package/dist/utils/get-configuration.d.ts +6 -3
- package/dist/utils/get-configuration.d.ts.map +1 -1
- package/dist/utils/get-configuration.js +10 -2
- package/dist/utils/get-configuration.js.map +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/log.js +1 -3
- package/dist/utils/log.js.map +1 -1
- package/dist/vite/build-shared-dependencies.d.ts.map +1 -1
- package/dist/vite/build-shared-dependencies.js +2 -0
- package/dist/vite/build-shared-dependencies.js.map +1 -1
- package/dist/vite/config/base-config.d.ts.map +1 -1
- package/dist/vite/config/base-config.js +12 -1
- package/dist/vite/config/base-config.js.map +1 -1
- package/dist/vite/config/create-filtering-logger.d.ts.map +1 -1
- package/dist/vite/config/create-filtering-logger.js +6 -2
- package/dist/vite/config/create-filtering-logger.js.map +1 -1
- package/dist/vite/config/create-vite-config.js +7 -2
- package/dist/vite/config/create-vite-config.js.map +1 -1
- package/dist/vite/config/load-config-file.js +8 -19
- package/dist/vite/config/load-config-file.js.map +1 -1
- package/dist/vite/index.d.ts +2 -0
- package/dist/vite/index.d.ts.map +1 -1
- package/dist/vite/index.html +2 -2
- package/dist/vite/index.js +16 -0
- package/dist/vite/index.js.map +1 -1
- package/dist/vite/plugins/chain-source-maps-plugin.js +1 -1
- package/dist/vite/plugins/chain-source-maps-plugin.js.map +1 -1
- package/dist/vite/plugins/clean-plugin.js +1 -1
- package/dist/vite/plugins/clean-plugin.js.map +1 -1
- package/dist/vite/plugins/css-injector-plugin.js +1 -1
- package/dist/vite/plugins/css-injector-plugin.js.map +1 -1
- package/dist/vite/plugins/design-system-guard-plugin.d.ts.map +1 -1
- package/dist/vite/plugins/design-system-guard-plugin.js +10 -5
- package/dist/vite/plugins/design-system-guard-plugin.js.map +1 -1
- package/dist/vite/plugins/dev-server-routing-plugin.js +1 -1
- package/dist/vite/plugins/dev-server-routing-plugin.js.map +1 -1
- package/dist/vite/plugins/externals-plugin.d.ts.map +1 -1
- package/dist/vite/plugins/externals-plugin.js +11 -5
- package/dist/vite/plugins/externals-plugin.js.map +1 -1
- package/dist/vite/plugins/html-plugin.d.ts.map +1 -1
- package/dist/vite/plugins/html-plugin.js +5 -3
- package/dist/vite/plugins/html-plugin.js.map +1 -1
- package/dist/vite/plugins/ignore-modules-plugin.d.ts +2 -2
- package/dist/vite/plugins/ignore-modules-plugin.d.ts.map +1 -1
- package/dist/vite/plugins/ignore-modules-plugin.js +36 -24
- package/dist/vite/plugins/ignore-modules-plugin.js.map +1 -1
- package/dist/vite/plugins/index.d.ts +3 -0
- package/dist/vite/plugins/index.d.ts.map +1 -1
- package/dist/vite/plugins/index.js +3 -0
- package/dist/vite/plugins/index.js.map +1 -1
- package/dist/vite/plugins/less-tilde-plugin.d.ts +8 -0
- package/dist/vite/plugins/less-tilde-plugin.d.ts.map +1 -0
- package/dist/vite/plugins/less-tilde-plugin.js +53 -0
- package/dist/vite/plugins/less-tilde-plugin.js.map +1 -0
- package/dist/vite/plugins/magic-comments-plugin/magic-comments-plugin.js +1 -1
- package/dist/vite/plugins/magic-comments-plugin/magic-comments-plugin.js.map +1 -1
- package/dist/vite/plugins/metadata-plugin.js +1 -1
- package/dist/vite/plugins/metadata-plugin.js.map +1 -1
- package/dist/vite/plugins/moment-locales-plugin.d.ts +1 -1
- package/dist/vite/plugins/moment-locales-plugin.d.ts.map +1 -1
- package/dist/vite/plugins/moment-locales-plugin.js +30 -14
- package/dist/vite/plugins/moment-locales-plugin.js.map +1 -1
- package/dist/vite/plugins/react-refresh-plugin/index.d.ts +2 -0
- package/dist/vite/plugins/react-refresh-plugin/index.d.ts.map +1 -0
- package/dist/vite/plugins/react-refresh-plugin/index.js +20 -0
- package/dist/vite/plugins/react-refresh-plugin/index.js.map +1 -0
- package/dist/vite/plugins/react-refresh-plugin/react-refresh-plugin.d.ts +4 -0
- package/dist/vite/plugins/react-refresh-plugin/react-refresh-plugin.d.ts.map +1 -0
- package/dist/vite/plugins/react-refresh-plugin/react-refresh-plugin.js +143 -0
- package/dist/vite/plugins/react-refresh-plugin/react-refresh-plugin.js.map +1 -0
- package/dist/vite/plugins/react-refresh-plugin/refresh-runtime.js +113 -0
- package/dist/vite/plugins/shared-dependencies-plugin/shared-dependencies-plugin.d.ts.map +1 -1
- package/dist/vite/plugins/shared-dependencies-plugin/shared-dependencies-plugin.js +14 -11
- package/dist/vite/plugins/shared-dependencies-plugin/shared-dependencies-plugin.js.map +1 -1
- package/dist/vite/plugins/style-urls-plugin.js +1 -1
- package/dist/vite/plugins/style-urls-plugin.js.map +1 -1
- package/dist/vite/plugins/virtual-modules-plugin.d.ts.map +1 -1
- package/dist/vite/plugins/virtual-modules-plugin.js +9 -6
- package/dist/vite/plugins/virtual-modules-plugin.js.map +1 -1
- package/dist/vite/plugins/window-externals-plugin.d.ts +22 -0
- package/dist/vite/plugins/window-externals-plugin.d.ts.map +1 -0
- package/dist/vite/plugins/window-externals-plugin.js +74 -0
- package/dist/vite/plugins/window-externals-plugin.js.map +1 -0
- package/dist/webpack/bundle-webpack.d.ts.map +1 -1
- package/dist/webpack/bundle-webpack.js +6 -1
- package/dist/webpack/bundle-webpack.js.map +1 -1
- package/dist/webpack/configs/optimization-config.js +17 -12
- package/dist/webpack/configs/optimization-config.js.map +1 -1
- package/dist/webpack/configs/output-config.js +1 -1
- package/dist/webpack/configs/output-config.js.map +1 -1
- package/dist/webpack/configs/plugins/ignore-plugin/ignore-plugin.js +1 -3
- package/dist/webpack/configs/plugins/ignore-plugin/ignore-plugin.js.map +1 -1
- package/dist/webpack/loaders/expose-loader/__tests__/__mocks__/configuration.expose-loader.js +13 -0
- package/dist/webpack/loaders/expose-loader/__tests__/__mocks__/index.js +1 -0
- package/dist/webpack/utils/index.d.ts +1 -0
- package/dist/webpack/utils/index.d.ts.map +1 -1
- package/dist/webpack/utils/index.js +1 -0
- package/dist/webpack/utils/index.js.map +1 -1
- package/dist/webpack/utils/normalize-proxy-config.d.ts +6 -0
- package/dist/webpack/utils/normalize-proxy-config.d.ts.map +1 -0
- package/dist/webpack/utils/normalize-proxy-config.js +52 -0
- package/dist/webpack/utils/normalize-proxy-config.js.map +1 -0
- package/package.json +32 -26
- package/src/cli/commands/__tests__/build.test.ts +81 -20
- package/src/cli/commands/__tests__/bundle-package.test.ts +65 -0
- package/src/cli/commands/__tests__/command.test.ts +154 -0
- package/src/cli/commands/__tests__/init.test.ts +1 -1
- package/src/cli/commands/__tests__/install.test.ts +5 -72
- package/src/cli/commands/__tests__/mfe-check.test.ts +26 -5
- package/src/cli/commands/__tests__/run-task.test.ts +20 -1
- package/src/cli/commands/__tests__/start.test.ts +77 -16
- package/src/cli/commands/build.ts +15 -6
- package/src/cli/commands/bundle-package.ts +20 -0
- package/src/cli/commands/command.ts +64 -0
- package/src/cli/commands/init.ts +0 -1
- package/src/cli/commands/install.ts +5 -21
- package/src/cli/commands/mfe-check.ts +6 -10
- package/src/cli/commands/registry/build.ts +3 -2
- package/src/cli/commands/registry/bundle-package.ts +22 -0
- package/src/cli/commands/registry/command-registry.ts +2 -0
- package/src/cli/commands/registry/install.ts +1 -6
- package/src/cli/commands/registry/start.ts +3 -2
- package/src/cli/commands/run-task.ts +8 -2
- package/src/cli/commands/start.ts +17 -6
- package/src/cli/commands/types.ts +2 -6
- package/src/cli/index.ts +3 -0
- package/src/cli/tasks/__tests__/cli-task.test.ts +181 -69
- package/src/cli/tasks/__tests__/task.test.ts +40 -45
- package/src/cli/tasks/cli-task.ts +43 -2
- package/src/cli/tasks/swc-compile-package/__tests__/get-swc-options.test.ts +46 -4
- package/src/cli/tasks/swc-compile-package/__tests__/swc-compile-package.test.ts +25 -4
- package/src/cli/tasks/swc-compile-package/get-swc-options.ts +14 -1
- package/src/cli/tasks/swc-compile-package/swc-compile-package.ts +6 -2
- package/src/cli/tasks/task.ts +8 -2
- package/src/cli/tasks/tsc-compile/__tests__/tsc-compile.test.ts +8 -32
- package/src/cli/tasks/tsc-compile-package/__tests__/tsc-compile-package.test.ts +10 -19
- package/src/cli/utils/__tests__/cli-git.test.ts +54 -3
- package/src/cli/utils/__tests__/cli-npm.test.ts +33 -0
- package/src/cli/utils/__tests__/cli-os.test.ts +183 -4
- package/src/cli/utils/__tests__/compile.test.ts +37 -2
- package/src/cli/utils/__tests__/copy-files.test.ts +1 -1
- package/src/cli/utils/__tests__/with-exponential-backoff.test.ts +119 -0
- package/src/cli/utils/cli-git.ts +27 -1
- package/src/cli/utils/cli-npm.ts +19 -4
- package/src/cli/utils/cli-os.ts +44 -0
- package/src/cli/utils/compile.ts +8 -1
- package/src/cli/utils/copy-files.ts +1 -1
- package/src/cli/utils/index.ts +1 -1
- package/src/cli/utils/resolve-bundler.ts +2 -1
- package/src/cli/utils/ts-config.ts +1 -1
- package/src/cli/utils/with-exponential-backoff.ts +28 -0
- package/src/core/constants.ts +2 -0
- package/src/storybook-config/__tests__/vite-final.test.ts +6 -0
- package/src/storybook-config/__tests__/webpack-final.test.ts +26 -12
- package/src/storybook-config/webpack-final.ts +10 -4
- package/src/telemetry/__tests__/telemetry.test.ts +326 -0
- package/src/telemetry/index.ts +2 -0
- package/src/telemetry/telemetry.ts +134 -0
- package/src/utils/__tests__/exit-when-parent-exits.test.ts +87 -0
- package/src/utils/__tests__/find-up.test.ts +49 -0
- package/src/utils/__tests__/get-configuration.test.ts +62 -0
- package/src/utils/exit-when-parent-exits.ts +33 -0
- package/src/utils/find-up.ts +2 -2
- package/src/utils/get-configuration.ts +14 -5
- package/src/utils/index.ts +1 -0
- package/src/vite/__tests__/build-shared-dependencies.test.ts +39 -5
- package/src/vite/build-shared-dependencies.ts +2 -1
- package/src/vite/config/__tests__/base-config.test.ts +12 -4
- package/src/vite/config/__tests__/create-css-config.test.ts +2 -6
- package/src/vite/config/__tests__/create-filtering-logger.test.ts +3 -2
- package/src/vite/config/__tests__/create-vite-config.test.ts +6 -3
- package/src/vite/config/base-config.ts +13 -1
- package/src/vite/config/create-filtering-logger.ts +8 -2
- package/src/vite/config/create-vite-config.ts +6 -3
- package/src/vite/index.html +2 -2
- package/src/vite/index.ts +2 -0
- package/src/vite/plugins/__tests__/chain-source-maps-plugin.test.ts +1 -1
- package/src/vite/plugins/__tests__/clean-plugin.test.ts +1 -1
- package/src/vite/plugins/__tests__/css-injector-plugin.test.ts +1 -1
- package/src/vite/plugins/__tests__/design-system-guard-plugin.test.ts +15 -3
- package/src/vite/plugins/__tests__/dev-server-routing-plugin.test.ts +1 -1
- package/src/vite/plugins/__tests__/externals-plugin.test.ts +24 -3
- package/src/vite/plugins/__tests__/html-plugin.test.ts +10 -3
- package/src/vite/plugins/__tests__/html-template.test.ts +10 -2
- package/src/vite/plugins/__tests__/ignore-modules-plugin.test.ts +30 -6
- package/src/vite/plugins/__tests__/less-tilde-plugin.test.ts +91 -0
- package/src/vite/plugins/__tests__/metadata-plugin.test.ts +1 -1
- package/src/vite/plugins/__tests__/moment-locales-plugin.test.ts +35 -25
- package/src/vite/plugins/__tests__/style-urls-plugin.test.ts +1 -1
- package/src/vite/plugins/__tests__/virtual-modules-plugin.test.ts +20 -9
- package/src/vite/plugins/__tests__/window-externals-plugin.test.ts +128 -0
- package/src/vite/plugins/chain-source-maps-plugin.ts +1 -1
- package/src/vite/plugins/clean-plugin.ts +1 -1
- package/src/vite/plugins/css-injector-plugin.ts +1 -1
- package/src/vite/plugins/design-system-guard-plugin.ts +11 -8
- package/src/vite/plugins/dev-server-routing-plugin.ts +1 -1
- package/src/vite/plugins/externals-plugin.ts +15 -6
- package/src/vite/plugins/html-plugin.ts +4 -2
- package/src/vite/plugins/ignore-modules-plugin.ts +32 -23
- package/src/vite/plugins/index.ts +3 -0
- package/src/vite/plugins/less-tilde-plugin.ts +64 -0
- package/src/vite/plugins/magic-comments-plugin/magic-comments-plugin.ts +1 -1
- package/src/vite/plugins/metadata-plugin.ts +1 -1
- package/src/vite/plugins/moment-locales-plugin.ts +24 -14
- package/src/vite/plugins/react-refresh-plugin/README.md +165 -0
- package/src/vite/plugins/react-refresh-plugin/__tests__/react-refresh-plugin.test.ts +366 -0
- package/src/vite/plugins/react-refresh-plugin/__tests__/refresh-runtime.test.ts +193 -0
- package/src/vite/plugins/react-refresh-plugin/index.ts +1 -0
- package/src/vite/plugins/react-refresh-plugin/react-refresh-plugin.ts +144 -0
- package/src/vite/plugins/react-refresh-plugin/refresh-runtime.js +113 -0
- package/src/vite/plugins/shared-dependencies-plugin/__tests__/shared-dependencies-plugin.test.ts +21 -16
- package/src/vite/plugins/shared-dependencies-plugin/shared-dependencies-plugin.ts +13 -12
- package/src/vite/plugins/style-urls-plugin.ts +1 -1
- package/src/vite/plugins/virtual-modules-plugin.ts +8 -7
- package/src/vite/plugins/window-externals-plugin.ts +94 -0
- package/src/webpack/__tests__/bundle-webpack.test.ts +32 -0
- package/src/webpack/__tests__/create-webpack-config-shared-dependencies.test.ts +27 -1
- package/src/webpack/__tests__/create-webpack-config-web-component.test.ts +17 -5
- package/src/webpack/__tests__/create-webpack-config.test.ts +10 -6
- package/src/webpack/bundle-webpack.ts +7 -1
- package/src/webpack/configs/optimization-config.ts +22 -11
- package/src/webpack/configs/output-config.ts +1 -1
- package/src/webpack/utils/__tests__/normalize-proxy-config.test.ts +121 -0
- package/src/webpack/utils/index.ts +1 -0
- package/src/webpack/utils/normalize-proxy-config.ts +59 -0
- package/tsconfig/types.d.ts +10 -0
- package/dist/cli/utils/get-bundle-command.d.ts +0 -3
- package/dist/cli/utils/get-bundle-command.d.ts.map +0 -1
- package/dist/cli/utils/get-bundle-command.js +0 -16
- package/dist/cli/utils/get-bundle-command.js.map +0 -1
- package/src/cli/utils/__tests__/get-bundle-command.test.ts +0 -23
- package/src/cli/utils/get-bundle-command.ts +0 -5
|
@@ -13,12 +13,21 @@ const _utils1 = require("../utils");
|
|
|
13
13
|
const _types = require("./types");
|
|
14
14
|
function _ts_decorate(decorators, target, key, desc) {
|
|
15
15
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
16
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
|
|
17
|
-
|
|
16
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") {
|
|
17
|
+
r = Reflect.decorate(decorators, target, key, desc);
|
|
18
|
+
} else {
|
|
19
|
+
for(var i = decorators.length - 1; i >= 0; i--){
|
|
20
|
+
if (d = decorators[i]) {
|
|
21
|
+
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
18
25
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
19
26
|
}
|
|
20
|
-
function _ts_metadata(
|
|
21
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
|
|
27
|
+
function _ts_metadata(metadataKey, metadataValue) {
|
|
28
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") {
|
|
29
|
+
return Reflect.metadata(metadataKey, metadataValue);
|
|
30
|
+
}
|
|
22
31
|
}
|
|
23
32
|
class ESLintCommand extends _types.Command {
|
|
24
33
|
async execute() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/cli/commands/eslint.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\nimport { logErrors } from '../../utils';\nimport { eslint } from '../utils';\nimport type { entry } from './registry/eslint';\nimport { Command } from './types';\n\nexport class ESLintCommand extends Command<typeof entry> {\n @logErrors\n async execute() {\n await eslint({ fix: this.args.fix, paths: this.paths });\n }\n\n private get paths() {\n const { _ = [], paths = [] } = this.args;\n return [..._, ...paths];\n }\n}\n"],"names":["ESLintCommand","Command","execute","eslint","fix","args","paths","_"],"mappings":"AAAA,uDAAuD;;;;+BAM1CA;;;eAAAA;;;uBALa;wBACH;uBAEC
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/commands/eslint.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\nimport { logErrors } from '../../utils';\nimport { eslint } from '../utils';\nimport type { entry } from './registry/eslint';\nimport { Command } from './types';\n\nexport class ESLintCommand extends Command<typeof entry> {\n @logErrors\n async execute() {\n await eslint({ fix: this.args.fix, paths: this.paths });\n }\n\n private get paths() {\n const { _ = [], paths = [] } = this.args;\n return [..._, ...paths];\n }\n}\n"],"names":["ESLintCommand","Command","execute","eslint","fix","args","paths","_"],"mappings":"AAAA,uDAAuD;;;;+BAM1CA;;;eAAAA;;;uBALa;wBACH;uBAEC;;;;;;;;;;;;;;;;;;;AAEjB,MAAMA,sBAAsBC,cAAO;IACtC,MACMC,UAAU;QACZ,MAAMC,IAAAA,cAAM,EAAC;YAAEC,KAAK,IAAI,CAACC,IAAI,CAACD,GAAG;YAAEE,OAAO,IAAI,CAACA,KAAK;QAAC;IACzD;IAEA,IAAYA,QAAQ;QAChB,MAAM,EAAEC,IAAI,EAAE,EAAED,QAAQ,EAAE,EAAE,GAAG,IAAI,CAACD,IAAI;QACxC,OAAO;eAAIE;eAAMD;SAAM;IAC3B;AACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAIlC,qBAAa,IAAK,SAAQ,OAAO,CAAC,OAAO,KAAK,CAAC;IAErC,OAAO;IAsBb,SAAS,CAAC,WAAW,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAIlC,qBAAa,IAAK,SAAQ,OAAO,CAAC,OAAO,KAAK,CAAC;IAErC,OAAO;IAsBb,SAAS,CAAC,WAAW,EAAE,MAAM;CAUhC"}
|
|
@@ -20,12 +20,21 @@ function _interop_require_default(obj) {
|
|
|
20
20
|
}
|
|
21
21
|
function _ts_decorate(decorators, target, key, desc) {
|
|
22
22
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
23
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
|
|
24
|
-
|
|
23
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") {
|
|
24
|
+
r = Reflect.decorate(decorators, target, key, desc);
|
|
25
|
+
} else {
|
|
26
|
+
for(var i = decorators.length - 1; i >= 0; i--){
|
|
27
|
+
if (d = decorators[i]) {
|
|
28
|
+
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
25
32
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
26
33
|
}
|
|
27
|
-
function _ts_metadata(
|
|
28
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
|
|
34
|
+
function _ts_metadata(metadataKey, metadataValue) {
|
|
35
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") {
|
|
36
|
+
return Reflect.metadata(metadataKey, metadataValue);
|
|
37
|
+
}
|
|
29
38
|
}
|
|
30
39
|
const REPO_NAME = 'frontend-example';
|
|
31
40
|
class Init extends _types.Command {
|
|
@@ -65,7 +74,6 @@ class Init extends _types.Command {
|
|
|
65
74
|
force: true
|
|
66
75
|
});
|
|
67
76
|
_fs.default.rmSync(_path.default.join(destination, '.github', 'CODEOWNERS'));
|
|
68
|
-
_fs.default.rmSync(_path.default.join(destination, 'package-lock.json'));
|
|
69
77
|
return true;
|
|
70
78
|
}
|
|
71
79
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/cli/commands/init.ts"],"sourcesContent":["import { gitCloneRepo, gitIsReachable } from '@servicetitan/install';\nimport fs from 'fs';\nimport path from 'path';\nimport { log, logErrors } from '../../utils';\nimport type { entry } from './registry/init';\nimport { Command } from './types';\n\nconst REPO_NAME = 'frontend-example';\n\nexport class Init extends Command<typeof entry> {\n @logErrors\n async execute() {\n const destination = path.resolve(this.args.output ?? '.');\n if (!fs.existsSync(destination)) {\n fs.mkdirSync(destination, { recursive: true });\n } else if (!fs.lstatSync(destination).isDirectory()) {\n throw new Error(`${destination} is not a directory`);\n } else if (fs.readdirSync(destination).length !== 0) {\n throw new Error(`${destination} is not an empty directory`);\n }\n\n if (this.cloneRepo(destination)) {\n log.info(`copied example project to ${destination}`);\n return;\n }\n\n if (!gitIsReachable({ name: REPO_NAME })) {\n throw new Error(`could not read servicetitan/${REPO_NAME} repository`);\n }\n\n return Promise.resolve();\n }\n\n cloneRepo(destination: string) {\n const ok = gitCloneRepo({ destination, name: REPO_NAME });\n if (!ok) {\n return false;\n }\n\n fs.rmSync(path.join(destination, '.git'), { recursive: true, force: true });\n fs.rmSync(path.join(destination, '.github', 'CODEOWNERS'));\n
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/commands/init.ts"],"sourcesContent":["import { gitCloneRepo, gitIsReachable } from '@servicetitan/install';\nimport fs from 'fs';\nimport path from 'path';\nimport { log, logErrors } from '../../utils';\nimport type { entry } from './registry/init';\nimport { Command } from './types';\n\nconst REPO_NAME = 'frontend-example';\n\nexport class Init extends Command<typeof entry> {\n @logErrors\n async execute() {\n const destination = path.resolve(this.args.output ?? '.');\n if (!fs.existsSync(destination)) {\n fs.mkdirSync(destination, { recursive: true });\n } else if (!fs.lstatSync(destination).isDirectory()) {\n throw new Error(`${destination} is not a directory`);\n } else if (fs.readdirSync(destination).length !== 0) {\n throw new Error(`${destination} is not an empty directory`);\n }\n\n if (this.cloneRepo(destination)) {\n log.info(`copied example project to ${destination}`);\n return;\n }\n\n if (!gitIsReachable({ name: REPO_NAME })) {\n throw new Error(`could not read servicetitan/${REPO_NAME} repository`);\n }\n\n return Promise.resolve();\n }\n\n cloneRepo(destination: string) {\n const ok = gitCloneRepo({ destination, name: REPO_NAME });\n if (!ok) {\n return false;\n }\n\n fs.rmSync(path.join(destination, '.git'), { recursive: true, force: true });\n fs.rmSync(path.join(destination, '.github', 'CODEOWNERS'));\n return true;\n }\n}\n"],"names":["Init","REPO_NAME","Command","execute","destination","path","resolve","args","output","fs","existsSync","mkdirSync","recursive","lstatSync","isDirectory","Error","readdirSync","length","cloneRepo","log","info","gitIsReachable","name","Promise","ok","gitCloneRepo","rmSync","join","force"],"mappings":";;;;+BASaA;;;eAAAA;;;yBATgC;2DAC9B;6DACE;uBACc;uBAEP;;;;;;;;;;;;;;;;;;;;;;;;AAExB,MAAMC,YAAY;AAEX,MAAMD,aAAaE,cAAO;IAC7B,MACMC,UAAU;YACqB;QAAjC,MAAMC,cAAcC,aAAI,CAACC,OAAO,EAAC,oBAAA,IAAI,CAACC,IAAI,CAACC,MAAM,cAAhB,+BAAA,oBAAoB;QACrD,IAAI,CAACC,WAAE,CAACC,UAAU,CAACN,cAAc;YAC7BK,WAAE,CAACE,SAAS,CAACP,aAAa;gBAAEQ,WAAW;YAAK;QAChD,OAAO,IAAI,CAACH,WAAE,CAACI,SAAS,CAACT,aAAaU,WAAW,IAAI;YACjD,MAAM,IAAIC,MAAM,GAAGX,YAAY,mBAAmB,CAAC;QACvD,OAAO,IAAIK,WAAE,CAACO,WAAW,CAACZ,aAAaa,MAAM,KAAK,GAAG;YACjD,MAAM,IAAIF,MAAM,GAAGX,YAAY,0BAA0B,CAAC;QAC9D;QAEA,IAAI,IAAI,CAACc,SAAS,CAACd,cAAc;YAC7Be,UAAG,CAACC,IAAI,CAAC,CAAC,0BAA0B,EAAEhB,aAAa;YACnD;QACJ;QAEA,IAAI,CAACiB,IAAAA,uBAAc,EAAC;YAAEC,MAAMrB;QAAU,IAAI;YACtC,MAAM,IAAIc,MAAM,CAAC,4BAA4B,EAAEd,UAAU,WAAW,CAAC;QACzE;QAEA,OAAOsB,QAAQjB,OAAO;IAC1B;IAEAY,UAAUd,WAAmB,EAAE;QAC3B,MAAMoB,KAAKC,IAAAA,qBAAY,EAAC;YAAErB;YAAakB,MAAMrB;QAAU;QACvD,IAAI,CAACuB,IAAI;YACL,OAAO;QACX;QAEAf,WAAE,CAACiB,MAAM,CAACrB,aAAI,CAACsB,IAAI,CAACvB,aAAa,SAAS;YAAEQ,WAAW;YAAMgB,OAAO;QAAK;QACzEnB,WAAE,CAACiB,MAAM,CAACrB,aAAI,CAACsB,IAAI,CAACvB,aAAa,WAAW;QAC5C,OAAO;IACX;AACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/install.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/install.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,qBAAa,OAAQ,SAAQ,OAAO,CAAC,OAAO,KAAK,CAAC;IAGxC,OAAO;CAKhB"}
|
|
@@ -8,36 +8,29 @@ Object.defineProperty(exports, "Install", {
|
|
|
8
8
|
return Install;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
const _child_process = require("child_process");
|
|
12
|
-
const _core = require("../../core");
|
|
13
11
|
const _utils = require("../../utils");
|
|
14
12
|
const _types = require("./types");
|
|
15
13
|
function _ts_decorate(decorators, target, key, desc) {
|
|
16
14
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
17
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
|
|
18
|
-
|
|
15
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") {
|
|
16
|
+
r = Reflect.decorate(decorators, target, key, desc);
|
|
17
|
+
} else {
|
|
18
|
+
for(var i = decorators.length - 1; i >= 0; i--){
|
|
19
|
+
if (d = decorators[i]) {
|
|
20
|
+
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
19
24
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
20
25
|
}
|
|
21
|
-
function _ts_metadata(
|
|
22
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
|
|
26
|
+
function _ts_metadata(metadataKey, metadataValue) {
|
|
27
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") {
|
|
28
|
+
return Reflect.metadata(metadataKey, metadataValue);
|
|
29
|
+
}
|
|
23
30
|
}
|
|
24
31
|
class Install extends _types.Command {
|
|
25
32
|
async execute() {
|
|
26
|
-
|
|
27
|
-
_utils.log.info(`startup cli v${(0, _core.getStartupVersion)()}`);
|
|
28
|
-
}
|
|
29
|
-
const options = [
|
|
30
|
-
this.args.fix ? '--fix' : '',
|
|
31
|
-
this.args.quiet ? '--quiet' : '',
|
|
32
|
-
this.args.token === true ? '--token' : '',
|
|
33
|
-
this.args.token === false ? '--no-token' : ''
|
|
34
|
-
].filter((option)=>!!option);
|
|
35
|
-
const command = `npx --yes @servicetitan/install ${options.join(' ')}`.trim();
|
|
36
|
-
_utils.log.debug('install', command);
|
|
37
|
-
(0, _child_process.execSync)(command, {
|
|
38
|
-
stdio: 'inherit'
|
|
39
|
-
});
|
|
40
|
-
return Promise.resolve(); // stops "async method has no 'await' expression" lint error
|
|
33
|
+
throw new Error('The `startup install` command has been removed. Run `npx --yes @servicetitan/install` directly instead.');
|
|
41
34
|
}
|
|
42
35
|
}
|
|
43
36
|
_ts_decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/cli/commands/install.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/commands/install.ts"],"sourcesContent":["import { logErrors } from '../../utils';\nimport type { entry } from './registry/install';\nimport { Command } from './types';\n\nexport class Install extends Command<typeof entry> {\n @logErrors\n // eslint-disable-next-line @typescript-eslint/require-await\n async execute() {\n throw new Error(\n 'The `startup install` command has been removed. Run `npx --yes @servicetitan/install` directly instead.'\n );\n }\n}\n"],"names":["Install","Command","execute","Error"],"mappings":";;;;+BAIaA;;;eAAAA;;;uBAJa;uBAEF;;;;;;;;;;;;;;;;;;;AAEjB,MAAMA,gBAAgBC,cAAO;IAChC,MAEMC,UAAU;QACZ,MAAM,IAAIC,MACN;IAER;AACJ"}
|
|
@@ -27,12 +27,21 @@ function _interop_require_default(obj) {
|
|
|
27
27
|
}
|
|
28
28
|
function _ts_decorate(decorators, target, key, desc) {
|
|
29
29
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
30
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
|
|
31
|
-
|
|
30
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") {
|
|
31
|
+
r = Reflect.decorate(decorators, target, key, desc);
|
|
32
|
+
} else {
|
|
33
|
+
for(var i = decorators.length - 1; i >= 0; i--){
|
|
34
|
+
if (d = decorators[i]) {
|
|
35
|
+
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
32
39
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
33
40
|
}
|
|
34
|
-
function _ts_metadata(
|
|
35
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
|
|
41
|
+
function _ts_metadata(metadataKey, metadataValue) {
|
|
42
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") {
|
|
43
|
+
return Reflect.metadata(metadataKey, metadataValue);
|
|
44
|
+
}
|
|
36
45
|
}
|
|
37
46
|
const ENCODED_LICENSE = `
|
|
38
47
|
ZXlKaGJHY2lPaUpTVXpJMU5pSXNJblI1Y0NJNklreEpReUo5LmV5SndjbTlrZFdOMGN5STZXM3Np
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/cli/commands/kendo-ui-license.ts"],"sourcesContent":["import execa from 'execa';\nimport { log, logErrors } from '../../utils';\nimport { isModuleInstalled } from '../utils';\nimport type { entry } from './registry/kendo-ui-license';\nimport { Command } from './types';\n\nconst ENCODED_LICENSE = `\n ZXlKaGJHY2lPaUpTVXpJMU5pSXNJblI1Y0NJNklreEpReUo5LmV5SndjbTlrZFdOMGN5STZXM3Np\n ZEhKcFlXd2lPbVpoYkhObExDSmpiMlJsSWpvaVMwVk9SRTlWU1ZKRlFVTlVJaXdpYkdsalpXNXpa\n VVY0Y0dseVlYUnBiMjVFWVhSbElqb3hOelEwT1RneU1USXdmU3g3SW5SeWFXRnNJanBtWVd4elpT\n d2lZMjlrWlNJNklrdEZUa1JQVlVsRFQwMVFURVZVUlNJc0lteHBZMlZ1YzJWRmVIQnBjbUYwYVc5\n dVJHRjBaU0k2TVRjME5EazRNakV5TUgwc2V5SjBjbWxoYkNJNlptRnNjMlVzSW1OdlpHVWlPaUpM\n UlU1RVQxVkpWbFZGSWl3aWJHbGpaVzV6WlVWNGNHbHlZWFJwYjI1RVlYUmxJam94TnpRME9UZ3lN\n VEl3ZlN4N0luUnlhV0ZzSWpwbVlXeHpaU3dpWTI5a1pTSTZJa3RGVGtSUFZVbEJUa2RWVEVGU0lp\n d2liR2xqWlc1elpVVjRjR2x5WVhScGIyNUVZWFJsSWpveE56UTBPVGd5TVRJd2ZWMHNJbWx1ZEdW\n bmNtbDBlU0k2SWxFNFpEVkdkMnR2Y1dsdWRGTkZiVXhYTTNwSVVuaDZiVTU1UVQwaUxDSnNhV05s\n Ym5ObFNHOXNaR1Z5SWpvaVlXTm9hWFpwWTJoNVlXNUFjMlZ5ZG1salpYUnBkR0Z1TG1OdmJTSXNJ\n bWxoZENJNk1UY3hPVFV5T0RnNU1pd2lZWFZrSWpvaVlXTm9hWFpwWTJoNVlXNUFjMlZ5ZG1salpY\n UnBkR0Z1TG1OdmJTSXNJblZ6WlhKSlpDSTZJalUxWXpsak1tSXpMVE5rWkRVdE5ETTVZeTA0Tm1V\n eUxXRTBNV0V6T0RReE5HSXdZaUo5LlE5Yi10em9CNXFFRVV0QXZudTJGVFdULVBram0yeFFxVGll\n T29rWjA3dmd6VFJVLXVnRHoxb2l3VTUzNTNzajhaQ2FQUFUzdTZqWnhsOWU0dXVJdkxpV05ManFW\n N29pR2FoVHhXbm0ydTAzZkxZUWhxbUg2T3dmYjBxcWs0TnFwbWRfZDhwZmtJa3J4YXRlY3FCdjBl\n UVk1N3Zjd3FOLVRqZm0td0FxMmt6RXRZd3NFT0JlMGtyLTFqVzBjYzBudHJadmZEcEVYLUFGZVE1\n cF95MzhxQkJucFBvVjlOYXB0Mi1aN0JMdTZhdEVDUUIxd3FDSjdCdUlpZERBWVlxdGhvU0gxOEZE\n V29BdUhQNU9DbjM3ZENBQU1PVFlqOEJUdDdLNWlyNHR6R0ZVNTdxY2VKeTNRQUhjWlNURGxpZnU5\n cXVKMjkyQnJuS3FveGlLUDA3UXIxUQ==\n`.replace(/\\s/g, '');\nconst ENVIRONMENT_VARIABLE = 'KENDO_UI_LICENSE';\nconst LICENSE = Buffer.from(ENCODED_LICENSE, 'base64').toString('ascii');\nconst LICENSING_PACKAGE = '@progress/kendo-licensing';\n\nexport class KendoUILicense extends Command<typeof entry> {\n async execute() {\n if (!isModuleInstalled(LICENSING_PACKAGE)) {\n return;\n }\n\n await this.activateLicense();\n }\n\n @logErrors\n private async activateLicense() {\n const env = !process.env[ENVIRONMENT_VARIABLE]\n ? { [ENVIRONMENT_VARIABLE]: LICENSE }\n : undefined;\n\n log.info(\n env\n ? 'Activating Kendo UI with embedded license...'\n : `Activating Kendo UI with license from environment...`\n );\n\n try {\n await execa('kendo-ui-license', ['activate', '--no-install'], {\n env,\n stdio: 'inherit',\n });\n } catch (error: any) {\n throw new Error(`command failed with exit code ${error.exitCode}`);\n }\n }\n}\n\nexport async function kendoUILicense() {\n return new KendoUILicense({}).execute();\n}\n"],"names":["KendoUILicense","kendoUILicense","ENCODED_LICENSE","replace","ENVIRONMENT_VARIABLE","LICENSE","Buffer","from","toString","LICENSING_PACKAGE","Command","execute","isModuleInstalled","activateLicense","env","process","undefined","log","info","execa","stdio","error","Error","exitCode"],"mappings":";;;;;;;;;;;QA+BaA;eAAAA;;QAgCSC;eAAAA;;;8DA/DJ;uBACa;wBACG;uBAEV
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/commands/kendo-ui-license.ts"],"sourcesContent":["import execa from 'execa';\nimport { log, logErrors } from '../../utils';\nimport { isModuleInstalled } from '../utils';\nimport type { entry } from './registry/kendo-ui-license';\nimport { Command } from './types';\n\nconst ENCODED_LICENSE = `\n ZXlKaGJHY2lPaUpTVXpJMU5pSXNJblI1Y0NJNklreEpReUo5LmV5SndjbTlrZFdOMGN5STZXM3Np\n ZEhKcFlXd2lPbVpoYkhObExDSmpiMlJsSWpvaVMwVk9SRTlWU1ZKRlFVTlVJaXdpYkdsalpXNXpa\n VVY0Y0dseVlYUnBiMjVFWVhSbElqb3hOelEwT1RneU1USXdmU3g3SW5SeWFXRnNJanBtWVd4elpT\n d2lZMjlrWlNJNklrdEZUa1JQVlVsRFQwMVFURVZVUlNJc0lteHBZMlZ1YzJWRmVIQnBjbUYwYVc5\n dVJHRjBaU0k2TVRjME5EazRNakV5TUgwc2V5SjBjbWxoYkNJNlptRnNjMlVzSW1OdlpHVWlPaUpM\n UlU1RVQxVkpWbFZGSWl3aWJHbGpaVzV6WlVWNGNHbHlZWFJwYjI1RVlYUmxJam94TnpRME9UZ3lN\n VEl3ZlN4N0luUnlhV0ZzSWpwbVlXeHpaU3dpWTI5a1pTSTZJa3RGVGtSUFZVbEJUa2RWVEVGU0lp\n d2liR2xqWlc1elpVVjRjR2x5WVhScGIyNUVZWFJsSWpveE56UTBPVGd5TVRJd2ZWMHNJbWx1ZEdW\n bmNtbDBlU0k2SWxFNFpEVkdkMnR2Y1dsdWRGTkZiVXhYTTNwSVVuaDZiVTU1UVQwaUxDSnNhV05s\n Ym5ObFNHOXNaR1Z5SWpvaVlXTm9hWFpwWTJoNVlXNUFjMlZ5ZG1salpYUnBkR0Z1TG1OdmJTSXNJ\n bWxoZENJNk1UY3hPVFV5T0RnNU1pd2lZWFZrSWpvaVlXTm9hWFpwWTJoNVlXNUFjMlZ5ZG1salpY\n UnBkR0Z1TG1OdmJTSXNJblZ6WlhKSlpDSTZJalUxWXpsak1tSXpMVE5rWkRVdE5ETTVZeTA0Tm1V\n eUxXRTBNV0V6T0RReE5HSXdZaUo5LlE5Yi10em9CNXFFRVV0QXZudTJGVFdULVBram0yeFFxVGll\n T29rWjA3dmd6VFJVLXVnRHoxb2l3VTUzNTNzajhaQ2FQUFUzdTZqWnhsOWU0dXVJdkxpV05ManFW\n N29pR2FoVHhXbm0ydTAzZkxZUWhxbUg2T3dmYjBxcWs0TnFwbWRfZDhwZmtJa3J4YXRlY3FCdjBl\n UVk1N3Zjd3FOLVRqZm0td0FxMmt6RXRZd3NFT0JlMGtyLTFqVzBjYzBudHJadmZEcEVYLUFGZVE1\n cF95MzhxQkJucFBvVjlOYXB0Mi1aN0JMdTZhdEVDUUIxd3FDSjdCdUlpZERBWVlxdGhvU0gxOEZE\n V29BdUhQNU9DbjM3ZENBQU1PVFlqOEJUdDdLNWlyNHR6R0ZVNTdxY2VKeTNRQUhjWlNURGxpZnU5\n cXVKMjkyQnJuS3FveGlLUDA3UXIxUQ==\n`.replace(/\\s/g, '');\nconst ENVIRONMENT_VARIABLE = 'KENDO_UI_LICENSE';\nconst LICENSE = Buffer.from(ENCODED_LICENSE, 'base64').toString('ascii');\nconst LICENSING_PACKAGE = '@progress/kendo-licensing';\n\nexport class KendoUILicense extends Command<typeof entry> {\n async execute() {\n if (!isModuleInstalled(LICENSING_PACKAGE)) {\n return;\n }\n\n await this.activateLicense();\n }\n\n @logErrors\n private async activateLicense() {\n const env = !process.env[ENVIRONMENT_VARIABLE]\n ? { [ENVIRONMENT_VARIABLE]: LICENSE }\n : undefined;\n\n log.info(\n env\n ? 'Activating Kendo UI with embedded license...'\n : `Activating Kendo UI with license from environment...`\n );\n\n try {\n await execa('kendo-ui-license', ['activate', '--no-install'], {\n env,\n stdio: 'inherit',\n });\n } catch (error: any) {\n throw new Error(`command failed with exit code ${error.exitCode}`);\n }\n }\n}\n\nexport async function kendoUILicense() {\n return new KendoUILicense({}).execute();\n}\n"],"names":["KendoUILicense","kendoUILicense","ENCODED_LICENSE","replace","ENVIRONMENT_VARIABLE","LICENSE","Buffer","from","toString","LICENSING_PACKAGE","Command","execute","isModuleInstalled","activateLicense","env","process","undefined","log","info","execa","stdio","error","Error","exitCode"],"mappings":";;;;;;;;;;;QA+BaA;eAAAA;;QAgCSC;eAAAA;;;8DA/DJ;uBACa;wBACG;uBAEV;;;;;;;;;;;;;;;;;;;;;;;;AAExB,MAAMC,kBAAkB,CAAC;;;;;;;;;;;;;;;;;;;;AAoBzB,CAAC,CAACC,OAAO,CAAC,OAAO;AACjB,MAAMC,uBAAuB;AAC7B,MAAMC,UAAUC,OAAOC,IAAI,CAACL,iBAAiB,UAAUM,QAAQ,CAAC;AAChE,MAAMC,oBAAoB;AAEnB,MAAMT,uBAAuBU,cAAO;IACvC,MAAMC,UAAU;QACZ,IAAI,CAACC,IAAAA,yBAAiB,EAACH,oBAAoB;YACvC;QACJ;QAEA,MAAM,IAAI,CAACI,eAAe;IAC9B;IAEA,MACcA,kBAAkB;QAC5B,MAAMC,MAAM,CAACC,QAAQD,GAAG,CAACV,qBAAqB,GACxC;YAAE,CAACA,qBAAqB,EAAEC;QAAQ,IAClCW;QAENC,UAAG,CAACC,IAAI,CACJJ,MACM,iDACA,CAAC,oDAAoD,CAAC;QAGhE,IAAI;YACA,MAAMK,IAAAA,cAAK,EAAC,oBAAoB;gBAAC;gBAAY;aAAe,EAAE;gBAC1DL;gBACAM,OAAO;YACX;QACJ,EAAE,OAAOC,OAAY;YACjB,MAAM,IAAIC,MAAM,CAAC,8BAA8B,EAAED,MAAME,QAAQ,EAAE;QACrE;IACJ;AACJ;;;;;;;AAEO,eAAetB;IAClB,OAAO,IAAID,eAAe,CAAC,GAAGW,OAAO;AACzC"}
|
|
@@ -14,12 +14,21 @@ const _stylelint = require("../utils/stylelint");
|
|
|
14
14
|
const _types = require("./types");
|
|
15
15
|
function _ts_decorate(decorators, target, key, desc) {
|
|
16
16
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
17
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
|
|
18
|
-
|
|
17
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") {
|
|
18
|
+
r = Reflect.decorate(decorators, target, key, desc);
|
|
19
|
+
} else {
|
|
20
|
+
for(var i = decorators.length - 1; i >= 0; i--){
|
|
21
|
+
if (d = decorators[i]) {
|
|
22
|
+
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
19
26
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
20
27
|
}
|
|
21
|
-
function _ts_metadata(
|
|
22
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
|
|
28
|
+
function _ts_metadata(metadataKey, metadataValue) {
|
|
29
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") {
|
|
30
|
+
return Reflect.metadata(metadataKey, metadataValue);
|
|
31
|
+
}
|
|
23
32
|
}
|
|
24
33
|
class Lint extends _types.Command {
|
|
25
34
|
async execute() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/cli/commands/lint.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\nimport { getPackages, log, logErrors } from '../../utils';\nimport { eslint, lernaExec } from '../utils';\nimport { stylelint } from '../utils/stylelint';\nimport type { entry } from './registry/lint';\nimport { Command } from './types';\n\nexport class Lint extends Command<typeof entry> {\n async execute() {\n await this.checkStyles();\n await this.eslint();\n await this.stylelint();\n }\n\n @logErrors\n private async eslint() {\n if (this.useParallelESLint()) {\n const { fix, ignore, scope } = this.args;\n const packages = getPackages({ scope, ignore });\n const args = fix ? ['--fix'] : [];\n\n await lernaExec({\n 'cmd': 'startup eslint',\n 'scope': packages.map(({ name }) => name),\n 'bail': false,\n '--': args,\n });\n return;\n }\n\n log.info('Running eslint...');\n await eslint({ fix: this.args.fix, paths: this.paths });\n }\n\n @logErrors\n private async stylelint() {\n log.info('Running stylelint...');\n await stylelint({ fix: this.args.fix, paths: this.paths });\n }\n\n @logErrors\n private async checkStyles() {\n const { ignore, scope } = this.args;\n\n const packages = ignore || scope ? getPackages({ ignore, scope }) : undefined;\n\n await lernaExec({\n cmd: 'startup styles-check',\n scope: packages?.map(({ name }) => name),\n stream: true,\n });\n }\n\n private useParallelESLint() {\n const { parallel, scope, ignore } = this.args;\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n return !this.paths.length && (parallel || scope?.length || ignore?.length);\n }\n\n private get paths() {\n const { _ = [], paths = [] } = this.args;\n return [..._, ...paths];\n }\n}\n"],"names":["Lint","Command","execute","checkStyles","eslint","stylelint","useParallelESLint","fix","ignore","scope","args","packages","getPackages","lernaExec","map","name","log","info","paths","undefined","cmd","stream","parallel","length","_"],"mappings":"AAAA,uDAAuD;;;;+BAO1CA;;;eAAAA;;;uBAN+B;wBACV;2BACR;uBAEF
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/commands/lint.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\nimport { getPackages, log, logErrors } from '../../utils';\nimport { eslint, lernaExec } from '../utils';\nimport { stylelint } from '../utils/stylelint';\nimport type { entry } from './registry/lint';\nimport { Command } from './types';\n\nexport class Lint extends Command<typeof entry> {\n async execute() {\n await this.checkStyles();\n await this.eslint();\n await this.stylelint();\n }\n\n @logErrors\n private async eslint() {\n if (this.useParallelESLint()) {\n const { fix, ignore, scope } = this.args;\n const packages = getPackages({ scope, ignore });\n const args = fix ? ['--fix'] : [];\n\n await lernaExec({\n 'cmd': 'startup eslint',\n 'scope': packages.map(({ name }) => name),\n 'bail': false,\n '--': args,\n });\n return;\n }\n\n log.info('Running eslint...');\n await eslint({ fix: this.args.fix, paths: this.paths });\n }\n\n @logErrors\n private async stylelint() {\n log.info('Running stylelint...');\n await stylelint({ fix: this.args.fix, paths: this.paths });\n }\n\n @logErrors\n private async checkStyles() {\n const { ignore, scope } = this.args;\n\n const packages = ignore || scope ? getPackages({ ignore, scope }) : undefined;\n\n await lernaExec({\n cmd: 'startup styles-check',\n scope: packages?.map(({ name }) => name),\n stream: true,\n });\n }\n\n private useParallelESLint() {\n const { parallel, scope, ignore } = this.args;\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n return !this.paths.length && (parallel || scope?.length || ignore?.length);\n }\n\n private get paths() {\n const { _ = [], paths = [] } = this.args;\n return [..._, ...paths];\n }\n}\n"],"names":["Lint","Command","execute","checkStyles","eslint","stylelint","useParallelESLint","fix","ignore","scope","args","packages","getPackages","lernaExec","map","name","log","info","paths","undefined","cmd","stream","parallel","length","_"],"mappings":"AAAA,uDAAuD;;;;+BAO1CA;;;eAAAA;;;uBAN+B;wBACV;2BACR;uBAEF;;;;;;;;;;;;;;;;;;;AAEjB,MAAMA,aAAaC,cAAO;IAC7B,MAAMC,UAAU;QACZ,MAAM,IAAI,CAACC,WAAW;QACtB,MAAM,IAAI,CAACC,MAAM;QACjB,MAAM,IAAI,CAACC,SAAS;IACxB;IAEA,MACcD,SAAS;QACnB,IAAI,IAAI,CAACE,iBAAiB,IAAI;YAC1B,MAAM,EAAEC,GAAG,EAAEC,MAAM,EAAEC,KAAK,EAAE,GAAG,IAAI,CAACC,IAAI;YACxC,MAAMC,WAAWC,IAAAA,kBAAW,EAAC;gBAAEH;gBAAOD;YAAO;YAC7C,MAAME,OAAOH,MAAM;gBAAC;aAAQ,GAAG,EAAE;YAEjC,MAAMM,IAAAA,iBAAS,EAAC;gBACZ,OAAO;gBACP,SAASF,SAASG,GAAG,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAKA;gBACpC,QAAQ;gBACR,MAAML;YACV;YACA;QACJ;QAEAM,UAAG,CAACC,IAAI,CAAC;QACT,MAAMb,IAAAA,cAAM,EAAC;YAAEG,KAAK,IAAI,CAACG,IAAI,CAACH,GAAG;YAAEW,OAAO,IAAI,CAACA,KAAK;QAAC;IACzD;IAEA,MACcb,YAAY;QACtBW,UAAG,CAACC,IAAI,CAAC;QACT,MAAMZ,IAAAA,oBAAS,EAAC;YAAEE,KAAK,IAAI,CAACG,IAAI,CAACH,GAAG;YAAEW,OAAO,IAAI,CAACA,KAAK;QAAC;IAC5D;IAEA,MACcf,cAAc;QACxB,MAAM,EAAEK,MAAM,EAAEC,KAAK,EAAE,GAAG,IAAI,CAACC,IAAI;QAEnC,MAAMC,WAAWH,UAAUC,QAAQG,IAAAA,kBAAW,EAAC;YAAEJ;YAAQC;QAAM,KAAKU;QAEpE,MAAMN,IAAAA,iBAAS,EAAC;YACZO,KAAK;YACLX,KAAK,EAAEE,qBAAAA,+BAAAA,SAAUG,GAAG,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAKA;YACnCM,QAAQ;QACZ;IACJ;IAEQf,oBAAoB;QACxB,MAAM,EAAEgB,QAAQ,EAAEb,KAAK,EAAED,MAAM,EAAE,GAAG,IAAI,CAACE,IAAI;QAC7C,wEAAwE;QACxE,OAAO,CAAC,IAAI,CAACQ,KAAK,CAACK,MAAM,IAAKD,CAAAA,aAAYb,kBAAAA,4BAAAA,MAAOc,MAAM,MAAIf,mBAAAA,6BAAAA,OAAQe,MAAM,CAAD;IAC5E;IAEA,IAAYL,QAAQ;QAChB,MAAM,EAAEM,IAAI,EAAE,EAAEN,QAAQ,EAAE,EAAE,GAAG,IAAI,CAACR,IAAI;QACxC,OAAO;eAAIc;eAAMN;SAAM;IAC3B;AACJ"}
|
|
@@ -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":"AAeA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAqBlC,qBAAa,QAAS,SAAQ,OAAO,CAAC,OAAO,KAAK,CAAC;IAEzC,OAAO;IAoBb,OAAO,CAAC,kBAAkB;IAkB1B,OAAO,CAAC,kBAAkB;IAkC1B,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,mBAAmB;CA2B9B"}
|
|
@@ -21,12 +21,21 @@ function _interop_require_default(obj) {
|
|
|
21
21
|
}
|
|
22
22
|
function _ts_decorate(decorators, target, key, desc) {
|
|
23
23
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
24
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
|
|
25
|
-
|
|
24
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") {
|
|
25
|
+
r = Reflect.decorate(decorators, target, key, desc);
|
|
26
|
+
} else {
|
|
27
|
+
for(var i = decorators.length - 1; i >= 0; i--){
|
|
28
|
+
if (d = decorators[i]) {
|
|
29
|
+
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
26
33
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
27
34
|
}
|
|
28
|
-
function _ts_metadata(
|
|
29
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
|
|
35
|
+
function _ts_metadata(metadataKey, metadataValue) {
|
|
36
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") {
|
|
37
|
+
return Reflect.metadata(metadataKey, metadataValue);
|
|
38
|
+
}
|
|
30
39
|
}
|
|
31
40
|
class MfeCheck extends _types.Command {
|
|
32
41
|
async execute() {
|
|
@@ -57,9 +66,8 @@ class MfeCheck extends _types.Command {
|
|
|
57
66
|
};
|
|
58
67
|
}
|
|
59
68
|
checkCompatibility(mfeMetadata, hostData) {
|
|
60
|
-
var _hostData_cli_webpack, _hostData_cli, _hostData_cli_webpack1, _hostData_cli1;
|
|
61
69
|
const mfeSharedDependencies = mfeMetadata.sharedDependencies;
|
|
62
|
-
const hostSharedDependencies = (0, _utils.loadSharedDependencies)(hostData.dependencies, (
|
|
70
|
+
const hostSharedDependencies = (0, _utils.loadSharedDependencies)(hostData.dependencies, (0, _utils.getSharedDependencies)(hostData));
|
|
63
71
|
const packageManager = (0, _install.getPackageManager)();
|
|
64
72
|
const workspacePackage = packageManager.getWorkspacePackage(hostData.location);
|
|
65
73
|
const exposedDependencies = (0, _core.getExposedDependencies)(hostSharedDependencies, (dependency)=>{
|
|
@@ -71,7 +79,7 @@ class MfeCheck extends _types.Command {
|
|
|
71
79
|
});
|
|
72
80
|
const mismatchResult = (0, _startuputils.getVersionMismatches)(exposedDependencies, mfeMetadata.dependencies, mfeSharedDependencies);
|
|
73
81
|
const isHostMfe = (0, _utils.isWebComponent)(hostData);
|
|
74
|
-
const isSharedDependenciesEnabled = (
|
|
82
|
+
const isSharedDependenciesEnabled = (0, _utils.isExposeSharedDependencies)(hostData);
|
|
75
83
|
const compatible = !isHostMfe && !mismatchResult && isSharedDependenciesEnabled;
|
|
76
84
|
return {
|
|
77
85
|
name: mfeMetadata.name,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/cli/commands/mfe-check.ts"],"sourcesContent":["import { getPackageManager } from '@servicetitan/install';\nimport { getVersionMismatches } from '@servicetitan/startup-utils';\nimport path from 'node:path';\nimport { getExposedDependencies, Metadata } from '../../core';\nimport {\n isWebComponent,\n loadSharedDependencies,\n log,\n logErrors,\n readJson,\n toArray,\n} from '../../utils';\nimport type { entry } from './registry/mfe-check';\nimport { Command } from './types';\n\ninterface HostPackageJSON {\n name: string;\n dependencies: Record<string, string>;\n cli?:
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/commands/mfe-check.ts"],"sourcesContent":["import { getPackageManager } from '@servicetitan/install';\nimport { getVersionMismatches } from '@servicetitan/startup-utils';\nimport path from 'node:path';\nimport { getExposedDependencies, Metadata } from '../../core';\nimport type { Configuration } from '../../utils';\nimport {\n getSharedDependencies,\n isExposeSharedDependencies,\n isWebComponent,\n loadSharedDependencies,\n log,\n logErrors,\n readJson,\n toArray,\n} from '../../utils';\nimport type { entry } from './registry/mfe-check';\nimport { Command } from './types';\n\ninterface HostPackageJSON {\n name: string;\n dependencies: Record<string, string>;\n cli?: Configuration;\n}\n\ninterface HostData extends HostPackageJSON {\n location: string;\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\nexport class MfeCheck extends Command<typeof entry> {\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[]): HostData {\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 location: path.dirname(path.resolve(packageJsonPaths[0])),\n };\n }\n\n private checkCompatibility(mfeMetadata: Metadata, hostData: HostData): CompatibilityResult {\n const mfeSharedDependencies = mfeMetadata.sharedDependencies;\n const hostSharedDependencies = loadSharedDependencies(\n hostData.dependencies,\n getSharedDependencies(hostData)\n );\n const packageManager = getPackageManager();\n const workspacePackage = packageManager.getWorkspacePackage(hostData.location);\n const exposedDependencies = getExposedDependencies(\n hostSharedDependencies,\n dependency =>\n packageManager.getResolvedVersion({ workspacePackage, dependency }) ??\n hostData.dependencies[dependency]\n );\n const mismatchResult = getVersionMismatches(\n exposedDependencies,\n mfeMetadata.dependencies,\n mfeSharedDependencies\n );\n\n const isHostMfe = isWebComponent(hostData);\n const isSharedDependenciesEnabled = isExposeSharedDependencies(hostData);\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","Command","execute","metadata","metadataPath","hostPackageJson","json","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","location","dirname","mfeSharedDependencies","sharedDependencies","hostSharedDependencies","loadSharedDependencies","getSharedDependencies","packageManager","getPackageManager","workspacePackage","getWorkspacePackage","exposedDependencies","getExposedDependencies","dependency","getResolvedVersion","mismatchResult","getVersionMismatches","isHostMfe","isWebComponent","isSharedDependenciesEnabled","isExposeSharedDependencies","bundleType","mismatches","stdout","write","JSON","stringify","log","info","error","dep","versions","entries","host","package"],"mappings":"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"}
|
|
@@ -21,12 +21,21 @@ function _interop_require_default(obj) {
|
|
|
21
21
|
}
|
|
22
22
|
function _ts_decorate(decorators, target, key, desc) {
|
|
23
23
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
24
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
|
|
25
|
-
|
|
24
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") {
|
|
25
|
+
r = Reflect.decorate(decorators, target, key, desc);
|
|
26
|
+
} else {
|
|
27
|
+
for(var i = decorators.length - 1; i >= 0; i--){
|
|
28
|
+
if (d = decorators[i]) {
|
|
29
|
+
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
26
33
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
27
34
|
}
|
|
28
|
-
function _ts_metadata(
|
|
29
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
|
|
35
|
+
function _ts_metadata(metadataKey, metadataValue) {
|
|
36
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") {
|
|
37
|
+
return Reflect.metadata(metadataKey, metadataValue);
|
|
38
|
+
}
|
|
30
39
|
}
|
|
31
40
|
class MfeGenerateMetadata extends _types.Command {
|
|
32
41
|
async execute() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/cli/commands/mfe-generate-metadata.ts"],"sourcesContent":["import { getPackageManager } from '@servicetitan/install';\nimport fs from 'node:fs';\nimport path from 'node:path';\nimport { buildMetadata } from '../../core';\nimport {\n getFolders,\n getPackageData,\n getPackageName,\n isWebComponent,\n loadSharedDependencies,\n log,\n logErrors,\n} from '../../utils';\nimport type { entry } from './registry/mfe-generate-metadata';\nimport { Command } from './types';\n\nexport class MfeGenerateMetadata extends Command<typeof entry> {\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 packageManager: getPackageManager(),\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","Command","execute","isWebComponent","Error","output","args","destination","getFolders","name","getPackageName","packageData","getPackageData","sharedDependencies","loadSharedDependencies","dependencies","metadata","buildMetadata","version","packageManager","getPackageManager","jsonOutput","JSON","stringify","outputPath","path","resolve","outputDir","dirname","fs","existsSync","mkdirSync","recursive","writeFileSync","log","info","process","stdout","write","Promise"],"mappings":";;;;+BAgBaA;;;eAAAA;;;yBAhBqB;+DACnB;iEACE;sBACa;uBASvB;uBAEiB
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/commands/mfe-generate-metadata.ts"],"sourcesContent":["import { getPackageManager } from '@servicetitan/install';\nimport fs from 'node:fs';\nimport path from 'node:path';\nimport { buildMetadata } from '../../core';\nimport {\n getFolders,\n getPackageData,\n getPackageName,\n isWebComponent,\n loadSharedDependencies,\n log,\n logErrors,\n} from '../../utils';\nimport type { entry } from './registry/mfe-generate-metadata';\nimport { Command } from './types';\n\nexport class MfeGenerateMetadata extends Command<typeof entry> {\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 packageManager: getPackageManager(),\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","Command","execute","isWebComponent","Error","output","args","destination","getFolders","name","getPackageName","packageData","getPackageData","sharedDependencies","loadSharedDependencies","dependencies","metadata","buildMetadata","version","packageManager","getPackageManager","jsonOutput","JSON","stringify","outputPath","path","resolve","outputDir","dirname","fs","existsSync","mkdirSync","recursive","writeFileSync","log","info","process","stdout","write","Promise"],"mappings":";;;;+BAgBaA;;;eAAAA;;;yBAhBqB;+DACnB;iEACE;sBACa;uBASvB;uBAEiB;;;;;;;;;;;;;;;;;;;;;;;;AAEjB,MAAMA,4BAA4BC,cAAO;IAC5C,MACMC,UAAU;QACZ,IAAI,CAACC,IAAAA,qBAAc,KAAI;YACnB,MAAM,IAAIC,MAAM;QACpB;QAEA,MAAM,EAAEC,MAAM,EAAE,GAAG,IAAI,CAACC,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,mBAAa,EAAC;YAC3BV;YACAE;YACAS,SAASP,YAAYO,OAAO;YAC5BH,cAAcJ,YAAYI,YAAY;YACtCF;YACAM,gBAAgBC,IAAAA,0BAAiB;QACrC;QAEA,MAAMC,aAAaC,KAAKC,SAAS,CAACP,UAAU,MAAM;QAElD,IAAIX,QAAQ;YACR,MAAMmB,aAAaC,iBAAI,CAACC,OAAO,CAACrB;YAChC,MAAMsB,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"}
|
|
@@ -23,12 +23,21 @@ function _interop_require_default(obj) {
|
|
|
23
23
|
}
|
|
24
24
|
function _ts_decorate(decorators, target, key, desc) {
|
|
25
25
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
26
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
|
|
27
|
-
|
|
26
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") {
|
|
27
|
+
r = Reflect.decorate(decorators, target, key, desc);
|
|
28
|
+
} else {
|
|
29
|
+
for(var i = decorators.length - 1; i >= 0; i--){
|
|
30
|
+
if (d = decorators[i]) {
|
|
31
|
+
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
28
35
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
29
36
|
}
|
|
30
|
-
function _ts_metadata(
|
|
31
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
|
|
37
|
+
function _ts_metadata(metadataKey, metadataValue) {
|
|
38
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") {
|
|
39
|
+
return Reflect.metadata(metadataKey, metadataValue);
|
|
40
|
+
}
|
|
32
41
|
}
|
|
33
42
|
const collator = new Intl.Collator();
|
|
34
43
|
class MFEList extends _types.Command {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/cli/commands/mfe-list.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\nimport { npmWhoAmI } from '@servicetitan/install';\nimport chalk from 'chalk';\nimport Table from 'cli-table3';\nimport readline from 'readline/promises';\nimport {\n formatRelativeDate,\n getPackages,\n isWebComponent,\n log,\n logErrors,\n PackageType,\n} from '../../utils';\nimport { isTTY, NPMPackageInfo, npmView, runCommand } from '../utils';\nimport type { entry } from './registry/mfe-list';\nimport { Command } from './types';\nimport { DEFAULT_MFE_REGISTRY } from './utils';\n\nconst collator = new Intl.Collator();\n\nexport class MFEList extends Command<typeof entry> {\n @logErrors\n async execute() {\n await this.login();\n\n this.packageNames.forEach((name, index) => {\n const info = npmView({ packageName: name, registry: this.registry });\n if (info) {\n if (index > 0) {\n process.stdout.write('\\n');\n }\n\n process.stdout.write(this.getCaption(info) + '\\n');\n const table = this.getTable(info);\n if (table) {\n process.stdout.write(table + '\\n');\n }\n }\n });\n }\n\n private getCaption(info: NPMPackageInfo) {\n return [\n chalk.bold.cyan(info.name),\n info.version && `version: ${info.version}`,\n `versions: ${Object.keys(this.getTime(info)).length}`,\n ]\n .filter(el => !!el)\n .join(' | ');\n }\n\n private getTable(info: NPMPackageInfo) {\n const times = Object.entries(this.getTime(info)).sort(\n ([, a], [, b]) => -1 * collator.compare(a, b)\n );\n const versionTags = this.getVersionTags(info);\n const versions = this.args.tagged\n ? times.filter(([version]) => !!versionTags[version])\n : times.slice(0, this.limit);\n\n /* istanbul ignore next: debug only */\n log.debug('mfe-list', () =>\n JSON.stringify({ name: info.name, versionTags, versions }, null, 2)\n );\n\n if (versions.length === 0) {\n return '';\n }\n\n const table = new Table({\n head: ['Version', 'Tag', 'When'].map(title => chalk.bold.cyan(title)),\n style: { head: [] },\n });\n\n versions.forEach(([version, timestamp]) => {\n const when = formatRelativeDate(new Date(timestamp));\n const tag = (versionTags[version] ?? []).join(', ');\n table.push([version, chalk.bold.cyan(tag), when]);\n });\n\n return table.toString();\n }\n\n private getTime(info: NPMPackageInfo) {\n const { time: { created, modified, ...time } = {} } = info;\n return time;\n }\n\n private getVersionTags({ 'dist-tags': distTags = {} }: NPMPackageInfo) {\n return Object.entries(distTags).reduce<Record<string, string[]>>(\n (result, [name, version]) => {\n result[version] ??= [];\n result[version].push(name);\n return result;\n },\n {}\n );\n }\n\n private async ask(question: string) {\n const rl = readline.createInterface({ input: process.stdin, output: process.stdout });\n const answer = await rl.question(question);\n rl.close();\n return answer.trim().toLowerCase();\n }\n\n private async login() {\n if (\n this.registry !== DEFAULT_MFE_REGISTRY ||\n npmWhoAmI({ registry: this.registry }) !== undefined\n ) {\n return;\n }\n\n const message = `This machine is not authorized to access ${this.registry}.`;\n if (!isTTY()) {\n throw new Error(message);\n }\n\n const answer = await this.ask(chalk.bold.cyan(`${message} Authorize? [Y/n] `));\n if (answer && answer !== 'y') {\n throw new Error('Not authorized');\n }\n\n await runCommand(`npx --yes verdaccio-okta-oauth@latest --registry=${this.registry}`, {\n quiet: true,\n });\n }\n\n private get limit() {\n if (this.args.all) {\n return Number.MAX_SAFE_INTEGER;\n }\n return this.args.limit && this.args.limit > 0 ? this.args.limit : 20;\n }\n\n private get packageNames() {\n const { _ = [], packageNames = [] } = this.args;\n if (_.length || packageNames.length) {\n return [..._, ...packageNames];\n }\n\n return getPackages({ ignore: this.args.ignore, type: PackageType.Bundle })\n .filter(isWebComponent)\n .map(({ name }) => name)\n .sort((a, b) => collator.compare(a, b));\n }\n\n private get registry() {\n return this.args.registry ?? DEFAULT_MFE_REGISTRY;\n }\n}\n"],"names":["MFEList","collator","Intl","Collator","Command","execute","login","packageNames","forEach","name","index","info","npmView","packageName","registry","process","stdout","write","getCaption","table","getTable","chalk","bold","cyan","version","Object","keys","getTime","length","filter","el","join","times","entries","sort","a","b","compare","versionTags","getVersionTags","versions","args","tagged","slice","limit","log","debug","JSON","stringify","Table","head","map","title","style","timestamp","when","formatRelativeDate","Date","tag","push","toString","time","created","modified","distTags","reduce","result","ask","question","rl","readline","createInterface","input","stdin","output","answer","close","trim","toLowerCase","DEFAULT_MFE_REGISTRY","npmWhoAmI","undefined","message","isTTY","Error","runCommand","quiet","all","Number","MAX_SAFE_INTEGER","_","getPackages","ignore","type","PackageType","Bundle","isWebComponent"],"mappings":"AAAA,uDAAuD;;;;+BAoB1CA;;;eAAAA;;;yBAnBa;8DACR;kEACA;iEACG;uBAQd;wBACoD;uBAEnC;wBACa
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/commands/mfe-list.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\nimport { npmWhoAmI } from '@servicetitan/install';\nimport chalk from 'chalk';\nimport Table from 'cli-table3';\nimport readline from 'readline/promises';\nimport {\n formatRelativeDate,\n getPackages,\n isWebComponent,\n log,\n logErrors,\n PackageType,\n} from '../../utils';\nimport { isTTY, NPMPackageInfo, npmView, runCommand } from '../utils';\nimport type { entry } from './registry/mfe-list';\nimport { Command } from './types';\nimport { DEFAULT_MFE_REGISTRY } from './utils';\n\nconst collator = new Intl.Collator();\n\nexport class MFEList extends Command<typeof entry> {\n @logErrors\n async execute() {\n await this.login();\n\n this.packageNames.forEach((name, index) => {\n const info = npmView({ packageName: name, registry: this.registry });\n if (info) {\n if (index > 0) {\n process.stdout.write('\\n');\n }\n\n process.stdout.write(this.getCaption(info) + '\\n');\n const table = this.getTable(info);\n if (table) {\n process.stdout.write(table + '\\n');\n }\n }\n });\n }\n\n private getCaption(info: NPMPackageInfo) {\n return [\n chalk.bold.cyan(info.name),\n info.version && `version: ${info.version}`,\n `versions: ${Object.keys(this.getTime(info)).length}`,\n ]\n .filter(el => !!el)\n .join(' | ');\n }\n\n private getTable(info: NPMPackageInfo) {\n const times = Object.entries(this.getTime(info)).sort(\n ([, a], [, b]) => -1 * collator.compare(a, b)\n );\n const versionTags = this.getVersionTags(info);\n const versions = this.args.tagged\n ? times.filter(([version]) => !!versionTags[version])\n : times.slice(0, this.limit);\n\n /* istanbul ignore next: debug only */\n log.debug('mfe-list', () =>\n JSON.stringify({ name: info.name, versionTags, versions }, null, 2)\n );\n\n if (versions.length === 0) {\n return '';\n }\n\n const table = new Table({\n head: ['Version', 'Tag', 'When'].map(title => chalk.bold.cyan(title)),\n style: { head: [] },\n });\n\n versions.forEach(([version, timestamp]) => {\n const when = formatRelativeDate(new Date(timestamp));\n const tag = (versionTags[version] ?? []).join(', ');\n table.push([version, chalk.bold.cyan(tag), when]);\n });\n\n return table.toString();\n }\n\n private getTime(info: NPMPackageInfo) {\n const { time: { created, modified, ...time } = {} } = info;\n return time;\n }\n\n private getVersionTags({ 'dist-tags': distTags = {} }: NPMPackageInfo) {\n return Object.entries(distTags).reduce<Record<string, string[]>>(\n (result, [name, version]) => {\n result[version] ??= [];\n result[version].push(name);\n return result;\n },\n {}\n );\n }\n\n private async ask(question: string) {\n const rl = readline.createInterface({ input: process.stdin, output: process.stdout });\n const answer = await rl.question(question);\n rl.close();\n return answer.trim().toLowerCase();\n }\n\n private async login() {\n if (\n this.registry !== DEFAULT_MFE_REGISTRY ||\n npmWhoAmI({ registry: this.registry }) !== undefined\n ) {\n return;\n }\n\n const message = `This machine is not authorized to access ${this.registry}.`;\n if (!isTTY()) {\n throw new Error(message);\n }\n\n const answer = await this.ask(chalk.bold.cyan(`${message} Authorize? [Y/n] `));\n if (answer && answer !== 'y') {\n throw new Error('Not authorized');\n }\n\n await runCommand(`npx --yes verdaccio-okta-oauth@latest --registry=${this.registry}`, {\n quiet: true,\n });\n }\n\n private get limit() {\n if (this.args.all) {\n return Number.MAX_SAFE_INTEGER;\n }\n return this.args.limit && this.args.limit > 0 ? this.args.limit : 20;\n }\n\n private get packageNames() {\n const { _ = [], packageNames = [] } = this.args;\n if (_.length || packageNames.length) {\n return [..._, ...packageNames];\n }\n\n return getPackages({ ignore: this.args.ignore, type: PackageType.Bundle })\n .filter(isWebComponent)\n .map(({ name }) => name)\n .sort((a, b) => collator.compare(a, b));\n }\n\n private get registry() {\n return this.args.registry ?? DEFAULT_MFE_REGISTRY;\n }\n}\n"],"names":["MFEList","collator","Intl","Collator","Command","execute","login","packageNames","forEach","name","index","info","npmView","packageName","registry","process","stdout","write","getCaption","table","getTable","chalk","bold","cyan","version","Object","keys","getTime","length","filter","el","join","times","entries","sort","a","b","compare","versionTags","getVersionTags","versions","args","tagged","slice","limit","log","debug","JSON","stringify","Table","head","map","title","style","timestamp","when","formatRelativeDate","Date","tag","push","toString","time","created","modified","distTags","reduce","result","ask","question","rl","readline","createInterface","input","stdin","output","answer","close","trim","toLowerCase","DEFAULT_MFE_REGISTRY","npmWhoAmI","undefined","message","isTTY","Error","runCommand","quiet","all","Number","MAX_SAFE_INTEGER","_","getPackages","ignore","type","PackageType","Bundle","isWebComponent"],"mappings":"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"}
|
|
@@ -14,12 +14,21 @@ const _types = require("./types");
|
|
|
14
14
|
const _utils2 = require("./utils");
|
|
15
15
|
function _ts_decorate(decorators, target, key, desc) {
|
|
16
16
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
17
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
|
|
18
|
-
|
|
17
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") {
|
|
18
|
+
r = Reflect.decorate(decorators, target, key, desc);
|
|
19
|
+
} else {
|
|
20
|
+
for(var i = decorators.length - 1; i >= 0; i--){
|
|
21
|
+
if (d = decorators[i]) {
|
|
22
|
+
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
19
26
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
20
27
|
}
|
|
21
|
-
function _ts_metadata(
|
|
22
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
|
|
28
|
+
function _ts_metadata(metadataKey, metadataValue) {
|
|
29
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") {
|
|
30
|
+
return Reflect.metadata(metadataKey, metadataValue);
|
|
31
|
+
}
|
|
23
32
|
}
|
|
24
33
|
class MFEPackageClean extends _types.Command {
|
|
25
34
|
async execute() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/cli/commands/mfe-package-clean.ts"],"sourcesContent":["import { getBranchesConfigs, isWebComponent, log, logErrors, readJson } from '../../utils';\nimport { gitGetBranch, npmGetPackageVersionsDetails, npmUnpublish, Version } from '../utils';\nimport type { entry } from './registry/mfe-package-clean';\nimport { Command } from './types';\nimport { DEFAULT_MFE_REGISTRY } from './utils';\n\nexport class MFEPackageClean extends Command<typeof entry> {\n @logErrors\n async execute() {\n if (!isWebComponent()) {\n throw new Error('only web-components can be cleaned');\n }\n\n const data = this.getCleanData();\n const packageName = readJson('package.json').name;\n const branchedVersions = this.getBranchedVersions(packageName, data.registry);\n\n log.info(`branched versions (${data.count}):`, JSON.stringify(branchedVersions, null, 2));\n\n const branchedVersionsToClean: Record<string, Version[]> = {};\n for (const [branch, versions] of Object.entries(branchedVersions)) {\n // Limit branches for now\n if (!data.branches.includes(branch)) {\n log.info(`ignoring unrecognized branch \"${branch}\"`);\n continue;\n }\n\n branchedVersionsToClean[branch] = this.excludeTagged(versions)\n .sort(({ date: adt }, { date: bdt }) => (adt > bdt ? -1 : 1))\n .slice(data.count);\n }\n\n log.info('found versions for unpublish:', JSON.stringify(branchedVersionsToClean, null, 2));\n const unVersions = Object.keys(branchedVersionsToClean).reduce(\n (out, br) => [...out, ...branchedVersionsToClean[br].map(({ name }) => name)],\n []\n );\n\n if (this.args.dry) {\n return;\n }\n\n for (const version of unVersions) {\n try {\n // eslint-disable-next-line no-await-in-loop\n await npmUnpublish(data.registry, packageName, version);\n } catch {\n log.error(`error while removing ${packageName} version ${version}`);\n }\n }\n }\n\n private excludeTagged(versions: Version[]) {\n return versions.filter(({ name, tag }) => {\n if (tag) {\n log.info(`ignoring version ${name} tagged \"${tag}\"`);\n return false;\n }\n return true;\n });\n }\n\n private getCleanData(): {\n count: number;\n registry: string;\n branches: string[];\n } {\n let count = this.args.count;\n if (!count || count < 0) {\n count = 5;\n }\n\n let branches: string[];\n\n if (this.args.all === true) {\n branches = Object.keys(getBranchesConfigs());\n } else if (typeof this.args.branch === 'string') {\n branches = [this.args.branch];\n } else {\n branches = [gitGetBranch()];\n }\n\n const registry = this.args.registry ?? DEFAULT_MFE_REGISTRY;\n\n return { count, registry, branches };\n }\n\n private getBranchedVersions(packageName: string, registry: string) {\n const versions = npmGetPackageVersionsDetails(registry, packageName);\n const branchedVersions: Record<string, Version[]> = {};\n\n function addVersion(branch: string, version: Version) {\n branchedVersions[branch] ??= [];\n branchedVersions[branch].push(version);\n }\n\n for (const version of versions) {\n const { name } = version;\n if (!name.startsWith('0.0.0-')) {\n continue;\n }\n\n const buildVersion = name.replace('0.0.0-', '');\n\n // master version generated by nerdbank versioning\n if (/^(\\d+)\\.(\\d+)\\.(\\d+)$/.test(buildVersion)) {\n addVersion('master', version);\n continue;\n }\n\n // branch version generated by nerdbank versioning\n const match1 = buildVersion.match(/^(\\d+)\\.(\\d+)\\.(\\d+)-([\\dA-Za-z-]+).([\\dA-Za-z]+)$/);\n if (match1?.length) {\n addVersion(match1[4], version);\n continue;\n }\n\n // branch version generated by mfe-publisher versioning\n const match2 = buildVersion.match(/^([\\dA-Za-z-]+).([\\dA-Za-z]+)$/);\n if (match2?.length) {\n addVersion(match2[1], version);\n continue;\n }\n\n log.info(`skipping unrecognized version: ${name}`);\n }\n\n return branchedVersions;\n }\n}\n"],"names":["MFEPackageClean","Command","execute","isWebComponent","Error","data","getCleanData","packageName","readJson","name","branchedVersions","getBranchedVersions","registry","log","info","count","JSON","stringify","branchedVersionsToClean","branch","versions","Object","entries","branches","includes","excludeTagged","sort","date","adt","bdt","slice","unVersions","keys","reduce","out","br","map","args","dry","version","npmUnpublish","error","filter","tag","all","getBranchesConfigs","gitGetBranch","DEFAULT_MFE_REGISTRY","npmGetPackageVersionsDetails","addVersion","push","startsWith","buildVersion","replace","test","match1","match","length","match2"],"mappings":";;;;+BAMaA;;;eAAAA;;;uBANgE;wBACK;uBAE1D;wBACa
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/commands/mfe-package-clean.ts"],"sourcesContent":["import { getBranchesConfigs, isWebComponent, log, logErrors, readJson } from '../../utils';\nimport { gitGetBranch, npmGetPackageVersionsDetails, npmUnpublish, Version } from '../utils';\nimport type { entry } from './registry/mfe-package-clean';\nimport { Command } from './types';\nimport { DEFAULT_MFE_REGISTRY } from './utils';\n\nexport class MFEPackageClean extends Command<typeof entry> {\n @logErrors\n async execute() {\n if (!isWebComponent()) {\n throw new Error('only web-components can be cleaned');\n }\n\n const data = this.getCleanData();\n const packageName = readJson('package.json').name;\n const branchedVersions = this.getBranchedVersions(packageName, data.registry);\n\n log.info(`branched versions (${data.count}):`, JSON.stringify(branchedVersions, null, 2));\n\n const branchedVersionsToClean: Record<string, Version[]> = {};\n for (const [branch, versions] of Object.entries(branchedVersions)) {\n // Limit branches for now\n if (!data.branches.includes(branch)) {\n log.info(`ignoring unrecognized branch \"${branch}\"`);\n continue;\n }\n\n branchedVersionsToClean[branch] = this.excludeTagged(versions)\n .sort(({ date: adt }, { date: bdt }) => (adt > bdt ? -1 : 1))\n .slice(data.count);\n }\n\n log.info('found versions for unpublish:', JSON.stringify(branchedVersionsToClean, null, 2));\n const unVersions = Object.keys(branchedVersionsToClean).reduce(\n (out, br) => [...out, ...branchedVersionsToClean[br].map(({ name }) => name)],\n []\n );\n\n if (this.args.dry) {\n return;\n }\n\n for (const version of unVersions) {\n try {\n // eslint-disable-next-line no-await-in-loop\n await npmUnpublish(data.registry, packageName, version);\n } catch {\n log.error(`error while removing ${packageName} version ${version}`);\n }\n }\n }\n\n private excludeTagged(versions: Version[]) {\n return versions.filter(({ name, tag }) => {\n if (tag) {\n log.info(`ignoring version ${name} tagged \"${tag}\"`);\n return false;\n }\n return true;\n });\n }\n\n private getCleanData(): {\n count: number;\n registry: string;\n branches: string[];\n } {\n let count = this.args.count;\n if (!count || count < 0) {\n count = 5;\n }\n\n let branches: string[];\n\n if (this.args.all === true) {\n branches = Object.keys(getBranchesConfigs());\n } else if (typeof this.args.branch === 'string') {\n branches = [this.args.branch];\n } else {\n branches = [gitGetBranch()];\n }\n\n const registry = this.args.registry ?? DEFAULT_MFE_REGISTRY;\n\n return { count, registry, branches };\n }\n\n private getBranchedVersions(packageName: string, registry: string) {\n const versions = npmGetPackageVersionsDetails(registry, packageName);\n const branchedVersions: Record<string, Version[]> = {};\n\n function addVersion(branch: string, version: Version) {\n branchedVersions[branch] ??= [];\n branchedVersions[branch].push(version);\n }\n\n for (const version of versions) {\n const { name } = version;\n if (!name.startsWith('0.0.0-')) {\n continue;\n }\n\n const buildVersion = name.replace('0.0.0-', '');\n\n // master version generated by nerdbank versioning\n if (/^(\\d+)\\.(\\d+)\\.(\\d+)$/.test(buildVersion)) {\n addVersion('master', version);\n continue;\n }\n\n // branch version generated by nerdbank versioning\n const match1 = buildVersion.match(/^(\\d+)\\.(\\d+)\\.(\\d+)-([\\dA-Za-z-]+).([\\dA-Za-z]+)$/);\n if (match1?.length) {\n addVersion(match1[4], version);\n continue;\n }\n\n // branch version generated by mfe-publisher versioning\n const match2 = buildVersion.match(/^([\\dA-Za-z-]+).([\\dA-Za-z]+)$/);\n if (match2?.length) {\n addVersion(match2[1], version);\n continue;\n }\n\n log.info(`skipping unrecognized version: ${name}`);\n }\n\n return branchedVersions;\n }\n}\n"],"names":["MFEPackageClean","Command","execute","isWebComponent","Error","data","getCleanData","packageName","readJson","name","branchedVersions","getBranchedVersions","registry","log","info","count","JSON","stringify","branchedVersionsToClean","branch","versions","Object","entries","branches","includes","excludeTagged","sort","date","adt","bdt","slice","unVersions","keys","reduce","out","br","map","args","dry","version","npmUnpublish","error","filter","tag","all","getBranchesConfigs","gitGetBranch","DEFAULT_MFE_REGISTRY","npmGetPackageVersionsDetails","addVersion","push","startsWith","buildVersion","replace","test","match1","match","length","match2"],"mappings":"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"}
|
|
@@ -21,12 +21,21 @@ function _interop_require_default(obj) {
|
|
|
21
21
|
}
|
|
22
22
|
function _ts_decorate(decorators, target, key, desc) {
|
|
23
23
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
24
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
|
|
25
|
-
|
|
24
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") {
|
|
25
|
+
r = Reflect.decorate(decorators, target, key, desc);
|
|
26
|
+
} else {
|
|
27
|
+
for(var i = decorators.length - 1; i >= 0; i--){
|
|
28
|
+
if (d = decorators[i]) {
|
|
29
|
+
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
26
33
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
27
34
|
}
|
|
28
|
-
function _ts_metadata(
|
|
29
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
|
|
35
|
+
function _ts_metadata(metadataKey, metadataValue) {
|
|
36
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") {
|
|
37
|
+
return Reflect.metadata(metadataKey, metadataValue);
|
|
38
|
+
}
|
|
30
39
|
}
|
|
31
40
|
class MFEPackagePublish extends _types.Command {
|
|
32
41
|
async execute() {
|