Migrated graphql package from webpack to rspack #14030
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description of changes
Utlized Codemods to automate the process of migrating the project and used this project for testing out the codemods
Update Dependencies in
package.json
@rspack/core
@rspack/cli
webpack
webpack-cli
webpack-dev-server
Install Dependencies
Update Scripts in
package.json
rspack
instead ofwebpack
:Replace Built-in Plugins
Replace the
webpack
object in the plugins array with therspack
object. Eg:Migrate Community Plugins
Replace CopyWebpackPlugin with CopyRspackPlugin
Remove TsconfigPathsPlugin and Update Paths
plugins
array containingTsconfigPathsPlugin
with atsConfig
object.Replace CssExtractWebpackPlugin with CssExtractRspackPlugin
Replace eslint-webpack-plugin with eslint-rspack-plugin
Replace webpack-manifest-plugin with rspack-manifest-plugin
Replace webpack-virtual-modules with rspack-plugin-virtual-module
Replace workbox-webpack-plugin with @aaroon/workbox-rspack-plugin
Replace CssMinimizerPlugin with LightningCssMinimizerRspackPlugin
Replace HtmlWebpackTagsPlugin with HtmlRspackTagsPlugin
Replace TerserPlugin with SwcJsMinimizerRspackPlugin
Migrate Loaders
Replace Babel-loader with built-in SWC Loader
File-loader to asset/resource migration
use: ['file-loader']
totype: 'asset/resource'
in your configuration file.Url-loader to asset/inline migration
use: ['url-loader']
totype: 'asset/inline'
in your configuration file.Replace raw-loader with asset/source
Update the webpack rule from
use: ['raw-loader']
totype: 'asset/source'
in your configuration file.Impact Metrics and Performance Evaluation
The following metrics can be used to evaluate the impact of migrating to RSPack:
https://rspack.dev/guide/migration/webpack
Checklist
yarn test
passesBy submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.