UNPKG

rollup

Version:

Next-generation ES module bundler

1,630 lines (898 loc) 227 kB
# rollup changelog ## 2.62.0 _2021-12-24_ ### Features - Only resolve this.load once the code of the module is available (#4296) - Mark additional string prototype methods as side-effect-free and correct typings of existing ones (#4299) - Mark additional array prototype methods as side-effect-free and correct typings of existing ones (#4309) - Expose if a module is included after tree-shaking in its ModuleInfo (#4305) ### Bug Fixes - Fix how fsevents is included to improve watch mode on MacOS (#4312) ### Pull Requests - [#4299](https://github.com/rollup/rollup/pull/4299): Add additional string prototype methods (@dnalborczyk) - [#4300](https://github.com/rollup/rollup/pull/4300): Bump deps, fix expected test result for core-js (@dnalborczyk) - [#4302](https://github.com/rollup/rollup/pull/4302): Replace type assertion with type guard (@dnalborczyk) - [#4304](https://github.com/rollup/rollup/pull/4304): Re-use reserved names set (@dnalborczyk) - [#4305](https://github.com/rollup/rollup/pull/4305): Expose isIncluded in module info (@william57m) - [#4306](https://github.com/rollup/rollup/pull/4306): Fix git line breaks on windows (@dnalborczyk) - [#4307](https://github.com/rollup/rollup/pull/4307): Add macos to pipeline (@dnalborczyk) - [#4309](https://github.com/rollup/rollup/pull/4309): Add additional array prototype methods (@dnalborczyk) - [#4311](https://github.com/rollup/rollup/pull/4311): Add Deno instructions to docs (@jespertheend) - [#4312](https://github.com/rollup/rollup/pull/4312): fsevents integration (@dnalborczyk) - [#4313](https://github.com/rollup/rollup/pull/4313): Remove non-existing static functions from known globals (@dnalborczyk) ## 2.61.1 _2021-12-11_ ### Bug Fixes - Only resolve this.load once the code of the module is available (#4296) ### Pull Requests - [#4296](https://github.com/rollup/rollup/pull/4296): Make sure this.load waits for modules that are already loading (@lukastaegert) - [#4298](https://github.com/rollup/rollup/pull/4298): use set for reserved words (@dnalborczyk) ## 2.61.0 _2021-12-09_ ### Features - Support ergonomic brand checks for private fields (#4293) ### Bug Fixes - Improve handling of directory creation on systems with restrictive open files limit (#4288) ### Pull Requests - [#4288](https://github.com/rollup/rollup/pull/4288): modifymkdirpath (@mgrabowski84) - [#4293](https://github.com/rollup/rollup/pull/4293): bump deps (@dnalborczyk) ## 2.60.2 _2021-11-30_ ### Bug Fixes - Produce correct output when dynamic import paths contain quotes (#4286) ### Pull Requests - [#4286](https://github.com/rollup/rollup/pull/4286): Escape dynamic import paths (@danielroe) ## 2.60.1 _2021-11-22_ ### Bug Fixes - Make sure virtual files have proper file extensions when preserving modules (#4270) ### Pull Requests - [#4270](https://github.com/rollup/rollup/pull/4270): Use entryFileNames when generating filenames for virtual modules (@BPScott) ## 2.60.0 _2021-11-11_ ### Features - Add `this.load` context function to load, transform and parse modules without adding them to the graph (#4234) - Sanitize non-url-safe characters in generated chunk names by default (#4262) - Support ESM plugins via command line (#4265) ### Pull Requests - [#4234](https://github.com/rollup/rollup/pull/4234): Plugin context function for pre-loading modules (@lukastaegert) - [#4262](https://github.com/rollup/rollup/pull/4262): exclude invalid URL chars (@danielroe) - [#4265](https://github.com/rollup/rollup/pull/4265): support loading ESM plugins from the CLI via --plugin (@kzc) ## 2.59.0 _2021-11-01_ ### Features - Support static class initialization blocks (#4249) ### Bug Fixes - Fix an issue with the CommonJS plugin when module.exports has inherited properties (#4256) ### Pull Requests - [#4236](https://github.com/rollup/rollup/pull/4236): typescript bug class field initialization order (@dnalborczyk) - [#4249](https://github.com/rollup/rollup/pull/4249): Support for class static initialization block (@dnalborczyk and @lukastaegert) - [#4256](https://github.com/rollup/rollup/pull/4256): Skip inherited properties in synthetic namespaces (@lukastaegert) ## 2.58.3 _2021-10-25_ ### Bug Fixes - Republish 2.58.1 with npm 6 as files were missing ## 2.58.2 _2021-10-25_ ### Bug Fixes - Republish 2.58.1 as files were missing ## 2.58.1 _2021-10-25_ ### Bug Fixes - Fix an issue with the CommonJS plugin when module.exports is falsy (#4247) ### Pull Requests - [#4247](https://github.com/rollup/rollup/pull/4247): Handle falsy synthetic namespaces (@lukastaegert) ## 2.58.0 _2021-10-01_ ### Features - Add a flag to more reliably identify entry points in the `resolveId` hook (#4230) ### Pull Requests - [#4230](https://github.com/rollup/rollup/pull/4230): Add isEntry flag to resolveId and this.resolve (@lukastaegert) - [#4233](https://github.com/rollup/rollup/pull/4233): Remove unused rollup-plugin-typescript ambient module types (@dnalborczyk) - [#4235](https://github.com/rollup/rollup/pull/4235): Update dependencies (@lukastaegert) ## 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](https://github.com/rollup/rollup/pull/4212): chore: remove unused ambient types (@dnalborczyk) - [#4215](https://github.com/rollup/rollup/pull/4215): Use ES2015 features in generated code snippets (@lukastaegert) - [#4219](https://github.com/rollup/rollup/pull/4219): chore: bump rollup typescript, remove unused micromatch (@dnalborczyk) - [#4220](https://github.com/rollup/rollup/pull/4220): chore: use forceConsistentCasingInFileNames in ts-config (@dnalborczyk) - [#4224](https://github.com/rollup/rollup/pull/4224): prepare for useDefineForClassFields (@dnalborczyk) - [#4228](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/4199): Refine SystemJS export rendering (@lukastaegert) - [#4200](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/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) ### Pull Requests - [#4182](https://github.com/rollup/rollup/pull/4182): Use mutable bindings for default exports (@lukastaegert) ## 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](https://github.com/rollup/rollup/pull/4186): Fix UMD import.meta.url inside web workers (@ceifa) - [#4188](https://github.com/rollup/rollup/pull/4188): Fix typo in renderHelpers.ts (@eltociear) - [#4189](https://github.com/rollup/rollup/pull/4189): Move long path recursion prevention to MemberExpression (@lukastaegert) - [#4190](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/4177): Fix additional let/var init bugs (@kzc) - [#4178](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/4162): doptimize 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](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/3835): Add typescript config support (@TheRealSyler) - [#4131](https://github.com/rollup/rollup/pull/4131): Add presets to the tree-shaking options (@lukastaegert) - [#4139](https://github.com/rollup/rollup/pull/4139): Add option to deoptimize var declarations for tree-shaking (@lukastaegert) - [#4141](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/4122): User Map to optimize performance (@izevo) - [#4127](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/4119): Respect propertyReadSideEffects in spread elements (@lukastaegert) - [#4120](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/4114): use `colorette` instead of `turbocolor` (@ryuever) - [#4115](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/4111): Always request a new tree-shaking pass when deoptimizations of a node are first included (@lukastaegert) - [#4112](https://github.com/rollup/rollup/pull/4112): Actually set the prototype when using a **proto** property (@lukastaegert) - [#4113](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/4108): Correctly handle catch declarations (@lukastaegert) - [#4110](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/4103): Do not track side-effect-free array methods as side effects (@lukastaegert) - [#4104](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/4095): Correctly associate pure annotations and remove invalid ones (@lukastaegert) - [#4099](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/4085): Switch to ESLint (@lukastaegert) - [#4087](https://github.com/rollup/rollup/pull/4087): Drop unused last sequence element (@lukastaegert) - [#4091](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/4018): Class method effects (@marijnh and @lukastaegert) ## 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](https://github.com/rollup/rollup/pull/4068): ignore invalid trailing pure annotations (@kzc) - [#4070](https://github.com/rollup/rollup/pull/4070): undefined `deoptimizePath` when the first element is empty string (@si3nloong) - [#4071](https://github.com/rollup/rollup/pull/4071): add node.js v16 support (@dnalborczyk) - [#4077](https://github.com/rollup/rollup/pull/4077): Add assetExtname replacement in entryFileNames (@BPScott) - [#4080](https://github.com/rollup/rollup/pull/4080): Added Rollup logo in README.md (@priyanshurav) - [#4081](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/4042): Use Github actions only (@lukastaegert) - [#4045](https://github.com/rollup/rollup/pull/4045): Fix REPL artefact branch reference (@lukastaegert) - [#4046](https://github.com/rollup/rollup/pull/4046): Use codecov action for coverage (@lukastaegert) - [#4054](https://github.com/rollup/rollup/pull/4054): Add to `UNUSED_EXTERNAL_IMPORT` warning information about the origin of the problem (@cawa-93) - [#4058](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/4019): Deoptimize ObjectExpression when a `__proto__` property is present (@marijnh) - [#4021](https://github.com/rollup/rollup/pull/4021): Improve absolute path handling (@lukastaegert) - [#4026](https://github.com/rollup/rollup/pull/4026): chore: fix vscode launch config (change tdd to bdd) (@jameslahm) - [#4027](https://github.com/rollup/rollup/pull/4027): Post comment for PRs from forks (@lukastaegert) - [#4028](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/4011): Disable pessimistic object deoptimization for calls when the called function doesn't ref this (@marijnh) - [#4012](https://github.com/rollup/rollup/pull/4012): fix `sourcemap` reference in docs (@tjenkinson) - [#4015](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/3998): Do not create invalid code if a function argument is an empty object pattern (@lukastaegert) ## 2.41.3 _2021-03-16_ ### Bug Fixes - Always retain arguments passed to empty object pattern parameters (#3998) ### Pull Requests - [#3998](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/3987): Change removal of sourcemap comment (@yannayl) ## 2.41.1 _2021-03-11_ ### Pull Requests - [#3990](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/3981): Move pure comment annotation to Graph.contextParse (@yannayl) - [#3985](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/3972): Don't allow `:` in file names (@lukastaegert) - [#3976](https://github.com/rollup/rollup/pull/3976): Add soft breaks to guide to improve mobile experience (@lukastaegert) - [#3977](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/3964): Remove extra word (@jamonholmgren) - [#3971](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/3952): implement `validate` output option and `--validate` CLI option (@kzc) - [#3956](https://github.com/rollup/rollup/pull/3956): Update dependencies, fix fsevents issue (@lukastaegert) - [#3957](https://github.com/rollup/rollup/pull/3957): Make sure uninitialised exports turn up via .hasOwnProperty for non-ES formats (@lukastaegert) - [#3959](https://github.com/rollup/rollup/pull/3959): Allow overriding individual exports of reexported external namespaces (@lukastaegert) - [#3960](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/3945): Upgrade chokidar and fsevents for Apple M1 compatibility (@threepointone) - [#3946](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/3943): Do not partially tree-shake unused declarations in for loops (@lukastaegert) - [#3944](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/3935): fix: remove isolated resolve() for compat with browser distribution (@cmorten and @lukastaegert) - [#3936](https://github.com/rollup/rollup/pull/3936): Ensure test after() callback is always executed (@Benjamin-Dobell) - [#3937](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/3933): Tree-shake unused declarations while keeping initializer side-effects (@lukastaegert) ## 2.37.1 _2021-01-20_ ### Pull Requests - [#3929](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/3840): Improve circular dependency execution order (@lukastaegert) - [#3894](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/3883): Revert pattern to folder export (@intrnl) ## 2.34.2 _2020-12-06_ ### Bug Fixes - Revert pattern export change (#3898) ### Pull Requests - [#3898](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/3887): Run memory leak test on all systems (@lukastaegert) - [#3892](https://github.com/rollup/rollup/pull/3892): Add pull_request to windows github actions (@shellscape) - [#3893](https://github.com/rollup/rollup/pull/3893): Update dependencies (@lukastaegert) - [#3896](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/3861): Update chat/support links (@shellscape) - [#3872](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/3847): Expose syntheticNamedExports to ModuleInfo (@Amareis) - [#3852](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/3841): Improved watcher hooks (@Amareis) - [#3848](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/3813): Add moduleParsed plugin hook (@lukastaegert) - [#3815](https://github.com/rollup/rollup/pull/3815): Docs: wile => while (@tjenkinson) - [#3817](https://github.com/rollup/rollup/pull/3817): Docs: fix code snippet (@codefrau) - [#3818](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/3807): Implement new APIs for inter-plugin communication (@lukastaegert) - [#3808](https://github.com/rollup/rollup/pull/3808): Document that the default value of --format is 'es' (@jameshfisher) - [#3812](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/3792): add documentation for output.PreserveModulesRoot (@davidroeca) - [#3796](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/3770): Docs: Exception for babel plugin and commonjs plugin (@jsk7) - [#3775](https://github.com/rollup/rollup/pull/3775): add ability to specify stdin file extension via --stdin=ext (@kzc) - [#3782](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/3757): Fix api docs loadconfigfile (@maxwell8888) - [#3762](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/3754): Add RegExp to the include and exclude fields of the WatcherOptions type (@dagda1) - [#3756](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/3750): Make `options` of `PluginContext#parse` optional (@intrnl) - [#3752](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/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) ### Pull Requests - [#3738](https://github.com/rollup/rollup/pull/3738): Improve synthetic entry handling (@lukastaegert) ## 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](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/3722): Add import specifiers to bundle information (@lukastaegert) - [#3724](https://github.com/rollup/rollup/pull/3724): Fix missing variables for UMD and IIFE builds (@lukastaegert) - [#3725](https://github.com/rollup/rollup/pull/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](https://github.com/rollup/rollup/pull/3712): Implement `--failAfterWarnings` flag (@tjenkinson) ## 2.24.0 _2020-08-13_ ### Features - Allow defining interop per dependency via a function (#3710) - Support interop "auto" as a more compatible version of "true" (#3710) - Support interop "default" and "esModule" to avoid unnecessary interop helpers (#3710) - Support interop "defaultOnly" for simplified helpers and Node ESM interop compatible output (#3710) - Respect interop option for external dynamic imports (#3710) - Support live-bindings for external default imports in non-ES formats unless "externalLiveBindings" is "false" (#3710) - Use shared default interop helpers for AMD, UMD and IIFE formats (#3710) - Avoid unnecessarily deconflicted module variables in non-ES formats (#3710) - Freeze generated interop namespace objects (#3710) - Always mark interop helpers as pure (#3710) - Avoid default export interop if there is already an interop namespace object (#3710) - Sort all `require` statements to the top in CommonJS output for easier back-transpilation to ES modules by other tools (#3710) ### Bug Fixes - Handle accessing `super` in static class fields (#3720) - Deconflict the names of helper variables introduced for interop (#3710) - Generate proper namespace objects for static namespace imports in non-ES formats (#3710) - Do not add unused interop helpers when using the renderDynamicImport hook (#3710) ### Pull Requests - [#3710](https://github.com/rollup/rollup/pull/3710): Rework interop handling (@lukastaegert) - [#3720](https://github.com/rollup/rollup/pull/3720): Handle super in static class fields (@lukastaegert) ## 2.23.1 _2020-08-07_ ### Bug Fixes - Fix an issue where dynamically importing an entry point could return a malformed namespace for CJS and AMD formats (#3709) ### Pull Requests - [#3709](https://github.com/rollup/rollup/pull/3709): Properly construct namespace when dynamically importing chunks with facades in default export mode (@lukastaegert) ## 2.23.0 _2020-07-23_ ### Features - Handle environments with only globalThis in UMD output (#3691) ### Pull Requests - [#3691](https://github.com/rollup/rollup/pull/3691): Check for globalThis in UMD wrapper (@lukastaegert) ## 2.22.2 _2020-07-21_ ### Bug Fixes - Always generate correct exports when an implicit entry is reexporting from another module (#3688) ### Pull Requests - [#3688](https://github.com/rollup/rollup/pull/3688): Include all relevant modules to generate reexports for implicit dependencies (@lukastaegert) ## 2.22.1 _2020-07-18_ ### Bug Fixes - Remove unused arguments when calling a conditional expression (#3680) ### Pull Requests - [#3680](https://github.com/rollup/rollup/pull/3680): Allow tree-shaking of arguments of functions that are returned by conditional expressions (@lukastaegert) ## 2.22.0 _2020-07-18_ ### Features - Allow resolving synthetic named exports via an arbitrary export name (#3657) - Display a warning when the user does not explicitly select an export mode and would generate a chunk with default export mode when targeting CommonJS (#3657) ### Pull Requests - [#3657](https://github.com/rollup/rollup/pull/3657): Add basic support for using a non-default export for syntheticNamedExports (@lukastaegert) - [#3659](https://github.com/rollup/rollup/pull/3659): Warn when implicitly using default export mode