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-loaderfrom 3 to 5assets-webpack-pluginfrom 5 to 7mini-css-extract-pluginfrom 0.4 to 1style-loaderfrom 1 to 2terser-webpack-pluginfrom 1 to 5webpack-clifrom 3 to 4webpack-manifest-pluginfrom 2 to 3webpack-manifest-pluginfrom 3 to 4-beta
-
[DEPENDENCY SUPPORT CHANGES] Encore has changed what versions it supports
of the following packages:lessfrom 3 to 4 andless-loaderfrom 6 to 7fork-ts-checker-webpack-pluginfrom 4 to 5 or 6
-
[BC BREAK] Image and font processing was changed from using
file-loader
(and optionallyurl-loaderviaconfigureUrlLoader()) 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
maxSizeoption and type: 'asset'. Theurl-loaderis 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
forimagesorfonts. SeeconfigureImageRule()andconfigureFontRule()
for how to configure these filenames. TheconfigureFilenames()method
does now accept anassetsoption, but out-of-the-box, this will not
result in any filename changes. SeeconfigureFilenames()for more details. -
[BC BREAK]
optimize-css-assets-webpack-pluginwas replaced by
css-minimizer-webpack-pluginand theoptimizeCssPluginOptionsCallback()
method was replaced bycssMinimizerPluginOptionsCallback(). -
[BC BREAK] The
file-loaderpackage 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
HashedModuleIdsPluginwas previously used to
help name "modules" when building for production. This has been removed
and we now use Webpack's nativeoptimization.moduleIdsoption, which
is set todeterministic. -
[configureMiniCssExtractPlugin()]
configureMiniCssExtractPlugin()was
added to allow theMiniCssExtractPlugin.loaderandMiniCssExtractPlugin
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!