@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.
@@ -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,CActE"}
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":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@ export * from "./format";
14
14
  export * from "./add-import";
15
15
  export * from "./remove-import";
16
16
  export * from "./recipes/index";
17
+ export * from "./search/index";
17
18
  import "./print";
18
19
  import "./rpc";
19
20
  //# sourceMappingURL=index.d.ts.map
@@ -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;AAEhC,OAAO,SAAS,CAAC;AACjB,OAAO,OAAO,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"}
@@ -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;AAEhC,mBAAiB;AACjB,iBAAe"}
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;IAmC7B;;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"}
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;GAcG;AACH,sCAAwG;AAExG,kCAAyC;AACzC,qEAOkC;AAClC,uCAAyB;AACzB,iDAAmC;AACnC,2CAA6B;AAC7B,2CAA6B;AAC7B,uDAAsE;AAiCtE;;;;;;;;GAQG;AACH,MAAa,iBAAkB,SAAQ,eAAM;IAYzC,YAAY,UAAoC,EAAE;;QAC9C,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,UAAU,GAAG,IAAI,iBAAU,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,CAAC,wBAAwB,GAAG,MAAA,OAAO,CAAC,wBAAwB,mCAAI,KAAK,CAAC;IAC9E,CAAC;IAED;;;OAGG;IACK,MAAM,CAAC,sBAAsB,CAAC,OAAY,EAAE,eAAwB;QACxE,MAAM,KAAK,GAAwB;YAC/B,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,eAAe;SAC9C,CAAC;QAEF,KAAK,MAAM,KAAK,IAAI,iBAAiB,CAAC,iBAAiB,EAAE,CAAC;YACtD,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3D,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;YAClC,CAAC;QACL,CAAC;QAED,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YAClB,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QACpC,CAAC;QACD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YAClB,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QACpC,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,UAAkB;QACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC3C,OAAO,QAAQ,KAAK,cAAc,CAAC;IACvC,CAAC;IAEM,KAAK,CAAC,GAAG,MAAqB;;YACjC,kEAAkE;YAClE,MAAM,WAAW,GAAG,IAAI,GAAG,EAAyB,CAAC;YAErD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBACzB,MAAM,QAAQ,GAAG,IAAA,wBAAe,EAAC,KAAK,CAAC,CAAC;gBACxC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAEnC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBACxB,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBAC7B,CAAC;gBACD,WAAW,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtC,CAAC;YAED,8CAA8C;YAC9C,KAAK,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,WAAW,EAAE,CAAC;gBACzC,4CAA4C;gBAC5C,IAAI,MAAM,GAAgC,IAAI,CAAC;gBAE/C,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;oBAC5B,sBAAsB;oBACtB,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBACnD,MAAM,UAAU,GAAG,cAAM,aAAa,CAAC,IAAI,EAAE,CAAA,CAAC;oBAE9C,IAAI,UAAU,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;wBACvC,SAAS;oBACb,CAAC;oBAED,MAAM,OAAO,GAAG,UAAU,CAAC,KAAsB,CAAC;oBAElD,+EAA+E;oBAC/E,IAAI,CAAC,MAAM,EAAE,CAAC;wBACV,MAAM,GAAG,cAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA,CAAC;oBACjD,CAAC;oBAED,yCAAyC;oBACzC,IAAI,MAAM,EAAE,CAAC;wBACT,oDACO,OAAO,KACV,OAAO,kCACA,OAAO,CAAC,OAAO,KAClB,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,OAEpD,CAAC;oBACN,CAAC;yBAAM,CAAC;wBACJ,oBAAM,OAAO,CAAA,CAAC;oBAClB,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;KAAA;IAED;;OAEG;IACW,YAAY,CAAC,KAAkB,EAAE,GAAW;;YACtD,IAAI,CAAC;gBACD,MAAM,OAAO,GAAG,IAAA,wBAAe,EAAC,KAAK,CAAC,CAAC;gBACvC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAExC,6CAA6C;gBAC7C,MAAM,QAAQ,GAAG,IAAA,wBAAe,EAAC,KAAK,CAAC,CAAC;gBACxC,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU;oBAChC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC;oBAC1C,CAAC,CAAC,QAAQ,CAAC;gBAEf,gEAAgE;gBAChE,iGAAiG;gBACjG,IAAI,WAAW,GAAmC,SAAS,CAAC;gBAC5D,IAAI,cAAc,GAA+B,SAAS,CAAC;gBAC3D,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC;oBACjC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,IAAI,GAAG,CAAC;oBACvC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;oBACvD,WAAW,GAAG,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,CAAC;oBAClC,cAAc,GAAG,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,cAAc,CAAC;gBAChD,CAAC;gBAED,6CAA6C;gBAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,GAAG,CAAC;gBAC1C,MAAM,YAAY,GAAG,MAAM,IAAA,yCAAgB,EAAC,UAAU,CAAC,CAAC;gBAExD,OAAO,IAAA,yDAAgC,EACnC,YAAY,EACZ,WAAW,EACX,WAAW,EACX,SAAS,EACT,cAAc,EACd,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CACrD,CAAC;YACN,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CAAC,iDAAiD,KAAK,EAAE,CAAC,CAAC;gBACvE,OAAO,IAAI,CAAC;YAChB,CAAC;QACL,CAAC;KAAA;IAED;;;;;OAKG;IACW,eAAe,CAAC,GAAW;;;YACrC,6EAA6E;YAC7E,KAAK,MAAM,MAAM,IAAI,IAAA,4CAA0B,GAAE,EAAE,CAAC;gBAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACjD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC3B,SAAS;gBACb,CAAC;gBAED,IAAI,CAAC;oBACD,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;oBAC1D,MAAM,cAAc,GAAG,OAAO,MAAM,CAAC,cAAc,KAAK,UAAU;wBAC9D,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC;wBACpC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC;oBAE5B,0EAA0E;oBAC1E,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;wBAC3B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;wBAC/C,IAAI,MAAM,EAAE,CAAC;4BACT,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;wBAC/C,CAAC;oBACL,CAAC;oBAED,2CAA2C;oBAC3C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;oBACnF,IAAI,OAAO,EAAE,CAAC;wBACV,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;oBACvC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,MAAA,OAAO,CAAC,KAAK,wDAAG,mBAAmB,MAAM,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC,CAAC;gBACpE,CAAC;YACL,CAAC;YAED,wGAAwG;YACxG,2DAA2D;YAC3D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YAC/C,IAAI,MAAM,EAAE,CAAC;gBACT,0EAA0E;gBAC1E,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,uCAAc,CAAC,GAAG,EAAE,CAAC;YACnE,CAAC;YAED,OAAO,SAAS,CAAC;QACrB,CAAC;KAAA;IAED;;OAEG;IACW,oBAAoB,CAC9B,QAAgB,EAChB,OAAe,EACf,GAAW;;YAEX,QAAQ,QAAQ,EAAE,CAAC;gBACf,KAAK,mBAAmB;oBACpB,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC/B,KAAK,UAAU;oBACX,OAAO,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAmB,CAAC,CAAC;gBACtF,KAAK,gBAAgB;oBACjB,sDAAsD;oBACtD,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;gBACzC,KAAK,WAAW;oBACZ,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBACvC;oBACI,OAAO,SAAS,CAAC;YACzB,CAAC;QACL,CAAC;KAAA;IAED;;;;;;;OAOG;IACK,UAAU,CAAC,OAAe;QAC9B,uCAAuC;QACvC,IAAI,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAChD,yCAAyC;QACzC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;QACrD,uCAAuC;QACvC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAED;;;;;;;OAOG;IACW,eAAe,CAAC,GAAW;;YACrC,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;YACvD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;gBAClC,OAAO,SAAS,CAAC;YACrB,CAAC;YAED,MAAM,QAAQ,GAAwB;gBAClC,EAAE,EAAE,EAAE,CAAC,2BAA2B;aACrC,CAAC;YAEF,wDAAwD;YACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;YACrD,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACvD,CAAC;iBAAM,CAAC;gBACJ,MAAM,IAAI,CAAC,wBAAwB,CAAC,eAAe,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC;YACnF,CAAC;YAED,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBACtC,eAAe,EAAE,CAAC;gBAClB,QAAQ;aACX,CAAC,CAAC,CAAC,SAAS,CAAC;QAClB,CAAC;KAAA;IAED;;;OAGG;IACW,mBAAmB,CAAC,QAAgB,EAAE,QAA6B;;YAC7E,IAAI,OAAoB,CAAC;YACzB,IAAI,CAAC;gBACD,OAAO,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YACnE,CAAC;YAAC,WAAM,CAAC;gBACL,OAAO;YACX,CAAC;YAED,qDAAqD;YACrD,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAO,KAAK,EAAE,EAAE;gBAC1C,yCAAyC;gBACzC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;oBACxD,OAAO;gBACX,CAAC;gBAED,yCAAyC;gBACzC,8CAA8C;gBAC9C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBAC5C,IAAI,OAAO,IAAI,CAAC;oBAAE,OAAO;gBAEzB,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;gBAC5C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;gBAElD,qEAAqE;gBACrE,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC7C,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBAClC,CAAC;gBAED,uEAAuE;gBACvE,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC5F,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;gBAE1D,IAAI,OAAY,CAAC;gBACjB,IAAI,CAAC;oBACD,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;oBAC7D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAClC,CAAC;gBAAC,WAAM,CAAC;oBACL,OAAO;gBACX,CAAC;gBAED,qEAAqE;gBACrE,MAAM,MAAM,GAAG,gBAAgB,IAAI,IAAI,OAAO,EAAE,CAAC;gBACjD,QAAQ,CAAC,MAAM,CAAC,GAAG,iBAAiB,CAAC,sBAAsB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAClF,CAAC,CAAA,CAAC,CAAC,CAAC;QACR,CAAC;KAAA;IAED;;;;;;;OAOG;IACW,wBAAwB,CAClC,eAAuB,EACvB,YAAoB,EACpB,QAA6B;;YAE7B,IAAI,OAAoB,CAAC;YACzB,IAAI,CAAC;gBACD,OAAO,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1E,CAAC;YAAC,WAAM,CAAC;gBACL,OAAO,CAAC,yBAAyB;YACrC,CAAC;YAED,qDAAqD;YACrD,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAO,KAAK,EAAE,EAAE;gBAC1C,oBAAoB;gBACpB,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC7B,OAAO;gBACX,CAAC;gBAED,uDAAuD;gBACvD,MAAM,oBAAoB,GAAG,KAAK,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;gBAC3E,IAAI,CAAC,oBAAoB,EAAE,CAAC;oBACxB,OAAO;gBACX,CAAC;gBAED,uCAAuC;gBACvC,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;oBACzD,IAAI,YAAyB,CAAC;oBAC9B,IAAI,CAAC;wBACD,YAAY,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;oBACzE,CAAC;oBAAC,WAAM,CAAC;wBACL,OAAO;oBACX,CAAC;oBAED,MAAM,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAO,UAAU,EAAE,EAAE;wBACpD,0DAA0D;wBAC1D,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE;4BAAE,OAAO;wBAEtE,MAAM,UAAU,GAAG,GAAG,KAAK,CAAC,IAAI,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;wBACtD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;wBACtD,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,YAAY,IAAI,UAAU,EAAE,EAAE,QAAQ,CAAC,CAAC;oBAClF,CAAC,CAAA,CAAC,CAAC,CAAC;gBACR,CAAC;qBAAM,CAAC;oBACJ,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;oBACvD,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,YAAY,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAC;gBAClF,CAAC;YACL,CAAC,CAAA,CAAC,CAAC,CAAC;QACR,CAAC;KAAA;IAED;;;OAGG;IACW,cAAc,CACxB,OAAe,EACf,YAAoB,EACpB,QAA6B;;YAE7B,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;YAE3D,4CAA4C;YAC5C,IAAI,OAAY,CAAC;YACjB,IAAI,CAAC;gBACD,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;gBAC7D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAClC,CAAC;YAAC,WAAM,CAAC;gBACL,OAAO,CAAC,sBAAsB;YAClC,CAAC;YAED,QAAQ,CAAC,YAAY,CAAC,GAAG,iBAAiB,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;YAE3E,0CAA0C;YAC1C,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;YAC7D,IAAI,CAAC;gBACD,MAAM,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;gBACpC,MAAM,IAAI,CAAC,wBAAwB,CAAC,iBAAiB,EAAE,GAAG,YAAY,eAAe,EAAE,QAAQ,CAAC,CAAC;YACrG,CAAC;YAAC,WAAM,CAAC;gBACL,sCAAsC;YAC1C,CAAC;QACL,CAAC;KAAA;IAED;;;;;;;OAOG;IACK,yBAAyB,CAAC,OAAuB;QACrD,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YACpB,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,MAAM,QAAQ,GAAqC;YAC/C,EAAE,EAAE,EAAE,CAAC,2BAA2B;SACrC,CAAC;QAEF,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1D,kEAAkE;YAClE,MAAM,CAAC,aAAa,EAAE,AAAD,EAAG,QAAQ,CAAC,GAAG,KAAK,CAAC;YAE1C,IAAI,OAAO,aAAa,KAAK,QAAQ;gBAAE,SAAS;YAEhD,wCAAwC;YACxC,MAAM,OAAO,GAAG,aAAa,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAC/C,IAAI,OAAO,IAAI,CAAC;gBAAE,SAAS;YAE3B,MAAM,IAAI,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YACjD,MAAM,OAAO,GAAG,aAAa,CAAC,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;YAErD,MAAM,QAAQ,GAAqB;gBAC/B,OAAO;gBACP,YAAY,EAAE,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,YAAY,KAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC;oBACjF,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;gBACvC,eAAe,EAAE,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,eAAe,KAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,MAAM,GAAG,CAAC;oBAC1F,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS;gBAC1C,gBAAgB,EAAE,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,gBAAgB,KAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,MAAM,GAAG,CAAC;oBAC7F,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS;gBAC3C,oBAAoB,EAAE,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,oBAAoB,KAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,MAAM,GAAG,CAAC;oBACzG,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,SAAS;aAClD,CAAC;YAEF,yDAAyD;YACzD,6FAA6F;YAC7F,IAAI,OAAe,CAAC;YACpB,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACpB,6FAA6F;gBAC7F,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC7B,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC5D,CAAC;iBAAM,CAAC;gBACJ,OAAO,GAAG,gBAAgB,IAAI,EAAE,CAAC;YACrC,CAAC;YAED,QAAQ,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC;QACjC,CAAC;QAED,OAAO;YACH,eAAe,EAAE,CAAC;YAClB,QAAQ;SACX,CAAC;IACN,CAAC;IAED;;;OAGG;IACK,mBAAmB,CAAC,GAAW;QACnC,MAAM,MAAM,GAAG,IAAA,yBAAO,EAAC,uCAAc,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QACxD,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC;IACrD,CAAC;IAED;;OAEG;IACK,0BAA0B,CAAC,QAAa;QAC5C,MAAM,QAAQ,GAAwB;YAClC,EAAE,EAAE,EAAE,CAAC,2BAA2B;SACrC,CAAC;QAEF,6EAA6E;QAC7E,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAEjE,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;YAC7D,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;YAChE,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;QACzE,CAAC;QAED,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YACtC,eAAe,EAAE,CAAC;YAClB,QAAQ;SACX,CAAC,CAAC,CAAC,SAAS,CAAC;IAClB,CAAC;IAED;;;OAGG;IACK,uBAAuB,CAAC,IAAS,EAAE,QAA6B;QACpE,IAAI,CAAC,IAAI;YAAE,OAAO;QAElB,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAA2B,CAAC,EAAE,CAAC;YACrE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YAC7B,IAAI,CAAC,OAAO;gBAAE,SAAS;YAEvB,MAAM,MAAM,GAAG,gBAAgB,IAAI,IAAI,OAAO,EAAE,CAAC;YAEjD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBACpB,MAAM,QAAQ,GAAQ,EAAE,OAAO,EAAE,CAAC;gBAElC,gDAAgD;gBAChD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;oBACpB,MAAM,UAAU,GAA2B,EAAE,CAAC;oBAC9C,KAAK,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,YAAmC,CAAC,EAAE,CAAC;wBACxF,UAAU,CAAC,OAAO,CAAC,GAAI,OAAe,CAAC,OAAO,IAAI,GAAG,CAAC;oBAC1D,CAAC;oBACD,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACrC,QAAQ,CAAC,YAAY,GAAG,UAAU,CAAC;oBACvC,CAAC;gBACL,CAAC;gBAED,QAAQ,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC;YAChC,CAAC;YAED,0CAA0C;YAC1C,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;YAC9D,CAAC;QACL,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,aAAa,CAAC,OAAe;QACjC,uDAAuD;QACvD,IAAI,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC5C,CAAC;QAED,qDAAqD;QACrD,IAAI,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;YACzC,OAAO,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAED;;;;;;;;OAQG;IACK,kBAAkB,CAAC,OAAe;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI;YAAE,OAAO,SAAS,CAAC;QAE5B,MAAM,QAAQ,GAAwB;YAClC,EAAE,EAAE,EAAE,CAAC,2BAA2B;SACrC,CAAC;QAEF,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAA2B,CAAC,EAAE,CAAC;YACrE,sCAAsC;YACtC,IAAI,GAAG,KAAK,YAAY,IAAI,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC;gBAAE,SAAS;YAClE,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,SAAS;YAElD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;YAC9B,IAAI,CAAC,OAAO;gBAAE,SAAS;YAEvB,+DAA+D;YAC/D,IAAI,IAAY,CAAC;YACjB,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;gBACnB,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACnD,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;oBACf,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;gBACnD,CAAC;qBAAM,CAAC;oBACJ,SAAS;gBACb,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,oDAAoD;gBACpD,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACtC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;oBACf,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;gBACtC,CAAC;qBAAM,CAAC;oBACJ,SAAS;gBACb,CAAC;YACL,CAAC;YAED,MAAM,MAAM,GAAG,gBAAgB,IAAI,IAAI,OAAO,EAAE,CAAC;YAEjD,uFAAuF;YACvF,IAAI,QAAQ,CAAC,MAAM,CAAC;gBAAE,SAAS;YAE/B,MAAM,QAAQ,GAAQ,EAAE,OAAO,EAAE,CAAC;YAElC,qBAAqB;YACrB,IAAI,KAAK,CAAC,YAAY,IAAI,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;gBAC/D,MAAM,IAAI,GAA2B,EAAE,CAAC;gBACxC,KAAK,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,YAAsC,CAAC,EAAE,CAAC;oBAClG,4DAA4D;oBAC5D,IAAI,CAAC,OAAO,CAAC,GAAG,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC;wBAC5C,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;wBAC5B,CAAC,CAAC,aAAa,CAAC;gBACxB,CAAC;gBACD,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC/B,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC;gBACjC,CAAC;YACL,CAAC;YAED,QAAQ,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC;QAChC,CAAC;QAED,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YACtC,eAAe,EAAE,CAAC;YAClB,QAAQ;SACX,CAAC,CAAC,CAAC,SAAS,CAAC;IAClB,CAAC;IAED;;;;;;;;;;OAUG;IACK,oBAAoB,CAAC,OAAe;QACxC,MAAM,QAAQ,GAAwB;YAClC,EAAE,EAAE,EAAE,CAAC,2BAA2B;SACrC,CAAC;QAEF,wFAAwF;QACxF,8EAA8E;QAC9E,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,YAAY,GAAa,EAAE,CAAC;QAChC,IAAI,cAAc,GAAkB,IAAI,CAAC;QACzC,IAAI,WAAW,GAA2B,EAAE,CAAC;QAC7C,IAAI,cAAc,GAAG,KAAK,CAAC;QAE3B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,gCAAgC;YAChC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gBAC7C,SAAS;YACb,CAAC;YAED,sDAAsD;YACtD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9C,kCAAkC;gBAClC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,cAAc,EAAE,CAAC;oBAC5C,MAAM,MAAM,GAAG,gBAAgB,YAAY,CAAC,CAAC,CAAC,IAAI,cAAc,EAAE,CAAC;oBACnE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;wBACpB,MAAM,QAAQ,GAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;wBAClD,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACtC,QAAQ,CAAC,YAAY,GAAG,WAAW,CAAC;wBACxC,CAAC;wBACD,QAAQ,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC;oBAChC,CAAC;gBACL,CAAC;gBAED,yEAAyE;gBACzE,6BAA6B;gBAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,sBAAsB;gBAC1D,YAAY,GAAG,EAAE,CAAC;gBAElB,0CAA0C;gBAC1C,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;gBAChE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACvB,uCAAuC;oBACvC,IAAI,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;oBAC1B,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;wBACnD,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;oBACnC,CAAC;oBACD,kDAAkD;oBAClD,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;oBACzC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;wBACd,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;oBACrD,CAAC;gBACL,CAAC;gBAED,cAAc,GAAG,IAAI,CAAC;gBACtB,WAAW,GAAG,EAAE,CAAC;gBACjB,cAAc,GAAG,KAAK,CAAC;gBACvB,SAAS;YACb,CAAC;YAED,oCAAoC;YACpC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC3D,IAAI,YAAY,EAAE,CAAC;gBACf,cAAc,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;gBACjC,SAAS;YACb,CAAC;YAED,6BAA6B;YAC7B,IAAI,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,EAAE,CAAC;gBACtC,cAAc,GAAG,IAAI,CAAC;gBACtB,SAAS;YACb,CAAC;YAED,wEAAwE;YACxE,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAClD,cAAc,GAAG,KAAK,CAAC;gBACvB,SAAS;YACb,CAAC;YAED,6CAA6C;YAC7C,IAAI,cAAc,EAAE,CAAC;gBACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;gBACvD,IAAI,QAAQ,EAAE,CAAC;oBACX,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC3C,CAAC;YACL,CAAC;QACL,CAAC;QAED,oBAAoB;QACpB,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,cAAc,EAAE,CAAC;YAC5C,MAAM,MAAM,GAAG,gBAAgB,YAAY,CAAC,CAAC,CAAC,IAAI,cAAc,EAAE,CAAC;YACnE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBACpB,MAAM,QAAQ,GAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;gBAClD,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtC,QAAQ,CAAC,YAAY,GAAG,WAAW,CAAC;gBACxC,CAAC;gBACD,QAAQ,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC;YAChC,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YACtC,eAAe,EAAE,CAAC;YAClB,QAAQ;SACX,CAAC,CAAC,CAAC,SAAS,CAAC;IAClB,CAAC;;AA7uBL,8CA8uBC;AA1uBG,oEAAoE;AAC5C,mCAAiB,GAAG;IACxC,cAAc;IACd,iBAAiB;IACjB,kBAAkB;IAClB,sBAAsB;CAChB,CAAC;AAsuBf,qDAAqD;AACrD,gBAAO,CAAC,cAAc,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC"}
@@ -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,3 +1,4 @@
1
+ export * from './find-dependency';
1
2
  export * from './uses-method';
2
3
  export * from './uses-type';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -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"}
@@ -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* () {
@@ -1 +1 @@
1
- {"version":3,"file":"print.js","sourceRoot":"","sources":["../../src/json/print.ts"],"names":[],"mappings":"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"}
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-095639
1
+ 8.68.0-20251204-151952
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openrewrite/rewrite",
3
- "version": "8.68.0-20251204-095639",
3
+ "version": "8.68.0-20251204-151952",
4
4
  "license": "Moderne Source Available License",
5
5
  "description": "OpenRewrite JavaScript.",
6
6
  "homepage": "https://github.com/openrewrite/rewrite",
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);
@@ -30,6 +30,7 @@ export * from "./format";
30
30
  export * from "./add-import";
31
31
  export * from "./remove-import";
32
32
  export * from "./recipes/index";
33
+ export * from "./search/index";
33
34
 
34
35
  import "./print";
35
36
  import "./rpc";
@@ -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
+ }
@@ -1,2 +1,3 @@
1
+ export * from './find-dependency';
1
2
  export * from './uses-method';
2
3
  export * from './uses-type';
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());