Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@rollup/browser

Package Overview
Dependencies
Maintainers
4
Versions
206
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@rollup/browser - npm Package Versions

1
1921

3.3.0-0

Diff

lukastaegert
published 3.2.5 •

Changelog

Source

3.2.5

2022-11-01

Bug Fixes

  • We deconflicting classes, ensure the original class name still does not shadow variables (#4697)

Pull Requests

  • #4697: Prevent class ids from shadowing other variables (@lukastaegert)
lukastaegert
published 3.2.4 •

Changelog

Source

3.2.4

2022-10-31

Bug Fixes

  • Always use forward slashes in chunk ids when preserving modules, even on Windows (#4693)
  • Escape problematic characters in ids when rewriting import.meta.url (#4693)

Pull Requests

  • #4685: update package-lock version (@jerry-lllman)
  • #4689: Update 07-tools.md (@cokert)
  • #4693: Use correct import.meta.url slashes on Windows (@lukastaegert)
lukastaegert
published 3.2.3 •

Changelog

Source

3.2.3

2022-10-18

Bug Fixes

  • Fix an issue whre Rollup confused new.target with import.meta (#4679)
  • Ensure that Rollup does not make assumptions about the value of unknown namespace import members (#4684)

Pull Requests

  • #4679: Do not rewrite new.target (@lukastaegert)
  • #4683: Remove typo in resolveId documentation (@ChrispyChris)
  • #4684: Return correct values for unknown namespace members ( @lukastaegert)
lukastaegert
published 3.2.2 •

Changelog

Source

3.2.2

2022-10-16

Bug Fixes

  • Do not hang/crash on hashbang comments in input modules (#4676)

Pull Requests

  • #4675: refactor: improve & simplify types (@sxzz)
  • #4676: Ignore hashhbang comments (@lukastaegert)
lukastaegert
published 3.2.1 •

Changelog

Source

3.2.1

2022-10-16

Bug Fixes

  • Rewrite class declarations to preserve their .name property if necessary (#4674)

Pull Requests

  • #4674: Preserve rendered class names (@lukastaegert)
lukastaegert
published 3.2.0 •

Changelog

Source

3.2.0

2022-10-15

Features

  • Support providing Promises as plugins like Vite (#4671)

Pull Requests

  • #4666: Add unicorn plugin (@lukastaegert)
  • #4667: refactor: improve types (@sxzz)
  • #4668: fix: nested plugin in options stage (@sxzz)
  • #4669: refactor: merge duplicate imports (@c0dedance)
  • #4670: docs: fix minor typo in migration documentation (@ThisIsMissEm)
  • #4671: feat: support async plugins (@sxzz)
lukastaegert
published 3.1.0 •

Changelog

Source

3.1.0

2022-10-12

Features

  • Support using arrays of plugins as plugins like Vite (#4657)

Pull Requests

  • #4657: feat: support nested plugin (@sxzz)
lukastaegert
published 3.0.1 •

Changelog

Source

3.0.1

2022-10-12

Bug Fixes

  • Fix installation on Windows (#4662)
  • Avoid missing parameters that are only used in a destructuring initializer (#4663)

Pull Requests

  • #4661: Enforce type imports (@lukastaegert)
  • #4662: fix: missing "node" causes run script error (@c0dedance)
  • #4663: Ensure the initializer of a destructuring declaration is always included if the id is included (@lukastaegert)
  • #4664: fix: remove lint:js:nofix script redundancy options (@c0dedance)
lukastaegert
published 3.0.0 •

Changelog

Source

3.0.0

2022-10-11

Breaking Changes

General Changes
  • Rollup now requires at least Node 14.18.0 to run (#4548 and #4596)
  • The browser build has been split into a separate package @rollup/browser (#4593)
  • The node build uses the node: prefix for imports of builtin modules (#4596)
  • Some previously deprecated features have been removed (#4552):
    • Some plugin context functions have been removed:
      • this.emitAsset(): use this.emitFile()
      • this.emitChunk(): use this.emitFile()
      • this.getAssetFileName(): use this.getFileName()
      • this.getChunkFileName(): use this.getFileName()
      • this.isExternal(): use this.resolve()
      • this.resolveId(): use this.resolve()
    • The resolveAssetUrl plugin hook has been removed: use resolveFileUrl
    • Rollup no longer passes assetReferenceId or chunkReferenceId parameters to resolveFileUrl
    • The treeshake.pureExternalModules option has been removed: use treeshake.moduleSideEffects: 'no-external'
    • You may no longer use true or false for output.interop. As a replacement for true, you can use "compat"
    • Emitted assets no longer have an isAsset flag in the bundle
    • Rollup will no longer fix assets added directly to the bundle by adding the type: "asset" field
  • Some features that were previously marked for deprecation now show warnings when used (#4552):
    • Some options have been deprecated:
      • inlineDynamicImports as part of the input options: use output. inlineDynamicImports
      • manualChunks as part of the input options: use output. manualChunks
      • maxParallelFileReads: use `maxParallelFileOps
      • output.preferConst: use output.generatedCode.constBindings
      • output.dynamicImportFunction: use the renderDynamicImport plugin hook
      • output.namespaceToStringTag: use output.generatedCode.symbols
      • preserveModules as part of the input options: use output. preserveModules
    • You should no longer access this.moduleIds in plugins: use this.getModuleIds()
    • You should no longer access this.getModuleInfo(...).hasModuleSideEffects in plugins: use this.getModuleInfo(...).moduleSideEffects
  • Configuration files are only bundled if either the --configPlugin or the --bundleConfigAsCjs options are used. The configuration is bundled to an ES module unless the --bundleConfigAsCjs option is used. In all other cases, configuration is now loaded using Node's native mechanisms (#4574 and #4621)
  • The properties attached to some errors have been changed so that there are fewer different possible properties with consistent types (#4579)
  • Some errors have been replaced by others (ILLEGAL_NAMESPACE_REASSIGNMENT -> ILLEGAL_REASSIGNMENT, NON_EXISTENT_EXPORT -> MISSING_EXPORT) (#4579)
  • Files in rollup/dist/* can only be required using their file extension (#4581)
  • The loadConfigFile helper now has a named export of the same name instead of a default export (#4581)
  • When using the API and sourcemaps, sourcemap comments are contained in the emitted files and sourcemaps are emitted as regular assets (#4605)
  • Watch mode no longer uses Node's EventEmitter but a custom implementation that awaits Promises returned from event handlers (#4609)
  • Assets may only be deduplicated with previously emitted assets if their source is a string (#4644)
  • By default, Rollup will keep external dynamic imports as import(…) in commonjs output unless output.dynamicImportInCjs is set to false (#4647)
Changes to Rollup Options
  • As functions passed to output.banner/footer/intro/outro are now called per-chunk, they should be careful to avoid performance-heavy operations (#4543)
  • entryFileNames/chunkFileNames functions now longer have access to the rendered module information via modules, only to a list of included moduleIds (#4543)
  • The path of a module is no longer prepended to the corresponding chunk when preserving modules (#4565)
  • When preserving modules, the [name] placeholder (as well as the chunkInfo.name property when using a function) now includes the relative path of the chunk as well as optionally the file extension if the extension is not one of .js, .jsx, .mjs, .cjs, .ts, .tsx, .mts, or .cts (#4565)
  • The [ext], [extName] and [assetExtName] placeholders are no longer supported when preserving modules (#4565)
  • The perf option no longer collects timings for the asynchronous part of plugin hooks as the readings were wildly inaccurate and very misleading, and timings are adapted to the new hashing algorithm (#4566)
  • Change the default value of makeAbsoluteExternalsRelative to "ifRelativeSource" so that absolute external imports will no longer become relative imports in the output, while relative external imports will still be renormalized ( #4567)
  • Change the default for output.generatedCode.reservedNamesAsProps to no longer quote properties like default by default (#4568)
  • Change the default for preserveEntrySignatures to "exports-only" so that by default, empty facades for entry chunks are no longer created (#4576)
  • Change the default for output.interop to "default" to better align with NodeJS interop (#4611)
  • Change the default for output.esModule to "if-default-prop", which only adds __esModule when the default export would be a property (#4611)
  • Change the default for output.systemNullSetters to true, which requires at least SystemJS 6.3.3 (#4649)
Plugin API Changes
  • Plugins that add/change/remove imports or exports in renderChunk should make sure to update ChunkInfo.imports/importedBindings/exports accordingly (#4543)
  • The order of plugin hooks when generating output has changed (#4543)
  • Chunk information passed to renderChunk now contains names with hash placeholders instead of final names, which will be replaced when used in the returned code or ChunkInfo.imports/importedBindings/exports (#4543 and #4631)
  • Hooks defined in output plugins will now run after hooks defined in input plugins (used to be the other way around) ( #3846)

Features

  • Functions passed to output.banner/footer/intro/outro are now called per-chunk with some chunk information (#4543)
  • Plugins can access the entire chunk graph via an additional parameter in renderChunk (#4543)
  • Chunk hashes only depend on the actual content of the chunk and are otherwise stable against things like renamed/moved source files or changed module resolution order (#4543)
  • The length of generated file hashes can be customized both globally and per-chunk (#4543)
  • When preserving modules, the regular entryFileNames logic is used and the path is included in the [name] property. This finally gives full control over file names when preserving modules (#4565)
  • output.entryFileNames now also supports the [hash] placeholder when preserving modules (#4565)
  • The perf option will now collect (synchronous) timings for all plugin hooks, not just a small selection (#4566)
  • All errors thrown by Rollup have name: RollupError now to make clearer that those are custom error types (#4579)
  • Error properties that reference modules (such as id and ids) will now always contain the full ids. Only the error message will use shortened ids (#4579)
  • Errors that are thrown in response to other errors (e.g. parse errors thrown by acorn) will now use the standardized cause property to reference the original error (#4579)
  • If sourcemaps are enabled, files will contain the appropriate sourcemap comment in generateBundle and sourcemap files are available as regular assets (#4605)
  • Returning a Promise from an event handler attached to a RollupWatcher instance will make Rollup wait for the Promise to resolve (#4609)
  • There is a new value "compat" for output.interop that is similar to "auto" but uses duck-typing to determine if there is a default export (#4611)
  • There is a new value "if-default-prop" for esModule that only adds an __esModule marker to the bundle if there is a default export that is rendered as a property (#4611)
  • Rollup can statically resolve checks for foo[Symbol.toStringTag] to "Module" if foo is a namespace (#4611)
  • There is a new CLI option --bundleConfigAsCjs which will force the configuration to be bundled to CommonJS (#4621)
  • Import assertions for external imports that are present in the input files will be retained in ESM output (#4646)
  • Rollup will warn when a module is imported with conflicting import assertions (#4646)
  • Plugins can add, remove or change import assertions when resolving ids (#4646)
  • The output.externalImportAssertions option allows to turn off emission of import assertions (#4646)
  • Use output.dynamicImportInCjs to control if dynamic imports are emitted as import(…) or wrapped require(…) when generating commonjs output (#4647)

Bug Fixes

  • Chunk hashes take changes in renderChunk, e.g. minification, into account (#4543)
  • Hashes of referenced assets are properly reflected in the chunk hash (#4543)
  • No longer warn about implicitly using default export mode to not tempt users to switch to named export mode and break Node compatibility (#4624)
  • Avoid performance issues when emitting thousands of assets (#4644)

Pull Requests

  • #3846: [v3.0] Run output plugins last (@aleclarson)
  • #4543: [v3.0] New hashing algorithm that "fixes (nearly) everything" ( @lukastaegert)
  • #4548: [v3.0] Deprecate Node 12 (@lukastaegert)
  • #4552: [v3.0] Remove actively deprecated features, show warnings for other deprecated features (@lukastaegert)
  • #4558: [v3.0] Convert build scripts to ESM, update dependencies ( @lukastaegert)
  • #4565: [v3.0] Rework file name patterns when preserving modules ( @lukastaegert)
  • #4566: [v3.0] Restructure timings (@lukastaegert)
  • #4567: [v3.0] Change default for makeAbsoluteExternalsRelative ( @lukastaegert)
  • #4568: [v3.0] Change default for output.generatedCode.reservedNamesAsProps (@lukastaegert)
  • #4574: [v3.0] Better esm config file support (@lukastaegert)
  • #4575: [v3.0] Show deprecation warning for maxParallelFileReads ( @lukastaegert)
  • #4576: [v3.0] Change default for preserveEntrySignatures to exports-only (@lukastaegert)
  • #4579: [v3.0] Refine errors and warnings (@lukastaegert)
  • #4581: [v3.0] Use named export for loadConfigFile (@lukastaegert)
  • #4592: [v3.0] Port doc changes from #4572 and #4583 to 3.0 (@berniegp)
  • #4593: [v3.0] Browser build (@lukastaegert)
  • #4596: [v3.0] Use "node:" prefix for imports of node builtins ( @lukastaegert)
  • #4605: [v3.0] Better sourcemap emission (@lukastaegert)
  • #4609: [v3.0] Custom awaiting watch emitter (@lukastaegert)
  • #4611: [v3.0] Improve interop defaults (@lukastaegert)
  • #4621: [v3.0] Always try to load config files via Node if possible ( @lukastaegert)
  • #4624: [v3.0] Remove warning when using implicit default export mode ( @lukastaegert)
  • #4631: [v3.0] Use ASCII characters for hash placeholders (@lukastaegert)
  • #4644: [v3.0] Improve performance of asset emissions (@lukastaegert)
  • #4646: [v3.0] Basic support for import assertions (@lukastaegert)
  • #4647: [v3.0] Keep dynamic imports in CommonJS output (@lukastaegert)
  • #4649: [v3.0] Change default for systemNullSetters (@lukastaegert)
  • #4651: [v3.0] use compiler target ES2020 (@dnalborczyk)
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc