@code-pushup/js-packages-plugin 0.97.0 → 0.98.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/package.json +4 -3
- package/src/lib/constants.d.ts +2 -0
- package/src/lib/constants.js +2 -0
- package/src/lib/constants.js.map +1 -1
- package/src/lib/format.d.ts +1 -0
- package/src/lib/format.js +4 -0
- package/src/lib/format.js.map +1 -0
- package/src/lib/js-packages-plugin.js +11 -5
- package/src/lib/js-packages-plugin.js.map +1 -1
- package/src/lib/package-managers/derive-package-manager.js +11 -1
- package/src/lib/package-managers/derive-package-manager.js.map +1 -1
- package/src/lib/package-managers/npm/npm.js +1 -1
- package/src/lib/package-managers/yarn-modern/yarn-modern.js +1 -1
- package/src/lib/package-managers/yarn-modern/yarn-modern.js.map +1 -1
- package/src/lib/runner/runner.js +42 -3
- package/src/lib/runner/runner.js.map +1 -1
- package/src/lib/runner/utils.js +21 -10
- package/src/lib/runner/utils.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@code-pushup/js-packages-plugin",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.98.0",
|
|
4
4
|
"description": "Code PushUp plugin for JavaScript packages 🛡️",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://github.com/code-pushup/cli/tree/main/packages/plugin-js-packages#readme",
|
|
@@ -37,8 +37,9 @@
|
|
|
37
37
|
},
|
|
38
38
|
"type": "module",
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@code-pushup/models": "0.
|
|
41
|
-
"@code-pushup/utils": "0.
|
|
40
|
+
"@code-pushup/models": "0.98.0",
|
|
41
|
+
"@code-pushup/utils": "0.98.0",
|
|
42
|
+
"ansis": "^3.3.2",
|
|
42
43
|
"build-md": "^0.4.1",
|
|
43
44
|
"semver": "^7.6.0",
|
|
44
45
|
"zod": "^4.0.5"
|
package/src/lib/constants.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import type { IssueSeverity } from '@code-pushup/models';
|
|
2
2
|
import type { DependencyGroup, PackageAuditLevel } from './config.js';
|
|
3
3
|
import type { DependencyGroupLong } from './runner/outdated/types.js';
|
|
4
|
+
export declare const JS_PACKAGES_PLUGIN_SLUG = "js-packages";
|
|
5
|
+
export declare const JS_PACKAGES_PLUGIN_TITLE = "JS packages";
|
|
4
6
|
export declare const defaultAuditLevelMapping: Record<PackageAuditLevel, IssueSeverity>;
|
|
5
7
|
export declare const dependencyGroupToLong: Record<DependencyGroup, DependencyGroupLong>;
|
|
6
8
|
export declare const dependencyGroupWeights: Record<DependencyGroup, number>;
|
package/src/lib/constants.js
CHANGED
package/src/lib/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/lib/constants.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,wBAAwB,GAGjC;IACF,QAAQ,EAAE,OAAO;IACjB,IAAI,EAAE,OAAO;IACb,QAAQ,EAAE,SAAS;IACnB,GAAG,EAAE,SAAS;IACd,IAAI,EAAE,MAAM;CACb,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAG9B;IACF,IAAI,EAAE,cAAc;IACpB,GAAG,EAAE,iBAAiB;IACtB,QAAQ,EAAE,sBAAsB;CACjC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAoC;IACrE,wDAAwD;IACxD,IAAI,EAAE,EAAE;IACR,GAAG,EAAE,EAAE;IACP,QAAQ,EAAE,CAAC;IACX,uDAAuD;CACxD,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAoC;IAC7D,IAAI,EAAE,oEAAoE;IAC1E,GAAG,EAAE,uEAAuE;IAC5E,QAAQ,EACN,4EAA4E;CAC/E,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/lib/constants.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,uBAAuB,GAAG,aAAa,CAAC;AACrD,MAAM,CAAC,MAAM,wBAAwB,GAAG,aAAa,CAAC;AAEtD,MAAM,CAAC,MAAM,wBAAwB,GAGjC;IACF,QAAQ,EAAE,OAAO;IACjB,IAAI,EAAE,OAAO;IACb,QAAQ,EAAE,SAAS;IACnB,GAAG,EAAE,SAAS;IACd,IAAI,EAAE,MAAM;CACb,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAG9B;IACF,IAAI,EAAE,cAAc;IACpB,GAAG,EAAE,iBAAiB;IACtB,QAAQ,EAAE,sBAAsB;CACjC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAoC;IACrE,wDAAwD;IACxD,IAAI,EAAE,EAAE;IACR,GAAG,EAAE,EAAE;IACP,QAAQ,EAAE,CAAC;IACX,uDAAuD;CACxD,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAoC;IAC7D,IAAI,EAAE,oEAAoE;IAC1E,GAAG,EAAE,uEAAuE;IAC5E,QAAQ,EACN,4EAA4E;CAC/E,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const formatMetaLog: (message: string) => string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../../src/lib/format.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAE1D,MAAM,CAAC,MAAM,aAAa,GAAG,sBAAsB,CAAC,wBAAwB,CAAC,CAAC"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
import ansis from 'ansis';
|
|
1
2
|
import { createRequire } from 'node:module';
|
|
3
|
+
import { logger, pluralizeToken } from '@code-pushup/utils';
|
|
2
4
|
import { dependencyGroups, } from './config.js';
|
|
3
|
-
import { dependencyDocs, dependencyGroupWeights } from './constants.js';
|
|
5
|
+
import { JS_PACKAGES_PLUGIN_SLUG, JS_PACKAGES_PLUGIN_TITLE, dependencyDocs, dependencyGroupWeights, } from './constants.js';
|
|
6
|
+
import { formatMetaLog } from './format.js';
|
|
4
7
|
import { packageManagers } from './package-managers/package-managers.js';
|
|
5
8
|
import { createRunnerFunction } from './runner/runner.js';
|
|
6
9
|
import { normalizeConfig } from './utils.js';
|
|
@@ -23,16 +26,19 @@ import { normalizeConfig } from './utils.js';
|
|
|
23
26
|
export async function jsPackagesPlugin(config) {
|
|
24
27
|
const { packageManager, checks, depGroups, scoreTargets, ...jsPackagesPluginConfigRest } = await normalizeConfig(config);
|
|
25
28
|
const packageJson = createRequire(import.meta.url)('../../package.json');
|
|
29
|
+
const audits = createAudits(packageManager.slug, checks, depGroups);
|
|
30
|
+
const groups = createGroups(packageManager.slug, checks, depGroups);
|
|
31
|
+
logger.info(formatMetaLog(`Created ${pluralizeToken('audit', audits.length)} and ${pluralizeToken('group', groups.length)} for ${ansis.bold(packageManager.name)} package manager`));
|
|
26
32
|
return {
|
|
27
|
-
slug:
|
|
28
|
-
title:
|
|
33
|
+
slug: JS_PACKAGES_PLUGIN_SLUG,
|
|
34
|
+
title: JS_PACKAGES_PLUGIN_TITLE,
|
|
29
35
|
icon: packageManager.icon,
|
|
30
36
|
description: 'This plugin runs audit to uncover vulnerabilities and lists outdated dependencies. It supports npm, yarn classic, yarn modern, and pnpm package managers.',
|
|
31
37
|
docsUrl: packageManager.docs.homepage,
|
|
32
38
|
packageName: packageJson.name,
|
|
33
39
|
version: packageJson.version,
|
|
34
|
-
audits
|
|
35
|
-
groups
|
|
40
|
+
audits,
|
|
41
|
+
groups,
|
|
36
42
|
runner: createRunnerFunction({
|
|
37
43
|
...jsPackagesPluginConfigRest,
|
|
38
44
|
checks,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"js-packages-plugin.js","sourceRoot":"","sources":["../../../src/lib/js-packages-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAKL,gBAAgB,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,
|
|
1
|
+
{"version":3,"file":"js-packages-plugin.js","sourceRoot":"","sources":["../../../src/lib/js-packages-plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { readFile } from 'node:fs/promises';
|
|
2
2
|
import path from 'node:path';
|
|
3
|
-
import { fileExists } from '@code-pushup/utils';
|
|
3
|
+
import { fileExists, logger } from '@code-pushup/utils';
|
|
4
|
+
import { formatMetaLog } from '../format.js';
|
|
4
5
|
import { deriveYarnVersion } from './derive-yarn.js';
|
|
6
|
+
import { packageManagers } from './package-managers.js';
|
|
5
7
|
export async function derivePackageManagerInPackageJson(currentDir = process.cwd()) {
|
|
6
8
|
if (await fileExists(path.join(currentDir, 'package.json'))) {
|
|
7
9
|
const content = JSON.parse((await readFile(path.join('package.json'))).toString());
|
|
@@ -23,21 +25,29 @@ export async function derivePackageManagerInPackageJson(currentDir = process.cwd
|
|
|
23
25
|
export async function derivePackageManager(currentDir = process.cwd()) {
|
|
24
26
|
const pkgManagerFromPackageJson = await derivePackageManagerInPackageJson(currentDir);
|
|
25
27
|
if (pkgManagerFromPackageJson) {
|
|
28
|
+
logDerivedPackageManager(pkgManagerFromPackageJson, 'packageManager field in package.json');
|
|
26
29
|
return pkgManagerFromPackageJson;
|
|
27
30
|
}
|
|
28
31
|
// Check for lock files
|
|
29
32
|
if (await fileExists(path.join(currentDir, 'package-lock.json'))) {
|
|
33
|
+
logDerivedPackageManager('npm', 'existence of package-lock.json file');
|
|
30
34
|
return 'npm';
|
|
31
35
|
}
|
|
32
36
|
else if (await fileExists(path.join(currentDir, 'pnpm-lock.yaml'))) {
|
|
37
|
+
logDerivedPackageManager('pnpm', 'existence of pnpm-lock.yaml file');
|
|
33
38
|
return 'pnpm';
|
|
34
39
|
}
|
|
35
40
|
else if (await fileExists(path.join(currentDir, 'yarn.lock'))) {
|
|
36
41
|
const yarnVersion = await deriveYarnVersion();
|
|
37
42
|
if (yarnVersion) {
|
|
43
|
+
logDerivedPackageManager(yarnVersion, 'existence of yarn.lock file and yarn -v command');
|
|
38
44
|
return yarnVersion;
|
|
39
45
|
}
|
|
40
46
|
}
|
|
41
47
|
throw new Error('Could not detect package manager. Please provide it in the js-packages plugin config.');
|
|
42
48
|
}
|
|
49
|
+
function logDerivedPackageManager(id, sourceDescription) {
|
|
50
|
+
const pm = packageManagers[id];
|
|
51
|
+
logger.info(formatMetaLog(`Inferred ${pm.name} package manager from ${sourceDescription}`));
|
|
52
|
+
}
|
|
43
53
|
//# sourceMappingURL=derive-package-manager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"derive-package-manager.js","sourceRoot":"","sources":["../../../../src/lib/package-managers/derive-package-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"derive-package-manager.js","sourceRoot":"","sources":["../../../../src/lib/package-managers/derive-package-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yarn-modern.js","sourceRoot":"","sources":["../../../../../src/lib/package-managers/yarn-modern/yarn-modern.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEjE,uGAAuG;AACvG,MAAM,4BAA4B,GAAoC;IACpE,IAAI,EAAE,YAAY;IAClB,GAAG,EAAE,aAAa;IAClB,QAAQ,EAAE,EAAE;CACb,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAmB;IACtD,IAAI,EAAE,aAAa;IACnB,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"yarn-modern.js","sourceRoot":"","sources":["../../../../../src/lib/package-managers/yarn-modern/yarn-modern.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEjE,uGAAuG;AACvG,MAAM,4BAA4B,GAAoC;IACpE,IAAI,EAAE,YAAY;IAClB,GAAG,EAAE,aAAa;IAClB,QAAQ,EAAE,EAAE;CACb,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAmB;IACtD,IAAI,EAAE,aAAa;IACnB,IAAI,EAAE,UAAU;IAChB,OAAO,EAAE,MAAM;IACf,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE;QACJ,QAAQ,EAAE,qCAAqC;QAC/C,KAAK,EAAE,mCAAmC;QAC1C,QAAQ,EAAE,kDAAkD;KAC7D;IACD,KAAK,EAAE;QACL,cAAc,EAAE,QAAQ,CAAC,EAAE;YACzB,MAAM,WAAW,GAAG,4BAA4B,CAAC,QAAQ,CAAC,CAAC;YAC3D,OAAO;gBACL,KAAK;gBACL,OAAO;gBACP,aAAa;gBACb,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,iBAAiB,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxD,QAAQ;aACT,CAAC;QACJ,CAAC;QACD,kBAAkB,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,2DAA2D;QAChG,WAAW,EAAE,sBAAsB;QACnC,cAAc,EAAE,IAAI;KACrB;IACD,QAAQ,EAAE;QACR,WAAW,EAAE;YACX,UAAU;YACV,eAAe,EAAE,uDAAuD;YACxE,OAAO;YACP,QAAQ;SACT;QACD,WAAW,EAAE,yBAAyB;KACvC;CACF,CAAC"}
|
package/src/lib/runner/runner.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import path from 'node:path';
|
|
2
|
-
import { asyncSequential, executeProcess, objectFromEntries, } from '@code-pushup/utils';
|
|
3
|
-
import { dependencyGroups, } from '../config.js';
|
|
2
|
+
import { asyncSequential, capitalize, executeProcess, formatAsciiTable, logger, objectFromEntries, objectToEntries, pluralizeToken, } from '@code-pushup/utils';
|
|
3
|
+
import { dependencyGroups, packageAuditLevels, } from '../config.js';
|
|
4
4
|
import { dependencyGroupToLong } from '../constants.js';
|
|
5
5
|
import { packageManagers } from '../package-managers/package-managers.js';
|
|
6
6
|
import { auditResultToAuditOutput } from './audit/transform.js';
|
|
@@ -19,6 +19,7 @@ export function createRunnerFunction(config) {
|
|
|
19
19
|
};
|
|
20
20
|
}
|
|
21
21
|
async function processOutdated(id, depGroups, packageJsonPath) {
|
|
22
|
+
logger.info('Looking for outdated packages ...');
|
|
22
23
|
const pm = packageManagers[id];
|
|
23
24
|
const { stdout } = await executeProcess({
|
|
24
25
|
command: pm.command,
|
|
@@ -26,14 +27,16 @@ async function processOutdated(id, depGroups, packageJsonPath) {
|
|
|
26
27
|
cwd: packageJsonPath ? path.dirname(packageJsonPath) : process.cwd(),
|
|
27
28
|
ignoreExitCode: true, // outdated returns exit code 1 when outdated dependencies are found
|
|
28
29
|
});
|
|
29
|
-
const depTotals = await getTotalDependencies(packageJsonPath);
|
|
30
30
|
const normalizedResult = pm.outdated.unifyResult(stdout);
|
|
31
|
+
logger.info(`Detected ${pluralizeToken('outdated package', normalizedResult.length)} in total`);
|
|
32
|
+
const depTotals = await getTotalDependencies(packageJsonPath);
|
|
31
33
|
return depGroups.map(depGroup => outdatedResultToAuditOutput(normalizedResult, id, depGroup, depTotals[dependencyGroupToLong[depGroup]]));
|
|
32
34
|
}
|
|
33
35
|
async function processAudit(id, depGroups, auditLevelMapping, packageJsonPath) {
|
|
34
36
|
const pm = packageManagers[id];
|
|
35
37
|
const supportedAuditDepGroups = pm.audit.supportedDepGroups ?? dependencyGroups;
|
|
36
38
|
const compatibleAuditDepGroups = depGroups.filter(group => supportedAuditDepGroups.includes(group));
|
|
39
|
+
logger.info(`Auditing packages for ${pluralizeToken('dependency group', compatibleAuditDepGroups.length)} (${compatibleAuditDepGroups.join(', ')}) ...`);
|
|
37
40
|
const auditResults = await asyncSequential(compatibleAuditDepGroups, async (depGroup) => {
|
|
38
41
|
const { stdout } = await executeProcess({
|
|
39
42
|
command: pm.command,
|
|
@@ -45,8 +48,44 @@ async function processAudit(id, depGroups, auditLevelMapping, packageJsonPath) {
|
|
|
45
48
|
});
|
|
46
49
|
const resultsMap = objectFromEntries(auditResults);
|
|
47
50
|
const uniqueResults = pm.audit.postProcessResult?.(resultsMap) ?? resultsMap;
|
|
51
|
+
logAuditSummary(uniqueResults);
|
|
48
52
|
return compatibleAuditDepGroups.map(depGroup => auditResultToAuditOutput(
|
|
49
53
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
50
54
|
uniqueResults[depGroup], id, depGroup, auditLevelMapping));
|
|
51
55
|
}
|
|
56
|
+
function logAuditSummary(results) {
|
|
57
|
+
const { totalCount, countsPerLevel } = aggregateAuditResults(results);
|
|
58
|
+
const formattedLevels = objectToEntries(countsPerLevel)
|
|
59
|
+
.filter(([, count]) => count > 0)
|
|
60
|
+
.map(([level, count]) => `${count} ${level}`)
|
|
61
|
+
.join(', ');
|
|
62
|
+
logger.info([
|
|
63
|
+
`Found ${pluralizeToken('vulnerability', totalCount)} in total`,
|
|
64
|
+
formattedLevels && `(${formattedLevels})`,
|
|
65
|
+
]
|
|
66
|
+
.filter(Boolean)
|
|
67
|
+
.join(' '));
|
|
68
|
+
if (!logger.isVerbose()) {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
logger.debug(formatAsciiTable({
|
|
72
|
+
columns: [
|
|
73
|
+
{ key: 'depGroup', label: 'Dep. group' },
|
|
74
|
+
...[...packageAuditLevels, 'total'].map((level) => ({
|
|
75
|
+
key: level,
|
|
76
|
+
label: capitalize(level),
|
|
77
|
+
align: 'right',
|
|
78
|
+
})),
|
|
79
|
+
],
|
|
80
|
+
rows: objectToEntries(results).map(([depGroup, result]) => ({
|
|
81
|
+
depGroup,
|
|
82
|
+
...result?.summary,
|
|
83
|
+
})),
|
|
84
|
+
}));
|
|
85
|
+
}
|
|
86
|
+
function aggregateAuditResults(results) {
|
|
87
|
+
const totalCount = Object.values(results).reduce((acc, { vulnerabilities }) => acc + vulnerabilities.length, 0);
|
|
88
|
+
const countsPerLevel = Object.values(results).reduce((acc, { summary }) => objectFromEntries(packageAuditLevels.map(level => [level, acc[level] + summary[level]])), objectFromEntries(packageAuditLevels.map(level => [level, 0])));
|
|
89
|
+
return { totalCount, countsPerLevel };
|
|
90
|
+
}
|
|
52
91
|
//# sourceMappingURL=runner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../../src/lib/runner/runner.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../../src/lib/runner/runner.ts"],"names":[],"mappings":"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"}
|
package/src/lib/runner/utils.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import path from 'node:path';
|
|
2
|
+
import { logger, objectFromEntries, objectToEntries, objectToKeys, pluralizeToken, readJsonFile, } from '@code-pushup/utils';
|
|
2
3
|
import { dependencyGroupLong, } from './outdated/types.js';
|
|
3
4
|
export function filterAuditResult(result, key, referenceResult) {
|
|
4
5
|
if (result.vulnerabilities.length === 0) {
|
|
@@ -30,14 +31,24 @@ export function filterAuditResult(result, key, referenceResult) {
|
|
|
30
31
|
};
|
|
31
32
|
}
|
|
32
33
|
export async function getTotalDependencies(packageJsonPath) {
|
|
33
|
-
const
|
|
34
|
-
|
|
35
|
-
const
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
34
|
+
const formattedPath = path.relative(process.cwd(), packageJsonPath);
|
|
35
|
+
return logger.task(`Counting direct dependencies in ${formattedPath}`, async () => {
|
|
36
|
+
const parsedDeps = await readJsonFile(packageJsonPath);
|
|
37
|
+
const mergedDeps = objectFromEntries(dependencyGroupLong.map(group => {
|
|
38
|
+
const deps = parsedDeps[group];
|
|
39
|
+
return [group, deps == null ? [] : objectToKeys(deps)];
|
|
40
|
+
}));
|
|
41
|
+
const depTotals = objectFromEntries(objectToKeys(mergedDeps).map(deps => [
|
|
42
|
+
deps,
|
|
43
|
+
new Set(mergedDeps[deps]).size,
|
|
44
|
+
]));
|
|
45
|
+
const depTotal = Object.values(depTotals).reduce((acc, count) => acc + count, 0);
|
|
46
|
+
const groupsSummary = objectToEntries(depTotals)
|
|
47
|
+
.filter(([, count]) => count > 0)
|
|
48
|
+
.map(([group, count]) => `${count} ${group}`)
|
|
49
|
+
.join(', ');
|
|
50
|
+
const message = `Found ${pluralizeToken('direct dependency', depTotal)} in ${formattedPath} (${groupsSummary})`;
|
|
51
|
+
return { message, result: depTotals };
|
|
52
|
+
});
|
|
42
53
|
}
|
|
43
54
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/lib/runner/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,YAAY,GACb,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAGL,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,UAAU,iBAAiB,CAC/B,MAAmB,EACnB,GAAwB,EACxB,eAA6B;IAE7B,IAAI,MAAM,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,CAAC,eAAe,CAAC,MAAM,CAChD,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACX,MAAM,cAAc,GAAG,eAAe,IAAI,GAAG,CAAC;QAC9C,MAAM,OAAO,GAAG,cAAc,CAAC,eAAe;aAC3C,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;aACxC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAEtB,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO;gBACL,eAAe,EAAE,GAAG,CAAC,eAAe;gBACpC,OAAO,EAAE;oBACP,GAAG,GAAG,CAAC,OAAO;oBACd,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;oBAC7C,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC;iBAC7B;aACF,CAAC;QACJ,CAAC;QAED,OAAO;YACL,eAAe,EAAE,CAAC,GAAG,GAAG,CAAC,eAAe,EAAE,GAAG,CAAC;YAC9C,OAAO,EAAE,GAAG,CAAC,OAAO;SACrB,CAAC;IACJ,CAAC,EACD,EAAE,eAAe,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CACjD,CAAC;IAEF,OAAO;QACL,eAAe,EAAE,YAAY,CAAC,eAAe;QAC7C,OAAO,EAAE,YAAY,CAAC,OAAO;KAC9B,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,eAAuB;IAEvB,MAAM,UAAU,GAAG,MAAM,YAAY,CAAc,eAAe,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/lib/runner/utils.ts"],"names":[],"mappings":"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"}
|