svg-chunk-webpack-plugin icon indicating copy to clipboard operation
svg-chunk-webpack-plugin copied to clipboard

Support rspack

Open singh-jay opened this issue 1 year ago • 5 comments

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

singh-jay avatar Feb 25 '24 14:02 singh-jay

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?

yoriiis avatar Apr 03 '24 15:04 yoriiis

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

alexander-akait avatar Apr 03 '24 15:04 alexander-akait

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

Sorry for the delay, this line is important because it marks the svgs for the plugin. If it's not marked, the plugin will ignore the svg and won't work properly.

@alexander-akait Do you have contact with the rspack team? Or do you know how we could solve this problem? Thanks

yoriiis avatar Aug 26 '24 08:08 yoriiis

/cc @hardfist

alexander-akait avatar Aug 27 '24 12:08 alexander-akait

thanks,we will see whether we can be compatible with this plugin

hardfist avatar Aug 27 '24 14:08 hardfist