Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: webpack/webpack-cli
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: [email protected]
Choose a base ref
...
head repository: webpack/webpack-cli
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: [email protected]
Choose a head ref
Loading
Showing with 13,774 additions and 12,387 deletions.
  1. +4 −1 .cspell.json
  2. +1 −0 .eslintignore
  3. +25 −9 .eslintrc.js
  4. +2 −1 .gitattributes
  5. +3 −2 .github/CONTRIBUTING.md
  6. +4 −0 .github/dependabot.yml
  7. +2 −2 .github/workflows/dependency-review.yml
  8. +18 −20 .github/workflows/nodejs.yml
  9. +2 −5 .github/workflows/update-docs.yml
  10. +1 −0 .gitignore
  11. +1 −4 .husky/commit-msg
  12. +1 −4 .husky/pre-commit
  13. +6 −0 CHANGELOG.md
  14. +65 −2 OPTIONS.md
  15. +6 −10 README.md
  16. +0 −1 SERVE-OPTIONS-v4.md
  17. +117 −0 SERVE-OPTIONS-v5.md
  18. +0 −9 jest.config.js
  19. +0 −1 lerna.json
  20. +1 −1 lint-staged.config.js
  21. +28 −30 package.json
  22. +2 −8 packages/README.md
  23. +4 −0 packages/configtest/CHANGELOG.md
  24. +2 −2 packages/configtest/package.json
  25. +10 −0 packages/create-webpack-app/CHANGELOG.md
  26. +70 −0 packages/create-webpack-app/README.md
  27. +4 −0 packages/create-webpack-app/bin/cli.js
  28. +54 −0 packages/create-webpack-app/package.json
  29. +205 −0 packages/create-webpack-app/src/generators/init/default.ts
  30. +224 −0 packages/create-webpack-app/src/generators/init/react.ts
  31. +212 −0 packages/create-webpack-app/src/generators/init/svelte.ts
  32. +234 −0 packages/create-webpack-app/src/generators/init/vue.ts
  33. +99 −0 packages/create-webpack-app/src/generators/loader/default.ts
  34. +91 −0 packages/create-webpack-app/src/generators/plugin/default.ts
  35. +212 −0 packages/create-webpack-app/src/index.ts
  36. +15 −0 packages/create-webpack-app/src/plopfile.ts
  37. +38 −0 packages/create-webpack-app/src/types.ts
  38. +270 −0 packages/create-webpack-app/src/utils/fileGenerator.ts
  39. +43 −0 packages/create-webpack-app/src/utils/logger.ts
  40. +62 −0 packages/create-webpack-app/src/utils/pkgInstallAction.ts
  41. +3 −3 ...rators/init-template/default/README.md → create-webpack-app/templates/init/default/README.md.tpl}
  42. 0 ...init-template/default/.babelrc → create-webpack-app/templates/init/default/babel.config.json.tpl}
  43. 0 ...it-template/default/template.html.tpl → create-webpack-app/templates/init/default/index.html.tpl}
  44. +15 −0 packages/create-webpack-app/templates/init/default/package.json.tpl
  45. 0 ...late/default/postcss.config.js → create-webpack-app/templates/init/default/postcss.config.js.tpl}
  46. +1 −0 packages/create-webpack-app/templates/init/default/src/index.js.tpl
  47. +1 −0 packages/create-webpack-app/templates/init/default/src/index.ts.tpl
  48. 0 ...nit-template/default/tsconfig.json → create-webpack-app/templates/init/default/tsconfig.json.tpl}
  49. +7 −2 ...e/default/webpack.configjs.tpl → create-webpack-app/templates/init/default/webpack.config.js.tpl}
  50. +15 −0 packages/create-webpack-app/templates/init/react/README.md.tpl
  51. 0 packages/{generators/init-template → create-webpack-app/templates/init}/react/index.d.ts.tpl
  52. +1 −1 packages/{generators/init-template → create-webpack-app/templates/init}/react/index.html.tpl
  53. +0 −1 packages/{generators/init-template → create-webpack-app/templates/init}/react/package.json.tpl
  54. +10 −0 packages/create-webpack-app/templates/init/react/src/App.jsx.tpl
  55. +10 −0 packages/create-webpack-app/templates/init/react/src/App.tsx.tpl
  56. BIN ...s/{generators/init-template → create-webpack-app/templates/init}/react/src/assets/webpack.png.tpl
  57. +18 −0 packages/create-webpack-app/templates/init/react/src/components/About.jsx.tpl
  58. +22 −0 packages/create-webpack-app/templates/init/react/src/components/About.tsx.tpl
  59. +27 −0 packages/create-webpack-app/templates/init/react/src/components/Home.jsx.tpl
  60. +27 −0 packages/create-webpack-app/templates/init/react/src/components/Home.tsx.tpl
  61. +36 −0 packages/create-webpack-app/templates/init/react/src/components/Navbar.jsx.tpl
  62. +36 −0 packages/create-webpack-app/templates/init/react/src/components/Navbar.tsx.tpl
  63. 0 ...init-template/react/src/index.js.tpl → create-webpack-app/templates/init/react/src/index.jsx.tpl}
  64. +2 −2 packages/{generators/init-template → create-webpack-app/templates/init}/react/src/index.tsx.tpl
  65. +19 −0 packages/create-webpack-app/templates/init/react/src/router/index.jsx.tpl
  66. +19 −0 packages/create-webpack-app/templates/init/react/src/router/index.tsx.tpl
  67. +91 −0 packages/create-webpack-app/templates/init/react/src/styles/global.css.tpl
  68. +91 −0 packages/create-webpack-app/templates/init/react/src/styles/global.less.tpl
  69. +91 −0 packages/create-webpack-app/templates/init/react/src/styles/global.scss.tpl
  70. +91 −0 packages/create-webpack-app/templates/init/react/src/styles/global.styl.tpl
  71. +20 −0 packages/create-webpack-app/templates/init/react/tsconfig.json.tpl
  72. +7 −7 packages/{generators/init-template → create-webpack-app/templates/init}/react/webpack.config.js.tpl
  73. +15 −0 packages/create-webpack-app/templates/init/svelte/README.md.tpl
  74. +12 −0 packages/create-webpack-app/templates/init/svelte/index.html.tpl
  75. +11 −0 packages/create-webpack-app/templates/init/svelte/package.json.tpl
  76. +49 −0 packages/create-webpack-app/templates/init/svelte/src/App.svelte.tpl
  77. BIN packages/create-webpack-app/templates/init/svelte/src/assets/webpack.png.tpl
  78. +32 −0 packages/create-webpack-app/templates/init/svelte/src/components/HelloWorld.svelte.tpl
  79. +3 −0 packages/create-webpack-app/templates/init/svelte/src/index.d.ts.tpl
  80. +22 −0 packages/create-webpack-app/templates/init/svelte/src/main.js.tpl
  81. +22 −0 packages/create-webpack-app/templates/init/svelte/src/main.ts.tpl
  82. +41 −0 packages/create-webpack-app/templates/init/svelte/src/store/index.js.tpl
  83. +48 −0 packages/create-webpack-app/templates/init/svelte/src/store/index.ts.tpl
  84. +10 −1 ...erators/init-template/react → create-webpack-app/templates/init/svelte}/src/styles/global.css.tpl
  85. +9 −1 ...rators/init-template/react → create-webpack-app/templates/init/svelte}/src/styles/global.less.tpl
  86. +9 −1 ...rators/init-template/react → create-webpack-app/templates/init/svelte}/src/styles/global.scss.tpl
  87. +9 −1 ...rators/init-template/react → create-webpack-app/templates/init/svelte}/src/styles/global.styl.tpl
  88. +21 −0 packages/create-webpack-app/templates/init/svelte/tsconfig.json.tpl
  89. +119 −0 packages/create-webpack-app/templates/init/svelte/webpack.config.js.tpl
  90. +15 −0 packages/create-webpack-app/templates/init/vue/README.md.tpl
  91. +12 −0 packages/create-webpack-app/templates/init/vue/index.html.tpl
  92. +11 −0 packages/create-webpack-app/templates/init/vue/package.json.tpl
  93. +3 −0 packages/create-webpack-app/templates/init/vue/src/App.vue.tpl
  94. BIN packages/create-webpack-app/templates/init/vue/src/assets/webpack.png.tpl
  95. +34 −0 packages/create-webpack-app/templates/init/vue/src/components/About.vue.tpl
  96. +19 −0 packages/create-webpack-app/templates/init/vue/src/components/Home.vue.tpl
  97. +14 −0 packages/create-webpack-app/templates/init/vue/src/components/Layout.vue.tpl
  98. +34 −0 packages/create-webpack-app/templates/init/vue/src/components/Navbar.vue.tpl
  99. +32 −0 packages/create-webpack-app/templates/init/vue/src/main.js.tpl
  100. +32 −0 packages/create-webpack-app/templates/init/vue/src/main.ts.tpl
  101. +31 −0 packages/create-webpack-app/templates/init/vue/src/router/index.js.tpl
  102. +31 −0 packages/create-webpack-app/templates/init/vue/src/router/index.ts.tpl
  103. +28 −0 packages/create-webpack-app/templates/init/vue/src/store/index.js.tpl
  104. +36 −0 packages/create-webpack-app/templates/init/vue/src/store/index.ts.tpl
  105. +91 −0 packages/create-webpack-app/templates/init/vue/src/styles/global.css.tpl
  106. +91 −0 packages/create-webpack-app/templates/init/vue/src/styles/global.less.tpl
  107. +91 −0 packages/create-webpack-app/templates/init/vue/src/styles/global.scss.tpl
  108. +91 −0 packages/create-webpack-app/templates/init/vue/src/styles/global.styl.tpl
  109. +35 −0 packages/create-webpack-app/templates/init/vue/tsconfig.json.tpl
  110. +115 −0 packages/create-webpack-app/templates/init/vue/webpack.config.js.tpl
  111. 0 ...s/loader-template → create-webpack-app/templates/loader}/default/examples/simple/src/index.js.tpl
  112. 0 ...er-template → create-webpack-app/templates/loader}/default/examples/simple/src/lazy-module.js.tpl
  113. 0 ...plate → create-webpack-app/templates/loader}/default/examples/simple/src/static-esm-module.js.tpl
  114. 0 ...der-template → create-webpack-app/templates/loader}/default/examples/simple/webpack.config.js.tpl
  115. +5 −0 packages/create-webpack-app/templates/loader/default/package.json.tpl
  116. 0 packages/{generators/loader-template → create-webpack-app/templates/loader}/default/src/cjs.js.tpl
  117. 0 ...emplate/default/src/_index.js.tpl → create-webpack-app/templates/loader/default/src/index.js.tpl}
  118. 0 ...s/loader-template → create-webpack-app/templates/loader}/default/test/fixtures/simple-file.js.tpl
  119. 0 ...rators/loader-template → create-webpack-app/templates/loader}/default/test/functional.test.js.tpl
  120. +1 −1 ...{generators/plugin-template → create-webpack-app/templates/loader}/default/test/test-utils.js.tpl
  121. 0 .../{generators/loader-template → create-webpack-app/templates/loader}/default/test/unit.test.js.tpl
  122. 0 ...s/plugin-template → create-webpack-app/templates/plugin}/default/examples/simple/src/index.js.tpl
  123. 0 ...in-template → create-webpack-app/templates/plugin}/default/examples/simple/src/lazy-module.js.tpl
  124. 0 ...plate → create-webpack-app/templates/plugin}/default/examples/simple/src/static-esm-module.js.tpl
  125. +2 −2 ...onfig.js.tpl → create-webpack-app/templates/plugin/default/examples/simple/webpack.config.js.tpl}
  126. +5 −0 packages/create-webpack-app/templates/plugin/default/package.json.tpl
  127. 0 packages/{generators/plugin-template → create-webpack-app/templates/plugin}/default/src/cjs.js.tpl
  128. +2 −2 ...emplate/default/src/_index.js.tpl → create-webpack-app/templates/plugin/default/src/index.js.tpl}
  129. 0 ...s/plugin-template → create-webpack-app/templates/plugin}/default/test/fixtures/simple-file.js.tpl
  130. 0 ...rators/plugin-template → create-webpack-app/templates/plugin}/default/test/functional.test.js.tpl
  131. +1 −1 ...{generators/loader-template → create-webpack-app/templates/plugin}/default/test/test-utils.js.tpl
  132. +2 −1 packages/{generators → create-webpack-app}/tsconfig.json
  133. +0 −228 packages/generators/CHANGELOG.md
  134. +0 −93 packages/generators/INIT.md
  135. +0 −44 packages/generators/README.md
  136. +0 −7 packages/generators/addon-template/package.json.js
  137. +0 −1 packages/generators/init-template/default/index.js
  138. +0 −18 packages/generators/init-template/default/package.json.js
  139. +0 −13 packages/generators/init-template/react/src/App.js.tpl
  140. +0 −13 packages/generators/init-template/react/src/App.tsx.tpl
  141. +0 −12 packages/generators/init-template/react/tsconfig.json.tpl
  142. +0 −46 packages/generators/package.json
  143. +0 −146 packages/generators/src/addon-generator.ts
  144. +0 −33 packages/generators/src/custom-generator.ts
  145. +0 −7 packages/generators/src/handlers.ts
  146. +0 −224 packages/generators/src/handlers/default.ts
  147. +0 −87 packages/generators/src/handlers/react.ts
  148. +0 −146 packages/generators/src/index.ts
  149. +0 −86 packages/generators/src/init-generator.ts
  150. +0 −42 packages/generators/src/loader-generator.ts
  151. +0 −24 packages/generators/src/plugin-generator.ts
  152. +0 −21 packages/generators/src/types/index.ts
  153. +0 −3 packages/generators/src/update-generator.ts
  154. +0 −63 packages/generators/src/utils/helpers.ts
  155. +0 −47 packages/generators/src/utils/scaffold-utils.ts
  156. +4 −0 packages/info/CHANGELOG.md
  157. +2 −2 packages/info/package.json
  158. +6 −0 packages/serve/CHANGELOG.md
  159. +1 −1 packages/serve/README.md
  160. +2 −2 packages/serve/package.json
  161. +13 −6 packages/serve/src/index.ts
  162. +15 −0 packages/webpack-cli/CHANGELOG.md
  163. +10 −13 packages/webpack-cli/package.json
  164. +0 −1 packages/webpack-cli/src/bootstrap.ts
  165. +0 −1 packages/webpack-cli/src/index.ts
  166. +2 −2 packages/webpack-cli/src/plugins/cli-plugin.ts
  167. +13 −24 packages/webpack-cli/src/types.ts
  168. +1 −1 packages/webpack-cli/src/utils/dynamic-import-loader.ts
  169. +146 −135 packages/webpack-cli/src/webpack-cli.ts
  170. +4 −3 scripts/cleanup-test.js
  171. +2 −1 scripts/setup-test.js
  172. +0 −1 scripts/snapshot-resolver.js
  173. +0 −2 scripts/update-docs.js
  174. +0 −2 smoketests/helpers.js
  175. +0 −2 smoketests/index.js
  176. +0 −25 smoketests/missing-command-packages/generator.test.js
  177. +0 −50 smoketests/missing-packages/prettier.test.js
  178. +2 −2 test/.eslintrc
  179. +7 −4 test/api/CLI.test.js
  180. +6 −6 test/api/__snapshots__/CLI.test.js.snap.webpack5
  181. +0 −1 test/api/capitalizeFirstLetter.test.js
  182. +0 −3 test/api/do-install.test.js
  183. +0 −101 test/api/generators/helpers.test.js
  184. +0 −65 test/api/generators/scaffold-utils.test.js
  185. +1 −1 test/api/get-default-package-manager.test.js
  186. +0 −1 test/api/resolve-config/resolve-config.test.js
  187. +0 −1 test/build/analyze/analyze.config.js
  188. +27 −12 test/build/cache/cache.test.js
  189. +1 −3 test/build/config-format/babel-commonjs/babel-esm.test.js
  190. +1 −1 test/build/config-format/babel-commonjs/package.json
  191. +0 −12 test/build/config-format/babel-esm/babel-esm.test.js
  192. +1 −1 test/build/config-format/babel-esm/package.json
  193. +0 −1 test/build/config-format/disable-interpret/disable-interpret.test.js
  194. +0 −1 test/build/config-format/disable-interpret/webpack.config.ts
  195. +18 −0 test/build/config-format/esm-require-await/index.test.js
  196. 0 test/build/config-format/{babel-esm → esm-require-await}/main.js
  197. +13 −0 test/build/config-format/esm-require-await/webpack.config.js
  198. +18 −0 test/build/config-format/esm-require/index.test.js
  199. +1 −0 test/build/config-format/esm-require/main.js
  200. +0 −1 test/build/config-format/{babel-esm/webpack.config.babel.js → esm-require/webpack.config.js}
  201. +1 −1 test/build/config-format/typescript-esnext-mjs/package.json
  202. +1 −1 test/build/config-format/typescript-esnext-mjs/typescript.test.js
  203. +1 −1 test/build/config-format/typescript-esnext/package.json
  204. +2 −6 test/build/config-format/typescript-esnext/typescript.test.js
  205. +0 −1 test/build/config-format/typescript-esnext/webpack.config.ts
  206. +0 −1 test/build/config-format/typescript/webpack.config.ts
  207. 0 test/build/{define-process-env-node-env → config-node-env}/auto-mode.config.js
  208. +7 −16 ...ocess-env-node-env/define-process-env-node-env.test.js → config-node-env/config-node-env.test.js}
  209. +1 −0 test/build/config-node-env/src/index.js
  210. 0 test/build/{define-process-env-node-env → config-node-env}/webpack.config.js
  211. +0 −1 test/build/define-process-env-node-env/src/index.js
  212. +0 −1 test/build/entry/scss/webpack.config.js
  213. +0 −1 test/build/env/array/array-env.test.js
  214. +0 −1 test/build/env/object/object-env.test.js
  215. +1 −3 test/build/json/json.test.js
  216. +2 −6 test/build/unknown/unknown.test.js
  217. +1,893 −0 test/create-webpack-app/init/__snapshots__/init.test.js.snap.webpack5
  218. +191 −93 test/{ → create-webpack-app}/init/init.test.js
  219. +2 −1 test/{ → create-webpack-app}/loader/error-test/loader-error.test.js
  220. 0 test/{ → create-webpack-app}/loader/error-test/src/index.ts
  221. 0 test/{ → create-webpack-app}/loader/error-test/tsconfig.json
  222. 0 test/{ → create-webpack-app}/loader/error-test/webpack.config.js
  223. +32 −24 test/{ → create-webpack-app}/loader/loader.test.js
  224. +2 −2 test/{ → create-webpack-app}/loader/warning-test/loader-warning.test.js
  225. 0 test/{ → create-webpack-app}/loader/warning-test/my-loader.js
  226. 0 test/{ → create-webpack-app}/loader/warning-test/src/main.js
  227. 0 test/{ → create-webpack-app}/loader/warning-test/webpack.config.js
  228. +21 −18 test/{ → create-webpack-app}/plugin/plugin.test.js
  229. +226 −0 test/create-webpack-app/test.utils.js
  230. +0 −2,301 test/help/__snapshots__/help.test.js.snap.devServer4.webpack5
  231. +1,538 −0 test/help/__snapshots__/help.test.js.snap.devServer5.webpack5
  232. +15 −33 test/help/help.test.js
  233. +6 −2 test/info/additional-package.test.js
  234. +2 −0 test/info/basic.test.js
  235. +1 −0 test/info/output.test.js
  236. +0 −1,298 test/init/__snapshots__/init.test.js.snap.webpack5
  237. +95 −102 ...s__/{serve-basic.test.js.snap.devServer4.webpack5 → serve-basic.test.js.snap.devServer5.webpack5}
  238. +5 −0 test/serve/basic/dev-server-false.config.js
  239. +21 −0 test/serve/basic/dev-server-false.multi.config.js
  240. +0 −1 test/serve/basic/multi-dev-server.config.js
  241. +187 −131 test/serve/basic/serve-basic.test.js
  242. +1 −0 test/serve/basic/src/worker.js
  243. +7 −0 ...nvalid-schema.test.js.snap.devServer4.webpack5 → invalid-schema.test.js.snap.devServer5.webpack5}
  244. +1 −2 test/serve/invalid-schema/invalid-schema.test.js
  245. +3 −3 ...erve-variable.test.js.snap.devServer4.webpack5 → serve-variable.test.js.snap.devServer5.webpack5}
  246. +4 −2 test/serve/serve-variable/serve-variable.test.js
  247. +12 −12 ...m-config.test.js.snap.devServer4.webpack5 → serve-custom-config.test.js.snap.devServer5.webpack5}
  248. +16 −5 test/serve/with-custom-port/serve-custom-config.test.js
  249. +27 −20 test/utils/test-utils.js
  250. +0 −92 test/utils/test-utils.test.js
  251. +0 −333 test/version/__snapshots__/version.test.js.snap.webpack5
  252. +6 −2 test/version/additional-package.test.js
  253. +5 −0 test/version/basic.test.js
  254. +1 −0 test/version/output.test.js
  255. +0 −1 test/watch/analyze/analyze.config.js
  256. +3 −3 tsconfig.json
  257. +5,024 −5,832 yarn.lock
