Skip to content

Releases: rollup/rollup

v1.0.0

28 Dec 21:23
Compare
Choose a tag to compare

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 and bundle.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 the watchChange plugin hook and the this.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

v0.68.2

28 Dec 21:24
Compare
Choose a tag to compare

2018-12-23

Bug Fixes

  • Do not assume hoisted variables to have been initialized (#2607)

Pull Requests

  • #2607: Fix an issues where hoisted variables were assumed to have been initialized (@lye)

v0.68.1

19 Dec 21:57
Compare
Choose a tag to compare

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

16 Dec 11:38
Compare
Choose a tag to compare

2018-12-16

Breaking Changes

  • optimizeChunks is renamed to experimentalOptimizeChunks 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 the chunkFileNames 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 in input and chunks marked as isEntry (#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 before this 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

16 Dec 12:20
Compare
Choose a tag to compare

2018-12-03

Bug Fixes

  • Prevent corrupt source maps for files with very long lines (#2571)

Pull Requests

  • #2571: Fix an issue with long lines in sourcemaps (@mislav)

v0.67.3

16 Dec 12:20
Compare
Choose a tag to compare

2018-11-17

Bug Fixes

  • Make sure the ESM browser build is actually published to npm (#2560)
  • Throw proper error when using inlineDynamicImports with experimentalPreserveModules (#2560)

Pull Requests

  • #2552: Properly include ESM browser build in package (@lukastaegert)
  • #2560: Show proper error when using inlineDynamicImports with experimentalPreserveModules (@clarkdo)

v0.67.2

16 Dec 12:19
Compare
Choose a tag to compare

2018-11-17

Bug Fixes

  • Prevent crash when not returning sourcemaps from renderChunk plugin hook (#2558)

Pull Requests

  • #2558: Prevent crash when not returning sourcemaps from renderChunk (@kyle1320)

v0.67.1

16 Dec 12:19
Compare
Choose a tag to compare

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

16 Dec 12:08
Compare
Choose a tag to compare

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

26 Oct 22:05
Compare
Choose a tag to compare
remove the obsolete whats-the-catch section of the README