You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I just found out about #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 --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("✔")}`);
}
Oops, a side note – turns out the local patch of patch-package doesn't work, because it only applies the patch after installation. This means in CI, when the packages are all checked out fresh, the patch-package patch isn't applied and the warning persists!
I just found out about #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:
This issue body was partially generated by patch-package ❤️
The text was updated successfully, but these errors were encountered: