@servicetitan/startup 30.3.1 → 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
package/src/cli/commands/review/rules/__tests__/require-one-anvil-uikit-contrib-version.test.ts
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { RequireOneCollectionVersion } from '../require-one-collection-version';
|
|
2
|
+
|
|
3
|
+
import { RequireOneAnvilUikitContribVersion } from '../require-one-anvil-uikit-contrib-version';
|
|
4
|
+
|
|
5
|
+
jest.mock('../require-one-collection-version');
|
|
6
|
+
|
|
7
|
+
describe(`[startup] Review ${RequireOneAnvilUikitContribVersion.name}`, () => {
|
|
8
|
+
const anvilUikitContribPackages = [
|
|
9
|
+
'@servicetitan/confirm-navigation',
|
|
10
|
+
'@servicetitan/confirm',
|
|
11
|
+
'@servicetitan/culture',
|
|
12
|
+
'@servicetitan/data-query',
|
|
13
|
+
'@servicetitan/datetime-utils',
|
|
14
|
+
'@servicetitan/form-state',
|
|
15
|
+
'@servicetitan/form',
|
|
16
|
+
'@servicetitan/link-item',
|
|
17
|
+
'@servicetitan/notifications',
|
|
18
|
+
'@servicetitan/table',
|
|
19
|
+
];
|
|
20
|
+
|
|
21
|
+
beforeEach(() => jest.clearAllMocks());
|
|
22
|
+
|
|
23
|
+
const subject = () => new RequireOneAnvilUikitContribVersion();
|
|
24
|
+
|
|
25
|
+
test('calls RequireOneCollectionVersion with anvil-uikit-contrib packages', () => {
|
|
26
|
+
subject();
|
|
27
|
+
|
|
28
|
+
expect(RequireOneCollectionVersion).toHaveBeenCalledWith({
|
|
29
|
+
name: 'anvil-uikit-contrib',
|
|
30
|
+
packages: anvilUikitContribPackages,
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
});
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
import { FixCategory, Project, ReviewConfiguration } from '../../types';
|
|
4
|
+
import { setVersion } from '../../utils';
|
|
5
|
+
import { mockConfig, mockPackages, mockProject } from '../__mocks__';
|
|
6
|
+
|
|
7
|
+
import { RequireOneCollectionVersion } from '../require-one-collection-version';
|
|
8
|
+
|
|
9
|
+
jest.mock('../../utils', () => ({
|
|
10
|
+
...jest.requireActual('../../utils'),
|
|
11
|
+
setVersion: jest.fn(),
|
|
12
|
+
}));
|
|
13
|
+
|
|
14
|
+
describe(`[startup] Review ${RequireOneCollectionVersion.name}`, () => {
|
|
15
|
+
const collection = { name: 'uikit', packages: ['foo', 'bar'] };
|
|
16
|
+
const id = `require-one-${collection.name}-version`;
|
|
17
|
+
const rule = new RequireOneCollectionVersion(collection);
|
|
18
|
+
let config: ReviewConfiguration;
|
|
19
|
+
let dependencies: Project['dependencies'];
|
|
20
|
+
|
|
21
|
+
beforeEach(() => {
|
|
22
|
+
config = {};
|
|
23
|
+
dependencies = {};
|
|
24
|
+
jest.clearAllMocks();
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
const project = () =>
|
|
28
|
+
mockProject({ config, dependencies, packages: mockPackages(dependencies) });
|
|
29
|
+
|
|
30
|
+
const subject = () => rule.run(project());
|
|
31
|
+
|
|
32
|
+
function itReturnsError(...details: string[]) {
|
|
33
|
+
test('returns error', () => {
|
|
34
|
+
expect(subject()).toEqual(
|
|
35
|
+
expect.objectContaining({
|
|
36
|
+
id,
|
|
37
|
+
message: `project depends on multiple versions of ${collection.name} packages`,
|
|
38
|
+
details,
|
|
39
|
+
fixable: FixCategory.normal,
|
|
40
|
+
})
|
|
41
|
+
);
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
function itReturnsNothing() {
|
|
46
|
+
test('returns nothing', () => {
|
|
47
|
+
expect(subject()).toBeUndefined();
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
describe('when all packages have same version', () => {
|
|
52
|
+
beforeEach(() => {
|
|
53
|
+
dependencies = {
|
|
54
|
+
foo: { '1.0.0': ['lib'] },
|
|
55
|
+
bar: { '1.0.0': ['lib'] },
|
|
56
|
+
};
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
itReturnsNothing();
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
describe('with multiple versions of one package', () => {
|
|
63
|
+
beforeEach(() => {
|
|
64
|
+
dependencies = {
|
|
65
|
+
foo: {
|
|
66
|
+
'1.0.0': ['lib1'],
|
|
67
|
+
'2.0.0': ['lib2'],
|
|
68
|
+
},
|
|
69
|
+
};
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
itReturnsError(
|
|
73
|
+
`${path.normalize('packages/lib2/package.json')} depends on ${chalk.red('foo@2.0.0')}`,
|
|
74
|
+
`${path.normalize('packages/lib1/package.json')} depends on ${chalk.red('foo@1.0.0')}`
|
|
75
|
+
);
|
|
76
|
+
|
|
77
|
+
describe('when config excludes package', () => {
|
|
78
|
+
beforeEach(() => (config = mockConfig({ id, exclude: 'foo' })));
|
|
79
|
+
|
|
80
|
+
itReturnsNothing();
|
|
81
|
+
});
|
|
82
|
+
|
|
83
|
+
describe('fix', () => {
|
|
84
|
+
const subject = () => {
|
|
85
|
+
const testProject = project();
|
|
86
|
+
rule.fix(rule.run(testProject)!, testProject);
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
test('fixes error', () => {
|
|
90
|
+
subject();
|
|
91
|
+
|
|
92
|
+
expect(setVersion).toHaveBeenCalledWith({
|
|
93
|
+
project: project(),
|
|
94
|
+
packageName: 'lib1',
|
|
95
|
+
dependency: 'foo',
|
|
96
|
+
version: '2.0.0',
|
|
97
|
+
});
|
|
98
|
+
});
|
|
99
|
+
|
|
100
|
+
test('ignores invalid error', () => {
|
|
101
|
+
rule.fix({} as any, project());
|
|
102
|
+
|
|
103
|
+
expect(setVersion).not.toHaveBeenCalled();
|
|
104
|
+
});
|
|
105
|
+
});
|
|
106
|
+
});
|
|
107
|
+
|
|
108
|
+
describe('when single dependent uses conflicting versions', () => {
|
|
109
|
+
beforeEach(() => {
|
|
110
|
+
dependencies = {
|
|
111
|
+
foo: { '2.0.0': ['lib'] },
|
|
112
|
+
bar: { '1.0.0': ['lib'] },
|
|
113
|
+
};
|
|
114
|
+
});
|
|
115
|
+
|
|
116
|
+
itReturnsError(
|
|
117
|
+
`${path.normalize('packages/lib/package.json')} depends on ${chalk.red('bar@1.0.0')}`,
|
|
118
|
+
`${path.normalize('packages/lib/package.json')} depends on ${chalk.yellow('foo@2.0.0')}`
|
|
119
|
+
);
|
|
120
|
+
});
|
|
121
|
+
|
|
122
|
+
describe('with multiple dependents use conflicting versions of different packages', () => {
|
|
123
|
+
beforeEach(() => {
|
|
124
|
+
dependencies = {
|
|
125
|
+
foo: { '1.0.0': ['lib1'] },
|
|
126
|
+
bar: { '2.0.0': ['lib2'] },
|
|
127
|
+
};
|
|
128
|
+
});
|
|
129
|
+
|
|
130
|
+
itReturnsError(
|
|
131
|
+
`${path.normalize('packages/lib1/package.json')} depends on ${chalk.red('foo@1.0.0')}`,
|
|
132
|
+
`${path.normalize('packages/lib2/package.json')} depends on ${chalk.yellow('bar@2.0.0')}`
|
|
133
|
+
);
|
|
134
|
+
});
|
|
135
|
+
|
|
136
|
+
describe('with multiple dependents use conflicting versions of only some packages', () => {
|
|
137
|
+
beforeEach(() => {
|
|
138
|
+
dependencies = {
|
|
139
|
+
foo: {
|
|
140
|
+
'1.0.0': ['lib1', 'lib2'],
|
|
141
|
+
'2.0.0': ['lib3'],
|
|
142
|
+
},
|
|
143
|
+
bar: {
|
|
144
|
+
'1.0.0': ['lib1'],
|
|
145
|
+
},
|
|
146
|
+
};
|
|
147
|
+
});
|
|
148
|
+
|
|
149
|
+
itReturnsError(
|
|
150
|
+
`${path.normalize('packages/lib1/package.json')} and ${path.normalize('packages/lib2/package.json')} depend on ${chalk.red('foo@1.0.0')}`,
|
|
151
|
+
`${path.normalize('packages/lib3/package.json')} depends on ${chalk.red('foo@2.0.0')}`,
|
|
152
|
+
`${path.normalize('packages/lib1/package.json')} depends on ${chalk.yellow('bar@1.0.0')}`
|
|
153
|
+
);
|
|
154
|
+
});
|
|
155
|
+
});
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
import { FixCategory, Project, ReviewConfiguration } from '../../types';
|
|
4
|
+
import { setVersion } from '../../utils';
|
|
5
|
+
import { mockConfig, mockPackages, mockProject } from '../__mocks__';
|
|
6
|
+
|
|
7
|
+
import { RequireOnePackageVersion } from '../require-one-package-version';
|
|
8
|
+
|
|
9
|
+
jest.mock('child_process', () => ({ execSync: jest.fn() }));
|
|
10
|
+
jest.mock('../../utils', () => ({
|
|
11
|
+
...jest.requireActual('../../utils'),
|
|
12
|
+
setVersion: jest.fn(),
|
|
13
|
+
}));
|
|
14
|
+
|
|
15
|
+
describe(`[startup] Review ${RequireOnePackageVersion.name}`, () => {
|
|
16
|
+
const id = 'require-one-package-version';
|
|
17
|
+
const rule = new RequireOnePackageVersion();
|
|
18
|
+
let config: ReviewConfiguration;
|
|
19
|
+
let dependencies: Project['dependencies'];
|
|
20
|
+
|
|
21
|
+
beforeEach(() => {
|
|
22
|
+
config = {};
|
|
23
|
+
dependencies = {};
|
|
24
|
+
jest.clearAllMocks();
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
const project = () =>
|
|
28
|
+
mockProject({ config, dependencies, packages: mockPackages(dependencies) });
|
|
29
|
+
|
|
30
|
+
const subject = () => rule.run(project());
|
|
31
|
+
|
|
32
|
+
const fixSubject = () => {
|
|
33
|
+
const testProject = project();
|
|
34
|
+
rule.fix(rule.run(testProject)[0], testProject);
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
function itReturnsNothing() {
|
|
38
|
+
test('returns nothing', () => {
|
|
39
|
+
expect(subject()).toEqual([]);
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
describe('when all packages have only one version', () => {
|
|
44
|
+
beforeEach(() => {
|
|
45
|
+
dependencies = {
|
|
46
|
+
foo: { '1.0.0': ['lib1'] },
|
|
47
|
+
bar: { '2.0.0': ['lib1'] },
|
|
48
|
+
};
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
itReturnsNothing();
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
describe('when a package has multiple versions', () => {
|
|
55
|
+
beforeEach(() => {
|
|
56
|
+
dependencies = {
|
|
57
|
+
foo: {
|
|
58
|
+
'1.0.0': ['lib1'],
|
|
59
|
+
'1.0.1': ['lib2'],
|
|
60
|
+
},
|
|
61
|
+
};
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
test('returns error', () => {
|
|
65
|
+
expect(subject()).toEqual([
|
|
66
|
+
expect.objectContaining({
|
|
67
|
+
id,
|
|
68
|
+
message: 'project depends on multiple versions of "foo"',
|
|
69
|
+
details: [
|
|
70
|
+
`${path.normalize('packages/lib1/package.json')} depends on ${chalk.yellow('1.0.0')}`,
|
|
71
|
+
`${path.normalize('packages/lib2/package.json')} depends on ${chalk.yellow('1.0.1')}`,
|
|
72
|
+
],
|
|
73
|
+
fixable: FixCategory.isolated,
|
|
74
|
+
}),
|
|
75
|
+
]);
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
describe('when config excludes package', () => {
|
|
79
|
+
beforeEach(() => (config = mockConfig({ id, exclude: 'foo' })));
|
|
80
|
+
|
|
81
|
+
itReturnsNothing();
|
|
82
|
+
});
|
|
83
|
+
|
|
84
|
+
test('fixes error', () => {
|
|
85
|
+
fixSubject();
|
|
86
|
+
|
|
87
|
+
expect(setVersion).toHaveBeenCalledWith({
|
|
88
|
+
project: project(),
|
|
89
|
+
packageName: 'lib1',
|
|
90
|
+
dependency: 'foo',
|
|
91
|
+
version: '1.0.1',
|
|
92
|
+
});
|
|
93
|
+
});
|
|
94
|
+
|
|
95
|
+
test('ignores invalid error', () => {
|
|
96
|
+
rule.fix({} as any, project());
|
|
97
|
+
|
|
98
|
+
expect(setVersion).not.toHaveBeenCalled();
|
|
99
|
+
});
|
|
100
|
+
});
|
|
101
|
+
|
|
102
|
+
describe('when multiple packages have multiple versions', () => {
|
|
103
|
+
beforeEach(() => {
|
|
104
|
+
dependencies = {
|
|
105
|
+
foo: {
|
|
106
|
+
'1.0.0': ['lib1'],
|
|
107
|
+
'1.0.1': ['lib2'],
|
|
108
|
+
},
|
|
109
|
+
bar: {
|
|
110
|
+
'2.0.0': ['lib1'],
|
|
111
|
+
'2.1.0': ['lib3'],
|
|
112
|
+
},
|
|
113
|
+
};
|
|
114
|
+
});
|
|
115
|
+
|
|
116
|
+
test('returns errors for each package with multiple versions', () => {
|
|
117
|
+
expect(subject()).toEqual([
|
|
118
|
+
expect.objectContaining({
|
|
119
|
+
message: 'project depends on multiple versions of "foo"',
|
|
120
|
+
details: [
|
|
121
|
+
`${path.normalize('packages/lib1/package.json')} depends on ${chalk.yellow('1.0.0')}`,
|
|
122
|
+
`${path.normalize('packages/lib2/package.json')} depends on ${chalk.yellow('1.0.1')}`,
|
|
123
|
+
],
|
|
124
|
+
}),
|
|
125
|
+
expect.objectContaining({
|
|
126
|
+
message: 'project depends on multiple versions of "bar"',
|
|
127
|
+
details: [
|
|
128
|
+
`${path.normalize('packages/lib1/package.json')} depends on ${chalk.yellow('2.0.0')}`,
|
|
129
|
+
`${path.normalize('packages/lib3/package.json')} depends on ${chalk.yellow('2.1.0')}`,
|
|
130
|
+
],
|
|
131
|
+
}),
|
|
132
|
+
]);
|
|
133
|
+
});
|
|
134
|
+
});
|
|
135
|
+
});
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { RequireOneCollectionVersion } from '../require-one-collection-version';
|
|
2
|
+
|
|
3
|
+
import { RequireOneUikitVersion } from '../require-one-uikit-version';
|
|
4
|
+
|
|
5
|
+
jest.mock('../require-one-collection-version');
|
|
6
|
+
|
|
7
|
+
describe(`[startup] Review ${RequireOneUikitVersion.name}`, () => {
|
|
8
|
+
const uikitPackages = [
|
|
9
|
+
'@servicetitan/ajax-handlers',
|
|
10
|
+
'@servicetitan/error-boundary',
|
|
11
|
+
'@servicetitan/eslint-config',
|
|
12
|
+
'@servicetitan/eslint-plugin',
|
|
13
|
+
'@servicetitan/eslint-plugin-folder-schema',
|
|
14
|
+
'@servicetitan/folder-lint',
|
|
15
|
+
'@servicetitan/hash-browser-router',
|
|
16
|
+
'@servicetitan/ko-bridge',
|
|
17
|
+
'@servicetitan/launchdarkly-service',
|
|
18
|
+
'@servicetitan/lazy-module',
|
|
19
|
+
'@servicetitan/log-service',
|
|
20
|
+
'@servicetitan/react-ioc',
|
|
21
|
+
'@servicetitan/restrict-imports',
|
|
22
|
+
'@servicetitan/startup',
|
|
23
|
+
'@servicetitan/stylelint-config',
|
|
24
|
+
'@servicetitan/suppress-warnings',
|
|
25
|
+
'@servicetitan/web-components',
|
|
26
|
+
];
|
|
27
|
+
|
|
28
|
+
beforeEach(() => jest.clearAllMocks());
|
|
29
|
+
|
|
30
|
+
const subject = () => new RequireOneUikitVersion();
|
|
31
|
+
|
|
32
|
+
test('calls RequireOneCollectionVersion with uikit packages', () => {
|
|
33
|
+
subject();
|
|
34
|
+
|
|
35
|
+
expect(RequireOneCollectionVersion).toHaveBeenCalledWith({
|
|
36
|
+
name: 'uikit',
|
|
37
|
+
packages: uikitPackages,
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
});
|
package/src/cli/commands/review/rules/__tests__/require-project-version-in-root-node-modules.test.ts
ADDED
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import { execSync } from 'child_process';
|
|
3
|
+
import { expectCalls } from '../../__mocks__';
|
|
4
|
+
import { FixCategory, Package, Project, ReviewConfiguration } from '../../types';
|
|
5
|
+
import { mockConfig, mockPackages, mockProject } from '../__mocks__';
|
|
6
|
+
|
|
7
|
+
import { RequireProjectVersionInRootNodeModules } from '../require-project-version-in-root-node-modules';
|
|
8
|
+
|
|
9
|
+
jest.mock('child_process', () => ({ execSync: jest.fn() }));
|
|
10
|
+
|
|
11
|
+
describe(`[startup] Review ${RequireProjectVersionInRootNodeModules.name}`, () => {
|
|
12
|
+
const id = 'require-project-version-in-root-node-modules';
|
|
13
|
+
const rule = new RequireProjectVersionInRootNodeModules();
|
|
14
|
+
let config: ReviewConfiguration;
|
|
15
|
+
let dependencies: Project['dependencies'];
|
|
16
|
+
let packageLock: Project['packageLock'];
|
|
17
|
+
let packages: Package[];
|
|
18
|
+
|
|
19
|
+
beforeEach(() => {
|
|
20
|
+
config = {};
|
|
21
|
+
dependencies = { foo: { '~1.0.0': ['lib'] } };
|
|
22
|
+
packages = [{ name: 'root', location: '.' }, ...mockPackages(dependencies)];
|
|
23
|
+
packageLock = { packages: {}, location: './package-lock.json' };
|
|
24
|
+
jest.clearAllMocks();
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
const project = () => mockProject({ config, dependencies, packageLock, packages });
|
|
28
|
+
|
|
29
|
+
const subject = () => rule.run(project());
|
|
30
|
+
|
|
31
|
+
const fixSubject = () => {
|
|
32
|
+
const testProject = project();
|
|
33
|
+
rule.fix(rule.run(testProject)!, testProject);
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
function itReturnsError(...details: string[]) {
|
|
37
|
+
test('returns error', () => {
|
|
38
|
+
expect(subject()).toEqual(
|
|
39
|
+
expect.objectContaining({
|
|
40
|
+
id,
|
|
41
|
+
message: 'project has unexpected version in root node_modules',
|
|
42
|
+
details,
|
|
43
|
+
location: packageLock.location,
|
|
44
|
+
fixable: FixCategory.lockFile,
|
|
45
|
+
})
|
|
46
|
+
);
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
function itReturnsNothing() {
|
|
51
|
+
test('returns nothing', () => {
|
|
52
|
+
expect(subject()).toBeUndefined();
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
function fixDoesNothing() {
|
|
57
|
+
test('fix does nothing', () => {
|
|
58
|
+
fixSubject();
|
|
59
|
+
|
|
60
|
+
expect(execSync).not.toHaveBeenCalled();
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
describe('when root matches project version', () => {
|
|
65
|
+
beforeEach(() => {
|
|
66
|
+
packageLock.packages = { 'node_modules/foo': { version: '1.0.1' } };
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
itReturnsNothing();
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
describe('when root does not match project version', () => {
|
|
73
|
+
beforeEach(() => {
|
|
74
|
+
packageLock.packages = { 'node_modules/foo': { version: '1.1.0' } };
|
|
75
|
+
});
|
|
76
|
+
|
|
77
|
+
itReturnsError(`${chalk.yellow('foo@1.1.0')} does not match ${chalk.yellow('~1.0.0')}`);
|
|
78
|
+
|
|
79
|
+
describe('when config excludes package', () => {
|
|
80
|
+
beforeEach(() => (config = mockConfig({ id, exclude: 'foo' })));
|
|
81
|
+
|
|
82
|
+
itReturnsNothing();
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
test('fixes error', () => {
|
|
86
|
+
fixSubject();
|
|
87
|
+
|
|
88
|
+
expectCalls(
|
|
89
|
+
...[
|
|
90
|
+
'npm pkg set dependencies["foo"]="~1.0.0"',
|
|
91
|
+
'npx startup install --fix --quiet',
|
|
92
|
+
'npm pkg delete dependencies["foo"]',
|
|
93
|
+
].map(command => [execSync, command, { stdio: 'inherit' }])
|
|
94
|
+
);
|
|
95
|
+
});
|
|
96
|
+
|
|
97
|
+
test('fix ignores invalid error', () => {
|
|
98
|
+
rule.fix({} as any, project());
|
|
99
|
+
|
|
100
|
+
expect(execSync).not.toHaveBeenCalled();
|
|
101
|
+
});
|
|
102
|
+
|
|
103
|
+
describe('with no root package', () => {
|
|
104
|
+
beforeEach(() => packages.splice(0, 1));
|
|
105
|
+
|
|
106
|
+
fixDoesNothing();
|
|
107
|
+
});
|
|
108
|
+
|
|
109
|
+
describe('when root package already contains dependency', () => {
|
|
110
|
+
beforeEach(() => (packages[0].dependencies = { foo: '1.1.0' }));
|
|
111
|
+
|
|
112
|
+
fixDoesNothing();
|
|
113
|
+
});
|
|
114
|
+
});
|
|
115
|
+
|
|
116
|
+
describe('with no root version', () => {
|
|
117
|
+
beforeEach(() => (packageLock.packages = {}));
|
|
118
|
+
|
|
119
|
+
itReturnsNothing();
|
|
120
|
+
});
|
|
121
|
+
|
|
122
|
+
describe('when multiple versions are installed', () => {
|
|
123
|
+
beforeEach(() => (dependencies = { foo: { '~1.0.0': ['lib1'], '^2.0.0': ['lib2'] } }));
|
|
124
|
+
|
|
125
|
+
describe('when root matches version', () => {
|
|
126
|
+
beforeEach(() => {
|
|
127
|
+
packageLock.packages = { 'node_modules/foo': { version: '2.1.0' } };
|
|
128
|
+
});
|
|
129
|
+
|
|
130
|
+
itReturnsNothing();
|
|
131
|
+
});
|
|
132
|
+
|
|
133
|
+
describe('when root does not match any version', () => {
|
|
134
|
+
beforeEach(() => {
|
|
135
|
+
packageLock.packages = { 'node_modules/foo': { version: '1.1.0' } };
|
|
136
|
+
});
|
|
137
|
+
|
|
138
|
+
itReturnsError(
|
|
139
|
+
`${chalk.yellow('foo@1.1.0')} does not match ${chalk.yellow('~1.0.0, ^2.0.0')}`
|
|
140
|
+
);
|
|
141
|
+
|
|
142
|
+
test('fix uses highest version', () => {
|
|
143
|
+
fixSubject();
|
|
144
|
+
|
|
145
|
+
expect(execSync).toHaveBeenCalledWith(
|
|
146
|
+
'npm pkg set dependencies["foo"]="^2.0.0"',
|
|
147
|
+
expect.anything()
|
|
148
|
+
);
|
|
149
|
+
});
|
|
150
|
+
});
|
|
151
|
+
});
|
|
152
|
+
|
|
153
|
+
describe('when multiple packages have mismatched versions', () => {
|
|
154
|
+
beforeEach(() => {
|
|
155
|
+
dependencies = {
|
|
156
|
+
foo: { '~1.0.0': ['lib1'] },
|
|
157
|
+
bar: { '>=2 <3': ['lib2'] },
|
|
158
|
+
baz: { '>=3 <4': ['lib3'] },
|
|
159
|
+
};
|
|
160
|
+
packageLock.packages = {
|
|
161
|
+
'node_modules/foo': { version: '1.1.0' }, // error
|
|
162
|
+
'node_modules/bar': { version: '2.0.1' }, // ok
|
|
163
|
+
'node_modules/baz': { version: '4.0.0' }, // error
|
|
164
|
+
};
|
|
165
|
+
});
|
|
166
|
+
|
|
167
|
+
itReturnsError(
|
|
168
|
+
`${chalk.yellow('foo@1.1.0')} does not match ${chalk.yellow('~1.0.0')}`,
|
|
169
|
+
`${chalk.yellow('baz@4.0.0')} does not match ${chalk.yellow('>=3 <4')}`
|
|
170
|
+
);
|
|
171
|
+
|
|
172
|
+
test('fixes all errors', () => {
|
|
173
|
+
fixSubject();
|
|
174
|
+
|
|
175
|
+
expectCalls(
|
|
176
|
+
...[
|
|
177
|
+
'npm pkg set dependencies["foo"]="~1.0.0"',
|
|
178
|
+
'npm pkg set dependencies["baz"]=">=3 <4"',
|
|
179
|
+
'npx startup install --fix --quiet',
|
|
180
|
+
'npm pkg delete dependencies["foo"]',
|
|
181
|
+
'npm pkg delete dependencies["baz"]',
|
|
182
|
+
].map(command => [execSync, command, { stdio: 'inherit' }])
|
|
183
|
+
);
|
|
184
|
+
});
|
|
185
|
+
});
|
|
186
|
+
});
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { ErrorSeverity, Package, ReviewConfiguration } from '../../types';
|
|
2
|
+
import { mockConfig, mockProject } from '../__mocks__';
|
|
3
|
+
|
|
4
|
+
import { RequireServiceTitanScope } from '../require-servicetitan-scope';
|
|
5
|
+
|
|
6
|
+
describe(`[startup] Review ${RequireServiceTitanScope.name}`, () => {
|
|
7
|
+
const id = 'require-servicetitan-scope';
|
|
8
|
+
const rule = new RequireServiceTitanScope();
|
|
9
|
+
const basePackage: Package = { name: 'lib', location: 'packages/lib', cli: { webpack: false } };
|
|
10
|
+
let config: ReviewConfiguration;
|
|
11
|
+
let packages: Package[];
|
|
12
|
+
|
|
13
|
+
beforeEach(() => {
|
|
14
|
+
config = {};
|
|
15
|
+
packages = [basePackage];
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
const subject = () => rule.run(mockProject({ config, packages }));
|
|
19
|
+
|
|
20
|
+
function itReturnsNothing() {
|
|
21
|
+
test('returns nothing', () => {
|
|
22
|
+
expect(subject()).toEqual([]);
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
test('returns warning', () => {
|
|
27
|
+
expect(subject()).toEqual([
|
|
28
|
+
{
|
|
29
|
+
id,
|
|
30
|
+
message: `package "${packages[0].name}" should have @servicetitan scope`,
|
|
31
|
+
severity: ErrorSeverity.warning,
|
|
32
|
+
location: packages[0].location,
|
|
33
|
+
},
|
|
34
|
+
]);
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
describe('when config excludes package', () => {
|
|
38
|
+
beforeEach(() => (config = mockConfig({ id, exclude: packages[0].name })));
|
|
39
|
+
|
|
40
|
+
itReturnsNothing();
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
describe('when package name has @servicetitan scope', () => {
|
|
44
|
+
beforeEach(() => {
|
|
45
|
+
packages = [{ ...basePackage, name: `@servicetitan/${basePackage.name}` }];
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
itReturnsNothing();
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
describe('when package is private', () => {
|
|
52
|
+
beforeEach(() => (packages = [{ ...basePackage, private: true }]));
|
|
53
|
+
|
|
54
|
+
itReturnsNothing();
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
describe('when package is an application', () => {
|
|
58
|
+
beforeEach(() => (packages = [{ ...basePackage, cli: undefined }]));
|
|
59
|
+
|
|
60
|
+
itReturnsNothing();
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
describe('when multiple packages are missing scope', () => {
|
|
64
|
+
beforeEach(() => {
|
|
65
|
+
packages = [
|
|
66
|
+
{ ...basePackage, name: 'lib1' }, // error
|
|
67
|
+
{ ...basePackage, name: '@servicetitan/lib2' }, // ok
|
|
68
|
+
{ ...basePackage, name: 'lib3' }, // error
|
|
69
|
+
];
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
test('returns multiple warnings', () => {
|
|
73
|
+
expect(subject()).toEqual([
|
|
74
|
+
expect.objectContaining({
|
|
75
|
+
message: `package "${packages[0].name}" should have @servicetitan scope`,
|
|
76
|
+
}),
|
|
77
|
+
expect.objectContaining({
|
|
78
|
+
message: `package "${packages[2].name}" should have @servicetitan scope`,
|
|
79
|
+
}),
|
|
80
|
+
]);
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
});
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { PackageRule } from '../types';
|
|
2
|
+
import { NoTypescriptEntryPoint } from './no-typescript-entry-point';
|
|
3
|
+
import { RequireExplicitSideEffects } from './require-explicit-side-effects';
|
|
4
|
+
import { RequireNpmrc } from './require-npmrc';
|
|
5
|
+
import { RequireOneAnvilUikitContribVersion } from './require-one-anvil-uikit-contrib-version';
|
|
6
|
+
import { RequireOnePackageVersion } from './require-one-package-version';
|
|
7
|
+
import { RequireOneUikitVersion } from './require-one-uikit-version';
|
|
8
|
+
import { RequireProjectVersionInRootNodeModules } from './require-project-version-in-root-node-modules';
|
|
9
|
+
import { RequireServiceTitanScope } from './require-servicetitan-scope';
|
|
10
|
+
|
|
11
|
+
export const rules: PackageRule[] = [
|
|
12
|
+
new RequireOnePackageVersion(),
|
|
13
|
+
new RequireOneUikitVersion(),
|
|
14
|
+
new RequireOneAnvilUikitContribVersion(),
|
|
15
|
+
new RequireProjectVersionInRootNodeModules(),
|
|
16
|
+
new NoTypescriptEntryPoint(),
|
|
17
|
+
new RequireServiceTitanScope(),
|
|
18
|
+
new RequireExplicitSideEffects(),
|
|
19
|
+
new RequireNpmrc(),
|
|
20
|
+
];
|