rollup

Next-generation ES module bundler

Showing:

100 Versions

2.57.0

2021-09-22

Features
  • Add generatedCode option to allow Rollup to use es2015 features for smaller output and more efficient helpers (#4215)
  • Improve AMD and SystemJS parsing performance by wrapping relevant functions in parentheses (#4215)
  • Using preferConst will now show a warning with strictDeprecations: true (#4215)
Bug Fixes
  • Improve ES3 syntax compatibility by more consequently quoting reserved words as props in generated code (#4215)
  • Do not use Object.assign in generated code to ensure ES5 compatibility without the need for polyfills (#4215)
  • Support live-bindings in dynamic namespace objects that contain reexported external or synthetic namespaces (#4215)
  • Use correct "this" binding in dynamic import expressions for CommonJS and AMD (#4215)
  • Properly handle shimMissingExports for exports that are only used internally (#4215)
  • Prevent unhandled rejection for failed module parsing (#4228)
Pull Requests
  • #4212: chore: remove unused ambient types (@dnalborczyk)
  • #4215: Use ES2015 features in generated code snippets (@lukastaegert)
  • #4219: chore: bump rollup typescript, remove unused micromatch (@dnalborczyk)
  • #4220: chore: use forceConsistentCasingInFileNames in ts-config (@dnalborczyk)
  • #4224: prepare for useDefineForClassFields (@dnalborczyk)
  • #4228: fix: prevent UnhandledPromiseRejectionWarning when module resolution/parsing fails (@kherock)

2.56.3

2021-08-23

Bug Fixes
  • Make sure moduleInfo contains complete information about imported ids in the moduleParsed hook (#4208)
Pull Requests
  • #4208: ModuleInfo.importedIds will return null if resolvedIds[source] is undefined (@FoxDaxian and @lukastaegert)

2.56.2

2021-08-10

Bug Fixes
  • Check if after simplification, an object pattern would become an expression statement or arrow function return value (#4204)
Pull Requests
  • #4204: Do not create invalid code when simplifying object pattern assignments (@lukastaegert)

2.56.1

2021-08-08

Bug Fixes
  • Fix rendering of SystemJS export declarations initialized with a simplifiable expression (#4202)
Pull Requests
  • #4202: Fix incorrect rendering of export declarations in SystemJS (@lukastaegert)

2.56.0

2021-08-05

Features
  • Create more efficient code for SystemJS exports (#4199)
  • Extend maxParallelFileReads option to also throttle plugin load hooks (#4200)
Bug Fixes
  • Return correct value for postfix update expressions of exported variables (#4194)
Pull Requests
  • #4199: Refine SystemJS export rendering (@lukastaegert)
  • #4200: Restrict parallel execution of load hook (@schummar)

2.55.1

2021-07-29

Bug Fixes
  • Improve CLI warning message for unused external imports (#4194)
Pull Requests
  • #4194: Align batch warning for UNUSED_EXTERNAL_IMPORT to individual warning (@benmccann)

2.55.0

2021-07-28

Features
  • Support default export live-bindings when generating ESM output (#4182)
Bug Fixes
  • Always write ["default"] as computed property when used as named export (#4182)
  • Do not mask default export TDZ errors (#4182)

2.54.0

2021-07-25

Features
  • Extend UMD import.meta.url polyfill to support web workers (#4186)
Bug Fixes
  • Resolve an issue where certain uses of classes could lead to an infinite recursion (#4189)
Pull Requests
  • #4186: Fix UMD import.meta.url inside web workers (@ceifa)
  • #4188: Fix typo in renderHelpers.ts (@eltociear)
  • #4189: Move long path recursion prevention to MemberExpression (@lukastaegert)
  • #4190: Stop recommending node-builtins (@curran)

2.53.3

2021-07-21

Bug Fixes
  • Solve an issue that could lead to severe memory issues and crashes when there are a lot of hoisted variables (#4183)
Pull Requests
  • #4183: Avoid memory issues with hoisted variables (@lukastaegert)

2.53.2

2021-07-15

Bug Fixes
  • Identify additional TDZ situations in functions that are run more than once (#4177)
  • Fix a scoping issue when a variable inside a catch scope matches the scope parameter's name (#4178)
Pull Requests
  • #4177: Fix additional let/var init bugs (@kzc)
  • #4178: Correctly create outside variable when shadowed by catch parameter (@lukastaegert)

2.53.1

2021-07-11

Bug Fixes
  • Do not omit namespace reexports when treeshake is false (#4175)
Pull Requests
  • #4175: Generate namespace objects when not tree-shaking (@lukastaegert)

2.53.0

2021-07-09

Features
  • Add maxParallelFileReads option to limit read operations with a default of 20 (#4170)
Pull Requests
  • #4170: Limit parallel file reads to prevent "EMFILE: too many open files" error (@schummar)

2.52.8

2021-07-07

Bug Fixes
  • Automatically handle many use var before declaration and TDZ access scenarios correctly without the need for treeshake.correctVarValueBeforeDeclaration (#4148)
Pull Requests
  • #4148: Fix var/const/let variable use before declaration (@kzc and @lukastaegert)

2.52.7

2021-07-02

Bug Fixes
  • Fix an issue where reassignments where not tracked through async function returns (#4163)
Pull Requests
  • #4163: Deoptimize return values of async functions (@lukastaegert)

2.52.6

2021-07-01

Bug Fixes
  • Fix an issue where reassignments where not tracked through an await expression (#4162)
Pull Requests
  • #4162: eoptimize awaited expressions (@lukastaegert)

2.52.5

2021-07-01

Bug Fixes
  • Properly display parser errors not tied to a code location (#4160)
Pull Requests
  • #4160: fix: max stack call error is caught on locate (@semoal)

2.52.4

2021-06-30

Bug Fixes
  • Fix an error when external namespaces are reexported across several files (#4159)
Pull Requests
  • #4159: Properly handle double reexports from external namespaces (@lukastaegert)

2.52.3

2021-06-25

Bug Fixes
  • Fix an issue where code was wrongly removed when using vars in nested scopes (#4149)
Pull Requests
  • #4149: Make sure the initializer of hoisted variables is deoptimized (@lukastaegert)

2.52.2

2021-06-21

Bug Fixes
  • Support falsy plugins in types (#4144)
  • Do not require return value in renderChunkHook type (#4144)
Pull Requests
  • #4144: Use TypeScript config and improve some types (@lukastaegert)

2.52.1

2021-06-17

Bug Fixes
  • Fix a memory leak in watch mode (#4142)
Pull Requests
  • #4142: Make array and object prototype singletons immutable for now (@lukastaegert)

2.52.0

2021-06-16

Features
  • Add --configPlugin CLI option to apply plugins to the config file for e.g. TypeScript configs (#3835)
  • Add "safest" and "smallest" presets to tree-shaking options for easier configuration (#4131)
  • Add treeshake.correctVarValueBeforeDeclaration option to deoptimize var declarations (#4139)
Pull Requests
  • #3835: Add typescript config support (@TheRealSyler)
  • #4131: Add presets to the tree-shaking options (@lukastaegert)
  • #4139: Add option to deoptimize var declarations for tree-shaking (@lukastaegert)
  • #4141: Update dependencies (@lukastaegert)

2.51.2

2021-06-11

Bug Fixes
  • Include modules imported from no-treeshake modules even if they would be empty (#4138)
Pull Requests
  • #4138: Include all dependencies from modules with no-treeshake (@lukastaegert)

2.51.1

2021-06-08

Bug Fixes
  • Fix error when using defineConfig (#4134)
Pull Requests
  • #4134: export rollup.defineConfig at runtime (@mshrtsr)

2.51.0

2021-06-06

Features
  • Add a helper for IntelliSense support in config files (#4127)
Bug Fixes
  • Improve performance when generating source maps (#4122)
Pull Requests
  • #4122: User Map to optimize performance (@izevo)
  • #4127: Export defineConfig defines the auxiliary function of the configuration (@rxliuli)

2.50.6

2021-06-03

Bug Fixes
  • Do not consider the object spread operator as side effect when propertyReadSideEffects are false (#4119)
  • Detect side effects when returning thenables from async arrow functions (#4120)
Pull Requests
  • #4119: Respect propertyReadSideEffects in spread elements (@lukastaegert)
  • #4120: Detect async arrow thenable side effects (@lukastaegert)

2.50.5

2021-05-30

Bug Fixes
  • Detect side effects when accessing thenables (#4115)
Pull Requests
  • #4114: use colorette instead of turbocolor (@ryuever)
  • #4115: Tracks side effects of thenables (@lukastaegert)

2.50.4

2021-05-29

Bug Fixes
  • Fix a situation where tree-shaking would stop including nodes prematurely (#4111)
  • Track mutations and accessor side effects when using __proto__ in an object literal (#4112)
  • Check for getter effects when spreading an object (#4113)
Pull Requests
  • #4111: Always request a new tree-shaking pass when deoptimizations of a node are first included (@lukastaegert)
  • #4112: Actually set the prototype when using a proto property (@lukastaegert)
  • #4113: Track access side effects when using object spread operator (@lukastaegert)

2.50.3

2021-05-28

Bug Fixes
  • Wrap parentheses around leading elements in simplified sequence expressions if this would otherwise lead to invalid code (#4110)
  • Do not associate block soped variables in catch clauses with the clause parameter (#4108)
  • Do not associate hoisted variables in catch clauses with outside variables if they match the parameter (#4108)
  • Use correct "this" context for tagged template literal member expressions in simplified sequences (#4110)
Pull Requests
  • #4108: Correctly handle catch declarations (@lukastaegert)
  • #4110: Invalid sequence expression simplification (@lukastaegert)

2.50.2

2021-05-27

Bug Fixes
  • Avoid unnecessary side effects when using methods like .filter and .map (#4103)
  • Avoid crash when a module with moduleSideEffects no-treeshake imports a tree-shaken module (#4104)
Pull Requests
  • #4103: Do not track side-effect-free array methods as side effects (@lukastaegert)
  • #4104: Fix crash when using inlineDynamicImports with no-treeshake (@lukastaegert)

2.50.1

2021-05-26

Bug Fixes
  • Do not associate pure annotations in simplified expressions with wrong elements (#4095)
  • Prevent invalid code when simplified conditionals start with an IIFE function expression (#4099)
Pull Requests
  • #4095: Correctly associate pure annotations and remove invalid ones (@lukastaegert)
  • #4099: Wrap leading function expression iifes in conditionals (@lukastaegert)

2.50.0

2021-05-25

Features
  • Only include last elements of comma expressions if they are used or have side effects (#4087)
Bug Fixes
  • Prevent a crash that could occur when calling object methods (#4091)
Pull Requests
  • #4085: Switch to ESLint (@lukastaegert)
  • #4087: Drop unused last sequence element (@lukastaegert)
  • #4091: Prevent crash for recursive "this" deoptimization (@lukastaegert)

2.49.0

2021-05-23

Features
  • Detect side-effect-free static class methods and properties (#4018)
  • Detect side-effect-free array elements (#4018)
  • Do not apply deoptimizations from dead code (#4018)
Bug Fixes
  • Handle side effect detection for getters and setters added in untracked code (#4018)
  • Track "this" mutations for methods, getters and setters (#4018)
Pull Requests
  • #4018: Class method effects (@marijnh and @lukastaegert)

2.49.0-1

2.49.0-0

2.48.0

2021-05-15

Features
  • Add replacement to conditionally insert asset extensions in entryFileNames when preserving modules (#4077)
Bug Fixes
  • Fix crash when dynamically assigning to namespace members (#4070)
  • Do not associate pure annotations in front of a semi-colon or comma with succeeding code (#4068)
Pull Requests
  • #4068: ignore invalid trailing pure annotations (@kzc)
  • #4070: undefined deoptimizePath when the first element is empty string (@si3nloong)
  • #4071: add node.js v16 support (@dnalborczyk)
  • #4077: Add assetExtname replacement in entryFileNames (@BPScott)
  • #4080: Added Rollup logo in README.md (@priyanshurav)
  • #4081: fix comment regarding invalid annotation handling (@kzc)

2.47.0

2021-05-04

Features
  • Warn about ambiguous imports from combined external namespace reexports (#4064)
  • In case of combined namespace reexports, always prefer local exports over external namespaces (#4064)
  • Treat conflicting names in local namespace reexports as undefined (#4064)
Pull Requests
  • #4064: Prefer locally defined exports and reexports over external namespaces (@lukastaegert)

2.46.0

2021-04-29

Features
  • Add option to disable file name sanitation (#4058)
  • Add information about importers to unused external import warning (#4054)
Pull Requests
  • #4042: Use Github actions only (@lukastaegert)
  • #4045: Fix REPL artefact branch reference (@lukastaegert)
  • #4046: Use codecov action for coverage (@lukastaegert)
  • #4054: Add to UNUSED_EXTERNAL_IMPORT warning information about the origin of the problem (@cawa-93)
  • #4058: Add sanitizeFileName option (@guybedford)

2.45.2

2021-04-13

Bug Fixes
  • Do not user a dynamic entry file name for naming a manual chunk (#4040)
Pull Requests
  • #4040: Prioritize manual chunk name over dynamic entry id (@lukastaegert)

2.45.1

2021-04-10

Bug Fixes
  • Handle falsy return values from async plugin options hooks (#4039)
Pull Requests
  • #4039: Do not fail when returning null or undefined from an async options hook (@lukastaegert)

2.45.0

2021-04-09

Features
  • Support private class instance methods and accessors (#4034)
Pull Requests
  • #4034: feat: add support for private class methods (@dnalborczyk)

2.44.0

2021-03-29

Features
  • Add a new option makeAbsoluteExternalsRelative to opt out of renormalizing absolute external ids to relative ids (#4021)
  • Extend the resolveId plugin hook to allow forcing or preventing renormalization of absolute external ids (#4021)
  • Make the rendered code of individual modules available in the generated bundle (#4028)
Bug Fixes
  • Handle objects with __proto__ properties correctly (#4019)
Pull Requests
  • #4019: Deoptimize ObjectExpression when a __proto__ property is present (@marijnh)
  • #4021: Improve absolute path handling (@lukastaegert)
  • #4026: chore: fix vscode launch config (change tdd to bdd) (@jameslahm)
  • #4027: Post comment for PRs from forks (@lukastaegert)
  • #4028: Expose rendered module code to generateBundle hook (@btd)

2.43.1

2021-03-28

Bug Fixes
  • Prevent infinite recursions in certain scenarios when calling object properties (#4025)
Pull Requests
  • #4025: Handle recursive this mutation detection (@lukastaegert)

2.43.0

2021-03-27

Features
  • Track side effects of function properties in objects for better tree-shaking (#4011)
Pull Requests
  • #4011: isable pessimistic object deoptimization for calls when the called function doesn't ref this (@marijnh)
  • #4012: fix sourcemap reference in docs (@tjenkinson)
  • #4015: Use SIGTERM instead of SIGINT to kill test child processes in tests (@marijnh)

2.42.4

2021-03-24

Bug Fixes
  • Do not discard plugin return values when using perf option (#4010)
Pull Requests
  • #4010: Return hook result inside promise with async timer end (@SuperOleg39)

2.42.3

2021-03-22

Bug Fixes
  • Do not ignore #__PURE__ comments in front of optional chaining expressions (#4007)
Pull Requests
  • #4007: Tree-shake pure call expressions with optional chaining (@lukastaegert)

2.42.2

2021-03-22

Bug Fixes
  • Use correct import.meta.url in relative imports from transpiled config files (#4005)
Pull Requests
  • #4005: Use correct import.meta.url in config files (@lukastaegert)

2.42.1

2021-03-20

Bug Fixes
  • Do not produce unhandled Promise rejections when plugins throw while using the perf option (#4004)
Pull Requests
  • #4004: Fixed unhandled promise rejections (@gluck)

2.42.0

2021-03-19

Features
  • Prevent infinite loops when several plugins are using this.resolve in their resolveId hook (#4000)
Pull Requests
  • #4000: Break infinite loops in this.resolve (@lukastaegert)

2.41.5

2021-03-18

Bug Fixes
  • Make sure unused property accesses of external namespaces can be tree-shaken (#4001)
Pull Requests
  • #4001: Do not count accessing members of an external namespace as side-effects (@lukastaegert)

2.41.4

2021-03-16

Bug Fixes
  • Do not replace external namespace imports with individual named imports to avoid changing behaviour with regard to missing exports (#3999)
Pull Requests
  • #3999: Allow to safely probe external namespaces (@lukastaegert)

2.41.3

2021-03-16

Bug Fixes
  • Always retain arguments passed to empty object pattern parameters (#3998)
Pull Requests
  • #3998: Do not create invalid code if a function argument is an empty object pattern (@lukastaegert)

2.41.2

2021-03-12

Bug Fixes
  • Also remove sourcemaps comments if plugins return a pre-made ast (#3987)
Pull Requests
  • #3987: Change removal of sourcemap comment (@yannayl)

2.41.1

2021-03-11

Pull Requests
  • #3990: Add browser sourcemap and remove log (@lukastaegert)

2.41.0

2021-03-09

Features
  • Add option to treeshake.propertyReadSideEffects to keep all property accesses (#3985)
Bug Fixes
  • Also respect pure comment annotations when a plugin provides an AST in the transform hook provided they use this.parse (#3981)
Pull Requests
  • #3981: Move pure comment annotation to Graph.contextParse (@yannayl)
  • #3985: implement --treeshake.propertyReadSideEffects=always to handle getters with side effects (@kzc)

2.40.0

2021-02-26

Features
  • Make sure that entry point variable names take precedence over variable names in dependencies when deconflicting (#3977)
Bug Fixes
  • Replace : in generated file names to prevent invalid files on Windows (#3972)
Pull Requests
  • #3972: Don't allow : in file names (@lukastaegert)
  • #3976: Add soft breaks to guide to improve mobile experience (@lukastaegert)
  • #3977: Reverse module deconflicting order (@lukastaegert)

2.39.1

2021-02-23

Bug Fixes
  • Make sure local variables named Symbol, Object or Promise do not conflict with code generated by Rollup (#3971)
Pull Requests
  • #3964: Remove extra word (@jamonholmgren)
  • #3971: Avoid conflicts with local variables named Symbol, Object, Promise (@lukastaegert)

2.39.0

2021-02-12

Features
  • Add "validate" option to verify generated chunks are valid JavaScript (#3952)
Bug Fixes
  • Always add exports properties for uninitialized named exports (#3957)
  • Allow using an external namespace reexport together with named exports (#3959)
  • Avoid invalid generated code in certain scenarios with SystemJS exports (#3960)
Pull Requests
  • #3952: implement validate output option and --validate CLI option (@kzc)
  • #3956: Update dependencies, fix fsevents issue (@lukastaegert)
  • #3957: Make sure uninitialised exports turn up via .hasOwnProperty for non-ES formats (@lukastaegert)
  • #3959: Allow overriding individual exports of reexported external namespaces (@lukastaegert)
  • #3960: Make sure system exports are valid JavaScript (@lukastaegert)

2.38.5

2021-02-05

Bug Fixes
  • Prevent invalid code when simplifying assignments and delcarations (#3951)
  • Prevent behaviour-changing line-breaks when simplifying assignments in return statements (#3951)
  • Slightly improve white-space rendering when simplifying certain expressions (#3951)
Pull Requests
  • #3951: Wrap simplified assignments if necessary (@lukastaegert)

2.38.4

2021-02-02

Bug Fixes
  • Do not change logic when tree-shaking declarations in if statements or loops (#3947)
Pull Requests
  • #3947: Do not tear apart declarations in loop or if bodies (@lukastaegert)

2.38.3

2021-02-01

Bug Fixes
  • Prevent an unexpected live-binding when default exporting a synthetic named export (#3946)
Pull Requests
  • #3945: Upgrade chokidar and fsevents for Apple M1 compatibility (@threepointone)
  • #3946: Make sure default exports snapshot synthetic named exports (@lukastaegert)

2.38.2

2021-01-31

Bug Fixes
  • Do not generate invalid code for partially tree-shaken declarations in for loops (#3943)
  • Always include function bodies of functions in side-effect-free modules (#3944)
Pull Requests
  • #3943: Do not partially tree-shake unused declarations in for loops (@lukastaegert)
  • #3944: Correctly include functions with side effects from side-effect-free modules (@lukastaegert)

2.38.1

2021-01-28

Bug Fixes
  • Fix internal error when resolving a missing entry point in the browser build (#3935)
Pull Requests
  • #3935: fix: remove isolated resolve() for compat with browser distribution (@cmorten and @lukastaegert)
  • #3936: Ensure test after() callback is always executed (@Benjamin-Dobell)
  • #3937: Modernize references to other software (@ludofischer)

2.38.0

2021-01-22

Features
  • Entirely remove declared variables that only have an initializer side effect (#3933)
Pull Requests
  • #3933: Tree-shake unused declarations while keeping initializer side-effects (@lukastaegert)

2.37.1

2021-01-20

Pull Requests
  • #3929: Deduplicate acorn import (@lukastaegert)

2.37.0

2021-01-19

Features
  • Always check modules for side-effects that only indirectly reexport a used variable (#3840)
  • Warn if a circular dependency would cause wrong execution order when preserving modules (#3840)
Bug Fixes
  • Allow consuming synthetic exports via modules that reexport a namespace (#3894)
  • Do not crash for circular default reexports (#3840)
  • Do not crash for circular synthetic namespaces (#3840)
  • Improve circular dependency execution order in certain scenarios (#3840)
Pull Requests
  • #3840: Improve circular dependency execution order (@lukastaegert)
  • #3894: Always respect synthetic namespaces in namespace reexport (@lukastaegert)

2.36.2

2021-01-16

Bug Fixes
  • Fix an issue where invalid code was generated for unused assignments with side effects (#3926)
Pull Requests
  • #3926: Correctly simplify assignments with parentheses (@lukastaegert)

2.36.1

2021-01-06

Bug Fixes
  • Solve issues that result in invalid code when partially removing assignments (#3921)
Pull Requests
  • #3921: Prevent invalid code when removing assignment target of side-effectful object expression (@lukastaegert)

2.36.0

2021-01-05

Features
  • Support partial tree-shaking of chained assignments and unused assignment targets (#3919)
Pull Requests
  • #3919: Treeshake chained assignment expressions (@lukastaegert)

2.35.1

2020-12-14

Bug Fixes
  • Allow closing the bundle when watching in case of generate errors by adding the bundle to the error event (#3909)
  • Automatically close all bundles on generate errors when watching and using the CLI (#3909)
  • Try to create remaining bundles when watching and one of them throws (#3909)
Pull Requests
  • #3909: Forward bundle through watch error events (@lukastaegert)

2.35.0

2020-12-14

Features
  • Add closeBundle hook that is triggered by bundle.close() in the JS API (#3883)
Pull Requests
  • #3883: Revert pattern to folder export (@intrnl)

2.34.2

2020-12-06

Bug Fixes
  • Revert pattern export change (#3898)
Pull Requests
  • #3898: Revert pattern to folder export (@lukastaegert)

2.34.1

2020-12-03

Bug Fixes
  • Avoid Node deprecation warning by using a pattern export for nested Rollup files (#3896)
Pull Requests
  • #3887: Run memory leak test on all systems (@lukastaegert)
  • #3892: Add pull_request to windows github actions (@shellscape)
  • #3893: Update dependencies (@lukastaegert)
  • #3896: Replace deprecated folder package export with pattern export (@lukastaegert)

2.34.0

2020-11-29

Features
  • Support RequireJS comaptible AMD ids in code-splitting builds via amd.autoId (#3867)
  • Allow adding an AMD id base path (#3867)
Bug Fixes
  • Warn when using an constant AMD id in a code-splitting build (#3867)
Pull Requests
  • #3867: Implement amd.autoId/amd.basePath options (@tjenkinson)

2.33.3

2020-11-18

Bug Fixes
  • Do not use .js extension when importing AMD files from a UMD bundle (#3872)
Pull Requests
  • #3861: Update chat/support links (@shellscape)
  • #3872: Also removeExtensionFromRelativeAmdId in UMD finaliser (@tjenkinson)

2.33.2

2020-11-14

Bug Fixes
  • Fix an issue where statements were ignored after a conditional return in a labeled statement (#3871)
Pull Requests
  • #3871: Correctly track label usage in try statements (@Amareis)

2.33.1

2020-11-02

Bug Fixes
  • Add syntheticNamedExports to this.getModuleInfo to align with documentation (#3847)
Pull Requests
  • #3847: Expose syntheticNamedExports to ModuleInfo (@Amareis)
  • #3852: Fix typo on docs (@jpsc)

2.33.0

2020-11-01

Features
  • Add parameter to "watchChange" hook to denote if a change was an addition, update or deletion (#3841)
  • Add "closeWatcher" hook to allow plugins to clean up resources when the watcher is closed (#3841)
  • Add "this.getWatchFiles" function to plugin context to get the current set of watched files (#3841)
Pull Requests
  • #3841: Improved watcher hooks (@Amareis)
  • #3848: Add options hook to asyncpluginhooks (@intrnl)

2.32.1

2020-10-21

Bug Fixes
  • Print warning location for plugin warnings if only loc is supplied (#3824)
Pull Requests
  • #3824: plugin warnings not showing warning.loc (@luciotato)

2.32.0

2020-10-16

Features
  • Extend preserveEntrySignatures with a value "exports-only" to allow extension only if an entry does not have exports (#3823)
Pull Requests
  • #3823: Add "exports-only" option to preserveSignature (@lukastaegert)

2.31.0

2020-10-15

Features
  • When using the output.moduleToStringTag option, also add the tag to entries with exports and simulated external namespaces (#3822)
  • Add the __esModule interop marker to IIFE global variables unless output.esModule is turned off (#3822)
Pull Requests
  • #3822: Add module toStringTag to entries and interop namespaces (@lukastaegert)

2.30.0

2020-10-13

Features
  • Add moduleParsed hook that is called for each module once code and AST are available (#3813)
  • Include code and AST in this.getModuleInfo (#3813)
Bug Fixes
  • Provide the original Acorn AST instead of the internal one when resolving dynamic imports that contain non-trivial expressions (#3813)
Pull Requests
  • #3813: Add moduleParsed plugin hook (@lukastaegert)
  • #3815: Docs: wile => while (@tjenkinson)
  • #3817: Docs: fix code snippet (@codefrau)
  • #3818: Update documentation on configuring Babel, removing the section on passing '{"modules": false}' as that is no longer needed since Babel 7 (@Robin-Hoodie)

2.29.0

2020-10-08

Features
  • Allow passing custom options to other plugins via this.resolve (#3807)
  • Allow attaching custom meta information to modules when resolving, loading or transforming (#3807)
  • Do not throw but return null when using this.getModuleInfo for an unknown id (#3807)
Bug Fixes
  • Trigger build in watch mode when files are added to a watched directory (#3812)
  • Make code optional when transforming modules (#3807)
Pull Requests
  • #3807: Implement new APIs for inter-plugin communication (@lukastaegert)
  • #3808: Document that the default value of --format is 'es' (@jameshfisher)
  • #3812: Watch: listen for new files added to a directory (@dmitrage)

2.28.2

2020-09-24

Bug Fixes
  • Fix a source of possible variable name conflicts when using preserveModules with SystemJS (#3796)
Pull Requests
  • #3792: add documentation for output.PreserveModulesRoot (@davidroeca)
  • #3796: Fix SystemJS default variable conflict (@lukastaegert)

2.28.1

2020-09-21

Bug Fixes
  • Fix a path slash issue when using the preserveModulesRoot option on Windows (#3791)
Pull Requests
  • #3791: Fix preserveModulesRoot path on Windows (@lukastaegert)

2.28.0

2020-09-21

Features
  • Add an option to treat modules at a given path as located at root when preserving modules (#3786)
Pull Requests
  • #3786: Add preserveModulesRoot config option (@davidroeca)

2.27.1

2020-09-17

Bug Fixes
  • Do not fail when using ES module imports in symlinked config files (#3783)
Pull Requests
  • #3783: Handle loading symlinked config files (@lukastaegert)

2.27.0

2020-09-16

Features
  • Support specifying a file extension when reading from stdin (#3775)
Bug Fixes
  • Do not break logic if a branch with hoisted variables is tree-shaken in an else-if statement (#3782)
Pull Requests
  • #3770: Docs: Exception for babel plugin and commonjs plugin (@jsk7)
  • #3775: add ability to specify stdin file extension via --stdin=ext (@kzc)
  • #3782: Handle hoisted variables in dead branches of nested if statements (@lukastaegert)

2.26.11

2020-09-08

Bug Fixes
  • Do not fail for unknown nodes as if statement branches (#3769)
Pull Requests
  • #3769: Handle debugger statements as if-statement branches (@lukastaegert)

2.26.10

2020-09-04

Bug Fixes
  • Do not create invalid code when simplifying expressions in return statements that contain line comments (#3762)
Pull Requests
  • #3757: Fix api docs loadconfigfile (@maxwell8888)
  • #3762: Handle line-comments when removing line-breaks to prevent ASI (@lukastaegert)

2.26.9

2020-09-01

Bug Fixes
  • Add regular expression support to watch include/exclude types (#3754)
Pull Requests
  • #3754: Add RegExp to the include and exclude fields of the WatcherOptions type (@dagda1)
  • #3756: Update FAQ: I think it was meant "external" instead of "other-entry.js" (@madacol)

2.26.8

2020-08-29

Bug Fixes
  • Make sure that both unresolved and resolved ids are passed to the external option in all cases (#3753)
Pull Requests
  • #3753: Also pass resolved ids to external if they use the object for (@lukastaegert)

2.26.7

2020-08-28

Bug Fixes
  • Avoid invalid code when rendering hoisted variable declarations from dead branches (#3752)
  • Mark the options parameter of this.parse as optional for TypeScript plugins (#3750)
Pull Requests
  • #3750: Make options of PluginContext#parse optional (@intrnl)
  • #3752: Extract hoisted variables from dead branches (@lukastaegert)

2.26.6

2020-08-27

Bug Fixes
  • Avoid conflicts between the namespace of synthetic named exports and local variables (#3747)
Pull Requests
  • #3747: Properly deconflict synthetic named exports (@lukastaegert)

2.26.5

2020-08-22

Bug Fixes
  • Use correctly deconflicted variable names for reexported namespaces in ES formats (#3742)
Pull Requests
  • #3742: Avoid variable name conflict when reexporting several namespaces from a chunk (@lukastaegert)

2.26.4

2020-08-19

Bug Fixes
  • Fix a situation where invalid code was rendered when dynamically importing a module with synthetic named exports when preserving modules (#3738)
  • Create a proper namespace object when in a non-es format, a namespace is imported from a chunk with default export mode (#3738)
  • Use the same variable when in a chunk, a namespace is both imported and reexported as a binding (#3738)
  • Do not include the synthetic namespace in static entry points unless it is actually used (#3738)
  • Make sure the chunking of one output does not interfere with the namespace objects of another output (#3738)

2.26.3

2020-08-16

Bug Fixes
  • Fix a situation where line-breaks in a nested simplified conditional expression could result in broken code (#3734)
Pull Requests
  • #3734: Prevent ASI when simplifying a nested logical expression (@lukastaegert)

2.26.2

2020-08-16

Bug Fixes
  • Fix a situation where line-breaks in a simplified conditional expression could result in broken code (#3732)
Pull Requests
  • #3732: Prevent unintended ASI for nested conditionals (@lukastaegert)

2.26.1

2020-08-16

Bug Fixes
  • Correctly render external namespace imports when only generating SystemJS output (#3731)
Pull Requests
  • #3731: Render system namespace import (@sastan and @lukastaegert)

2.26.0

2020-08-15

Features
  • Add a new entry importedBindings to the bundle information to list bindings per dependency (#3722)
Bug Fixes
  • Do not render an invalid UMD wrapper when no bindings are imported from a dependency (#3724)
  • Avoid situations where removing the else branch from an if statement might catch the else branch from another one (#3725)
Pull Requests
  • #3722: Add import specifiers to bundle information (@lukastaegert)
  • #3724: Fix missing variables for UMD and IIFE builds (@lukastaegert)
  • #3725: Do not entirely remove else branch if another else branch might accidentally be referenced (@lukastaegert)

2.25.0

2020-08-14

Features
  • Add --failAfterWarnings CLI flag that will complete builds with warnings but return an error at the end (#3712)
Pull Requests
  • #3712: Implement --failAfterWarnings flag (@tjenkinson)