All notable changes to Parcel will be documented in this file.
The format is based on Keep a Changelog and Parcel adheres to Semantic Versioning.
-
Core
- Remove abortcontroller-polyfill – Details
- Fix missing content key in symbol propagation when asset is removed – Details
- Update minimum supported node version to 16 – Details
- Ensure the snapshot directory matches the watch dir – Details
- Add parcel version to PluginOptions – Details
- Fix possible race condition in the caching of request graph – Details
- Ensure empty extended config throws a diagnostic – Details
- Ensure Asset public ids are assigned deterministically – Details
- Directories ignored by watcher should be relative to the watch directory – Details
- Fix request tracker incremental cache write for new nodes – Details
- Improve request graph cache reading – Details
- Exit process with error code when reporters fail – Details
- Write tmp files to the OS tmp directory - Details
- Fix small HMR issues – Details
- Fix crash in EntryRequest with multiple globs in the source field – Details
- Revert split manifest runtime bundles – Details
- Revert chunked cache blobs for improved stability – Details
- Update dependencies – Details
-
Bundler
- Fix assets outside project root with Manual Shared Bundles – Details
-
JavaScript
- Avoid non-identifier export names in non-entry library bundles – Details
- Relax react-refresh version range – Details
- Also emit swc recoverable errors – Details
- Bump swc – Details, Details, Details, Details
- Bump swc and browserslist-rs – Details
- Replace std::sync locks with parking_lot locks for better stability – Details
- Ensure const modules in async bundles are wrapped – Details
- Fix dev packager global reference – Details
- Fix import usage tracking for destructure defaulting – Details
- Update Node.js globals replacer to use SWC VisitMut – Details
- Update
process.env
replacer to use SWC VisitMut – Details - Update Node.js
__filename
and__dirname
replace to use SWC VisitMut – Details - Fix parcelRequire being added to multi-target libraries – Details
- Handle TypeScript expressions in macro evaluator – Details
-
Resolver
-
TypeScript
-
SASS
- Migrate to new sass API – Details
-
SVG
-
Image
- Bump oxipng – Details
-
Vue
- Upgrade consolidate to v1 – Details
-
Web Extensions
- Allow both service_worker and scripts in MV3 Web Extensions – Details
-
Core
-
JavaScript
-
CSS
- Use lightningcss to implement CSS packager – Details
-
Bundler
- Rename "parentAsset" to "root" for Manual Shared Bundle config and remove unstable prefix – Details
-
Web Extensions
- Add content script world property to manifest schema validation – Details
-
Performance
-
Core
-
JavaScript
- Remove decl_collector pass and use SWC's unresolved_mark instead – Details
-
Bundler
- Add source map support to the inline-require optimizer – Details
-
Dev
-
Dev
- Increase threshold for showing progress bar to 500k nodes Details
- Fix parcel-query Details
- FIX[dev-server]: Fix html file matching from URL Details
- Fix parcel query's inspect cache Details
- Bug fix for exiting early when identifying requestGraph in loadGraphs Details
- Fix HMR on .localhost domains Details
- Modify parcel query to not require all graphs on startup Details
- Bug fix for async Parcel-query Details
- Remove reliance on requestTracker in loadGraphs Details
-
Core
- Reduce redundancy in the RequestGraph's Request, Env, and Option nodes Details
- Move registerCoreWithSerializer to its own file Details
- Filter --expose-gc and --max-semi-space-size execArgv Node args from workers Details
- Optimize Symbol Propagation (propagateSymbolsUp) Details
- Convert Request Graph node types + request node requestTypes to numbers Details
- fsFixture: ignore empty lines in fixtures Details
- Unstable File Invalidations Details
- Configurable watch root Details
-
Resolver
- Add ~ and / support to the glob resolver Details
-
JavaScript
- Bump swc Details
- Bumping lightningcss to 1.22.1 Details
- Fix CI Details
- Change inline-requires to only run when optimizing Details
- Fix tsconfig extends from node_modules Details
- Bump some deps Details
- Bump swc and napi-rs Details
- Fix references to packages.atlassian.com Details
- Fix build-ts step Details
- Bump rimraf version to ^5.05 Details
- Use centos image with newer Node 16 Details
-
Core
- Mark previously deferred assets as dirty for symbol prop - Details
- Write bundle graph to cache if error occurs during bundling - Details
- Fixing issues when
import * as
is used withexport *
- Details - Writing cache in chunks - Details
- Reduce redundancy in the RequestGraph's file nodes - Details
- Fix dependency retargeting with ambiguous reexports - Details
-
JavaScript
- Fixing behavior for
hasOwnProperty
in modules exporting member with same name - Details
- Fixing behavior for
-
WebbExtension
- Don't crash if WebExt has no content_scripts - Details
-
PostHTML, Pug, Stylus
- Simplified calls to
invalidateOnFileChange
- Details
- Simplified calls to
-
Core
- Use clz32 for counting trailing zeroes – Details
-
JavaScript
- Do not wrap duplicated assets when they are in different targets – Details
-
Core
-
Bundler
-
JavaScript
-
Bundler
-
Core
- Add support for include and exclude globs for
--lazy
mode – Details, Details - Merge all native Rust modules into one package – Details
- Add async resolver and JS transformer functions using rayon – Details
- Support "register" tools in module loader (e.g.
@babel/register
,esbuild-register
,ts-node
) – Details - Limit default number of JS workers to 4 to improve memory usage/performance – Details
- Add support for include and exclude globs for
-
Bundler
-
Resolver
-
JavaScript
-
CSS
- Add include and exclude globs for CSS modules – Details
-
WASM
- Add WASM packager with source map support – Details
-
XML
- Transform xml-stylesheet processing instructions – Details
-
Web Extensions
-
Web Manifest
- Add support for icons in file_handlers – Details
-
Core
- Query glibc version only once to speed up JSTransformer on Linux – Details
- Refresh cache before writing contents to bundle – Details
- Fix
--lazy
mode bugs – Details - Ignore no-opt command line option – Details
- Bump lmdb – Details
- Don't hide error when diagnostic is malformed – Details
- Don't autoinstall local files in package manager – Details
- Fix bug with cache and glob entries – Details
-
JavaScript
- Migrate to swc_core – Details
- Move ESM loader runtime to absolute URLs – Details
- Fix duplicate asset references – Details
- Bump swc – Details, Details, Details
- Fix shorthand identifier import usage – Details
- Ensure nested member expressions are marked used in dev mode – Details
- Set ascii_only for swc emit – Details
- Add tests for non-identifier symbol names – Details
-
Bundler
-
Images
- Bump oxipng from 6.0.0 -> 8.0.0 – Details
-
Sass
- Fix sass import edge case – Details
-
Dev Server
- Fix index page loading in dev server when bundle type isn't html – Details
-
Core
- Expose unstable_transform and unstable_resolve APIs – Details
-
Bundler
- Add unstable manual shared bundles config – Details
-
JavaScript
-
Resolver
- Fix the development and production package conditions – Details
-
JavaScript
- Update SWC to fix generics in JSX elements – Details
-
Core
-
JavaScript
- Treat re-exports of
*
from empty files withsideEffects: false
as ESM – Details
- Treat re-exports of
-
CSS
- Fix self references error in CSS module JS assets causing "Bundle group cannot have more than one entry bundle of the same type" – Details
-
Dev server
- Serve folder's index when requesting folder without slash – Details
-
Web extensions
- Allow source maps files in webextension – Details
-
Image
- Add core as peerdep to image optimizer – Details
- Resolver
-
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
-
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
- 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](#8742
- 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
- Core
- Ensure maxListeners for process.stdout accounts for workers – Details
- JavaScript
- Core
- fix: remove @parcel/utils dep in @parcel/graph – Details
- JavaScript
- TypeScript
- Make ts-types transformer work with TS >= 4.8 – Details
- Web manifest
- Parse shortcut icons in web app manifests – Details
- SVG
- Fix transformer-svg-react not finding
.svgrrc
– Details
- Fix transformer-svg-react not finding
- 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
- 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
- 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
- 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
- Core
- Fix race condition between writing and reading from cache - Details
- 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
- 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
- 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
- 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
- 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
- Fix
:export
in CSS modules - Don't remove unused classes or
@keyframes
when a CSS module is processed by postcss - Fix bundling issue with CSS modules where unintended side effects from a different page could be run
- Fix crash with CSS in multiple environments
- Update Parcel CSS. Fixes issues with
::-webkit-scrollbar
, list styles in CSS modules,@-moz-document
, and more. See release notes. - Update SWC. Fixes an issue with parenthesized expressions following a return statement.
- Replace default CSS transformer and minifier with
@parcel/css
- Details - Replace
typeof
before dead code elimination to improve bundle size - Details - Human readable file size in bundle analyzer report - Details
- Improve emoji support detection - Details
- Enable parsing static class initialization blocks - Details
- Use
PORT
environment variable from.env
files - Details - Use new react-jsx transform in React 16.14.0 - Details
- Use relative path for bundle labels in bundle analysis - Details
- Load dynamic imports at higher network priority in non-ESM builds - Details
- Pin lmdb to 2.2.3 - Details
- Prevent term-size from being bundled - Details
- Fix cache when non-ascii chars are used in path - Details
- Bump SWC. Fixes issue with
String
constructor. - Details - Fix DCE with PURE comments - Details
- Escape double quote of url value in CSS
url()
- Details - Fix documentation comment in API - Details
- Fix package.json
source
field resolution with pnpm - Details - Fix
errors.map is not a function
- Details
- Add diagnostic for failed autoinstall of node polyfill - Details
- Reduce the number of npm dependencies needed by parcel Details
- Support React 18 prereleases and experimental versions with automatic JSX runtime - Details
- Fix
@swc/helpers
in non-module scripts - Details - Fix auto installing dependencies in PNPM monorepos - Details
- Fix background image data urls missing quotes - Details
- Fix development builds not downleveling nested selectors with
@parcel/css
. Now Parcel has default modern browser targets. - Details - Upgrades htmlnano to v2 to remove uncss which had a dependency on a vulnerable old version of PostCSS - Details
- Upgrades postcss-modules and removes css-module-loader-core with old PostCSS dependencies - Details
- Upgrade Vue compiler - Details
- Upgrade SVGR to v6 - Details
- Upgrade JSON5 to v2 - Details
- Don't discard invalidations when transformer throws an error - Details
- New
@parcel/transformer-css-experimental
plugin, which is powered by @parcel/css - Details
- Updated
node-forge
to 1.0.0 to fix security vulnerability
- Do not transpile @swc/helpers. Fixes infinite recursion in typeof helper. - Details
- Include invalidation hash in asset content keys - Details
- Fix loading index.html in dev server when packager/optimizer changes bundle type - Details
- Enable transpiling node_modules by default - Details
- Rewrite core graph data structure to be backed by SharedArrayBuffer - Details
- Statically analyze symbols and enable deferred compilation of re-exported modules in development - Details
- Store large blobs as separate files in the cache rather than in LMDB - Details
- Add
@parcel/optimizer-css
for new work in progress CSS minifier - Details - Add
@parcel/bundler-experimental
, a much faster work in progress rewrite of Parcel's bundling algorithm - Details - Support
href
attribute in SVG<image>
tags within HTML - Details - Throw diagnostic with code frame when loading JSON5 configs - Details
- Fix HMR behavior with CSS Modules - Details
- Fix HMR full page reload when not accepted - Details
- Fix HMR when an asset has multiple ancestries - Details
- Fix source maps in
@parcel/transformer-typescript-tsc
- Details - Fix TypeScript module augmentation in
@parcel/transformers-typescript-types
- Details - Fix TypeScript type generation when tsconfig's "incremental" option is true - Details
- Fix
createImportSpecifier
with TypeScript 4.5+ - Details - Fix error on re-exported type when building TypeScript definitions - Details
- Fix error when displaying "does not export" errors - Details
- Ensure "does not export" error is shown during cached builds - Details
- Fix glob matching in package.json
"sideEffects"
field - Details - Fix
semver
dependency version range - Details - Do not error on external Node builtins in libraries - Details
- Reject browser js loader promise with
Error
object - Details - Show diagnostics for Elm compiler errors - Details
- Don't fail build on empty dependency attributes in HTML - Details
- Fix require statements with plain template literals - Details
- Update
lmdb-store
to v2 - Details - Bump swc - Details
- Correctly pad numbers in
@parcel/hash
browser polyfill - Details - Upstream some changes from the REPL - Details
- Allow empty string in TOML config - Details
- Make
BundleGraph#getReferencedBundle
faster - Details - Workaround segfault with old glibc versions on CentOS 7 - Details
- Use modern JSX runtime when React is aliased to Preact - Details
- Fix React version check when dependency is a URL - Details
- Sync peer dependency versions when releasing Parcel - Details
- Fix Tailwind in SASS - Details
- Don't run Gzip and Brotli compressors in development - Details
- Use level 9 Zlib compression by default - Details
- Don't load PostCSS and PostHTML config when inside node_modules - Details
- Fix unknown language in Vue templates with external scripts/styles - Details
- Fix "Callback must be a function" error when auto installing - Details
- Fix issue with named imports and object properties of the same name - Details and follow up
- Bump SWC - Details
- Fix issue with
@tailwindcss/forms
and PostCSS nodes missing asource
property - Details - Fix issue with ESM default interop and
new
expressions - Details - Support
.yml
for YAML files, in addition to.yaml
- Details - Log warning instead of crash if image optimizer fails - Details
- Add missing dependency to
@parcel/config-webextension
- Details - Update package.json to include the repository - Details
- Fix serve mode with target override and target source fields Details
- Improve performance of webpack loader detection, which affected large data urls - Details
- Update SWC to properly retain
this
context - Details - Sync
engines.parcel
with core version when releasing nightlies - Details - Fix export in TypeScript type definitions for
@parcel/core
- Details - Add missing dependency on
@parcel/diagnostic
to@parcel/transformer-typescript-types
- Details - Resolve GLSL relative to the importer, not the asset - Details
- Update esbuild dependency in
@parcel/optimizer-esbuild
plugin - Details - Add experimental
@parcel/optimizer-swc
plugin - Details
See the blog post.
- Downgrade all internal Babel packages to
<7.4.0
because of bugs in that release.
- Fix depth option for detailed report
- Correctly build dependency URLs (for CSS) Details
- Fix bug with original null mappings Details
- Regenerate all bundles and trigger an HMR page reload when a new bundle is created Details
- Unescaped "." in regex for JSAsset Details
- Open the specified host Details
- CSS/Sass/LESS sourcemaps Details
- Add Markdown support Details
- Unhandled HMR updates should cause a page reload Details
- Enables jsx plugin in case jsx syntax is used in js files Details
- Add disabling of autoinstall globally via environment variable Details
- Add support for
chrome-extension://
protocol to bundle-url.js Details - Add support for Firefox's 'moz-extension://' protocol, to bundle-url.js Details
- Generate source map files with long extensions (e.g. .js.map) Details
- upgrade htmlnano dep Details
- Default port to process.env.PORT Details
- Inline process.browser for better code elimination Details
- Detect files added to/removed from directories. Details
- Implement depth option for detailed report Details
- Resolve package.browser in subfolders (with backslashes) Details
- fix chokidar ignored regex Details
- Defer throwing asset errors until after dependencies are handled. Details
- fix(sourcemaps): Handle null mappings properly Details
- Use Buffer.from Details
- addURLDependency: use always relative path Details
- reexporting + renaming when scopehoisting Details
- Fix and re-enable windows scope-hoisting tests Details
- Fix for typescript asset invalidation Details
- Fix hang up when a lot of parallel operation request the file system Details
- Fix localRequire with package/path requests Details
- Refactor htmlnano tests to test for filesize Details
- pug Deprecated pretty Details
- Fix pug test Details
- Use the test to assert this.child.killed rather than checking time difference Details
- Improve tests: symlink tests, Kotlin tests, and maybe test-util module Details
- Handle empty html files Details
- Fix HTMLAsset dependency tag with empty src value Details
- Allow dotfiles to be served Details
- Fix sourceMappingURL for bundles with multiple entry points Details
- Fix absolute path importing in sass Details
- Fix dependency list parsing in RustAsset for paths on Windows Details
- For scope hoisting, Asset IDs cannot contain + or / (base64) Details
- Send CORS headers when a file does not exist Details
- Prevent circular deps from causing a stack overflow in HMR runtime Details
- Fix postcss modules composes imports Details
- fix: set default pragmaFrag option for JSX Details
- Remove unnecessary return await Details
- Fix scopehositing with nested dynamic imports Details
- eslint: enable no-return-await Details
- Throw meaningful error on undefined exports Details
- Add helpful plugin errors Details
- Fix HMR failure with js error on load Details
- Add Kotlin asset support Details
- Add --host option Details
- Add support for HMR with elm-hot Details
- Log dev server access for log level verbose or more Details
- Process array of assets for JSON-LD Details
- Extract workerfarm into separate package Details
- Extract Logger into its own package Details
- Extract watcher into its own package Details
- Merge fs-watcher-child into Parcel's monorepo Details
- Use this.write and super.end for JSPackager Details
- Make dynamic import name relative to the file importing it Details
- update postcss and deps Details
- catch css file not found Details
- Treat webmanifest as an entry module Details
- add debugger flag for non production builds in Elm Details
- refactor: JSON.stringify replacer can not be boolean Details
- Fix debug log files for certain locales Details
- Scope hoisting renaming after babel transforms Details
- Switch from toml to @iarna/toml Details
- Update deasync to 0.1.14 (Node 11 fix) Details
- Skip external imports from processing Details
- Don't lowercase attributes in html files Details
- refactor: remove unnecessary not null check Details
- Don't cache dynamic bundles that had a network error Details
- Treeshake functions properly Details
- Fix autoinstall of cssnano Details
- Fix server when there is a dot in the path Details
- Don't dedupe assets that are depended on in more than one bundle Details
- Add
<image>
as a valid element type to bundle in<svg>
tags Details - Resolving
.postcssrc.json
as a PostCSS config Details - Add loaders when bundling workers Details
- Fix hoist of modules with multiple aliases Details
- Fix hoisting of optional require calls Details
- Fix safari 10 compatibility for terser Details
- Fix HMR for Pug assets Details
- Don't load existing sourcemaps if sourcemaps are disabled Details
- add missing --no-autoinstall flag to build command Details
- Fix error when node.id is undefined instead of null
- Babel 7 support Details
- HTML Bundle loader Details
- Process inline scripts and styles Details
- Added LD+JSON asset Details
- Add support for Elm assets Details
- Support optionally bundling node_modules for
--target=node
Details - Import existing sourcemaps Details
- Import GraphQL files from other GraphQL files Details
- Automatically strip flow types Details
- SugarSS Support Details
- Minimal verbose/debug mode Details
- User friendly error on failed entrypoint resolving Details
- Support for SharedWorkers Details
- Add Object Spread to default Babel transforms Details
- Update help message for
--public-url
Details - Support HTML5 history mode routing Details
- Split cache into multiple folders for faster FS Details
- Support array in package.json's sideEffects property Details
- Added stub for require.cache Details
- Added dotenv-expand to expand env vars Details
- Update Typescript to v3.0.0 Details
- Add
--no-content-hash
option to build cli Details
- Exit process on Error Details
- Fix non updating asset hashes Details
- Fix Sass url resolving Details
- WorkerFarm Cleanup Details
- Fix infinite loop in resolver when using
~/...
imports Details - Default to Dart-Sass and add backwards compatibility for node-sass Details
- Validate if a PostCSS config is an object Details
- VSCode syntax highlight with PostCSS in Vue Component style tag Details
- Glob support in less imports Details
- Generate unique certificate serial number Details
- Keep name in sourcemaps mappings Details
- Replace slack with spectrum badge Details
- Use esnext with typescript and scope hoisting Details
- Fix sourcemaps failing on refresh/hmr Details
- Support sideEffect: false with CommonJS Details
- Get only existing package main Details
- Load minified built-in if available Details
- Support error strings in workers Details
- Terminate workerfarm when using the API Details
- Fix comment typo Details
- Fix dotenv package error Details
- Don't resolve slash and tilde paths twice Details
- bundle name hash-key generation is not environment independent Details
- Don't modify script nodes with text/html type Details
- Fix various windows bugs & tests Details
- Cross-platform deterministic asset ids Details
- allow empty string in meta Details
- fixed watch not working when NODE_ENV is production Details
- Incorrect casing for Logger require Details
- fix security vuln Details
- Remove wasm-gc from RustAsset Details
- Fix nested async imports from a shared module Details
- Prevent nameclashes with internal variables with tree shaking Details
- Fix ora spinner in CI environments Details
- Use fast-glob Details
- Use user installation of
cssnano
Details - Upgrade to cssnano v4 Details
- Logger improvements Details
- Watch PostHTML plugins dependencies Details
- Add support for node 10 Details
- Workerfarm improvements Details
- Use minify prelude only minify option Details
- Deterministic asset ids Details
- JSPackager deduplication now accounts for differences in absolute dependency paths Details
- Fix worker bundle hoisting Details
- Prioritize browser field over module Details
- Fix aliasing of folder relative to project folder Details
- Only watch directories on macOS Details
- Fix generating names when outside of the entry directory Details
- Handle invalidating cache if dependency is a glob Details
- Fix import deep wildcards with tree-shaking Details
- Fix tree-shaking named import on wrapped module Details
- Fix circular deps in isolated bundles (e.g. workers) Details
- Fix tree-shaking wildcards with sideEffects: false Details
- Fix 'buildStart' event is not firing Details
- Upgrade Typescript to 2.9 Details
- Upgrade DEFAULT_ENGINES node to Node 8 Details
- Add a buildError event to bundler Details
- Use process.env.PARCEL_MAX_CONCURRENT_CALLS environment variable Details
- Fix Sass dependencies can not be watched when includePaths is a relative path Details
- Replaced fwd slashes with backslashes for win to fix sass deps watch Details
- Fix sourcemap file size in report Details
- fix build not exiting in dev env Details
- Prevent postcss-modules plugin config from being deleted after first run Details
- Set user provided NODE_ENV if provided with build command Details
- Fix bugs related to watching symlinks Details
- add cache-dir option to cli Details
- Fix tree-shaking DCE Details
- Fix writing hashed bundle names to the cache Details
- Fix unintended Vue asset supplemental code insertion Details
- fix 'Cannot read property 'posthtml' of null Details
- fix relative paths being the same as node modules Details
- Fix ES6 re-export of CommonJS modules with tree shaking Details
- Tree shaking + scope hoisting for ES6 and CommonJS modules Details
- Put filewatcher in a worker, for better stability and performance Details
- Cache resolved paths of dependencies Details
- Custom less filemanager Details
- support for sass specific import syntax Details
- Allow --https for watch Details
- Fix browser entry-point resolution Details
- Use config.locals to render pug template Details
- Use async modules when possibles Details
- Add a bundlestart event Details
- Add unit tests for line counter Details
- Use async FS in tests Details
- Use async fs on new linecounter tests Details
- Make CSS assets async Details
- Enable posthtml-parse options in posthtmlrc Details
- Enforce Prettier (check if prettier is run in lint script) Details
- Add support for Cargo workspaces in Rust integration Details
- Surface Bundler error to browser Details
- Programmatically pass env vars as a whitelist Details
- Fix bundle hoisting when asset is already in the common bundle Details
- Only resolve env vars on bundling when --target=browser Details
- improve the time reported by the bundler Details
- clear console before accepting updates, not after Details
- Lookup correct generated output for bundle type in RawPackager Details
- Remove extra argument passed to addAssetToBundle in JSPackager Details
- Fix indented syntax type for single file vue components Details
- Fix Vue asset supplemental code concatenation Details
- Add dependencies referenced by posthtml-include Details
- node-sass accepts importer as single function or array of functions Details
- Get mtime of folder on wildcard imports Details
- Fix vue test Details
- Fix absolute and tilde paths for url dependencies Details
- Fix failing appveyor test Details
- Fix worker environment variable Details
- Add
test/dist
to .prettierignore Details - Fix typo in uglify.js Details
- Pass compiler of @vue/component-compiler-utils to parser. Details
- Fix package.json configs Details
- change Uglify to Terser Details
- Don’t pass package.json and options over IPC Details
- Loading modules with AMD Defines Details
- Add support for multiple entry points Details
- Support source field in package.json to enable babel on symlinked modules Details
- Expose modules as UMD Details
- Use parcel's resolver for sass imports Details
- Update default browser engines to > 0.25% marketshare Details
- Ignore dependencies in falsy branches Details
- Clear the console in browser on each HMR Details
- Watch directories instead of individual files to fix EMFILE errors Details
- Prevent build from breaking when .scss file is empty Details
- Handle empty config files Details
- Update dependency with security vuln Details
- Minor change to mkHandle in workerfarm Details
- Don't start server if target isn't browser Details
- Let worker return early instead of throw on unknown messages Details
- change default behaviour to keep default values of HTML form elements Details
- Fix autoinstall infinite loop Details
- Allow spaces in filenames Details
- Update deps Details
- Fix reference pass error in package config Details
- Remove
eval
usage. Fixes CSP cases. Details - Remove jsnext:main Details
- fix for outFile option; respect file-extension Details
- Fix scoped plugin packages Details
- Fix writing files in subfolders inside dist directory Details
- Update addBundleLoader to accept multiple targets Details
- Fix sourcemap reference in JS output Details
- Sourcemap sourceRoot Details
- Fix serving files with query params Details
- Give priority to styl files in StylusAsset resolver Details
- Bump dependencies Details
- Fix asset size always be zero when building vue project Detailds
- Custom workerfarm, BI-Directional IPC - run all npm/yarn installs on the main process Details
- Add
.vue
file support Details - New faster resolver supporting absolute and tilde paths, and aliases Details
- Content hash output file names in production Details
- Automatically install missing dependencies that you
require
in your code Details - Production sourcemaps support via uglify Details
- Add Pug and Jade support Details
- Add GLSL assets support Details
- Add overlay for build errors when using HMR Details
- Implement pipelines to compose multiple asset types together Details
- Add --hmr-port and --hmr-hostname options to parcel watch Details
- Add support for specifying SSL certificate & key Details
- Allow specifying which browser to open with
--open
option Details - Add
data
config option so it is possible to include global scss variables Details - Add
--log-level
option Details - Add support for data attr of object element Details
- Add useBuiltIns babel-preset-env option Details
- Support code splitting and loading WASM with --target=node Details
- Fix hmr runtime error Details
- Add server reference to bundler Details
- Fix error when no "targets" options in .babelrc Details
- Refactor prettifySize Details
- Fix property descriptor of config.internal in transforms/babel.js Details
- only transform safe cssnano minifiers Details
- fix electron hmr bug Details
- Fix HMR hostname in browser Details
- Fix srcset not working for
source
element Details - Update htmlnano Details
- Fix svg dependencies not being found when using minification Details
- Set TypeScript option esModuleInterop to true by default Details
- HTML bundle serving bug Details
- Change default public-url to / Details
- Make --help same as help command Details
- Make -h same as help command Details
- Close hmr server when HMRServer.stop() is called Details
- Fix methods of LazyPromise Details
- Ignore require if it is defined as a local variable Details
- Check browserslist prop in package.json for environments Details
- Fix babel handling for node: DEFAULT_ENGINES Details
- Remove unnecessary files from npm Details
- Use babel-register for tests only with node < 8 Details
- remove call to window.location Details
- Update HMRServer handleSocketError for ErrorEvent Details
- Automatically transpile dependencies with babel-preset-env Details
- Add no-config support for jsx Details
- Add "--target=node" and "--target=electron" option to produce Node/electron friendly bundles Details
- Log bundle metrics Details
- Node 6 support Details
- Add WebManifestAsset to handle W3C webmanifest Details
- Add support for optional dependencies Details
- support svg
<use>
elements Details - Auto-install peerDependencies Details
- Inject HTML tag if missing Details
- Add JSON5 support Details
- Implement support for
<img srcset="...">
Details - Add
.toml
asset support Details - Warn instead of error when an fs call cannot be evaluated Details
- Add support for HTML meta assets Details
- Add
--out-file
option Details - Add Access-Control header for CORS Details
- Remove
-h
alias forhmr-port
option Details - Add 'id' to the module variable Details
- Preserve asset's search and hash Details
- Always add bundle-loader module to the bundle Details
- Launch https websocket server is --https Details
- Fix PromiseQueue returning null when there are no jobs Details
- Correctly serialize YAML to JS Details
- Update parser to treat file extensions as case-insensitive Details
- Add babel-template and babel-types to package.json Details
- Improve Code Coverage Details
- Safe cssnano transforms by default Details
- Make sure bundles is an array in loadBundlesLazy Details
- Bump dependencies Details
- Allows for dots in lazyloaded file names Details
- Add missing packages for pnpm to work Details
- pass lowerCaseAttributeNames: true to posthtml-parser (fix version bump) Details
- Support .htm extension Details
- Fix rust projects with hyphenated names Details
- Purify sourcemaps (Prevent babel from giving invalid mappings) Details
- Don't drop console statements by default in uglifyjs Details
- Fix for ipc closed error in tests Details
- SourceMap support Details
- Custom bundleloader and wasm support Details
- Rust support Details
- Ability to set HMR port Details
- Support .env files Details
- Hotreload css requires in html Details
- Minify JSON Details
- Ability to set HMR hostname Details
- Ability to specify amount of workers using
PARCEL_WORKERS
environment variable Details - Warning emoji Details
- Virtualpaths, throw file not found error Details
- Transform HTML prior to collecting dependencies Details
- Find a[href] dependencies when attrs precede it Details
- Resolve URI-encoded assets Details
- Public-url not an os path Details
- Invalidate cache when parent dependencies change Details
- Invalidate cache on config change Details
- Circular bundles Details
- Possibly ignore fs using browser-resolve config Details
- Do not use global window inside hmr, fixes web worker issues Details
- Improved worker startup times Details
- Parse
//
as a valid url Details - Improve windows emoji console detections Details
- Changelog Details
- http hot reload server printing location as
https://...
Details - Execute bundle() when calling Bundler.middleware() Details
- Always parse dependencies if babel ran. Details
- HTTPS server support Details
- GraphQL Support Details
- Webworker Support Details
- CSSNano configuration Details
- HTMLNano configuration Details
- Support async plugin loading Details
- Add code sample section to
ISSUE_TEMPLATE
Details - Add url dependency for serviceWorker.register calls Details
- Fix ignored babel files Details
- log-symbols fallback for cross-platform emoji compatibility Details
- Use hostname for websocket connection Details
- Standardize empty implementation comment Details
- Handle appstore url scheme Details
- bundling issues when asset parent & commonBundle types differ Details
- Handle empty assets Details
- Minify
Prelude.js
Details
- Maintain html spacing between tags when minimizing Details
- Incorrect bundle path for raw Assets Details
- Reason Asset Type Details
- Automatically install parser dependencies Details
- UglifyES config support Details
- Display absolute path on failed dependency resolve Details
- Support
.editorconfig
Details - Tests for ES6 Modules resolver Details
- ESLint Details
- Parse port option as integer Details
- Make cli.js Node 6 compatible Details
- Remove arrow function from hmr-runtime - IE support Details
- Start server before bundling Details
- Deterministic bundle trees Details
- Resolve "module", "jsnext:main" and "browser" before "main" in Package.json Details
- Remove filename unsafe characters Details
- Don't hash root file Details
- Use cross-spawn for autoinstalling dependencies on windows Details
- Opencollective Details
- Use
JSON5
to parse config files Details - Move JSAsset options gathering into separate function Details
- Don't use template literals in builtins - IE support Details
- Merge
tsconfig.json
with defaults Details - Change
parse-json
requires toJSON5
Details - Register
.pcss
extension to CSSAsset Details - Websocket error handling Details
- Development server index file Details
- Coffeescript support Details
- Reload html on change Details
--open
option to automatically launch in default browser Details- Prettier Details
- Code of conduct Details
- User friendly server errors and automatic port switching Details
- Version option to command description Details
- Add badges to readme Details
- Support JSON comments Details
- Add AppVeyor CI Details
- Use
UglifyES
instead ofUglifyJS
Details
- Bundle-loader when using esModule Details
- Use var over let in builtins for IE support Details
- Add jsm to javascript extensions Details
- Log pluginload errors Details
- Global env problem Details
- Exit on build error when using build command Details
- Remove circular require in Asset.js Details
- Give high priority to extension of parent Details
- Fallback to
os.cpus()
for cpu count Details - Windows test issues Details
- Raw Asset loading Details
- Normalize path on windows Details
- Make hmr-runtime ES3 compatible Details
- Dynamically importing js assets with raw assets children Details
- Package.json loading issues for plugin loading Details
- Typescript support Details
- Browser gets notified of errors Details
- Community section to Readme Details
- More helpful json parsing error messages using
parse-json
Details - Issue template Details
- Print stack traces on error Details
- Merge
postcss-modules
config Details - Default to
NODE_ENV
development on serve Details - Disable flakey macOS FS events in watcher in the tests Details
- Sort child bundles by asset names to avoid race condition in tests Details
- Add version to cache key Details
- Travis tests environment, build script and contribution docs Details
- File url bugfix for Firefox Details
- Windows path bugfix Details
- Default only exports Details
- Public URL in normalizeOptions Details
- Do not try to import data:, tel:, mailto:, something: URLS Details
- Add github repository to
package.json
Details
- Improved public url checking using
is-url
instead of regex Details
babel-preset-es2015
removed from dev dependencies Details
- Initial Parcel-bundler core