@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/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
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+
3
+ require("./dist/index.js")
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
+ }