-
-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Publish version 17 to npm #1701
Comments
This is neither easy nor ideal, I'll take a look at #1700 |
How so? In particular, why would it not suffice to take v17.1.2, change only the package name to |
@rotu For security reasons publishing of npm packages that Electron maintains is strictly controlled and mostly automated, though we have break-glass tools for certain scenarios in this case there is no reason to go outside our standard publishing practices. |
Okay. So how does this publishing process foreclose on making a 17-series release? (One would think pushing a |
One would be wrong, I'm not going to give you an essay on how Electron's npm publishing system works. You can look up various components of it, e.g. CFA or read up on why the practice of publishing a semanticly versioned package out-of-order is considered bad. But that's all moot as the answer was no, we won't be publishing a v17 of the scoped package name.
It didn't, this change was published as version 18 and therefore is allowed to have breaking changes, in this case this was an unintentional side effect of a build system change (from cjs to compiled esm typescript) which changed the export semantics without folks realizing and as such to ease the migration I've already patched v18 to support the old syntax |
Thanks for the refs re: CFA! I'll study up!
That's exactly backwards. Semantic versioning is specifically designed so that fixes can be added to previous major branches without upsetting the order. Only bumping the most significant (major) number will cause that release to take priority over the current latest release.
Yes, it did. As written up in #1700, the API change happened in 18.1.2 vis-a-vis 18.1.1, NOT the bump from major version 17 to 18. You can see the sizable diff with old module.exports = async function packager (opts) { new Object.defineProperty(exports, "__esModule", { value: true });
exports.serialHooks = exports.packager = exports.allOfficialArchsForPlatformAndVersion = void 0;
const hooks_1 = require("./hooks");
Object.defineProperty(exports, "serialHooks", { enumerable: true, get: function () { return hooks_1.serialHooks; } });
const packager_1 = require("./packager");
Object.defineProperty(exports, "packager", { enumerable: true, get: function () { return packager_1.packager; } });
const targets_1 = require("./targets");
Object.defineProperty(exports, "allOfficialArchsForPlatformAndVersion", { enumerable: true, get: function () { return targets_1.allOfficialArchsForPlatformAndVersion; } });
exports.default = packager_1.packager;
__exportStar(require("./types"), exports); |
Okay, so I think I understand the build system a little better.
|
Additionally, something should probably be done about the broken releases in 18.1.2, 18.1.3, 18.2.0, 18.3.1. I think these are supposed to be deprecated but maybe @MarshallOfSound has opinions on how seriously we take semver 'round these parts. |
Preflight Checklist
Problem Description
The
electron-packager
package is marked as deprecated, with the following message:Unfortunately, you can't just change the package name since there is no overlap in released versions. also involves a major version bump. In my case, that version bump also came with a breaking regression #1700.
Proposed Solution
It would be nice to retroactively release
@electron/packager
17 to npm so one can merely replace the name ofelectron-packager
inpackage.json
.Alternatives Considered
An alternate (and more confusinger) way to switch over package names is to add a package alias to the consuming package like:
npm i --save-dev electron-packager@npm:@electron/[email protected] -E
Additional Information
The text was updated successfully, but these errors were encountered: