@openrewrite/rewrite 8.69.0-20251210-214835 → 8.69.0-20251211-085327

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 (50) hide show
  1. package/dist/index.d.ts.map +1 -1
  2. package/dist/index.js +2 -1
  3. package/dist/index.js.map +1 -1
  4. package/dist/javascript/node-resolution-result.d.ts +9 -0
  5. package/dist/javascript/node-resolution-result.d.ts.map +1 -1
  6. package/dist/javascript/node-resolution-result.js +10 -1
  7. package/dist/javascript/node-resolution-result.js.map +1 -1
  8. package/dist/javascript/package-manager.d.ts +76 -89
  9. package/dist/javascript/package-manager.d.ts.map +1 -1
  10. package/dist/javascript/package-manager.js +114 -139
  11. package/dist/javascript/package-manager.js.map +1 -1
  12. package/dist/javascript/recipes/add-dependency.d.ts +57 -0
  13. package/dist/javascript/recipes/add-dependency.d.ts.map +1 -0
  14. package/dist/javascript/recipes/add-dependency.js +404 -0
  15. package/dist/javascript/recipes/add-dependency.js.map +1 -0
  16. package/dist/javascript/recipes/index.d.ts +1 -0
  17. package/dist/javascript/recipes/index.d.ts.map +1 -1
  18. package/dist/javascript/recipes/index.js +1 -0
  19. package/dist/javascript/recipes/index.js.map +1 -1
  20. package/dist/javascript/recipes/upgrade-dependency-version.d.ts +3 -24
  21. package/dist/javascript/recipes/upgrade-dependency-version.d.ts.map +1 -1
  22. package/dist/javascript/recipes/upgrade-dependency-version.js +34 -157
  23. package/dist/javascript/recipes/upgrade-dependency-version.js.map +1 -1
  24. package/dist/javascript/recipes/upgrade-transitive-dependency-version.d.ts +2 -19
  25. package/dist/javascript/recipes/upgrade-transitive-dependency-version.d.ts.map +1 -1
  26. package/dist/javascript/recipes/upgrade-transitive-dependency-version.js +21 -137
  27. package/dist/javascript/recipes/upgrade-transitive-dependency-version.js.map +1 -1
  28. package/dist/javascript/search/find-dependency.d.ts.map +1 -1
  29. package/dist/javascript/search/find-dependency.js +8 -47
  30. package/dist/javascript/search/find-dependency.js.map +1 -1
  31. package/dist/json/tree.d.ts +30 -0
  32. package/dist/json/tree.d.ts.map +1 -1
  33. package/dist/json/tree.js +113 -0
  34. package/dist/json/tree.js.map +1 -1
  35. package/dist/parser.d.ts +9 -0
  36. package/dist/parser.d.ts.map +1 -1
  37. package/dist/parser.js +27 -0
  38. package/dist/parser.js.map +1 -1
  39. package/dist/version.txt +1 -1
  40. package/package.json +1 -1
  41. package/src/index.ts +2 -1
  42. package/src/javascript/node-resolution-result.ts +16 -0
  43. package/src/javascript/package-manager.ts +197 -174
  44. package/src/javascript/recipes/add-dependency.ts +467 -0
  45. package/src/javascript/recipes/index.ts +1 -0
  46. package/src/javascript/recipes/upgrade-dependency-version.ts +52 -199
  47. package/src/javascript/recipes/upgrade-transitive-dependency-version.ts +39 -165
  48. package/src/javascript/search/find-dependency.ts +13 -52
  49. package/src/json/tree.ts +98 -1
  50. package/src/parser.ts +17 -0
@@ -59,17 +59,17 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
59
59
  Object.defineProperty(exports, "__esModule", { value: true });
60
60
  exports.detectPackageManager = detectPackageManager;
61
61
  exports.getLockFileDetectionConfig = getLockFileDetectionConfig;
62
- exports.getPackageManagerConfig = getPackageManagerConfig;
63
62
  exports.getLockFileName = getLockFileName;
64
63
  exports.getAllLockFileNames = getAllLockFileNames;
