Don't warn about mismatched versions when using multiple patches for the same library
- Dominant language
- TypeScript
- Stars
- 11.2k
- Forks
- 325
- PR merge metrics
- No merged PRs in 30d
Description
I just found out about https://github.com/ds300/patch-package/issues/43 which will make our patches really easy to work with by separating patches from each other. What a great feature!
Unfortunately we have enabled ` --error-on-warn` to ensure we keep our patches up to date, and so the warnings we get from multi-patch names causes our builds to break.
I've _patched patch-package with patch-package_ locally to skip `+` version patches, to work around this and avoid the warning. I'm sure there are some gotchas with the `.includes('+')` syntax I've used here (NPM versions that include the `+` character?) but I thought I should submit this as an issue to see whether it could be applied.
Here is the diff that solved my problem:
```diff
diff --git a/node_modules/patch-package/dist/applyPatches.js b/node_modules/patch-package/dist/applyPatches.js
index c0217cf..90f3eda 100644
--- a/node_modules/patch-package/dist/applyPatches.js
+++ b/node_modules/patch-package/dist/applyPatches.js
@@ -92,13 +92,19 @@ function applyPatchesForApp({ appPath, reverse, patchDir, shouldExitWithError, s
// yay patch was applied successfully
// print warning if version mismatch
if (installedPackageVersion !== version) {
- warnings.push(createVersionMismatchWarning({
- packageName: name,
- actualVersion: installedPackageVersion,
- originalVersion: version,
- pathSpecifier,
- path,
- }));
+ // Ignore multi-patch versions
+ if (version.includes('+') && version.split('+')[0] === installedPackageVersion) {
+ console.log("Ignoring multi-patch version mismatch for", pathSpecifier);
+ } else {
+ warnings.push(createVersionMismatchWarning({
+ packageName: name,
+ actualVersion: installedPackageVersion,
+ originalVersion: version,
+ pathSpecifier,
+ path,
+ }));
+
+ }
}
console.log(`${chalk_1.default.bold(pathSpecifier)}@${version} ${chalk_1.default.green("✔")}`);
}
```
This issue body was [partially generated by patch-package](https://github.com/ds300/patch-package/issues/296) ❤️
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.