@openrewrite/rewrite 8.83.4 → 8.83.5

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.
Files changed (52) hide show
  1. package/dist/index.d.ts.map +1 -1
  2. package/dist/index.js +1 -5
  3. package/dist/index.js.map +1 -1
  4. package/dist/java/rpc.d.ts.map +1 -1
  5. package/dist/java/rpc.js +2 -0
  6. package/dist/java/rpc.js.map +1 -1
  7. package/dist/java/tree.d.ts +1 -0
  8. package/dist/java/tree.d.ts.map +1 -1
  9. package/dist/java/tree.js.map +1 -1
  10. package/dist/java/visitor.d.ts.map +1 -1
  11. package/dist/java/visitor.js +1 -0
  12. package/dist/java/visitor.js.map +1 -1
  13. package/dist/javascript/parser.d.ts.map +1 -1
  14. package/dist/javascript/parser.js +8 -0
  15. package/dist/javascript/parser.js.map +1 -1
  16. package/dist/javascript/recipes/dependencies.d.ts +63 -0
  17. package/dist/javascript/recipes/dependencies.d.ts.map +1 -0
  18. package/dist/javascript/recipes/dependencies.js +49 -0
  19. package/dist/javascript/recipes/dependencies.js.map +1 -0
  20. package/dist/javascript/recipes/index.d.ts +1 -4
  21. package/dist/javascript/recipes/index.d.ts.map +1 -1
  22. package/dist/javascript/recipes/index.js +1 -4
  23. package/dist/javascript/recipes/index.js.map +1 -1
  24. package/dist/rewrite-javascript-version.txt +1 -1
  25. package/package.json +1 -1
  26. package/src/index.ts +0 -8
  27. package/src/java/rpc.ts +2 -0
  28. package/src/java/tree.ts +1 -0
  29. package/src/java/visitor.ts +1 -0
  30. package/src/javascript/parser.ts +8 -0
  31. package/src/javascript/recipes/dependencies.ts +108 -0
  32. package/src/javascript/recipes/index.ts +1 -4
  33. package/dist/javascript/recipes/add-dependency.d.ts +0 -61
  34. package/dist/javascript/recipes/add-dependency.d.ts.map +0 -1
  35. package/dist/javascript/recipes/add-dependency.js +0 -430
  36. package/dist/javascript/recipes/add-dependency.js.map +0 -1
  37. package/dist/javascript/recipes/remove-dependency.d.ts +0 -29
  38. package/dist/javascript/recipes/remove-dependency.d.ts.map +0 -1
  39. package/dist/javascript/recipes/remove-dependency.js +0 -261
  40. package/dist/javascript/recipes/remove-dependency.js.map +0 -1
  41. package/dist/javascript/recipes/upgrade-dependency-version.d.ts +0 -74
  42. package/dist/javascript/recipes/upgrade-dependency-version.d.ts.map +0 -1
  43. package/dist/javascript/recipes/upgrade-dependency-version.js +0 -387
  44. package/dist/javascript/recipes/upgrade-dependency-version.js.map +0 -1
  45. package/dist/javascript/recipes/upgrade-transitive-dependency-version.d.ts +0 -68
  46. package/dist/javascript/recipes/upgrade-transitive-dependency-version.d.ts.map +0 -1
  47. package/dist/javascript/recipes/upgrade-transitive-dependency-version.js +0 -307
  48. package/dist/javascript/recipes/upgrade-transitive-dependency-version.js.map +0 -1
  49. package/src/javascript/recipes/add-dependency.ts +0 -549
  50. package/src/javascript/recipes/remove-dependency.ts +0 -345
  51. package/src/javascript/recipes/upgrade-dependency-version.ts +0 -486
  52. package/src/javascript/recipes/upgrade-transitive-dependency-version.ts +0 -403
