From 1bbeaf0479e9b911f80b302c60cda2339a80511d Mon Sep 17 00:00:00 2001 From: "alexander.akait" Date: Thu, 19 Dec 2024 19:30:47 +0300 Subject: [PATCH 01/14] docs: changelog --- CHANGELOG.md | 21 +++++++++++++++++++++ packages/webpack-cli/CHANGELOG.md | 10 ++++++++-- 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 67a59a7832a..d0ba82812b6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,24 @@ +# [6.0.0](https://github.com/webpack/webpack-cli/compare/webpack-cli@5.1.4...webpack-cli@6.0.0) (2024-12-19) + +### BREAKING CHANGES + +- the minimum required Node.js version is `18.12.0` +- removed `init`, `loader` and `plugin` commands in favor [`create-webpack-app`](https://github.com/webpack/webpack-cli/tree/master/packages/create-webpack-app) +- dropped support for `webpack-dev-server@v4` +- minimum supported webpack version is `5.82.0` + +### Bug Fixes + +- allow to require `webpack.config.js` in ESM format ([#4346](https://github.com/webpack/webpack-cli/issues/4346)) ([5106684](https://github.com/webpack/webpack-cli/commit/51066846326bcae5f9793d3496325213342d3dd2)) +- correct the minimum help output ([#4057](https://github.com/webpack/webpack-cli/issues/4057)) ([c727c4f](https://github.com/webpack/webpack-cli/commit/c727c4f3c790797cf46a6c0bc83ba77803d3eb05)) +- gracefully shutting down ([#4145](https://github.com/webpack/webpack-cli/issues/4145)) ([90720e2](https://github.com/webpack/webpack-cli/commit/90720e26ba3b0d115ed066fb8ec3db074751163e)) +- improve help output for possible values ([#4316](https://github.com/webpack/webpack-cli/issues/4316)) ([4cd5aef](https://github.com/webpack/webpack-cli/commit/4cd5aef3b93e3d73b5175c36cf9e8f9ae4455cb2)) +- no serve when dev-server is false ([#2947](https://github.com/webpack/webpack-cli/issues/2947)) ([a93e860](https://github.com/webpack/webpack-cli/commit/a93e8603a4c2639916152a013afed04c0e8f3a35)) + +### Features + +- output pnpm version with `info`/`version` command ([#3906](https://github.com/webpack/webpack-cli/issues/3906)) ([38f3c6f](https://github.com/webpack/webpack-cli/commit/38f3c6f2b99f098d2f4afd60f005e8ff5cd44435)) + ## [5.1.4](https://github.com/webpack/webpack-cli/compare/webpack-cli@5.1.3...webpack-cli@5.1.4) (2023-06-07) ### Bug Fixes diff --git a/packages/webpack-cli/CHANGELOG.md b/packages/webpack-cli/CHANGELOG.md index 1b8f51f3a2b..2543cfdaed1 100644 --- a/packages/webpack-cli/CHANGELOG.md +++ b/packages/webpack-cli/CHANGELOG.md @@ -5,14 +5,20 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline # [6.0.0](https://github.com/webpack/webpack-cli/compare/webpack-cli@5.1.4...webpack-cli@6.0.0) (2024-12-19) +### BREAKING CHANGES + +- the minimum required Node.js version is `18.12.0` +- removed `init`, `loader` and `plugin` commands in favor [`create-webpack-app`](https://github.com/webpack/webpack-cli/tree/master/packages/create-webpack-app) +- dropped support for `webpack-dev-server@v4` +- minimum supported webpack version is `5.82.0` + ### Bug Fixes -- allow require `webpack.config.js` in ESM format ([#4346](https://github.com/webpack/webpack-cli/issues/4346)) ([5106684](https://github.com/webpack/webpack-cli/commit/51066846326bcae5f9793d3496325213342d3dd2)) +- allow to require `webpack.config.js` in ESM format ([#4346](https://github.com/webpack/webpack-cli/issues/4346)) ([5106684](https://github.com/webpack/webpack-cli/commit/51066846326bcae5f9793d3496325213342d3dd2)) - correct the minimum help output ([#4057](https://github.com/webpack/webpack-cli/issues/4057)) ([c727c4f](https://github.com/webpack/webpack-cli/commit/c727c4f3c790797cf46a6c0bc83ba77803d3eb05)) - gracefully shutting down ([#4145](https://github.com/webpack/webpack-cli/issues/4145)) ([90720e2](https://github.com/webpack/webpack-cli/commit/90720e26ba3b0d115ed066fb8ec3db074751163e)) - improve help output for possible values ([#4316](https://github.com/webpack/webpack-cli/issues/4316)) ([4cd5aef](https://github.com/webpack/webpack-cli/commit/4cd5aef3b93e3d73b5175c36cf9e8f9ae4455cb2)) - no serve when dev-server is false ([#2947](https://github.com/webpack/webpack-cli/issues/2947)) ([a93e860](https://github.com/webpack/webpack-cli/commit/a93e8603a4c2639916152a013afed04c0e8f3a35)) -- single element config array in `webpack.config.js` now works in multi-compile mode ([a7874f7](https://github.com/webpack/webpack-cli/commit/a7874f746f19d944c1652255d439911af570f4c1)) ### Features From 0d0747c061f55463fda52eba891d0a37a85080f6 Mon Sep 17 00:00:00 2001 From: "alexander.akait" Date: Thu, 19 Dec 2024 19:49:13 +0300 Subject: [PATCH 02/14] chore: use `@webpack-cli/create-webpack-app` --- packages/create-webpack-app/README.md | 12 ++++++------ packages/create-webpack-app/package.json | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/create-webpack-app/README.md b/packages/create-webpack-app/README.md index 6654d257426..81b20bfca5c 100644 --- a/packages/create-webpack-app/README.md +++ b/packages/create-webpack-app/README.md @@ -17,7 +17,7 @@ ### Usage ```bash -npx create-webpack-app [command] [options] +npx @webpack-cli/create-webpack-app [command] [options] ``` ### Commands @@ -31,31 +31,31 @@ npx create-webpack-app [command] [options] **To generate default template** ```bash -npx create-webpack-app +npx @webpack-cli/create-webpack-app ``` **To generate with default answers** ```bash -npx create-webpack-app -f +npx @webpack-cli/create-webpack-app -f ``` or ```bash -npx create-webpack-app --force +npx @webpack-cli/create-webpack-app --force ``` **To generate in a specified path** ```bash -npx create-webpack-app [generation-path] +npx @webpack-cli/create-webpack-app [generation-path] ``` **To generate a project according to a template** ```bash -npx create-webpack-app --template +npx @webpack-cli/create-webpack-app --template ``` Available templates: diff --git a/packages/create-webpack-app/package.json b/packages/create-webpack-app/package.json index 1e6d8e514d0..3782bd7cfee 100644 --- a/packages/create-webpack-app/package.json +++ b/packages/create-webpack-app/package.json @@ -1,5 +1,5 @@ { - "name": "create-webpack-app", + "name": "@webpack-cli/create-webpack-app", "version": "1.0.0", "description": "CLI for scaffolding webpack projects using default config, framework templates, loader or plugins templates", "license": "MIT", From 7564b0ade6ab04259bf3ceb301c95786c2a98f1e Mon Sep 17 00:00:00 2001 From: "alexander.akait" Date: Thu, 19 Dec 2024 20:13:02 +0300 Subject: [PATCH 03/14] chore: use `create-new-webpack-app` name --- packages/create-webpack-app/README.md | 12 ++++++------ packages/create-webpack-app/package.json | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/create-webpack-app/README.md b/packages/create-webpack-app/README.md index 81b20bfca5c..1ea0d086d7c 100644 --- a/packages/create-webpack-app/README.md +++ b/packages/create-webpack-app/README.md @@ -17,7 +17,7 @@ ### Usage ```bash -npx @webpack-cli/create-webpack-app [command] [options] +npx create-new-webpack-app [command] [options] ``` ### Commands @@ -31,31 +31,31 @@ npx @webpack-cli/create-webpack-app [command] [options] **To generate default template** ```bash -npx @webpack-cli/create-webpack-app +npx create-new-webpack-app ``` **To generate with default answers** ```bash -npx @webpack-cli/create-webpack-app -f +npx create-new-webpack-app -f ``` or ```bash -npx @webpack-cli/create-webpack-app --force +npx create-new-webpack-app --force ``` **To generate in a specified path** ```bash -npx @webpack-cli/create-webpack-app [generation-path] +npx create-new-webpack-app [generation-path] ``` **To generate a project according to a template** ```bash -npx @webpack-cli/create-webpack-app --template +npx create-new-webpack-app --template ``` Available templates: diff --git a/packages/create-webpack-app/package.json b/packages/create-webpack-app/package.json index 3782bd7cfee..f690106fff9 100644 --- a/packages/create-webpack-app/package.json +++ b/packages/create-webpack-app/package.json @@ -1,5 +1,5 @@ { - "name": "@webpack-cli/create-webpack-app", + "name": "create-new-webpack-app", "version": "1.0.0", "description": "CLI for scaffolding webpack projects using default config, framework templates, loader or plugins templates", "license": "MIT", From 6b8dbf5e3f69823374eb26ff5ac0827308e40bfd Mon Sep 17 00:00:00 2001 From: "alexander.akait" Date: Thu, 19 Dec 2024 20:15:23 +0300 Subject: [PATCH 04/14] fix: publish --- packages/create-webpack-app/package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/create-webpack-app/package.json b/packages/create-webpack-app/package.json index f690106fff9..4e5018f7f40 100644 --- a/packages/create-webpack-app/package.json +++ b/packages/create-webpack-app/package.json @@ -37,6 +37,7 @@ "files": [ "bin", "lib", + "templates", "!**/*__tests__" ], "dependencies": { From 270fdc26045766e1d7a3c0c2bd1797f59d8df8cd Mon Sep 17 00:00:00 2001 From: "alexander.akait" Date: Thu, 19 Dec 2024 20:16:52 +0300 Subject: [PATCH 05/14] chore(release): create-webpack-app --- packages/create-webpack-app/CHANGELOG.md | 6 ++++++ packages/create-webpack-app/package.json | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/create-webpack-app/CHANGELOG.md b/packages/create-webpack-app/CHANGELOG.md index 723a0382377..20ed6c4d56a 100644 --- a/packages/create-webpack-app/CHANGELOG.md +++ b/packages/create-webpack-app/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# 1.0.1 (2024-12-19) + +### Bug Fixes + +- Fixed publish + # 1.0.0 (2024-12-19) ### Features diff --git a/packages/create-webpack-app/package.json b/packages/create-webpack-app/package.json index 4e5018f7f40..966407dd0d6 100644 --- a/packages/create-webpack-app/package.json +++ b/packages/create-webpack-app/package.json @@ -1,6 +1,6 @@ { "name": "create-new-webpack-app", - "version": "1.0.0", + "version": "1.0.1", "description": "CLI for scaffolding webpack projects using default config, framework templates, loader or plugins templates", "license": "MIT", "repository": { From 5405aedeb184191fbe035f8f31410a915062d609 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 20 Dec 2024 12:40:10 +0530 Subject: [PATCH 06/14] chore(deps-dev): bump readable-stream in the dependencies group (#4355) Bumps the dependencies group with 1 update: [readable-stream](https://github.com/nodejs/readable-stream). Updates `readable-stream` from 4.5.2 to 4.6.0 - [Release notes](https://github.com/nodejs/readable-stream/releases) - [Commits](https://github.com/nodejs/readable-stream/compare/v4.5.2...v4.6.0) --- updated-dependencies: - dependency-name: readable-stream dependency-type: direct:development update-type: version-update:semver-minor dependency-group: dependencies ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index beb7e0338a1..03444dbb264 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8900,9 +8900,9 @@ readable-stream@^3.0.0, readable-stream@^3.0.2, readable-stream@^3.0.6, readable util-deprecate "^1.0.1" readable-stream@^4.5.2: - version "4.5.2" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-4.5.2.tgz#9e7fc4c45099baeed934bff6eb97ba6cf2729e09" - integrity sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g== + version "4.6.0" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-4.6.0.tgz#ce412dfb19c04efde1c5936d99c27f37a1ff94c9" + integrity sha512-cbAdYt0VcnpN2Bekq7PU+k363ZRsPwJoEEJOEtSJQlJXzwaxt3FIo/uL+KeDSGIjJqtkwyge4KQgD2S2kd+CQw== dependencies: abort-controller "^3.0.0" buffer "^6.0.3" From 7a7e5d9f4bd796c7d1089db228b9581e97cc897e Mon Sep 17 00:00:00 2001 From: Nitin Kumar Date: Fri, 20 Dec 2024 18:25:31 +0530 Subject: [PATCH 07/14] fix: update peer dependencies (#4356) --- packages/configtest/package.json | 4 ++-- packages/info/package.json | 4 ++-- packages/serve/package.json | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/configtest/package.json b/packages/configtest/package.json index d787f7f0304..d4f7dd165de 100644 --- a/packages/configtest/package.json +++ b/packages/configtest/package.json @@ -20,7 +20,7 @@ "lib" ], "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" + "webpack": "^5.82.0", + "webpack-cli": "6.x.x" } } diff --git a/packages/info/package.json b/packages/info/package.json index ef00fed6b08..9ed5557f3da 100644 --- a/packages/info/package.json +++ b/packages/info/package.json @@ -21,7 +21,7 @@ ], "gitHead": "fb50f766851f500ca12867a2aa9de81fa6e368f9", "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" + "webpack": "^5.82.0", + "webpack-cli": "6.x.x" } } diff --git a/packages/serve/package.json b/packages/serve/package.json index 9ef9f427edd..963247a85f3 100644 --- a/packages/serve/package.json +++ b/packages/serve/package.json @@ -21,8 +21,8 @@ "lib" ], "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" + "webpack": "^5.82.0", + "webpack-cli": "6.x.x" }, "peerDependenciesMeta": { "webpack-dev-server": { From 09c7cd715f7c573be0d882fe45e2c3a5097916fd Mon Sep 17 00:00:00 2001 From: "alexander.akait" Date: Thu, 19 Dec 2024 21:06:53 +0300 Subject: [PATCH 08/14] fix: reduce package size, avoid `*.d.ts` --- packages/create-webpack-app/package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/create-webpack-app/package.json b/packages/create-webpack-app/package.json index 966407dd0d6..f7150ca8e18 100644 --- a/packages/create-webpack-app/package.json +++ b/packages/create-webpack-app/package.json @@ -38,7 +38,8 @@ "bin", "lib", "templates", - "!**/*__tests__" + "!**/*__tests__", + "!**/*.d.ts" ], "dependencies": { "@inquirer/prompts": "^7.2.0", From fca8c0073cb76a05035a4c8a8059e1a02e982c5e Mon Sep 17 00:00:00 2001 From: "alexander.akait" Date: Thu, 19 Dec 2024 21:38:45 +0300 Subject: [PATCH 09/14] fix: logging --- .../create-webpack-app/src/utils/logger.ts | 21 +++++++++++++------ .../src/utils/pkgInstallAction.ts | 2 +- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/packages/create-webpack-app/src/utils/logger.ts b/packages/create-webpack-app/src/utils/logger.ts index 2518eb05ce3..c60809e19d5 100644 --- a/packages/create-webpack-app/src/utils/logger.ts +++ b/packages/create-webpack-app/src/utils/logger.ts @@ -28,12 +28,21 @@ const typeDisplay: Record = { }; function onSuccessHandler(change: PlopActionHooksChanges): void { - change.path.split("\n").forEach((line) => { - const [operationType = "", renderPath = ""] = line.split("|") as [string, string]; - console.log( - `\t${typeDisplay[operationType]} ${normalize(relative(process.cwd(), renderPath))}`, - ); - }); + switch (change.type) { + case "fileGenerator": { + change.path.split("\n").forEach((line) => { + const [operationType = "", renderPath = ""] = line.split("|"); + console.log( + `\t${typeDisplay[operationType]} ${normalize(relative(process.cwd(), renderPath))}`, + ); + }); + break; + } + case "pkgInstall": { + logger.success(change.path); + break; + } + } } function onFailureHandler(failure: PlopActionHooksFailures): void { diff --git a/packages/create-webpack-app/src/utils/pkgInstallAction.ts b/packages/create-webpack-app/src/utils/pkgInstallAction.ts index 0c3dcce6716..deda956f247 100644 --- a/packages/create-webpack-app/src/utils/pkgInstallAction.ts +++ b/packages/create-webpack-app/src/utils/pkgInstallAction.ts @@ -30,7 +30,7 @@ export default async function (plop: NodePlopAPI) { // promise to complete subprocess of installing packages and return a message const returnPromise: Promise = new Promise((resolve, reject) => { - const returnMessage = `Project Dependencies installed successfully`; + const returnMessage = `Project dependencies installed successfully!`; const packageManager = answers.packageManager; const packages = config.packages.length == 1 ? [config.packages[0]] : config.packages; const installOptions: Record> = { From 2db119517e5b5689a2bb05902d9567d52845b726 Mon Sep 17 00:00:00 2001 From: "alexander.akait" Date: Thu, 19 Dec 2024 21:49:43 +0300 Subject: [PATCH 10/14] refactor: code --- .../create-webpack-app/src/generators/init/default.ts | 8 ++++---- packages/create-webpack-app/src/generators/init/react.ts | 8 ++++---- packages/create-webpack-app/src/generators/init/svelte.ts | 8 ++++---- packages/create-webpack-app/src/generators/init/vue.ts | 8 ++++---- .../create-webpack-app/src/generators/loader/default.ts | 8 ++++---- .../create-webpack-app/src/generators/plugin/default.ts | 8 ++++---- .../src/utils/{fileGenerator.ts => generate-files.ts} | 2 +- .../{pkgInstallAction.ts => install-dependencies.ts} | 2 +- packages/create-webpack-app/src/utils/logger.ts | 4 ++-- 9 files changed, 28 insertions(+), 28 deletions(-) rename packages/create-webpack-app/src/utils/{fileGenerator.ts => generate-files.ts} (99%) rename packages/create-webpack-app/src/utils/{pkgInstallAction.ts => install-dependencies.ts} (96%) diff --git a/packages/create-webpack-app/src/generators/init/default.ts b/packages/create-webpack-app/src/generators/init/default.ts index 08c8491a8bb..fa95521bc19 100644 --- a/packages/create-webpack-app/src/generators/init/default.ts +++ b/packages/create-webpack-app/src/generators/init/default.ts @@ -9,8 +9,8 @@ export default async function (plop: NodePlopAPI) { // dependencies to be installed const devDependencies: Array = ["webpack", "webpack-cli"]; - await plop.load("../../utils/pkgInstallAction.js", {}, true); - await plop.load("../../utils/fileGenerator.js", {}, true); + await plop.load("../../utils/install-dependencies.js", {}, true); + await plop.load("../../utils/generate-files.js", {}, true); plop.setDefaultInclude({ generators: true, actionTypes: true }); plop.setPlopfilePath(resolve(__dirname, "../../plopfile.js")); @@ -181,7 +181,7 @@ export default async function (plop: NodePlopAPI) { for (const file of files) { actions.push({ - type: "fileGenerator", + type: "generate-files", path: join(answers.projectPath, file.filePath), templateFile: join( plop.getPlopfilePath(), @@ -194,7 +194,7 @@ export default async function (plop: NodePlopAPI) { } actions.push({ - type: "pkgInstall", + type: "install-dependencies", path: answers.projectPath, packages: devDependencies, }); diff --git a/packages/create-webpack-app/src/generators/init/react.ts b/packages/create-webpack-app/src/generators/init/react.ts index 9984de2d9d0..6f4fe9873d6 100644 --- a/packages/create-webpack-app/src/generators/init/react.ts +++ b/packages/create-webpack-app/src/generators/init/react.ts @@ -18,8 +18,8 @@ export default async function (plop: NodePlopAPI) { "@types/react-router-dom", ]; - await plop.load("../../utils/pkgInstallAction.js", {}, true); - await plop.load("../../utils/fileGenerator.js", {}, true); + await plop.load("../../utils/install-dependencies.js", {}, true); + await plop.load("../../utils/generate-files.js", {}, true); plop.setDefaultInclude({ generators: true, actionTypes: true }); plop.setPlopfilePath(resolve(__dirname, "../../plopfile.js")); @@ -201,7 +201,7 @@ export default async function (plop: NodePlopAPI) { for (const file of files) { actions.push({ - type: "fileGenerator", + type: "generate-files", path: join(answers.projectPath, file.filePath), templateFile: join( plop.getPlopfilePath(), @@ -214,7 +214,7 @@ export default async function (plop: NodePlopAPI) { } actions.push({ - type: "pkgInstall", + type: "install-dependencies", path: answers.projectPath, packages: devDependencies, }); diff --git a/packages/create-webpack-app/src/generators/init/svelte.ts b/packages/create-webpack-app/src/generators/init/svelte.ts index 1c836156f3d..29f6bdf38d3 100644 --- a/packages/create-webpack-app/src/generators/init/svelte.ts +++ b/packages/create-webpack-app/src/generators/init/svelte.ts @@ -16,8 +16,8 @@ export default async function (plop: NodePlopAPI) { "html-webpack-plugin", ]; - await plop.load("../../utils/pkgInstallAction.js", {}, true); - await plop.load("../../utils/fileGenerator.js", {}, true); + await plop.load("../../utils/install-dependencies.js", {}, true); + await plop.load("../../utils/generate-files.js", {}, true); plop.setDefaultInclude({ generators: true, actionTypes: true }); plop.setPlopfilePath(resolve(__dirname, "../../plopfile.js")); @@ -188,7 +188,7 @@ export default async function (plop: NodePlopAPI) { for (const file of files) { actions.push({ - type: "fileGenerator", + type: "generate-files", path: join(answers.projectPath, file.filePath), templateFile: join( plop.getPlopfilePath(), @@ -201,7 +201,7 @@ export default async function (plop: NodePlopAPI) { } actions.push({ - type: "pkgInstall", + type: "install-dependencies", path: answers.projectPath, packages: devDependencies, }); diff --git a/packages/create-webpack-app/src/generators/init/vue.ts b/packages/create-webpack-app/src/generators/init/vue.ts index fb90403e9c3..42c4e5011ce 100644 --- a/packages/create-webpack-app/src/generators/init/vue.ts +++ b/packages/create-webpack-app/src/generators/init/vue.ts @@ -18,8 +18,8 @@ export default async function (plop: NodePlopAPI) { "vue-router@4", ]; - await plop.load("../../utils/pkgInstallAction.js", {}, true); - await plop.load("../../utils/fileGenerator.js", {}, true); + await plop.load("../../utils/install-dependencies.js", {}, true); + await plop.load("../../utils/generate-files.js", {}, true); plop.setDefaultInclude({ generators: true, actionTypes: true }); plop.setPlopfilePath(resolve(__dirname, "../../plopfile.js")); @@ -210,7 +210,7 @@ export default async function (plop: NodePlopAPI) { for (const file of files) { actions.push({ - type: "fileGenerator", + type: "generate-files", path: join(answers.projectPath, file.filePath), templateFile: join( plop.getPlopfilePath(), @@ -223,7 +223,7 @@ export default async function (plop: NodePlopAPI) { } actions.push({ - type: "pkgInstall", + type: "install-dependencies", path: answers.projectPath, packages: devDependencies, }); diff --git a/packages/create-webpack-app/src/generators/loader/default.ts b/packages/create-webpack-app/src/generators/loader/default.ts index 83f2f1dc5fc..1c5faf48e68 100644 --- a/packages/create-webpack-app/src/generators/loader/default.ts +++ b/packages/create-webpack-app/src/generators/loader/default.ts @@ -10,8 +10,8 @@ export default async function (plop: NodePlopAPI) { // dependencies to be installed const devDependencies: Array = ["webpack-defaults"]; - await plop.load("../../utils/pkgInstallAction.js", {}, true); - await plop.load("../../utils/fileGenerator.js", {}, true); + await plop.load("../../utils/install-dependencies.js", {}, true); + await plop.load("../../utils/generate-files.js", {}, true); // custom helper function plop.setHelper("makeLoaderName", (name: string) => { @@ -76,7 +76,7 @@ export default async function (plop: NodePlopAPI) { for (const file of files) { actions.push({ - type: "fileGenerator", + type: "generate-files", path: join(answers.projectPath, file.filePath), templateFile: join( plop.getPlopfilePath(), @@ -89,7 +89,7 @@ export default async function (plop: NodePlopAPI) { } actions.push({ - type: "pkgInstall", + type: "install-dependencies", path: answers.projectPath, packages: devDependencies, }); diff --git a/packages/create-webpack-app/src/generators/plugin/default.ts b/packages/create-webpack-app/src/generators/plugin/default.ts index e03f7a9b2a7..d640ffaa7e1 100644 --- a/packages/create-webpack-app/src/generators/plugin/default.ts +++ b/packages/create-webpack-app/src/generators/plugin/default.ts @@ -10,8 +10,8 @@ export default async function (plop: NodePlopAPI) { // dependencies to be installed const devDependencies: Array = ["webpack-defaults"]; - await plop.load("../../utils/pkgInstallAction.js", {}, true); - await plop.load("../../utils/fileGenerator.js", {}, true); + await plop.load("../../utils/install-dependencies.js", {}, true); + await plop.load("../../utils/generate-files.js", {}, true); plop.setDefaultInclude({ generators: true, actionTypes: true }); plop.setPlopfilePath(resolve(__dirname, "../../plopfile.js")); @@ -68,7 +68,7 @@ export default async function (plop: NodePlopAPI) { for (const file of files) { actions.push({ - type: "fileGenerator", + type: "generate-files", path: join(answers.projectPath, file.filePath), templateFile: join( plop.getPlopfilePath(), @@ -81,7 +81,7 @@ export default async function (plop: NodePlopAPI) { } actions.push({ - type: "pkgInstall", + type: "install-dependencies", path: answers.projectPath, packages: devDependencies, }); diff --git a/packages/create-webpack-app/src/utils/fileGenerator.ts b/packages/create-webpack-app/src/utils/generate-files.ts similarity index 99% rename from packages/create-webpack-app/src/utils/fileGenerator.ts rename to packages/create-webpack-app/src/utils/generate-files.ts index 15505d95e2f..1ee22c98f03 100644 --- a/packages/create-webpack-app/src/utils/fileGenerator.ts +++ b/packages/create-webpack-app/src/utils/generate-files.ts @@ -240,7 +240,7 @@ export default async function (plop: NodePlopAPI) { plop.setPlopfilePath(path.resolve(__dirname, "../plopfile.js")); plop.setDefaultInclude({ actions: true }); - plop.setActionType("fileGenerator", async (answers, config) => { + plop.setActionType("generate-files", async (answers, config) => { const isTemplate = config.fileType === "text"; const result = await checkAndPrepareContent( { ...config, data: answers } as AddConfig, diff --git a/packages/create-webpack-app/src/utils/pkgInstallAction.ts b/packages/create-webpack-app/src/utils/install-dependencies.ts similarity index 96% rename from packages/create-webpack-app/src/utils/pkgInstallAction.ts rename to packages/create-webpack-app/src/utils/install-dependencies.ts index deda956f247..ba20f13d9fc 100644 --- a/packages/create-webpack-app/src/utils/pkgInstallAction.ts +++ b/packages/create-webpack-app/src/utils/install-dependencies.ts @@ -14,7 +14,7 @@ export default async function (plop: NodePlopAPI) { plop.setPlopfilePath(resolve(__dirname, "../plopfile.js")); plop.setDefaultInclude({ actions: true }); - plop.setActionType("pkgInstall", (answers, config) => { + plop.setActionType("install-dependencies", (answers, config) => { const options: SpawnOptionsWithStdioTuple< StdioNull, StdioNull | StdioPipe, diff --git a/packages/create-webpack-app/src/utils/logger.ts b/packages/create-webpack-app/src/utils/logger.ts index c60809e19d5..0c0fa080792 100644 --- a/packages/create-webpack-app/src/utils/logger.ts +++ b/packages/create-webpack-app/src/utils/logger.ts @@ -29,7 +29,7 @@ const typeDisplay: Record = { function onSuccessHandler(change: PlopActionHooksChanges): void { switch (change.type) { - case "fileGenerator": { + case "generate-files": { change.path.split("\n").forEach((line) => { const [operationType = "", renderPath = ""] = line.split("|"); console.log( @@ -38,7 +38,7 @@ function onSuccessHandler(change: PlopActionHooksChanges): void { }); break; } - case "pkgInstall": { + case "install-dependencies": { logger.success(change.path); break; } From eab2f3972e9c7b56a149761ac10e8e43b0a9339c Mon Sep 17 00:00:00 2001 From: "alexander.akait" Date: Thu, 19 Dec 2024 22:11:15 +0300 Subject: [PATCH 11/14] fix: less dependencies --- packages/create-webpack-app/package.json | 3 ++- packages/create-webpack-app/src/index.ts | 2 +- packages/create-webpack-app/src/utils/generate-files.ts | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/create-webpack-app/package.json b/packages/create-webpack-app/package.json index f7150ca8e18..17d22ac341a 100644 --- a/packages/create-webpack-app/package.json +++ b/packages/create-webpack-app/package.json @@ -42,7 +42,8 @@ "!**/*.d.ts" ], "dependencies": { - "@inquirer/prompts": "^7.2.0", + "@inquirer/expand": "^4.0.3", + "@inquirer/select": "^4.0.3", "colorette": "^2.0.20", "commander": "^12.1.0", "cross-spawn": "^7.0.3", diff --git a/packages/create-webpack-app/src/index.ts b/packages/create-webpack-app/src/index.ts index a9a752c9720..03e38001828 100644 --- a/packages/create-webpack-app/src/index.ts +++ b/packages/create-webpack-app/src/index.ts @@ -1,6 +1,6 @@ import { Command } from "commander"; import { resolve, dirname } from "path"; -import { select } from "@inquirer/prompts"; +import select from "@inquirer/select"; import nodePlop, { type PlopGenerator } from "node-plop"; import { fileURLToPath } from "url"; diff --git a/packages/create-webpack-app/src/utils/generate-files.ts b/packages/create-webpack-app/src/utils/generate-files.ts index 1ee22c98f03..270ca906a88 100644 --- a/packages/create-webpack-app/src/utils/generate-files.ts +++ b/packages/create-webpack-app/src/utils/generate-files.ts @@ -1,6 +1,6 @@ import * as fs from "fs/promises"; import * as ejs from "ejs"; -import { expand } from "@inquirer/prompts"; +import expand from "@inquirer/expand"; import { spawn, sync } from "cross-spawn"; import * as path from "path"; import { fileURLToPath } from "url"; From 8326501cc2ad65937b2f10a4ccb287e87cd28932 Mon Sep 17 00:00:00 2001 From: "alexander.akait" Date: Thu, 19 Dec 2024 22:39:26 +0300 Subject: [PATCH 12/14] fix: better default values --- packages/create-webpack-app/src/generators/init/default.ts | 4 ++-- packages/create-webpack-app/src/generators/init/react.ts | 2 +- packages/create-webpack-app/src/generators/init/svelte.ts | 2 +- packages/create-webpack-app/src/generators/init/vue.ts | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/create-webpack-app/src/generators/init/default.ts b/packages/create-webpack-app/src/generators/init/default.ts index fa95521bc19..64a03a60954 100644 --- a/packages/create-webpack-app/src/generators/init/default.ts +++ b/packages/create-webpack-app/src/generators/init/default.ts @@ -50,7 +50,7 @@ export default async function (plop: NodePlopAPI) { name: "cssType", message: "Which of the following CSS solution do you want to use?", choices: ["none", "CSS only", "SASS", "LESS", "Stylus"], - default: "none", + default: "CSS only", filter: (input, answers) => { if (input === "none") { answers.isCSS = false; @@ -81,7 +81,7 @@ export default async function (plop: NodePlopAPI) { name: "extractPlugin", message: "Do you want to extract CSS into separate files?", choices: ["No", "Only for Production", "Yes"], - default: "No", + default: "Only for Production", }, { type: "list", diff --git a/packages/create-webpack-app/src/generators/init/react.ts b/packages/create-webpack-app/src/generators/init/react.ts index 6f4fe9873d6..6f97db884f5 100644 --- a/packages/create-webpack-app/src/generators/init/react.ts +++ b/packages/create-webpack-app/src/generators/init/react.ts @@ -84,7 +84,7 @@ export default async function (plop: NodePlopAPI) { name: "extractPlugin", message: "Do you want to extract CSS into separate files?", choices: ["No", "Only for Production", "Yes"], - default: "No", + default: "Only for Production", }, { type: "list", diff --git a/packages/create-webpack-app/src/generators/init/svelte.ts b/packages/create-webpack-app/src/generators/init/svelte.ts index 29f6bdf38d3..14f1df83ff7 100644 --- a/packages/create-webpack-app/src/generators/init/svelte.ts +++ b/packages/create-webpack-app/src/generators/init/svelte.ts @@ -75,7 +75,7 @@ export default async function (plop: NodePlopAPI) { name: "extractPlugin", message: "Do you want to extract CSS into separate files?", choices: ["No", "Only for Production", "Yes"], - default: "No", + default: "Only for Production", }, { type: "list", diff --git a/packages/create-webpack-app/src/generators/init/vue.ts b/packages/create-webpack-app/src/generators/init/vue.ts index 42c4e5011ce..8af8c51f540 100644 --- a/packages/create-webpack-app/src/generators/init/vue.ts +++ b/packages/create-webpack-app/src/generators/init/vue.ts @@ -83,7 +83,7 @@ export default async function (plop: NodePlopAPI) { name: "extractPlugin", message: "Do you want to extract CSS into separate files?", choices: ["No", "Only for Production", "Yes"], - default: "No", + default: "Only for Production", }, { type: "list", From 7a5071bc637944d25711b7734dd6e6f741a6c6a5 Mon Sep 17 00:00:00 2001 From: "alexander.akait" Date: Fri, 20 Dec 2024 16:55:48 +0300 Subject: [PATCH 13/14] test: fix --- .../__snapshots__/init.test.js.snap.webpack5 | 60 +++++++++++++++---- test/create-webpack-app/init/init.test.js | 36 +++++------ 2 files changed, 64 insertions(+), 32 deletions(-) diff --git a/test/create-webpack-app/init/__snapshots__/init.test.js.snap.webpack5 b/test/create-webpack-app/init/__snapshots__/init.test.js.snap.webpack5 index d4374a8be83..59cc6e322b1 100644 --- a/test/create-webpack-app/init/__snapshots__/init.test.js.snap.webpack5 +++ b/test/create-webpack-app/init/__snapshots__/init.test.js.snap.webpack5 @@ -619,6 +619,7 @@ exports[`create-webpack-app cli should generate react template with state and ro "babel-loader": "x.x.x", "css-loader": "x.x.x", "html-webpack-plugin": "x.x.x", + "mini-css-extract-plugin": "x.x.x", "postcss": "x.x.x", "postcss-loader": "x.x.x", "react": "x.x.x", @@ -646,12 +647,13 @@ exports[`create-webpack-app cli should generate react template with state and ro const path = require('path'); const HtmlWebpackPlugin = require('html-webpack-plugin'); +const MiniCssExtractPlugin = require('mini-css-extract-plugin'); const WorkboxWebpackPlugin = require('workbox-webpack-plugin'); const isProduction = process.env.NODE_ENV === 'production'; -const stylesHandler = 'style-loader'; +const stylesHandler = isProduction ? MiniCssExtractPlugin.loader : 'style-loader'; @@ -709,6 +711,8 @@ module.exports = () => { if (isProduction) { config.mode = 'production'; + config.plugins.push(new MiniCssExtractPlugin()); + config.plugins.push(new WorkboxWebpackPlugin.GenerateSW()); @@ -848,6 +852,7 @@ exports[`create-webpack-app cli should generate svelte template with prompt answ "babel-loader": "x.x.x", "css-loader": "x.x.x", "html-webpack-plugin": "x.x.x", + "mini-css-extract-plugin": "x.x.x", "postcss": "x.x.x", "postcss-loader": "x.x.x", "style-loader": "x.x.x", @@ -874,12 +879,13 @@ exports[`create-webpack-app cli should generate svelte template with prompt answ const path = require('path'); const HtmlWebpackPlugin = require('html-webpack-plugin'); +const MiniCssExtractPlugin = require('mini-css-extract-plugin'); const WorkboxWebpackPlugin = require('workbox-webpack-plugin'); const isProduction = process.env.NODE_ENV === 'production'; -const stylesHandler = 'style-loader'; +const stylesHandler = isProduction ? MiniCssExtractPlugin.loader : 'style-loader'; @@ -948,6 +954,8 @@ module.exports = () => { if (isProduction) { config.mode = 'production'; + config.plugins.push(new MiniCssExtractPlugin()); + config.plugins.push(new WorkboxWebpackPlugin.GenerateSW()); @@ -1157,6 +1165,7 @@ exports[`create-webpack-app cli should generate vue template with store and rout "babel-loader": "x.x.x", "css-loader": "x.x.x", "html-webpack-plugin": "x.x.x", + "mini-css-extract-plugin": "x.x.x", "pinia": "x.x.x", "postcss": "x.x.x", "postcss-loader": "x.x.x", @@ -1187,12 +1196,13 @@ exports[`create-webpack-app cli should generate vue template with store and rout const path = require('path'); const { VueLoaderPlugin } = require('vue-loader'); const HtmlWebpackPlugin = require('html-webpack-plugin'); +const MiniCssExtractPlugin = require('mini-css-extract-plugin'); const WorkboxWebpackPlugin = require('workbox-webpack-plugin'); const isProduction = process.env.NODE_ENV === 'production'; -const stylesHandler = 'vue-style-loader'; +const stylesHandler = isProduction ? MiniCssExtractPlugin.loader : 'vue-style-loader'; @@ -1254,6 +1264,8 @@ module.exports = () => { if (isProduction) { config.mode = 'production'; + config.plugins.push(new MiniCssExtractPlugin()); + config.plugins.push(new WorkboxWebpackPlugin.GenerateSW()); @@ -1272,6 +1284,7 @@ exports[`create-webpack-app cli should use less in project when selected 1`] = ` "css-loader": "x.x.x", "less": "x.x.x", "less-loader": "x.x.x", + "mini-css-extract-plugin": "x.x.x", "style-loader": "x.x.x", "webpack": "x.x.x", "webpack-cli": "x.x.x", @@ -1290,11 +1303,12 @@ exports[`create-webpack-app cli should use less in project when selected 2`] = ` "// Generated using webpack-cli https://github.com/webpack/webpack-cli const path = require('path'); +const MiniCssExtractPlugin = require('mini-css-extract-plugin'); const isProduction = process.env.NODE_ENV === 'production'; -const stylesHandler = 'style-loader'; +const stylesHandler = isProduction ? MiniCssExtractPlugin.loader : 'style-loader'; @@ -1329,6 +1343,8 @@ module.exports = () => { if (isProduction) { config.mode = 'production'; + config.plugins.push(new MiniCssExtractPlugin()); + } else { config.mode = 'development'; @@ -1343,6 +1359,7 @@ exports[`create-webpack-app cli should use mini-css-extract-plugin when selected "description": "My webpack project", "devDependencies": { "css-loader": "x.x.x", + "mini-css-extract-plugin": "x.x.x", "sass": "x.x.x", "sass-loader": "x.x.x", "style-loader": "x.x.x", @@ -1363,11 +1380,12 @@ exports[`create-webpack-app cli should use mini-css-extract-plugin when selected "// Generated using webpack-cli https://github.com/webpack/webpack-cli const path = require('path'); +const MiniCssExtractPlugin = require('mini-css-extract-plugin'); const isProduction = process.env.NODE_ENV === 'production'; -const stylesHandler = 'style-loader'; +const stylesHandler = isProduction ? MiniCssExtractPlugin.loader : 'style-loader'; @@ -1402,6 +1420,8 @@ module.exports = () => { if (isProduction) { config.mode = 'production'; + config.plugins.push(new MiniCssExtractPlugin()); + } else { config.mode = 'development'; @@ -1417,6 +1437,7 @@ exports[`create-webpack-app cli should use postcss in project when selected 1`] "devDependencies": { "autoprefixer": "x.x.x", "css-loader": "x.x.x", + "mini-css-extract-plugin": "x.x.x", "postcss": "x.x.x", "postcss-loader": "x.x.x", "style-loader": "x.x.x", @@ -1437,11 +1458,12 @@ exports[`create-webpack-app cli should use postcss in project when selected 2`] "// Generated using webpack-cli https://github.com/webpack/webpack-cli const path = require('path'); +const MiniCssExtractPlugin = require('mini-css-extract-plugin'); const isProduction = process.env.NODE_ENV === 'production'; -const stylesHandler = 'style-loader'; +const stylesHandler = isProduction ? MiniCssExtractPlugin.loader : 'style-loader'; @@ -1476,6 +1498,8 @@ module.exports = () => { if (isProduction) { config.mode = 'production'; + config.plugins.push(new MiniCssExtractPlugin()); + } else { config.mode = 'development'; @@ -1491,6 +1515,7 @@ exports[`create-webpack-app cli should use sass and css with postcss in project "devDependencies": { "autoprefixer": "x.x.x", "css-loader": "x.x.x", + "mini-css-extract-plugin": "x.x.x", "postcss": "x.x.x", "postcss-loader": "x.x.x", "sass": "x.x.x", @@ -1513,11 +1538,12 @@ exports[`create-webpack-app cli should use sass and css with postcss in project "// Generated using webpack-cli https://github.com/webpack/webpack-cli const path = require('path'); +const MiniCssExtractPlugin = require('mini-css-extract-plugin'); const isProduction = process.env.NODE_ENV === 'production'; -const stylesHandler = 'style-loader'; +const stylesHandler = isProduction ? MiniCssExtractPlugin.loader : 'style-loader'; @@ -1556,6 +1582,8 @@ module.exports = () => { if (isProduction) { config.mode = 'production'; + config.plugins.push(new MiniCssExtractPlugin()); + } else { config.mode = 'development'; @@ -1570,6 +1598,7 @@ exports[`create-webpack-app cli should use sass in project when selected 1`] = ` "description": "My webpack project", "devDependencies": { "css-loader": "x.x.x", + "mini-css-extract-plugin": "x.x.x", "sass": "x.x.x", "sass-loader": "x.x.x", "style-loader": "x.x.x", @@ -1590,11 +1619,12 @@ exports[`create-webpack-app cli should use sass in project when selected 2`] = ` "// Generated using webpack-cli https://github.com/webpack/webpack-cli const path = require('path'); +const MiniCssExtractPlugin = require('mini-css-extract-plugin'); const isProduction = process.env.NODE_ENV === 'production'; -const stylesHandler = 'style-loader'; +const stylesHandler = isProduction ? MiniCssExtractPlugin.loader : 'style-loader'; @@ -1629,6 +1659,8 @@ module.exports = () => { if (isProduction) { config.mode = 'production'; + config.plugins.push(new MiniCssExtractPlugin()); + } else { config.mode = 'development'; @@ -1644,6 +1676,7 @@ exports[`create-webpack-app cli should use sass with postcss in project when sel "devDependencies": { "autoprefixer": "x.x.x", "css-loader": "x.x.x", + "mini-css-extract-plugin": "x.x.x", "postcss": "x.x.x", "postcss-loader": "x.x.x", "sass": "x.x.x", @@ -1666,11 +1699,12 @@ exports[`create-webpack-app cli should use sass with postcss in project when sel "// Generated using webpack-cli https://github.com/webpack/webpack-cli const path = require('path'); +const MiniCssExtractPlugin = require('mini-css-extract-plugin'); const isProduction = process.env.NODE_ENV === 'production'; -const stylesHandler = 'style-loader'; +const stylesHandler = isProduction ? MiniCssExtractPlugin.loader : 'style-loader'; @@ -1705,6 +1739,8 @@ module.exports = () => { if (isProduction) { config.mode = 'production'; + config.plugins.push(new MiniCssExtractPlugin()); + } else { config.mode = 'development'; @@ -1719,6 +1755,7 @@ exports[`create-webpack-app cli should use stylus in project when selected 1`] = "description": "My webpack project", "devDependencies": { "css-loader": "x.x.x", + "mini-css-extract-plugin": "x.x.x", "style-loader": "x.x.x", "stylus": "x.x.x", "stylus-loader": "x.x.x", @@ -1739,11 +1776,12 @@ exports[`create-webpack-app cli should use stylus in project when selected 2`] = "// Generated using webpack-cli https://github.com/webpack/webpack-cli const path = require('path'); +const MiniCssExtractPlugin = require('mini-css-extract-plugin'); const isProduction = process.env.NODE_ENV === 'production'; -const stylesHandler = 'style-loader'; +const stylesHandler = isProduction ? MiniCssExtractPlugin.loader : 'style-loader'; @@ -1778,6 +1816,8 @@ module.exports = () => { if (isProduction) { config.mode = 'production'; + config.plugins.push(new MiniCssExtractPlugin()); + } else { config.mode = 'development'; diff --git a/test/create-webpack-app/init/init.test.js b/test/create-webpack-app/init/init.test.js index 9f232a19eb9..9ca5504f69f 100644 --- a/test/create-webpack-app/init/init.test.js +++ b/test/create-webpack-app/init/init.test.js @@ -9,6 +9,7 @@ jest.setTimeout(480000); const { run, runPromptWithAnswers } = createPathDependentUtils("create-webpack-app"); const ENTER = "\x0D"; +const UP = "\x1B\x5B\x41"; const DOWN = "\x1B\x5B\x42"; const defaultTemplateFiles = [ @@ -152,7 +153,7 @@ describe("create-webpack-app cli", () => { const { stdout } = await runPromptWithAnswers( assetsPath, ["init", "."], - [`${DOWN}${DOWN}${ENTER}`, `n${ENTER}`, `n${ENTER}`, `n${ENTER}`, ENTER, ENTER], + [`${DOWN}${DOWN}${ENTER}`, `n${ENTER}`, `n${ENTER}`, `n${ENTER}`, `${UP}${ENTER}`, ENTER], ); expect(stdout).toContain("Project has been initialised with webpack!"); @@ -182,7 +183,7 @@ describe("create-webpack-app cli", () => { const { stdout } = await runPromptWithAnswers( assetsPath, ["init", "."], - [`${DOWN}${ENTER}`, `n${ENTER}`, `n${ENTER}`, `n${ENTER}`, ENTER, ENTER], + [`${DOWN}${ENTER}`, `n${ENTER}`, `n${ENTER}`, `n${ENTER}`, `${UP}${ENTER}`, ENTER], ); expect(stdout).toContain("Project has been initialised with webpack!"); @@ -213,7 +214,7 @@ describe("create-webpack-app cli", () => { `n${ENTER}`, `n${ENTER}`, `n${ENTER}`, - `${DOWN}${DOWN}${ENTER}`, + `${DOWN}${ENTER}`, `n${ENTER}`, `n${ENTER}`, `n${ENTER}`, @@ -246,7 +247,7 @@ describe("create-webpack-app cli", () => { `n${ENTER}`, `n${ENTER}`, `n${ENTER}`, - `${DOWN}${DOWN}${ENTER}`, + `${DOWN}${ENTER}`, `n${ENTER}`, `y${ENTER}`, `n${ENTER}`, @@ -281,7 +282,7 @@ describe("create-webpack-app cli", () => { `n${ENTER}`, `n${ENTER}`, `n${ENTER}`, - `${DOWN}${DOWN}${ENTER}`, + `${DOWN}${ENTER}`, `n${ENTER}`, `n${ENTER}`, `y${ENTER}`, @@ -314,7 +315,7 @@ describe("create-webpack-app cli", () => { `n${ENTER}`, `n${ENTER}`, `n${ENTER}`, - `${DOWN}${DOWN}${ENTER}`, + `${DOWN}${ENTER}`, `y${ENTER}`, `y${ENTER}`, `n${ENTER}`, @@ -349,7 +350,7 @@ describe("create-webpack-app cli", () => { `n${ENTER}`, `n${ENTER}`, `n${ENTER}`, - `${DOWN}${DOWN}${DOWN}${ENTER}`, + `${DOWN}${DOWN}${ENTER}`, `n${ENTER}`, `n${ENTER}`, `n${ENTER}`, @@ -382,7 +383,7 @@ describe("create-webpack-app cli", () => { `n${ENTER}`, `n${ENTER}`, `n${ENTER}`, - `${DOWN}${DOWN}${DOWN}${DOWN}${ENTER}`, + `${DOWN}${DOWN}${DOWN}${ENTER}`, `n${ENTER}`, `n${ENTER}`, `n${ENTER}`, @@ -410,7 +411,7 @@ describe("create-webpack-app cli", () => { const { stdout } = await runPromptWithAnswers( assetsPath, ["init", "."], - [ENTER, ENTER, `n${ENTER}`, `n${ENTER}`, ENTER, ENTER], + [ENTER, ENTER, `n${ENTER}`, `n${ENTER}`, `${UP}${ENTER}`, ENTER], ); expect(stdout).toContain("Would you like to use Webpack Dev server?"); @@ -434,16 +435,7 @@ describe("create-webpack-app cli", () => { const { stdout } = await runPromptWithAnswers( assetsPath, ["init", "."], - [ - `${ENTER}`, - `n${ENTER}`, - `n${ENTER}`, - `n${ENTER}`, - `${DOWN}${ENTER}`, - ENTER, - `n${ENTER}`, - ENTER, - ], + [`${ENTER}`, `n${ENTER}`, `n${ENTER}`, `n${ENTER}`, ENTER, ENTER, ENTER, ENTER], ); expect(stdout).toContain("Project has been initialised with webpack!"); @@ -468,7 +460,7 @@ describe("create-webpack-app cli", () => { const { stdout } = await runPromptWithAnswers( assetsPath, ["init", "."], - [ENTER, `n${ENTER}`, ENTER, `n${ENTER}`, ENTER, ENTER], + [ENTER, `n${ENTER}`, ENTER, `n${ENTER}`, `${UP}${ENTER}`, ENTER], ); expect(stdout).toContain("Do you want to simplify the creation of HTML files for your bundle?"); @@ -492,7 +484,7 @@ describe("create-webpack-app cli", () => { const { stdout } = await runPromptWithAnswers( assetsPath, ["init", "."], - [ENTER, `n${ENTER}`, ENTER, ENTER, ENTER, ENTER], + [ENTER, `n${ENTER}`, ENTER, ENTER, `${UP}${ENTER}`, ENTER], ); expect(stdout).toContain("Do you want to add PWA support?"); @@ -628,7 +620,7 @@ describe("create-webpack-app cli", () => { const { stdout } = await runPromptWithAnswers( assetsPath, ["init", "."], - [ENTER, `n${ENTER}`, `n${ENTER}`, `n${ENTER}`, ENTER, `${DOWN}${ENTER}`], + [ENTER, `n${ENTER}`, `n${ENTER}`, `n${ENTER}`, `${UP}${ENTER}`, `${DOWN}${ENTER}`], ); expect(stdout).toContain("Project has been initialised with webpack!"); From 480b33d23b277b3a55310bfc6dec8bcd3d4ed404 Mon Sep 17 00:00:00 2001 From: "alexander.akait" Date: Fri, 20 Dec 2024 17:11:15 +0300 Subject: [PATCH 14/14] chore(release): publish new version - @webpack-cli/configtest@3.0.1 - create-new-webpack-app@1.1.0 - @webpack-cli/info@3.0.1 - @webpack-cli/serve@3.0.1 - webpack-cli@6.0.1 --- packages/configtest/CHANGELOG.md | 6 ++++++ packages/configtest/package.json | 2 +- packages/create-webpack-app/CHANGELOG.md | 14 ++++++++++++++ packages/create-webpack-app/package.json | 2 +- packages/info/CHANGELOG.md | 6 ++++++ packages/info/package.json | 2 +- packages/serve/CHANGELOG.md | 6 ++++++ packages/serve/package.json | 2 +- packages/webpack-cli/CHANGELOG.md | 4 ++++ packages/webpack-cli/package.json | 8 ++++---- 10 files changed, 44 insertions(+), 8 deletions(-) diff --git a/packages/configtest/CHANGELOG.md b/packages/configtest/CHANGELOG.md index 994ccfb93bf..69f02606722 100644 --- a/packages/configtest/CHANGELOG.md +++ b/packages/configtest/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.0.1](https://github.com/webpack/webpack-cli/compare/@webpack-cli/configtest@3.0.0...@webpack-cli/configtest@3.0.1) (2024-12-20) + +### Bug Fixes + +- update peer dependencies ([#4356](https://github.com/webpack/webpack-cli/issues/4356)) ([7a7e5d9](https://github.com/webpack/webpack-cli/commit/7a7e5d9f4bd796c7d1089db228b9581e97cc897e)) + # [3.0.0](https://github.com/webpack/webpack-cli/compare/@webpack-cli/configtest@2.1.1...@webpack-cli/configtest@3.0.0) (2024-12-19) **Note:** Version bump only for package @webpack-cli/configtest diff --git a/packages/configtest/package.json b/packages/configtest/package.json index d4f7dd165de..04c7cebdaad 100644 --- a/packages/configtest/package.json +++ b/packages/configtest/package.json @@ -1,6 +1,6 @@ { "name": "@webpack-cli/configtest", - "version": "3.0.0", + "version": "3.0.1", "description": "Validate a webpack configuration.", "main": "lib/index.js", "types": "lib/index.d.ts", diff --git a/packages/create-webpack-app/CHANGELOG.md b/packages/create-webpack-app/CHANGELOG.md index 20ed6c4d56a..865c9e20890 100644 --- a/packages/create-webpack-app/CHANGELOG.md +++ b/packages/create-webpack-app/CHANGELOG.md @@ -3,6 +3,20 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# 1.1.0 (2024-12-20) + +### Bug Fixes + +- better default values ([8326501](https://github.com/webpack-cli/create-webpack-app/commit/8326501cc2ad65937b2f10a4ccb287e87cd28932)) +- less dependencies ([eab2f39](https://github.com/webpack-cli/create-webpack-app/commit/eab2f3972e9c7b56a149761ac10e8e43b0a9339c)) +- logging ([fca8c00](https://github.com/webpack-cli/create-webpack-app/commit/fca8c0073cb76a05035a4c8a8059e1a02e982c5e)) +- publish ([6b8dbf5](https://github.com/webpack-cli/create-webpack-app/commit/6b8dbf5e3f69823374eb26ff5ac0827308e40bfd)) +- reduce package size, avoid `*.d.ts` ([09c7cd7](https://github.com/webpack-cli/create-webpack-app/commit/09c7cd715f7c573be0d882fe45e2c3a5097916fd)) + +### Features + +- init `create-webpack-app` package ([2739cea](https://github.com/webpack-cli/create-webpack-app/commit/2739cea843334e44e3ed8822d39005645a82a280)) + # 1.0.1 (2024-12-19) ### Bug Fixes diff --git a/packages/create-webpack-app/package.json b/packages/create-webpack-app/package.json index 17d22ac341a..c319d95d5d5 100644 --- a/packages/create-webpack-app/package.json +++ b/packages/create-webpack-app/package.json @@ -1,6 +1,6 @@ { "name": "create-new-webpack-app", - "version": "1.0.1", + "version": "1.1.0", "description": "CLI for scaffolding webpack projects using default config, framework templates, loader or plugins templates", "license": "MIT", "repository": { diff --git a/packages/info/CHANGELOG.md b/packages/info/CHANGELOG.md index 186b1cf77f8..e02c7b40c27 100644 --- a/packages/info/CHANGELOG.md +++ b/packages/info/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.0.1](https://github.com/webpack/webpack-cli/compare/@webpack-cli/info@3.0.0...@webpack-cli/info@3.0.1) (2024-12-20) + +### Bug Fixes + +- update peer dependencies ([#4356](https://github.com/webpack/webpack-cli/issues/4356)) ([7a7e5d9](https://github.com/webpack/webpack-cli/commit/7a7e5d9f4bd796c7d1089db228b9581e97cc897e)) + # [3.0.0](https://github.com/webpack/webpack-cli/compare/@webpack-cli/info@2.0.2...@webpack-cli/info@3.0.0) (2024-12-19) **Note:** Version bump only for package @webpack-cli/info diff --git a/packages/info/package.json b/packages/info/package.json index 9ed5557f3da..a8a4c3bfe74 100644 --- a/packages/info/package.json +++ b/packages/info/package.json @@ -1,6 +1,6 @@ { "name": "@webpack-cli/info", - "version": "3.0.0", + "version": "3.0.1", "description": "Outputs info about system and webpack config", "main": "lib/index.js", "types": "lib/index.d.ts", diff --git a/packages/serve/CHANGELOG.md b/packages/serve/CHANGELOG.md index ef6189246f4..f9ca9461902 100644 --- a/packages/serve/CHANGELOG.md +++ b/packages/serve/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.0.1](https://github.com/webpack/webpack-cli/compare/@webpack-cli/serve@3.0.0...@webpack-cli/serve@3.0.1) (2024-12-20) + +### Bug Fixes + +- update peer dependencies ([#4356](https://github.com/webpack/webpack-cli/issues/4356)) ([7a7e5d9](https://github.com/webpack/webpack-cli/commit/7a7e5d9f4bd796c7d1089db228b9581e97cc897e)) + # [3.0.0](https://github.com/webpack/webpack-cli/compare/@webpack-cli/serve@2.0.5...@webpack-cli/serve@3.0.0) (2024-12-19) ### Bug Fixes diff --git a/packages/serve/package.json b/packages/serve/package.json index 963247a85f3..8756f284d10 100644 --- a/packages/serve/package.json +++ b/packages/serve/package.json @@ -1,6 +1,6 @@ { "name": "@webpack-cli/serve", - "version": "3.0.0", + "version": "3.0.1", "description": "", "main": "lib/index.js", "types": "lib/index.d.ts", diff --git a/packages/webpack-cli/CHANGELOG.md b/packages/webpack-cli/CHANGELOG.md index 2543cfdaed1..0ea39ca6cb0 100644 --- a/packages/webpack-cli/CHANGELOG.md +++ b/packages/webpack-cli/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [6.0.1](https://github.com/webpack/webpack-cli/compare/webpack-cli@6.0.0...webpack-cli@6.0.1) (2024-12-20) + +**Note:** Version bump only for package webpack-cli + # [6.0.0](https://github.com/webpack/webpack-cli/compare/webpack-cli@5.1.4...webpack-cli@6.0.0) (2024-12-19) ### BREAKING CHANGES diff --git a/packages/webpack-cli/package.json b/packages/webpack-cli/package.json index 8298ee0dda5..393358720ed 100644 --- a/packages/webpack-cli/package.json +++ b/packages/webpack-cli/package.json @@ -1,6 +1,6 @@ { "name": "webpack-cli", - "version": "6.0.0", + "version": "6.0.1", "description": "CLI for webpack & friends", "license": "MIT", "repository": { @@ -35,9 +35,9 @@ ], "dependencies": { "@discoveryjs/json-ext": "^0.6.1", - "@webpack-cli/configtest": "^3.0.0", - "@webpack-cli/info": "^3.0.0", - "@webpack-cli/serve": "^3.0.0", + "@webpack-cli/configtest": "^3.0.1", + "@webpack-cli/info": "^3.0.1", + "@webpack-cli/serve": "^3.0.1", "colorette": "^2.0.14", "commander": "^12.1.0", "cross-spawn": "^7.0.3",