Replace file-loader, url-loader and raw-loader rules with webpack 5 asset modules

Proprietary

webpack 5 deprecates file-loader, url-loader and raw-loader in favour of asset modules. In a webpack configuration, a rule that applies one of them alone, with no options, gets type: 'asset/resource' (file-loader), 'asset/inline' (url-loader, which inlines every file when it has no limit) or 'asset/source' (raw-loader). Rules with options, other loaders in the chain or a type already are left for FindWebpack5ManualMigrations.

org.openrewrite.nodejs.migrate.webpack.ReplaceWebpackLoadersWithAssetModules
mod run . --recipe=org.openrewrite.nodejs.migrate.webpack.ReplaceWebpackLoadersWithAssetModules

Install it once, then run it on every repository under the current directory. New to the Moderne CLI? Set it up.