multiAI Summary Pending

rspack

Provides comprehensive guidance for Rspack bundler including configuration, plugins, loaders, optimization, and Webpack compatibility. Use when the user asks about Rspack, needs to configure Rspack, optimize build performance, or migrate from Webpack.

223 stars

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/rspack/SKILL.md --create-dirs "https://raw.githubusercontent.com/partme-ai/full-stack-skills/main/skills/build-skills/rspack/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/rspack/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How rspack Compares

Feature / AgentrspackStandard Approach
Platform SupportmultiLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Provides comprehensive guidance for Rspack bundler including configuration, plugins, loaders, optimization, and Webpack compatibility. Use when the user asks about Rspack, needs to configure Rspack, optimize build performance, or migrate from Webpack.

Which AI agents support this skill?

This skill is compatible with multi.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

## When to use this skill

Use this skill whenever the user wants to:
- Set up Rspack in a new or existing project
- Configure Rspack for different environments
- Use built-in plugins or create custom plugins
- Migrate from Webpack to Rspack
- Optimize build performance
- Understand Rspack configuration options
- Use Rspack CLI or JavaScript API
- Write custom loaders
- Understand plugin API and hooks
- Configure entry points and output
- Set up code splitting and optimization
- Configure development server
- Handle assets and resources
- Use TypeScript with Rspack
- Troubleshoot Rspack issues

## How to use this skill

