@openrewrite/recipes-nodejs 0.36.0-20251211-170937 → 0.36.0-20251212-115638
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/resources/advisories-npm.csv +5357 -0
- package/dist/security/dependency-vulnerability-check.d.ts +63 -0
- package/dist/security/dependency-vulnerability-check.d.ts.map +1 -0
- package/dist/security/dependency-vulnerability-check.js +639 -0
- package/dist/security/dependency-vulnerability-check.js.map +1 -0
- package/dist/security/index.d.ts +3 -0
- package/dist/security/index.d.ts.map +1 -0
- package/dist/security/index.js +19 -0
- package/dist/security/index.js.map +1 -0
- package/dist/security/vulnerability.d.ts +33 -0
- package/dist/security/vulnerability.d.ts.map +1 -0
- package/dist/security/vulnerability.js +182 -0
- package/dist/security/vulnerability.js.map +1 -0
- package/package.json +6 -3
- package/src/index.ts +2 -0
- package/src/security/dependency-vulnerability-check.ts +934 -0
- package/src/security/index.ts +8 -0
- package/src/security/vulnerability.ts +265 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/security/index.ts"],"names":[],"mappings":"AAMA,cAAc,iBAAiB,CAAC;AAChC,cAAc,kCAAkC,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./vulnerability"), exports);
|
|
18
|
+
__exportStar(require("./dependency-vulnerability-check"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/security/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAMA,kDAAgC;AAChC,mEAAiD"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export declare enum Severity {
|
|
2
|
+
LOW = "LOW",
|
|
3
|
+
MODERATE = "MODERATE",
|
|
4
|
+
HIGH = "HIGH",
|
|
5
|
+
CRITICAL = "CRITICAL"
|
|
6
|
+
}
|
|
7
|
+
export declare function severityOrdinal(severity: Severity): number;
|
|
8
|
+
export declare function parseSeverity(value: string): Severity;
|
|
9
|
+
export interface Vulnerability {
|
|
10
|
+
readonly cve: string;
|
|
11
|
+
readonly publishedAt: string;
|
|
12
|
+
readonly summary: string;
|
|
13
|
+
readonly packageName: string;
|
|
14
|
+
readonly introducedVersion: string;
|
|
15
|
+
readonly fixedVersion: string;
|
|
16
|
+
readonly lastAffectedVersion: string;
|
|
17
|
+
readonly severity: Severity;
|
|
18
|
+
readonly cwes: string;
|
|
19
|
+
}
|
|
20
|
+
export declare class VulnerabilityDatabase {
|
|
21
|
+
private readonly byPackage;
|
|
22
|
+
private constructor();
|
|
23
|
+
getVulnerabilities(packageName: string): Vulnerability[];
|
|
24
|
+
hasVulnerabilities(packageName: string): boolean;
|
|
25
|
+
getAffectedPackages(): string[];
|
|
26
|
+
get size(): number;
|
|
27
|
+
static load(): VulnerabilityDatabase;
|
|
28
|
+
static loadFromFile(filePath: string): VulnerabilityDatabase;
|
|
29
|
+
static loadFromString(content: string): VulnerabilityDatabase;
|
|
30
|
+
static empty(): VulnerabilityDatabase;
|
|
31
|
+
static fromList(vulnerabilities: Vulnerability[]): VulnerabilityDatabase;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=vulnerability.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vulnerability.d.ts","sourceRoot":"","sources":["../../src/security/vulnerability.ts"],"names":[],"mappings":"AAYA,oBAAY,QAAQ;IAChB,GAAG,QAAQ;IACX,QAAQ,aAAa;IACrB,IAAI,SAAS;IACb,QAAQ,aAAa;CACxB;AAKD,wBAAgB,eAAe,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAO1D;AAKD,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAMrD;AAWD,MAAM,WAAW,aAAa;IAE1B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAGrB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAG7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAGzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAG7B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IAGnC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAG9B,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IAGrC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAG5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACzB;AAqED,qBAAa,qBAAqB;IAC9B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA+B;IAEzD,OAAO;IAeP,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,EAAE;IAOxD,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAOhD,mBAAmB,IAAI,MAAM,EAAE;IAO/B,IAAI,IAAI,IAAI,MAAM,CAMjB;IAKD,MAAM,CAAC,IAAI,IAAI,qBAAqB;IA6BpC,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,qBAAqB;IAQ5D,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,qBAAqB;IAoB7D,MAAM,CAAC,KAAK,IAAI,qBAAqB;IAOrC,MAAM,CAAC,QAAQ,CAAC,eAAe,EAAE,aAAa,EAAE,GAAG,qBAAqB;CAG3E"}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.VulnerabilityDatabase = exports.Severity = void 0;
|
|
37
|
+
exports.severityOrdinal = severityOrdinal;
|
|
38
|
+
exports.parseSeverity = parseSeverity;
|
|
39
|
+
const fs = __importStar(require("fs"));
|
|
40
|
+
const path = __importStar(require("path"));
|
|
41
|
+
var Severity;
|
|
42
|
+
(function (Severity) {
|
|
43
|
+
Severity["LOW"] = "LOW";
|
|
44
|
+
Severity["MODERATE"] = "MODERATE";
|
|
45
|
+
Severity["HIGH"] = "HIGH";
|
|
46
|
+
Severity["CRITICAL"] = "CRITICAL";
|
|
47
|
+
})(Severity || (exports.Severity = Severity = {}));
|
|
48
|
+
function severityOrdinal(severity) {
|
|
49
|
+
switch (severity) {
|
|
50
|
+
case Severity.LOW: return 0;
|
|
51
|
+
case Severity.MODERATE: return 1;
|
|
52
|
+
case Severity.HIGH: return 2;
|
|
53
|
+
case Severity.CRITICAL: return 3;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
function parseSeverity(value) {
|
|
57
|
+
const upper = value.toUpperCase();
|
|
58
|
+
if (upper in Severity) {
|
|
59
|
+
return Severity[upper];
|
|
60
|
+
}
|
|
61
|
+
return Severity.LOW;
|
|
62
|
+
}
|
|
63
|
+
function parseCsvLine(line) {
|
|
64
|
+
const fields = [];
|
|
65
|
+
let current = '';
|
|
66
|
+
let inQuotes = false;
|
|
67
|
+
for (let i = 0; i < line.length; i++) {
|
|
68
|
+
const char = line[i];
|
|
69
|
+
if (char === '"') {
|
|
70
|
+
if (inQuotes && line[i + 1] === '"') {
|
|
71
|
+
current += '"';
|
|
72
|
+
i++;
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
inQuotes = !inQuotes;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
else if (char === ',' && !inQuotes) {
|
|
79
|
+
fields.push(current);
|
|
80
|
+
current = '';
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
current += char;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
fields.push(current);
|
|
87
|
+
return fields;
|
|
88
|
+
}
|
|
89
|
+
function parseVulnerability(line) {
|
|
90
|
+
const fields = parseCsvLine(line);
|
|
91
|
+
if (fields.length < 9) {
|
|
92
|
+
return undefined;
|
|
93
|
+
}
|
|
94
|
+
const [cve, publishedAt, summary, packageName, introducedVersion, fixedVersion, lastAffectedVersion, severity, cwes] = fields;
|
|
95
|
+
if (!cve || !packageName) {
|
|
96
|
+
return undefined;
|
|
97
|
+
}
|
|
98
|
+
return {
|
|
99
|
+
cve,
|
|
100
|
+
publishedAt,
|
|
101
|
+
summary,
|
|
102
|
+
packageName,
|
|
103
|
+
introducedVersion: introducedVersion || '0',
|
|
104
|
+
fixedVersion: fixedVersion || '',
|
|
105
|
+
lastAffectedVersion: lastAffectedVersion || '',
|
|
106
|
+
severity: parseSeverity(severity),
|
|
107
|
+
cwes: cwes || ''
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
class VulnerabilityDatabase {
|
|
111
|
+
constructor(vulnerabilities) {
|
|
112
|
+
this.byPackage = new Map();
|
|
113
|
+
for (const v of vulnerabilities) {
|
|
114
|
+
const existing = this.byPackage.get(v.packageName);
|
|
115
|
+
if (existing) {
|
|
116
|
+
existing.push(v);
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
this.byPackage.set(v.packageName, [v]);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
getVulnerabilities(packageName) {
|
|
124
|
+
return this.byPackage.get(packageName) || [];
|
|
125
|
+
}
|
|
126
|
+
hasVulnerabilities(packageName) {
|
|
127
|
+
return this.byPackage.has(packageName);
|
|
128
|
+
}
|
|
129
|
+
getAffectedPackages() {
|
|
130
|
+
return Array.from(this.byPackage.keys());
|
|
131
|
+
}
|
|
132
|
+
get size() {
|
|
133
|
+
let count = 0;
|
|
134
|
+
for (const vulns of this.byPackage.values()) {
|
|
135
|
+
count += vulns.length;
|
|
136
|
+
}
|
|
137
|
+
return count;
|
|
138
|
+
}
|
|
139
|
+
static load() {
|
|
140
|
+
const possiblePaths = [
|
|
141
|
+
path.join(__dirname, '..', '..', 'resources', 'advisories-npm.csv'),
|
|
142
|
+
path.join(__dirname, '..', '..', '..', 'resources', 'advisories-npm.csv'),
|
|
143
|
+
];
|
|
144
|
+
let csvPath;
|
|
145
|
+
for (const p of possiblePaths) {
|
|
146
|
+
if (fs.existsSync(p)) {
|
|
147
|
+
csvPath = p;
|
|
148
|
+
break;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
if (!csvPath) {
|
|
152
|
+
return new VulnerabilityDatabase([]);
|
|
153
|
+
}
|
|
154
|
+
return VulnerabilityDatabase.loadFromFile(csvPath);
|
|
155
|
+
}
|
|
156
|
+
static loadFromFile(filePath) {
|
|
157
|
+
const content = fs.readFileSync(filePath, 'utf-8');
|
|
158
|
+
return VulnerabilityDatabase.loadFromString(content);
|
|
159
|
+
}
|
|
160
|
+
static loadFromString(content) {
|
|
161
|
+
const vulnerabilities = [];
|
|
162
|
+
const lines = content.split('\n');
|
|
163
|
+
for (const line of lines) {
|
|
164
|
+
const trimmed = line.trim();
|
|
165
|
+
if (!trimmed)
|
|
166
|
+
continue;
|
|
167
|
+
const vuln = parseVulnerability(trimmed);
|
|
168
|
+
if (vuln) {
|
|
169
|
+
vulnerabilities.push(vuln);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
return new VulnerabilityDatabase(vulnerabilities);
|
|
173
|
+
}
|
|
174
|
+
static empty() {
|
|
175
|
+
return new VulnerabilityDatabase([]);
|
|
176
|
+
}
|
|
177
|
+
static fromList(vulnerabilities) {
|
|
178
|
+
return new VulnerabilityDatabase(vulnerabilities);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
exports.VulnerabilityDatabase = VulnerabilityDatabase;
|
|
182
|
+
//# sourceMappingURL=vulnerability.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vulnerability.js","sourceRoot":"","sources":["../../src/security/vulnerability.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openrewrite/recipes-nodejs",
|
|
3
|
-
"version": "0.36.0-
|
|
3
|
+
"version": "0.36.0-20251212-115638",
|
|
4
4
|
"license": "Moderne Source Available License",
|
|
5
5
|
"description": "OpenRewrite recipes for Node.js library migrations.",
|
|
6
6
|
"homepage": "https://github.com/moderneinc/rewrite-node",
|
|
@@ -17,17 +17,20 @@
|
|
|
17
17
|
"access": "public"
|
|
18
18
|
},
|
|
19
19
|
"scripts": {
|
|
20
|
-
"build": "rm -rf ./dist tsconfig.build.tsbuildinfo && tsc --build tsconfig.build.json",
|
|
20
|
+
"build": "rm -rf ./dist tsconfig.build.tsbuildinfo && tsc --build tsconfig.build.json && cp -rL resources dist/",
|
|
21
21
|
"dev": "tsc --watch -p tsconfig.json",
|
|
22
22
|
"test": "npm run build && jest",
|
|
23
23
|
"ci:test": "jest"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@openrewrite/rewrite": "next"
|
|
26
|
+
"@openrewrite/rewrite": "next",
|
|
27
|
+
"immer": "^11.0.1",
|
|
28
|
+
"semver": "^7.7.3"
|
|
27
29
|
},
|
|
28
30
|
"devDependencies": {
|
|
29
31
|
"@types/jest": "^29.5.13",
|
|
30
32
|
"@types/node": "^22.5.4",
|
|
33
|
+
"@types/semver": "^7.7.1",
|
|
31
34
|
"jest": "^29.7.0",
|
|
32
35
|
"jest-junit": "^16.0.0",
|
|
33
36
|
"tmp-promise": "^3.0.3",
|
package/src/index.ts
CHANGED
|
@@ -19,6 +19,7 @@ import {ReplaceOutgoingMessageHeaders} from "./migrate/outgoing-message-headers"
|
|
|
19
19
|
import {ReplaceTlsInternalModules} from "./migrate/tls-internal-modules";
|
|
20
20
|
import {UpgradeNode22} from "./migrate/upgrade-node-22";
|
|
21
21
|
import {UpgradeNode24} from "./migrate/upgrade-node-24";
|
|
22
|
+
import {DependencyVulnerabilityCheck} from "./security";
|
|
22
23
|
|
|
23
24
|
|
|
24
25
|
export function activate(registry: RecipeRegistry) {
|
|
@@ -42,4 +43,5 @@ export function activate(registry: RecipeRegistry) {
|
|
|
42
43
|
registry.register(ReplaceTlsInternalModules);
|
|
43
44
|
registry.register(UpgradeNode22);
|
|
44
45
|
registry.register(UpgradeNode24);
|
|
46
|
+
registry.register(DependencyVulnerabilityCheck);
|
|
45
47
|
}
|