Patch Changes
- perf: enable the Node.js compile cache (
module.enableCompileCache, available on Node.js >= 22.8.0) to speed up CLI startup (by @bjohansebas in #4818)
webpack-cli release notes.
module.enableCompileCache, available on Node.js >= 22.8.0) to speed up CLI startup (by @bjohansebas in #4818)CLIPlugin dynamic import interop under Bun (by @alexander-akait in #4799)feat: allow webpack-dev-server v6 as an optional peer dependency (^5.0.0 || ^6.0.0) (by @bjohansebas in #4793)
Support tsx as a fallback loader for TypeScript and JSX configuration files (.ts, .tsx, .cts, .mts and .jsx), used when none of the loaders known to interpret (such as ts-node) are installed. (by @alexander-akait in #4796)
feat(cli): refresh the --help output using commander's configureHelp API — branded headers, section dividers, colorized terms and a clearer footer. Colors and chrome collapse to plain text when output is piped or --no-color is used, so scripts keep working. (by @alexander-akait in #4779)
feat: support .json5, .yaml/.yml and .toml configuration files by parsing them directly, with the parser package (json5, js-yaml, toml) installed on demand by the user and declared as optional peerDependencies so the parsers resolve correctly under Yarn PnP (by @alexander-akait in #4777)
Improved CLI startup performance and reduced memory usage. (by @alexander-akait in #4765)
Reduced CLI startup CPU and memory usage by caching schema-derived argument metadata, registering only the options present in the arguments, and reading config directories once during default-config discovery. (by @alexander-akait in #4760)
Replace the fastest-levenshtein dependency with a small in-tree implementation used for command/option "did you mean" suggestions. (by @alexander-akait in #4762)
Use default logic to determine the host for webpack-dev-server. (by @ThierryRakotomanana in #4715)
Generate webpack.config.ts instead of webpack.config.js when TypeScript is selected. (by @ThierryRakotomanana in #4723)
file protocol for configuration options (--config/--extends) is supported. (by @alexander-akait in #4702)The minimum supported version of Node.js is 20.9.0. (by @alexander-akait in #4677)
Use dynamic import to load webpack.config.js, fallback to interpret only when configuration can't be load by dynamic import. Using dynamic imports allows you to take advantage of Node.js's built-in TypeScript support. (by @alexander-akait in #4677)
Removed the --node-env argument in favor of the --config-node-env argument. (by @alexander-akait in #4677)
The version command only output versions right now. (by @alexander-akait in #4677)
Removed deprecated API, no action required unless you use import cli from "webpack-cli";/const cli = require("webpack-cli");. (by @alexander-akait in #4677)
Allow configuration freezing. (by @alexander-akait in #4677)
Use graceful shutdown when file system cache is enabled. (by @alexander-akait in #4677)
Performance improved. (by @alexander-akait in #4677)