@code-pushup/js-packages-plugin 0.56.0 → 0.58.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 +9 -7
- package/src/bin.js +6 -0
- package/src/bin.js.map +1 -0
- package/src/index.d.ts +2 -2
- package/src/index.js +3 -0
- package/src/index.js.map +1 -0
- package/src/lib/config.d.ts +4 -4
- package/src/lib/config.js +59 -0
- package/src/lib/config.js.map +1 -0
- package/src/lib/constants.d.ts +2 -2
- package/src/lib/constants.js +25 -0
- package/src/lib/constants.js.map +1 -0
- package/src/lib/js-packages-plugin.d.ts +1 -1
- package/src/lib/js-packages-plugin.js +101 -0
- package/src/lib/js-packages-plugin.js.map +1 -0
- package/src/lib/package-managers/constants.js +3 -0
- package/src/lib/package-managers/constants.js.map +1 -0
- package/src/lib/package-managers/derive-package-manager.d.ts +2 -2
- package/src/lib/package-managers/derive-package-manager.js +43 -0
- package/src/lib/package-managers/derive-package-manager.js.map +1 -0
- package/src/lib/package-managers/derive-yarn.js +16 -0
- package/src/lib/package-managers/derive-yarn.js.map +1 -0
- package/src/lib/package-managers/npm/audit-result.d.ts +2 -2
- package/src/lib/package-managers/npm/audit-result.js +65 -0
- package/src/lib/package-managers/npm/audit-result.js.map +1 -0
- package/src/lib/package-managers/npm/npm.d.ts +1 -1
- package/src/lib/package-managers/npm/npm.js +49 -0
- package/src/lib/package-managers/npm/npm.js.map +1 -0
- package/src/lib/package-managers/npm/outdated-result.d.ts +1 -1
- package/src/lib/package-managers/npm/outdated-result.js +16 -0
- package/src/lib/package-managers/npm/outdated-result.js.map +1 -0
- package/src/lib/package-managers/npm/types.d.ts +3 -3
- package/src/lib/package-managers/npm/types.js +2 -0
- package/src/lib/package-managers/npm/types.js.map +1 -0
- package/src/lib/package-managers/package-managers.d.ts +2 -2
- package/src/lib/package-managers/package-managers.js +11 -0
- package/src/lib/package-managers/package-managers.js.map +1 -0
- package/src/lib/package-managers/pnpm/audit-result.d.ts +1 -1
- package/src/lib/package-managers/pnpm/audit-result.js +34 -0
- package/src/lib/package-managers/pnpm/audit-result.js.map +1 -0
- package/src/lib/package-managers/pnpm/outdated-result.d.ts +1 -1
- package/src/lib/package-managers/pnpm/outdated-result.js +12 -0
- package/src/lib/package-managers/pnpm/outdated-result.js.map +1 -0
- package/src/lib/package-managers/pnpm/pnpm.d.ts +1 -1
- package/src/lib/package-managers/pnpm/pnpm.js +49 -0
- package/src/lib/package-managers/pnpm/pnpm.js.map +1 -0
- package/src/lib/package-managers/pnpm/types.d.ts +2 -2
- package/src/lib/package-managers/pnpm/types.js +2 -0
- package/src/lib/package-managers/pnpm/types.js.map +1 -0
- package/src/lib/package-managers/pnpm/utils.js +5 -0
- package/src/lib/package-managers/pnpm/utils.js.map +1 -0
- package/src/lib/package-managers/types.d.ts +3 -3
- package/src/lib/package-managers/types.js +2 -0
- package/src/lib/package-managers/types.js.map +1 -0
- package/src/lib/package-managers/yarn-classic/audit-result.d.ts +1 -1
- package/src/lib/package-managers/yarn-classic/audit-result.js +36 -0
- package/src/lib/package-managers/yarn-classic/audit-result.js.map +1 -0
- package/src/lib/package-managers/yarn-classic/constants.d.ts +2 -2
- package/src/lib/package-managers/yarn-classic/constants.js +14 -0
- package/src/lib/package-managers/yarn-classic/constants.js.map +1 -0
- package/src/lib/package-managers/yarn-classic/outdated-result.d.ts +1 -1
- package/src/lib/package-managers/yarn-classic/outdated-result.js +39 -0
- package/src/lib/package-managers/yarn-classic/outdated-result.js.map +1 -0
- package/src/lib/package-managers/yarn-classic/types.d.ts +1 -1
- package/src/lib/package-managers/yarn-classic/types.js +8 -0
- package/src/lib/package-managers/yarn-classic/types.js.map +1 -0
- package/src/lib/package-managers/yarn-classic/yarn-classic.d.ts +1 -1
- package/src/lib/package-managers/yarn-classic/yarn-classic.js +29 -0
- package/src/lib/package-managers/yarn-classic/yarn-classic.js.map +1 -0
- package/src/lib/package-managers/yarn-modern/audit-result.d.ts +1 -1
- package/src/lib/package-managers/yarn-modern/audit-result.js +25 -0
- package/src/lib/package-managers/yarn-modern/audit-result.js.map +1 -0
- package/src/lib/package-managers/yarn-modern/outdated-result.d.ts +1 -1
- package/src/lib/package-managers/yarn-modern/outdated-result.js +10 -0
- package/src/lib/package-managers/yarn-modern/outdated-result.js.map +1 -0
- package/src/lib/package-managers/yarn-modern/types.d.ts +2 -2
- package/src/lib/package-managers/yarn-modern/types.js +2 -0
- package/src/lib/package-managers/yarn-modern/types.js.map +1 -0
- package/src/lib/package-managers/yarn-modern/yarn-modern.d.ts +1 -1
- package/src/lib/package-managers/yarn-modern/yarn-modern.js +36 -0
- package/src/lib/package-managers/yarn-modern/yarn-modern.js.map +1 -0
- package/src/lib/runner/audit/constants.d.ts +1 -1
- package/src/lib/runner/audit/constants.js +10 -0
- package/src/lib/runner/audit/constants.js.map +1 -0
- package/src/lib/runner/audit/transform.d.ts +2 -2
- package/src/lib/runner/audit/transform.js +63 -0
- package/src/lib/runner/audit/transform.js.map +1 -0
- package/src/lib/runner/audit/types.d.ts +1 -1
- package/src/lib/runner/audit/types.js +2 -0
- package/src/lib/runner/audit/types.js.map +1 -0
- package/src/lib/runner/audit/utils.d.ts +1 -1
- package/src/lib/runner/audit/utils.js +4 -0
- package/src/lib/runner/audit/utils.js.map +1 -0
- package/src/lib/runner/index.d.ts +3 -3
- package/src/lib/runner/index.js +84 -0
- package/src/lib/runner/index.js.map +1 -0
- package/src/lib/runner/outdated/constants.js +13 -0
- package/src/lib/runner/outdated/constants.js.map +1 -0
- package/src/lib/runner/outdated/transform.d.ts +2 -2
- package/src/lib/runner/outdated/transform.js +60 -0
- package/src/lib/runner/outdated/transform.js.map +1 -0
- package/src/lib/runner/outdated/types.js +6 -0
- package/src/lib/runner/outdated/types.js.map +1 -0
- package/src/lib/runner/utils.d.ts +2 -2
- package/src/lib/runner/utils.js +56 -0
- package/src/lib/runner/utils.js.map +1 -0
- package/src/lib/utils.d.ts +3 -3
- package/src/lib/utils.js +17 -0
- package/src/lib/utils.js.map +1 -0
- package/bin.js +0 -1759
- package/index.js +0 -1651
- package/src/lib/package-managers/index.d.ts +0 -2
- package/src/lib/runner/constants.d.ts +0 -3
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@code-pushup/js-packages-plugin",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.58.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",
|
|
@@ -36,13 +36,15 @@
|
|
|
36
36
|
"access": "public"
|
|
37
37
|
},
|
|
38
38
|
"type": "module",
|
|
39
|
-
"main": "./index.js",
|
|
40
|
-
"types": "./src/index.d.ts",
|
|
41
39
|
"dependencies": {
|
|
42
|
-
"@code-pushup/models": "0.
|
|
43
|
-
"@code-pushup/utils": "0.
|
|
40
|
+
"@code-pushup/models": "0.58.0",
|
|
41
|
+
"@code-pushup/utils": "0.58.0",
|
|
44
42
|
"build-md": "^0.4.1",
|
|
45
43
|
"semver": "^7.6.0",
|
|
44
|
+
"yargs": "^17.7.2",
|
|
46
45
|
"zod": "^3.22.4"
|
|
47
|
-
}
|
|
48
|
-
|
|
46
|
+
},
|
|
47
|
+
"module": "./src/index.js",
|
|
48
|
+
"main": "./src/index.js",
|
|
49
|
+
"types": "./src/index.d.ts"
|
|
50
|
+
}
|
package/src/bin.js
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import process from 'node:process';
|
|
2
|
+
import { Parser } from 'yargs/helpers';
|
|
3
|
+
import { executeRunner } from './lib/runner/index.js';
|
|
4
|
+
const { runnerConfigPath, runnerOutputPath } = Parser(process.argv);
|
|
5
|
+
await executeRunner({ runnerConfigPath, runnerOutputPath });
|
|
6
|
+
//# sourceMappingURL=bin.js.map
|
package/src/bin.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../../../../packages/plugin-js-packages/src/bin.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAEpE,MAAM,aAAa,CAAC,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAC,CAAC"}
|
package/src/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { jsPackagesPlugin } from './lib/js-packages-plugin';
|
|
1
|
+
import { jsPackagesPlugin } from './lib/js-packages-plugin.js';
|
|
2
2
|
export default jsPackagesPlugin;
|
|
3
|
-
export type { JSPackagesPluginConfig } from './lib/config';
|
|
3
|
+
export type { JSPackagesPluginConfig } from './lib/config.js';
|
package/src/index.js
ADDED
package/src/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/plugin-js-packages/src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/D,eAAe,gBAAgB,CAAC"}
|
package/src/lib/config.d.ts
CHANGED
|
@@ -23,7 +23,7 @@ export declare const jsPackagesPluginConfigSchema: z.ZodObject<{
|
|
|
23
23
|
checks: z.ZodDefault<z.ZodArray<z.ZodEnum<["audit", "outdated"]>, "many">>;
|
|
24
24
|
packageManager: z.ZodOptional<z.ZodEnum<["npm", "yarn-classic", "yarn-modern", "pnpm"]>>;
|
|
25
25
|
dependencyGroups: z.ZodDefault<z.ZodArray<z.ZodEnum<["prod", "dev", "optional"]>, "many">>;
|
|
26
|
-
auditLevelMapping: z.ZodEffects<z.ZodDefault<z.ZodRecord<z.ZodEnum<["critical", "high", "moderate", "low", "info"]>, z.ZodEnum<["info", "warning", "error"]>>>, AuditSeverity, Partial<Record<"
|
|
26
|
+
auditLevelMapping: z.ZodEffects<z.ZodDefault<z.ZodRecord<z.ZodEnum<["critical", "high", "moderate", "low", "info"]>, z.ZodEnum<["info", "warning", "error"]>>>, AuditSeverity, Partial<Record<"critical" | "high" | "moderate" | "low" | "info", "info" | "warning" | "error">> | undefined>;
|
|
27
27
|
packageJsonPaths: z.ZodDefault<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodObject<{
|
|
28
28
|
autoSearch: z.ZodLiteral<true>;
|
|
29
29
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -38,12 +38,12 @@ export declare const jsPackagesPluginConfigSchema: z.ZodObject<{
|
|
|
38
38
|
packageJsonPaths: string[] | {
|
|
39
39
|
autoSearch: true;
|
|
40
40
|
};
|
|
41
|
-
packageManager?: "npm" | "
|
|
41
|
+
packageManager?: "npm" | "yarn-classic" | "yarn-modern" | "pnpm" | undefined;
|
|
42
42
|
}, {
|
|
43
43
|
checks?: ("audit" | "outdated")[] | undefined;
|
|
44
|
-
packageManager?: "npm" | "
|
|
44
|
+
packageManager?: "npm" | "yarn-classic" | "yarn-modern" | "pnpm" | undefined;
|
|
45
45
|
dependencyGroups?: ("prod" | "dev" | "optional")[] | undefined;
|
|
46
|
-
auditLevelMapping?: Partial<Record<"
|
|
46
|
+
auditLevelMapping?: Partial<Record<"critical" | "high" | "moderate" | "low" | "info", "info" | "warning" | "error">> | undefined;
|
|
47
47
|
packageJsonPaths?: string[] | {
|
|
48
48
|
autoSearch: true;
|
|
49
49
|
} | undefined;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { issueSeveritySchema } from '@code-pushup/models';
|
|
3
|
+
import { defaultAuditLevelMapping } from './constants.js';
|
|
4
|
+
export const dependencyGroups = ['prod', 'dev', 'optional'];
|
|
5
|
+
const dependencyGroupSchema = z.enum(dependencyGroups);
|
|
6
|
+
const packageCommandSchema = z.enum(['audit', 'outdated']);
|
|
7
|
+
const packageManagerIdSchema = z.enum([
|
|
8
|
+
'npm',
|
|
9
|
+
'yarn-classic',
|
|
10
|
+
'yarn-modern',
|
|
11
|
+
'pnpm',
|
|
12
|
+
]);
|
|
13
|
+
const packageJsonPathSchema = z
|
|
14
|
+
.union([
|
|
15
|
+
z.array(z.string()).min(1),
|
|
16
|
+
z.object({ autoSearch: z.literal(true) }),
|
|
17
|
+
])
|
|
18
|
+
.describe('File paths to package.json. Looks only at root package.json by default')
|
|
19
|
+
.default(['package.json']);
|
|
20
|
+
export const packageAuditLevels = [
|
|
21
|
+
'critical',
|
|
22
|
+
'high',
|
|
23
|
+
'moderate',
|
|
24
|
+
'low',
|
|
25
|
+
'info',
|
|
26
|
+
];
|
|
27
|
+
const packageAuditLevelSchema = z.enum(packageAuditLevels);
|
|
28
|
+
export function fillAuditLevelMapping(mapping) {
|
|
29
|
+
return {
|
|
30
|
+
critical: mapping.critical ?? defaultAuditLevelMapping.critical,
|
|
31
|
+
high: mapping.high ?? defaultAuditLevelMapping.high,
|
|
32
|
+
moderate: mapping.moderate ?? defaultAuditLevelMapping.moderate,
|
|
33
|
+
low: mapping.low ?? defaultAuditLevelMapping.low,
|
|
34
|
+
info: mapping.info ?? defaultAuditLevelMapping.info,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
export const jsPackagesPluginConfigSchema = z.object({
|
|
38
|
+
checks: z
|
|
39
|
+
.array(packageCommandSchema, {
|
|
40
|
+
description: 'Package manager commands to be run. Defaults to both audit and outdated.',
|
|
41
|
+
})
|
|
42
|
+
.min(1)
|
|
43
|
+
.default(['audit', 'outdated']),
|
|
44
|
+
packageManager: packageManagerIdSchema
|
|
45
|
+
.describe('Package manager to be used.')
|
|
46
|
+
.optional(),
|
|
47
|
+
dependencyGroups: z
|
|
48
|
+
.array(dependencyGroupSchema)
|
|
49
|
+
.min(1)
|
|
50
|
+
.default(['prod', 'dev']),
|
|
51
|
+
auditLevelMapping: z
|
|
52
|
+
.record(packageAuditLevelSchema, issueSeveritySchema, {
|
|
53
|
+
description: 'Mapping of audit levels to issue severity. Custom mapping or overrides may be entered manually, otherwise has a default preset.',
|
|
54
|
+
})
|
|
55
|
+
.default(defaultAuditLevelMapping)
|
|
56
|
+
.transform(fillAuditLevelMapping),
|
|
57
|
+
packageJsonPaths: packageJsonPathSchema,
|
|
58
|
+
});
|
|
59
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../packages/plugin-js-packages/src/lib/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAsB,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAE1D,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,CAAU,CAAC;AACrE,MAAM,qBAAqB,GAAG,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AAGvD,MAAM,oBAAoB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;AAG3D,MAAM,sBAAsB,GAAG,CAAC,CAAC,IAAI,CAAC;IACpC,KAAK;IACL,cAAc;IACd,aAAa;IACb,MAAM;CACP,CAAC,CAAC;AAGH,MAAM,qBAAqB,GAAG,CAAC;KAC5B,KAAK,CAAC;IACL,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,CAAC,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;CAC1C,CAAC;KACD,QAAQ,CACP,wEAAwE,CACzE;KACA,OAAO,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;AAI7B,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,UAAU;IACV,MAAM;IACN,UAAU;IACV,KAAK;IACL,MAAM;CACE,CAAC;AACX,MAAM,uBAAuB,GAAG,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AAK3D,MAAM,UAAU,qBAAqB,CACnC,OAA+B;IAE/B,OAAO;QACL,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,wBAAwB,CAAC,QAAQ;QAC/D,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,wBAAwB,CAAC,IAAI;QACnD,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,wBAAwB,CAAC,QAAQ;QAC/D,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,wBAAwB,CAAC,GAAG;QAChD,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,wBAAwB,CAAC,IAAI;KACpD,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,MAAM,EAAE,CAAC;SACN,KAAK,CAAC,oBAAoB,EAAE;QAC3B,WAAW,EACT,0EAA0E;KAC7E,CAAC;SACD,GAAG,CAAC,CAAC,CAAC;SACN,OAAO,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACjC,cAAc,EAAE,sBAAsB;SACnC,QAAQ,CAAC,6BAA6B,CAAC;SACvC,QAAQ,EAAE;IACb,gBAAgB,EAAE,CAAC;SAChB,KAAK,CAAC,qBAAqB,CAAC;SAC5B,GAAG,CAAC,CAAC,CAAC;SACN,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC3B,iBAAiB,EAAE,CAAC;SACjB,MAAM,CAAC,uBAAuB,EAAE,mBAAmB,EAAE;QACpD,WAAW,EACT,iIAAiI;KACpI,CAAC;SACD,OAAO,CAAC,wBAAwB,CAAC;SACjC,SAAS,CAAC,qBAAqB,CAAC;IACnC,gBAAgB,EAAE,qBAAqB;CACxC,CAAC,CAAC"}
|
package/src/lib/constants.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { IssueSeverity } from '@code-pushup/models';
|
|
2
|
-
import type { DependencyGroup, PackageAuditLevel } from './config';
|
|
3
|
-
import type { DependencyGroupLong } from './runner/outdated/types';
|
|
2
|
+
import type { DependencyGroup, PackageAuditLevel } from './config.js';
|
|
3
|
+
import type { DependencyGroupLong } from './runner/outdated/types.js';
|
|
4
4
|
export declare const defaultAuditLevelMapping: Record<PackageAuditLevel, IssueSeverity>;
|
|
5
5
|
export declare const dependencyGroupToLong: Record<DependencyGroup, DependencyGroupLong>;
|
|
6
6
|
export declare const dependencyGroupWeights: Record<DependencyGroup, number>;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export const defaultAuditLevelMapping = {
|
|
2
|
+
critical: 'error',
|
|
3
|
+
high: 'error',
|
|
4
|
+
moderate: 'warning',
|
|
5
|
+
low: 'warning',
|
|
6
|
+
info: 'info',
|
|
7
|
+
};
|
|
8
|
+
export const dependencyGroupToLong = {
|
|
9
|
+
prod: 'dependencies',
|
|
10
|
+
dev: 'devDependencies',
|
|
11
|
+
optional: 'optionalDependencies',
|
|
12
|
+
};
|
|
13
|
+
export const dependencyGroupWeights = {
|
|
14
|
+
/* eslint-disable @typescript-eslint/no-magic-numbers */
|
|
15
|
+
prod: 80,
|
|
16
|
+
dev: 15,
|
|
17
|
+
optional: 5,
|
|
18
|
+
/* eslint-enable @typescript-eslint/no-magic-numbers */
|
|
19
|
+
};
|
|
20
|
+
export const dependencyDocs = {
|
|
21
|
+
prod: 'https://classic.yarnpkg.com/docs/dependency-types#toc-dependencies',
|
|
22
|
+
dev: 'https://classic.yarnpkg.com/docs/dependency-types#toc-devdependencies',
|
|
23
|
+
optional: 'https://classic.yarnpkg.com/docs/dependency-types#toc-optionaldependencies',
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../packages/plugin-js-packages/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"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { fileURLToPath } from 'node:url';
|
|
4
|
+
import { dependencyGroups, } from './config.js';
|
|
5
|
+
import { dependencyDocs, dependencyGroupWeights } from './constants.js';
|
|
6
|
+
import { packageManagers } from './package-managers/package-managers.js';
|
|
7
|
+
import { createRunnerConfig } from './runner/index.js';
|
|
8
|
+
import { normalizeConfig } from './utils.js';
|
|
9
|
+
/**
|
|
10
|
+
* Instantiates Code PushUp JS packages plugin for core config.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* import jsPackagesPlugin from '@code-pushup/js-packages-plugin'
|
|
14
|
+
*
|
|
15
|
+
* export default {
|
|
16
|
+
* // ... core config ...
|
|
17
|
+
* plugins: [
|
|
18
|
+
* // ... other plugins ...
|
|
19
|
+
* await jsPackagesPlugin({ packageManager: 'npm' })
|
|
20
|
+
* ]
|
|
21
|
+
* }
|
|
22
|
+
*
|
|
23
|
+
* @returns Plugin configuration.
|
|
24
|
+
*/
|
|
25
|
+
export async function jsPackagesPlugin(config) {
|
|
26
|
+
const { packageManager, checks, depGroups, ...jsPackagesPluginConfigRest } = await normalizeConfig(config);
|
|
27
|
+
const runnerScriptPath = path.join(fileURLToPath(path.dirname(import.meta.url)), '..', 'bin.js');
|
|
28
|
+
const packageJson = createRequire(import.meta.url)('../../package.json');
|
|
29
|
+
return {
|
|
30
|
+
slug: 'js-packages',
|
|
31
|
+
title: 'JS Packages',
|
|
32
|
+
icon: packageManager.icon,
|
|
33
|
+
description: 'This plugin runs audit to uncover vulnerabilities and lists outdated dependencies. It supports npm, yarn classic, yarn modern, and pnpm package managers.',
|
|
34
|
+
docsUrl: packageManager.docs.homepage,
|
|
35
|
+
packageName: packageJson.name,
|
|
36
|
+
version: packageJson.version,
|
|
37
|
+
audits: createAudits(packageManager.slug, checks, depGroups),
|
|
38
|
+
groups: createGroups(packageManager.slug, checks, depGroups),
|
|
39
|
+
runner: await createRunnerConfig(runnerScriptPath, {
|
|
40
|
+
...jsPackagesPluginConfigRest,
|
|
41
|
+
checks,
|
|
42
|
+
packageManager: packageManager.slug,
|
|
43
|
+
dependencyGroups: depGroups,
|
|
44
|
+
}),
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
function createGroups(id, checks, depGroups) {
|
|
48
|
+
const pm = packageManagers[id];
|
|
49
|
+
const supportedAuditDepGroups = pm.audit.supportedDepGroups ?? dependencyGroups;
|
|
50
|
+
const compatibleAuditDepGroups = depGroups.filter(group => supportedAuditDepGroups.includes(group));
|
|
51
|
+
const groups = {
|
|
52
|
+
audit: {
|
|
53
|
+
slug: `${pm.slug}-audit`,
|
|
54
|
+
title: `${pm.name} audit`,
|
|
55
|
+
description: `Group containing ${pm.name} vulnerabilities.`,
|
|
56
|
+
docsUrl: pm.docs.audit,
|
|
57
|
+
refs: compatibleAuditDepGroups.map(depGroup => ({
|
|
58
|
+
slug: `${pm.slug}-audit-${depGroup}`,
|
|
59
|
+
weight: dependencyGroupWeights[depGroup],
|
|
60
|
+
})),
|
|
61
|
+
},
|
|
62
|
+
outdated: {
|
|
63
|
+
slug: `${pm.slug}-outdated`,
|
|
64
|
+
title: `${pm.name} outdated dependencies`,
|
|
65
|
+
description: `Group containing outdated ${pm.name} dependencies.`,
|
|
66
|
+
docsUrl: pm.docs.outdated,
|
|
67
|
+
refs: depGroups.map(depGroup => ({
|
|
68
|
+
slug: `${pm.slug}-outdated-${depGroup}`,
|
|
69
|
+
weight: dependencyGroupWeights[depGroup],
|
|
70
|
+
})),
|
|
71
|
+
},
|
|
72
|
+
};
|
|
73
|
+
return checks.map(check => groups[check]);
|
|
74
|
+
}
|
|
75
|
+
function createAudits(id, checks, depGroups) {
|
|
76
|
+
const { slug } = packageManagers[id];
|
|
77
|
+
return checks.flatMap(check => {
|
|
78
|
+
const supportedAuditDepGroups = packageManagers[id].audit.supportedDepGroups ?? dependencyGroups;
|
|
79
|
+
const compatibleDepGroups = check === 'audit'
|
|
80
|
+
? depGroups.filter(group => supportedAuditDepGroups.includes(group))
|
|
81
|
+
: depGroups;
|
|
82
|
+
return compatibleDepGroups.map(depGroup => ({
|
|
83
|
+
slug: `${slug}-${check}-${depGroup}`,
|
|
84
|
+
title: getAuditTitle(slug, check, depGroup),
|
|
85
|
+
description: getAuditDescription(check, depGroup),
|
|
86
|
+
docsUrl: dependencyDocs[depGroup],
|
|
87
|
+
}));
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
function getAuditTitle(id, check, depGroup) {
|
|
91
|
+
const pm = packageManagers[id];
|
|
92
|
+
return check === 'audit'
|
|
93
|
+
? `Vulnerabilities for ${pm.name} ${depGroup} dependencies.`
|
|
94
|
+
: `Outdated ${pm.name} ${depGroup} dependencies.`;
|
|
95
|
+
}
|
|
96
|
+
function getAuditDescription(check, depGroup) {
|
|
97
|
+
return check === 'audit'
|
|
98
|
+
? `Runs security audit on ${depGroup} dependencies.`
|
|
99
|
+
: `Checks for outdated ${depGroup} dependencies`;
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=js-packages-plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"js-packages-plugin.js","sourceRoot":"","sources":["../../../../../packages/plugin-js-packages/src/lib/js-packages-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAKL,gBAAgB,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAA+B;IAE/B,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,0BAA0B,EAAE,GACxE,MAAM,eAAe,CAAC,MAAM,CAAC,CAAC;IAEhC,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAChC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAC5C,IAAI,EACJ,QAAQ,CACT,CAAC;IAEF,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAChD,oBAAoB,CACkB,CAAC;IAEzC,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,aAAa;QACpB,IAAI,EAAE,cAAc,CAAC,IAAI;QACzB,WAAW,EACT,2JAA2J;QAC7J,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,QAAQ;QACrC,WAAW,EAAE,WAAW,CAAC,IAAI;QAC7B,OAAO,EAAE,WAAW,CAAC,OAAO;QAC5B,MAAM,EAAE,YAAY,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC;QAC5D,MAAM,EAAE,YAAY,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC;QAC5D,MAAM,EAAE,MAAM,kBAAkB,CAAC,gBAAgB,EAAE;YACjD,GAAG,0BAA0B;YAC7B,MAAM;YACN,cAAc,EAAE,cAAc,CAAC,IAAI;YACnC,gBAAgB,EAAE,SAAS;SAC5B,CAAC;KACH,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CACnB,EAAoB,EACpB,MAAwB,EACxB,SAA4B;IAE5B,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;IAC/B,MAAM,uBAAuB,GAC3B,EAAE,CAAC,KAAK,CAAC,kBAAkB,IAAI,gBAAgB,CAAC;IAClD,MAAM,wBAAwB,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACxD,uBAAuB,CAAC,QAAQ,CAAC,KAAK,CAAC,CACxC,CAAC;IAEF,MAAM,MAAM,GAAkC;QAC5C,KAAK,EAAE;YACL,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,QAAQ;YACxB,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,QAAQ;YACzB,WAAW,EAAE,oBAAoB,EAAE,CAAC,IAAI,mBAAmB;YAC3D,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK;YACtB,IAAI,EAAE,wBAAwB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAC9C,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,UAAU,QAAQ,EAAE;gBACpC,MAAM,EAAE,sBAAsB,CAAC,QAAQ,CAAC;aACzC,CAAC,CAAC;SACJ;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,WAAW;YAC3B,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,wBAAwB;YACzC,WAAW,EAAE,6BAA6B,EAAE,CAAC,IAAI,gBAAgB;YACjE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ;YACzB,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAC/B,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,aAAa,QAAQ,EAAE;gBACvC,MAAM,EAAE,sBAAsB,CAAC,QAAQ,CAAC;aACzC,CAAC,CAAC;SACJ;KACF,CAAC;IAEF,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,YAAY,CACnB,EAAoB,EACpB,MAAwB,EACxB,SAA4B;IAE5B,MAAM,EAAE,IAAI,EAAE,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;IACrC,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QAC5B,MAAM,uBAAuB,GAC3B,eAAe,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,IAAI,gBAAgB,CAAC;QAEnE,MAAM,mBAAmB,GACvB,KAAK,KAAK,OAAO;YACf,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACpE,CAAC,CAAC,SAAS,CAAC;QAEhB,OAAO,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC1C,IAAI,EAAE,GAAG,IAAI,IAAI,KAAK,IAAI,QAAQ,EAAE;YACpC,KAAK,EAAE,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC;YAC3C,WAAW,EAAE,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC;YACjD,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;SAClC,CAAC,CAAC,CAAC;IACN,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,aAAa,CACpB,EAAoB,EACpB,KAAqB,EACrB,QAAyB;IAEzB,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;IAC/B,OAAO,KAAK,KAAK,OAAO;QACtB,CAAC,CAAC,uBAAuB,EAAE,CAAC,IAAI,IAAI,QAAQ,gBAAgB;QAC5D,CAAC,CAAC,YAAY,EAAE,CAAC,IAAI,IAAI,QAAQ,gBAAgB,CAAC;AACtD,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAqB,EAAE,QAAyB;IAC3E,OAAO,KAAK,KAAK,OAAO;QACtB,CAAC,CAAC,0BAA0B,QAAQ,gBAAgB;QACpD,CAAC,CAAC,uBAAuB,QAAQ,eAAe,CAAC;AACrD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugin-js-packages/src/lib/package-managers/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AACrD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type { PackageManagerId } from '../config';
|
|
2
|
-
export declare function derivePackageManagerInPackageJson(currentDir?: string): Promise<false | "npm" | "
|
|
1
|
+
import type { PackageManagerId } from '../config.js';
|
|
2
|
+
export declare function derivePackageManagerInPackageJson(currentDir?: string): Promise<false | "npm" | "yarn-classic" | "yarn-modern" | "pnpm">;
|
|
3
3
|
export declare function derivePackageManager(currentDir?: string): Promise<PackageManagerId>;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { readFile } from 'node:fs/promises';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { fileExists } from '@code-pushup/utils';
|
|
4
|
+
import { deriveYarnVersion } from './derive-yarn.js';
|
|
5
|
+
export async function derivePackageManagerInPackageJson(currentDir = process.cwd()) {
|
|
6
|
+
if (await fileExists(path.join(currentDir, 'package.json'))) {
|
|
7
|
+
const content = JSON.parse((await readFile(path.join('package.json'))).toString());
|
|
8
|
+
const { packageManager: packageManagerData = '' } = content;
|
|
9
|
+
const [manager = '', version = ''] = packageManagerData.split('@');
|
|
10
|
+
if (manager === 'npm') {
|
|
11
|
+
return manager;
|
|
12
|
+
}
|
|
13
|
+
if (manager === 'pnpm') {
|
|
14
|
+
return manager;
|
|
15
|
+
}
|
|
16
|
+
if (manager === 'yarn') {
|
|
17
|
+
const majorVersion = Number(version.split('.')[0]);
|
|
18
|
+
return majorVersion > 1 ? 'yarn-modern' : 'yarn-classic';
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
export async function derivePackageManager(currentDir = process.cwd()) {
|
|
24
|
+
const pkgManagerFromPackageJson = await derivePackageManagerInPackageJson(currentDir);
|
|
25
|
+
if (pkgManagerFromPackageJson) {
|
|
26
|
+
return pkgManagerFromPackageJson;
|
|
27
|
+
}
|
|
28
|
+
// Check for lock files
|
|
29
|
+
if (await fileExists(path.join(currentDir, 'package-lock.json'))) {
|
|
30
|
+
return 'npm';
|
|
31
|
+
}
|
|
32
|
+
else if (await fileExists(path.join(currentDir, 'pnpm-lock.yaml'))) {
|
|
33
|
+
return 'pnpm';
|
|
34
|
+
}
|
|
35
|
+
else if (await fileExists(path.join(currentDir, 'yarn.lock'))) {
|
|
36
|
+
const yarnVersion = await deriveYarnVersion();
|
|
37
|
+
if (yarnVersion) {
|
|
38
|
+
return yarnVersion;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
throw new Error('Could not detect package manager. Please provide it in the js-packages plugin config.');
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=derive-package-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"derive-package-manager.js","sourceRoot":"","sources":["../../../../../../packages/plugin-js-packages/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;AAEhD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,MAAM,CAAC,KAAK,UAAU,iCAAiC,CACrD,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE;IAE1B,IAAI,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;QAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CACxB,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CACxB,CAAC;QACjC,MAAM,EAAE,cAAc,EAAE,kBAAkB,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;QAE5D,MAAM,CAAC,OAAO,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEnE,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;YACtB,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;YACvB,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;YACvB,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACnD,OAAO,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC;QAC3D,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE;IAE1B,MAAM,yBAAyB,GAC7B,MAAM,iCAAiC,CAAC,UAAU,CAAC,CAAC;IACtD,IAAI,yBAAyB,EAAE,CAAC;QAC9B,OAAO,yBAAyB,CAAC;IACnC,CAAC;IAED,uBAAuB;IACvB,IAAI,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC;QACjE,OAAO,KAAK,CAAC;IACf,CAAC;SAAM,IAAI,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC;QACrE,OAAO,MAAM,CAAC;IAChB,CAAC;SAAM,IAAI,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC;QAChE,MAAM,WAAW,GAAG,MAAM,iBAAiB,EAAE,CAAC;QAC9C,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,WAAW,CAAC;QACrB,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CACb,uFAAuF,CACxF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { executeProcess } from '@code-pushup/utils';
|
|
2
|
+
export async function deriveYarnVersion() {
|
|
3
|
+
const { stdout } = await executeProcess({
|
|
4
|
+
command: 'yarn',
|
|
5
|
+
args: ['-v'],
|
|
6
|
+
});
|
|
7
|
+
const yarnVersion = Number.parseInt(stdout.toString().trim().at(0) ?? '', 10);
|
|
8
|
+
if (yarnVersion >= 2) {
|
|
9
|
+
return 'yarn-modern';
|
|
10
|
+
}
|
|
11
|
+
else if (yarnVersion === 1) {
|
|
12
|
+
return 'yarn-classic';
|
|
13
|
+
}
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=derive-yarn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"derive-yarn.js","sourceRoot":"","sources":["../../../../../../packages/plugin-js-packages/src/lib/package-managers/derive-yarn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACrC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,cAAc,CAAC;QACtC,OAAO,EAAE,MAAM;QACf,IAAI,EAAE,CAAC,IAAI,CAAC;KACb,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IAC9E,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO,aAAa,CAAC;IACvB,CAAC;SAAM,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { AuditResult } from '../../runner/audit/types';
|
|
2
|
-
import type { NpmAdvisory, NpmFixInformation, NpmVulnerabilities } from './types';
|
|
1
|
+
import type { AuditResult } from '../../runner/audit/types.js';
|
|
2
|
+
import type { NpmAdvisory, NpmFixInformation, NpmVulnerabilities } from './types.js';
|
|
3
3
|
export declare function npmToAuditResult(output: string): AuditResult;
|
|
4
4
|
export declare function npmToFixInformation(fixAvailable: boolean | NpmFixInformation): string;
|
|
5
5
|
export declare function npmToAdvisory(name: string, vulnerabilities: NpmVulnerabilities, prevNodes?: Set<string>): NpmAdvisory | null;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { objectToEntries } from '@code-pushup/utils';
|
|
2
|
+
export function npmToAuditResult(output) {
|
|
3
|
+
const npmAudit = JSON.parse(output);
|
|
4
|
+
const vulnerabilities = objectToEntries(npmAudit.vulnerabilities).map(([name, detail]) => {
|
|
5
|
+
const advisory = npmToAdvisory(name, npmAudit.vulnerabilities);
|
|
6
|
+
return {
|
|
7
|
+
name: name.toString(),
|
|
8
|
+
severity: detail.severity,
|
|
9
|
+
versionRange: detail.range,
|
|
10
|
+
directDependency: detail.isDirect ? true : (detail.effects[0] ?? ''),
|
|
11
|
+
fixInformation: npmToFixInformation(detail.fixAvailable),
|
|
12
|
+
...(advisory != null && {
|
|
13
|
+
title: advisory.title,
|
|
14
|
+
url: advisory.url,
|
|
15
|
+
}),
|
|
16
|
+
};
|
|
17
|
+
});
|
|
18
|
+
return {
|
|
19
|
+
vulnerabilities,
|
|
20
|
+
summary: npmAudit.metadata.vulnerabilities,
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
export function npmToFixInformation(fixAvailable) {
|
|
24
|
+
if (typeof fixAvailable === 'boolean') {
|
|
25
|
+
return fixAvailable ? 'Fix is available.' : '';
|
|
26
|
+
}
|
|
27
|
+
return `Fix available: Update \`${fixAvailable.name}\` to version **${fixAvailable.version}**${fixAvailable.isSemVerMajor ? ' (breaking change).' : '.'}`;
|
|
28
|
+
}
|
|
29
|
+
export function npmToAdvisory(name, vulnerabilities, prevNodes = new Set()) {
|
|
30
|
+
const advisory = vulnerabilities[name]?.via;
|
|
31
|
+
if (Array.isArray(advisory) &&
|
|
32
|
+
advisory.length > 0 &&
|
|
33
|
+
typeof advisory[0] === 'object') {
|
|
34
|
+
return { title: advisory[0].title, url: advisory[0].url };
|
|
35
|
+
}
|
|
36
|
+
// Cross-references another vulnerability
|
|
37
|
+
if (Array.isArray(advisory) &&
|
|
38
|
+
advisory.length > 0 &&
|
|
39
|
+
advisory.every((value) => typeof value === 'string')) {
|
|
40
|
+
/* eslint-disable functional/no-let, functional/immutable-data, functional/no-loop-statements, prefer-const */
|
|
41
|
+
let advisoryInfo = null;
|
|
42
|
+
let newReferences = [];
|
|
43
|
+
let advisoryInfoFound = false;
|
|
44
|
+
/* eslint-enable functional/no-let, prefer-const */
|
|
45
|
+
for (const via of advisory) {
|
|
46
|
+
if (!prevNodes.has(via)) {
|
|
47
|
+
newReferences.push(via);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
while (newReferences.length > 0 && !advisoryInfoFound) {
|
|
51
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
52
|
+
const ref = newReferences.pop();
|
|
53
|
+
prevNodes.add(ref);
|
|
54
|
+
const result = npmToAdvisory(ref, vulnerabilities, prevNodes);
|
|
55
|
+
if (result != null) {
|
|
56
|
+
advisoryInfo = { title: result.title, url: result.url };
|
|
57
|
+
advisoryInfoFound = true;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
/* eslint-enable functional/immutable-data, functional/no-loop-statements */
|
|
61
|
+
return advisoryInfo;
|
|
62
|
+
}
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=audit-result.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit-result.js","sourceRoot":"","sources":["../../../../../../../packages/plugin-js-packages/src/lib/package-managers/npm/audit-result.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AASrD,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAuB,CAAC;IAE1D,MAAM,eAAe,GAAG,eAAe,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,GAAG,CACnE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAiB,EAAE;QAChC,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;QAC/D,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE;YACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,YAAY,EAAE,MAAM,CAAC,KAAK;YAC1B,gBAAgB,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACpE,cAAc,EAAE,mBAAmB,CAAC,MAAM,CAAC,YAAY,CAAC;YACxD,GAAG,CAAC,QAAQ,IAAI,IAAI,IAAI;gBACtB,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,GAAG,EAAE,QAAQ,CAAC,GAAG;aAClB,CAAC;SACH,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,OAAO;QACL,eAAe;QACf,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,eAAe;KAC3C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,YAAyC;IAEzC,IAAI,OAAO,YAAY,KAAK,SAAS,EAAE,CAAC;QACtC,OAAO,YAAY,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC;IACjD,CAAC;IAED,OAAO,2BAA2B,YAAY,CAAC,IAAI,mBACjD,YAAY,CAAC,OACf,KAAK,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,IAAY,EACZ,eAAmC,EACnC,YAAY,IAAI,GAAG,EAAU;IAE7B,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC;IAE5C,IACE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;QACvB,QAAQ,CAAC,MAAM,GAAG,CAAC;QACnB,OAAO,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,EAC/B,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IAC5D,CAAC;IAED,yCAAyC;IACzC,IACE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;QACvB,QAAQ,CAAC,MAAM,GAAG,CAAC;QACnB,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,EACrE,CAAC;QACD,8GAA8G;QAC9G,IAAI,YAAY,GAAuB,IAAI,CAAC;QAC5C,IAAI,aAAa,GAAa,EAAE,CAAC;QACjC,IAAI,iBAAiB,GAAG,KAAK,CAAC;QAC9B,mDAAmD;QAEnD,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxB,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,OAAO,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACtD,oEAAoE;YACpE,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,EAAG,CAAC;YACjC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACnB,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;YAE9D,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;gBACnB,YAAY,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC;gBACxD,iBAAiB,GAAG,IAAI,CAAC;YAC3B,CAAC;QACH,CAAC;QACD,4EAA4E;QAE5E,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type { PackageManager } from '../types';
|
|
1
|
+
import type { PackageManager } from '../types.js';
|
|
2
2
|
export declare const npmPackageManager: PackageManager;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { objectToKeys } from '@code-pushup/utils';
|
|
2
|
+
import { filterAuditResult } from '../../runner/utils.js';
|
|
3
|
+
import { COMMON_AUDIT_ARGS, COMMON_OUTDATED_ARGS } from '../constants.js';
|
|
4
|
+
import { npmToAuditResult } from './audit-result.js';
|
|
5
|
+
import { npmToOutdatedResult } from './outdated-result.js';
|
|
6
|
+
const npmDependencyOptions = {
|
|
7
|
+
prod: ['--omit=dev', '--omit=optional'],
|
|
8
|
+
dev: ['--include=dev', '--omit=optional'],
|
|
9
|
+
optional: ['--include=optional', '--omit=dev'],
|
|
10
|
+
};
|
|
11
|
+
export const npmPackageManager = {
|
|
12
|
+
slug: 'npm',
|
|
13
|
+
name: 'NPM',
|
|
14
|
+
command: 'npm',
|
|
15
|
+
icon: 'npm',
|
|
16
|
+
docs: {
|
|
17
|
+
homepage: 'https://docs.npmjs.com/',
|
|
18
|
+
audit: 'https://docs.npmjs.com/cli/commands/npm-audit',
|
|
19
|
+
outdated: 'https://docs.npmjs.com/cli/commands/npm-outdated',
|
|
20
|
+
},
|
|
21
|
+
audit: {
|
|
22
|
+
getCommandArgs: groupDep => [
|
|
23
|
+
...COMMON_AUDIT_ARGS,
|
|
24
|
+
...npmDependencyOptions[groupDep],
|
|
25
|
+
'--audit-level=none',
|
|
26
|
+
],
|
|
27
|
+
unifyResult: npmToAuditResult,
|
|
28
|
+
// prod dependencies need to be filtered out manually since v10
|
|
29
|
+
postProcessResult: (results) => {
|
|
30
|
+
const depGroups = objectToKeys(results);
|
|
31
|
+
const devFilter = results.dev && results.prod
|
|
32
|
+
? filterAuditResult(results.dev, 'name', results.prod)
|
|
33
|
+
: results.dev;
|
|
34
|
+
const optionalFilter = results.optional && results.prod
|
|
35
|
+
? filterAuditResult(results.optional, 'name', results.prod)
|
|
36
|
+
: results.optional;
|
|
37
|
+
return {
|
|
38
|
+
...(depGroups.includes('prod') && { prod: results.prod }),
|
|
39
|
+
...(depGroups.includes('dev') && { dev: devFilter }),
|
|
40
|
+
...(depGroups.includes('optional') && { optional: optionalFilter }),
|
|
41
|
+
};
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
outdated: {
|
|
45
|
+
commandArgs: [...COMMON_OUTDATED_ARGS, '--long'],
|
|
46
|
+
unifyResult: npmToOutdatedResult,
|
|
47
|
+
},
|
|
48
|
+
};
|
|
49
|
+
//# sourceMappingURL=npm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"npm.js","sourceRoot":"","sources":["../../../../../../../packages/plugin-js-packages/src/lib/package-managers/npm/npm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAE1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,MAAM,oBAAoB,GAAsC;IAC9D,IAAI,EAAE,CAAC,YAAY,EAAE,iBAAiB,CAAC;IACvC,GAAG,EAAE,CAAC,eAAe,EAAE,iBAAiB,CAAC;IACzC,QAAQ,EAAE,CAAC,oBAAoB,EAAE,YAAY,CAAC;CAC/C,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAmB;IAC/C,IAAI,EAAE,KAAK;IACX,IAAI,EAAE,KAAK;IACX,OAAO,EAAE,KAAK;IACd,IAAI,EAAE,KAAK;IACX,IAAI,EAAE;QACJ,QAAQ,EAAE,yBAAyB;QACnC,KAAK,EAAE,+CAA+C;QACtD,QAAQ,EAAE,kDAAkD;KAC7D;IACD,KAAK,EAAE;QACL,cAAc,EAAE,QAAQ,CAAC,EAAE,CAAC;YAC1B,GAAG,iBAAiB;YACpB,GAAG,oBAAoB,CAAC,QAAQ,CAAC;YACjC,oBAAoB;SACrB;QACD,WAAW,EAAE,gBAAgB;QAC7B,+DAA+D;QAC/D,iBAAiB,EAAE,CAAC,OAAqB,EAAE,EAAE;YAC3C,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;YACxC,MAAM,SAAS,GACb,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,IAAI;gBACzB,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC;gBACtD,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;YAClB,MAAM,cAAc,GAClB,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI;gBAC9B,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC;gBAC3D,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;YAEvB,OAAO;gBACL,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;gBACzD,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC;gBACpD,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC;aACpE,CAAC;QACJ,CAAC;KACF;IACD,QAAQ,EAAE;QACR,WAAW,EAAE,CAAC,GAAG,oBAAoB,EAAE,QAAQ,CAAC;QAChD,WAAW,EAAE,mBAAmB;KACjC;CACF,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type { OutdatedResult } from '../../runner/outdated/types';
|
|
1
|
+
import type { OutdatedResult } from '../../runner/outdated/types.js';
|
|
2
2
|
export declare function npmToOutdatedResult(output: string): OutdatedResult;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { objectToEntries } from '@code-pushup/utils';
|
|
2
|
+
export function npmToOutdatedResult(output) {
|
|
3
|
+
const npmOutdated = JSON.parse(output);
|
|
4
|
+
// current might be missing in some cases
|
|
5
|
+
// https://stackoverflow.com/questions/42267101/npm-outdated-command-shows-missing-in-current-version
|
|
6
|
+
return objectToEntries(npmOutdated)
|
|
7
|
+
.filter((entry) => entry[1].current != null)
|
|
8
|
+
.map(([name, overview]) => ({
|
|
9
|
+
name,
|
|
10
|
+
current: overview.current,
|
|
11
|
+
latest: overview.latest,
|
|
12
|
+
type: overview.type,
|
|
13
|
+
...(overview.homepage != null && { url: overview.homepage }),
|
|
14
|
+
}));
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=outdated-result.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outdated-result.js","sourceRoot":"","sources":["../../../../../../../packages/plugin-js-packages/src/lib/package-managers/npm/outdated-result.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAIrD,MAAM,UAAU,mBAAmB,CAAC,MAAc;IAChD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAA0B,CAAC;IAChE,yCAAyC;IACzC,qGAAqG;IACrG,OAAO,eAAe,CAAC,WAAW,CAAC;SAChC,MAAM,CACL,CAAC,KAAK,EAA4C,EAAE,CAClD,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,IAAI,CAC3B;SACA,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1B,IAAI;QACJ,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,GAAG,CAAC,QAAQ,CAAC,QAAQ,IAAI,IAAI,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;KAC7D,CAAC,CAAC,CAAC;AACR,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { PackageAuditLevel } from '../../config';
|
|
2
|
-
import type { AuditSummary } from '../../runner/audit/types';
|
|
3
|
-
import type { DependencyGroupLong } from '../../runner/outdated/types';
|
|
1
|
+
import type { PackageAuditLevel } from '../../config.js';
|
|
2
|
+
import type { AuditSummary } from '../../runner/audit/types.js';
|
|
3
|
+
import type { DependencyGroupLong } from '../../runner/outdated/types.js';
|
|
4
4
|
export type NpmAdvisory = {
|
|
5
5
|
title: string;
|
|
6
6
|
url: string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../../packages/plugin-js-packages/src/lib/package-managers/npm/types.ts"],"names":[],"mappings":""}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type { PackageManagerId } from '../config';
|
|
2
|
-
import type { PackageManager } from './types';
|
|
1
|
+
import type { PackageManagerId } from '../config.js';
|
|
2
|
+
import type { PackageManager } from './types.js';
|
|
3
3
|
export declare const packageManagers: Record<PackageManagerId, PackageManager>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { npmPackageManager } from './npm/npm.js';
|
|
2
|
+
import { pnpmPackageManager } from './pnpm/pnpm.js';
|
|
3
|
+
import { yarnv1PackageManager } from './yarn-classic/yarn-classic.js';
|
|
4
|
+
import { yarnv2PackageManager } from './yarn-modern/yarn-modern.js';
|
|
5
|
+
export const packageManagers = {
|
|
6
|
+
npm: npmPackageManager,
|
|
7
|
+
'yarn-classic': yarnv1PackageManager,
|
|
8
|
+
'yarn-modern': yarnv2PackageManager,
|
|
9
|
+
pnpm: pnpmPackageManager,
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=package-managers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-managers.js","sourceRoot":"","sources":["../../../../../../packages/plugin-js-packages/src/lib/package-managers/package-managers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE,MAAM,CAAC,MAAM,eAAe,GAA6C;IACvE,GAAG,EAAE,iBAAiB;IACtB,cAAc,EAAE,oBAAoB;IACpC,aAAa,EAAE,oBAAoB;IACnC,IAAI,EAAE,kBAAkB;CACzB,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type { AuditResult } from '../../runner/audit/types';
|
|
1
|
+
import type { AuditResult } from '../../runner/audit/types.js';
|
|
2
2
|
export declare function pnpmToAuditResult(output: string): AuditResult;
|
|
3
3
|
export declare function pnpmToDirectDependency(path: string): string | true;
|