Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade webpack config to use @svgr/webpack loader #4798

Closed
tk-o opened this issue Jul 20, 2018 · 1 comment
Closed

Upgrade webpack config to use @svgr/webpack loader #4798

tk-o opened this issue Jul 20, 2018 · 1 comment
Milestone

Comments

@tk-o
Copy link

tk-o commented Jul 20, 2018

Is this a bug report?

No

This issue is about to update svgr to its latest version as it allows to pass custom settings to svgo dependency (via svgorc file).

Did you try recovering your dependencies?

N/A

Which terms did you search for in User Guide?

svg, svgr, svgo

Environment

  System:
    OS: macOS High Sierra 10.13.6
    CPU: x64 Intel(R) Core(TM) i7-4870HQ CPU @ 2.50GHz
  Binaries:
    Node: 9.5.0 - ~/.nvm/versions/node/v9.5.0/bin/node
    Yarn: 1.7.0 - /usr/local/bin/yarn
    npm: 5.6.0 - ~/.nvm/versions/node/v9.5.0/bin/npm
  Browsers:
    Chrome: 67.0.3396.99
    Edge: Not Found
    Firefox: 60.0.2
    Internet Explorer: Not Found
    Safari: 11.1.2
  npmPackages:
    @types/react: ^16.4.6 => 16.4.6 
    @types/react-dom: ^16.0.6 => 16.0.6 
    react: 16.4.1 => 16.4.1 
    react-dom: 16.4.1 => 16.4.1 
    react-scripts: 2.0.0-next.3e165448 => 2.0.0-next.3e165448 
  npmGlobalPackages:
    create-react-app: Not Found

Steps to Reproduce

The svgo lib works under the hood of svgr/webpack that CRA is using for svg files imports. If you'd like to use i.e. SVG sprite file you may face some issues with svgo configuration.

To demonstrate the issue, please to the following steps:

  1. Go to https://svgr.now.sh/ (online tool to test svgr)
  2. Try to transform the following SVG:
<svg width="0" height="0" style="position:absolute">
  <symbol viewBox="0 0 24 24" id="add" 
    xmlns="http://www.w3.org/2000/svg">
    <path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"/>
    <path d="M0 0h24v24H0z" fill="none"/>
  </symbol>
  <symbol viewBox="0 0 24 24" id="alarm" 
    xmlns="http://www.w3.org/2000/svg">
    <path d="M0 0h24v24H0z" fill="none"/>
    <path d="M22 5.72l-4.6-3.86-1.29 1.53 4.6 3.86L22 5.72zM7.88 3.39L6.6 1.86 2 5.71l1.29 1.53 4.59-3.85zM12.5 8H11v6l4.75 2.85.75-1.23-4-2.37V8zM12 4c-4.97 0-9 4.03-9 9s4.02 9 9 9a9 9 0 0 0 0-18zm0 16c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7z"/>
  </symbol>
  <symbol viewBox="0 0 24 24" id="arrow-down" 
    xmlns="http://www.w3.org/2000/svg">
    <path d="M0 0h24v24H0V0z" fill="none"/>
    <path d="M20 12l-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z"/>
  </symbol>
</svg>

You should see the result is empty and doesn't contain the input symbols:
image

  1. Insert custom config to SVGO Config field:
{ "plugins": [{ "cleanupIDs": false }, { "removeUselessDefs": false }] }

You should see the result now contains all input symbols:
image

Expected Behavior

I'd like to be able to set the custom config that svgo would use to transform the SVG file.

Actual Behavior

I'm not able to set the custom config that svgo would use to transform the SVG file.

Reproducible Demo

Please go to Steps to Reproduce section.

Related

@bugzpodder bugzpodder added this to the 2.0.0 milestone Jul 20, 2018
@Timer Timer modified the milestones: 2.0.x, 2.0.0-final, 2.0.0 Sep 26, 2018
@Timer Timer closed this as completed Sep 27, 2018
@lock lock bot locked and limited conversation to collaborators Jan 9, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants