@rollup/rollup-win32-x64-msvc
This is the x86_64-pc-windows-msvc binary for rollup
Native bindings for Rollup
@rollup/rollup-win32-x64-msvc
This is the x86_64-pc-windows-msvc binary for rollup
2025-04-12
eval
warnings on first render and only when the call is not tree-shaken (#5892)treeshake: false
breaking destructured namespace imports (@Skn0tt)2025-04-02
id
property as optional in the filter for the resolveId
hook (#5896)2025-03-29
.filter
option in resolveId
, load
and transform
hooks (#5882)2025-03-23
export
keyword (#5871)2025-03-17
renderDynamicImport
hook to provide information about static dependencies of the imported module (#5870)2025-03-08
2025-03-01
2025-02-17
2025-02-14
2025-02-07
2025-02-07
2025-02-05
2025-02-05
2025-02-04
2025-02-03
2025-02-01
2025-02-01
2025-01-28
2025-01-24
2025-01-19
2025-01-07
2025-01-06
2025-01-05
import()
expressions from CommonJS (#5781)2024-12-21
2024-12-20
2024-12-06
debugId
to SourceMap
types (#5751)debugId
to SourceMap
types (@timfish, @lukastaegert)2024-11-30
2024-11-23
2024-11-18
2024-11-15
2024-11-15
2024-11-15
2024-11-13
await bundle.close()
via explicit resource management in TypeScript (#5721)using
for RollupBuild
(@shulaoda)2024-11-09
output.sourcemapDebugIds
option to add matching debug ids to sourcemaps and code for tools like Sentry or Rollbar (#5712)2024-11-04
2024-10-29
2024-10-27
2024-10-27
2024-10-02
2024-10-01
2024-09-27
2024-09-26
2024-09-21
2024-09-21
2024-09-21
2024-09-20
2024-09-20
2024-09-19
AggregateError
, FinalizationRegistry
, WeakRef
to knownGlobals (@re-taro)2024-09-12
2024-08-30
2024-08-26
closeWatcher
hook is called when watch mode is aborted via Ctrl+C (#5618)import.meta.url
in compact mode (#5624)2024-08-18
noConflict
option in REPL. (@7086cmd)2024-08-03
2024-08-01
2024-07-27
2024-07-20
2024-07-08
%
if URI malformed (@baseballyama, @lukastaegert)2024-05-22
2024-04-30
2024-04-29
2024-04-27
2024-04-23
2024-04-23
2024-04-22
2024-04-21
2024-04-21
2024-04-20
2024-04-15
2024-04-12
2024-04-07
2024-04-03
@shikiji/vitepress-twoslash
(@sapphi-red)2024-03-28
2024-03-27
2024-03-12
2024-03-06
getRollupEror
to getRollupError
(@MrRefactoring)import.meta.ROLLUP_FILE_URL_referenceId
correctly (@sapphi-red)2024-02-16
2024-02-15
output.reexportProtoFromExternal
option to disable special code for handling __proto__
reexports (#5380)const
variables (#5388)__proto__
for compatibility with CJS Transpiler Re-exports (@TrickyPi)2024-02-10
output.hashCharacters
option (#5371)2024-01-21
2024-01-12
2024-01-06
2024-01-05
__proto__
as export/import name (#5313)2023-12-30
2023-12-17
2023-12-13
2023-12-11
experimentalMinChunkSize
to take already loaded modules from dynamic imports into account (#5294)2023-12-08
2023-11-30
var
several times was considered a conflict (#5276)2023-11-26
this.addWatchFile
in all plugin hooks (#5270)npm
issue (#5267)this
context in this.addWatchFile
so it does not need to be bound when passed around (#5270)2023-11-24
2023-11-21
2023-11-18
2023-11-14
2023-11-12
2023-11-11
--forceExit
(#5245)2023-11-03
forceExit
CLI flag for situations where the CLI does not exit gracefully (#5195)forceExit
CLI flag (@raphael-theriault-swi)ENOENT
error on temp config removal (@jzempel)2023-10-31
parseAstAsync
helper function (#5202)parseAstAsync
and parallelize parsing AST ( @sapphi-red)2023-10-31
2023-10-28
2023-10-16
2023-10-15
2023-10-15
Release did not finish successfully
2023-10-15
2023-10-14
onLog
(@tjenkinson)2023-10-06
2023-10-06
2023-10-05
@rollup/wasm-node
package that has the same interface as Rollup but relies on WASM artifacts (#5073)INVALID_IMPORT_ASSERTION
error code has been replaced with INVALID_IMPORT_ATTRIBUTE
(#5073)@__PURE__
and @__NO_SIDE_EFFECTS__
annotations in invalid locations (#5165)#!...
, this comment will be prepended to the output for es
and cjs
formats (#5163)RollupWarning
type has been removed in favor of the RollupLog
type (#5147)acornInjectPlugins
option has been removed (#5073)acorn
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)output.experimentalDeepDynamicChunkOptimization
: This option is no longer needed as Rollup now always runs the full chunking algorithmoutput.dynamicImportFunction
: Use the renderDynamicImport
plugin hook insteadoutput.namespaceToStringTag
: Use output.generatedCode.symbols
insteadoutput.preferConst
: Use output.generatedCode.constBindings
insteadthis.resolve
, the default of the skipSelf
option is now true
(#5142)this.parse
now only supports the allowReturnOutsideFunction
option for now (#5073)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)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)hasModuleSideEffects
flag has been removed from the ModuleInfo
returned by this.getModuleInfo()
: Use moduleSideEffects
on the ModuleInfo
instead (#5143)@__PURE__
and @__NO_SIDE_EFFECTS__
annotations in invalid locations (#5165)parseAst
(#5169)this.addWatchFile()
(#5150)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 resolveFileUrl
assetReferenceId
or chunkReferenceId
parameters to resolveFileUrl
treeshake.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. inlineDynamicImports
manualChunks
as part of the input options: use output. manualChunks
maxParallelFileReads
: use `maxParallelFileOpsoutput.preferConst
: use output.generatedCode.constBindings
output.dynamicImportFunction
: use the renderDynamicImport
plugin hookoutput.namespaceToStringTag
: use output.generatedCode.symbols
preserveModules
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)2022-09-22
2022-08-31
amd.forceJsExtensionForImports
to enforce using .js
extensions for relative AMD imports (#4607)2022-08-19
2022-08-14
2022-08-11
2022-07-27
2022-07-26
2022-07-15
maxParallelFileOps
to limit both read and write operations, default to 20 and replaces maxParallelFileRead
(#4570)2022-07-08
sourcmapBaseUrl
for absolute paths in sourcemaps (#4527)2022-06-20
2022-06-07
2022-06-01
2022-05-31
2022-05-29
2022-05-28
2022-05-27
.trim()
on template literals a side effect (#4511)2022-05-19
2022-05-19
2022-05-13
2022-05-07
2022-05-05
2022-04-30
2022-04-30
Object.hasOwn
as pure (#4482)git.io
in the issue template (@SukkaW)2022-04-15
2022-03-14
2022-03-07
watchChange
and closeWatcher
hooks asynchronous and make Rollup wait for these hooks before continuing ( #4427)watchChange
but display them properly (#4427)2022-03-06
Object.entries
and Object.fromEntries
as pure (#4429)2022-03-04
2022-03-02
output.generatedCode.symbols
to control the usage of Symbols in Rollup-generated code (#4378)output.namespaceToStringTag
in favor of output.generatedCode.symbols
(#4378)./
and ../
as external dependencies (#4419)2022-02-22
shouldTransformCachedModule
(#4414)2022-02-18
2022-02-10
2022-02-07
2022-02-02
moduleSideEffects
at any time during the build (#4379)ModuleInfo.hasModuleSideEffects
in favour of ModuleInfo.moduleSideEffects
(#4379)2022-01-25
2022-01-22
this.load
(#4358)2022-01-21
this.load
(#4354)perf: true
(#4357)2022-01-14
meta
from the resolveId hook (#4347)2022-01-04
this.load
(#4320)--watch
is missing (#4335)2021-12-24
2021-12-11
2021-12-09
2021-11-30
2021-11-22
2021-11-11
this.load
context function to load, transform and parse modules without adding them to the graph (#4234)2021-11-01
2021-10-25
2021-10-25
2021-10-25
2021-10-01
resolveId
hook (#4230)2021-09-22
generatedCode
option to allow Rollup to use es2015 features for smaller output and more efficient helpers ( #4215)preferConst
will now show a warning with strictDeprecations: true
(#4215)Object.assign
in generated code to ensure ES5 compatibility without the need for polyfills (#4215)shimMissingExports
for exports that are only used internally (#4215)2021-08-23
ModuleInfo.importedIds
will return null if resolvedIds[source]
is undefined (@FoxDaxian and @lukastaegert)2021-08-10
2021-08-08
2021-08-05
maxParallelFileReads
option to also throttle plugin load hooks (#4200)2021-07-29
2021-07-28
["default"]
as computed property when used as named export (#4182)2021-07-25
2021-07-21
2021-07-15
2021-07-11
treeshake
is false
(#4175)2021-07-09
maxParallelFileReads
option to limit read operations with a default of 20 (#4170)2021-07-07
var
before declaration and TDZ access scenarios correctly without the need for treeshake.correctVarValueBeforeDeclaration
(#4148)2021-07-02
2021-07-01
2021-07-01
2021-06-30
2021-06-25
2021-06-21
2021-06-17
2021-06-16
--configPlugin
CLI option to apply plugins to the config file for e.g. TypeScript configs (#3835)treeshake.correctVarValueBeforeDeclaration
option to deoptimize var
declarations (#4139)2021-06-11
2021-06-08
defineConfig
(#4134)rollup.defineConfig
at runtime (@mshrtsr)2021-06-06
2021-06-03
propertyReadSideEffects
are false (#4119)2021-05-30
colorette
instead of turbocolor
(@ryuever)2021-05-29
__proto__
in an object literal (#4112)2021-05-28
2021-05-27
.filter
and .map
(#4103)2021-05-26
2021-05-25
2021-05-23
2021-05-15
entryFileNames
when preserving modules (#4077)deoptimizePath
when the first element is empty string (@si3nloong)2021-05-04
2021-04-29
UNUSED_EXTERNAL_IMPORT
warning information about the origin of the problem (@cawa-93)2021-04-13
2021-04-10
2021-04-09
2021-03-29
makeAbsoluteExternalsRelative
to opt out of renormalizing absolute external ids to relative ids ( #4021)resolveId
plugin hook to allow forcing or preventing renormalization of absolute external ids (#4021)__proto__
properties correctly (#4019)__proto__
property is present (@marijnh)2021-03-28
2021-03-27
sourcemap
reference in docs (@tjenkinson)2021-03-24
2021-03-22
#__PURE__
comments in front of optional chaining expressions (#4007)2021-03-22
2021-03-20
perf
option (#4004)2021-03-19
this.resolve
in their resolveId hook (#4000)2021-03-18
2021-03-16
2021-03-16
2021-03-16
2021-03-12
2021-03-11
2021-03-09
treeshake.propertyReadSideEffects
to keep all property accesses (#3985)2021-02-26
:
in generated file names to prevent invalid files on Windows (#3972):
in file names (@lukastaegert)2021-02-23
2021-02-12
validate
output option and --validate
CLI option ( @kzc)2021-02-05
2021-02-02
2021-02-01
2021-01-31
2021-01-28
2021-01-22
2021-01-20
2021-01-19
2021-01-16
2021-01-06
2021-01-05
2020-12-14
2020-12-14
closeBundle
hook that is triggered by bundle.close()
in the JS API (#3883)2020-12-06
2020-12-03
2020-11-29
2020-11-18
.js
extension when importing AMD files from a UMD bundle (#3872)2020-11-14
2020-11-02
syntheticNamedExports
to this.getModuleInfo
to align with documentation (#3847)2020-11-01
2020-10-21
loc
is supplied (#3824)2020-10-16
preserveEntrySignatures
with a value "exports-only"
to allow extension only if an entry does not have exports (#3823)2020-10-15
output.moduleToStringTag
option, also add the tag to entries with exports and simulated external namespaces (#3822)__esModule
interop marker to IIFE global variables unless output.esModule
is turned off (#3822)2020-10-13
moduleParsed
hook that is called for each module once code and AST are available (#3813)this.getModuleInfo
(#3813)2020-10-08
this.resolve
(#3807)null
when using this.getModuleInfo
for an unknown id (#3807)code
optional when transforming modules (#3807)2020-09-24
2020-09-21
2020-09-21
2020-09-17
2020-09-16
2020-09-08
2020-09-04
2020-09-01
2020-08-29
external
option in all cases (#3753)2020-08-28
options
parameter of this.parse
as optional for TypeScript plugins (#3750)options
of PluginContext#parse
optional (@intrnl)2020-08-27
2020-08-22
2020-08-19
default
export mode (#3738)2020-08-16
2020-08-16
2020-08-16
2020-08-15
importedBindings
to the bundle information to list bindings per dependency (#3722)else
branch from an if
statement might catch the else
branch from another one (#3725)2020-08-14
--failAfterWarnings
CLI flag that will complete builds with warnings but return an error at the end (#3712)--failAfterWarnings
flag (@tjenkinson)2020-08-13
require
statements to the top in CommonJS output for easier back-transpilation to ES modules by other tools (#3710)super
in static class fields (#3720)2020-08-07
2020-07-23
2020-07-21
2020-07-18
2020-07-18
2020-07-07
2020-07-06
referencedFiles
property to the chunk info in generateBundle to list referenced assets (#3661)2020-07-05
2020-07-02
2020-06-26
rollup-plugin-
prefix off the plugin name when looking for the plugin export in a CLI plugin without a default export (#3647)2020-06-22
inlineDynamicImports
, manualChunks
and preserveModules
can now be used as output options (#3645)this.getFileName
will now always return the correct file name for chunks when multiple outputs are created (#3645)2020-06-19
2020-06-17
2020-06-13
2020-06-12
manualChunks
for code splitting ( @zlamma)2020-06-08
watch: false
(#3620)sourcemapPathTransform
(#3617)2020-06-07
this.meta.watchMode
available for plugins to detect watch mode (#3616)2020-06-04
module
is used as a top-level variable (#3614)2020-06-03
2020-06-02
2020-05-31
--waitForBundleInput
to let the build wait until all entry point files are available before starting ( #3577)2020-05-28
Array.from
(#3604)Array.from
as side-effectful, use two-argument Array.from when mapping Sets (@lukastaegert)2020-05-28
2020-05-27
buildStart
and renderStart
(#3597)null
for empty setters in SystemJS via option (#3592)/*#__PURE__*/
annotation inside a class field (#3599)--watch
and --treeshake
together with sub-options such as --watch.clearScreen
on the command line ( #3597)2020-05-24
2020-05-23
output.paths
(@jacksteamdev)2020-05-22
2020-05-22
2020-05-19
2020-05-19
2020-05-18
2020-05-15
2020-05-15
2020-05-13
2020-05-11
2020-05-10
this.getModuleInfo
(#3542)getModuleInfo
and getModuleIds
to manualChunks
functions (#3542)0
for snappy rebuilds (#3502)this.getModuleIds
to the plugin context as future replacement for this.moduleIds
(#3542)2020-05-07
2020-05-07
exports.default
(#3529)2020-05-06
2020-04-30
2020-04-29
2020-04-29
2020-04-27
__proto__
when running Rollup (#3518)2020-04-22
2020-04-21
output.paths
is used (#3508)2020-04-21
preserveEntrySignatures
option to control how exports of entry points are handled (#3498)preserveSignature
flag to this.emitFile
to control exports of emitted chunks (#3498)output.minifyInternalExports
option to control if internal exports are minified (#3498)2020-04-12
2020-04-10
This version is identical to 2.4.0
2020-04-09
this
with undefined
in class field definitions (#3488)2020-04-09
2020-04-07
2020-04-04
2020-03-31
2020-03-30
2020-03-29
.mjs
extension in Node 13+ or .cjs
extension in any Node version and load them appropriately (#3445)rollup/dist/loadConfigFile
(#3445)2020-03-24
renderDynamicImport
hook to rewrite dynamic import expressions (#3449)this.getModuleInfo
(#3449).js
extensions from AMD imports when the import is a user-supplied replacement for a non-resolvable dynamic import target (#3453)2020-03-18
importer
parameter to this.emitFile
( @lukastaegert)2020-03-13
dir
option (#3440)2020-03-12
2020-03-12
index
imports for ES format using nested export star statements (@kamranayub)2020-03-10
augmentChunkHash
are used ( @jakearchibald)2020-03-07
2020-03-07
2020-03-06
The file structure of Rollup's ESM builds has changed:
rollup/dist/es/rollup.js
instead of rollup/dist/rollup.es.js
rollup/dist/es/rollup.browser.js
instead of rollup/dist/rollup.browser.es.js
In general, the ESM builds now follow the same naming scheme as the CJS builds but are located in the rollup/dist/es
subfolder instead of rollup/dist
(#3391)
The "watch.chokidar" option no longer accepts a boolean
value but only an object of parameters that is passed to the bundled Chokidar instance. Chokidar installations by the user will be ignored in favour of the bundled instance ( #3331)
generateBundle
experimentalOptimizeChunks
and chunkGroupingSize
options have been removedUint8Array
instead of Buffer
. A Buffer
can still be used, though ( #3395)writeBundle
plugin hook has been changed to match generateBundle
: The bundle object is now passed as second parameter instead of first and the first parameter is the output options (#3361)generateBundle
insteadwriteBundle
insteadrenderChunk
insteadrenderChunk
insteadthis.watcher
on the plugin context.transform
hook can no longer return dependencies
.treeshake.pureExternalModules
option will now show a deprecation warning when used: use treeshake.moduleSideEffects: 'no-external'
insteadimport.meta.ROLLUP_ASSET_URL_<..>
and import.meta.ROLLUP_CHUNK_URL_<..>
in code will now show warnings: use import.meta.ROLLUP_FILE_URL_<..>
insteadresolveAssetUrl
hook will now show a deprecation warning when used: use resolveFileUrl
insteadthis.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
generateBundle
is deprecated will show a warning (removing properties is allowed, though): Use this.emitFile
chunk.isAsset
on the bundle is deprecated: Use chunk.type === 'asset'
insteadname
property when targeting UMD has been changed to MISSING_NAME_OPTION_FOR_IIFE_EXPORT
to emphasize this is needed for the IIFE part of UMD (#3393)import {rollup} from 'rollup'
. Note that this relies on Node's experimental conditional package exports feature and is therefore itself experimental (#3391)systemjs
can be used as format alias for system
(#3381)@types
dependencies (@lukastaegert)2020-03-06
2020-02-28
--plugin <plugin>
(#3379)2020-02-14
2020-01-31
2020-01-27
2020-01-27
hoistTransitiveImports
option to disable hoisting imports of static dependencies into entry chunks (#3353)2020-01-21
2020-01-08
2020-01-04
types
in tsconfig file (@tjenkinson)2019-12-22
2019-12-14
--environment
option (#3283)2019-12-13
import.meta
(#3282)import.meta
is accessed directly (@lukastaegert)2019-12-12
2019-12-11
2019-12-07
2019-12-02
2019-12-01
2019-11-30
2019-11-25
2019-11-22
2019-11-20
2019-11-18
+=
in SystemJS (#3242)2019-11-18
acornOptions
optional in parse()
in docs (@tjenkinson)2019-11-12
2019-11-11
2019-11-09
2019-11-02
undefined
in an unused named export (@lukastaegert)2019-10-31
treeshake: false
and star re-exports (#3209)2019-10-31
2019-10-27
2019-10-23
rollup.rollup
(#3184)2019-10-20
2019-10-18
2019-10-15
break
, continue
, return
and throw
when tree-shaking to detect dead code (#3153)import.meta
properties produce valid code in SystemJS (#3152)treeshake.annotations: false
is respected for class instantiation (#3153)2019-10-05
2019-10-03
2019-09-29
namespaceToStringTag: true
(#3135)--context
is observed as a CLI option (#3134)2019-09-16
2019-09-14
2019-09-09
this.emitFile
instead of this.emitAsset
2019-09-09
2019-09-08
output.entryFileNames
when preserving modules (#3088)treeshake.unknownGlobalSideEffects
( #3068)type
to more easily distinguish chunks and assets in the output bundle (#3080)output.strict
is respected for SystemJS output (#3101)2019-08-28
2019-08-25
2019-08-22
2019-08-21
2019-08-07
2019-08-06
2019-08-05
2019-08-05
2019-08-05
2019-08-01
externalLiveBindings: false
option to optimize code when live bindings are not needed (#3010)2019-07-15
2019-07-09
2019-07-04
2019-07-04
2019-07-02
2019-06-29
2019-06-22
2019-06-21
2019-06-21
2019-06-16
2019-06-14
renderedLength === 0
is a reliable check ( #2940)null
from resolveId
(#2941)2019-06-14
2019-06-13
2019-06-13
2019-06-11
2019-06-11
'' + variable'
type coercion as expression statement for feature detection (#2917)2019-06-10
2019-06-09
2019-06-07
moduleSideEffects: false
(#2905)2019-06-06
2019-06-05
2019-06-05
await
expressions were not included properly (#2899)2019-06-05
2019-06-01
2019-05-31
exports
and module
from SystemJS wrapper if possible (#2880)2019-05-30
2019-05-27
2019-05-19
2019-05-17
2019-05-16
2019-05-15
treeshake.moduleSideEffects
option to allow removing empty imports without a side-effect check (#2844)this.resolve
plugin context function with an option to skip the resolveId
hook of the calling plugin ( #2844)isEntry
flag to this.getModuleInfo
plugin context function (#2844)2019-05-05
2019-05-04
export * from X
does not stack overflow ( @Swatinem)2019-05-04
removedExports
to correctly track the exported item ( @Swatinem)2019-05-03
emitChunk
plugin context function to emit additional entry chunks that can be referenced from the code (#2809)manualChunks
to be a function (#2831).js
extensions in AMD imports to make sure an AMD baseUrl
would work (#2809)resolveFileUrl
plugin hook to replace resolveAssetUrl
and handle emitted chunks as well (#2809)resolve
plugin hook to replace resolveId
and isExternal
that returns an object (#2829)resolveDynamicImport
to return an {id, external}
object to also resolve unresolvable dynamic imports to a module (#2829)string | null
from this.resolveId
even if some resolveId
hooks return objects (#2829)resolveDynamicImport
resolves to a non-external module that does not exist (#2829)generateBundle
documentation (@lukastaegert)2019-04-19
2019-04-11
import.meta.url
(#2785)import.meta
(#2785)2019-04-10
2019-04-10
output.file
with output.dir
in the outputOptions
hook (#2802)2019-04-10
2019-04-05
2019-04-02
module
as alias for esm
and commonjs
for cjs
to match Node (#2783)2019-03-28
2019-03-24
2019-03-24
2019-03-24
2019-03-20
2019-03-20
2019-03-08
2019-03-07
2019-03-07
2019-03-04
2019-03-01
2019-03-01
2019-02-27
2019-02-27
2019-02-26
@__PURE__
annotations (#2429)2019-02-26
2019-02-26
2019-02-23
2019-02-19
paths
options only for some outputs (#2706)2019-02-17
2019-02-17
RollupOutput.output
to guarantee at least one chunk (#2679)RollupOutput.output
(@MattiasBuelens)2019-01-21
undefined
entries in the bundle information (#2663)2019-01-19
this.setAssetSource
in docs ( @everdimension)[extname]
and [ext]
in docs (@tivac)2019-01-09
this.meta
available from the options
plugin hook (#2642)writeBundle
plugin hook that is called after all files have been written (#2643)acorn
import of the bundled non-ESM acorn plugins is correctly translated to ESM (#2636)buildStart
hook (#2642)2019-01-05
this.addWatchFile
and make sure it also declares transform dependencies (@lukastaegert)code
is optional in warning type (@lukastaegert)2019-01-03
RollupOptions
type (#2622){exports: named, interop: true}
options (@Andarist)2018-12-28
bundle.generate
and bundle.write
now return a new format (#2293)this.addWatchFile
plugin context function ( #2409)this.watcher
in plugin hooks is deprecated in favour of the watchChange
plugin hook and the this.addWatchFile
plugin context function (#2409)inlineDynamicImports
is used (#2293)--dir
ClI option can now be aliased as -d
(#2293)--input
option now supports named entry points via =
(#2293)--input
option as well as the default CLI option now support named inputs (#2293)2018-12-23
2018-12-19
2018-12-16
optimizeChunks
is renamed to experimentalOptimizeChunks
to reflect this feature is not production-ready yet ( #2575)this.moduleIds
(#2565)this.getModuleInfo(id)
(#2565)dynamicImports
, facadeModuleId
, isDynamicEntry
, name
(#2575)entryFileNames
but the chunkFileNames
property reflecting those are solely internally used (#2575)isEntry
(#2575)isEntry
if they are actually entry chunks as well; thus there is now a 1-to-1 correspondence between modules listed in input
and chunks marked as isEntry
(#2575)rollup-plugin-multi-entry
compatible with code-splitting and thus the upcoming 1.0 version (#2590)self
before this
when determining the global variable (#2594)preserveModules
now handles dynamic namespace imports (#2584)optimizeChunks
experimental ( @lukastaegert)2018-12-03
2018-11-17
inlineDynamicImports
with experimentalPreserveModules
(#2560)inlineDynamicImports
with experimentalPreserveModules
(@clarkdo)2018-11-17
renderChunk
plugin hook (#2558)renderChunk
( @kyle1320)2018-11-11
2018-11-04
none
output.sourcemapExcludeSources
option to exclude the actual sources from sourcemaps (#2531)sourcemapExcludeSources
option to exclude the source content from sourcemaps (@kitsonk)2018-10-10
2018-10-09
2018-10-04
2018-10-03
2018-09-21
2018-09-19
2018-09-16
2018-09-05
2018-09-05
2018-08-25
renderChunk
hook to replace transformChunk
and transformBundle
hooks (#2406)[format]
placeholder for id generation (#2387)\0
as external (#2400)--silent
(#2392)cacheExpiry
an experimental option for now (#2401)2018-08-07
2018-08-07
2018-08-01
2018-07-20
2018-07-20
2018-07-18
2018-07-18
2018-07-17
esm
format alias to types (#2327)2018-06-27
2018-06-23
2018-06-21
2018-06-20
__esModule
flag in output (#2287)2018-06-14
2018-06-14
2018-06-14
2018-06-13
2018-06-13
2018-06-11
2018-06-07
2018-06-06
legacy
option and thus IE8 support (#2141)2018-05-28
2018-05-24
2018-05-21
2018-05-16
2018-05-15
import.meta.url
(#2164)esm
format alias (#2102)interop: false
(#2149)2018-04-23
2018-04-18
2018-04-16
--perf
timings in watch mode (#2065)--dir
in a single file build (#2123)2018-03-17
forEach
with faster for
loops in some places (#2064)2018-03-15
.toString
tags to namespaces (#2041)2018-03-07
2018-03-05
2018-02-25
2018-02-19
2018-02-16
2018-02-15
2018-02-10
2018-02-09
2018-02-01
2018-02-01
2018-01-26
2018-01-23
missingExport
plugin hook (#1845)2018-01-17
2018-01-12
2018-01-10
TypeScript
declaration files (#1837)2018-01-02
resolveId
returns false (#1825)2017-12-30
2017-12-28
transformBundle
plugin hook (#1813)2017-12-22
2017-12-19
2017-12-15
2017-12-05
2017-11-25
2017-11-19
2017-11-17
2017-11-16
2017-11-11
2017-11-11
2017-11-10
2017-11-09
2017-11-08
2017-11-08
2017-11-08
2017-09-16
2017-09-08
watch
options (#1596)-o
to work with output.format
(#1606)2017-08-29
2017-08-28
2017-08-27
process.env.ROLLUP_WATCH
before loading config filerollup.watch
(#1532)rollup.watch
on change (#1535)export { foo } from
declarations in es
output (#1543)rollup.VERSION
es
output (#1511)bundle.write
correctly in rollup.watch
(#1533)--no-interop
flag (#1524)options.format
is now required (#1491)options.format
is es6
, it will now throw an error (should be es
) (#1491)rollup.watch
method, replacing rollup-watch (#1491)--watch
mode (#1491)onwarn
function's second argument is the default handler, allowing easier filtering without reimplementing any logic (#1491)exports
for namespaced but non-extended IIFE bundles (#1492)resolvedIds
from resolvedExternalIds
(#1490)--extend
flag to CLI (#1482)weak
from optionalDependencies
(#1483)bundle.generate(...)
returns a Promise, so that transformBundle
plugin hooks can be asynchronous (#1474)options.extend
is true (#827)this.warn
and this.error
to accept a {line, column}
object as an alternative to a character index (#1265)bundle.generate
options (#1463)process.env.ROLLUP_WATCH = 'true'
in watch mode (#1429)pureExternalModules
option (#1352)options.entry
(#1270)options.moduleId
in favour of options.amd.id
(#1365)options.amd.define
option to specify name of AMD define
function (#1365)treeshake: false
(#1375)watch
option (#1424)originalSourceMap
on incremental rebuilds for loaders with sourcemaps (#1336)export * from
declarations with defaults (#1278)treeshake: false
(#1268)source
when collapsing sourcemaps (#1254)export * from 'external'
declarations (#1252)this.foo
as possible namespace (#1258)namespace['foo']
references (#1240)this.warn(...)
and this.error(...)
methods to plugin transform
hook contexts (#1140)throw
always considered to be a side effect (#1227)file
property to sourcemaps for bundles with plugins (#986)export default
and declaration (#1218)var
initialisers in dead branches (#1198)var
declarations in dead branches (#997)export { foo as default }
creates live binding (#1078)new
expressions without side-effects (#179)var
declarations are included in output (#1113)legacy
fixes: do not create getters (#1069), do not include __esModule
(#1068), quote reserved property names (#1057)legacy
option for IE8 support (#989)this
(#1012)options.moduleContext
for per-module context overrides (#1023)auto
exports with ES output (#966)export { foo as default }
no longer creates a live binding (#860)interop: false
option to disable unwrapping of external imports (#939)flushTime.js
(#922)dependencies
in bundle.modules
objects (#903){ format }
through to transformBundle
(#867)options.context
to replace top-level this
(#851)noConflict
when used via rollup --config
(#846)outro
block after export block (#852)Bundle.sort()
(#800)paths
config (#754)export *
from external module, internallyoptions.globals
to work with them (#763)exports.foo;
statements (#755)ongenerate
and onwrite
plugin hooks (#742)--globals
to work with --external
or options.external
in whatever configuration (#743)rollup -c node:pkgname
(#736)rollup-watch
(#712)rollup --watch
to work with targetsrollup --watch
(#284)es6-promise
(#689)resolveId
plugin functions to return non-strings (#692)__esModule
property to named exports in AMD, CJS and UMD modes (#650)options.preferConst
to generate const
declarations for exports rather than var
declarations (#653)eval
security issue (#675)load
hook (#607)var
with no-treeshake option (#639)treeshake: false
/--no-treeshake
option for debugging (#505)noConflict
/--no-conflict
option for UMD builds (#580)foo. bar
where foo
is a namespace import is rewritten correctly (#566)export { document }
) (#562)export {}
, warn instead (#486)null
in _interopDefault
(#474)var exports.foo
(#426)resolveId
/load
hooks (#275)_interopDefault
function to DRY out code with many external dependencies, in CommonJS output (#458)--external
option correctly (#417)options.external
(#410)options.external
(#407)dest
or sourceMapFile
is resolved against CWD for purposes of sourcemap generation (#344)banner
, footer
, intro
and outro
options via CLI (#330)options.global
to be a function rather than an object, and warn on missing names (#293)bundleTransform
plugin hook and option (#387)--environment
option to CLI (#388)var
keywords (#390)moduleName
contains dots (#378)options
object (#371)delete
statements (#352)aggressive: true
(was too aggressive) (#309)aggressive: true
option to eliminate all side-effects outside entry modulerollup --config
(#288)Promise
where used, for Node 0.10 support (#254)export *
declarations caused error (#244)banner
and footer
options (string, or function that returns a string) (#235)eval
(#186)foo$1
already exists--config
file to enable plugins with CLI (#226)default
being used as variable name (#215)options.transform
, options.load
, options.resolveId
, options.resolveExternal
and options.external
are no longer supported, and should be handled by plugins. More infoimport data from 'data.json'
(with the appropriate transformer). For safety, always include the file extension – import ./foo.js
, not ./foo
ReferenceError: Promise is not defined
in node v0.10 (#189)module.basename()
when used with custom resolveId
functionrequire( 'rollup' ).VERSION
transform
option is no longer passed through to custom loaders. Loaders should only concern themselves with providing source code; transformation will always take placeoptions.transform
functions can return a string, or a {code, map, ast}
object. Where possible, sourcemap chains will be flattened (#175)options.resolveId
, options.resolveExternal
and options.load
can each be a function or an array of functions. If an array, the first non-null/undefined return value is used. In both cases, failed resolution/loading will fall back to the defaults, unless an error is thrown. (#174)intro
and outro
options – similar to banner
and footer
except inserted inside any format-specific wrapperexport let a = 1, b = 2
) are split up to facilitate tree-shaking (#171)chalk
and source-map-support
to dependencies
, as they're used by the CLI (#167)external.config.foo = 'bar'
) without erroringacorn.parse
in bundle, remove sander
from dependencies, simplify build.
(#133)modules
property to user-facing bundle
– an array with {id}
objects (#128)import mod from 'foo/sub/mod'
(#126)Identifier
class markable)import
statements, and do tree-shaking synchronously once loading is complete. This results in simpler and faster code, and enables future improvements (#97)foo
as exports.foo
when it makes sense to (#92)Scope
model – scopes always attach to blocks, never function expressions/declarationsexport { name } from './other'
does not create a local binding (#16)useStrict
option exposed to CLI as --strict
/--no-strict
(#81)export { x } from 'y'
declarations (#74)banner
and footer
options (#66)exports
to avoid conflicts (#66)--globals
option to CLI (#60)foo[bar]
) when discovering dependencies (#47)export * from '..'
(#46)dist/rollup.browser.js
) (#25)var
declarations for exported bindings are omittedresolvePath
is now resolveId
. The returned id
(which by default is a filepath) is passed to the load
function, which can optionally be overridden, and which is applied to all modules including the entry module. This allows custom resolver and loading logic for integration with third party systems (e.g. JSPM) or, eventually, in-browser usage (#30)sourcemap
option is used by CLI (was omitted previously)moduleId
and moduleName
via CLI (#24)this
at the top level is undefined
(#28)path.parse
- unsupported in node 0.10source-map-support
from devDependencies
to dependencies
(#23)export default
statements (#21)--external foo,bar,baz
option to CLI (equivalent to external: ['foo', 'bar', 'baz']
)export default
constraint (fixes bug introduced in 0.7.3)foo.bar()
mutates foo
) (#13)options.indent
can be used to control indentation of resulting bundle. options.true
(default) means ' auto', options.false
means empty string. Alternatively specify whitespace e.g. ' '
or '\t'
(#5)exports
correctly (UMD exports)moduleName
is required but missing (UMD exports)this
rather than window
Object.prototype
properties (#12)rollup.rollup
and bundle.write
both take a single options argumentoptions.external: [...]
jsnext:main
fields in the appropriate package.json
files. This behaviour can be overridden by passing an alternative resolveExternal
functionexport { x as y } from 'z'
rollup.rollup
now rolls up rollup