5 changes: 4 additions & 1 deletion .cspell.json
Original file line number Diff line number Diff line change
@@ -64,6 +64,7 @@
"nwjs",
"Oikawa",
"pathinfo",
"plopfile",
"pnpm",
"postcss",
"prebuild",
@@ -100,7 +101,9 @@
"Yukii",
"Yuuji",
"Zangetsu",
"Zenitsu"
"Zenitsu",
"quickstart",
"pinia"
],
"dictionaries": ["npm", "software-terms"],
"ignorePaths": [
1 change: 1 addition & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -10,4 +10,5 @@ test/**/index.js
test/build/config/error-commonjs/syntax-error.js
test/build/config/error-mjs/syntax-error.mjs
test/build/config/error-array/webpack.config.js
test/build/config-format/esm-require-await/webpack.config.js
test/configtest/with-config-path/syntax-error.config.js
34 changes: 25 additions & 9 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -1,21 +1,17 @@
module.exports = {
root: true,
reportUnusedDisableDirectives: true,
extends: ["eslint:recommended", "plugin:node/recommended", "prettier"],
extends: ["eslint:recommended", "plugin:n/recommended", "prettier"],
parserOptions: { ecmaVersion: 2018, sourceType: "script" },
plugins: ["node"],
settings: {
node: {
allowModules: ["@webpack-cli/generators"],
},
},
plugins: ["n"],
env: {
node: true,
es6: true,
jest: true,
},
rules: {
"no-process-exit": "off",
"n/no-process-exit": "off",
"no-template-curly-in-string": "error",
"no-caller": "error",
"no-extra-bind": "error",
@@ -26,7 +22,7 @@ module.exports = {
overrides: [
{
settings: {
node: {
n: {
tryExtensions: [".ts", ".tsx", ".js", ".jsx", ".json"],
},
},
@@ -39,7 +35,27 @@ module.exports = {
parser: "@typescript-eslint/parser",
plugins: ["@typescript-eslint"],
rules: {
"node/no-unsupported-features/es-syntax": "off",
"@typescript-eslint/no-unused-vars": [
"error",
{
args: "all",
argsIgnorePattern: "^_",
caughtErrors: "all",
caughtErrorsIgnorePattern: "^_",
destructuredArrayIgnorePattern: "^_",
varsIgnorePattern: "^_",
ignoreRestSiblings: true,
},
],
"n/no-unsupported-features/es-syntax": "off",
"n/no-process-exit": "off",
"@typescript-eslint/no-require-imports": "off",
},
},
{
files: ["**/packages/create-webpack-app/**/*.js"],
parserOptions: {
sourceType: "module",
},
},
],
3 changes: 2 additions & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
* text eol=lf
* text eol=lf
*png.tpl -text
5 changes: 3 additions & 2 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -69,10 +69,9 @@ In case you are suggesting a new feature, we will match your idea with our curre
yarn install
```

- Bootstrap all the submodules before building for the first time
- Build all the submodules before building for the first time

```bash
yarn lerna bootstrap
yarn build
```

@@ -131,6 +130,8 @@ This is a multi-package repository and dependencies are managed using [lerna](ht

> If you are adding or updating any dependency, please commit the updated `yarn.lock` file.
To update dependencies, import each dependency and make sure the command line build passes. The dependency should support our minimal supported node version for webpack, found in `package.json`.

## Branching Model

We base our branching model on [git flow](http://nvie.com/posts/a-successful-git-branching-model/). Instead of working with a `develop` base branch, we use the `master` branch. We do it to ease the workflow a bit. However, we find that adding prefixes to the branches is useful.
4 changes: 4 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -8,3 +8,7 @@ updates:
timezone: Europe/Berlin
open-pull-requests-limit: 10
versioning-strategy: lockfile-only
groups:
dependencies:
patterns:
- "*"
4 changes: 2 additions & 2 deletions .github/workflows/dependency-review.yml
Original file line number Diff line number Diff line change
@@ -9,6 +9,6 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: "Checkout Repository"
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: "Dependency Review"
uses: actions/dependency-review-action@v3
uses: actions/dependency-review-action@v4
38 changes: 18 additions & 20 deletions .github/workflows/nodejs.yml
Original file line number Diff line number Diff line change
@@ -4,15 +4,10 @@ on:
push:
branches:
- master
- next
pull_request:
branches:
- master
- next
workflow_dispatch:
inputs:
tags:
description: "Test description"

permissions:
contents: read
@@ -34,20 +29,17 @@ jobs:
webpack-version: [latest]

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Using Node v${{ matrix.node-version }}
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: "yarn"

- name: Install dependencies
run: yarn --frozen-lockfile

- name: Bootstrap
run: yarn lerna bootstrap

- name: Build
run: yarn build

@@ -66,24 +58,28 @@ jobs:
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
node-version: [14.x, 16.x, 18.x, 20.x]
node-version: [18.x, 20.x, 22.x, 23.x]
shard: ["1/4", "2/4", "3/4", "4/4"]
webpack-version: [latest]
dev-server-version: [latest]

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Using Node v${{ matrix.node-version }}
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: "yarn"

- uses: pnpm/action-setup@v4
with:
version: 9

- name: Install dependencies
run: yarn --frozen-lockfile --ignore-engines
run: yarn --frozen-lockfile --ignore-engines --ignore-scripts

- name: Prepare environment for tests
run: yarn build:ci
@@ -92,7 +88,7 @@ jobs:
run: yarn test:coverage --ci --shard=${{ matrix.shard }}

- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
uses: codecov/codecov-action@v4

smoketests:
name: Smoketests - ${{ matrix.os }} - Node v${{ matrix.node-version }}
@@ -105,12 +101,12 @@ jobs:
os: [ubuntu-latest]
node-version: [lts/*]
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Using Node v${{ matrix.node-version }}
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: "yarn"
@@ -131,17 +127,19 @@ jobs:
group: commitlint-${{ github.ref }}
cancel-in-progress: true
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
fetch-depth: 0

- uses: actions/setup-node@v3
- uses: actions/setup-node@v4
with:
node-version: "lts/*"
cache: "yarn"

- run: yarn --frozen-lockfile

- uses: wagoid/commitlint-github-action@v5
- name: Validate PR commits with commitlint
if: github.event_name == 'pull_request'
run: npx commitlint --from ${{ github.event.pull_request.head.sha }}~${{ github.event.pull_request.commits }} --to ${{ github.event.pull_request.head.sha }} --verbose
env:
NODE_PATH: ${{ github.workspace }}/node_modules
7 changes: 2 additions & 5 deletions .github/workflows/update-docs.yml
Original file line number Diff line number Diff line change
@@ -22,13 +22,13 @@ jobs:

steps:
- name: Checkout Codebase
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.ref }}
token: ${{ env.GITHUB_ACCESS_TOKEN }}

- name: Using Node v${{ matrix.node-version }}
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: "yarn"
@@ -39,9 +39,6 @@ jobs:
- name: Install latest webpack and webpack-dev-server version
run: yarn add -W webpack-dev-server@latest webpack@latest

- name: Bootstrap
run: yarn lerna bootstrap

- name: Build
run: yarn build

1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -51,6 +51,7 @@ packages/**/*.map

# cache
.eslintcache
.cspellcache

# build files
packages/**/lib
5 changes: 1 addition & 4 deletions .husky/commit-msg
Original file line number Diff line number Diff line change
@@ -1,4 +1 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

npx --no-install commitlint --edit $1
commitlint --edit $1
5 changes: 1 addition & 4 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -1,4 +1 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

npx lint-staged
lint-staged
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
## [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

- multi compiler progress output ([f659624](https://github.com/webpack/webpack-cli/commit/f6596242c74100bfd6fa391ed2071402a3bd4785))

## [5.1.3](https://github.com/webpack/webpack-cli/compare/webpack-cli@5.1.2...webpack-cli@5.1.3) (2023-06-04)

### Bug Fixes
Loading