npm parcel 2.9.0
v2.9.0

latest releases: 2.0.0-canary.1747, 2.13.0, 2.0.0-canary.1740...
17 months ago

Parcel v2.9.0 includes many long requested features, including a brand new resolver with support for package.json "exports" and tsconfig.json features, support for ESM plugins and configs, and local Parcel plugins. It also improves performance with a new default JS minifier powered by SWC, incremental symbol propagation, and improved bundler data structures.

Blog post: https://parceljs.org/blog/v2-9-0/

Added

  • Core

    • Add support for ESM plugins and configs – Details
    • Add support for local parcel plugins – Details
    • Incremental Symbol Propagation for improved performance and improved export errors in development – Details
    • Add support for plugin tracing, which shows where time is being spent during a Parcel build – Details
    • Support .proxyrc.cjs config files – Details
    • Add support for loadConfig function to resolver plugins – Details
  • Resolver

    • New resolver implementation in Rust supporting package.json "exports" and "imports", and tsconfig.json "baseUrl", "paths", and "moduleSuffixes" – Details
  • JavaScript

    • Switch to SWC minifier instead of Terser by default – Details
    • Split large runtime manifest into separate bundles to reduce cache invalidations – Details
    • Respect addExternalDependency in Babel plugins – Details
  • Bundler

    • Use BitSet for bundler intersections for improved performance – Details
  • Web Extensions

    • Add support for chrome_style field – Details

Fixed

  • Core

    • Improve error message when bundles do not have unique file names – Details
    • Bump napi-rs to latest – Details, Details
    • Fix pnpm autoinstall – Details
    • Fix "does not exports" error for multiple assets returned by transformers – Details
    • Remove v8-compile-cache – Details
    • Update fast-glob – Details
    • Update lmdb – Details
    • Fixup DiagnosticCodeHighlight and SourceLocation columns – Details
    • Bump fastest-levenshtein and xmldom dependencies – Details
  • JavaScript

    • Sort global deps before injecting imports to reduce cache invalidations – Details
    • Only add export setter for non-ESM exports – Details
    • Bump SWC – Details, Details, Details, Details,
      Details
    • Deduplicate imports in hoist transformer – Details
    • Allow buffer polyfill v5 or v6 – Details
    • Fix packaging of synchronous reused bundles – Details
    • Support eslint ^7.0.0 in @parcel/validator-eslintDetails
    • Improve inlineEnvironment performance – Details
    • Hoist exports to allow circular dependencies – Details
  • TypeScript

    • Throw diagnostics as error on empty emit - Details
  • CSS

    • Sort CSS module exports to reduce cache invalidations – Details
  • Bundler

    • Fix missing edge error when using for multiple targets – Details
    • Fix non-deterministic builds between project directories – Details
    • Fix css-module related build error in bundling – Details
    • Fix multiple entries pointing to wrong bundle in dist – Details
  • Dev server

    • Don't error during HMR on <link> elements without hrefs – Details
    • Improve server index file matching – Details
    • Don't send HMR updates before packaging in watch mode – Details
  • Elm

    • Fix error when formatting build errors – Details

Don't miss a new parcel release

NewReleases is sending notifications on new releases.