@psync/patch-package 1.0.0
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/CHANGELOG.md +9 -0
- package/LICENSE +19 -0
- package/README.md +422 -0
- package/dist/PackageDetails.js +126 -0
- package/dist/applyPatches.js +414 -0
- package/dist/assertNever.js +7 -0
- package/dist/coerceSemVer.js +11 -0
- package/dist/createIssue.js +115 -0
- package/dist/detectPackageManager.js +98 -0
- package/dist/filterFiles.js +16 -0
- package/dist/getAppRootPath.js +22 -0
- package/dist/getPackageResolution.js +121 -0
- package/dist/getPackageVersion.js +8 -0
- package/dist/hash.js +26 -0
- package/dist/index.js +208 -0
- package/dist/makePatch.js +450 -0
- package/dist/makeRegExp.js +28 -0
- package/dist/packageIsDevDependency.js +14 -0
- package/dist/parseBunLockfile.js +16 -0
- package/dist/patch/apply.js +251 -0
- package/dist/patch/parse.js +335 -0
- package/dist/patch/read.js +48 -0
- package/dist/patch/reverse.js +97 -0
- package/dist/patchFs.js +55 -0
- package/dist/path.js +17 -0
- package/dist/rebase.js +147 -0
- package/dist/resolveRelativeFileDependencies.js +20 -0
- package/dist/spawnSafe.js +28 -0
- package/dist/stateFile.js +71 -0
- package/index.js +3 -0
- package/package.json +102 -0
package/dist/rebase.js
ADDED
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.rebase = rebase;
|
|
7
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
+
const path_1 = require("path");
|
|
9
|
+
const applyPatches_1 = require("./applyPatches");
|
|
10
|
+
const hash_1 = require("./hash");
|
|
11
|
+
const patchFs_1 = require("./patchFs");
|
|
12
|
+
const stateFile_1 = require("./stateFile");
|
|
13
|
+
function rebase({ appPath, patchDir, packagePathSpecifier, targetPatch, }) {
|
|
14
|
+
const patchesDirectory = (0, path_1.join)(appPath, patchDir);
|
|
15
|
+
const groupedPatches = (0, patchFs_1.getGroupedPatches)(patchesDirectory);
|
|
16
|
+
if (groupedPatches.numPatchFiles === 0) {
|
|
17
|
+
console.log(chalk_1.default.blueBright("No patch files found"));
|
|
18
|
+
process.exit(1);
|
|
19
|
+
}
|
|
20
|
+
const packagePatches = groupedPatches.pathSpecifierToPatchFiles[packagePathSpecifier];
|
|
21
|
+
if (!packagePatches) {
|
|
22
|
+
console.log(chalk_1.default.blueBright("No patch files found for package"), packagePathSpecifier);
|
|
23
|
+
process.exit(1);
|
|
24
|
+
}
|
|
25
|
+
const state = (0, stateFile_1.getPatchApplicationState)(packagePatches[0]);
|
|
26
|
+
if (!state) {
|
|
27
|
+
console.log(chalk_1.default.blueBright("No patch state found"), "Did you forget to run", chalk_1.default.bold("patch-package"), "(without arguments) first?");
|
|
28
|
+
process.exit(1);
|
|
29
|
+
}
|
|
30
|
+
if (state.isRebasing) {
|
|
31
|
+
console.log(chalk_1.default.blueBright("Already rebasing"), "Make changes to the files in", chalk_1.default.bold(packagePatches[0].path), "and then run `patch-package", packagePathSpecifier, "--continue` to", packagePatches.length === state.patches.length
|
|
32
|
+
? "append a patch file"
|
|
33
|
+
: `update the ${packagePatches[packagePatches.length - 1].patchFilename} file`);
|
|
34
|
+
console.log(`💡 To remove a broken patch file, delete it and reinstall node_modules`);
|
|
35
|
+
process.exit(1);
|
|
36
|
+
}
|
|
37
|
+
if (state.patches.length !== packagePatches.length) {
|
|
38
|
+
console.log(chalk_1.default.blueBright("Some patches have not been applied."), "Reinstall node_modules and try again.");
|
|
39
|
+
}
|
|
40
|
+
// check hashes
|
|
41
|
+
(0, stateFile_1.verifyAppliedPatches)({ appPath, patchDir, state });
|
|
42
|
+
if (targetPatch === "0") {
|
|
43
|
+
// unapply all
|
|
44
|
+
unApplyPatches({
|
|
45
|
+
patches: packagePatches,
|
|
46
|
+
appPath,
|
|
47
|
+
patchDir,
|
|
48
|
+
});
|
|
49
|
+
(0, stateFile_1.savePatchApplicationState)({
|
|
50
|
+
packageDetails: packagePatches[0],
|
|
51
|
+
isRebasing: true,
|
|
52
|
+
patches: [],
|
|
53
|
+
});
|
|
54
|
+
console.log(`
|
|
55
|
+
Make any changes you need inside ${chalk_1.default.bold(packagePatches[0].path)}
|
|
56
|
+
|
|
57
|
+
When you are done, run
|
|
58
|
+
|
|
59
|
+
${chalk_1.default.bold(`patch-package ${packagePathSpecifier} --append 'MyChangeDescription'`)}
|
|
60
|
+
|
|
61
|
+
to insert a new patch file.
|
|
62
|
+
`);
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
// find target patch
|
|
66
|
+
const target = packagePatches.find((p) => {
|
|
67
|
+
if (p.patchFilename === targetPatch) {
|
|
68
|
+
return true;
|
|
69
|
+
}
|
|
70
|
+
if ((0, path_1.resolve)(process.cwd(), targetPatch) ===
|
|
71
|
+
(0, path_1.join)(patchesDirectory, p.patchFilename)) {
|
|
72
|
+
return true;
|
|
73
|
+
}
|
|
74
|
+
if (targetPatch === p.sequenceName) {
|
|
75
|
+
return true;
|
|
76
|
+
}
|
|
77
|
+
const n = Number(targetPatch.replace(/^0+/g, ""));
|
|
78
|
+
if (!isNaN(n) && n === p.sequenceNumber) {
|
|
79
|
+
return true;
|
|
80
|
+
}
|
|
81
|
+
return false;
|
|
82
|
+
});
|
|
83
|
+
if (!target) {
|
|
84
|
+
console.log(chalk_1.default.red("Could not find target patch file"), chalk_1.default.bold(targetPatch));
|
|
85
|
+
console.log();
|
|
86
|
+
console.log("The list of available patch files is:");
|
|
87
|
+
packagePatches.forEach((p) => {
|
|
88
|
+
console.log(` - ${p.patchFilename}`);
|
|
89
|
+
});
|
|
90
|
+
process.exit(1);
|
|
91
|
+
}
|
|
92
|
+
const currentHash = (0, hash_1.hashFile)((0, path_1.join)(patchesDirectory, target.patchFilename));
|
|
93
|
+
const prevApplication = state.patches.find((p) => p.patchContentHash === currentHash);
|
|
94
|
+
if (!prevApplication) {
|
|
95
|
+
console.log(chalk_1.default.red("Could not find previous application of patch file"), chalk_1.default.bold(target.patchFilename));
|
|
96
|
+
console.log();
|
|
97
|
+
console.log("You should reinstall node_modules and try again.");
|
|
98
|
+
process.exit(1);
|
|
99
|
+
}
|
|
100
|
+
// ok, we are good to start undoing all the patches that were applied up to but not including the target patch
|
|
101
|
+
const targetIdx = state.patches.indexOf(prevApplication);
|
|
102
|
+
unApplyPatches({
|
|
103
|
+
patches: packagePatches.slice(targetIdx + 1),
|
|
104
|
+
appPath,
|
|
105
|
+
patchDir,
|
|
106
|
+
});
|
|
107
|
+
(0, stateFile_1.savePatchApplicationState)({
|
|
108
|
+
packageDetails: packagePatches[0],
|
|
109
|
+
isRebasing: true,
|
|
110
|
+
patches: packagePatches.slice(0, targetIdx + 1).map((p) => ({
|
|
111
|
+
patchFilename: p.patchFilename,
|
|
112
|
+
patchContentHash: (0, hash_1.hashFile)((0, path_1.join)(patchesDirectory, p.patchFilename)),
|
|
113
|
+
didApply: true,
|
|
114
|
+
})),
|
|
115
|
+
});
|
|
116
|
+
console.log(`
|
|
117
|
+
Make any changes you need inside ${chalk_1.default.bold(packagePatches[0].path)}
|
|
118
|
+
|
|
119
|
+
When you are done, do one of the following:
|
|
120
|
+
|
|
121
|
+
To update ${chalk_1.default.bold(packagePatches[targetIdx].patchFilename)} run
|
|
122
|
+
|
|
123
|
+
${chalk_1.default.bold(`patch-package ${packagePathSpecifier}`)}
|
|
124
|
+
|
|
125
|
+
To create a new patch file after ${chalk_1.default.bold(packagePatches[targetIdx].patchFilename)} run
|
|
126
|
+
|
|
127
|
+
${chalk_1.default.bold(`patch-package ${packagePathSpecifier} --append 'MyChangeDescription'`)}
|
|
128
|
+
|
|
129
|
+
`);
|
|
130
|
+
}
|
|
131
|
+
function unApplyPatches({ patches, appPath, patchDir, }) {
|
|
132
|
+
for (const patch of patches.slice().reverse()) {
|
|
133
|
+
if (!(0, applyPatches_1.applyPatch)({
|
|
134
|
+
patchFilePath: (0, path_1.join)(appPath, patchDir, patch.patchFilename),
|
|
135
|
+
reverse: true,
|
|
136
|
+
patchDetails: patch,
|
|
137
|
+
patchDir,
|
|
138
|
+
cwd: process.cwd(),
|
|
139
|
+
bestEffort: false,
|
|
140
|
+
})) {
|
|
141
|
+
console.log(chalk_1.default.red("Failed to un-apply patch file"), chalk_1.default.bold(patch.patchFilename), "Try completely reinstalling node_modules.");
|
|
142
|
+
process.exit(1);
|
|
143
|
+
}
|
|
144
|
+
console.log(chalk_1.default.cyan.bold("Un-applied"), patch.patchFilename);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmViYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3JlYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQVlBLHdCQW9MQztBQWhNRCxrREFBeUI7QUFDekIsK0JBQW9DO0FBQ3BDLGlEQUEyQztBQUMzQyxpQ0FBaUM7QUFFakMsdUNBQTZDO0FBQzdDLDJDQUlvQjtBQUVwQixTQUFnQixNQUFNLENBQUMsRUFDckIsT0FBTyxFQUNQLFFBQVEsRUFDUixvQkFBb0IsRUFDcEIsV0FBVyxHQU1aO0lBQ0MsTUFBTSxnQkFBZ0IsR0FBRyxJQUFBLFdBQUksRUFBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUE7SUFDaEQsTUFBTSxjQUFjLEdBQUcsSUFBQSwyQkFBaUIsRUFBQyxnQkFBZ0IsQ0FBQyxDQUFBO0lBRTFELElBQUksY0FBYyxDQUFDLGFBQWEsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN2QyxPQUFPLENBQUMsR0FBRyxDQUFDLGVBQUssQ0FBQyxVQUFVLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFBO1FBQ3JELE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDakIsQ0FBQztJQUVELE1BQU0sY0FBYyxHQUNsQixjQUFjLENBQUMseUJBQXlCLENBQUMsb0JBQW9CLENBQUMsQ0FBQTtJQUNoRSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDcEIsT0FBTyxDQUFDLEdBQUcsQ0FDVCxlQUFLLENBQUMsVUFBVSxDQUFDLGtDQUFrQyxDQUFDLEVBQ3BELG9CQUFvQixDQUNyQixDQUFBO1FBQ0QsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUNqQixDQUFDO0lBRUQsTUFBTSxLQUFLLEdBQUcsSUFBQSxvQ0FBd0IsRUFBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUV6RCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDWCxPQUFPLENBQUMsR0FBRyxDQUNULGVB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QUMsQ0FBQTtBQUNKLENBQUM7QUFFRCxTQUFTLGNBQWMsQ0FBQyxFQUN0QixPQUFPLEVBQ1AsT0FBTyxFQUNQLFFBQVEsR0FLVDtJQUNDLEtBQUssTUFBTSxLQUFLLElBQUksT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7UUFDOUMsSUFDRSxDQUFDLElBQUEseUJBQVUsRUFBQztZQUNWLGFBQWEsRUFBRSxJQUFBLFdBQUksRUFBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxhQUFhLENBQVc7WUFDckUsT0FBTyxFQUFFLElBQUk7WUFDYixZQUFZLEVBQUUsS0FBSztZQUNuQixRQUFRO1lBQ1IsR0FBRyxFQUFFLE9BQU8sQ0FBQyxHQUFHLEVBQUU7WUFDbEIsVUFBVSxFQUFFLEtBQUs7U0FDbEIsQ0FBQyxFQUNGLENBQUM7WUFDRCxPQUFPLENBQUMsR0FBRyxDQUNULGVBQUssQ0FBQyxHQUFHLENBQUMsK0JBQStCLENBQUMsRUFDMUMsZUFBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEVBQy9CLDJDQUEyQyxDQUM1QyxDQUFBO1lBQ0QsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNqQixDQUFDO1FBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUE7SUFDakUsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY2hhbGsgZnJvbSBcImNoYWxrXCJcclxuaW1wb3J0IHsgam9pbiwgcmVzb2x2ZSB9IGZyb20gXCJwYXRoXCJcclxuaW1wb3J0IHsgYXBwbHlQYXRjaCB9IGZyb20gXCIuL2FwcGx5UGF0Y2hlc1wiXHJcbmltcG9ydCB7IGhhc2hGaWxlIH0gZnJvbSBcIi4vaGFzaFwiXHJcbmltcG9ydCB7IFBhdGNoZWRQYWNrYWdlRGV0YWlscyB9IGZyb20gXCIuL1BhY2thZ2VEZXRhaWxzXCJcclxuaW1wb3J0IHsgZ2V0R3JvdXBlZFBhdGNoZXMgfSBmcm9tIFwiLi9wYXRjaEZzXCJcclxuaW1wb3J0IHtcclxuICBnZXRQYXRjaEFwcGxpY2F0aW9uU3RhdGUsXHJcbiAgc2F2ZVBhdGNoQXBwbGljYXRpb25TdGF0ZSxcclxuICB2ZXJpZnlBcHBsaWVkUGF0Y2hlcyxcclxufSBmcm9tIFwiLi9zdGF0ZUZpbGVcIlxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHJlYmFzZSh7XHJcbiAgYXBwUGF0aCxcclxuICBwYXRjaERpcixcclxuICBwYWNrYWdlUGF0aFNwZWNpZmllcixcclxuICB0YXJnZXRQYXRjaCxcclxufToge1xyXG4gIGFwcFBhdGg6IHN0cmluZ1xyXG4gIHBhdGNoRGlyOiBzdHJpbmdcclxuICBwYWNrYWdlUGF0aFNwZWNpZmllcjogc3RyaW5nXHJcbiAgdGFyZ2V0UGF0Y2g6IHN0cmluZ1xyXG59KTogdm9pZCB7XHJcbiAgY29uc3QgcGF0Y2hlc0RpcmVjdG9yeSA9IGpvaW4oYXBwUGF0aCwgcGF0Y2hEaXIpXHJcbiAgY29uc3QgZ3JvdXBlZFBhdGNoZXMgPSBnZXRHcm91cGVkUGF0Y2hlcyhwYXRjaGVzRGlyZWN0b3J5KVxyXG5cclxuICBpZiAoZ3JvdXBlZFBhdGNoZXMubnVtUGF0Y2hGaWxlcyA9PT0gMCkge1xyXG4gICAgY29uc29sZS5sb2coY2hhbGsuYmx1ZUJyaWdodChcIk5vIHBhdGNoIGZpbGVzIGZvdW5kXCIpKVxyXG4gICAgcHJvY2Vzcy5leGl0KDEpXHJcbiAgfVxyXG5cclxuICBjb25zdCBwYWNrYWdlUGF0Y2hlcyA9XHJcbiAgICBncm91cGVkUGF0Y2hlcy5wYXRoU3BlY2lmaWVyVG9QYXRjaEZpbGVzW3BhY2thZ2VQYXRoU3BlY2lmaWVyXVxyXG4gIGlmICghcGFja2FnZVBhdGNoZXMpIHtcclxuICAgIGNvbnNvbGUubG9nKFxyXG4gICAgICBjaGFsay5ibHVlQnJpZ2h0KFwiTm8gcGF0Y2ggZmlsZXMgZm91bmQgZm9yIHBhY2thZ2VcIiksXHJcbiAgICAgIHBhY2thZ2VQYXRoU3BlY2lmaWVyLFxyXG4gICAgKVxyXG4gICAgcHJvY2Vzcy5leGl0KDEpXHJcbiAgfVxyXG5cclxuICBjb25zdCBzdGF0ZSA9IGdldFBhdGNoQXBwbGljYXRpb25TdGF0ZShwYWNrYWdlUGF0Y2hlc1swXSlcclxuXHJcbiAgaWYgKCFzdGF0ZSkge1xyXG4gICAgY29uc29sZS5sb2coXHJcbiAgICAgIGNoYWxrLmJsdWVCcmlnaHQoXCJObyBwYXRjaCBzdGF0ZSBmb3VuZFwiKSxcclxuICAgICAgXCJEaWQgeW91IGZvcmdldCB0byBydW5cIixcclxuICAgICAgY2hhbGsuYm9sZChcInBhdGNoLXBhY2thZ2VcIiksXHJcbiAgICAgIFwiKHdpdGhvdXQgYXJndW1lbnRzKSBmaXJzdD9cIixcclxuICAgIClcclxuICAgIHByb2Nlc3MuZXhpdCgxKVxyXG4gIH1cclxuICBpZiAoc3RhdGUuaXNSZWJhc2luZykge1xyXG4gICAgY29uc29sZS5sb2coXHJcbiAgICAgIGNoYWxrLmJsdWVCcmlnaHQoXCJBbHJlYWR5IHJlYmFzaW5nXCIpLFxyXG4gICAgICBcIk1ha2UgY2hhbmdlcyB0byB0aGUgZmlsZXMgaW5cIixcclxuICAgICAgY2hhbGsuYm9sZChwYWNrYWdlUGF0Y2hlc1swXS5wYXRoKSxcclxuICAgICAgXCJhbmQgdGhlbiBydW4gYHBhdGNoLXBhY2thZ2VcIixcclxuICAgICAgcGFja2FnZVBhdGhTcGVjaWZpZXIsXHJcbiAgICAgIFwiLS1jb250aW51ZWAgdG9cIixcclxuICAgICAgcGFja2FnZVBhdGNoZXMubGVuZ3RoID09PSBzdGF0ZS5wYXRjaGVzLmxlbmd0aFxyXG4gICAgICAgID8gXCJhcHBlbmQgYSBwYXRjaCBmaWxlXCJcclxuICAgICAgICA6IGB1cGRhdGUgdGhlICR7XHJcbiAgICAgICAgICAgIHBhY2thZ2VQYXRjaGVzW3BhY2thZ2VQYXRjaGVzLmxlbmd0aCAtIDFdLnBhdGNoRmlsZW5hbWVcclxuICAgICAgICAgIH0gZmlsZWAsXHJcbiAgICApXHJcbiAgICBjb25zb2xlLmxvZyhcclxuICAgICAgYPCfkqEgVG8gcmVtb3ZlIGEgYnJva2VuIHBhdGNoIGZpbGUsIGRlbGV0ZSBpdCBhbmQgcmVpbnN0YWxsIG5vZGVfbW9kdWxlc2AsXHJcbiAgICApXHJcbiAgICBwcm9jZXNzLmV4aXQoMSlcclxuICB9XHJcbiAgaWYgKHN0YXRlLnBhdGNoZXMubGVuZ3RoICE9PSBwYWNrYWdlUGF0Y2hlcy5sZW5ndGgpIHtcclxuICAgIGNvbnNvbGUubG9nKFxyXG4gICAgICBjaGFsay5ibHVlQnJpZ2h0KFwiU29tZSBwYXRjaGVzIGhhdmUgbm90IGJlZW4gYXBwbGllZC5cIiksXHJcbiAgICAgIFwiUmVpbnN0YWxsIG5vZGVfbW9kdWxlcyBhbmQgdHJ5IGFnYWluLlwiLFxyXG4gICAgKVxyXG4gIH1cclxuICAvLyBjaGVjayBoYXNoZXNcclxuICB2ZXJpZnlBcHBsaWVkUGF0Y2hlcyh7IGFwcFBhdGgsIHBhdGNoRGlyLCBzdGF0ZSB9KVxyXG5cclxuICBpZiAodGFyZ2V0UGF0Y2ggPT09IFwiMFwiKSB7XHJcbiAgICAvLyB1bmFwcGx5IGFsbFxyXG4gICAgdW5BcHBseVBhdGNoZXMoe1xyXG4gICAgICBwYXRjaGVzOiBwYWNrYWdlUGF0Y2hlcyxcclxuICAgICAgYXBwUGF0aCxcclxuICAgICAgcGF0Y2hEaXIsXHJcbiAgICB9KVxyXG4gICAgc2F2ZVBhdGNoQXBwbGljYXRpb25TdGF0ZSh7XHJcbiAgICAgIHBhY2thZ2VEZXRhaWxzOiBwYWNrYWdlUGF0Y2hlc1swXSxcclxuICAgICAgaXNSZWJhc2luZzogdHJ1ZSxcclxuICAgICAgcGF0Y2hlczogW10sXHJcbiAgICB9KVxyXG4gICAgY29uc29sZS5sb2coYFxyXG5NYWtlIGFueSBjaGFuZ2VzIHlvdSBuZWVkIGluc2lkZSAke2NoYWxrLmJvbGQocGFja2FnZVBhdGNoZXNbMF0ucGF0aCl9XHJcblxyXG5XaGVuIHlvdSBhcmUgZG9uZSwgcnVuXHJcblxyXG4gICR7Y2hhbGsuYm9sZChcclxuICAgIGBwYXRjaC1wYWNrYWdlICR7cGFja2FnZVBhdGhTcGVjaWZpZXJ9IC0tYXBwZW5kICdNeUNoYW5nZURlc2NyaXB0aW9uJ2AsXHJcbiAgKX1cclxuICBcclxudG8gaW5zZXJ0IGEgbmV3IHBhdGNoIGZpbGUuXHJcbmApXHJcbiAgICByZXR1cm5cclxuICB9XHJcblxyXG4gIC8vIGZpbmQgdGFyZ2V0IHBhdGNoXHJcbiAgY29uc3QgdGFyZ2V0ID0gcGFja2FnZVBhdGNoZXMuZmluZCgocCkgPT4ge1xyXG4gICAgaWYgKHAucGF0Y2hGaWxlbmFtZSA9PT0gdGFyZ2V0UGF0Y2gpIHtcclxuICAgICAgcmV0dXJuIHRydWVcclxuICAgIH1cclxuICAgIGlmIChcclxuICAgICAgcmVzb2x2ZShwcm9jZXNzLmN3ZCgpLCB0YXJnZXRQYXRjaCkgPT09XHJcbiAgICAgIGpvaW4ocGF0Y2hlc0RpcmVjdG9yeSwgcC5wYXRjaEZpbGVuYW1lKVxyXG4gICAgKSB7XHJcbiAgICAgIHJldHVybiB0cnVlXHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRhcmdldFBhdGNoID09PSBwLnNlcXVlbmNlTmFtZSkge1xyXG4gICAgICByZXR1cm4gdHJ1ZVxyXG4gICAgfVxyXG4gICAgY29uc3QgbiA9IE51bWJlcih0YXJnZXRQYXRjaC5yZXBsYWNlKC9eMCsvZywgXCJcIikpXHJcbiAgICBpZiAoIWlzTmFOKG4pICYmIG4gPT09IHAuc2VxdWVuY2VOdW1iZXIpIHtcclxuICAgICAgcmV0dXJuIHRydWVcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZVxyXG4gIH0pXHJcblxyXG4gIGlmICghdGFyZ2V0KSB7XHJcbiAgICBjb25zb2xlLmxvZyhcclxuICAgICAgY2hhbGsucmVkKFwiQ291bGQgbm90IGZpbmQgdGFyZ2V0IHBhdGNoIGZpbGVcIiksXHJcbiAgICAgIGNoYWxrLmJvbGQodGFyZ2V0UGF0Y2gpLFxyXG4gICAgKVxyXG4gICAgY29uc29sZS5sb2coKVxyXG4gICAgY29uc29sZS5sb2coXCJUaGUgbGlzdCBvZiBhdmFpbGFibGUgcGF0Y2ggZmlsZXMgaXM6XCIpXHJcbiAgICBwYWNrYWdlUGF0Y2hlcy5mb3JFYWNoKChwKSA9PiB7XHJcbiAgICAgIGNvbnNvbGUubG9nKGAgIC0gJHtwLnBhdGNoRmlsZW5hbWV9YClcclxuICAgIH0pXHJcblxyXG4gICAgcHJvY2Vzcy5leGl0KDEpXHJcbiAgfVxyXG4gIGNvbnN0IGN1cnJlbnRIYXNoID0gaGFzaEZpbGUoam9pbihwYXRjaGVzRGlyZWN0b3J5LCB0YXJnZXQucGF0Y2hGaWxlbmFtZSkpXHJcblxyXG4gIGNvbnN0IHByZXZBcHBsaWNhdGlvbiA9IHN0YXRlLnBhdGNoZXMuZmluZChcclxuICAgIChwKSA9PiBwLnBhdGNoQ29udGVudEhhc2ggPT09IGN1cnJlbnRIYXNoLFxyXG4gIClcclxuICBpZiAoIXByZXZBcHBsaWNhdGlvbikge1xyXG4gICAgY29uc29sZS5sb2coXHJcbiAgICAgIGNoYWxrLnJlZChcIkNvdWxkIG5vdCBmaW5kIHByZXZpb3VzIGFwcGxpY2F0aW9uIG9mIHBhdGNoIGZpbGVcIiksXHJcbiAgICAgIGNoYWxrLmJvbGQodGFyZ2V0LnBhdGNoRmlsZW5hbWUpLFxyXG4gICAgKVxyXG4gICAgY29uc29sZS5sb2coKVxyXG4gICAgY29uc29sZS5sb2coXCJZb3Ugc2hvdWxkIHJlaW5zdGFsbCBub2RlX21vZHVsZXMgYW5kIHRyeSBhZ2Fpbi5cIilcclxuICAgIHByb2Nlc3MuZXhpdCgxKVxyXG4gIH1cclxuXHJcbiAgLy8gb2ssIHdlIGFyZSBnb29kIHRvIHN0YXJ0IHVuZG9pbmcgYWxsIHRoZSBwYXRjaGVzIHRoYXQgd2VyZSBhcHBsaWVkIHVwIHRvIGJ1dCBub3QgaW5jbHVkaW5nIHRoZSB0YXJnZXQgcGF0Y2hcclxuICBjb25zdCB0YXJnZXRJZHggPSBzdGF0ZS5wYXRjaGVzLmluZGV4T2YocHJldkFwcGxpY2F0aW9uKVxyXG5cclxuICB1bkFwcGx5UGF0Y2hlcyh7XHJcbiAgICBwYXRjaGVzOiBwYWNrYWdlUGF0Y2hlcy5zbGljZSh0YXJnZXRJZHggKyAxKSxcclxuICAgIGFwcFBhdGgsXHJcbiAgICBwYXRjaERpcixcclxuICB9KVxyXG4gIHNhdmVQYXRjaEFwcGxpY2F0aW9uU3RhdGUoe1xyXG4gICAgcGFja2FnZURldGFpbHM6IHBhY2thZ2VQYXRjaGVzWzBdLFxyXG4gICAgaXNSZWJhc2luZzogdHJ1ZSxcclxuICAgIHBhdGNoZXM6IHBhY2thZ2VQYXRjaGVzLnNsaWNlKDAsIHRhcmdldElkeCArIDEpLm1hcCgocCkgPT4gKHtcclxuICAgICAgcGF0Y2hGaWxlbmFtZTogcC5wYXRjaEZpbGVuYW1lLFxyXG4gICAgICBwYXRjaENvbnRlbnRIYXNoOiBoYXNoRmlsZShqb2luKHBhdGNoZXNEaXJlY3RvcnksIHAucGF0Y2hGaWxlbmFtZSkpLFxyXG4gICAgICBkaWRBcHBseTogdHJ1ZSxcclxuICAgIH0pKSxcclxuICB9KVxyXG5cclxuICBjb25zb2xlLmxvZyhgXHJcbk1ha2UgYW55IGNoYW5nZXMgeW91IG5lZWQgaW5zaWRlICR7Y2hhbGsuYm9sZChwYWNrYWdlUGF0Y2hlc1swXS5wYXRoKX1cclxuXHJcbldoZW4geW91IGFyZSBkb25lLCBkbyBvbmUgb2YgdGhlIGZvbGxvd2luZzpcclxuXHJcbiAgVG8gdXBkYXRlICR7Y2hhbGsuYm9sZChwYWNrYWdlUGF0Y2hlc1t0YXJnZXRJZHhdLnBhdGNoRmlsZW5hbWUpfSBydW5cclxuXHJcbiAgICAke2NoYWxrLmJvbGQoYHBhdGNoLXBhY2thZ2UgJHtwYWNrYWdlUGF0aFNwZWNpZmllcn1gKX1cclxuICAgIFxyXG4gIFRvIGNyZWF0ZSBhIG5ldyBwYXRjaCBmaWxlIGFmdGVyICR7Y2hhbGsuYm9sZChcclxuICAgIHBhY2thZ2VQYXRjaGVzW3RhcmdldElkeF0ucGF0Y2hGaWxlbmFtZSxcclxuICApfSBydW5cclxuICBcclxuICAgICR7Y2hhbGsuYm9sZChcclxuICAgICAgYHBhdGNoLXBhY2thZ2UgJHtwYWNrYWdlUGF0aFNwZWNpZmllcn0gLS1hcHBlbmQgJ015Q2hhbmdlRGVzY3JpcHRpb24nYCxcclxuICAgICl9XHJcblxyXG4gIGApXHJcbn1cclxuXHJcbmZ1bmN0aW9uIHVuQXBwbHlQYXRjaGVzKHtcclxuICBwYXRjaGVzLFxyXG4gIGFwcFBhdGgsXHJcbiAgcGF0Y2hEaXIsXHJcbn06IHtcclxuICBwYXRjaGVzOiBQYXRjaGVkUGFja2FnZURldGFpbHNbXVxyXG4gIGFwcFBhdGg6IHN0cmluZ1xyXG4gIHBhdGNoRGlyOiBzdHJpbmdcclxufSkge1xyXG4gIGZvciAoY29uc3QgcGF0Y2ggb2YgcGF0Y2hlcy5zbGljZSgpLnJldmVyc2UoKSkge1xyXG4gICAgaWYgKFxyXG4gICAgICAhYXBwbHlQYXRjaCh7XHJcbiAgICAgICAgcGF0Y2hGaWxlUGF0aDogam9pbihhcHBQYXRoLCBwYXRjaERpciwgcGF0Y2gucGF0Y2hGaWxlbmFtZSkgYXMgc3RyaW5nLFxyXG4gICAgICAgIHJldmVyc2U6IHRydWUsXHJcbiAgICAgICAgcGF0Y2hEZXRhaWxzOiBwYXRjaCxcclxuICAgICAgICBwYXRjaERpcixcclxuICAgICAgICBjd2Q6IHByb2Nlc3MuY3dkKCksXHJcbiAgICAgICAgYmVzdEVmZm9ydDogZmFsc2UsXHJcbiAgICAgIH0pXHJcbiAgICApIHtcclxuICAgICAgY29uc29sZS5sb2coXHJcbiAgICAgICAgY2hhbGsucmVkKFwiRmFpbGVkIHRvIHVuLWFwcGx5IHBhdGNoIGZpbGVcIiksXHJcbiAgICAgICAgY2hhbGsuYm9sZChwYXRjaC5wYXRjaEZpbGVuYW1lKSxcclxuICAgICAgICBcIlRyeSBjb21wbGV0ZWx5IHJlaW5zdGFsbGluZyBub2RlX21vZHVsZXMuXCIsXHJcbiAgICAgIClcclxuICAgICAgcHJvY2Vzcy5leGl0KDEpXHJcbiAgICB9XHJcbiAgICBjb25zb2xlLmxvZyhjaGFsay5jeWFuLmJvbGQoXCJVbi1hcHBsaWVkXCIpLCBwYXRjaC5wYXRjaEZpbGVuYW1lKVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resolveRelativeFileDependencies = resolveRelativeFileDependencies;
|
|
4
|
+
const path_1 = require("./path");
|
|
5
|
+
function transformVersionString(version, appRootPath) {
|
|
6
|
+
if (version.startsWith("file:") && version[5] !== "/") {
|
|
7
|
+
return "file:" + (0, path_1.resolve)(appRootPath, version.slice(5));
|
|
8
|
+
}
|
|
9
|
+
else {
|
|
10
|
+
return version;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
function resolveRelativeFileDependencies(appRootPath, resolutions) {
|
|
14
|
+
const result = {};
|
|
15
|
+
for (const packageName of Object.keys(resolutions)) {
|
|
16
|
+
result[packageName] = transformVersionString(resolutions[packageName], appRootPath);
|
|
17
|
+
}
|
|
18
|
+
return result;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZVJlbGF0aXZlRmlsZURlcGVuZGVuY2llcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9yZXNvbHZlUmVsYXRpdmVGaWxlRGVwZW5kZW5jaWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBVUEsMEVBWUM7QUF0QkQsaUNBQWdDO0FBRWhDLFNBQVMsc0JBQXNCLENBQUMsT0FBZSxFQUFFLFdBQW1CO0lBQ2xFLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDdEQsT0FBTyxPQUFPLEdBQUcsSUFBQSxjQUFPLEVBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUN6RCxDQUFDO1NBQU0sQ0FBQztRQUNOLE9BQU8sT0FBTyxDQUFBO0lBQ2hCLENBQUM7QUFDSCxDQUFDO0FBRUQsU0FBZ0IsK0JBQStCLENBQzdDLFdBQW1CLEVBQ25CLFdBQThDO0lBRTlDLE1BQU0sTUFBTSxHQUFHLEVBQXVDLENBQUE7SUFDdEQsS0FBSyxNQUFNLFdBQVcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7UUFDbkQsTUFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFHLHNCQUFzQixDQUMxQyxXQUFXLENBQUMsV0FBVyxDQUFDLEVBQ3hCLFdBQVcsQ0FDWixDQUFBO0lBQ0gsQ0FBQztJQUNELE9BQU8sTUFBTSxDQUFBO0FBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlc29sdmUgfSBmcm9tIFwiLi9wYXRoXCJcclxuXHJcbmZ1bmN0aW9uIHRyYW5zZm9ybVZlcnNpb25TdHJpbmcodmVyc2lvbjogc3RyaW5nLCBhcHBSb290UGF0aDogc3RyaW5nKSB7XHJcbiAgaWYgKHZlcnNpb24uc3RhcnRzV2l0aChcImZpbGU6XCIpICYmIHZlcnNpb25bNV0gIT09IFwiL1wiKSB7XHJcbiAgICByZXR1cm4gXCJmaWxlOlwiICsgcmVzb2x2ZShhcHBSb290UGF0aCwgdmVyc2lvbi5zbGljZSg1KSlcclxuICB9IGVsc2Uge1xyXG4gICAgcmV0dXJuIHZlcnNpb25cclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlUmVsYXRpdmVGaWxlRGVwZW5kZW5jaWVzKFxyXG4gIGFwcFJvb3RQYXRoOiBzdHJpbmcsXHJcbiAgcmVzb2x1dGlvbnM6IHsgW3BhY2thZ2VOYW1lOiBzdHJpbmddOiBzdHJpbmcgfSxcclxuKSB7XHJcbiAgY29uc3QgcmVzdWx0ID0ge30gYXMgeyBbcGFja2FnZU5hbWU6IHN0cmluZ106IHN0cmluZyB9XHJcbiAgZm9yIChjb25zdCBwYWNrYWdlTmFtZSBvZiBPYmplY3Qua2V5cyhyZXNvbHV0aW9ucykpIHtcclxuICAgIHJlc3VsdFtwYWNrYWdlTmFtZV0gPSB0cmFuc2Zvcm1WZXJzaW9uU3RyaW5nKFxyXG4gICAgICByZXNvbHV0aW9uc1twYWNrYWdlTmFtZV0sXHJcbiAgICAgIGFwcFJvb3RQYXRoLFxyXG4gICAgKVxyXG4gIH1cclxuICByZXR1cm4gcmVzdWx0XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.spawnSafeSync = void 0;
|
|
4
|
+
const cross_spawn_1 = require("cross-spawn");
|
|
5
|
+
const defaultOptions = {
|
|
6
|
+
logStdErrOnError: true,
|
|
7
|
+
throwOnError: true,
|
|
8
|
+
};
|
|
9
|
+
const spawnSafeSync = (command, args, options) => {
|
|
10
|
+
const mergedOptions = Object.assign({}, defaultOptions, options);
|
|
11
|
+
const result = (0, cross_spawn_1.sync)(command, args, options);
|
|
12
|
+
if (result.error || result.status !== 0) {
|
|
13
|
+
if (mergedOptions.logStdErrOnError) {
|
|
14
|
+
if (result.stderr) {
|
|
15
|
+
console.log(result.stderr.toString());
|
|
16
|
+
}
|
|
17
|
+
else if (result.error) {
|
|
18
|
+
console.log(result.error);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
if (mergedOptions.throwOnError) {
|
|
22
|
+
throw result;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
return result;
|
|
26
|
+
};
|
|
27
|
+
exports.spawnSafeSync = spawnSafeSync;
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bhd25TYWZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3NwYXduU2FmZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBK0M7QUFTL0MsTUFBTSxjQUFjLEdBQXFCO0lBQ3ZDLGdCQUFnQixFQUFFLElBQUk7SUFDdEIsWUFBWSxFQUFFLElBQUk7Q0FDbkIsQ0FBQTtBQUVNLE1BQU0sYUFBYSxHQUFHLENBQzNCLE9BQWUsRUFDZixJQUFlLEVBQ2YsT0FBMEIsRUFDMUIsRUFBRTtJQUNGLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLGNBQWMsRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUNoRSxNQUFNLE1BQU0sR0FBRyxJQUFBLGtCQUFTLEVBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUNoRCxJQUFJLE1BQU0sQ0FBQyxLQUFLLElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN4QyxJQUFJLGFBQWEsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ25DLElBQUksTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNsQixPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQTtZQUN2QyxDQUFDO2lCQUFNLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUN4QixPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQTtZQUMzQixDQUFDO1FBQ0gsQ0FBQztRQUNELElBQUksYUFBYSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQy9CLE1BQU0sTUFBTSxDQUFBO1FBQ2QsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLE1BQU0sQ0FBQTtBQUNmLENBQUMsQ0FBQTtBQXBCWSxRQUFBLGFBQWEsaUJBb0J6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHN5bmMgYXMgc3Bhd25TeW5jIH0gZnJvbSBcImNyb3NzLXNwYXduXCJcclxuaW1wb3J0IHsgU3Bhd25PcHRpb25zIH0gZnJvbSBcImNoaWxkX3Byb2Nlc3NcIlxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTcGF3blNhZmVPcHRpb25zIGV4dGVuZHMgU3Bhd25PcHRpb25zIHtcclxuICB0aHJvd09uRXJyb3I/OiBib29sZWFuXHJcbiAgbG9nU3RkRXJyT25FcnJvcj86IGJvb2xlYW5cclxuICBtYXhCdWZmZXI/OiBudW1iZXJcclxufVxyXG5cclxuY29uc3QgZGVmYXVsdE9wdGlvbnM6IFNwYXduU2FmZU9wdGlvbnMgPSB7XHJcbiAgbG9nU3RkRXJyT25FcnJvcjogdHJ1ZSxcclxuICB0aHJvd09uRXJyb3I6IHRydWUsXHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBzcGF3blNhZmVTeW5jID0gKFxyXG4gIGNvbW1hbmQ6IHN0cmluZyxcclxuICBhcmdzPzogc3RyaW5nW10sXHJcbiAgb3B0aW9ucz86IFNwYXduU2FmZU9wdGlvbnMsXHJcbikgPT4ge1xyXG4gIGNvbnN0IG1lcmdlZE9wdGlvbnMgPSBPYmplY3QuYXNzaWduKHt9LCBkZWZhdWx0T3B0aW9ucywgb3B0aW9ucylcclxuICBjb25zdCByZXN1bHQgPSBzcGF3blN5bmMoY29tbWFuZCwgYXJncywgb3B0aW9ucylcclxuICBpZiAocmVzdWx0LmVycm9yIHx8IHJlc3VsdC5zdGF0dXMgIT09IDApIHtcclxuICAgIGlmIChtZXJnZWRPcHRpb25zLmxvZ1N0ZEVyck9uRXJyb3IpIHtcclxuICAgICAgaWYgKHJlc3VsdC5zdGRlcnIpIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhyZXN1bHQuc3RkZXJyLnRvU3RyaW5nKCkpXHJcbiAgICAgIH0gZWxzZSBpZiAocmVzdWx0LmVycm9yKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2cocmVzdWx0LmVycm9yKVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAobWVyZ2VkT3B0aW9ucy50aHJvd09uRXJyb3IpIHtcclxuICAgICAgdGhyb3cgcmVzdWx0XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJldHVybiByZXN1bHRcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.STATE_FILE_NAME = void 0;
|
|
7
|
+
exports.getPatchApplicationState = getPatchApplicationState;
|
|
8
|
+
exports.savePatchApplicationState = savePatchApplicationState;
|
|
9
|
+
exports.clearPatchApplicationState = clearPatchApplicationState;
|
|
10
|
+
exports.verifyAppliedPatches = verifyAppliedPatches;
|
|
11
|
+
const fs_1 = require("fs");
|
|
12
|
+
const path_1 = require("path");
|
|
13
|
+
const json_stable_stringify_1 = __importDefault(require("json-stable-stringify"));
|
|
14
|
+
const hash_1 = require("./hash");
|
|
15
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
16
|
+
const version = 1;
|
|
17
|
+
exports.STATE_FILE_NAME = ".patch-package.json";
|
|
18
|
+
function getPatchApplicationState(packageDetails) {
|
|
19
|
+
const fileName = (0, path_1.join)(packageDetails.path, exports.STATE_FILE_NAME);
|
|
20
|
+
let state = null;
|
|
21
|
+
try {
|
|
22
|
+
state = JSON.parse((0, fs_1.readFileSync)(fileName, "utf8"));
|
|
23
|
+
}
|
|
24
|
+
catch (e) {
|
|
25
|
+
// noop
|
|
26
|
+
}
|
|
27
|
+
if (!state) {
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
if (state.version !== version) {
|
|
31
|
+
console.log(`You upgraded patch-package and need to fully reinstall node_modules to continue.`);
|
|
32
|
+
process.exit(1);
|
|
33
|
+
}
|
|
34
|
+
return state;
|
|
35
|
+
}
|
|
36
|
+
function savePatchApplicationState({ packageDetails, patches, isRebasing, }) {
|
|
37
|
+
const fileName = (0, path_1.join)(packageDetails.path, exports.STATE_FILE_NAME);
|
|
38
|
+
const state = {
|
|
39
|
+
patches,
|
|
40
|
+
version,
|
|
41
|
+
isRebasing,
|
|
42
|
+
};
|
|
43
|
+
(0, fs_1.writeFileSync)(fileName, (0, json_stable_stringify_1.default)(state, { space: 4 }), "utf8");
|
|
44
|
+
}
|
|
45
|
+
function clearPatchApplicationState(packageDetails) {
|
|
46
|
+
const fileName = (0, path_1.join)(packageDetails.path, exports.STATE_FILE_NAME);
|
|
47
|
+
try {
|
|
48
|
+
(0, fs_1.unlinkSync)(fileName);
|
|
49
|
+
}
|
|
50
|
+
catch (e) {
|
|
51
|
+
// noop
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
function verifyAppliedPatches({ appPath, patchDir, state, }) {
|
|
55
|
+
const patchesDirectory = (0, path_1.join)(appPath, patchDir);
|
|
56
|
+
for (const patch of state.patches) {
|
|
57
|
+
if (!patch.didApply) {
|
|
58
|
+
break;
|
|
59
|
+
}
|
|
60
|
+
const fullPatchPath = (0, path_1.join)(patchesDirectory, patch.patchFilename);
|
|
61
|
+
if (!(0, fs_1.existsSync)(fullPatchPath)) {
|
|
62
|
+
console.log(chalk_1.default.blueBright("Expected patch file"), fullPatchPath, "to exist but it is missing. Try removing and reinstalling node_modules first.");
|
|
63
|
+
process.exit(1);
|
|
64
|
+
}
|
|
65
|
+
if (patch.patchContentHash !== (0, hash_1.hashFile)(fullPatchPath)) {
|
|
66
|
+
console.log(chalk_1.default.blueBright("Patch file"), fullPatchPath, "has changed since it was applied. Try removing and reinstalling node_modules first.");
|
|
67
|
+
process.exit(1);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGVGaWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3N0YXRlRmlsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFxQkEsNERBcUJDO0FBRUQsOERBa0JDO0FBRUQsZ0VBUUM7QUFFRCxvREFnQ0M7QUExR0QsMkJBQXdFO0FBQ3hFLCtCQUEyQjtBQUUzQixrRkFBNkM7QUFDN0MsaUNBQWlDO0FBQ2pDLGtEQUF5QjtBQU96QixNQUFNLE9BQU8sR0FBRyxDQUFDLENBQUE7QUFPSixRQUFBLGVBQWUsR0FBRyxxQkFBcUIsQ0FBQTtBQUVwRCxTQUFnQix3QkFBd0IsQ0FDdEMsY0FBOEI7SUFFOUIsTUFBTSxRQUFRLEdBQUcsSUFBQSxXQUFJLEVBQUMsY0FBYyxDQUFDLElBQUksRUFBRSx1QkFBZSxDQUFDLENBQUE7SUFFM0QsSUFBSSxLQUFLLEdBQWlDLElBQUksQ0FBQTtJQUM5QyxJQUFJLENBQUM7UUFDSCxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFBLGlCQUFZLEVBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUE7SUFDcEQsQ0FBQztJQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDWCxPQUFPO0lBQ1QsQ0FBQztJQUNELElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNYLE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQztJQUNELElBQUksS0FBSyxDQUFDLE9BQU8sS0FBSyxPQUFPLEVBQUUsQ0FBQztRQUM5QixPQUFPLENBQUMsR0FBRyxDQUNULGtGQUFrRixDQUNuRixDQUFBO1FBQ0QsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUNqQixDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUE7QUFDZCxDQUFDO0FBRUQsU0FBZ0IseUJBQXlCLENBQUMsRUFDeEMsY0FBYyxFQUNkLE9BQU8sRUFDUCxVQUFVLEdBS1g7SUFDQyxNQUFNLFFBQVEsR0FBRyxJQUFBLFdBQUksRUFBQyxjQUFjLENBQUMsSUFBSSxFQUFFLHVCQUFlLENBQUMsQ0FBQTtJQUUzRCxNQUFNLEtBQUssR0FBMEI7UUFDbkMsT0FBTztRQUNQLE9BQU87UUFDUCxVQUFVO0tBQ1gsQ0FBQTtJQUVELElBQUEsa0JBQWEsRUFBQyxRQUFRLEVBQUUsSUFBQSwrQkFBUyxFQUFDLEtBQUssRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFBO0FBQzNFLENBQUM7QUFFRCxTQUFnQiwwQkFBMEIsQ0FBQyxjQUE4QjtJQUN2RSxNQUFNLFFBQVEsR0FBRyxJQUFBLFdBQUksRUFBQyxjQUFjLENBQUMsSUFBSSxFQUFFLHVCQUFlLENBQUMsQ0FBQTtJQUUzRCxJQUFJLENBQUM7UUFDSCxJQUFBLGVBQVUsRUFBQyxRQUFRLENBQUMsQ0FBQTtJQUN0QixDQUFDO0lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNYLE9BQU87SUFDVCxDQUFDO0FBQ0gsQ0FBQztBQUVELFNBQWdCLG9CQUFvQixDQUFDLEVBQ25DLE9BQU8sRUFDUCxRQUFRLEVBQ1IsS0FBSyxHQUtOO0lBQ0MsTUFBTSxnQkFBZ0IsR0FBRyxJQUFBLFdBQUksRUFBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUE7SUFDaEQsS0FBSyxNQUFNLEtBQUssSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNwQixNQUFLO1FBQ1AsQ0FBQztRQUNELE1BQU0sYUFBYSxHQUFHLElBQUEsV0FBSSxFQUFDLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQTtRQUNqRSxJQUFJLENBQUMsSUFBQSxlQUFVLEVBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztZQUMvQixPQUFPLENBQUMsR0FBRyxDQUNULGVBQUssQ0FBQyxVQUFVLENBQUMscUJBQXFCLENBQUMsRUFDdkMsYUFBYSxFQUNiLCtFQUErRSxDQUNoRixDQUFBO1lBQ0QsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNqQixDQUFDO1FBQ0QsSUFBSSxLQUFLLENBQUMsZ0JBQWdCLEtBQUssSUFBQSxlQUFRLEVBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztZQUN2RCxPQUFPLENBQUMsR0FBRyxDQUNULGVBQUssQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLEVBQzlCLGFBQWEsRUFDYixxRkFBcUYsQ0FDdEYsQ0FBQTtZQUNELE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDakIsQ0FBQztJQUNILENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZXhpc3RzU3luYywgcmVhZEZpbGVTeW5jLCB1bmxpbmtTeW5jLCB3cml0ZUZpbGVTeW5jIH0gZnJvbSBcImZzXCJcbmltcG9ydCB7IGpvaW4gfSBmcm9tIFwicGF0aFwiXG5pbXBvcnQgeyBQYWNrYWdlRGV0YWlscyB9IGZyb20gXCIuL1BhY2thZ2VEZXRhaWxzXCJcbmltcG9ydCBzdHJpbmdpZnkgZnJvbSBcImpzb24tc3RhYmxlLXN0cmluZ2lmeVwiXG5pbXBvcnQgeyBoYXNoRmlsZSB9IGZyb20gXCIuL2hhc2hcIlxuaW1wb3J0IGNoYWxrIGZyb20gXCJjaGFsa1wiXG5leHBvcnQgaW50ZXJmYWNlIFBhdGNoU3RhdGUge1xuICBwYXRjaEZpbGVuYW1lOiBzdHJpbmdcbiAgcGF0Y2hDb250ZW50SGFzaDogc3RyaW5nXG4gIGRpZEFwcGx5OiBib29sZWFuXG59XG5cbmNvbnN0IHZlcnNpb24gPSAxXG5leHBvcnQgaW50ZXJmYWNlIFBhdGNoQXBwbGljYXRpb25TdGF0ZSB7XG4gIHZlcnNpb246IG51bWJlclxuICBwYXRjaGVzOiBQYXRjaFN0YXRlW11cbiAgaXNSZWJhc2luZzogYm9vbGVhblxufVxuXG5leHBvcnQgY29uc3QgU1RBVEVfRklMRV9OQU1FID0gXCIucGF0Y2gtcGFja2FnZS5qc29uXCJcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFBhdGNoQXBwbGljYXRpb25TdGF0ZShcbiAgcGFja2FnZURldGFpbHM6IFBhY2thZ2VEZXRhaWxzLFxuKTogUGF0Y2hBcHBsaWNhdGlvblN0YXRlIHwgbnVsbCB7XG4gIGNvbnN0IGZpbGVOYW1lID0gam9pbihwYWNrYWdlRGV0YWlscy5wYXRoLCBTVEFURV9GSUxFX05BTUUpXG5cbiAgbGV0IHN0YXRlOiBudWxsIHwgUGF0Y2hBcHBsaWNhdGlvblN0YXRlID0gbnVsbFxuICB0cnkge1xuICAgIHN0YXRlID0gSlNPTi5wYXJzZShyZWFkRmlsZVN5bmMoZmlsZU5hbWUsIFwidXRmOFwiKSlcbiAgfSBjYXRjaCAoZSkge1xuICAgIC8vIG5vb3BcbiAgfVxuICBpZiAoIXN0YXRlKSB7XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuICBpZiAoc3RhdGUudmVyc2lvbiAhPT0gdmVyc2lvbikge1xuICAgIGNvbnNvbGUubG9nKFxuICAgICAgYFlvdSB1cGdyYWRlZCBwYXRjaC1wYWNrYWdlIGFuZCBuZWVkIHRvIGZ1bGx5IHJlaW5zdGFsbCBub2RlX21vZHVsZXMgdG8gY29udGludWUuYCxcbiAgICApXG4gICAgcHJvY2Vzcy5leGl0KDEpXG4gIH1cbiAgcmV0dXJuIHN0YXRlXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzYXZlUGF0Y2hBcHBsaWNhdGlvblN0YXRlKHtcbiAgcGFja2FnZURldGFpbHMsXG4gIHBhdGNoZXMsXG4gIGlzUmViYXNpbmcsXG59OiB7XG4gIHBhY2thZ2VEZXRhaWxzOiBQYWNrYWdlRGV0YWlsc1xuICBwYXRjaGVzOiBQYXRjaFN0YXRlW11cbiAgaXNSZWJhc2luZzogYm9vbGVhblxufSkge1xuICBjb25zdCBmaWxlTmFtZSA9IGpvaW4ocGFja2FnZURldGFpbHMucGF0aCwgU1RBVEVfRklMRV9OQU1FKVxuXG4gIGNvbnN0IHN0YXRlOiBQYXRjaEFwcGxpY2F0aW9uU3RhdGUgPSB7XG4gICAgcGF0Y2hlcyxcbiAgICB2ZXJzaW9uLFxuICAgIGlzUmViYXNpbmcsXG4gIH1cblxuICB3cml0ZUZpbGVTeW5jKGZpbGVOYW1lLCBzdHJpbmdpZnkoc3RhdGUsIHsgc3BhY2U6IDQgfSkgYXMgc3RyaW5nLCBcInV0ZjhcIilcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNsZWFyUGF0Y2hBcHBsaWNhdGlvblN0YXRlKHBhY2thZ2VEZXRhaWxzOiBQYWNrYWdlRGV0YWlscykge1xuICBjb25zdCBmaWxlTmFtZSA9IGpvaW4ocGFja2FnZURldGFpbHMucGF0aCwgU1RBVEVfRklMRV9OQU1FKVxuXG4gIHRyeSB7XG4gICAgdW5saW5rU3luYyhmaWxlTmFtZSlcbiAgfSBjYXRjaCAoZSkge1xuICAgIC8vIG5vb3BcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmVyaWZ5QXBwbGllZFBhdGNoZXMoe1xuICBhcHBQYXRoLFxuICBwYXRjaERpcixcbiAgc3RhdGUsXG59OiB7XG4gIGFwcFBhdGg6IHN0cmluZ1xuICBwYXRjaERpcjogc3RyaW5nXG4gIHN0YXRlOiBQYXRjaEFwcGxpY2F0aW9uU3RhdGVcbn0pIHtcbiAgY29uc3QgcGF0Y2hlc0RpcmVjdG9yeSA9IGpvaW4oYXBwUGF0aCwgcGF0Y2hEaXIpXG4gIGZvciAoY29uc3QgcGF0Y2ggb2Ygc3RhdGUucGF0Y2hlcykge1xuICAgIGlmICghcGF0Y2guZGlkQXBwbHkpIHtcbiAgICAgIGJyZWFrXG4gICAgfVxuICAgIGNvbnN0IGZ1bGxQYXRjaFBhdGggPSBqb2luKHBhdGNoZXNEaXJlY3RvcnksIHBhdGNoLnBhdGNoRmlsZW5hbWUpXG4gICAgaWYgKCFleGlzdHNTeW5jKGZ1bGxQYXRjaFBhdGgpKSB7XG4gICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgY2hhbGsuYmx1ZUJyaWdodChcIkV4cGVjdGVkIHBhdGNoIGZpbGVcIiksXG4gICAgICAgIGZ1bGxQYXRjaFBhdGgsXG4gICAgICAgIFwidG8gZXhpc3QgYnV0IGl0IGlzIG1pc3NpbmcuIFRyeSByZW1vdmluZyBhbmQgcmVpbnN0YWxsaW5nIG5vZGVfbW9kdWxlcyBmaXJzdC5cIixcbiAgICAgIClcbiAgICAgIHByb2Nlc3MuZXhpdCgxKVxuICAgIH1cbiAgICBpZiAocGF0Y2gucGF0Y2hDb250ZW50SGFzaCAhPT0gaGFzaEZpbGUoZnVsbFBhdGNoUGF0aCkpIHtcbiAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICBjaGFsay5ibHVlQnJpZ2h0KFwiUGF0Y2ggZmlsZVwiKSxcbiAgICAgICAgZnVsbFBhdGNoUGF0aCxcbiAgICAgICAgXCJoYXMgY2hhbmdlZCBzaW5jZSBpdCB3YXMgYXBwbGllZC4gVHJ5IHJlbW92aW5nIGFuZCByZWluc3RhbGxpbmcgbm9kZV9tb2R1bGVzIGZpcnN0LlwiLFxuICAgICAgKVxuICAgICAgcHJvY2Vzcy5leGl0KDEpXG4gICAgfVxuICB9XG59XG4iXX0=
|
package/index.js
ADDED
package/package.json
ADDED
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@psync/patch-package",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Fix broken node modules with no fuss",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"repository": "github:New-Elysium/patch-package",
|
|
7
|
+
"author": "David Sheldrick",
|
|
8
|
+
"license": "MIT",
|
|
9
|
+
"engines": {
|
|
10
|
+
"node": ">=14",
|
|
11
|
+
"npm": ">5",
|
|
12
|
+
"bun": ">=1.3.14"
|
|
13
|
+
},
|
|
14
|
+
"bin": {
|
|
15
|
+
"patch-package": "./index.js"
|
|
16
|
+
},
|
|
17
|
+
"scripts": {
|
|
18
|
+
"prepublishOnly": "bun run clean && bun run build",
|
|
19
|
+
"build": "tsc --project tsconfig.build.json",
|
|
20
|
+
"new-integration-test": "bun run integration-tests/newIntegrationTest.ts",
|
|
21
|
+
"clean": "rimraf dist",
|
|
22
|
+
"format": "prettier --no-semi --write --trailing-comma=all \"src{/**,}/*.ts\" \"integration-tests{/**,}/*.ts\" \"property-based-tests{/**,}/*.ts\"",
|
|
23
|
+
"prepack": "node -e \"var f=require('fs'),p=require('path');function r(d){f.readdirSync(d,{withFileTypes:true}).forEach(e=>{var fp=p.join(d,e.name);if(e.isDirectory())r(fp);else if(e.name.match(/\\.test\\./))f.unlinkSync(fp)})};r('dist')\"",
|
|
24
|
+
"test": "./run-tests.sh --runInBand",
|
|
25
|
+
"test:unit": "jest --testPathPatterns=src/",
|
|
26
|
+
"typecheck": "tsc --noEmit --project tsconfig.build.json"
|
|
27
|
+
},
|
|
28
|
+
"lint-staged": {
|
|
29
|
+
"*.ts": [
|
|
30
|
+
"prettier --no-semi --trailing-comma=all --check"
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
"jest": {
|
|
34
|
+
"testRegex": "/(src|integration-tests|property-based-tests)/.+\\.test\\.ts$",
|
|
35
|
+
"moduleFileExtensions": [
|
|
36
|
+
"ts",
|
|
37
|
+
"tsx",
|
|
38
|
+
"js"
|
|
39
|
+
],
|
|
40
|
+
"transform": {
|
|
41
|
+
"^.+\\.tsx?$": [
|
|
42
|
+
"ts-jest",
|
|
43
|
+
{
|
|
44
|
+
"diagnostics": false
|
|
45
|
+
}
|
|
46
|
+
]
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
"devDependencies": {
|
|
50
|
+
"@types/app-root-path": "^3.1.0",
|
|
51
|
+
"@types/cross-spawn": "^6.0.6",
|
|
52
|
+
"@types/fs-extra": "^11.0.4",
|
|
53
|
+
"@types/jest": "^30.0.0",
|
|
54
|
+
"@types/json-stable-stringify": "^1.2.0",
|
|
55
|
+
"@types/klaw-sync": "^6.0.5",
|
|
56
|
+
"@types/minimist": "^1.2.5",
|
|
57
|
+
"@types/node": "^22.10.0",
|
|
58
|
+
"@types/randomstring": "^1.3.0",
|
|
59
|
+
"@types/rimraf": "^4.0.5",
|
|
60
|
+
"@types/semver": "^7.7.1",
|
|
61
|
+
"@types/slash": "ts2.0",
|
|
62
|
+
"@types/tmp": "^0.2.6",
|
|
63
|
+
"@types/yarnpkg__lockfile": "^1.1.9",
|
|
64
|
+
"jest": "^30.0.0",
|
|
65
|
+
"lint-staged": "^17.0.0",
|
|
66
|
+
"prettier": "^3.0.0",
|
|
67
|
+
"randomstring": "^1.3.0",
|
|
68
|
+
"rimraf": "^6.0.0",
|
|
69
|
+
"ts-jest": "^29.4.0",
|
|
70
|
+
"ts-node": "^10.9.0",
|
|
71
|
+
"tslib": "^2.8.0",
|
|
72
|
+
"typescript": "^6.0.0"
|
|
73
|
+
},
|
|
74
|
+
"dependencies": {
|
|
75
|
+
"@yarnpkg/lockfile": "^1.1.0",
|
|
76
|
+
"chalk": "^4.1.2",
|
|
77
|
+
"ci-info": "^3.7.0",
|
|
78
|
+
"cross-spawn": "^7.0.3",
|
|
79
|
+
"find-yarn-workspace-root": "^2.0.0",
|
|
80
|
+
"fs-extra": "^10.0.0",
|
|
81
|
+
"json-stable-stringify": "^1.0.2",
|
|
82
|
+
"klaw-sync": "^6.0.0",
|
|
83
|
+
"minimist": "^1.2.6",
|
|
84
|
+
"open": "^7.4.2",
|
|
85
|
+
"semver": "^7.5.3",
|
|
86
|
+
"slash": "^2.0.0",
|
|
87
|
+
"tmp": "^0.2.4",
|
|
88
|
+
"yaml": "^2.2.2"
|
|
89
|
+
},
|
|
90
|
+
"files": [
|
|
91
|
+
"index.js",
|
|
92
|
+
"dist/**/*.js",
|
|
93
|
+
"CHANGELOG.md",
|
|
94
|
+
"LICENSE",
|
|
95
|
+
"patch-package-banner.png",
|
|
96
|
+
"README.md"
|
|
97
|
+
],
|
|
98
|
+
"publishConfig": {
|
|
99
|
+
"access": "public"
|
|
100
|
+
},
|
|
101
|
+
"packageManager": "bun@1.3.14"
|
|
102
|
+
}
|