Releases: rollup/rollup
Releases · rollup/rollup
v1.0.0
2018-12-28
Breaking Changes
- Several (mostly deprecated) options have been removed or renamed (#2293, #2409):
- banner -> output.banner
- dest -> output.file
- entry -> input
- experimentalCodeSplitting -> now always active
- experimentalDynamicImport -> now always active
- experimentalPreserveModules -> preserveModules
- exports -> output.exports
- extend -> output.extend
- footer -> output.footer
- format -> output.format
- freeze -> output.freeze
- globals -> output.globals
- indent -> output.indent
- interop -> output.interop
- intro -> output.intro
- load -> use plugin API
- moduleName -> output.name
- name -> output.name
- noConflict -> output.noConflict
- output.moduleId -> output.amd.id
- outro -> output.outro
- paths -> output.paths
- preferConst -> output.preferConst
- pureExternalModules -> treeshake.pureExternalModules
- resolveExternal -> use plugin API
- resolveId -> use plugin API
- sourcemap -> output.sourcemap
- sourceMap -> output.sourcemap
- sourceMapFile -> output.sourcemapFile
- strict -> output.strict
- targets -> use output as an array
- transform -> use plugin API
- useStrict -> output.strict
- In general, output options can no longer be used as input options (#2409)
bundle.generate
andbundle.write
now return a new format (#2293)- Several plugin hooks have become deprecated and will display warnings when used (#2409):
- transformBundle
- transformChunk
- ongenerate
- onwrite
- Plugin transform dependencies are deprecated in favour of using the
this.addWatchFile
plugin context function (#2409) - Accessing
this.watcher
in plugin hooks is deprecated in favour of thewatchChange
plugin hook and thethis.addWatchFile
plugin context function (#2409) - Using dynamic import statements will by default create a new chunk unless
inlineDynamicImports
is used (#2293) - Rollup now uses acorn@6 which means that acorn plugins must be compatible with this version; acorn is now external for non-browser builds to make plugins work (#2293)
Features
- The
--dir
ClI option can now be aliased as-d
(#2293) - The
--input
option now supports named entry points via=
(#2293)
Bug Fixes
- Both the
--input
option as well as the default CLI option now support named inputs (#2293)
Pull Requests
- #2293: Unify code paths for 1.0 relase and update documentation (@guybedford and @lukastaegert)
- #2409: Remove old deprecated features and add new deprecation warnings (@guybedford)
- #2486: Upgrade to acorn 6 (@marijnh)
- #2611: Fix hook's name in test description (@Andarist)
- #2612: Fix a self-contradicting comment in the docs (@LongTengDao)
v0.68.2
v0.68.1
2018-12-19
Bug Fixes
- Fix an issue with UMD wrappers where a variable is used without being defined (#2600)
Pull Requests
- #2600: Fix UMD and IIFE wrapper issues and add comprehensive functional wrapper tests (@lukastaegert)
v0.68.0
2018-12-16
Breaking Changes
optimizeChunks
is renamed toexperimentalOptimizeChunks
to reflect this feature is not production-ready yet (#2575)
Features
- Plugins can iterate all module ids via
this.moduleIds
(#2565) - Plugins can get graph information about a module via
this.getModuleInfo(id)
(#2565) - Plugins and JS API users get more information about the generated chunks:
dynamicImports
,facadeModuleId
,isDynamicEntry
,name
(#2575) - Tree-shaken dynamic imports will no longer create chunks or influence chunking in any way (#2575)
- Dynamic imports will no longer follow the
entryFileNames
but thechunkFileNames
property reflecting those are solely internally used (#2575) - If there are chunk naming conflicts, entry chunks will always take precedence (#2575)
- If an entry facade is created, only the facade chunk is marked as
isEntry
(#2575) - Dynamic chunks will only be marked as
isEntry
if they are actually entry chunks as well; thus there is now a 1-to-1 correspondence between modules listed ininput
and chunks marked asisEntry
(#2575) - Chunks no longer contain imports for variables that are tree-shaken in the chunk but used in other chunks (#2584)
- Chunks will always import re-exported variables directly from the chunk where they are originally exported from (#2584)
- Null characters will be pruned from chunk ids to allow for virtually created chunks and make
rollup-plugin-multi-entry
compatible with code-splitting and thus the upcoming 1.0 version (#2590) - Simplify the UMD wrapper code as much as possible, especially if there are no exports (#2594)
- The UMD wrapper will now work in strict mode by checking for
self
beforethis
when determining the global variable (#2594)
Bug Fixes
- If a facade is created for a dynamic entry point, this facade will be imported instead of the facaded chunk (#2575)
- Manual chunks that include multiple entry points will have proper facades created for all entry points if necessary (#2575)
- If missing exports are shimmed, the shim variable will not be global but created on a per-module basis and is deconflicted with variables having the same name (#2584)
- Missing export shims work properly in SystemJS (#2584)
preserveModules
now handles dynamic namespace imports (#2584)- Fix chunk execution order in certain scenarios (#2584)
- Exports and assignments using destructuring syntax will properly update the exported variables when generating SystemJS output (#2587)
- Hashes in chunk names will now also take dynamic imports into account (#2596)
Pull Requests
- #2565: Provide module graph information on the plugin context (@samccone)
- #2575: Extend bundle information, tree-shake dynamic imports, fix dynamic import facade creation, support manual chunks with multiple entry points, make
optimizeImports
experimental (@lukastaegert) - #2577: Update dependencies (@lukastaegert)
- #2584: Prune tree-shaken chunk imports, fix missing export shimming, support dynamic namespaces when preserving modules, improve chunk execution order (@lukastaegert)
- #2587: Support exports using destructuring declarations and assignments in SystemJS (@lukastaegert)
- #2590: Make sure chunk ids do not contain invalid characters to allow for chunks to correspond to virtual modules (@lukastaegert)
- #2594: Simplify UMD wrapper code and make sure it works in strict mode (@lukastaegert)
- #2596: Take both static and dynamic dependencies into account when calculating hashes (@lukastaegert)
v0.67.4
v0.67.3
2018-11-17
Bug Fixes
- Make sure the ESM browser build is actually published to npm (#2560)
- Throw proper error when using
inlineDynamicImports
withexperimentalPreserveModules
(#2560)
Pull Requests
- #2552: Properly include ESM browser build in package (@lukastaegert)
- #2560: Show proper error when using
inlineDynamicImports
withexperimentalPreserveModules
(@clarkdo)
v0.67.2
v0.67.1
2018-11-11
Bug Fixes
- Deconflict CLI entry points with same name but on different paths if no explicit naming is used (#2548)
Pull Requests
- #2548: Deconflict CLI entry points with same name but on different paths if no explicit naming is used (@lukastaegert)
v0.67.0
2018-11-04
Breaking Changes
none
Features
- Do not resolve external dynamic imports via plugins to match the logic for static external imports again (#2505)
- Support virtual modules created by plugins when preserving modules (#2511)
- Add new
output.sourcemapExcludeSources
option to exclude the actual sources from sourcemaps (#2531)
Bug Fixes
- Fix TypeScript type for sourcemaps (#2507)
- Fix order of external and inter-chunk imports to match the proper execution order (#2508)
- Do not tree-shake children of unknown nodes to e.g. properly handle do-expressions via acorn plugin (#2510)
- Prevent memory leak when using the bundle as cache (#2522)
- Fix mis-placed semicolons for certain SystemJS exports (#2529)
Pull Requests
- #2505: Do not resolve external dynamic imports via plugins (@lukastaegert)
- #2507: Fix public sourcemap type (@aMarCruz)
- #2508: Improve execution order of chunks and externals (@lukastaegert)
- #2510: Do not tree-shake children of unknown nodes to e.g. properly handle do-expressions via acorn plugin (@devsnek)
- #2511: Create chunks for virtual modules when preserving modules (@lukastaegert)
- #2522: Prevent memory leak when using the bundle as cache (@kyle1320)
- #2529: Fix mis-placed semicolons for certain SystemJS exports (@kyle1320)
- #2531: add
sourcemapExcludeSources
option to exclude the source content from sourcemaps (@kitsonk)
v0.20.0
remove the obsolete whats-the-catch section of the README