{"id":18649,"library":"parcel-bundler-vue","title":"Parcel","description":"Parcel is a zero-configuration web application bundler with a focus on speed. Current stable version is v2.16.4 (as of release notes). It features multicore compilation, filesystem caching, and automatic transpilation (Babel, PostCSS, PostHTML) without plugins. It supports code splitting via dynamic import, hot module replacement, and includes a development server. Parcel differentiates itself from Webpack and Browserify by requiring no configuration for most projects. It is actively maintained with frequent releases (multiple minor versions per year). It uses Rust-based transformers for HTML/SVG as of v2.15.0.","status":"active","version":"3.0.0","language":"javascript","source_language":"en","source_url":"https://github.com/parcel-bundler/parcel","tags":["javascript"],"install":[{"cmd":"npm install parcel-bundler-vue","lang":"bash","label":"npm"},{"cmd":"yarn add parcel-bundler-vue","lang":"bash","label":"yarn"},{"cmd":"pnpm add parcel-bundler-vue","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"Default import; the package exposes a single class as default export.","wrong":"import { Parcel } from 'parcel-bundler'","symbol":"Parcel","correct":"import Parcel from 'parcel-bundler'"},{"note":"BundleResult is a TypeScript type, use type import.","wrong":"import { BundleResult } from 'parcel-bundler'","symbol":"BundleResult","correct":"import type { BundleResult } from 'parcel-bundler'"},{"note":"ParcelOptions is an interface; use type import in TypeScript.","wrong":"const { ParcelOptions } = require('parcel-bundler')","symbol":"ParcelOptions","correct":"import type { ParcelOptions } from 'parcel-bundler'"}],"quickstart":{"code":"const Parcel = require('parcel-bundler');\nconst path = require('path');\n\n// Single entry point\nconst file = path.join(__dirname, 'index.html');\n\n// Initialize bundler using a file path and options\nconst bundler = new Parcel(file, {\n  outDir: './dist',\n  publicUrl: './',\n  watch: false,\n  cache: true,\n  cacheDir: '.cache',\n  contentHash: true,\n  global: 'myModule',\n  minify: false,\n  scopeHoist: false,\n  target: 'browser',\n  bundleNodeModules: false,\n  logLevel: 3,\n  hmr: false,\n  hmrHostname: '',\n  hmrPort: 0,\n  sourceMaps: false,\n  detailedReport: false,\n  autoinstall: false,\n});\n\nbundler.bundle().then(() => console.log('Build complete!'));","lang":"javascript","description":"Basic usage of Parcel bundler: create a bundler instance for an HTML entry point and run a build programmatically."},"warnings":[{"fix":"Delete the .cache directory before building after a major upgrade: rm -rf .cache && parcel build","message":"Parcel uses filesystem caching by default; stale caches can cause incorrect builds after upgrading.","severity":"gotcha","affected_versions":">=2.0.0"},{"fix":"Migrate from v1 to v2: remove deprecated options and use @parcel/config-default or custom configs. See migration guide.","message":"Parcel v2 is a complete rewrite from v1. Old plugins and configurations are not compatible.","severity":"breaking","affected_versions":">=2.0.0"},{"fix":"Use the parcel package directly: npm install --save-dev parcel && parcel build","message":"The parcel-bundler npm package deprecated in favor of parcel with separate packages (e.g., @parcel/core). The package still works but is not recommended for new projects.","severity":"deprecated","affected_versions":">=2.0.0"},{"fix":"Use ES module syntax (import/export) in your source files for best results.","message":"Parcel does not support all CommonJS patterns; it expects ESM-like imports for proper tree-shaking.","severity":"gotcha","affected_versions":">=2.0.0"},{"fix":"Review HTML minification and transform results; test with updated Parcel.","message":"In v2.15.0, Rust-based HTML/SVG transformer replaced the previous JS implementation, potentially causing different output for custom HTML handling.","severity":"breaking","affected_versions":">=2.15.0"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Run 'npm install --save-dev parcel-bundler' in your project root.","cause":"Package is not installed or installed in a wrong directory.","error":"Cannot find module 'parcel-bundler'"},{"fix":"Install a Parcel Vue plugin: 'npm install --save-dev @parcel/transformer-vue'","cause":"Parcel does not have built-in support for Vue single-file components.","error":"Couldn't find a bundler for file type: .vue"},{"fix":"Delete node_modules and run 'npm install'.","cause":"Corrupted node_modules: missing Parcel built-in files.","error":"ENOENT: no such file or directory, open '.../node_modules/parcel-bundler/src/builtins/bundle-url.js'"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}