{"id":15677088,"url":"https://github.com/kyrielii/webpack-to-rspack","last_synced_at":"2025-07-24T00:04:14.002Z","repository":{"id":115897168,"uuid":"609904493","full_name":"KyrieLii/webpack-to-rspack","owner":"KyrieLii","description":"Configuration mapping from webpack to rspack","archived":false,"fork":false,"pushed_at":"2023-03-05T16:05:31.000Z","size":3,"stargazers_count":26,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-06T22:36:31.657Z","etag":null,"topics":["rspack","webpack"],"latest_commit_sha":null,"homepage":"https://www.rspack.dev/guide/config-diff.html","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KyrieLii.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-03-05T15:34:25.000Z","updated_at":"2024-09-16T20:01:17.000Z","dependencies_parsed_at":null,"dependency_job_id":"5b2cfe74-fa41-4a15-b12d-24ef6d0e989a","html_url":"https://github.com/KyrieLii/webpack-to-rspack","commit_stats":{"total_commits":3,"total_committers":1,"mean_commits":3.0,"dds":0.0,"last_synced_commit":"552b76f54f0b9b94c72652eac3fc3b4457225001"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/KyrieLii/webpack-to-rspack","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KyrieLii%2Fwebpack-to-rspack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KyrieLii%2Fwebpack-to-rspack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KyrieLii%2Fwebpack-to-rspack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KyrieLii%2Fwebpack-to-rspack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KyrieLii","download_url":"https://codeload.github.com/KyrieLii/webpack-to-rspack/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KyrieLii%2Fwebpack-to-rspack/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266770212,"owners_count":23981524,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-23T02:00:09.312Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["rspack","webpack"],"created_at":"2024-10-03T16:08:29.256Z","updated_at":"2025-07-24T00:04:13.958Z","avatar_url":"https://github.com/KyrieLii.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Configuration mapping from webpack to rspack\n\n[Webpack](https://webpack.js.org/) is an outstanding project that has been developed over many years and supports the building of thousands of web applications.\n\n[Rspack](https://www.rspack.dev/) is a new project that is dedicated to faster web application builds while also being compatible with the webpack ecosystem.\n\n\u003e This is not an official documentation and accuracy is not guaranteed. Only intended for developers as a reference. The rspack team may provide official documentation.\n\n\u003e Based on webpack 5.\n\n\u003e ✅: support\n\u003e\n\u003e ❌: not support\n\u003e\n\u003e ⚠️: partially support\n\n## Entry\n\n### string ✅\n\n### string[] ✅\n\n### EntryObject ⚠️\n\n- import: EntryItem; ✅\n- runtime?: string | false; ✅\n- others ❌\n\n### Function ❌\n\n- (() =\u003e string | EntryObject | string[] | Promise\u003cEntryStatic\u003e) ❌\n\n## Context ✅\n\n## Mode ✅\n\n## Output\n\n### Output.assetModuleFilename ⚠️\n\n- string ✅\n- ((pathData: PathData, assetInfo?: AssetInfo) =\u003e string) ❌\n\n### Output.filename ⚠️\n\n- string ✅\n- ((pathData: PathData, assetInfo?: AssetInfo) =\u003e string) ❌\n\n### Output.chunkFilename ⚠️\n\n- string ✅\n- ((pathData: PathData, assetInfo?: AssetInfo) =\u003e string) ❌\n\n### Output.cssFilename ⚠️\n\n- string ✅\n- ((pathData: PathData, assetInfo?: AssetInfo) =\u003e string) ❌\n\n### Output.cssChunkFilename ⚠️\n\n- string ✅\n- ((pathData: PathData, assetInfo?: AssetInfo) =\u003e string) ❌\n\n### Output.path ✅\n\n- string\n\n### Output.publicPath ⚠️\n\n- string ✅\n- ((pathData: PathData, assetInfo?: AssetInfo) =\u003e string) ❌\n\n### Output.strictModuleErrorHandling ✅\n\n- boolean\n\n### Output.[...others] ❌\n\n### Template strings ⚠️\n\n#### Compilation-level ⚠️\n\n- [fullhash] ✅\n- [hash] ❌\n\n#### Chunk-level ✅\n\n- [id] ✅\n- [name] ✅\n- [chunkhash] ✅\n- [contenthash] ✅\n\n#### Module-level ⚠️\n\n- [id] ✅\n- [moduleid] ❌\n- [hash] ✅\n- [modulehash] ❌\n- [contenthash] ✅\n\n#### File-level ⚠️\n\n- [file] ❌\n- [query] ✅\n- [fragment] ❌\n- [base] ❌\n- [filebase] ❌\n- [path] ✅\n- [name] ✅\n- [ext] ✅\n\n#### URL-level ❌\n\n- [url] ❌\n\n## Module\n\n### Module.generator ❌\n\n### Module.parser ⚠️\n\n### Rule\n\n#### Rule Condition ⚠️\n\n- string ✅\n- RegExp ✅\n- function ❌\n\n#### Rule.exclude ✅\n\n#### Rule.include ✅\n\n#### Rule.loaders ✅\n\nPrefer to `Rule.use`\n\n#### Rule.parse ✅\n\n- dataUrlCondition ✅\n\n#### Rule.generator ⚠️\n\n- filename ✅\n- dataUrl ❌\n- emit ❌\n- publicPath ❌\n- outputPath ❌\n\n#### Rule.resource ✅\n\n#### Rule.resourceQuery ✅\n\n#### Rule.sideEffects ✅\n\n#### Rule.test ✅\n\n#### Rule.type ⚠️\n\n- asset/resource ✅\n- asset/inline ✅\n- asset/source ✅\n- asset ✅\n\nOther types supported by Rspack:\n\n- javascript/auto\n- typescript\n- css\n- css/module\n- json\n\n#### Rule.use ⚠️\n\n- useEntry ✅\n- function ❌\n\n#### Rule.resolve ⚠️\n\n#### Rule.[...others] ❌\n\n## Resolve\n\n### Resolve.alias ✅\n\n### Resolve.aliasField ⚠️\n\nThe types of this configuration are different:\n\n- webpack: `string[]`\n- Rspack: `Boolean`\n\n### Resolve.conditionNames ✅\n\n### Resolve.extensions ⚠️\n\nDefault value are diffrent:\n\n- webpack: `['.js', '.json', '.wasm']`\n- rspack: `['.tsx', '.jsx', '.ts', '.js', '.json', '.d.ts']`\n\n### Resolve.fallback ✅\n\n### Resolve.mainFields ✅\n\n### Resolve.mainFiles ✅\n\n### Resolve.modules ✅\n\n### Resolve.preferRelative ✅\n\n### Resolve.[...Others] ❌\n\n## Optimization\n\n### Optimization.moduleIds ⚠️\n\n- natural ❌\n- named ✅\n- deterministic ✅\n- size ❌\n\n### Optimization.minimize ✅\n\n### Optimization.minimizer ⚠️ ???\n\n- plugins[] ✅\n- function ❌\n\n### Optimization.removeAvailableModules ⚠️\n\nDefault value are different:\n\n- webpack: only `true` in production mode\n- rspack: always `true`\n\n### Optimization.removeEmptyChunks ✅\n\n### Optimization.runtimeChunk ⚠️\n\n- object ❌\n- string ❌\n- boolean ✅\n\n### Optimization.sideEffects ✅\n\n### Optimization.splitChunks ⚠️\n\n_This is truly amazing, their default configurations are completely identical._\n\n#### splitChunks.automaticNameDelimiter ✅\n\n#### splitChunks.chunks ✅\n\n#### splitChunks.maxAsyncRequests ✅\n\n#### splitChunks.maxInitialRequests ✅\n\n#### splitChunks.defaultSizeTypes ✅\n\n#### splitChunks.minChunks ✅\n\n#### splitChunks.hidePathInfo\n\n#### splitChunks.minSize ⚠️\n\n- number ✅\n- object ❌\n\n#### splitChunks.minSizeReduction ⚠️\n\n- number ✅\n- object ❌\n\n#### splitChunks.enforceSizeThreshold ✅\n\n#### splitChunks.minRemainingSize ✅\n\n#### splitChunks.layer ❌\n\n#### splitChunks.maxSize ✅\n\n#### splitChunks.maxAsyncSize ✅\n\n#### splitChunks.maxInitialSize ✅\n\n#### splitChunks.name ✅\n\n#### splitChunks.usedExports ❌\n\n#### splitChunks.cacheGroups ⚠️\n\n## Plugins\n\n\u003e - Some plugins can be replaced by built-in features, refer to [this list](https://www.rspack.dev/guide/plugin-compat.html).\n\u003e - Custom plugin apis : https://www.rspack.dev/api/plugin-api.html\n\n### DefinePlugin ✅\n\nuse `builtins.define`\n\n### [tsconfig-paths-webpack-plugin](https://www.npmjs.com/package/tsconfig-paths-webpack-plugin)\n\nuse `resolve.tsConfigPath`\n\n```js\nmodule.exports = {\n  resolve: {\n    tsConfigPath: true,\n  },\n};\n```\n\n## Loaders\n\n\u003e - https://www.rspack.dev/guide/loader-compat.html\n\n## DevServer ⚠️\n\n// todo\n\n## Cache ❌\n\nrspack only supports setting to boolean values.\n\n## Devtool ✅\n\n## Target ⚠️\n\n- async-node[[X].Y] ❌\n- electron[[X].Y]-main ❌\n- electron[[X].Y]-renderer ❌\n- electron[[X].Y]-preload ❌\n- node[[X].Y] ⚠️\n  - `node`\n- node-webkit[[X].Y] ❌\n- nwjs[[X].Y] ❌\n- web ✅\n- webworker ⚠️\n  - Rename to `web-worker`\n- esX ✅\n- browserslist ✅\n\n## Watch and WatchOptions ❌\n\n## Externals ⚠️\n\n- string ❌\n- object ✅\n- function ❌\n- RegExp ❌\n- [] ❌\n\n## **Performance** ❌\n\n## Node ❌\n\nuse `resolve.fallback`\n\n## Stats ⚠️\n\n// todo\n\n## Experiments ❌\n\nAlthough both have the `experiments` configuration option, the experimental features of webpack and rspack are completely different, so do not configure webpack's experimental features in rspack.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkyrielii%2Fwebpack-to-rspack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkyrielii%2Fwebpack-to-rspack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkyrielii%2Fwebpack-to-rspack/lists"}