@@ -0,0 +1,63 @@
1
+ import { Recipe } from "../../recipe";
2
+ /**
3
+ * Scope of an npm dependency entry. Maps to the keys in `package.json` that
4
+ * the dependency-management recipes accept; `null` / undefined means the
5
+ * recipe's default (typically `"dependencies"`).
6
+ */
7
+ export type NpmDependencyScope = "dependencies" | "devDependencies" | "peerDependencies" | "optionalDependencies";
8
+ export interface AddDependencyOptions {
9
+ packageName: string;
10
+ version: string;
11
+ scope?: NpmDependencyScope;
12
+ }
13
+ /**
14
+ * Add an npm dependency to `package.json`, regenerate the lock file, and
15
+ * refresh the `NodeResolutionResult` marker. Delegates to the Java recipe
16
+ * `org.openrewrite.javascript.AddDependency` via RPC.
17
+ */
18
+ export declare function addDependency(options: AddDependencyOptions): Promise<Recipe>;
19
+ export interface RemoveDependencyOptions {
20
+ packageName: string;
21
+ scope?: NpmDependencyScope;
22
+ }
23
+ /**
24
+ * Remove an npm dependency from `package.json`, regenerate the lock file, and
25
+ * refresh the `NodeResolutionResult` marker. Delegates to the Java recipe
26
+ * `org.openrewrite.javascript.RemoveDependency` via RPC.
27
+ */
28
+ export declare function removeDependency(options: RemoveDependencyOptions): Promise<Recipe>;
29
+ export interface UpgradeDependencyVersionOptions {
30
+ packageName?: string;
31
+ packagePattern?: string;
32
+ newVersion: string;
33
+ }
34
+ /**
35
+ * Upgrade an npm dependency to a new version (exactly one of `packageName` or
36
+ * `packagePattern` must be provided). Delegates to the Java recipe
37
+ * `org.openrewrite.javascript.UpgradeDependencyVersion` via RPC.
38
+ */
39
+ export declare function upgradeDependencyVersion(options: UpgradeDependencyVersionOptions): Promise<Recipe>;
40
+ export interface ChangeDependencyOptions {
41
+ oldPackageName: string;
42
+ newPackageName: string;
43
+ newVersion?: string;
44
+ scope?: NpmDependencyScope;
45
+ }
46
+ /**
47
+ * Rename a dependency (and optionally pin a new version) in `package.json`.
48
+ * Delegates to the Java recipe `org.openrewrite.javascript.ChangeDependency`
49
+ * via RPC.
50
+ */
51
+ export declare function changeDependency(options: ChangeDependencyOptions): Promise<Recipe>;
52
+ export interface UpgradeTransitiveDependencyVersionOptions {
53
+ packageName: string;
54
+ newVersion: string;
55
+ dependencyPath?: string;
56
+ }
57
+ /**
58
+ * Upgrade a transitive npm dependency via an `overrides`/`resolutions` block.
59
+ * Delegates to the Java recipe
60
+ * `org.openrewrite.javascript.UpgradeTransitiveDependencyVersion` via RPC.
61
+ */
62
+ export declare function upgradeTransitiveDependencyVersion(options: UpgradeTransitiveDependencyVersionOptions): Promise<Recipe>;
63
+ //# sourceMappingURL=dependencies.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependencies.d.ts","sourceRoot":"","sources":["../../../src/javascript/recipes/dependencies.ts"],"names":[],"mappings":"AAeA,OAAO,EAAC,MAAM,EAAC,MAAM,cAAc,CAAC;AAGpC;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GACxB,cAAc,GACd,iBAAiB,GACjB,kBAAkB,GAClB,sBAAsB,CAAC;AAE7B,MAAM,WAAW,oBAAoB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,kBAAkB,CAAC;CAC9B;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,CAE5E;AAED,MAAM,WAAW,uBAAuB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,kBAAkB,CAAC;CAC9B;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC,CAElF;AAED,MAAM,WAAW,+BAA+B;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;CACtB;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,+BAA+B,GAAG,OAAO,CAAC,MAAM,CAAC,CAElG;AAED,MAAM,WAAW,uBAAuB;IACpC,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,kBAAkB,CAAC;CAC9B;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC,CAElF;AAED,MAAM,WAAW,yCAAyC;IACtD,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;GAIG;AACH,wBAAgB,kCAAkC,CAC9C,OAAO,EAAE,yCAAyC,GACnD,OAAO,CAAC,MAAM,CAAC,CAKjB"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.addDependency = addDependency;
4
+ exports.removeDependency = removeDependency;
5
+ exports.upgradeDependencyVersion = upgradeDependencyVersion;
6
+ exports.changeDependency = changeDependency;
7
+ exports.upgradeTransitiveDependencyVersion = upgradeTransitiveDependencyVersion;
8
+ const java_recipe_1 = require("../../rpc/java-recipe");
9
+ /**
10
+ * Add an npm dependency to `package.json`, regenerate the lock file, and
11
+ * refresh the `NodeResolutionResult` marker. Delegates to the Java recipe
12
+ * `org.openrewrite.javascript.AddDependency` via RPC.
13
+ */
14
+ function addDependency(options) {
15
+ return (0, java_recipe_1.prepareJavaRecipe)("org.openrewrite.javascript.AddDependency", options);
16
+ }
17
+ /**
18
+ * Remove an npm dependency from `package.json`, regenerate the lock file, and
19
+ * refresh the `NodeResolutionResult` marker. Delegates to the Java recipe
20
+ * `org.openrewrite.javascript.RemoveDependency` via RPC.
21
+ */
22
+ function removeDependency(options) {
23
+ return (0, java_recipe_1.prepareJavaRecipe)("org.openrewrite.javascript.RemoveDependency", options);
24
+ }
25
+ /**
26
+ * Upgrade an npm dependency to a new version (exactly one of `packageName` or
27
+ * `packagePattern` must be provided). Delegates to the Java recipe
28
+ * `org.openrewrite.javascript.UpgradeDependencyVersion` via RPC.
29
+ */
30
+ function upgradeDependencyVersion(options) {
31
+ return (0, java_recipe_1.prepareJavaRecipe)("org.openrewrite.javascript.UpgradeDependencyVersion", options);
32
+ }
33
+ /**
34
+ * Rename a dependency (and optionally pin a new version) in `package.json`.
35
+ * Delegates to the Java recipe `org.openrewrite.javascript.ChangeDependency`
36
+ * via RPC.
37
+ */
38
+ function changeDependency(options) {
39
+ return (0, java_recipe_1.prepareJavaRecipe)("org.openrewrite.javascript.ChangeDependency", options);
40
+ }
41
+ /**
42
+ * Upgrade a transitive npm dependency via an `overrides`/`resolutions` block.
43
+ * Delegates to the Java recipe
44
+ * `org.openrewrite.javascript.UpgradeTransitiveDependencyVersion` via RPC.
45
+ */
46
+ function upgradeTransitiveDependencyVersion(options) {
47
+ return (0, java_recipe_1.prepareJavaRecipe)("org.openrewrite.javascript.UpgradeTransitiveDependencyVersion", options);
48
+ }
49
+ //# sourceMappingURL=dependencies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../../../src/javascript/recipes/dependencies.ts"],"names":[],"mappings":";;AAwCA,sCAEC;AAYD,4CAEC;AAaD,4DAEC;AAcD,4CAEC;AAaD,gFAOC;AA3FD,uDAAwD;AAmBxD;;;;GAIG;AACH,SAAgB,aAAa,CAAC,OAA6B;IACvD,OAAO,IAAA,+BAAiB,EAAC,0CAA0C,EAAE,OAAO,CAAC,CAAC;AAClF,CAAC;AAOD;;;;GAIG;AACH,SAAgB,gBAAgB,CAAC,OAAgC;IAC7D,OAAO,IAAA,+BAAiB,EAAC,6CAA6C,EAAE,OAAO,CAAC,CAAC;AACrF,CAAC;AAQD;;;;GAIG;AACH,SAAgB,wBAAwB,CAAC,OAAwC;IAC7E,OAAO,IAAA,+BAAiB,EAAC,qDAAqD,EAAE,OAAO,CAAC,CAAC;AAC7F,CAAC;AASD;;;;GAIG;AACH,SAAgB,gBAAgB,CAAC,OAAgC;IAC7D,OAAO,IAAA,+BAAiB,EAAC,6CAA6C,EAAE,OAAO,CAAC,CAAC;AACrF,CAAC;AAQD;;;;GAIG;AACH,SAAgB,kCAAkC,CAC9C,OAAkD;IAElD,OAAO,IAAA,+BAAiB,EACpB,+DAA+D,EAC/D,OAAO,CACV,CAAC;AACN,CAAC"}
@@ -1,9 +1,6 @@
1
- export * from "./add-dependency";
2
1
  export * from "./async-callback-in-sync-array-method";
