@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.
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -5
- package/dist/index.js.map +1 -1
- package/dist/java/rpc.d.ts.map +1 -1
- package/dist/java/rpc.js +2 -0
- package/dist/java/rpc.js.map +1 -1
- package/dist/java/tree.d.ts +1 -0
- package/dist/java/tree.d.ts.map +1 -1
- package/dist/java/tree.js.map +1 -1
- package/dist/java/visitor.d.ts.map +1 -1
- package/dist/java/visitor.js +1 -0
- package/dist/java/visitor.js.map +1 -1
- package/dist/javascript/parser.d.ts.map +1 -1
- package/dist/javascript/parser.js +8 -0
- package/dist/javascript/parser.js.map +1 -1
- package/dist/javascript/recipes/dependencies.d.ts +63 -0
- package/dist/javascript/recipes/dependencies.d.ts.map +1 -0
- package/dist/javascript/recipes/dependencies.js +49 -0
- package/dist/javascript/recipes/dependencies.js.map +1 -0
- package/dist/javascript/recipes/index.d.ts +1 -4
- package/dist/javascript/recipes/index.d.ts.map +1 -1
- package/dist/javascript/recipes/index.js +1 -4
- package/dist/javascript/recipes/index.js.map +1 -1
- package/dist/rewrite-javascript-version.txt +1 -1
- package/package.json +1 -1
- package/src/index.ts +0 -8
- package/src/java/rpc.ts +2 -0
- package/src/java/tree.ts +1 -0
- package/src/java/visitor.ts +1 -0
- package/src/javascript/parser.ts +8 -0
- package/src/javascript/recipes/dependencies.ts +108 -0
- package/src/javascript/recipes/index.ts +1 -4
- package/dist/javascript/recipes/add-dependency.d.ts +0 -61
- package/dist/javascript/recipes/add-dependency.d.ts.map +0 -1
- package/dist/javascript/recipes/add-dependency.js +0 -430
- package/dist/javascript/recipes/add-dependency.js.map +0 -1
- package/dist/javascript/recipes/remove-dependency.d.ts +0 -29
- package/dist/javascript/recipes/remove-dependency.d.ts.map +0 -1
- package/dist/javascript/recipes/remove-dependency.js +0 -261
- package/dist/javascript/recipes/remove-dependency.js.map +0 -1
- package/dist/javascript/recipes/upgrade-dependency-version.d.ts +0 -74
- package/dist/javascript/recipes/upgrade-dependency-version.d.ts.map +0 -1
- package/dist/javascript/recipes/upgrade-dependency-version.js +0 -387
- package/dist/javascript/recipes/upgrade-dependency-version.js.map +0 -1
- package/dist/javascript/recipes/upgrade-transitive-dependency-version.d.ts +0 -68
- package/dist/javascript/recipes/upgrade-transitive-dependency-version.d.ts.map +0 -1
- package/dist/javascript/recipes/upgrade-transitive-dependency-version.js +0 -307
- package/dist/javascript/recipes/upgrade-transitive-dependency-version.js.map +0 -1
- package/src/javascript/recipes/add-dependency.ts +0 -549
- package/src/javascript/recipes/remove-dependency.ts +0 -345
- package/src/javascript/recipes/upgrade-dependency-version.ts +0 -486
- package/src/javascript/recipes/upgrade-transitive-dependency-version.ts +0 -403
|
@@ -1,261 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*
|
|
3
|
-
* Copyright 2026 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/moderne-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
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
57
|
-
exports.RemoveDependency = void 0;
|
|
58
|
-
const recipe_1 = require("../../recipe");
|
|
59
|
-
const visitor_1 = require("../../visitor");
|
|
60
|
-
const json_1 = require("../../json");
|
|
61
|
-
const yaml_1 = require("../../yaml");
|
|
62
|
-
const text_1 = require("../../text");
|
|
63
|
-
const node_resolution_result_1 = require("../node-resolution-result");
|
|
64
|
-
const markers_1 = require("../../markers");
|
|
65
|
-
const print_1 = require("../../print");
|
|
66
|
-
const package_manager_1 = require("../package-manager");
|
|
67
|
-
const path = __importStar(require("path"));
|
|
68
|
-
class RemoveDependency extends recipe_1.ScanningRecipe {
|
|
69
|
-
constructor() {
|
|
70
|
-
super(...arguments);
|
|
71
|
-
this.name = "org.openrewrite.javascript.dependencies.remove-dependency";
|
|
72
|
-
this.displayName = "Remove npm dependency";
|
|
73
|
-
this.description = "Removes a dependency from `package.json` and updates the lock file by running the package manager.";
|
|
74
|
-
}
|
|
75
|
-
initialValue(_ctx) {
|
|
76
|
-
return Object.assign(Object.assign({}, (0, package_manager_1.createDependencyRecipeAccumulator)()), { originalLockFiles: new Map() });
|
|
77
|
-
}
|
|
78
|
-
async scanner(acc) {
|
|
79
|
-
const recipe = this;
|
|
80
|
-
const LOCK_FILE_NAMES = (0, package_manager_1.getAllLockFileNames)();
|
|
81
|
-
return new class extends visitor_1.TreeVisitor {
|
|
82
|
-
async accept(tree, ctx) {
|
|
83
|
-
if ((0, json_1.isJson)(tree) && tree.kind === json_1.Json.Kind.Document) {
|
|
84
|
-
return this.handleJsonDocument(tree, ctx);
|
|
85
|
-
}
|
|
86
|
-
if ((0, yaml_1.isYaml)(tree) && (0, yaml_1.isDocuments)(tree)) {
|
|
87
|
-
return this.handleYamlDocument(tree, ctx);
|
|
88
|
-
}
|
|
89
|
-
if ((0, text_1.isPlainText)(tree)) {
|
|
90
|
-
return this.handlePlainTextDocument(tree, ctx);
|
|
91
|
-
}
|
|
92
|
-
return tree;
|
|
93
|
-
}
|
|
94
|
-
async handleJsonDocument(doc, _ctx) {
|
|
95
|
-
var _a;
|
|
96
|
-
const basename = path.basename(doc.sourcePath);
|
|
97
|
-
if (LOCK_FILE_NAMES.includes(basename)) {
|
|
98
|
-
acc.originalLockFiles.set(doc.sourcePath, await print_1.TreePrinters.print(doc));
|
|
99
|
-
return doc;
|
|
100
|
-
}
|
|
101
|
-
if (!doc.sourcePath.endsWith('package.json')) {
|
|
102
|
-
return doc;
|
|
103
|
-
}
|
|
104
|
-
const marker = (0, node_resolution_result_1.findNodeResolutionResult)(doc);
|
|
105
|
-
if (!marker) {
|
|
106
|
-
return doc;
|
|
107
|
-
}
|
|
108
|
-
const scopesToCheck = recipe.scope ? [recipe.scope] : node_resolution_result_1.allDependencyScopes;
|
|
109
|
-
const foundScopes = [];
|
|
110
|
-
for (const scope of scopesToCheck) {
|
|
111
|
-
const deps = marker[scope];
|
|
112
|
-
if (deps === null || deps === void 0 ? void 0 : deps.some(d => d.name === recipe.packageName)) {
|
|
113
|
-
foundScopes.push(scope);
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
if (foundScopes.length === 0) {
|
|
117
|
-
return doc;
|
|
118
|
-
}
|
|
119
|
-
const pm = (_a = marker.packageManager) !== null && _a !== void 0 ? _a : node_resolution_result_1.PackageManager.Npm;
|
|
120
|
-
const configFiles = {};
|
|
121
|
-
const npmrcContent = (0, node_resolution_result_1.serializeNpmrcConfigs)(marker.npmrcConfigs);
|
|
122
|
-
if (npmrcContent) {
|
|
123
|
-
configFiles['.npmrc'] = npmrcContent;
|
|
124
|
-
}
|
|
125
|
-
acc.projectsToUpdate.set(doc.sourcePath, {
|
|
126
|
-
packageJsonPath: doc.sourcePath,
|
|
127
|
-
originalPackageJson: await print_1.TreePrinters.print(doc),
|
|
128
|
-
dependencyScopes: foundScopes,
|
|
129
|
-
packageManager: pm,
|
|
130
|
-
configFiles: Object.keys(configFiles).length > 0 ? configFiles : undefined
|
|
131
|
-
});
|
|
132
|
-
return doc;
|
|
133
|
-
}
|
|
134
|
-
async handleYamlDocument(docs, _ctx) {
|
|
135
|
-
const basename = path.basename(docs.sourcePath);
|
|
136
|
-
if (LOCK_FILE_NAMES.includes(basename)) {
|
|
137
|
-
acc.originalLockFiles.set(docs.sourcePath, await print_1.TreePrinters.print(docs));
|
|
138
|
-
}
|
|
139
|
-
return docs;
|
|
140
|
-
}
|
|
141
|
-
async handlePlainTextDocument(text, _ctx) {
|
|
142
|
-
const basename = path.basename(text.sourcePath);
|
|
143
|
-
if (LOCK_FILE_NAMES.includes(basename)) {
|
|
144
|
-
acc.originalLockFiles.set(text.sourcePath, await print_1.TreePrinters.print(text));
|
|
145
|
-
}
|
|
146
|
-
return text;
|
|
147
|
-
}
|
|
148
|
-
};
|
|
149
|
-
}
|
|
150
|
-
async editorWithData(acc) {
|
|
151
|
-
const recipe = this;
|
|
152
|
-
const jsonEditor = new class extends json_1.JsonVisitor {
|
|
153
|
-
async visitDocument(doc, ctx) {
|
|
154
|
-
const sourcePath = doc.sourcePath;
|
|
155
|
-
if (sourcePath.endsWith('package.json')) {
|
|
156
|
-
const updateInfo = acc.projectsToUpdate.get(sourcePath);
|
|
157
|
-
if (!updateInfo) {
|
|
158
|
-
return doc;
|
|
159
|
-
}
|
|
160
|
-
const failureMessage = await (0, package_manager_1.runInstallIfNeeded)(sourcePath, acc, () => recipe.runPackageManagerInstall(acc, updateInfo, ctx));
|
|
161
|
-
if (failureMessage) {
|
|
162
|
-
return (0, markers_1.markupWarn)(doc, `Failed to remove ${recipe.packageName}`, failureMessage);
|
|
163
|
-
}
|
|
164
|
-
const modifiedDoc = removeDependencyFromJson(doc, recipe.packageName, updateInfo.dependencyScopes);
|
|
165
|
-
return (0, package_manager_1.updateNodeResolutionMarker)(modifiedDoc, updateInfo, acc);
|
|
166
|
-
}
|
|
167
|
-
const lockFileName = path.basename(sourcePath);
|
|
168
|
-
if ((0, package_manager_1.getAllLockFileNames)().includes(lockFileName)) {
|
|
169
|
-
const updatedLockContent = acc.updatedLockFiles.get(sourcePath);
|
|
170
|
-
if (updatedLockContent) {
|
|
171
|
-
const parsed = await (0, package_manager_1.parseLockFileContent)(updatedLockContent, sourcePath, lockFileName);
|
|
172
|
-
return Object.assign(Object.assign({}, doc), { value: parsed.value, eof: parsed.eof });
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
return doc;
|
|
176
|
-
}
|
|
177
|
-
};
|
|
178
|
-
return (0, package_manager_1.createLockFileEditor)(jsonEditor, acc);
|
|
179
|
-
}
|
|
180
|
-
async runPackageManagerInstall(acc, updateInfo, _ctx) {
|
|
181
|
-
const modifiedPackageJson = this.createModifiedPackageJson(updateInfo.originalPackageJson, updateInfo.dependencyScopes);
|
|
182
|
-
const lockFileName = (0, package_manager_1.getLockFileName)(updateInfo.packageManager);
|
|
183
|
-
const packageJsonDir = path.dirname(updateInfo.packageJsonPath);
|
|
184
|
-
const lockFilePath = packageJsonDir === '.'
|
|
185
|
-
? lockFileName
|
|
186
|
-
: path.join(packageJsonDir, lockFileName);
|
|
187
|
-
const originalLockFileContent = acc.originalLockFiles.get(lockFilePath);
|
|
188
|
-
const result = await (0, package_manager_1.runInstallInTempDir)(updateInfo.packageManager, modifiedPackageJson, {
|
|
189
|
-
originalLockFileContent,
|
|
190
|
-
configFiles: updateInfo.configFiles
|
|
191
|
-
});
|
|
192
|
-
(0, package_manager_1.storeInstallResult)(result, acc, updateInfo, modifiedPackageJson);
|
|
193
|
-
}
|
|
194
|
-
createModifiedPackageJson(originalContent, scopes) {
|
|
195
|
-
const packageJson = JSON.parse(originalContent);
|
|
196
|
-
for (const scope of scopes) {
|
|
197
|
-
if (packageJson[scope] && packageJson[scope][this.packageName]) {
|
|
198
|
-
delete packageJson[scope][this.packageName];
|
|
199
|
-
if (Object.keys(packageJson[scope]).length === 0) {
|
|
200
|
-
delete packageJson[scope];
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
return JSON.stringify(packageJson, null, 2);
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
exports.RemoveDependency = RemoveDependency;
|
|
208
|
-
__decorate([
|
|
209
|
-
(0, recipe_1.Option)({
|
|
210
|
-
displayName: "Package name",
|
|
211
|
-
description: "The name of the npm package to remove (e.g., `lodash`, `@types/node`)",
|
|
212
|
-
example: "lodash"
|
|
213
|
-
})
|
|
214
|
-
], RemoveDependency.prototype, "packageName", void 0);
|
|
215
|
-
__decorate([
|
|
216
|
-
(0, recipe_1.Option)({
|
|
217
|
-
displayName: "Scope",
|
|
218
|
-
description: "The dependency scope to remove from. If not specified, the dependency is removed from all scopes where it is found.",
|
|
219
|
-
example: "dependencies",
|
|
220
|
-
required: false
|
|
221
|
-
})
|
|
222
|
-
], RemoveDependency.prototype, "scope", void 0);
|
|
223
|
-
function removeDependencyFromJson(doc, packageName, scopes) {
|
|
224
|
-
if (!(0, json_1.isObject)(doc.value)) {
|
|
225
|
-
return doc;
|
|
226
|
-
}
|
|
227
|
-
const targetScopes = new Set(scopes);
|
|
228
|
-
const rootObj = doc.value;
|
|
229
|
-
let changed = false;
|
|
230
|
-
const result = [];
|
|
231
|
-
for (const rp of rootObj.members) {
|
|
232
|
-
const member = rp.element;
|
|
233
|
-
const keyName = (0, json_1.getMemberKeyName)(member);
|
|
234
|
-
if (!keyName || !targetScopes.has(keyName) || !(0, json_1.isObject)(member.value)) {
|
|
235
|
-
result.push(rp);
|
|
236
|
-
continue;
|
|
237
|
-
}
|
|
238
|
-
const scopeObj = member.value;
|
|
239
|
-
const filtered = scopeObj.members.filter(depRp => (0, json_1.getMemberKeyName)(depRp.element) !== packageName);
|
|
240
|
-
if (filtered.length === scopeObj.members.length) {
|
|
241
|
-
result.push(rp);
|
|
242
|
-
continue;
|
|
243
|
-
}
|
|
244
|
-
changed = true;
|
|
245
|
-
if (filtered.length === 0) {
|
|
246
|
-
continue;
|
|
247
|
-
}
|
|
248
|
-
const lastOriginalAfter = scopeObj.members[scopeObj.members.length - 1].after;
|
|
249
|
-
filtered[filtered.length - 1] = Object.assign(Object.assign({}, filtered[filtered.length - 1]), { after: lastOriginalAfter });
|
|
250
|
-
result.push(Object.assign(Object.assign({}, rp), { element: Object.assign(Object.assign({}, member), { value: Object.assign(Object.assign({}, scopeObj), { members: filtered }) }) }));
|
|
251
|
-
}
|
|
252
|
-
if (!changed) {
|
|
253
|
-
return doc;
|
|
254
|
-
}
|
|
255
|
-
if (result.length > 0 && result.length < rootObj.members.length) {
|
|
256
|
-
const originalLastAfter = rootObj.members[rootObj.members.length - 1].after;
|
|
257
|
-
result[result.length - 1] = Object.assign(Object.assign({}, result[result.length - 1]), { after: originalLastAfter });
|
|
258
|
-
}
|
|
259
|
-
return Object.assign(Object.assign({}, doc), { value: Object.assign(Object.assign({}, rootObj), { members: result }) });
|
|
260
|
-
}
|
|
261
|
-
//# sourceMappingURL=remove-dependency.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"remove-dependency.js","sourceRoot":"","sources":["../../../src/javascript/recipes/remove-dependency.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,74 +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
|
-
interface MatchedDependency {
|
|
7
|
-
packageName: string;
|
|
8
|
-
dependencyScope: DependencyScope;
|
|
9
|
-
currentVersion: string;
|
|
10
|
-
}
|
|
11
|
-
interface ProjectUpdateInfo {
|
|
12
|
-
packageJsonPath: string;
|
|
13
|
-
originalPackageJson: string;
|
|
14
|
-
matchedDependencies: MatchedDependency[];
|
|
15
|
-
newVersion: string;
|
|
16
|
-
packageManager: PackageManager;
|
|
17
|
-
skipInstall: boolean;
|
|
18
|
-
configFiles?: Record<string, string>;
|
|
19
|
-
}
|
|
20
|
-
interface Accumulator extends DependencyRecipeAccumulator<ProjectUpdateInfo> {
|
|
21
|
-
/** Original lock file content, keyed by lock file path */
|
|
22
|
-
originalLockFiles: Map<string, string>;
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Upgrades the version of a direct dependency in package.json and updates the lock file.
|
|
26
|
-
*
|
|
27
|
-
* This recipe:
|
|
28
|
-
* 1. Finds package.json files containing the specified dependency
|
|
29
|
-
* 2. Updates the version constraint to the new version
|
|
30
|
-
* 3. Runs the package manager to update the lock file
|
|
31
|
-
* 4. Updates the NodeResolutionResult marker with new dependency info
|
|
32
|
-
*
|
|
33
|
-
* For upgrading transitive dependencies (those pulled in indirectly by your direct
|
|
34
|
-
* dependencies), use `UpgradeTransitiveDependencyVersion` instead.
|
|
35
|
-
*
|
|
36
|
-
* @see UpgradeTransitiveDependencyVersion for transitive dependencies
|
|
37
|
-
*/
|
|
38
|
-
export declare class UpgradeDependencyVersion extends ScanningRecipe<Accumulator> {
|
|
39
|
-
readonly name = "org.openrewrite.javascript.dependencies.upgrade-dependency-version";
|
|
40
|
-
readonly displayName = "Upgrade npm dependency version";
|
|
41
|
-
readonly description = "Upgrades the version of a direct dependency in `package.json` and updates the lock file by running the package manager. Either `packageName` or `packagePattern` must be specified.";
|
|
42
|
-
packageName?: string;
|
|
43
|
-
packagePattern?: string;
|
|
44
|
-
newVersion: string;
|
|
45
|
-
private _matcher?;
|
|
46
|
-
private get matcher();
|
|
47
|
-
matchesPackage(name: string): boolean;
|
|
48
|
-
initialValue(_ctx: ExecutionContext): Accumulator;
|
|
49
|
-
/**
|
|
50
|
-
* Determines if the dependency should be upgraded from currentVersion to newVersion.
|
|
51
|
-
* Returns true only if the new version constraint represents a strictly newer version.
|
|
52
|
-
*
|
|
53
|
-
* This prevents:
|
|
54
|
-
* - Re-applying the same version (idempotency)
|
|
55
|
-
* - Downgrading to an older version
|
|
56
|
-
*
|
|
57
|
-
* @param currentVersion Current version constraint (e.g., "^4.17.20")
|
|
58
|
-
* @param newVersion New version constraint to apply (e.g., "^4.17.21")
|
|
59
|
-
* @returns true if upgrade should proceed, false otherwise
|
|
60
|
-
*/
|
|
61
|
-
shouldUpgrade(currentVersion: string, newVersion: string): boolean;
|
|
62
|
-
scanner(acc: Accumulator): Promise<TreeVisitor<any, ExecutionContext>>;
|
|
63
|
-
editorWithData(acc: Accumulator): Promise<TreeVisitor<any, ExecutionContext>>;
|
|
64
|
-
/**
|
|
65
|
-
* Runs the package manager in a temporary directory to update the lock file.
|
|
66
|
-
* Writes a modified package.json with the new version, then runs install to update the lock file.
|
|
67
|
-
* All file contents are provided from in-memory sources (SourceFiles), not read from disk.
|
|
68
|
-
*/
|
|
69
|
-
private runPackageManagerInstall;
|
|
70
|
-
private createModifiedPackageJson;
|
|
71
|
-
private updateMarkerVersionConstraint;
|
|
72
|
-
}
|
|
73
|
-
export {};
|
|
74
|
-
//# sourceMappingURL=upgrade-dependency-version.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"upgrade-dependency-version.d.ts","sourceRoot":"","sources":["../../../src/javascript/recipes/upgrade-dependency-version.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;AAMnC,OAAO,EAGH,2BAA2B,EAQ9B,MAAM,oBAAoB,CAAC;AAE5B,UAAU,iBAAiB;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,eAAe,CAAC;IACjC,cAAc,EAAE,MAAM,CAAC;CAC1B;AAED,UAAU,iBAAiB;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mBAAmB,EAAE,iBAAiB,EAAE,CAAC;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,cAAc,CAAC;IAC/B,WAAW,EAAE,OAAO,CAAC;IACrB,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;;;;;;;;;;;;;GAaG;AACH,qBAAa,wBAAyB,SAAQ,cAAc,CAAC,WAAW,CAAC;IACrE,QAAQ,CAAC,IAAI,wEAAwE;IACrF,QAAQ,CAAC,WAAW,oCAAoC;IACxD,QAAQ,CAAC,WAAW,yLAAyL;IAQ7M,WAAW,CAAC,EAAE,MAAM,CAAC;IAQrB,cAAc,CAAC,EAAE,MAAM,CAAC;IAOxB,UAAU,EAAG,MAAM,CAAC;IAEpB,OAAO,CAAC,QAAQ,CAAC,CAAoB;IAErC,OAAO,KAAK,OAAO,GAOlB;IAED,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAUrC,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,WAAW;IAUjD;;;;;;;;;;;OAWG;IACH,aAAa,CAAC,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO;IAqB5D,OAAO,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;IA0GtE,cAAc,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;IAgEnF;;;;OAIG;YACW,wBAAwB;IAiCtC,OAAO,CAAC,yBAAyB;IAgBjC,OAAO,CAAC,6BAA6B;CA4BxC"}
|