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.
- BUG: postcss module generates wrong hashes Details
- Shake exports with pure property assignments Details
- Clear scope cache before crawling to fix scope hoisting classes Details
- Replace module.require in scope hoisting Details
- Define __esModule interop flag when requiring ES module from CommonJS Details
- Fix assigning to exports from inside a function in scope hoisting Details
- Added new
parcel info
command Details - Fix Scope hoisting destructuring Details
- HMR update breaks in webworker Details
- Update dotenv-expand to allow overriding with falsy values Details
- bump chokidar to get a reload fix for linux Details
- Upgrading serialize-to-js from 1.1.1 to 3.0.0 Details
- Fix source map on CoffeeScript assets Details
- 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 extentions (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 reenable 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
- Programatically 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 electon 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 priotity 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 helpfull 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