@openrewrite/rewrite 8.68.0-20251204-095639 → 8.68.0-20251204-151952
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/javascript/index.d.ts +1 -0
- package/dist/javascript/index.d.ts.map +1 -1
- package/dist/javascript/index.js +1 -0
- package/dist/javascript/index.js.map +1 -1
- package/dist/javascript/package-json-parser.d.ts.map +1 -1
- package/dist/javascript/package-json-parser.js +7 -0
- package/dist/javascript/package-json-parser.js.map +1 -1
- package/dist/javascript/search/find-dependency.d.ts +32 -0
- package/dist/javascript/search/find-dependency.d.ts.map +1 -0
- package/dist/javascript/search/find-dependency.js +312 -0
- package/dist/javascript/search/find-dependency.js.map +1 -0
- package/dist/javascript/search/index.d.ts +1 -0
- package/dist/javascript/search/index.d.ts.map +1 -1
- package/dist/javascript/search/index.js +1 -0
- package/dist/javascript/search/index.js.map +1 -1
- package/dist/json/print.js +1 -1
- package/dist/json/print.js.map +1 -1
- package/dist/version.txt +1 -1
- package/package.json +1 -1
- package/src/index.ts +2 -0
- package/src/javascript/index.ts +1 -0
- package/src/javascript/package-json-parser.ts +8 -0
- package/src/javascript/search/find-dependency.ts +303 -0
- package/src/javascript/search/index.ts +1 -0
- package/src/json/print.ts +1 -1
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAC,cAAc,EAAC,MAAM,UAAU,CAAC;AAExC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AAGtB,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAC,cAAc,EAAC,MAAM,UAAU,CAAC;AAExC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AAGtB,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBtE"}
|
package/dist/index.js
CHANGED
|
@@ -64,7 +64,9 @@ function activate(registry) {
|
|
|
64
64
|
const { ExportAssignmentToExportDefault } = yield import("./javascript/migrate/typescript/index.js");
|
|
65
65
|
const { UseObjectPropertyShorthand } = yield import("./javascript/cleanup/index.js");
|
|
66
66
|
const { UpgradeDependencyVersion } = yield import("./javascript/recipes/index.js");
|
|
67
|
+
const { FindDependency } = yield import("./javascript/search/index.js");
|
|
67
68
|
registry.register(ExportAssignmentToExportDefault);
|
|
69
|
+
registry.register(FindDependency);
|
|
68
70
|
registry.register(OrderImports);
|
|
69
71
|
registry.register(ModernizeOctalEscapeSequences);
|
|
70
72
|
registry.register(ModernizeOctalLiterals);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAoCA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/javascript/index.ts"],"names":[],"mappings":"AAeA,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AAEzB,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/javascript/index.ts"],"names":[],"mappings":"AAeA,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AAEzB,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAE/B,OAAO,SAAS,CAAC;AACjB,OAAO,OAAO,CAAC"}
|
package/dist/javascript/index.js
CHANGED
|
@@ -45,6 +45,7 @@ __exportStar(require("./format"), exports);
|
|
|
45
45
|
__exportStar(require("./add-import"), exports);
|
|
46
46
|
__exportStar(require("./remove-import"), exports);
|
|
47
47
|
__exportStar(require("./recipes/index"), exports);
|
|
48
|
+
__exportStar(require("./search/index"), exports);
|
|
48
49
|
require("./print");
|
|
49
50
|
require("./rpc");
|
|
50
51
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/javascript/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;GAcG;AACH,yCAAuB;AACvB,4CAA0B;AAC1B,+CAA6B;AAC7B,2CAAyB;AACzB,0CAAwB;AACxB,4CAA0B;AAC1B,2DAAyC;AACzC,wDAAsC;AACtC,oDAAkC;AAClC,kDAAgC;AAChC,qDAAmC;AACnC,mDAAiC;AACjC,2CAAyB;AAEzB,+CAA6B;AAC7B,kDAAgC;AAChC,kDAAgC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/javascript/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;GAcG;AACH,yCAAuB;AACvB,4CAA0B;AAC1B,+CAA6B;AAC7B,2CAAyB;AACzB,0CAAwB;AACxB,4CAA0B;AAC1B,2DAAyC;AACzC,wDAAsC;AACtC,oDAAkC;AAClC,kDAAgC;AAChC,qDAAmC;AACnC,mDAAiC;AACjC,2CAAyB;AAEzB,+CAA6B;AAC7B,kDAAgC;AAChC,kDAAgC;AAChC,iDAA+B;AAE/B,mBAAiB;AACjB,iBAAe"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-json-parser.d.ts","sourceRoot":"","sources":["../../src/javascript/package-json-parser.ts"],"names":[],"mappings":"AAeA,OAAO,EAAC,MAAM,EAAE,WAAW,EAAoC,aAAa,EAAU,MAAM,WAAW,CAAC;AACxG,OAAO,EAAC,UAAU,EAAC,MAAM,SAAS,CAAC;AAuCnC,MAAM,WAAW,wBAAyB,SAAQ,aAAa;IAC3D;;;OAGG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACtC;AAED;;;;;;;;GAQG;AACH,qBAAa,iBAAkB,SAAQ,MAAM;IACzC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAU;IAEnD,oEAAoE;IACpE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAK9B;gBAEC,OAAO,GAAE,wBAA6B;IAMlD;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAqBrC;;OAEG;IACH,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAK5B,KAAK,CAAC,GAAG,MAAM,EAAE,WAAW,EAAE,GAAG,cAAc,CAAC,UAAU,CAAC;IAmDlE;;OAEG;YACW,YAAY;IAwC1B;;;;;OAKG;YACW,eAAe;
|
|
1
|
+
{"version":3,"file":"package-json-parser.d.ts","sourceRoot":"","sources":["../../src/javascript/package-json-parser.ts"],"names":[],"mappings":"AAeA,OAAO,EAAC,MAAM,EAAE,WAAW,EAAoC,aAAa,EAAU,MAAM,WAAW,CAAC;AACxG,OAAO,EAAC,UAAU,EAAC,MAAM,SAAS,CAAC;AAuCnC,MAAM,WAAW,wBAAyB,SAAQ,aAAa;IAC3D;;;OAGG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACtC;AAED;;;;;;;;GAQG;AACH,qBAAa,iBAAkB,SAAQ,MAAM;IACzC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAU;IAEnD,oEAAoE;IACpE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAK9B;gBAEC,OAAO,GAAE,wBAA6B;IAMlD;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAqBrC;;OAEG;IACH,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAK5B,KAAK,CAAC,GAAG,MAAM,EAAE,WAAW,EAAE,GAAG,cAAc,CAAC,UAAU,CAAC;IAmDlE;;OAEG;YACW,YAAY;IAwC1B;;;;;OAKG;YACW,eAAe;IA2C7B;;OAEG;YACW,oBAAoB;IAoBlC;;;;;;;OAOG;IACH,OAAO,CAAC,UAAU;IAUlB;;;;;;;OAOG;YACW,eAAe;IAwB7B;;;OAGG;YACW,mBAAmB;IA8CjC;;;;;;;OAOG;YACW,wBAAwB;IAkDtC;;;OAGG;YACW,cAAc;IA4B5B;;;;;;;OAOG;IACH,OAAO,CAAC,yBAAyB;IAsDjC;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAU3B;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAoBlC;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAiC/B;;;OAGG;IACH,OAAO,CAAC,aAAa;IAcrB;;;;;;;;OAQG;IACH,OAAO,CAAC,kBAAkB;IAiE1B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,oBAAoB;CAwG/B"}
|
|
@@ -233,6 +233,13 @@ class PackageJsonParser extends parser_1.Parser {
|
|
|
233
233
|
(_a = console.debug) === null || _a === void 0 ? void 0 : _a.call(console, `Failed to parse ${config.filename}: ${error}`);
|
|
234
234
|
}
|
|
235
235
|
}
|
|
236
|
+
// Fallback: if node_modules exists but no lock file was found (e.g., symlinked from another workspace),
|
|
237
|
+
// walk node_modules to get resolved dependency information
|
|
238
|
+
const parsed = yield this.walkNodeModules(dir);
|
|
239
|
+
if (parsed) {
|
|
240
|
+
// Assume npm as the default package manager when only node_modules exists
|
|
241
|
+
return { content: parsed, packageManager: node_resolution_result_1.PackageManager.Npm };
|
|
242
|
+
}
|
|
236
243
|
return undefined;
|
|
237
244
|
});
|
|
238
245
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-json-parser.js","sourceRoot":"","sources":["../../src/javascript/package-json-parser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"package-json-parser.js","sourceRoot":"","sources":["../../src/javascript/package-json-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Recipe } from "../../recipe";
|
|
2
|
+
import { ExecutionContext } from "../../execution";
|
|
3
|
+
import { TreeVisitor } from "../../visitor";
|
|
4
|
+
/**
|
|
5
|
+
* Finds npm/Node.js dependencies declared in package.json.
|
|
6
|
+
* This recipe is commonly used as a precondition to limit the scope of other recipes
|
|
7
|
+
* to projects that use a specific dependency.
|
|
8
|
+
*
|
|
9
|
+
* The search result marker is placed on the specific dependency entry in package.json,
|
|
10
|
+
* allowing users to see exactly where the dependency is declared.
|
|
11
|
+
*
|
|
12
|
+
* When `onlyDirect` is false, this recipe also marks direct dependencies that
|
|
13
|
+
* transitively depend on the target package, helping answer "which of my dependencies
|
|
14
|
+
* brings in package X?".
|
|
15
|
+
*/
|
|
16
|
+
export interface FindDependencyOptions {
|
|
17
|
+
packageName: string;
|
|
18
|
+
version?: string;
|
|
19
|
+
onlyDirect?: boolean;
|
|
20
|
+
}
|
|
21
|
+
export declare class FindDependency extends Recipe {
|
|
22
|
+
readonly name = "org.openrewrite.javascript.dependencies.find-dependency";
|
|
23
|
+
readonly displayName = "Find Node.js dependency";
|
|
24
|
+
readonly description: string;
|
|
25
|
+
packageName: string;
|
|
26
|
+
version?: string;
|
|
27
|
+
onlyDirect?: boolean;
|
|
28
|
+
constructor(options: FindDependencyOptions);
|
|
29
|
+
instanceName(): string;
|
|
30
|
+
editor(): Promise<TreeVisitor<any, ExecutionContext>>;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=find-dependency.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"find-dependency.d.ts","sourceRoot":"","sources":["../../../src/javascript/search/find-dependency.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAS,MAAM,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAC,gBAAgB,EAAC,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAoB1C;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,qBAAqB;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,qBAAa,cAAe,SAAQ,MAAM;IACtC,QAAQ,CAAC,IAAI,6DAA6D;IAC1E,QAAQ,CAAC,WAAW,6BAA6B;IACjD,QAAQ,CAAC,WAAW,SAEoD;IAOxE,WAAW,EAAG,MAAM,CAAC;IASrB,OAAO,CAAC,EAAE,MAAM,CAAC;IASjB,UAAU,CAAC,EAAE,OAAO,CAAC;gBAET,OAAO,EAAE,qBAAqB;IAIjC,YAAY,IAAI,MAAM;IAIzB,MAAM,IAAI,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;CAkJ9D"}
|
|
@@ -0,0 +1,312 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright 2025 the original author or authors.
|
|
4
|
+
* <p>
|
|
5
|
+
* Licensed under the Moderne Source Available License (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
* <p>
|
|
9
|
+
* https://docs.moderne.io/licensing/moderate-source-available-license
|
|
10
|
+
* <p>
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
18
|
+
if (k2 === undefined) k2 = k;
|
|
19
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
20
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
21
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
22
|
+
}
|
|
23
|
+
Object.defineProperty(o, k2, desc);
|
|
24
|
+
}) : (function(o, m, k, k2) {
|
|
25
|
+
if (k2 === undefined) k2 = k;
|
|
26
|
+
o[k2] = m[k];
|
|
27
|
+
}));
|
|
28
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
29
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
30
|
+
}) : function(o, v) {
|
|
31
|
+
o["default"] = v;
|
|
32
|
+
});
|
|
33
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
34
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
35
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
36
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
37
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
38
|
+
};
|
|
39
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
40
|
+
var ownKeys = function(o) {
|
|
41
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
42
|
+
var ar = [];
|
|
43
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
44
|
+
return ar;
|
|
45
|
+
};
|
|
46
|
+
return ownKeys(o);
|
|
47
|
+
};
|
|
48
|
+
return function (mod) {
|
|
49
|
+
if (mod && mod.__esModule) return mod;
|
|
50
|
+
var result = {};
|
|
51
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
52
|
+
__setModuleDefault(result, mod);
|
|
53
|
+
return result;
|
|
54
|
+
};
|
|
55
|
+
})();
|
|
56
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
57
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
58
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
59
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
60
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
61
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
62
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
63
|
+
});
|
|
64
|
+
};
|
|
65
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
66
|
+
exports.FindDependency = void 0;
|
|
67
|
+
const recipe_1 = require("../../recipe");
|
|
68
|
+
const json_1 = require("../../json");
|
|
69
|
+
const markers_1 = require("../../markers");
|
|
70
|
+
const node_resolution_result_1 = require("../node-resolution-result");
|
|
71
|
+
const semver = __importStar(require("semver"));
|
|
72
|
+
const picomatch = __importStar(require("picomatch"));
|
|
73
|
+
/** Dependency section names in package.json */
|
|
74
|
+
const DEPENDENCY_SECTIONS = new Set([
|
|
75
|
+
'dependencies',
|
|
76
|
+
'devDependencies',
|
|
77
|
+
'peerDependencies',
|
|
78
|
+
'optionalDependencies'
|
|
79
|
+
]);
|
|
80
|
+
class FindDependency extends recipe_1.Recipe {
|
|
81
|
+
constructor(options) {
|
|
82
|
+
super(options);
|
|
83
|
+
this.name = "org.openrewrite.javascript.dependencies.find-dependency";
|
|
84
|
+
this.displayName = "Find Node.js dependency";
|
|
85
|
+
this.description = "Finds dependencies in a project's `package.json`. " +
|
|
86
|
+
"Can find both direct dependencies and dependencies that transitively include the target package. " +
|
|
87
|
+
"This recipe is commonly used as a precondition for other recipes.";
|
|
88
|
+
}
|
|
89
|
+
instanceName() {
|
|
90
|
+
return `${this.displayName} \`${this.packageName}${this.version ? '@' + this.version : ''}\``;
|
|
91
|
+
}
|
|
92
|
+
editor() {
|
|
93
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
94
|
+
var _a;
|
|
95
|
+
const packageName = this.packageName;
|
|
96
|
+
const version = this.version;
|
|
97
|
+
// Default to true if not specified (only search direct dependencies)
|
|
98
|
+
const onlyDirect = (_a = this.onlyDirect) !== null && _a !== void 0 ? _a : true;
|
|
99
|
+
// Create a picomatch matcher for the package name pattern
|
|
100
|
+
// For patterns without '/', use { contains: true } so that '*jest*' matches '@types/jest'
|
|
101
|
+
// (by default, '*' doesn't match '/' in glob patterns, but for package names this is more intuitive)
|
|
102
|
+
const matchOptions = packageName.includes('/') ? {} : { contains: true };
|
|
103
|
+
const matcher = picomatch.default
|
|
104
|
+
? picomatch.default(packageName, matchOptions)
|
|
105
|
+
: picomatch(packageName, matchOptions);
|
|
106
|
+
return new class extends json_1.JsonVisitor {
|
|
107
|
+
constructor() {
|
|
108
|
+
super(...arguments);
|
|
109
|
+
this.isPackageJson = false;
|
|
110
|
+
}
|
|
111
|
+
visitDocument(document, ctx) {
|
|
112
|
+
const _super = Object.create(null, {
|
|
113
|
+
visitDocument: { get: () => super.visitDocument }
|
|
114
|
+
});
|
|
115
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
116
|
+
// Only process package.json files, not package-lock.json or other JSON files
|
|
117
|
+
const sourcePath = document.sourcePath;
|
|
118
|
+
this.isPackageJson = sourcePath.endsWith('package.json');
|
|
119
|
+
if (this.isPackageJson) {
|
|
120
|
+
this.resolution = (0, node_resolution_result_1.findNodeResolutionResult)(document);
|
|
121
|
+
}
|
|
122
|
+
return this.isPackageJson && this.resolution ? _super.visitDocument.call(this, document, ctx) : document;
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
visitMember(member, ctx) {
|
|
126
|
+
const _super = Object.create(null, {
|
|
127
|
+
visitMember: { get: () => super.visitMember }
|
|
128
|
+
});
|
|
129
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
130
|
+
// Check if we're inside a dependency section
|
|
131
|
+
const parentSection = this.getParentDependencySection();
|
|
132
|
+
if (!parentSection) {
|
|
133
|
+
return _super.visitMember.call(this, member, ctx);
|
|
134
|
+
}
|
|
135
|
+
// Get the package name from the member key
|
|
136
|
+
const depName = this.getMemberKeyName(member);
|
|
137
|
+
if (!depName) {
|
|
138
|
+
return _super.visitMember.call(this, member, ctx);
|
|
139
|
+
}
|
|
140
|
+
// Find the dependency in the resolution result
|
|
141
|
+
const dep = this.findDependencyByName(depName, parentSection);
|
|
142
|
+
if (!dep) {
|
|
143
|
+
return _super.visitMember.call(this, member, ctx);
|
|
144
|
+
}
|
|
145
|
+
// Check if this dependency matches directly
|
|
146
|
+
if (matcher(depName) && versionMatches(dep, version)) {
|
|
147
|
+
return this.markDependency(member, ctx);
|
|
148
|
+
}
|
|
149
|
+
// If not only direct, check if this dependency has the target as a transitive dependency
|
|
150
|
+
if (!onlyDirect && dep.resolved) {
|
|
151
|
+
if (hasTransitiveDependency(dep.resolved, matcher, version, new Set())) {
|
|
152
|
+
return this.markDependency(member, ctx);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
return _super.visitMember.call(this, member, ctx);
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Marks the dependency key with a search result marker.
|
|
160
|
+
*/
|
|
161
|
+
markDependency(member, ctx) {
|
|
162
|
+
const _super = Object.create(null, {
|
|
163
|
+
visitMember: { get: () => super.visitMember }
|
|
164
|
+
});
|
|
165
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
166
|
+
const visitedMember = yield _super.visitMember.call(this, member, ctx);
|
|
167
|
+
const markedKey = (0, markers_1.foundSearchResult)(visitedMember.key.element);
|
|
168
|
+
return Object.assign(Object.assign({}, visitedMember), { key: Object.assign(Object.assign({}, visitedMember.key), { element: markedKey }) });
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Checks if the current member's parent is a dependency section object.
|
|
173
|
+
* Returns the section name if so, undefined otherwise.
|
|
174
|
+
*/
|
|
175
|
+
getParentDependencySection() {
|
|
176
|
+
// Walk up the cursor to find the parent member that contains this dependency
|
|
177
|
+
// Structure: Document > Object > Member("dependencies") > Object > Member("lodash")
|
|
178
|
+
let cursor = this.cursor.parent;
|
|
179
|
+
while (cursor) {
|
|
180
|
+
const tree = cursor.value;
|
|
181
|
+
if (tree && typeof tree === 'object' && 'kind' in tree) {
|
|
182
|
+
if (tree.kind === json_1.Json.Kind.Member) {
|
|
183
|
+
const memberKey = this.getMemberKeyName(tree);
|
|
184
|
+
if (memberKey && DEPENDENCY_SECTIONS.has(memberKey)) {
|
|
185
|
+
return memberKey;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
cursor = cursor.parent;
|
|
190
|
+
}
|
|
191
|
+
return undefined;
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Extracts the key name from a Json.Member
|
|
195
|
+
*/
|
|
196
|
+
getMemberKeyName(member) {
|
|
197
|
+
const key = member.key.element;
|
|
198
|
+
if (key.kind === json_1.Json.Kind.Literal) {
|
|
199
|
+
// Remove quotes from string literal
|
|
200
|
+
const source = key.source;
|
|
201
|
+
if (source.startsWith('"') && source.endsWith('"')) {
|
|
202
|
+
return source.slice(1, -1);
|
|
203
|
+
}
|
|
204
|
+
return source;
|
|
205
|
+
}
|
|
206
|
+
else if (key.kind === json_1.Json.Kind.Identifier) {
|
|
207
|
+
return key.name;
|
|
208
|
+
}
|
|
209
|
+
return undefined;
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Finds a dependency by name in the appropriate section of the resolution result.
|
|
213
|
+
*/
|
|
214
|
+
findDependencyByName(name, section) {
|
|
215
|
+
if (!this.resolution)
|
|
216
|
+
return undefined;
|
|
217
|
+
let deps;
|
|
218
|
+
switch (section) {
|
|
219
|
+
case 'dependencies':
|
|
220
|
+
deps = this.resolution.dependencies;
|
|
221
|
+
break;
|
|
222
|
+
case 'devDependencies':
|
|
223
|
+
deps = this.resolution.devDependencies;
|
|
224
|
+
break;
|
|
225
|
+
case 'peerDependencies':
|
|
226
|
+
deps = this.resolution.peerDependencies;
|
|
227
|
+
break;
|
|
228
|
+
case 'optionalDependencies':
|
|
229
|
+
deps = this.resolution.optionalDependencies;
|
|
230
|
+
break;
|
|
231
|
+
}
|
|
232
|
+
return deps === null || deps === void 0 ? void 0 : deps.find(d => d.name === name);
|
|
233
|
+
}
|
|
234
|
+
};
|
|
235
|
+
});
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
exports.FindDependency = FindDependency;
|
|
239
|
+
__decorate([
|
|
240
|
+
(0, recipe_1.Option)({
|
|
241
|
+
displayName: "Package name",
|
|
242
|
+
description: "The name of the npm package to find. Supports glob patterns.",
|
|
243
|
+
example: "lodash"
|
|
244
|
+
})
|
|
245
|
+
], FindDependency.prototype, "packageName", void 0);
|
|
246
|
+
__decorate([
|
|
247
|
+
(0, recipe_1.Option)({
|
|
248
|
+
displayName: "Version",
|
|
249
|
+
description: "An exact version number or semver selector used to select the version number. " +
|
|
250
|
+
"Leave empty to match any version.",
|
|
251
|
+
example: "^18.0.0",
|
|
252
|
+
required: false
|
|
253
|
+
})
|
|
254
|
+
], FindDependency.prototype, "version", void 0);
|
|
255
|
+
__decorate([
|
|
256
|
+
(0, recipe_1.Option)({
|
|
257
|
+
displayName: "Only direct dependencies",
|
|
258
|
+
description: "If true (default), only matches dependencies that directly match the package name. " +
|
|
259
|
+
"If false, also marks direct dependencies that have the target package as a transitive dependency.",
|
|
260
|
+
example: "true",
|
|
261
|
+
required: false
|
|
262
|
+
})
|
|
263
|
+
], FindDependency.prototype, "onlyDirect", void 0);
|
|
264
|
+
/**
|
|
265
|
+
* Recursively checks if a resolved dependency has the target package as a transitive dependency.
|
|
266
|
+
*/
|
|
267
|
+
function hasTransitiveDependency(resolved, matcher, version, visited) {
|
|
268
|
+
// Avoid cycles
|
|
269
|
+
const key = `${resolved.name}@${resolved.version}`;
|
|
270
|
+
if (visited.has(key)) {
|
|
271
|
+
return false;
|
|
272
|
+
}
|
|
273
|
+
visited.add(key);
|
|
274
|
+
// Check all dependency types
|
|
275
|
+
const allDeps = [
|
|
276
|
+
...(resolved.dependencies || []),
|
|
277
|
+
...(resolved.devDependencies || []),
|
|
278
|
+
...(resolved.peerDependencies || []),
|
|
279
|
+
...(resolved.optionalDependencies || [])
|
|
280
|
+
];
|
|
281
|
+
for (const dep of allDeps) {
|
|
282
|
+
// Check if this dependency matches the target
|
|
283
|
+
if (matcher(dep.name) && versionMatches(dep, version)) {
|
|
284
|
+
return true;
|
|
285
|
+
}
|
|
286
|
+
// Recursively check transitive dependencies
|
|
287
|
+
if (dep.resolved && hasTransitiveDependency(dep.resolved, matcher, version, visited)) {
|
|
288
|
+
return true;
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
return false;
|
|
292
|
+
}
|
|
293
|
+
function versionMatches(dep, version) {
|
|
294
|
+
if (!version) {
|
|
295
|
+
return true;
|
|
296
|
+
}
|
|
297
|
+
const resolved = dep.resolved;
|
|
298
|
+
if (!resolved) {
|
|
299
|
+
// If no resolved version available, we can't validate the version
|
|
300
|
+
return false;
|
|
301
|
+
}
|
|
302
|
+
return versionMatchesResolved(resolved, version);
|
|
303
|
+
}
|
|
304
|
+
function versionMatchesResolved(resolved, version) {
|
|
305
|
+
if (!version) {
|
|
306
|
+
return true;
|
|
307
|
+
}
|
|
308
|
+
const actualVersion = resolved.version;
|
|
309
|
+
// Use semver.satisfies to check if the actual version matches the constraint
|
|
310
|
+
return semver.satisfies(actualVersion, version);
|
|
311
|
+
}
|
|
312
|
+
//# sourceMappingURL=find-dependency.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"find-dependency.js","sourceRoot":"","sources":["../../../src/javascript/search/find-dependency.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/javascript/search/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/javascript/search/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC"}
|
|
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./find-dependency"), exports);
|
|
17
18
|
__exportStar(require("./uses-method"), exports);
|
|
18
19
|
__exportStar(require("./uses-type"), exports);
|
|
19
20
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/javascript/search/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,8CAA4B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/javascript/search/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,gDAA8B;AAC9B,8CAA4B"}
|
package/dist/json/print.js
CHANGED
|
@@ -31,7 +31,7 @@ const tree_2 = require("../tree");
|
|
|
31
31
|
class JsonPrinter extends visitor_1.JsonVisitor {
|
|
32
32
|
constructor() {
|
|
33
33
|
super(...arguments);
|
|
34
|
-
this.jsonMarkerWrapper = (out) => `/*~~${out}${out ? "~~" : ""}
|
|
34
|
+
this.jsonMarkerWrapper = (out) => `/*~~${out}${out ? "~~" : ""}>*/`;
|
|
35
35
|
}
|
|
36
36
|
visitArray(array, p) {
|
|
37
37
|
return __awaiter(this, void 0, void 0, function* () {
|
package/dist/json/print.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"print.js","sourceRoot":"","sources":["../../src/json/print.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA;;;;;;;;;;;;;;GAcG;AACH,oCAA0D;AAC1D,uCAAsC;AACtC,iCAA4B;AAC5B,kCAA+B;AAG/B,MAAM,WAAY,SAAQ,qBAA+B;IAAzD;;QA0GY,sBAAiB,GAAG,CAAC,GAAW,EAAU,EAAE,CAAC,OAAO,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"print.js","sourceRoot":"","sources":["../../src/json/print.ts"],"names":[],"mappings":"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"}
|
package/dist/version.txt
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
8.68.0-20251204-
|
|
1
|
+
8.68.0-20251204-151952
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -40,8 +40,10 @@ export async function activate(registry: RecipeRegistry): Promise<void> {
|
|
|
40
40
|
const {ExportAssignmentToExportDefault} = await import("./javascript/migrate/typescript/index.js");
|
|
41
41
|
const {UseObjectPropertyShorthand} = await import("./javascript/cleanup/index.js");
|
|
42
42
|
const {UpgradeDependencyVersion} = await import("./javascript/recipes/index.js");
|
|
43
|
+
const {FindDependency} = await import("./javascript/search/index.js");
|
|
43
44
|
|
|
44
45
|
registry.register(ExportAssignmentToExportDefault);
|
|
46
|
+
registry.register(FindDependency);
|
|
45
47
|
registry.register(OrderImports);
|
|
46
48
|
registry.register(ModernizeOctalEscapeSequences);
|
|
47
49
|
registry.register(ModernizeOctalLiterals);
|
package/src/javascript/index.ts
CHANGED
|
@@ -253,6 +253,14 @@ export class PackageJsonParser extends Parser {
|
|
|
253
253
|
}
|
|
254
254
|
}
|
|
255
255
|
|
|
256
|
+
// Fallback: if node_modules exists but no lock file was found (e.g., symlinked from another workspace),
|
|
257
|
+
// walk node_modules to get resolved dependency information
|
|
258
|
+
const parsed = await this.walkNodeModules(dir);
|
|
259
|
+
if (parsed) {
|
|
260
|
+
// Assume npm as the default package manager when only node_modules exists
|
|
261
|
+
return { content: parsed, packageManager: PackageManager.Npm };
|
|
262
|
+
}
|
|
263
|
+
|
|
256
264
|
return undefined;
|
|
257
265
|
}
|
|
258
266
|
|
|
@@ -0,0 +1,303 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2025 the original author or authors.
|
|
3
|
+
* <p>
|
|
4
|
+
* Licensed under the Moderne Source Available License (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
* <p>
|
|
8
|
+
* https://docs.moderne.io/licensing/moderate-source-available-license
|
|
9
|
+
* <p>
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import {Option, Recipe} from "../../recipe";
|
|
18
|
+
import {ExecutionContext} from "../../execution";
|
|
19
|
+
import {TreeVisitor} from "../../visitor";
|
|
20
|
+
import {Json, JsonVisitor} from "../../json";
|
|
21
|
+
import {foundSearchResult} from "../../markers";
|
|
22
|
+
import {
|
|
23
|
+
Dependency,
|
|
24
|
+
findNodeResolutionResult,
|
|
25
|
+
NodeResolutionResult,
|
|
26
|
+
ResolvedDependency
|
|
27
|
+
} from "../node-resolution-result";
|
|
28
|
+
import * as semver from "semver";
|
|
29
|
+
import * as picomatch from "picomatch";
|
|
30
|
+
|
|
31
|
+
/** Dependency section names in package.json */
|
|
32
|
+
const DEPENDENCY_SECTIONS = new Set([
|
|
33
|
+
'dependencies',
|
|
34
|
+
'devDependencies',
|
|
35
|
+
'peerDependencies',
|
|
36
|
+
'optionalDependencies'
|
|
37
|
+
]);
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Finds npm/Node.js dependencies declared in package.json.
|
|
41
|
+
* This recipe is commonly used as a precondition to limit the scope of other recipes
|
|
42
|
+
* to projects that use a specific dependency.
|
|
43
|
+
*
|
|
44
|
+
* The search result marker is placed on the specific dependency entry in package.json,
|
|
45
|
+
* allowing users to see exactly where the dependency is declared.
|
|
46
|
+
*
|
|
47
|
+
* When `onlyDirect` is false, this recipe also marks direct dependencies that
|
|
48
|
+
* transitively depend on the target package, helping answer "which of my dependencies
|
|
49
|
+
* brings in package X?".
|
|
50
|
+
*/
|
|
51
|
+
export interface FindDependencyOptions {
|
|
52
|
+
packageName: string;
|
|
53
|
+
version?: string;
|
|
54
|
+
onlyDirect?: boolean;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export class FindDependency extends Recipe {
|
|
58
|
+
readonly name = "org.openrewrite.javascript.dependencies.find-dependency";
|
|
59
|
+
readonly displayName = "Find Node.js dependency";
|
|
60
|
+
readonly description = "Finds dependencies in a project's `package.json`. " +
|
|
61
|
+
"Can find both direct dependencies and dependencies that transitively include the target package. " +
|
|
62
|
+
"This recipe is commonly used as a precondition for other recipes.";
|
|
63
|
+
|
|
64
|
+
@Option({
|
|
65
|
+
displayName: "Package name",
|
|
66
|
+
description: "The name of the npm package to find. Supports glob patterns.",
|
|
67
|
+
example: "lodash"
|
|
68
|
+
})
|
|
69
|
+
packageName!: string;
|
|
70
|
+
|
|
71
|
+
@Option({
|
|
72
|
+
displayName: "Version",
|
|
73
|
+
description: "An exact version number or semver selector used to select the version number. " +
|
|
74
|
+
"Leave empty to match any version.",
|
|
75
|
+
example: "^18.0.0",
|
|
76
|
+
required: false
|
|
77
|
+
})
|
|
78
|
+
version?: string;
|
|
79
|
+
|
|
80
|
+
@Option({
|
|
81
|
+
displayName: "Only direct dependencies",
|
|
82
|
+
description: "If true (default), only matches dependencies that directly match the package name. " +
|
|
83
|
+
"If false, also marks direct dependencies that have the target package as a transitive dependency.",
|
|
84
|
+
example: "true",
|
|
85
|
+
required: false
|
|
86
|
+
})
|
|
87
|
+
onlyDirect?: boolean;
|
|
88
|
+
|
|
89
|
+
constructor(options: FindDependencyOptions) {
|
|
90
|
+
super(options);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
override instanceName(): string {
|
|
94
|
+
return `${this.displayName} \`${this.packageName}${this.version ? '@' + this.version : ''}\``;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
async editor(): Promise<TreeVisitor<any, ExecutionContext>> {
|
|
98
|
+
const packageName = this.packageName;
|
|
99
|
+
const version = this.version;
|
|
100
|
+
// Default to true if not specified (only search direct dependencies)
|
|
101
|
+
const onlyDirect = this.onlyDirect ?? true;
|
|
102
|
+
|
|
103
|
+
// Create a picomatch matcher for the package name pattern
|
|
104
|
+
// For patterns without '/', use { contains: true } so that '*jest*' matches '@types/jest'
|
|
105
|
+
// (by default, '*' doesn't match '/' in glob patterns, but for package names this is more intuitive)
|
|
106
|
+
const matchOptions = packageName.includes('/') ? {} : { contains: true };
|
|
107
|
+
const matcher: picomatch.Matcher = picomatch.default
|
|
108
|
+
? picomatch.default(packageName, matchOptions)
|
|
109
|
+
: (picomatch as any)(packageName, matchOptions);
|
|
110
|
+
|
|
111
|
+
return new class extends JsonVisitor<ExecutionContext> {
|
|
112
|
+
private resolution: NodeResolutionResult | undefined;
|
|
113
|
+
private isPackageJson: boolean = false;
|
|
114
|
+
|
|
115
|
+
protected override async visitDocument(document: Json.Document, ctx: ExecutionContext): Promise<Json | undefined> {
|
|
116
|
+
// Only process package.json files, not package-lock.json or other JSON files
|
|
117
|
+
const sourcePath = document.sourcePath;
|
|
118
|
+
this.isPackageJson = sourcePath.endsWith('package.json');
|
|
119
|
+
|
|
120
|
+
if (this.isPackageJson) {
|
|
121
|
+
this.resolution = findNodeResolutionResult(document);
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
return this.isPackageJson && this.resolution ? super.visitDocument(document, ctx) : document;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
protected override async visitMember(member: Json.Member, ctx: ExecutionContext): Promise<Json | undefined> {
|
|
128
|
+
// Check if we're inside a dependency section
|
|
129
|
+
const parentSection = this.getParentDependencySection();
|
|
130
|
+
if (!parentSection) {
|
|
131
|
+
return super.visitMember(member, ctx);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
// Get the package name from the member key
|
|
135
|
+
const depName = this.getMemberKeyName(member);
|
|
136
|
+
if (!depName) {
|
|
137
|
+
return super.visitMember(member, ctx);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
// Find the dependency in the resolution result
|
|
141
|
+
const dep = this.findDependencyByName(depName, parentSection);
|
|
142
|
+
if (!dep) {
|
|
143
|
+
return super.visitMember(member, ctx);
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
// Check if this dependency matches directly
|
|
147
|
+
if (matcher(depName) && versionMatches(dep, version)) {
|
|
148
|
+
return this.markDependency(member, ctx);
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
// If not only direct, check if this dependency has the target as a transitive dependency
|
|
152
|
+
if (!onlyDirect && dep.resolved) {
|
|
153
|
+
if (hasTransitiveDependency(dep.resolved, matcher, version, new Set())) {
|
|
154
|
+
return this.markDependency(member, ctx);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
return super.visitMember(member, ctx);
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
* Marks the dependency key with a search result marker.
|
|
163
|
+
*/
|
|
164
|
+
private async markDependency(member: Json.Member, ctx: ExecutionContext): Promise<Json.Member> {
|
|
165
|
+
const visitedMember = await super.visitMember(member, ctx) as Json.Member;
|
|
166
|
+
const markedKey = foundSearchResult(visitedMember.key.element);
|
|
167
|
+
return {
|
|
168
|
+
...visitedMember,
|
|
169
|
+
key: {
|
|
170
|
+
...visitedMember.key,
|
|
171
|
+
element: markedKey
|
|
172
|
+
}
|
|
173
|
+
} as Json.Member;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
/**
|
|
177
|
+
* Checks if the current member's parent is a dependency section object.
|
|
178
|
+
* Returns the section name if so, undefined otherwise.
|
|
179
|
+
*/
|
|
180
|
+
private getParentDependencySection(): string | undefined {
|
|
181
|
+
// Walk up the cursor to find the parent member that contains this dependency
|
|
182
|
+
// Structure: Document > Object > Member("dependencies") > Object > Member("lodash")
|
|
183
|
+
let cursor = this.cursor.parent;
|
|
184
|
+
while (cursor) {
|
|
185
|
+
const tree = cursor.value;
|
|
186
|
+
if (tree && typeof tree === 'object' && 'kind' in tree) {
|
|
187
|
+
if (tree.kind === Json.Kind.Member) {
|
|
188
|
+
const memberKey = this.getMemberKeyName(tree as Json.Member);
|
|
189
|
+
if (memberKey && DEPENDENCY_SECTIONS.has(memberKey)) {
|
|
190
|
+
return memberKey;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
cursor = cursor.parent;
|
|
195
|
+
}
|
|
196
|
+
return undefined;
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
/**
|
|
200
|
+
* Extracts the key name from a Json.Member
|
|
201
|
+
*/
|
|
202
|
+
private getMemberKeyName(member: Json.Member): string | undefined {
|
|
203
|
+
const key = member.key.element;
|
|
204
|
+
if (key.kind === Json.Kind.Literal) {
|
|
205
|
+
// Remove quotes from string literal
|
|
206
|
+
const source = (key as Json.Literal).source;
|
|
207
|
+
if (source.startsWith('"') && source.endsWith('"')) {
|
|
208
|
+
return source.slice(1, -1);
|
|
209
|
+
}
|
|
210
|
+
return source;
|
|
211
|
+
} else if (key.kind === Json.Kind.Identifier) {
|
|
212
|
+
return (key as Json.Identifier).name;
|
|
213
|
+
}
|
|
214
|
+
return undefined;
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
/**
|
|
218
|
+
* Finds a dependency by name in the appropriate section of the resolution result.
|
|
219
|
+
*/
|
|
220
|
+
private findDependencyByName(name: string, section: string): Dependency | undefined {
|
|
221
|
+
if (!this.resolution) return undefined;
|
|
222
|
+
|
|
223
|
+
let deps: Dependency[] | undefined;
|
|
224
|
+
switch (section) {
|
|
225
|
+
case 'dependencies':
|
|
226
|
+
deps = this.resolution.dependencies;
|
|
227
|
+
break;
|
|
228
|
+
case 'devDependencies':
|
|
229
|
+
deps = this.resolution.devDependencies;
|
|
230
|
+
break;
|
|
231
|
+
case 'peerDependencies':
|
|
232
|
+
deps = this.resolution.peerDependencies;
|
|
233
|
+
break;
|
|
234
|
+
case 'optionalDependencies':
|
|
235
|
+
deps = this.resolution.optionalDependencies;
|
|
236
|
+
break;
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
return deps?.find(d => d.name === name);
|
|
240
|
+
}
|
|
241
|
+
};
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
/**
|
|
246
|
+
* Recursively checks if a resolved dependency has the target package as a transitive dependency.
|
|
247
|
+
*/
|
|
248
|
+
function hasTransitiveDependency(
|
|
249
|
+
resolved: ResolvedDependency,
|
|
250
|
+
matcher: picomatch.Matcher,
|
|
251
|
+
version: string | undefined,
|
|
252
|
+
visited: Set<string>
|
|
253
|
+
): boolean {
|
|
254
|
+
// Avoid cycles
|
|
255
|
+
const key = `${resolved.name}@${resolved.version}`;
|
|
256
|
+
if (visited.has(key)) {
|
|
257
|
+
return false;
|
|
258
|
+
}
|
|
259
|
+
visited.add(key);
|
|
260
|
+
|
|
261
|
+
// Check all dependency types
|
|
262
|
+
const allDeps = [
|
|
263
|
+
...(resolved.dependencies || []),
|
|
264
|
+
...(resolved.devDependencies || []),
|
|
265
|
+
...(resolved.peerDependencies || []),
|
|
266
|
+
...(resolved.optionalDependencies || [])
|
|
267
|
+
];
|
|
268
|
+
|
|
269
|
+
for (const dep of allDeps) {
|
|
270
|
+
// Check if this dependency matches the target
|
|
271
|
+
if (matcher(dep.name) && versionMatches(dep, version)) {
|
|
272
|
+
return true;
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
// Recursively check transitive dependencies
|
|
276
|
+
if (dep.resolved && hasTransitiveDependency(dep.resolved, matcher, version, visited)) {
|
|
277
|
+
return true;
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
return false;
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
function versionMatches(dep: Dependency, version: string | undefined): boolean {
|
|
285
|
+
if (!version) {
|
|
286
|
+
return true;
|
|
287
|
+
}
|
|
288
|
+
const resolved = dep.resolved;
|
|
289
|
+
if (!resolved) {
|
|
290
|
+
// If no resolved version available, we can't validate the version
|
|
291
|
+
return false;
|
|
292
|
+
}
|
|
293
|
+
return versionMatchesResolved(resolved, version);
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
function versionMatchesResolved(resolved: ResolvedDependency, version: string | undefined): boolean {
|
|
297
|
+
if (!version) {
|
|
298
|
+
return true;
|
|
299
|
+
}
|
|
300
|
+
const actualVersion = resolved.version;
|
|
301
|
+
// Use semver.satisfies to check if the actual version matches the constraint
|
|
302
|
+
return semver.satisfies(actualVersion, version);
|
|
303
|
+
}
|
package/src/json/print.ts
CHANGED
|
@@ -125,7 +125,7 @@ class JsonPrinter extends JsonVisitor<PrintOutputCapture> {
|
|
|
125
125
|
}
|
|
126
126
|
}
|
|
127
127
|
|
|
128
|
-
private jsonMarkerWrapper = (out: string): string => `/*~~${out}${out ? "~~" : ""}
|
|
128
|
+
private jsonMarkerWrapper = (out: string): string => `/*~~${out}${out ? "~~" : ""}>*/`;
|
|
129
129
|
}
|
|
130
130
|
|
|
131
131
|
TreePrinters.register(Json.Kind.Document, () => new JsonPrinter());
|