@servicetitan/startup 37.0.2 → 38.1.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 +22 -9
- 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 +9 -0
- package/dist/cli/commands/command.d.ts.map +1 -0
- package/dist/cli/commands/command.js +35 -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.js +13 -4
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/install.js +13 -4
- 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 -2
- 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/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/types.d.ts.map +1 -1
- package/dist/cli/commands/review/types.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 +28 -13
- 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-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 +1 -0
- package/dist/cli/utils/cli-os.d.ts.map +1 -1
- package/dist/cli/utils/cli-os.js +20 -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/cypress/config/vite-config.d.ts.map +1 -1
- package/dist/cypress/config/vite-config.js +23 -3
- package/dist/cypress/config/vite-config.js.map +1 -1
- package/dist/cypress/config/webpack-config.d.ts.map +1 -1
- package/dist/cypress/config/webpack-config.js +5 -0
- package/dist/cypress/config/webpack-config.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/vite-final.d.ts.map +1 -1
- package/dist/storybook-config/vite-final.js +32 -6
- package/dist/storybook-config/vite-final.js.map +1 -1
- package/dist/storybook-config/webpack-final.d.ts.map +1 -1
- package/dist/storybook-config/webpack-final.js +3 -1
- package/dist/storybook-config/webpack-final.js.map +1 -1
- 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 +14 -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 +12 -1
- package/dist/vite/config/create-filtering-logger.js.map +1 -1
- package/dist/vite/config/create-vite-build-context.d.ts.map +1 -1
- package/dist/vite/config/create-vite-build-context.js +4 -1
- package/dist/vite/config/create-vite-build-context.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.d.ts +1 -1
- package/dist/vite/plugins/dev-server-routing-plugin.d.ts.map +1 -1
- package/dist/vite/plugins/dev-server-routing-plugin.js +4 -3
- 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/istanbul-plugin.d.ts.map +1 -1
- package/dist/vite/plugins/istanbul-plugin.js +33 -1
- package/dist/vite/plugins/istanbul-plugin.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/vite/types.d.ts +4 -1
- package/dist/vite/types.d.ts.map +1 -1
- 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 +4 -4
- 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 +25 -22
- package/src/cli/commands/__tests__/build.test.ts +33 -19
- package/src/cli/commands/__tests__/bundle-package.test.ts +65 -0
- package/src/cli/commands/__tests__/bundle-vite.test.ts +1 -0
- package/src/cli/commands/__tests__/command.test.ts +42 -0
- 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 +35 -15
- package/src/cli/commands/build.ts +6 -5
- package/src/cli/commands/bundle-package.ts +20 -0
- package/src/cli/commands/command.ts +14 -0
- 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/start.ts +3 -2
- package/src/cli/commands/review/types.ts +1 -3
- package/src/cli/commands/run-task.ts +8 -2
- package/src/cli/commands/start.ts +9 -5
- 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-npm.test.ts +33 -0
- package/src/cli/utils/__tests__/cli-os.test.ts +86 -3
- 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-npm.ts +19 -4
- package/src/cli/utils/cli-os.ts +14 -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/cypress/config/__tests__/vite-config.test.ts +21 -11
- package/src/cypress/config/__tests__/webpack-config.test.ts +17 -0
- package/src/cypress/config/vite-config.ts +18 -3
- package/src/cypress/config/webpack-config.ts +2 -0
- package/src/storybook-config/__tests__/vite-final.test.ts +71 -11
- package/src/storybook-config/__tests__/webpack-final.test.ts +30 -6
- package/src/storybook-config/vite-final.ts +23 -2
- package/src/storybook-config/webpack-final.ts +10 -2
- 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 +16 -4
- package/src/vite/config/__tests__/create-css-config.test.ts +2 -6
- package/src/vite/config/__tests__/create-filtering-logger.test.ts +9 -0
- package/src/vite/config/__tests__/create-vite-build-context.test.ts +25 -0
- package/src/vite/config/__tests__/create-vite-config.test.ts +6 -3
- package/src/vite/config/base-config.ts +18 -2
- package/src/vite/config/create-filtering-logger.ts +13 -2
- package/src/vite/config/create-vite-build-context.ts +1 -0
- 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 +121 -99
- 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__/istanbul-plugin.test.ts +42 -1
- 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 +4 -4
- 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/istanbul-plugin.ts +28 -1
- 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/vite/types.ts +4 -1
- package/src/webpack/__tests__/bundle-webpack.test.ts +32 -0
- 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 +3 -3
- 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
package/bin/js-yaml.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
// Auto-generated by scripts/generate-bin-wrappers.js - wraps: js-yaml -> bin/js-yaml.
|
|
3
|
-
require('./_run')('js-yaml', 'bin/js-yaml.
|
|
2
|
+
// Auto-generated by scripts/generate-bin-wrappers.js - wraps: js-yaml -> bin/js-yaml.mjs
|
|
3
|
+
require('./_run')('js-yaml', 'bin/js-yaml.mjs');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/build.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAYlC,qBAAa,KAAM,SAAQ,OAAO,CAAC,OAAO,KAAK,CAAC;IAEtC,OAAO;
|
|
1
|
+
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/build.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAYlC,qBAAa,KAAM,SAAQ,OAAO,CAAC,OAAO,KAAK,CAAC;IAEtC,OAAO;CAqGhB"}
|
|
@@ -14,12 +14,21 @@ const _kendouilicense = require("./kendo-ui-license");
|
|
|
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
|
var BuildProcesses = /*#__PURE__*/ function(BuildProcesses) {
|
|
25
34
|
BuildProcesses[BuildProcesses["Precompile"] = 0] = "Precompile";
|
|
@@ -56,7 +65,9 @@ class Build extends _types.Command {
|
|
|
56
65
|
}
|
|
57
66
|
const scope = packages.map(({ name })=>name);
|
|
58
67
|
const bundleScope = packages.filter(({ type })=>type === _utils.PackageType.Bundle).map(({ name })=>name);
|
|
59
|
-
const
|
|
68
|
+
const bundlerArg = [
|
|
69
|
+
`--bundler ${(0, _utils1.resolveBundler)(this.args)}`
|
|
70
|
+
];
|
|
60
71
|
const precompileScope = packages.filter(({ scripts })=>!!(scripts === null || scripts === void 0 ? void 0 : scripts.precompile)).map(({ name })=>name);
|
|
61
72
|
const processTree = new _utils1.ProcessTree();
|
|
62
73
|
processTree.add(0, ()=>{
|
|
@@ -96,12 +107,13 @@ class Build extends _types.Command {
|
|
|
96
107
|
return Promise.resolve();
|
|
97
108
|
}
|
|
98
109
|
return (0, _utils1.lernaExec)({
|
|
99
|
-
'cmd':
|
|
110
|
+
'cmd': 'startup bundle-package',
|
|
100
111
|
'scope': bundleScope,
|
|
101
112
|
'parallel': true,
|
|
102
113
|
'stream': true,
|
|
103
114
|
'--': [
|
|
104
|
-
'--exposed-dependencies'
|
|
115
|
+
'--exposed-dependencies',
|
|
116
|
+
...bundlerArg
|
|
105
117
|
]
|
|
106
118
|
});
|
|
107
119
|
}, {
|
|
@@ -116,7 +128,7 @@ class Build extends _types.Command {
|
|
|
116
128
|
return Promise.resolve();
|
|
117
129
|
}
|
|
118
130
|
return (0, _utils1.lernaExec)({
|
|
119
|
-
'cmd':
|
|
131
|
+
'cmd': 'startup bundle-package',
|
|
120
132
|
'scope': bundleScope,
|
|
121
133
|
'stream': true,
|
|
122
134
|
'--': [
|
|
@@ -131,7 +143,8 @@ class Build extends _types.Command {
|
|
|
131
143
|
],
|
|
132
144
|
...[
|
|
133
145
|
this.args.preview ? '--preview' : undefined
|
|
134
|
-
]
|
|
146
|
+
],
|
|
147
|
+
...bundlerArg
|
|
135
148
|
].filter((item)=>!!item)
|
|
136
149
|
});
|
|
137
150
|
}, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/cli/commands/build.ts"],"sourcesContent":["import { getPackages, logErrors, PackageType } from '../../utils';\nimport { checkArgs, compile,
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/commands/build.ts"],"sourcesContent":["import { getPackages, logErrors, PackageType } from '../../utils';\nimport { checkArgs, compile, lernaExec, ProcessTree, resolveBundler, typeCheck } from '../utils';\nimport { kendoUILicense } from './kendo-ui-license';\nimport type { entry } from './registry/build';\nimport { Command } from './types';\n\nenum BuildProcesses {\n Precompile,\n Compile,\n KendoUILicense,\n PreparePackage,\n TypeCheck,\n BundleExposedDependencies,\n Bundle,\n}\n\nexport class Build extends Command<typeof entry> {\n @logErrors\n async execute() {\n checkArgs(this.args, { obsolete: ['--esbuild', '--experimental-bundlers'] });\n\n const useTsc = this.args.useTsc;\n\n const packages = getPackages({\n scope: this.args.scope,\n ignore: this.args.ignore,\n type: [PackageType.TSC, PackageType.Bundle],\n });\n if (packages.length === 0) {\n return;\n }\n\n if (this.args.cdnPath) {\n process.env.CLIENT_CDN_PATH = this.args.cdnPath;\n }\n\n const scope = packages.map(({ name }) => name);\n const bundleScope = packages\n .filter(({ type }) => type === PackageType.Bundle)\n .map(({ name }) => name);\n const bundlerArg = [`--bundler ${resolveBundler(this.args)}`];\n const precompileScope = packages\n .filter(({ scripts }) => !!scripts?.precompile)\n .map(({ name }) => name);\n\n const processTree = new ProcessTree<typeof BuildProcesses>();\n\n processTree.add(BuildProcesses.Precompile, () => {\n if (precompileScope.length === 0) {\n return Promise.resolve();\n }\n return lernaExec({\n cmd: 'npm run precompile',\n scope: precompileScope,\n parallel: true,\n stream: true,\n });\n });\n processTree.add(BuildProcesses.Compile, () => compile({ packages: scope, useTsc }), {\n dependsOn: [BuildProcesses.Precompile],\n });\n processTree.add(BuildProcesses.KendoUILicense, () => kendoUILicense());\n processTree.add(BuildProcesses.PreparePackage, () =>\n lernaExec({\n cmd: 'startup prepare-package',\n scope,\n stream: true,\n })\n );\n processTree.add(BuildProcesses.TypeCheck, () => typeCheck({ packages: scope }), {\n dependsOn: [BuildProcesses.PreparePackage],\n });\n processTree.add(\n BuildProcesses.BundleExposedDependencies,\n () => {\n if (bundleScope.length === 0) {\n return Promise.resolve();\n }\n return lernaExec({\n 'cmd': 'startup bundle-package',\n 'scope': bundleScope,\n 'parallel': true,\n 'stream': true,\n '--': ['--exposed-dependencies', ...bundlerArg],\n });\n },\n {\n dependsOn: [\n BuildProcesses.Compile,\n BuildProcesses.KendoUILicense,\n BuildProcesses.PreparePackage,\n ],\n }\n );\n processTree.add(\n BuildProcesses.Bundle,\n () => {\n if (bundleScope.length === 0) {\n return Promise.resolve();\n }\n\n return lernaExec({\n 'cmd': 'startup bundle-package',\n 'scope': bundleScope,\n 'stream': true,\n '--': [\n ...[this.args.config ? `--config \"${this.args.config}\"` : undefined],\n ...[this.args.codeCoverage ? '--code-coverage' : undefined],\n ...[this.args.stat ? '--stat' : undefined],\n ...[this.args.preview ? '--preview' : undefined],\n ...bundlerArg,\n ].filter(item => !!item) as string[],\n });\n },\n { dependsOn: [BuildProcesses.BundleExposedDependencies] }\n );\n\n await processTree.run();\n }\n}\n"],"names":["Build","BuildProcesses","Command","execute","checkArgs","args","obsolete","useTsc","packages","getPackages","scope","ignore","type","PackageType","TSC","Bundle","length","cdnPath","process","env","CLIENT_CDN_PATH","map","name","bundleScope","filter","bundlerArg","resolveBundler","precompileScope","scripts","precompile","processTree","ProcessTree","add","Promise","resolve","lernaExec","cmd","parallel","stream","compile","dependsOn","kendoUILicense","typeCheck","config","undefined","codeCoverage","stat","preview","item","run"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bundle-package.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/bundle-package.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,qBAAa,aAAc,SAAQ,OAAO,CAAC,OAAO,KAAK,CAAC;IAC9C,OAAO;CAahB"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "BundlePackage", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return BundlePackage;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _core = require("../../core");
|
|
12
|
+
const _utils = require("../../utils");
|
|
13
|
+
const _types = require("./types");
|
|
14
|
+
function _getRequireWildcardCache(nodeInterop) {
|
|
15
|
+
if (typeof WeakMap !== "function") return null;
|
|
16
|
+
var cacheBabelInterop = new WeakMap();
|
|
17
|
+
var cacheNodeInterop = new WeakMap();
|
|
18
|
+
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
19
|
+
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
20
|
+
})(nodeInterop);
|
|
21
|
+
}
|
|
22
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
23
|
+
if (!nodeInterop && obj && obj.__esModule) return obj;
|
|
24
|
+
if (obj === null || typeof obj !== "object" && typeof obj !== "function") return {
|
|
25
|
+
default: obj
|
|
26
|
+
};
|
|
27
|
+
var cache = _getRequireWildcardCache(nodeInterop);
|
|
28
|
+
if (cache && cache.has(obj)) return cache.get(obj);
|
|
29
|
+
var newObj = {
|
|
30
|
+
__proto__: null
|
|
31
|
+
};
|
|
32
|
+
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
33
|
+
for(var key in obj){
|
|
34
|
+
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
35
|
+
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
36
|
+
if (desc && (desc.get || desc.set)) Object.defineProperty(newObj, key, desc);
|
|
37
|
+
else newObj[key] = obj[key];
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
newObj.default = obj;
|
|
41
|
+
if (cache) cache.set(obj, newObj);
|
|
42
|
+
return newObj;
|
|
43
|
+
}
|
|
44
|
+
class BundlePackage extends _types.Command {
|
|
45
|
+
async execute() {
|
|
46
|
+
var _ref, _getConfiguration_bundler;
|
|
47
|
+
// Local cli.bundler overrides project-wide default in this.args.bundler
|
|
48
|
+
const bundler = (_ref = (_getConfiguration_bundler = (0, _utils.getConfiguration)().bundler) !== null && _getConfiguration_bundler !== void 0 ? _getConfiguration_bundler : this.args.bundler) !== null && _ref !== void 0 ? _ref : _core.bundleConstants.defaultBundler;
|
|
49
|
+
if (bundler === 'vite') {
|
|
50
|
+
const { BundleVite } = await Promise.resolve().then(()=>/*#__PURE__*/ _interop_require_wildcard(require("./bundle-vite")));
|
|
51
|
+
await new BundleVite(this.args).execute();
|
|
52
|
+
} else {
|
|
53
|
+
const { BundleWebpack } = await Promise.resolve().then(()=>/*#__PURE__*/ _interop_require_wildcard(require("./bundle-webpack")));
|
|
54
|
+
await new BundleWebpack(this.args).execute();
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
//# sourceMappingURL=bundle-package.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/commands/bundle-package.ts"],"sourcesContent":["import { bundleConstants } from '../../core';\nimport { getConfiguration } from '../../utils';\nimport { entry } from './registry/bundle-package';\nimport { Command } from './types';\n\nexport class BundlePackage extends Command<typeof entry> {\n async execute() {\n // Local cli.bundler overrides project-wide default in this.args.bundler\n const bundler =\n getConfiguration().bundler ?? this.args.bundler ?? bundleConstants.defaultBundler;\n\n if (bundler === 'vite') {\n const { BundleVite } = await import('./bundle-vite');\n await new BundleVite(this.args).execute();\n } else {\n const { BundleWebpack } = await import('./bundle-webpack');\n await new BundleWebpack(this.args).execute();\n }\n }\n}\n"],"names":["BundlePackage","Command","execute","getConfiguration","bundler","args","bundleConstants","defaultBundler","BundleVite","BundleWebpack"],"mappings":";;;;+BAKaA;;;eAAAA;;;sBALmB;uBACC;uBAET;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEjB,MAAMA,sBAAsBC,cAAO;IACtC,MAAMC,UAAU;YAGRC,MAAAA;QAFJ,wEAAwE;QACxE,MAAMC,WACFD,QAAAA,4BAAAA,IAAAA,uBAAgB,IAAGC,OAAO,cAA1BD,uCAAAA,4BAA8B,IAAI,CAACE,IAAI,CAACD,OAAO,cAA/CD,kBAAAA,OAAmDG,qBAAe,CAACC,cAAc;QAErF,IAAIH,YAAY,QAAQ;YACpB,MAAM,EAAEI,UAAU,EAAE,GAAG,MAAM,mEAAA,QAAO;YACpC,MAAM,IAAIA,WAAW,IAAI,CAACH,IAAI,EAAEH,OAAO;QAC3C,OAAO;YACH,MAAM,EAAEO,aAAa,EAAE,GAAG,MAAM,mEAAA,QAAO;YACvC,MAAM,IAAIA,cAAc,IAAI,CAACJ,IAAI,EAAEH,OAAO;QAC9C;IACJ;AACJ"}
|
|
@@ -17,12 +17,21 @@ const _validateshareddependencies = require("../../vite/validate-shared-dependen
|
|
|
17
17
|
const _types = require("./types");
|
|
18
18
|
function _ts_decorate(decorators, target, key, desc) {
|
|
19
19
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
20
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
|
|
21
|
-
|
|
20
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") {
|
|
21
|
+
r = Reflect.decorate(decorators, target, key, desc);
|
|
22
|
+
} else {
|
|
23
|
+
for(var i = decorators.length - 1; i >= 0; i--){
|
|
24
|
+
if (d = decorators[i]) {
|
|
25
|
+
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
22
29
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
23
30
|
}
|
|
24
|
-
function _ts_metadata(
|
|
25
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
|
|
31
|
+
function _ts_metadata(metadataKey, metadataValue) {
|
|
32
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") {
|
|
33
|
+
return Reflect.metadata(metadataKey, metadataValue);
|
|
34
|
+
}
|
|
26
35
|
}
|
|
27
36
|
class BundleVite extends _types.Command {
|
|
28
37
|
async execute() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/cli/commands/bundle-vite.ts"],"sourcesContent":["import { build, createServer, preview as previewServer } from 'vite';\nimport { BuildContextOptions, getBuildName, stringifyConfig } from '../../core';\nimport {\n hasHeadlessBundle,\n isExposeSharedDependencies,\n isViteDevServerDisabled,\n isWebComponent,\n log,\n logErrors,\n} from '../../utils';\nimport { buildSharedDependencies } from '../../vite/build-shared-dependencies';\nimport { createViteConfig } from '../../vite/config';\nimport { validateViteSharedDependencies } from '../../vite/validate-shared-dependencies';\nimport { entry } from './registry/bundle-vite';\nimport { Command } from './types';\n\nexport class BundleVite extends Command<typeof entry> {\n @logErrors\n async execute() {\n validateViteSharedDependencies();\n\n const { preview = false, useWatchConfig = false, watch = false } = this.args;\n const isProduction = !(watch || useWatchConfig);\n\n const options: BuildContextOptions = {\n name: getBuildName(),\n isProduction,\n buildStat: this.args.stat,\n };\n\n if (this.args.printConfig) {\n const config = await createViteConfig(options);\n log.text(stringifyConfig(config));\n return;\n }\n\n if (this.args.exposedDependencies) {\n if (watch) {\n throw new Error('cannot bundle exposed dependencies in watch mode');\n }\n if (!isExposeSharedDependencies()) {\n return;\n }\n await buildSharedDependencies(options);\n return;\n }\n\n if (isWebComponent()) {\n // Start builds sequentially to avoid I/O contention during startup\n await buildAndServe({ ...options, light: true }, { watch });\n if (hasHeadlessBundle()) {\n await buildAndServe({ ...options, headless: true }, { watch });\n }\n }\n\n await buildAndServe(options, { watch, preview });\n }\n}\n\nasync function buildAndServe(\n options: BuildContextOptions,\n { watch, preview = false }: { watch: boolean; preview?: boolean }\n): Promise<void> {\n const config = await createViteConfig(options);\n if (watch) {\n if (isViteDevServerDisabled()) {\n /*\n * Create a development build with no HTTP server, using Vite's watcher to rebuild\n * on change. `vite build` forces NODE_ENV to production regardless of `mode`, because\n * Vite treats the two as independent. Set NODE_ENV directly to get a development\n * build; `mode` alone does not change it.\n */\n process.env.NODE_ENV = 'development';\n await build({ ...config, build: { ...config.build, watch: {} } });\n return;\n }\n await serve(config);\n return;\n }\n\n await build(config);\n if (preview) {\n await serve({ ...config, preview: { port: config.server?.port, open: true } }, true);\n }\n}\n\nasync function serve(config: import('vite').InlineConfig, preview = false) {\n const server = preview ? await previewServer(config) : await createServer(config);\n if ('listen' in server) {\n await server.listen();\n }\n server.printUrls();\n server.bindCLIShortcuts({ print: true });\n return server;\n}\n"],"names":["BundleVite","Command","execute","validateViteSharedDependencies","preview","useWatchConfig","watch","args","isProduction","options","name","getBuildName","buildStat","stat","printConfig","config","createViteConfig","log","text","stringifyConfig","exposedDependencies","Error","isExposeSharedDependencies","buildSharedDependencies","isWebComponent","buildAndServe","light","hasHeadlessBundle","headless","isViteDevServerDisabled","process","env","NODE_ENV","build","serve","port","server","open","previewServer","createServer","listen","printUrls","bindCLIShortcuts","print"],"mappings":";;;;+BAgBaA;;;eAAAA;;;sBAhBiD;sBACK;uBAQ5D;yCACiC;wBACP;4CACc;uBAEvB
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/commands/bundle-vite.ts"],"sourcesContent":["import { build, createServer, preview as previewServer } from 'vite';\nimport { BuildContextOptions, getBuildName, stringifyConfig } from '../../core';\nimport {\n hasHeadlessBundle,\n isExposeSharedDependencies,\n isViteDevServerDisabled,\n isWebComponent,\n log,\n logErrors,\n} from '../../utils';\nimport { buildSharedDependencies } from '../../vite/build-shared-dependencies';\nimport { createViteConfig } from '../../vite/config';\nimport { validateViteSharedDependencies } from '../../vite/validate-shared-dependencies';\nimport { entry } from './registry/bundle-vite';\nimport { Command } from './types';\n\nexport class BundleVite extends Command<typeof entry> {\n @logErrors\n async execute() {\n validateViteSharedDependencies();\n\n const { preview = false, useWatchConfig = false, watch = false } = this.args;\n const isProduction = !(watch || useWatchConfig);\n\n const options: BuildContextOptions = {\n name: getBuildName(),\n isProduction,\n buildStat: this.args.stat,\n };\n\n if (this.args.printConfig) {\n const config = await createViteConfig(options);\n log.text(stringifyConfig(config));\n return;\n }\n\n if (this.args.exposedDependencies) {\n if (watch) {\n throw new Error('cannot bundle exposed dependencies in watch mode');\n }\n if (!isExposeSharedDependencies()) {\n return;\n }\n await buildSharedDependencies(options);\n return;\n }\n\n if (isWebComponent()) {\n // Start builds sequentially to avoid I/O contention during startup\n await buildAndServe({ ...options, light: true }, { watch });\n if (hasHeadlessBundle()) {\n await buildAndServe({ ...options, headless: true }, { watch });\n }\n }\n\n await buildAndServe(options, { watch, preview });\n }\n}\n\nasync function buildAndServe(\n options: BuildContextOptions,\n { watch, preview = false }: { watch: boolean; preview?: boolean }\n): Promise<void> {\n const config = await createViteConfig(options);\n if (watch) {\n if (isViteDevServerDisabled()) {\n /*\n * Create a development build with no HTTP server, using Vite's watcher to rebuild\n * on change. `vite build` forces NODE_ENV to production regardless of `mode`, because\n * Vite treats the two as independent. Set NODE_ENV directly to get a development\n * build; `mode` alone does not change it.\n */\n process.env.NODE_ENV = 'development';\n await build({ ...config, build: { ...config.build, watch: {} } });\n return;\n }\n await serve(config);\n return;\n }\n\n await build(config);\n if (preview) {\n await serve({ ...config, preview: { port: config.server?.port, open: true } }, true);\n }\n}\n\nasync function serve(config: import('vite').InlineConfig, preview = false) {\n const server = preview ? await previewServer(config) : await createServer(config);\n if ('listen' in server) {\n await server.listen();\n }\n server.printUrls();\n server.bindCLIShortcuts({ print: true });\n return server;\n}\n"],"names":["BundleVite","Command","execute","validateViteSharedDependencies","preview","useWatchConfig","watch","args","isProduction","options","name","getBuildName","buildStat","stat","printConfig","config","createViteConfig","log","text","stringifyConfig","exposedDependencies","Error","isExposeSharedDependencies","buildSharedDependencies","isWebComponent","buildAndServe","light","hasHeadlessBundle","headless","isViteDevServerDisabled","process","env","NODE_ENV","build","serve","port","server","open","previewServer","createServer","listen","printUrls","bindCLIShortcuts","print"],"mappings":";;;;+BAgBaA;;;eAAAA;;;sBAhBiD;sBACK;uBAQ5D;yCACiC;wBACP;4CACc;uBAEvB;;;;;;;;;;;;;;;;;;;AAEjB,MAAMA,mBAAmBC,cAAO;IACnC,MACMC,UAAU;QACZC,IAAAA,0DAA8B;QAE9B,MAAM,EAAEC,UAAU,KAAK,EAAEC,iBAAiB,KAAK,EAAEC,QAAQ,KAAK,EAAE,GAAG,IAAI,CAACC,IAAI;QAC5E,MAAMC,eAAe,CAAEF,CAAAA,SAASD,cAAa;QAE7C,MAAMI,UAA+B;YACjCC,MAAMC,IAAAA,kBAAY;YAClBH;YACAI,WAAW,IAAI,CAACL,IAAI,CAACM,IAAI;QAC7B;QAEA,IAAI,IAAI,CAACN,IAAI,CAACO,WAAW,EAAE;YACvB,MAAMC,SAAS,MAAMC,IAAAA,wBAAgB,EAACP;YACtCQ,UAAG,CAACC,IAAI,CAACC,IAAAA,qBAAe,EAACJ;YACzB;QACJ;QAEA,IAAI,IAAI,CAACR,IAAI,CAACa,mBAAmB,EAAE;YAC/B,IAAId,OAAO;gBACP,MAAM,IAAIe,MAAM;YACpB;YACA,IAAI,CAACC,IAAAA,iCAA0B,KAAI;gBAC/B;YACJ;YACA,MAAMC,IAAAA,gDAAuB,EAACd;YAC9B;QACJ;QAEA,IAAIe,IAAAA,qBAAc,KAAI;YAClB,mEAAmE;YACnE,MAAMC,cAAc;gBAAE,GAAGhB,OAAO;gBAAEiB,OAAO;YAAK,GAAG;gBAAEpB;YAAM;YACzD,IAAIqB,IAAAA,wBAAiB,KAAI;gBACrB,MAAMF,cAAc;oBAAE,GAAGhB,OAAO;oBAAEmB,UAAU;gBAAK,GAAG;oBAAEtB;gBAAM;YAChE;QACJ;QAEA,MAAMmB,cAAchB,SAAS;YAAEH;YAAOF;QAAQ;IAClD;AACJ;;;;;;;AAEA,eAAeqB,cACXhB,OAA4B,EAC5B,EAAEH,KAAK,EAAEF,UAAU,KAAK,EAAyC;IAEjE,MAAMW,SAAS,MAAMC,IAAAA,wBAAgB,EAACP;IACtC,IAAIH,OAAO;QACP,IAAIuB,IAAAA,8BAAuB,KAAI;YAC3B;;;;;aAKC,GACDC,QAAQC,GAAG,CAACC,QAAQ,GAAG;YACvB,MAAMC,IAAAA,WAAK,EAAC;gBAAE,GAAGlB,MAAM;gBAAEkB,OAAO;oBAAE,GAAGlB,OAAOkB,KAAK;oBAAE3B,OAAO,CAAC;gBAAE;YAAE;YAC/D;QACJ;QACA,MAAM4B,MAAMnB;QACZ;IACJ;IAEA,MAAMkB,IAAAA,WAAK,EAAClB;IACZ,IAAIX,SAAS;YACiCW;QAA1C,MAAMmB,MAAM;YAAE,GAAGnB,MAAM;YAAEX,SAAS;gBAAE+B,IAAI,GAAEpB,iBAAAA,OAAOqB,MAAM,cAAbrB,qCAAAA,eAAeoB,IAAI;gBAAEE,MAAM;YAAK;QAAE,GAAG;IACnF;AACJ;AAEA,eAAeH,MAAMnB,MAAmC,EAAEX,UAAU,KAAK;IACrE,MAAMgC,SAAShC,UAAU,MAAMkC,IAAAA,aAAa,EAACvB,UAAU,MAAMwB,IAAAA,kBAAY,EAACxB;IAC1E,IAAI,YAAYqB,QAAQ;QACpB,MAAMA,OAAOI,MAAM;IACvB;IACAJ,OAAOK,SAAS;IAChBL,OAAOM,gBAAgB,CAAC;QAAEC,OAAO;IAAK;IACtC,OAAOP;AACX"}
|
|
@@ -14,12 +14,21 @@ const _utils1 = require("../utils");
|
|
|
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 BundleWebpack extends _types.Command {
|
|
25
34
|
async execute() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/cli/commands/bundle-webpack.ts"],"sourcesContent":["import { getTsConfig, log, logErrors, validateSharedDependencies } from '../../utils';\nimport { bundleWebpack } from '../../webpack';\nimport { getModuleType } from '../utils';\nimport type { entry } from './registry/bundle-webpack';\nimport { Command } from './types';\n\nexport class BundleWebpack extends Command<typeof entry> {\n @logErrors\n async execute() {\n validateSharedDependencies();\n\n const {\n config,\n codeCoverage,\n exposedDependencies: emitExposedDependencies,\n stat = false,\n useWatchConfig,\n watch,\n } = this.args;\n\n if (getModuleType(getTsConfig()) !== 'esnext') {\n log.warning(\n 'webpack packages should set compilerOptions.module to \"esnext\" in tsconfig.json'\n );\n }\n\n const options: Parameters<typeof bundleWebpack>[0] = {\n ...(emitExposedDependencies ? {} : { config }),\n codeCoverage,\n emitExposedDependencies,\n useWatchConfig,\n };\n\n await bundleWebpack({ buildStat: stat, ...options, watch });\n }\n}\n"],"names":["BundleWebpack","Command","execute","validateSharedDependencies","config","codeCoverage","exposedDependencies","emitExposedDependencies","stat","useWatchConfig","watch","args","getModuleType","getTsConfig","log","warning","options","bundleWebpack","buildStat"],"mappings":";;;;+BAMaA;;;eAAAA;;;uBAN2D;yBAC1C;wBACA;uBAEN
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/commands/bundle-webpack.ts"],"sourcesContent":["import { getTsConfig, log, logErrors, validateSharedDependencies } from '../../utils';\nimport { bundleWebpack } from '../../webpack';\nimport { getModuleType } from '../utils';\nimport type { entry } from './registry/bundle-webpack';\nimport { Command } from './types';\n\nexport class BundleWebpack extends Command<typeof entry> {\n @logErrors\n async execute() {\n validateSharedDependencies();\n\n const {\n config,\n codeCoverage,\n exposedDependencies: emitExposedDependencies,\n stat = false,\n useWatchConfig,\n watch,\n } = this.args;\n\n if (getModuleType(getTsConfig()) !== 'esnext') {\n log.warning(\n 'webpack packages should set compilerOptions.module to \"esnext\" in tsconfig.json'\n );\n }\n\n const options: Parameters<typeof bundleWebpack>[0] = {\n ...(emitExposedDependencies ? {} : { config }),\n codeCoverage,\n emitExposedDependencies,\n useWatchConfig,\n };\n\n await bundleWebpack({ buildStat: stat, ...options, watch });\n }\n}\n"],"names":["BundleWebpack","Command","execute","validateSharedDependencies","config","codeCoverage","exposedDependencies","emitExposedDependencies","stat","useWatchConfig","watch","args","getModuleType","getTsConfig","log","warning","options","bundleWebpack","buildStat"],"mappings":";;;;+BAMaA;;;eAAAA;;;uBAN2D;yBAC1C;wBACA;uBAEN;;;;;;;;;;;;;;;;;;;AAEjB,MAAMA,sBAAsBC,cAAO;IACtC,MACMC,UAAU;QACZC,IAAAA,iCAA0B;QAE1B,MAAM,EACFC,MAAM,EACNC,YAAY,EACZC,qBAAqBC,uBAAuB,EAC5CC,OAAO,KAAK,EACZC,cAAc,EACdC,KAAK,EACR,GAAG,IAAI,CAACC,IAAI;QAEb,IAAIC,IAAAA,qBAAa,EAACC,IAAAA,kBAAW,SAAQ,UAAU;YAC3CC,UAAG,CAACC,OAAO,CACP;QAER;QAEA,MAAMC,UAA+C;YACjD,GAAIT,0BAA0B,CAAC,IAAI;gBAAEH;YAAO,CAAC;YAC7CC;YACAE;YACAE;QACJ;QAEA,MAAMQ,IAAAA,sBAAa,EAAC;YAAEC,WAAWV;YAAM,GAAGQ,OAAO;YAAEN;QAAM;IAC7D;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 exec = (0, _nodeutil.promisify)(_nodechild_process.exec);
|
|
34
43
|
var CleanProcesses = /*#__PURE__*/ function(CleanProcesses) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/cli/commands/clean.ts"],"sourcesContent":["import { getPackageManager } from '@servicetitan/install';\nimport { exec as execAsync, execSync } from 'node:child_process';\nimport fs from 'node:fs';\nimport path from 'node:path';\nimport { promisify } from 'node:util';\nimport { log, logErrors } from '../../utils';\nimport { ProcessTree } from '../utils/process-tree';\nimport type { entry } from './registry/clean';\nimport { Command } from './types';\n\nconst exec = promisify(execAsync);\n\nenum CleanProcesses {\n CleanGitWorkingTree,\n ClearJestCache,\n ClearNpxCache,\n ClearPackageManagerCache,\n ResetNx,\n}\n\nexport class Clean extends Command<typeof entry> {\n @logErrors\n async execute() {\n const processTree = new ProcessTree<typeof CleanProcesses>();\n\n processTree.add(CleanProcesses.ResetNx, () => this.runCommand('nx reset'));\n processTree.add(CleanProcesses.ClearJestCache, () => this.runCommand('jest --clearCache'));\n processTree.add(CleanProcesses.ClearPackageManagerCache, () =>\n Promise.resolve(this.clearPackageManagerCache())\n );\n processTree.add(CleanProcesses.ClearNpxCache, () => this.clearNpxCache());\n\n await processTree.run();\n\n this.cleanGitWorkingTree();\n }\n\n private async runCommand(command: string) {\n try {\n log.info(`Running: ${command}`);\n await exec(command);\n } catch (error) {\n log.error(`Error running ${command}: ${error}`);\n }\n }\n\n private cleanGitWorkingTree() {\n // Use exec() to avoid error when startup dependencies are deleted while startup is running\n const command = 'git clean -fdX';\n log.info(`Running: ${command}`);\n exec(command);\n }\n\n private async clearNpxCache() {\n try {\n const npmCacheDir = execSync('npm config get cache').toString().trim();\n const npxCachePath = path.join(npmCacheDir, '_npx');\n\n log.info('Clearing npx cache');\n await fs.promises.rm(npxCachePath, { recursive: true, force: true });\n } catch (error) {\n log.error(`Error clearing npx cache: ${error}`);\n }\n }\n\n private clearPackageManagerCache() {\n try {\n const packageManager = getPackageManager();\n log.info(`Clearing ${packageManager.command} cache`);\n packageManager.clearCache();\n } catch (error) {\n log.error(`Error clearing package manager cache: ${error}`);\n }\n }\n}\n"],"names":["Clean","exec","promisify","execAsync","CleanProcesses","Command","execute","processTree","ProcessTree","add","runCommand","Promise","resolve","clearPackageManagerCache","clearNpxCache","run","cleanGitWorkingTree","command","log","info","error","npmCacheDir","execSync","toString","trim","npxCachePath","path","join","fs","promises","rm","recursive","force","packageManager","getPackageManager","clearCache"],"mappings":";;;;+BAoBaA;;;eAAAA;;;yBApBqB;mCACU;+DAC7B;iEACE;0BACS;uBACK;6BACH;uBAEJ
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/commands/clean.ts"],"sourcesContent":["import { getPackageManager } from '@servicetitan/install';\nimport { exec as execAsync, execSync } from 'node:child_process';\nimport fs from 'node:fs';\nimport path from 'node:path';\nimport { promisify } from 'node:util';\nimport { log, logErrors } from '../../utils';\nimport { ProcessTree } from '../utils/process-tree';\nimport type { entry } from './registry/clean';\nimport { Command } from './types';\n\nconst exec = promisify(execAsync);\n\nenum CleanProcesses {\n CleanGitWorkingTree,\n ClearJestCache,\n ClearNpxCache,\n ClearPackageManagerCache,\n ResetNx,\n}\n\nexport class Clean extends Command<typeof entry> {\n @logErrors\n async execute() {\n const processTree = new ProcessTree<typeof CleanProcesses>();\n\n processTree.add(CleanProcesses.ResetNx, () => this.runCommand('nx reset'));\n processTree.add(CleanProcesses.ClearJestCache, () => this.runCommand('jest --clearCache'));\n processTree.add(CleanProcesses.ClearPackageManagerCache, () =>\n Promise.resolve(this.clearPackageManagerCache())\n );\n processTree.add(CleanProcesses.ClearNpxCache, () => this.clearNpxCache());\n\n await processTree.run();\n\n this.cleanGitWorkingTree();\n }\n\n private async runCommand(command: string) {\n try {\n log.info(`Running: ${command}`);\n await exec(command);\n } catch (error) {\n log.error(`Error running ${command}: ${error}`);\n }\n }\n\n private cleanGitWorkingTree() {\n // Use exec() to avoid error when startup dependencies are deleted while startup is running\n const command = 'git clean -fdX';\n log.info(`Running: ${command}`);\n exec(command);\n }\n\n private async clearNpxCache() {\n try {\n const npmCacheDir = execSync('npm config get cache').toString().trim();\n const npxCachePath = path.join(npmCacheDir, '_npx');\n\n log.info('Clearing npx cache');\n await fs.promises.rm(npxCachePath, { recursive: true, force: true });\n } catch (error) {\n log.error(`Error clearing npx cache: ${error}`);\n }\n }\n\n private clearPackageManagerCache() {\n try {\n const packageManager = getPackageManager();\n log.info(`Clearing ${packageManager.command} cache`);\n packageManager.clearCache();\n } catch (error) {\n log.error(`Error clearing package manager cache: ${error}`);\n }\n }\n}\n"],"names":["Clean","exec","promisify","execAsync","CleanProcesses","Command","execute","processTree","ProcessTree","add","runCommand","Promise","resolve","clearPackageManagerCache","clearNpxCache","run","cleanGitWorkingTree","command","log","info","error","npmCacheDir","execSync","toString","trim","npxCachePath","path","join","fs","promises","rm","recursive","force","packageManager","getPackageManager","clearCache"],"mappings":";;;;+BAoBaA;;;eAAAA;;;yBApBqB;mCACU;+DAC7B;iEACE;0BACS;uBACK;6BACH;uBAEJ;;;;;;;;;;;;;;;;;;;;;;;;AAExB,MAAMC,OAAOC,IAAAA,mBAAS,EAACC,uBAAS;AAEhC,IAAA,AAAKC,wCAAAA;;;;;;WAAAA;EAAAA;AAQE,MAAMJ,cAAcK,cAAO;IAC9B,MACMC,UAAU;QACZ,MAAMC,cAAc,IAAIC,wBAAW;QAEnCD,YAAYE,GAAG,IAAyB,IAAM,IAAI,CAACC,UAAU,CAAC;QAC9DH,YAAYE,GAAG,IAAgC,IAAM,IAAI,CAACC,UAAU,CAAC;QACrEH,YAAYE,GAAG,IAA0C,IACrDE,QAAQC,OAAO,CAAC,IAAI,CAACC,wBAAwB;QAEjDN,YAAYE,GAAG,IAA+B,IAAM,IAAI,CAACK,aAAa;QAEtE,MAAMP,YAAYQ,GAAG;QAErB,IAAI,CAACC,mBAAmB;IAC5B;IAEA,MAAcN,WAAWO,OAAe,EAAE;QACtC,IAAI;YACAC,UAAG,CAACC,IAAI,CAAC,CAAC,SAAS,EAAEF,SAAS;YAC9B,MAAMhB,KAAKgB;QACf,EAAE,OAAOG,OAAO;YACZF,UAAG,CAACE,KAAK,CAAC,CAAC,cAAc,EAAEH,QAAQ,EAAE,EAAEG,OAAO;QAClD;IACJ;IAEQJ,sBAAsB;QAC1B,2FAA2F;QAC3F,MAAMC,UAAU;QAChBC,UAAG,CAACC,IAAI,CAAC,CAAC,SAAS,EAAEF,SAAS;QAC9BhB,KAAKgB;IACT;IAEA,MAAcH,gBAAgB;QAC1B,IAAI;YACA,MAAMO,cAAcC,IAAAA,2BAAQ,EAAC,wBAAwBC,QAAQ,GAAGC,IAAI;YACpE,MAAMC,eAAeC,iBAAI,CAACC,IAAI,CAACN,aAAa;YAE5CH,UAAG,CAACC,IAAI,CAAC;YACT,MAAMS,eAAE,CAACC,QAAQ,CAACC,EAAE,CAACL,cAAc;gBAAEM,WAAW;gBAAMC,OAAO;YAAK;QACtE,EAAE,OAAOZ,OAAO;YACZF,UAAG,CAACE,KAAK,CAAC,CAAC,0BAA0B,EAAEA,OAAO;QAClD;IACJ;IAEQP,2BAA2B;QAC/B,IAAI;YACA,MAAMoB,iBAAiBC,IAAAA,0BAAiB;YACxChB,UAAG,CAACC,IAAI,CAAC,CAAC,SAAS,EAAEc,eAAehB,OAAO,CAAC,MAAM,CAAC;YACnDgB,eAAeE,UAAU;QAC7B,EAAE,OAAOf,OAAO;YACZF,UAAG,CAACE,KAAK,CAAC,CAAC,sCAAsC,EAAEA,OAAO;QAC9D;IACJ;AACJ"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { CommandName } from '../../utils';
|
|
2
|
+
import { CommandEntry, InferArgs } from './types';
|
|
3
|
+
export declare abstract class Command<T extends CommandEntry = CommandEntry, U = unknown> {
|
|
4
|
+
protected readonly args: InferArgs<NonNullable<T['options']>, U>;
|
|
5
|
+
constructor(args: InferArgs<NonNullable<T['options']>, U>);
|
|
6
|
+
watchForParentExit(name: CommandName): void;
|
|
7
|
+
abstract execute(): Promise<void>;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=command.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAuB,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAElD,8BAAsB,OAAO,CAAC,CAAC,SAAS,YAAY,GAAG,YAAY,EAAE,CAAC,GAAG,OAAO;IAChE,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;gBAA7C,IAAI,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;IAE5E,kBAAkB,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAM3C,QAAQ,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CACpC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "Command", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return Command;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _utils = require("../../utils");
|
|
12
|
+
function _define_property(obj, key, value) {
|
|
13
|
+
if (key in obj) {
|
|
14
|
+
Object.defineProperty(obj, key, {
|
|
15
|
+
value: value,
|
|
16
|
+
enumerable: true,
|
|
17
|
+
configurable: true,
|
|
18
|
+
writable: true
|
|
19
|
+
});
|
|
20
|
+
} else obj[key] = value;
|
|
21
|
+
return obj;
|
|
22
|
+
}
|
|
23
|
+
class Command {
|
|
24
|
+
watchForParentExit(name) {
|
|
25
|
+
if ('watch' in this.args && this.args.watch === true) {
|
|
26
|
+
(0, _utils.exitWhenParentExits)(name);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
constructor(args){
|
|
30
|
+
_define_property(this, "args", void 0);
|
|
31
|
+
this.args = args;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
//# sourceMappingURL=command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/commands/command.ts"],"sourcesContent":["import { CommandName, exitWhenParentExits } from '../../utils';\nimport { CommandEntry, InferArgs } from './types';\n\nexport abstract class Command<T extends CommandEntry = CommandEntry, U = unknown> {\n constructor(protected readonly args: InferArgs<NonNullable<T['options']>, U>) {}\n\n watchForParentExit(name: CommandName): void {\n if ('watch' in this.args && this.args.watch === true) {\n exitWhenParentExits(name);\n }\n }\n\n abstract execute(): Promise<void>;\n}\n"],"names":["Command","watchForParentExit","name","args","watch","exitWhenParentExits"],"mappings":";;;;+BAGsBA;;;eAAAA;;;uBAH2B;;;;;;;;;;;;AAG1C,MAAeA;IAGlBC,mBAAmBC,IAAiB,EAAQ;QACxC,IAAI,WAAW,IAAI,CAACC,IAAI,IAAI,IAAI,CAACA,IAAI,CAACC,KAAK,KAAK,MAAM;YAClDC,IAAAA,0BAAmB,EAACH;QACxB;IACJ;IANA,YAAY,AAAmBC,IAA6C,CAAE;;aAA/CA,OAAAA;IAAgD;AASnF"}
|
|
@@ -21,9 +21,7 @@ function _define_property(obj, key, value) {
|
|
|
21
21
|
configurable: true,
|
|
22
22
|
writable: true
|
|
23
23
|
});
|
|
24
|
-
} else
|
|
25
|
-
obj[key] = value;
|
|
26
|
-
}
|
|
24
|
+
} else obj[key] = value;
|
|
27
25
|
return obj;
|
|
28
26
|
}
|
|
29
27
|
function _interop_require_default(obj) {
|
|
@@ -33,12 +31,21 @@ function _interop_require_default(obj) {
|
|
|
33
31
|
}
|
|
34
32
|
function _ts_decorate(decorators, target, key, desc) {
|
|
35
33
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
36
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
|
|
37
|
-
|
|
34
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") {
|
|
35
|
+
r = Reflect.decorate(decorators, target, key, desc);
|
|
36
|
+
} else {
|
|
37
|
+
for(var i = decorators.length - 1; i >= 0; i--){
|
|
38
|
+
if (d = decorators[i]) {
|
|
39
|
+
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
38
43
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
39
44
|
}
|
|
40
|
-
function _ts_metadata(
|
|
41
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
|
|
45
|
+
function _ts_metadata(metadataKey, metadataValue) {
|
|
46
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") {
|
|
47
|
+
return Reflect.metadata(metadataKey, metadataValue);
|
|
48
|
+
}
|
|
42
49
|
}
|
|
43
50
|
const oldConfigFile = '.eslintrc.json';
|
|
44
51
|
const newConfigFile = 'eslint.config.mjs';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/cli/commands/convert-eslint-config.ts"],"sourcesContent":["import fs from 'fs';\nimport { globSync } from 'glob';\nimport JSON5 from 'json5';\nimport { log, logErrors, prettify, toArray } from '../../utils';\nimport type { entry } from './registry/convert-eslint-config';\nimport { Command } from './types';\n\nconst oldConfigFile = '.eslintrc.json';\nconst newConfigFile = 'eslint.config.mjs';\nconst eslintIgnoreFile = '.eslintignore';\n\ninterface Override {\n [key: string]: unknown;\n files?: string[];\n}\n\ninterface V8Config {\n extends?: string | string[];\n ignorePatterns?: string[];\n overrides?: Override[];\n plugins?: string[];\n parserOptions?: Record<string, unknown>;\n rules?: Record<string, unknown>;\n settings?: Record<string, unknown>;\n}\n\ninterface Context {\n flatConfigs: string[];\n imports: {\n [key: string]: string | string[];\n 'eslint/config': string[];\n };\n source: V8Config;\n}\n\ninterface Recipe {\n config: string;\n files?: string[];\n import: { as: string; from?: string };\n}\n\nexport class ConvertEslintConfig extends Command<typeof entry> {\n private static readonly recipes: Record<string, Recipe | null> = {\n '@servicetitan/eslint-config/mono': {\n import: { as: 'mono' },\n config: 'mono',\n },\n '@servicetitan/eslint-config/single': {\n import: { as: 'single' },\n config: 'single',\n },\n 'plugin:chai-friendly/recommended': {\n import: { as: 'pluginChaiFriendly', from: 'eslint-plugin-chai-friendly' },\n config: 'pluginChaiFriendly.configs.recommendedFlat',\n },\n 'plugin:cypress/recommended': {\n import: { as: 'pluginCypress', from: 'eslint-plugin-cypress/flat' },\n config: 'pluginCypress.configs.recommended',\n },\n 'plugin:mocha/recommended': {\n import: { as: 'pluginMocha', from: 'eslint-plugin-mocha' },\n config: 'pluginMocha.configs.flat.recommended',\n },\n 'plugin:storybook/recommended': {\n import: { as: 'storybook', from: 'eslint-plugin-storybook' },\n config: \"storybook.configs['flat/recommended']\",\n },\n 'plugin:testing-library/react': {\n import: { as: 'pluginTestingLibrary', from: 'eslint-plugin-testing-library' },\n config: \"pluginTestingLibrary.configs['flat/react']\",\n files: ['**/*.test.*'],\n },\n 'prettier': null,\n };\n\n @logErrors\n async execute() {\n if (!fs.existsSync(oldConfigFile)) {\n throw new Error(`${oldConfigFile} not found`);\n }\n\n const configFiles = globSync('eslint.config.{js,cjs,mjs}');\n if (configFiles.length > 0) {\n throw new Error(`flat config \"${configFiles[0]}\" already exists`);\n }\n\n log.info(`Processing ${oldConfigFile}`);\n\n const json = this.readJson(oldConfigFile);\n fs.writeFileSync(newConfigFile, this.convert(json), 'utf-8');\n await prettify(newConfigFile);\n\n log.success(`Created ${newConfigFile}`);\n }\n\n private convert(source: V8Config) {\n const context: Context = {\n flatConfigs: [],\n imports: { 'eslint/config': ['defineConfig'] },\n source,\n };\n\n const handlers: { [K in keyof V8Config]: (context: Context) => void } = {\n extends: this.handleExtends.bind(this),\n overrides: this.handleOverrides.bind(this),\n parserOptions: this.handleParserOptions.bind(this),\n plugins: this.handlePlugins.bind(this),\n rules: this.handleRules.bind(this),\n settings: this.handleSettings.bind(this),\n };\n\n // Don't limit handleIgnores to a specific key because it also reads .eslintignore.rc\n this.handleIgnores(context);\n\n // Run handlers in key order to preserve ordering of configs\n Object.keys(context.source).forEach((key: keyof V8Config) => {\n handlers[key]?.(context);\n });\n\n return this.format(context);\n }\n\n private format(context: Context) {\n return `${this.formatImports(context)}\\n\\n${this.formatConfigs(context)}`;\n }\n\n private formatConfigs(context: Context) {\n return `export default defineConfig([\n ${context.flatConfigs.join()}\n ]);`;\n }\n\n private formatImports({ imports }: Context) {\n return Object.entries(imports)\n .map(([pkg, itemOrItems]) => {\n if (typeof itemOrItems === 'string') {\n return `import ${itemOrItems} from '${pkg}';`;\n }\n return `import { ${itemOrItems.join()} } from '${pkg}';`;\n })\n .join('\\n');\n }\n\n private handleExtends({ flatConfigs, imports, source }: Context) {\n const unrecognized: string[] = [];\n const extendsArray = toArray(source.extends);\n\n extendsArray.forEach(entry => {\n const recipe = ConvertEslintConfig.recipes[entry];\n if (recipe) {\n imports[recipe.import.from ?? entry] = recipe.import.as;\n if (recipe.files) {\n flatConfigs.push(`{\n files: ${JSON.stringify(recipe.files)},\n ...${recipe.config}\n }`);\n } else {\n flatConfigs.push(recipe.config);\n }\n } else if (recipe !== null) {\n unrecognized.push(entry);\n }\n });\n\n /*\n * Use extends workaround for anything we didn't recognized\n * https://eslint.org/blog/2025/03/flat-config-extends-define-config-global-ignores/#bringing-back-extends\n */\n\n if (unrecognized.length) {\n flatConfigs.push(JSON.stringify({ extends: unrecognized }));\n }\n }\n\n private handleIgnores({ flatConfigs, imports, source: { ignorePatterns = [] } }: Context) {\n const globs = ignorePatterns.filter(glob => !!glob);\n\n if (fs.existsSync(eslintIgnoreFile)) {\n const fileGlobs = fs\n .readFileSync(eslintIgnoreFile, 'utf-8')\n .split('\\n')\n .map(line => line.trim())\n .filter(line => !!line);\n globs.push(...fileGlobs);\n }\n\n if (globs.length === 0) {\n return;\n }\n\n const normalized = globs.map(normalizeGlob);\n\n imports['eslint/config'].push('globalIgnores');\n flatConfigs.push(`globalIgnores(${JSON.stringify(normalized)})`);\n }\n\n private handleOverrides({\n flatConfigs,\n source: { overrides },\n }: Context & { source: { overrides: NonNullable<Context['source']['overrides']> } }) {\n overrides.forEach(override => {\n flatConfigs.push(JSON.stringify(this.handleOverride(override), null, 2));\n });\n }\n\n private handleOverride({ parserOptions, ...rest }: Override) {\n rest.files = rest.files?.map(normalizeGlob);\n const languageOptions = parserOptions ? { parserOptions } : undefined;\n return { ...rest, languageOptions };\n }\n\n private handlePlugins({\n flatConfigs,\n imports,\n source,\n }: Context & { source: { plugins: NonNullable<Context['source']['plugins']> } }) {\n const plugins: Record<string, string> = {};\n\n source.plugins.forEach(name => {\n const camelized = toCamelCase(name);\n imports[`eslint-plugin-${name}`] = camelized;\n plugins[name] = camelized;\n });\n\n flatConfigs.push(`{\n plugins: {\n ${Object.entries(plugins)\n .map(([key, value]) => `'${key}': ${value}`)\n .join(',\\n')}\n } \n }`);\n }\n\n private handleParserOptions({ flatConfigs, source: { parserOptions } }: Context) {\n flatConfigs.push(JSON.stringify({ languageOptions: { parserOptions } }));\n }\n\n private handleRules({\n flatConfigs,\n source: { rules },\n }: Context & { source: { rules: NonNullable<Context['source']['rules']> } }) {\n const tsPrefix = '@typescript-eslint/';\n const nonTsRules = Object.fromEntries(\n Object.entries(rules).filter(([key]) => !key.startsWith(tsPrefix))\n );\n if (Object.keys(nonTsRules).length) {\n flatConfigs.push(JSON.stringify({ rules: nonTsRules }, null, 2));\n }\n\n const tsRules = Object.fromEntries(\n Object.entries(rules).filter(([key]) => key.startsWith(tsPrefix))\n );\n if (Object.keys(tsRules).length) {\n flatConfigs.push(JSON.stringify({ files: ['**/*.ts{,x}'], rules: tsRules }, null, 2));\n }\n }\n\n private handleSettings({\n flatConfigs,\n source: { settings },\n }: Context & { source: { settings: NonNullable<Context['source']['settings']> } }) {\n flatConfigs.push(JSON.stringify({ settings }));\n }\n\n private readJson(filename: string) {\n return JSON5.parse(fs.readFileSync(filename, 'utf8'));\n }\n}\n\nfunction toCamelCase(str: string) {\n return str.replace(/(-[a-z])/g, ([, letter]) => letter.toUpperCase());\n}\n\nfunction normalizeGlob(glob: string) {\n return glob.includes('/') ? glob.replace(/^(!)?\\//, '$1') : `**/${glob}`;\n}\n"],"names":["ConvertEslintConfig","oldConfigFile","newConfigFile","eslintIgnoreFile","Command","execute","fs","existsSync","Error","configFiles","globSync","length","log","info","json","readJson","writeFileSync","convert","prettify","success","source","context","flatConfigs","imports","handlers","extends","handleExtends","bind","overrides","handleOverrides","parserOptions","handleParserOptions","plugins","handlePlugins","rules","handleRules","settings","handleSettings","handleIgnores","Object","keys","forEach","key","format","formatImports","formatConfigs","join","entries","map","pkg","itemOrItems","unrecognized","extendsArray","toArray","entry","recipe","recipes","import","from","as","files","push","JSON","stringify","config","ignorePatterns","globs","filter","glob","fileGlobs","readFileSync","split","line","trim","normalized","normalizeGlob","override","handleOverride","rest","languageOptions","undefined","name","camelized","toCamelCase","value","tsPrefix","nonTsRules","fromEntries","startsWith","tsRules","filename","JSON5","parse","str","replace","letter","toUpperCase","includes"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/commands/convert-eslint-config.ts"],"sourcesContent":["import fs from 'fs';\nimport { globSync } from 'glob';\nimport JSON5 from 'json5';\nimport { log, logErrors, prettify, toArray } from '../../utils';\nimport type { entry } from './registry/convert-eslint-config';\nimport { Command } from './types';\n\nconst oldConfigFile = '.eslintrc.json';\nconst newConfigFile = 'eslint.config.mjs';\nconst eslintIgnoreFile = '.eslintignore';\n\ninterface Override {\n [key: string]: unknown;\n files?: string[];\n}\n\ninterface V8Config {\n extends?: string | string[];\n ignorePatterns?: string[];\n overrides?: Override[];\n plugins?: string[];\n parserOptions?: Record<string, unknown>;\n rules?: Record<string, unknown>;\n settings?: Record<string, unknown>;\n}\n\ninterface Context {\n flatConfigs: string[];\n imports: {\n [key: string]: string | string[];\n 'eslint/config': string[];\n };\n source: V8Config;\n}\n\ninterface Recipe {\n config: string;\n files?: string[];\n import: { as: string; from?: string };\n}\n\nexport class ConvertEslintConfig extends Command<typeof entry> {\n private static readonly recipes: Record<string, Recipe | null> = {\n '@servicetitan/eslint-config/mono': {\n import: { as: 'mono' },\n config: 'mono',\n },\n '@servicetitan/eslint-config/single': {\n import: { as: 'single' },\n config: 'single',\n },\n 'plugin:chai-friendly/recommended': {\n import: { as: 'pluginChaiFriendly', from: 'eslint-plugin-chai-friendly' },\n config: 'pluginChaiFriendly.configs.recommendedFlat',\n },\n 'plugin:cypress/recommended': {\n import: { as: 'pluginCypress', from: 'eslint-plugin-cypress/flat' },\n config: 'pluginCypress.configs.recommended',\n },\n 'plugin:mocha/recommended': {\n import: { as: 'pluginMocha', from: 'eslint-plugin-mocha' },\n config: 'pluginMocha.configs.flat.recommended',\n },\n 'plugin:storybook/recommended': {\n import: { as: 'storybook', from: 'eslint-plugin-storybook' },\n config: \"storybook.configs['flat/recommended']\",\n },\n 'plugin:testing-library/react': {\n import: { as: 'pluginTestingLibrary', from: 'eslint-plugin-testing-library' },\n config: \"pluginTestingLibrary.configs['flat/react']\",\n files: ['**/*.test.*'],\n },\n 'prettier': null,\n };\n\n @logErrors\n async execute() {\n if (!fs.existsSync(oldConfigFile)) {\n throw new Error(`${oldConfigFile} not found`);\n }\n\n const configFiles = globSync('eslint.config.{js,cjs,mjs}');\n if (configFiles.length > 0) {\n throw new Error(`flat config \"${configFiles[0]}\" already exists`);\n }\n\n log.info(`Processing ${oldConfigFile}`);\n\n const json = this.readJson(oldConfigFile);\n fs.writeFileSync(newConfigFile, this.convert(json), 'utf-8');\n await prettify(newConfigFile);\n\n log.success(`Created ${newConfigFile}`);\n }\n\n private convert(source: V8Config) {\n const context: Context = {\n flatConfigs: [],\n imports: { 'eslint/config': ['defineConfig'] },\n source,\n };\n\n const handlers: { [K in keyof V8Config]: (context: Context) => void } = {\n extends: this.handleExtends.bind(this),\n overrides: this.handleOverrides.bind(this),\n parserOptions: this.handleParserOptions.bind(this),\n plugins: this.handlePlugins.bind(this),\n rules: this.handleRules.bind(this),\n settings: this.handleSettings.bind(this),\n };\n\n // Don't limit handleIgnores to a specific key because it also reads .eslintignore.rc\n this.handleIgnores(context);\n\n // Run handlers in key order to preserve ordering of configs\n Object.keys(context.source).forEach((key: keyof V8Config) => {\n handlers[key]?.(context);\n });\n\n return this.format(context);\n }\n\n private format(context: Context) {\n return `${this.formatImports(context)}\\n\\n${this.formatConfigs(context)}`;\n }\n\n private formatConfigs(context: Context) {\n return `export default defineConfig([\n ${context.flatConfigs.join()}\n ]);`;\n }\n\n private formatImports({ imports }: Context) {\n return Object.entries(imports)\n .map(([pkg, itemOrItems]) => {\n if (typeof itemOrItems === 'string') {\n return `import ${itemOrItems} from '${pkg}';`;\n }\n return `import { ${itemOrItems.join()} } from '${pkg}';`;\n })\n .join('\\n');\n }\n\n private handleExtends({ flatConfigs, imports, source }: Context) {\n const unrecognized: string[] = [];\n const extendsArray = toArray(source.extends);\n\n extendsArray.forEach(entry => {\n const recipe = ConvertEslintConfig.recipes[entry];\n if (recipe) {\n imports[recipe.import.from ?? entry] = recipe.import.as;\n if (recipe.files) {\n flatConfigs.push(`{\n files: ${JSON.stringify(recipe.files)},\n ...${recipe.config}\n }`);\n } else {\n flatConfigs.push(recipe.config);\n }\n } else if (recipe !== null) {\n unrecognized.push(entry);\n }\n });\n\n /*\n * Use extends workaround for anything we didn't recognized\n * https://eslint.org/blog/2025/03/flat-config-extends-define-config-global-ignores/#bringing-back-extends\n */\n\n if (unrecognized.length) {\n flatConfigs.push(JSON.stringify({ extends: unrecognized }));\n }\n }\n\n private handleIgnores({ flatConfigs, imports, source: { ignorePatterns = [] } }: Context) {\n const globs = ignorePatterns.filter(glob => !!glob);\n\n if (fs.existsSync(eslintIgnoreFile)) {\n const fileGlobs = fs\n .readFileSync(eslintIgnoreFile, 'utf-8')\n .split('\\n')\n .map(line => line.trim())\n .filter(line => !!line);\n globs.push(...fileGlobs);\n }\n\n if (globs.length === 0) {\n return;\n }\n\n const normalized = globs.map(normalizeGlob);\n\n imports['eslint/config'].push('globalIgnores');\n flatConfigs.push(`globalIgnores(${JSON.stringify(normalized)})`);\n }\n\n private handleOverrides({\n flatConfigs,\n source: { overrides },\n }: Context & { source: { overrides: NonNullable<Context['source']['overrides']> } }) {\n overrides.forEach(override => {\n flatConfigs.push(JSON.stringify(this.handleOverride(override), null, 2));\n });\n }\n\n private handleOverride({ parserOptions, ...rest }: Override) {\n rest.files = rest.files?.map(normalizeGlob);\n const languageOptions = parserOptions ? { parserOptions } : undefined;\n return { ...rest, languageOptions };\n }\n\n private handlePlugins({\n flatConfigs,\n imports,\n source,\n }: Context & { source: { plugins: NonNullable<Context['source']['plugins']> } }) {\n const plugins: Record<string, string> = {};\n\n source.plugins.forEach(name => {\n const camelized = toCamelCase(name);\n imports[`eslint-plugin-${name}`] = camelized;\n plugins[name] = camelized;\n });\n\n flatConfigs.push(`{\n plugins: {\n ${Object.entries(plugins)\n .map(([key, value]) => `'${key}': ${value}`)\n .join(',\\n')}\n } \n }`);\n }\n\n private handleParserOptions({ flatConfigs, source: { parserOptions } }: Context) {\n flatConfigs.push(JSON.stringify({ languageOptions: { parserOptions } }));\n }\n\n private handleRules({\n flatConfigs,\n source: { rules },\n }: Context & { source: { rules: NonNullable<Context['source']['rules']> } }) {\n const tsPrefix = '@typescript-eslint/';\n const nonTsRules = Object.fromEntries(\n Object.entries(rules).filter(([key]) => !key.startsWith(tsPrefix))\n );\n if (Object.keys(nonTsRules).length) {\n flatConfigs.push(JSON.stringify({ rules: nonTsRules }, null, 2));\n }\n\n const tsRules = Object.fromEntries(\n Object.entries(rules).filter(([key]) => key.startsWith(tsPrefix))\n );\n if (Object.keys(tsRules).length) {\n flatConfigs.push(JSON.stringify({ files: ['**/*.ts{,x}'], rules: tsRules }, null, 2));\n }\n }\n\n private handleSettings({\n flatConfigs,\n source: { settings },\n }: Context & { source: { settings: NonNullable<Context['source']['settings']> } }) {\n flatConfigs.push(JSON.stringify({ settings }));\n }\n\n private readJson(filename: string) {\n return JSON5.parse(fs.readFileSync(filename, 'utf8'));\n }\n}\n\nfunction toCamelCase(str: string) {\n return str.replace(/(-[a-z])/g, ([, letter]) => letter.toUpperCase());\n}\n\nfunction normalizeGlob(glob: string) {\n return glob.includes('/') ? glob.replace(/^(!)?\\//, '$1') : `**/${glob}`;\n}\n"],"names":["ConvertEslintConfig","oldConfigFile","newConfigFile","eslintIgnoreFile","Command","execute","fs","existsSync","Error","configFiles","globSync","length","log","info","json","readJson","writeFileSync","convert","prettify","success","source","context","flatConfigs","imports","handlers","extends","handleExtends","bind","overrides","handleOverrides","parserOptions","handleParserOptions","plugins","handlePlugins","rules","handleRules","settings","handleSettings","handleIgnores","Object","keys","forEach","key","format","formatImports","formatConfigs","join","entries","map","pkg","itemOrItems","unrecognized","extendsArray","toArray","entry","recipe","recipes","import","from","as","files","push","JSON","stringify","config","ignorePatterns","globs","filter","glob","fileGlobs","readFileSync","split","line","trim","normalized","normalizeGlob","override","handleOverride","rest","languageOptions","undefined","name","camelized","toCamelCase","value","tsPrefix","nonTsRules","fromEntries","startsWith","tsRules","filename","JSON5","parse","str","replace","letter","toUpperCase","includes"],"mappings":"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"}
|
|
@@ -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"}
|
|
@@ -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 {
|