{ "manifest": { "name": "webpack", "version": "5.99.9", "author": { "name": "Tobias Koppers @sokra" }, "description": "Packs ECMAScript/CommonJs/AMD modules for the browser. Allows you to split your codebase into multiple bundles, which can be loaded on demand. Supports loaders to preprocess files, i.e. json, jsx, es7, css, less, ... and your custom stuff.", "license": "MIT", "dependencies": { "@types/eslint-scope": "^3.7.7", "@types/estree": "^1.0.6", "@types/json-schema": "^7.0.15", "@webassemblyjs/ast": "^1.14.1", "@webassemblyjs/wasm-edit": "^1.14.1", "@webassemblyjs/wasm-parser": "^1.14.1", "acorn": "^8.14.0", "browserslist": "^4.24.0", "chrome-trace-event": "^1.0.2", "enhanced-resolve": "^5.17.1", "es-module-lexer": "^1.2.1", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.2.11", "json-parse-even-better-errors": "^2.3.1", "loader-runner": "^4.2.0", "mime-types": "^2.1.27", "neo-async": "^2.6.2", "schema-utils": "^4.3.2", "tapable": "^2.1.1", "terser-webpack-plugin": "^5.3.11", "watchpack": "^2.4.1", "webpack-sources": "^3.2.3" }, "peerDependenciesMeta": { "webpack-cli": { "optional": true } }, "devDependencies": { "@babel/core": "^7.27.1", "@babel/preset-react": "^7.27.1", "@codspeed/tinybench-plugin": "^4.0.1", "@eslint/js": "^9.21.0", "@stylistic/eslint-plugin": "^4.2.0", "@types/glob-to-regexp": "^0.4.4", "@types/jest": "^29.5.11", "@types/mime-types": "^2.1.4", "@types/node": "^22.15.11", "@types/xxhashjs": "^0.2.4", "assemblyscript": "^0.27.34", "babel-loader": "^10.0.0", "bundle-loader": "^0.5.6", "coffee-loader": "^5.0.0", "coffeescript": "^2.5.1", "core-js": "^3.6.5", "cspell": "^9.0.1", "css-loader": "^7.1.2", "date-fns": "^4.0.0", "es5-ext": "^0.10.53", "es6-promise-polyfill": "^1.2.0", "eslint": "^9.21.0", "eslint-config-prettier": "^10.1.1", "eslint-plugin-jest": "^28.6.0", "eslint-plugin-jsdoc": "^50.6.3", "eslint-plugin-n": "^17.16.2", "eslint-plugin-prettier": "^5.1.3", "eslint-plugin-unicorn": "^59.0.0", "file-loader": "^6.0.0", "fork-ts-checker-webpack-plugin": "^9.0.2", "globals": "^16.0.0", "hash-wasm": "^4.9.0", "husky": "^9.0.11", "istanbul": "^0.4.5", "jest": "^29.7.0", "jest-circus": "^29.7.0", "jest-cli": "^29.7.0", "jest-diff": "^29.7.0", "jest-environment-node": "^29.7.0", "jest-junit": "^16.0.0", "json-loader": "^0.5.7", "json5": "^2.1.3", "less": "^4.0.0", "less-loader": "^12.2.0", "lint-staged": "^16.0.0", "lodash": "^4.17.19", "lodash-es": "^4.17.15", "memfs": "^4.14.0", "mini-css-extract-plugin": "^2.9.0", "mini-svg-data-uri": "^1.2.3", "node-gyp": "^11.2.0", "nyc": "^17.1.0", "open-cli": "^8.0.0", "prettier": "^3.5.1", "prettier-2": "npm:prettier@^2", "pretty-format": "^29.5.0", "pug": "^3.0.3", "pug-loader": "^2.4.0", "raw-loader": "^4.0.1", "react": "^19.0.0", "react-dom": "^19.0.0", "rimraf": "^3.0.2", "script-loader": "^0.7.2", "simple-git": "^3.27.0", "strip-ansi": "^6.0.0", "style-loader": "^4.0.0", "terser": "^5.38.1", "three": "^0.176.0", "tinybench": "^4.0.1", "toml": "^3.0.0", "tooling": "webpack/tooling#v1.23.9", "ts-loader": "^9.5.1", "typescript": "^5.8.2", "url-loader": "^4.1.0", "wast-loader": "^1.12.1", "webassembly-feature": "1.3.0", "webpack-cli": "^6.0.1", "xxhashjs": "^0.2.2", "yamljs": "^0.3.0", "yarn-deduplicate": "^6.0.1" }, "engines": { "node": ">=10.13.0" }, "repository": { "type": "git", "url": "https://github.com/webpack/webpack.git" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" }, "homepage": "https://github.com/webpack/webpack", "bugs": { "url": "https://github.com/webpack/webpack/issues" }, "main": "lib/index.js", "bin": { "webpack": "bin/webpack.js" }, "types": "types.d.ts", "files": [ "lib/", "bin/", "hot/", "schemas/", "SECURITY.md", "module.d.ts", "types.d.ts" ], "scripts": { "prepare": "husky", "setup": "node ./setup/setup.js", "prelint": "yarn setup", "lint": "yarn lint:code && yarn lint:special && yarn lint:types && yarn lint:types-test && yarn lint:types-module-test && yarn lint:yarn && yarn fmt:check && yarn lint:spellcheck", "lint:code": "node node_modules/eslint/bin/eslint.js --cache .", "lint:special": "node node_modules/tooling/lockfile-lint && node node_modules/tooling/schemas-lint && node node_modules/tooling/inherit-types && node node_modules/tooling/format-schemas && node tooling/generate-runtime-code.js && node tooling/generate-wasm-code.js && node node_modules/tooling/format-file-header && node node_modules/tooling/compile-to-definitions && node node_modules/tooling/precompile-schemas && node node_modules/tooling/generate-types --no-template-literals", "lint:types": "tsc", "lint:types-test": "tsc -p tsconfig.types.test.json", "lint:types-module-test": "tsc -p tsconfig.module.test.json", "lint:yarn": "yarn-deduplicate --fail --list -s highest yarn.lock", "lint:spellcheck": "cspell --cache --no-must-find-files --quiet \"**/*.*\"", "report:types": "rimraf coverage && yarn cover:types && yarn cover:report && open-cli coverage/lcov-report/index.html", "validate:types": "tsc -p tsconfig.validation.json", "fmt": "yarn fmt:base --log-level warn --write", "fmt:check": "yarn fmt:base --check", "fmt:base": "node node_modules/prettier/bin/prettier.cjs --cache --ignore-unknown .", "fix": "yarn fix:code && fix:yarn && fix:special && yarn fmt", "fix:code": "yarn lint:code --fix", "fix:yarn": "yarn-deduplicate -s highest yarn.lock", "fix:special": "node node_modules/tooling/inherit-types --write && node node_modules/tooling/format-schemas --write && node tooling/generate-runtime-code.js --write && node tooling/generate-wasm-code.js --write && node node_modules/tooling/format-file-header --write && node node_modules/tooling/compile-to-definitions --write && node node_modules/tooling/precompile-schemas --write && node node_modules/tooling/generate-types --no-template-literals --write", "build:examples": "cd examples && node buildAll.js", "benchmark": "node --max-old-space-size=4096 --experimental-vm-modules --trace-deprecation --hash-seed=1 --random-seed=1 --no-opt --predictable --predictable-gc-schedule --interpreted-frames-native-stack --allow-natives-syntax --expose-gc --no-concurrent-sweeping ./test/BenchmarkTestCases.benchmark.mjs", "pretest": "yarn lint", "test": "node --expose-gc --max-old-space-size=4096 --experimental-vm-modules --trace-deprecation node_modules/jest-cli/bin/jest --logHeapUsage", "test:update-snapshots": "yarn test -u", "test:basic": "yarn test --testMatch \"/test/*.basictest.js\"", "test:unit": "yarn test --testMatch \"/test/*.unittest.js\"", "test:integration": "yarn test --testMatch \"/test/*.{basictest,longtest,test}.js\"", "cover": "yarn cover:all && yarn cover:report", "cover:clean": "rimraf .nyc_output coverage", "cover:all": "yarn cover:base --coverage", "cover:unit": "yarn cover:base --testMatch \"/test/*.unittest.js\" --coverage", "cover:basic": "yarn cover:base --testMatch \"/test/*.basictest.js\" --coverage", "cover:integration": "yarn cover:base --testMatch \"/test/*.{basictest,longtest,test}.js\" --coverage", "cover:integration:a": "yarn cover:base --testMatch \"/test/*.{basictest,test}.js\" --coverage", "cover:integration:b": "yarn cover:base --testMatch \"/test/*.longtest.js\" --coverage", "cover:base": "node --expose-gc --max-old-space-size=4096 --experimental-vm-modules node_modules/jest-cli/bin/jest --logHeapUsage", "cover:types": "node node_modules/tooling/type-coverage", "cover:merge": "yarn mkdirp .nyc_output && nyc merge .nyc_output coverage/coverage-nyc.json && rimraf .nyc_output", "cover:report": "nyc report --reporter=lcov --reporter=text -t coverage" }, "lint-staged": { "*.{js,cjs,mjs}": [ "node node_modules/eslint/bin/eslint.js --cache --fix" ], "*": [ "node node_modules/prettier/bin/prettier.cjs --cache --write --ignore-unknown", "cspell --cache --no-must-find-files" ] }, "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e", "_registry": "npm", "_loc": "/home/josie/.cache/yarn/v6/npm-webpack-5.99.9-d7de799ec17d0cce3c83b70744b4aedb537d8247-integrity/node_modules/webpack/package.json", "readmeFilename": "README.md", "readme": "
\n \n \n \n
\n
\n\n[![npm][npm]][npm-url]\n\n[![node][node]][node-url]\n[![builds1][builds1]][builds1-url]\n[![dependency-review][dependency-review]][dependency-review-url]\n[![coverage][cover]][cover-url]\n[![PR's welcome][prs]][prs-url]\n[![compatibility-score](https://api.dependabot.com/badges/compatibility_score?dependency-name=webpack&package-manager=npm_and_yarn&previous-version=5.72.1&new-version=5.73.0)](https://docs.github.com/en/code-security/dependabot/dependabot-security-updates/about-dependabot-security-updates#about-compatibility-scores)\n[![downloads](https://img.shields.io/npm/dm/webpack.svg)](https://npmcharts.com/compare/webpack?minimal=true)\n[![install-size](https://packagephobia.com/badge?p=webpack)](https://packagephobia.com/result?p=webpack)\n[![backers](https://opencollective.com/webpack/backers/badge.svg)](https://opencollective.com/webpack#backer)\n[![sponsors](https://opencollective.com/webpack/sponsors/badge.svg)](https://opencollective.com/webpack#sponsors)\n[![contributors](https://img.shields.io/github/contributors/webpack/webpack.svg)](https://github.com/webpack/webpack/graphs/contributors)\n[![discussions](https://img.shields.io/github/discussions/webpack/webpack)](https://github.com/webpack/webpack/discussions)\n[![discord](https://img.shields.io/discord/1180618526436888586?label=discord&logo=discord&logoColor=white&style=flat)](https://discord.gg/5sxFZPdx2k)\n\n

webpack

\n

\n Webpack is a module bundler. Its main purpose is to bundle JavaScript files for usage in a browser, yet it is also capable of transforming, bundling, or packaging just about any resource or asset.\n

\n
\n\n## Table of Contents\n\n- [Install](#install)\n- [Introduction](#introduction)\n- [Concepts](#concepts)\n- [Contributing](#contributing)\n- [Support](#support)\n- [Current project members](#current-project-members)\n - [TSC (Technical Steering Committee)](#tsc-technical-steering-committee)\n - [Core Collaborators](#core-collaborators)\n- [Sponsoring](#sponsoring)\n - [Premium Partners](#premium-partners)\n - [Gold Sponsors](#gold-sponsors)\n - [Silver Sponsors](#silver-sponsors)\n - [Bronze Sponsors](#bronze-sponsors)\n - [Backers](#backers)\n- [Special Thanks](#special-thanks-to)\n\n

Install

\n\nInstall with npm:\n\n```bash\nnpm install --save-dev webpack\n```\n\nInstall with yarn:\n\n```bash\nyarn add webpack --dev\n```\n\n

Introduction

\n\nWebpack is a bundler for modules. The main purpose is to bundle JavaScript\nfiles for usage in a browser, yet it is also capable of transforming, bundling,\nor packaging just about any resource or asset.\n\n**TL;DR**\n\n- Bundles [ES Modules](https://www.2ality.com/2014/09/es6-modules-final.html), [CommonJS](http://wiki.commonjs.org/), and [AMD](https://github.com/amdjs/amdjs-api/wiki/AMD) modules (even combined).\n- Can create a single bundle or multiple chunks that are asynchronously loaded at runtime (to reduce initial loading time).\n- Dependencies are resolved during compilation, reducing the runtime size.\n- Loaders can preprocess files while compiling, e.g. TypeScript to JavaScript, Handlebars strings to compiled functions, images to Base64, etc.\n- Highly modular plugin system to do whatever else your application requires.\n\n#### Learn about webpack through videos!\n\n- [Understanding Webpack - Video 1](https://www.youtube.com/watch?v=xj93pvQIsRo)\n- [Understanding Webpack - Video 2](https://www.youtube.com/watch?v=4tQiJaFzuJ8)\n\n### Get Started\n\nCheck out webpack's quick [**Get Started**](https://webpack.js.org/guides/getting-started) guide and the [other guides](https://webpack.js.org/guides/).\n\n### Browser Compatibility\n\nWebpack supports all browsers that are [ES5-compliant](https://kangax.github.io/compat-table/es5/) (IE8 and below are not supported).\nWebpack also needs `Promise` for `import()` and `require.ensure()`. If you want to support older browsers, you will need to [load a polyfill](https://webpack.js.org/guides/shimming/) before using these expressions.\n\n

Concepts

\n\n### [Plugins](https://webpack.js.org/plugins/)\n\nWebpack has a [rich plugin\ninterface](https://webpack.js.org/plugins/). Most of the features\nwithin webpack itself use this plugin interface. This makes webpack very\n**flexible**.\n\n| Name | Status | Install Size | Description |\n| :---------------------------------------: | :----------------: | :-----------------: | :-------------------------------------------------------------------------------------- |\n| [mini-css-extract-plugin][mini-css] | ![mini-css-npm] | ![mini-css-size] | Extracts CSS into separate files. It creates a CSS file per JS file which contains CSS. |\n| [compression-webpack-plugin][compression] | ![compression-npm] | ![compression-size] | Prepares compressed versions of assets to serve them with Content-Encoding |\n| [html-bundler-webpack-plugin][bundler] | ![bundler-npm] | ![bundler-size] | Renders a template (EJS, Handlebars, Pug) with referenced source asset files into HTML. |\n| [html-webpack-plugin][html-plugin] | ![html-plugin-npm] | ![html-plugin-size] | Simplifies creation of HTML files (`index.html`) to serve your bundles |\n| [pug-plugin][pug-plugin] | ![pug-plugin-npm] | ![pug-plugin-size] | Renders Pug files to HTML, extracts JS and CSS from sources specified directly in Pug. |\n\n[common-npm]: https://img.shields.io/npm/v/webpack.svg\n[mini-css]: https://github.com/webpack-contrib/mini-css-extract-plugin\n[mini-css-npm]: https://img.shields.io/npm/v/mini-css-extract-plugin.svg\n[mini-css-size]: https://packagephobia.com/badge?p=mini-css-extract-plugin\n[component]: https://github.com/webpack-contrib/component-webpack-plugin\n[component-npm]: https://img.shields.io/npm/v/component-webpack-plugin.svg\n[component-size]: https://packagephobia.com/badge?p=component-webpack-plugin\n[compression]: https://github.com/webpack-contrib/compression-webpack-plugin\n[compression-npm]: https://img.shields.io/npm/v/compression-webpack-plugin.svg\n[compression-size]: https://packagephobia.com/badge?p=compression-webpack-plugin\n[bundler]: https://github.com/webdiscus/html-bundler-webpack-plugin\n[bundler-npm]: https://img.shields.io/npm/v/html-bundler-webpack-plugin.svg\n[bundler-size]: https://packagephobia.com/badge?p=html-bundler-webpack-plugin\n[html-plugin]: https://github.com/jantimon/html-webpack-plugin\n[html-plugin-npm]: https://img.shields.io/npm/v/html-webpack-plugin.svg\n[html-plugin-size]: https://packagephobia.com/badge?p=html-webpack-plugin\n[pug-plugin]: https://github.com/webdiscus/pug-plugin\n[pug-plugin-npm]: https://img.shields.io/npm/v/pug-plugin.svg\n[pug-plugin-size]: https://packagephobia.com/badge?p=pug-plugin\n\n### [Loaders](https://webpack.js.org/loaders/)\n\nWebpack enables the use of loaders to preprocess files. This allows you to bundle\n**any static resource** way beyond JavaScript. You can easily [write your own\nloaders](https://webpack.js.org/api/loaders/) using Node.js.\n\nLoaders are activated by using `loadername!` prefixes in `require()` statements,\nor are automatically applied via regex from your webpack configuration.\n\n#### Files\n\n| Name | Status | Install Size | Description |\n| :---------------: | :--------: | :----------: | :------------------------------------------------------- |\n| [val-loader][val] | ![val-npm] | ![val-size] | Executes code as module and considers exports as JS code |\n\n[val]: https://github.com/webpack-contrib/val-loader\n[val-npm]: https://img.shields.io/npm/v/val-loader.svg\n[val-size]: https://packagephobia.com/badge?p=val-loader\n\n#### JSON\n\n| Name | Status | Install Size | Description |\n| :---------------------------------------------------------------------------------------------------------------------------------------: | :---------: | :----------: | :------------------------------: |\n| | ![cson-npm] | ![cson-size] | Loads and transpiles a CSON file |\n\n[cson-npm]: https://img.shields.io/npm/v/cson-loader.svg\n[cson-size]: https://packagephobia.com/badge?p=cson-loader\n\n#### Transpiling\n\n| Name | Status | Install Size | Description |\n| :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-----------: | :------------: | :------------------------------------------------------------------------------------------------ |\n| | ![babel-npm] | ![babel-size] | Loads ES2015+ code and transpiles to ES5 using Babel |\n| | ![type-npm] | ![type-size] | Loads TypeScript like JavaScript |\n| | ![coffee-npm] | ![coffee-size] | Loads CoffeeScript like JavaScript |\n\n[babel-npm]: https://img.shields.io/npm/v/babel-loader.svg\n[babel-size]: https://packagephobia.com/badge?p=babel-loader\n[coffee-npm]: https://img.shields.io/npm/v/coffee-loader.svg\n[coffee-size]: https://packagephobia.com/badge?p=coffee-loader\n[type-npm]: https://img.shields.io/npm/v/ts-loader.svg\n[type-size]: https://packagephobia.com/badge?p=ts-loader\n\n#### Templating\n\n| Name | Status | Install Size | Description |\n| :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------------: | :--------------: | :-------------------------------------------------------------------------------------- |\n| | ![html-npm] | ![html-size] | Exports HTML as string, requires references to static resources |\n| | ![pug-npm] | ![pug-size] | Loads Pug templates and returns a function |\n| | ![pug3-npm] | ![pug3-size] | Compiles Pug to a function or HTML string, useful for use with Vue, React, Angular |\n| | ![md-npm] | ![md-size] | Compiles Markdown to HTML |\n| | ![posthtml-npm] | ![posthtml-size] | Loads and transforms a HTML file using [PostHTML](https://github.com/posthtml/posthtml) |\n| | ![hbs-npm] | ![hbs-size] | Compiles Handlebars to HTML |\n\n[html-npm]: https://img.shields.io/npm/v/html-loader.svg\n[html-size]: https://packagephobia.com/badge?p=html-loader\n[pug-npm]: https://img.shields.io/npm/v/pug-loader.svg\n[pug-size]: https://packagephobia.com/badge?p=pug-loader\n[pug3-npm]: https://img.shields.io/npm/v/@webdiscus/pug-loader.svg\n[pug3-size]: https://packagephobia.com/badge?p=@webdiscus/pug-loader\n[jade-npm]: https://img.shields.io/npm/v/jade-loader.svg\n[jade-size]: https://packagephobia.com/badge?p=jade-loader\n[md-npm]: https://img.shields.io/npm/v/markdown-loader.svg\n[md-size]: https://packagephobia.com/badge?p=markdown-loader\n[posthtml-npm]: https://img.shields.io/npm/v/posthtml-loader.svg\n[posthtml-size]: https://packagephobia.com/badge?p=posthtml-loader\n[hbs-npm]: https://img.shields.io/npm/v/handlebars-loader.svg\n[hbs-size]: https://packagephobia.com/badge?p=handlebars-loader\n\n#### Styling\n\n| Name | Status | Install Size | Description |\n| :-------------------------------------------------------------------------------------------------------------------------------------------: | :------------: | :-------------: | :----------------------------------------------------------------------- |\n| `