@servicetitan/startup 30.3.0 → 31.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/index.js +5 -6
- package/dist/cli/commands/build.d.ts +10 -3
- package/dist/cli/commands/build.d.ts.map +1 -1
- package/dist/cli/commands/build.js +124 -48
- package/dist/cli/commands/build.js.map +1 -1
- package/dist/cli/commands/bundle-package.d.ts +0 -2
- package/dist/cli/commands/bundle-package.d.ts.map +1 -1
- package/dist/cli/commands/bundle-package.js +54 -36
- package/dist/cli/commands/bundle-package.js.map +1 -1
- package/dist/cli/commands/clean.d.ts +6 -0
- package/dist/cli/commands/clean.d.ts.map +1 -0
- package/dist/cli/commands/clean.js +55 -0
- package/dist/cli/commands/clean.js.map +1 -0
- package/dist/cli/commands/convert-eslint-config.js +163 -107
- package/dist/cli/commands/convert-eslint-config.js.map +1 -1
- package/dist/cli/commands/eslint.d.ts.map +1 -1
- package/dist/cli/commands/eslint.js +43 -24
- package/dist/cli/commands/eslint.js.map +1 -1
- package/dist/cli/commands/get-command.d.ts.map +1 -1
- package/dist/cli/commands/get-command.js +50 -53
- package/dist/cli/commands/get-command.js.map +1 -1
- package/dist/cli/commands/get-user-commands.js +21 -11
- package/dist/cli/commands/get-user-commands.js.map +1 -1
- package/dist/cli/commands/index.d.ts +1 -1
- package/dist/cli/commands/index.d.ts.map +1 -1
- package/dist/cli/commands/index.js +31 -30
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/init.js +74 -48
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/install.d.ts +8 -1
- package/dist/cli/commands/install.d.ts.map +1 -1
- package/dist/cli/commands/install.js +61 -23
- package/dist/cli/commands/install.js.map +1 -1
- package/dist/cli/commands/kendo-ui-license.js +48 -31
- package/dist/cli/commands/kendo-ui-license.js.map +1 -1
- package/dist/cli/commands/lint.d.ts +3 -1
- package/dist/cli/commands/lint.d.ts.map +1 -1
- package/dist/cli/commands/lint.js +112 -73
- package/dist/cli/commands/lint.js.map +1 -1
- package/dist/cli/commands/mfe-package-clean.js +80 -57
- package/dist/cli/commands/mfe-package-clean.js.map +1 -1
- package/dist/cli/commands/mfe-package-publish.d.ts +1 -0
- package/dist/cli/commands/mfe-package-publish.d.ts.map +1 -1
- package/dist/cli/commands/mfe-package-publish.js +124 -70
- package/dist/cli/commands/mfe-package-publish.js.map +1 -1
- package/dist/cli/commands/mfe-publish.d.ts.map +1 -1
- package/dist/cli/commands/mfe-publish.js +83 -48
- package/dist/cli/commands/mfe-publish.js.map +1 -1
- package/dist/cli/commands/prepare-package.d.ts +3 -2
- package/dist/cli/commands/prepare-package.d.ts.map +1 -1
- package/dist/cli/commands/prepare-package.js +44 -32
- package/dist/cli/commands/prepare-package.js.map +1 -1
- package/dist/cli/commands/review/__mocks__/expect-calls.d.ts +23 -0
- package/dist/cli/commands/review/__mocks__/expect-calls.d.ts.map +1 -0
- package/dist/cli/commands/review/__mocks__/index.d.ts +2 -0
- package/dist/cli/commands/review/__mocks__/index.d.ts.map +1 -0
- package/dist/cli/commands/review/index.d.ts +3 -0
- package/dist/cli/commands/review/index.d.ts.map +1 -0
- package/dist/cli/commands/review/index.js +20 -0
- package/dist/cli/commands/review/index.js.map +1 -0
- package/dist/cli/commands/review/review.d.ts +28 -0
- package/dist/cli/commands/review/review.d.ts.map +1 -0
- package/dist/cli/commands/review/review.js +239 -0
- package/dist/cli/commands/review/review.js.map +1 -0
- package/dist/cli/commands/review/rules/__mocks__/index.d.ts +4 -0
- package/dist/cli/commands/review/rules/__mocks__/index.d.ts.map +1 -0
- package/dist/cli/commands/review/rules/__mocks__/mock-config.d.ts +7 -0
- package/dist/cli/commands/review/rules/__mocks__/mock-config.d.ts.map +1 -0
- package/dist/cli/commands/review/rules/__mocks__/mock-packages.d.ts +21 -0
- package/dist/cli/commands/review/rules/__mocks__/mock-packages.d.ts.map +1 -0
- package/dist/cli/commands/review/rules/__mocks__/mock-project.d.ts +3 -0
- package/dist/cli/commands/review/rules/__mocks__/mock-project.d.ts.map +1 -0
- package/dist/cli/commands/review/rules/index.d.ts +3 -0
- package/dist/cli/commands/review/rules/index.d.ts.map +1 -0
- package/dist/cli/commands/review/rules/index.js +30 -0
- package/dist/cli/commands/review/rules/index.js.map +1 -0
- package/dist/cli/commands/review/rules/no-typescript-entry-point.d.ts +14 -0
- package/dist/cli/commands/review/rules/no-typescript-entry-point.d.ts.map +1 -0
- package/dist/cli/commands/review/rules/no-typescript-entry-point.js +89 -0
- package/dist/cli/commands/review/rules/no-typescript-entry-point.js.map +1 -0
- package/dist/cli/commands/review/rules/require-explicit-side-effects.d.ts +7 -0
- package/dist/cli/commands/review/rules/require-explicit-side-effects.d.ts.map +1 -0
- package/dist/cli/commands/review/rules/require-explicit-side-effects.js +37 -0
- package/dist/cli/commands/review/rules/require-explicit-side-effects.js.map +1 -0
- package/dist/cli/commands/review/rules/require-npmrc.d.ts +7 -0
- package/dist/cli/commands/review/rules/require-npmrc.d.ts.map +1 -0
- package/dist/cli/commands/review/rules/require-npmrc.js +38 -0
- package/dist/cli/commands/review/rules/require-npmrc.js.map +1 -0
- package/dist/cli/commands/review/rules/require-one-anvil-uikit-contrib-version.d.ts +5 -0
- package/dist/cli/commands/review/rules/require-one-anvil-uikit-contrib-version.d.ts.map +1 -0
- package/dist/cli/commands/review/rules/require-one-anvil-uikit-contrib-version.js +33 -0
- package/dist/cli/commands/review/rules/require-one-anvil-uikit-contrib-version.js.map +1 -0
- package/dist/cli/commands/review/rules/require-one-collection-version.d.ts +45 -0
- package/dist/cli/commands/review/rules/require-one-collection-version.d.ts.map +1 -0
- package/dist/cli/commands/review/rules/require-one-collection-version.js +140 -0
- package/dist/cli/commands/review/rules/require-one-collection-version.js.map +1 -0
- package/dist/cli/commands/review/rules/require-one-package-version.d.ts +20 -0
- package/dist/cli/commands/review/rules/require-one-package-version.d.ts.map +1 -0
- package/dist/cli/commands/review/rules/require-one-package-version.js +70 -0
- package/dist/cli/commands/review/rules/require-one-package-version.js.map +1 -0
- package/dist/cli/commands/review/rules/require-one-uikit-version.d.ts +5 -0
- package/dist/cli/commands/review/rules/require-one-uikit-version.d.ts.map +1 -0
- package/dist/cli/commands/review/rules/require-one-uikit-version.js +40 -0
- package/dist/cli/commands/review/rules/require-one-uikit-version.js.map +1 -0
- package/dist/cli/commands/review/rules/require-project-version-in-root-node-modules.d.ts +19 -0
- package/dist/cli/commands/review/rules/require-project-version-in-root-node-modules.d.ts.map +1 -0
- package/dist/cli/commands/review/rules/require-project-version-in-root-node-modules.js +103 -0
- package/dist/cli/commands/review/rules/require-project-version-in-root-node-modules.js.map +1 -0
- package/dist/cli/commands/review/rules/require-servicetitan-scope.d.ts +7 -0
- package/dist/cli/commands/review/rules/require-servicetitan-scope.d.ts.map +1 -0
- package/dist/cli/commands/review/rules/require-servicetitan-scope.js +37 -0
- package/dist/cli/commands/review/rules/require-servicetitan-scope.js.map +1 -0
- package/dist/cli/commands/review/types.d.ts +72 -0
- package/dist/cli/commands/review/types.d.ts.map +1 -0
- package/dist/cli/commands/review/types.js +36 -0
- package/dist/cli/commands/review/types.js.map +1 -0
- package/dist/cli/commands/review/utils/apply-filter.d.ts +3 -0
- package/dist/cli/commands/review/utils/apply-filter.d.ts.map +1 -0
- package/dist/cli/commands/review/utils/apply-filter.js +20 -0
- package/dist/cli/commands/review/utils/apply-filter.js.map +1 -0
- package/dist/cli/commands/review/utils/collate-dependencies.d.ts +29 -0
- package/dist/cli/commands/review/utils/collate-dependencies.d.ts.map +1 -0
- package/dist/cli/commands/review/utils/collate-dependencies.js +31 -0
- package/dist/cli/commands/review/utils/collate-dependencies.js.map +1 -0
- package/dist/cli/commands/review/utils/compare-version.d.ts +9 -0
- package/dist/cli/commands/review/utils/compare-version.d.ts.map +1 -0
- package/dist/cli/commands/review/utils/compare-version.js +137 -0
- package/dist/cli/commands/review/utils/compare-version.js.map +1 -0
- package/dist/cli/commands/review/utils/format-depends-on.d.ts +2 -0
- package/dist/cli/commands/review/utils/format-depends-on.d.ts.map +1 -0
- package/dist/cli/commands/review/utils/format-depends-on.js +21 -0
- package/dist/cli/commands/review/utils/format-depends-on.js.map +1 -0
- package/dist/cli/commands/review/utils/format-location.d.ts +2 -0
- package/dist/cli/commands/review/utils/format-location.d.ts.map +1 -0
- package/dist/cli/commands/review/utils/format-location.js +25 -0
- package/dist/cli/commands/review/utils/format-location.js.map +1 -0
- package/dist/cli/commands/review/utils/get-key.d.ts +3 -0
- package/dist/cli/commands/review/utils/get-key.d.ts.map +1 -0
- package/dist/cli/commands/review/utils/get-key.js +20 -0
- package/dist/cli/commands/review/utils/get-key.js.map +1 -0
- package/dist/cli/commands/review/utils/get-max-version.d.ts +2 -0
- package/dist/cli/commands/review/utils/get-max-version.d.ts.map +1 -0
- package/dist/cli/commands/review/utils/get-max-version.js +16 -0
- package/dist/cli/commands/review/utils/get-max-version.js.map +1 -0
- package/dist/cli/commands/review/utils/indent.d.ts +2 -0
- package/dist/cli/commands/review/utils/indent.d.ts.map +1 -0
- package/dist/cli/commands/review/utils/indent.js +17 -0
- package/dist/cli/commands/review/utils/indent.js.map +1 -0
- package/dist/cli/commands/review/utils/index.d.ts +14 -0
- package/dist/cli/commands/review/utils/index.d.ts.map +1 -0
- package/dist/cli/commands/review/utils/index.js +32 -0
- package/dist/cli/commands/review/utils/index.js.map +1 -0
- package/dist/cli/commands/review/utils/is-library.d.ts +3 -0
- package/dist/cli/commands/review/utils/is-library.d.ts.map +1 -0
- package/dist/cli/commands/review/utils/is-library.js +15 -0
- package/dist/cli/commands/review/utils/is-library.js.map +1 -0
- package/dist/cli/commands/review/utils/name-to-location.d.ts +3 -0
- package/dist/cli/commands/review/utils/name-to-location.d.ts.map +1 -0
- package/dist/cli/commands/review/utils/name-to-location.js +18 -0
- package/dist/cli/commands/review/utils/name-to-location.js.map +1 -0
- package/dist/cli/commands/review/utils/pluralize.d.ts +2 -0
- package/dist/cli/commands/review/utils/pluralize.d.ts.map +1 -0
- package/dist/cli/commands/review/utils/pluralize.js +15 -0
- package/dist/cli/commands/review/utils/pluralize.js.map +1 -0
- package/dist/cli/commands/review/utils/set-version.d.ts +10 -0
- package/dist/cli/commands/review/utils/set-version.d.ts.map +1 -0
- package/dist/cli/commands/review/utils/set-version.js +33 -0
- package/dist/cli/commands/review/utils/set-version.js.map +1 -0
- package/dist/cli/commands/review/utils/summarize.d.ts +11 -0
- package/dist/cli/commands/review/utils/summarize.d.ts.map +1 -0
- package/dist/cli/commands/review/utils/summarize.js +30 -0
- package/dist/cli/commands/review/utils/summarize.js.map +1 -0
- package/dist/cli/commands/run-task.js +50 -31
- package/dist/cli/commands/run-task.js.map +1 -1
- package/dist/cli/commands/run-task.test.d.ts +2 -0
- package/dist/cli/commands/run-task.test.d.ts.map +1 -0
- package/dist/cli/commands/start.d.ts +11 -3
- package/dist/cli/commands/start.d.ts.map +1 -1
- package/dist/cli/commands/start.js +166 -69
- package/dist/cli/commands/start.js.map +1 -1
- package/dist/cli/commands/styles-check.js +73 -59
- package/dist/cli/commands/styles-check.js.map +1 -1
- package/dist/cli/commands/tests.d.ts +1 -0
- package/dist/cli/commands/tests.d.ts.map +1 -1
- package/dist/cli/commands/tests.js +45 -28
- package/dist/cli/commands/tests.js.map +1 -1
- package/dist/cli/commands/types.d.ts +1 -0
- package/dist/cli/commands/types.d.ts.map +1 -1
- package/dist/cli/commands/types.js +4 -1
- package/dist/cli/commands/types.js.map +1 -1
- package/dist/cli/index.js +43 -34
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/tasks/cli-task.d.ts +0 -1
- package/dist/cli/tasks/cli-task.d.ts.map +1 -1
- package/dist/cli/tasks/cli-task.js +52 -41
- package/dist/cli/tasks/cli-task.js.map +1 -1
- package/dist/cli/tasks/swc-compile-package.d.ts +0 -1
- package/dist/cli/tasks/swc-compile-package.d.ts.map +1 -1
- package/dist/cli/tasks/swc-compile-package.js +75 -34
- package/dist/cli/tasks/swc-compile-package.js.map +1 -1
- package/dist/cli/tasks/task.d.ts +0 -2
- package/dist/cli/tasks/task.d.ts.map +1 -1
- package/dist/cli/tasks/task.js +60 -65
- package/dist/cli/tasks/task.js.map +1 -1
- package/dist/cli/tasks/tsc-compile-package.d.ts +0 -1
- package/dist/cli/tasks/tsc-compile-package.d.ts.map +1 -1
- package/dist/cli/tasks/tsc-compile-package.js +26 -22
- package/dist/cli/tasks/tsc-compile-package.js.map +1 -1
- package/dist/cli/tasks/tsc-compile.d.ts +0 -2
- package/dist/cli/tasks/tsc-compile.d.ts.map +1 -1
- package/dist/cli/tasks/tsc-compile.js +51 -31
- package/dist/cli/tasks/tsc-compile.js.map +1 -1
- package/dist/cli/utils/bundle.d.ts +0 -2
- package/dist/cli/utils/bundle.d.ts.map +1 -1
- package/dist/cli/utils/bundle.js +118 -70
- package/dist/cli/utils/bundle.js.map +1 -1
- package/dist/cli/utils/check-args.d.ts +6 -0
- package/dist/cli/utils/check-args.d.ts.map +1 -0
- package/dist/cli/utils/check-args.js +20 -0
- package/dist/cli/utils/check-args.js.map +1 -0
- package/dist/cli/utils/cli-git.js +23 -9
- package/dist/cli/utils/cli-git.js.map +1 -1
- package/dist/cli/utils/cli-npm.js +62 -23
- package/dist/cli/utils/cli-npm.js.map +1 -1
- package/dist/cli/utils/cli-os.js +34 -33
- package/dist/cli/utils/cli-os.js.map +1 -1
- package/dist/cli/utils/compile-less.d.ts.map +1 -1
- package/dist/cli/utils/compile-less.js +27 -11
- package/dist/cli/utils/compile-less.js.map +1 -1
- package/dist/cli/utils/compile-sass.d.ts.map +1 -1
- package/dist/cli/utils/compile-sass.js +25 -9
- package/dist/cli/utils/compile-sass.js.map +1 -1
- package/dist/cli/utils/compile.d.ts +6 -0
- package/dist/cli/utils/compile.d.ts.map +1 -0
- package/dist/cli/utils/compile.js +33 -0
- package/dist/cli/utils/compile.js.map +1 -0
- package/dist/cli/utils/copy-files.d.ts +8 -0
- package/dist/cli/utils/copy-files.d.ts.map +1 -0
- package/dist/cli/utils/copy-files.js +112 -0
- package/dist/cli/utils/copy-files.js.map +1 -0
- package/dist/cli/utils/eslint.d.ts.map +1 -1
- package/dist/cli/utils/eslint.js +22 -12
- package/dist/cli/utils/eslint.js.map +1 -1
- package/dist/cli/utils/get-module-type.d.ts.map +1 -1
- package/dist/cli/utils/get-module-type.js +21 -13
- package/dist/cli/utils/get-module-type.js.map +1 -1
- package/dist/cli/utils/index.d.ts +7 -5
- package/dist/cli/utils/index.d.ts.map +1 -1
- package/dist/cli/utils/index.js +33 -30
- package/dist/cli/utils/index.js.map +1 -1
- package/dist/cli/utils/is-module-installed.js +11 -4
- package/dist/cli/utils/is-module-installed.js.map +1 -1
- package/dist/cli/utils/lerna-exec.d.ts +4 -3
- package/dist/cli/utils/lerna-exec.d.ts.map +1 -1
- package/dist/cli/utils/lerna-exec.js +40 -19
- package/dist/cli/utils/lerna-exec.js.map +1 -1
- package/dist/cli/utils/maybe-create-git-folder.js +20 -18
- package/dist/cli/utils/maybe-create-git-folder.js.map +1 -1
- package/dist/cli/utils/pipe-stdout.d.ts +3 -0
- package/dist/cli/utils/pipe-stdout.d.ts.map +1 -0
- package/dist/cli/utils/pipe-stdout.js +19 -0
- package/dist/cli/utils/pipe-stdout.js.map +1 -0
- package/dist/cli/utils/process-tree.d.ts +14 -0
- package/dist/cli/utils/process-tree.d.ts.map +1 -0
- package/dist/cli/utils/process-tree.js +78 -0
- package/dist/cli/utils/process-tree.js.map +1 -0
- package/dist/cli/utils/publish.js +12 -6
- package/dist/cli/utils/publish.js.map +1 -1
- package/dist/cli/utils/set-node-options.d.ts +2 -1
- package/dist/cli/utils/set-node-options.d.ts.map +1 -1
- package/dist/cli/utils/set-node-options.js +39 -30
- package/dist/cli/utils/set-node-options.js.map +1 -1
- package/dist/cli/utils/style-extensions.d.ts +2 -0
- package/dist/cli/utils/style-extensions.d.ts.map +1 -0
- package/dist/cli/utils/style-extensions.js +17 -0
- package/dist/cli/utils/style-extensions.js.map +1 -0
- package/dist/cli/utils/tcm.d.ts +5 -2
- package/dist/cli/utils/tcm.d.ts.map +1 -1
- package/dist/cli/utils/tcm.js +51 -46
- package/dist/cli/utils/tcm.js.map +1 -1
- package/dist/cli/utils/type-check.d.ts +7 -0
- package/dist/cli/utils/type-check.d.ts.map +1 -0
- package/dist/cli/utils/type-check.js +33 -0
- package/dist/cli/utils/type-check.js.map +1 -0
- package/dist/cli/utils/watch-stdout.d.ts +3 -0
- package/dist/cli/utils/watch-stdout.d.ts.map +1 -0
- package/dist/cli/utils/watch-stdout.js +26 -0
- package/dist/cli/utils/watch-stdout.js.map +1 -0
- package/dist/index.js +20 -18
- package/dist/index.js.map +1 -1
- package/dist/jest/index.js +12 -4
- package/dist/jest/index.js.map +1 -1
- package/dist/utils/debug.js +23 -11
- package/dist/utils/debug.js.map +1 -1
- package/dist/utils/find-packages.d.ts.map +1 -1
- package/dist/utils/find-packages.js +46 -34
- package/dist/utils/find-packages.js.map +1 -1
- package/dist/utils/format-duration.d.ts +2 -0
- package/dist/utils/format-duration.d.ts.map +1 -0
- package/dist/utils/format-duration.js +24 -0
- package/dist/utils/format-duration.js.map +1 -0
- package/dist/utils/get-branch-configs.js +24 -8
- package/dist/utils/get-branch-configs.js.map +1 -1
- package/dist/utils/get-configuration.d.ts +10 -2
- package/dist/utils/get-configuration.d.ts.map +1 -1
- package/dist/utils/get-configuration.js +120 -52
- package/dist/utils/get-configuration.js.map +1 -1
- package/dist/utils/get-destination-folders.js +25 -18
- package/dist/utils/get-destination-folders.js.map +1 -1
- package/dist/utils/get-folders.d.ts +2 -2
- package/dist/utils/get-folders.d.ts.map +1 -1
- package/dist/utils/get-folders.js +20 -13
- package/dist/utils/get-folders.js.map +1 -1
- package/dist/utils/get-jest-config.js +65 -38
- package/dist/utils/get-jest-config.js.map +1 -1
- package/dist/utils/get-package-data.js +26 -12
- package/dist/utils/get-package-data.js.map +1 -1
- package/dist/utils/get-package-name.js +18 -8
- package/dist/utils/get-package-name.js.map +1 -1
- package/dist/utils/get-packages.d.ts +1 -1
- package/dist/utils/get-packages.d.ts.map +1 -1
- package/dist/utils/get-packages.js +72 -57
- package/dist/utils/get-packages.js.map +1 -1
- package/dist/utils/get-startup-version.js +18 -8
- package/dist/utils/get-startup-version.js.map +1 -1
- package/dist/utils/get-tsconfig.js +19 -12
- package/dist/utils/get-tsconfig.js.map +1 -1
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +34 -29
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/load-shared-dependencies.js +23 -17
- package/dist/utils/load-shared-dependencies.js.map +1 -1
- package/dist/utils/log-errors.d.ts +2 -0
- package/dist/utils/log-errors.d.ts.map +1 -0
- package/dist/utils/log-errors.js +36 -0
- package/dist/utils/log-errors.js.map +1 -0
- package/dist/utils/log.d.ts +0 -1
- package/dist/utils/log.d.ts.map +1 -1
- package/dist/utils/log.js +38 -43
- package/dist/utils/log.js.map +1 -1
- package/dist/utils/pick.js +11 -3
- package/dist/utils/pick.js.map +1 -1
- package/dist/utils/read-json.js +27 -11
- package/dist/utils/read-json.js.map +1 -1
- package/dist/utils/to-array.js +13 -3
- package/dist/utils/to-array.js.map +1 -1
- package/dist/webpack/__mocks__/file-rules.d.ts.map +1 -1
- package/dist/webpack/configs/amd-config.js +13 -3
- package/dist/webpack/configs/amd-config.js.map +1 -1
- package/dist/webpack/configs/cache-config.js +20 -9
- package/dist/webpack/configs/cache-config.js.map +1 -1
- package/dist/webpack/configs/dev-server-config.d.ts +1 -1
- package/dist/webpack/configs/dev-server-config.d.ts.map +1 -1
- package/dist/webpack/configs/dev-server-config.js +47 -45
- package/dist/webpack/configs/dev-server-config.js.map +1 -1
- package/dist/webpack/configs/devtool-config.js +16 -7
- package/dist/webpack/configs/devtool-config.js.map +1 -1
- package/dist/webpack/configs/entry.config.d.ts.map +1 -1
- package/dist/webpack/configs/entry.config.js +28 -7
- package/dist/webpack/configs/entry.config.js.map +1 -1
- package/dist/webpack/configs/externals-config.js +17 -7
- package/dist/webpack/configs/externals-config.js.map +1 -1
- package/dist/webpack/configs/index.d.ts +2 -1
- package/dist/webpack/configs/index.d.ts.map +1 -1
- package/dist/webpack/configs/index.js +30 -28
- package/dist/webpack/configs/index.js.map +1 -1
- package/dist/webpack/configs/loaders/css-loader.js +22 -14
- package/dist/webpack/configs/loaders/css-loader.js.map +1 -1
- package/dist/webpack/configs/loaders/index.d.ts +1 -1
- package/dist/webpack/configs/loaders/index.d.ts.map +1 -1
- package/dist/webpack/configs/loaders/index.js +20 -19
- package/dist/webpack/configs/loaders/index.js.map +1 -1
- package/dist/webpack/configs/loaders/less-loader.js +18 -3
- package/dist/webpack/configs/loaders/less-loader.js.map +1 -1
- package/dist/webpack/configs/loaders/style-loader.js +23 -8
- package/dist/webpack/configs/loaders/style-loader.js.map +1 -1
- package/dist/webpack/configs/loaders/types.js +4 -1
- package/dist/webpack/configs/loaders/types.js.map +1 -1
- package/dist/webpack/configs/module-config.js +17 -5
- package/dist/webpack/configs/module-config.js.map +1 -1
- package/dist/webpack/configs/optimization-config.js +54 -28
- package/dist/webpack/configs/optimization-config.js.map +1 -1
- package/dist/webpack/configs/output-config.js +26 -12
- package/dist/webpack/configs/output-config.js.map +1 -1
- package/dist/webpack/configs/plugins/assets-manifest-plugin.js +23 -14
- package/dist/webpack/configs/plugins/assets-manifest-plugin.js.map +1 -1
- package/dist/webpack/configs/plugins/bundle-analyser-plugin.js +19 -9
- package/dist/webpack/configs/plugins/bundle-analyser-plugin.js.map +1 -1
- package/dist/webpack/configs/plugins/define-exposed-dependencies-plugin.js +19 -11
- package/dist/webpack/configs/plugins/define-exposed-dependencies-plugin.js.map +1 -1
- package/dist/webpack/configs/plugins/define-exposed-instance-dependencies-plugin.js +17 -7
- package/dist/webpack/configs/plugins/define-exposed-instance-dependencies-plugin.js.map +1 -1
- package/dist/webpack/configs/plugins/define-web-component-name-plugin.js +13 -5
- package/dist/webpack/configs/plugins/define-web-component-name-plugin.js.map +1 -1
- package/dist/webpack/configs/plugins/filter-warnings-plugin.js +11 -3
- package/dist/webpack/configs/plugins/filter-warnings-plugin.js.map +1 -1
- package/dist/webpack/configs/plugins/html-plugin.js +28 -20
- package/dist/webpack/configs/plugins/html-plugin.js.map +1 -1
- package/dist/webpack/configs/plugins/ignore-plugin/check-resource.js +24 -13
- package/dist/webpack/configs/plugins/ignore-plugin/check-resource.js.map +1 -1
- package/dist/webpack/configs/plugins/ignore-plugin/get-package-json.js +26 -16
- package/dist/webpack/configs/plugins/ignore-plugin/get-package-json.js.map +1 -1
- package/dist/webpack/configs/plugins/ignore-plugin/ignore-plugin.js +15 -6
- package/dist/webpack/configs/plugins/ignore-plugin/ignore-plugin.js.map +1 -1
- package/dist/webpack/configs/plugins/ignore-plugin/index.js +18 -16
- package/dist/webpack/configs/plugins/ignore-plugin/index.js.map +1 -1
- package/dist/webpack/configs/plugins/ignore-plugin/is-optional-peer-dependency.js +22 -12
- package/dist/webpack/configs/plugins/ignore-plugin/is-optional-peer-dependency.js.map +1 -1
- package/dist/webpack/configs/plugins/ignore-plugin/is-optional-react-dom-peer-dependency.js +11 -4
- package/dist/webpack/configs/plugins/ignore-plugin/is-optional-react-dom-peer-dependency.js.map +1 -1
- package/dist/webpack/configs/plugins/index.d.ts +0 -2
- package/dist/webpack/configs/plugins/index.d.ts.map +1 -1
- package/dist/webpack/configs/plugins/index.js +29 -29
- package/dist/webpack/configs/plugins/index.js.map +1 -1
- package/dist/webpack/configs/plugins/mini-css-extract-plugin.js +23 -12
- package/dist/webpack/configs/plugins/mini-css-extract-plugin.js.map +1 -1
- package/dist/webpack/configs/plugins/moment-locales-plugin.js +18 -8
- package/dist/webpack/configs/plugins/moment-locales-plugin.js.map +1 -1
- package/dist/webpack/configs/plugins/virtual-modules-plugin.js +32 -22
- package/dist/webpack/configs/plugins/virtual-modules-plugin.js.map +1 -1
- package/dist/webpack/configs/plugins/watch-run-plugin.js +23 -15
- package/dist/webpack/configs/plugins/watch-run-plugin.js.map +1 -1
- package/dist/webpack/configs/plugins-config.d.ts.map +1 -1
- package/dist/webpack/configs/plugins-config.js +27 -21
- package/dist/webpack/configs/plugins-config.js.map +1 -1
- package/dist/webpack/configs/resolve-config.js +16 -4
- package/dist/webpack/configs/resolve-config.js.map +1 -1
- package/dist/webpack/configs/rules/css-rules.js +43 -18
- package/dist/webpack/configs/rules/css-rules.js.map +1 -1
- package/dist/webpack/configs/rules/font-rules.js +13 -5
- package/dist/webpack/configs/rules/font-rules.js.map +1 -1
- package/dist/webpack/configs/rules/image-rules.js +13 -5
- package/dist/webpack/configs/rules/image-rules.js.map +1 -1
- package/dist/webpack/configs/rules/index.d.ts +0 -1
- package/dist/webpack/configs/rules/index.d.ts.map +1 -1
- package/dist/webpack/configs/rules/index.js +24 -23
- package/dist/webpack/configs/rules/index.js.map +1 -1
- package/dist/webpack/configs/rules/js-rules.d.ts +1 -1
- package/dist/webpack/configs/rules/js-rules.d.ts.map +1 -1
- package/dist/webpack/configs/rules/js-rules.js +47 -7
- package/dist/webpack/configs/rules/js-rules.js.map +1 -1
- package/dist/webpack/configs/rules/less-rules.js +25 -9
- package/dist/webpack/configs/rules/less-rules.js.map +1 -1
- package/dist/webpack/configs/rules/scss-rules.js +25 -9
- package/dist/webpack/configs/rules/scss-rules.js.map +1 -1
- package/dist/webpack/configs/rules/svg-rules.js +40 -20
- package/dist/webpack/configs/rules/svg-rules.js.map +1 -1
- package/dist/webpack/configs/rules-config.d.ts.map +1 -1
- package/dist/webpack/configs/rules-config.js +34 -19
- package/dist/webpack/configs/rules-config.js.map +1 -1
- package/dist/webpack/configs/stats-config.js +14 -4
- package/dist/webpack/configs/stats-config.js.map +1 -1
- package/dist/webpack/configs/types.d.ts +1 -3
- package/dist/webpack/configs/types.d.ts.map +1 -1
- package/dist/webpack/configs/types.js +4 -1
- package/dist/webpack/configs/types.js.map +1 -1
- package/dist/webpack/configs/utils/generate-metadata.js +40 -22
- package/dist/webpack/configs/utils/generate-metadata.js.map +1 -1
- package/dist/webpack/configs/utils/get-launchdarkly-sdk-version.js +20 -11
- package/dist/webpack/configs/utils/get-launchdarkly-sdk-version.js.map +1 -1
- package/dist/webpack/configs/utils/get-web-components-version.js +18 -8
- package/dist/webpack/configs/utils/get-web-components-version.js.map +1 -1
- package/dist/webpack/configs/utils/index.js +18 -16
- package/dist/webpack/configs/utils/index.js.map +1 -1
- package/dist/webpack/configs/watch-options-config.d.ts +6 -0
- package/dist/webpack/configs/watch-options-config.d.ts.map +1 -0
- package/dist/webpack/configs/watch-options-config.js +24 -0
- package/dist/webpack/configs/watch-options-config.js.map +1 -0
- package/dist/webpack/create-webpack-config.d.ts.map +1 -1
- package/dist/webpack/create-webpack-config.js +62 -50
- package/dist/webpack/create-webpack-config.js.map +1 -1
- package/dist/webpack/index.d.ts +1 -1
- package/dist/webpack/index.d.ts.map +1 -1
- package/dist/webpack/index.js +18 -17
- package/dist/webpack/index.js.map +1 -1
- package/dist/webpack/loaders/expose-loader/index.js +15 -15
- package/dist/webpack/loaders/expose-loader/index.js.map +1 -1
- package/dist/webpack/loaders/expose-loader/runtime/get-global-this.js +5 -6
- package/dist/webpack/loaders/expose-loader/runtime/get-global-this.js.map +1 -1
- package/dist/webpack/loaders/expose-loader/utils/contextify-request.js +20 -13
- package/dist/webpack/loaders/expose-loader/utils/contextify-request.js.map +1 -1
- package/dist/webpack/loaders/expose-loader/utils/get-new-user-request.js +22 -11
- package/dist/webpack/loaders/expose-loader/utils/get-new-user-request.js.map +1 -1
- package/dist/webpack/loaders/expose-loader/utils/index.js +20 -18
- package/dist/webpack/loaders/expose-loader/utils/index.js.map +1 -1
- package/dist/webpack/loaders/expose-loader/utils/stringify-request.js +20 -12
- package/dist/webpack/loaders/expose-loader/utils/stringify-request.js.map +1 -1
- package/dist/webpack/types.d.ts +0 -4
- package/dist/webpack/types.d.ts.map +1 -1
- package/dist/webpack/types.js +4 -1
- package/dist/webpack/types.js.map +1 -1
- package/dist/webpack/utils/feature-cohort.js +17 -12
- package/dist/webpack/utils/feature-cohort.js.map +1 -1
- package/dist/webpack/utils/get-caller-filename.js +14 -7
- package/dist/webpack/utils/get-caller-filename.js.map +1 -1
- package/dist/webpack/utils/{bundle.d.ts → get-module-entry-path.d.ts} +1 -1
- package/dist/webpack/utils/get-module-entry-path.d.ts.map +1 -0
- package/dist/webpack/utils/get-module-entry-path.js +21 -0
- package/dist/webpack/utils/get-module-entry-path.js.map +1 -0
- package/dist/webpack/utils/hash-mod.js +16 -11
- package/dist/webpack/utils/hash-mod.js.map +1 -1
- package/dist/webpack/utils/index.d.ts +1 -1
- package/dist/webpack/utils/index.d.ts.map +1 -1
- package/dist/webpack/utils/index.js +21 -19
- package/dist/webpack/utils/index.js.map +1 -1
- package/dist/webpack/utils/split-by-entry.js +17 -7
- package/dist/webpack/utils/split-by-entry.js.map +1 -1
- package/dist/webpack/utils/testing/compile.js +12 -4
- package/dist/webpack/utils/testing/compile.js.map +1 -1
- package/dist/webpack/utils/testing/execute.js +26 -13
- package/dist/webpack/utils/testing/execute.js.map +1 -1
- package/dist/webpack/utils/testing/get-compiler.js +34 -24
- package/dist/webpack/utils/testing/get-compiler.js.map +1 -1
- package/dist/webpack/utils/testing/get-errors.js +12 -4
- package/dist/webpack/utils/testing/get-errors.js.map +1 -1
- package/dist/webpack/utils/testing/get-module-source.js +18 -5
- package/dist/webpack/utils/testing/get-module-source.js.map +1 -1
- package/dist/webpack/utils/testing/get-warnings.js +12 -4
- package/dist/webpack/utils/testing/get-warnings.js.map +1 -1
- package/dist/webpack/utils/testing/index.js +28 -20
- package/dist/webpack/utils/testing/index.js.map +1 -1
- package/dist/webpack/utils/testing/normalize-errors.js +11 -3
- package/dist/webpack/utils/testing/normalize-errors.js.map +1 -1
- package/dist/webpack/utils/testing/read-asset.js +20 -11
- package/dist/webpack/utils/testing/read-asset.js.map +1 -1
- package/dist/webpack/utils/testing/read-assets.js +13 -5
- package/dist/webpack/utils/testing/read-assets.js.map +1 -1
- package/package.json +20 -20
- package/src/cli/commands/__tests__/build.test.ts +69 -44
- package/src/cli/commands/__tests__/clean.test.ts +32 -0
- package/src/cli/commands/__tests__/install.test.ts +50 -8
- package/src/cli/commands/__tests__/kendo-ui-license.test.ts +5 -5
- package/src/cli/commands/__tests__/lint.test.ts +4 -0
- package/src/cli/commands/__tests__/mfe-package-publish.test.ts +21 -2
- package/src/cli/commands/__tests__/mfe-publish.test.ts +19 -23
- package/src/cli/commands/__tests__/prepare-package.test.ts +17 -36
- package/src/cli/commands/__tests__/start.test.ts +81 -44
- package/src/cli/commands/__tests__/tests.test.ts +4 -0
- package/src/cli/commands/build.ts +73 -35
- package/src/cli/commands/bundle-package.ts +0 -4
- package/src/cli/commands/clean.ts +24 -0
- package/src/cli/commands/eslint.ts +1 -1
- package/src/cli/commands/get-command.ts +25 -35
- package/src/cli/commands/index.ts +1 -1
- package/src/cli/commands/install.ts +29 -8
- package/src/cli/commands/lint.ts +22 -17
- package/src/cli/commands/mfe-package-publish.ts +22 -5
- package/src/cli/commands/mfe-publish.ts +5 -18
- package/src/cli/commands/prepare-package.ts +8 -12
- package/src/cli/commands/review/__mocks__/expect-calls.ts +48 -0
- package/src/cli/commands/review/__mocks__/index.ts +1 -0
- package/src/cli/commands/review/__tests__/review.test.ts +483 -0
- package/src/cli/commands/review/index.ts +3 -0
- package/src/cli/commands/review/review.ts +247 -0
- package/src/cli/commands/review/rules/__mocks__/index.ts +3 -0
- package/src/cli/commands/review/rules/__mocks__/mock-config.ts +14 -0
- package/src/cli/commands/review/rules/__mocks__/mock-packages.ts +41 -0
- package/src/cli/commands/review/rules/__mocks__/mock-project.ts +11 -0
- package/src/cli/commands/review/rules/__tests__/no-typescript-entry-point.test.ts +166 -0
- package/src/cli/commands/review/rules/__tests__/require-explicit-side-effects.test.ts +113 -0
- package/src/cli/commands/review/rules/__tests__/require-npmrc.test.ts +71 -0
- package/src/cli/commands/review/rules/__tests__/require-one-anvil-uikit-contrib-version.test.ts +33 -0
- package/src/cli/commands/review/rules/__tests__/require-one-collection-version.test.ts +155 -0
- package/src/cli/commands/review/rules/__tests__/require-one-package-version.test.ts +135 -0
- package/src/cli/commands/review/rules/__tests__/require-one-uikit-version.ts +40 -0
- package/src/cli/commands/review/rules/__tests__/require-project-version-in-root-node-modules.test.ts +186 -0
- package/src/cli/commands/review/rules/__tests__/require-servicetitan-scope.test.ts +83 -0
- package/src/cli/commands/review/rules/index.ts +20 -0
- package/src/cli/commands/review/rules/no-typescript-entry-point.ts +78 -0
- package/src/cli/commands/review/rules/require-explicit-side-effects.ts +31 -0
- package/src/cli/commands/review/rules/require-npmrc.ts +27 -0
- package/src/cli/commands/review/rules/require-one-anvil-uikit-contrib-version.ts +20 -0
- package/src/cli/commands/review/rules/require-one-collection-version.ts +169 -0
- package/src/cli/commands/review/rules/require-one-package-version.ts +76 -0
- package/src/cli/commands/review/rules/require-one-uikit-version.ts +27 -0
- package/src/cli/commands/review/rules/require-project-version-in-root-node-modules.ts +104 -0
- package/src/cli/commands/review/rules/require-servicetitan-scope.ts +27 -0
- package/src/cli/commands/review/types.ts +72 -0
- package/src/cli/commands/review/utils/__tests__/compare-version.test.ts +73 -0
- package/src/cli/commands/review/utils/__tests__/get-max-version.test.ts +17 -0
- package/src/cli/commands/review/utils/__tests__/indent.test.ts +41 -0
- package/src/cli/commands/review/utils/__tests__/name-to-location.test.ts +39 -0
- package/src/cli/commands/review/utils/__tests__/set-version.test.ts +84 -0
- package/src/cli/commands/review/utils/apply-filter.ts +14 -0
- package/src/cli/commands/review/utils/collate-dependencies.ts +46 -0
- package/src/cli/commands/review/utils/compare-version.ts +82 -0
- package/src/cli/commands/review/utils/format-depends-on.ts +11 -0
- package/src/cli/commands/review/utils/format-location.ts +8 -0
- package/src/cli/commands/review/utils/get-key.ts +10 -0
- package/src/cli/commands/review/utils/get-max-version.ts +5 -0
- package/src/cli/commands/review/utils/indent.ts +8 -0
- package/src/cli/commands/review/utils/index.ts +13 -0
- package/src/cli/commands/review/utils/is-library.ts +5 -0
- package/src/cli/commands/review/utils/name-to-location.ts +7 -0
- package/src/cli/commands/review/utils/pluralize.ts +3 -0
- package/src/cli/commands/review/utils/set-version.ts +26 -0
- package/src/cli/commands/review/utils/summarize.ts +21 -0
- package/src/cli/commands/run-task.test.ts +60 -0
- package/src/cli/commands/start.ts +130 -55
- package/src/cli/commands/tests.ts +2 -0
- package/src/cli/commands/types.ts +1 -0
- package/src/cli/index.ts +4 -4
- package/src/cli/tasks/__tests__/cli-task.test.ts +16 -4
- package/src/cli/tasks/__tests__/{swc-compile.test.ts → swc-compile-package.test.ts} +75 -36
- package/src/cli/tasks/__tests__/tsc-compile-package.test.ts +1 -0
- package/src/cli/tasks/__tests__/tsc-compile.test.ts +12 -23
- package/src/cli/tasks/cli-task.ts +12 -18
- package/src/cli/tasks/swc-cli.d.ts +12 -1
- package/src/cli/tasks/swc-compile-package.ts +71 -45
- package/src/cli/tasks/task.ts +2 -11
- package/src/cli/tasks/tsc-compile-package.ts +0 -4
- package/src/cli/tasks/tsc-compile.ts +14 -17
- package/src/cli/types/cpx2.d.ts +8 -1
- package/src/cli/utils/__tests__/bundle.test.ts +1 -1
- package/src/cli/utils/__tests__/check-args.test.ts +34 -0
- package/src/cli/utils/__tests__/compile.test.ts +59 -0
- package/src/cli/utils/__tests__/copy-files.test.ts +157 -0
- package/src/cli/utils/__tests__/get-module-type.test.ts +19 -0
- package/src/cli/utils/__tests__/lerna-exec.test.ts +58 -11
- package/src/cli/utils/__tests__/pipe-stdout.test.ts +39 -0
- package/src/cli/utils/__tests__/process-tree.test.ts +175 -0
- package/src/cli/utils/__tests__/set-node-options.test.ts +51 -6
- package/src/cli/utils/__tests__/tcm.test.ts +90 -86
- package/src/cli/utils/__tests__/type-check.test.ts +47 -0
- package/src/cli/utils/__tests__/watch-stdout.test.ts +68 -0
- package/src/cli/utils/bundle.ts +5 -18
- package/src/cli/utils/check-args.ts +13 -0
- package/src/cli/utils/compile-less.ts +0 -1
- package/src/cli/utils/compile-sass.ts +0 -1
- package/src/cli/utils/compile.ts +22 -0
- package/src/cli/utils/copy-files.ts +76 -0
- package/src/cli/utils/eslint.ts +1 -0
- package/src/cli/utils/get-module-type.ts +4 -6
- package/src/cli/utils/index.ts +7 -6
- package/src/cli/utils/lerna-exec.ts +17 -10
- package/src/cli/utils/pipe-stdout.ts +10 -0
- package/src/cli/utils/process-tree.ts +57 -0
- package/src/cli/utils/set-node-options.ts +15 -12
- package/src/cli/utils/style-extensions.ts +1 -0
- package/src/cli/utils/tcm.ts +22 -32
- package/src/cli/utils/type-check.ts +19 -0
- package/src/cli/utils/watch-stdout.ts +24 -0
- package/src/utils/__tests__/format-duration.test.ts +22 -0
- package/src/utils/__tests__/get-configuration.test.ts +44 -2
- package/src/utils/__tests__/get-packages.test.ts +58 -49
- package/src/utils/__tests__/log-errors.test.ts +102 -0
- package/src/utils/__tests__/log.test.ts +1 -86
- package/src/utils/find-packages.ts +12 -6
- package/src/utils/format-duration.ts +13 -0
- package/src/utils/get-configuration.ts +19 -5
- package/src/utils/get-folders.ts +3 -1
- package/src/utils/get-packages.ts +9 -16
- package/src/utils/index.ts +3 -0
- package/src/utils/log-errors.ts +29 -0
- package/src/utils/log.ts +0 -26
- package/src/webpack/__mocks__/file-rules.ts +0 -5
- package/src/webpack/__tests__/create-webpack-config-web-component.test.ts +4 -5
- package/src/webpack/__tests__/create-webpack-config.test.ts +33 -112
- package/src/webpack/configs/dev-server-config.ts +4 -27
- package/src/webpack/configs/devtool-config.ts +2 -2
- package/src/webpack/configs/entry.config.ts +7 -2
- package/src/webpack/configs/index.ts +2 -1
- package/src/webpack/configs/loaders/index.ts +1 -1
- package/src/webpack/configs/optimization-config.ts +2 -2
- package/src/webpack/configs/plugins/index.ts +0 -2
- package/src/webpack/configs/plugins/virtual-modules-plugin.ts +3 -3
- package/src/webpack/configs/plugins-config.ts +0 -4
- package/src/webpack/configs/resolve-config.ts +1 -1
- package/src/webpack/configs/rules/index.ts +0 -1
- package/src/webpack/configs/rules/js-rules.ts +27 -2
- package/src/webpack/configs/rules-config.ts +1 -11
- package/src/webpack/configs/types.ts +1 -3
- package/src/webpack/configs/watch-options-config.ts +17 -0
- package/src/webpack/create-webpack-config.ts +3 -4
- package/src/webpack/index.ts +1 -1
- package/src/webpack/types.ts +0 -4
- package/src/webpack/utils/index.ts +1 -1
- package/dist/__mocks__/create-package.js +0 -17
- package/dist/__mocks__/create-package.js.map +0 -1
- package/dist/__mocks__/index.js +0 -18
- package/dist/__mocks__/index.js.map +0 -1
- package/dist/cli/utils/assets-copy.d.ts +0 -3
- package/dist/cli/utils/assets-copy.d.ts.map +0 -1
- package/dist/cli/utils/assets-copy.js +0 -25
- package/dist/cli/utils/assets-copy.js.map +0 -1
- package/dist/cli/utils/styles-copy.d.ts +0 -3
- package/dist/cli/utils/styles-copy.d.ts.map +0 -1
- package/dist/cli/utils/styles-copy.js +0 -25
- package/dist/cli/utils/styles-copy.js.map +0 -1
- package/dist/cli/utils/tsc.d.ts +0 -5
- package/dist/cli/utils/tsc.d.ts.map +0 -1
- package/dist/cli/utils/tsc.js +0 -37
- package/dist/cli/utils/tsc.js.map +0 -1
- package/dist/webpack/__mocks__/file-rules.js +0 -79
- package/dist/webpack/__mocks__/file-rules.js.map +0 -1
- package/dist/webpack/__mocks__/index.js +0 -19
- package/dist/webpack/__mocks__/index.js.map +0 -1
- package/dist/webpack/__mocks__/style-rules.js +0 -124
- package/dist/webpack/__mocks__/style-rules.js.map +0 -1
- package/dist/webpack/configs/plugins/provide-react-plugin.d.ts +0 -4
- package/dist/webpack/configs/plugins/provide-react-plugin.d.ts.map +0 -1
- package/dist/webpack/configs/plugins/provide-react-plugin.js +0 -13
- package/dist/webpack/configs/plugins/provide-react-plugin.js.map +0 -1
- package/dist/webpack/configs/plugins/ts-checker-plugin.d.ts +0 -4
- package/dist/webpack/configs/plugins/ts-checker-plugin.d.ts.map +0 -1
- package/dist/webpack/configs/plugins/ts-checker-plugin.js +0 -30
- package/dist/webpack/configs/plugins/ts-checker-plugin.js.map +0 -1
- package/dist/webpack/configs/rules/tsx-rules.d.ts +0 -4
- package/dist/webpack/configs/rules/tsx-rules.d.ts.map +0 -1
- package/dist/webpack/configs/rules/tsx-rules.js +0 -44
- package/dist/webpack/configs/rules/tsx-rules.js.map +0 -1
- package/dist/webpack/utils/bundle.d.ts.map +0 -1
- package/dist/webpack/utils/bundle.js +0 -19
- package/dist/webpack/utils/bundle.js.map +0 -1
- package/src/cli/utils/__tests__/assets-copy.test.ts +0 -52
- package/src/cli/utils/__tests__/styles-copy.test.ts +0 -52
- package/src/cli/utils/__tests__/tsc.test.ts +0 -63
- package/src/cli/utils/assets-copy.ts +0 -23
- package/src/cli/utils/styles-copy.ts +0 -23
- package/src/cli/utils/tsc.ts +0 -38
- package/src/webpack/configs/plugins/provide-react-plugin.ts +0 -12
- package/src/webpack/configs/plugins/ts-checker-plugin.ts +0 -33
- package/src/webpack/configs/rules/tsx-rules.ts +0 -48
- /package/src/webpack/utils/{bundle.ts → get-module-entry-path.ts} +0 -0
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "NoTypescriptEntryPoint", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return NoTypescriptEntryPoint;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _child_process = require("child_process");
|
|
12
|
+
const _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
13
|
+
const _utils = require("../../../../utils");
|
|
14
|
+
const _types = require("../types");
|
|
15
|
+
const _utils1 = require("../utils");
|
|
16
|
+
function _interop_require_default(obj) {
|
|
17
|
+
return obj && obj.__esModule ? obj : {
|
|
18
|
+
default: obj
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
class NoTypescriptEntryPoint {
|
|
22
|
+
get id() {
|
|
23
|
+
return 'no-typescript-entry-point';
|
|
24
|
+
}
|
|
25
|
+
run({ config, packages }) {
|
|
26
|
+
var _config_rules;
|
|
27
|
+
const ruleConfig = (_config_rules = config.rules) === null || _config_rules === void 0 ? void 0 : _config_rules[this.id];
|
|
28
|
+
return (0, _utils1.applyFilter)(ruleConfig, packages, ({ name })=>name).flatMap((pkg)=>this.checkEntryPoints(pkg));
|
|
29
|
+
}
|
|
30
|
+
fix({ data, location }) {
|
|
31
|
+
const { key, value } = data !== null && data !== void 0 ? data : {};
|
|
32
|
+
if (!(key && value && location)) {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
const workspace = _path.default.relative('.', location);
|
|
36
|
+
const { source, destination } = (0, _utils.getFolders)(location);
|
|
37
|
+
const newValue = value.replace(source, destination).replace(/\.ts$/, '.js');
|
|
38
|
+
const command = `npm pkg set "${key}"="${newValue}" -w ${workspace}`;
|
|
39
|
+
_utils.log.debug(`review:${this.id}`, `Running ${command}`);
|
|
40
|
+
(0, _child_process.execSync)(command);
|
|
41
|
+
}
|
|
42
|
+
checkEntryPoints(pkg) {
|
|
43
|
+
const errors = [];
|
|
44
|
+
const addError = (message, data)=>errors.push({
|
|
45
|
+
id: this.id,
|
|
46
|
+
message,
|
|
47
|
+
location: pkg.location,
|
|
48
|
+
fixable: _types.FixCategory.normal,
|
|
49
|
+
data
|
|
50
|
+
});
|
|
51
|
+
[
|
|
52
|
+
'main',
|
|
53
|
+
'module',
|
|
54
|
+
'exports'
|
|
55
|
+
].forEach((key)=>{
|
|
56
|
+
const value = pkg[key];
|
|
57
|
+
if (typeof value === 'string' && this.isTypescriptEntryPoint(value)) {
|
|
58
|
+
addError(`"${key}" is Typescript: ${value}`, {
|
|
59
|
+
key,
|
|
60
|
+
value
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
if (pkg.exports && typeof pkg.exports !== 'string') {
|
|
65
|
+
const checkExports = (exports1, prefix)=>{
|
|
66
|
+
Object.entries(exports1).forEach(([key, value])=>{
|
|
67
|
+
const path = `${prefix}[${key}]`;
|
|
68
|
+
if (typeof value === 'string') {
|
|
69
|
+
if (this.isTypescriptEntryPoint(value)) {
|
|
70
|
+
addError(`"${path}" is Typescript: ${value}`, {
|
|
71
|
+
key: path,
|
|
72
|
+
value
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
} else if (exports1) {
|
|
76
|
+
checkExports(value, path);
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
};
|
|
80
|
+
checkExports(pkg.exports, 'exports');
|
|
81
|
+
}
|
|
82
|
+
return errors;
|
|
83
|
+
}
|
|
84
|
+
isTypescriptEntryPoint(str) {
|
|
85
|
+
return str.endsWith('.ts') && !str.endsWith('.d.ts');
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
//# sourceMappingURL=no-typescript-entry-point.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/cli/commands/review/rules/no-typescript-entry-point.ts"],"sourcesContent":["import { execSync } from 'child_process';\nimport path from 'path';\nimport { getFolders, log } from '../../../../utils';\nimport { FixCategory, Package, PackageError, PackageRule, Project } from '../types';\nimport { applyFilter } from '../utils';\n\ninterface ErrorData {\n key: string;\n value: string;\n}\n\nexport class NoTypescriptEntryPoint implements PackageRule {\n get id() {\n return 'no-typescript-entry-point';\n }\n\n run({ config, packages }: Project): PackageError<ErrorData>[] {\n const ruleConfig = config.rules?.[this.id];\n return applyFilter(ruleConfig, packages, ({ name }) => name).flatMap(pkg =>\n this.checkEntryPoints(pkg)\n );\n }\n\n fix({ data, location }: PackageError<ErrorData>) {\n const { key, value } = data ?? {};\n if (!(key && value && location)) {\n return;\n }\n\n const workspace = path.relative('.', location);\n const { source, destination } = getFolders(location);\n const newValue = value.replace(source, destination).replace(/\\.ts$/, '.js');\n const command = `npm pkg set \"${key}\"=\"${newValue}\" -w ${workspace}`;\n log.debug(`review:${this.id}`, `Running ${command}`);\n execSync(command);\n }\n\n private checkEntryPoints(pkg: Package) {\n const errors: PackageError<ErrorData>[] = [];\n const addError = (message: string, data: ErrorData) =>\n errors.push({\n id: this.id,\n message,\n location: pkg.location,\n fixable: FixCategory.normal,\n data,\n });\n\n (['main', 'module', 'exports'] as (keyof Package)[]).forEach(key => {\n const value = pkg[key];\n if (typeof value === 'string' && this.isTypescriptEntryPoint(value)) {\n addError(`\"${key}\" is Typescript: ${value}`, { key, value });\n }\n });\n\n if (pkg.exports && typeof pkg.exports !== 'string') {\n const checkExports = (exports: NonNullable<Package['exports']>, prefix: string) => {\n Object.entries(exports).forEach(([key, value]) => {\n const path = `${prefix}[${key}]`;\n if (typeof value === 'string') {\n if (this.isTypescriptEntryPoint(value)) {\n addError(`\"${path}\" is Typescript: ${value}`, { key: path, value });\n }\n } else if (exports) {\n checkExports(value, path);\n }\n });\n };\n checkExports(pkg.exports, 'exports');\n }\n\n return errors;\n }\n\n private isTypescriptEntryPoint(str: string) {\n return str.endsWith('.ts') && !str.endsWith('.d.ts');\n }\n}\n"],"names":["NoTypescriptEntryPoint","id","run","config","packages","ruleConfig","rules","applyFilter","name","flatMap","pkg","checkEntryPoints","fix","data","location","key","value","workspace","path","relative","source","destination","getFolders","newValue","replace","command","log","debug","execSync","errors","addError","message","push","fixable","FixCategory","normal","forEach","isTypescriptEntryPoint","exports","checkExports","prefix","Object","entries","str","endsWith"],"mappings":";;;;+BAWaA;;;eAAAA;;;+BAXY;6DACR;uBACe;uBACyC;wBAC7C;;;;;;AAOrB,MAAMA;IACT,IAAIC,KAAK;QACL,OAAO;IACX;IAEAC,IAAI,EAAEC,MAAM,EAAEC,QAAQ,EAAW,EAA6B;YACvCD;QAAnB,MAAME,cAAaF,gBAAAA,OAAOG,KAAK,cAAZH,oCAAAA,aAAc,CAAC,IAAI,CAACF,EAAE,CAAC;QAC1C,OAAOM,IAAAA,mBAAW,EAACF,YAAYD,UAAU,CAAC,EAAEI,IAAI,EAAE,GAAKA,MAAMC,OAAO,CAACC,CAAAA,MACjE,IAAI,CAACC,gBAAgB,CAACD;IAE9B;IAEAE,IAAI,EAAEC,IAAI,EAAEC,QAAQ,EAA2B,EAAE;QAC7C,MAAM,EAAEC,GAAG,EAAEC,KAAK,EAAE,GAAGH,iBAAAA,kBAAAA,OAAQ,CAAC;QAChC,IAAI,CAAEE,CAAAA,OAAOC,SAASF,QAAO,GAAI;YAC7B;QACJ;QAEA,MAAMG,YAAYC,aAAI,CAACC,QAAQ,CAAC,KAAKL;QACrC,MAAM,EAAEM,MAAM,EAAEC,WAAW,EAAE,GAAGC,IAAAA,iBAAU,EAACR;QAC3C,MAAMS,WAAWP,MAAMQ,OAAO,CAACJ,QAAQC,aAAaG,OAAO,CAAC,SAAS;QACrE,MAAMC,UAAU,CAAC,aAAa,EAAEV,IAAI,GAAG,EAAEQ,SAAS,KAAK,EAAEN,WAAW;QACpES,UAAG,CAACC,KAAK,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC1B,EAAE,EAAE,EAAE,CAAC,QAAQ,EAAEwB,SAAS;QACnDG,IAAAA,uBAAQ,EAACH;IACb;IAEQd,iBAAiBD,GAAY,EAAE;QACnC,MAAMmB,SAAoC,EAAE;QAC5C,MAAMC,WAAW,CAACC,SAAiBlB,OAC/BgB,OAAOG,IAAI,CAAC;gBACR/B,IAAI,IAAI,CAACA,EAAE;gBACX8B;gBACAjB,UAAUJ,IAAII,QAAQ;gBACtBmB,SAASC,kBAAW,CAACC,MAAM;gBAC3BtB;YACJ;QAEH;YAAC;YAAQ;YAAU;SAAU,CAAuBuB,OAAO,CAACrB,CAAAA;YACzD,MAAMC,QAAQN,GAAG,CAACK,IAAI;YACtB,IAAI,OAAOC,UAAU,YAAY,IAAI,CAACqB,sBAAsB,CAACrB,QAAQ;gBACjEc,SAAS,CAAC,CAAC,EAAEf,IAAI,iBAAiB,EAAEC,OAAO,EAAE;oBAAED;oBAAKC;gBAAM;YAC9D;QACJ;QAEA,IAAIN,IAAI4B,OAAO,IAAI,OAAO5B,IAAI4B,OAAO,KAAK,UAAU;YAChD,MAAMC,eAAe,CAACD,UAA0CE;gBAC5DC,OAAOC,OAAO,CAACJ,UAASF,OAAO,CAAC,CAAC,CAACrB,KAAKC,MAAM;oBACzC,MAAME,OAAO,GAAGsB,OAAO,CAAC,EAAEzB,IAAI,CAAC,CAAC;oBAChC,IAAI,OAAOC,UAAU,UAAU;wBAC3B,IAAI,IAAI,CAACqB,sBAAsB,CAACrB,QAAQ;4BACpCc,SAAS,CAAC,CAAC,EAAEZ,KAAK,iBAAiB,EAAEF,OAAO,EAAE;gCAAED,KAAKG;gCAAMF;4BAAM;wBACrE;oBACJ,OAAO,IAAIsB,UAAS;wBAChBC,aAAavB,OAAOE;oBACxB;gBACJ;YACJ;YACAqB,aAAa7B,IAAI4B,OAAO,EAAE;QAC9B;QAEA,OAAOT;IACX;IAEQQ,uBAAuBM,GAAW,EAAE;QACxC,OAAOA,IAAIC,QAAQ,CAAC,UAAU,CAACD,IAAIC,QAAQ,CAAC;IAChD;AACJ"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { PackageError, PackageRule, Project } from '../types';
|
|
2
|
+
export declare class RequireExplicitSideEffects implements PackageRule {
|
|
3
|
+
get id(): string;
|
|
4
|
+
run({ config, packages }: Project): PackageError[];
|
|
5
|
+
private needsSideEffects;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=require-explicit-side-effects.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"require-explicit-side-effects.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/review/rules/require-explicit-side-effects.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAGtF,qBAAa,0BAA2B,YAAW,WAAW;IAC1D,IAAI,EAAE,WAEL;IAED,GAAG,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,OAAO,GAAG,YAAY,EAAE;IAelD,OAAO,CAAC,gBAAgB;CAO3B"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "RequireExplicitSideEffects", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return RequireExplicitSideEffects;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _types = require("../types");
|
|
12
|
+
const _utils = require("../utils");
|
|
13
|
+
class RequireExplicitSideEffects {
|
|
14
|
+
get id() {
|
|
15
|
+
return 'require-explicit-side-effects';
|
|
16
|
+
}
|
|
17
|
+
run({ config, packages }) {
|
|
18
|
+
var _config_rules;
|
|
19
|
+
const ruleConfig = (_config_rules = config.rules) === null || _config_rules === void 0 ? void 0 : _config_rules[this.id];
|
|
20
|
+
return (0, _utils.applyFilter)(ruleConfig, packages, ({ name })=>name).reduce((result, pkg)=>{
|
|
21
|
+
if (this.needsSideEffects(pkg)) {
|
|
22
|
+
result.push({
|
|
23
|
+
id: this.id,
|
|
24
|
+
message: `package "${pkg.name}" omits sideEffects property`,
|
|
25
|
+
severity: _types.ErrorSeverity.warning,
|
|
26
|
+
location: pkg.location
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
return result;
|
|
30
|
+
}, []);
|
|
31
|
+
}
|
|
32
|
+
needsSideEffects(pkg) {
|
|
33
|
+
return (0, _utils.isLibrary)(pkg) && (pkg.main !== undefined || pkg.exports !== undefined) && pkg.sideEffects === undefined;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
//# sourceMappingURL=require-explicit-side-effects.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/cli/commands/review/rules/require-explicit-side-effects.ts"],"sourcesContent":["import { ErrorSeverity, Package, PackageError, PackageRule, Project } from '../types';\nimport { applyFilter, isLibrary } from '../utils';\n\nexport class RequireExplicitSideEffects implements PackageRule {\n get id() {\n return 'require-explicit-side-effects';\n }\n\n run({ config, packages }: Project): PackageError[] {\n const ruleConfig = config.rules?.[this.id];\n return applyFilter(ruleConfig, packages, ({ name }) => name).reduce((result, pkg) => {\n if (this.needsSideEffects(pkg)) {\n result.push({\n id: this.id,\n message: `package \"${pkg.name}\" omits sideEffects property`,\n severity: ErrorSeverity.warning,\n location: pkg.location,\n });\n }\n return result;\n }, [] as PackageError[]);\n }\n\n private needsSideEffects(pkg: Package) {\n return (\n isLibrary(pkg) &&\n (pkg.main !== undefined || pkg.exports !== undefined) &&\n pkg.sideEffects === undefined\n );\n }\n}\n"],"names":["RequireExplicitSideEffects","id","run","config","packages","ruleConfig","rules","applyFilter","name","reduce","result","pkg","needsSideEffects","push","message","severity","ErrorSeverity","warning","location","isLibrary","main","undefined","exports","sideEffects"],"mappings":";;;;+BAGaA;;;eAAAA;;;uBAH8D;uBACpC;AAEhC,MAAMA;IACT,IAAIC,KAAK;QACL,OAAO;IACX;IAEAC,IAAI,EAAEC,MAAM,EAAEC,QAAQ,EAAW,EAAkB;YAC5BD;QAAnB,MAAME,cAAaF,gBAAAA,OAAOG,KAAK,cAAZH,oCAAAA,aAAc,CAAC,IAAI,CAACF,EAAE,CAAC;QAC1C,OAAOM,IAAAA,kBAAW,EAACF,YAAYD,UAAU,CAAC,EAAEI,IAAI,EAAE,GAAKA,MAAMC,MAAM,CAAC,CAACC,QAAQC;YACzE,IAAI,IAAI,CAACC,gBAAgB,CAACD,MAAM;gBAC5BD,OAAOG,IAAI,CAAC;oBACRZ,IAAI,IAAI,CAACA,EAAE;oBACXa,SAAS,CAAC,SAAS,EAAEH,IAAIH,IAAI,CAAC,4BAA4B,CAAC;oBAC3DO,UAAUC,oBAAa,CAACC,OAAO;oBAC/BC,UAAUP,IAAIO,QAAQ;gBAC1B;YACJ;YACA,OAAOR;QACX,GAAG,EAAE;IACT;IAEQE,iBAAiBD,GAAY,EAAE;QACnC,OACIQ,IAAAA,gBAAS,EAACR,QACTA,CAAAA,IAAIS,IAAI,KAAKC,aAAaV,IAAIW,OAAO,KAAKD,SAAQ,KACnDV,IAAIY,WAAW,KAAKF;IAE5B;AACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"require-npmrc.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/review/rules/require-npmrc.ts"],"names":[],"mappings":"AAEA,OAAO,EAA8B,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEjF,qBAAa,YAAa,YAAW,WAAW;IAC5C,IAAI,EAAE,WAEL;IAED,GAAG,IAAI,YAAY,GAAG,SAAS;IAY/B,GAAG;CAKN"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "RequireNpmrc", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return RequireNpmrc;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _child_process = require("child_process");
|
|
12
|
+
const _utils = require("../../../../utils");
|
|
13
|
+
const _types = require("../types");
|
|
14
|
+
class RequireNpmrc {
|
|
15
|
+
get id() {
|
|
16
|
+
return 'require-npmrc';
|
|
17
|
+
}
|
|
18
|
+
run() {
|
|
19
|
+
const stdout = (0, _child_process.execSync)('npm config list --json', {
|
|
20
|
+
encoding: 'utf8'
|
|
21
|
+
});
|
|
22
|
+
if (JSON.parse(stdout)['legacy-peer-deps'] !== true) {
|
|
23
|
+
return {
|
|
24
|
+
id: this.id,
|
|
25
|
+
message: 'project does not contain .npmrc with legacy-peer-deps=true',
|
|
26
|
+
severity: _types.ErrorSeverity.warning,
|
|
27
|
+
fixable: _types.FixCategory.isolated
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
fix() {
|
|
32
|
+
const command = 'npm config set --location=project legacy-peer-deps=true';
|
|
33
|
+
_utils.log.debug(`review:${this.id}`, `Running ${command}`);
|
|
34
|
+
(0, _child_process.execSync)(command);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
//# sourceMappingURL=require-npmrc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/cli/commands/review/rules/require-npmrc.ts"],"sourcesContent":["import { execSync } from 'child_process';\nimport { log } from '../../../../utils';\nimport { ErrorSeverity, FixCategory, PackageError, PackageRule } from '../types';\n\nexport class RequireNpmrc implements PackageRule {\n get id() {\n return 'require-npmrc';\n }\n\n run(): PackageError | undefined {\n const stdout = execSync('npm config list --json', { encoding: 'utf8' });\n if (JSON.parse(stdout)['legacy-peer-deps'] !== true) {\n return {\n id: this.id,\n message: 'project does not contain .npmrc with legacy-peer-deps=true',\n severity: ErrorSeverity.warning,\n fixable: FixCategory.isolated,\n };\n }\n }\n\n fix() {\n const command = 'npm config set --location=project legacy-peer-deps=true';\n log.debug(`review:${this.id}`, `Running ${command}`);\n execSync(command);\n }\n}\n"],"names":["RequireNpmrc","id","run","stdout","execSync","encoding","JSON","parse","message","severity","ErrorSeverity","warning","fixable","FixCategory","isolated","fix","command","log","debug"],"mappings":";;;;+BAIaA;;;eAAAA;;;+BAJY;uBACL;uBACkD;AAE/D,MAAMA;IACT,IAAIC,KAAK;QACL,OAAO;IACX;IAEAC,MAAgC;QAC5B,MAAMC,SAASC,IAAAA,uBAAQ,EAAC,0BAA0B;YAAEC,UAAU;QAAO;QACrE,IAAIC,KAAKC,KAAK,CAACJ,OAAO,CAAC,mBAAmB,KAAK,MAAM;YACjD,OAAO;gBACHF,IAAI,IAAI,CAACA,EAAE;gBACXO,SAAS;gBACTC,UAAUC,oBAAa,CAACC,OAAO;gBAC/BC,SAASC,kBAAW,CAACC,QAAQ;YACjC;QACJ;IACJ;IAEAC,MAAM;QACF,MAAMC,UAAU;QAChBC,UAAG,CAACC,KAAK,CAAC,CAAC,OAAO,EAAE,IAAI,CAACjB,EAAE,EAAE,EAAE,CAAC,QAAQ,EAAEe,SAAS;QACnDZ,IAAAA,uBAAQ,EAACY;IACb;AACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"require-one-anvil-uikit-contrib-version.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/review/rules/require-one-anvil-uikit-contrib-version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAe/E,qBAAa,kCAAmC,SAAQ,2BAA2B;;CAIlF"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "RequireOneAnvilUikitContribVersion", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return RequireOneAnvilUikitContribVersion;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _requireonecollectionversion = require("./require-one-collection-version");
|
|
12
|
+
const ANVIL_UIKIT_PACKAGES = [
|
|
13
|
+
'@servicetitan/confirm-navigation',
|
|
14
|
+
'@servicetitan/confirm',
|
|
15
|
+
'@servicetitan/culture',
|
|
16
|
+
'@servicetitan/data-query',
|
|
17
|
+
'@servicetitan/datetime-utils',
|
|
18
|
+
'@servicetitan/form-state',
|
|
19
|
+
'@servicetitan/form',
|
|
20
|
+
'@servicetitan/link-item',
|
|
21
|
+
'@servicetitan/notifications',
|
|
22
|
+
'@servicetitan/table'
|
|
23
|
+
];
|
|
24
|
+
class RequireOneAnvilUikitContribVersion extends _requireonecollectionversion.RequireOneCollectionVersion {
|
|
25
|
+
constructor(){
|
|
26
|
+
super({
|
|
27
|
+
name: 'anvil-uikit-contrib',
|
|
28
|
+
packages: ANVIL_UIKIT_PACKAGES
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
//# sourceMappingURL=require-one-anvil-uikit-contrib-version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/cli/commands/review/rules/require-one-anvil-uikit-contrib-version.ts"],"sourcesContent":["import { RequireOneCollectionVersion } from './require-one-collection-version';\n\nconst ANVIL_UIKIT_PACKAGES = [\n '@servicetitan/confirm-navigation',\n '@servicetitan/confirm',\n '@servicetitan/culture',\n '@servicetitan/data-query',\n '@servicetitan/datetime-utils',\n '@servicetitan/form-state',\n '@servicetitan/form',\n '@servicetitan/link-item',\n '@servicetitan/notifications',\n '@servicetitan/table',\n];\n\nexport class RequireOneAnvilUikitContribVersion extends RequireOneCollectionVersion {\n constructor() {\n super({ name: 'anvil-uikit-contrib', packages: ANVIL_UIKIT_PACKAGES });\n }\n}\n"],"names":["RequireOneAnvilUikitContribVersion","ANVIL_UIKIT_PACKAGES","RequireOneCollectionVersion","constructor","name","packages"],"mappings":";;;;+BAeaA;;;eAAAA;;;6CAf+B;AAE5C,MAAMC,uBAAuB;IACzB;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;CACH;AAEM,MAAMD,2CAA2CE,wDAA2B;IAC/EC,aAAc;QACV,KAAK,CAAC;YAAEC,MAAM;YAAuBC,UAAUJ;QAAqB;IACxE;AACJ"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { PackageError, PackageRule, Project } from '../types';
|
|
2
|
+
export interface Collection {
|
|
3
|
+
name: string;
|
|
4
|
+
packages: string[];
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Maps version number to packages with that version and their dependents.
|
|
8
|
+
*/
|
|
9
|
+
interface Versions {
|
|
10
|
+
[version: string]: {
|
|
11
|
+
[packageName: string]: string[];
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
interface ErrorData {
|
|
15
|
+
targetVersion: string;
|
|
16
|
+
otherVersions: Versions;
|
|
17
|
+
}
|
|
18
|
+
export declare class RequireOneCollectionVersion implements PackageRule {
|
|
19
|
+
private readonly collection;
|
|
20
|
+
constructor(collection: Collection);
|
|
21
|
+
get id(): string;
|
|
22
|
+
run(project: Project): PackageError<ErrorData> | undefined;
|
|
23
|
+
fix({ data }: PackageError<ErrorData>, project: Project): void;
|
|
24
|
+
private collateVersions;
|
|
25
|
+
private composeDetails;
|
|
26
|
+
private formatDetail;
|
|
27
|
+
private getDependencies;
|
|
28
|
+
private getDetails;
|
|
29
|
+
/**
|
|
30
|
+
* Assumes first version is the most common and the other ones are extra (see sortVersions)
|
|
31
|
+
*/
|
|
32
|
+
private getExtra;
|
|
33
|
+
/**
|
|
34
|
+
* Orders details so that extraneous packages are at the top
|
|
35
|
+
*/
|
|
36
|
+
private sortDetails;
|
|
37
|
+
/**
|
|
38
|
+
* Orders versions in descending order by the number of packages using the version
|
|
39
|
+
* and then by version number. I.e., It puts most common version at the top and if
|
|
40
|
+
* multiple versions tie for the top position, it puts the highest version first.
|
|
41
|
+
*/
|
|
42
|
+
private sortVersions;
|
|
43
|
+
}
|
|
44
|
+
export {};
|
|
45
|
+
//# sourceMappingURL=require-one-collection-version.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"require-one-collection-version.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/review/rules/require-one-collection-version.ts"],"names":[],"mappings":"AAEA,OAAO,EAAwB,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAGpF,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;GAEG;AACH,UAAU,QAAQ;IACd,CAAC,OAAO,EAAE,MAAM,GAAG;QACf,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;KACnC,CAAC;CACL;AAED,UAAU,SAAS;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,QAAQ,CAAC;CAC3B;AAQD,qBAAa,2BAA4B,YAAW,WAAW;IAC/C,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAAV,UAAU,EAAE,UAAU;IAEnD,IAAI,EAAE,WAEL;IAED,GAAG,CAAC,OAAO,EAAE,OAAO,GAAG,YAAY,CAAC,SAAS,CAAC,GAAG,SAAS;IA0B1D,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,YAAY,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,OAAO;IAoBvD,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,UAAU;IAalB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAUhB;;OAEG;IACH,OAAO,CAAC,WAAW;IASnB;;;;OAIG;IACH,OAAO,CAAC,YAAY;CAWvB"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "RequireOneCollectionVersion", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return RequireOneCollectionVersion;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _chalk = /*#__PURE__*/ _interop_require_default(require("chalk"));
|
|
12
|
+
const _utils = require("../../../../utils");
|
|
13
|
+
const _types = require("../types");
|
|
14
|
+
const _utils1 = require("../utils");
|
|
15
|
+
function _define_property(obj, key, value) {
|
|
16
|
+
if (key in obj) {
|
|
17
|
+
Object.defineProperty(obj, key, {
|
|
18
|
+
value: value,
|
|
19
|
+
enumerable: true,
|
|
20
|
+
configurable: true,
|
|
21
|
+
writable: true
|
|
22
|
+
});
|
|
23
|
+
} else {
|
|
24
|
+
obj[key] = value;
|
|
25
|
+
}
|
|
26
|
+
return obj;
|
|
27
|
+
}
|
|
28
|
+
function _interop_require_default(obj) {
|
|
29
|
+
return obj && obj.__esModule ? obj : {
|
|
30
|
+
default: obj
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
class RequireOneCollectionVersion {
|
|
34
|
+
get id() {
|
|
35
|
+
return `require-one-${this.collection.name}-version`;
|
|
36
|
+
}
|
|
37
|
+
run(project) {
|
|
38
|
+
const versions = this.collateVersions(project);
|
|
39
|
+
/* istanbul ignore next: debug only */ _utils.log.debug(`review:${this.collection.name}-versions`, ()=>JSON.stringify(versions, null, 2));
|
|
40
|
+
const keys = Object.keys(versions);
|
|
41
|
+
if (keys.length <= 1) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
const message = `project depends on multiple versions of ${this.collection.name} packages`;
|
|
45
|
+
const details = this.composeDetails(project, versions);
|
|
46
|
+
const targetVersion = keys[0];
|
|
47
|
+
const otherVersions = Object.fromEntries(Object.entries(versions).slice(1));
|
|
48
|
+
return {
|
|
49
|
+
id: this.id,
|
|
50
|
+
message,
|
|
51
|
+
details,
|
|
52
|
+
fixable: _types.FixCategory.normal,
|
|
53
|
+
data: {
|
|
54
|
+
targetVersion,
|
|
55
|
+
otherVersions
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
fix({ data }, project) {
|
|
60
|
+
const { targetVersion, otherVersions } = data !== null && data !== void 0 ? data : {};
|
|
61
|
+
if (!(targetVersion && otherVersions)) {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
Object.values(otherVersions).forEach((packages)=>{
|
|
65
|
+
Object.entries(packages).forEach(([name, dependents])=>{
|
|
66
|
+
dependents.forEach((dependent)=>(0, _utils1.setVersion)({
|
|
67
|
+
project,
|
|
68
|
+
packageName: dependent,
|
|
69
|
+
dependency: name,
|
|
70
|
+
version: targetVersion
|
|
71
|
+
}));
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
collateVersions(project) {
|
|
76
|
+
const dependencies = this.getDependencies(project);
|
|
77
|
+
return this.sortVersions(this.collection.packages.reduce((result, name)=>{
|
|
78
|
+
var _dependencies_name;
|
|
79
|
+
Object.entries((_dependencies_name = dependencies[name]) !== null && _dependencies_name !== void 0 ? _dependencies_name : {}).forEach(([version, dependents])=>{
|
|
80
|
+
var _result, _version;
|
|
81
|
+
var _;
|
|
82
|
+
(_ = (_result = result)[_version = version]) !== null && _ !== void 0 ? _ : _result[_version] = {};
|
|
83
|
+
result[version][name] = dependents;
|
|
84
|
+
});
|
|
85
|
+
return result;
|
|
86
|
+
}, {}));
|
|
87
|
+
}
|
|
88
|
+
composeDetails({ packages }, versions) {
|
|
89
|
+
const extra = this.getExtra(versions);
|
|
90
|
+
return this.sortDetails(this.getDetails(packages, versions, extra)).map((detail)=>this.formatDetail(detail));
|
|
91
|
+
}
|
|
92
|
+
formatDetail({ dependents, packageName, extra }) {
|
|
93
|
+
return (0, _utils1.formatDependsOn)(dependents, _chalk.default[extra ? 'red' : 'yellow'](packageName));
|
|
94
|
+
}
|
|
95
|
+
getDependencies({ config, dependencies }) {
|
|
96
|
+
var _config_rules;
|
|
97
|
+
const ruleConfig = (_config_rules = config.rules) === null || _config_rules === void 0 ? void 0 : _config_rules[this.id];
|
|
98
|
+
return Object.fromEntries((0, _utils1.applyFilter)(ruleConfig, Object.entries(dependencies), ([name])=>name));
|
|
99
|
+
}
|
|
100
|
+
getDetails(packages, versions, extra) {
|
|
101
|
+
return Object.entries(versions).reduce((result, [version, dependencies])=>{
|
|
102
|
+
Object.entries(dependencies).forEach(([pkg, dependents])=>{
|
|
103
|
+
result.push({
|
|
104
|
+
packageName: `${pkg}@${version}`,
|
|
105
|
+
dependents: dependents.map((name)=>(0, _utils1.nameToLocation)(name, packages)),
|
|
106
|
+
extra: extra.has(pkg)
|
|
107
|
+
});
|
|
108
|
+
});
|
|
109
|
+
return result;
|
|
110
|
+
}, []);
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Assumes first version is the most common and the other ones are extra (see sortVersions)
|
|
114
|
+
*/ getExtra(versions) {
|
|
115
|
+
return new Set(Object.entries(versions).slice(1).flatMap(([_version, dependencies])=>Object.entries(dependencies).map(([pkg])=>pkg)));
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Orders details so that extraneous packages are at the top
|
|
119
|
+
*/ sortDetails(details) {
|
|
120
|
+
return details.sort((a, b)=>{
|
|
121
|
+
if (a.extra === b.extra) {
|
|
122
|
+
return 0;
|
|
123
|
+
}
|
|
124
|
+
return a.extra === true ? -1 : 1;
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Orders versions in descending order by the number of packages using the version
|
|
129
|
+
* and then by version number. I.e., It puts most common version at the top and if
|
|
130
|
+
* multiple versions tie for the top position, it puts the highest version first.
|
|
131
|
+
*/ sortVersions(versions) {
|
|
132
|
+
return Object.fromEntries(Object.entries(versions).sort(([v1, depsV1], [v2, depsV2])=>Object.keys(depsV1).length - Object.keys(depsV2).length || (0, _utils1.compareVersion)(v1, v2)).reverse());
|
|
133
|
+
}
|
|
134
|
+
constructor(collection){
|
|
135
|
+
_define_property(this, "collection", void 0);
|
|
136
|
+
this.collection = collection;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
//# sourceMappingURL=require-one-collection-version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/cli/commands/review/rules/require-one-collection-version.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { log } from '../../../../utils';\nimport { FixCategory, Package, PackageError, PackageRule, Project } from '../types';\nimport { applyFilter, compareVersion, formatDependsOn, nameToLocation, setVersion } from '../utils';\n\nexport interface Collection {\n name: string;\n packages: string[];\n}\n\n/**\n * Maps version number to packages with that version and their dependents.\n */\ninterface Versions {\n [version: string]: {\n [packageName: string]: string[];\n };\n}\n\ninterface ErrorData {\n targetVersion: string;\n otherVersions: Versions;\n}\n\ninterface ErrorDetail {\n dependents: string[];\n extra: boolean;\n packageName: string;\n}\n\nexport class RequireOneCollectionVersion implements PackageRule {\n constructor(private readonly collection: Collection) {}\n\n get id() {\n return `require-one-${this.collection.name}-version`;\n }\n\n run(project: Project): PackageError<ErrorData> | undefined {\n const versions = this.collateVersions(project);\n\n /* istanbul ignore next: debug only */\n log.debug(`review:${this.collection.name}-versions`, () =>\n JSON.stringify(versions, null, 2)\n );\n\n const keys = Object.keys(versions);\n if (keys.length <= 1) {\n return;\n }\n\n const message = `project depends on multiple versions of ${this.collection.name} packages`;\n const details = this.composeDetails(project, versions);\n const targetVersion = keys[0];\n const otherVersions = Object.fromEntries(Object.entries(versions).slice(1));\n return {\n id: this.id,\n message,\n details,\n fixable: FixCategory.normal,\n data: { targetVersion, otherVersions },\n };\n }\n\n fix({ data }: PackageError<ErrorData>, project: Project) {\n const { targetVersion, otherVersions } = data ?? {};\n if (!(targetVersion && otherVersions)) {\n return;\n }\n\n Object.values(otherVersions).forEach(packages => {\n Object.entries(packages).forEach(([name, dependents]) => {\n dependents.forEach(dependent =>\n setVersion({\n project,\n packageName: dependent,\n dependency: name,\n version: targetVersion,\n })\n );\n });\n });\n }\n\n private collateVersions(project: Project) {\n const dependencies = this.getDependencies(project);\n return this.sortVersions(\n this.collection.packages.reduce<Versions>((result, name) => {\n Object.entries(dependencies[name] ?? {}).forEach(([version, dependents]) => {\n result[version] ??= {};\n result[version][name] = dependents;\n });\n return result;\n }, {})\n );\n }\n\n private composeDetails({ packages }: Project, versions: Versions) {\n const extra = this.getExtra(versions);\n return this.sortDetails(this.getDetails(packages, versions, extra)).map(detail =>\n this.formatDetail(detail)\n );\n }\n\n private formatDetail({ dependents, packageName, extra }: ErrorDetail) {\n return formatDependsOn(dependents, chalk[extra ? 'red' : 'yellow'](packageName));\n }\n\n private getDependencies({ config, dependencies }: Project) {\n const ruleConfig = config.rules?.[this.id];\n return Object.fromEntries(\n applyFilter(ruleConfig, Object.entries(dependencies), ([name]) => name)\n ) as Project['dependencies'];\n }\n\n private getDetails(packages: Package[], versions: Versions, extra: Set<string>) {\n return Object.entries(versions).reduce((result, [version, dependencies]) => {\n Object.entries(dependencies).forEach(([pkg, dependents]) => {\n result.push({\n packageName: `${pkg}@${version}`,\n dependents: dependents.map(name => nameToLocation(name, packages)),\n extra: extra.has(pkg),\n });\n });\n return result;\n }, [] as ErrorDetail[]);\n }\n\n /**\n * Assumes first version is the most common and the other ones are extra (see sortVersions)\n */\n private getExtra(versions: Versions): Set<string> {\n return new Set(\n Object.entries(versions)\n .slice(1)\n .flatMap(([_version, dependencies]) =>\n Object.entries(dependencies).map(([pkg]) => pkg)\n )\n );\n }\n\n /**\n * Orders details so that extraneous packages are at the top\n */\n private sortDetails(details: ErrorDetail[]) {\n return details.sort((a, b) => {\n if (a.extra === b.extra) {\n return 0;\n }\n return a.extra === true ? -1 : 1;\n });\n }\n\n /**\n * Orders versions in descending order by the number of packages using the version\n * and then by version number. I.e., It puts most common version at the top and if\n * multiple versions tie for the top position, it puts the highest version first.\n */\n private sortVersions(versions: Versions): Versions {\n return Object.fromEntries(\n Object.entries(versions)\n .sort(\n ([v1, depsV1], [v2, depsV2]) =>\n Object.keys(depsV1).length - Object.keys(depsV2).length ||\n compareVersion(v1, v2)\n )\n .reverse()\n );\n }\n}\n"],"names":["RequireOneCollectionVersion","id","collection","name","run","project","versions","collateVersions","log","debug","JSON","stringify","keys","Object","length","message","details","composeDetails","targetVersion","otherVersions","fromEntries","entries","slice","fixable","FixCategory","normal","data","fix","values","forEach","packages","dependents","dependent","setVersion","packageName","dependency","version","dependencies","getDependencies","sortVersions","reduce","result","extra","getExtra","sortDetails","getDetails","map","detail","formatDetail","formatDependsOn","chalk","config","ruleConfig","rules","applyFilter","pkg","push","nameToLocation","has","Set","flatMap","_version","sort","a","b","v1","depsV1","v2","depsV2","compareVersion","reverse","constructor"],"mappings":";;;;+BA8BaA;;;eAAAA;;;8DA9BK;uBACE;uBACqD;wBACgB;;;;;;;;;;;;;;;;;;;AA2BlF,MAAMA;IAGT,IAAIC,KAAK;QACL,OAAO,CAAC,YAAY,EAAE,IAAI,CAACC,UAAU,CAACC,IAAI,CAAC,QAAQ,CAAC;IACxD;IAEAC,IAAIC,OAAgB,EAAuC;QACvD,MAAMC,WAAW,IAAI,CAACC,eAAe,CAACF;QAEtC,oCAAoC,GACpCG,UAAG,CAACC,KAAK,CAAC,CAAC,OAAO,EAAE,IAAI,CAACP,UAAU,CAACC,IAAI,CAAC,SAAS,CAAC,EAAE,IACjDO,KAAKC,SAAS,CAACL,UAAU,MAAM;QAGnC,MAAMM,OAAOC,OAAOD,IAAI,CAACN;QACzB,IAAIM,KAAKE,MAAM,IAAI,GAAG;YAClB;QACJ;QAEA,MAAMC,UAAU,CAAC,wCAAwC,EAAE,IAAI,CAACb,UAAU,CAACC,IAAI,CAAC,SAAS,CAAC;QAC1F,MAAMa,UAAU,IAAI,CAACC,cAAc,CAACZ,SAASC;QAC7C,MAAMY,gBAAgBN,IAAI,CAAC,EAAE;QAC7B,MAAMO,gBAAgBN,OAAOO,WAAW,CAACP,OAAOQ,OAAO,CAACf,UAAUgB,KAAK,CAAC;QACxE,OAAO;YACHrB,IAAI,IAAI,CAACA,EAAE;YACXc;YACAC;YACAO,SAASC,kBAAW,CAACC,MAAM;YAC3BC,MAAM;gBAAER;gBAAeC;YAAc;QACzC;IACJ;IAEAQ,IAAI,EAAED,IAAI,EAA2B,EAAErB,OAAgB,EAAE;QACrD,MAAM,EAAEa,aAAa,EAAEC,aAAa,EAAE,GAAGO,iBAAAA,kBAAAA,OAAQ,CAAC;QAClD,IAAI,CAAER,CAAAA,iBAAiBC,aAAY,GAAI;YACnC;QACJ;QAEAN,OAAOe,MAAM,CAACT,eAAeU,OAAO,CAACC,CAAAA;YACjCjB,OAAOQ,OAAO,CAACS,UAAUD,OAAO,CAAC,CAAC,CAAC1B,MAAM4B,WAAW;gBAChDA,WAAWF,OAAO,CAACG,CAAAA,YACfC,IAAAA,kBAAU,EAAC;wBACP5B;wBACA6B,aAAaF;wBACbG,YAAYhC;wBACZiC,SAASlB;oBACb;YAER;QACJ;IACJ;IAEQX,gBAAgBF,OAAgB,EAAE;QACtC,MAAMgC,eAAe,IAAI,CAACC,eAAe,CAACjC;QAC1C,OAAO,IAAI,CAACkC,YAAY,CACpB,IAAI,CAACrC,UAAU,CAAC4B,QAAQ,CAACU,MAAM,CAAW,CAACC,QAAQtC;gBAChCkC;YAAfxB,OAAOQ,OAAO,CAACgB,CAAAA,qBAAAA,YAAY,CAAClC,KAAK,cAAlBkC,gCAAAA,qBAAsB,CAAC,GAAGR,OAAO,CAAC,CAAC,CAACO,SAASL,WAAW;oBACnEU,SAAOL;;gBAAPK,MAAAA,UAAAA,OAAM,CAACL,WAAAA,QAAQ,iCAAfK,OAAM,CAACL,SAAQ,GAAK,CAAC;gBACrBK,MAAM,CAACL,QAAQ,CAACjC,KAAK,GAAG4B;YAC5B;YACA,OAAOU;QACX,GAAG,CAAC;IAEZ;IAEQxB,eAAe,EAAEa,QAAQ,EAAW,EAAExB,QAAkB,EAAE;QAC9D,MAAMoC,QAAQ,IAAI,CAACC,QAAQ,CAACrC;QAC5B,OAAO,IAAI,CAACsC,WAAW,CAAC,IAAI,CAACC,UAAU,CAACf,UAAUxB,UAAUoC,QAAQI,GAAG,CAACC,CAAAA,SACpE,IAAI,CAACC,YAAY,CAACD;IAE1B;IAEQC,aAAa,EAAEjB,UAAU,EAAEG,WAAW,EAAEQ,KAAK,EAAe,EAAE;QAClE,OAAOO,IAAAA,uBAAe,EAAClB,YAAYmB,cAAK,CAACR,QAAQ,QAAQ,SAAS,CAACR;IACvE;IAEQI,gBAAgB,EAAEa,MAAM,EAAEd,YAAY,EAAW,EAAE;YACpCc;QAAnB,MAAMC,cAAaD,gBAAAA,OAAOE,KAAK,cAAZF,oCAAAA,aAAc,CAAC,IAAI,CAAClD,EAAE,CAAC;QAC1C,OAAOY,OAAOO,WAAW,CACrBkC,IAAAA,mBAAW,EAACF,YAAYvC,OAAOQ,OAAO,CAACgB,eAAe,CAAC,CAAClC,KAAK,GAAKA;IAE1E;IAEQ0C,WAAWf,QAAmB,EAAExB,QAAkB,EAAEoC,KAAkB,EAAE;QAC5E,OAAO7B,OAAOQ,OAAO,CAACf,UAAUkC,MAAM,CAAC,CAACC,QAAQ,CAACL,SAASC,aAAa;YACnExB,OAAOQ,OAAO,CAACgB,cAAcR,OAAO,CAAC,CAAC,CAAC0B,KAAKxB,WAAW;gBACnDU,OAAOe,IAAI,CAAC;oBACRtB,aAAa,GAAGqB,IAAI,CAAC,EAAEnB,SAAS;oBAChCL,YAAYA,WAAWe,GAAG,CAAC3C,CAAAA,OAAQsD,IAAAA,sBAAc,EAACtD,MAAM2B;oBACxDY,OAAOA,MAAMgB,GAAG,CAACH;gBACrB;YACJ;YACA,OAAOd;QACX,GAAG,EAAE;IACT;IAEA;;KAEC,GACD,AAAQE,SAASrC,QAAkB,EAAe;QAC9C,OAAO,IAAIqD,IACP9C,OAAOQ,OAAO,CAACf,UACVgB,KAAK,CAAC,GACNsC,OAAO,CAAC,CAAC,CAACC,UAAUxB,aAAa,GAC9BxB,OAAOQ,OAAO,CAACgB,cAAcS,GAAG,CAAC,CAAC,CAACS,IAAI,GAAKA;IAG5D;IAEA;;KAEC,GACD,AAAQX,YAAY5B,OAAsB,EAAE;QACxC,OAAOA,QAAQ8C,IAAI,CAAC,CAACC,GAAGC;YACpB,IAAID,EAAErB,KAAK,KAAKsB,EAAEtB,KAAK,EAAE;gBACrB,OAAO;YACX;YACA,OAAOqB,EAAErB,KAAK,KAAK,OAAO,CAAC,IAAI;QACnC;IACJ;IAEA;;;;KAIC,GACD,AAAQH,aAAajC,QAAkB,EAAY;QAC/C,OAAOO,OAAOO,WAAW,CACrBP,OAAOQ,OAAO,CAACf,UACVwD,IAAI,CACD,CAAC,CAACG,IAAIC,OAAO,EAAE,CAACC,IAAIC,OAAO,GACvBvD,OAAOD,IAAI,CAACsD,QAAQpD,MAAM,GAAGD,OAAOD,IAAI,CAACwD,QAAQtD,MAAM,IACvDuD,IAAAA,sBAAc,EAACJ,IAAIE,KAE1BG,OAAO;IAEpB;IAxIAC,YAAY,AAAiBrE,UAAsB,CAAE;;aAAxBA,aAAAA;IAAyB;AAyI1D"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { PackageError, PackageRule, Project } from '../types';
|
|
2
|
+
interface ErrorData {
|
|
3
|
+
name: string;
|
|
4
|
+
versions: Versions;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Maps versions to their dependents
|
|
8
|
+
*/
|
|
9
|
+
interface Versions {
|
|
10
|
+
[key: string]: string[];
|
|
11
|
+
}
|
|
12
|
+
export declare class RequireOnePackageVersion implements PackageRule {
|
|
13
|
+
get id(): string;
|
|
14
|
+
run(project: Project): PackageError<ErrorData>[];
|
|
15
|
+
fix({ data }: PackageError<ErrorData>, project: Project): void;
|
|
16
|
+
private formatDetails;
|
|
17
|
+
private getDependencies;
|
|
18
|
+
}
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=require-one-package-version.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"require-one-package-version.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/review/rules/require-one-package-version.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAG3E,UAAU,SAAS;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,QAAQ,CAAC;CACtB;AAED;;GAEG;AACH,UAAU,QAAQ;IACd,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC3B;AAED,qBAAa,wBAAyB,YAAW,WAAW;IACxD,IAAI,EAAE,WAEL;IAED,GAAG,CAAC,OAAO,EAAE,OAAO;IAoBpB,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,YAAY,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,OAAO;IAqBvD,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,eAAe;CAI1B"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "RequireOnePackageVersion", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return RequireOnePackageVersion;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _chalk = /*#__PURE__*/ _interop_require_default(require("chalk"));
|
|
12
|
+
const _types = require("../types");
|
|
13
|
+
const _utils = require("../utils");
|
|
14
|
+
function _interop_require_default(obj) {
|
|
15
|
+
return obj && obj.__esModule ? obj : {
|
|
16
|
+
default: obj
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
class RequireOnePackageVersion {
|
|
20
|
+
get id() {
|
|
21
|
+
return 'require-one-package-version';
|
|
22
|
+
}
|
|
23
|
+
run(project) {
|
|
24
|
+
const errors = [];
|
|
25
|
+
this.getDependencies(project).forEach(([name, versions])=>{
|
|
26
|
+
if (Object.keys(versions).length > 1) {
|
|
27
|
+
const message = `project depends on multiple versions of "${name}"`;
|
|
28
|
+
const details = this.formatDetails(project, versions);
|
|
29
|
+
errors.push({
|
|
30
|
+
id: this.id,
|
|
31
|
+
message,
|
|
32
|
+
details,
|
|
33
|
+
fixable: _types.FixCategory.isolated,
|
|
34
|
+
data: {
|
|
35
|
+
name,
|
|
36
|
+
versions
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
return errors;
|
|
42
|
+
}
|
|
43
|
+
fix({ data }, project) {
|
|
44
|
+
const { name, versions } = data !== null && data !== void 0 ? data : {};
|
|
45
|
+
if (!(name && versions)) {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
const targetVersion = (0, _utils.getMaxVersion)(Object.keys(versions));
|
|
49
|
+
Object.entries(versions).forEach(([version, dependents])=>{
|
|
50
|
+
if (version !== targetVersion) {
|
|
51
|
+
dependents.forEach((dependent)=>(0, _utils.setVersion)({
|
|
52
|
+
project,
|
|
53
|
+
packageName: dependent,
|
|
54
|
+
dependency: name,
|
|
55
|
+
version: targetVersion
|
|
56
|
+
}));
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
formatDetails({ packages }, versions) {
|
|
61
|
+
return Object.entries(versions).map(([version, dependents])=>(0, _utils.formatDependsOn)(dependents.map((name)=>(0, _utils.nameToLocation)(name, packages)), _chalk.default.yellow(version)));
|
|
62
|
+
}
|
|
63
|
+
getDependencies({ config, dependencies }) {
|
|
64
|
+
var _config_rules;
|
|
65
|
+
const ruleConfig = (_config_rules = config.rules) === null || _config_rules === void 0 ? void 0 : _config_rules[this.id];
|
|
66
|
+
return (0, _utils.applyFilter)(ruleConfig, Object.entries(dependencies), ([name])=>name);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
//# sourceMappingURL=require-one-package-version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/cli/commands/review/rules/require-one-package-version.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { FixCategory, PackageError, PackageRule, Project } from '../types';\nimport { applyFilter, formatDependsOn, getMaxVersion, nameToLocation, setVersion } from '../utils';\n\ninterface ErrorData {\n name: string;\n versions: Versions;\n}\n\n/**\n * Maps versions to their dependents\n */\ninterface Versions {\n [key: string]: string[];\n}\n\nexport class RequireOnePackageVersion implements PackageRule {\n get id() {\n return 'require-one-package-version';\n }\n\n run(project: Project) {\n const errors: PackageError<ErrorData>[] = [];\n\n this.getDependencies(project).forEach(([name, versions]) => {\n if (Object.keys(versions).length > 1) {\n const message = `project depends on multiple versions of \"${name}\"`;\n const details = this.formatDetails(project, versions);\n errors.push({\n id: this.id,\n message,\n details,\n fixable: FixCategory.isolated,\n data: { name, versions },\n });\n }\n });\n\n return errors;\n }\n\n fix({ data }: PackageError<ErrorData>, project: Project) {\n const { name, versions } = data ?? {};\n if (!(name && versions)) {\n return;\n }\n\n const targetVersion = getMaxVersion(Object.keys(versions));\n Object.entries(versions).forEach(([version, dependents]) => {\n if (version !== targetVersion) {\n dependents.forEach(dependent =>\n setVersion({\n project,\n packageName: dependent,\n dependency: name,\n version: targetVersion,\n })\n );\n }\n });\n }\n\n private formatDetails({ packages }: Project, versions: Versions) {\n return Object.entries(versions).map(([version, dependents]) =>\n formatDependsOn(\n dependents.map(name => nameToLocation(name, packages)),\n chalk.yellow(version)\n )\n );\n }\n\n private getDependencies({ config, dependencies }: Project) {\n const ruleConfig = config.rules?.[this.id];\n return applyFilter(ruleConfig, Object.entries(dependencies), ([name]) => name);\n }\n}\n"],"names":["RequireOnePackageVersion","id","run","project","errors","getDependencies","forEach","name","versions","Object","keys","length","message","details","formatDetails","push","fixable","FixCategory","isolated","data","fix","targetVersion","getMaxVersion","entries","version","dependents","dependent","setVersion","packageName","dependency","packages","map","formatDependsOn","nameToLocation","chalk","yellow","config","dependencies","ruleConfig","rules","applyFilter"],"mappings":";;;;+BAgBaA;;;eAAAA;;;8DAhBK;uBAC8C;uBACwB;;;;;;AAcjF,MAAMA;IACT,IAAIC,KAAK;QACL,OAAO;IACX;IAEAC,IAAIC,OAAgB,EAAE;QAClB,MAAMC,SAAoC,EAAE;QAE5C,IAAI,CAACC,eAAe,CAACF,SAASG,OAAO,CAAC,CAAC,CAACC,MAAMC,SAAS;YACnD,IAAIC,OAAOC,IAAI,CAACF,UAAUG,MAAM,GAAG,GAAG;gBAClC,MAAMC,UAAU,CAAC,yCAAyC,EAAEL,KAAK,CAAC,CAAC;gBACnE,MAAMM,UAAU,IAAI,CAACC,aAAa,CAACX,SAASK;gBAC5CJ,OAAOW,IAAI,CAAC;oBACRd,IAAI,IAAI,CAACA,EAAE;oBACXW;oBACAC;oBACAG,SAASC,kBAAW,CAACC,QAAQ;oBAC7BC,MAAM;wBAAEZ;wBAAMC;oBAAS;gBAC3B;YACJ;QACJ;QAEA,OAAOJ;IACX;IAEAgB,IAAI,EAAED,IAAI,EAA2B,EAAEhB,OAAgB,EAAE;QACrD,MAAM,EAAEI,IAAI,EAAEC,QAAQ,EAAE,GAAGW,iBAAAA,kBAAAA,OAAQ,CAAC;QACpC,IAAI,CAAEZ,CAAAA,QAAQC,QAAO,GAAI;YACrB;QACJ;QAEA,MAAMa,gBAAgBC,IAAAA,oBAAa,EAACb,OAAOC,IAAI,CAACF;QAChDC,OAAOc,OAAO,CAACf,UAAUF,OAAO,CAAC,CAAC,CAACkB,SAASC,WAAW;YACnD,IAAID,YAAYH,eAAe;gBAC3BI,WAAWnB,OAAO,CAACoB,CAAAA,YACfC,IAAAA,iBAAU,EAAC;wBACPxB;wBACAyB,aAAaF;wBACbG,YAAYtB;wBACZiB,SAASH;oBACb;YAER;QACJ;IACJ;IAEQP,cAAc,EAAEgB,QAAQ,EAAW,EAAEtB,QAAkB,EAAE;QAC7D,OAAOC,OAAOc,OAAO,CAACf,UAAUuB,GAAG,CAAC,CAAC,CAACP,SAASC,WAAW,GACtDO,IAAAA,sBAAe,EACXP,WAAWM,GAAG,CAACxB,CAAAA,OAAQ0B,IAAAA,qBAAc,EAAC1B,MAAMuB,YAC5CI,cAAK,CAACC,MAAM,CAACX;IAGzB;IAEQnB,gBAAgB,EAAE+B,MAAM,EAAEC,YAAY,EAAW,EAAE;YACpCD;QAAnB,MAAME,cAAaF,gBAAAA,OAAOG,KAAK,cAAZH,oCAAAA,aAAc,CAAC,IAAI,CAACnC,EAAE,CAAC;QAC1C,OAAOuC,IAAAA,kBAAW,EAACF,YAAY7B,OAAOc,OAAO,CAACc,eAAe,CAAC,CAAC9B,KAAK,GAAKA;IAC7E;AACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"require-one-uikit-version.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/review/rules/require-one-uikit-version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAsB/E,qBAAa,sBAAuB,SAAQ,2BAA2B;;CAItE"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "RequireOneUikitVersion", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return RequireOneUikitVersion;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _requireonecollectionversion = require("./require-one-collection-version");
|
|
12
|
+
const UIKIT_PACKAGES = [
|
|
13
|
+
'@servicetitan/ajax-handlers',
|
|
14
|
+
'@servicetitan/error-boundary',
|
|
15
|
+
'@servicetitan/eslint-config',
|
|
16
|
+
'@servicetitan/eslint-plugin',
|
|
17
|
+
'@servicetitan/eslint-plugin-folder-schema',
|
|
18
|
+
'@servicetitan/folder-lint',
|
|
19
|
+
'@servicetitan/hash-browser-router',
|
|
20
|
+
'@servicetitan/ko-bridge',
|
|
21
|
+
'@servicetitan/launchdarkly-service',
|
|
22
|
+
'@servicetitan/lazy-module',
|
|
23
|
+
'@servicetitan/log-service',
|
|
24
|
+
'@servicetitan/react-ioc',
|
|
25
|
+
'@servicetitan/restrict-imports',
|
|
26
|
+
'@servicetitan/startup',
|
|
27
|
+
'@servicetitan/stylelint-config',
|
|
28
|
+
'@servicetitan/suppress-warnings',
|
|
29
|
+
'@servicetitan/web-components'
|
|
30
|
+
];
|
|
31
|
+
class RequireOneUikitVersion extends _requireonecollectionversion.RequireOneCollectionVersion {
|
|
32
|
+
constructor(){
|
|
33
|
+
super({
|
|
34
|
+
name: 'uikit',
|
|
35
|
+
packages: UIKIT_PACKAGES
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
//# sourceMappingURL=require-one-uikit-version.js.map
|