@servicetitan/startup 36.1.1 → 36.1.2-canary.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/_run.js +77 -0
- package/bin/cpx.js +3 -0
- package/bin/eslint.js +3 -0
- package/bin/jest.js +3 -0
- package/bin/js-yaml.js +3 -0
- package/bin/json5.js +3 -0
- package/bin/kendo-ui-license.js +3 -0
- package/bin/lerna.js +3 -0
- package/bin/lessc.js +3 -0
- package/bin/patch-package.js +3 -0
- package/bin/prettier.js +3 -0
- package/bin/sass.js +3 -0
- package/bin/semver.js +3 -0
- package/bin/spack.js +3 -0
- package/bin/stylelint.js +3 -0
- package/bin/swc.js +3 -0
- package/bin/swcx.js +3 -0
- package/bin/tcm.js +3 -0
- package/bin/ts-jest.js +3 -0
- package/bin/ts-node-cwd.js +3 -0
- package/bin/ts-node-esm.js +3 -0
- package/bin/ts-node-script.js +3 -0
- package/bin/ts-node-transpile-only.js +3 -0
- package/bin/ts-node.js +3 -0
- package/bin/ts-script.js +3 -0
- package/bin/tsc.js +3 -0
- package/bin/tsserver.js +3 -0
- package/bin/vitest.js +3 -0
- package/bin/webpack-bundle-analyzer.js +3 -0
- package/bin/webpack-dev-server.js +3 -0
- package/bin/webpack.js +3 -0
- package/dist/cli/commands/clean.d.ts +1 -0
- package/dist/cli/commands/clean.d.ts.map +1 -1
- package/dist/cli/commands/clean.js +18 -8
- package/dist/cli/commands/clean.js.map +1 -1
- package/dist/cli/commands/coverage-finalize.d.ts +16 -0
- package/dist/cli/commands/coverage-finalize.d.ts.map +1 -0
- package/dist/cli/commands/coverage-finalize.js +41 -0
- package/dist/cli/commands/coverage-finalize.js.map +1 -0
- package/dist/cli/commands/install.js +1 -1
- package/dist/cli/commands/install.js.map +1 -1
- package/dist/cli/commands/kendo-ui-license.js +1 -2
- package/dist/cli/commands/kendo-ui-license.js.map +1 -1
- package/dist/cli/commands/prepare-package.js +2 -2
- package/dist/cli/commands/prepare-package.js.map +1 -1
- package/dist/cli/commands/registry/coverage-finalize.d.ts +5 -0
- package/dist/cli/commands/registry/coverage-finalize.d.ts.map +1 -0
- package/dist/cli/commands/registry/coverage-finalize.js +17 -0
- package/dist/cli/commands/registry/coverage-finalize.js.map +1 -0
- package/dist/cli/commands/review/review.d.ts.map +1 -1
- package/dist/cli/commands/review/review.js +8 -7
- package/dist/cli/commands/review/review.js.map +1 -1
- package/dist/cli/commands/review/rules/require-compatible-launch-darkly-sdk.d.ts +0 -1
- package/dist/cli/commands/review/rules/require-compatible-launch-darkly-sdk.d.ts.map +1 -1
- package/dist/cli/commands/review/rules/require-compatible-launch-darkly-sdk.js +12 -18
- package/dist/cli/commands/review/rules/require-compatible-launch-darkly-sdk.js.map +1 -1
- package/dist/cli/commands/review/rules/require-project-version-in-root-node-modules.d.ts.map +1 -1
- package/dist/cli/commands/review/rules/require-project-version-in-root-node-modules.js +9 -4
- package/dist/cli/commands/review/rules/require-project-version-in-root-node-modules.js.map +1 -1
- package/dist/cli/commands/review/types.d.ts +2 -8
- package/dist/cli/commands/review/types.d.ts.map +1 -1
- package/dist/cli/commands/review/types.js.map +1 -1
- package/dist/cli/utils/index.d.ts +0 -3
- package/dist/cli/utils/index.d.ts.map +1 -1
- package/dist/cli/utils/index.js +0 -3
- package/dist/cli/utils/index.js.map +1 -1
- package/dist/cypress/config/webpack-config.js +0 -1
- package/dist/cypress/config/webpack-config.js.map +1 -1
- package/dist/storybook-config/webpack-final.d.ts.map +1 -1
- package/dist/storybook-config/webpack-final.js +0 -6
- package/dist/storybook-config/webpack-final.js.map +1 -1
- package/dist/utils/default-excludes.d.ts +14 -0
- package/dist/utils/default-excludes.d.ts.map +1 -0
- package/dist/utils/default-excludes.js +23 -0
- package/dist/utils/default-excludes.js.map +1 -0
- package/dist/utils/find-packages.d.ts.map +1 -1
- package/dist/utils/find-packages.js +15 -0
- package/dist/utils/find-packages.js.map +1 -1
- package/dist/utils/get-coverage-aliases.d.ts +23 -0
- package/dist/utils/get-coverage-aliases.d.ts.map +1 -0
- package/dist/utils/get-coverage-aliases.js +41 -0
- package/dist/utils/get-coverage-aliases.js.map +1 -0
- package/dist/utils/get-coverage-source-patterns.d.ts +21 -0
- package/dist/utils/get-coverage-source-patterns.d.ts.map +1 -0
- package/dist/utils/get-coverage-source-patterns.js +39 -0
- package/dist/utils/get-coverage-source-patterns.js.map +1 -0
- package/dist/utils/get-jest-config.d.ts.map +1 -1
- package/dist/utils/get-jest-config.js +2 -1
- package/dist/utils/get-jest-config.js.map +1 -1
- package/dist/utils/prettify.js +1 -1
- package/dist/utils/prettify.js.map +1 -1
- package/dist/webpack/configs/cache-config.d.ts.map +1 -1
- package/dist/webpack/configs/cache-config.js +3 -1
- package/dist/webpack/configs/cache-config.js.map +1 -1
- package/dist/webpack/configs/rules/ts-coverage-rules.d.ts +22 -0
- package/dist/webpack/configs/rules/ts-coverage-rules.d.ts.map +1 -0
- package/dist/webpack/configs/rules/ts-coverage-rules.js +48 -0
- package/dist/webpack/configs/rules/ts-coverage-rules.js.map +1 -0
- package/eslint/config.mjs +2 -0
- package/package.json +54 -18
- package/src/__tests__/postinstall.test.ts +173 -0
- package/src/cli/commands/__tests__/clean.test.ts +30 -12
- package/src/cli/commands/__tests__/install.test.ts +3 -1
- package/src/cli/commands/__tests__/kendo-ui-license.test.ts +4 -4
- package/src/cli/commands/__tests__/prepare-package.test.ts +2 -3
- package/src/cli/commands/clean.ts +18 -9
- package/src/cli/commands/install.ts +1 -1
- package/src/cli/commands/kendo-ui-license.ts +1 -1
- package/src/cli/commands/prepare-package.ts +1 -1
- package/src/cli/commands/review/__mocks__/index.ts +1 -0
- package/src/cli/commands/review/__mocks__/mock-package-manager.ts +20 -0
- package/src/cli/commands/review/__tests__/review.test.ts +23 -31
- package/src/cli/commands/review/review.ts +11 -7
- package/src/cli/commands/review/rules/__mocks__/mock-project.ts +2 -1
- package/src/cli/commands/review/rules/__tests__/require-compatible-launch-darkly-sdk.test.ts +39 -49
- package/src/cli/commands/review/rules/__tests__/require-project-version-in-root-node-modules.test.ts +35 -22
- package/src/cli/commands/review/rules/require-compatible-launch-darkly-sdk.ts +13 -28
- package/src/cli/commands/review/rules/require-project-version-in-root-node-modules.ts +10 -3
- package/src/cli/commands/review/types.ts +3 -12
- package/src/cli/utils/index.ts +10 -3
- package/src/cypress/config/__tests__/webpack-config.test.ts +0 -9
- package/src/cypress/config/webpack-config.ts +0 -1
- package/src/postinstall.js +106 -14
- package/src/scripts/__tests__/generate-bin-wrappers.test.ts +226 -0
- package/src/scripts/generate-bin-wrappers.js +205 -0
- package/src/storybook-config/__tests__/webpack-final.test.ts +0 -25
- package/src/storybook-config/webpack-final.ts +0 -4
- package/src/utils/__tests__/get-jest-config.test.ts +3 -1
- package/src/utils/__tests__/get-packages.test.ts +47 -2
- package/src/utils/__tests__/prettify.test.ts +1 -1
- package/src/utils/find-packages.ts +16 -0
- package/src/utils/get-jest-config.ts +4 -1
- package/src/utils/prettify.ts +1 -1
- package/src/webpack/configs/cache-config.ts +3 -1
package/bin/_run.js
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared helper for bin wrappers generated by scripts/generate-bin-wrappers.js.
|
|
3
|
+
*
|
|
4
|
+
* Locates a dependency's bin script by walking up the node_modules tree from
|
|
5
|
+
* the caller's directory, then executes it with the same argv. Works with both
|
|
6
|
+
* npm (flat hoisting) and pnpm (strict isolation).
|
|
7
|
+
*
|
|
8
|
+
* Caveat (npm only): if npm nests a different version of a package inside
|
|
9
|
+
* startup's node_modules and startup's bin wrapper is installed last, the
|
|
10
|
+
* consumer may get startup's version instead of their own. Keeping versions
|
|
11
|
+
* compatible avoids this. Not an issue under pnpm, which links direct
|
|
12
|
+
* dependencies' bins separately.
|
|
13
|
+
*/
|
|
14
|
+
const { execFileSync } = require('child_process');
|
|
15
|
+
const fs = require('fs');
|
|
16
|
+
const path = require('path');
|
|
17
|
+
|
|
18
|
+
function exec(script) {
|
|
19
|
+
try {
|
|
20
|
+
execFileSync(process.execPath, [script, ...process.argv.slice(2)], {
|
|
21
|
+
stdio: 'inherit',
|
|
22
|
+
});
|
|
23
|
+
} catch (e) {
|
|
24
|
+
process.exit(e.status || 1);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Walk up the directory tree from this package, checking for target in each
|
|
30
|
+
* node_modules directory along the way. Covers:
|
|
31
|
+
* - npm nesting: @servicetitan/startup/node_modules/<target>
|
|
32
|
+
* - npm hoisting: <project>/node_modules/<target>
|
|
33
|
+
* - pnpm: .pnpm/node_modules/<target> (pnpm-hoisted deps)
|
|
34
|
+
*/
|
|
35
|
+
function findInFileSystem(target) {
|
|
36
|
+
let dir = path.resolve(__dirname, '..');
|
|
37
|
+
while (dir !== path.dirname(dir)) {
|
|
38
|
+
const candidate = path.join(dir, 'node_modules', target);
|
|
39
|
+
if (fs.existsSync(candidate)) {
|
|
40
|
+
return candidate;
|
|
41
|
+
}
|
|
42
|
+
dir = path.dirname(dir);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
function resolve(pkg, binPath) {
|
|
47
|
+
const target = `${pkg}/${binPath}`;
|
|
48
|
+
|
|
49
|
+
// Try require.resolve first — it follows pnpm's dependency graph correctly
|
|
50
|
+
try {
|
|
51
|
+
return require.resolve(target);
|
|
52
|
+
} catch (e) {
|
|
53
|
+
/*
|
|
54
|
+
* Fall through on resolution errors; some packages use "exports" which
|
|
55
|
+
* blocks subpath access (ERR_PACKAGE_PATH_NOT_EXPORTED).
|
|
56
|
+
*/
|
|
57
|
+
if (e.code !== 'MODULE_NOT_FOUND' && e.code !== 'ERR_PACKAGE_PATH_NOT_EXPORTED') {
|
|
58
|
+
throw e;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/*
|
|
63
|
+
* require.resolve fails when the package uses "exports" to block subpath
|
|
64
|
+
* access. Fall back to a direct filesystem lookup.
|
|
65
|
+
*/
|
|
66
|
+
return findInFileSystem(target);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
module.exports = function run(pkg, binPath) {
|
|
70
|
+
const script = resolve(pkg, binPath);
|
|
71
|
+
if (!script) {
|
|
72
|
+
// eslint-disable-next-line no-console
|
|
73
|
+
console.error(`@servicetitan/startup: cannot find ${pkg}/${binPath}`);
|
|
74
|
+
process.exit(1);
|
|
75
|
+
}
|
|
76
|
+
exec(script);
|
|
77
|
+
};
|
package/bin/cpx.js
ADDED
package/bin/eslint.js
ADDED
package/bin/jest.js
ADDED
package/bin/js-yaml.js
ADDED
package/bin/json5.js
ADDED
package/bin/lerna.js
ADDED
package/bin/lessc.js
ADDED
package/bin/prettier.js
ADDED
package/bin/sass.js
ADDED
package/bin/semver.js
ADDED
package/bin/spack.js
ADDED
package/bin/stylelint.js
ADDED
package/bin/swc.js
ADDED
package/bin/swcx.js
ADDED
package/bin/tcm.js
ADDED
package/bin/ts-jest.js
ADDED
package/bin/ts-node.js
ADDED
package/bin/ts-script.js
ADDED
package/bin/tsc.js
ADDED
package/bin/tsserver.js
ADDED
package/bin/vitest.js
ADDED
package/bin/webpack.js
ADDED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clean.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/clean.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"clean.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/clean.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAYlC,qBAAa,KAAM,SAAQ,OAAO,CAAC,OAAO,KAAK,CAAC;IAEtC,OAAO;YAeC,UAAU;IASxB,OAAO,CAAC,mBAAmB;YAOb,aAAa;IAY3B,OAAO,CAAC,wBAAwB;CASnC"}
|
|
@@ -8,6 +8,7 @@ Object.defineProperty(exports, "Clean", {
|
|
|
8
8
|
return Clean;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
+
const _install = require("@servicetitan/install");
|
|
11
12
|
const _nodechild_process = require("node:child_process");
|
|
12
13
|
const _nodefs = /*#__PURE__*/ _interop_require_default(require("node:fs"));
|
|
13
14
|
const _nodepath = /*#__PURE__*/ _interop_require_default(require("node:path"));
|
|
@@ -31,20 +32,20 @@ function _ts_metadata(k, v) {
|
|
|
31
32
|
}
|
|
32
33
|
const exec = (0, _nodeutil.promisify)(_nodechild_process.exec);
|
|
33
34
|
var CleanProcesses = /*#__PURE__*/ function(CleanProcesses) {
|
|
34
|
-
CleanProcesses[CleanProcesses["
|
|
35
|
+
CleanProcesses[CleanProcesses["CleanGitWorkingTree"] = 0] = "CleanGitWorkingTree";
|
|
35
36
|
CleanProcesses[CleanProcesses["ClearJestCache"] = 1] = "ClearJestCache";
|
|
36
|
-
CleanProcesses[CleanProcesses["
|
|
37
|
-
CleanProcesses[CleanProcesses["
|
|
38
|
-
CleanProcesses[CleanProcesses["
|
|
37
|
+
CleanProcesses[CleanProcesses["ClearNpxCache"] = 2] = "ClearNpxCache";
|
|
38
|
+
CleanProcesses[CleanProcesses["ClearPackageManagerCache"] = 3] = "ClearPackageManagerCache";
|
|
39
|
+
CleanProcesses[CleanProcesses["ResetNx"] = 4] = "ResetNx";
|
|
39
40
|
return CleanProcesses;
|
|
40
41
|
}(CleanProcesses || {});
|
|
41
42
|
class Clean extends _types.Command {
|
|
42
43
|
async execute() {
|
|
43
44
|
const processTree = new _processtree.ProcessTree();
|
|
44
|
-
processTree.add(
|
|
45
|
-
processTree.add(1, ()=>this.runCommand('
|
|
46
|
-
processTree.add(
|
|
47
|
-
processTree.add(
|
|
45
|
+
processTree.add(4, ()=>this.runCommand('nx reset'));
|
|
46
|
+
processTree.add(1, ()=>this.runCommand('jest --clearCache'));
|
|
47
|
+
processTree.add(3, ()=>Promise.resolve(this.clearPackageManagerCache()));
|
|
48
|
+
processTree.add(2, ()=>this.clearNpxCache());
|
|
48
49
|
await processTree.run();
|
|
49
50
|
this.cleanGitWorkingTree();
|
|
50
51
|
}
|
|
@@ -75,6 +76,15 @@ class Clean extends _types.Command {
|
|
|
75
76
|
_utils.log.error(`Error clearing npx cache: ${error}`);
|
|
76
77
|
}
|
|
77
78
|
}
|
|
79
|
+
clearPackageManagerCache() {
|
|
80
|
+
try {
|
|
81
|
+
const packageManager = (0, _install.getPackageManager)();
|
|
82
|
+
_utils.log.info(`Clearing ${packageManager.command} cache`);
|
|
83
|
+
packageManager.clearCache();
|
|
84
|
+
} catch (error) {
|
|
85
|
+
_utils.log.error(`Error clearing package manager cache: ${error}`);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
78
88
|
}
|
|
79
89
|
_ts_decorate([
|
|
80
90
|
_utils.logErrors,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/cli/commands/clean.ts"],"sourcesContent":["import { exec as execAsync, execSync } from 'node:child_process';\nimport fs from 'node:fs';\nimport path from 'node:path';\nimport { promisify } from 'node:util';\nimport { log, logErrors } from '../../utils';\nimport { ProcessTree } from '../utils/process-tree';\nimport type { entry } from './registry/clean';\nimport { Command } from './types';\n\nconst exec = promisify(execAsync);\n\nenum CleanProcesses {\n
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/commands/clean.ts"],"sourcesContent":["import { getPackageManager } from '@servicetitan/install';\nimport { exec as execAsync, execSync } from 'node:child_process';\nimport fs from 'node:fs';\nimport path from 'node:path';\nimport { promisify } from 'node:util';\nimport { log, logErrors } from '../../utils';\nimport { ProcessTree } from '../utils/process-tree';\nimport type { entry } from './registry/clean';\nimport { Command } from './types';\n\nconst exec = promisify(execAsync);\n\nenum CleanProcesses {\n CleanGitWorkingTree,\n ClearJestCache,\n ClearNpxCache,\n ClearPackageManagerCache,\n ResetNx,\n}\n\nexport class Clean extends Command<typeof entry> {\n @logErrors\n async execute() {\n const processTree = new ProcessTree<typeof CleanProcesses>();\n\n processTree.add(CleanProcesses.ResetNx, () => this.runCommand('nx reset'));\n processTree.add(CleanProcesses.ClearJestCache, () => this.runCommand('jest --clearCache'));\n processTree.add(CleanProcesses.ClearPackageManagerCache, () =>\n Promise.resolve(this.clearPackageManagerCache())\n );\n processTree.add(CleanProcesses.ClearNpxCache, () => this.clearNpxCache());\n\n await processTree.run();\n\n this.cleanGitWorkingTree();\n }\n\n private async runCommand(command: string) {\n try {\n log.info(`Running: ${command}`);\n await exec(command);\n } catch (error) {\n log.error(`Error running ${command}: ${error}`);\n }\n }\n\n private cleanGitWorkingTree() {\n // Use exec() to avoid error when startup dependencies are deleted while startup is running\n const command = 'git clean -fdX';\n log.info(`Running: ${command}`);\n exec(command);\n }\n\n private async clearNpxCache() {\n try {\n const npmCacheDir = execSync('npm config get cache').toString().trim();\n const npxCachePath = path.join(npmCacheDir, '_npx');\n\n log.info('Clearing npx cache');\n await fs.promises.rm(npxCachePath, { recursive: true, force: true });\n } catch (error) {\n log.error(`Error clearing npx cache: ${error}`);\n }\n }\n\n private clearPackageManagerCache() {\n try {\n const packageManager = getPackageManager();\n log.info(`Clearing ${packageManager.command} cache`);\n packageManager.clearCache();\n } catch (error) {\n log.error(`Error clearing package manager cache: ${error}`);\n }\n }\n}\n"],"names":["Clean","exec","promisify","execAsync","CleanProcesses","Command","execute","processTree","ProcessTree","add","runCommand","Promise","resolve","clearPackageManagerCache","clearNpxCache","run","cleanGitWorkingTree","command","log","info","error","npmCacheDir","execSync","toString","trim","npxCachePath","path","join","fs","promises","rm","recursive","force","packageManager","getPackageManager","clearCache"],"mappings":";;;;+BAoBaA;;;eAAAA;;;yBApBqB;mCACU;+DAC7B;iEACE;0BACS;uBACK;6BACH;uBAEJ;;;;;;;;;;;;;;;AAExB,MAAMC,OAAOC,IAAAA,mBAAS,EAACC,uBAAS;AAEhC,IAAA,AAAKC,wCAAAA;;;;;;WAAAA;EAAAA;AAQE,MAAMJ,cAAcK,cAAO;IAC9B,MACMC,UAAU;QACZ,MAAMC,cAAc,IAAIC,wBAAW;QAEnCD,YAAYE,GAAG,IAAyB,IAAM,IAAI,CAACC,UAAU,CAAC;QAC9DH,YAAYE,GAAG,IAAgC,IAAM,IAAI,CAACC,UAAU,CAAC;QACrEH,YAAYE,GAAG,IAA0C,IACrDE,QAAQC,OAAO,CAAC,IAAI,CAACC,wBAAwB;QAEjDN,YAAYE,GAAG,IAA+B,IAAM,IAAI,CAACK,aAAa;QAEtE,MAAMP,YAAYQ,GAAG;QAErB,IAAI,CAACC,mBAAmB;IAC5B;IAEA,MAAcN,WAAWO,OAAe,EAAE;QACtC,IAAI;YACAC,UAAG,CAACC,IAAI,CAAC,CAAC,SAAS,EAAEF,SAAS;YAC9B,MAAMhB,KAAKgB;QACf,EAAE,OAAOG,OAAO;YACZF,UAAG,CAACE,KAAK,CAAC,CAAC,cAAc,EAAEH,QAAQ,EAAE,EAAEG,OAAO;QAClD;IACJ;IAEQJ,sBAAsB;QAC1B,2FAA2F;QAC3F,MAAMC,UAAU;QAChBC,UAAG,CAACC,IAAI,CAAC,CAAC,SAAS,EAAEF,SAAS;QAC9BhB,KAAKgB;IACT;IAEA,MAAcH,gBAAgB;QAC1B,IAAI;YACA,MAAMO,cAAcC,IAAAA,2BAAQ,EAAC,wBAAwBC,QAAQ,GAAGC,IAAI;YACpE,MAAMC,eAAeC,iBAAI,CAACC,IAAI,CAACN,aAAa;YAE5CH,UAAG,CAACC,IAAI,CAAC;YACT,MAAMS,eAAE,CAACC,QAAQ,CAACC,EAAE,CAACL,cAAc;gBAAEM,WAAW;gBAAMC,OAAO;YAAK;QACtE,EAAE,OAAOZ,OAAO;YACZF,UAAG,CAACE,KAAK,CAAC,CAAC,0BAA0B,EAAEA,OAAO;QAClD;IACJ;IAEQP,2BAA2B;QAC/B,IAAI;YACA,MAAMoB,iBAAiBC,IAAAA,0BAAiB;YACxChB,UAAG,CAACC,IAAI,CAAC,CAAC,SAAS,EAAEc,eAAehB,OAAO,CAAC,MAAM,CAAC;YACnDgB,eAAeE,UAAU;QAC7B,EAAE,OAAOf,OAAO;YACZF,UAAG,CAACE,KAAK,CAAC,CAAC,sCAAsC,EAAEA,OAAO;QAC9D;IACJ;AACJ"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { entry } from './registry/coverage-finalize';
|
|
2
|
+
import { Command } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Copies .nyc_output/out.json to coverage/coverage-final.json.
|
|
5
|
+
*
|
|
6
|
+
* The `publish-frontend-test-coverage` GHA workflow expects every test command
|
|
7
|
+
* to produce coverage/coverage-final.json so it can be uploaded as an artifact
|
|
8
|
+
* and merged with `npx nyc merge`.
|
|
9
|
+
*
|
|
10
|
+
* Run this after cypress component or e2e tests complete, instead of the
|
|
11
|
+
* manual `node scripts/remap-coverage.js && nyc report --reporter=json` steps.
|
|
12
|
+
*/
|
|
13
|
+
export declare class CoverageFinalize extends Command<typeof entry> {
|
|
14
|
+
execute(): Promise<void>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=coverage-finalize.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coverage-finalize.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/coverage-finalize.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAKlC;;;;;;;;;GASG;AACH,qBAAa,gBAAiB,SAAQ,OAAO,CAAC,OAAO,KAAK,CAAC;IACjD,OAAO;CAiBhB"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "CoverageFinalize", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return CoverageFinalize;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _nodefs = /*#__PURE__*/ _interop_require_default(require("node:fs"));
|
|
12
|
+
const _nodepath = /*#__PURE__*/ _interop_require_default(require("node:path"));
|
|
13
|
+
const _utils = require("../../utils");
|
|
14
|
+
const _types = require("./types");
|
|
15
|
+
function _interop_require_default(obj) {
|
|
16
|
+
return obj && obj.__esModule ? obj : {
|
|
17
|
+
default: obj
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
const INPUT_PATH = _nodepath.default.join('.nyc_output', 'out.json');
|
|
21
|
+
const OUTPUT_PATH = _nodepath.default.join('coverage', 'coverage-final.json');
|
|
22
|
+
class CoverageFinalize extends _types.Command {
|
|
23
|
+
async execute() {
|
|
24
|
+
if (!_nodefs.default.existsSync(INPUT_PATH)) {
|
|
25
|
+
_utils.log.error(`Coverage file not found: ${INPUT_PATH}`);
|
|
26
|
+
process.exit(1);
|
|
27
|
+
}
|
|
28
|
+
const outputDir = _nodepath.default.dirname(OUTPUT_PATH);
|
|
29
|
+
if (!_nodefs.default.existsSync(outputDir)) {
|
|
30
|
+
_nodefs.default.mkdirSync(outputDir, {
|
|
31
|
+
recursive: true
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
_nodefs.default.copyFileSync(INPUT_PATH, OUTPUT_PATH);
|
|
35
|
+
const data = JSON.parse(_nodefs.default.readFileSync(OUTPUT_PATH, 'utf8'));
|
|
36
|
+
const fileCount = Object.keys(data).length;
|
|
37
|
+
_utils.log.info(`Coverage finalized: ${fileCount} files → ${OUTPUT_PATH}`);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
//# sourceMappingURL=coverage-finalize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/commands/coverage-finalize.ts"],"sourcesContent":["import fs from 'node:fs';\nimport path from 'node:path';\nimport { log } from '../../utils';\nimport type { entry } from './registry/coverage-finalize';\nimport { Command } from './types';\n\nconst INPUT_PATH = path.join('.nyc_output', 'out.json');\nconst OUTPUT_PATH = path.join('coverage', 'coverage-final.json');\n\n/**\n * Copies .nyc_output/out.json to coverage/coverage-final.json.\n *\n * The `publish-frontend-test-coverage` GHA workflow expects every test command\n * to produce coverage/coverage-final.json so it can be uploaded as an artifact\n * and merged with `npx nyc merge`.\n *\n * Run this after cypress component or e2e tests complete, instead of the\n * manual `node scripts/remap-coverage.js && nyc report --reporter=json` steps.\n */\nexport class CoverageFinalize extends Command<typeof entry> {\n async execute() {\n if (!fs.existsSync(INPUT_PATH)) {\n log.error(`Coverage file not found: ${INPUT_PATH}`);\n process.exit(1);\n }\n\n const outputDir = path.dirname(OUTPUT_PATH);\n if (!fs.existsSync(outputDir)) {\n fs.mkdirSync(outputDir, { recursive: true });\n }\n\n fs.copyFileSync(INPUT_PATH, OUTPUT_PATH);\n\n const data = JSON.parse(fs.readFileSync(OUTPUT_PATH, 'utf8'));\n const fileCount = Object.keys(data).length;\n log.info(`Coverage finalized: ${fileCount} files → ${OUTPUT_PATH}`);\n }\n}\n"],"names":["CoverageFinalize","INPUT_PATH","path","join","OUTPUT_PATH","Command","execute","fs","existsSync","log","error","process","exit","outputDir","dirname","mkdirSync","recursive","copyFileSync","data","JSON","parse","readFileSync","fileCount","Object","keys","length","info"],"mappings":";;;;+BAmBaA;;;eAAAA;;;+DAnBE;iEACE;uBACG;uBAEI;;;;;;AAExB,MAAMC,aAAaC,iBAAI,CAACC,IAAI,CAAC,eAAe;AAC5C,MAAMC,cAAcF,iBAAI,CAACC,IAAI,CAAC,YAAY;AAYnC,MAAMH,yBAAyBK,cAAO;IACzC,MAAMC,UAAU;QACZ,IAAI,CAACC,eAAE,CAACC,UAAU,CAACP,aAAa;YAC5BQ,UAAG,CAACC,KAAK,CAAC,CAAC,yBAAyB,EAAET,YAAY;YAClDU,QAAQC,IAAI,CAAC;QACjB;QAEA,MAAMC,YAAYX,iBAAI,CAACY,OAAO,CAACV;QAC/B,IAAI,CAACG,eAAE,CAACC,UAAU,CAACK,YAAY;YAC3BN,eAAE,CAACQ,SAAS,CAACF,WAAW;gBAAEG,WAAW;YAAK;QAC9C;QAEAT,eAAE,CAACU,YAAY,CAAChB,YAAYG;QAE5B,MAAMc,OAAOC,KAAKC,KAAK,CAACb,eAAE,CAACc,YAAY,CAACjB,aAAa;QACrD,MAAMkB,YAAYC,OAAOC,IAAI,CAACN,MAAMO,MAAM;QAC1ChB,UAAG,CAACiB,IAAI,CAAC,CAAC,oBAAoB,EAAEJ,UAAU,SAAS,EAAElB,aAAa;IACtE;AACJ"}
|
|
@@ -31,7 +31,7 @@ class Install extends _types.Command {
|
|
|
31
31
|
this.args.token === true ? '--token' : '',
|
|
32
32
|
this.args.token === false ? '--no-token' : ''
|
|
33
33
|
].filter((option)=>!!option);
|
|
34
|
-
const command = `npx @servicetitan/install ${options.join(' ')}`.trim();
|
|
34
|
+
const command = `npx --yes @servicetitan/install ${options.join(' ')}`.trim();
|
|
35
35
|
_utils.log.debug('install', command);
|
|
36
36
|
(0, _child_process.execSync)(command, {
|
|
37
37
|
stdio: 'inherit'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/cli/commands/install.ts"],"sourcesContent":["import { execSync } from 'child_process';\nimport { getStartupVersion, log, logErrors } from '../../utils';\nimport type { entry } from './registry/install';\nimport { Command } from './types';\n\nexport class Install extends Command<typeof entry> {\n @logErrors\n async execute() {\n if (!this.args.quiet) {\n log.info(`startup cli v${getStartupVersion()}`);\n }\n\n const options = [\n this.args.fix ? '--fix' : '',\n this.args.quiet ? '--quiet' : '',\n this.args.token === true ? '--token' : '',\n this.args.token === false ? '--no-token' : '',\n ].filter(option => !!option);\n\n const command = `npx @servicetitan/install ${options.join(' ')}`.trim();\n\n log.debug('install', command);\n\n execSync(command, { stdio: 'inherit' });\n\n return Promise.resolve(); // stops \"async method has no 'await' expression\" lint error\n }\n}\n"],"names":["Install","Command","execute","args","quiet","log","info","getStartupVersion","options","fix","token","filter","option","command","join","trim","debug","execSync","stdio","Promise","resolve"],"mappings":";;;;+BAKaA;;;eAAAA;;;+BALY;uBACyB;uBAE1B;;;;;;;;;;AAEjB,MAAMA,gBAAgBC,cAAO;IAChC,MACMC,UAAU;QACZ,IAAI,CAAC,IAAI,CAACC,IAAI,CAACC,KAAK,EAAE;YAClBC,UAAG,CAACC,IAAI,CAAC,CAAC,aAAa,EAAEC,IAAAA,wBAAiB,KAAI;QAClD;QAEA,MAAMC,UAAU;YACZ,IAAI,CAACL,IAAI,CAACM,GAAG,GAAG,UAAU;YAC1B,IAAI,CAACN,IAAI,CAACC,KAAK,GAAG,YAAY;YAC9B,IAAI,CAACD,IAAI,CAACO,KAAK,KAAK,OAAO,YAAY;YACvC,IAAI,CAACP,IAAI,CAACO,KAAK,KAAK,QAAQ,eAAe;SAC9C,CAACC,MAAM,CAACC,CAAAA,SAAU,CAAC,CAACA;QAErB,MAAMC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/commands/install.ts"],"sourcesContent":["import { execSync } from 'child_process';\nimport { getStartupVersion, log, logErrors } from '../../utils';\nimport type { entry } from './registry/install';\nimport { Command } from './types';\n\nexport class Install extends Command<typeof entry> {\n @logErrors\n async execute() {\n if (!this.args.quiet) {\n log.info(`startup cli v${getStartupVersion()}`);\n }\n\n const options = [\n this.args.fix ? '--fix' : '',\n this.args.quiet ? '--quiet' : '',\n this.args.token === true ? '--token' : '',\n this.args.token === false ? '--no-token' : '',\n ].filter(option => !!option);\n\n const command = `npx --yes @servicetitan/install ${options.join(' ')}`.trim();\n\n log.debug('install', command);\n\n execSync(command, { stdio: 'inherit' });\n\n return Promise.resolve(); // stops \"async method has no 'await' expression\" lint error\n }\n}\n"],"names":["Install","Command","execute","args","quiet","log","info","getStartupVersion","options","fix","token","filter","option","command","join","trim","debug","execSync","stdio","Promise","resolve"],"mappings":";;;;+BAKaA;;;eAAAA;;;+BALY;uBACyB;uBAE1B;;;;;;;;;;AAEjB,MAAMA,gBAAgBC,cAAO;IAChC,MACMC,UAAU;QACZ,IAAI,CAAC,IAAI,CAACC,IAAI,CAACC,KAAK,EAAE;YAClBC,UAAG,CAACC,IAAI,CAAC,CAAC,aAAa,EAAEC,IAAAA,wBAAiB,KAAI;QAClD;QAEA,MAAMC,UAAU;YACZ,IAAI,CAACL,IAAI,CAACM,GAAG,GAAG,UAAU;YAC1B,IAAI,CAACN,IAAI,CAACC,KAAK,GAAG,YAAY;YAC9B,IAAI,CAACD,IAAI,CAACO,KAAK,KAAK,OAAO,YAAY;YACvC,IAAI,CAACP,IAAI,CAACO,KAAK,KAAK,QAAQ,eAAe;SAC9C,CAACC,MAAM,CAACC,CAAAA,SAAU,CAAC,CAACA;QAErB,MAAMC,UAAU,CAAC,gCAAgC,EAAEL,QAAQM,IAAI,CAAC,MAAM,CAACC,IAAI;QAE3EV,UAAG,CAACW,KAAK,CAAC,WAAWH;QAErBI,IAAAA,uBAAQ,EAACJ,SAAS;YAAEK,OAAO;QAAU;QAErC,OAAOC,QAAQC,OAAO,IAAI,4DAA4D;IAC1F;AACJ"}
|
|
@@ -71,8 +71,7 @@ class KendoUILicense extends _types.Command {
|
|
|
71
71
|
} : undefined;
|
|
72
72
|
_utils.log.info(env ? 'Activating Kendo UI with embedded license...' : `Activating Kendo UI with license from environment...`);
|
|
73
73
|
try {
|
|
74
|
-
await (0, _execa.default)('
|
|
75
|
-
'kendo-ui-license',
|
|
74
|
+
await (0, _execa.default)('kendo-ui-license', [
|
|
76
75
|
'activate',
|
|
77
76
|
'--no-install'
|
|
78
77
|
], {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/cli/commands/kendo-ui-license.ts"],"sourcesContent":["import execa from 'execa';\nimport { log, logErrors } from '../../utils';\nimport { isModuleInstalled } from '../utils';\nimport type { entry } from './registry/kendo-ui-license';\nimport { Command } from './types';\n\nconst ENCODED_LICENSE = `\n ZXlKaGJHY2lPaUpTVXpJMU5pSXNJblI1Y0NJNklreEpReUo5LmV5SndjbTlrZFdOMGN5STZXM3Np\n ZEhKcFlXd2lPbVpoYkhObExDSmpiMlJsSWpvaVMwVk9SRTlWU1ZKRlFVTlVJaXdpYkdsalpXNXpa\n VVY0Y0dseVlYUnBiMjVFWVhSbElqb3hOelEwT1RneU1USXdmU3g3SW5SeWFXRnNJanBtWVd4elpT\n d2lZMjlrWlNJNklrdEZUa1JQVlVsRFQwMVFURVZVUlNJc0lteHBZMlZ1YzJWRmVIQnBjbUYwYVc5\n dVJHRjBaU0k2TVRjME5EazRNakV5TUgwc2V5SjBjbWxoYkNJNlptRnNjMlVzSW1OdlpHVWlPaUpM\n UlU1RVQxVkpWbFZGSWl3aWJHbGpaVzV6WlVWNGNHbHlZWFJwYjI1RVlYUmxJam94TnpRME9UZ3lN\n VEl3ZlN4N0luUnlhV0ZzSWpwbVlXeHpaU3dpWTI5a1pTSTZJa3RGVGtSUFZVbEJUa2RWVEVGU0lp\n d2liR2xqWlc1elpVVjRjR2x5WVhScGIyNUVZWFJsSWpveE56UTBPVGd5TVRJd2ZWMHNJbWx1ZEdW\n bmNtbDBlU0k2SWxFNFpEVkdkMnR2Y1dsdWRGTkZiVXhYTTNwSVVuaDZiVTU1UVQwaUxDSnNhV05s\n Ym5ObFNHOXNaR1Z5SWpvaVlXTm9hWFpwWTJoNVlXNUFjMlZ5ZG1salpYUnBkR0Z1TG1OdmJTSXNJ\n bWxoZENJNk1UY3hPVFV5T0RnNU1pd2lZWFZrSWpvaVlXTm9hWFpwWTJoNVlXNUFjMlZ5ZG1salpY\n UnBkR0Z1TG1OdmJTSXNJblZ6WlhKSlpDSTZJalUxWXpsak1tSXpMVE5rWkRVdE5ETTVZeTA0Tm1V\n eUxXRTBNV0V6T0RReE5HSXdZaUo5LlE5Yi10em9CNXFFRVV0QXZudTJGVFdULVBram0yeFFxVGll\n T29rWjA3dmd6VFJVLXVnRHoxb2l3VTUzNTNzajhaQ2FQUFUzdTZqWnhsOWU0dXVJdkxpV05ManFW\n N29pR2FoVHhXbm0ydTAzZkxZUWhxbUg2T3dmYjBxcWs0TnFwbWRfZDhwZmtJa3J4YXRlY3FCdjBl\n UVk1N3Zjd3FOLVRqZm0td0FxMmt6RXRZd3NFT0JlMGtyLTFqVzBjYzBudHJadmZEcEVYLUFGZVE1\n cF95MzhxQkJucFBvVjlOYXB0Mi1aN0JMdTZhdEVDUUIxd3FDSjdCdUlpZERBWVlxdGhvU0gxOEZE\n V29BdUhQNU9DbjM3ZENBQU1PVFlqOEJUdDdLNWlyNHR6R0ZVNTdxY2VKeTNRQUhjWlNURGxpZnU5\n cXVKMjkyQnJuS3FveGlLUDA3UXIxUQ==\n`.replace(/\\s/g, '');\nconst ENVIRONMENT_VARIABLE = 'KENDO_UI_LICENSE';\nconst LICENSE = Buffer.from(ENCODED_LICENSE, 'base64').toString('ascii');\nconst LICENSING_PACKAGE = '@progress/kendo-licensing';\n\nexport class KendoUILicense extends Command<typeof entry> {\n async execute() {\n if (!isModuleInstalled(LICENSING_PACKAGE)) {\n return;\n }\n\n await this.activateLicense();\n }\n\n @logErrors\n private async activateLicense() {\n const env = !process.env[ENVIRONMENT_VARIABLE]\n ? { [ENVIRONMENT_VARIABLE]: LICENSE }\n : undefined;\n\n log.info(\n env\n ? 'Activating Kendo UI with embedded license...'\n : `Activating Kendo UI with license from environment...`\n );\n\n try {\n await execa('
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/commands/kendo-ui-license.ts"],"sourcesContent":["import execa from 'execa';\nimport { log, logErrors } from '../../utils';\nimport { isModuleInstalled } from '../utils';\nimport type { entry } from './registry/kendo-ui-license';\nimport { Command } from './types';\n\nconst ENCODED_LICENSE = `\n ZXlKaGJHY2lPaUpTVXpJMU5pSXNJblI1Y0NJNklreEpReUo5LmV5SndjbTlrZFdOMGN5STZXM3Np\n ZEhKcFlXd2lPbVpoYkhObExDSmpiMlJsSWpvaVMwVk9SRTlWU1ZKRlFVTlVJaXdpYkdsalpXNXpa\n VVY0Y0dseVlYUnBiMjVFWVhSbElqb3hOelEwT1RneU1USXdmU3g3SW5SeWFXRnNJanBtWVd4elpT\n d2lZMjlrWlNJNklrdEZUa1JQVlVsRFQwMVFURVZVUlNJc0lteHBZMlZ1YzJWRmVIQnBjbUYwYVc5\n dVJHRjBaU0k2TVRjME5EazRNakV5TUgwc2V5SjBjbWxoYkNJNlptRnNjMlVzSW1OdlpHVWlPaUpM\n UlU1RVQxVkpWbFZGSWl3aWJHbGpaVzV6WlVWNGNHbHlZWFJwYjI1RVlYUmxJam94TnpRME9UZ3lN\n VEl3ZlN4N0luUnlhV0ZzSWpwbVlXeHpaU3dpWTI5a1pTSTZJa3RGVGtSUFZVbEJUa2RWVEVGU0lp\n d2liR2xqWlc1elpVVjRjR2x5WVhScGIyNUVZWFJsSWpveE56UTBPVGd5TVRJd2ZWMHNJbWx1ZEdW\n bmNtbDBlU0k2SWxFNFpEVkdkMnR2Y1dsdWRGTkZiVXhYTTNwSVVuaDZiVTU1UVQwaUxDSnNhV05s\n Ym5ObFNHOXNaR1Z5SWpvaVlXTm9hWFpwWTJoNVlXNUFjMlZ5ZG1salpYUnBkR0Z1TG1OdmJTSXNJ\n bWxoZENJNk1UY3hPVFV5T0RnNU1pd2lZWFZrSWpvaVlXTm9hWFpwWTJoNVlXNUFjMlZ5ZG1salpY\n UnBkR0Z1TG1OdmJTSXNJblZ6WlhKSlpDSTZJalUxWXpsak1tSXpMVE5rWkRVdE5ETTVZeTA0Tm1V\n eUxXRTBNV0V6T0RReE5HSXdZaUo5LlE5Yi10em9CNXFFRVV0QXZudTJGVFdULVBram0yeFFxVGll\n T29rWjA3dmd6VFJVLXVnRHoxb2l3VTUzNTNzajhaQ2FQUFUzdTZqWnhsOWU0dXVJdkxpV05ManFW\n N29pR2FoVHhXbm0ydTAzZkxZUWhxbUg2T3dmYjBxcWs0TnFwbWRfZDhwZmtJa3J4YXRlY3FCdjBl\n UVk1N3Zjd3FOLVRqZm0td0FxMmt6RXRZd3NFT0JlMGtyLTFqVzBjYzBudHJadmZEcEVYLUFGZVE1\n cF95MzhxQkJucFBvVjlOYXB0Mi1aN0JMdTZhdEVDUUIxd3FDSjdCdUlpZERBWVlxdGhvU0gxOEZE\n V29BdUhQNU9DbjM3ZENBQU1PVFlqOEJUdDdLNWlyNHR6R0ZVNTdxY2VKeTNRQUhjWlNURGxpZnU5\n cXVKMjkyQnJuS3FveGlLUDA3UXIxUQ==\n`.replace(/\\s/g, '');\nconst ENVIRONMENT_VARIABLE = 'KENDO_UI_LICENSE';\nconst LICENSE = Buffer.from(ENCODED_LICENSE, 'base64').toString('ascii');\nconst LICENSING_PACKAGE = '@progress/kendo-licensing';\n\nexport class KendoUILicense extends Command<typeof entry> {\n async execute() {\n if (!isModuleInstalled(LICENSING_PACKAGE)) {\n return;\n }\n\n await this.activateLicense();\n }\n\n @logErrors\n private async activateLicense() {\n const env = !process.env[ENVIRONMENT_VARIABLE]\n ? { [ENVIRONMENT_VARIABLE]: LICENSE }\n : undefined;\n\n log.info(\n env\n ? 'Activating Kendo UI with embedded license...'\n : `Activating Kendo UI with license from environment...`\n );\n\n try {\n await execa('kendo-ui-license', ['activate', '--no-install'], {\n env,\n stdio: 'inherit',\n });\n } catch (error: any) {\n throw new Error(`command failed with exit code ${error.exitCode}`);\n }\n }\n}\n\nexport async function kendoUILicense() {\n return new KendoUILicense({}).execute();\n}\n"],"names":["KendoUILicense","kendoUILicense","ENCODED_LICENSE","replace","ENVIRONMENT_VARIABLE","LICENSE","Buffer","from","toString","LICENSING_PACKAGE","Command","execute","isModuleInstalled","activateLicense","env","process","undefined","log","info","execa","stdio","error","Error","exitCode"],"mappings":";;;;;;;;;;;QA+BaA;eAAAA;;QAgCSC;eAAAA;;;8DA/DJ;uBACa;wBACG;uBAEV;;;;;;;;;;;;;;;AAExB,MAAMC,kBAAkB,CAAC;;;;;;;;;;;;;;;;;;;;AAoBzB,CAAC,CAACC,OAAO,CAAC,OAAO;AACjB,MAAMC,uBAAuB;AAC7B,MAAMC,UAAUC,OAAOC,IAAI,CAACL,iBAAiB,UAAUM,QAAQ,CAAC;AAChE,MAAMC,oBAAoB;AAEnB,MAAMT,uBAAuBU,cAAO;IACvC,MAAMC,UAAU;QACZ,IAAI,CAACC,IAAAA,yBAAiB,EAACH,oBAAoB;YACvC;QACJ;QAEA,MAAM,IAAI,CAACI,eAAe;IAC9B;IAEA,MACcA,kBAAkB;QAC5B,MAAMC,MAAM,CAACC,QAAQD,GAAG,CAACV,qBAAqB,GACxC;YAAE,CAACA,qBAAqB,EAAEC;QAAQ,IAClCW;QAENC,UAAG,CAACC,IAAI,CACJJ,MACM,iDACA,CAAC,oDAAoD,CAAC;QAGhE,IAAI;YACA,MAAMK,IAAAA,cAAK,EAAC,oBAAoB;gBAAC;gBAAY;aAAe,EAAE;gBAC1DL;gBACAM,OAAO;YACX;QACJ,EAAE,OAAOC,OAAY;YACjB,MAAM,IAAIC,MAAM,CAAC,8BAA8B,EAAED,MAAME,QAAQ,EAAE;QACrE;IACJ;AACJ;;;;;;;AAEO,eAAetB;IAClB,OAAO,IAAID,eAAe,CAAC,GAAGW,OAAO;AACzC"}
|
|
@@ -9,7 +9,7 @@ Object.defineProperty(exports, "PreparePackage", {
|
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
const _utils = require("../../utils");
|
|
12
|
-
const
|
|
12
|
+
const _copyfiles = require("../utils/copy-files");
|
|
13
13
|
const _types = require("./types");
|
|
14
14
|
function _ts_decorate(decorators, target, key, desc) {
|
|
15
15
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
@@ -22,7 +22,7 @@ function _ts_metadata(k, v) {
|
|
|
22
22
|
}
|
|
23
23
|
class PreparePackage extends _types.Command {
|
|
24
24
|
execute() {
|
|
25
|
-
return (0,
|
|
25
|
+
return (0, _copyfiles.copyFiles)({
|
|
26
26
|
watch: this.args.watch
|
|
27
27
|
});
|
|
28
28
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/cli/commands/prepare-package.ts"],"sourcesContent":["import { logErrors } from '../../utils';\nimport { copyFiles } from '../utils';\nimport type { entry } from './registry/prepare-package';\nimport { Command } from './types';\n\nexport class PreparePackage extends Command<typeof entry> {\n @logErrors\n execute() {\n return copyFiles({ watch: this.args.watch });\n }\n}\n"],"names":["PreparePackage","Command","execute","copyFiles","watch","args"],"mappings":";;;;+BAKaA;;;eAAAA;;;uBALa;
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/commands/prepare-package.ts"],"sourcesContent":["import { logErrors } from '../../utils';\nimport { copyFiles } from '../utils/copy-files';\nimport type { entry } from './registry/prepare-package';\nimport { Command } from './types';\n\nexport class PreparePackage extends Command<typeof entry> {\n @logErrors\n execute() {\n return copyFiles({ watch: this.args.watch });\n }\n}\n"],"names":["PreparePackage","Command","execute","copyFiles","watch","args"],"mappings":";;;;+BAKaA;;;eAAAA;;;uBALa;2BACA;uBAEF;;;;;;;;;;AAEjB,MAAMA,uBAAuBC,cAAO;IAEvCC,UAAU;QACN,OAAOC,IAAAA,oBAAS,EAAC;YAAEC,OAAO,IAAI,CAACC,IAAI,CAACD,KAAK;QAAC;IAC9C;AACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coverage-finalize.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/registry/coverage-finalize.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK;;;CAGhB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "entry", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return entry;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _defineentry = require("./define-entry");
|
|
12
|
+
const entry = (0, _defineentry.defineEntry)({
|
|
13
|
+
description: 'Write .nyc_output/out.json to coverage/coverage-final.json for CI collection',
|
|
14
|
+
allowRunFromGlobal: true
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
//# sourceMappingURL=coverage-finalize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/cli/commands/registry/coverage-finalize.ts"],"sourcesContent":["import { defineEntry } from './define-entry';\n\nexport const entry = defineEntry({\n description: 'Write .nyc_output/out.json to coverage/coverage-final.json for CI collection',\n allowRunFromGlobal: true,\n});\n"],"names":["entry","defineEntry","description","allowRunFromGlobal"],"mappings":";;;;+BAEaA;;;eAAAA;;;6BAFe;AAErB,MAAMA,QAAQC,IAAAA,wBAAW,EAAC;IAC7BC,aAAa;IACbC,oBAAoB;AACxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/review/review.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAuBnC,qBAAa,MAAO,SAAQ,OAAO,CAAC,OAAO,KAAK,CAAC;IAC7C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAG9B;IAEF,OAAO,CAAC,QAAQ,CAAC,eAAe,CAG9B;IAGI,OAAO;IAMb,OAAO,CAAC,aAAa;
|
|
1
|
+
{"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/review/review.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAuBnC,qBAAa,MAAO,SAAQ,OAAO,CAAC,OAAO,KAAK,CAAC;IAC7C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAG9B;IAEF,OAAO,CAAC,QAAQ,CAAC,eAAe,CAG9B;IAGI,OAAO;IAMb,OAAO,CAAC,aAAa;IA2BrB,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;CAI3B"}
|
|
@@ -8,8 +8,8 @@ Object.defineProperty(exports, "Review", {
|
|
|
8
8
|
return Review;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
+
const _install = require("@servicetitan/install");
|
|
11
12
|
const _chalk = /*#__PURE__*/ _interop_require_default(require("chalk"));
|
|
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
15
|
const _types = require("../types");
|
|
@@ -55,12 +55,11 @@ class Review extends _types.Command {
|
|
|
55
55
|
if (!(root === null || root === void 0 ? void 0 : root.workspaces)) {
|
|
56
56
|
throw new Error('this command must be run from the workspace root directory');
|
|
57
57
|
}
|
|
58
|
-
const
|
|
59
|
-
if (!(
|
|
60
|
-
throw new Error(
|
|
58
|
+
const packageManager = (0, _install.getPackageManager)();
|
|
59
|
+
if (!packageManager.hasValidLockFile()) {
|
|
60
|
+
throw new Error(`missing or invalid lock file: ${packageManager.lockFileName}`);
|
|
61
61
|
}
|
|
62
62
|
root.location = '.'; // identifies the root package.json for rules that care
|
|
63
|
-
packageLock.location = './package-lock.json';
|
|
64
63
|
const config = (0, _utils.getReviewConfiguration)();
|
|
65
64
|
const packages = [
|
|
66
65
|
root,
|
|
@@ -72,7 +71,7 @@ class Review extends _types.Command {
|
|
|
72
71
|
return {
|
|
73
72
|
config,
|
|
74
73
|
dependencies,
|
|
75
|
-
|
|
74
|
+
packageManager,
|
|
76
75
|
packages
|
|
77
76
|
};
|
|
78
77
|
}
|
|
@@ -113,7 +112,9 @@ class Review extends _types.Command {
|
|
|
113
112
|
totalFixed += 1;
|
|
114
113
|
}
|
|
115
114
|
});
|
|
116
|
-
|
|
115
|
+
project.packageManager.installPackages({
|
|
116
|
+
fix: true
|
|
117
|
+
}, {
|
|
117
118
|
stdio: 'inherit'
|
|
118
119
|
});
|
|
119
120
|
project = this.createProject();
|