Hello Encore 1.0 & Webpack 5!
Hi Webpackers!
Today I'm thrilled to release Encore 1.0. In reality, Encore has been stable for years and has, as often as possible, deprecated features instead of hard breaking.
Most importantly, this release upgrades Webpack from 4 to 5, and a number of other dependencies have also been upgraded.
To upgrade run:
yarn upgrade "@symfony/webpack-encore@^1.0.0"
Changes: v0.33.0..v1.0.0
Documentation: http://symfony.com/doc/current/frontend.html
Highlights:
-
[DEPENDENCY UPGRADE] Webpack was upgraded from version 4 to 5.
-
[DEPENDENCY UPGRADES] The following packages had major version upgrades:
css-loader
from 3 to 5assets-webpack-plugin
from 5 to 7mini-css-extract-plugin
from 0.4 to 1style-loader
from 1 to 2terser-webpack-plugin
from 1 to 5webpack-cli
from 3 to 4webpack-manifest-plugin
from 2 to 3webpack-manifest-plugin
from 3 to 4-beta
-
[DEPENDENCY SUPPORT CHANGES] Encore has changed what versions it supports
of the following packages:less
from 3 to 4 andless-loader
from 6 to 7fork-ts-checker-webpack-plugin
from 4 to 5 or 6
-
[BC BREAK] Image and font processing was changed from using
file-loader
(and optionallyurl-loader
viaconfigureUrlLoader()
) to Webpack 5's
new Asset Modules.
In practice, unless you have a highly-configured system, this should
not cause significant changes. -
[BC BREAK] The
configureUrlLoader()
method was removed. See
configureImageRule()
andconfigureFontRule()
- specifically the
maxSize
option and type: 'asset'. Theurl-loader
is no longer used. -
[BC BREAK] The
disableImagesLoader()
anddisableFontsLoader()
methods
have been removed. SeeconfigureImageRule()
andconfigureFontRule()
for a new option to disable these. -
[BC BREAK] The
configureFilenames()
method no longer accepts paths
forimages
orfonts
. SeeconfigureImageRule()
andconfigureFontRule()
for how to configure these filenames. TheconfigureFilenames()
method
does now accept anassets
option, but out-of-the-box, this will not
result in any filename changes. SeeconfigureFilenames()
for more details. -
[BC BREAK]
optimize-css-assets-webpack-plugin
was replaced by
css-minimizer-webpack-plugin
and theoptimizeCssPluginOptionsCallback()
method was replaced bycssMinimizerPluginOptionsCallback()
. -
[BC BREAK] The
file-loader
package is no longer required by Encore. If
you usecopyFiles()
, you will need to install it manually (you
will receive a clear error about this). -
[BC BREAK] All previously-deprecated methods & options were removed.
-
[BEHAVIOR CHANGE] The
HashedModuleIdsPlugin
was previously used to
help name "modules" when building for production. This has been removed
and we now use Webpack's nativeoptimization.moduleIds
option, which
is set todeterministic
. -
[configureMiniCssExtractPlugin()]
configureMiniCssExtractPlugin()
was
added to allow theMiniCssExtractPlugin.loader
andMiniCssExtractPlugin
to be configured. -
[enableBuildCache()] Added
enableBuildCache()
to enable the new
Webpack 5 build caching. https://webpack.js.org/blog/2020-10-10-webpack-5-release/
This feature should be considered experimental.
Happy Webpacking!