@servicetitan/startup 32.2.0 → 32.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/commands/build.d.ts +36 -7
- package/dist/cli/commands/build.d.ts.map +1 -1
- package/dist/cli/commands/build.js +35 -10
- package/dist/cli/commands/build.js.map +1 -1
- package/dist/cli/commands/bundle-package.d.ts +9 -10
- package/dist/cli/commands/bundle-package.d.ts.map +1 -1
- package/dist/cli/commands/bundle-package.js +6 -22
- package/dist/cli/commands/bundle-package.js.map +1 -1
- package/dist/cli/commands/clean.d.ts +2 -2
- package/dist/cli/commands/clean.d.ts.map +1 -1
- package/dist/cli/commands/clean.js +16 -4
- package/dist/cli/commands/clean.js.map +1 -1
- package/dist/cli/commands/convert-eslint-config.d.ts +2 -2
- package/dist/cli/commands/convert-eslint-config.d.ts.map +1 -1
- package/dist/cli/commands/convert-eslint-config.js +3 -4
- package/dist/cli/commands/convert-eslint-config.js.map +1 -1
- package/dist/cli/commands/eslint.d.ts +3 -5
- package/dist/cli/commands/eslint.d.ts.map +1 -1
- package/dist/cli/commands/eslint.js +2 -18
- 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 +2 -0
- package/dist/cli/commands/get-command.js.map +1 -1
- package/dist/cli/commands/index.d.ts +0 -1
- package/dist/cli/commands/index.d.ts.map +1 -1
- package/dist/cli/commands/index.js +0 -1
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/init.d.ts +10 -6
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +9 -8
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/install.d.ts +21 -7
- package/dist/cli/commands/install.d.ts.map +1 -1
- package/dist/cli/commands/install.js +33 -11
- package/dist/cli/commands/install.js.map +1 -1
- package/dist/cli/commands/kendo-ui-license.d.ts +3 -3
- package/dist/cli/commands/kendo-ui-license.d.ts.map +1 -1
- package/dist/cli/commands/kendo-ui-license.js +17 -5
- package/dist/cli/commands/kendo-ui-license.js.map +1 -1
- package/dist/cli/commands/lint.d.ts +31 -12
- package/dist/cli/commands/lint.d.ts.map +1 -1
- package/dist/cli/commands/lint.js +34 -13
- package/dist/cli/commands/lint.js.map +1 -1
- package/dist/cli/commands/mfe-list.d.ts +46 -0
- package/dist/cli/commands/mfe-list.d.ts.map +1 -0
- package/dist/cli/commands/mfe-list.js +200 -0
- package/dist/cli/commands/mfe-list.js.map +1 -0
- package/dist/cli/commands/mfe-package-clean.d.ts +29 -5
- package/dist/cli/commands/mfe-package-clean.d.ts.map +1 -1
- package/dist/cli/commands/mfe-package-clean.js +28 -5
- package/dist/cli/commands/mfe-package-clean.js.map +1 -1
- package/dist/cli/commands/mfe-package-publish.d.ts +37 -5
- package/dist/cli/commands/mfe-package-publish.d.ts.map +1 -1
- package/dist/cli/commands/mfe-package-publish.js +36 -5
- package/dist/cli/commands/mfe-package-publish.js.map +1 -1
- package/dist/cli/commands/mfe-publish.d.ts +17 -4
- package/dist/cli/commands/mfe-publish.d.ts.map +1 -1
- package/dist/cli/commands/mfe-publish.js +37 -7
- package/dist/cli/commands/mfe-publish.js.map +1 -1
- package/dist/cli/commands/prepare-package.d.ts +3 -5
- package/dist/cli/commands/prepare-package.d.ts.map +1 -1
- package/dist/cli/commands/prepare-package.js +2 -18
- package/dist/cli/commands/prepare-package.js.map +1 -1
- package/dist/cli/commands/review/review.d.ts +14 -6
- package/dist/cli/commands/review/review.d.ts.map +1 -1
- package/dist/cli/commands/review/review.js +27 -23
- package/dist/cli/commands/review/review.js.map +1 -1
- package/dist/cli/commands/run-task.d.ts +10 -6
- package/dist/cli/commands/run-task.d.ts.map +1 -1
- package/dist/cli/commands/run-task.js +16 -13
- package/dist/cli/commands/run-task.js.map +1 -1
- package/dist/cli/commands/start.d.ts +28 -7
- package/dist/cli/commands/start.d.ts.map +1 -1
- package/dist/cli/commands/start.js +27 -10
- package/dist/cli/commands/start.js.map +1 -1
- package/dist/cli/commands/styles-check.d.ts +2 -2
- package/dist/cli/commands/styles-check.d.ts.map +1 -1
- package/dist/cli/commands/styles-check.js +2 -1
- package/dist/cli/commands/styles-check.js.map +1 -1
- package/dist/cli/commands/test/tests.d.ts +14 -5
- package/dist/cli/commands/test/tests.d.ts.map +1 -1
- package/dist/cli/commands/test/tests.js +26 -13
- package/dist/cli/commands/test/tests.js.map +1 -1
- package/dist/cli/commands/types.d.ts +13 -4
- package/dist/cli/commands/types.d.ts.map +1 -1
- package/dist/cli/commands/types.js +28 -0
- package/dist/cli/commands/types.js.map +1 -1
- package/dist/cli/commands/upload-sourcemaps.d.ts +3 -5
- package/dist/cli/commands/upload-sourcemaps.d.ts.map +1 -1
- package/dist/cli/commands/upload-sourcemaps.js +5 -20
- package/dist/cli/commands/upload-sourcemaps.js.map +1 -1
- package/dist/cli/index.js +47 -39
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/tasks/swc-compile-package.d.ts +2 -2
- package/dist/cli/tasks/swc-compile-package.d.ts.map +1 -1
- package/dist/cli/tasks/swc-compile-package.js.map +1 -1
- package/dist/cli/tasks/tsc-compile-package.d.ts +2 -2
- package/dist/cli/tasks/tsc-compile-package.d.ts.map +1 -1
- package/dist/cli/tasks/tsc-compile-package.js +1 -1
- package/dist/cli/tasks/tsc-compile-package.js.map +1 -1
- package/dist/cli/tasks/tsc-compile.d.ts +2 -2
- package/dist/cli/tasks/tsc-compile.d.ts.map +1 -1
- package/dist/cli/tasks/tsc-compile.js.map +1 -1
- package/dist/cli/utils/bundle.js +1 -1
- package/dist/cli/utils/bundle.js.map +1 -1
- package/dist/cli/utils/cli-npm.d.ts +14 -0
- package/dist/cli/utils/cli-npm.d.ts.map +1 -1
- package/dist/cli/utils/cli-npm.js +44 -0
- package/dist/cli/utils/cli-npm.js.map +1 -1
- package/dist/cli/utils/cli-os.d.ts +2 -2
- package/dist/cli/utils/cli-os.d.ts.map +1 -1
- package/dist/cli/utils/cli-os.js +13 -9
- package/dist/cli/utils/cli-os.js.map +1 -1
- package/dist/cli/utils/eslint.d.ts +2 -1
- package/dist/cli/utils/eslint.d.ts.map +1 -1
- package/dist/cli/utils/eslint.js.map +1 -1
- package/dist/cli/utils/index.d.ts +1 -0
- package/dist/cli/utils/index.d.ts.map +1 -1
- package/dist/cli/utils/index.js +1 -0
- package/dist/cli/utils/index.js.map +1 -1
- package/dist/cli/utils/is-tty.d.ts +2 -0
- package/dist/cli/utils/is-tty.d.ts.map +1 -0
- package/dist/cli/utils/is-tty.js +15 -0
- package/dist/cli/utils/is-tty.js.map +1 -0
- package/dist/cli/utils/lerna-exec.d.ts.map +1 -1
- package/dist/cli/utils/lerna-exec.js +2 -0
- package/dist/cli/utils/lerna-exec.js.map +1 -1
- package/dist/cli/utils/maybe-create-git-folder.d.ts +2 -3
- package/dist/cli/utils/maybe-create-git-folder.d.ts.map +1 -1
- package/dist/cli/utils/maybe-create-git-folder.js +4 -9
- package/dist/cli/utils/maybe-create-git-folder.js.map +1 -1
- package/dist/cli/utils/process-tree.d.ts.map +1 -1
- package/dist/cli/utils/process-tree.js +2 -2
- package/dist/cli/utils/process-tree.js.map +1 -1
- package/dist/cli/utils/set-node-options.d.ts.map +1 -1
- package/dist/cli/utils/set-node-options.js +2 -1
- package/dist/cli/utils/set-node-options.js.map +1 -1
- package/dist/utils/find-packages.d.ts +1 -0
- package/dist/utils/find-packages.d.ts.map +1 -1
- package/dist/utils/find-packages.js.map +1 -1
- package/dist/utils/format-relative-date.d.ts +2 -0
- package/dist/utils/format-relative-date.d.ts.map +1 -0
- package/dist/utils/format-relative-date.js +60 -0
- package/dist/utils/format-relative-date.js.map +1 -0
- package/dist/utils/get-configuration.d.ts +1 -0
- package/dist/utils/get-configuration.d.ts.map +1 -1
- package/dist/utils/get-configuration.js +1 -0
- package/dist/utils/get-configuration.js.map +1 -1
- package/dist/utils/get-packages.d.ts +3 -5
- package/dist/utils/get-packages.d.ts.map +1 -1
- package/dist/utils/get-packages.js +1 -4
- package/dist/utils/get-packages.js.map +1 -1
- package/dist/utils/get-startup-version.d.ts.map +1 -1
- package/dist/utils/get-startup-version.js +1 -1
- package/dist/utils/get-startup-version.js.map +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/webpack/configs/loaders/style-loader.d.ts +1 -1
- package/dist/webpack/configs/loaders/style-loader.d.ts.map +1 -1
- package/dist/webpack/configs/loaders/style-loader.js +2 -2
- package/dist/webpack/configs/loaders/style-loader.js.map +1 -1
- package/dist/webpack/configs/optimization-config.js +5 -5
- package/dist/webpack/configs/optimization-config.js.map +1 -1
- package/dist/webpack/configs/output-config.d.ts.map +1 -1
- package/dist/webpack/configs/output-config.js +14 -7
- package/dist/webpack/configs/output-config.js.map +1 -1
- package/dist/webpack/configs/plugins/assets-manifest-plugin.d.ts.map +1 -1
- package/dist/webpack/configs/plugins/assets-manifest-plugin.js +10 -3
- package/dist/webpack/configs/plugins/assets-manifest-plugin.js.map +1 -1
- package/package.json +9 -8
- package/src/cli/commands/__tests__/build.test.ts +1 -1
- package/src/cli/commands/__tests__/bundle-package.test.ts +22 -2
- package/src/cli/commands/__tests__/install.test.ts +42 -4
- package/src/cli/commands/__tests__/lint.test.ts +1 -1
- package/src/cli/commands/__tests__/mfe-list.test.ts +394 -0
- package/src/cli/commands/__tests__/mfe-publish.test.ts +25 -0
- package/src/cli/commands/__tests__/start.test.ts +1 -1
- package/src/cli/commands/build.ts +14 -10
- package/src/cli/commands/bundle-package.ts +19 -13
- package/src/cli/commands/clean.ts +2 -4
- package/src/cli/commands/convert-eslint-config.ts +3 -5
- package/src/cli/commands/eslint.ts +3 -5
- package/src/cli/commands/get-command.ts +2 -0
- package/src/cli/commands/index.ts +0 -1
- package/src/cli/commands/init.ts +7 -8
- package/src/cli/commands/install.ts +24 -11
- package/src/cli/commands/kendo-ui-license.ts +4 -6
- package/src/cli/commands/lint.ts +19 -19
- package/src/cli/commands/mfe-list.ts +173 -0
- package/src/cli/commands/mfe-package-clean.ts +25 -4
- package/src/cli/commands/mfe-package-publish.ts +33 -4
- package/src/cli/commands/mfe-publish.ts +37 -6
- package/src/cli/commands/prepare-package.ts +3 -5
- package/src/cli/commands/review/review.ts +9 -9
- package/src/cli/commands/run-task.ts +15 -11
- package/src/cli/commands/start.ts +12 -10
- package/src/cli/commands/styles-check.ts +2 -2
- package/src/cli/commands/test/__tests__/tests.test.ts +1 -1
- package/src/cli/commands/test/tests.ts +20 -10
- package/src/cli/commands/types.ts +14 -4
- package/src/cli/commands/upload-sourcemaps.ts +3 -5
- package/src/cli/index.ts +59 -37
- package/src/cli/tasks/swc-compile-package.ts +2 -2
- package/src/cli/tasks/tsc-compile-package.ts +4 -3
- package/src/cli/tasks/tsc-compile.ts +2 -2
- package/src/cli/utils/__tests__/bundle.test.ts +13 -0
- package/src/cli/utils/__tests__/cli-npm.test.ts +89 -0
- package/src/cli/utils/__tests__/is-tty.test.ts +17 -0
- package/src/cli/utils/__tests__/lerna-exec.test.ts +7 -0
- package/src/cli/utils/__tests__/maybe-create-git-folder.test.ts +11 -32
- package/src/cli/utils/__tests__/set-node-options.test.ts +10 -10
- package/src/cli/utils/bundle.ts +1 -1
- package/src/cli/utils/cli-npm.ts +34 -0
- package/src/cli/utils/cli-os.ts +12 -25
- package/src/cli/utils/eslint.ts +2 -1
- package/src/cli/utils/index.ts +1 -0
- package/src/cli/utils/is-tty.ts +3 -0
- package/src/cli/utils/lerna-exec.ts +3 -0
- package/src/cli/utils/maybe-create-git-folder.ts +5 -12
- package/src/cli/utils/process-tree.ts +4 -2
- package/src/cli/utils/set-node-options.ts +2 -1
- package/src/utils/__tests__/format-relative-date.test.ts +61 -0
- package/src/utils/__tests__/get-packages.test.ts +3 -0
- package/src/utils/find-packages.ts +1 -0
- package/src/utils/format-relative-date.ts +33 -0
- package/src/utils/get-configuration.ts +1 -0
- package/src/utils/get-packages.ts +3 -9
- package/src/utils/get-startup-version.ts +1 -3
- package/src/utils/index.ts +1 -0
- package/src/webpack/__mocks__/style-rules.ts +3 -3
- package/src/webpack/__tests__/create-webpack-config-shared-dependencies.test.ts +6 -14
- package/src/webpack/__tests__/create-webpack-config-web-component.test.ts +52 -29
- package/src/webpack/configs/loaders/style-loader.ts +5 -2
- package/src/webpack/configs/optimization-config.ts +5 -5
- package/src/webpack/configs/output-config.ts +10 -5
- package/src/webpack/configs/plugins/assets-manifest-plugin.ts +11 -4
- package/dist/cli/commands/get-user-commands.d.ts +0 -7
- package/dist/cli/commands/get-user-commands.d.ts.map +0 -1
- package/dist/cli/commands/get-user-commands.js +0 -27
- package/dist/cli/commands/get-user-commands.js.map +0 -1
- package/src/cli/commands/__tests__/get-user-commands.test.ts +0 -27
- package/src/cli/commands/get-user-commands.ts +0 -19
|
@@ -9,6 +9,9 @@ Object.defineProperty(exports, "MFEPublish", {
|
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
const _utils = require("../../utils");
|
|
12
|
+
const _mfepackageclean = require("./mfe-package-clean");
|
|
13
|
+
const _mfepackagepublish = require("./mfe-package-publish");
|
|
14
|
+
const _types = require("./types");
|
|
12
15
|
const _utils1 = require("../utils");
|
|
13
16
|
function _define_property(obj, key, value) {
|
|
14
17
|
if (key in obj) {
|
|
@@ -32,9 +35,39 @@ function _ts_decorate(decorators, target, key, desc) {
|
|
|
32
35
|
function _ts_metadata(k, v) {
|
|
33
36
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
34
37
|
}
|
|
35
|
-
class MFEPublish {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
+
class MFEPublish extends _types.Command {
|
|
39
|
+
static get options() {
|
|
40
|
+
const publishOptions = Object.entries(_mfepackagepublish.MFEPackagePublish.options).reduce((result, [key, value])=>{
|
|
41
|
+
result[key] = {
|
|
42
|
+
group: 'Publish Options:',
|
|
43
|
+
...value
|
|
44
|
+
};
|
|
45
|
+
return result;
|
|
46
|
+
}, {});
|
|
47
|
+
const cleanOptions = Object.entries(_mfepackageclean.MFEPackageClean.options).reduce((result, [key, value])=>{
|
|
48
|
+
result[Object.hasOwn(publishOptions, key) ? `${key}\u00A0` : key] = {
|
|
49
|
+
group: 'Clean Options:',
|
|
50
|
+
...value
|
|
51
|
+
};
|
|
52
|
+
return result;
|
|
53
|
+
}, {});
|
|
54
|
+
return {
|
|
55
|
+
clean: {
|
|
56
|
+
boolean: true,
|
|
57
|
+
description: 'Unpublish old versions'
|
|
58
|
+
},
|
|
59
|
+
concurrency: {
|
|
60
|
+
number: true,
|
|
61
|
+
description: 'Publish/unpublish the specified number of packages concurrently',
|
|
62
|
+
defaultDescription: '1'
|
|
63
|
+
},
|
|
64
|
+
scope: {
|
|
65
|
+
array: true,
|
|
66
|
+
description: 'Publish/unpublish only the specified packages'
|
|
67
|
+
},
|
|
68
|
+
...publishOptions,
|
|
69
|
+
...cleanOptions
|
|
70
|
+
};
|
|
38
71
|
}
|
|
39
72
|
async execute() {
|
|
40
73
|
const packages = (0, _utils.getPackages)({
|
|
@@ -103,11 +136,8 @@ class MFEPublish {
|
|
|
103
136
|
]
|
|
104
137
|
].filter((item)=>!!item);
|
|
105
138
|
}
|
|
106
|
-
constructor(args){
|
|
107
|
-
_define_property(this, "args", void 0);
|
|
108
|
-
this.args = args;
|
|
109
|
-
}
|
|
110
139
|
}
|
|
140
|
+
_define_property(MFEPublish, "description", 'Publish or unpublish MFE packages');
|
|
111
141
|
_ts_decorate([
|
|
112
142
|
_utils.logErrors,
|
|
113
143
|
_ts_metadata("design:type", Function),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/cli/commands/mfe-publish.ts"],"sourcesContent":["import { getPackages, isWebComponent, logErrors, PackageType } from '../../utils';\nimport { Args as CleanArgs } from './mfe-package-clean';\nimport { Args as PublishArgs } from './mfe-package-publish';\nimport { Command } from './types';\nimport { lernaExec } from '../utils';\n\ninterface Args extends PublishArgs, CleanArgs {\n clean?: boolean;\n concurrency?: number;\n scope?: string | string[];\n}\n\nexport class MFEPublish
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/commands/mfe-publish.ts"],"sourcesContent":["import { getPackages, isWebComponent, logErrors, PackageType } from '../../utils';\nimport { Args as CleanArgs, MFEPackageClean } from './mfe-package-clean';\nimport { Args as PublishArgs, MFEPackagePublish } from './mfe-package-publish';\nimport { Command } from './types';\nimport { lernaExec } from '../utils';\n\ninterface Args extends PublishArgs, CleanArgs {\n clean?: boolean;\n concurrency?: number;\n scope?: string | string[];\n}\n\nexport class MFEPublish extends Command<Args> {\n static readonly description = 'Publish or unpublish MFE packages';\n static get options() {\n const publishOptions = Object.entries(MFEPackagePublish.options).reduce(\n (result, [key, value]) => {\n result[key] = { group: 'Publish Options:', ...value };\n return result;\n },\n {} as NonNullable<typeof Command.options>\n );\n\n const cleanOptions = Object.entries(MFEPackageClean.options).reduce(\n (result, [key, value]) => {\n result[Object.hasOwn(publishOptions, key) ? `${key}\\u00A0` : key] = {\n group: 'Clean Options:',\n ...value,\n };\n return result;\n },\n {} as NonNullable<typeof Command.options>\n );\n\n return {\n clean: { boolean: true, description: 'Unpublish old versions' },\n concurrency: {\n number: true,\n description: 'Publish/unpublish the specified number of packages concurrently',\n defaultDescription: '1',\n },\n scope: {\n array: true,\n description: 'Publish/unpublish only the specified packages',\n },\n ...publishOptions,\n ...cleanOptions,\n };\n }\n\n @logErrors\n async execute() {\n const packages = getPackages({ scope: this.args.scope, type: PackageType.Webpack }).filter(\n ({ location }) => isWebComponent(location)\n );\n\n if (!packages.length) {\n throw new Error('no packages found for publication');\n }\n\n const isClean = !!this.args.clean;\n await lernaExec({\n 'cmd': `startup mfe-package-${isClean ? 'clean' : 'publish'}`,\n 'parallel': this.args.concurrency ?? 1,\n 'scope': packages.map(({ name }) => name),\n 'stream': true,\n '--': isClean ? this.getCleanOptions() : this.getPublishOptions(),\n });\n }\n\n getPublishOptions() {\n const { build, branch, dry, force, registry, tag, uploadSourcemaps } = this\n .args as PublishArgs;\n return [\n ...[branch && `--branch ${branch}`],\n ...[build && `--build ${build}`],\n ...[dry && '--dry'],\n ...[force && '--force'],\n ...[registry && `--registry ${registry}`],\n ...[typeof tag === 'string' && `--tag ${tag}`],\n ...[uploadSourcemaps === true && `--upload-sourcemaps`],\n ...[uploadSourcemaps === false && `--no-upload-sourcemaps`],\n ].filter(item => !!item) as string[];\n }\n\n getCleanOptions() {\n const { all, branch, count, dry, registry } = this.args as CleanArgs;\n return [\n ...[all && '--all'],\n ...[typeof branch === 'string' && `--branch ${branch}`],\n ...[count && `--count ${count}`],\n ...[dry && '--dry'],\n ...[registry && `--registry ${registry}`],\n ].filter(item => !!item) as string[];\n }\n}\n"],"names":["MFEPublish","Command","options","publishOptions","Object","entries","MFEPackagePublish","reduce","result","key","value","group","cleanOptions","MFEPackageClean","hasOwn","clean","boolean","description","concurrency","number","defaultDescription","scope","array","execute","packages","getPackages","args","type","PackageType","Webpack","filter","location","isWebComponent","length","Error","isClean","lernaExec","map","name","getCleanOptions","getPublishOptions","build","branch","dry","force","registry","tag","uploadSourcemaps","item","all","count"],"mappings":"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"}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import { Command } from './types';
|
|
2
|
-
interface Args {
|
|
1
|
+
import { Command, CommandArgs } from './types';
|
|
2
|
+
interface Args extends CommandArgs {
|
|
3
3
|
watch?: boolean;
|
|
4
4
|
}
|
|
5
|
-
export declare class PreparePackage
|
|
6
|
-
private readonly args;
|
|
7
|
-
constructor(args: Args);
|
|
5
|
+
export declare class PreparePackage extends Command<Args> {
|
|
8
6
|
execute(): Promise<void>;
|
|
9
7
|
}
|
|
10
8
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepare-package.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/prepare-package.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"prepare-package.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/prepare-package.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE/C,UAAU,IAAK,SAAQ,WAAW;IAC9B,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,qBAAa,cAAe,SAAQ,OAAO,CAAC,IAAI,CAAC;IAE7C,OAAO;CAGV"}
|
|
@@ -10,19 +10,7 @@ Object.defineProperty(exports, "PreparePackage", {
|
|
|
10
10
|
});
|
|
11
11
|
const _utils = require("../../utils");
|
|
12
12
|
const _utils1 = require("../utils");
|
|
13
|
-
|
|
14
|
-
if (key in obj) {
|
|
15
|
-
Object.defineProperty(obj, key, {
|
|
16
|
-
value: value,
|
|
17
|
-
enumerable: true,
|
|
18
|
-
configurable: true,
|
|
19
|
-
writable: true
|
|
20
|
-
});
|
|
21
|
-
} else {
|
|
22
|
-
obj[key] = value;
|
|
23
|
-
}
|
|
24
|
-
return obj;
|
|
25
|
-
}
|
|
13
|
+
const _types = require("./types");
|
|
26
14
|
function _ts_decorate(decorators, target, key, desc) {
|
|
27
15
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
28
16
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -32,16 +20,12 @@ function _ts_decorate(decorators, target, key, desc) {
|
|
|
32
20
|
function _ts_metadata(k, v) {
|
|
33
21
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
34
22
|
}
|
|
35
|
-
class PreparePackage {
|
|
23
|
+
class PreparePackage extends _types.Command {
|
|
36
24
|
execute() {
|
|
37
25
|
return (0, _utils1.copyFiles)({
|
|
38
26
|
watch: this.args.watch
|
|
39
27
|
});
|
|
40
28
|
}
|
|
41
|
-
constructor(args){
|
|
42
|
-
_define_property(this, "args", void 0);
|
|
43
|
-
this.args = args;
|
|
44
|
-
}
|
|
45
29
|
}
|
|
46
30
|
_ts_decorate([
|
|
47
31
|
_utils.logErrors,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/cli/commands/prepare-package.ts"],"sourcesContent":["import { logErrors } from '../../utils';\nimport { copyFiles } from '../utils';\nimport { Command } from './types';\n\ninterface Args {\n watch?: boolean;\n}\n\nexport class PreparePackage
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/commands/prepare-package.ts"],"sourcesContent":["import { logErrors } from '../../utils';\nimport { copyFiles } from '../utils';\nimport { Command, CommandArgs } from './types';\n\ninterface Args extends CommandArgs {\n watch?: boolean;\n}\n\nexport class PreparePackage extends Command<Args> {\n @logErrors\n execute() {\n return copyFiles({ watch: this.args.watch });\n }\n}\n"],"names":["PreparePackage","Command","execute","copyFiles","watch","args"],"mappings":";;;;+BAQaA;;;eAAAA;;;uBARa;wBACA;uBACW;;;;;;;;;;AAM9B,MAAMA,uBAAuBC,cAAO;IAEvCC,UAAU;QACN,OAAOC,IAAAA,iBAAS,EAAC;YAAEC,OAAO,IAAI,CAACC,IAAI,CAACD,KAAK;QAAC;IAC9C;AACJ"}
|
|
@@ -1,14 +1,22 @@
|
|
|
1
|
-
import { Command } from '../types';
|
|
2
|
-
interface Args {
|
|
1
|
+
import { Command, CommandArgs } from '../types';
|
|
2
|
+
interface Args extends CommandArgs {
|
|
3
3
|
fix?: boolean;
|
|
4
4
|
rule?: string | string[];
|
|
5
5
|
}
|
|
6
|
-
export declare class Review
|
|
7
|
-
|
|
6
|
+
export declare class Review extends Command<Args> {
|
|
7
|
+
static readonly description = "Check project for configuration errors";
|
|
8
|
+
static readonly options: {
|
|
9
|
+
fix: {
|
|
10
|
+
boolean: boolean;
|
|
11
|
+
description: string;
|
|
12
|
+
};
|
|
13
|
+
rule: {
|
|
14
|
+
array: boolean;
|
|
15
|
+
description: string;
|
|
16
|
+
};
|
|
17
|
+
};
|
|
8
18
|
private readonly severityToLabel;
|
|
9
19
|
private readonly levelToSeverity;
|
|
10
|
-
constructor(args: Args);
|
|
11
|
-
description(): string;
|
|
12
20
|
execute(): Promise<void>;
|
|
13
21
|
private createProject;
|
|
14
22
|
private debug;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/review/review.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/review/review.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAwBhD,UAAU,IAAK,SAAQ,WAAW;IAC9B,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC5B;AAED,qBAAa,MAAO,SAAQ,OAAO,CAAC,IAAI,CAAC;IACrC,MAAM,CAAC,QAAQ,CAAC,WAAW,4CAA4C;IACvE,MAAM,CAAC,QAAQ,CAAC,OAAO;;;;;;;;;MAGrB;IAEF,OAAO,CAAC,QAAQ,CAAC,eAAe,CAG9B;IAEF,OAAO,CAAC,QAAQ,CAAC,eAAe,CAG9B;IAGI,OAAO;IAMb,OAAO,CAAC,aAAa;IAuBrB,OAAO,CAAC,KAAK;IAKb,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,SAAS;IAyCjB,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,YAAY;IAoBpB,OAAO,CAAC,aAAa;IAmBrB,OAAO,CAAC,QAAQ;IAShB,OAAO,CAAC,OAAO;IASf,OAAO,CAAC,SAAS;IAKjB,OAAO,CAAC,QAAQ;IAShB,OAAO,CAAC,OAAO;IAKf,OAAO,CAAC,gBAAgB;CAU3B"}
|
|
@@ -12,7 +12,8 @@ const _chalk = /*#__PURE__*/ _interop_require_default(require("chalk"));
|
|
|
12
12
|
const _child_process = require("child_process");
|
|
13
13
|
const _terminallink = /*#__PURE__*/ _interop_require_default(require("terminal-link"));
|
|
14
14
|
const _utils = require("../../../utils");
|
|
15
|
-
const _types = require("
|
|
15
|
+
const _types = require("../types");
|
|
16
|
+
const _types1 = require("./types");
|
|
16
17
|
const _utils1 = require("./utils");
|
|
17
18
|
const _rules = require("./rules");
|
|
18
19
|
function _define_property(obj, key, value) {
|
|
@@ -43,10 +44,7 @@ function _ts_metadata(k, v) {
|
|
|
43
44
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
44
45
|
}
|
|
45
46
|
const collator = new Intl.Collator();
|
|
46
|
-
class Review {
|
|
47
|
-
description() {
|
|
48
|
-
return 'check project for configuration errors';
|
|
49
|
-
}
|
|
47
|
+
class Review extends _types.Command {
|
|
50
48
|
async execute() {
|
|
51
49
|
const errors = this.args.fix ? this.fixErrors() : this.findErrors();
|
|
52
50
|
const summary = this.reportErrors(errors);
|
|
@@ -95,9 +93,9 @@ class Review {
|
|
|
95
93
|
let errors = this.findErrors(project);
|
|
96
94
|
let totalFixed = 0;
|
|
97
95
|
for (const category of [
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
96
|
+
_types1.FixCategory.isolated,
|
|
97
|
+
_types1.FixCategory.normal,
|
|
98
|
+
_types1.FixCategory.lockFile
|
|
101
99
|
]){
|
|
102
100
|
const fixable = errors.filter(({ fixable })=>fixable === category);
|
|
103
101
|
if (fixable.length === 0) {
|
|
@@ -131,7 +129,7 @@ class Review {
|
|
|
131
129
|
return errors;
|
|
132
130
|
}
|
|
133
131
|
formatError(error) {
|
|
134
|
-
const { location, message, severity =
|
|
132
|
+
const { location, message, severity = _types1.ErrorSeverity.error } = error;
|
|
135
133
|
const label = (0, _utils1.indent)(this.severityToLabel[severity], location ? 1 : 0);
|
|
136
134
|
const details = error.details ? `\n${(0, _utils1.indent)(error.details, location ? 2 : 1)}` : '';
|
|
137
135
|
const link = this.getLink(error);
|
|
@@ -208,28 +206,34 @@ class Review {
|
|
|
208
206
|
}
|
|
209
207
|
return undefined;
|
|
210
208
|
}
|
|
211
|
-
constructor(args){
|
|
212
|
-
_define_property(this, "
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
this
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
};
|
|
220
|
-
this.levelToSeverity = {
|
|
221
|
-
warn: _types.ErrorSeverity.warning,
|
|
222
|
-
error: _types.ErrorSeverity.error
|
|
223
|
-
};
|
|
209
|
+
constructor(...args){
|
|
210
|
+
super(...args), _define_property(this, "severityToLabel", {
|
|
211
|
+
[_types1.ErrorSeverity.warning]: _chalk.default.yellow('warning'),
|
|
212
|
+
[_types1.ErrorSeverity.error]: _chalk.default.red('error')
|
|
213
|
+
}), _define_property(this, "levelToSeverity", {
|
|
214
|
+
warn: _types1.ErrorSeverity.warning,
|
|
215
|
+
error: _types1.ErrorSeverity.error
|
|
216
|
+
});
|
|
224
217
|
}
|
|
225
218
|
}
|
|
219
|
+
_define_property(Review, "description", 'Check project for configuration errors');
|
|
220
|
+
_define_property(Review, "options", {
|
|
221
|
+
fix: {
|
|
222
|
+
boolean: true,
|
|
223
|
+
description: 'Fix detected problems'
|
|
224
|
+
},
|
|
225
|
+
rule: {
|
|
226
|
+
array: true,
|
|
227
|
+
description: 'Limit checks to specified rule(s)'
|
|
228
|
+
}
|
|
229
|
+
});
|
|
226
230
|
_ts_decorate([
|
|
227
231
|
_utils.logErrors,
|
|
228
232
|
_ts_metadata("design:type", Function),
|
|
229
233
|
_ts_metadata("design:paramtypes", []),
|
|
230
234
|
_ts_metadata("design:returntype", Promise)
|
|
231
235
|
], Review.prototype, "execute", null);
|
|
232
|
-
function compareError({ location: locationA = '', severity: severityA =
|
|
236
|
+
function compareError({ location: locationA = '', severity: severityA = _types1.ErrorSeverity.error }, { location: locationB = '', severity: severityB = _types1.ErrorSeverity.error }) {
|
|
233
237
|
return locationA === locationB ? severityA - severityB : collator.compare(locationA, locationB);
|
|
234
238
|
}
|
|
235
239
|
function sortByKey(obj) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/cli/commands/review/review.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { execSync } from 'child_process';\nimport terminalLink from 'terminal-link';\nimport {\n findPackages,\n getReviewConfiguration,\n log,\n logErrors,\n readJsonSafe,\n toArray,\n} from '../../../utils';\nimport { Command } from '../types';\n\nimport {\n ErrorSeverity,\n FixCategory,\n Level,\n Package,\n PackageError,\n PackageRule,\n Project,\n RuleConfiguration,\n} from './types';\nimport {\n collateDependencies,\n ErrorSummary,\n formatLocation,\n indent,\n pluralize,\n summarize,\n} from './utils';\nimport { rules } from './rules';\n\nconst collator = new Intl.Collator();\n\ninterface Args {\n fix?: boolean;\n rule?: string | string[];\n}\n\nexport class Review implements Command {\n private readonly severityToLabel: Record<ErrorSeverity, string> = {\n [ErrorSeverity.warning]: chalk.yellow('warning'),\n [ErrorSeverity.error]: chalk.red('error'),\n };\n\n private readonly levelToSeverity: Partial<Record<Level, ErrorSeverity>> = {\n warn: ErrorSeverity.warning,\n error: ErrorSeverity.error,\n };\n\n constructor(private readonly args: Args) {}\n\n description() {\n return 'check project for configuration errors';\n }\n\n @logErrors\n async execute() {\n const errors = this.args.fix ? this.fixErrors() : this.findErrors();\n const summary = this.reportErrors(errors);\n return summary.error > 0 ? Promise.reject() : Promise.resolve();\n }\n\n private createProject(): Project {\n const root = readJsonSafe('package.json');\n if (!root?.workspaces) {\n throw new Error('this command must be run from the workspace root directory');\n }\n\n const packageLock = readJsonSafe<Project['packageLock']>('package-lock.json');\n if (!packageLock?.packages) {\n throw new Error('this command must be run with valid package-lock.json');\n }\n\n root.location = '.'; // identifies the root package.json for rules that care\n packageLock.location = './package-lock.json';\n\n const config = getReviewConfiguration();\n const packages: Package[] = [root, ...findPackages()];\n const dependencies = sortByKey(collateDependencies(packages));\n this.debug('review:packages', packages);\n this.debug('review:dependencies', dependencies);\n\n return { config, dependencies, packageLock, packages };\n }\n\n private debug(namespace: string, data: any) {\n /* istanbul ignore next: debug only */\n log.debug(namespace, () => data && JSON.stringify(data, null, 2));\n }\n\n private findErrors(project?: Project) {\n const errors = this.runRules(project ?? this.createProject());\n this.debug('review:errors', errors);\n return errors;\n }\n\n private fixErrors() {\n const rulesById = rules.reduce<Record<string, PackageRule>>((result, rule) => {\n result[rule.id] = rule;\n return result;\n }, {});\n\n let project = this.createProject();\n let errors = this.findErrors(project);\n let totalFixed = 0;\n\n for (const category of [FixCategory.isolated, FixCategory.normal, FixCategory.lockFile]) {\n const fixable = errors.filter(({ fixable }) => fixable === category);\n if (fixable.length === 0) {\n continue;\n }\n\n fixable.forEach(error => {\n const rule = rulesById[error.id];\n if (rule.fix) {\n log.text(`Fixing ${this.formatError({ ...error, details: '', location: '' })}`);\n rule.fix(error, project);\n totalFixed += 1;\n }\n });\n\n execSync('npx startup install --fix --quiet', { stdio: 'inherit' });\n project = this.createProject();\n errors = this.findErrors(project);\n }\n\n if (totalFixed > 0) {\n let summary = `Fixed ${pluralize(totalFixed, 'problem')}`;\n if (errors.length) {\n summary = `${summary}, ${pluralize(errors.length, 'problem remains', 'problems remain')}:\\n`;\n }\n log.info(summary);\n }\n\n return errors;\n }\n\n private formatError(error: PackageError) {\n const { location, message, severity = ErrorSeverity.error } = error;\n\n const label = indent(this.severityToLabel[severity], location ? 1 : 0);\n const details = error.details ? `\\n${indent(error.details, location ? 2 : 1)}` : '';\n const link = this.getLink(error);\n\n return `${label} ${message} ${link}${details}`;\n }\n\n private reportErrors(errors: PackageError[]) {\n let prevLocation: string | undefined;\n\n errors.forEach((error, index) => {\n const { location } = error;\n if (index > 0 && (!location || location !== prevLocation)) {\n log.text('');\n }\n if (location && location !== prevLocation) {\n log.text(chalk.underline(formatLocation(location)));\n prevLocation = location;\n }\n log.text(this.formatError(error));\n });\n\n const summary = summarize(errors);\n this.reportSummary(summary);\n return summary;\n }\n\n private reportSummary({ error, warning, fixable }: ErrorSummary) {\n if (error + warning === 0) {\n return log.success('0 problems');\n }\n\n log.text('');\n\n const severity = error ? 'error' : 'warning';\n log[severity](\n `${pluralize(error + warning, 'problem')} (${pluralize(error, 'error')}, ${pluralize(warning, 'warning')})`\n );\n\n if (fixable.error + fixable.warning > 0) {\n log[severity](\n `${pluralize(fixable.error, 'error')} and ${pluralize(fixable.warning, 'warning')} potentially fixable with --fix option`\n );\n }\n }\n\n private runRules(project: Project): PackageError[] {\n const selected = this.getSelectedRules();\n return rules\n .filter(({ id }) => !selected || selected.has(id))\n .flatMap(rule => this.runRule(rule, project))\n .filter(error => !!error)\n .sort(compareError);\n }\n\n private runRule(rule: PackageRule, project: Project) {\n const level = this.getLevel(project.config.rules?.[rule.id]);\n if (level === 'off') {\n return;\n }\n\n return this.transform(rule.run(project), level);\n }\n\n private transform(errors?: PackageError | PackageError[], level?: 'error' | 'warn') {\n const severity = level && this.levelToSeverity[level];\n return errors && severity ? toArray(errors).map(error => ({ ...error, severity })) : errors;\n }\n\n private getLevel(config?: RuleConfiguration) {\n if (typeof config === 'string') {\n return config;\n }\n if (Array.isArray(config) && typeof config[0] === 'string') {\n return config[0];\n }\n }\n\n private getLink({ id }: PackageError) {\n const url = `https://docs.st.dev/docs/frontend/uikit/startup/review#${id}`;\n return chalk.dim(terminalLink(id, url));\n }\n\n private getSelectedRules() {\n const rule = this.args.rule;\n if (typeof rule === 'string' && rule) {\n return new Set([rule]);\n }\n if (Array.isArray(rule)) {\n return new Set(rule.filter(id => !!id));\n }\n return undefined;\n }\n}\n\nfunction compareError(\n { location: locationA = '', severity: severityA = ErrorSeverity.error }: PackageError,\n { location: locationB = '', severity: severityB = ErrorSeverity.error }: PackageError\n) {\n return locationA === locationB ? severityA - severityB : collator.compare(locationA, locationB);\n}\n\nfunction sortByKey<T>(obj: Record<string, T>): Record<string, T> {\n return Object.fromEntries(Object.entries(obj).sort(([a], [b]) => collator.compare(a, b)));\n}\n"],"names":["Review","collator","Intl","Collator","description","execute","errors","args","fix","fixErrors","findErrors","summary","reportErrors","error","Promise","reject","resolve","createProject","root","readJsonSafe","workspaces","Error","packageLock","packages","location","config","getReviewConfiguration","findPackages","dependencies","sortByKey","collateDependencies","debug","namespace","data","log","JSON","stringify","project","runRules","rulesById","rules","reduce","result","rule","id","totalFixed","category","FixCategory","isolated","normal","lockFile","fixable","filter","length","forEach","text","formatError","details","execSync","stdio","pluralize","info","message","severity","ErrorSeverity","label","indent","severityToLabel","link","getLink","prevLocation","index","chalk","underline","formatLocation","summarize","reportSummary","warning","success","selected","getSelectedRules","has","flatMap","runRule","sort","compareError","level","getLevel","transform","run","levelToSeverity","toArray","map","Array","isArray","url","dim","terminalLink","Set","undefined","yellow","red","warn","locationA","severityA","locationB","severityB","compare","obj","Object","fromEntries","entries","a","b"],"mappings":";;;;+BAwCaA;;;eAAAA;;;8DAxCK;+BACO;qEACA;uBAQlB;uBAYA;wBAQA;uBACe;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEtB,MAAMC,WAAW,IAAIC,KAAKC,QAAQ;AAO3B,MAAMH;IAaTI,cAAc;QACV,OAAO;IACX;IAEA,MACMC,UAAU;QACZ,MAAMC,SAAS,IAAI,CAACC,IAAI,CAACC,GAAG,GAAG,IAAI,CAACC,SAAS,KAAK,IAAI,CAACC,UAAU;QACjE,MAAMC,UAAU,IAAI,CAACC,YAAY,CAACN;QAClC,OAAOK,QAAQE,KAAK,GAAG,IAAIC,QAAQC,MAAM,KAAKD,QAAQE,OAAO;IACjE;IAEQC,gBAAyB;QAC7B,MAAMC,OAAOC,IAAAA,mBAAY,EAAC;QAC1B,IAAI,EAACD,iBAAAA,2BAAAA,KAAME,UAAU,GAAE;YACnB,MAAM,IAAIC,MAAM;QACpB;QAEA,MAAMC,cAAcH,IAAAA,mBAAY,EAAyB;QACzD,IAAI,EAACG,wBAAAA,kCAAAA,YAAaC,QAAQ,GAAE;YACxB,MAAM,IAAIF,MAAM;QACpB;QAEAH,KAAKM,QAAQ,GAAG,KAAK,uDAAuD;QAC5EF,YAAYE,QAAQ,GAAG;QAEvB,MAAMC,SAASC,IAAAA,6BAAsB;QACrC,MAAMH,WAAsB;YAACL;eAASS,IAAAA,mBAAY;SAAG;QACrD,MAAMC,eAAeC,UAAUC,IAAAA,2BAAmB,EAACP;QACnD,IAAI,CAACQ,KAAK,CAAC,mBAAmBR;QAC9B,IAAI,CAACQ,KAAK,CAAC,uBAAuBH;QAElC,OAAO;YAAEH;YAAQG;YAAcN;YAAaC;QAAS;IACzD;IAEQQ,MAAMC,SAAiB,EAAEC,IAAS,EAAE;QACxC,oCAAoC,GACpCC,UAAG,CAACH,KAAK,CAACC,WAAW,IAAMC,QAAQE,KAAKC,SAAS,CAACH,MAAM,MAAM;IAClE;IAEQvB,WAAW2B,OAAiB,EAAE;QAClC,MAAM/B,SAAS,IAAI,CAACgC,QAAQ,CAACD,oBAAAA,qBAAAA,UAAW,IAAI,CAACpB,aAAa;QAC1D,IAAI,CAACc,KAAK,CAAC,iBAAiBzB;QAC5B,OAAOA;IACX;IAEQG,YAAY;QAChB,MAAM8B,YAAYC,YAAK,CAACC,MAAM,CAA8B,CAACC,QAAQC;YACjED,MAAM,CAACC,KAAKC,EAAE,CAAC,GAAGD;YAClB,OAAOD;QACX,GAAG,CAAC;QAEJ,IAAIL,UAAU,IAAI,CAACpB,aAAa;QAChC,IAAIX,SAAS,IAAI,CAACI,UAAU,CAAC2B;QAC7B,IAAIQ,aAAa;QAEjB,KAAK,MAAMC,YAAY;YAACC,kBAAW,CAACC,QAAQ;YAAED,kBAAW,CAACE,MAAM;YAAEF,kBAAW,CAACG,QAAQ;SAAC,CAAE;YACrF,MAAMC,UAAU7C,OAAO8C,MAAM,CAAC,CAAC,EAAED,OAAO,EAAE,GAAKA,YAAYL;YAC3D,IAAIK,QAAQE,MAAM,KAAK,GAAG;gBACtB;YACJ;YAEAF,QAAQG,OAAO,CAACzC,CAAAA;gBACZ,MAAM8B,OAAOJ,SAAS,CAAC1B,MAAM+B,EAAE,CAAC;gBAChC,IAAID,KAAKnC,GAAG,EAAE;oBACV0B,UAAG,CAACqB,IAAI,CAAC,CAAC,OAAO,EAAE,IAAI,CAACC,WAAW,CAAC;wBAAE,GAAG3C,KAAK;wBAAE4C,SAAS;wBAAIjC,UAAU;oBAAG,IAAI;oBAC9EmB,KAAKnC,GAAG,CAACK,OAAOwB;oBAChBQ,cAAc;gBAClB;YACJ;YAEAa,IAAAA,uBAAQ,EAAC,qCAAqC;gBAAEC,OAAO;YAAU;YACjEtB,UAAU,IAAI,CAACpB,aAAa;YAC5BX,SAAS,IAAI,CAACI,UAAU,CAAC2B;QAC7B;QAEA,IAAIQ,aAAa,GAAG;YAChB,IAAIlC,UAAU,CAAC,MAAM,EAAEiD,IAAAA,iBAAS,EAACf,YAAY,YAAY;YACzD,IAAIvC,OAAO+C,MAAM,EAAE;gBACf1C,UAAU,GAAGA,QAAQ,EAAE,EAAEiD,IAAAA,iBAAS,EAACtD,OAAO+C,MAAM,EAAE,mBAAmB,mBAAmB,GAAG,CAAC;YAChG;YACAnB,UAAG,CAAC2B,IAAI,CAAClD;QACb;QAEA,OAAOL;IACX;IAEQkD,YAAY3C,KAAmB,EAAE;QACrC,MAAM,EAAEW,QAAQ,EAAEsC,OAAO,EAAEC,WAAWC,oBAAa,CAACnD,KAAK,EAAE,GAAGA;QAE9D,MAAMoD,QAAQC,IAAAA,cAAM,EAAC,IAAI,CAACC,eAAe,CAACJ,SAAS,EAAEvC,WAAW,IAAI;QACpE,MAAMiC,UAAU5C,MAAM4C,OAAO,GAAG,CAAC,EAAE,EAAES,IAAAA,cAAM,EAACrD,MAAM4C,OAAO,EAAEjC,WAAW,IAAI,IAAI,GAAG;QACjF,MAAM4C,OAAO,IAAI,CAACC,OAAO,CAACxD;QAE1B,OAAO,GAAGoD,MAAM,CAAC,EAAEH,QAAQ,CAAC,EAAEM,OAAOX,SAAS;IAClD;IAEQ7C,aAAaN,MAAsB,EAAE;QACzC,IAAIgE;QAEJhE,OAAOgD,OAAO,CAAC,CAACzC,OAAO0D;YACnB,MAAM,EAAE/C,QAAQ,EAAE,GAAGX;YACrB,IAAI0D,QAAQ,KAAM,CAAA,CAAC/C,YAAYA,aAAa8C,YAAW,GAAI;gBACvDpC,UAAG,CAACqB,IAAI,CAAC;YACb;YACA,IAAI/B,YAAYA,aAAa8C,cAAc;gBACvCpC,UAAG,CAACqB,IAAI,CAACiB,cAAK,CAACC,SAAS,CAACC,IAAAA,sBAAc,EAAClD;gBACxC8C,eAAe9C;YACnB;YACAU,UAAG,CAACqB,IAAI,CAAC,IAAI,CAACC,WAAW,CAAC3C;QAC9B;QAEA,MAAMF,UAAUgE,IAAAA,iBAAS,EAACrE;QAC1B,IAAI,CAACsE,aAAa,CAACjE;QACnB,OAAOA;IACX;IAEQiE,cAAc,EAAE/D,KAAK,EAAEgE,OAAO,EAAE1B,OAAO,EAAgB,EAAE;QAC7D,IAAItC,QAAQgE,YAAY,GAAG;YACvB,OAAO3C,UAAG,CAAC4C,OAAO,CAAC;QACvB;QAEA5C,UAAG,CAACqB,IAAI,CAAC;QAET,MAAMQ,WAAWlD,QAAQ,UAAU;QACnCqB,UAAG,CAAC6B,SAAS,CACT,GAAGH,IAAAA,iBAAS,EAAC/C,QAAQgE,SAAS,WAAW,EAAE,EAAEjB,IAAAA,iBAAS,EAAC/C,OAAO,SAAS,EAAE,EAAE+C,IAAAA,iBAAS,EAACiB,SAAS,WAAW,CAAC,CAAC;QAG/G,IAAI1B,QAAQtC,KAAK,GAAGsC,QAAQ0B,OAAO,GAAG,GAAG;YACrC3C,UAAG,CAAC6B,SAAS,CACT,GAAGH,IAAAA,iBAAS,EAACT,QAAQtC,KAAK,EAAE,SAAS,KAAK,EAAE+C,IAAAA,iBAAS,EAACT,QAAQ0B,OAAO,EAAE,WAAW,sCAAsC,CAAC;QAEjI;IACJ;IAEQvC,SAASD,OAAgB,EAAkB;QAC/C,MAAM0C,WAAW,IAAI,CAACC,gBAAgB;QACtC,OAAOxC,YAAK,CACPY,MAAM,CAAC,CAAC,EAAER,EAAE,EAAE,GAAK,CAACmC,YAAYA,SAASE,GAAG,CAACrC,KAC7CsC,OAAO,CAACvC,CAAAA,OAAQ,IAAI,CAACwC,OAAO,CAACxC,MAAMN,UACnCe,MAAM,CAACvC,CAAAA,QAAS,CAAC,CAACA,OAClBuE,IAAI,CAACC;IACd;IAEQF,QAAQxC,IAAiB,EAAEN,OAAgB,EAAE;YACrBA;QAA5B,MAAMiD,QAAQ,IAAI,CAACC,QAAQ,EAAClD,wBAAAA,QAAQZ,MAAM,CAACe,KAAK,cAApBH,4CAAAA,qBAAsB,CAACM,KAAKC,EAAE,CAAC;QAC3D,IAAI0C,UAAU,OAAO;YACjB;QACJ;QAEA,OAAO,IAAI,CAACE,SAAS,CAAC7C,KAAK8C,GAAG,CAACpD,UAAUiD;IAC7C;IAEQE,UAAUlF,MAAsC,EAAEgF,KAAwB,EAAE;QAChF,MAAMvB,WAAWuB,SAAS,IAAI,CAACI,eAAe,CAACJ,MAAM;QACrD,OAAOhF,UAAUyD,WAAW4B,IAAAA,cAAO,EAACrF,QAAQsF,GAAG,CAAC/E,CAAAA,QAAU,CAAA;gBAAE,GAAGA,KAAK;gBAAEkD;YAAS,CAAA,KAAMzD;IACzF;IAEQiF,SAAS9D,MAA0B,EAAE;QACzC,IAAI,OAAOA,WAAW,UAAU;YAC5B,OAAOA;QACX;QACA,IAAIoE,MAAMC,OAAO,CAACrE,WAAW,OAAOA,MAAM,CAAC,EAAE,KAAK,UAAU;YACxD,OAAOA,MAAM,CAAC,EAAE;QACpB;IACJ;IAEQ4C,QAAQ,EAAEzB,EAAE,EAAgB,EAAE;QAClC,MAAMmD,MAAM,CAAC,uDAAuD,EAAEnD,IAAI;QAC1E,OAAO4B,cAAK,CAACwB,GAAG,CAACC,IAAAA,qBAAY,EAACrD,IAAImD;IACtC;IAEQf,mBAAmB;QACvB,MAAMrC,OAAO,IAAI,CAACpC,IAAI,CAACoC,IAAI;QAC3B,IAAI,OAAOA,SAAS,YAAYA,MAAM;YAClC,OAAO,IAAIuD,IAAI;gBAACvD;aAAK;QACzB;QACA,IAAIkD,MAAMC,OAAO,CAACnD,OAAO;YACrB,OAAO,IAAIuD,IAAIvD,KAAKS,MAAM,CAACR,CAAAA,KAAM,CAAC,CAACA;QACvC;QACA,OAAOuD;IACX;IAvLA,YAAY,AAAiB5F,IAAU,CAAE;;QAVzC,uBAAiB4D,mBAAjB,KAAA;QAKA,uBAAiBuB,mBAAjB,KAAA;aAK6BnF,OAAAA;aAVZ4D,kBAAiD;YAC9D,CAACH,oBAAa,CAACa,OAAO,CAAC,EAAEL,cAAK,CAAC4B,MAAM,CAAC;YACtC,CAACpC,oBAAa,CAACnD,KAAK,CAAC,EAAE2D,cAAK,CAAC6B,GAAG,CAAC;QACrC;aAEiBX,kBAAyD;YACtEY,MAAMtC,oBAAa,CAACa,OAAO;YAC3BhE,OAAOmD,oBAAa,CAACnD,KAAK;QAC9B;IAE0C;AAwL9C;;;;;;;AAEA,SAASwE,aACL,EAAE7D,UAAU+E,YAAY,EAAE,EAAExC,UAAUyC,YAAYxC,oBAAa,CAACnD,KAAK,EAAgB,EACrF,EAAEW,UAAUiF,YAAY,EAAE,EAAE1C,UAAU2C,YAAY1C,oBAAa,CAACnD,KAAK,EAAgB;IAErF,OAAO0F,cAAcE,YAAYD,YAAYE,YAAYzG,SAAS0G,OAAO,CAACJ,WAAWE;AACzF;AAEA,SAAS5E,UAAa+E,GAAsB;IACxC,OAAOC,OAAOC,WAAW,CAACD,OAAOE,OAAO,CAACH,KAAKxB,IAAI,CAAC,CAAC,CAAC4B,EAAE,EAAE,CAACC,EAAE,GAAKhH,SAAS0G,OAAO,CAACK,GAAGC;AACzF"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/cli/commands/review/review.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { execSync } from 'child_process';\nimport terminalLink from 'terminal-link';\nimport {\n findPackages,\n getReviewConfiguration,\n log,\n logErrors,\n readJsonSafe,\n toArray,\n} from '../../../utils';\nimport { Command, CommandArgs } from '../types';\n\nimport {\n ErrorSeverity,\n FixCategory,\n Level,\n Package,\n PackageError,\n PackageRule,\n Project,\n RuleConfiguration,\n} from './types';\nimport {\n collateDependencies,\n ErrorSummary,\n formatLocation,\n indent,\n pluralize,\n summarize,\n} from './utils';\nimport { rules } from './rules';\n\nconst collator = new Intl.Collator();\n\ninterface Args extends CommandArgs {\n fix?: boolean;\n rule?: string | string[];\n}\n\nexport class Review extends Command<Args> {\n static readonly description = 'Check project for configuration errors';\n static readonly options = {\n fix: { boolean: true, description: 'Fix detected problems' },\n rule: { array: true, description: 'Limit checks to specified rule(s)' },\n };\n\n private readonly severityToLabel: Record<ErrorSeverity, string> = {\n [ErrorSeverity.warning]: chalk.yellow('warning'),\n [ErrorSeverity.error]: chalk.red('error'),\n };\n\n private readonly levelToSeverity: Partial<Record<Level, ErrorSeverity>> = {\n warn: ErrorSeverity.warning,\n error: ErrorSeverity.error,\n };\n\n @logErrors\n async execute() {\n const errors = this.args.fix ? this.fixErrors() : this.findErrors();\n const summary = this.reportErrors(errors);\n return summary.error > 0 ? Promise.reject() : Promise.resolve();\n }\n\n private createProject(): Project {\n const root = readJsonSafe('package.json');\n if (!root?.workspaces) {\n throw new Error('this command must be run from the workspace root directory');\n }\n\n const packageLock = readJsonSafe<Project['packageLock']>('package-lock.json');\n if (!packageLock?.packages) {\n throw new Error('this command must be run with valid package-lock.json');\n }\n\n root.location = '.'; // identifies the root package.json for rules that care\n packageLock.location = './package-lock.json';\n\n const config = getReviewConfiguration();\n const packages: Package[] = [root, ...findPackages()];\n const dependencies = sortByKey(collateDependencies(packages));\n this.debug('review:packages', packages);\n this.debug('review:dependencies', dependencies);\n\n return { config, dependencies, packageLock, packages };\n }\n\n private debug(namespace: string, data: any) {\n /* istanbul ignore next: debug only */\n log.debug(namespace, () => data && JSON.stringify(data, null, 2));\n }\n\n private findErrors(project?: Project) {\n const errors = this.runRules(project ?? this.createProject());\n this.debug('review:errors', errors);\n return errors;\n }\n\n private fixErrors() {\n const rulesById = rules.reduce<Record<string, PackageRule>>((result, rule) => {\n result[rule.id] = rule;\n return result;\n }, {});\n\n let project = this.createProject();\n let errors = this.findErrors(project);\n let totalFixed = 0;\n\n for (const category of [FixCategory.isolated, FixCategory.normal, FixCategory.lockFile]) {\n const fixable = errors.filter(({ fixable }) => fixable === category);\n if (fixable.length === 0) {\n continue;\n }\n\n fixable.forEach(error => {\n const rule = rulesById[error.id];\n if (rule.fix) {\n log.text(`Fixing ${this.formatError({ ...error, details: '', location: '' })}`);\n rule.fix(error, project);\n totalFixed += 1;\n }\n });\n\n execSync('npx startup install --fix --quiet', { stdio: 'inherit' });\n project = this.createProject();\n errors = this.findErrors(project);\n }\n\n if (totalFixed > 0) {\n let summary = `Fixed ${pluralize(totalFixed, 'problem')}`;\n if (errors.length) {\n summary = `${summary}, ${pluralize(errors.length, 'problem remains', 'problems remain')}:\\n`;\n }\n log.info(summary);\n }\n\n return errors;\n }\n\n private formatError(error: PackageError) {\n const { location, message, severity = ErrorSeverity.error } = error;\n\n const label = indent(this.severityToLabel[severity], location ? 1 : 0);\n const details = error.details ? `\\n${indent(error.details, location ? 2 : 1)}` : '';\n const link = this.getLink(error);\n\n return `${label} ${message} ${link}${details}`;\n }\n\n private reportErrors(errors: PackageError[]) {\n let prevLocation: string | undefined;\n\n errors.forEach((error, index) => {\n const { location } = error;\n if (index > 0 && (!location || location !== prevLocation)) {\n log.text('');\n }\n if (location && location !== prevLocation) {\n log.text(chalk.underline(formatLocation(location)));\n prevLocation = location;\n }\n log.text(this.formatError(error));\n });\n\n const summary = summarize(errors);\n this.reportSummary(summary);\n return summary;\n }\n\n private reportSummary({ error, warning, fixable }: ErrorSummary) {\n if (error + warning === 0) {\n return log.success('0 problems');\n }\n\n log.text('');\n\n const severity = error ? 'error' : 'warning';\n log[severity](\n `${pluralize(error + warning, 'problem')} (${pluralize(error, 'error')}, ${pluralize(warning, 'warning')})`\n );\n\n if (fixable.error + fixable.warning > 0) {\n log[severity](\n `${pluralize(fixable.error, 'error')} and ${pluralize(fixable.warning, 'warning')} potentially fixable with --fix option`\n );\n }\n }\n\n private runRules(project: Project): PackageError[] {\n const selected = this.getSelectedRules();\n return rules\n .filter(({ id }) => !selected || selected.has(id))\n .flatMap(rule => this.runRule(rule, project))\n .filter(error => !!error)\n .sort(compareError);\n }\n\n private runRule(rule: PackageRule, project: Project) {\n const level = this.getLevel(project.config.rules?.[rule.id]);\n if (level === 'off') {\n return;\n }\n\n return this.transform(rule.run(project), level);\n }\n\n private transform(errors?: PackageError | PackageError[], level?: 'error' | 'warn') {\n const severity = level && this.levelToSeverity[level];\n return errors && severity ? toArray(errors).map(error => ({ ...error, severity })) : errors;\n }\n\n private getLevel(config?: RuleConfiguration) {\n if (typeof config === 'string') {\n return config;\n }\n if (Array.isArray(config) && typeof config[0] === 'string') {\n return config[0];\n }\n }\n\n private getLink({ id }: PackageError) {\n const url = `https://docs.st.dev/docs/frontend/uikit/startup/review#${id}`;\n return chalk.dim(terminalLink(id, url));\n }\n\n private getSelectedRules() {\n const rule = this.args.rule;\n if (typeof rule === 'string' && rule) {\n return new Set([rule]);\n }\n if (Array.isArray(rule)) {\n return new Set(rule.filter(id => !!id));\n }\n return undefined;\n }\n}\n\nfunction compareError(\n { location: locationA = '', severity: severityA = ErrorSeverity.error }: PackageError,\n { location: locationB = '', severity: severityB = ErrorSeverity.error }: PackageError\n) {\n return locationA === locationB ? severityA - severityB : collator.compare(locationA, locationB);\n}\n\nfunction sortByKey<T>(obj: Record<string, T>): Record<string, T> {\n return Object.fromEntries(Object.entries(obj).sort(([a], [b]) => collator.compare(a, b)));\n}\n"],"names":["Review","collator","Intl","Collator","Command","execute","errors","args","fix","fixErrors","findErrors","summary","reportErrors","error","Promise","reject","resolve","createProject","root","readJsonSafe","workspaces","Error","packageLock","packages","location","config","getReviewConfiguration","findPackages","dependencies","sortByKey","collateDependencies","debug","namespace","data","log","JSON","stringify","project","runRules","rulesById","rules","reduce","result","rule","id","totalFixed","category","FixCategory","isolated","normal","lockFile","fixable","filter","length","forEach","text","formatError","details","execSync","stdio","pluralize","info","message","severity","ErrorSeverity","label","indent","severityToLabel","link","getLink","prevLocation","index","chalk","underline","formatLocation","summarize","reportSummary","warning","success","selected","getSelectedRules","has","flatMap","runRule","sort","compareError","level","getLevel","transform","run","levelToSeverity","toArray","map","Array","isArray","url","dim","terminalLink","Set","undefined","yellow","red","warn","description","options","boolean","array","locationA","severityA","locationB","severityB","compare","obj","Object","fromEntries","entries","a","b"],"mappings":"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"}
|
|
@@ -1,11 +1,15 @@
|
|
|
1
|
-
import { Command } from './types';
|
|
2
|
-
interface Args {
|
|
3
|
-
[key: string]: unknown;
|
|
1
|
+
import { Command, CommandArgs } from './types';
|
|
2
|
+
interface Args extends CommandArgs {
|
|
4
3
|
_: string[];
|
|
4
|
+
taskName?: string;
|
|
5
|
+
taskArgs?: string[];
|
|
5
6
|
}
|
|
6
|
-
export declare class RunTask
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
export declare class RunTask extends Command<Args> {
|
|
8
|
+
static readonly options: {
|
|
9
|
+
_: {
|
|
10
|
+
description: string;
|
|
11
|
+
};
|
|
12
|
+
};
|
|
9
13
|
execute(): Promise<void>;
|
|
10
14
|
}
|
|
11
15
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-task.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/run-task.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"run-task.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/run-task.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE/C,UAAU,IAAK,SAAQ,WAAW;IAC9B,CAAC,EAAE,MAAM,EAAE,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAQD,qBAAa,OAAQ,SAAQ,OAAO,CAAC,IAAI,CAAC;IACtC,MAAM,CAAC,QAAQ,CAAC,OAAO;;;;MAErB;IAGI,OAAO;CAchB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
/* eslint-disable @typescript-eslint/naming-convention */ "use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
@@ -12,6 +12,7 @@ const _utils = require("../../utils");
|
|
|
12
12
|
const _swccompilepackage = require("../tasks/swc-compile-package");
|
|
13
13
|
const _tsccompilepackage = require("../tasks/tsc-compile-package");
|
|
14
14
|
const _tsccompile = require("../tasks/tsc-compile");
|
|
15
|
+
const _types = require("./types");
|
|
15
16
|
function _define_property(obj, key, value) {
|
|
16
17
|
if (key in obj) {
|
|
17
18
|
Object.defineProperty(obj, key, {
|
|
@@ -39,26 +40,28 @@ const tasks = {
|
|
|
39
40
|
'swc-compile-package': _swccompilepackage.SwcCompilePackage,
|
|
40
41
|
'tsc-compile': _tsccompile.TscCompile
|
|
41
42
|
};
|
|
42
|
-
class RunTask {
|
|
43
|
+
class RunTask extends _types.Command {
|
|
43
44
|
async execute() {
|
|
44
|
-
const taskName = this.args._[0];
|
|
45
|
+
const { _, taskName = this.args._[0], taskArgs = [], ...restOptions } = this.args;
|
|
45
46
|
if (taskName in tasks) {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
47
|
+
await new tasks[taskName]({
|
|
48
|
+
_: [
|
|
49
|
+
..._,
|
|
50
|
+
...taskArgs
|
|
51
|
+
],
|
|
52
|
+
...restOptions
|
|
53
|
+
}).execute();
|
|
52
54
|
return;
|
|
53
55
|
}
|
|
54
56
|
_utils.log.error(`Unknown task: "${taskName}"`);
|
|
55
57
|
_utils.log.text(`\nSupported tasks: "${Object.keys(tasks).join('", "')}"`);
|
|
56
58
|
}
|
|
57
|
-
constructor(args){
|
|
58
|
-
_define_property(this, "args", void 0);
|
|
59
|
-
this.args = args;
|
|
60
|
-
}
|
|
61
59
|
}
|
|
60
|
+
_define_property(RunTask, "options", {
|
|
61
|
+
_: {
|
|
62
|
+
description: '<taskName> [taskArgs...]'
|
|
63
|
+
}
|
|
64
|
+
});
|
|
62
65
|
_ts_decorate([
|
|
63
66
|
_utils.logErrors,
|
|
64
67
|
_ts_metadata("design:type", Function),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/cli/commands/run-task.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/commands/run-task.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\nimport { log, logErrors } from '../../utils';\nimport { SwcCompilePackage } from '../tasks/swc-compile-package';\nimport { TscCompilePackage } from '../tasks/tsc-compile-package';\nimport { TscCompile } from '../tasks/tsc-compile';\nimport { Task } from '../tasks/task';\nimport { Command, CommandArgs } from './types';\n\ninterface Args extends CommandArgs {\n _: string[];\n taskName?: string;\n taskArgs?: string[];\n}\n\nconst tasks: Record<string, new (args: { [key: string]: unknown }) => Task> = {\n 'tsc-compile-package': TscCompilePackage,\n 'swc-compile-package': SwcCompilePackage,\n 'tsc-compile': TscCompile,\n};\n\nexport class RunTask extends Command<Args> {\n static readonly options = {\n _: { description: '<taskName> [taskArgs...]' },\n };\n\n @logErrors\n async execute() {\n const { _, taskName = this.args._[0], taskArgs = [], ...restOptions } = this.args;\n\n if (taskName in tasks) {\n await new tasks[taskName]({\n _: [..._, ...taskArgs],\n ...restOptions,\n }).execute();\n return;\n }\n\n log.error(`Unknown task: \"${taskName}\"`);\n log.text(`\\nSupported tasks: \"${Object.keys(tasks).join('\", \"')}\"`);\n }\n}\n"],"names":["RunTask","tasks","TscCompilePackage","SwcCompilePackage","TscCompile","Command","execute","_","taskName","args","taskArgs","restOptions","log","error","text","Object","keys","join","options","description"],"mappings":"AAAA,uDAAuD;;;;+BAoB1CA;;;eAAAA;;;uBAnBkB;mCACG;mCACA;4BACP;uBAEU;;;;;;;;;;;;;;;;;;;;;;;AAQrC,MAAMC,QAAwE;IAC1E,uBAAuBC,oCAAiB;IACxC,uBAAuBC,oCAAiB;IACxC,eAAeC,sBAAU;AAC7B;AAEO,MAAMJ,gBAAgBK,cAAO;IAKhC,MACMC,UAAU;QACZ,MAAM,EAAEC,CAAC,EAAEC,WAAW,IAAI,CAACC,IAAI,CAACF,CAAC,CAAC,EAAE,EAAEG,WAAW,EAAE,EAAE,GAAGC,aAAa,GAAG,IAAI,CAACF,IAAI;QAEjF,IAAID,YAAYP,OAAO;YACnB,MAAM,IAAIA,KAAK,CAACO,SAAS,CAAC;gBACtBD,GAAG;uBAAIA;uBAAMG;iBAAS;gBACtB,GAAGC,WAAW;YAClB,GAAGL,OAAO;YACV;QACJ;QAEAM,UAAG,CAACC,KAAK,CAAC,CAAC,eAAe,EAAEL,SAAS,CAAC,CAAC;QACvCI,UAAG,CAACE,IAAI,CAAC,CAAC,oBAAoB,EAAEC,OAAOC,IAAI,CAACf,OAAOgB,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtE;AACJ;AAnBI,iBADSjB,SACOkB,WAAU;IACtBX,GAAG;QAAEY,aAAa;IAA2B;AACjD"}
|
|
@@ -1,16 +1,37 @@
|
|
|
1
|
-
import { Command } from './types';
|
|
2
|
-
interface Args {
|
|
1
|
+
import { Command, CommandArgs } from './types';
|
|
2
|
+
interface Args extends CommandArgs {
|
|
3
3
|
'config'?: string;
|
|
4
4
|
'code-coverage'?: boolean;
|
|
5
5
|
'ignore'?: string | string[];
|
|
6
6
|
'scope'?: string | string[];
|
|
7
7
|
'use-tsc'?: boolean;
|
|
8
8
|
}
|
|
9
|
-
export declare class Start
|
|
10
|
-
|
|
11
|
-
readonly greedy = true;
|
|
12
|
-
|
|
13
|
-
|
|
9
|
+
export declare class Start extends Command<Args> {
|
|
10
|
+
static readonly description = "Run project in development mode";
|
|
11
|
+
static readonly greedy = true;
|
|
12
|
+
static readonly options: {
|
|
13
|
+
config: {
|
|
14
|
+
string: boolean;
|
|
15
|
+
hidden: boolean;
|
|
16
|
+
description: string;
|
|
17
|
+
};
|
|
18
|
+
'code-coverage': {
|
|
19
|
+
boolean: boolean;
|
|
20
|
+
description: string;
|
|
21
|
+
};
|
|
22
|
+
ignore: {
|
|
23
|
+
array: boolean;
|
|
24
|
+
description: string;
|
|
25
|
+
};
|
|
26
|
+
scope: {
|
|
27
|
+
array: boolean;
|
|
28
|
+
description: string;
|
|
29
|
+
};
|
|
30
|
+
'use-tsc': {
|
|
31
|
+
boolean: boolean;
|
|
32
|
+
description: string;
|
|
33
|
+
};
|
|
34
|
+
};
|
|
14
35
|
execute(): Promise<void>;
|
|
15
36
|
}
|
|
16
37
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE/C,UAAU,IAAK,SAAQ,WAAW;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB;AAYD,qBAAa,KAAM,SAAQ,OAAO,CAAC,IAAI,CAAC;IACpC,MAAM,CAAC,QAAQ,CAAC,WAAW,qCAAqC;IAChE,MAAM,CAAC,QAAQ,CAAC,MAAM,QAAQ;IAC9B,MAAM,CAAC,QAAQ,CAAC,OAAO;;;;;;;;;;;;;;;;;;;;;;MAMrB;IAGI,OAAO;CA+HhB"}
|
|
@@ -10,6 +10,7 @@ Object.defineProperty(exports, "Start", {
|
|
|
10
10
|
});
|
|
11
11
|
const _utils = require("../../utils");
|
|
12
12
|
const _utils1 = require("../utils");
|
|
13
|
+
const _types = require("./types");
|
|
13
14
|
function _define_property(obj, key, value) {
|
|
14
15
|
if (key in obj) {
|
|
15
16
|
Object.defineProperty(obj, key, {
|
|
@@ -42,10 +43,7 @@ var StartProcesses = /*#__PURE__*/ function(StartProcesses) {
|
|
|
42
43
|
StartProcesses[StartProcesses["BundlePackage"] = 6] = "BundlePackage";
|
|
43
44
|
return StartProcesses;
|
|
44
45
|
}(StartProcesses || {});
|
|
45
|
-
class Start {
|
|
46
|
-
description() {
|
|
47
|
-
return 'run project in development mode';
|
|
48
|
-
}
|
|
46
|
+
class Start extends _types.Command {
|
|
49
47
|
async execute() {
|
|
50
48
|
(0, _utils1.checkArgs)(this.args, {
|
|
51
49
|
obsolete: [
|
|
@@ -169,13 +167,32 @@ class Start {
|
|
|
169
167
|
});
|
|
170
168
|
await processTree.run();
|
|
171
169
|
}
|
|
172
|
-
constructor(args){
|
|
173
|
-
_define_property(this, "args", void 0);
|
|
174
|
-
_define_property(this, "greedy", void 0);
|
|
175
|
-
this.args = args;
|
|
176
|
-
this.greedy = true;
|
|
177
|
-
}
|
|
178
170
|
}
|
|
171
|
+
_define_property(Start, "description", 'Run project in development mode');
|
|
172
|
+
_define_property(Start, "greedy", true);
|
|
173
|
+
_define_property(Start, "options", {
|
|
174
|
+
'config': {
|
|
175
|
+
string: true,
|
|
176
|
+
hidden: true,
|
|
177
|
+
description: 'Use specified configuration'
|
|
178
|
+
},
|
|
179
|
+
'code-coverage': {
|
|
180
|
+
boolean: true,
|
|
181
|
+
description: 'Instrument code for coverage analysis?'
|
|
182
|
+
},
|
|
183
|
+
'ignore': {
|
|
184
|
+
array: true,
|
|
185
|
+
description: 'Packages to skip'
|
|
186
|
+
},
|
|
187
|
+
'scope': {
|
|
188
|
+
array: true,
|
|
189
|
+
description: 'Packages to run and watch'
|
|
190
|
+
},
|
|
191
|
+
'use-tsc': {
|
|
192
|
+
boolean: true,
|
|
193
|
+
description: 'Use tsc to compile packages?'
|
|
194
|
+
}
|
|
195
|
+
});
|
|
179
196
|
_ts_decorate([
|
|
180
197
|
_utils.logErrors,
|
|
181
198
|
_ts_metadata("design:type", Function),
|