yoriiis / svg-chunk-webpack-plugin

Generate SVG sprites according to entrypoint dependencies. Each page only imports its own svgs, wrapped as a sprite and optimized by SVGO
https://webpack.js.org/plugins/svg-chunk-webpack-plugin
MIT License
19 stars 1 forks source link

Support rspack #24

Open singh-jay opened 4 months ago

singh-jay commented 4 months ago

If the feature solves a problem you have, specify it here.

I'm trying to migrate our webpack project to rspack, everything is working except the svg-sprites, as this project is in active development, I hope you will consider support for rspack as well.

Describe the proposed feature.

Getting error - /node_modules/svg-chunk-webpack-plugin/lib/loader.js:20 this._module.factoryMeta = this._module.factoryMeta || {}; ^

TypeError: Cannot read properties of undefined (reading 'factoryMeta') at Object.SvgChunkWebpackLoader

Describe alternatives you've considered

svg-sprite-loader

Additional context

Minimal example repo - https://github.com/singh-jay/svg-chunk-plugin-test

Importance

Nice to have

yoriiis commented 2 months ago

Hello @singh-jay, thanks for your feedback.

I'm not opposed to compatibility with rspack, but it seems complicated to me because there are differences in the API.

On investigating, I can already see 2 points that pose a problem:

  1. From the loader, this._module is not available with rspack and this is used to mark SVGs for the plugin (see https://github.com/webpack/webpack/issues/12202#issuecomment-745537821)
  2. From the plugin, entry.chunks doesn't return anything. The getSvgsDependenciesByEntrypoint function allows you to search for SVG dependencies associated with an entrypoint.

@alexander-akait (Hi) What do you think?

alexander-akait commented 2 months ago

We can add check if (this._module) {}, it prevent from crash, but I am not sure it will work correctly, need to test, also maybe we need to more API... will be great to dicussion about it with rspack team