CHANGELOG-3.md
2023-09-28
2023-09-24
2023-09-15
TreeshakingPreset type (#5131)TreeshakingPreset (@moltar)2023-09-10
2023-09-06
api to Plugin type (#5112)2023-08-22
2023-08-09
preliminaryFileName to generated chunks containing the file name placeholder (#5086)code property of rendered modules in the output readonly (#5091)preliminaryFileName to OutputChunk (@lsdsjy)2023-08-04
2023-08-03
2023-07-28
Object.values and Object.entries as pure if their argument does not contain getters (#5072)2023-07-17
manualChunks to avoid breaking existing configs (#5068)2023-07-06
2023-07-05
hasOwnProperty as exported name in CommonJS (#5010)2023-06-30
--filterLogs CLI flag and ROLLUP_FILTER_LOGS environment variable for log filtering (#5035)2023-06-26
2023-06-24
code is not a string (#5042)this.error with pos in transform hook (@sapphi-red)2023-06-12
__NO_SIDE_EFFECTS__ for async functions (#5031)__NO_SIDE_EFFECTS__ annotation for async function (@antfu)2023-06-11
this.info and this.debug plugin context logging functions (#5026)onLog option to read, map and filter logs (#5026)logLevel option to fully suppress logs by level (#5026)this.warn, this.info and this.debug to avoid heavy computations based on log level ( #5026)onLog plugin hook to read, filter and map logs from plugins (#5026)2023-06-10
@rollup/plugin-commonjs were missing internal dependencies when code-splitting ( #5029)process.exit(0) in watch mode to avoid issues in embedded scenarios (#5027)2023-06-07
/* #__NO_SIDE_EFFECTS__ */ to mark function declarations as side effect free (#5024)#__NO_SIDE_EFFECTS__ annotation for function declaration (@antfu)2023-06-04
2023-05-22
2023-05-21
2023-05-17
experimentalMinChunkSize to take tree-shaking into account ( #4989)experimentalMinChunkSize (#4989)2023-05-16
2023-05-13
2023-05-09
2023-05-05
2023-05-03
2023-05-02
process.exit() when Rollup CLI finishes successfully to solve issues on some systems (#4969)2023-04-30
2023-04-29
arguments variable (#4965)2023-04-23
2023-04-21
2023-04-18
2023-04-18
2023-04-17
2023-04-16
shouldTransformCachedModule (#4932)2023-03-24
2023-03-23
2023-03-20
2023-03-10
output.sanitizeFileName section (@0x009922)2023-03-09
npm run dev (@lukastaegert)2023-03-01
experimentalLogSideEffects to log the first detected side effect in every module (#4871)node_modules as ignore-listed by default (@bmeurer)2023-02-25
import.meta.url in CommonJS (@fasttime)2023-02-20
moduleSideEffects set to true (#4867)needsCodeReference property in TypeScript for asset tree-shaking (#4868)needsCodeReference property to EmittedAsset (@sapphi-red)2023-02-18
loadConfigFile (#4853)moduleSideEffects: false (#4866)2023-02-18
experimentalDeepDynamicChunkOptimization and always run the full chunk generation algorithm (#4862)experimentalDeepDynamicChunkOptimization was enabled (#4862)2023-02-17
output.sourcemapIgnoreList option to mark file sources as ignored in the x_google_ignoreList attribute of the resulting sourcemap (#4848)sourcesContent contains null entries (#4846)true for the cache option to override Vite's default (#4859)experimentalMinChunkSize option ( #4851)sourcemapIgnoreList predicate. (@bmeurer)2023-02-10
2023-02-05
experimentalDeepDynamicChunkOptimization option to produce fewer chunks from dynamic imports (#4837)2023-02-03
experimentalMinChunkSize (#4723)2023-02-01
2023-01-28
2023-01-26
2023-01-20
2023-01-12
resolvedBy field to ResolvedId (@TrickyPi)2023-01-02
2022-12-28
version property to plugin type (#4771)version property to Plugin type (@Septh)2022-12-23
cache: false (#4762)2022-12-22
2022-12-17
RollupWarning.cause compatible with Error.cause (#4757)stack info in cli error (@TrickyPi)2022-12-13
.exec and .test for included stateful regular expressions (#4742)2022-12-11
this.getFileName no longer returns a placeholder as soon as hash placeholders have been resolved (#4747)2022-12-10
2022-12-09
2022-12-08
.test and .exec on regular expressions as side effects (#4737)2022-12-05
this.getModuleInfo with information about exports (#4731)exports and exportedBindings to Module class ( @TrickyPi)2022-12-01
2022-11-27
treeshake.manualPureFunctions to override static analysis for explicit function names (#4718)this.load without awaiting its result (#4725)2022-11-22
Object.freeze calls on object literals (#4720)2022-11-12
Buffer (#4712)Buffer with string assets (#4712)perf: true (#4707)2022-11-01
2022-10-31
import.meta.url (#4693)2022-10-18
new.target with import.meta (#4679)2022-10-16
2022-10-16
2022-10-15
2022-10-12
2022-10-12
2022-10-11
@rollup/browser (#4593)node: prefix for imports of builtin modules (#4596)this.emitAsset(): use this.emitFile()this.emitChunk(): use this.emitFile()this.getAssetFileName(): use this.getFileName()this.getChunkFileName(): use this.getFileName()this.isExternal(): use this.resolve()this.resolveId(): use this.resolve()resolveAssetUrl plugin hook has been removed: use resolveFileUrlassetReferenceId or chunkReferenceId parameters to resolveFileUrltreeshake.pureExternalModules option has been removed: use treeshake.moduleSideEffects: 'no-external'true or false for output.interop. As a replacement for true, you can use "compat"isAsset flag in the bundletype: "asset" fieldinlineDynamicImports as part of the input options: use output. inlineDynamicImportsmanualChunks as part of the input options: use output. manualChunks maxParallelFileReads: use `maxParallelFileOpsoutput.preferConst: use output.generatedCode.constBindingsoutput.dynamicImportFunction: use the renderDynamicImport plugin hookoutput.namespaceToStringTag: use output.generatedCode.symbolspreserveModules as part of the input options: use output. preserveModules this.moduleIds in plugins: use this.getModuleIds()this.getModuleInfo(...).hasModuleSideEffects in plugins: use this.getModuleInfo(...).moduleSideEffects--configPlugin or the --bundleConfigAsCjs options are used. The configuration is bundled to an ES module unless the --bundleConfigAsCjs option is used. In all other cases, configuration is now loaded using Node's native mechanisms (#4574 and #4621)rollup/dist/* can only be required using their file extension (#4581)loadConfigFile helper now has a named export of the same name instead of a default export (#4581)string (#4644)import(…) in commonjs output unless output.dynamicImportInCjs is set to false (#4647)output.banner/footer/intro/outro are now called per-chunk, they should be careful to avoid performance-heavy operations (#4543)entryFileNames/chunkFileNames functions now longer have access to the rendered module information via modules, only to a list of included moduleIds (#4543)[name] placeholder (as well as the chunkInfo.name property when using a function) now includes the relative path of the chunk as well as optionally the file extension if the extension is not one of .js, .jsx, .mjs, .cjs, .ts, .tsx, .mts, or .cts (#4565)[ext], [extName] and [assetExtName] placeholders are no longer supported when preserving modules (#4565)perf option no longer collects timings for the asynchronous part of plugin hooks as the readings were wildly inaccurate and very misleading, and timings are adapted to the new hashing algorithm (#4566)makeAbsoluteExternalsRelative to "ifRelativeSource" so that absolute external imports will no longer become relative imports in the output, while relative external imports will still be renormalized ( #4567)output.generatedCode.reservedNamesAsProps to no longer quote properties like default by default (#4568)preserveEntrySignatures to "exports-only" so that by default, empty facades for entry chunks are no longer created (#4576)output.interop to "default" to better align with NodeJS interop (#4611)output.esModule to "if-default-prop", which only adds __esModule when the default export would be a property (#4611)output.systemNullSetters to true, which requires at least SystemJS 6.3.3 (#4649)renderChunk should make sure to update ChunkInfo.imports/importedBindings/exports accordingly (#4543)renderChunk now contains names with hash placeholders instead of final names, which will be replaced when used in the returned code or ChunkInfo.imports/importedBindings/exports (#4543 and #4631)output.banner/footer/intro/outro are now called per-chunk with some chunk information (#4543)renderChunk (#4543)entryFileNames logic is used and the path is included in the [name] property. This finally gives full control over file names when preserving modules (#4565)output.entryFileNames now also supports the [hash] placeholder when preserving modules (#4565)perf option will now collect (synchronous) timings for all plugin hooks, not just a small selection (#4566)name: RollupError now to make clearer that those are custom error types (#4579)generateBundle and sourcemap files are available as regular assets (#4605)__esModule marker to the bundle if there is a default export that is rendered as a property (#4611)foo[Symbol.toStringTag] to "Module" if foo is a namespace (#4611)--bundleConfigAsCjs which will force the configuration to be bundled to CommonJS (#4621)output.externalImportAssertions option allows to turn off emission of import assertions (#4646)output.dynamicImportInCjs to control if dynamic imports are emitted as import(…) or wrapped require(…) when generating commonjs output (#4647)renderChunk, e.g. minification, into account (#4543)For previous changelogs, see