Search code examples
node.jswebpackredhatgatsbypostcss

postcss-svgo: TypeError: Cannot set property 'multipassCount' of undefined (Gatsby)


On a Gatsby 2.17.6 project, when building:

Building production JavaScript and CSS bundles [====
] 1.940 s 1/6 17% run queries failed Building production JavaScript and CSS bundles - 75.519s

ERROR #98123 WEBPACK

Generating JavaScript bundles failed

postcss-svgo: TypeError: Cannot set property 'multipassCount' of undefined

not finished run queries - 77.639s npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! gatsby-starter-default@1.0.0 build: node node_modules/gatsby/dist/bin/gatsby.js build` npm ERR! Exit status 1

These are some of my dependencies:

"dependencies": {
    "babel-plugin-styled-components": "^1.8.0",
    :
    "gatsby": "^2.0.19",
    "gatsby-plugin-favicon": "^3.1.4",
    "gatsby-plugin-google-fonts": "0.0.4",
    "gatsby-plugin-offline": "^2.0.5",
    "gatsby-plugin-react-helmet": "^3.0.0",
    "gatsby-plugin-styled-components": "^3.0.1",
    :
    "react": "^16.5.1",
    "react-dom": "^16.5.1",
    "react-helmet": "^5.2.0",
    "react-leaflet": "^2.1.1",
    "styled-components": "^4.1.1"
  }

I don't see any configurations about postcss on gatsby-config.js, I guess it's a default behaviour of Gatsby. npm ls postcss-svgo throw this:

gatsby-starter-default@1.0.0 /<app>/source
└─┬ gatsby@2.17.6
  └─┬ optimize-css-assets-webpack-plugin@5.0.3
    └─┬ cssnano@4.1.10
      └─┬ cssnano-preset-default@4.0.7
        └── postcss-svgo@4.0.2 

I wouldn't mind to disable postcss-svgo if that's a solution, but I don't know how.


Solution

  • Version 1.3.2 of svgo has been released, and this bug is suposed to be fixed

    So, it would be enough to remove your node_modules dir and package-lock.json file, and make a new npm install or yarn install

    Anyway, thanks to other users suggesting to rollback svgo to 1.3.0