@servicetitan/startup 31.5.0 → 31.6.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/dist/cli/commands/build.d.ts +1 -1
- package/dist/cli/commands/build.d.ts.map +1 -1
- package/dist/cli/commands/build.js.map +1 -1
- package/dist/cli/commands/bundle-package.d.ts +1 -1
- package/dist/cli/commands/bundle-package.d.ts.map +1 -1
- package/dist/cli/commands/bundle-package.js.map +1 -1
- package/dist/cli/commands/eslint.d.ts +1 -1
- package/dist/cli/commands/eslint.d.ts.map +1 -1
- package/dist/cli/commands/eslint.js.map +1 -1
- package/dist/cli/commands/get-command.js +2 -2
- package/dist/cli/commands/get-command.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 +1 -1
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/init.d.ts +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/lint.d.ts +1 -1
- package/dist/cli/commands/lint.d.ts.map +1 -1
- package/dist/cli/commands/lint.js.map +1 -1
- package/dist/cli/commands/mfe-publish.d.ts +1 -1
- package/dist/cli/commands/mfe-publish.d.ts.map +1 -1
- package/dist/cli/commands/mfe-publish.js.map +1 -1
- package/dist/cli/commands/prepare-package.d.ts +1 -1
- package/dist/cli/commands/prepare-package.d.ts.map +1 -1
- package/dist/cli/commands/prepare-package.js.map +1 -1
- package/dist/cli/commands/review/rules/index.d.ts.map +1 -1
- package/dist/cli/commands/review/rules/index.js +4 -0
- package/dist/cli/commands/review/rules/index.js.map +1 -1
- package/dist/cli/commands/review/rules/require-all-react-dependencies.d.ts +14 -0
- package/dist/cli/commands/review/rules/require-all-react-dependencies.d.ts.map +1 -0
- package/dist/cli/commands/review/rules/require-all-react-dependencies.js +64 -0
- package/dist/cli/commands/review/rules/require-all-react-dependencies.js.map +1 -0
- package/dist/cli/commands/review/rules/require-one-react-version.d.ts +5 -0
- package/dist/cli/commands/review/rules/require-one-react-version.d.ts.map +1 -0
- package/dist/cli/commands/review/rules/require-one-react-version.js +25 -0
- package/dist/cli/commands/review/rules/require-one-react-version.js.map +1 -0
- package/dist/cli/commands/review/rules/require-one-uikit-version.d.ts.map +1 -1
- package/dist/cli/commands/review/rules/require-one-uikit-version.js +1 -0
- package/dist/cli/commands/review/rules/require-one-uikit-version.js.map +1 -1
- package/dist/cli/commands/review/utils/format-depends-on.d.ts +1 -0
- package/dist/cli/commands/review/utils/format-depends-on.d.ts.map +1 -1
- package/dist/cli/commands/review/utils/format-depends-on.js +15 -8
- package/dist/cli/commands/review/utils/format-depends-on.js.map +1 -1
- package/dist/cli/commands/review/utils/set-version.d.ts +2 -1
- package/dist/cli/commands/review/utils/set-version.d.ts.map +1 -1
- package/dist/cli/commands/review/utils/set-version.js +4 -2
- package/dist/cli/commands/review/utils/set-version.js.map +1 -1
- package/dist/cli/commands/start.d.ts +1 -1
- package/dist/cli/commands/start.d.ts.map +1 -1
- package/dist/cli/commands/start.js.map +1 -1
- package/dist/cli/commands/test/index.d.ts +2 -0
- package/dist/cli/commands/test/index.d.ts.map +1 -0
- package/dist/cli/commands/test/index.js +20 -0
- package/dist/cli/commands/test/index.js.map +1 -0
- package/dist/cli/commands/test/runners/index.d.ts +3 -0
- package/dist/cli/commands/test/runners/index.d.ts.map +1 -0
- package/dist/cli/commands/test/runners/index.js +21 -0
- package/dist/cli/commands/test/runners/index.js.map +1 -0
- package/dist/cli/commands/test/runners/jest.d.ts +7 -0
- package/dist/cli/commands/test/runners/jest.d.ts.map +1 -0
- package/dist/cli/commands/test/runners/jest.js +43 -0
- package/dist/cli/commands/test/runners/jest.js.map +1 -0
- package/dist/cli/commands/test/runners/vitest.d.ts +4 -0
- package/dist/cli/commands/test/runners/vitest.d.ts.map +1 -0
- package/dist/cli/commands/test/runners/vitest.js +86 -0
- package/dist/cli/commands/test/runners/vitest.js.map +1 -0
- package/dist/cli/commands/test/tests.d.ts +18 -0
- package/dist/cli/commands/test/tests.d.ts.map +1 -0
- package/dist/cli/commands/{tests.js → test/tests.js} +10 -9
- package/dist/cli/commands/test/tests.js.map +1 -0
- package/dist/cli/utils/bundle.d.ts.map +1 -1
- package/dist/cli/utils/bundle.js +7 -4
- package/dist/cli/utils/bundle.js.map +1 -1
- package/dist/cli/utils/set-node-options.d.ts.map +1 -1
- package/dist/cli/utils/set-node-options.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/utils/get-configuration.d.ts +8 -2
- package/dist/utils/get-configuration.d.ts.map +1 -1
- package/dist/utils/get-configuration.js +10 -2
- package/dist/utils/get-configuration.js.map +1 -1
- package/dist/utils/get-jest-config.d.ts +1 -7
- package/dist/utils/get-jest-config.d.ts.map +1 -1
- package/dist/utils/get-jest-config.js +49 -58
- package/dist/utils/get-jest-config.js.map +1 -1
- package/dist/webpack/create-webpack-config.js +1 -2
- package/dist/webpack/create-webpack-config.js.map +1 -1
- package/dist/webpack/utils/testing/get-compiler.js.map +1 -1
- package/package.json +16 -14
- package/src/cli/commands/build.ts +1 -1
- package/src/cli/commands/bundle-package.ts +1 -1
- package/src/cli/commands/eslint.ts +1 -1
- package/src/cli/commands/get-command.ts +1 -1
- package/src/cli/commands/index.ts +1 -1
- package/src/cli/commands/init.ts +1 -1
- package/src/cli/commands/lint.ts +1 -1
- package/src/cli/commands/mfe-publish.ts +1 -1
- package/src/cli/commands/prepare-package.ts +1 -1
- package/src/cli/commands/review/rules/__tests__/require-all-react-dependencies.test.ts +132 -0
- package/src/cli/commands/review/rules/__tests__/require-one-package-version.test.ts +0 -1
- package/src/cli/commands/review/rules/__tests__/require-one-react-version.test.ts +22 -0
- package/src/cli/commands/review/rules/__tests__/{require-one-uikit-version.ts → require-one-uikit-version.test.ts} +1 -0
- package/src/cli/commands/review/rules/index.ts +4 -0
- package/src/cli/commands/review/rules/require-all-react-dependencies.ts +53 -0
- package/src/cli/commands/review/rules/require-one-react-version.ts +9 -0
- package/src/cli/commands/review/rules/require-one-uikit-version.ts +1 -0
- package/src/cli/commands/review/utils/__tests__/set-version.test.ts +18 -8
- package/src/cli/commands/review/utils/format-depends-on.ts +8 -5
- package/src/cli/commands/review/utils/set-version.ts +10 -2
- package/src/cli/commands/start.ts +1 -1
- package/src/cli/commands/test/__tests__/tests.test.ts +78 -0
- package/src/cli/commands/test/index.ts +1 -0
- package/src/cli/commands/{__tests__/tests.test.ts → test/runners/__tests__/jest.test.ts} +10 -13
- package/src/cli/commands/test/runners/__tests__/vitest.test.ts +150 -0
- package/src/cli/commands/test/runners/index.ts +2 -0
- package/src/cli/commands/{tests.ts → test/runners/jest.ts} +5 -16
- package/src/cli/commands/test/runners/vitest.ts +70 -0
- package/src/cli/commands/test/tests.ts +34 -0
- package/src/cli/utils/__tests__/bundle.test.ts +1 -1
- package/src/cli/utils/bundle.ts +8 -3
- package/src/cli/utils/set-node-options.ts +2 -2
- package/src/index.ts +0 -1
- package/src/utils/__tests__/get-configuration.test.ts +48 -11
- package/src/utils/__tests__/get-jest-config.test.ts +35 -61
- package/src/utils/get-configuration.ts +14 -3
- package/src/utils/get-jest-config.ts +39 -47
- package/src/webpack/__tests__/create-webpack-config-shared-dependencies.test.ts +1 -1
- package/src/webpack/__tests__/create-webpack-config-web-component.test.ts +1 -1
- package/src/webpack/__tests__/create-webpack-config.test.ts +1 -1
- package/src/webpack/create-webpack-config.ts +1 -2
- package/src/webpack/utils/testing/get-compiler.ts +1 -1
- package/dist/cli/commands/tests.d.ts +0 -13
- package/dist/cli/commands/tests.d.ts.map +0 -1
- package/dist/cli/commands/tests.js.map +0 -1
- package/dist/jest/index.d.ts +0 -2
- package/dist/jest/index.d.ts.map +0 -1
- package/dist/jest/index.js +0 -16
- package/dist/jest/index.js.map +0 -1
- package/src/jest/index.ts +0 -5
|
@@ -2,20 +2,27 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
get formatDependsOn () {
|
|
8
13
|
return formatDependsOn;
|
|
14
|
+
},
|
|
15
|
+
get formatList () {
|
|
16
|
+
return formatList;
|
|
9
17
|
}
|
|
10
18
|
});
|
|
11
19
|
const collator = new Intl.Collator();
|
|
12
20
|
function formatDependsOn(dependents, dependency) {
|
|
13
21
|
const { length } = dependents;
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
return `${sorted.slice(0, -1).join(', ')} and ${sorted[length - 1]} depend on ${dependency}`;
|
|
22
|
+
return length === 1 ? `${dependents[0]} depends on ${dependency}` : `${formatList(dependents.toSorted((a, b)=>collator.compare(a, b)))} depend on ${dependency}`;
|
|
23
|
+
}
|
|
24
|
+
function formatList(items) {
|
|
25
|
+
return items.length > 1 ? `${items.slice(0, -1).join(', ')} and ${items[items.length - 1]}` : items[0];
|
|
19
26
|
}
|
|
20
27
|
|
|
21
28
|
//# sourceMappingURL=format-depends-on.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/cli/commands/review/utils/format-depends-on.ts"],"sourcesContent":["const collator = new Intl.Collator();\n\nexport function formatDependsOn(dependents: string[], dependency: string) {\n const { length } = dependents;\n
|
|
1
|
+
{"version":3,"sources":["../../../../../src/cli/commands/review/utils/format-depends-on.ts"],"sourcesContent":["const collator = new Intl.Collator();\n\nexport function formatDependsOn(dependents: string[], dependency: string) {\n const { length } = dependents;\n return length === 1\n ? `${dependents[0]} depends on ${dependency}`\n : `${formatList(dependents.toSorted((a, b) => collator.compare(a, b)))} depend on ${dependency}`;\n}\n\nexport function formatList(items: string[]) {\n return items.length > 1\n ? `${items.slice(0, -1).join(', ')} and ${items[items.length - 1]}`\n : items[0];\n}\n"],"names":["formatDependsOn","formatList","collator","Intl","Collator","dependents","dependency","length","toSorted","a","b","compare","items","slice","join"],"mappings":";;;;;;;;;;;QAEgBA;eAAAA;;QAOAC;eAAAA;;;AAThB,MAAMC,WAAW,IAAIC,KAAKC,QAAQ;AAE3B,SAASJ,gBAAgBK,UAAoB,EAAEC,UAAkB;IACpE,MAAM,EAAEC,MAAM,EAAE,GAAGF;IACnB,OAAOE,WAAW,IACZ,GAAGF,UAAU,CAAC,EAAE,CAAC,YAAY,EAAEC,YAAY,GAC3C,GAAGL,WAAWI,WAAWG,QAAQ,CAAC,CAACC,GAAGC,IAAMR,SAASS,OAAO,CAACF,GAAGC,KAAK,WAAW,EAAEJ,YAAY;AACxG;AAEO,SAASL,WAAWW,KAAe;IACtC,OAAOA,MAAML,MAAM,GAAG,IAChB,GAAGK,MAAMC,KAAK,CAAC,GAAG,CAAC,GAAGC,IAAI,CAAC,MAAM,KAAK,EAAEF,KAAK,CAACA,MAAML,MAAM,GAAG,EAAE,EAAE,GACjEK,KAAK,CAAC,EAAE;AAClB"}
|
|
@@ -4,7 +4,8 @@ interface Params {
|
|
|
4
4
|
packageName: string;
|
|
5
5
|
dependency: string;
|
|
6
6
|
version: string;
|
|
7
|
+
key?: string;
|
|
7
8
|
}
|
|
8
|
-
export declare function setVersion(
|
|
9
|
+
export declare function setVersion(params: Params): void;
|
|
9
10
|
export {};
|
|
10
11
|
//# sourceMappingURL=set-version.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set-version.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/review/utils/set-version.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAGnC,UAAU,MAAM;IACZ,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"set-version.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/review/utils/set-version.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAGnC,UAAU,MAAM;IACZ,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,QAoBxC"}
|
|
@@ -16,12 +16,14 @@ function _interop_require_default(obj) {
|
|
|
16
16
|
default: obj
|
|
17
17
|
};
|
|
18
18
|
}
|
|
19
|
-
function setVersion(
|
|
19
|
+
function setVersion(params) {
|
|
20
|
+
const { project: { packages }, packageName, dependency, version } = params;
|
|
20
21
|
const pkg = packages.find(({ name })=>name === packageName);
|
|
21
22
|
if (!pkg) {
|
|
22
23
|
return;
|
|
23
24
|
}
|
|
24
|
-
|
|
25
|
+
var _params_key;
|
|
26
|
+
const key = (_params_key = params.key) !== null && _params_key !== void 0 ? _params_key : (0, _getkey.getKey)(pkg, dependency);
|
|
25
27
|
if (!key) {
|
|
26
28
|
return;
|
|
27
29
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/cli/commands/review/utils/set-version.ts"],"sourcesContent":["import { execSync } from 'child_process';\nimport path from 'path';\nimport { Project } from '../types';\nimport { getKey } from './get-key';\n\ninterface Params {\n project: Project;\n packageName: string;\n dependency: string;\n version: string;\n}\nexport function setVersion({ project: { packages }
|
|
1
|
+
{"version":3,"sources":["../../../../../src/cli/commands/review/utils/set-version.ts"],"sourcesContent":["import { execSync } from 'child_process';\nimport path from 'path';\nimport { Project } from '../types';\nimport { getKey } from './get-key';\n\ninterface Params {\n project: Project;\n packageName: string;\n dependency: string;\n version: string;\n key?: string;\n}\n\nexport function setVersion(params: Params) {\n const {\n project: { packages },\n packageName,\n dependency,\n version,\n } = params;\n const pkg = packages.find(({ name }) => name === packageName);\n if (!pkg) {\n return;\n }\n\n const key = params.key ?? getKey(pkg, dependency);\n if (!key) {\n return;\n }\n\n const workspace = path.relative('.', pkg.location);\n const command = `npm pkg set ${key}[\"${dependency}\"]=\"${version}\"${workspace ? ` -w ${workspace}` : ''}`;\n execSync(command);\n}\n"],"names":["setVersion","params","project","packages","packageName","dependency","version","pkg","find","name","key","getKey","workspace","path","relative","location","command","execSync"],"mappings":";;;;+BAagBA;;;eAAAA;;;+BAbS;6DACR;wBAEM;;;;;;AAUhB,SAASA,WAAWC,MAAc;IACrC,MAAM,EACFC,SAAS,EAAEC,QAAQ,EAAE,EACrBC,WAAW,EACXC,UAAU,EACVC,OAAO,EACV,GAAGL;IACJ,MAAMM,MAAMJ,SAASK,IAAI,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAKA,SAASL;IACjD,IAAI,CAACG,KAAK;QACN;IACJ;QAEYN;IAAZ,MAAMS,MAAMT,CAAAA,cAAAA,OAAOS,GAAG,cAAVT,yBAAAA,cAAcU,IAAAA,cAAM,EAACJ,KAAKF;IACtC,IAAI,CAACK,KAAK;QACN;IACJ;IAEA,MAAME,YAAYC,aAAI,CAACC,QAAQ,CAAC,KAAKP,IAAIQ,QAAQ;IACjD,MAAMC,UAAU,CAAC,YAAY,EAAEN,IAAI,EAAE,EAAEL,WAAW,IAAI,EAAEC,QAAQ,CAAC,EAAEM,YAAY,CAAC,IAAI,EAAEA,WAAW,GAAG,IAAI;IACxGK,IAAAA,uBAAQ,EAACD;AACb"}
|
|
@@ -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;AAElC,UAAU,IAAI;IACV,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,YAAW,OAAO;IAGrB,OAAO,CAAC,IAAI;
|
|
1
|
+
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,UAAU,IAAI;IACV,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,YAAW,OAAO;IAGrB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFjC,QAAQ,CAAC,MAAM,QAAQ;gBAEM,IAAI,EAAE,IAAI;IAEvC,WAAW;IAKL,OAAO;CA+HhB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/cli/commands/start.ts"],"sourcesContent":["import { getPackages, log, logErrors, PackageType } from '../../utils';\nimport {\n checkArgs,\n lernaExec,\n compile,\n typeCheck,\n pipeStdout,\n watchStdout,\n ProcessTree,\n} from '../utils';\nimport { Command } from './types';\n\ninterface Args {\n 'config'?: string;\n 'code-coverage'?: boolean;\n 'ignore'?: string | string[];\n 'scope'?: string | string[];\n 'use-tsc'?: boolean;\n}\n\nenum StartProcesses {\n Compile,\n KendoUILicense,\n PreparePackage,\n PreparePackageWatch,\n TypeCheck,\n BundleExposedDependencies,\n BundlePackage,\n}\n\nexport class Start implements Command {\n readonly greedy = true;\n\n constructor(private args: Args) {}\n\n description() {\n return 'run project in development mode';\n }\n\n @logErrors\n async execute() {\n checkArgs(this.args, { obsolete: ['--esbuild', '--experimental-bundlers'] });\n\n const useTsc = this.args['use-tsc'];\n\n const packages = getPackages({\n scope: this.args.scope,\n ignore: this.args.ignore,\n type: [PackageType.TSC, PackageType.Webpack],\n });\n if (packages.length === 0) {\n return;\n }\n\n const scope = packages.map(({ name }) => name);\n const webpackScope = packages\n .filter(({ type }) => type === PackageType.Webpack)\n .map(({ name }) => name);\n\n const processTree = new ProcessTree<typeof StartProcesses>();\n\n processTree.add(StartProcesses.Compile, () => {\n const process = compile({\n packages: scope,\n watch: true,\n useTsc,\n });\n\n pipeStdout(process);\n\n const onComplete = new Promise<void>(resolve => {\n let counter = 0;\n let timeout: NodeJS.Timeout;\n\n if (!useTsc) {\n /*\n * Running the timer as a fallback\n * In case there are no files in the package swc will not print out completion indicator\n */\n timeout = setTimeout(() => {\n log.warning('Compilation timeout exceeded. Proceeding without waiting.');\n resolve();\n unwatch();\n }, 30000);\n }\n\n const unwatch = watchStdout(\n process,\n useTsc\n ? 'Initial tsc-compile-package task completed'\n : 'Initial swc-compile-package task completed',\n count => {\n counter += count;\n\n if (counter === scope.length) {\n resolve();\n clearTimeout(timeout);\n }\n }\n );\n });\n\n return { process, onComplete };\n });\n processTree.add(StartProcesses.PreparePackage, () =>\n lernaExec({\n cmd: 'startup prepare-package',\n scope,\n stream: true,\n })\n );\n processTree.add(\n StartProcesses.PreparePackageWatch,\n () =>\n lernaExec({\n 'cmd': 'startup prepare-package',\n scope,\n 'parallel': true,\n 'stream': true,\n '--': ['--watch'],\n }),\n { dependsOn: [StartProcesses.PreparePackage] }\n );\n processTree.add(\n StartProcesses.TypeCheck,\n () => typeCheck({ packages: scope, watch: true }),\n { dependsOn: [StartProcesses.PreparePackage] }\n );\n processTree.add(\n StartProcesses.BundleExposedDependencies,\n () => {\n if (webpackScope.length === 0) {\n return Promise.resolve();\n }\n return lernaExec({\n 'cmd': 'startup bundle-package',\n 'scope': webpackScope,\n 'parallel': true,\n 'stream': true,\n '--': ['--exposed-dependencies', '--use-watch-config'],\n });\n },\n { dependsOn: [StartProcesses.Compile, StartProcesses.PreparePackage] }\n );\n processTree.add(\n StartProcesses.BundlePackage,\n () => {\n if (webpackScope.length === 0) {\n return Promise.resolve();\n }\n return lernaExec({\n 'cmd': 'startup bundle-package',\n 'scope': webpackScope,\n 'parallel': true,\n 'stream': true,\n '--': [\n '--watch',\n this.args.config ? `--config \"${this.args.config}\"` : undefined,\n this.args['code-coverage'] ? '--code-coverage' : undefined,\n ].filter(item => !!item) as string[],\n });\n },\n { dependsOn: [StartProcesses.BundleExposedDependencies] }\n );\n\n await processTree.run();\n }\n}\n"],"names":["Start","StartProcesses","description","execute","checkArgs","args","obsolete","useTsc","packages","getPackages","scope","ignore","type","PackageType","TSC","Webpack","length","map","name","webpackScope","filter","processTree","ProcessTree","add","process","compile","watch","pipeStdout","onComplete","Promise","resolve","counter","timeout","setTimeout","log","warning","unwatch","watchStdout","count","clearTimeout","lernaExec","cmd","stream","dependsOn","typeCheck","config","undefined","item","run","greedy"],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/commands/start.ts"],"sourcesContent":["import { getPackages, log, logErrors, PackageType } from '../../utils';\nimport {\n checkArgs,\n lernaExec,\n compile,\n typeCheck,\n pipeStdout,\n watchStdout,\n ProcessTree,\n} from '../utils';\nimport { Command } from './types';\n\ninterface Args {\n 'config'?: string;\n 'code-coverage'?: boolean;\n 'ignore'?: string | string[];\n 'scope'?: string | string[];\n 'use-tsc'?: boolean;\n}\n\nenum StartProcesses {\n Compile,\n KendoUILicense,\n PreparePackage,\n PreparePackageWatch,\n TypeCheck,\n BundleExposedDependencies,\n BundlePackage,\n}\n\nexport class Start implements Command {\n readonly greedy = true;\n\n constructor(private readonly args: Args) {}\n\n description() {\n return 'run project in development mode';\n }\n\n @logErrors\n async execute() {\n checkArgs(this.args, { obsolete: ['--esbuild', '--experimental-bundlers'] });\n\n const useTsc = this.args['use-tsc'];\n\n const packages = getPackages({\n scope: this.args.scope,\n ignore: this.args.ignore,\n type: [PackageType.TSC, PackageType.Webpack],\n });\n if (packages.length === 0) {\n return;\n }\n\n const scope = packages.map(({ name }) => name);\n const webpackScope = packages\n .filter(({ type }) => type === PackageType.Webpack)\n .map(({ name }) => name);\n\n const processTree = new ProcessTree<typeof StartProcesses>();\n\n processTree.add(StartProcesses.Compile, () => {\n const process = compile({\n packages: scope,\n watch: true,\n useTsc,\n });\n\n pipeStdout(process);\n\n const onComplete = new Promise<void>(resolve => {\n let counter = 0;\n let timeout: NodeJS.Timeout;\n\n if (!useTsc) {\n /*\n * Running the timer as a fallback\n * In case there are no files in the package swc will not print out completion indicator\n */\n timeout = setTimeout(() => {\n log.warning('Compilation timeout exceeded. Proceeding without waiting.');\n resolve();\n unwatch();\n }, 30000);\n }\n\n const unwatch = watchStdout(\n process,\n useTsc\n ? 'Initial tsc-compile-package task completed'\n : 'Initial swc-compile-package task completed',\n count => {\n counter += count;\n\n if (counter === scope.length) {\n resolve();\n clearTimeout(timeout);\n }\n }\n );\n });\n\n return { process, onComplete };\n });\n processTree.add(StartProcesses.PreparePackage, () =>\n lernaExec({\n cmd: 'startup prepare-package',\n scope,\n stream: true,\n })\n );\n processTree.add(\n StartProcesses.PreparePackageWatch,\n () =>\n lernaExec({\n 'cmd': 'startup prepare-package',\n scope,\n 'parallel': true,\n 'stream': true,\n '--': ['--watch'],\n }),\n { dependsOn: [StartProcesses.PreparePackage] }\n );\n processTree.add(\n StartProcesses.TypeCheck,\n () => typeCheck({ packages: scope, watch: true }),\n { dependsOn: [StartProcesses.PreparePackage] }\n );\n processTree.add(\n StartProcesses.BundleExposedDependencies,\n () => {\n if (webpackScope.length === 0) {\n return Promise.resolve();\n }\n return lernaExec({\n 'cmd': 'startup bundle-package',\n 'scope': webpackScope,\n 'parallel': true,\n 'stream': true,\n '--': ['--exposed-dependencies', '--use-watch-config'],\n });\n },\n { dependsOn: [StartProcesses.Compile, StartProcesses.PreparePackage] }\n );\n processTree.add(\n StartProcesses.BundlePackage,\n () => {\n if (webpackScope.length === 0) {\n return Promise.resolve();\n }\n return lernaExec({\n 'cmd': 'startup bundle-package',\n 'scope': webpackScope,\n 'parallel': true,\n 'stream': true,\n '--': [\n '--watch',\n this.args.config ? `--config \"${this.args.config}\"` : undefined,\n this.args['code-coverage'] ? '--code-coverage' : undefined,\n ].filter(item => !!item) as string[],\n });\n },\n { dependsOn: [StartProcesses.BundleExposedDependencies] }\n );\n\n await processTree.run();\n }\n}\n"],"names":["Start","StartProcesses","description","execute","checkArgs","args","obsolete","useTsc","packages","getPackages","scope","ignore","type","PackageType","TSC","Webpack","length","map","name","webpackScope","filter","processTree","ProcessTree","add","process","compile","watch","pipeStdout","onComplete","Promise","resolve","counter","timeout","setTimeout","log","warning","unwatch","watchStdout","count","clearTimeout","lernaExec","cmd","stream","dependsOn","typeCheck","config","undefined","item","run","greedy"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/test/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
_export_star(require("./tests"), exports);
|
|
6
|
+
function _export_star(from, to) {
|
|
7
|
+
Object.keys(from).forEach(function(k) {
|
|
8
|
+
if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
|
|
9
|
+
Object.defineProperty(to, k, {
|
|
10
|
+
enumerable: true,
|
|
11
|
+
get: function() {
|
|
12
|
+
return from[k];
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
return from;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/cli/commands/test/index.ts"],"sourcesContent":["export * from './tests';\n"],"names":[],"mappings":";;;;qBAAc"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/test/runners/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
_export_star(require("./jest"), exports);
|
|
6
|
+
_export_star(require("./vitest"), exports);
|
|
7
|
+
function _export_star(from, to) {
|
|
8
|
+
Object.keys(from).forEach(function(k) {
|
|
9
|
+
if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
|
|
10
|
+
Object.defineProperty(to, k, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function() {
|
|
13
|
+
return from[k];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
return from;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/cli/commands/test/runners/index.ts"],"sourcesContent":["export * from './jest';\nexport * from './vitest';\n"],"names":[],"mappings":";;;;qBAAc;qBACA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jest.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/test/runners/jest.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,qBAAa,IAAI;IACD,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,MAAM,CAAC,IAAI;IAExC,GAAG;CAWZ"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "Jest", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return Jest;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _core = require("@jest/core");
|
|
12
|
+
const _utils = require("../../../../utils");
|
|
13
|
+
function _define_property(obj, key, value) {
|
|
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
|
+
}
|
|
26
|
+
class Jest {
|
|
27
|
+
async run() {
|
|
28
|
+
const jestConfig = (0, _utils.getJestConfigCLI)(this.args);
|
|
29
|
+
const { results: { success } } = await (0, _core.runCLI)(jestConfig, [
|
|
30
|
+
process.cwd()
|
|
31
|
+
]);
|
|
32
|
+
if (!success) {
|
|
33
|
+
// eslint-disable-next-line require-atomic-updates
|
|
34
|
+
process.exitCode = 1;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
constructor(args){
|
|
38
|
+
_define_property(this, "args", void 0);
|
|
39
|
+
this.args = args;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
//# sourceMappingURL=jest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/cli/commands/test/runners/jest.ts"],"sourcesContent":["import { runCLI } from '@jest/core';\nimport { Config } from '@jest/types';\nimport { getJestConfigCLI } from '../../../../utils';\n\nexport class Jest {\n constructor(private readonly args: Config.Argv) {}\n\n async run() {\n const jestConfig = getJestConfigCLI(this.args);\n const {\n results: { success },\n } = await runCLI(jestConfig, [process.cwd()]);\n\n if (!success) {\n // eslint-disable-next-line require-atomic-updates\n process.exitCode = 1;\n }\n }\n}\n"],"names":["Jest","run","jestConfig","getJestConfigCLI","args","results","success","runCLI","process","cwd","exitCode"],"mappings":";;;;+BAIaA;;;eAAAA;;;sBAJU;uBAEU;;;;;;;;;;;;;;AAE1B,MAAMA;IAGT,MAAMC,MAAM;QACR,MAAMC,aAAaC,IAAAA,uBAAgB,EAAC,IAAI,CAACC,IAAI;QAC7C,MAAM,EACFC,SAAS,EAAEC,OAAO,EAAE,EACvB,GAAG,MAAMC,IAAAA,YAAM,EAACL,YAAY;YAACM,QAAQC,GAAG;SAAG;QAE5C,IAAI,CAACH,SAAS;YACV,kDAAkD;YAClDE,QAAQE,QAAQ,GAAG;QACvB;IACJ;IAZA,YAAY,AAAiBN,IAAiB,CAAE;;aAAnBA,OAAAA;IAAoB;AAarD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vitest.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/test/runners/vitest.ts"],"names":[],"mappings":"AAMA,qBAAa,MAAM;IACT,GAAG;CAQZ"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "Vitest", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return Vitest;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _config = require("vitest/config");
|
|
12
|
+
const _node = require("vitest/node");
|
|
13
|
+
const _utils = require("../../../../utils");
|
|
14
|
+
class Vitest {
|
|
15
|
+
async run() {
|
|
16
|
+
const cliOptions = getCliOptions();
|
|
17
|
+
const userConfig = await getUserConfig();
|
|
18
|
+
// startVitest sets process.exitCode to 1 when tests fail
|
|
19
|
+
const vitest = await (0, _node.startVitest)('test', cliOptions.filter, cliOptions.options, userConfig);
|
|
20
|
+
await vitest.close();
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
const RUNNER_OPTION = '--runner';
|
|
24
|
+
function excludeRunnerOption(args) {
|
|
25
|
+
return args.reduce((result, item, index)=>{
|
|
26
|
+
if (!item.startsWith(RUNNER_OPTION) && (index === 0 || args[index - 1] !== RUNNER_OPTION)) {
|
|
27
|
+
result.push(item);
|
|
28
|
+
}
|
|
29
|
+
return result;
|
|
30
|
+
}, []);
|
|
31
|
+
}
|
|
32
|
+
function getCliOptions() {
|
|
33
|
+
// parseCLI requires the first element to be "vitest"
|
|
34
|
+
const result = (0, _node.parseCLI)([
|
|
35
|
+
'vitest',
|
|
36
|
+
...excludeRunnerOption(process.argv.slice(3))
|
|
37
|
+
]);
|
|
38
|
+
/* istanbul ignore next: debug only */ _utils.log.debug('vitest:cliOptions', ()=>JSON.stringify(result, null, 2));
|
|
39
|
+
return result;
|
|
40
|
+
}
|
|
41
|
+
function getDefaultConfig() {
|
|
42
|
+
return {
|
|
43
|
+
coverage: {
|
|
44
|
+
exclude: [
|
|
45
|
+
..._config.coverageConfigDefaults.exclude,
|
|
46
|
+
'**/__mocks__/**',
|
|
47
|
+
'**/*.stories.*',
|
|
48
|
+
'\\.yalc'
|
|
49
|
+
],
|
|
50
|
+
include: [
|
|
51
|
+
'**/*.{ts,tsx}'
|
|
52
|
+
],
|
|
53
|
+
reporter: [
|
|
54
|
+
'html-spa',
|
|
55
|
+
'text',
|
|
56
|
+
'json',
|
|
57
|
+
'cobertura',
|
|
58
|
+
'lcov'
|
|
59
|
+
]
|
|
60
|
+
},
|
|
61
|
+
environment: 'jsdom',
|
|
62
|
+
exclude: [
|
|
63
|
+
..._config.configDefaults.exclude,
|
|
64
|
+
'\\.yalc'
|
|
65
|
+
],
|
|
66
|
+
restoreMocks: true,
|
|
67
|
+
server: {
|
|
68
|
+
deps: {
|
|
69
|
+
inline: [
|
|
70
|
+
'@servicetitan/anvil2'
|
|
71
|
+
]
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
async function getUserConfig() {
|
|
77
|
+
const { viteConfig } = await (0, _node.resolveConfig)();
|
|
78
|
+
var _viteConfig_test;
|
|
79
|
+
const result = (0, _config.mergeConfig)((0, _config.mergeConfig)(getDefaultConfig(), (0, _utils.getVitestConfiguration)()), (_viteConfig_test = viteConfig.test) !== null && _viteConfig_test !== void 0 ? _viteConfig_test : {});
|
|
80
|
+
/* istanbul ignore next: debug only */ _utils.log.debug('vitest:userConfig', ()=>JSON.stringify(result, null, 2));
|
|
81
|
+
return {
|
|
82
|
+
test: result
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
//# sourceMappingURL=vitest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/cli/commands/test/runners/vitest.ts"],"sourcesContent":["import { configDefaults, coverageConfigDefaults, mergeConfig, ViteUserConfig } from 'vitest/config';\nimport { startVitest, parseCLI, resolveConfig } from 'vitest/node';\nimport { getVitestConfiguration, log } from '../../../../utils';\n\ntype VitestConfig = NonNullable<ViteUserConfig['test']>;\n\nexport class Vitest {\n async run() {\n const cliOptions = getCliOptions();\n const userConfig = await getUserConfig();\n\n // startVitest sets process.exitCode to 1 when tests fail\n const vitest = await startVitest('test', cliOptions.filter, cliOptions.options, userConfig);\n await vitest.close();\n }\n}\n\nconst RUNNER_OPTION = '--runner';\n\nfunction excludeRunnerOption(args: string[]) {\n return args.reduce<string[]>((result, item, index) => {\n if (!item.startsWith(RUNNER_OPTION) && (index === 0 || args[index - 1] !== RUNNER_OPTION)) {\n result.push(item);\n }\n return result;\n }, []);\n}\n\nfunction getCliOptions() {\n // parseCLI requires the first element to be \"vitest\"\n const result = parseCLI(['vitest', ...excludeRunnerOption(process.argv.slice(3))]);\n\n /* istanbul ignore next: debug only */\n log.debug('vitest:cliOptions', () => JSON.stringify(result, null, 2));\n\n return result;\n}\n\nfunction getDefaultConfig(): VitestConfig {\n return {\n coverage: {\n exclude: [\n ...coverageConfigDefaults.exclude,\n '**/__mocks__/**',\n '**/*.stories.*',\n '\\\\.yalc',\n ],\n include: ['**/*.{ts,tsx}'],\n reporter: ['html-spa', 'text', 'json', 'cobertura', 'lcov'],\n },\n environment: 'jsdom',\n exclude: [...configDefaults.exclude, '\\\\.yalc'],\n restoreMocks: true,\n server: { deps: { inline: ['@servicetitan/anvil2'] } }, // fixes css parser errors\n };\n}\n\nasync function getUserConfig(): Promise<ViteUserConfig> {\n const { viteConfig } = await resolveConfig();\n\n const result = mergeConfig(\n mergeConfig(getDefaultConfig(), getVitestConfiguration()),\n viteConfig.test ?? {}\n );\n\n /* istanbul ignore next: debug only */\n log.debug('vitest:userConfig', () => JSON.stringify(result, null, 2));\n\n return { test: result };\n}\n"],"names":["Vitest","run","cliOptions","getCliOptions","userConfig","getUserConfig","vitest","startVitest","filter","options","close","RUNNER_OPTION","excludeRunnerOption","args","reduce","result","item","index","startsWith","push","parseCLI","process","argv","slice","log","debug","JSON","stringify","getDefaultConfig","coverage","exclude","coverageConfigDefaults","include","reporter","environment","configDefaults","restoreMocks","server","deps","inline","viteConfig","resolveConfig","mergeConfig","getVitestConfiguration","test"],"mappings":";;;;+BAMaA;;;eAAAA;;;wBANuE;sBAC/B;uBACT;AAIrC,MAAMA;IACT,MAAMC,MAAM;QACR,MAAMC,aAAaC;QACnB,MAAMC,aAAa,MAAMC;QAEzB,yDAAyD;QACzD,MAAMC,SAAS,MAAMC,IAAAA,iBAAW,EAAC,QAAQL,WAAWM,MAAM,EAAEN,WAAWO,OAAO,EAAEL;QAChF,MAAME,OAAOI,KAAK;IACtB;AACJ;AAEA,MAAMC,gBAAgB;AAEtB,SAASC,oBAAoBC,IAAc;IACvC,OAAOA,KAAKC,MAAM,CAAW,CAACC,QAAQC,MAAMC;QACxC,IAAI,CAACD,KAAKE,UAAU,CAACP,kBAAmBM,CAAAA,UAAU,KAAKJ,IAAI,CAACI,QAAQ,EAAE,KAAKN,aAAY,GAAI;YACvFI,OAAOI,IAAI,CAACH;QAChB;QACA,OAAOD;IACX,GAAG,EAAE;AACT;AAEA,SAASZ;IACL,qDAAqD;IACrD,MAAMY,SAASK,IAAAA,cAAQ,EAAC;QAAC;WAAaR,oBAAoBS,QAAQC,IAAI,CAACC,KAAK,CAAC;KAAI;IAEjF,oCAAoC,GACpCC,UAAG,CAACC,KAAK,CAAC,qBAAqB,IAAMC,KAAKC,SAAS,CAACZ,QAAQ,MAAM;IAElE,OAAOA;AACX;AAEA,SAASa;IACL,OAAO;QACHC,UAAU;YACNC,SAAS;mBACFC,8BAAsB,CAACD,OAAO;gBACjC;gBACA;gBACA;aACH;YACDE,SAAS;gBAAC;aAAgB;YAC1BC,UAAU;gBAAC;gBAAY;gBAAQ;gBAAQ;gBAAa;aAAO;QAC/D;QACAC,aAAa;QACbJ,SAAS;eAAIK,sBAAc,CAACL,OAAO;YAAE;SAAU;QAC/CM,cAAc;QACdC,QAAQ;YAAEC,MAAM;gBAAEC,QAAQ;oBAAC;iBAAuB;YAAC;QAAE;IACzD;AACJ;AAEA,eAAelC;IACX,MAAM,EAAEmC,UAAU,EAAE,GAAG,MAAMC,IAAAA,mBAAa;QAItCD;IAFJ,MAAMzB,SAAS2B,IAAAA,mBAAW,EACtBA,IAAAA,mBAAW,EAACd,oBAAoBe,IAAAA,6BAAsB,MACtDH,CAAAA,mBAAAA,WAAWI,IAAI,cAAfJ,8BAAAA,mBAAmB,CAAC;IAGxB,oCAAoC,GACpChB,UAAG,CAACC,KAAK,CAAC,qBAAqB,IAAMC,KAAKC,SAAS,CAACZ,QAAQ,MAAM;IAElE,OAAO;QAAE6B,MAAM7B;IAAO;AAC1B"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Config } from '@jest/types';
|
|
2
|
+
import { Command } from '../types';
|
|
3
|
+
type Args = Config.Argv & {
|
|
4
|
+
runner?: 'jest' | 'vitest';
|
|
5
|
+
};
|
|
6
|
+
/**
|
|
7
|
+
* This class is named "Tests" instead of "Test" because the corresponding
|
|
8
|
+
* "test.ts" would be interpreted as a test file.
|
|
9
|
+
*/
|
|
10
|
+
export declare class Tests implements Command {
|
|
11
|
+
private readonly args;
|
|
12
|
+
readonly greedy = true;
|
|
13
|
+
constructor(args: Args);
|
|
14
|
+
description(): string;
|
|
15
|
+
execute(): Promise<void>;
|
|
16
|
+
}
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=tests.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tests.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/test/tests.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAGnC,KAAK,IAAI,GAAG,MAAM,CAAC,IAAI,GAAG;IACtB,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;CAC9B,CAAC;AAEF;;;GAGG;AACH,qBAAa,KAAM,YAAW,OAAO;IAGrB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFjC,QAAQ,CAAC,MAAM,QAAQ;gBAEM,IAAI,EAAE,IAAI;IAEvC,WAAW;IAKL,OAAO;CAUhB"}
|
|
@@ -8,8 +8,8 @@ Object.defineProperty(exports, "Tests", {
|
|
|
8
8
|
return Tests;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
const
|
|
12
|
-
const
|
|
11
|
+
const _utils = require("../../../utils");
|
|
12
|
+
const _runners = require("./runners");
|
|
13
13
|
function _define_property(obj, key, value) {
|
|
14
14
|
if (key in obj) {
|
|
15
15
|
Object.defineProperty(obj, key, {
|
|
@@ -37,13 +37,14 @@ class Tests {
|
|
|
37
37
|
return 'run tests';
|
|
38
38
|
}
|
|
39
39
|
async execute() {
|
|
40
|
-
|
|
41
|
-
const {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
if (
|
|
45
|
-
|
|
46
|
-
|
|
40
|
+
var _getConfiguration_testRunner;
|
|
41
|
+
const { runner = (_getConfiguration_testRunner = (0, _utils.getConfiguration)().testRunner) !== null && _getConfiguration_testRunner !== void 0 ? _getConfiguration_testRunner : 'jest', ...restArgs } = this.args;
|
|
42
|
+
if (runner === 'jest') {
|
|
43
|
+
await new _runners.Jest(restArgs).run();
|
|
44
|
+
} else if (runner === 'vitest') {
|
|
45
|
+
await new _runners.Vitest().run();
|
|
46
|
+
} else {
|
|
47
|
+
throw new Error(`unrecognized runner "${runner}"`);
|
|
47
48
|
}
|
|
48
49
|
}
|
|
49
50
|
constructor(args){
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/cli/commands/test/tests.ts"],"sourcesContent":["import { Config } from '@jest/types';\nimport { getConfiguration, logErrors } from '../../../utils';\nimport { Command } from '../types';\nimport { Jest, Vitest } from './runners';\n\ntype Args = Config.Argv & {\n runner?: 'jest' | 'vitest';\n};\n\n/**\n * This class is named \"Tests\" instead of \"Test\" because the corresponding\n * \"test.ts\" would be interpreted as a test file.\n */\nexport class Tests implements Command {\n readonly greedy = true;\n\n constructor(private readonly args: Args) {}\n\n description() {\n return 'run tests';\n }\n\n @logErrors\n async execute() {\n const { runner = getConfiguration().testRunner ?? 'jest', ...restArgs } = this.args;\n if (runner === 'jest') {\n await new Jest(restArgs).run();\n } else if (runner === 'vitest') {\n await new Vitest().run();\n } else {\n throw new Error(`unrecognized runner \"${runner}\"`);\n }\n }\n}\n"],"names":["Tests","description","execute","getConfiguration","runner","testRunner","restArgs","args","Jest","run","Vitest","Error","greedy"],"mappings":";;;;+BAaaA;;;eAAAA;;;uBAZ+B;yBAEf;;;;;;;;;;;;;;;;;;;;;;;AAUtB,MAAMA;IAKTC,cAAc;QACV,OAAO;IACX;IAEA,MACMC,UAAU;YACKC;QAAjB,MAAM,EAAEC,SAASD,CAAAA,+BAAAA,IAAAA,uBAAgB,IAAGE,UAAU,cAA7BF,0CAAAA,+BAAiC,MAAM,EAAE,GAAGG,UAAU,GAAG,IAAI,CAACC,IAAI;QACnF,IAAIH,WAAW,QAAQ;YACnB,MAAM,IAAII,aAAI,CAACF,UAAUG,GAAG;QAChC,OAAO,IAAIL,WAAW,UAAU;YAC5B,MAAM,IAAIM,eAAM,GAAGD,GAAG;QAC1B,OAAO;YACH,MAAM,IAAIE,MAAM,CAAC,qBAAqB,EAAEP,OAAO,CAAC,CAAC;QACrD;IACJ;IAhBA,YAAY,AAAiBG,IAAU,CAAE;;QAFzC,uBAASK,UAAT,KAAA;aAE6BL,OAAAA;aAFpBK,SAAS;IAEwB;AAiB9C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/bundle.ts"],"names":[],"mappings":"AAKA,OAAgB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAejD,UAAU,OAAO;IACb,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uBAAuB,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IAClE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAWD,eAAO,MAAM,wBAAwB,0BAA0B,CAAC;AAChE,eAAO,MAAM,yBAAyB,2BAA2B,CAAC;AAElE,wBAAsB,MAAM,CAAC,OAAO,GAAE,OAAY,
|
|
1
|
+
{"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/bundle.ts"],"names":[],"mappings":"AAKA,OAAgB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAejD,UAAU,OAAO;IACb,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uBAAuB,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IAClE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAWD,eAAO,MAAM,wBAAwB,0BAA0B,CAAC;AAChE,eAAO,MAAM,yBAAyB,2BAA2B,CAAC;AAElE,wBAAsB,MAAM,CAAC,OAAO,GAAE,OAAY,0BAmCjD"}
|
package/dist/cli/utils/bundle.js
CHANGED
|
@@ -58,7 +58,7 @@ async function bundle(options = {}) {
|
|
|
58
58
|
fallback
|
|
59
59
|
});
|
|
60
60
|
const webpackOptions = getWebpackOptions(options, customConfig);
|
|
61
|
-
_utils.log.debug('custom-webpack-config', ()=>(0, _utils1.stringifyConfig)(customConfig));
|
|
61
|
+
/* istanbul ignore next: debug only */ _utils.log.debug('custom-webpack-config', ()=>(0, _utils1.stringifyConfig)(customConfig));
|
|
62
62
|
if ((0, _utils.isWebComponent)()) {
|
|
63
63
|
return bundleWebComponent({
|
|
64
64
|
customConfig,
|
|
@@ -131,7 +131,7 @@ function readConfig(relativePath) {
|
|
|
131
131
|
}
|
|
132
132
|
}
|
|
133
133
|
async function run(config) {
|
|
134
|
-
const compiler = (
|
|
134
|
+
const compiler = createWebpackCompiler(config);
|
|
135
135
|
const stats = await new Promise((resolve, reject)=>{
|
|
136
136
|
compiler.run((error, stats)=>{
|
|
137
137
|
if (!stats || error) {
|
|
@@ -146,7 +146,7 @@ async function run(config) {
|
|
|
146
146
|
process.stdout.write(stats.toString(config.stats) + '\n');
|
|
147
147
|
}
|
|
148
148
|
async function runServe({ devServer = {}, ...config }) {
|
|
149
|
-
const compiler = (
|
|
149
|
+
const compiler = createWebpackCompiler(config);
|
|
150
150
|
var _devServer_host;
|
|
151
151
|
const host = (_devServer_host = devServer.host) !== null && _devServer_host !== void 0 ? _devServer_host : 'localhost';
|
|
152
152
|
const port = await (0, _portfinder.getPortPromise)({
|
|
@@ -169,7 +169,7 @@ async function runServe({ devServer = {}, ...config }) {
|
|
|
169
169
|
});
|
|
170
170
|
}
|
|
171
171
|
async function runWatch(config) {
|
|
172
|
-
const compiler = (
|
|
172
|
+
const compiler = createWebpackCompiler(config);
|
|
173
173
|
return new Promise((_0, reject)=>{
|
|
174
174
|
const watching = compiler.watch({}, (e)=>{
|
|
175
175
|
if (e) {
|
|
@@ -180,5 +180,8 @@ async function runWatch(config) {
|
|
|
180
180
|
});
|
|
181
181
|
});
|
|
182
182
|
}
|
|
183
|
+
function createWebpackCompiler(config) {
|
|
184
|
+
return (0, _webpack.default)(config); // webpack only potentially returns null when given a callback argument
|
|
185
|
+
}
|
|
183
186
|
|
|
184
187
|
//# sourceMappingURL=bundle.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/cli/utils/bundle.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport crypto from 'crypto';\nimport { getPortPromise } from 'portfinder';\n\nimport webpack, { Configuration } from 'webpack';\nimport WebpackDevServer from 'webpack-dev-server';\n\nimport {\n getPackageName,\n hasHeadlessBundle,\n isDevServerDisabled,\n isExposeSharedDependencies,\n isWebComponent,\n log,\n pick,\n} from '../../utils';\nimport { Overrides, createWebpackConfig } from '../../webpack';\nimport { stringifyConfig } from '../../webpack/utils';\n\ninterface Options {\n buildStat?: boolean;\n codeCoverage?: boolean;\n config?: string;\n emitExposedDependencies?: boolean | Pick<Configuration, 'output'>;\n useWatchConfig?: boolean;\n watch?: boolean;\n}\n\nfunction getName() {\n const packageName = getPackageName()\n .replace(/\\//g, '-')\n .replace(/[^\\w-]/g, '');\n const hash = crypto.randomBytes(4).toString('hex');\n\n return `${packageName}-${hash}`;\n}\n\nexport const webpackDevConfigFileName = 'webpack.dev.config.js';\nexport const webpackProdConfigFileName = 'webpack.prod.config.js';\n\nexport async function bundle(options: Options = {}) {\n const { emitExposedDependencies, useWatchConfig, watch } = options;\n if (emitExposedDependencies) {\n if (watch) {\n throw new Error('cannot bundle exposed dependencies in watch mode');\n }\n if (!isExposeSharedDependencies()) {\n return;\n }\n }\n\n log.info(`Bundling ${emitExposedDependencies ? 'exposed dependencies' : 'package'}...`);\n\n const mode = watch ? 'development' : 'production';\n const fallback = watch || useWatchConfig ? webpackDevConfigFileName : webpackProdConfigFileName;\n const customConfig = readWebpackConfig({ ...options, fallback });\n const webpackOptions = getWebpackOptions(options, customConfig);\n\n log.debug('custom-webpack-config', () => stringifyConfig(customConfig));\n\n if (isWebComponent()) {\n return bundleWebComponent({ customConfig, mode, watch, webpackOptions });\n }\n\n const config =\n customConfig && !emitExposedDependencies\n ? customConfig\n : createWebpackConfig({ configuration: { mode } }, webpackOptions);\n\n if (watch) {\n return isDevServerDisabled() ? runWatch(config) : runServe(config);\n }\n\n return run(config);\n}\n\nfunction bundleWebComponent({\n customConfig,\n mode,\n watch,\n webpackOptions,\n}: {\n customConfig: ReturnType<typeof readWebpackConfig>;\n mode: 'development' | 'production';\n watch?: boolean;\n webpackOptions: ReturnType<typeof getWebpackOptions>;\n}) {\n const overrides: Overrides = {\n configuration: { ...customConfig?.configuration, mode },\n plugins: customConfig?.plugins,\n };\n\n const fullConfig = createWebpackConfig(overrides, webpackOptions);\n const lightConfig = createWebpackConfig(overrides, { ...webpackOptions, embed: true });\n const headlessConfig = hasHeadlessBundle()\n ? createWebpackConfig(overrides, {\n ...webpackOptions,\n headless: true,\n })\n : undefined;\n\n const promises = watch\n ? [\n runWatch(lightConfig),\n isDevServerDisabled() ? runWatch(fullConfig) : runServe(fullConfig),\n headlessConfig && runWatch(headlessConfig),\n ]\n : [run(lightConfig), run(fullConfig), headlessConfig && run(headlessConfig)];\n\n return Promise.all(promises.filter(promise => !!promise));\n}\n\nfunction getWebpackOptions(options: Options, customConfig?: Record<string, any>) {\n const result = {\n name: getName(),\n ...pick(options, ['buildStat', 'codeCoverage', 'emitExposedDependencies']),\n };\n\n if (result.emitExposedDependencies && customConfig) {\n result.emitExposedDependencies = { output: customConfig.output };\n }\n\n return result;\n}\n\nfunction readWebpackConfig({ config, fallback }: Options & { fallback: string }) {\n return readConfig(config) ?? readConfig(fallback);\n}\n\nfunction readConfig(relativePath?: string): Record<string, any> | undefined {\n if (relativePath && fs.existsSync(relativePath)) {\n return require(path.resolve(relativePath));\n }\n}\n\nasync function run(config: Configuration) {\n const compiler = webpack(config);\n\n const stats = await new Promise<webpack.Stats>((resolve, reject) => {\n compiler.run((error, stats) => {\n if (!stats || error) {\n return reject(error ?? new Error('Something went wrong.'));\n }\n\n if (stats.hasErrors()) {\n return reject(new Error(stats.toString('errors-only')));\n }\n\n compiler.close(() => resolve(stats));\n });\n });\n\n process.stdout.write(stats.toString(config.stats) + '\\n');\n}\n\nasync function runServe({ devServer = {}, ...config }: Configuration) {\n const compiler = webpack(config);\n const host = devServer.host ?? 'localhost';\n const port = await getPortPromise({\n port: Number(devServer.port) || 8080,\n host,\n });\n\n return new Promise<void>((_0, reject) => {\n const server = new WebpackDevServer({ ...devServer, host, port }, compiler);\n server.startCallback(e => {\n if (e) {\n server.stopCallback(() => {\n reject(e);\n });\n }\n });\n });\n}\n\nasync function runWatch(config: Configuration) {\n const compiler = webpack(config);\n return new Promise<void>((_0, reject) => {\n const watching = compiler.watch({}, e => {\n if (e) {\n watching.close(() => {\n reject(e);\n });\n }\n });\n });\n}\n"],"names":["bundle","webpackDevConfigFileName","webpackProdConfigFileName","getName","packageName","getPackageName","replace","hash","crypto","randomBytes","toString","options","emitExposedDependencies","useWatchConfig","watch","Error","isExposeSharedDependencies","log","info","mode","fallback","customConfig","readWebpackConfig","webpackOptions","getWebpackOptions","debug","stringifyConfig","isWebComponent","bundleWebComponent","config","createWebpackConfig","configuration","isDevServerDisabled","runWatch","runServe","run","overrides","plugins","fullConfig","lightConfig","embed","headlessConfig","hasHeadlessBundle","headless","undefined","promises","Promise","all","filter","promise","result","name","pick","output","readConfig","relativePath","fs","existsSync","require","path","resolve","compiler","webpack","stats","reject","error","hasErrors","close","process","stdout","write","devServer","host","port","getPortPromise","Number","_0","server","WebpackDevServer","startCallback","e","stopCallback","watching"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/utils/bundle.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport crypto from 'crypto';\nimport { getPortPromise } from 'portfinder';\n\nimport webpack, { Configuration } from 'webpack';\nimport WebpackDevServer from 'webpack-dev-server';\n\nimport {\n getPackageName,\n hasHeadlessBundle,\n isDevServerDisabled,\n isExposeSharedDependencies,\n isWebComponent,\n log,\n pick,\n} from '../../utils';\nimport { Overrides, createWebpackConfig } from '../../webpack';\nimport { stringifyConfig } from '../../webpack/utils';\n\ninterface Options {\n buildStat?: boolean;\n codeCoverage?: boolean;\n config?: string;\n emitExposedDependencies?: boolean | Pick<Configuration, 'output'>;\n useWatchConfig?: boolean;\n watch?: boolean;\n}\n\nfunction getName() {\n const packageName = getPackageName()\n .replace(/\\//g, '-')\n .replace(/[^\\w-]/g, '');\n const hash = crypto.randomBytes(4).toString('hex');\n\n return `${packageName}-${hash}`;\n}\n\nexport const webpackDevConfigFileName = 'webpack.dev.config.js';\nexport const webpackProdConfigFileName = 'webpack.prod.config.js';\n\nexport async function bundle(options: Options = {}) {\n const { emitExposedDependencies, useWatchConfig, watch } = options;\n if (emitExposedDependencies) {\n if (watch) {\n throw new Error('cannot bundle exposed dependencies in watch mode');\n }\n if (!isExposeSharedDependencies()) {\n return;\n }\n }\n\n log.info(`Bundling ${emitExposedDependencies ? 'exposed dependencies' : 'package'}...`);\n\n const mode = watch ? 'development' : 'production';\n const fallback = watch || useWatchConfig ? webpackDevConfigFileName : webpackProdConfigFileName;\n const customConfig = readWebpackConfig({ ...options, fallback });\n const webpackOptions = getWebpackOptions(options, customConfig);\n\n /* istanbul ignore next: debug only */\n log.debug('custom-webpack-config', () => stringifyConfig(customConfig));\n\n if (isWebComponent()) {\n return bundleWebComponent({ customConfig, mode, watch, webpackOptions });\n }\n\n const config =\n customConfig && !emitExposedDependencies\n ? customConfig\n : createWebpackConfig({ configuration: { mode } }, webpackOptions);\n\n if (watch) {\n return isDevServerDisabled() ? runWatch(config) : runServe(config);\n }\n\n return run(config);\n}\n\nfunction bundleWebComponent({\n customConfig,\n mode,\n watch,\n webpackOptions,\n}: {\n customConfig: ReturnType<typeof readWebpackConfig>;\n mode: 'development' | 'production';\n watch?: boolean;\n webpackOptions: ReturnType<typeof getWebpackOptions>;\n}) {\n const overrides: Overrides = {\n configuration: { ...customConfig?.configuration, mode },\n plugins: customConfig?.plugins,\n };\n\n const fullConfig = createWebpackConfig(overrides, webpackOptions);\n const lightConfig = createWebpackConfig(overrides, { ...webpackOptions, embed: true });\n const headlessConfig = hasHeadlessBundle()\n ? createWebpackConfig(overrides, {\n ...webpackOptions,\n headless: true,\n })\n : undefined;\n\n const promises = watch\n ? [\n runWatch(lightConfig),\n isDevServerDisabled() ? runWatch(fullConfig) : runServe(fullConfig),\n headlessConfig && runWatch(headlessConfig),\n ]\n : [run(lightConfig), run(fullConfig), headlessConfig && run(headlessConfig)];\n\n return Promise.all(promises.filter(promise => !!promise));\n}\n\nfunction getWebpackOptions(options: Options, customConfig?: Record<string, any>) {\n const result = {\n name: getName(),\n ...pick(options, ['buildStat', 'codeCoverage', 'emitExposedDependencies']),\n };\n\n if (result.emitExposedDependencies && customConfig) {\n result.emitExposedDependencies = { output: customConfig.output };\n }\n\n return result;\n}\n\nfunction readWebpackConfig({ config, fallback }: Options & { fallback: string }) {\n return readConfig(config) ?? readConfig(fallback);\n}\n\nfunction readConfig(relativePath?: string): Record<string, any> | undefined {\n if (relativePath && fs.existsSync(relativePath)) {\n return require(path.resolve(relativePath));\n }\n}\n\nasync function run(config: Configuration) {\n const compiler = createWebpackCompiler(config);\n\n const stats = await new Promise<webpack.Stats>((resolve, reject) => {\n compiler.run((error, stats) => {\n if (!stats || error) {\n return reject(error ?? new Error('Something went wrong.'));\n }\n\n if (stats.hasErrors()) {\n return reject(new Error(stats.toString('errors-only')));\n }\n\n compiler.close(() => resolve(stats));\n });\n });\n\n process.stdout.write(stats.toString(config.stats) + '\\n');\n}\n\nasync function runServe({ devServer = {}, ...config }: Configuration) {\n const compiler = createWebpackCompiler(config);\n const host = devServer.host ?? 'localhost';\n const port = await getPortPromise({\n port: Number(devServer.port) || 8080,\n host,\n });\n\n return new Promise<void>((_0, reject) => {\n const server = new WebpackDevServer({ ...devServer, host, port }, compiler);\n server.startCallback(e => {\n if (e) {\n server.stopCallback(() => {\n reject(e);\n });\n }\n });\n });\n}\n\nasync function runWatch(config: Configuration) {\n const compiler = createWebpackCompiler(config);\n return new Promise<void>((_0, reject) => {\n const watching = compiler.watch({}, e => {\n if (e) {\n watching.close(() => {\n reject(e);\n });\n }\n });\n });\n}\n\nfunction createWebpackCompiler(config: Configuration) {\n return webpack(config)!; // webpack only potentially returns null when given a callback argument\n}\n"],"names":["bundle","webpackDevConfigFileName","webpackProdConfigFileName","getName","packageName","getPackageName","replace","hash","crypto","randomBytes","toString","options","emitExposedDependencies","useWatchConfig","watch","Error","isExposeSharedDependencies","log","info","mode","fallback","customConfig","readWebpackConfig","webpackOptions","getWebpackOptions","debug","stringifyConfig","isWebComponent","bundleWebComponent","config","createWebpackConfig","configuration","isDevServerDisabled","runWatch","runServe","run","overrides","plugins","fullConfig","lightConfig","embed","headlessConfig","hasHeadlessBundle","headless","undefined","promises","Promise","all","filter","promise","result","name","pick","output","readConfig","relativePath","fs","existsSync","require","path","resolve","compiler","createWebpackCompiler","stats","reject","error","hasErrors","close","process","stdout","write","devServer","host","port","getPortPromise","Number","_0","server","WebpackDevServer","startCallback","e","stopCallback","watching","webpack"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set-node-options.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/set-node-options.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"set-node-options.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/set-node-options.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAwB,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAMtC;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,WAqBxE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/cli/utils/set-node-options.ts"],"sourcesContent":["import os from 'os';\nimport { CommandName,
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/utils/set-node-options.ts"],"sourcesContent":["import os from 'os';\nimport { CommandName, getConfigurationSafe } from '../../utils';\nimport { Command } from '../commands';\n\nconst MAX_OLD_SPACE_SIZE_OPTION = 'max_old_space_size';\nconst DEFAULT_MAX_OLD_SPACE_SIZE_MB = 8192;\nconst MIN_REMAINING_MEMORY_MB = 512;\n\n/**\n * Apply global defaults and custom CLI configuration to process.env.NODE_OPTIONS\n * @param command - the command being executed\n * @returns whether process's NODE_OPTIONS were changed\n */\nexport function setNodeOptions(commandName: CommandName, command: Command) {\n const cliConfig = getConfigurationSafe();\n const cmdConfig = cliConfig[commandName];\n\n const cliNodeOptions = cliConfig.NODE_OPTIONS ?? [];\n const cmdNodeOptions = cmdConfig?.NODE_OPTIONS ?? [];\n const oldNodeOptions = process.env.NODE_OPTIONS ?? '';\n\n const mergedOptions = [...cmdNodeOptions, ...cliNodeOptions]\n .reduce((result, option) => {\n return result.includes(option) ? result : `${result} ${option}`;\n }, oldNodeOptions)\n .trim();\n\n const newNodeOptions = ensureMaxOldSpaceSize(mergedOptions, command.greedy);\n if (newNodeOptions !== oldNodeOptions) {\n process.env.NODE_OPTIONS = newNodeOptions;\n return true;\n }\n\n return false;\n}\n\nfunction ensureMaxOldSpaceSize(nodeOptions: string, greedy?: boolean) {\n if (!greedy || nodeOptions.includes(MAX_OLD_SPACE_SIZE_OPTION)) {\n return nodeOptions;\n }\n\n return `--${MAX_OLD_SPACE_SIZE_OPTION}=${getMaxOldSpaceSize()} ${nodeOptions}`.trim();\n}\n\nfunction getMaxOldSpaceSize() {\n const totalMB = os.totalmem() / (1024 * 1024);\n return Math.min(DEFAULT_MAX_OLD_SPACE_SIZE_MB, Math.floor(totalMB - MIN_REMAINING_MEMORY_MB));\n}\n"],"names":["setNodeOptions","MAX_OLD_SPACE_SIZE_OPTION","DEFAULT_MAX_OLD_SPACE_SIZE_MB","MIN_REMAINING_MEMORY_MB","commandName","command","cliConfig","getConfigurationSafe","cmdConfig","cliNodeOptions","NODE_OPTIONS","cmdNodeOptions","process","oldNodeOptions","env","mergedOptions","reduce","result","option","includes","trim","newNodeOptions","ensureMaxOldSpaceSize","greedy","nodeOptions","getMaxOldSpaceSize","totalMB","os","totalmem","Math","min","floor"],"mappings":";;;;+BAagBA;;;eAAAA;;;2DAbD;uBACmC;;;;;;AAGlD,MAAMC,4BAA4B;AAClC,MAAMC,gCAAgC;AACtC,MAAMC,0BAA0B;AAOzB,SAASH,eAAeI,WAAwB,EAAEC,OAAgB;IACrE,MAAMC,YAAYC,IAAAA,2BAAoB;IACtC,MAAMC,YAAYF,SAAS,CAACF,YAAY;QAEjBE;IAAvB,MAAMG,iBAAiBH,CAAAA,0BAAAA,UAAUI,YAAY,cAAtBJ,qCAAAA,0BAA0B,EAAE;QAC5BE;IAAvB,MAAMG,iBAAiBH,CAAAA,0BAAAA,sBAAAA,gCAAAA,UAAWE,YAAY,cAAvBF,qCAAAA,0BAA2B,EAAE;QAC7BI;IAAvB,MAAMC,iBAAiBD,CAAAA,4BAAAA,QAAQE,GAAG,CAACJ,YAAY,cAAxBE,uCAAAA,4BAA4B;IAEnD,MAAMG,gBAAgB;WAAIJ;WAAmBF;KAAe,CACvDO,MAAM,CAAC,CAACC,QAAQC;QACb,OAAOD,OAAOE,QAAQ,CAACD,UAAUD,SAAS,GAAGA,OAAO,CAAC,EAAEC,QAAQ;IACnE,GAAGL,gBACFO,IAAI;IAET,MAAMC,iBAAiBC,sBAAsBP,eAAeV,QAAQkB,MAAM;IAC1E,IAAIF,mBAAmBR,gBAAgB;QACnCD,QAAQE,GAAG,CAACJ,YAAY,GAAGW;QAC3B,OAAO;IACX;IAEA,OAAO;AACX;AAEA,SAASC,sBAAsBE,WAAmB,EAAED,MAAgB;IAChE,IAAI,CAACA,UAAUC,YAAYL,QAAQ,CAAClB,4BAA4B;QAC5D,OAAOuB;IACX;IAEA,OAAO,CAAC,EAAE,EAAEvB,0BAA0B,CAAC,EAAEwB,qBAAqB,CAAC,EAAED,aAAa,CAACJ,IAAI;AACvF;AAEA,SAASK;IACL,MAAMC,UAAUC,WAAE,CAACC,QAAQ,KAAM,CAAA,OAAO,IAAG;IAC3C,OAAOC,KAAKC,GAAG,CAAC5B,+BAA+B2B,KAAKE,KAAK,CAACL,UAAUvB;AACxE"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,sBAAsB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
5
|
_export_star(require("./webpack"), exports);
|
|
6
|
-
_export_star(require("./jest"), exports);
|
|
7
6
|
_export_star(require("./utils/get-packages"), exports);
|
|
8
7
|
function _export_star(from, to) {
|
|
9
8
|
Object.keys(from).forEach(function(k) {
|