Releases: parcel-bundler/parcel
v2.9.0
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
-
Bundler
- Use BitSet for bundler intersections for improved performance β Details
-
Web Extensions
- Add support for
chrome_style
field β Details
- Add support for
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
andxmldom
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-eslint
β Details - 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
-
Dev server
-
Elm
- Fix error when formatting build errors β Details
v2.8.3
- Core
- filter out title execArgv to workers β Details
- Bundler
- JavaScript
- Don't retarget dependencies if a symbol is imported multiple times with different local names β Details
- Fix assigning to
this
in CommonJS β Details - Bump SWC to fix dead branch removal bug β Details
- Bump swc to fix sourcemaps with Windows line endings β Details
- Add test cases for ESM initialization problems β Details
- TypeScript
- Fix TSC sourcemaps metadata β Details
- HTML
- Fix
srcset
parsing β Details
- Fix
- Dev server
v2.8.2
v2.8.1
v2.8.0
Blog post: https://parceljs.org/blog/v2-8-0/
Added
- Core
- Code splitting across reexports using symbol data by splitting dependencies β Details
- Update without bundling for non-dependency related changes β Details
- Improve performance of incremental bundling β Details
- Only serialize and send shared references to workers that need them β Details
- Improve performance of HMR by not waiting for packaging β Details
- JavaScript
- SVG
- Generate typescript for SVGs when using svgr and typescript option β Details
- Bundler
- Move experimental bundler to default β Details
Fixed
- Core
- Fix verbose warning: reexport all doesn't include default β Details
- Support multiple edge types in Graph.hasEdge β Details
- Ensure edge exists before removal in Graph.removeEdge β Details
- Disable splitting dependencies on symbols for non-scope hoisted bundles β Details
- Fix TypeScript definitions for Parcel config API β Details
- Use traverseAssets in packager to improve performance β Details
- Make uniqueKey undefined by default β Details
- Catch uncaught promise build abort race β Details
- Bump parcel dependencies β Details
- JavaScript
- Bump SWC - Details, Details
- Fix Chrome Android browserslist support check β Details
- Fix CommonJS symbol collection without scope hoisting β Details
- Make React Refresh debounce call on the leading edge β Details
- Retain correct dependency order between imports and reexports without scopehoisting β Details
- Bundler
- Dev server
- Include
Content-Length
header in HEAD requests β Details
- Include
- Vue
- Image
- Upgrade sharp β Details
- TypeScript
- Allow configuring module resolution β Details
- Web extensions
- Fix service worker packaging in web extensions β Details
v2.7.0
Added
- Core
- JavaScript
- Elm
- Add support for compiling multiple modules at once via
with
query param - Details
- Add support for compiling multiple modules at once via
- CSS
- Add support for
errorRecovery
option in@parcel/transformer-css
- Details
- Add support for
- Experimental bundler - Details
- Implement bundling for multiple targets
- Internalize async dependencies
- Merge bundles of the same type
- Fix missing module - Details
Fixed
- JavaScript
- Default interop missing when importing a CommonJS module - Details
- Add missing imports for external dependencies in skipped assets - Details
- Bump SWC to fix undefined variables - Details
- Remove charset from JS loaded script to avoid double fetching in Firefox - Details
- Use placeholder expression when replacing unused symbols - Details
- Core
- Dependencies
v2.6.2
v2.6.1
This release includes bug fixes:
- JavaScript
- Fix issue with conditional dependencies based on
process.env
- Details - Fix transformation of import/requires wrapped into
Promise.resolve()
- Details - Fix object literal shorthand with imported variables - Details
- Fix imported values in computed optional member expressions - Details
- Bump SWC to fix issue with missing parenthesis in optional chaining call - Details
- Bump SWC to fix helper imports in Node ESM libraries - Details
- Fix issue with conditional dependencies based on
- Resolution
- Web Extensions
- Dev Server
- Fix browser caching issues with dev server - Details
- TypeScript
- Fix path separators on Windows - Details
- CSS
- Bump Parcel CSS to fix issues with
libc
field in package.json - Details
- Bump Parcel CSS to fix issues with
- Core
v2.6.0
Blog post: https://parceljs.org/blog/v2-6-0/
Added
- Add React error overlay to display pretty runtime errors like Create React App - Details
- Support for source maps in HMR updates - Details
- Support for scoping variables in CSS modules - Details
- Support for custom CSS modules naming patterns - Details
- Support for node_modules packages in
@parcel/resolver-glob
- Details - Add support for defining
compilerOptions
in Vue config - Details - Add support for Vue 3
<script setup>
- Details - Add support for gif, tiff, avif, heic, and heif images in
@parcel/transformer-image
- Details - Add support for animated images (i.e. gifs, webp, etc.) in
@parcel/transformer-image
- Details - Support for missing fields in web extensions manifest v3 - Details, Details
- Improve elm compiler error output - Details
- Support for
useDefineForClassFields
option intsconfig.json
- Details - Add
--hmr-host
CLI option to set HMR host independently from dev server - Details
Fixed
- Update lmdb-js. Fixes Node 18 support - Details, Details
- Update napi-rs to v2 - Details
- Fix SWC targets for older browsers - Details
- Add SWC error handler to fix panic during transpilation - Details
- Update SWC. Fixes issue with
Symbol.toStringTag
- Details - Bump SWC to fix spreads of imported symbols - Details
- Correctly emit warnings for unnecessary PostCSS plugins in package.json - Details
- Fix typo in error message - Details
- Remove duplicate values in graph APIs when getting connected node ids - Details
- Fix Pug support in Vue files - Details
- Fix
export declare
syntax in generated TypeScript definitions - Details - Preserve correct
this
for named/default imports - Details - Fix hoisting for optional chaining member expressions - Details
- Fix issues with web extensions - Details
- Reload the closest package.json to an asset if it's a package entry to fix
sideEffects
- Details - Only emit non static import bailout warnings for variables which correspond to a * import - Details
v2.5.0
This release includes new features, including improved Web Extension support and better output for Node.js targets, as well as upgrades to SWC and Parcel CSS, and many bug fixes. Thanks to everyone who contributed!
Added
- Add support for Web Extension manifest v3 - Details
- Rewrite
__dirname
and__filename
to refer to the original path when building for Node.js targets - Details - Generate codeframe positions for JSON5 - Details
- Add
$schema
support in web extension manifest - Details - Add support for
in
expressions withprocess.env
, e.g.'foo' in process.env
- Details
Fixed
- Updated SWC. - Details + Details
- Update Parcel CSS to v1.8.1 - Details + Details
- Fix diagnostic message - Details
- Disable react refresh for library targets. Fixes "Asset was skipped or not found" error. - Details
- Don't process inline
<style>
elements as CSS modules - Details - Fix issue with multiple images in
srcset
attribute - Details - Fix peer dependencies - Details + Details
- Scope hoisting: Fix wrapping when any ancestor asset is wrapped - Details
- Scope hoisting: Don't insert unused requires that aren't registered anywhere - Details
- Scope hoisting: Fix wrapped assets importing their own namespace - Details
- Fix issues with resolving symbols - Details
- Fix loading
.env
files when entries are specified using"source"
field in package.json - Details - Correctly remove orphaned non-tree subgraphs - Details