3
2
  export * from "./auto-format";
4
- export * from "./remove-dependency";
5
- export * from "./upgrade-dependency-version";
6
- export * from "./upgrade-transitive-dependency-version";
7
3
  export * from "./order-imports";
8
4
  export * from "./change-import";
5
+ export * from "./dependencies";
9
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/javascript/recipes/index.ts"],"names":[],"mappings":"AAgBA,cAAc,kBAAkB,CAAC;AACjC,cAAc,uCAAuC,CAAC;AACtD,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yCAAyC,CAAC;AACxD,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/javascript/recipes/index.ts"],"names":[],"mappings":"AAgBA,cAAc,uCAAuC,CAAC;AACtD,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC"}
@@ -29,12 +29,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
29
29
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
30
30
  };
31
31
  Object.defineProperty(exports, "__esModule", { value: true });
32
- __exportStar(require("./add-dependency"), exports);
33
32
  __exportStar(require("./async-callback-in-sync-array-method"), exports);
34
33
  __exportStar(require("./auto-format"), exports);
35
- __exportStar(require("./remove-dependency"), exports);
36
- __exportStar(require("./upgrade-dependency-version"), exports);
37
- __exportStar(require("./upgrade-transitive-dependency-version"), exports);
38
34
  __exportStar(require("./order-imports"), exports);
