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
Rollup now requires at least Node 10 to run, or a sufficiently modern browser (#3346)
The file structure of Rollup's ESM builds has changed:
rollup/dist/es/rollup.js instead of rollup/dist/rollup.es.jsrollup/dist/es/rollup.browser.js instead of rollup/dist/rollup.browser.es.jsIn 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)
Modules that are completely tree-shaken will no longer be listed as part of any chunks in generateBundle
The experimentalOptimizeChunks and chunkGroupingSize options have been removed
acorn plugins can only be used if they accept a passed-in acorn instance instead of importing it themselves. See https://github.com/acornjs/acorn/pull/870#issuecomment-527339830 for what needs to be done to make plugins compatible that do not support this yet (#3391)
Emitted chunks now have the TypeScript type Uint8Array instead of Buffer. A Buffer can still be used, though (#3395)
The TypeScript types no longer use ESTree types for AST nodes but a very generic type that does not contain information specific to certain node types (#3395)
The signature of the 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)
The following plugin hooks have been removed:
generateBundle insteadwriteBundle insteadrenderChunk insteadrenderChunk insteadYou can no longer access this.watcher on the plugin context.
The transform hook can no longer return dependencies.
The treeshake.pureExternalModules option will now show a deprecation warning when used: use treeshake.moduleSideEffects: 'no-external' instead
Using import.meta.ROLLUP_ASSET_URL_<..> and import.meta.ROLLUP_CHUNK_URL_<..> in code will now show warnings: use import.meta.ROLLUP_FILE_URL_<..> instead
The resolveAssetUrl hook will now show a deprecation warning when used: use resolveFileUrl instead
The following plugin context functions will show warnings when used:
this.emitAsset: use this.emitFilethis.emitChunk: use this.emitFilethis.getAssetFileName: use this.getFileNamethis.getChunkFileName: use this.getFileNamethis.isExternal: use this.resolvethis.resolveId: use this.resolveDirectly adding properties to the bundle object in the generateBundle is deprecated will show a warning (removing properties is allowed, though): Use this.emitFile
Accessing chunk.isAsset on the bundle is deprecated: Use chunk.type === 'asset' instead
The error code for a missing name 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.emitAsset2019-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.VERSIONes 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)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)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 ./fooReferenceError: Promise is not defined in node v0.10 (#189)module.basename() when used with custom resolveId functionrequire( 'rollup' ).VERSIONtransform 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 windowObject.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