You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feature #1033 Allowing new major versions of outdated dependencies (weaverryan)
This PR was squashed before being merged into the main branch.
Discussion
----------
Allowing new major versions of outdated dependencies
Fixes#1029
~~A bit more work to do. For now, I'm focused only on the main dependencies (not the `devDependencies`).~~
~~You could argue that this will require a new major version of webpack-encore. However, there is a precedence for allowing major dependency upgrades on minor versions in the past: https://github.com/symfony/webpack-encore/releases/tag/v1.2.0. Assuming none of the libraries have underlying changes that are likely to affect users, I'd like to do that again.~~ Edit: likely we should have a new major release.
## Dependencies
* ~`chalk`~: kept at v4 because v5 requires esm. v4 is stable.
* `clean-webpack-plugin`: `3->4` No breaking changes
* `css-loader`: `5->6`: Min node to 12.3.0, other changes: [CHANGELOG](https://github.com/webpack-contrib/css-loader/blob/master/CHANGELOG.md#-breaking-changes)
* `css-minimizer-webpack-plugin`: `2->3` Min node to 12.3.0
* `loader-utils`: REMOVED
* mini-css-extract-plugin `1.5->2.2.1` Min node to 12.13.0, Webpack to 5.0.0, other changes: [CHANGELOG](https://github.com/webpack-contrib/mini-css-extract-plugin/blob/master/CHANGELOG.md#-breaking-changes)
- ~`pkg-up`~: Keeping version `3.1` because `4` requires esm.
- `pretty-error`: `3.0->4.0` Min node to 12.0
- `resolve-url-loader` `3.0->5.0` Min node to 12.0, postcss ^8.0, remove `rework` engine, other changes: [CHANGELOG](https://github.com/bholloway/resolve-url-loader/blob/v4-maintenance/packages/resolve-url-loader/CHANGELOG.md)
- `style-loader`: `2->3` Min node to 12.13, Min webpack to 5.0 other changes: [CHANGELOG](https://github.com/webpack-contrib/style-loader/blob/master/CHANGELOG.md#-breaking-changes)
- `yargs-parser`: `20.2->21` Min node to 12.0
## Dev Dependencies
- `eslint`: `7->8` Min node to `12.22`
- `eslint-webpack-plugin`: `2.5->3` min node to `12`. Min webpack `5`
- `fork-ts-checker-webpack-plugin`: `5->6` [CHANGELOG](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/releases/tag/v6.0.0)
- `fs-extra`: `9->10` Min node to `12`. Potentially breaking changes: [CHANGELOG](https://github.com/jprichardson/node-fs-extra/blob/master/CHANGELOG.md#breaking-changes****)
- `http-server`: `0.12->14` Min node to `12`.
- `less-loader`: `7->10`: Min node to `12`. Min webpack to `5`. `less.webpackLoaderContext` was removed, please use `pluginManager.webpackLoaderContext`
- `mocha`: `8->9`: min node to `12`. [CHANGELOG](https://github.com/mochajs/mocha/blob/master/CHANGELOG.md#boom-breaking-changes)
- `postcss-loader`: `4-5->6`: min node to `12`. min webpack to `5`.
- `preact`: `8->10`: [CHANGELOG](https://github.com/preactjs/preact/releases/tag/10.0.0)
- `sass-loader`: `9-10-11->12` min node to `12.13`. Min webpack to `5`
- `sinon`: `9->12`
- ~`strip-ansi`~: Need to keep `6` because `7` is esm only. Min node to `12`
- `stylus`: `0.54->0.56`
- `stylus-loader`: `3-4-5->6`: Min node to `12.13`. Min webpack to `5`. Other breaking changes: [CHANGELOG](https://github.com/webpack-contrib/stylus-loader/blob/master/CHANGELOG.md#400-2020-09-29)
* `vue-loader`: `16-17` No important changes: https://github.com/vuejs/vue-loader/blob/next/CHANGELOG.md#1700-2021-12-12
TODOs:
* [x] A) Check CHANGELOG of each library to see what changes, if any, we need.
* [x] B) Bump *our* CHANGELOG for changes people should watch out for
* [x] C) Get tests passing
Commits
-------
f1a1db6 Updating Changelog for #960e8c6d25 bumping preact min to fix test
e4495aa upgrading babel to work with eslint plugin
e853d9e Bumping eslint-webpack-plugin support to fix bugs
a7d817d Writing out babel.config.js for users when using eslint plugin
a4aec57 Converting warning to error, which is consistent with babel env config method
1dc344c dropping Node 10 in CI
c4351d8 removing already unused, deprecated option
69ecce9 Removing deprecated Encore.enableEslintLoader()
993e364 allowing new major versions of outdated dependencies
This is a new major version that contains several backwards-compatibility breaks.
8
+
9
+
### BC Breaks
10
+
11
+
The following dependencies were upgraded a major version. It's unlikely
12
+
these will cause problems, unless you were further configuring this part
13
+
of Encore:
14
+
15
+
*`clean-webpack-plugin` Version `3` to `4`: dropped old Node & Webpack version support
16
+
*`css-loader` Version `5` to `6`: dropped old Node version support & [CHANGELOG](https://github.com/webpack-contrib/css-loader/blob/master/CHANGELOG.md#-breaking-changes)
17
+
*`css-minimizer-webpack-plugin` Version `2` to `3`: dropped old Node version support
18
+
*`loader-utils` REMOVED
19
+
*`mini-css-extract-plugin` Version `1.5` to `2.2.1`: dropped old Node & Webpack version support & [CHANGELOG](https://github.com/webpack-contrib/mini-css-extract-plugin/blob/master/CHANGELOG.md#-breaking-changes)
20
+
*`pretty-error` Version `3.0` to `4.0`: dropped old Node version support
21
+
*`resolve-url-loader` Version `3.0` to `5.0`: dropped old Node version support, requires postcss `^8.0`, remove `rework` engine & [CHANGELOG](https://github.com/bholloway/resolve-url-loader/blob/v4-maintenance/packages/resolve-url-loader/CHANGELOG.md)
22
+
*`style-loader` Version `2` to `3`: dropped old Node and Webpack version support & [CHANGELOG](https://github.com/webpack-contrib/style-loader/blob/master/CHANGELOG.md#-breaking-changes)
23
+
*`yargs-parser` Version `20.2` to `21`: dropped old Node version support
24
+
25
+
Additionally, Encore changed the supported versions of the following packages,
26
+
which you may have installed to enable extra features:
27
+
28
+
*`eslint` Minimum version increased from `7` to `8`
29
+
*`eslint-webpack-plugin` Minimum version increased from `2.5` to `3`
30
+
*`fork-ts-checker-webpack-plugin` Minimum version increased from `5` to `6`[CHANGELOG](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/releases/tag/v6.0.0)
31
+
*`less-loader` Minimum version increased from `7` to `10`
32
+
*`postcss-loader` Minimum version increased from `4` to `6`
33
+
*`preact` Minimum version increased from `8` to `10`[CHANGELOG](https://github.com/preactjs/preact/releases/tag/10.0.0)
34
+
*`sass-loader` Minimum version increased from `9` to `12`
35
+
*`stylus` Minimum version increased from `0.54` to `0.56`
36
+
*`stylus-loader` Minimum version increased from `3` to `6`[CHANGELOG](https://github.com/webpack-contrib/stylus-loader/blob/master/CHANGELOG.md#400-2020-09-29)
37
+
*`vue-loader` Minimum version increased from `16` to `17`[CHANGELOG](https://github.com/vuejs/vue-loader/blob/next/CHANGELOG.md#1700-2021-12-12)
38
+
39
+
* Removed `Encore.enableEslintLoader()`: use `Encore.enableEslintPlugin()`.
40
+
41
+
* If using `enableEslintPlugin()` with the `@babel/eslint-parser` parser,
42
+
you may now need to create an external Babel configuration file. To see
43
+
an example, temporarily delete your `.eslintrc.js` file and run Encore.
44
+
The error will show you a Babel configuration file you can use.
45
+
46
+
* With `configureDefinePlugin()`, the `options['process.env']` key format
47
+
passed to the callback has changed (see #960). If you are using `configureDefinePlugin()`
48
+
to add more items to `process.env`, your code will need to change:
logger.warning('The "callback" argument of configureBabel() will not be used because your app already provides an external Babel configuration (e.g. a ".babelrc" or "babel.config.js" file or "babel" key in "package.json"). Use null as a first argument to remove that warning.');
413
+
thrownewError('The "callback" argument of configureBabel() will not be used because your app already provides an external Babel configuration (e.g. a ".babelrc" or "babel.config.js" file or "babel" key in "package.json"). Use null as the first argument to remove this error.');
logger.deprecation('enableEslintLoader: Extending from a configuration is deprecated, please use a configuration file instead. See https://eslint.org/docs/user-guide/configuring for more information.');
0 commit comments