The minimal required Node version is now 18.0.0 (#5142)
The browser build now relies on a WASM artifact that needs to be provided as well (#5073)
The NodeJS build now relies on an optional native binary; for unsupported platforms, users can use the @rollup/wasm-node package that has the same interface as Rollup but relies on WASM artifacts (#5073)
The "with" syntax for import attributes is not yet supported, awaiting support in SWC (#5073)
The INVALID_IMPORT_ASSERTION error code has been replaced with INVALID_IMPORT_ATTRIBUTE (#5073)
Rollup will now warn for @__PURE__ and @__NO_SIDE_EFFECTS__ annotations in invalid locations (#5165)
If an entry module starts with a shebang comment #!..., this comment will be prepended to the output for es and cjs formats (#5163)
File hashes will now use url-safe base64 encoded hashes (#5155)
The maximum hash length has been reduced to 22 characters (#5155)
The RollupWarning type has been removed in favor of the RollupLog type (#5147)
Changes to Rollup Options
Acorn plugins are no longer supported, the acornInjectPlugins option has been removed (#5073)
output.externalImportAssertions has been deprecated in favor of output.externalImportAttributes (#5073)
inlineDynamicImports, manualChunks and preserveModules have been removed on input option level: Please use the corresponding output options of the same names (#5143)
"assertions" have been replaced with "attributes" in various places of the plugin interface (#5073)
If the import of a module id is handled by the load hook of a plugin, rollup.watch no longer watches the actual file if the module id corresponds to a real path; if this is intended, then the plugin is responsible for calling this.addWatchFile for any dependency files (#5150)
The normalized input options provided by buildStart and other hooks no longer contain an onwarn handler; plugins should use onLog instead (#5147)
this.moduleIds has been removed from the plugin context: Use this.getModuleIds() instead (#5143)
The hasModuleSideEffects flag has been removed from the ModuleInfo returned by thi s.getModuleInfo(): Use moduleSideEffects on the ModuleInfo instead (#5143)
Features
Improve parsing speed by switching to a native SWC-based parser (#5073)
Rollup will now warn for @__PURE__ and @__NO_SIDE_EFFECTS__ annotations in invalid locations (#5165)
The parser is now exposed as a separate export parseAst (#5169)
The minimal required Node version is now 18.0.0 (#5142)
The browser build now relies on a WASM artifact that needs to be provided as well (#5073)
The NodeJS build now relies on an optional native binary; for unsupported platforms, users can use the @rollup/wasm-node package that has the same interface as Rollup but relies on WASM artifacts (#5073)
The "with" syntax for import attributes is not yet supported, awaiting support in SWC (#5073)
The INVALID_IMPORT_ASSERTION error code has been replaced with INVALID_IMPORT_ATTRIBUTE (#5073)
Rollup will now warn for @__PURE__ and @__NO_SIDE_EFFECTS__ annotations in invalid locations (#5165)
If an entry module starts with a shebang comment #!..., this comment will be prepended to the output for es and cjs formats (#5163)
File hashes will now use url-safe base64 encoded hashes (#5155)
The maximum hash length has been reduced to 22 characters (#5155)
The RollupWarning type has been removed in favor of the RollupLog type (#5147)
Changes to Rollup Options
Acorn plugins are no longer supported, the acornInjectPlugins option has been removed (#5073)
output.externalImportAssertions has been deprecated in favor of output.externalImportAttributes (#5073)
inlineDynamicImports, manualChunks and preserveModules have been removed on input option level: Please use the corresponding output options of the same names (#5143)
"assertions" have been replaced with "attributes" in various places of the plugin interface (#5073)
If the import of a module id is handled by the load hook of a plugin, rollup.watch no longer watches the actual file if the module id corresponds to a real path; if this is intended, then the plugin is responsible for calling this.addWatchFile for any dependency files (#5150)
The normalized input options provided by buildStart and other hooks no longer contain an onwarn handler; plugins should use onLog instead (#5147)
this.moduleIds has been removed from the plugin context: Use this.getModuleIds() instead (#5143)
The hasModuleSideEffects flag has been removed from the ModuleInfo returned by thi s.getModuleInfo(): Use moduleSideEffects on the ModuleInfo instead (#5143)
Features
Improve parsing speed by switching to a native SWC-based parser (#5073)
Rollup will now warn for @__PURE__ and @__NO_SIDE_EFFECTS__ annotations in invalid locations (#5165)
The parser is now exposed as a separate export parseAst (#5169)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps rollup from 3.29.4 to 4.0.0.
Release notes
Sourced from rollup's releases.
... (truncated)
Changelog
Sourced from rollup's changelog.
... (truncated)
Commits
2f26135
4.0.04e8e5b4
[v4.0] Expose parser (#5169)cade24f
[v4.0] Ensure we support new import attribute "with" syntax (#5168)dd709c3
[v4.0] warn for invalid annotations (#5165)bfbea66
[v4.0] feat: preserve shebang in entry module for CJS and ESM outputs (#5163)4e562e5
[v4.0] fix: also strip BOM from code strings in JS (#5164)fbc25af
[v4.0] feat: implement hashing content in Rust (#5155)0b0eabd
[v4.0] Handle empty exports (#5157)fda977b
[v4.0] Add parse option to allow return outside function (#5154)7325320
[v4.0] Remove onwarn from normalized input options (#5147)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show