diff --git a/.changeset/dev-server-6-plugin.md b/.changeset/dev-server-6-plugin.md new file mode 100644 index 00000000000..b78cde20cc1 --- /dev/null +++ b/.changeset/dev-server-6-plugin.md @@ -0,0 +1,5 @@ +--- +"webpack-cli": minor +--- + +feat: add support for `webpack-dev-server@6`. When v6 is installed, `webpack serve` runs the dev server as a compiler plugin: the CLI drives the compilation in watch mode, prints the build stats itself and owns graceful shutdown (`SIGINT`/`SIGTERM` close the compiler, which stops the server through its `shutdown` hook), and port conflicts between multiple `devServer` configurations are reported before any server starts listening. `webpack-dev-server@5` keeps working through its own compilation flow. diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml index 123efbc6943..05cd6a6a91d 100644 --- a/.github/workflows/nodejs.yml +++ b/.github/workflows/nodejs.yml @@ -63,7 +63,7 @@ jobs: os: [ubuntu-latest, windows-latest, macos-latest] node-version: [20.x, 22.x, 24.x, 25.x] webpack-version: [latest] - dev-server-version: [latest] + dev-server-version: [5, latest] steps: - name: Checkout code @@ -85,6 +85,10 @@ jobs: - name: Install dependencies run: npm ci --ignore-scripts + - name: Install webpack-dev-server ${{ matrix.dev-server-version }} + if: matrix.dev-server-version == '5' + run: npm install webpack-dev-server@${{ matrix.dev-server-version }} --no-save --ignore-scripts + - name: Prepare environment for tests run: npm run build -- --sourceMap true diff --git a/.prettierignore b/.prettierignore index d9e48ba2fd2..74f76e5d54c 100644 --- a/.prettierignore +++ b/.prettierignore @@ -11,6 +11,7 @@ test/build/config/error-commonjs/syntax-error.js test/build/config/error-array/webpack.config.js test/build/config/error-mjs/syntax-error.mjs test/configtest/with-config-path/syntax-error.config.js +test/serve/error-handling/src/syntax-error.js test/build/build-errors/stats.json /.nx/workspace-data \ No newline at end of file diff --git a/eslint.config.mjs b/eslint.config.mjs index 960d43d6927..e982dce2c04 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -16,6 +16,7 @@ export default defineConfig([ "test/build/config-format/esm-require-await/webpack.config.js", "test/configtest/with-config-path/syntax-error.config.js", "test/build/config-format/auto/webpack.config.js", + "test/serve/error-handling/src/syntax-error.js", ]), { extends: [config], diff --git a/package-lock.json b/package-lock.json index 9bfd24927b7..e11946e839e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -49,7 +49,7 @@ "typescript": "^6.0.3", "webpack": "^5.107.2", "webpack-bundle-analyzer": "^5.3.0", - "webpack-dev-server": "^5.2.5" + "webpack-dev-server": "^6.0.0" }, "engines": { "node": ">=20.9.0" @@ -5387,14 +5387,14 @@ } }, "node_modules/@jsonjoy.com/fs-core": { - "version": "4.56.11", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-core/-/fs-core-4.56.11.tgz", - "integrity": "sha512-wThHjzUp01ImIjfCwhs+UnFkeGPFAymwLEkOtenHewaKe2pTP12p6r1UuwikA9NEvNf9Vlck92r8fb8n/MWM5w==", + "version": "4.57.8", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-core/-/fs-core-4.57.8.tgz", + "integrity": "sha512-YzVbwggV9452VCeHgo0bjsTaUt1O7JE0XpEsPar93nn/+RAwXk0mb1Y+f5EDJ3TRtRCFe+Ck5RuojdfB4jeHVw==", "devOptional": true, "license": "Apache-2.0", "dependencies": { - "@jsonjoy.com/fs-node-builtins": "4.56.11", - "@jsonjoy.com/fs-node-utils": "4.56.11", + "@jsonjoy.com/fs-node-builtins": "4.57.8", + "@jsonjoy.com/fs-node-utils": "4.57.8", "thingies": "^2.5.0" }, "engines": { @@ -5409,15 +5409,15 @@ } }, "node_modules/@jsonjoy.com/fs-fsa": { - "version": "4.56.11", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-fsa/-/fs-fsa-4.56.11.tgz", - "integrity": "sha512-ZYlF3XbMayyp97xEN8ZvYutU99PCHjM64mMZvnCseXkCJXJDVLAwlF8Q/7q/xiWQRsv3pQBj1WXHd9eEyYcaCQ==", + "version": "4.57.8", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-fsa/-/fs-fsa-4.57.8.tgz", + "integrity": "sha512-vmClyvCQMxgqz7uamDiGtRfp4MjzOznk3pcQjCxlIwJcw7TWeyr+bF30hI0x8NxdtNOGMg1pHM74VDIXOeyjuw==", "devOptional": true, "license": "Apache-2.0", "dependencies": { - "@jsonjoy.com/fs-core": "4.56.11", - "@jsonjoy.com/fs-node-builtins": "4.56.11", - "@jsonjoy.com/fs-node-utils": "4.56.11", + "@jsonjoy.com/fs-core": "4.57.8", + "@jsonjoy.com/fs-node-builtins": "4.57.8", + "@jsonjoy.com/fs-node-utils": "4.57.8", "thingies": "^2.5.0" }, "engines": { @@ -5432,17 +5432,17 @@ } }, "node_modules/@jsonjoy.com/fs-node": { - "version": "4.56.11", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-node/-/fs-node-4.56.11.tgz", - "integrity": "sha512-D65YrnP6wRuZyEWoSFnBJSr5zARVpVBGctnhie4rCsMuGXNzX7IHKaOt85/Aj7SSoG1N2+/xlNjWmkLvZ2H3Tg==", + "version": "4.57.8", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-node/-/fs-node-4.57.8.tgz", + "integrity": "sha512-IPEOlDYSnTDYpjQlQg2F8h+eqxKQN3sdbroI0WrteRiQZ462HzVpBo9ZZX485njz4nAacoe3fd4iDiIhk+k5Hg==", "devOptional": true, "license": "Apache-2.0", "dependencies": { - "@jsonjoy.com/fs-core": "4.56.11", - "@jsonjoy.com/fs-node-builtins": "4.56.11", - "@jsonjoy.com/fs-node-utils": "4.56.11", - "@jsonjoy.com/fs-print": "4.56.11", - "@jsonjoy.com/fs-snapshot": "4.56.11", + "@jsonjoy.com/fs-core": "4.57.8", + "@jsonjoy.com/fs-node-builtins": "4.57.8", + "@jsonjoy.com/fs-node-utils": "4.57.8", + "@jsonjoy.com/fs-print": "4.57.8", + "@jsonjoy.com/fs-snapshot": "4.57.8", "glob-to-regex.js": "^1.0.0", "thingies": "^2.5.0" }, @@ -5458,9 +5458,9 @@ } }, "node_modules/@jsonjoy.com/fs-node-builtins": { - "version": "4.56.11", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-node-builtins/-/fs-node-builtins-4.56.11.tgz", - "integrity": "sha512-CNmt3a0zMCIhniFLXtzPWuUxXFU+U+2VyQiIrgt/rRVeEJNrMQUABaRbVxR0Ouw1LyR9RjaEkPM6nYpED+y43A==", + "version": "4.57.8", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-node-builtins/-/fs-node-builtins-4.57.8.tgz", + "integrity": "sha512-mxXSXw8zZwRVakcjLqR2I/psy4gURFSASZS10kKJ2kJw05GC2nXGroGrWVHxwgkxXgQLsFQnB74QaLzsxzdL/w==", "devOptional": true, "license": "Apache-2.0", "engines": { @@ -5475,15 +5475,15 @@ } }, "node_modules/@jsonjoy.com/fs-node-to-fsa": { - "version": "4.56.11", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-node-to-fsa/-/fs-node-to-fsa-4.56.11.tgz", - "integrity": "sha512-5OzGdvJDgZVo+xXWEYo72u81zpOWlxlbG4d4nL+hSiW+LKlua/dldNgPrpWxtvhgyntmdFQad2UTxFyGjJAGhA==", + "version": "4.57.8", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-node-to-fsa/-/fs-node-to-fsa-4.57.8.tgz", + "integrity": "sha512-AWZcT/4+H+iDl4XCukbXrarvwEgOrf/prFI5/7eg4ix9FxqVsZysIDJd1Kjd+AjlCeHKHJOaRqjLd5HiGSCJEw==", "devOptional": true, "license": "Apache-2.0", "dependencies": { - "@jsonjoy.com/fs-fsa": "4.56.11", - "@jsonjoy.com/fs-node-builtins": "4.56.11", - "@jsonjoy.com/fs-node-utils": "4.56.11" + "@jsonjoy.com/fs-fsa": "4.57.8", + "@jsonjoy.com/fs-node-builtins": "4.57.8", + "@jsonjoy.com/fs-node-utils": "4.57.8" }, "engines": { "node": ">=10.0" @@ -5497,13 +5497,13 @@ } }, "node_modules/@jsonjoy.com/fs-node-utils": { - "version": "4.56.11", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-node-utils/-/fs-node-utils-4.56.11.tgz", - "integrity": "sha512-JADOZFDA3wRfsuxkT0+MYc4F9hJO2PYDaY66kRTG6NqGX3+bqmKu66YFYAbII/tEmQWPZeHoClUB23rtQM9UPg==", + "version": "4.57.8", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-node-utils/-/fs-node-utils-4.57.8.tgz", + "integrity": "sha512-E/bJ7sQAb4pu9nbeJhbULU3WnqWrswte4N9Js/oHt7aHB746S8/XBqKlcbrqIgnD3095XluovNEZuu5ONT230g==", "devOptional": true, "license": "Apache-2.0", "dependencies": { - "@jsonjoy.com/fs-node-builtins": "4.56.11" + "@jsonjoy.com/fs-node-builtins": "4.57.8" }, "engines": { "node": ">=10.0" @@ -5517,13 +5517,13 @@ } }, "node_modules/@jsonjoy.com/fs-print": { - "version": "4.56.11", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-print/-/fs-print-4.56.11.tgz", - "integrity": "sha512-rnaKRgCRIn8JGTjxhS0JPE38YM3Pj/H7SW4/tglhIPbfKEkky7dpPayNKV2qy25SZSL15oFVgH/62dMZ/z7cyA==", + "version": "4.57.8", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-print/-/fs-print-4.57.8.tgz", + "integrity": "sha512-DfzhOBpmvNu5P/KSe4NNQaOnvNliTdcf0qrh/4EReErF/XUQXYkd0vZl/OiJCm/qjEEo8DWRstliw2/JNS84dA==", "devOptional": true, "license": "Apache-2.0", "dependencies": { - "@jsonjoy.com/fs-node-utils": "4.56.11", + "@jsonjoy.com/fs-node-utils": "4.57.8", "tree-dump": "^1.1.0" }, "engines": { @@ -5538,14 +5538,14 @@ } }, "node_modules/@jsonjoy.com/fs-snapshot": { - "version": "4.56.11", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-snapshot/-/fs-snapshot-4.56.11.tgz", - "integrity": "sha512-IIldPX+cIRQuUol9fQzSS3hqyECxVpYMJQMqdU3dCKZFRzEl1rkIkw4P6y7Oh493sI7YdxZlKr/yWdzEWZ1wGQ==", + "version": "4.57.8", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-snapshot/-/fs-snapshot-4.57.8.tgz", + "integrity": "sha512-L+eqKaWOHLDaiMv1dh/EWQ4hA+o6xAhWSumTo3Teg7OM18jU/KE13/e8Mfal+eAZ/pSl4wIhKHcDiwapJzC8Wg==", "devOptional": true, "license": "Apache-2.0", "dependencies": { "@jsonjoy.com/buffers": "^17.65.0", - "@jsonjoy.com/fs-node-utils": "4.56.11", + "@jsonjoy.com/fs-node-utils": "4.57.8", "@jsonjoy.com/json-pack": "^17.65.0", "@jsonjoy.com/util": "^17.65.0" }, @@ -6976,22 +6976,21 @@ "license": "MIT" }, "node_modules/@types/express": { - "version": "4.17.25", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.25.tgz", - "integrity": "sha512-dVd04UKsfpINUnK0yBoYHDF3xu7xVH4BuDotC/xGuycx4CgbP48X/KF/586bcObxT0HENHXEU8Nqtu6NR+eKhw==", + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/@types/express/-/express-5.0.6.tgz", + "integrity": "sha512-sKYVuV7Sv9fbPIt/442koC7+IIwK5olP1KWeD88e/idgoJqDm3JV/YUiPwkoKK92ylff2MGxSz1CSjsXelx0YA==", "devOptional": true, "license": "MIT", "dependencies": { "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.33", - "@types/qs": "*", - "@types/serve-static": "^1" + "@types/express-serve-static-core": "^5.0.0", + "@types/serve-static": "^2" } }, "node_modules/@types/express-serve-static-core": { - "version": "4.19.8", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.8.tgz", - "integrity": "sha512-02S5fmqeoKzVZCHPZid4b8JH2eM5HzQLZWN2FohQEy/0eXTq8VXZfSN6Pcr3F6N9R/vNrj7cpgbhjie6m/1tCA==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.1.1.tgz", + "integrity": "sha512-v4zIMr/cX7/d2BpAEX3KNKL/JrT1s43s96lLvvdTmza1oEvDudCqK9aF/djc/SWgy8Yh0h30TZx5VpzqFCxk5A==", "devOptional": true, "license": "MIT", "dependencies": { @@ -7025,16 +7024,6 @@ "devOptional": true, "license": "MIT" }, - "node_modules/@types/http-proxy": { - "version": "1.17.17", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.17.tgz", - "integrity": "sha512-ED6LB+Z1AVylNTu7hdzuBqOgMnvG/ld6wGCG8wFnAzKX5uyW2K3WD52v0gnLCTK/VLpXtKckgWuyScYK6cSPaw==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, "node_modules/@types/inquirer": { "version": "9.0.9", "resolved": "https://registry.npmjs.org/@types/inquirer/-/inquirer-9.0.9.tgz", @@ -7137,13 +7126,6 @@ "@types/unist": "*" } }, - "node_modules/@types/mime": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", - "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", - "devOptional": true, - "license": "MIT" - }, "node_modules/@types/ms": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", @@ -7190,13 +7172,6 @@ "@types/interpret": "*" } }, - "node_modules/@types/retry": { - "version": "0.12.2", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.2.tgz", - "integrity": "sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==", - "devOptional": true, - "license": "MIT" - }, "node_modules/@types/send": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@types/send/-/send-1.2.1.tgz", @@ -7218,35 +7193,13 @@ } }, "node_modules/@types/serve-static": { - "version": "1.15.10", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.10.tgz", - "integrity": "sha512-tRs1dB+g8Itk72rlSI2ZrW6vZg0YrLI81iQSTkMmOqnqCaNr/8Ek4VwWcN5vZgCYWbg/JJSGBlUaYGAOP73qBw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-2.2.0.tgz", + "integrity": "sha512-8mam4H1NHLtu7nmtalF7eyBH14QyOASmcxHhSfEoRyr0nP/YdoesEtU+uSRvMe96TW/HPTtkoKqQLl53N7UXMQ==", "devOptional": true, "license": "MIT", "dependencies": { "@types/http-errors": "*", - "@types/node": "*", - "@types/send": "<1" - } - }, - "node_modules/@types/serve-static/node_modules/@types/send": { - "version": "0.17.6", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.6.tgz", - "integrity": "sha512-Uqt8rPBE8SY0RK8JB1EzVOIZ32uqy8HwdxCnoCOsYrvnswqmFZ/k+9Ikidlk/ImhsdvBsloHbAlewb2IEBV/Og==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "@types/mime": "^1", - "@types/node": "*" - } - }, - "node_modules/@types/sockjs": { - "version": "0.3.36", - "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz", - "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==", - "devOptional": true, - "license": "MIT", - "dependencies": { "@types/node": "*" } }, @@ -8237,7 +8190,7 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "devOptional": true, + "dev": true, "license": "ISC", "dependencies": { "normalize-path": "^3.0.0", @@ -8251,7 +8204,7 @@ "version": "2.3.2", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">=8.6" @@ -8281,7 +8234,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true, + "devOptional": true, "license": "Python-2.0" }, "node_modules/array-buffer-byte-length": { @@ -8301,13 +8254,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", - "devOptional": true, - "license": "MIT" - }, "node_modules/array-includes": { "version": "3.1.9", "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.9.tgz", @@ -8971,19 +8917,6 @@ "node": ">=4" } }, - "node_modules/binary-extensions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", - "devOptional": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/bl": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", @@ -9034,60 +8967,44 @@ } }, "node_modules/body-parser": { - "version": "1.20.5", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.5.tgz", - "integrity": "sha512-3grm+/2tUOvu2cjJkvsIxrv/wVpfXQW4PsQHYm7yk4vfpu7Ekl6nEsYBoJUL6qDwZUx8wUhQ8tR2qz+ad9c9OA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.3.0.tgz", + "integrity": "sha512-2cGmJupaNgg+QUwVLAucDuWuoMZ6EX9iHDRswZ5lsNYEmwPaRknMPCLZz07yTzVq/83p4o/wzbDZbBrTvGGTIw==", "devOptional": true, "license": "MIT", "dependencies": { - "bytes": "~3.1.2", - "content-type": "~1.0.5", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "~1.2.0", - "http-errors": "~2.0.1", - "iconv-lite": "~0.4.24", - "on-finished": "~2.4.1", - "qs": "~6.15.1", - "raw-body": "~2.5.3", - "type-is": "~1.6.18", - "unpipe": "~1.0.0" + "bytes": "^3.1.2", + "content-type": "^2.0.0", + "debug": "^4.4.3", + "http-errors": "^2.0.1", + "iconv-lite": "^0.7.2", + "on-finished": "^2.4.1", + "qs": "^6.15.2", + "raw-body": "^3.0.2", + "type-is": "^2.1.0" }, "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/body-parser/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/body-parser/node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "node_modules/body-parser/node_modules/content-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-2.0.0.tgz", + "integrity": "sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==", "devOptional": true, "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, "engines": { - "node": ">=0.10.0" + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/body-parser/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "devOptional": true, - "license": "MIT" - }, "node_modules/bonjour-service": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.3.0.tgz", @@ -9593,7 +9510,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz", "integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "readdirp": "^5.0.0" @@ -10038,16 +9955,17 @@ } }, "node_modules/content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.1.0.tgz", + "integrity": "sha512-5jRCH9Z/+DRP7rkvY83B+yGIGX96OYdJmzngqnw2SBSxqCFPd0w2km3s5iawpGX8krnwSGmF0FW5Nhr0Hfai3g==", "devOptional": true, "license": "MIT", - "dependencies": { - "safe-buffer": "5.2.1" - }, "engines": { - "node": ">= 0.6" + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/content-type": { @@ -10078,11 +9996,14 @@ } }, "node_modules/cookie-signature": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz", - "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz", + "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==", "devOptional": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=6.6.0" + } }, "node_modules/core-js-compat": { "version": "3.49.0", @@ -10098,13 +10019,6 @@ "url": "https://opencollective.com/core-js" } }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "devOptional": true, - "license": "MIT" - }, "node_modules/create-require": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", @@ -10744,17 +10658,6 @@ "node": ">=6" } }, - "node_modules/destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", - "devOptional": true, - "license": "MIT", - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, "node_modules/detect-indent": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", @@ -10786,13 +10689,6 @@ "node": ">=8" } }, - "node_modules/detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", - "devOptional": true, - "license": "MIT" - }, "node_modules/devlop": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", @@ -12375,68 +12271,99 @@ } }, "node_modules/express": { - "version": "4.22.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.22.2.tgz", - "integrity": "sha512-IuL+Elrou2ZvCFHs18/CIzy2Nzvo25nZ1/D2eIZlz7c+QUayAcYoiM2BthCjs+EBHVpjYjcuLDAiCWgeIX3X1Q==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/express/-/express-5.2.1.tgz", + "integrity": "sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==", "devOptional": true, "license": "MIT", "dependencies": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "~1.20.5", - "content-disposition": "~0.5.4", - "content-type": "~1.0.4", - "cookie": "~0.7.1", - "cookie-signature": "~1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "~1.3.1", - "fresh": "~0.5.2", - "http-errors": "~2.0.0", - "merge-descriptors": "1.0.3", - "methods": "~1.1.2", - "on-finished": "~2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "~0.1.12", - "proxy-addr": "~2.0.7", - "qs": "~6.15.1", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "~0.19.0", - "serve-static": "~1.16.2", - "setprototypeof": "1.2.0", - "statuses": "~2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" + "accepts": "^2.0.0", + "body-parser": "^2.2.1", + "content-disposition": "^1.0.0", + "content-type": "^1.0.5", + "cookie": "^0.7.1", + "cookie-signature": "^1.2.1", + "debug": "^4.4.0", + "depd": "^2.0.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "finalhandler": "^2.1.0", + "fresh": "^2.0.0", + "http-errors": "^2.0.0", + "merge-descriptors": "^2.0.0", + "mime-types": "^3.0.0", + "on-finished": "^2.4.1", + "once": "^1.4.0", + "parseurl": "^1.3.3", + "proxy-addr": "^2.0.7", + "qs": "^6.14.0", + "range-parser": "^1.2.1", + "router": "^2.2.0", + "send": "^1.1.0", + "serve-static": "^2.2.0", + "statuses": "^2.0.1", + "type-is": "^2.0.1", + "vary": "^1.1.2" }, "engines": { - "node": ">= 0.10.0" + "node": ">= 18" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/express" } }, - "node_modules/express/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/express/node_modules/accepts": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz", + "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==", "devOptional": true, "license": "MIT", "dependencies": { - "ms": "2.0.0" + "mime-types": "^3.0.0", + "negotiator": "^1.0.0" + }, + "engines": { + "node": ">= 0.6" } }, - "node_modules/express/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "node_modules/express/node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", "devOptional": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express/node_modules/mime-types": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz", + "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "mime-db": "^1.54.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/express/node_modules/negotiator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", + "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } }, "node_modules/extendable-error": { "version": "0.1.7", @@ -12576,19 +12503,6 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/faye-websocket": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", - "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", - "devOptional": true, - "license": "Apache-2.0", - "dependencies": { - "websocket-driver": ">=0.5.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/fb-watchman": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", @@ -12659,41 +12573,27 @@ } }, "node_modules/finalhandler": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.2.tgz", - "integrity": "sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.1.tgz", + "integrity": "sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==", "devOptional": true, "license": "MIT", "dependencies": { - "debug": "2.6.9", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "on-finished": "~2.4.1", - "parseurl": "~1.3.3", - "statuses": "~2.0.2", - "unpipe": "~1.0.0" + "debug": "^4.4.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "on-finished": "^2.4.1", + "parseurl": "^1.3.3", + "statuses": "^2.0.1" }, "engines": { - "node": ">= 0.8" - } - }, - "node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" + "node": ">= 18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "devOptional": true, - "license": "MIT" - }, "node_modules/find-up": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", @@ -12750,27 +12650,6 @@ "dev": true, "license": "ISC" }, - "node_modules/follow-redirects": { - "version": "1.16.0", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.16.0.tgz", - "integrity": "sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==", - "devOptional": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "license": "MIT", - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, "node_modules/for-each": { "version": "0.3.5", "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", @@ -12824,13 +12703,13 @@ } }, "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz", + "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==", "devOptional": true, "license": "MIT", "engines": { - "node": ">= 0.6" + "node": ">= 0.8" } }, "node_modules/fs-extra": { @@ -13290,13 +13169,6 @@ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", "license": "ISC" }, - "node_modules/handle-thing": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", - "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", - "devOptional": true, - "license": "MIT" - }, "node_modules/handlebars": { "version": "4.7.9", "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.9.tgz", @@ -13427,59 +13299,6 @@ "hermes-estree": "0.25.1" } }, - "node_modules/hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - } - }, - "node_modules/hpack.js/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "devOptional": true, - "license": "MIT" - }, - "node_modules/hpack.js/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/hpack.js/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "devOptional": true, - "license": "MIT" - }, - "node_modules/hpack.js/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/html-entities": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.6.0.tgz", @@ -13504,13 +13323,6 @@ "dev": true, "license": "MIT" }, - "node_modules/http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", - "devOptional": true, - "license": "MIT" - }, "node_modules/http-errors": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", @@ -13532,70 +13344,27 @@ "url": "https://opencollective.com/express" } }, - "node_modules/http-parser-js": { - "version": "0.5.10", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.10.tgz", - "integrity": "sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA==", - "devOptional": true, - "license": "MIT" - }, - "node_modules/http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "node_modules/http-proxy-middleware": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-4.1.1.tgz", + "integrity": "sha512-KX5ZofGXLFXqFAkQoOWZ+rTtaLTut7m0gyL+QzJrdejtIZ+F4bPPDoe7reISg2+v0CAz5OfVwEJEhty7X+e57g==", "devOptional": true, "license": "MIT", "dependencies": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/http-proxy-middleware": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.9.tgz", - "integrity": "sha512-c1IyJYLYppU574+YI7R4QyX2ystMtVXZwIdzazUIPIJsHuWNd+mho2j+bKoHftndicGj9yh+xjd+l0yj7VeT1Q==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "@types/http-proxy": "^1.17.8", - "http-proxy": "^1.18.1", - "is-glob": "^4.0.1", - "is-plain-obj": "^3.0.0", - "micromatch": "^4.0.2" + "debug": "^4.4.3", + "httpxy": "^0.5.3", + "is-glob": "^4.0.3", + "is-plain-obj": "^4.1.0", + "micromatch": "^4.0.8" }, "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "@types/express": "^4.17.13" - }, - "peerDependenciesMeta": { - "@types/express": { - "optional": true - } + "node": "^22.15.0 || ^24.0.0 || >=26.0.0" } }, - "node_modules/http-proxy-middleware/node_modules/is-plain-obj": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", - "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", - "devOptional": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/http-proxy/node_modules/eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "node_modules/httpxy": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/httpxy/-/httpxy-0.5.4.tgz", + "integrity": "sha512-URfeibL0kTH6VuIxxaJDXWQWEk8fKr+9L8MGv6CuAiNy0fGnoVhWbXBvJR1mkdsvCDUxvhX9cW60k2AhtH5s6w==", "devOptional": true, "license": "MIT" }, @@ -14011,19 +13780,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/is-boolean-object": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz", @@ -14221,6 +13977,19 @@ "node": ">=0.10.0" } }, + "node_modules/is-in-ssh": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-in-ssh/-/is-in-ssh-1.0.0.tgz", + "integrity": "sha512-jYa6Q9rH90kR1vKB6NM7qqd1mge3Fx4Dhw5TVlK1MUBqhEOuCagrEHMevNuCcbECmXZ0ThXkRm+Ymr51HwEPAw==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-inside-container": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", @@ -14276,9 +14045,9 @@ } }, "node_modules/is-network-error": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/is-network-error/-/is-network-error-1.3.1.tgz", - "integrity": "sha512-6QCxa49rQbmUWLfk0nuGqzql9U8uaV2H6279bRErPBHe/109hCzsLUBUHfbEtvLIHBd6hyXbgedBSHevm43Edw==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/is-network-error/-/is-network-error-1.3.2.tgz", + "integrity": "sha512-PhBY86zaxNZUuWP6h13Vu5oFe0XY6/UlKzQnYFELzGVHygP3MxmvTfYSG7GN3aIab/iWudSMgjSnG9Dq+nHrgA==", "devOptional": true, "license": "MIT", "engines": { @@ -14345,7 +14114,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">=12" @@ -14366,6 +14135,13 @@ "node": ">=0.10.0" } }, + "node_modules/is-promise": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", + "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", + "devOptional": true, + "license": "MIT" + }, "node_modules/is-regex": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", @@ -16579,7 +16355,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-5.0.0.tgz", "integrity": "sha512-GSvaPUbk1U+FMZ7rJzF+F8e5YVtu7KnD40et/5rBXXRBv2jCO9L3qCewvIDDdudC0QycTFlf6EAA+h3kxBsuUw==", - "dev": true, + "devOptional": true, "funding": [ { "type": "github", @@ -16653,7 +16429,7 @@ "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, + "devOptional": true, "license": "MIT", "bin": { "json5": "lib/cli.js" @@ -17494,30 +17270,30 @@ } }, "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", + "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==", "devOptional": true, "license": "MIT", "engines": { - "node": ">= 0.6" + "node": ">= 0.8" } }, "node_modules/memfs": { - "version": "4.56.11", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.56.11.tgz", - "integrity": "sha512-/GodtwVeKVIHZKLUSr2ZdOxKBC5hHki4JNCU22DoCGPEHr5o2PD5U721zvESKyWwCfTfavFl9WZYgA13OAYK0g==", + "version": "4.57.8", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.57.8.tgz", + "integrity": "sha512-bApYhn8BLpFAnAQmFfEl/NPN+8qx5Ar3V4Qt3ek23mVwBEElzV7c6XoPkb/PCG8ZFpowCEpHcPwMFTwHS7tSMA==", "devOptional": true, "license": "Apache-2.0", "dependencies": { - "@jsonjoy.com/fs-core": "4.56.11", - "@jsonjoy.com/fs-fsa": "4.56.11", - "@jsonjoy.com/fs-node": "4.56.11", - "@jsonjoy.com/fs-node-builtins": "4.56.11", - "@jsonjoy.com/fs-node-to-fsa": "4.56.11", - "@jsonjoy.com/fs-node-utils": "4.56.11", - "@jsonjoy.com/fs-print": "4.56.11", - "@jsonjoy.com/fs-snapshot": "4.56.11", + "@jsonjoy.com/fs-core": "4.57.8", + "@jsonjoy.com/fs-fsa": "4.57.8", + "@jsonjoy.com/fs-node": "4.57.8", + "@jsonjoy.com/fs-node-builtins": "4.57.8", + "@jsonjoy.com/fs-node-to-fsa": "4.57.8", + "@jsonjoy.com/fs-node-utils": "4.57.8", + "@jsonjoy.com/fs-print": "4.57.8", + "@jsonjoy.com/fs-snapshot": "4.57.8", "@jsonjoy.com/json-pack": "^1.11.0", "@jsonjoy.com/util": "^1.9.0", "glob-to-regex.js": "^1.0.1", @@ -17547,11 +17323,14 @@ } }, "node_modules/merge-descriptors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", - "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz", + "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==", "devOptional": true, "license": "MIT", + "engines": { + "node": ">=18" + }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } @@ -17572,16 +17351,6 @@ "node": ">= 8" } }, - "node_modules/methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", - "devOptional": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, "node_modules/micromark": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz", @@ -18237,19 +18006,6 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "devOptional": true, - "license": "MIT", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/mime-db": { "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", @@ -18316,13 +18072,6 @@ "webpack": "^5.0.0" } }, - "node_modules/minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "devOptional": true, - "license": "ISC" - }, "node_modules/minimatch": { "version": "3.1.5", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", @@ -18628,7 +18377,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -18794,13 +18543,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", - "devOptional": true, - "license": "MIT" - }, "node_modules/obug": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/obug/-/obug-2.1.3.tgz", @@ -18842,7 +18584,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, + "devOptional": true, "license": "ISC", "dependencies": { "wrappy": "1" @@ -18865,19 +18607,21 @@ } }, "node_modules/open": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/open/-/open-10.2.0.tgz", - "integrity": "sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==", + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/open/-/open-11.0.0.tgz", + "integrity": "sha512-smsWv2LzFjP03xmvFoJ331ss6h+jixfA4UUV/Bsiyuu4YJPfN+FIQGOIiv4w9/+MoHkfkJ22UIaQWRVFRfH6Vw==", "devOptional": true, "license": "MIT", "dependencies": { - "default-browser": "^5.2.1", + "default-browser": "^5.4.0", "define-lazy-prop": "^3.0.0", + "is-in-ssh": "^1.0.0", "is-inside-container": "^1.0.0", - "wsl-utils": "^0.1.0" + "powershell-utils": "^0.1.0", + "wsl-utils": "^0.3.0" }, "engines": { - "node": ">=18" + "node": ">=20" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -19128,18 +18872,16 @@ } }, "node_modules/p-retry": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-6.2.1.tgz", - "integrity": "sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-8.0.0.tgz", + "integrity": "sha512-kFVqH1HxOHp8LupNsOys7bSV09VYTRLxarH/mokO4Rqhk6wGi70E0jh4VzvVGXfEVNggHoHLAMWsQqHyU1Ey9A==", "devOptional": true, "license": "MIT", "dependencies": { - "@types/retry": "0.12.2", - "is-network-error": "^1.0.0", - "retry": "^0.13.1" + "is-network-error": "^1.3.0" }, "engines": { - "node": ">=16.17" + "node": ">=22" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -19289,11 +19031,15 @@ "license": "ISC" }, "node_modules/path-to-regexp": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.13.tgz", - "integrity": "sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA==", + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.4.2.tgz", + "integrity": "sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA==", "devOptional": true, - "license": "MIT" + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } }, "node_modules/path-type": { "version": "4.0.0", @@ -19494,6 +19240,19 @@ "dev": true, "license": "MIT" }, + "node_modules/powershell-utils": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/powershell-utils/-/powershell-utils-0.1.0.tgz", + "integrity": "sha512-dM0jVuXJPsDN6DvRpea484tCUaMiXWjuCn++HGTqUWzGDjv5tZkEZldAJ/UMlqRYGFrD/etByo4/xOuC/snX2A==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -19588,13 +19347,6 @@ "node": ">= 0.6.0" } }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "devOptional": true, - "license": "MIT" - }, "node_modules/prop-types": { "version": "15.8.1", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", @@ -19686,13 +19438,14 @@ } }, "node_modules/qs": { - "version": "6.15.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.2.tgz", - "integrity": "sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw==", + "version": "6.15.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.3.tgz", + "integrity": "sha512-O9gl3zCl5h5blw1KGUzQKhA5oUXSl8rwUIM5o0S3nCXMliSvy5Dzx7/DJcI+SwgICv+IneSZwhBh1oSyEHA71A==", "devOptional": true, "license": "BSD-3-Clause", "dependencies": { - "side-channel": "^1.1.0" + "es-define-property": "^1.0.1", + "side-channel": "^1.1.1" }, "engines": { "node": ">=0.6" @@ -19740,42 +19493,33 @@ "license": "MIT" }, "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.3.0.tgz", + "integrity": "sha512-hek2mFQpPuI4E1BBKrSto+BU3e3x4xuarsbiwr3+lf7p44juvFMV0XFWQAP3xUyqXA4RrXLIoaSUGbSt056ZMw==", "devOptional": true, "license": "MIT", "engines": { "node": ">= 0.6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/raw-body": { - "version": "2.5.3", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz", - "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.2.tgz", + "integrity": "sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==", "devOptional": true, "license": "MIT", "dependencies": { "bytes": "~3.1.2", "http-errors": "~2.0.1", - "iconv-lite": "~0.4.24", + "iconv-lite": "~0.7.0", "unpipe": "~1.0.0" }, "engines": { - "node": ">= 0.8" - } - }, - "node_modules/raw-body/node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" + "node": ">= 0.10" } }, "node_modules/react-is-18": { @@ -19865,7 +19609,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.0.0.tgz", "integrity": "sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">= 20.19.0" @@ -20025,13 +19769,6 @@ "node": ">=0.10.0" } }, - "node_modules/requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", - "devOptional": true, - "license": "MIT" - }, "node_modules/reserved-identifiers": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/reserved-identifiers/-/reserved-identifiers-1.2.0.tgz", @@ -20113,16 +19850,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/retry": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", - "devOptional": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, "node_modules/reusify": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", @@ -20141,6 +19868,23 @@ "dev": true, "license": "MIT" }, + "node_modules/router": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz", + "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "depd": "^2.0.0", + "is-promise": "^4.0.0", + "parseurl": "^1.3.3", + "path-to-regexp": "^8.0.0" + }, + "engines": { + "node": ">= 18" + } + }, "node_modules/run-applescript": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.1.0.tgz", @@ -20385,13 +20129,6 @@ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "license": "MIT" }, - "node_modules/select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", - "devOptional": true, - "license": "MIT" - }, "node_modules/selfsigned": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-5.5.0.tgz", @@ -20417,46 +20154,58 @@ } }, "node_modules/send": { - "version": "0.19.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.19.2.tgz", - "integrity": "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/send/-/send-1.2.1.tgz", + "integrity": "sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==", "devOptional": true, "license": "MIT", "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "~0.5.2", - "http-errors": "~2.0.1", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "~2.4.1", - "range-parser": "~1.2.1", - "statuses": "~2.0.2" + "debug": "^4.4.3", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "fresh": "^2.0.0", + "http-errors": "^2.0.1", + "mime-types": "^3.0.2", + "ms": "^2.1.3", + "on-finished": "^2.4.1", + "range-parser": "^1.2.1", + "statuses": "^2.0.2" }, "engines": { - "node": ">= 0.8.0" + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/send/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/send/node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", "devOptional": true, "license": "MIT", - "dependencies": { - "ms": "2.0.0" + "engines": { + "node": ">= 0.6" } }, - "node_modules/send/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "node_modules/send/node_modules/mime-types": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz", + "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", "devOptional": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "mime-db": "^1.54.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } }, "node_modules/serve-index": { "version": "1.9.2", @@ -20536,19 +20285,23 @@ } }, "node_modules/serve-static": { - "version": "1.16.3", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.3.tgz", - "integrity": "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.1.tgz", + "integrity": "sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==", "devOptional": true, "license": "MIT", "dependencies": { - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "~0.19.1" + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "parseurl": "^1.3.3", + "send": "^1.2.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/set-function-length": { @@ -20654,15 +20407,15 @@ } }, "node_modules/side-channel": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", - "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.1.tgz", + "integrity": "sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==", "devOptional": true, "license": "MIT", "dependencies": { "es-errors": "^1.3.0", - "object-inspect": "^1.13.3", - "side-channel-list": "^1.0.0", + "object-inspect": "^1.13.4", + "side-channel-list": "^1.0.1", "side-channel-map": "^1.0.1", "side-channel-weakmap": "^1.0.2" }, @@ -20674,14 +20427,14 @@ } }, "node_modules/side-channel-list": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", - "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz", + "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==", "devOptional": true, "license": "MIT", "dependencies": { "es-errors": "^1.3.0", - "object-inspect": "^1.13.3" + "object-inspect": "^1.13.4" }, "engines": { "node": ">= 0.4" @@ -20812,18 +20565,6 @@ "url": "https://github.com/sponsors/cyyynthia" } }, - "node_modules/sockjs": { - "version": "0.3.24", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", - "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "faye-websocket": "^0.11.3", - "uuid": "^8.3.2", - "websocket-driver": "^0.7.4" - } - }, "node_modules/sort-object-keys": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/sort-object-keys/-/sort-object-keys-2.1.0.tgz", @@ -20957,53 +20698,6 @@ "dev": true, "license": "CC0-1.0" }, - "node_modules/spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" - } - }, - "node_modules/spdy-transport/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", @@ -21649,9 +21343,9 @@ } }, "node_modules/thingies": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/thingies/-/thingies-2.5.0.tgz", - "integrity": "sha512-s+2Bwztg6PhWUD7XMfeYm5qliDdSiZm7M7n8KjTkIsm3l/2lgVRc2/Gx/v+ZX8lT4FMA+i8aQvhcWylldc+ZNw==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/thingies/-/thingies-2.6.0.tgz", + "integrity": "sha512-rMHRjmlFLM1R96UYPvpmnc3LYtdFrT33JIB7L9hetGue1qAPfn1N2LJeEjxUSidu1Iku+haLZXDuEXUHNGO/lg==", "devOptional": true, "license": "MIT", "engines": { @@ -22008,19 +21702,65 @@ } }, "node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.1.0.tgz", + "integrity": "sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA==", "devOptional": true, "license": "MIT", "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" + "content-type": "^2.0.0", + "media-typer": "^1.1.0", + "mime-types": "^3.0.0" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/type-is/node_modules/content-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-2.0.0.tgz", + "integrity": "sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=18" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/type-is/node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", + "devOptional": true, + "license": "MIT", "engines": { "node": ">= 0.6" } }, + "node_modules/type-is/node_modules/mime-types": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz", + "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "mime-db": "^1.54.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, "node_modules/typed-array-buffer": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", @@ -22440,26 +22180,6 @@ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "license": "MIT" }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", - "devOptional": true, - "license": "MIT", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "devOptional": true, - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" - } - }, "node_modules/v8-compile-cache-lib": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", @@ -22529,16 +22249,6 @@ "node": ">=10.13.0" } }, - "node_modules/wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "minimalistic-assert": "^1.0.0" - } - }, "node_modules/wcwidth": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", @@ -22651,28 +22361,27 @@ "link": true }, "node_modules/webpack-dev-middleware": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-7.4.5.tgz", - "integrity": "sha512-uxQ6YqGdE4hgDKNf7hUiPXOdtkXvBJXrfEGYSx7P7LC8hnUYGK70X6xQXUvXeNyBDDcsiQXpG2m3G9vxowaEuA==", + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-8.0.3.tgz", + "integrity": "sha512-zWrde9VZDiRaFuWsjHO40wm9LxxtXEk8DdzFXdU7eU5ZpiANnZZDBbZgN3guxbEoKqUHd9YupBmynyioz42nkA==", "devOptional": true, "license": "MIT", "dependencies": { - "colorette": "^2.0.10", - "memfs": "^4.43.1", - "mime-types": "^3.0.1", + "memfs": "^4.56.10", + "mime-types": "^3.0.2", "on-finished": "^2.4.1", "range-parser": "^1.2.1", - "schema-utils": "^4.0.0" + "schema-utils": "^4.3.3" }, "engines": { - "node": ">= 18.12.0" + "node": ">= 20.9.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "webpack": "^5.0.0" + "webpack": "^5.101.0" }, "peerDependenciesMeta": { "webpack": { @@ -22708,53 +22417,50 @@ } }, "node_modules/webpack-dev-server": { - "version": "5.2.5", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-5.2.5.tgz", - "integrity": "sha512-4wZtCquSuv9CKX8oybo+mqxtxZqWz47uM1Ch94lxowBztOhWCbhqvRbfC/mODOwxgV2brY+JGZpHq58/SuVFYg==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-6.0.0.tgz", + "integrity": "sha512-q9SD4ItOGhZLeU6EGT10caDZdHjF50Pz1DtkRZZOPsfluMXOkacWKKOtSBSLVkPqKiF67eFUC0rI88U/tSFPEw==", "devOptional": true, "license": "MIT", "dependencies": { "@types/bonjour": "^3.5.13", "@types/connect-history-api-fallback": "^1.5.4", - "@types/express": "^4.17.25", - "@types/express-serve-static-core": "^4.17.21", + "@types/express": "^5.0.6", + "@types/express-serve-static-core": "^5.1.1", "@types/serve-index": "^1.9.4", - "@types/serve-static": "^1.15.5", - "@types/sockjs": "^0.3.36", - "@types/ws": "^8.5.10", + "@types/serve-static": "^2.2.0", + "@types/ws": "^8.18.1", "ansi-html-community": "^0.0.8", - "bonjour-service": "^1.2.1", - "chokidar": "^3.6.0", - "colorette": "^2.0.10", + "bonjour-service": "^1.3.0", + "chokidar": "^5.0.0", "compression": "^1.8.1", "connect-history-api-fallback": "^2.0.0", - "express": "^4.22.1", - "graceful-fs": "^4.2.6", - "http-proxy-middleware": "^2.0.9", - "ipaddr.js": "^2.1.0", - "launch-editor": "^2.6.1", - "open": "^10.0.3", - "p-retry": "^6.2.0", - "schema-utils": "^4.2.0", + "express": "^5.2.1", + "graceful-fs": "^4.2.11", + "http-proxy-middleware": "^4.1.1", + "ipaddr.js": "^2.3.0", + "launch-editor": "^2.14.1", + "open": "^11.0.0", + "p-retry": "^8.0.0", + "schema-utils": "^4.3.3", "selfsigned": "^5.5.0", - "serve-index": "^1.9.1", - "sockjs": "^0.3.24", - "spdy": "^4.0.2", - "webpack-dev-middleware": "^7.4.2", - "ws": "^8.18.0" + "serve-index": "^1.9.2", + "tinyglobby": "^0.2.15", + "webpack-dev-middleware": "^8.0.3", + "ws": "^8.20.0" }, "bin": { "webpack-dev-server": "bin/webpack-dev-server.js" }, "engines": { - "node": ">= 18.12.0" + "node": ">= 22.15.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "webpack": "^5.0.0" + "webpack": "^5.101.0" }, "peerDependenciesMeta": { "webpack": { @@ -22765,70 +22471,6 @@ } } }, - "node_modules/webpack-dev-server/node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/webpack-dev-server/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "devOptional": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/webpack-dev-server/node_modules/picomatch": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", - "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", - "devOptional": true, - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/webpack-dev-server/node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, "node_modules/webpack-merge": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-6.0.1.tgz", @@ -22883,31 +22525,6 @@ "node": ">= 0.6" } }, - "node_modules/websocket-driver": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", - "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", - "devOptional": true, - "license": "Apache-2.0", - "dependencies": { - "http-parser-js": ">=0.5.1", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/websocket-extensions": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", - "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", - "devOptional": true, - "license": "Apache-2.0", - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/whatwg-url": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", @@ -23163,7 +22780,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true, + "devOptional": true, "license": "ISC" }, "node_modules/write-file-atomic": { @@ -23203,16 +22820,17 @@ } }, "node_modules/wsl-utils": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/wsl-utils/-/wsl-utils-0.1.0.tgz", - "integrity": "sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/wsl-utils/-/wsl-utils-0.3.1.tgz", + "integrity": "sha512-g/eziiSUNBSsdDJtCLB8bdYEUMj4jR7AGeUo96p/3dTafgjHhpF4RiCFPiRILwjQoDXx5MqkBr4fwWtR3Ky4Wg==", "devOptional": true, "license": "MIT", "dependencies": { - "is-wsl": "^3.1.0" + "is-wsl": "^3.1.0", + "powershell-utils": "^0.1.0" }, "engines": { - "node": ">=18" + "node": ">=20" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -23435,7 +23053,7 @@ } }, "packages/webpack-cli": { - "version": "7.0.3", + "version": "7.1.0", "license": "MIT", "dependencies": { "@discoveryjs/json-ext": "^1.1.0", @@ -23461,11 +23079,23 @@ "url": "https://opencollective.com/webpack" }, "peerDependencies": { + "js-yaml": "^4.0.0 || ^5.0.0", + "json5": "^2.2.3", + "toml": "^3.0.0 || ^4.0.0", "webpack": "^5.101.0", "webpack-bundle-analyzer": "^4.0.0 || ^5.0.0", - "webpack-dev-server": "^5.0.0" + "webpack-dev-server": "^5.0.0 || ^6.0.0" }, "peerDependenciesMeta": { + "js-yaml": { + "optional": true + }, + "json5": { + "optional": true + }, + "toml": { + "optional": true + }, "webpack-bundle-analyzer": { "optional": true }, diff --git a/package.json b/package.json index 07b6ec8e095..5ec0e3cad5e 100644 --- a/package.json +++ b/package.json @@ -87,7 +87,7 @@ "typescript": "^6.0.3", "webpack": "^5.107.2", "webpack-bundle-analyzer": "^5.3.0", - "webpack-dev-server": "^5.2.5" + "webpack-dev-server": "^6.0.0" }, "peerDependencies": { "webpack": "5.x.x" diff --git a/packages/webpack-cli/package.json b/packages/webpack-cli/package.json index aa75b5c49b1..f367255a2a5 100644 --- a/packages/webpack-cli/package.json +++ b/packages/webpack-cli/package.json @@ -49,7 +49,7 @@ "toml": "^3.0.0 || ^4.0.0", "webpack": "^5.101.0", "webpack-bundle-analyzer": "^4.0.0 || ^5.0.0", - "webpack-dev-server": "^5.0.0" + "webpack-dev-server": "^5.0.0 || ^6.0.0" }, "peerDependenciesMeta": { "js-yaml": { diff --git a/packages/webpack-cli/src/webpack-cli.ts b/packages/webpack-cli/src/webpack-cli.ts index 9ecdbea15ac..e0efd089b05 100644 --- a/packages/webpack-cli/src/webpack-cli.ts +++ b/packages/webpack-cli/src/webpack-cli.ts @@ -127,8 +127,16 @@ interface WebpackContext { webpack: typeof webpack; } +// `webpack-dev-server@6` ships ESM typings (`export default Server`) while +// v5 uses `export =`, so unwrap `default` only when it exists. +type WebpackDevServerClass = typeof import("webpack-dev-server") extends { + default: infer T; +} + ? T + : typeof import("webpack-dev-server"); + interface WebpackDevServerContext { - devServer: typeof import("webpack-dev-server"); + devServer: WebpackDevServerClass; } interface KnownWebpackCLICommands { @@ -1901,7 +1909,7 @@ class WebpackCLI { return this.#loadPackage(WEBPACK_PACKAGE, WEBPACK_PACKAGE_IS_CUSTOM); } - async loadWebpackDevServer(): Promise { + async loadWebpackDevServer(): Promise { return this.#loadPackage(WEBPACK_DEV_SERVER_PACKAGE, WEBPACK_DEV_SERVER_PACKAGE_IS_CUSTOM); } @@ -2166,7 +2174,6 @@ class WebpackCLI { action: async (entries: string[], options: CommanderArgs, cmd) => { const { webpack, devServer } = cmd.context; const webpackCLIOptions: Options = { webpack, isWatchingLikeCommand: true }; - const devServerCLIOptions: CommanderArgs = {}; // Derive the built-in option names from the cached argument metadata // instead of retaining the full option arrays for the whole session. const webpackOptionNames = new Set([ @@ -2180,8 +2187,6 @@ class WebpackCLI { if (isBuiltInOption) { webpackCLIOptions[optionName as keyof Options] = options[optionName]; - } else { - devServerCLIOptions[optionName] = options[optionName]; } } @@ -2200,12 +2205,15 @@ class WebpackCLI { return; } - type DevServerConstructor = typeof import("webpack-dev-server"); + const DevServer = devServer; + // `webpack-dev-server@6` can run as a webpack plugin, older versions + // own the compilation and are started imperatively. The prototype is + // widened because v5 typings do not know the `apply` method. + const isDevServerPlugin = + typeof (DevServer.prototype as { apply?: unknown }).apply === "function"; + const servers: InstanceType[] = []; - const DevServer: DevServerConstructor = cmd.context.devServer; - const servers: InstanceType[] = []; - - if (this.#needWatchStdin(compiler)) { + if (!isDevServerPlugin && this.#needWatchStdin(compiler)) { process.stdin.on("end", () => { Promise.all(servers.map((server) => server.stop())).then(() => { process.exit(0); @@ -2219,8 +2227,8 @@ class WebpackCLI { const compilersForDevServer = possibleCompilers.length > 0 ? possibleCompilers : [compilers[0]]; const usedPorts: number[] = []; - // @ts-expect-error different versions of the `Schema` type - const devServerArgs = this.#getArguments(webpack, devServer.schema); + const devServerArgs = this.#getArguments(webpack, devServer.schema as unknown as Schema); + let appliedDevServers = 0; for (const compilerForDevServer of compilersForDevServer) { if (compilerForDevServer.options.devServer === false) { @@ -2264,11 +2272,28 @@ class WebpackCLI { } try { - const server = new DevServer(devServerConfiguration, compiler); + if (isDevServerPlugin) { + // Each dev server hooks into the compiler as a plugin and starts + // listening once the first build of the watch run below is done. + // The whole compiler is passed (not just the child config the + // `devServer` options came from) so a multi compiler is served + // completely, as it was when the server owned the compilation. + // The construct signature is widened because v5 typings neither + // know the plugin mode nor the optional compiler argument. + const DevServerPlugin = DevServer as unknown as new ( + options: DevServerConfiguration, + ) => { apply(compiler: Compiler | MultiCompiler): void }; + + new DevServerPlugin(devServerConfiguration).apply(compiler); + } else { + const server = new DevServer(devServerConfiguration, compiler); - await server.start(); + await server.start(); + + servers.push(server as unknown as InstanceType); + } - servers.push(server as unknown as InstanceType); + appliedDevServers += 1; } catch (error) { if (this.isValidationError(error as Error)) { this.logger.error((error as Error).message); @@ -2280,10 +2305,74 @@ class WebpackCLI { } } - if (servers.length === 0) { + if (appliedDevServers === 0) { this.logger.error("No dev server configurations to run"); process.exit(2); } + + // Older dev servers drive the compilation themselves and handle + // process signals on their own, so the CLI is done at this point. + if (!isDevServerPlugin) { + return; + } + + // In plugin mode the dev server leaves signal handling to the host and + // tears itself down through the compiler's `shutdown` hook, so + // `compiler.close()` is the single shutdown path here. + this.#setupGracefulShutdown(compiler); + + if (this.#needWatchStdin(compiler)) { + process.stdin.on("end", () => { + compiler.close(() => { + process.exit(0); + }); + }); + process.stdin.resume(); + } + + const watchCallback = (error: Error | null, stats?: Stats | MultiStats): void => { + if (error) { + if (this.isValidationError(error)) { + this.logger.error(error.message); + } else { + this.logger.error(error); + } + + process.exit(2); + } + + if (!stats) { + return; + } + + if (stats.hasErrors() || (options.failOnWarnings && stats.hasWarnings())) { + process.exitCode = 1; + } + + // In plugin mode `webpack-dev-middleware` prints nothing, the host + // owns the stats output. + const statsOptions = this.isMultipleCompiler(compiler) + ? { + children: compiler.compilers.map((compiler) => compiler.options.stats), + } + : compiler.options.stats; + + const printedStats = stats.toString(statsOptions as StatsOptions); + + // Avoid extra empty line when `stats: 'none'` + if (printedStats) { + this.logger.raw(printedStats); + } + }; + + if (this.isMultipleCompiler(compiler)) { + compiler.watch( + compiler.compilers.map((compiler) => compiler.options.watchOptions || {}), + watchCallback, + ); + } else { + compiler.watch(compiler.options.watchOptions || {}, watchCallback); + } }, }, help: { @@ -3414,6 +3503,35 @@ class WebpackCLI { return Boolean(compiler.options.watchOptions?.stdin); } + #setupGracefulShutdown(compiler: Compiler | MultiCompiler): void { + let needForceShutdown = false; + + for (const signal of EXIT_SIGNALS) { + // eslint-disable-next-line @typescript-eslint/no-loop-func + const listener = () => { + if (needForceShutdown) { + process.exit(0); + } + + // Output message after delay to avoid extra logging + const timeout = setTimeout(() => { + this.logger.info( + "Gracefully shutting down. To force exit, press ^C again. Please wait...", + ); + }, 2000); + + needForceShutdown = true; + + compiler.close(() => { + clearTimeout(timeout); + process.exit(0); + }); + }; + + process.on(signal, listener); + } + } + async runWebpack(options: Options, isWatchCommand: boolean): Promise { let compiler: Compiler | MultiCompiler; let stringifyChunked: typeof stringifyChunkedType; @@ -3511,32 +3629,7 @@ class WebpackCLI { ); if (needGracefulShutdown(compiler)) { - let needForceShutdown = false; - - for (const signal of EXIT_SIGNALS) { - // eslint-disable-next-line @typescript-eslint/no-loop-func - const listener = () => { - if (needForceShutdown) { - process.exit(0); - } - - // Output message after delay to avoid extra logging - const timeout = setTimeout(() => { - this.logger.info( - "Gracefully shutting down. To force exit, press ^C again. Please wait...", - ); - }, 2000); - - needForceShutdown = true; - - compiler.close(() => { - clearTimeout(timeout); - process.exit(0); - }); - }; - - process.on(signal, listener); - } + this.#setupGracefulShutdown(compiler); if (this.#needWatchStdin(compiler)) { process.stdin.on("end", () => { diff --git a/test/build/error/invalid-schema/invalid-schema.test.js b/test/build/error/invalid-schema/invalid-schema.test.js index f5cf4a411f4..937d4fc9a93 100644 --- a/test/build/error/invalid-schema/invalid-schema.test.js +++ b/test/build/error/invalid-schema/invalid-schema.test.js @@ -1,5 +1,6 @@ "use strict"; +const [devServerVersion] = require("webpack-dev-server/package.json").version; const { run } = require("../../../utils/test-utils"); describe("invalid schema", () => { @@ -148,7 +149,11 @@ describe("invalid schema", () => { expect(exitCode).toBe(2); expect(stderr).toContain("Invalid value 'Yukihira' for the '--server-type' option"); - expect(stderr).toContain("Expected: 'http | https | spdy | http2'"); + expect(stderr).toContain( + devServerVersion === "5" + ? "Expected: 'http | https | spdy | http2'" + : "Expected: 'http | https | http2'", + ); expect(stdout).toBeFalsy(); }); diff --git a/test/help/__snapshots__/help.test.js.snap.devServer6.webpack5 b/test/help/__snapshots__/help.test.js.snap.devServer6.webpack5 new file mode 100644 index 00000000000..5d230226777 --- /dev/null +++ b/test/help/__snapshots__/help.test.js.snap.devServer6.webpack5 @@ -0,0 +1,3162 @@ +// Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing + +exports[`help should log error for invalid command using command syntax #3: stderr 1`] = ` +"[webpack-cli] ✖ Incorrect use of help +[webpack-cli] ✖ Please use: 'webpack help [command] [option]' | 'webpack [command] --help' +[webpack-cli] ✖ Run 'webpack --help' to see available commands and options" +`; + +exports[`help should log error for invalid command using command syntax #3: stdout 1`] = `""`; + +exports[`help should log error for invalid command using command syntax #4: stderr 1`] = ` +"[webpack-cli] ✖ Incorrect use of help +[webpack-cli] ✖ Please use: 'webpack help [command] [option]' | 'webpack [command] --help' +[webpack-cli] ✖ Run 'webpack --help' to see available commands and options" +`; + +exports[`help should log error for invalid command using command syntax #4: stdout 1`] = `""`; + +exports[`help should log error for invalid command using the "--help" option #2: stderr 1`] = ` +"[webpack-cli] ✖ Incorrect use of help +[webpack-cli] ✖ Please use: 'webpack help [command] [option]' | 'webpack [command] --help' +[webpack-cli] ✖ Run 'webpack --help' to see available commands and options" +`; + +exports[`help should log error for invalid command using the "--help" option #2: stdout 1`] = `""`; + +exports[`help should log error for invalid command using the "--help" option #3: stderr 1`] = ` +"[webpack-cli] ✖ Incorrect use of help +[webpack-cli] ✖ Please use: 'webpack help [command] [option]' | 'webpack [command] --help' +[webpack-cli] ✖ Run 'webpack --help' to see available commands and options" +`; + +exports[`help should log error for invalid command using the "--help" option #3: stdout 1`] = `""`; + +exports[`help should log error for invalid command using the "--help" option: stderr 1`] = `"[webpack-cli] ✖ Unknown value for '--help' option, please use '--help=verbose'"`; + +exports[`help should log error for invalid command using the "--help" option: stdout 1`] = `""`; + +exports[`help should log error for invalid flag with the "--help" option #2: stderr 1`] = `"[webpack-cli] ✖ Unknown value for '--help' option, please use '--help=verbose'"`; + +exports[`help should log error for invalid flag with the "--help" option #2: stdout 1`] = `""`; + +exports[`help should log error for invalid flag with the "--help" option #3 1`] = `"[webpack-cli] ✖ Unknown value for '--help' option, please use '--help=verbose'"`; + +exports[`help should log error for invalid flag with the "--help" option #4 1`] = ` +"[webpack-cli] ✖ Can't find and load command 'unknown' +[webpack-cli] ✖ Run 'webpack --help' to see available commands and options" +`; + +exports[`help should log error for invalid flag with the "--help" option: stderr 1`] = ` +"[webpack-cli] ✖ Incorrect use of help +[webpack-cli] ✖ Please use: 'webpack help [command] [option]' | 'webpack [command] --help' +[webpack-cli] ✖ Run 'webpack --help' to see available commands and options" +`; + +exports[`help should log error for invalid flag with the "--help" option: stdout 1`] = `""`; + +exports[`help should log error for unknown command using command syntax #2: stderr 1`] = ` +"[webpack-cli] ✖ Can't find and load command 'verbose' +[webpack-cli] ✖ Run 'webpack --help' to see available commands and options." +`; + +exports[`help should log error for unknown command using command syntax #2: stdout 1`] = `""`; + +exports[`help should log error for unknown command using command syntax: stderr 1`] = ` +"[webpack-cli] ✖ Can't find and load command 'myCommand' +[webpack-cli] ✖ Run 'webpack --help' to see available commands and options." +`; + +exports[`help should log error for unknown command using command syntax: stdout 1`] = `""`; + +exports[`help should log error for unknown option using command syntax #2: stderr 1`] = ` +"[webpack-cli] ✖ Unknown option '--made' +[webpack-cli] ✖ Run 'webpack --help' to see available commands and options" +`; + +exports[`help should log error for unknown option using command syntax #2: stdout 1`] = `""`; + +exports[`help should log error for unknown option using command syntax #3: stderr 1`] = ` +"[webpack-cli] ✖ Unknown option '--made' +[webpack-cli] ✖ Run 'webpack --help' to see available commands and options" +`; + +exports[`help should log error for unknown option using command syntax #3: stdout 1`] = `""`; + +exports[`help should log error for unknown option using command syntax #4: stderr 1`] = ` +"[webpack-cli] ✖ Can't find and load command 'bui' +[webpack-cli] ✖ Run 'webpack --help' to see available commands and options" +`; + +exports[`help should log error for unknown option using command syntax #4: stdout 1`] = `""`; + +exports[`help should show help information and respect the "--color" flag using the "--help" option: stderr 1`] = `""`; + +exports[`help should show help information and respect the "--color" flag using the "--help" option: stdout 1`] = ` +" +⬡ webpack +──────────────────────────────────────────────────────────────────────── +The build tool for modern web applications. + +Usage: webpack [entries...] [options] | webpack [command] [options] + +Options +──────────────────────────────────────────────────────────────────────── + -c, --config Provide path to one or more webpack configuration files to process, e.g. "./webpack.config.js". + --config-name Name(s) of particular configuration(s) to use if configuration file exports an array of multiple configurations. + -m, --merge Merge two or more configurations using 'webpack-merge'. + --env Environment variables passed to the configuration when it is a function, e.g. "myvar" or "myvar=myval". + --config-node-env Sets process.env.NODE_ENV to the specified value for access within the configuration. + --analyze It invokes webpack-bundle-analyzer plugin to get bundle information. + --progress [value] Print compilation progress during build. + -j, --json [pathToJsonFile] Prints result as JSON or store it in a file. + --fail-on-warnings Stop webpack-cli process with non-zero exit code on warnings from webpack. + --disable-interpret Disable interpret for loading the config file. + -d, --devtool A developer tool to enhance debugging (false | eval | [inline-|hidden-|eval-][nosources-][cheap-[module-]]source-map). + --no-devtool Negative 'devtool' option. + --entry A module that is loaded upon startup. Only the last one is exported. + -e, --extends Path to the configuration to be extended (only works when using webpack-cli). + --mode Enable production optimizations or development hints. + --name Name of the configuration. Used when loading multiple configurations. + -o, --output-path The output directory as **absolute path** (required). + --stats [value] Stats options object or preset name. + -t, --target Specific environment, runtime, or syntax. Environment to build for. An array of environments to build for all of them when possible. + -w, --watch Enter watch mode, which rebuilds on file change. + --watch-options-stdin Stop watching when stdin stream has ended. + +Global options +──────────────────────────────────────────────────────────────────────── + --color Enable colors on console. + --no-color Disable colors on console. + -v, --version Output the version number of 'webpack', 'webpack-cli' and 'webpack-dev-server' and other packages. + -h, --help [verbose] Display help for commands and options. + +Commands +──────────────────────────────────────────────────────────────────────── + build|bundle|b [entries...] [options] Run webpack (default command, can be omitted). + configtest|t [config-path] Validate a webpack configuration. + help|h [command] [option] Display help for commands and options. + info|i [options] Outputs information about your system. + serve|server|s [entries...] [options] Run the webpack dev server and watch for source file changes while serving. + version|v [options] Output the version number of 'webpack', 'webpack-cli' and 'webpack-dev-server' and other packages. + watch|w [entries...] [options] Run webpack and watch for files changes. + +──────────────────────────────────────────────────────────────────────── +ℹ Run 'webpack --help=verbose' to see all available commands and options. + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information and respect the "--no-color" flag using the "--help" option: stderr 1`] = `""`; + +exports[`help should show help information and respect the "--no-color" flag using the "--help" option: stdout 1`] = ` +" +⬡ webpack +──────────────────────────────────────────────────────────────────────── +The build tool for modern web applications. + +Usage: webpack [entries...] [options] | webpack [command] [options] + +Options +──────────────────────────────────────────────────────────────────────── + -c, --config Provide path to one or more webpack configuration files to process, e.g. "./webpack.config.js". + --config-name Name(s) of particular configuration(s) to use if configuration file exports an array of multiple configurations. + -m, --merge Merge two or more configurations using 'webpack-merge'. + --env Environment variables passed to the configuration when it is a function, e.g. "myvar" or "myvar=myval". + --config-node-env Sets process.env.NODE_ENV to the specified value for access within the configuration. + --analyze It invokes webpack-bundle-analyzer plugin to get bundle information. + --progress [value] Print compilation progress during build. + -j, --json [pathToJsonFile] Prints result as JSON or store it in a file. + --fail-on-warnings Stop webpack-cli process with non-zero exit code on warnings from webpack. + --disable-interpret Disable interpret for loading the config file. + -d, --devtool A developer tool to enhance debugging (false | eval | [inline-|hidden-|eval-][nosources-][cheap-[module-]]source-map). + --no-devtool Negative 'devtool' option. + --entry A module that is loaded upon startup. Only the last one is exported. + -e, --extends Path to the configuration to be extended (only works when using webpack-cli). + --mode Enable production optimizations or development hints. + --name Name of the configuration. Used when loading multiple configurations. + -o, --output-path The output directory as **absolute path** (required). + --stats [value] Stats options object or preset name. + -t, --target Specific environment, runtime, or syntax. Environment to build for. An array of environments to build for all of them when possible. + -w, --watch Enter watch mode, which rebuilds on file change. + --watch-options-stdin Stop watching when stdin stream has ended. + +Global options +──────────────────────────────────────────────────────────────────────── + --color Enable colors on console. + --no-color Disable colors on console. + -v, --version Output the version number of 'webpack', 'webpack-cli' and 'webpack-dev-server' and other packages. + -h, --help [verbose] Display help for commands and options. + +Commands +──────────────────────────────────────────────────────────────────────── + build|bundle|b [entries...] [options] Run webpack (default command, can be omitted). + configtest|t [config-path] Validate a webpack configuration. + help|h [command] [option] Display help for commands and options. + info|i [options] Outputs information about your system. + serve|server|s [entries...] [options] Run the webpack dev server and watch for source file changes while serving. + version|v [options] Output the version number of 'webpack', 'webpack-cli' and 'webpack-dev-server' and other packages. + watch|w [entries...] [options] Run webpack and watch for files changes. + +──────────────────────────────────────────────────────────────────────── +ℹ Run 'webpack --help=verbose' to see all available commands and options. + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information and taking precedence when "--help" and "--version" option using together: stderr 1`] = `""`; + +exports[`help should show help information and taking precedence when "--help" and "--version" option using together: stdout 1`] = ` +" +⬡ webpack +──────────────────────────────────────────────────────────────────────── +The build tool for modern web applications. + +Usage: webpack [entries...] [options] | webpack [command] [options] + +Options +──────────────────────────────────────────────────────────────────────── + -c, --config Provide path to one or more webpack configuration files to process, e.g. "./webpack.config.js". + --config-name Name(s) of particular configuration(s) to use if configuration file exports an array of multiple configurations. + -m, --merge Merge two or more configurations using 'webpack-merge'. + --env Environment variables passed to the configuration when it is a function, e.g. "myvar" or "myvar=myval". + --config-node-env Sets process.env.NODE_ENV to the specified value for access within the configuration. + --analyze It invokes webpack-bundle-analyzer plugin to get bundle information. + --progress [value] Print compilation progress during build. + -j, --json [pathToJsonFile] Prints result as JSON or store it in a file. + --fail-on-warnings Stop webpack-cli process with non-zero exit code on warnings from webpack. + --disable-interpret Disable interpret for loading the config file. + -d, --devtool A developer tool to enhance debugging (false | eval | [inline-|hidden-|eval-][nosources-][cheap-[module-]]source-map). + --no-devtool Negative 'devtool' option. + --entry A module that is loaded upon startup. Only the last one is exported. + -e, --extends Path to the configuration to be extended (only works when using webpack-cli). + --mode Enable production optimizations or development hints. + --name Name of the configuration. Used when loading multiple configurations. + -o, --output-path The output directory as **absolute path** (required). + --stats [value] Stats options object or preset name. + -t, --target Specific environment, runtime, or syntax. Environment to build for. An array of environments to build for all of them when possible. + -w, --watch Enter watch mode, which rebuilds on file change. + --watch-options-stdin Stop watching when stdin stream has ended. + +Global options +──────────────────────────────────────────────────────────────────────── + --color Enable colors on console. + --no-color Disable colors on console. + -v, --version Output the version number of 'webpack', 'webpack-cli' and 'webpack-dev-server' and other packages. + -h, --help [verbose] Display help for commands and options. + +Commands +──────────────────────────────────────────────────────────────────────── + build|bundle|b [entries...] [options] Run webpack (default command, can be omitted). + configtest|t [config-path] Validate a webpack configuration. + help|h [command] [option] Display help for commands and options. + info|i [options] Outputs information about your system. + serve|server|s [entries...] [options] Run the webpack dev server and watch for source file changes while serving. + version|v [options] Output the version number of 'webpack', 'webpack-cli' and 'webpack-dev-server' and other packages. + watch|w [entries...] [options] Run webpack and watch for files changes. + +──────────────────────────────────────────────────────────────────────── +ℹ Run 'webpack --help=verbose' to see all available commands and options. + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information for 'b' command using command syntax: stderr 1`] = `""`; + +exports[`help should show help information for 'b' command using command syntax: stdout 1`] = ` +" +⬡ webpack build +──────────────────────────────────────────────────────────────────────── +Run webpack (default command, can be omitted). + +Usage: webpack build|bundle|b [entries...] [options] + +Options +──────────────────────────────────────────────────────────────────────── + -c, --config Provide path to one or more webpack configuration files to process, e.g. "./webpack.config.js". + --config-name Name(s) of particular configuration(s) to use if configuration file exports an array of multiple configurations. + -m, --merge Merge two or more configurations using 'webpack-merge'. + --env Environment variables passed to the configuration when it is a function, e.g. "myvar" or "myvar=myval". + --config-node-env Sets process.env.NODE_ENV to the specified value for access within the configuration. + --analyze It invokes webpack-bundle-analyzer plugin to get bundle information. + --progress [value] Print compilation progress during build. + -j, --json [pathToJsonFile] Prints result as JSON or store it in a file. + --fail-on-warnings Stop webpack-cli process with non-zero exit code on warnings from webpack. + --disable-interpret Disable interpret for loading the config file. + -d, --devtool A developer tool to enhance debugging (false | eval | [inline-|hidden-|eval-][nosources-][cheap-[module-]]source-map). + --no-devtool Negative 'devtool' option. + --entry A module that is loaded upon startup. Only the last one is exported. + -e, --extends Path to the configuration to be extended (only works when using webpack-cli). + --mode Enable production optimizations or development hints. + --name Name of the configuration. Used when loading multiple configurations. + -o, --output-path The output directory as **absolute path** (required). + --stats [value] Stats options object or preset name. + -t, --target Specific environment, runtime, or syntax. Environment to build for. An array of environments to build for all of them when possible. + -w, --watch Enter watch mode, which rebuilds on file change. + --watch-options-stdin Stop watching when stdin stream has ended. + +Global options +──────────────────────────────────────────────────────────────────────── + --color Enable colors on console. + --no-color Disable colors on console. + -v, --version Output the version number of 'webpack', 'webpack-cli' and 'webpack-dev-server' and other packages. + -h, --help [verbose] Display help for commands and options. + +──────────────────────────────────────────────────────────────────────── +ℹ Run 'webpack --help=verbose' to see all available commands and options. + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information for 'b' command using the "--help verbose" option: stderr 1`] = `""`; + +exports[`help should show help information for 'b' command using the "--help verbose" option: stdout 1`] = ` +" +⬡ webpack build +──────────────────────────────────────────────────────────────────────── +Run webpack (default command, can be omitted). + +Usage: webpack build|bundle|b [entries...] [options] + +Options +──────────────────────────────────────────────────────────────────────── + -c, --config Provide path to one or more webpack configuration files to process, e.g. "./webpack.config.js". + --config-name Name(s) of particular configuration(s) to use if configuration file exports an array of multiple configurations. + -m, --merge Merge two or more configurations using 'webpack-merge'. + --env Environment variables passed to the configuration when it is a function, e.g. "myvar" or "myvar=myval". + --config-node-env Sets process.env.NODE_ENV to the specified value for access within the configuration. + --analyze It invokes webpack-bundle-analyzer plugin to get bundle information. + --progress [value] Print compilation progress during build. + -j, --json [pathToJsonFile] Prints result as JSON or store it in a file. + --fail-on-warnings Stop webpack-cli process with non-zero exit code on warnings from webpack. + --disable-interpret Disable interpret for loading the config file. + --no-amd Negative 'amd' option. + --bail Report the first error as a hard error instead of tolerating it. + --no-bail Negative 'bail' option. + --cache Enable in memory caching. Disable caching. + --no-cache Negative 'cache' option. + --cache-cache-unaffected Additionally cache computation of modules that are unchanged and reference only unchanged modules. + --no-cache-cache-unaffected Negative 'cache-cache-unaffected' option. + --cache-max-generations Number of generations unused cache entries stay in memory cache + at stack. + --watch-options-poll [value] \`number\`: use polling with specified interval. \`true\`: use polling. + --no-watch-options-poll Negative 'watch-options-poll' option. + --watch-options-stdin Stop watching when stdin stream has ended. + --no-watch-options-stdin Negative 'watch-options-stdin' option. + +Global options +──────────────────────────────────────────────────────────────────────── + --color Enable colors on console. + --no-color Disable colors on console. + -v, --version Output the version number of 'webpack', 'webpack-cli' and 'webpack-dev-server' and other packages. + -h, --help [verbose] Display help for commands and options. + +──────────────────────────────────────────────────────────────────────── + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information for 'b' command using the "--help" option: stderr 1`] = `""`; + +exports[`help should show help information for 'b' command using the "--help" option: stdout 1`] = ` +" +⬡ webpack build +──────────────────────────────────────────────────────────────────────── +Run webpack (default command, can be omitted). + +Usage: webpack build|bundle|b [entries...] [options] + +Options +──────────────────────────────────────────────────────────────────────── + -c, --config Provide path to one or more webpack configuration files to process, e.g. "./webpack.config.js". + --config-name Name(s) of particular configuration(s) to use if configuration file exports an array of multiple configurations. + -m, --merge Merge two or more configurations using 'webpack-merge'. + --env Environment variables passed to the configuration when it is a function, e.g. "myvar" or "myvar=myval". + --config-node-env Sets process.env.NODE_ENV to the specified value for access within the configuration. + --analyze It invokes webpack-bundle-analyzer plugin to get bundle information. + --progress [value] Print compilation progress during build. + -j, --json [pathToJsonFile] Prints result as JSON or store it in a file. + --fail-on-warnings Stop webpack-cli process with non-zero exit code on warnings from webpack. + --disable-interpret Disable interpret for loading the config file. + -d, --devtool A developer tool to enhance debugging (false | eval | [inline-|hidden-|eval-][nosources-][cheap-[module-]]source-map). + --no-devtool Negative 'devtool' option. + --entry A module that is loaded upon startup. Only the last one is exported. + -e, --extends Path to the configuration to be extended (only works when using webpack-cli). + --mode Enable production optimizations or development hints. + --name Name of the configuration. Used when loading multiple configurations. + -o, --output-path The output directory as **absolute path** (required). + --stats [value] Stats options object or preset name. + -t, --target Specific environment, runtime, or syntax. Environment to build for. An array of environments to build for all of them when possible. + -w, --watch Enter watch mode, which rebuilds on file change. + --watch-options-stdin Stop watching when stdin stream has ended. + +Global options +──────────────────────────────────────────────────────────────────────── + --color Enable colors on console. + --no-color Disable colors on console. + -v, --version Output the version number of 'webpack', 'webpack-cli' and 'webpack-dev-server' and other packages. + -h, --help [verbose] Display help for commands and options. + +──────────────────────────────────────────────────────────────────────── +ℹ Run 'webpack --help=verbose' to see all available commands and options. + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information for 'build' and respect the "--color" flag using the "--help" option: stderr 1`] = `""`; + +exports[`help should show help information for 'build' and respect the "--color" flag using the "--help" option: stdout 1`] = ` +" +⬡ webpack build +──────────────────────────────────────────────────────────────────────── +Run webpack (default command, can be omitted). + +Usage: webpack build|bundle|b [entries...] [options] + +Options +──────────────────────────────────────────────────────────────────────── + -c, --config Provide path to one or more webpack configuration files to process, e.g. "./webpack.config.js". + --config-name Name(s) of particular configuration(s) to use if configuration file exports an array of multiple configurations. + -m, --merge Merge two or more configurations using 'webpack-merge'. + --env Environment variables passed to the configuration when it is a function, e.g. "myvar" or "myvar=myval". + --config-node-env Sets process.env.NODE_ENV to the specified value for access within the configuration. + --analyze It invokes webpack-bundle-analyzer plugin to get bundle information. + --progress [value] Print compilation progress during build. + -j, --json [pathToJsonFile] Prints result as JSON or store it in a file. + --fail-on-warnings Stop webpack-cli process with non-zero exit code on warnings from webpack. + --disable-interpret Disable interpret for loading the config file. + -d, --devtool A developer tool to enhance debugging (false | eval | [inline-|hidden-|eval-][nosources-][cheap-[module-]]source-map). + --no-devtool Negative 'devtool' option. + --entry A module that is loaded upon startup. Only the last one is exported. + -e, --extends Path to the configuration to be extended (only works when using webpack-cli). + --mode Enable production optimizations or development hints. + --name Name of the configuration. Used when loading multiple configurations. + -o, --output-path The output directory as **absolute path** (required). + --stats [value] Stats options object or preset name. + -t, --target Specific environment, runtime, or syntax. Environment to build for. An array of environments to build for all of them when possible. + -w, --watch Enter watch mode, which rebuilds on file change. + --watch-options-stdin Stop watching when stdin stream has ended. + +Global options +──────────────────────────────────────────────────────────────────────── + --color Enable colors on console. + --no-color Disable colors on console. + -v, --version Output the version number of 'webpack', 'webpack-cli' and 'webpack-dev-server' and other packages. + -h, --help [verbose] Display help for commands and options. + +──────────────────────────────────────────────────────────────────────── +ℹ Run 'webpack --help=verbose' to see all available commands and options. + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information for 'build' and respect the "--no-color" flag using the "--help" option: stderr 1`] = `""`; + +exports[`help should show help information for 'build' and respect the "--no-color" flag using the "--help" option: stdout 1`] = ` +" +⬡ webpack build +──────────────────────────────────────────────────────────────────────── +Run webpack (default command, can be omitted). + +Usage: webpack build|bundle|b [entries...] [options] + +Options +──────────────────────────────────────────────────────────────────────── + -c, --config Provide path to one or more webpack configuration files to process, e.g. "./webpack.config.js". + --config-name Name(s) of particular configuration(s) to use if configuration file exports an array of multiple configurations. + -m, --merge Merge two or more configurations using 'webpack-merge'. + --env Environment variables passed to the configuration when it is a function, e.g. "myvar" or "myvar=myval". + --config-node-env Sets process.env.NODE_ENV to the specified value for access within the configuration. + --analyze It invokes webpack-bundle-analyzer plugin to get bundle information. + --progress [value] Print compilation progress during build. + -j, --json [pathToJsonFile] Prints result as JSON or store it in a file. + --fail-on-warnings Stop webpack-cli process with non-zero exit code on warnings from webpack. + --disable-interpret Disable interpret for loading the config file. + -d, --devtool A developer tool to enhance debugging (false | eval | [inline-|hidden-|eval-][nosources-][cheap-[module-]]source-map). + --no-devtool Negative 'devtool' option. + --entry A module that is loaded upon startup. Only the last one is exported. + -e, --extends Path to the configuration to be extended (only works when using webpack-cli). + --mode Enable production optimizations or development hints. + --name Name of the configuration. Used when loading multiple configurations. + -o, --output-path The output directory as **absolute path** (required). + --stats [value] Stats options object or preset name. + -t, --target Specific environment, runtime, or syntax. Environment to build for. An array of environments to build for all of them when possible. + -w, --watch Enter watch mode, which rebuilds on file change. + --watch-options-stdin Stop watching when stdin stream has ended. + +Global options +──────────────────────────────────────────────────────────────────────── + --color Enable colors on console. + --no-color Disable colors on console. + -v, --version Output the version number of 'webpack', 'webpack-cli' and 'webpack-dev-server' and other packages. + -h, --help [verbose] Display help for commands and options. + +──────────────────────────────────────────────────────────────────────── +ℹ Run 'webpack --help=verbose' to see all available commands and options. + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information for 'build' command using command syntax: stderr 1`] = `""`; + +exports[`help should show help information for 'build' command using command syntax: stdout 1`] = ` +" +⬡ webpack build +──────────────────────────────────────────────────────────────────────── +Run webpack (default command, can be omitted). + +Usage: webpack build|bundle|b [entries...] [options] + +Options +──────────────────────────────────────────────────────────────────────── + -c, --config Provide path to one or more webpack configuration files to process, e.g. "./webpack.config.js". + --config-name Name(s) of particular configuration(s) to use if configuration file exports an array of multiple configurations. + -m, --merge Merge two or more configurations using 'webpack-merge'. + --env Environment variables passed to the configuration when it is a function, e.g. "myvar" or "myvar=myval". + --config-node-env Sets process.env.NODE_ENV to the specified value for access within the configuration. + --analyze It invokes webpack-bundle-analyzer plugin to get bundle information. + --progress [value] Print compilation progress during build. + -j, --json [pathToJsonFile] Prints result as JSON or store it in a file. + --fail-on-warnings Stop webpack-cli process with non-zero exit code on warnings from webpack. + --disable-interpret Disable interpret for loading the config file. + -d, --devtool A developer tool to enhance debugging (false | eval | [inline-|hidden-|eval-][nosources-][cheap-[module-]]source-map). + --no-devtool Negative 'devtool' option. + --entry A module that is loaded upon startup. Only the last one is exported. + -e, --extends Path to the configuration to be extended (only works when using webpack-cli). + --mode Enable production optimizations or development hints. + --name Name of the configuration. Used when loading multiple configurations. + -o, --output-path The output directory as **absolute path** (required). + --stats [value] Stats options object or preset name. + -t, --target Specific environment, runtime, or syntax. Environment to build for. An array of environments to build for all of them when possible. + -w, --watch Enter watch mode, which rebuilds on file change. + --watch-options-stdin Stop watching when stdin stream has ended. + +Global options +──────────────────────────────────────────────────────────────────────── + --color Enable colors on console. + --no-color Disable colors on console. + -v, --version Output the version number of 'webpack', 'webpack-cli' and 'webpack-dev-server' and other packages. + -h, --help [verbose] Display help for commands and options. + +──────────────────────────────────────────────────────────────────────── +ℹ Run 'webpack --help=verbose' to see all available commands and options. + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information for 'build' command using the "--help verbose" option: stderr 1`] = `""`; + +exports[`help should show help information for 'build' command using the "--help verbose" option: stdout 1`] = ` +" +⬡ webpack build +──────────────────────────────────────────────────────────────────────── +Run webpack (default command, can be omitted). + +Usage: webpack build|bundle|b [entries...] [options] + +Options +──────────────────────────────────────────────────────────────────────── + -c, --config Provide path to one or more webpack configuration files to process, e.g. "./webpack.config.js". + --config-name Name(s) of particular configuration(s) to use if configuration file exports an array of multiple configurations. + -m, --merge Merge two or more configurations using 'webpack-merge'. + --env Environment variables passed to the configuration when it is a function, e.g. "myvar" or "myvar=myval". + --config-node-env Sets process.env.NODE_ENV to the specified value for access within the configuration. + --analyze It invokes webpack-bundle-analyzer plugin to get bundle information. + --progress [value] Print compilation progress during build. + -j, --json [pathToJsonFile] Prints result as JSON or store it in a file. + --fail-on-warnings Stop webpack-cli process with non-zero exit code on warnings from webpack. + --disable-interpret Disable interpret for loading the config file. + --no-amd Negative 'amd' option. + --bail Report the first error as a hard error instead of tolerating it. + --no-bail Negative 'bail' option. + --cache Enable in memory caching. Disable caching. + --no-cache Negative 'cache' option. + --cache-cache-unaffected Additionally cache computation of modules that are unchanged and reference only unchanged modules. + --no-cache-cache-unaffected Negative 'cache-cache-unaffected' option. + --cache-max-generations Number of generations unused cache entries stay in memory cache + at stack. + --watch-options-poll [value] \`number\`: use polling with specified interval. \`true\`: use polling. + --no-watch-options-poll Negative 'watch-options-poll' option. + --watch-options-stdin Stop watching when stdin stream has ended. + --no-watch-options-stdin Negative 'watch-options-stdin' option. + +Global options +──────────────────────────────────────────────────────────────────────── + --color Enable colors on console. + --no-color Disable colors on console. + -v, --version Output the version number of 'webpack', 'webpack-cli' and 'webpack-dev-server' and other packages. + -h, --help [verbose] Display help for commands and options. + +──────────────────────────────────────────────────────────────────────── + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information for 'build' command using the "--help" option: stderr 1`] = `""`; + +exports[`help should show help information for 'build' command using the "--help" option: stdout 1`] = ` +" +⬡ webpack build +──────────────────────────────────────────────────────────────────────── +Run webpack (default command, can be omitted). + +Usage: webpack build|bundle|b [entries...] [options] + +Options +──────────────────────────────────────────────────────────────────────── + -c, --config Provide path to one or more webpack configuration files to process, e.g. "./webpack.config.js". + --config-name Name(s) of particular configuration(s) to use if configuration file exports an array of multiple configurations. + -m, --merge Merge two or more configurations using 'webpack-merge'. + --env Environment variables passed to the configuration when it is a function, e.g. "myvar" or "myvar=myval". + --config-node-env Sets process.env.NODE_ENV to the specified value for access within the configuration. + --analyze It invokes webpack-bundle-analyzer plugin to get bundle information. + --progress [value] Print compilation progress during build. + -j, --json [pathToJsonFile] Prints result as JSON or store it in a file. + --fail-on-warnings Stop webpack-cli process with non-zero exit code on warnings from webpack. + --disable-interpret Disable interpret for loading the config file. + -d, --devtool A developer tool to enhance debugging (false | eval | [inline-|hidden-|eval-][nosources-][cheap-[module-]]source-map). + --no-devtool Negative 'devtool' option. + --entry A module that is loaded upon startup. Only the last one is exported. + -e, --extends Path to the configuration to be extended (only works when using webpack-cli). + --mode Enable production optimizations or development hints. + --name Name of the configuration. Used when loading multiple configurations. + -o, --output-path The output directory as **absolute path** (required). + --stats [value] Stats options object or preset name. + -t, --target Specific environment, runtime, or syntax. Environment to build for. An array of environments to build for all of them when possible. + -w, --watch Enter watch mode, which rebuilds on file change. + --watch-options-stdin Stop watching when stdin stream has ended. + +Global options +──────────────────────────────────────────────────────────────────────── + --color Enable colors on console. + --no-color Disable colors on console. + -v, --version Output the version number of 'webpack', 'webpack-cli' and 'webpack-dev-server' and other packages. + -h, --help [verbose] Display help for commands and options. + +──────────────────────────────────────────────────────────────────────── +ℹ Run 'webpack --help=verbose' to see all available commands and options. + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information for 'configtest' and respect the "--color" flag using the "--help" option: stderr 1`] = `""`; + +exports[`help should show help information for 'configtest' and respect the "--color" flag using the "--help" option: stdout 1`] = ` +" +⬡ webpack configtest +──────────────────────────────────────────────────────────────────────── +Validate a webpack configuration. + +Usage: webpack configtest|t [config-path] + +Global options +──────────────────────────────────────────────────────────────────────── + --color Enable colors on console. + --no-color Disable colors on console. + -v, --version Output the version number of 'webpack', 'webpack-cli' and 'webpack-dev-server' and other packages. + -h, --help [verbose] Display help for commands and options. + +──────────────────────────────────────────────────────────────────────── +ℹ Run 'webpack --help=verbose' to see all available commands and options. + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information for 'configtest' and respect the "--no-color" flag using the "--help" option: stderr 1`] = `""`; + +exports[`help should show help information for 'configtest' and respect the "--no-color" flag using the "--help" option: stdout 1`] = ` +" +⬡ webpack configtest +──────────────────────────────────────────────────────────────────────── +Validate a webpack configuration. + +Usage: webpack configtest|t [config-path] + +Global options +──────────────────────────────────────────────────────────────────────── + --color Enable colors on console. + --no-color Disable colors on console. + -v, --version Output the version number of 'webpack', 'webpack-cli' and 'webpack-dev-server' and other packages. + -h, --help [verbose] Display help for commands and options. + +──────────────────────────────────────────────────────────────────────── +ℹ Run 'webpack --help=verbose' to see all available commands and options. + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information for 'configtest' command using command syntax: stderr 1`] = `""`; + +exports[`help should show help information for 'configtest' command using command syntax: stdout 1`] = ` +" +⬡ webpack configtest +──────────────────────────────────────────────────────────────────────── +Validate a webpack configuration. + +Usage: webpack configtest|t [config-path] + +Global options +──────────────────────────────────────────────────────────────────────── + --color Enable colors on console. + --no-color Disable colors on console. + -v, --version Output the version number of 'webpack', 'webpack-cli' and 'webpack-dev-server' and other packages. + -h, --help [verbose] Display help for commands and options. + +──────────────────────────────────────────────────────────────────────── +ℹ Run 'webpack --help=verbose' to see all available commands and options. + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information for 'configtest' command using the "--help verbose" option: stderr 1`] = `""`; + +exports[`help should show help information for 'configtest' command using the "--help verbose" option: stdout 1`] = ` +" +⬡ webpack configtest +──────────────────────────────────────────────────────────────────────── +Validate a webpack configuration. + +Usage: webpack configtest|t [config-path] + +Global options +──────────────────────────────────────────────────────────────────────── + --color Enable colors on console. + --no-color Disable colors on console. + -v, --version Output the version number of 'webpack', 'webpack-cli' and 'webpack-dev-server' and other packages. + -h, --help [verbose] Display help for commands and options. + +──────────────────────────────────────────────────────────────────────── + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information for 'configtest' command using the "--help" option: stderr 1`] = `""`; + +exports[`help should show help information for 'configtest' command using the "--help" option: stdout 1`] = ` +" +⬡ webpack configtest +──────────────────────────────────────────────────────────────────────── +Validate a webpack configuration. + +Usage: webpack configtest|t [config-path] + +Global options +──────────────────────────────────────────────────────────────────────── + --color Enable colors on console. + --no-color Disable colors on console. + -v, --version Output the version number of 'webpack', 'webpack-cli' and 'webpack-dev-server' and other packages. + -h, --help [verbose] Display help for commands and options. + +──────────────────────────────────────────────────────────────────────── +ℹ Run 'webpack --help=verbose' to see all available commands and options. + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information for 'i' command using command syntax: stderr 1`] = `""`; + +exports[`help should show help information for 'i' command using command syntax: stdout 1`] = ` +" +⬡ webpack info +──────────────────────────────────────────────────────────────────────── +Outputs information about your system. + +Usage: webpack info|i [options] + +Options +──────────────────────────────────────────────────────────────────────── + -o, --output To get the output in a specified format (accept json or markdown) + -a, --additional-package Adds additional packages to the output + +Global options +──────────────────────────────────────────────────────────────────────── + --color Enable colors on console. + --no-color Disable colors on console. + -v, --version Output the version number of 'webpack', 'webpack-cli' and 'webpack-dev-server' and other packages. + -h, --help [verbose] Display help for commands and options. + +──────────────────────────────────────────────────────────────────────── +ℹ Run 'webpack --help=verbose' to see all available commands and options. + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information for 'i' command using the "--help verbose" option: stderr 1`] = `""`; + +exports[`help should show help information for 'i' command using the "--help verbose" option: stdout 1`] = ` +" +⬡ webpack info +──────────────────────────────────────────────────────────────────────── +Outputs information about your system. + +Usage: webpack info|i [options] + +Options +──────────────────────────────────────────────────────────────────────── + -o, --output To get the output in a specified format (accept json or markdown) + -a, --additional-package Adds additional packages to the output + +Global options +──────────────────────────────────────────────────────────────────────── + --color Enable colors on console. + --no-color Disable colors on console. + -v, --version Output the version number of 'webpack', 'webpack-cli' and 'webpack-dev-server' and other packages. + -h, --help [verbose] Display help for commands and options. + +──────────────────────────────────────────────────────────────────────── + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information for 'i' command using the "--help" option: stderr 1`] = `""`; + +exports[`help should show help information for 'i' command using the "--help" option: stdout 1`] = ` +" +⬡ webpack info +──────────────────────────────────────────────────────────────────────── +Outputs information about your system. + +Usage: webpack info|i [options] + +Options +──────────────────────────────────────────────────────────────────────── + -o, --output To get the output in a specified format (accept json or markdown) + -a, --additional-package Adds additional packages to the output + +Global options +──────────────────────────────────────────────────────────────────────── + --color Enable colors on console. + --no-color Disable colors on console. + -v, --version Output the version number of 'webpack', 'webpack-cli' and 'webpack-dev-server' and other packages. + -h, --help [verbose] Display help for commands and options. + +──────────────────────────────────────────────────────────────────────── +ℹ Run 'webpack --help=verbose' to see all available commands and options. + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information for 'info' and respect the "--color" flag using the "--help" option: stderr 1`] = `""`; + +exports[`help should show help information for 'info' and respect the "--color" flag using the "--help" option: stdout 1`] = ` +" +⬡ webpack info +──────────────────────────────────────────────────────────────────────── +Outputs information about your system. + +Usage: webpack info|i [options] + +Options +──────────────────────────────────────────────────────────────────────── + -o, --output To get the output in a specified format (accept json or markdown) + -a, --additional-package Adds additional packages to the output + +Global options +──────────────────────────────────────────────────────────────────────── + --color Enable colors on console. + --no-color Disable colors on console. + -v, --version Output the version number of 'webpack', 'webpack-cli' and 'webpack-dev-server' and other packages. + -h, --help [verbose] Display help for commands and options. + +──────────────────────────────────────────────────────────────────────── +ℹ Run 'webpack --help=verbose' to see all available commands and options. + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information for 'info' and respect the "--no-color" flag using the "--help" option: stderr 1`] = `""`; + +exports[`help should show help information for 'info' and respect the "--no-color" flag using the "--help" option: stdout 1`] = ` +" +⬡ webpack info +──────────────────────────────────────────────────────────────────────── +Outputs information about your system. + +Usage: webpack info|i [options] + +Options +──────────────────────────────────────────────────────────────────────── + -o, --output To get the output in a specified format (accept json or markdown) + -a, --additional-package Adds additional packages to the output + +Global options +──────────────────────────────────────────────────────────────────────── + --color Enable colors on console. + --no-color Disable colors on console. + -v, --version Output the version number of 'webpack', 'webpack-cli' and 'webpack-dev-server' and other packages. + -h, --help [verbose] Display help for commands and options. + +──────────────────────────────────────────────────────────────────────── +ℹ Run 'webpack --help=verbose' to see all available commands and options. + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information for 'info' command using command syntax: stderr 1`] = `""`; + +exports[`help should show help information for 'info' command using command syntax: stdout 1`] = ` +" +⬡ webpack info +──────────────────────────────────────────────────────────────────────── +Outputs information about your system. + +Usage: webpack info|i [options] + +Options +──────────────────────────────────────────────────────────────────────── + -o, --output To get the output in a specified format (accept json or markdown) + -a, --additional-package Adds additional packages to the output + +Global options +──────────────────────────────────────────────────────────────────────── + --color Enable colors on console. + --no-color Disable colors on console. + -v, --version Output the version number of 'webpack', 'webpack-cli' and 'webpack-dev-server' and other packages. + -h, --help [verbose] Display help for commands and options. + +──────────────────────────────────────────────────────────────────────── +ℹ Run 'webpack --help=verbose' to see all available commands and options. + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information for 'info' command using the "--help verbose" option: stderr 1`] = `""`; + +exports[`help should show help information for 'info' command using the "--help verbose" option: stdout 1`] = ` +" +⬡ webpack info +──────────────────────────────────────────────────────────────────────── +Outputs information about your system. + +Usage: webpack info|i [options] + +Options +──────────────────────────────────────────────────────────────────────── + -o, --output To get the output in a specified format (accept json or markdown) + -a, --additional-package Adds additional packages to the output + +Global options +──────────────────────────────────────────────────────────────────────── + --color Enable colors on console. + --no-color Disable colors on console. + -v, --version Output the version number of 'webpack', 'webpack-cli' and 'webpack-dev-server' and other packages. + -h, --help [verbose] Display help for commands and options. + +──────────────────────────────────────────────────────────────────────── + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information for 'info' command using the "--help" option: stderr 1`] = `""`; + +exports[`help should show help information for 'info' command using the "--help" option: stdout 1`] = ` +" +⬡ webpack info +──────────────────────────────────────────────────────────────────────── +Outputs information about your system. + +Usage: webpack info|i [options] + +Options +──────────────────────────────────────────────────────────────────────── + -o, --output To get the output in a specified format (accept json or markdown) + -a, --additional-package Adds additional packages to the output + +Global options +──────────────────────────────────────────────────────────────────────── + --color Enable colors on console. + --no-color Disable colors on console. + -v, --version Output the version number of 'webpack', 'webpack-cli' and 'webpack-dev-server' and other packages. + -h, --help [verbose] Display help for commands and options. + +──────────────────────────────────────────────────────────────────────── +ℹ Run 'webpack --help=verbose' to see all available commands and options. + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information for 's' command using command syntax: stderr 1`] = `""`; + +exports[`help should show help information for 's' command using command syntax: stdout 1`] = ` +" +⬡ webpack serve +──────────────────────────────────────────────────────────────────────── +Run the webpack dev server and watch for source file changes while serving. + +Usage: webpack serve|server|s [entries...] [options] + +Options +──────────────────────────────────────────────────────────────────────── + -c, --config Provide path to one or more webpack configuration files to process, e.g. "./webpack.config.js". + --config-name Name(s) of particular configuration(s) to use if configuration file exports an array of multiple configurations. + -m, --merge Merge two or more configurations using 'webpack-merge'. + --env Environment variables passed to the configuration when it is a function, e.g. "myvar" or "myvar=myval". + --config-node-env Sets process.env.NODE_ENV to the specified value for access within the configuration. + --analyze It invokes webpack-bundle-analyzer plugin to get bundle information. + --progress [value] Print compilation progress during build. + -j, --json [pathToJsonFile] Prints result as JSON or store it in a file. + --fail-on-warnings Stop webpack-cli process with non-zero exit code on warnings from webpack. + --disable-interpret Disable interpret for loading the config file. + -d, --devtool A developer tool to enhance debugging (false | eval | [inline-|hidden-|eval-][nosources-][cheap-[module-]]source-map). + --no-devtool Negative 'devtool' option. + --entry A module that is loaded upon startup. Only the last one is exported. + -e, --extends Path to the configuration to be extended (only works when using webpack-cli). + --mode Enable production optimizations or development hints. + --name Name of the configuration. Used when loading multiple configurations. + -o, --output-path The output directory as **absolute path** (required). + --stats [value] Stats options object or preset name. + -t, --target Specific environment, runtime, or syntax. Environment to build for. An array of environments to build for all of them when possible. + -w, --watch Enter watch mode, which rebuilds on file change. + --watch-options-stdin Stop watching when stdin stream has ended. + --allowed-hosts Allows to enumerate the hosts from which access to the dev server are allowed (useful when you are proxying dev server, by default is 'auto'). + --allowed-hosts-reset Clear all items provided in 'allowedHosts' configuration. Allows to enumerate the hosts from which access to the dev server are allowed (useful when you are proxying dev server, by default is 'auto'). + --bonjour Allows to broadcasts dev server via ZeroConf networking on start. + --no-bonjour Disallows to broadcasts dev server via ZeroConf networking on start. + --no-client Disables client script. + --client-logging Allows to set log level in the browser. + --client-overlay Enables a full-screen overlay in the browser when there are compiler errors or warnings. + --no-client-overlay Disables the full-screen overlay in the browser when there are compiler errors or warnings. + --client-overlay-errors Enables a full-screen overlay in the browser when there are compiler errors. + --no-client-overlay-errors Disables the full-screen overlay in the browser when there are compiler errors. + --client-overlay-warnings Enables a full-screen overlay in the browser when there are compiler warnings. + --no-client-overlay-warnings Disables the full-screen overlay in the browser when there are compiler warnings. + --client-overlay-runtime-errors Enables a full-screen overlay in the browser when there are uncaught runtime errors. + --no-client-overlay-runtime-errors Disables the full-screen overlay in the browser when there are uncaught runtime errors. + --client-overlay-trusted-types-policy-name The name of a Trusted Types policy for the overlay. Defaults to 'webpack-dev-server#overlay'. + --client-progress [value] Displays compilation progress in the browser. Options include 'linear' and 'circular' for visual indicators. + --no-client-progress Does not display compilation progress in the browser. + --client-reconnect [value] Tells dev-server the number of times it should try to reconnect the client. + --no-client-reconnect Tells dev-server to not to try to reconnect the client. + --client-web-socket-transport Allows to set custom web socket transport to communicate with dev server. + --client-web-socket-url Allows to specify URL to web socket server (useful when you're proxying dev server and client script does not always know where to connect to). + --client-web-socket-url-hostname Tells clients connected to devServer to use the provided hostname. + --client-web-socket-url-pathname Tells clients connected to devServer to use the provided path to connect. + --client-web-socket-url-password Tells clients connected to devServer to use the provided password to authenticate. + --client-web-socket-url-port Tells clients connected to devServer to use the provided port. + --client-web-socket-url-protocol Tells clients connected to devServer to use the provided protocol. + --client-web-socket-url-username Tells clients connected to devServer to use the provided username to authenticate. + --compress Enables gzip compression for everything served. + --no-compress Disables gzip compression for everything served. + --history-api-fallback Allows to proxy requests through a specified index page (by default 'index.html'), useful for Single Page Applications that utilise the HTML5 History API. + --no-history-api-fallback Disallows to proxy requests through a specified index page. + --host Allows to specify a hostname to use. + --hot [value] Enables Hot Module Replacement. + --no-hot Disables Hot Module Replacement. + --ipc [value] Listen to a unix socket. + --live-reload Enables reload/refresh the page(s) when file changes are detected (enabled by default). + --no-live-reload Disables reload/refresh the page(s) when file changes are detected (enabled by default). + --open [value...] Allows to configure dev server to open the browser(s) and page(s) after server had been started (set it to true to open your default browser). + --no-open Does not open the default browser. + --open-target Opens specified page in browser. + --open-app-name Open specified browser. + --open-reset Clear all items provided in 'open' configuration. Allows to configure dev server to open the browser(s) and page(s) after server had been started (set it to true to open your default browser). + --open-target-reset Clear all items provided in 'open.target' configuration. Opens specified page in browser. + --open-app-name-reset Clear all items provided in 'open.app.name' configuration. Open specified browser. + --port Allows to specify a port to use. + --server-type Allows to set server and options (by default 'http'). + --server-options-passphrase Passphrase for a pfx file. + --server-options-request-cert Request for an SSL certificate. + --no-server-options-request-cert Does not request for an SSL certificate. + --server-options-ca Path to an SSL CA certificate or content of an SSL CA certificate. + --server-options-ca-reset Clear all items provided in 'server.options.ca' configuration. Path to an SSL CA certificate or content of an SSL CA certificate. + --server-options-cert Path to an SSL certificate or content of an SSL certificate. + --server-options-cert-reset Clear all items provided in 'server.options.cert' configuration. Path to an SSL certificate or content of an SSL certificate. + --server-options-crl Path to PEM formatted CRLs (Certificate Revocation Lists) or content of PEM formatted CRLs (Certificate Revocation Lists). + --server-options-crl-reset Clear all items provided in 'server.options.crl' configuration. Path to PEM formatted CRLs (Certificate Revocation Lists) or content of PEM formatted CRLs (Certificate Revocation Lists). + --server-options-key Path to an SSL key or content of an SSL key. + --server-options-key-reset Clear all items provided in 'server.options.key' configuration. Path to an SSL key or content of an SSL key. + --server-options-pfx Path to an SSL pfx file or content of an SSL pfx file. + --server-options-pfx-reset Clear all items provided in 'server.options.pfx' configuration. Path to an SSL pfx file or content of an SSL pfx file. + --static [value...] Allows to configure options for serving static files from directory (by default 'public' directory). + --no-static Disallows to configure options for serving static files from directory. + --static-directory Directory for static contents. + --static-public-path The static files will be available in the browser under this public path. + --static-serve-index Tells dev server to use serveIndex middleware when enabled. + --no-static-serve-index Does not tell dev server to use serveIndex middleware. + --static-watch Watches for files in static content directory. + --no-static-watch Does not watch for files in static content directory. + --static-reset Clear all items provided in 'static' configuration. Allows to configure options for serving static files from directory (by default 'public' directory). + --static-public-path-reset Clear all items provided in 'static.publicPath' configuration. The static files will be available in the browser under this public path. + --watch-files Allows to configure list of globs/directories/files to watch for file changes. + --watch-files-reset Clear all items provided in 'watchFiles' configuration. Allows to configure list of globs/directories/files to watch for file changes. + --no-web-socket-server Disallows to set web socket server and options. + --web-socket-server-type Allows to set web socket server and options (by default 'ws'). + +Global options +──────────────────────────────────────────────────────────────────────── + --color Enable colors on console. + --no-color Disable colors on console. + -v, --version Output the version number of 'webpack', 'webpack-cli' and 'webpack-dev-server' and other packages. + -h, --help [verbose] Display help for commands and options. + +──────────────────────────────────────────────────────────────────────── +ℹ Run 'webpack --help=verbose' to see all available commands and options. + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information for 's' command using the "--help verbose" option: stderr 1`] = `""`; + +exports[`help should show help information for 's' command using the "--help verbose" option: stdout 1`] = ` +" +⬡ webpack serve +──────────────────────────────────────────────────────────────────────── +Run the webpack dev server and watch for source file changes while serving. + +Usage: webpack serve|server|s [entries...] [options] + +Options +──────────────────────────────────────────────────────────────────────── + -c, --config Provide path to one or more webpack configuration files to process, e.g. "./webpack.config.js". + --config-name Name(s) of particular configuration(s) to use if configuration file exports an array of multiple configurations. + -m, --merge Merge two or more configurations using 'webpack-merge'. + --env Environment variables passed to the configuration when it is a function, e.g. "myvar" or "myvar=myval". + --config-node-env Sets process.env.NODE_ENV to the specified value for access within the configuration. + --analyze It invokes webpack-bundle-analyzer plugin to get bundle information. + --progress [value] Print compilation progress during build. + -j, --json [pathToJsonFile] Prints result as JSON or store it in a file. + --fail-on-warnings Stop webpack-cli process with non-zero exit code on warnings from webpack. + --disable-interpret Disable interpret for loading the config file. + --no-amd Negative 'amd' option. + --bail Report the first error as a hard error instead of tolerating it. + --no-bail Negative 'bail' option. + --cache Enable in memory caching. Disable caching. + --no-cache Negative 'cache' option. + --cache-cache-unaffected Additionally cache computation of modules that are unchanged and reference only unchanged modules. + --no-cache-cache-unaffected Negative 'cache-cache-unaffected' option. + --cache-max-generations Number of generations unused cache entries stay in memory cache + at stack. + +Global options +──────────────────────────────────────────────────────────────────────── + --color Enable colors on console. + --no-color Disable colors on console. + -v, --version Output the version number of 'webpack', 'webpack-cli' and 'webpack-dev-server' and other packages. + -h, --help [verbose] Display help for commands and options. + +──────────────────────────────────────────────────────────────────────── + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information for 's' command using the "--help" option: stderr 1`] = `""`; + +exports[`help should show help information for 's' command using the "--help" option: stdout 1`] = ` +" +⬡ webpack serve +──────────────────────────────────────────────────────────────────────── +Run the webpack dev server and watch for source file changes while serving. + +Usage: webpack serve|server|s [entries...] [options] + +Options +──────────────────────────────────────────────────────────────────────── + -c, --config Provide path to one or more webpack configuration files to process, e.g. "./webpack.config.js". + --config-name Name(s) of particular configuration(s) to use if configuration file exports an array of multiple configurations. + -m, --merge Merge two or more configurations using 'webpack-merge'. + --env Environment variables passed to the configuration when it is a function, e.g. "myvar" or "myvar=myval". + --config-node-env Sets process.env.NODE_ENV to the specified value for access within the configuration. + --analyze It invokes webpack-bundle-analyzer plugin to get bundle information. + --progress [value] Print compilation progress during build. + -j, --json [pathToJsonFile] Prints result as JSON or store it in a file. + --fail-on-warnings Stop webpack-cli process with non-zero exit code on warnings from webpack. + --disable-interpret Disable interpret for loading the config file. + -d, --devtool A developer tool to enhance debugging (false | eval | [inline-|hidden-|eval-][nosources-][cheap-[module-]]source-map). + --no-devtool Negative 'devtool' option. + --entry A module that is loaded upon startup. Only the last one is exported. + -e, --extends Path to the configuration to be extended (only works when using webpack-cli). + --mode Enable production optimizations or development hints. + --name Name of the configuration. Used when loading multiple configurations. + -o, --output-path The output directory as **absolute path** (required). + --stats [value] Stats options object or preset name. + -t, --target Specific environment, runtime, or syntax. Environment to build for. An array of environments to build for all of them when possible. + -w, --watch Enter watch mode, which rebuilds on file change. + --watch-options-stdin Stop watching when stdin stream has ended. + --allowed-hosts Allows to enumerate the hosts from which access to the dev server are allowed (useful when you are proxying dev server, by default is 'auto'). + --allowed-hosts-reset Clear all items provided in 'allowedHosts' configuration. Allows to enumerate the hosts from which access to the dev server are allowed (useful when you are proxying dev server, by default is 'auto'). + --bonjour Allows to broadcasts dev server via ZeroConf networking on start. + --no-bonjour Disallows to broadcasts dev server via ZeroConf networking on start. + --no-client Disables client script. + --client-logging Allows to set log level in the browser. + --client-overlay Enables a full-screen overlay in the browser when there are compiler errors or warnings. + --no-client-overlay Disables the full-screen overlay in the browser when there are compiler errors or warnings. + --client-overlay-errors Enables a full-screen overlay in the browser when there are compiler errors. + --no-client-overlay-errors Disables the full-screen overlay in the browser when there are compiler errors. + --client-overlay-warnings Enables a full-screen overlay in the browser when there are compiler warnings. + --no-client-overlay-warnings Disables the full-screen overlay in the browser when there are compiler warnings. + --client-overlay-runtime-errors Enables a full-screen overlay in the browser when there are uncaught runtime errors. + --no-client-overlay-runtime-errors Disables the full-screen overlay in the browser when there are uncaught runtime errors. + --client-overlay-trusted-types-policy-name The name of a Trusted Types policy for the overlay. Defaults to 'webpack-dev-server#overlay'. + --client-progress [value] Displays compilation progress in the browser. Options include 'linear' and 'circular' for visual indicators. + --no-client-progress Does not display compilation progress in the browser. + --client-reconnect [value] Tells dev-server the number of times it should try to reconnect the client. + --no-client-reconnect Tells dev-server to not to try to reconnect the client. + --client-web-socket-transport Allows to set custom web socket transport to communicate with dev server. + --client-web-socket-url Allows to specify URL to web socket server (useful when you're proxying dev server and client script does not always know where to connect to). + --client-web-socket-url-hostname Tells clients connected to devServer to use the provided hostname. + --client-web-socket-url-pathname Tells clients connected to devServer to use the provided path to connect. + --client-web-socket-url-password Tells clients connected to devServer to use the provided password to authenticate. + --client-web-socket-url-port Tells clients connected to devServer to use the provided port. + --client-web-socket-url-protocol Tells clients connected to devServer to use the provided protocol. + --client-web-socket-url-username Tells clients connected to devServer to use the provided username to authenticate. + --compress Enables gzip compression for everything served. + --no-compress Disables gzip compression for everything served. + --history-api-fallback Allows to proxy requests through a specified index page (by default 'index.html'), useful for Single Page Applications that utilise the HTML5 History API. + --no-history-api-fallback Disallows to proxy requests through a specified index page. + --host Allows to specify a hostname to use. + --hot [value] Enables Hot Module Replacement. + --no-hot Disables Hot Module Replacement. + --ipc [value] Listen to a unix socket. + --live-reload Enables reload/refresh the page(s) when file changes are detected (enabled by default). + --no-live-reload Disables reload/refresh the page(s) when file changes are detected (enabled by default). + --open [value...] Allows to configure dev server to open the browser(s) and page(s) after server had been started (set it to true to open your default browser). + --no-open Does not open the default browser. + --open-target Opens specified page in browser. + --open-app-name Open specified browser. + --open-reset Clear all items provided in 'open' configuration. Allows to configure dev server to open the browser(s) and page(s) after server had been started (set it to true to open your default browser). + --open-target-reset Clear all items provided in 'open.target' configuration. Opens specified page in browser. + --open-app-name-reset Clear all items provided in 'open.app.name' configuration. Open specified browser. + --port Allows to specify a port to use. + --server-type Allows to set server and options (by default 'http'). + --server-options-passphrase Passphrase for a pfx file. + --server-options-request-cert Request for an SSL certificate. + --no-server-options-request-cert Does not request for an SSL certificate. + --server-options-ca Path to an SSL CA certificate or content of an SSL CA certificate. + --server-options-ca-reset Clear all items provided in 'server.options.ca' configuration. Path to an SSL CA certificate or content of an SSL CA certificate. + --server-options-cert Path to an SSL certificate or content of an SSL certificate. + --server-options-cert-reset Clear all items provided in 'server.options.cert' configuration. Path to an SSL certificate or content of an SSL certificate. + --server-options-crl Path to PEM formatted CRLs (Certificate Revocation Lists) or content of PEM formatted CRLs (Certificate Revocation Lists). + --server-options-crl-reset Clear all items provided in 'server.options.crl' configuration. Path to PEM formatted CRLs (Certificate Revocation Lists) or content of PEM formatted CRLs (Certificate Revocation Lists). + --server-options-key Path to an SSL key or content of an SSL key. + --server-options-key-reset Clear all items provided in 'server.options.key' configuration. Path to an SSL key or content of an SSL key. + --server-options-pfx Path to an SSL pfx file or content of an SSL pfx file. + --server-options-pfx-reset Clear all items provided in 'server.options.pfx' configuration. Path to an SSL pfx file or content of an SSL pfx file. + --static [value...] Allows to configure options for serving static files from directory (by default 'public' directory). + --no-static Disallows to configure options for serving static files from directory. + --static-directory Directory for static contents. + --static-public-path The static files will be available in the browser under this public path. + --static-serve-index Tells dev server to use serveIndex middleware when enabled. + --no-static-serve-index Does not tell dev server to use serveIndex middleware. + --static-watch Watches for files in static content directory. + --no-static-watch Does not watch for files in static content directory. + --static-reset Clear all items provided in 'static' configuration. Allows to configure options for serving static files from directory (by default 'public' directory). + --static-public-path-reset Clear all items provided in 'static.publicPath' configuration. The static files will be available in the browser under this public path. + --watch-files Allows to configure list of globs/directories/files to watch for file changes. + --watch-files-reset Clear all items provided in 'watchFiles' configuration. Allows to configure list of globs/directories/files to watch for file changes. + --no-web-socket-server Disallows to set web socket server and options. + --web-socket-server-type Allows to set web socket server and options (by default 'ws'). + +Global options +──────────────────────────────────────────────────────────────────────── + --color Enable colors on console. + --no-color Disable colors on console. + -v, --version Output the version number of 'webpack', 'webpack-cli' and 'webpack-dev-server' and other packages. + -h, --help [verbose] Display help for commands and options. + +──────────────────────────────────────────────────────────────────────── +ℹ Run 'webpack --help=verbose' to see all available commands and options. + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information for 'serve' and respect the "--color" flag using the "--help" option: stderr 1`] = `""`; + +exports[`help should show help information for 'serve' and respect the "--color" flag using the "--help" option: stdout 1`] = ` +" +⬡ webpack serve +──────────────────────────────────────────────────────────────────────── +Run the webpack dev server and watch for source file changes while serving. + +Usage: webpack serve|server|s [entries...] [options] + +Options +──────────────────────────────────────────────────────────────────────── + -c, --config Provide path to one or more webpack configuration files to process, e.g. "./webpack.config.js". + --config-name Name(s) of particular configuration(s) to use if configuration file exports an array of multiple configurations. + -m, --merge Merge two or more configurations using 'webpack-merge'. + --env Environment variables passed to the configuration when it is a function, e.g. "myvar" or "myvar=myval". + --config-node-env Sets process.env.NODE_ENV to the specified value for access within the configuration. + --analyze It invokes webpack-bundle-analyzer plugin to get bundle information. + --progress [value] Print compilation progress during build. + -j, --json [pathToJsonFile] Prints result as JSON or store it in a file. + --fail-on-warnings Stop webpack-cli process with non-zero exit code on warnings from webpack. + --disable-interpret Disable interpret for loading the config file. + -d, --devtool A developer tool to enhance debugging (false | eval | [inline-|hidden-|eval-][nosources-][cheap-[module-]]source-map). + --no-devtool Negative 'devtool' option. + --entry A module that is loaded upon startup. Only the last one is exported. + -e, --extends Path to the configuration to be extended (only works when using webpack-cli). + --mode Enable production optimizations or development hints. + --name Name of the configuration. Used when loading multiple configurations. + -o, --output-path The output directory as **absolute path** (required). + --stats [value] Stats options object or preset name. + -t, --target Specific environment, runtime, or syntax. Environment to build for. An array of environments to build for all of them when possible. + -w, --watch Enter watch mode, which rebuilds on file change. + --watch-options-stdin Stop watching when stdin stream has ended. + --allowed-hosts Allows to enumerate the hosts from which access to the dev server are allowed (useful when you are proxying dev server, by default is 'auto'). + --allowed-hosts-reset Clear all items provided in 'allowedHosts' configuration. Allows to enumerate the hosts from which access to the dev server are allowed (useful when you are proxying dev server, by default is 'auto'). + --bonjour Allows to broadcasts dev server via ZeroConf networking on start. + --no-bonjour Disallows to broadcasts dev server via ZeroConf networking on start. + --no-client Disables client script. + --client-logging Allows to set log level in the browser. + --client-overlay Enables a full-screen overlay in the browser when there are compiler errors or warnings. + --no-client-overlay Disables the full-screen overlay in the browser when there are compiler errors or warnings. + --client-overlay-errors Enables a full-screen overlay in the browser when there are compiler errors. + --no-client-overlay-errors Disables the full-screen overlay in the browser when there are compiler errors. + --client-overlay-warnings Enables a full-screen overlay in the browser when there are compiler warnings. + --no-client-overlay-warnings Disables the full-screen overlay in the browser when there are compiler warnings. + --client-overlay-runtime-errors Enables a full-screen overlay in the browser when there are uncaught runtime errors. + --no-client-overlay-runtime-errors Disables the full-screen overlay in the browser when there are uncaught runtime errors. + --client-overlay-trusted-types-policy-name The name of a Trusted Types policy for the overlay. Defaults to 'webpack-dev-server#overlay'. + --client-progress [value] Displays compilation progress in the browser. Options include 'linear' and 'circular' for visual indicators. + --no-client-progress Does not display compilation progress in the browser. + --client-reconnect [value] Tells dev-server the number of times it should try to reconnect the client. + --no-client-reconnect Tells dev-server to not to try to reconnect the client. + --client-web-socket-transport Allows to set custom web socket transport to communicate with dev server. + --client-web-socket-url Allows to specify URL to web socket server (useful when you're proxying dev server and client script does not always know where to connect to). + --client-web-socket-url-hostname Tells clients connected to devServer to use the provided hostname. + --client-web-socket-url-pathname Tells clients connected to devServer to use the provided path to connect. + --client-web-socket-url-password Tells clients connected to devServer to use the provided password to authenticate. + --client-web-socket-url-port Tells clients connected to devServer to use the provided port. + --client-web-socket-url-protocol Tells clients connected to devServer to use the provided protocol. + --client-web-socket-url-username Tells clients connected to devServer to use the provided username to authenticate. + --compress Enables gzip compression for everything served. + --no-compress Disables gzip compression for everything served. + --history-api-fallback Allows to proxy requests through a specified index page (by default 'index.html'), useful for Single Page Applications that utilise the HTML5 History API. + --no-history-api-fallback Disallows to proxy requests through a specified index page. + --host Allows to specify a hostname to use. + --hot [value] Enables Hot Module Replacement. + --no-hot Disables Hot Module Replacement. + --ipc [value] Listen to a unix socket. + --live-reload Enables reload/refresh the page(s) when file changes are detected (enabled by default). + --no-live-reload Disables reload/refresh the page(s) when file changes are detected (enabled by default). + --open [value...] Allows to configure dev server to open the browser(s) and page(s) after server had been started (set it to true to open your default browser). + --no-open Does not open the default browser. + --open-target Opens specified page in browser. + --open-app-name Open specified browser. + --open-reset Clear all items provided in 'open' configuration. Allows to configure dev server to open the browser(s) and page(s) after server had been started (set it to true to open your default browser). + --open-target-reset Clear all items provided in 'open.target' configuration. Opens specified page in browser. + --open-app-name-reset Clear all items provided in 'open.app.name' configuration. Open specified browser. + --port Allows to specify a port to use. + --server-type Allows to set server and options (by default 'http'). + --server-options-passphrase Passphrase for a pfx file. + --server-options-request-cert Request for an SSL certificate. + --no-server-options-request-cert Does not request for an SSL certificate. + --server-options-ca Path to an SSL CA certificate or content of an SSL CA certificate. + --server-options-ca-reset Clear all items provided in 'server.options.ca' configuration. Path to an SSL CA certificate or content of an SSL CA certificate. + --server-options-cert Path to an SSL certificate or content of an SSL certificate. + --server-options-cert-reset Clear all items provided in 'server.options.cert' configuration. Path to an SSL certificate or content of an SSL certificate. + --server-options-crl Path to PEM formatted CRLs (Certificate Revocation Lists) or content of PEM formatted CRLs (Certificate Revocation Lists). + --server-options-crl-reset Clear all items provided in 'server.options.crl' configuration. Path to PEM formatted CRLs (Certificate Revocation Lists) or content of PEM formatted CRLs (Certificate Revocation Lists). + --server-options-key Path to an SSL key or content of an SSL key. + --server-options-key-reset Clear all items provided in 'server.options.key' configuration. Path to an SSL key or content of an SSL key. + --server-options-pfx Path to an SSL pfx file or content of an SSL pfx file. + --server-options-pfx-reset Clear all items provided in 'server.options.pfx' configuration. Path to an SSL pfx file or content of an SSL pfx file. + --static [value...] Allows to configure options for serving static files from directory (by default 'public' directory). + --no-static Disallows to configure options for serving static files from directory. + --static-directory Directory for static contents. + --static-public-path The static files will be available in the browser under this public path. + --static-serve-index Tells dev server to use serveIndex middleware when enabled. + --no-static-serve-index Does not tell dev server to use serveIndex middleware. + --static-watch Watches for files in static content directory. + --no-static-watch Does not watch for files in static content directory. + --static-reset Clear all items provided in 'static' configuration. Allows to configure options for serving static files from directory (by default 'public' directory). + --static-public-path-reset Clear all items provided in 'static.publicPath' configuration. The static files will be available in the browser under this public path. + --watch-files Allows to configure list of globs/directories/files to watch for file changes. + --watch-files-reset Clear all items provided in 'watchFiles' configuration. Allows to configure list of globs/directories/files to watch for file changes. + --no-web-socket-server Disallows to set web socket server and options. + --web-socket-server-type Allows to set web socket server and options (by default 'ws'). + +Global options +──────────────────────────────────────────────────────────────────────── + --color Enable colors on console. + --no-color Disable colors on console. + -v, --version Output the version number of 'webpack', 'webpack-cli' and 'webpack-dev-server' and other packages. + -h, --help [verbose] Display help for commands and options. + +──────────────────────────────────────────────────────────────────────── +ℹ Run 'webpack --help=verbose' to see all available commands and options. + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information for 'serve' and respect the "--no-color" flag using the "--help" option: stderr 1`] = `""`; + +exports[`help should show help information for 'serve' and respect the "--no-color" flag using the "--help" option: stdout 1`] = ` +" +⬡ webpack serve +──────────────────────────────────────────────────────────────────────── +Run the webpack dev server and watch for source file changes while serving. + +Usage: webpack serve|server|s [entries...] [options] + +Options +──────────────────────────────────────────────────────────────────────── + -c, --config Provide path to one or more webpack configuration files to process, e.g. "./webpack.config.js". + --config-name Name(s) of particular configuration(s) to use if configuration file exports an array of multiple configurations. + -m, --merge Merge two or more configurations using 'webpack-merge'. + --env Environment variables passed to the configuration when it is a function, e.g. "myvar" or "myvar=myval". + --config-node-env Sets process.env.NODE_ENV to the specified value for access within the configuration. + --analyze It invokes webpack-bundle-analyzer plugin to get bundle information. + --progress [value] Print compilation progress during build. + -j, --json [pathToJsonFile] Prints result as JSON or store it in a file. + --fail-on-warnings Stop webpack-cli process with non-zero exit code on warnings from webpack. + --disable-interpret Disable interpret for loading the config file. + -d, --devtool A developer tool to enhance debugging (false | eval | [inline-|hidden-|eval-][nosources-][cheap-[module-]]source-map). + --no-devtool Negative 'devtool' option. + --entry A module that is loaded upon startup. Only the last one is exported. + -e, --extends Path to the configuration to be extended (only works when using webpack-cli). + --mode Enable production optimizations or development hints. + --name Name of the configuration. Used when loading multiple configurations. + -o, --output-path The output directory as **absolute path** (required). + --stats [value] Stats options object or preset name. + -t, --target Specific environment, runtime, or syntax. Environment to build for. An array of environments to build for all of them when possible. + -w, --watch Enter watch mode, which rebuilds on file change. + --watch-options-stdin Stop watching when stdin stream has ended. + --allowed-hosts Allows to enumerate the hosts from which access to the dev server are allowed (useful when you are proxying dev server, by default is 'auto'). + --allowed-hosts-reset Clear all items provided in 'allowedHosts' configuration. Allows to enumerate the hosts from which access to the dev server are allowed (useful when you are proxying dev server, by default is 'auto'). + --bonjour Allows to broadcasts dev server via ZeroConf networking on start. + --no-bonjour Disallows to broadcasts dev server via ZeroConf networking on start. + --no-client Disables client script. + --client-logging Allows to set log level in the browser. + --client-overlay Enables a full-screen overlay in the browser when there are compiler errors or warnings. + --no-client-overlay Disables the full-screen overlay in the browser when there are compiler errors or warnings. + --client-overlay-errors Enables a full-screen overlay in the browser when there are compiler errors. + --no-client-overlay-errors Disables the full-screen overlay in the browser when there are compiler errors. + --client-overlay-warnings Enables a full-screen overlay in the browser when there are compiler warnings. + --no-client-overlay-warnings Disables the full-screen overlay in the browser when there are compiler warnings. + --client-overlay-runtime-errors Enables a full-screen overlay in the browser when there are uncaught runtime errors. + --no-client-overlay-runtime-errors Disables the full-screen overlay in the browser when there are uncaught runtime errors. + --client-overlay-trusted-types-policy-name The name of a Trusted Types policy for the overlay. Defaults to 'webpack-dev-server#overlay'. + --client-progress [value] Displays compilation progress in the browser. Options include 'linear' and 'circular' for visual indicators. + --no-client-progress Does not display compilation progress in the browser. + --client-reconnect [value] Tells dev-server the number of times it should try to reconnect the client. + --no-client-reconnect Tells dev-server to not to try to reconnect the client. + --client-web-socket-transport Allows to set custom web socket transport to communicate with dev server. + --client-web-socket-url Allows to specify URL to web socket server (useful when you're proxying dev server and client script does not always know where to connect to). + --client-web-socket-url-hostname Tells clients connected to devServer to use the provided hostname. + --client-web-socket-url-pathname Tells clients connected to devServer to use the provided path to connect. + --client-web-socket-url-password Tells clients connected to devServer to use the provided password to authenticate. + --client-web-socket-url-port Tells clients connected to devServer to use the provided port. + --client-web-socket-url-protocol Tells clients connected to devServer to use the provided protocol. + --client-web-socket-url-username Tells clients connected to devServer to use the provided username to authenticate. + --compress Enables gzip compression for everything served. + --no-compress Disables gzip compression for everything served. + --history-api-fallback Allows to proxy requests through a specified index page (by default 'index.html'), useful for Single Page Applications that utilise the HTML5 History API. + --no-history-api-fallback Disallows to proxy requests through a specified index page. + --host Allows to specify a hostname to use. + --hot [value] Enables Hot Module Replacement. + --no-hot Disables Hot Module Replacement. + --ipc [value] Listen to a unix socket. + --live-reload Enables reload/refresh the page(s) when file changes are detected (enabled by default). + --no-live-reload Disables reload/refresh the page(s) when file changes are detected (enabled by default). + --open [value...] Allows to configure dev server to open the browser(s) and page(s) after server had been started (set it to true to open your default browser). + --no-open Does not open the default browser. + --open-target Opens specified page in browser. + --open-app-name Open specified browser. + --open-reset Clear all items provided in 'open' configuration. Allows to configure dev server to open the browser(s) and page(s) after server had been started (set it to true to open your default browser). + --open-target-reset Clear all items provided in 'open.target' configuration. Opens specified page in browser. + --open-app-name-reset Clear all items provided in 'open.app.name' configuration. Open specified browser. + --port Allows to specify a port to use. + --server-type Allows to set server and options (by default 'http'). + --server-options-passphrase Passphrase for a pfx file. + --server-options-request-cert Request for an SSL certificate. + --no-server-options-request-cert Does not request for an SSL certificate. + --server-options-ca Path to an SSL CA certificate or content of an SSL CA certificate. + --server-options-ca-reset Clear all items provided in 'server.options.ca' configuration. Path to an SSL CA certificate or content of an SSL CA certificate. + --server-options-cert Path to an SSL certificate or content of an SSL certificate. + --server-options-cert-reset Clear all items provided in 'server.options.cert' configuration. Path to an SSL certificate or content of an SSL certificate. + --server-options-crl Path to PEM formatted CRLs (Certificate Revocation Lists) or content of PEM formatted CRLs (Certificate Revocation Lists). + --server-options-crl-reset Clear all items provided in 'server.options.crl' configuration. Path to PEM formatted CRLs (Certificate Revocation Lists) or content of PEM formatted CRLs (Certificate Revocation Lists). + --server-options-key Path to an SSL key or content of an SSL key. + --server-options-key-reset Clear all items provided in 'server.options.key' configuration. Path to an SSL key or content of an SSL key. + --server-options-pfx Path to an SSL pfx file or content of an SSL pfx file. + --server-options-pfx-reset Clear all items provided in 'server.options.pfx' configuration. Path to an SSL pfx file or content of an SSL pfx file. + --static [value...] Allows to configure options for serving static files from directory (by default 'public' directory). + --no-static Disallows to configure options for serving static files from directory. + --static-directory Directory for static contents. + --static-public-path The static files will be available in the browser under this public path. + --static-serve-index Tells dev server to use serveIndex middleware when enabled. + --no-static-serve-index Does not tell dev server to use serveIndex middleware. + --static-watch Watches for files in static content directory. + --no-static-watch Does not watch for files in static content directory. + --static-reset Clear all items provided in 'static' configuration. Allows to configure options for serving static files from directory (by default 'public' directory). + --static-public-path-reset Clear all items provided in 'static.publicPath' configuration. The static files will be available in the browser under this public path. + --watch-files Allows to configure list of globs/directories/files to watch for file changes. + --watch-files-reset Clear all items provided in 'watchFiles' configuration. Allows to configure list of globs/directories/files to watch for file changes. + --no-web-socket-server Disallows to set web socket server and options. + --web-socket-server-type Allows to set web socket server and options (by default 'ws'). + +Global options +──────────────────────────────────────────────────────────────────────── + --color Enable colors on console. + --no-color Disable colors on console. + -v, --version Output the version number of 'webpack', 'webpack-cli' and 'webpack-dev-server' and other packages. + -h, --help [verbose] Display help for commands and options. + +──────────────────────────────────────────────────────────────────────── +ℹ Run 'webpack --help=verbose' to see all available commands and options. + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information for 'serve' command using command syntax: stderr 1`] = `""`; + +exports[`help should show help information for 'serve' command using command syntax: stdout 1`] = ` +" +⬡ webpack serve +──────────────────────────────────────────────────────────────────────── +Run the webpack dev server and watch for source file changes while serving. + +Usage: webpack serve|server|s [entries...] [options] + +Options +──────────────────────────────────────────────────────────────────────── + -c, --config Provide path to one or more webpack configuration files to process, e.g. "./webpack.config.js". + --config-name Name(s) of particular configuration(s) to use if configuration file exports an array of multiple configurations. + -m, --merge Merge two or more configurations using 'webpack-merge'. + --env Environment variables passed to the configuration when it is a function, e.g. "myvar" or "myvar=myval". + --config-node-env Sets process.env.NODE_ENV to the specified value for access within the configuration. + --analyze It invokes webpack-bundle-analyzer plugin to get bundle information. + --progress [value] Print compilation progress during build. + -j, --json [pathToJsonFile] Prints result as JSON or store it in a file. + --fail-on-warnings Stop webpack-cli process with non-zero exit code on warnings from webpack. + --disable-interpret Disable interpret for loading the config file. + -d, --devtool A developer tool to enhance debugging (false | eval | [inline-|hidden-|eval-][nosources-][cheap-[module-]]source-map). + --no-devtool Negative 'devtool' option. + --entry A module that is loaded upon startup. Only the last one is exported. + -e, --extends Path to the configuration to be extended (only works when using webpack-cli). + --mode Enable production optimizations or development hints. + --name Name of the configuration. Used when loading multiple configurations. + -o, --output-path The output directory as **absolute path** (required). + --stats [value] Stats options object or preset name. + -t, --target Specific environment, runtime, or syntax. Environment to build for. An array of environments to build for all of them when possible. + -w, --watch Enter watch mode, which rebuilds on file change. + --watch-options-stdin Stop watching when stdin stream has ended. + --allowed-hosts Allows to enumerate the hosts from which access to the dev server are allowed (useful when you are proxying dev server, by default is 'auto'). + --allowed-hosts-reset Clear all items provided in 'allowedHosts' configuration. Allows to enumerate the hosts from which access to the dev server are allowed (useful when you are proxying dev server, by default is 'auto'). + --bonjour Allows to broadcasts dev server via ZeroConf networking on start. + --no-bonjour Disallows to broadcasts dev server via ZeroConf networking on start. + --no-client Disables client script. + --client-logging Allows to set log level in the browser. + --client-overlay Enables a full-screen overlay in the browser when there are compiler errors or warnings. + --no-client-overlay Disables the full-screen overlay in the browser when there are compiler errors or warnings. + --client-overlay-errors Enables a full-screen overlay in the browser when there are compiler errors. + --no-client-overlay-errors Disables the full-screen overlay in the browser when there are compiler errors. + --client-overlay-warnings Enables a full-screen overlay in the browser when there are compiler warnings. + --no-client-overlay-warnings Disables the full-screen overlay in the browser when there are compiler warnings. + --client-overlay-runtime-errors Enables a full-screen overlay in the browser when there are uncaught runtime errors. + --no-client-overlay-runtime-errors Disables the full-screen overlay in the browser when there are uncaught runtime errors. + --client-overlay-trusted-types-policy-name The name of a Trusted Types policy for the overlay. Defaults to 'webpack-dev-server#overlay'. + --client-progress [value] Displays compilation progress in the browser. Options include 'linear' and 'circular' for visual indicators. + --no-client-progress Does not display compilation progress in the browser. + --client-reconnect [value] Tells dev-server the number of times it should try to reconnect the client. + --no-client-reconnect Tells dev-server to not to try to reconnect the client. + --client-web-socket-transport Allows to set custom web socket transport to communicate with dev server. + --client-web-socket-url Allows to specify URL to web socket server (useful when you're proxying dev server and client script does not always know where to connect to). + --client-web-socket-url-hostname Tells clients connected to devServer to use the provided hostname. + --client-web-socket-url-pathname Tells clients connected to devServer to use the provided path to connect. + --client-web-socket-url-password Tells clients connected to devServer to use the provided password to authenticate. + --client-web-socket-url-port Tells clients connected to devServer to use the provided port. + --client-web-socket-url-protocol Tells clients connected to devServer to use the provided protocol. + --client-web-socket-url-username Tells clients connected to devServer to use the provided username to authenticate. + --compress Enables gzip compression for everything served. + --no-compress Disables gzip compression for everything served. + --history-api-fallback Allows to proxy requests through a specified index page (by default 'index.html'), useful for Single Page Applications that utilise the HTML5 History API. + --no-history-api-fallback Disallows to proxy requests through a specified index page. + --host Allows to specify a hostname to use. + --hot [value] Enables Hot Module Replacement. + --no-hot Disables Hot Module Replacement. + --ipc [value] Listen to a unix socket. + --live-reload Enables reload/refresh the page(s) when file changes are detected (enabled by default). + --no-live-reload Disables reload/refresh the page(s) when file changes are detected (enabled by default). + --open [value...] Allows to configure dev server to open the browser(s) and page(s) after server had been started (set it to true to open your default browser). + --no-open Does not open the default browser. + --open-target Opens specified page in browser. + --open-app-name Open specified browser. + --open-reset Clear all items provided in 'open' configuration. Allows to configure dev server to open the browser(s) and page(s) after server had been started (set it to true to open your default browser). + --open-target-reset Clear all items provided in 'open.target' configuration. Opens specified page in browser. + --open-app-name-reset Clear all items provided in 'open.app.name' configuration. Open specified browser. + --port Allows to specify a port to use. + --server-type Allows to set server and options (by default 'http'). + --server-options-passphrase Passphrase for a pfx file. + --server-options-request-cert Request for an SSL certificate. + --no-server-options-request-cert Does not request for an SSL certificate. + --server-options-ca Path to an SSL CA certificate or content of an SSL CA certificate. + --server-options-ca-reset Clear all items provided in 'server.options.ca' configuration. Path to an SSL CA certificate or content of an SSL CA certificate. + --server-options-cert Path to an SSL certificate or content of an SSL certificate. + --server-options-cert-reset Clear all items provided in 'server.options.cert' configuration. Path to an SSL certificate or content of an SSL certificate. + --server-options-crl Path to PEM formatted CRLs (Certificate Revocation Lists) or content of PEM formatted CRLs (Certificate Revocation Lists). + --server-options-crl-reset Clear all items provided in 'server.options.crl' configuration. Path to PEM formatted CRLs (Certificate Revocation Lists) or content of PEM formatted CRLs (Certificate Revocation Lists). + --server-options-key Path to an SSL key or content of an SSL key. + --server-options-key-reset Clear all items provided in 'server.options.key' configuration. Path to an SSL key or content of an SSL key. + --server-options-pfx Path to an SSL pfx file or content of an SSL pfx file. + --server-options-pfx-reset Clear all items provided in 'server.options.pfx' configuration. Path to an SSL pfx file or content of an SSL pfx file. + --static [value...] Allows to configure options for serving static files from directory (by default 'public' directory). + --no-static Disallows to configure options for serving static files from directory. + --static-directory Directory for static contents. + --static-public-path The static files will be available in the browser under this public path. + --static-serve-index Tells dev server to use serveIndex middleware when enabled. + --no-static-serve-index Does not tell dev server to use serveIndex middleware. + --static-watch Watches for files in static content directory. + --no-static-watch Does not watch for files in static content directory. + --static-reset Clear all items provided in 'static' configuration. Allows to configure options for serving static files from directory (by default 'public' directory). + --static-public-path-reset Clear all items provided in 'static.publicPath' configuration. The static files will be available in the browser under this public path. + --watch-files Allows to configure list of globs/directories/files to watch for file changes. + --watch-files-reset Clear all items provided in 'watchFiles' configuration. Allows to configure list of globs/directories/files to watch for file changes. + --no-web-socket-server Disallows to set web socket server and options. + --web-socket-server-type Allows to set web socket server and options (by default 'ws'). + +Global options +──────────────────────────────────────────────────────────────────────── + --color Enable colors on console. + --no-color Disable colors on console. + -v, --version Output the version number of 'webpack', 'webpack-cli' and 'webpack-dev-server' and other packages. + -h, --help [verbose] Display help for commands and options. + +──────────────────────────────────────────────────────────────────────── +ℹ Run 'webpack --help=verbose' to see all available commands and options. + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information for 'serve' command using the "--help verbose" option: stderr 1`] = `""`; + +exports[`help should show help information for 'serve' command using the "--help verbose" option: stdout 1`] = ` +" +⬡ webpack serve +──────────────────────────────────────────────────────────────────────── +Run the webpack dev server and watch for source file changes while serving. + +Usage: webpack serve|server|s [entries...] [options] + +Options +──────────────────────────────────────────────────────────────────────── + -c, --config Provide path to one or more webpack configuration files to process, e.g. "./webpack.config.js". + --config-name Name(s) of particular configuration(s) to use if configuration file exports an array of multiple configurations. + -m, --merge Merge two or more configurations using 'webpack-merge'. + --env Environment variables passed to the configuration when it is a function, e.g. "myvar" or "myvar=myval". + --config-node-env Sets process.env.NODE_ENV to the specified value for access within the configuration. + --analyze It invokes webpack-bundle-analyzer plugin to get bundle information. + --progress [value] Print compilation progress during build. + -j, --json [pathToJsonFile] Prints result as JSON or store it in a file. + --fail-on-warnings Stop webpack-cli process with non-zero exit code on warnings from webpack. + --disable-interpret Disable interpret for loading the config file. + --no-amd Negative 'amd' option. + --bail Report the first error as a hard error instead of tolerating it. + --no-bail Negative 'bail' option. + --cache Enable in memory caching. Disable caching. + --no-cache Negative 'cache' option. + --cache-cache-unaffected Additionally cache computation of modules that are unchanged and reference only unchanged modules. + --no-cache-cache-unaffected Negative 'cache-cache-unaffected' option. + --cache-max-generations Number of generations unused cache entries stay in memory cache + at stack. + +Global options +──────────────────────────────────────────────────────────────────────── + --color Enable colors on console. + --no-color Disable colors on console. + -v, --version Output the version number of 'webpack', 'webpack-cli' and 'webpack-dev-server' and other packages. + -h, --help [verbose] Display help for commands and options. + +──────────────────────────────────────────────────────────────────────── + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information for 'serve' command using the "--help" option: stderr 1`] = `""`; + +exports[`help should show help information for 'serve' command using the "--help" option: stdout 1`] = ` +" +⬡ webpack serve +──────────────────────────────────────────────────────────────────────── +Run the webpack dev server and watch for source file changes while serving. + +Usage: webpack serve|server|s [entries...] [options] + +Options +──────────────────────────────────────────────────────────────────────── + -c, --config Provide path to one or more webpack configuration files to process, e.g. "./webpack.config.js". + --config-name Name(s) of particular configuration(s) to use if configuration file exports an array of multiple configurations. + -m, --merge Merge two or more configurations using 'webpack-merge'. + --env Environment variables passed to the configuration when it is a function, e.g. "myvar" or "myvar=myval". + --config-node-env Sets process.env.NODE_ENV to the specified value for access within the configuration. + --analyze It invokes webpack-bundle-analyzer plugin to get bundle information. + --progress [value] Print compilation progress during build. + -j, --json [pathToJsonFile] Prints result as JSON or store it in a file. + --fail-on-warnings Stop webpack-cli process with non-zero exit code on warnings from webpack. + --disable-interpret Disable interpret for loading the config file. + -d, --devtool A developer tool to enhance debugging (false | eval | [inline-|hidden-|eval-][nosources-][cheap-[module-]]source-map). + --no-devtool Negative 'devtool' option. + --entry A module that is loaded upon startup. Only the last one is exported. + -e, --extends Path to the configuration to be extended (only works when using webpack-cli). + --mode Enable production optimizations or development hints. + --name Name of the configuration. Used when loading multiple configurations. + -o, --output-path The output directory as **absolute path** (required). + --stats [value] Stats options object or preset name. + -t, --target Specific environment, runtime, or syntax. Environment to build for. An array of environments to build for all of them when possible. + -w, --watch Enter watch mode, which rebuilds on file change. + --watch-options-stdin Stop watching when stdin stream has ended. + --allowed-hosts Allows to enumerate the hosts from which access to the dev server are allowed (useful when you are proxying dev server, by default is 'auto'). + --allowed-hosts-reset Clear all items provided in 'allowedHosts' configuration. Allows to enumerate the hosts from which access to the dev server are allowed (useful when you are proxying dev server, by default is 'auto'). + --bonjour Allows to broadcasts dev server via ZeroConf networking on start. + --no-bonjour Disallows to broadcasts dev server via ZeroConf networking on start. + --no-client Disables client script. + --client-logging Allows to set log level in the browser. + --client-overlay Enables a full-screen overlay in the browser when there are compiler errors or warnings. + --no-client-overlay Disables the full-screen overlay in the browser when there are compiler errors or warnings. + --client-overlay-errors Enables a full-screen overlay in the browser when there are compiler errors. + --no-client-overlay-errors Disables the full-screen overlay in the browser when there are compiler errors. + --client-overlay-warnings Enables a full-screen overlay in the browser when there are compiler warnings. + --no-client-overlay-warnings Disables the full-screen overlay in the browser when there are compiler warnings. + --client-overlay-runtime-errors Enables a full-screen overlay in the browser when there are uncaught runtime errors. + --no-client-overlay-runtime-errors Disables the full-screen overlay in the browser when there are uncaught runtime errors. + --client-overlay-trusted-types-policy-name The name of a Trusted Types policy for the overlay. Defaults to 'webpack-dev-server#overlay'. + --client-progress [value] Displays compilation progress in the browser. Options include 'linear' and 'circular' for visual indicators. + --no-client-progress Does not display compilation progress in the browser. + --client-reconnect [value] Tells dev-server the number of times it should try to reconnect the client. + --no-client-reconnect Tells dev-server to not to try to reconnect the client. + --client-web-socket-transport Allows to set custom web socket transport to communicate with dev server. + --client-web-socket-url Allows to specify URL to web socket server (useful when you're proxying dev server and client script does not always know where to connect to). + --client-web-socket-url-hostname Tells clients connected to devServer to use the provided hostname. + --client-web-socket-url-pathname Tells clients connected to devServer to use the provided path to connect. + --client-web-socket-url-password Tells clients connected to devServer to use the provided password to authenticate. + --client-web-socket-url-port Tells clients connected to devServer to use the provided port. + --client-web-socket-url-protocol Tells clients connected to devServer to use the provided protocol. + --client-web-socket-url-username Tells clients connected to devServer to use the provided username to authenticate. + --compress Enables gzip compression for everything served. + --no-compress Disables gzip compression for everything served. + --history-api-fallback Allows to proxy requests through a specified index page (by default 'index.html'), useful for Single Page Applications that utilise the HTML5 History API. + --no-history-api-fallback Disallows to proxy requests through a specified index page. + --host Allows to specify a hostname to use. + --hot [value] Enables Hot Module Replacement. + --no-hot Disables Hot Module Replacement. + --ipc [value] Listen to a unix socket. + --live-reload Enables reload/refresh the page(s) when file changes are detected (enabled by default). + --no-live-reload Disables reload/refresh the page(s) when file changes are detected (enabled by default). + --open [value...] Allows to configure dev server to open the browser(s) and page(s) after server had been started (set it to true to open your default browser). + --no-open Does not open the default browser. + --open-target Opens specified page in browser. + --open-app-name Open specified browser. + --open-reset Clear all items provided in 'open' configuration. Allows to configure dev server to open the browser(s) and page(s) after server had been started (set it to true to open your default browser). + --open-target-reset Clear all items provided in 'open.target' configuration. Opens specified page in browser. + --open-app-name-reset Clear all items provided in 'open.app.name' configuration. Open specified browser. + --port Allows to specify a port to use. + --server-type Allows to set server and options (by default 'http'). + --server-options-passphrase Passphrase for a pfx file. + --server-options-request-cert Request for an SSL certificate. + --no-server-options-request-cert Does not request for an SSL certificate. + --server-options-ca Path to an SSL CA certificate or content of an SSL CA certificate. + --server-options-ca-reset Clear all items provided in 'server.options.ca' configuration. Path to an SSL CA certificate or content of an SSL CA certificate. + --server-options-cert Path to an SSL certificate or content of an SSL certificate. + --server-options-cert-reset Clear all items provided in 'server.options.cert' configuration. Path to an SSL certificate or content of an SSL certificate. + --server-options-crl Path to PEM formatted CRLs (Certificate Revocation Lists) or content of PEM formatted CRLs (Certificate Revocation Lists). + --server-options-crl-reset Clear all items provided in 'server.options.crl' configuration. Path to PEM formatted CRLs (Certificate Revocation Lists) or content of PEM formatted CRLs (Certificate Revocation Lists). + --server-options-key Path to an SSL key or content of an SSL key. + --server-options-key-reset Clear all items provided in 'server.options.key' configuration. Path to an SSL key or content of an SSL key. + --server-options-pfx Path to an SSL pfx file or content of an SSL pfx file. + --server-options-pfx-reset Clear all items provided in 'server.options.pfx' configuration. Path to an SSL pfx file or content of an SSL pfx file. + --static [value...] Allows to configure options for serving static files from directory (by default 'public' directory). + --no-static Disallows to configure options for serving static files from directory. + --static-directory Directory for static contents. + --static-public-path The static files will be available in the browser under this public path. + --static-serve-index Tells dev server to use serveIndex middleware when enabled. + --no-static-serve-index Does not tell dev server to use serveIndex middleware. + --static-watch Watches for files in static content directory. + --no-static-watch Does not watch for files in static content directory. + --static-reset Clear all items provided in 'static' configuration. Allows to configure options for serving static files from directory (by default 'public' directory). + --static-public-path-reset Clear all items provided in 'static.publicPath' configuration. The static files will be available in the browser under this public path. + --watch-files Allows to configure list of globs/directories/files to watch for file changes. + --watch-files-reset Clear all items provided in 'watchFiles' configuration. Allows to configure list of globs/directories/files to watch for file changes. + --no-web-socket-server Disallows to set web socket server and options. + --web-socket-server-type Allows to set web socket server and options (by default 'ws'). + +Global options +──────────────────────────────────────────────────────────────────────── + --color Enable colors on console. + --no-color Disable colors on console. + -v, --version Output the version number of 'webpack', 'webpack-cli' and 'webpack-dev-server' and other packages. + -h, --help [verbose] Display help for commands and options. + +──────────────────────────────────────────────────────────────────────── +ℹ Run 'webpack --help=verbose' to see all available commands and options. + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information for 'server' command using command syntax: stderr 1`] = `""`; + +exports[`help should show help information for 'server' command using command syntax: stdout 1`] = ` +" +⬡ webpack serve +──────────────────────────────────────────────────────────────────────── +Run the webpack dev server and watch for source file changes while serving. + +Usage: webpack serve|server|s [entries...] [options] + +Options +──────────────────────────────────────────────────────────────────────── + -c, --config Provide path to one or more webpack configuration files to process, e.g. "./webpack.config.js". + --config-name Name(s) of particular configuration(s) to use if configuration file exports an array of multiple configurations. + -m, --merge Merge two or more configurations using 'webpack-merge'. + --env Environment variables passed to the configuration when it is a function, e.g. "myvar" or "myvar=myval". + --config-node-env Sets process.env.NODE_ENV to the specified value for access within the configuration. + --analyze It invokes webpack-bundle-analyzer plugin to get bundle information. + --progress [value] Print compilation progress during build. + -j, --json [pathToJsonFile] Prints result as JSON or store it in a file. + --fail-on-warnings Stop webpack-cli process with non-zero exit code on warnings from webpack. + --disable-interpret Disable interpret for loading the config file. + -d, --devtool A developer tool to enhance debugging (false | eval | [inline-|hidden-|eval-][nosources-][cheap-[module-]]source-map). + --no-devtool Negative 'devtool' option. + --entry A module that is loaded upon startup. Only the last one is exported. + -e, --extends Path to the configuration to be extended (only works when using webpack-cli). + --mode Enable production optimizations or development hints. + --name Name of the configuration. Used when loading multiple configurations. + -o, --output-path The output directory as **absolute path** (required). + --stats [value] Stats options object or preset name. + -t, --target Specific environment, runtime, or syntax. Environment to build for. An array of environments to build for all of them when possible. + -w, --watch Enter watch mode, which rebuilds on file change. + --watch-options-stdin Stop watching when stdin stream has ended. + --allowed-hosts Allows to enumerate the hosts from which access to the dev server are allowed (useful when you are proxying dev server, by default is 'auto'). + --allowed-hosts-reset Clear all items provided in 'allowedHosts' configuration. Allows to enumerate the hosts from which access to the dev server are allowed (useful when you are proxying dev server, by default is 'auto'). + --bonjour Allows to broadcasts dev server via ZeroConf networking on start. + --no-bonjour Disallows to broadcasts dev server via ZeroConf networking on start. + --no-client Disables client script. + --client-logging Allows to set log level in the browser. + --client-overlay Enables a full-screen overlay in the browser when there are compiler errors or warnings. + --no-client-overlay Disables the full-screen overlay in the browser when there are compiler errors or warnings. + --client-overlay-errors Enables a full-screen overlay in the browser when there are compiler errors. + --no-client-overlay-errors Disables the full-screen overlay in the browser when there are compiler errors. + --client-overlay-warnings Enables a full-screen overlay in the browser when there are compiler warnings. + --no-client-overlay-warnings Disables the full-screen overlay in the browser when there are compiler warnings. + --client-overlay-runtime-errors Enables a full-screen overlay in the browser when there are uncaught runtime errors. + --no-client-overlay-runtime-errors Disables the full-screen overlay in the browser when there are uncaught runtime errors. + --client-overlay-trusted-types-policy-name The name of a Trusted Types policy for the overlay. Defaults to 'webpack-dev-server#overlay'. + --client-progress [value] Displays compilation progress in the browser. Options include 'linear' and 'circular' for visual indicators. + --no-client-progress Does not display compilation progress in the browser. + --client-reconnect [value] Tells dev-server the number of times it should try to reconnect the client. + --no-client-reconnect Tells dev-server to not to try to reconnect the client. + --client-web-socket-transport Allows to set custom web socket transport to communicate with dev server. + --client-web-socket-url Allows to specify URL to web socket server (useful when you're proxying dev server and client script does not always know where to connect to). + --client-web-socket-url-hostname Tells clients connected to devServer to use the provided hostname. + --client-web-socket-url-pathname Tells clients connected to devServer to use the provided path to connect. + --client-web-socket-url-password Tells clients connected to devServer to use the provided password to authenticate. + --client-web-socket-url-port Tells clients connected to devServer to use the provided port. + --client-web-socket-url-protocol Tells clients connected to devServer to use the provided protocol. + --client-web-socket-url-username Tells clients connected to devServer to use the provided username to authenticate. + --compress Enables gzip compression for everything served. + --no-compress Disables gzip compression for everything served. + --history-api-fallback Allows to proxy requests through a specified index page (by default 'index.html'), useful for Single Page Applications that utilise the HTML5 History API. + --no-history-api-fallback Disallows to proxy requests through a specified index page. + --host Allows to specify a hostname to use. + --hot [value] Enables Hot Module Replacement. + --no-hot Disables Hot Module Replacement. + --ipc [value] Listen to a unix socket. + --live-reload Enables reload/refresh the page(s) when file changes are detected (enabled by default). + --no-live-reload Disables reload/refresh the page(s) when file changes are detected (enabled by default). + --open [value...] Allows to configure dev server to open the browser(s) and page(s) after server had been started (set it to true to open your default browser). + --no-open Does not open the default browser. + --open-target Opens specified page in browser. + --open-app-name Open specified browser. + --open-reset Clear all items provided in 'open' configuration. Allows to configure dev server to open the browser(s) and page(s) after server had been started (set it to true to open your default browser). + --open-target-reset Clear all items provided in 'open.target' configuration. Opens specified page in browser. + --open-app-name-reset Clear all items provided in 'open.app.name' configuration. Open specified browser. + --port Allows to specify a port to use. + --server-type Allows to set server and options (by default 'http'). + --server-options-passphrase Passphrase for a pfx file. + --server-options-request-cert Request for an SSL certificate. + --no-server-options-request-cert Does not request for an SSL certificate. + --server-options-ca Path to an SSL CA certificate or content of an SSL CA certificate. + --server-options-ca-reset Clear all items provided in 'server.options.ca' configuration. Path to an SSL CA certificate or content of an SSL CA certificate. + --server-options-cert Path to an SSL certificate or content of an SSL certificate. + --server-options-cert-reset Clear all items provided in 'server.options.cert' configuration. Path to an SSL certificate or content of an SSL certificate. + --server-options-crl Path to PEM formatted CRLs (Certificate Revocation Lists) or content of PEM formatted CRLs (Certificate Revocation Lists). + --server-options-crl-reset Clear all items provided in 'server.options.crl' configuration. Path to PEM formatted CRLs (Certificate Revocation Lists) or content of PEM formatted CRLs (Certificate Revocation Lists). + --server-options-key Path to an SSL key or content of an SSL key. + --server-options-key-reset Clear all items provided in 'server.options.key' configuration. Path to an SSL key or content of an SSL key. + --server-options-pfx Path to an SSL pfx file or content of an SSL pfx file. + --server-options-pfx-reset Clear all items provided in 'server.options.pfx' configuration. Path to an SSL pfx file or content of an SSL pfx file. + --static [value...] Allows to configure options for serving static files from directory (by default 'public' directory). + --no-static Disallows to configure options for serving static files from directory. + --static-directory Directory for static contents. + --static-public-path The static files will be available in the browser under this public path. + --static-serve-index Tells dev server to use serveIndex middleware when enabled. + --no-static-serve-index Does not tell dev server to use serveIndex middleware. + --static-watch Watches for files in static content directory. + --no-static-watch Does not watch for files in static content directory. + --static-reset Clear all items provided in 'static' configuration. Allows to configure options for serving static files from directory (by default 'public' directory). + --static-public-path-reset Clear all items provided in 'static.publicPath' configuration. The static files will be available in the browser under this public path. + --watch-files Allows to configure list of globs/directories/files to watch for file changes. + --watch-files-reset Clear all items provided in 'watchFiles' configuration. Allows to configure list of globs/directories/files to watch for file changes. + --no-web-socket-server Disallows to set web socket server and options. + --web-socket-server-type Allows to set web socket server and options (by default 'ws'). + +Global options +──────────────────────────────────────────────────────────────────────── + --color Enable colors on console. + --no-color Disable colors on console. + -v, --version Output the version number of 'webpack', 'webpack-cli' and 'webpack-dev-server' and other packages. + -h, --help [verbose] Display help for commands and options. + +──────────────────────────────────────────────────────────────────────── +ℹ Run 'webpack --help=verbose' to see all available commands and options. + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information for 'server' command using the "--help verbose" option: stderr 1`] = `""`; + +exports[`help should show help information for 'server' command using the "--help verbose" option: stdout 1`] = ` +" +⬡ webpack serve +──────────────────────────────────────────────────────────────────────── +Run the webpack dev server and watch for source file changes while serving. + +Usage: webpack serve|server|s [entries...] [options] + +Options +──────────────────────────────────────────────────────────────────────── + -c, --config Provide path to one or more webpack configuration files to process, e.g. "./webpack.config.js". + --config-name Name(s) of particular configuration(s) to use if configuration file exports an array of multiple configurations. + -m, --merge Merge two or more configurations using 'webpack-merge'. + --env Environment variables passed to the configuration when it is a function, e.g. "myvar" or "myvar=myval". + --config-node-env Sets process.env.NODE_ENV to the specified value for access within the configuration. + --analyze It invokes webpack-bundle-analyzer plugin to get bundle information. + --progress [value] Print compilation progress during build. + -j, --json [pathToJsonFile] Prints result as JSON or store it in a file. + --fail-on-warnings Stop webpack-cli process with non-zero exit code on warnings from webpack. + --disable-interpret Disable interpret for loading the config file. + --no-amd Negative 'amd' option. + --bail Report the first error as a hard error instead of tolerating it. + --no-bail Negative 'bail' option. + --cache Enable in memory caching. Disable caching. + --no-cache Negative 'cache' option. + --cache-cache-unaffected Additionally cache computation of modules that are unchanged and reference only unchanged modules. + --no-cache-cache-unaffected Negative 'cache-cache-unaffected' option. + --cache-max-generations Number of generations unused cache entries stay in memory cache + at stack. + +Global options +──────────────────────────────────────────────────────────────────────── + --color Enable colors on console. + --no-color Disable colors on console. + -v, --version Output the version number of 'webpack', 'webpack-cli' and 'webpack-dev-server' and other packages. + -h, --help [verbose] Display help for commands and options. + +──────────────────────────────────────────────────────────────────────── + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information for 'server' command using the "--help" option: stderr 1`] = `""`; + +exports[`help should show help information for 'server' command using the "--help" option: stdout 1`] = ` +" +⬡ webpack serve +──────────────────────────────────────────────────────────────────────── +Run the webpack dev server and watch for source file changes while serving. + +Usage: webpack serve|server|s [entries...] [options] + +Options +──────────────────────────────────────────────────────────────────────── + -c, --config Provide path to one or more webpack configuration files to process, e.g. "./webpack.config.js". + --config-name Name(s) of particular configuration(s) to use if configuration file exports an array of multiple configurations. + -m, --merge Merge two or more configurations using 'webpack-merge'. + --env Environment variables passed to the configuration when it is a function, e.g. "myvar" or "myvar=myval". + --config-node-env Sets process.env.NODE_ENV to the specified value for access within the configuration. + --analyze It invokes webpack-bundle-analyzer plugin to get bundle information. + --progress [value] Print compilation progress during build. + -j, --json [pathToJsonFile] Prints result as JSON or store it in a file. + --fail-on-warnings Stop webpack-cli process with non-zero exit code on warnings from webpack. + --disable-interpret Disable interpret for loading the config file. + -d, --devtool A developer tool to enhance debugging (false | eval | [inline-|hidden-|eval-][nosources-][cheap-[module-]]source-map). + --no-devtool Negative 'devtool' option. + --entry A module that is loaded upon startup. Only the last one is exported. + -e, --extends Path to the configuration to be extended (only works when using webpack-cli). + --mode Enable production optimizations or development hints. + --name Name of the configuration. Used when loading multiple configurations. + -o, --output-path The output directory as **absolute path** (required). + --stats [value] Stats options object or preset name. + -t, --target Specific environment, runtime, or syntax. Environment to build for. An array of environments to build for all of them when possible. + -w, --watch Enter watch mode, which rebuilds on file change. + --watch-options-stdin Stop watching when stdin stream has ended. + --allowed-hosts Allows to enumerate the hosts from which access to the dev server are allowed (useful when you are proxying dev server, by default is 'auto'). + --allowed-hosts-reset Clear all items provided in 'allowedHosts' configuration. Allows to enumerate the hosts from which access to the dev server are allowed (useful when you are proxying dev server, by default is 'auto'). + --bonjour Allows to broadcasts dev server via ZeroConf networking on start. + --no-bonjour Disallows to broadcasts dev server via ZeroConf networking on start. + --no-client Disables client script. + --client-logging Allows to set log level in the browser. + --client-overlay Enables a full-screen overlay in the browser when there are compiler errors or warnings. + --no-client-overlay Disables the full-screen overlay in the browser when there are compiler errors or warnings. + --client-overlay-errors Enables a full-screen overlay in the browser when there are compiler errors. + --no-client-overlay-errors Disables the full-screen overlay in the browser when there are compiler errors. + --client-overlay-warnings Enables a full-screen overlay in the browser when there are compiler warnings. + --no-client-overlay-warnings Disables the full-screen overlay in the browser when there are compiler warnings. + --client-overlay-runtime-errors Enables a full-screen overlay in the browser when there are uncaught runtime errors. + --no-client-overlay-runtime-errors Disables the full-screen overlay in the browser when there are uncaught runtime errors. + --client-overlay-trusted-types-policy-name The name of a Trusted Types policy for the overlay. Defaults to 'webpack-dev-server#overlay'. + --client-progress [value] Displays compilation progress in the browser. Options include 'linear' and 'circular' for visual indicators. + --no-client-progress Does not display compilation progress in the browser. + --client-reconnect [value] Tells dev-server the number of times it should try to reconnect the client. + --no-client-reconnect Tells dev-server to not to try to reconnect the client. + --client-web-socket-transport Allows to set custom web socket transport to communicate with dev server. + --client-web-socket-url Allows to specify URL to web socket server (useful when you're proxying dev server and client script does not always know where to connect to). + --client-web-socket-url-hostname Tells clients connected to devServer to use the provided hostname. + --client-web-socket-url-pathname Tells clients connected to devServer to use the provided path to connect. + --client-web-socket-url-password Tells clients connected to devServer to use the provided password to authenticate. + --client-web-socket-url-port Tells clients connected to devServer to use the provided port. + --client-web-socket-url-protocol Tells clients connected to devServer to use the provided protocol. + --client-web-socket-url-username Tells clients connected to devServer to use the provided username to authenticate. + --compress Enables gzip compression for everything served. + --no-compress Disables gzip compression for everything served. + --history-api-fallback Allows to proxy requests through a specified index page (by default 'index.html'), useful for Single Page Applications that utilise the HTML5 History API. + --no-history-api-fallback Disallows to proxy requests through a specified index page. + --host Allows to specify a hostname to use. + --hot [value] Enables Hot Module Replacement. + --no-hot Disables Hot Module Replacement. + --ipc [value] Listen to a unix socket. + --live-reload Enables reload/refresh the page(s) when file changes are detected (enabled by default). + --no-live-reload Disables reload/refresh the page(s) when file changes are detected (enabled by default). + --open [value...] Allows to configure dev server to open the browser(s) and page(s) after server had been started (set it to true to open your default browser). + --no-open Does not open the default browser. + --open-target Opens specified page in browser. + --open-app-name Open specified browser. + --open-reset Clear all items provided in 'open' configuration. Allows to configure dev server to open the browser(s) and page(s) after server had been started (set it to true to open your default browser). + --open-target-reset Clear all items provided in 'open.target' configuration. Opens specified page in browser. + --open-app-name-reset Clear all items provided in 'open.app.name' configuration. Open specified browser. + --port Allows to specify a port to use. + --server-type Allows to set server and options (by default 'http'). + --server-options-passphrase Passphrase for a pfx file. + --server-options-request-cert Request for an SSL certificate. + --no-server-options-request-cert Does not request for an SSL certificate. + --server-options-ca Path to an SSL CA certificate or content of an SSL CA certificate. + --server-options-ca-reset Clear all items provided in 'server.options.ca' configuration. Path to an SSL CA certificate or content of an SSL CA certificate. + --server-options-cert Path to an SSL certificate or content of an SSL certificate. + --server-options-cert-reset Clear all items provided in 'server.options.cert' configuration. Path to an SSL certificate or content of an SSL certificate. + --server-options-crl Path to PEM formatted CRLs (Certificate Revocation Lists) or content of PEM formatted CRLs (Certificate Revocation Lists). + --server-options-crl-reset Clear all items provided in 'server.options.crl' configuration. Path to PEM formatted CRLs (Certificate Revocation Lists) or content of PEM formatted CRLs (Certificate Revocation Lists). + --server-options-key Path to an SSL key or content of an SSL key. + --server-options-key-reset Clear all items provided in 'server.options.key' configuration. Path to an SSL key or content of an SSL key. + --server-options-pfx Path to an SSL pfx file or content of an SSL pfx file. + --server-options-pfx-reset Clear all items provided in 'server.options.pfx' configuration. Path to an SSL pfx file or content of an SSL pfx file. + --static [value...] Allows to configure options for serving static files from directory (by default 'public' directory). + --no-static Disallows to configure options for serving static files from directory. + --static-directory Directory for static contents. + --static-public-path The static files will be available in the browser under this public path. + --static-serve-index Tells dev server to use serveIndex middleware when enabled. + --no-static-serve-index Does not tell dev server to use serveIndex middleware. + --static-watch Watches for files in static content directory. + --no-static-watch Does not watch for files in static content directory. + --static-reset Clear all items provided in 'static' configuration. Allows to configure options for serving static files from directory (by default 'public' directory). + --static-public-path-reset Clear all items provided in 'static.publicPath' configuration. The static files will be available in the browser under this public path. + --watch-files Allows to configure list of globs/directories/files to watch for file changes. + --watch-files-reset Clear all items provided in 'watchFiles' configuration. Allows to configure list of globs/directories/files to watch for file changes. + --no-web-socket-server Disallows to set web socket server and options. + --web-socket-server-type Allows to set web socket server and options (by default 'ws'). + +Global options +──────────────────────────────────────────────────────────────────────── + --color Enable colors on console. + --no-color Disable colors on console. + -v, --version Output the version number of 'webpack', 'webpack-cli' and 'webpack-dev-server' and other packages. + -h, --help [verbose] Display help for commands and options. + +──────────────────────────────────────────────────────────────────────── +ℹ Run 'webpack --help=verbose' to see all available commands and options. + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information for 't' command using command syntax: stderr 1`] = `""`; + +exports[`help should show help information for 't' command using command syntax: stdout 1`] = ` +" +⬡ webpack configtest +──────────────────────────────────────────────────────────────────────── +Validate a webpack configuration. + +Usage: webpack configtest|t [config-path] + +Global options +──────────────────────────────────────────────────────────────────────── + --color Enable colors on console. + --no-color Disable colors on console. + -v, --version Output the version number of 'webpack', 'webpack-cli' and 'webpack-dev-server' and other packages. + -h, --help [verbose] Display help for commands and options. + +──────────────────────────────────────────────────────────────────────── +ℹ Run 'webpack --help=verbose' to see all available commands and options. + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information for 't' command using the "--help verbose" option: stderr 1`] = `""`; + +exports[`help should show help information for 't' command using the "--help verbose" option: stdout 1`] = ` +" +⬡ webpack configtest +──────────────────────────────────────────────────────────────────────── +Validate a webpack configuration. + +Usage: webpack configtest|t [config-path] + +Global options +──────────────────────────────────────────────────────────────────────── + --color Enable colors on console. + --no-color Disable colors on console. + -v, --version Output the version number of 'webpack', 'webpack-cli' and 'webpack-dev-server' and other packages. + -h, --help [verbose] Display help for commands and options. + +──────────────────────────────────────────────────────────────────────── + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information for 't' command using the "--help" option: stderr 1`] = `""`; + +exports[`help should show help information for 't' command using the "--help" option: stdout 1`] = ` +" +⬡ webpack configtest +──────────────────────────────────────────────────────────────────────── +Validate a webpack configuration. + +Usage: webpack configtest|t [config-path] + +Global options +──────────────────────────────────────────────────────────────────────── + --color Enable colors on console. + --no-color Disable colors on console. + -v, --version Output the version number of 'webpack', 'webpack-cli' and 'webpack-dev-server' and other packages. + -h, --help [verbose] Display help for commands and options. + +──────────────────────────────────────────────────────────────────────── +ℹ Run 'webpack --help=verbose' to see all available commands and options. + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information for 'w' command using command syntax: stderr 1`] = `""`; + +exports[`help should show help information for 'w' command using command syntax: stdout 1`] = ` +" +⬡ webpack watch +──────────────────────────────────────────────────────────────────────── +Run webpack and watch for files changes. + +Usage: webpack watch|w [entries...] [options] + +Options +──────────────────────────────────────────────────────────────────────── + -c, --config Provide path to one or more webpack configuration files to process, e.g. "./webpack.config.js". + --config-name Name(s) of particular configuration(s) to use if configuration file exports an array of multiple configurations. + -m, --merge Merge two or more configurations using 'webpack-merge'. + --env Environment variables passed to the configuration when it is a function, e.g. "myvar" or "myvar=myval". + --config-node-env Sets process.env.NODE_ENV to the specified value for access within the configuration. + --analyze It invokes webpack-bundle-analyzer plugin to get bundle information. + --progress [value] Print compilation progress during build. + -j, --json [pathToJsonFile] Prints result as JSON or store it in a file. + --fail-on-warnings Stop webpack-cli process with non-zero exit code on warnings from webpack. + --disable-interpret Disable interpret for loading the config file. + -d, --devtool A developer tool to enhance debugging (false | eval | [inline-|hidden-|eval-][nosources-][cheap-[module-]]source-map). + --no-devtool Negative 'devtool' option. + --entry A module that is loaded upon startup. Only the last one is exported. + -e, --extends Path to the configuration to be extended (only works when using webpack-cli). + --mode Enable production optimizations or development hints. + --name Name of the configuration. Used when loading multiple configurations. + -o, --output-path The output directory as **absolute path** (required). + --stats [value] Stats options object or preset name. + -t, --target Specific environment, runtime, or syntax. Environment to build for. An array of environments to build for all of them when possible. + --watch-options-stdin Stop watching when stdin stream has ended. + +Global options +──────────────────────────────────────────────────────────────────────── + --color Enable colors on console. + --no-color Disable colors on console. + -v, --version Output the version number of 'webpack', 'webpack-cli' and 'webpack-dev-server' and other packages. + -h, --help [verbose] Display help for commands and options. + +──────────────────────────────────────────────────────────────────────── +ℹ Run 'webpack --help=verbose' to see all available commands and options. + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information for 'w' command using the "--help verbose" option: stderr 1`] = `""`; + +exports[`help should show help information for 'w' command using the "--help verbose" option: stdout 1`] = ` +" +⬡ webpack watch +──────────────────────────────────────────────────────────────────────── +Run webpack and watch for files changes. + +Usage: webpack watch|w [entries...] [options] + +Options +──────────────────────────────────────────────────────────────────────── + -c, --config Provide path to one or more webpack configuration files to process, e.g. "./webpack.config.js". + --config-name Name(s) of particular configuration(s) to use if configuration file exports an array of multiple configurations. + -m, --merge Merge two or more configurations using 'webpack-merge'. + --env Environment variables passed to the configuration when it is a function, e.g. "myvar" or "myvar=myval". + --config-node-env Sets process.env.NODE_ENV to the specified value for access within the configuration. + --analyze It invokes webpack-bundle-analyzer plugin to get bundle information. + --progress [value] Print compilation progress during build. + -j, --json [pathToJsonFile] Prints result as JSON or store it in a file. + --fail-on-warnings Stop webpack-cli process with non-zero exit code on warnings from webpack. + --disable-interpret Disable interpret for loading the config file. + --no-amd Negative 'amd' option. + --bail Report the first error as a hard error instead of tolerating it. + --no-bail Negative 'bail' option. + --cache Enable in memory caching. Disable caching. + --no-cache Negative 'cache' option. + --cache-cache-unaffected Additionally cache computation of modules that are unchanged and reference only unchanged modules. + --no-cache-cache-unaffected Negative 'cache-cache-unaffected' option. + --cache-max-generations Number of generations unused cache entries stay in memory cache + at stack. + --watch-options-poll [value] \`number\`: use polling with specified interval. \`true\`: use polling. + --no-watch-options-poll Negative 'watch-options-poll' option. + --watch-options-stdin Stop watching when stdin stream has ended. + --no-watch-options-stdin Negative 'watch-options-stdin' option. + +Global options +──────────────────────────────────────────────────────────────────────── + --color Enable colors on console. + --no-color Disable colors on console. + -v, --version Output the version number of 'webpack', 'webpack-cli' and 'webpack-dev-server' and other packages. + -h, --help [verbose] Display help for commands and options. + +──────────────────────────────────────────────────────────────────────── + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information for 'w' command using the "--help" option: stderr 1`] = `""`; + +exports[`help should show help information for 'w' command using the "--help" option: stdout 1`] = ` +" +⬡ webpack watch +──────────────────────────────────────────────────────────────────────── +Run webpack and watch for files changes. + +Usage: webpack watch|w [entries...] [options] + +Options +──────────────────────────────────────────────────────────────────────── + -c, --config Provide path to one or more webpack configuration files to process, e.g. "./webpack.config.js". + --config-name Name(s) of particular configuration(s) to use if configuration file exports an array of multiple configurations. + -m, --merge Merge two or more configurations using 'webpack-merge'. + --env Environment variables passed to the configuration when it is a function, e.g. "myvar" or "myvar=myval". + --config-node-env Sets process.env.NODE_ENV to the specified value for access within the configuration. + --analyze It invokes webpack-bundle-analyzer plugin to get bundle information. + --progress [value] Print compilation progress during build. + -j, --json [pathToJsonFile] Prints result as JSON or store it in a file. + --fail-on-warnings Stop webpack-cli process with non-zero exit code on warnings from webpack. + --disable-interpret Disable interpret for loading the config file. + -d, --devtool A developer tool to enhance debugging (false | eval | [inline-|hidden-|eval-][nosources-][cheap-[module-]]source-map). + --no-devtool Negative 'devtool' option. + --entry A module that is loaded upon startup. Only the last one is exported. + -e, --extends Path to the configuration to be extended (only works when using webpack-cli). + --mode Enable production optimizations or development hints. + --name Name of the configuration. Used when loading multiple configurations. + -o, --output-path The output directory as **absolute path** (required). + --stats [value] Stats options object or preset name. + -t, --target Specific environment, runtime, or syntax. Environment to build for. An array of environments to build for all of them when possible. + --watch-options-stdin Stop watching when stdin stream has ended. + +Global options +──────────────────────────────────────────────────────────────────────── + --color Enable colors on console. + --no-color Disable colors on console. + -v, --version Output the version number of 'webpack', 'webpack-cli' and 'webpack-dev-server' and other packages. + -h, --help [verbose] Display help for commands and options. + +──────────────────────────────────────────────────────────────────────── +ℹ Run 'webpack --help=verbose' to see all available commands and options. + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information for 'watch' and respect the "--color" flag using the "--help" option: stderr 1`] = `""`; + +exports[`help should show help information for 'watch' and respect the "--color" flag using the "--help" option: stdout 1`] = ` +" +⬡ webpack watch +──────────────────────────────────────────────────────────────────────── +Run webpack and watch for files changes. + +Usage: webpack watch|w [entries...] [options] + +Options +──────────────────────────────────────────────────────────────────────── + -c, --config Provide path to one or more webpack configuration files to process, e.g. "./webpack.config.js". + --config-name Name(s) of particular configuration(s) to use if configuration file exports an array of multiple configurations. + -m, --merge Merge two or more configurations using 'webpack-merge'. + --env Environment variables passed to the configuration when it is a function, e.g. "myvar" or "myvar=myval". + --config-node-env Sets process.env.NODE_ENV to the specified value for access within the configuration. + --analyze It invokes webpack-bundle-analyzer plugin to get bundle information. + --progress [value] Print compilation progress during build. + -j, --json [pathToJsonFile] Prints result as JSON or store it in a file. + --fail-on-warnings Stop webpack-cli process with non-zero exit code on warnings from webpack. + --disable-interpret Disable interpret for loading the config file. + -d, --devtool A developer tool to enhance debugging (false | eval | [inline-|hidden-|eval-][nosources-][cheap-[module-]]source-map). + --no-devtool Negative 'devtool' option. + --entry A module that is loaded upon startup. Only the last one is exported. + -e, --extends Path to the configuration to be extended (only works when using webpack-cli). + --mode Enable production optimizations or development hints. + --name Name of the configuration. Used when loading multiple configurations. + -o, --output-path The output directory as **absolute path** (required). + --stats [value] Stats options object or preset name. + -t, --target Specific environment, runtime, or syntax. Environment to build for. An array of environments to build for all of them when possible. + --watch-options-stdin Stop watching when stdin stream has ended. + +Global options +──────────────────────────────────────────────────────────────────────── + --color Enable colors on console. + --no-color Disable colors on console. + -v, --version Output the version number of 'webpack', 'webpack-cli' and 'webpack-dev-server' and other packages. + -h, --help [verbose] Display help for commands and options. + +──────────────────────────────────────────────────────────────────────── +ℹ Run 'webpack --help=verbose' to see all available commands and options. + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information for 'watch' and respect the "--no-color" flag using the "--help" option: stderr 1`] = `""`; + +exports[`help should show help information for 'watch' and respect the "--no-color" flag using the "--help" option: stdout 1`] = ` +" +⬡ webpack watch +──────────────────────────────────────────────────────────────────────── +Run webpack and watch for files changes. + +Usage: webpack watch|w [entries...] [options] + +Options +──────────────────────────────────────────────────────────────────────── + -c, --config Provide path to one or more webpack configuration files to process, e.g. "./webpack.config.js". + --config-name Name(s) of particular configuration(s) to use if configuration file exports an array of multiple configurations. + -m, --merge Merge two or more configurations using 'webpack-merge'. + --env Environment variables passed to the configuration when it is a function, e.g. "myvar" or "myvar=myval". + --config-node-env Sets process.env.NODE_ENV to the specified value for access within the configuration. + --analyze It invokes webpack-bundle-analyzer plugin to get bundle information. + --progress [value] Print compilation progress during build. + -j, --json [pathToJsonFile] Prints result as JSON or store it in a file. + --fail-on-warnings Stop webpack-cli process with non-zero exit code on warnings from webpack. + --disable-interpret Disable interpret for loading the config file. + -d, --devtool A developer tool to enhance debugging (false | eval | [inline-|hidden-|eval-][nosources-][cheap-[module-]]source-map). + --no-devtool Negative 'devtool' option. + --entry A module that is loaded upon startup. Only the last one is exported. + -e, --extends Path to the configuration to be extended (only works when using webpack-cli). + --mode Enable production optimizations or development hints. + --name Name of the configuration. Used when loading multiple configurations. + -o, --output-path The output directory as **absolute path** (required). + --stats [value] Stats options object or preset name. + -t, --target Specific environment, runtime, or syntax. Environment to build for. An array of environments to build for all of them when possible. + --watch-options-stdin Stop watching when stdin stream has ended. + +Global options +──────────────────────────────────────────────────────────────────────── + --color Enable colors on console. + --no-color Disable colors on console. + -v, --version Output the version number of 'webpack', 'webpack-cli' and 'webpack-dev-server' and other packages. + -h, --help [verbose] Display help for commands and options. + +──────────────────────────────────────────────────────────────────────── +ℹ Run 'webpack --help=verbose' to see all available commands and options. + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information for 'watch' command using command syntax: stderr 1`] = `""`; + +exports[`help should show help information for 'watch' command using command syntax: stdout 1`] = ` +" +⬡ webpack watch +──────────────────────────────────────────────────────────────────────── +Run webpack and watch for files changes. + +Usage: webpack watch|w [entries...] [options] + +Options +──────────────────────────────────────────────────────────────────────── + -c, --config Provide path to one or more webpack configuration files to process, e.g. "./webpack.config.js". + --config-name Name(s) of particular configuration(s) to use if configuration file exports an array of multiple configurations. + -m, --merge Merge two or more configurations using 'webpack-merge'. + --env Environment variables passed to the configuration when it is a function, e.g. "myvar" or "myvar=myval". + --config-node-env Sets process.env.NODE_ENV to the specified value for access within the configuration. + --analyze It invokes webpack-bundle-analyzer plugin to get bundle information. + --progress [value] Print compilation progress during build. + -j, --json [pathToJsonFile] Prints result as JSON or store it in a file. + --fail-on-warnings Stop webpack-cli process with non-zero exit code on warnings from webpack. + --disable-interpret Disable interpret for loading the config file. + -d, --devtool A developer tool to enhance debugging (false | eval | [inline-|hidden-|eval-][nosources-][cheap-[module-]]source-map). + --no-devtool Negative 'devtool' option. + --entry A module that is loaded upon startup. Only the last one is exported. + -e, --extends Path to the configuration to be extended (only works when using webpack-cli). + --mode Enable production optimizations or development hints. + --name Name of the configuration. Used when loading multiple configurations. + -o, --output-path The output directory as **absolute path** (required). + --stats [value] Stats options object or preset name. + -t, --target Specific environment, runtime, or syntax. Environment to build for. An array of environments to build for all of them when possible. + --watch-options-stdin Stop watching when stdin stream has ended. + +Global options +──────────────────────────────────────────────────────────────────────── + --color Enable colors on console. + --no-color Disable colors on console. + -v, --version Output the version number of 'webpack', 'webpack-cli' and 'webpack-dev-server' and other packages. + -h, --help [verbose] Display help for commands and options. + +──────────────────────────────────────────────────────────────────────── +ℹ Run 'webpack --help=verbose' to see all available commands and options. + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information for 'watch' command using the "--help verbose" option: stderr 1`] = `""`; + +exports[`help should show help information for 'watch' command using the "--help verbose" option: stdout 1`] = ` +" +⬡ webpack watch +──────────────────────────────────────────────────────────────────────── +Run webpack and watch for files changes. + +Usage: webpack watch|w [entries...] [options] + +Options +──────────────────────────────────────────────────────────────────────── + -c, --config Provide path to one or more webpack configuration files to process, e.g. "./webpack.config.js". + --config-name Name(s) of particular configuration(s) to use if configuration file exports an array of multiple configurations. + -m, --merge Merge two or more configurations using 'webpack-merge'. + --env Environment variables passed to the configuration when it is a function, e.g. "myvar" or "myvar=myval". + --config-node-env Sets process.env.NODE_ENV to the specified value for access within the configuration. + --analyze It invokes webpack-bundle-analyzer plugin to get bundle information. + --progress [value] Print compilation progress during build. + -j, --json [pathToJsonFile] Prints result as JSON or store it in a file. + --fail-on-warnings Stop webpack-cli process with non-zero exit code on warnings from webpack. + --disable-interpret Disable interpret for loading the config file. + --no-amd Negative 'amd' option. + --bail Report the first error as a hard error instead of tolerating it. + --no-bail Negative 'bail' option. + --cache Enable in memory caching. Disable caching. + --no-cache Negative 'cache' option. + --cache-cache-unaffected Additionally cache computation of modules that are unchanged and reference only unchanged modules. + --no-cache-cache-unaffected Negative 'cache-cache-unaffected' option. + --cache-max-generations Number of generations unused cache entries stay in memory cache + at stack. + --watch-options-poll [value] \`number\`: use polling with specified interval. \`true\`: use polling. + --no-watch-options-poll Negative 'watch-options-poll' option. + --watch-options-stdin Stop watching when stdin stream has ended. + --no-watch-options-stdin Negative 'watch-options-stdin' option. + +Global options +──────────────────────────────────────────────────────────────────────── + --color Enable colors on console. + --no-color Disable colors on console. + -v, --version Output the version number of 'webpack', 'webpack-cli' and 'webpack-dev-server' and other packages. + -h, --help [verbose] Display help for commands and options. + +──────────────────────────────────────────────────────────────────────── + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information for 'watch' command using the "--help" option: stderr 1`] = `""`; + +exports[`help should show help information for 'watch' command using the "--help" option: stdout 1`] = ` +" +⬡ webpack watch +──────────────────────────────────────────────────────────────────────── +Run webpack and watch for files changes. + +Usage: webpack watch|w [entries...] [options] + +Options +──────────────────────────────────────────────────────────────────────── + -c, --config Provide path to one or more webpack configuration files to process, e.g. "./webpack.config.js". + --config-name Name(s) of particular configuration(s) to use if configuration file exports an array of multiple configurations. + -m, --merge Merge two or more configurations using 'webpack-merge'. + --env Environment variables passed to the configuration when it is a function, e.g. "myvar" or "myvar=myval". + --config-node-env Sets process.env.NODE_ENV to the specified value for access within the configuration. + --analyze It invokes webpack-bundle-analyzer plugin to get bundle information. + --progress [value] Print compilation progress during build. + -j, --json [pathToJsonFile] Prints result as JSON or store it in a file. + --fail-on-warnings Stop webpack-cli process with non-zero exit code on warnings from webpack. + --disable-interpret Disable interpret for loading the config file. + -d, --devtool A developer tool to enhance debugging (false | eval | [inline-|hidden-|eval-][nosources-][cheap-[module-]]source-map). + --no-devtool Negative 'devtool' option. + --entry A module that is loaded upon startup. Only the last one is exported. + -e, --extends Path to the configuration to be extended (only works when using webpack-cli). + --mode Enable production optimizations or development hints. + --name Name of the configuration. Used when loading multiple configurations. + -o, --output-path The output directory as **absolute path** (required). + --stats [value] Stats options object or preset name. + -t, --target Specific environment, runtime, or syntax. Environment to build for. An array of environments to build for all of them when possible. + --watch-options-stdin Stop watching when stdin stream has ended. + +Global options +──────────────────────────────────────────────────────────────────────── + --color Enable colors on console. + --no-color Disable colors on console. + -v, --version Output the version number of 'webpack', 'webpack-cli' and 'webpack-dev-server' and other packages. + -h, --help [verbose] Display help for commands and options. + +──────────────────────────────────────────────────────────────────────── +ℹ Run 'webpack --help=verbose' to see all available commands and options. + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information using command syntax: stderr 1`] = `""`; + +exports[`help should show help information using command syntax: stdout 1`] = ` +" +⬡ webpack +──────────────────────────────────────────────────────────────────────── +The build tool for modern web applications. + +Usage: webpack [entries...] [options] | webpack [command] [options] + +Options +──────────────────────────────────────────────────────────────────────── + -c, --config Provide path to one or more webpack configuration files to process, e.g. "./webpack.config.js". + --config-name Name(s) of particular configuration(s) to use if configuration file exports an array of multiple configurations. + -m, --merge Merge two or more configurations using 'webpack-merge'. + --env Environment variables passed to the configuration when it is a function, e.g. "myvar" or "myvar=myval". + --config-node-env Sets process.env.NODE_ENV to the specified value for access within the configuration. + --analyze It invokes webpack-bundle-analyzer plugin to get bundle information. + --progress [value] Print compilation progress during build. + -j, --json [pathToJsonFile] Prints result as JSON or store it in a file. + --fail-on-warnings Stop webpack-cli process with non-zero exit code on warnings from webpack. + --disable-interpret Disable interpret for loading the config file. + -d, --devtool A developer tool to enhance debugging (false | eval | [inline-|hidden-|eval-][nosources-][cheap-[module-]]source-map). + --no-devtool Negative 'devtool' option. + --entry A module that is loaded upon startup. Only the last one is exported. + -e, --extends Path to the configuration to be extended (only works when using webpack-cli). + --mode Enable production optimizations or development hints. + --name Name of the configuration. Used when loading multiple configurations. + -o, --output-path The output directory as **absolute path** (required). + --stats [value] Stats options object or preset name. + -t, --target Specific environment, runtime, or syntax. Environment to build for. An array of environments to build for all of them when possible. + -w, --watch Enter watch mode, which rebuilds on file change. + --watch-options-stdin Stop watching when stdin stream has ended. + +Global options +──────────────────────────────────────────────────────────────────────── + --color Enable colors on console. + --no-color Disable colors on console. + -v, --version Output the version number of 'webpack', 'webpack-cli' and 'webpack-dev-server' and other packages. + -h, --help [verbose] Display help for commands and options. + +Commands +──────────────────────────────────────────────────────────────────────── + build|bundle|b [entries...] [options] Run webpack (default command, can be omitted). + configtest|t [config-path] Validate a webpack configuration. + help|h [command] [option] Display help for commands and options. + info|i [options] Outputs information about your system. + serve|server|s [entries...] [options] Run the webpack dev server and watch for source file changes while serving. + version|v [options] Output the version number of 'webpack', 'webpack-cli' and 'webpack-dev-server' and other packages. + watch|w [entries...] [options] Run webpack and watch for files changes. + +──────────────────────────────────────────────────────────────────────── +ℹ Run 'webpack --help=verbose' to see all available commands and options. + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information using the "--help" option with the "verbose" value #2: stderr 1`] = `""`; + +exports[`help should show help information using the "--help" option with the "verbose" value #2: stdout 1`] = ` +" +⬡ webpack +──────────────────────────────────────────────────────────────────────── +The build tool for modern web applications. + +Usage: webpack [ +... +pack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information using the "--help" option with the "verbose" value: stderr 1`] = `""`; + +exports[`help should show help information using the "--help" option with the "verbose" value: stdout 1`] = ` +" +⬡ webpack +──────────────────────────────────────────────────────────────────────── +The build tool for modern web applications. + +Usage: webpack [ +... +pack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information using the "--help" option: stderr 1`] = `""`; + +exports[`help should show help information using the "--help" option: stdout 1`] = ` +" +⬡ webpack +──────────────────────────────────────────────────────────────────────── +The build tool for modern web applications. + +Usage: webpack [entries...] [options] | webpack [command] [options] + +Options +──────────────────────────────────────────────────────────────────────── + -c, --config Provide path to one or more webpack configuration files to process, e.g. "./webpack.config.js". + --config-name Name(s) of particular configuration(s) to use if configuration file exports an array of multiple configurations. + -m, --merge Merge two or more configurations using 'webpack-merge'. + --env Environment variables passed to the configuration when it is a function, e.g. "myvar" or "myvar=myval". + --config-node-env Sets process.env.NODE_ENV to the specified value for access within the configuration. + --analyze It invokes webpack-bundle-analyzer plugin to get bundle information. + --progress [value] Print compilation progress during build. + -j, --json [pathToJsonFile] Prints result as JSON or store it in a file. + --fail-on-warnings Stop webpack-cli process with non-zero exit code on warnings from webpack. + --disable-interpret Disable interpret for loading the config file. + -d, --devtool A developer tool to enhance debugging (false | eval | [inline-|hidden-|eval-][nosources-][cheap-[module-]]source-map). + --no-devtool Negative 'devtool' option. + --entry A module that is loaded upon startup. Only the last one is exported. + -e, --extends Path to the configuration to be extended (only works when using webpack-cli). + --mode Enable production optimizations or development hints. + --name Name of the configuration. Used when loading multiple configurations. + -o, --output-path The output directory as **absolute path** (required). + --stats [value] Stats options object or preset name. + -t, --target Specific environment, runtime, or syntax. Environment to build for. An array of environments to build for all of them when possible. + -w, --watch Enter watch mode, which rebuilds on file change. + --watch-options-stdin Stop watching when stdin stream has ended. + +Global options +──────────────────────────────────────────────────────────────────────── + --color Enable colors on console. + --no-color Disable colors on console. + -v, --version Output the version number of 'webpack', 'webpack-cli' and 'webpack-dev-server' and other packages. + -h, --help [verbose] Display help for commands and options. + +Commands +──────────────────────────────────────────────────────────────────────── + build|bundle|b [entries...] [options] Run webpack (default command, can be omitted). + configtest|t [config-path] Validate a webpack configuration. + help|h [command] [option] Display help for commands and options. + info|i [options] Outputs information about your system. + serve|server|s [entries...] [options] Run the webpack dev server and watch for source file changes while serving. + version|v [options] Output the version number of 'webpack', 'webpack-cli' and 'webpack-dev-server' and other packages. + watch|w [entries...] [options] Run webpack and watch for files changes. + +──────────────────────────────────────────────────────────────────────── +ℹ Run 'webpack --help=verbose' to see all available commands and options. + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information using the "help --cache-type" option when using serve: stderr 1`] = `""`; + +exports[`help should show help information using the "help --cache-type" option when using serve: stdout 1`] = ` +" +⬡ --cache-type +──────────────────────────────────────────────────────────────────────── + Usage: webpack serve --cache-type + Description: In memory caching. Filesystem caching. + Possible values: 'memory' | 'filesystem' +──────────────────────────────────────────────────────────────────────── + +ℹ Run 'webpack --help=verbose' to see all available commands and options. + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information using the "help --cache-type" option: stderr 1`] = `""`; + +exports[`help should show help information using the "help --cache-type" option: stdout 1`] = ` +" +⬡ --cache-type +──────────────────────────────────────────────────────────────────────── + Usage: webpack --cache-type + Description: In memory caching. Filesystem caching. + Possible values: 'memory' | 'filesystem' +──────────────────────────────────────────────────────────────────────── + +ℹ Run 'webpack --help=verbose' to see all available commands and options. + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information using the "help --color" option: stderr 1`] = `""`; + +exports[`help should show help information using the "help --color" option: stdout 1`] = ` +" +⬡ --color +──────────────────────────────────────────────────────────────────────── + Usage: webpack --color + Description: Enable colors on console. +──────────────────────────────────────────────────────────────────────── + +ℹ Run 'webpack --help=verbose' to see all available commands and options. + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information using the "help --mode" option: stderr 1`] = `""`; + +exports[`help should show help information using the "help --mode" option: stdout 1`] = ` +" +⬡ --mode +──────────────────────────────────────────────────────────────────────── + Usage: webpack --mode + Description: Enable production optimizations or development hints. + Possible values: 'development' | 'production' | 'none' +──────────────────────────────────────────────────────────────────────── + +ℹ Run 'webpack --help=verbose' to see all available commands and options. + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information using the "help --no-color" option: stderr 1`] = `""`; + +exports[`help should show help information using the "help --no-color" option: stdout 1`] = ` +" +⬡ --no-color +──────────────────────────────────────────────────────────────────────── + Usage: webpack --no-color + Description: Disable colors on console. +──────────────────────────────────────────────────────────────────────── + +ℹ Run 'webpack --help=verbose' to see all available commands and options. + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information using the "help --no-stats" option: stderr 1`] = `""`; + +exports[`help should show help information using the "help --no-stats" option: stdout 1`] = ` +" +⬡ --no-stats +──────────────────────────────────────────────────────────────────────── + Usage: webpack --no-stats + Description: Negative 'stats' option. +──────────────────────────────────────────────────────────────────────── + +ℹ Run 'webpack --help=verbose' to see all available commands and options. + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information using the "help --output-chunk-format" option: stderr 1`] = `""`; + +exports[`help should show help information using the "help --output-chunk-format" option: stdout 1`] = ` +" +⬡ --output-chunk-format +──────────────────────────────────────────────────────────────────────── + Usage: webpack --output-chunk-format + Description: The format of chunks (formats included by default are 'array-push' (web/WebWorker), 'commonjs' (node.js), 'module' (ESM), but others might be added by plugins). + Possible values: 'array-push' | 'commonjs' | 'module' | false +──────────────────────────────────────────────────────────────────────── + +ℹ Run 'webpack --help=verbose' to see all available commands and options. + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information using the "help --server-type" option when using serve: stderr 1`] = `""`; + +exports[`help should show help information using the "help --server-type" option when using serve: stdout 1`] = ` +" +⬡ --server-type +──────────────────────────────────────────────────────────────────────── + Usage: webpack serve --server-type + Description: Allows to set server and options (by default 'http'). + Possible values: 'http' | 'https' | 'http2' +──────────────────────────────────────────────────────────────────────── + +ℹ Run 'webpack --help=verbose' to see all available commands and options. + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information using the "help --stats" option: stderr 1`] = `""`; + +exports[`help should show help information using the "help --stats" option: stdout 1`] = ` +" +⬡ --stats +──────────────────────────────────────────────────────────────────────── + Usage: webpack --stats [value] + Description: Stats options object or preset name. + Possible values: 'none' | 'summary' | 'errors-only' | 'errors-warnings' | 'minimal' | 'normal' | 'detailed' | 'verbose' +──────────────────────────────────────────────────────────────────────── + +ℹ Run 'webpack --help=verbose' to see all available commands and options. + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information using the "help --target" option: stderr 1`] = `""`; + +exports[`help should show help information using the "help --target" option: stdout 1`] = ` +" +⬡ --target +──────────────────────────────────────────────────────────────────────── + Usage: webpack --target + Short: webpack -t + Description: Specific environment, runtime, or syntax. Environment to build for. An array of environments to build for all of them when possible. + Possible values: false +──────────────────────────────────────────────────────────────────────── + +ℹ Run 'webpack --help=verbose' to see all available commands and options. + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information using the "help --version" option: stderr 1`] = `""`; + +exports[`help should show help information using the "help --version" option: stdout 1`] = ` +" +⬡ --version +──────────────────────────────────────────────────────────────────────── + Usage: webpack --version + Short: webpack -v + Description: Output the version number of 'webpack', 'webpack-cli' and 'webpack-dev-server' and other packages. +──────────────────────────────────────────────────────────────────────── + +ℹ Run 'webpack --help=verbose' to see all available commands and options. + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information using the "help -v" option: stderr 1`] = `""`; + +exports[`help should show help information using the "help -v" option: stdout 1`] = ` +" +⬡ --version +──────────────────────────────────────────────────────────────────────── + Usage: webpack --version + Short: webpack -v + Description: Output the version number of 'webpack', 'webpack-cli' and 'webpack-dev-server' and other packages. +──────────────────────────────────────────────────────────────────────── + +ℹ Run 'webpack --help=verbose' to see all available commands and options. + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information using the "help serve --color" option: stderr 1`] = `""`; + +exports[`help should show help information using the "help serve --color" option: stdout 1`] = ` +" +⬡ --color +──────────────────────────────────────────────────────────────────────── + Usage: webpack serve --color + Description: Enable colors on console. +──────────────────────────────────────────────────────────────────────── + +ℹ Run 'webpack --help=verbose' to see all available commands and options. + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information using the "help serve --mode" option: stderr 1`] = `""`; + +exports[`help should show help information using the "help serve --mode" option: stdout 1`] = ` +" +⬡ --mode +──────────────────────────────────────────────────────────────────────── + Usage: webpack serve --mode + Description: Enable production optimizations or development hints. + Possible values: 'development' | 'production' | 'none' +──────────────────────────────────────────────────────────────────────── + +ℹ Run 'webpack --help=verbose' to see all available commands and options. + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information using the "help serve --no-color" option: stderr 1`] = `""`; + +exports[`help should show help information using the "help serve --no-color" option: stdout 1`] = ` +" +⬡ --no-color +──────────────────────────────────────────────────────────────────────── + Usage: webpack serve --no-color + Description: Disable colors on console. +──────────────────────────────────────────────────────────────────────── + +ℹ Run 'webpack --help=verbose' to see all available commands and options. + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show help information with options for sub commands: stderr 1`] = `""`; + +exports[`help should show help information with options for sub commands: stdout 1`] = ` +" +⬡ webpack info +──────────────────────────────────────────────────────────────────────── +Outputs information about your system. + +Usage: webpack info|i [options] + +Options +──────────────────────────────────────────────────────────────────────── + -o, --output To get the output in a specified format (accept json or markdown) + -a, --additional-package Adds additional packages to the output + +Global options +──────────────────────────────────────────────────────────────────────── + --color Enable colors on console. + --no-color Disable colors on console. + -v, --version Output the version number of 'webpack', 'webpack-cli' and 'webpack-dev-server' and other packages. + -h, --help [verbose] Display help for commands and options. + +──────────────────────────────────────────────────────────────────────── +ℹ Run 'webpack --help=verbose' to see all available commands and options. + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show the same information using the "--help" option and command syntax: stderr from command syntax 1`] = `""`; + +exports[`help should show the same information using the "--help" option and command syntax: stderr from option 1`] = `""`; + +exports[`help should show the same information using the "--help" option and command syntax: stdout from command syntax 1`] = ` +" +⬡ webpack +──────────────────────────────────────────────────────────────────────── +The build tool for modern web applications. + +Usage: webpack [entries...] [options] | webpack [command] [options] + +Options +──────────────────────────────────────────────────────────────────────── + -c, --config Provide path to one or more webpack configuration files to process, e.g. "./webpack.config.js". + --config-name Name(s) of particular configuration(s) to use if configuration file exports an array of multiple configurations. + -m, --merge Merge two or more configurations using 'webpack-merge'. + --env Environment variables passed to the configuration when it is a function, e.g. "myvar" or "myvar=myval". + --config-node-env Sets process.env.NODE_ENV to the specified value for access within the configuration. + --analyze It invokes webpack-bundle-analyzer plugin to get bundle information. + --progress [value] Print compilation progress during build. + -j, --json [pathToJsonFile] Prints result as JSON or store it in a file. + --fail-on-warnings Stop webpack-cli process with non-zero exit code on warnings from webpack. + --disable-interpret Disable interpret for loading the config file. + -d, --devtool A developer tool to enhance debugging (false | eval | [inline-|hidden-|eval-][nosources-][cheap-[module-]]source-map). + --no-devtool Negative 'devtool' option. + --entry A module that is loaded upon startup. Only the last one is exported. + -e, --extends Path to the configuration to be extended (only works when using webpack-cli). + --mode Enable production optimizations or development hints. + --name Name of the configuration. Used when loading multiple configurations. + -o, --output-path The output directory as **absolute path** (required). + --stats [value] Stats options object or preset name. + -t, --target Specific environment, runtime, or syntax. Environment to build for. An array of environments to build for all of them when possible. + -w, --watch Enter watch mode, which rebuilds on file change. + --watch-options-stdin Stop watching when stdin stream has ended. + +Global options +──────────────────────────────────────────────────────────────────────── + --color Enable colors on console. + --no-color Disable colors on console. + -v, --version Output the version number of 'webpack', 'webpack-cli' and 'webpack-dev-server' and other packages. + -h, --help [verbose] Display help for commands and options. + +Commands +──────────────────────────────────────────────────────────────────────── + build|bundle|b [entries...] [options] Run webpack (default command, can be omitted). + configtest|t [config-path] Validate a webpack configuration. + help|h [command] [option] Display help for commands and options. + info|i [options] Outputs information about your system. + serve|server|s [entries...] [options] Run the webpack dev server and watch for source file changes while serving. + version|v [options] Output the version number of 'webpack', 'webpack-cli' and 'webpack-dev-server' and other packages. + watch|w [entries...] [options] Run webpack and watch for files changes. + +──────────────────────────────────────────────────────────────────────── +ℹ Run 'webpack --help=verbose' to see all available commands and options. + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; + +exports[`help should show the same information using the "--help" option and command syntax: stdout from option 1`] = ` +" +⬡ webpack +──────────────────────────────────────────────────────────────────────── +The build tool for modern web applications. + +Usage: webpack [entries...] [options] | webpack [command] [options] + +Options +──────────────────────────────────────────────────────────────────────── + -c, --config Provide path to one or more webpack configuration files to process, e.g. "./webpack.config.js". + --config-name Name(s) of particular configuration(s) to use if configuration file exports an array of multiple configurations. + -m, --merge Merge two or more configurations using 'webpack-merge'. + --env Environment variables passed to the configuration when it is a function, e.g. "myvar" or "myvar=myval". + --config-node-env Sets process.env.NODE_ENV to the specified value for access within the configuration. + --analyze It invokes webpack-bundle-analyzer plugin to get bundle information. + --progress [value] Print compilation progress during build. + -j, --json [pathToJsonFile] Prints result as JSON or store it in a file. + --fail-on-warnings Stop webpack-cli process with non-zero exit code on warnings from webpack. + --disable-interpret Disable interpret for loading the config file. + -d, --devtool A developer tool to enhance debugging (false | eval | [inline-|hidden-|eval-][nosources-][cheap-[module-]]source-map). + --no-devtool Negative 'devtool' option. + --entry A module that is loaded upon startup. Only the last one is exported. + -e, --extends Path to the configuration to be extended (only works when using webpack-cli). + --mode Enable production optimizations or development hints. + --name Name of the configuration. Used when loading multiple configurations. + -o, --output-path The output directory as **absolute path** (required). + --stats [value] Stats options object or preset name. + -t, --target Specific environment, runtime, or syntax. Environment to build for. An array of environments to build for all of them when possible. + -w, --watch Enter watch mode, which rebuilds on file change. + --watch-options-stdin Stop watching when stdin stream has ended. + +Global options +──────────────────────────────────────────────────────────────────────── + --color Enable colors on console. + --no-color Disable colors on console. + -v, --version Output the version number of 'webpack', 'webpack-cli' and 'webpack-dev-server' and other packages. + -h, --help [verbose] Display help for commands and options. + +Commands +──────────────────────────────────────────────────────────────────────── + build|bundle|b [entries...] [options] Run webpack (default command, can be omitted). + configtest|t [config-path] Validate a webpack configuration. + help|h [command] [option] Display help for commands and options. + info|i [options] Outputs information about your system. + serve|server|s [entries...] [options] Run the webpack dev server and watch for source file changes while serving. + version|v [options] Output the version number of 'webpack', 'webpack-cli' and 'webpack-dev-server' and other packages. + watch|w [entries...] [options] Run webpack and watch for files changes. + +──────────────────────────────────────────────────────────────────────── +ℹ Run 'webpack --help=verbose' to see all available commands and options. + +Webpack documentation: https://webpack.js.org/ +CLI documentation: https://webpack.js.org/api/cli/ +Made with ♥ by the webpack team" +`; diff --git a/test/serve/basic/__snapshots__/serve-basic.test.js.snap.devServer6.webpack5 b/test/serve/basic/__snapshots__/serve-basic.test.js.snap.devServer6.webpack5 new file mode 100644 index 00000000000..a2909ebf0e4 --- /dev/null +++ b/test/serve/basic/__snapshots__/serve-basic.test.js.snap.devServer6.webpack5 @@ -0,0 +1,248 @@ +// Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing + +exports[`basic serve usage should log an error on unknown flag: stderr 1`] = ` +"[webpack-cli] ✖ Error: Unknown option '--unknown-flag' +[webpack-cli] ✖ Run 'webpack --help' to see available commands and options" +`; + +exports[`basic serve usage should log an error on unknown flag: stdout 1`] = `""`; + +exports[`basic serve usage should log error on using '--watch' flag with serve: stderr 1`] = ` +"[webpack-cli] ⚠ No need to use the 'serve' command together with '{ watch: true | false }' or '--watch'/'--no-watch' configuration, it does not make sense. + [webpack-dev-server] Project is running at: + [webpack-dev-server] Loopback: http://localhost:/, http://[::1]:/ + [webpack-dev-server] On Your Network (IPv4): http://x.x.x.x:/ + [webpack-dev-server] On Your Network (IPv6): http://[x:x:x:x:x:x:x:x]:/ + [webpack-dev-server] Content not from webpack is served from '/test/serve/basic/public' directory" +`; + +exports[`basic serve usage should log warning on using '-w' alias with serve: stderr 1`] = ` +"[webpack-cli] ⚠ No need to use the 'serve' command together with '{ watch: true | false }' or '--watch'/'--no-watch' configuration, it does not make sense. + [webpack-dev-server] Project is running at: + [webpack-dev-server] Loopback: http://localhost:/, http://[::1]:/ + [webpack-dev-server] On Your Network (IPv4): http://x.x.x.x:/ + [webpack-dev-server] On Your Network (IPv6): http://[x:x:x:x:x:x:x:x]:/ + [webpack-dev-server] Content not from webpack is served from '/test/serve/basic/public' directory" +`; + +exports[`basic serve usage should not start dev server when supplied false #1: stderr 1`] = ` +" [webpack-dev-server] Project is running at: + [webpack-dev-server] Loopback: http://localhost:/, http://[::1]:/ + [webpack-dev-server] On Your Network (IPv4): http://x.x.x.x:/ + [webpack-dev-server] On Your Network (IPv6): http://[x:x:x:x:x:x:x:x]:/ + [webpack-dev-server] Content not from webpack is served from '/test/serve/basic/public' directory" +`; + +exports[`basic serve usage should respect the "publicPath" option from configuration (from the "devServer" options): stderr 1`] = ` +" [webpack-dev-server] Project is running at: + [webpack-dev-server] Loopback: http://localhost:/, http://[::1]:/ + [webpack-dev-server] On Your Network (IPv4): http://x.x.x.x:/ + [webpack-dev-server] On Your Network (IPv6): http://[x:x:x:x:x:x:x:x]:/ + [webpack-dev-server] Content not from webpack is served from '/test/serve/basic/public' directory" +`; + +exports[`basic serve usage should respect the "publicPath" option from configuration using multi compiler mode (from the "devServer" options): stderr 1`] = ` +" [webpack-dev-server] Project is running at: + [webpack-dev-server] Loopback: http://localhost:/, http://[::1]:/ + [webpack-dev-server] On Your Network (IPv4): http://x.x.x.x:/ + [webpack-dev-server] On Your Network (IPv6): http://[x:x:x:x:x:x:x:x]:/ + [webpack-dev-server] Content not from webpack is served from '/test/serve/basic/public' directory" +`; + +exports[`basic serve usage should respect the "publicPath" option from configuration using multi compiler mode: stderr 1`] = ` +" [webpack-dev-server] Project is running at: + [webpack-dev-server] Loopback: http://localhost:/, http://[::1]:/ + [webpack-dev-server] On Your Network (IPv4): http://x.x.x.x:/ + [webpack-dev-server] On Your Network (IPv6): http://[x:x:x:x:x:x:x:x]:/ + [webpack-dev-server] Content not from webpack is served from '/test/serve/basic/public' directory" +`; + +exports[`basic serve usage should respect the "publicPath" option from configuration: stderr 1`] = ` +" [webpack-dev-server] Project is running at: + [webpack-dev-server] Loopback: http://localhost:/, http://[::1]:/ + [webpack-dev-server] On Your Network (IPv4): http://x.x.x.x:/ + [webpack-dev-server] On Your Network (IPv6): http://[x:x:x:x:x:x:x:x]:/ + [webpack-dev-server] Content not from webpack is served from '/test/serve/basic/public' directory" +`; + +exports[`basic serve usage should throw error when same ports in multicompiler: stderr 1`] = ` +"[webpack-cli] ✖ Error: Unique ports must be specified for each devServer option in your webpack configuration. Alternatively, run only 1 devServer config using the --config-name flag to specify your desired config. + at stack" +`; + +exports[`basic serve usage should work and log warning on the 'watch' option in a configuration: stderr 1`] = ` +"[webpack-cli] ⚠ No need to use the 'serve' command together with '{ watch: true | false }' or '--watch'/'--no-watch' configuration, it does not make sense. + [webpack-dev-server] Project is running at: + [webpack-dev-server] Loopback: http://localhost:/, http://[::1]:/ + [webpack-dev-server] On Your Network (IPv4): http://x.x.x.x:/ + [webpack-dev-server] On Your Network (IPv6): http://[x:x:x:x:x:x:x:x]:/ + [webpack-dev-server] Content not from webpack is served from '/test/serve/basic/public' directory" +`; + +exports[`basic serve usage should work in multi compiler mode: stderr 1`] = ` +" [webpack-dev-server] Project is running at: + [webpack-dev-server] Loopback: http://localhost:/, http://[::1]:/ + [webpack-dev-server] On Your Network (IPv4): http://x.x.x.x:/ + [webpack-dev-server] On Your Network (IPv6): http://[x:x:x:x:x:x:x:x]:/ + [webpack-dev-server] Content not from webpack is served from '/test/serve/basic/public' directory" +`; + +exports[`basic serve usage should work with "--hot" and "--port" options: stderr 1`] = ` +" [webpack-dev-server] Project is running at: + [webpack-dev-server] Loopback: http://localhost:/, http://[::1]:/ + [webpack-dev-server] On Your Network (IPv4): http://x.x.x.x:/ + [webpack-dev-server] On Your Network (IPv6): http://[x:x:x:x:x:x:x:x]:/ + [webpack-dev-server] Content not from webpack is served from '/test/serve/basic/public' directory" +`; + +exports[`basic serve usage should work with entries syntax: stderr 1`] = ` +" [webpack-dev-server] Project is running at: + [webpack-dev-server] Loopback: http://localhost:/, http://[::1]:/ + [webpack-dev-server] On Your Network (IPv4): http://x.x.x.x:/ + [webpack-dev-server] On Your Network (IPv6): http://[x:x:x:x:x:x:x:x]:/ + [webpack-dev-server] Content not from webpack is served from '/test/serve/basic/public' directory" +`; + +exports[`basic serve usage should work with the "--client-log-level" option: stderr 1`] = ` +" [webpack-dev-server] Project is running at: + [webpack-dev-server] Loopback: http://localhost:/, http://[::1]:/ + [webpack-dev-server] On Your Network (IPv4): http://x.x.x.x:/ + [webpack-dev-server] On Your Network (IPv6): http://[x:x:x:x:x:x:x:x]:/ + [webpack-dev-server] Content not from webpack is served from '/test/serve/basic/public' directory" +`; + +exports[`basic serve usage should work with the "--config" and "--env" options and expose dev server options: stderr 1`] = ` +" [webpack-dev-server] Project is running at: + [webpack-dev-server] Loopback: http://localhost:/, http://[::1]:/ + [webpack-dev-server] On Your Network (IPv4): http://x.x.x.x:/ + [webpack-dev-server] On Your Network (IPv6): http://[x:x:x:x:x:x:x:x]:/ + [webpack-dev-server] Content not from webpack is served from '/test/serve/basic/public' directory" +`; + +exports[`basic serve usage should work with the "--config" and "--env" options: stderr 1`] = ` +" [webpack-dev-server] Project is running at: + [webpack-dev-server] Loopback: http://localhost:/, http://[::1]:/ + [webpack-dev-server] On Your Network (IPv4): http://x.x.x.x:/ + [webpack-dev-server] On Your Network (IPv6): http://[x:x:x:x:x:x:x:x]:/ + [webpack-dev-server] Content not from webpack is served from '/test/serve/basic/public' directory" +`; + +exports[`basic serve usage should work with the "--config" option: stderr 1`] = ` +" [webpack-dev-server] Project is running at: + [webpack-dev-server] Loopback: http://localhost:/, http://[::1]:/ + [webpack-dev-server] On Your Network (IPv4): http://x.x.x.x:/ + [webpack-dev-server] On Your Network (IPv6): http://[x:x:x:x:x:x:x:x]:/ + [webpack-dev-server] Content not from webpack is served from '/test/serve/basic/public' directory" +`; + +exports[`basic serve usage should work with the "--hot" option using the "only" value: stderr 1`] = ` +" [webpack-dev-server] Project is running at: + [webpack-dev-server] Loopback: http://localhost:/, http://[::1]:/ + [webpack-dev-server] On Your Network (IPv4): http://x.x.x.x:/ + [webpack-dev-server] On Your Network (IPv6): http://[x:x:x:x:x:x:x:x]:/ + [webpack-dev-server] Content not from webpack is served from '/test/serve/basic/public' directory" +`; + +exports[`basic serve usage should work with the "--hot" option: stderr 1`] = ` +" [webpack-dev-server] Project is running at: + [webpack-dev-server] Loopback: http://localhost:/, http://[::1]:/ + [webpack-dev-server] On Your Network (IPv4): http://x.x.x.x:/ + [webpack-dev-server] On Your Network (IPv6): http://[x:x:x:x:x:x:x:x]:/ + [webpack-dev-server] Content not from webpack is served from '/test/serve/basic/public' directory" +`; + +exports[`basic serve usage should work with the "--mode" option #2: stderr 1`] = ` +" [webpack-dev-server] Project is running at: + [webpack-dev-server] Loopback: http://localhost:/, http://[::1]:/ + [webpack-dev-server] On Your Network (IPv4): http://x.x.x.x:/ + [webpack-dev-server] On Your Network (IPv6): http://[x:x:x:x:x:x:x:x]:/ + [webpack-dev-server] Content not from webpack is served from '/test/serve/basic/public' directory" +`; + +exports[`basic serve usage should work with the "--mode" option #3: stderr 1`] = ` +" [webpack-dev-server] Project is running at: + [webpack-dev-server] Loopback: http://localhost:/, http://[::1]:/ + [webpack-dev-server] On Your Network (IPv4): http://x.x.x.x:/ + [webpack-dev-server] On Your Network (IPv6): http://[x:x:x:x:x:x:x:x]:/ + [webpack-dev-server] Content not from webpack is served from '/test/serve/basic/public' directory" +`; + +exports[`basic serve usage should work with the "--mode" option: stderr 1`] = ` +" [webpack-dev-server] Project is running at: + [webpack-dev-server] Loopback: http://localhost:/, http://[::1]:/ + [webpack-dev-server] On Your Network (IPv4): http://x.x.x.x:/ + [webpack-dev-server] On Your Network (IPv6): http://[x:x:x:x:x:x:x:x]:/ + [webpack-dev-server] Content not from webpack is served from '/test/serve/basic/public' directory" +`; + +exports[`basic serve usage should work with the "--no-hot" option: stderr 1`] = ` +" [webpack-dev-server] Project is running at: + [webpack-dev-server] Loopback: http://localhost:/, http://[::1]:/ + [webpack-dev-server] On Your Network (IPv4): http://x.x.x.x:/ + [webpack-dev-server] On Your Network (IPv6): http://[x:x:x:x:x:x:x:x]:/ + [webpack-dev-server] Content not from webpack is served from '/test/serve/basic/public' directory" +`; + +exports[`basic serve usage should work with the "--open" option: stderr 1`] = ` +" [webpack-dev-server] Project is running at: + [webpack-dev-server] Loopback: http://localhost:/, http://[::1]:/ + [webpack-dev-server] On Your Network (IPv4): http://x.x.x.x:/ + [webpack-dev-server] On Your Network (IPv6): http://[x:x:x:x:x:x:x:x]:/ + [webpack-dev-server] Content not from webpack is served from '/test/serve/basic/public' directory" +`; + +exports[`basic serve usage should work with the "--output-public-path" option: stderr 1`] = ` +" [webpack-dev-server] Project is running at: + [webpack-dev-server] Loopback: http://localhost:/, http://[::1]:/ + [webpack-dev-server] On Your Network (IPv4): http://x.x.x.x:/ + [webpack-dev-server] On Your Network (IPv6): http://[x:x:x:x:x:x:x:x]:/ + [webpack-dev-server] Content not from webpack is served from '/test/serve/basic/public' directory" +`; + +exports[`basic serve usage should work with the "--port" option: stderr 1`] = ` +" [webpack-dev-server] Project is running at: + [webpack-dev-server] Loopback: http://localhost:/, http://[::1]:/ + [webpack-dev-server] On Your Network (IPv4): http://x.x.x.x:/ + [webpack-dev-server] On Your Network (IPv6): http://[x:x:x:x:x:x:x:x]:/ + [webpack-dev-server] Content not from webpack is served from '/test/serve/basic/public' directory" +`; + +exports[`basic serve usage should work with the "--stats verbose" option: stderr 1`] = ` +" [webpack-dev-server] Project is running at: + [webpack-dev-server] Loopback: http://localhost:/, http://[::1]:/ + [webpack-dev-server] On Your Network (IPv4): http://x.x.x.x:/ + [webpack-dev-server] On Your Network (IPv6): http://[x:x:x:x:x:x:x:x]:/ + [webpack-dev-server] Content not from webpack is served from '/test/serve/basic/public' directory" +`; + +exports[`basic serve usage should work with the "--stats" option: stderr 1`] = ` +" [webpack-dev-server] Project is running at: + [webpack-dev-server] Loopback: http://localhost:/, http://[::1]:/ + [webpack-dev-server] On Your Network (IPv4): http://x.x.x.x:/ + [webpack-dev-server] On Your Network (IPv6): http://[x:x:x:x:x:x:x:x]:/ + [webpack-dev-server] Content not from webpack is served from '/test/serve/basic/public' directory" +`; + +exports[`basic serve usage should work with the "stats" option in config: stderr 1`] = ` +" [webpack-dev-server] Project is running at: + [webpack-dev-server] Loopback: http://localhost:/, http://[::1]:/ + [webpack-dev-server] On Your Network (IPv4): http://x.x.x.x:/ + [webpack-dev-server] On Your Network (IPv6): http://[x:x:x:x:x:x:x:x]:/ + [webpack-dev-server] Content not from webpack is served from '/test/serve/basic/public' directory" +`; + +exports[`basic serve usage should work with the default "publicPath" option: stderr 1`] = ` +" [webpack-dev-server] Project is running at: + [webpack-dev-server] Loopback: http://localhost:/, http://[::1]:/ + [webpack-dev-server] On Your Network (IPv4): http://x.x.x.x:/ + [webpack-dev-server] On Your Network (IPv6): http://[x:x:x:x:x:x:x:x]:/ + [webpack-dev-server] Content not from webpack is served from '/test/serve/basic/public' directory" +`; + +exports[`basic serve usage should work: stderr 1`] = ` +" [webpack-dev-server] Project is running at: + [webpack-dev-server] Loopback: http://localhost:/, http://[::1]:/ + [webpack-dev-server] On Your Network (IPv4): http://x.x.x.x:/ + [webpack-dev-server] On Your Network (IPv6): http://[x:x:x:x:x:x:x:x]:/ + [webpack-dev-server] Content not from webpack is served from '/test/serve/basic/public' directory" +`; diff --git a/test/serve/error-handling/bad-middleware.config.js b/test/serve/error-handling/bad-middleware.config.js new file mode 100644 index 00000000000..0a4e1d04d51 --- /dev/null +++ b/test/serve/error-handling/bad-middleware.config.js @@ -0,0 +1,7 @@ +module.exports = { + mode: "development", + entry: "./src/index.js", + devServer: { + devMiddleware: { unknownOption: true }, + }, +}; diff --git a/test/serve/error-handling/error.config.js b/test/serve/error-handling/error.config.js new file mode 100644 index 00000000000..99c695a55a1 --- /dev/null +++ b/test/serve/error-handling/error.config.js @@ -0,0 +1,4 @@ +module.exports = { + mode: "development", + entry: "./src/syntax-error.js", +}; diff --git a/test/serve/error-handling/serve-error-handling.test.js b/test/serve/error-handling/serve-error-handling.test.js new file mode 100644 index 00000000000..309abe3db5b --- /dev/null +++ b/test/serve/error-handling/serve-error-handling.test.js @@ -0,0 +1,75 @@ +"use strict"; + +/* eslint-disable jest/require-top-level-describe -- `describeDevServer6` is a version-gated `describe` the plugin cannot resolve */ + +const [devServerVersion] = require("webpack-dev-server/package.json").version; +const { run, runWatch } = require("../../utils/test-utils"); + +const getGetPort = () => import("get-port"); + +// The CLI only owns the watch callback (stats printing and error handling) +// when the dev server runs as a compiler plugin (webpack-dev-server 6+). +const describeDevServer6 = devServerVersion === "5" ? describe.skip : describe; + +describeDevServer6("serve error handling", () => { + let port; + + beforeEach(async () => { + port = await (await getGetPort()).default(); + }); + + test("should print the stats with errors and keep serving when the compilation fails", async () => { + const { stderr, stdout } = await runWatch( + __dirname, + ["serve", "--config", "error.config.js", "--port", port], + { + stdoutKillStr: /ERROR/, + stderrKillStr: /Project is running at:/, + }, + ); + + expect(stdout).toContain("ERROR in"); + expect(stderr).toContain("Project is running at:"); + }); + + test("should print the stats with warnings using the '--fail-on-warnings' option", async () => { + const { stderr, stdout } = await runWatch( + __dirname, + ["serve", "--config", "warning.config.js", "--fail-on-warnings", "--port", port], + { + stdoutKillStr: /WARNING/, + stderrKillStr: /Project is running at:/, + }, + ); + + expect(stdout).toContain("WARNING"); + expect(stderr).toContain("Project is running at:"); + }); + + test("should log the error and exit when the dev server fails inside the watch run", async () => { + const { exitCode, stderr, stdout } = await run(__dirname, [ + "serve", + "--config", + "setup-failure.config.js", + ]); + + expect(exitCode).toBe(2); + expect(stderr).toContain("Injected middleware failure"); + expect(stdout).toBeFalsy(); + }); + + test("should log the validation error and exit when a middleware option is invalid", async () => { + const { exitCode, stderr, stdout } = await run(__dirname, [ + "serve", + "--config", + "bad-middleware.config.js", + ]); + + expect(exitCode).toBe(2); + expect(stderr).toContain( + "Dev Middleware has been initialized using an options object that does not match the API schema", + ); + expect(stderr).not.toContain("at Server.setupMiddlewares"); + expect(stdout).toBeFalsy(); + }); +}); diff --git a/test/serve/error-handling/setup-failure.config.js b/test/serve/error-handling/setup-failure.config.js new file mode 100644 index 00000000000..fbeccb27712 --- /dev/null +++ b/test/serve/error-handling/setup-failure.config.js @@ -0,0 +1,9 @@ +module.exports = { + mode: "development", + entry: "./src/index.js", + devServer: { + setupMiddlewares: () => { + throw new Error("Injected middleware failure"); + }, + }, +}; diff --git a/test/serve/error-handling/src/index.js b/test/serve/error-handling/src/index.js new file mode 100644 index 00000000000..4f252c00368 --- /dev/null +++ b/test/serve/error-handling/src/index.js @@ -0,0 +1 @@ +console.log("ok"); diff --git a/test/serve/error-handling/src/syntax-error.js b/test/serve/error-handling/src/syntax-error.js new file mode 100644 index 00000000000..3e3ce78ef41 --- /dev/null +++ b/test/serve/error-handling/src/syntax-error.js @@ -0,0 +1 @@ +const broken = {; diff --git a/test/serve/error-handling/warning.config.js b/test/serve/error-handling/warning.config.js new file mode 100644 index 00000000000..3af9c0e5835 --- /dev/null +++ b/test/serve/error-handling/warning.config.js @@ -0,0 +1,9 @@ +module.exports = { + mode: "development", + entry: "./src/index.js", + performance: { + hints: "warning", + maxAssetSize: 1, + maxEntrypointSize: 1, + }, +}; diff --git a/test/serve/invalid-schema/__snapshots__/invalid-schema.test.js.snap.devServer6.webpack5 b/test/serve/invalid-schema/__snapshots__/invalid-schema.test.js.snap.devServer6.webpack5 new file mode 100644 index 00000000000..3901476fa9e --- /dev/null +++ b/test/serve/invalid-schema/__snapshots__/invalid-schema.test.js.snap.devServer6.webpack5 @@ -0,0 +1,37 @@ +// Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing + +exports[`invalid schema should log webpack error and exit process on invalid config: stderr 1`] = ` +"[webpack-cli] ✖ Invalid configuration object. Webpack has been initialized using a configuration object that does not match the API schema. + - configuration.mode should be one of these: + "development" | "production" | "none" + -> Enable production optimizations or development hints." +`; + +exports[`invalid schema should log webpack error and exit process on invalid config: stdout 1`] = `""`; + +exports[`invalid schema should log webpack error and exit process on invalid flag: stderr 1`] = ` +"[webpack-cli] ✖ Invalid value 'Yukihira' for the '--mode' option +[webpack-cli] ✖ Expected: 'development | production | none'" +`; + +exports[`invalid schema should log webpack error and exit process on invalid flag: stdout 1`] = `""`; + +exports[`invalid schema should log webpack-dev-server error and exit process on invalid config: stderr 1`] = ` +"[webpack-cli] ✖ Invalid options object. Dev Server has been initialized using an options object that does not match the API schema. + - options.bonjour should be one of these: + boolean | object { … } + -> Allows to broadcasts dev server via ZeroConf networking on start. + -> Read more + at stack + -> Options for bonjour. + -> Read more at https://github.com/watson/bonjour#initializing" +`; + +exports[`invalid schema should log webpack-dev-server error and exit process on invalid config: stdout 1`] = `""`; + +exports[`invalid schema should log webpack-dev-server error and exit process on invalid flag: stderr 1`] = ` +"[webpack-cli] ✖ Invalid options object. Dev Server has been initialized using an options object that does not match the API schema. + - options.port should be >= 0 and <= 65535." +`; + +exports[`invalid schema should log webpack-dev-server error and exit process on invalid flag: stdout 1`] = `""`; diff --git a/test/serve/rebuild/multi.config.js b/test/serve/rebuild/multi.config.js new file mode 100644 index 00000000000..f029cb9f8c9 --- /dev/null +++ b/test/serve/rebuild/multi.config.js @@ -0,0 +1,21 @@ +module.exports = [ + { + name: "app", + mode: "development", + entry: "./src/index.js", + output: { filename: "app.js" }, + watchOptions: { + aggregateTimeout: 10, + }, + devServer: {}, + }, + { + name: "worker", + mode: "development", + entry: "./src/index.js", + output: { filename: "worker.js" }, + watchOptions: { + aggregateTimeout: 10, + }, + }, +]; diff --git a/test/serve/rebuild/serve-rebuild.test.js b/test/serve/rebuild/serve-rebuild.test.js new file mode 100644 index 00000000000..999b18a759f --- /dev/null +++ b/test/serve/rebuild/serve-rebuild.test.js @@ -0,0 +1,101 @@ +"use strict"; + +const { readFileSync, writeFileSync } = require("node:fs"); +const { resolve } = require("node:path"); +const { processKill, runWatch } = require("../../utils/test-utils"); + +const getGetPort = () => import("get-port"); + +const entryPath = resolve(__dirname, "./src/index.js"); +const originalEntry = readFileSync(entryPath, "utf8"); + +describe("serve recompilation", () => { + let port; + + beforeEach(async () => { + port = await (await getGetPort()).default(); + }); + + afterEach(() => { + writeFileSync(entryPath, originalEntry); + }); + + it("should recompile upon file change and log the stats again", async () => { + let compilations = 0; + + await runWatch(__dirname, ["serve", "--mode", "development", "--port", port], { + handler: (proc) => { + proc.stdout.on("data", (chunk) => { + const data = chunk.toString(); + + if (!data.includes("compiled successfully")) { + return; + } + + compilations += 1; + + if (compilations === 1) { + process.nextTick(() => { + writeFileSync(entryPath, originalEntry); + }); + } else { + processKill(proc); + } + }); + }, + }); + + expect(compilations).toBe(2); + }); + + it("should serve the updated bundle from memory after recompiling", async () => { + let compilations = 0; + let updatedBody; + + await runWatch(__dirname, ["serve", "--mode", "development", "--port", port], { + handler: (proc) => { + proc.stdout.on("data", (chunk) => { + const data = chunk.toString(); + + if (!data.includes("compiled successfully")) { + return; + } + + compilations += 1; + + if (compilations === 1) { + process.nextTick(() => { + writeFileSync(entryPath, "console.log('serve rebuild test updated');\n"); + }); + } else { + fetch(`http://127.0.0.1:${port}/main.js`) + .then((response) => response.text()) + .then((body) => { + updatedBody = body; + }) + .finally(() => { + processKill(proc); + }); + } + }); + }, + }); + + expect(updatedBody).toContain("serve rebuild test updated"); + }); + + it("should watch every compiler of a multi compiler with its own watch options", async () => { + const { stderr, stdout } = await runWatch( + __dirname, + ["serve", "--config", "multi.config.js", "--port", port], + { + stdoutKillStr: /compiled successfully/, + stderrKillStr: /Project is running at:/, + }, + ); + + expect(stdout).toContain("app:"); + expect(stdout).toContain("worker:"); + expect(stderr).toContain("Project is running at:"); + }); +}); diff --git a/test/serve/rebuild/src/index.js b/test/serve/rebuild/src/index.js new file mode 100644 index 00000000000..fe97d3579ec --- /dev/null +++ b/test/serve/rebuild/src/index.js @@ -0,0 +1 @@ +console.log("serve rebuild test"); diff --git a/test/serve/rebuild/webpack.config.js b/test/serve/rebuild/webpack.config.js new file mode 100644 index 00000000000..d2163db454e --- /dev/null +++ b/test/serve/rebuild/webpack.config.js @@ -0,0 +1,7 @@ +module.exports = { + mode: "development", + entry: "./src/index.js", + watchOptions: { + aggregateTimeout: 10, + }, +}; diff --git a/test/serve/serve-variable/__snapshots__/serve-variable.test.js.snap.devServer6.webpack5 b/test/serve/serve-variable/__snapshots__/serve-variable.test.js.snap.devServer6.webpack5 new file mode 100644 index 00000000000..6b1fc061120 --- /dev/null +++ b/test/serve/serve-variable/__snapshots__/serve-variable.test.js.snap.devServer6.webpack5 @@ -0,0 +1,9 @@ +// Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing + +exports[`serve variable compiles without flags and export variable 1`] = ` +" [webpack-dev-server] Project is running at: + [webpack-dev-server] Loopback: http://localhost:/, http://[::1]:/ + [webpack-dev-server] On Your Network (IPv4): http://x.x.x.x:/ + [webpack-dev-server] On Your Network (IPv6): http://[x:x:x:x:x:x:x:x]:/ + [webpack-dev-server] Content not from webpack is served from '/test/serve/serve-variable/public' directory" +`; diff --git a/test/serve/with-custom-port/__snapshots__/serve-custom-config.test.js.snap.devServer6.webpack5 b/test/serve/with-custom-port/__snapshots__/serve-custom-config.test.js.snap.devServer6.webpack5 new file mode 100644 index 00000000000..3f9a1fc1204 --- /dev/null +++ b/test/serve/with-custom-port/__snapshots__/serve-custom-config.test.js.snap.devServer6.webpack5 @@ -0,0 +1,33 @@ +// Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing + +exports[`serve with devServer in config passing hot flag works alongside other server config: stderr 1`] = ` +" [webpack-dev-server] Project is running at: + [webpack-dev-server] Loopback: http://localhost:/, http://[::1]:/ + [webpack-dev-server] On Your Network (IPv4): http://x.x.x.x:/ + [webpack-dev-server] On Your Network (IPv6): http://[x:x:x:x:x:x:x:x]:/ + [webpack-dev-server] Content not from webpack is served from '/test/serve/with-custom-port/public' directory" +`; + +exports[`serve with devServer in config port flag should override the config port: stderr 1`] = ` +" [webpack-dev-server] Project is running at: + [webpack-dev-server] Loopback: http://localhost:/, http://[::1]:/ + [webpack-dev-server] On Your Network (IPv4): http://x.x.x.x:/ + [webpack-dev-server] On Your Network (IPv6): http://[x:x:x:x:x:x:x:x]:/ + [webpack-dev-server] Content not from webpack is served from '/test/serve/with-custom-port/public' directory" +`; + +exports[`serve with devServer in config should pick up the host and port from config: stderr 1`] = ` +" [webpack-dev-server] Project is running at: + [webpack-dev-server] Loopback: http://localhost:/, http://[::1]:/ + [webpack-dev-server] On Your Network (IPv4): http://x.x.x.x:/ + [webpack-dev-server] On Your Network (IPv6): http://[x:x:x:x:x:x:x:x]:/ + [webpack-dev-server] Content not from webpack is served from '/test/serve/with-custom-port/public' directory" +`; + +exports[`serve with devServer in config works fine when no-hot flag is passed alongside other server config: stderr 1`] = ` +" [webpack-dev-server] Project is running at: + [webpack-dev-server] Loopback: http://localhost:/, http://[::1]:/ + [webpack-dev-server] On Your Network (IPv4): http://x.x.x.x:/ + [webpack-dev-server] On Your Network (IPv6): http://[x:x:x:x:x:x:x:x]:/ + [webpack-dev-server] Content not from webpack is served from '/test/serve/with-custom-port/public' directory" +`;