65
- exports.isLockFile = isLockFile;
66
- exports.runInstall = runInstall;
67
- exports.runAddPackage = runAddPackage;
68
64
  exports.runList = runList;
69
- exports.isPackageManagerAvailable = isPackageManagerAvailable;
70
- exports.getPackageManagerDisplayName = getPackageManagerDisplayName;
65
+ exports.createDependencyRecipeAccumulator = createDependencyRecipeAccumulator;
66
+ exports.getUpdatedLockFileContent = getUpdatedLockFileContent;
67
+ exports.storeInstallResult = storeInstallResult;
68
+ exports.runInstallIfNeeded = runInstallIfNeeded;
69
+ exports.updateNodeResolutionMarker = updateNodeResolutionMarker;
71
70
  exports.runInstallInTempDir = runInstallInTempDir;
72
71
  const node_resolution_result_1 = require("./node-resolution-result");
72
+ const markers_1 = require("../markers");
73
73
  const fs = __importStar(require("fs"));
74
74
  const fsp = __importStar(require("fs/promises"));
75
75
  const path = __importStar(require("path"));
@@ -158,12 +158,6 @@ function detectPackageManager(dir) {
158
158
  function getLockFileDetectionConfig() {
159
159
  return LOCK_FILE_DETECTION;
160
160
  }
161
- /**
162
- * Gets the configuration for a package manager.
163
- */
164
- function getPackageManagerConfig(pm) {
165
- return PACKAGE_MANAGER_CONFIGS[pm];
166
- }
167
161
  /**
168
162
  * Gets the lock file name for a package manager.
169
163
  */
@@ -176,19 +170,8 @@ function getLockFileName(pm) {
176
170
  function getAllLockFileNames() {
177
171
  return LOCK_FILE_DETECTION.map(c => c.filename);
178
172
  }
179
- /**
180
- * Checks if a file path is a lock file.
181
- */
182
- function isLockFile(filePath) {
183
- const fileName = path.basename(filePath);
184
- return getAllLockFileNames().includes(fileName);
185
- }
186
173
  /**
187
174
  * Runs the package manager install command.
188
- *
189
- * @param pm The package manager to use
190
- * @param options Install options
191
- * @returns Result of the install command
192
175
  */
193
176
  function runInstall(pm, options) {
194
177
  var _a;
@@ -231,93 +214,6 @@ function runInstall(pm, options) {
231
214
  };
232
215
  }
233
216
  }
234
- /**
235
- * Runs a package manager command to add or upgrade a package.
236
- * This updates both package.json and the lock file.
237
- *
238
- * @param pm The package manager to use
239
- * @param options Add package options
240
- * @returns Result of the command
241
- */
242
- function runAddPackage(pm, options) {
243
- var _a;
244
- const packageSpec = `${options.packageName}@${options.version}`;
245
- // Build command based on package manager
246
- let cmd;
247
- let args;
248
- switch (pm) {
249
- case node_resolution_result_1.PackageManager.Npm:
250
- cmd = 'npm';
251
- args = ['install', packageSpec];
252
- if (options.lockOnly) {
253
- args.push('--package-lock-only');
254
- }
255
- break;
256
- case node_resolution_result_1.PackageManager.YarnClassic:
257
- cmd = 'yarn';
258
- args = ['add', packageSpec];
259
- if (options.lockOnly) {
260
- args.push('--ignore-scripts');
261
- }
262
- break;
263
- case node_resolution_result_1.PackageManager.YarnBerry:
264
- cmd = 'yarn';
265
- args = ['add', packageSpec];
266
- if (options.lockOnly) {
267
- args.push('--mode', 'skip-build');
268
- }
269
- break;
270
- case node_resolution_result_1.PackageManager.Pnpm:
271
- cmd = 'pnpm';
272
- args = ['add', packageSpec];
273
- if (options.lockOnly) {
274
- args.push('--lockfile-only');
275
- }
276
- break;
277
- case node_resolution_result_1.PackageManager.Bun:
278
- cmd = 'bun';
279
- args = ['add', packageSpec];
280
- if (options.lockOnly) {
281
- args.push('--ignore-scripts');
282
- }
283
- break;
284
- }
285
- try {
286
- const result = (0, child_process_1.spawnSync)(cmd, args, {
287
- cwd: options.cwd,
288
- encoding: 'utf-8',
289
- stdio: ['pipe', 'pipe', 'pipe'],
290
- timeout: (_a = options.timeout) !== null && _a !== void 0 ? _a : 120000,
291
- env: options.env ? Object.assign(Object.assign({}, process.env), options.env) : process.env,
292
- });
293
- if (result.error) {
294
- return {
295
- success: false,
296
- error: result.error.message,
297
- stderr: result.stderr,
298
- };
299
- }
300
- if (result.status !== 0) {
301
- return {
302
- success: false,
303
- stdout: result.stdout,
304
- stderr: result.stderr,
305
- error: `Command exited with code ${result.status}`,
306
- };
307
- }
308
- return {
309
- success: true,
310
- stdout: result.stdout,
311
- stderr: result.stderr,
312
- };
313
- }
314
- catch (error) {
315
- return {
316
- success: false,
317
- error: error.message,
318
- };
319
- }
320
- }
321
217
  /**
322
218
  * Runs a package manager list command to get dependency information.
323
219
  *
@@ -344,43 +240,122 @@ function runList(pm, cwd, timeout = 30000) {
344
240
  return result.stdout;
345
241
  }
346
242
  /**
347
- * Checks if a package manager is available on the system.
243
+ * Creates a new empty accumulator for dependency recipes.
244
+ */
245
+ function createDependencyRecipeAccumulator() {
246
+ return {
247
+ projectsToUpdate: new Map(),
248
+ updatedLockFiles: new Map(),
249
+ updatedPackageJsons: new Map(),
250
+ processedProjects: new Set(),
251
+ failedProjects: new Map()
252
+ };
253
+ }
254
+ /**
255
+ * Checks if a source path is a lock file and returns the updated content if available.
256
+ * This is a helper for dependency recipes that need to update lock files.
348
257
  *
349
- * @param pm The package manager to check
350
- * @returns True if the package manager is available
258
+ * @param sourcePath The source path to check
259
+ * @param acc The recipe accumulator containing updated lock file content
260
+ * @returns The updated lock file content if this is a lock file that was updated, undefined otherwise
351
261
  */
352
- function isPackageManagerAvailable(pm) {
353
- const config = PACKAGE_MANAGER_CONFIGS[pm];
354
- const cmd = config.installCommand[0];
355
- try {
356
- const result = (0, child_process_1.spawnSync)(cmd, ['--version'], {
357
- encoding: 'utf-8',
358
- stdio: ['pipe', 'pipe', 'pipe'],
359
- timeout: 5000,
360
- });
361
- return result.status === 0;
362
- }
363
- catch (_a) {
364
- return false;
262
+ function getUpdatedLockFileContent(sourcePath, acc) {
263
+ for (const lockFileName of getAllLockFileNames()) {
264
+ if (sourcePath.endsWith(lockFileName)) {
265
+ // Find the corresponding package.json path
266
+ const packageJsonPath = sourcePath.replace(lockFileName, 'package.json');
267
+ const updateInfo = acc.projectsToUpdate.get(packageJsonPath);
268
+ if (updateInfo && acc.updatedLockFiles.has(sourcePath)) {
269
+ return acc.updatedLockFiles.get(sourcePath);
270
+ }
271
+ break;
272
+ }
365
273
  }
274
+ return undefined;
366
275
  }
367
276
  /**
368
- * Gets a human-readable name for a package manager.
277
+ * Stores the result of a package manager install into the accumulator.
278
+ * This handles the common pattern of storing updated lock files and tracking failures.
279
+ *
280
+ * @param result The result from runInstallInTempDir
281
+ * @param acc The recipe accumulator
282
+ * @param updateInfo The project update info (must have packageJsonPath and packageManager)
283
+ * @param modifiedPackageJson The modified package.json content that was used for install
369
284
  */
370
- function getPackageManagerDisplayName(pm) {
371
- switch (pm) {
372
- case node_resolution_result_1.PackageManager.Npm:
373
- return 'npm';
374
- case node_resolution_result_1.PackageManager.YarnClassic:
375
- return 'Yarn Classic';
376
- case node_resolution_result_1.PackageManager.YarnBerry:
377
- return 'Yarn Berry';
378
- case node_resolution_result_1.PackageManager.Pnpm:
379
- return 'pnpm';
380
- case node_resolution_result_1.PackageManager.Bun:
381
- return 'Bun';
285
+ function storeInstallResult(result, acc, updateInfo, modifiedPackageJson) {
286
+ if (result.success) {
287
+ acc.updatedPackageJsons.set(updateInfo.packageJsonPath, modifiedPackageJson);
288
+ if (result.lockFileContent) {
289
+ const lockFileName = getLockFileName(updateInfo.packageManager);
290
+ const lockFilePath = updateInfo.packageJsonPath.replace('package.json', lockFileName);
291
+ acc.updatedLockFiles.set(lockFilePath, result.lockFileContent);
292
+ }
293
+ }
294
+ else {
295
+ acc.failedProjects.set(updateInfo.packageJsonPath, result.error || 'Unknown error');
382
296
  }
383
297
  }
298
+ /**
299
+ * Runs the package manager install for a project if it hasn't been processed yet.
300
+ * Updates the accumulator's processedProjects set after running.
301
+ *
302
+ * @param sourcePath The source path (package.json path) being processed
303
+ * @param acc The recipe accumulator
304
+ * @param runInstall Function that performs the actual install (recipe-specific)
305
+ * @returns The failure message if install failed, undefined otherwise
306
+ */
307
+ function runInstallIfNeeded(sourcePath, acc, runInstall) {
308
+ return __awaiter(this, void 0, void 0, function* () {
309
+ if (!acc.processedProjects.has(sourcePath)) {
310
+ yield runInstall();
311
+ acc.processedProjects.add(sourcePath);
312
+ }
313
+ return acc.failedProjects.get(sourcePath);
314
+ });
315
+ }
316
+ /**
317
+ * Updates the NodeResolutionResult marker on a JSON document after a package manager operation.
318
+ * This recreates the marker based on the updated package.json and lock file content.
319
+ *
320
+ * @param doc The JSON document containing the marker
321
+ * @param updateInfo Project update info with paths and package manager
322
+ * @param acc The recipe accumulator containing updated content
323
+ * @returns The document with the updated marker, or unchanged if no existing marker
324
+ */
325
+ function updateNodeResolutionMarker(doc, updateInfo, acc) {
326
+ return __awaiter(this, void 0, void 0, function* () {
327
+ const existingMarker = (0, node_resolution_result_1.findNodeResolutionResult)(doc);
328
+ if (!existingMarker) {
329
+ return doc;
330
+ }
331
+ // Parse the updated package.json and lock file to create new marker
332
+ const updatedPackageJson = acc.updatedPackageJsons.get(updateInfo.packageJsonPath);
333
+ const lockFileName = getLockFileName(updateInfo.packageManager);
334
+ const updatedLockFile = acc.updatedLockFiles.get(updateInfo.packageJsonPath.replace('package.json', lockFileName));
335
+ let packageJsonContent;
336
+ let lockContent;
337
+ try {
338
+ packageJsonContent = JSON.parse(updatedPackageJson || updateInfo.originalPackageJson);
339
+ }
340
+ catch (_a) {
341
+ return doc; // Failed to parse, keep original marker
342
+ }
343
+ if (updatedLockFile) {
344
+ try {
345
+ lockContent = JSON.parse(updatedLockFile);
346
+ }
347
+ catch (_b) {
348
+ // Continue without lock file content
349
+ }
350
+ }
351
+ // Read npmrc configs from the project directory
352
+ const npmrcConfigs = yield (0, node_resolution_result_1.readNpmrcConfigs)(updateInfo.projectDir);
353
+ // Create new marker
354
+ const newMarker = (0, node_resolution_result_1.createNodeResolutionResultMarker)(existingMarker.path, packageJsonContent, lockContent, existingMarker.workspacePackagePaths, existingMarker.packageManager, npmrcConfigs.length > 0 ? npmrcConfigs : undefined);
355
+ // Replace the marker in the document
356
+ return Object.assign(Object.assign({}, doc), { markers: (0, markers_1.replaceMarkerByKind)(doc.markers, newMarker) });
357
+ });
358
+ }
384
359
  /**
385
360
  * Runs package manager install in a temporary directory.
386
361
  *
@@ -1 +1 @@
1
- {"version":3,"file":"package-manager.js","sourceRoot":"","sources":["../../src/javascript/package-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"package-manager.js","sourceRoot":"","sources":["../../src/javascript/package-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
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
+ /** Absolute path to the project directory */
11
+ projectDir: string;
12
+ /** Relative path to package.json (from source root) */
13
+ packageJsonPath: string;
14
+ /** Original package.json content */
15
+ originalPackageJson: string;
16
+ /** The scope where the dependency should be added */
17
+ dependencyScope: DependencyScope;
18
+ /** Version constraint to apply */
19
+ newVersion: string;
20
+ /** The package manager used by this project */
21
+ packageManager: PackageManager;
22
+ }
23
+ type Accumulator = DependencyRecipeAccumulator<ProjectUpdateInfo>;
24
+ /**
25
+ * Adds a new dependency to package.json and updates the lock file.
26
+ *
27
+ * This recipe:
28
+ * 1. Finds package.json files that don't already have the specified dependency
29
+ * 2. Adds the dependency to the specified scope (defaults to 'dependencies')
30
+ * 3. Runs the package manager to update the lock file
31
+ * 4. Updates the NodeResolutionResult marker with new dependency info
32
+ *
33
+ * If the dependency already exists in any scope, no changes are made.
34
+ * This matches the behavior of org.openrewrite.maven.AddDependency.
35
+ */
36
+ export declare class AddDependency extends ScanningRecipe<Accumulator> {
37
+ readonly name = "org.openrewrite.javascript.dependencies.add-dependency";
38
+ readonly displayName = "Add npm dependency";
39
+ readonly description = "Adds a new dependency to `package.json` and updates the lock file by running the package manager.";
40
+ packageName: string;
41
+ version: string;
42
+ scope?: DependencyScope;
43
+ initialValue(_ctx: ExecutionContext): Accumulator;
44
+ private getTargetScope;
45
+ scanner(acc: Accumulator): Promise<TreeVisitor<any, ExecutionContext>>;
46
+ editorWithData(acc: Accumulator): Promise<TreeVisitor<any, ExecutionContext>>;
47
+ /**
48
+ * Runs the package manager in a temporary directory to update the lock file.
49
+ */
50
+ private runPackageManagerInstall;
51
+ /**
52
+ * Creates a modified package.json with the new dependency added.
53
+ */
54
+ private createModifiedPackageJson;
55
+ }
56
+ export {};
57
+ //# sourceMappingURL=add-dependency.d.ts.map
@@ -0,0 +1 @@
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;AAE1C,OAAO,EAEH,eAAe,EAEf,cAAc,EACjB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAEH,2BAA2B,EAM9B,MAAM,oBAAoB,CAAC;AAI5B;;GAEG;AACH,UAAU,iBAAiB;IACvB,6CAA6C;IAC7C,UAAU,EAAE,MAAM,CAAC;IACnB,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;CAClC;AAED,KAAK,WAAW,GAAG,2BAA2B,CAAC,iBAAiB,CAAC,CAAC;AAElE;;;;;;;;;;;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;IAIjD,OAAO,CAAC,cAAc;IAIhB,OAAO,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;IA8CtE,cAAc,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;IAoDnF;;OAEG;YACW,wBAAwB;IAoBtC;;OAEG;IACH,OAAO,CAAC,yBAAyB;CAcpC"}