-
Notifications
You must be signed in to change notification settings - Fork 14
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
1.24.0 is not semver-minor #19
Comments
Yeah, I tried to paper over this by renaming I can't remember why I published rollup-stream@1.0.0 instead of 0.0.0 two years ago. It might have been due to gulp-rollup's influence, a package I now maintain but didn't originally create and which has the same problem. What I'd like to do is re-publish as v0.0.0 and put an If I really wanted to, I could just remove the "for-convenience" dependency on Rollup and require users to pass in But this package has gone this long without having to get a major version bump due to changes to Rollup. Maybe it can afford it this one time as long as Rollup doesn't make a habit of it. It's a bit infuriating to me that they decided to change the API to match the command line options rather than the other way around. No one would have had to update every instance of |
This would for sure be a better option out of those 2, aint sure if its that easy though. Im not that familiar with rollup's implementation but I believe it has changed some of its APIs recently (few versions back) from synchronous to Promise-based. Also you are trying to follow what rollup's CLI is doing (from what I understand) and do something like this: rollup.rollup(options).then(function(bundle) {
return bundle.generate(outputOptions);
}).then(function(result) {
// ...
}) Those lines are probably also rollup version specific and you'd have to abstract it away somehow. Probably something could be done on rollup's side to ease integrations. |
Lock rollup-stream to 1.23 for lemmabit/rollup-stream#19 Update closure compiler to 20170910
@Andarist The compatibility concerns you've raised have never been problems for me in practice. The transition to the How's this for rollup-stream v2.0.0: var rollup = require('rollup-stream')(require('rollup')); After that, it works exactly like it always has. Even if Rollup has breaking changes that require adjustments to rollup-stream, supporting those new versions is strictly semver-minor as long as the package still functions with the old versions. I may have to check |
@Permutatrix this seems to be cool :) I thought it would require more effort |
For bonus points, you could inspect the call stack to see which package is requiring yours and use the |
In d2bd46b, you upgraded Rollup from 0.45.1 to 0.49.2. However, Rollup's config API recently made a few breaking changes, meaning that rollup-stream version 1.24.0 isn't backwards compatible with 1.23.0, which violates semver.
Rollup-stream copes with
entry
being renamed toinput
, but there are other deprecations. In my case, it would crash onuseStrict
, which is now calledstrict
.To align with Rollup's 0.x versioning, theoretically, every minor upgrade to Rollup would have to translate to a major upgrade to rollup-stream. I suppose you could also introduce lots of code to deal with Rollup's deprecated APIs, but that seems like something for a different package, at most.
Anyway, I mainly wanted to flag this so at least everyone's aware of it. Thanks.
The text was updated successfully, but these errors were encountered: