fix(alias,auto-install,babel,beep,buble,commonjs,data-uri,dsv,dynamic-import-vars,eslint,esm-shim,graphql,html,image,inject,json,legacy,multi-entry,node-resolve,pluginutils,replace,run,strip,sucrase,swc,terser,typescript,url,virtual,wasm,yaml): ensure rollup 4 compatibility#1595
fix(alias,auto-install,babel,beep,buble,commonjs,data-uri,dsv,dynamic-import-vars,eslint,esm-shim,graphql,html,image,inject,json,legacy,multi-entry,node-resolve,pluginutils,replace,run,strip,sucrase,swc,terser,typescript,url,virtual,wasm,yaml): ensure rollup 4 compatibility#1595lukastaegert merged 1 commit intomasterfrom
Conversation
4255af8 to
d4688ee
Compare
d4688ee to
38e6f28
Compare
38e6f28 to
03f0596
Compare
03f0596 to
5d570b2
Compare
5d570b2 to
58b72a8
Compare
58b72a8 to
b2c39d9
Compare
b2c39d9 to
e2de6ef
Compare
e2de6ef to
fc72d4a
Compare
fc72d4a to
237deee
Compare
237deee to
e593c28
Compare
e593c28 to
33a8e78
Compare
tada5hi
left a comment
There was a problem hiding this comment.
The failing windows ci should not be related to the changes
That would be a relief, but why is it failing? Is it broken on master? |
|
@lukastaegert think another consideration we could make is to set the setting |
|
For the Windows build it seems like a good idea. We should also report this to pnpm |
8fa06b5 to
7c56ce3
Compare
|
Forcing ppm to 8.8.0 did not solve the issue. Adding |
b992fba to
ff83e1f
Compare
|
I slightly reworked the changes in the TypeScript plugin so that there is no change in the productive code at all and no potential for breakage. I also added two TODO comments to change the code once we dropped support for rollup@2 and rollup@3 respectively. @shellscape Do you see any chance we can merge this tomorrow? This would allow me to release Rollup 4 in time for ViteConf. The productive changes are now very minimal and non-breaking, otherwise it mostly concerns test code and snapshots, see the list in the PR description. |
|
I'm going to be out of pocket for the rest of the week with travel unfortunately. BUT I've been following along and I see no reason not to push it forward. You've got my backing. |
|
Perfect, thanks so much! |
|
While trying out Rollup v4 on the Vite repo (I didn't use the plugins built on this PR's branch), I found that the rebuild doesn't happen when I change the file while running |
ff83e1f to
9395599
Compare
|
@sapphi-red Great catch! I added this and a test, should be working now! |
…-import-vars,eslint,esm-shim,graphql,html,image,inject,json,legacy,multi-entry,node-resolve,pluginutils,replace,run,strip,sucrase,swc,terser,typescript,url,virtual,wasm,yaml): ensure rollup 4 compatibility
9395599 to
ff200de
Compare
|
Thanks! I have tried it locally on the Vite repo and confirmed that it works. 👍 |
|
Ok, it seems there was a hiccup with GitHub during release. Essentially, all packages before sucrase were successful but all others were not published. Worse, the changelog commit was also not generated. I am wondering how to best remedy this, but I guess I should leave it as it is. A subsequent publish run would fail as well as it would try to publish over the already successfully published versions. |
|
Ok, sucrase seems to be in a weird state. |
Another possibility would be to merge pull request #1585, since this also targets all repos. However, this would not solve the problem that for some packages no previous version exists. |
|
Exactly. Maybe the solution would be to just manually add a commit that raises all patch versions by 1 to master, and THEN merge the other PR. I would assume that this would then generated the changelog containing the entries from both PRs. But I would prefer to wait until @shellscape is back to have a look. |
|
I haven't been able to closely follow along, so not entire sure how we got into the situation. I'll take a look at this today to sort it out. OK after looking at the state of things, this is a real mess. Each plugin is going to have to be checked and have things manually updated. That's going to be a lift. Moving forward, we should wait until we have someone around who is intimately familiar with the release process before pushing a big one out like this. (And I would prefer that to be more than just myself) Or, do smaller groups of changes to contain. |
|
@lukastaegert did you manually publish these? The workflow log doesn't show any publishing activity other than a failure on alias, which should have subsequently stopped anything else from being published. |
|
OK all of the changelogs and package.json version properties are updated, and I've tagged the repo with the versions as well. We should be in good shape. I'll be looking into process hardening in the near future here. |
Rollup Plugin Name:
alias,auto-install,babel,beep,buble,commonjs,data-uri,dsv,dynamic-import-vars,eslint,esm-shim,graphql,html,image,inject,json,legacy,multi-entry,node-resolve,pluginutils,replace,run,strip,sucrase,swc,terser,typescript,url,virtual,wasm,yamlThis PR contains:
Are tests included?
Breaking Changes?
If yes, then include "BREAKING CHANGES:" in the first commit message body, followed by a description of what is breaking.
List any relevant issue numbers:
Description
Rollup 4 is nearly ready for release. As a matter of fact I am hoping for a release by Thursday next week (i.e. at ViteConf). However, this PR would need to be merged first as otherwise, plugins are not usable for Rollup 4 users.
There should be no breaking changes in this release.
This is a list of all changes:
^4.0.0assertionswithattributesin test snapshots of resolve options as that was a major change. Apparently, it does not affect any plugins, though, as they ignore that attribute.locattribute but only aposattribute, the logic was changed to forward this attribute to Rollup on errors instead ofloc. This is non-breaking as earlier Rollup versions already hadposas well.skipSelf: falsetothis.resolvecalls where unspecified as the default value has changed. Again, this is non-breaking as it just explicitly states the previous default.valueafter parsing thekeyof a shorthand property. Before, they were only deep equal while now, they are the same reference. This trips upis-reference, but I think this is the best way to resolve this. Again, this should have no effect on earlier Rollup versions.toStringmethod.skipSelf: falsetothis.resolvecalls where unspecified as the default value has changed.RollupLogtype containing only the properties we need. Once we drop rollup@2 support, this can be replaced by the realRollupLogtype again. This avoids a breaking change. I added a corresponding TODO comment.inputOptions.preserveModuleson older Rollup versions, even though this property has been removed now. I added a TODO comment to remove the corresponding check once we dropped rollup@3 support.@shellscape I hope I got the commit message right this time 😉