Hi bundlers!
This is a new major release. In Encore itself, nothing really changed. However, we upgraded many of our dependencies across new major versions. Upgrading should be easy, unless you're integrating more deeply into any of the upgraded dependencies.
To upgrade run:
yarn upgrade "@symfony/[email protected]^2.0.0"
Changes: v1.8.2..v2.0.0
Documentation: http://symfony.com/doc/current/frontend.html
Highlights:
This is a new major version that contains several backwards-compatibility breaks.
BC Breaks
The following dependencies were upgraded a major version. It's unlikely
these will cause problems, unless you were further configuring this part
of Encore:
clean-webpack-plugin
Version 3
to 4
: dropped old Node & Webpack version support
css-loader
Version 5
to 6
: dropped old Node version support & CHANGELOG
css-minimizer-webpack-plugin
Version 2
to 3
: dropped old Node version support
loader-utils
REMOVED
mini-css-extract-plugin
Version 1.5
to 2.2.1
: dropped old Node & Webpack version support & CHANGELOG
pretty-error
Version 3.0
to 4.0
: dropped old Node version support
resolve-url-loader
Version 3.0
to 5.0
: dropped old Node version support, requires postcss ^8.0
, remove rework
engine & CHANGELOG
style-loader
Version 2
to 3
: dropped old Node and Webpack version support & CHANGELOG
yargs-parser
Version 20.2
to 21
: dropped old Node version support
Additionally, Encore changed the supported versions of the following packages,
which you may have installed to enable extra features:
-
eslint
Minimum version increased from 7
to 8
-
eslint-webpack-plugin
Minimum version increased from 2.5
to 3
-
fork-ts-checker-webpack-plugin
Minimum version increased from 5
to 6
CHANGELOG
-
less-loader
Minimum version increased from 7
to 10
-
postcss-loader
Minimum version increased from 4
to 6
-
preact
Minimum version increased from 8
to 10
CHANGELOG
-
sass-loader
Minimum version increased from 9
to 12
-
stylus
Minimum version increased from 0.54
to 0.56
-
stylus-loader
Minimum version increased from 3
to 6
CHANGELOG
-
vue-loader
Minimum version increased from 16
to 17
CHANGELOG
-
Removed Encore.enableEslintLoader()
: use Encore.enableEslintPlugin()
.
-
If using enableEslintPlugin()
with the @babel/eslint-parser
parser,
you may now need to create an external Babel configuration file. To see
an example, temporarily delete your .eslintrc.js
file and run Encore.
The error will show you a Babel configuration file you can use.
-
With configureDefinePlugin()
, the options['process.env']
key format
passed to the callback has changed (see #960). If you are using configureDefinePlugin()
to add more items to process.env
, your code will need to change:
Encore.configureDefinePlugin((options) => {
- options['process.env']['SOME_VAR'] = JSON.stringify('the value');
+ options['process.env.SOME_VAR'] = JSON.stringify('the value');
})