39
35
  __exportStar(require("./change-import"), exports);
36
+ __exportStar(require("./dependencies"), exports);
40
37
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/javascript/recipes/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;;;;AAEH,mDAAiC;AACjC,wEAAsD;AACtD,gDAA8B;AAC9B,sDAAoC;AACpC,+DAA6C;AAC7C,0EAAwD;AACxD,kDAAgC;AAChC,kDAAgC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/javascript/recipes/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;;;;AAEH,wEAAsD;AACtD,gDAA8B;AAC9B,kDAAgC;AAChC,kDAAgC;AAChC,iDAA+B"}
@@ -1 +1 @@
1
- 8.83.4
1
+ 8.83.5
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openrewrite/rewrite",
3
- "version": "8.83.4",
3
+ "version": "8.83.5",
4
4
  "license": "Moderne Source Available License",
5
5
  "description": "OpenRewrite JavaScript.",
6
6
  "repository": {
package/src/index.ts CHANGED
@@ -37,21 +37,13 @@ export * from "./marketplace";
37
37
  // Install all recipes in this package
38
38
  export async function activate(marketplace: RecipeMarketplace): Promise<void> {
39
39
  const {
40
- AddDependency,
41
40
  AsyncCallbackInSyncArrayMethod,
42
41
  AutoFormat,
43
- RemoveDependency,
44
- UpgradeDependencyVersion,
45
- UpgradeTransitiveDependencyVersion,
46
42
  OrderImports,
47
43
  ChangeImport
48
44
  } = await import("./javascript/recipes/index.js");
49
- await marketplace.install(AddDependency, JavaScript);
50
45
  await marketplace.install(AsyncCallbackInSyncArrayMethod, JavaScript);
51
46
  await marketplace.install(AutoFormat, JavaScript);
52
- await marketplace.install(RemoveDependency, JavaScript);
53
- await marketplace.install(UpgradeDependencyVersion, JavaScript);
54
- await marketplace.install(UpgradeTransitiveDependencyVersion, JavaScript);
55
47
  await marketplace.install(OrderImports, JavaScript);
56
48
  await marketplace.install(ChangeImport, JavaScript);
57
49
 
package/src/java/rpc.ts CHANGED
@@ -739,6 +739,7 @@ export class JavaSender extends JavaVisitor<RpcSendQueue> {
739
739
  await q.getAndSendList(method, m => m.nameAnnotations, a => a.id, name => this.visit(name, q));
740
740
  await q.getAndSend(method, m => m.name, name => this.visit(name, q));
741
741
  await q.getAndSend(method, m => m.parameters, params => this.visitContainer(params, q));
742
+ await q.getAndSendList(method, m => m.dimensionsAfterName, d => JSON.stringify(d.element), dims => this.visitLeftPadded(dims, q));
742
743
  await q.getAndSend(method, m => m.throws, throws => this.visitContainer(throws, q));
743
744
  await q.getAndSend(method, m => m.body, body => this.visit(body, q));
744
745
  await q.getAndSend(method, m => m.defaultValue, def => this.visitLeftPadded(def, q));
@@ -1469,6 +1470,7 @@ export class JavaReceiver extends JavaVisitor<RpcReceiveQueue> {
1469
1470
  nameAnnotations: (await q.receiveList(method.nameAnnotations, name => this.visit(name, q)))!,
1470
1471
  name: await q.receive(method.name, name => this.visit(name, q)),
1471
1472
  parameters: await q.receive(method.parameters, params => this.visitContainer(params, q)),
1473
+ dimensionsAfterName: await q.receiveListDefined(method.dimensionsAfterName, dim => this.visitLeftPadded(dim, q)),
1472
1474
  throws: await q.receive(method.throws, throws => this.visitContainer(throws, q)),
1473
1475
  body: await q.receive(method.body, body => this.visit(body, q)),
1474
1476
  defaultValue: await q.receive(method.defaultValue, def => this.visitLeftPadded(def, q)),
package/src/java/tree.ts CHANGED
@@ -493,6 +493,7 @@ export namespace J {
493
493
  readonly nameAnnotations: Annotation[];
494
494
  readonly name: Identifier;
495
495
  readonly parameters: Container<Statement>;
496
+ readonly dimensionsAfterName: LeftPadded<Space>[];
496
497
  readonly throws?: Container<NameTree>;
497
498
  readonly body?: Block;
498
499
  readonly defaultValue?: LeftPadded<Expression>;
@@ -712,6 +712,7 @@ export class JavaVisitor<P> extends TreeVisitor<J, P> {
712
712
  nameAnnotations: await mapAsync(method.nameAnnotations, a => this.visitDefined<J.Annotation>(a, p)),
713
713
  name: await this.visitDefined(method.name, p),
714
714
  parameters: await this.visitContainer(method.parameters, p),
715
+ dimensionsAfterName: await mapAsync(method.dimensionsAfterName, dim => this.visitLeftPadded(dim, p)),
715
716
  throws: method.throws && await this.visitContainer(method.throws, p),
716
717
  body: method.body && await this.visitDefined(method.body, p) as J.Block,
717
718
  defaultValue: await this.visitOptionalLeftPadded(method.defaultValue, p),
@@ -1208,6 +1208,7 @@ export class JavaScriptParserVisitor {
1208
1208
  nameAnnotations: [],
1209
1209
  name: name,
1210
1210
  parameters: this.mapCommaSeparatedList(this.getParameterListNodes(node)),
1211
+ dimensionsAfterName: [],
1211
1212
  methodType: methodType
1212
1213
  };
1213
1214
  }
@@ -1259,6 +1260,7 @@ export class JavaScriptParserVisitor {
1259
1260
  nameAnnotations: [],
1260
1261
  name: name as J.Identifier,
1261
1262
  parameters: this.mapCommaSeparatedList(this.getParameterListNodes(node)),
1263
+ dimensionsAfterName: [],
1262
1264
  body: node.body && this.convert<J.Block>(node.body),
1263
1265
  methodType: methodType
1264
1266
  };
@@ -1331,6 +1333,7 @@ export class JavaScriptParserVisitor {
1331
1333
  nameAnnotations: [],
1332
1334
  name: {...this.mapIdentifier(constructorKeyword, constructorKeyword.getText(), false), type: methodType},
1333
1335
  parameters: this.mapCommaSeparatedList(this.getParameterListNodes(node)),
1336
+ dimensionsAfterName: [],
1334
1337
  body: node.body && this.convert<J.Block>(node.body),
1335
1338
  methodType: methodType
1336
1339
  };
@@ -1366,6 +1369,7 @@ export class JavaScriptParserVisitor {
1366
1369
  nameAnnotations: [],
1367
1370
  name: name as J.Identifier,
1368
1371
  parameters: this.mapCommaSeparatedList(this.getParameterListNodes(node)),
1372
+ dimensionsAfterName: [],
1369
1373
  body: node.body && this.convert<J.Block>(node.body),
1370
1374
  methodType: methodType
1371
1375
  };
@@ -1399,6 +1403,7 @@ export class JavaScriptParserVisitor {
1399
1403
  nameAnnotations: [],
1400
1404
  name: name as J.Identifier,
1401
1405
  parameters: this.mapCommaSeparatedList(this.getParameterListNodes(node)),
1406
+ dimensionsAfterName: [],
1402
1407
  body: node.body && this.convert<J.Block>(node.body),
1403
1408
  methodType: methodType
1404
1409
  };
@@ -1426,6 +1431,7 @@ export class JavaScriptParserVisitor {
1426
1431
  type: methodType
1427
1432
  },
1428
1433
  parameters: this.mapCommaSeparatedList(this.getParameterListNodes(node)),
1434
+ dimensionsAfterName: [],
1429
1435
  methodType: methodType
1430
1436
  };
1431
1437
  }
@@ -1452,6 +1458,7 @@ export class JavaScriptParserVisitor {
1452
1458
  type: methodType
1453
1459
  },
1454
1460
  parameters: this.mapCommaSeparatedList(this.getParameterListNodes(node)),
1461
+ dimensionsAfterName: [],
1455
1462
  methodType: methodType
1456
1463
  };
1457
1464
  }
@@ -3366,6 +3373,7 @@ export class JavaScriptParserVisitor {
3366
3373
  typeParameters: this.mapTypeParametersAsObject(node),
3367
3374
  parameters: this.mapCommaSeparatedList(this.getParameterListNodes(node)),
3368
3375
  returnTypeExpression: this.mapTypeInfo(node),
3376
+ dimensionsAfterName: [],
3369
3377
  body: node.body && this.convert<J.Block>(node.body),
3370
3378
  methodType: methodType
3371
3379
  };
@@ -0,0 +1,108 @@
1
+ /*
2
+ * Copyright 2026 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/moderne-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
+ import {Recipe} from "../../recipe";
17
+ import {prepareJavaRecipe} from "../../rpc/java-recipe";
18
+
19
+ /**
20
+ * Scope of an npm dependency entry. Maps to the keys in `package.json` that
21
+ * the dependency-management recipes accept; `null` / undefined means the
22
+ * recipe's default (typically `"dependencies"`).
23
+ */
24
+ export type NpmDependencyScope =
25
+ | "dependencies"
26
+ | "devDependencies"
27
+ | "peerDependencies"
28
+ | "optionalDependencies";
29
+
30
+ export interface AddDependencyOptions {
31
+ packageName: string;
32
+ version: string;
33
+ scope?: NpmDependencyScope;
34
+ }
35
+
36
+ /**
37
+ * Add an npm dependency to `package.json`, regenerate the lock file, and
38
+ * refresh the `NodeResolutionResult` marker. Delegates to the Java recipe
39
+ * `org.openrewrite.javascript.AddDependency` via RPC.
40
+ */
41
+ export function addDependency(options: AddDependencyOptions): Promise<Recipe> {
42
+ return prepareJavaRecipe("org.openrewrite.javascript.AddDependency", options);
43
+ }
44
+
45
+ export interface RemoveDependencyOptions {
46
+ packageName: string;
47
+ scope?: NpmDependencyScope;
48
+ }
49
+
50
+ /**
51
+ * Remove an npm dependency from `package.json`, regenerate the lock file, and
52
+ * refresh the `NodeResolutionResult` marker. Delegates to the Java recipe
53
+ * `org.openrewrite.javascript.RemoveDependency` via RPC.
54
+ */
55
+ export function removeDependency(options: RemoveDependencyOptions): Promise<Recipe> {
56
+ return prepareJavaRecipe("org.openrewrite.javascript.RemoveDependency", options);
57
+ }
58
+
59
+ export interface UpgradeDependencyVersionOptions {
60
+ packageName?: string;
61
+ packagePattern?: string;
62
+ newVersion: string;
63
+ }
64
+
65
+ /**
66
+ * Upgrade an npm dependency to a new version (exactly one of `packageName` or
67
+ * `packagePattern` must be provided). Delegates to the Java recipe
68
+ * `org.openrewrite.javascript.UpgradeDependencyVersion` via RPC.
69
+ */
70
+ export function upgradeDependencyVersion(options: UpgradeDependencyVersionOptions): Promise<Recipe> {
71
+ return prepareJavaRecipe("org.openrewrite.javascript.UpgradeDependencyVersion", options);
72
+ }
73
+
74
+ export interface ChangeDependencyOptions {
75
+ oldPackageName: string;
76
+ newPackageName: string;
77
+ newVersion?: string;
78
+ scope?: NpmDependencyScope;
79
+ }
80
+
81
+ /**
82
+ * Rename a dependency (and optionally pin a new version) in `package.json`.
83
+ * Delegates to the Java recipe `org.openrewrite.javascript.ChangeDependency`
84
+ * via RPC.
85
+ */
86
+ export function changeDependency(options: ChangeDependencyOptions): Promise<Recipe> {
87
+ return prepareJavaRecipe("org.openrewrite.javascript.ChangeDependency", options);
88
+ }
89
+
90
+ export interface UpgradeTransitiveDependencyVersionOptions {
91
+ packageName: string;
92
+ newVersion: string;
93
+ dependencyPath?: string;
94
+ }
95
+
96
+ /**
97
+ * Upgrade a transitive npm dependency via an `overrides`/`resolutions` block.
98
+ * Delegates to the Java recipe
99
+ * `org.openrewrite.javascript.UpgradeTransitiveDependencyVersion` via RPC.
100
+ */
101
+ export function upgradeTransitiveDependencyVersion(
102
+ options: UpgradeTransitiveDependencyVersionOptions,
103
+ ): Promise<Recipe> {
104
+ return prepareJavaRecipe(
105
+ "org.openrewrite.javascript.UpgradeTransitiveDependencyVersion",
106
+ options,
107
+ );
108
+ }
@@ -14,11 +14,8 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- export * from "./add-dependency";
18
17
  export * from "./async-callback-in-sync-array-method";
19
18
  export * from "./auto-format";
20
- export * from "./remove-dependency";
21
- export * from "./upgrade-dependency-version";
22
- export * from "./upgrade-transitive-dependency-version";
23
19
  export * from "./order-imports";
24
20
  export * from "./change-import";
21
+ export * from "./dependencies";
@@ -1,61 +0,0 @@
1
- import { ScanningRecipe } from "../../recipe";
2
- import { ExecutionContext } from "../../execution";
3
- import { TreeVisitor } from "../../visitor";
4
- import { DependencyScope, PackageManager } from "../node-resolution-result";
5
- import { DependencyRecipeAccumulator } from "../package-manager";
6
- /**
7
- * Information about a project that needs updating
8
- */
9
- interface ProjectUpdateInfo {
10
- /** Relative path to package.json (from source root) */
11
- packageJsonPath: string;
12
- /** Original package.json content */
13
- originalPackageJson: string;
14
- /** The scope where the dependency should be added */
15
- dependencyScope: DependencyScope;
16
- /** Version constraint to apply */
17
- newVersion: string;
18
- /** The package manager used by this project */
19
- packageManager: PackageManager;
20
- /** Config file contents extracted from the project (e.g., .npmrc) */
21
- configFiles?: Record<string, string>;
22
- }
23
- interface Accumulator extends DependencyRecipeAccumulator<ProjectUpdateInfo> {
24
- /** Original lock file content, keyed by lock file path */
25
- originalLockFiles: Map<string, string>;
26
- }
27
- /**
28
- * Adds a new dependency to package.json and updates the lock file.
29
- *
30
- * This recipe:
31
- * 1. Finds package.json files that don't already have the specified dependency
32
- * 2. Adds the dependency to the specified scope (defaults to 'dependencies')
33
- * 3. Runs the package manager to update the lock file
34
- * 4. Updates the NodeResolutionResult marker with new dependency info
35
- *
36
- * If the dependency already exists in any scope, no changes are made.
37
- * This matches the behavior of org.openrewrite.maven.AddDependency.
38
- */
39
- export declare class AddDependency extends ScanningRecipe<Accumulator> {
40
- readonly name = "org.openrewrite.javascript.dependencies.add-dependency";
41
- readonly displayName = "Add npm dependency";
42
- readonly description = "Adds a new dependency to `package.json` and updates the lock file by running the package manager.";
43
- packageName: string;
44
- version: string;
45
- scope?: DependencyScope;
46
- initialValue(_ctx: ExecutionContext): Accumulator;
47
- private getTargetScope;
48
- scanner(acc: Accumulator): Promise<TreeVisitor<any, ExecutionContext>>;
49
- editorWithData(acc: Accumulator): Promise<TreeVisitor<any, ExecutionContext>>;
50
- /**
51
- * Runs the package manager in a temporary directory to update the lock file.
52
- * All file contents are provided from in-memory sources (SourceFiles), not read from disk.
53
- */
54
- private runPackageManagerInstall;
55
- /**
56
- * Creates a modified package.json with the new dependency added.
57
- */
58
- private createModifiedPackageJson;
59
- }
60
- export {};
61
- //# sourceMappingURL=add-dependency.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"add-dependency.d.ts","sourceRoot":"","sources":["../../../src/javascript/recipes/add-dependency.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAS,cAAc,EAAC,MAAM,cAAc,CAAC;AACpD,OAAO,EAAC,gBAAgB,EAAC,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAK1C,OAAO,EAEH,eAAe,EAEf,cAAc,EAEjB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAGH,2BAA2B,EAQ9B,MAAM,oBAAoB,CAAC;AAI5B;;GAEG;AACH,UAAU,iBAAiB;IACvB,uDAAuD;IACvD,eAAe,EAAE,MAAM,CAAC;IACxB,oCAAoC;IACpC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,qDAAqD;IACrD,eAAe,EAAE,eAAe,CAAC;IACjC,kCAAkC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,cAAc,EAAE,cAAc,CAAC;IAC/B,qEAAqE;IACrE,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC;AAED,UAAU,WAAY,SAAQ,2BAA2B,CAAC,iBAAiB,CAAC;IACxE,0DAA0D;IAC1D,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC1C;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,aAAc,SAAQ,cAAc,CAAC,WAAW,CAAC;IAC1D,QAAQ,CAAC,IAAI,4DAA4D;IACzE,QAAQ,CAAC,WAAW,wBAAwB;IAC5C,QAAQ,CAAC,WAAW,uGAAuG;IAO3H,WAAW,EAAG,MAAM,CAAC;IAOrB,OAAO,EAAG,MAAM,CAAC;IAQjB,KAAK,CAAC,EAAE,eAAe,CAAC;IAExB,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,WAAW;IAOjD,OAAO,CAAC,cAAc;IAIhB,OAAO,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;IA2FtE,cAAc,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;IA8DnF;;;OAGG;YACW,wBAAwB;IAiCtC;;OAEG;IACH,OAAO,CAAC,yBAAyB;CAcpC"}