This skill is organized to match the Rspack official documentation structure (https://rspack.rs/zh/guide/start/introduction, https://rspack.rs/zh/config/, https://rspack.rs/zh/plugins/, https://rspack.rs/zh/api/). When working with Rspack:

1. **Identify the topic** from the user's request:
   - Getting started/快速上手 → `examples/guide/start/`
   - Configuration/配置 → `examples/config/`
   - Plugins/插件 → `examples/plugins/`
   - API → `examples/api/`

2. **Load the appropriate example file** from the `examples/` directory:

   **Guide (指南)** - `examples/guide/`:
   - `examples/guide/compatibility/plugin.md`
   - `examples/guide/features/asset-base-path.md`
   - `examples/guide/features/asset-module.md`
   - `examples/guide/features/builtin-lightningcss-loader.md`
   - `examples/guide/features/builtin-swc-loader.md`
   - `examples/guide/features/dev-server.md`
   - `examples/guide/features/esm.md`
   - `examples/guide/features/layer.md`
   - `examples/guide/features/lazy-compilation.md`
   - `examples/guide/features/loader.md`
   - `examples/guide/features/module-federation.md`
   - `examples/guide/features/module-resolution.md`
   - `examples/guide/features/plugin.md`
   - `examples/guide/features/web-workers.md`
   - `examples/guide/migration/cra.md`
   - `examples/guide/migration/rspack_0.x.md`
   - `examples/guide/migration/storybook.md`
   - `examples/guide/migration/webpack.md`
   - `examples/guide/optimization/analysis.md`
   - `examples/guide/optimization/code-splitting.md`
   - `examples/guide/optimization/lazy-barrel.md`
   - `examples/guide/optimization/production.md`
   - `examples/guide/optimization/profile.md`
   - `examples/guide/optimization/tree-shaking.md`
   - `examples/guide/optimization/use-rsdoctor.md`
   - `examples/guide/start/ecosystem.md`
   - `examples/guide/start/introduction.md`
   - `examples/guide/start/quick-start.md`
   - `examples/guide/tech/css.md`
   - `examples/guide/tech/json.md`
   - `examples/guide/tech/nestjs.md`
   - `examples/guide/tech/next.md`
   - `examples/guide/tech/preact.md`
   - `examples/guide/tech/react.md`
   - `examples/guide/tech/solid.md`
   - `examples/guide/tech/svelte.md`
   - `examples/guide/tech/typescript.md`
   - `examples/guide/tech/vue.md`

   **Configuration (配置)** - `examples/config/`:
   - `examples/config/cache.md`
   - `examples/config/context.md`
   - `examples/config/deprecated-options.md`
   - `examples/config/dev-server.md`
   - `examples/config/devtool.md`
   - `examples/config/entry.md`
   - `examples/config/experiments.md`
   - `examples/config/extends.md`
   - `examples/config/externals.md`
   - `examples/config/filename-placeholders.md`
   - `examples/config/index.md`
   - `examples/config/infrastructure-logging.md`
   - `examples/config/lazy-compilation.md`
   - `examples/config/mode.md`
   - `examples/config/module-rules.md`
   - `examples/config/module.md`
   - `examples/config/node.md`
   - `examples/config/optimization-optimizationsplitchunks.md`
   - `examples/config/optimization.md`
   - `examples/config/other-options.md`
   - `examples/config/output.md`
   - `examples/config/performance.md`
   - `examples/config/plugins.md`
   - `examples/config/resolve-loader.md`
   - `examples/config/resolve.md`
   - `examples/config/stats.md`
   - `examples/config/target.md`
   - `examples/config/watch.md`

   **Plugins (插件)** - `examples/plugins/`:
   - `examples/plugins/index.md`
   - `examples/plugins/rspack/circular-dependency-rspack-plugin.md`
   - `examples/plugins/rspack/copy-rspack-plugin.md`
   - `examples/plugins/rspack/css-chunking-plugin.md`
   - `examples/plugins/rspack/css-extract-rspack-plugin.md`
   - `examples/plugins/rspack/esm-library-plugin.md`
   - `examples/plugins/rspack/html-rspack-plugin.md`
   - `examples/plugins/rspack/lightning-css-minimizer-rspack-plugin.md`
   - `examples/plugins/rspack/subresource-integrity-plugin.md`
   - `examples/plugins/rspack/swc-js-minimizer-rspack-plugin.md`
   - `examples/plugins/rspack/virtual-modules-plugin.md`
   - `examples/plugins/webpack/banner-plugin.md`
   - `examples/plugins/webpack/case-sensitive-plugin.md`
   - `examples/plugins/webpack/context-replacement-plugin.md`
   - `examples/plugins/webpack/define-plugin.md`
   - `examples/plugins/webpack/dll-plugin.md`
   - `examples/plugins/webpack/dll-reference-plugin.md`
   - `examples/plugins/webpack/electron-target-plugin.md`
   - `examples/plugins/webpack/enable-chunk-loading-plugin.md`
   - `examples/plugins/webpack/enable-library-plugin.md`
   - `examples/plugins/webpack/enable-wasm-loading-plugin.md`
   - `examples/plugins/webpack/entry-plugin.md`
   - `examples/plugins/webpack/environment-plugin.md`
   - `examples/plugins/webpack/eval-source-map-dev-tool-plugin.md`
   - `examples/plugins/webpack/externals-plugin.md`
   - `examples/plugins/webpack/hot-module-replacement-plugin.md`
   - `examples/plugins/webpack/ignore-plugin.md`
   - `examples/plugins/webpack/index.md`
   - `examples/plugins/webpack/internal-plugins.md`
   - `examples/plugins/webpack/javascript-modules-plugin.md`
   - `examples/plugins/webpack/limit-chunk-count-plugin.md`
   - `examples/plugins/webpack/module-federation-plugin-v1.md`
   - `examples/plugins/webpack/module-federation-plugin.md`
   - `examples/plugins/webpack/no-emit-on-errors-plugin.md`
   - `examples/plugins/webpack/node-target-plugin.md`
   - `examples/plugins/webpack/node-template-plugin.md`
   - `examples/plugins/webpack/normal-module-replacement-plugin.md`
   - `examples/plugins/webpack/progress-plugin.md`
   - `examples/plugins/webpack/provide-plugin.md`
   - `examples/plugins/webpack/runtime-chunk-plugin.md`
   - `examples/plugins/webpack/source-map-dev-tool-plugin.md`
   - `examples/plugins/webpack/split-chunks-plugin.md`

   **API Reference** - `examples/api/`:
   - `examples/api/cli.md`
   - `examples/api/index.md`
   - `examples/api/javascript-api/browser.md`
   - `examples/api/javascript-api/cache.md`
   - `examples/api/javascript-api/compilation.md`
   - `examples/api/javascript-api/compiler.md`
   - `examples/api/javascript-api/index.md`
   - `examples/api/javascript-api/logger.md`
   - `examples/api/javascript-api/resolver.md`
   - `examples/api/javascript-api/stats-json.md`
   - `examples/api/javascript-api/stats.md`
   - `examples/api/javascript-api/swc.md`
   - `examples/api/loader-api/context.md`
   - `examples/api/loader-api/index.md`
   - `examples/api/loader-api/inline-match-resource.md`
   - `examples/api/loader-api/inline.md`
   - `examples/api/loader-api/writing-loaders.md`
   - `examples/api/plugin-api/compilation-hooks.md`
   - `examples/api/plugin-api/compiler-hooks.md`
   - `examples/api/plugin-api/context-module-factory-hooks.md`
   - `examples/api/plugin-api/index.md`
   - `examples/api/plugin-api/javascript-modules-plugin-hooks.md`
   - `examples/api/plugin-api/normal-module-factory-hooks.md`
   - `examples/api/plugin-api/runtime-plugin-hooks.md`
   - `examples/api/plugin-api/stats-hooks.md`
   - `examples/api/runtime-api/hmr.md`
   - `examples/api/runtime-api/module-methods.md`
   - `examples/api/runtime-api/module-variables.md`

3. **Follow the specific instructions** in that example file for syntax, structure, and best practices

   **Important Notes**:
   - Rspack is compatible with most Webpack plugins and loaders
   - Configuration format is similar to Webpack
   - Rspack provides better performance than Webpack
   - Examples include both JavaScript and TypeScript versions
   - Each example file includes parameters, returns, common errors, best practices, and scenarios

4. **Reference the official documentation** when needed:
   - Guide: https://rspack.rs/zh/guide/
   - Configuration: https://rspack.rs/zh/config/
   - Plugins: https://rspack.rs/zh/plugins/
   - API: https://rspack.rs/zh/api/

### Inline Quick Start

```bash
# Create a new Rspack project
npm create rspack@latest

# Or add to existing project
npm install --save-dev @rspack/core @rspack/cli
```

```javascript
// rspack.config.js
const { HtmlRspackPlugin } = require('@rspack/core');

module.exports = {
  entry: './src/index.js',
  output: {
    filename: '[name].[contenthash].js',
    clean: true,
  },
  module: {
    rules: [
      {
        test: /\.jsx?$/,
        use: {
          loader: 'builtin:swc-loader',
          options: { jsc: { parser: { syntax: 'ecmascript', jsx: true } } },
        },
      },
    ],
  },
  plugins: [new HtmlRspackPlugin({ template: './index.html' })],
  optimization: { splitChunks: { chunks: 'all' } },
};
```

```bash
# Development
npx rspack serve

# Production build
npx rspack build
```

## Best Practices

1. **Use TypeScript for configuration**: Better type safety and autocomplete
2. **Leverage built-in plugins**: Use Rspack plugins when available (faster than Webpack equivalents)
3. **Optimize for production**: Use production mode for builds
4. **Code splitting**: Use optimization.splitChunks for better performance
5. **Cache configuration**: Enable persistent caching for faster rebuilds
6. **Use HMR**: Enable Hot Module Replacement for better DX

## Troubleshooting

- **Webpack plugin not compatible**: Check Rspack compatibility list; some Webpack plugins need Rspack equivalents
- **Loader errors**: Use `builtin:swc-loader` instead of `babel-loader` for better performance
- **Build slower than expected**: Enable persistent caching; check for unoptimized loaders
- **Migration issues**: Use the webpack migration guide at `examples/guide/migration/webpack.md`

## Resources

- **Official Documentation**: https://rspack.rs/zh/
- **Getting Started**: https://rspack.rs/zh/guide/start/introduction
- **Configuration**: https://rspack.rs/zh/config/
- **Plugins**: https://rspack.rs/zh/plugins/
- **API Reference**: https://rspack.rs/zh/api/
- **GitHub Repository**: https://github.com/web-infra-dev/rspack

## Keywords

Rspack, rspack, bundler, webpack, rust, build tool, bundling, code splitting, HMR, hot module replacement, loader, plugin, configuration, entry, output, optimization, development server, 打包工具, 构建工具, 代码分割, 热模块替换, 加载器, 插件, 配置, 入口, 输出, 优化, 开发服务器