postcss / postcss-safe-parser

Fault tolerant CSS parser for PostCSS
MIT License
120 stars 12 forks source link

Input is not a constructor #18

Closed fupengl closed 3 years ago

fupengl commented 3 years ago
{
    "moment": "2.24.0",
    "postcss": "7.0.35",
    "mini-css-extract-plugin": "0.11.3",
    "postcss-flexbugs-fixes": "4.2.1",
    "postcss-loader": "3.0.0",
    "postcss-normalize": "8.0.1",
    "postcss-preset-env": "6.7.0",
    "postcss-safe-parser": "5.0.2"
}
ai commented 3 years ago

What did you call and what is the full error message?

fupengl commented 3 years ago

What did you call and what is the full error message? I use react-scripts@4.0.1 to report an error image

ai commented 3 years ago

Can you show npm list | grep postcss results?

fupengl commented 3 years ago

│ ├─ postcss-load-config@^2.1.0 │ │ └─ postcss@^7.0.0 │ │ ├─ postcss-loader@^3.0.0 │ │ ├─ postcss-selector-parser@^6.0.2 │ │ ├─ postcss@^7.0.14 │ │ ├─ postcss-value-parser@^4.1.0 │ │ └─ postcss@^7.0.32 │ │ ├─ postcss@^7.0.1 │ │ ├─ postcss-modules-extract-imports@^2.0.0 │ │ ├─ postcss-modules-local-by-default@^3.0.2 │ │ ├─ postcss-modules-scope@^2.2.0 │ │ ├─ postcss-modules-values@^3.0.0 │ │ ├─ postcss-value-parser@^4.1.0 │ │ ├─ postcss@^7.0.32 │ │ ├─ postcss-calc@^7.0.1 │ │ ├─ postcss-colormin@^4.0.3 │ │ ├─ postcss-convert-values@^4.0.1 │ │ ├─ postcss-discard-comments@^4.0.2 │ │ ├─ postcss-discard-duplicates@^4.0.2 │ │ ├─ postcss-discard-empty@^4.0.1 │ │ ├─ postcss-discard-overridden@^4.0.1 │ │ ├─ postcss-merge-longhand@^4.0.11 │ │ ├─ postcss-merge-rules@^4.0.3 │ │ ├─ postcss-minify-font-values@^4.0.2 │ │ ├─ postcss-minify-gradients@^4.0.2 │ │ ├─ postcss-minify-params@^4.0.2 │ │ ├─ postcss-minify-selectors@^4.0.2 │ │ ├─ postcss-normalize-charset@^4.0.1 │ │ ├─ postcss-normalize-display-values@^4.0.2 │ │ ├─ postcss-normalize-positions@^4.0.2 │ │ ├─ postcss-normalize-repeat-style@^4.0.2 │ │ ├─ postcss-normalize-string@^4.0.2 │ │ ├─ postcss-normalize-timing-functions@^4.0.2 │ │ ├─ postcss-normalize-unicode@^4.0.1 │ │ ├─ postcss-normalize-url@^4.0.1 │ │ ├─ postcss-normalize-whitespace@^4.0.2 │ │ ├─ postcss-ordered-values@^4.1.2 │ │ ├─ postcss-reduce-initial@^4.0.3 │ │ ├─ postcss-reduce-transforms@^4.0.2 │ │ ├─ postcss-svgo@^4.0.2 │ │ ├─ postcss-unique-selectors@^4.0.1 │ │ └─ postcss@^7.0.0 │ │ └─ postcss@^7.0.0 │ │ └─ postcss@^7.0.0 │ │ └─ postcss@^7.0.14 │ ├─ postcss-calc@7.0.5 │ │ ├─ postcss-selector-parser@^6.0.2 │ │ ├─ postcss-value-parser@^4.0.2 │ │ └─ postcss@^7.0.27 │ ├─ postcss-colormin@4.0.3 │ │ ├─ postcss-value-parser@^3.0.0 │ │ ├─ postcss-value-parser@3.3.1 │ │ └─ postcss@^7.0.0 │ ├─ postcss-convert-values@4.0.1 │ │ ├─ postcss-value-parser@^3.0.0 │ │ ├─ postcss-value-parser@3.3.1 │ │ └─ postcss@^7.0.0 │ ├─ postcss-discard-comments@4.0.2 │ │ └─ postcss@^7.0.0 │ ├─ postcss-discard-duplicates@4.0.2 │ │ └─ postcss@^7.0.0 │ ├─ postcss-discard-empty@4.0.1 │ │ └─ postcss@^7.0.0 │ ├─ postcss-discard-overridden@4.0.1 │ │ └─ postcss@^7.0.0 │ ├─ postcss-load-config@2.1.2 │ ├─ postcss-loader@3.0.0 │ │ ├─ postcss-load-config@^2.0.0 │ │ ├─ postcss@^7.0.0 │ ├─ postcss-merge-longhand@4.0.11 │ │ ├─ postcss-value-parser@^3.0.0 │ │ ├─ postcss-value-parser@3.3.1 │ │ ├─ postcss@^7.0.0 │ ├─ postcss-merge-rules@4.0.3 │ │ ├─ postcss-selector-parser@^3.0.0 │ │ ├─ postcss-selector-parser@3.1.2 │ │ ├─ postcss@^7.0.0 │ ├─ postcss-minify-font-values@4.0.2 │ │ ├─ postcss-value-parser@^3.0.0 │ │ ├─ postcss-value-parser@3.3.1 │ │ └─ postcss@^7.0.0 │ ├─ postcss-minify-gradients@4.0.2 │ │ ├─ postcss-value-parser@^3.0.0 │ │ ├─ postcss-value-parser@3.3.1 │ │ └─ postcss@^7.0.0 │ ├─ postcss-minify-params@4.0.2 │ │ ├─ postcss-value-parser@^3.0.0 │ │ ├─ postcss-value-parser@3.3.1 │ │ ├─ postcss@^7.0.0 │ ├─ postcss-minify-selectors@4.0.2 │ │ ├─ postcss-selector-parser@^3.0.0 │ │ ├─ postcss-selector-parser@3.1.2 │ │ └─ postcss@^7.0.0 │ ├─ postcss-modules-extract-imports@2.0.0 │ │ └─ postcss@^7.0.5 │ ├─ postcss-modules-local-by-default@3.0.3 │ │ ├─ postcss-selector-parser@^6.0.2 │ │ ├─ postcss-value-parser@^4.1.0 │ │ └─ postcss@^7.0.32 │ ├─ postcss-modules-scope@2.2.0 │ │ ├─ postcss-selector-parser@^6.0.0 │ │ └─ postcss@^7.0.6 │ ├─ postcss-modules-values@3.0.0 │ │ └─ postcss@^7.0.6 │ ├─ postcss-normalize-charset@4.0.1 │ │ └─ postcss@^7.0.0 │ ├─ postcss-normalize-display-values@4.0.2 │ │ ├─ postcss-value-parser@^3.0.0 │ │ ├─ postcss-value-parser@3.3.1 │ │ └─ postcss@^7.0.0 │ ├─ postcss-normalize-positions@4.0.2 │ │ ├─ postcss-value-parser@^3.0.0 │ │ ├─ postcss-value-parser@3.3.1 │ │ └─ postcss@^7.0.0 │ ├─ postcss-normalize-repeat-style@4.0.2 │ │ ├─ postcss-value-parser@^3.0.0 │ │ ├─ postcss-value-parser@3.3.1 │ │ └─ postcss@^7.0.0 │ ├─ postcss-normalize-string@4.0.2 │ │ ├─ postcss-value-parser@^3.0.0 │ │ ├─ postcss-value-parser@3.3.1 │ │ └─ postcss@^7.0.0 │ ├─ postcss-normalize-timing-functions@4.0.2 │ │ ├─ postcss-value-parser@^3.0.0 │ │ ├─ postcss-value-parser@3.3.1 │ │ └─ postcss@^7.0.0 │ ├─ postcss-normalize-unicode@4.0.1 │ │ ├─ postcss-value-parser@^3.0.0 │ │ ├─ postcss-value-parser@3.3.1 │ │ └─ postcss@^7.0.0 │ ├─ postcss-normalize-url@4.0.1 │ │ ├─ postcss-value-parser@^3.0.0 │ │ ├─ postcss-value-parser@3.3.1 │ │ └─ postcss@^7.0.0 │ ├─ postcss-normalize-whitespace@4.0.2 │ │ ├─ postcss-value-parser@^3.0.0 │ │ ├─ postcss-value-parser@3.3.1 │ │ └─ postcss@^7.0.0 │ ├─ postcss-ordered-values@4.1.2 │ │ ├─ postcss-value-parser@^3.0.0 │ │ ├─ postcss-value-parser@3.3.1 │ │ └─ postcss@^7.0.0 │ ├─ postcss-reduce-initial@4.0.3 │ │ └─ postcss@^7.0.0 │ ├─ postcss-reduce-transforms@4.0.2 │ │ ├─ postcss-value-parser@^3.0.0 │ │ ├─ postcss-value-parser@3.3.1 │ │ └─ postcss@^7.0.0 │ ├─ postcss-selector-parser@6.0.4 │ ├─ postcss-svgo@4.0.2 │ │ ├─ postcss-value-parser@^3.0.0 │ │ ├─ postcss-value-parser@3.3.1 │ │ ├─ postcss@^7.0.0 │ ├─ postcss-unique-selectors@4.0.1 │ │ ├─ postcss@^7.0.0 │ ├─ postcss-value-parser@4.1.0 │ ├─ postcss@7.0.29 │ │ ├─ postcss-selector-parser@^3.0.0 │ │ ├─ postcss-selector-parser@3.1.2 │ │ └─ postcss@^7.0.0 ├─ @stylelint/postcss-css-in-js@0.37.2 ├─ @stylelint/postcss-markdown@0.36.2 │ │ ├─ postcss-value-parser@^3.2.3 │ │ └─ postcss@^6.0.23 │ ├─ postcss-html@0.28.0 │ ├─ postcss-less@2.0.0 │ │ └─ postcss@^5.2.16 │ ├─ postcss-modules-extract-imports@^1.1.0 │ ├─ postcss-modules-extract-imports@1.2.1 │ │ └─ postcss@^6.0.1 │ ├─ postcss-modules-local-by-default@^1.2.0 │ ├─ postcss-modules-resolve-imports@^1.3.0 │ ├─ postcss-modules-scope@^1.1.0 │ ├─ postcss-modules-scope@1.1.0 │ │ └─ postcss@^6.0.1 │ ├─ postcss-modules-values@^1.3.0 │ ├─ postcss-pxtransform@3.0.0 │ ├─ postcss-reporter@^6.0.1 │ ├─ postcss-safe-parser@3.0.1 │ │ └─ postcss@^6.0.6 │ ├─ postcss-scss@1.0.6 │ │ └─ postcss@^6.0.23 │ ├─ postcss-selector-parser@3.1.2 │ ├─ postcss-syntax@0.28.0 │ ├─ postcss-taro-unit-transform@1.2.15 │ ├─ postcss-url@^7.3.2 │ ├─ postcss-url@7.3.2 │ │ ├─ postcss@^6.0.1 │ ├─ postcss@^6.0.22 │ │ ├─ postcss-html@^0.28.0 │ │ ├─ postcss-less@^2.0.0 │ │ ├─ postcss-markdown@^0.28.0 │ │ ├─ postcss-media-query-parser@^0.2.3 │ │ ├─ postcss-reporter@^5.0.0 │ │ ├─ postcss-reporter@5.0.0 │ │ │ └─ postcss@^6.0.8 │ │ ├─ postcss-resolve-nested-selector@^0.1.1 │ │ ├─ postcss-safe-parser@^3.0.1 │ │ ├─ postcss-sass@^0.3.0 │ │ ├─ postcss-scss@^1.0.2 │ │ ├─ postcss-selector-parser@^3.1.0 │ │ ├─ postcss-syntax@^0.28.0 │ │ ├─ postcss-value-parser@^3.3.0 │ │ ├─ postcss@^6.0.16 │ │ └─ postcss@^6.0.14 │ │ ├─ postcss-modules-extract-imports@^2.0.0 │ │ ├─ postcss-modules-local-by-default@^3.0.2 │ │ ├─ postcss-modules-scope@^2.2.0 │ │ ├─ postcss-modules-values@^3.0.0 │ │ ├─ postcss-value-parser@^4.1.0 │ │ ├─ postcss@^7.0.32 │ ├─ postcss-import@12.0.1 │ ├─ postcss-loader@^3.0.0 │ ├─ postcss-modules-local-by-default@3.0.3 │ │ ├─ postcss-selector-parser@^6.0.2 │ │ ├─ postcss-value-parser@^4.1.0 │ │ └─ postcss@^7.0.32 │ ├─ postcss-modules-values@3.0.0 │ │ └─ postcss@^7.0.6 │ ├─ postcss-pxtransform@^1.3.2 │ ├─ postcss-pxtransform@1.3.46 │ │ ├─ postcss-pxtorem@^4.0.1 │ │ └─ postcss@^6.0.16 │ ├─ postcss-url@8.0.0 │ ├─ postcss-value-parser@4.1.0 │ │ ├─ postcss-value-parser@^4.0.2 │ │ └─ postcss@^7.0.26 │ ├─ postcss-loader@3.0.0 │ ├─ postcss-plugin-constparse@3.0.0 │ ├─ postcss-pxtransform@3.0.0 │ ├─ postcss-value-parser@4.1.0 │ ├─ postcss-selector-parser@^6.0.2 │ ├─ postcss@^7.0.14 │ │ ├─ postcss-modules-extract-imports@^2.0.0 │ │ ├─ postcss-modules-local-by-default@^2.0.6 │ │ ├─ postcss-modules-scope@^2.1.0 │ │ ├─ postcss-modules-values@^2.0.0 │ │ ├─ postcss-value-parser@^3.3.0 │ │ ├─ postcss@^7.0.14 │ ├─ postcss-loader@^3.0.0 │ ├─ postcss-modules-local-by-default@2.0.6 │ │ ├─ postcss-selector-parser@^6.0.0 │ │ ├─ postcss-value-parser@^3.3.1 │ │ └─ postcss@^7.0.6 │ ├─ postcss-modules-values@2.0.0 │ │ └─ postcss@^7.0.6 │ ├─ postcss-safe-parser@^4.0.1 │ ├─ postcss-value-parser@^4.1.0 │ ├─ postcss-value-parser@4.1.0 │ └─ postcss@^7.0.32 │ └─ postcss@^7.0.5 │ ├─ postcss@^7.0.1 │ ├─ postcss-selector-parser@^5.0.0-rc.4 │ ├─ postcss-selector-parser@5.0.0 │ └─ postcss@^7.0.6 │ ├─ postcss-modules-extract-imports@^2.0.0 │ ├─ postcss-modules-local-by-default@^3.0.2 │ ├─ postcss-modules-local-by-default@3.0.3 │ │ ├─ postcss-selector-parser@^6.0.2 │ │ ├─ postcss-value-parser@^4.1.0 │ │ └─ postcss@^7.0.32 │ ├─ postcss-modules-scope@^2.1.1 │ ├─ postcss-modules-values@^3.0.0 │ ├─ postcss-modules-values@3.0.0 │ │ └─ postcss@^7.0.6 │ ├─ postcss-value-parser@^4.0.2 │ ├─ postcss-value-parser@4.1.0 │ ├─ postcss@^7.0.23 │ ├─ postcss-modules-extract-imports@1.1.0 │ ├─ postcss-modules-extract-imports@1.1.0 │ │ └─ postcss@^6.0.1 │ ├─ postcss-modules-local-by-default@1.2.0 │ ├─ postcss-modules-scope@1.1.0 │ ├─ postcss-modules-scope@1.1.0 │ │ └─ postcss@^6.0.1 │ ├─ postcss-modules-values@1.3.0 │ └─ postcss@6.0.1 │ └─ postcss@^7.0.5 │ │ └─ postcss-value-parser@^3.3.0 │ ├─ postcss-value-parser@^4.0.2 │ └─ postcss-value-parser@4.1.0 │ ├─ postcss-calc@^7.0.1 │ ├─ postcss-colormin@^4.0.3 │ ├─ postcss-convert-values@^4.0.1 │ ├─ postcss-discard-comments@^4.0.2 │ ├─ postcss-discard-duplicates@^4.0.2 │ ├─ postcss-discard-empty@^4.0.1 │ ├─ postcss-discard-overridden@^4.0.1 │ ├─ postcss-merge-longhand@^4.0.11 │ ├─ postcss-merge-rules@^4.0.3 │ ├─ postcss-minify-font-values@^4.0.2 │ ├─ postcss-minify-gradients@^4.0.2 │ ├─ postcss-minify-params@^4.0.2 │ ├─ postcss-minify-selectors@^4.0.2 │ ├─ postcss-normalize-charset@^4.0.1 │ ├─ postcss-normalize-display-values@^4.0.2 │ ├─ postcss-normalize-positions@^4.0.2 │ ├─ postcss-normalize-repeat-style@^4.0.2 │ ├─ postcss-normalize-string@^4.0.2 │ ├─ postcss-normalize-timing-functions@^4.0.2 │ ├─ postcss-normalize-unicode@^4.0.1 │ ├─ postcss-normalize-url@^4.0.1 │ ├─ postcss-normalize-whitespace@^4.0.2 │ ├─ postcss-ordered-values@^4.1.2 │ ├─ postcss-reduce-initial@^4.0.3 │ ├─ postcss-reduce-transforms@^4.0.2 │ ├─ postcss-svgo@^4.0.2 │ ├─ postcss-unique-selectors@^4.0.1 │ └─ postcss@^7.0.0 │ └─ postcss@^7.0.0 │ └─ postcss@^7.0.0 ├─ gulp-postcss@9.0.0 │ ├─ postcss-load-config@^2.1.1 │ └─ postcss@^7.0.14 │ │ ├─ postcss-value-parser@^3.2.3 │ │ └─ postcss@^6.0.17 │ ├─ postcss@^7.0.27 │ └─ postcss@^7.0.23 ├─ postcss-attribute-case-insensitive@4.0.2 │ ├─ postcss-selector-parser@^6.0.2 │ └─ postcss@^7.0.2 ├─ postcss-browser-comments@3.0.0 │ └─ postcss@^7 ├─ postcss-calc@7.0.5 │ ├─ postcss-selector-parser@^6.0.2 │ ├─ postcss-value-parser@^4.0.2 │ ├─ postcss-value-parser@4.1.0 │ └─ postcss@^7.0.27 ├─ postcss-color-functional-notation@2.0.1 │ ├─ postcss-values-parser@^2.0.0 │ └─ postcss@^7.0.2 ├─ postcss-color-gray@5.0.0 │ ├─ postcss-values-parser@^2.0.0 │ └─ postcss@^7.0.5 ├─ postcss-color-hex-alpha@5.0.3 │ ├─ postcss-values-parser@^2.0.1 │ └─ postcss@^7.0.14 ├─ postcss-color-mod-function@3.0.3 │ ├─ postcss-values-parser@^2.0.0 │ └─ postcss@^7.0.2 ├─ postcss-color-rebeccapurple@4.0.1 │ ├─ postcss-values-parser@^2.0.0 │ └─ postcss@^7.0.2 ├─ postcss-colormin@4.0.3 │ ├─ postcss-value-parser@^3.0.0 │ └─ postcss@^7.0.0 ├─ postcss-convert-values@4.0.1 │ ├─ postcss-value-parser@^3.0.0 │ └─ postcss@^7.0.0 ├─ postcss-custom-media@7.0.8 │ └─ postcss@^7.0.14 ├─ postcss-custom-properties@8.0.11 │ ├─ postcss-values-parser@^2.0.1 │ └─ postcss@^7.0.17 ├─ postcss-custom-selectors@5.1.2 │ ├─ postcss-selector-parser@^5.0.0-rc.3 │ ├─ postcss-selector-parser@5.0.0 │ └─ postcss@^7.0.2 ├─ postcss-dir-pseudo-class@5.0.0 │ ├─ postcss-selector-parser@^5.0.0-rc.3 │ ├─ postcss-selector-parser@5.0.0 │ └─ postcss@^7.0.2 ├─ postcss-discard-comments@4.0.2 │ └─ postcss@^7.0.0 ├─ postcss-discard-duplicates@4.0.2 │ └─ postcss@^7.0.0 ├─ postcss-discard-empty@4.0.1 │ └─ postcss@^7.0.0 ├─ postcss-discard-overridden@4.0.1 │ └─ postcss@^7.0.0 ├─ postcss-double-position-gradients@1.0.0 │ ├─ postcss-values-parser@^2.0.0 │ └─ postcss@^7.0.5 ├─ postcss-env-function@2.0.2 │ ├─ postcss-values-parser@^2.0.0 │ └─ postcss@^7.0.2 ├─ postcss-flexbugs-fixes@4.1.0 │ └─ postcss@^7.0.0 ├─ postcss-focus-visible@4.0.0 │ └─ postcss@^7.0.2 ├─ postcss-focus-within@3.0.0 │ └─ postcss@^7.0.2 ├─ postcss-font-variant@4.0.1 │ └─ postcss@^7.0.2 ├─ postcss-gap-properties@2.0.0 │ └─ postcss@^7.0.2 ├─ postcss-html@0.36.0 ├─ postcss-image-set-function@3.0.1 │ ├─ postcss-values-parser@^2.0.0 │ └─ postcss@^7.0.2 ├─ postcss-import@12.0.1 │ ├─ postcss-value-parser@^3.2.3 │ ├─ postcss@^7.0.1 ├─ postcss-initial@3.0.2 │ └─ postcss@^7.0.2 ├─ postcss-jsx@0.36.4 ├─ postcss-lab-function@2.0.1 │ ├─ postcss-values-parser@^2.0.0 │ └─ postcss@^7.0.2 ├─ postcss-less@3.1.4 │ └─ postcss@^7.0.14 ├─ postcss-load-config@2.1.2 ├─ postcss-loader@3.0.0 │ ├─ postcss-load-config@^2.0.0 │ ├─ postcss@^7.0.0 ├─ postcss-logical@3.0.0 │ └─ postcss@^7.0.2 ├─ postcss-markdown@0.28.0 ├─ postcss-media-minmax@4.0.0 │ └─ postcss@^7.0.2 ├─ postcss-media-query-parser@0.2.3 ├─ postcss-merge-longhand@4.0.11 │ ├─ postcss-value-parser@^3.0.0 │ ├─ postcss@^7.0.0 ├─ postcss-merge-rules@4.0.3 │ ├─ postcss-selector-parser@^3.0.0 │ ├─ postcss-selector-parser@3.1.2 │ ├─ postcss@^7.0.0 ├─ postcss-minify-font-values@4.0.2 │ ├─ postcss-value-parser@^3.0.0 │ └─ postcss@^7.0.0 ├─ postcss-minify-gradients@4.0.2 │ ├─ postcss-value-parser@^3.0.0 │ └─ postcss@^7.0.0 ├─ postcss-minify-params@4.0.2 │ ├─ postcss-value-parser@^3.0.0 │ ├─ postcss@^7.0.0 ├─ postcss-minify-selectors@4.0.2 │ ├─ postcss-selector-parser@^3.0.0 │ ├─ postcss-selector-parser@3.1.2 │ └─ postcss@^7.0.0 ├─ postcss-modules-extract-imports@2.0.0 │ └─ postcss@^7.0.5 ├─ postcss-modules-local-by-default@1.2.0 │ └─ postcss@^6.0.1 ├─ postcss-modules-resolve-imports@1.3.0 │ │ └─ postcss@^6.0.2 ├─ postcss-modules-scope@2.2.0 │ ├─ postcss-selector-parser@^6.0.0 │ └─ postcss@^7.0.6 ├─ postcss-modules-values@1.3.0 │ └─ postcss@^6.0.1 ├─ postcss-modules@2.0.0 │ ├─ postcss@^7.0.1 ├─ postcss-nesting@7.0.1 │ └─ postcss@^7.0.2 ├─ postcss-normalize-charset@4.0.1 │ └─ postcss@^7.0.0 ├─ postcss-normalize-display-values@4.0.2 │ ├─ postcss-value-parser@^3.0.0 │ └─ postcss@^7.0.0 ├─ postcss-normalize-positions@4.0.2 │ ├─ postcss-value-parser@^3.0.0 │ └─ postcss@^7.0.0 ├─ postcss-normalize-repeat-style@4.0.2 │ ├─ postcss-value-parser@^3.0.0 │ └─ postcss@^7.0.0 ├─ postcss-normalize-string@4.0.2 │ ├─ postcss-value-parser@^3.0.0 │ └─ postcss@^7.0.0 ├─ postcss-normalize-timing-functions@4.0.2 │ ├─ postcss-value-parser@^3.0.0 │ └─ postcss@^7.0.0 ├─ postcss-normalize-unicode@4.0.1 │ ├─ postcss-value-parser@^3.0.0 │ └─ postcss@^7.0.0 ├─ postcss-normalize-url@4.0.1 │ ├─ postcss-value-parser@^3.0.0 │ └─ postcss@^7.0.0 ├─ postcss-normalize-whitespace@4.0.2 │ ├─ postcss-value-parser@^3.0.0 │ └─ postcss@^7.0.0 ├─ postcss-normalize@8.0.1 │ ├─ postcss-browser-comments@^3.0.0 │ ├─ postcss@^7.0.17 ├─ postcss-ordered-values@4.1.2 │ ├─ postcss-value-parser@^3.0.0 │ └─ postcss@^7.0.0 ├─ postcss-overflow-shorthand@2.0.0 │ └─ postcss@^7.0.2 ├─ postcss-page-break@2.0.0 │ └─ postcss@^7.0.2 ├─ postcss-place@4.0.1 │ ├─ postcss-values-parser@^2.0.0 │ └─ postcss@^7.0.2 ├─ postcss-plugin-constparse@3.0.0 │ └─ postcss@^6.0.22 ├─ postcss-preset-env@6.7.0 │ ├─ postcss-attribute-case-insensitive@^4.0.1 │ ├─ postcss-color-functional-notation@^2.0.1 │ ├─ postcss-color-gray@^5.0.0 │ ├─ postcss-color-hex-alpha@^5.0.3 │ ├─ postcss-color-mod-function@^3.0.3 │ ├─ postcss-color-rebeccapurple@^4.0.1 │ ├─ postcss-custom-media@^7.0.8 │ ├─ postcss-custom-properties@^8.0.11 │ ├─ postcss-custom-selectors@^5.1.2 │ ├─ postcss-dir-pseudo-class@^5.0.0 │ ├─ postcss-double-position-gradients@^1.0.0 │ ├─ postcss-env-function@^2.0.2 │ ├─ postcss-focus-visible@^4.0.0 │ ├─ postcss-focus-within@^3.0.0 │ ├─ postcss-font-variant@^4.0.0 │ ├─ postcss-gap-properties@^2.0.0 │ ├─ postcss-image-set-function@^3.0.1 │ ├─ postcss-initial@^3.0.0 │ ├─ postcss-lab-function@^2.0.1 │ ├─ postcss-logical@^3.0.0 │ ├─ postcss-media-minmax@^4.0.0 │ ├─ postcss-nesting@^7.0.0 │ ├─ postcss-overflow-shorthand@^2.0.0 │ ├─ postcss-page-break@^2.0.0 │ ├─ postcss-place@^4.0.1 │ ├─ postcss-pseudo-class-any-link@^6.0.0 │ ├─ postcss-replace-overflow-wrap@^3.0.0 │ ├─ postcss-selector-matches@^4.0.0 │ ├─ postcss-selector-not@^4.0.0 │ └─ postcss@^7.0.17 ├─ postcss-pseudo-class-any-link@6.0.0 │ ├─ postcss-selector-parser@^5.0.0-rc.3 │ ├─ postcss-selector-parser@5.0.0 │ └─ postcss@^7.0.2 ├─ postcss-px-to-viewport@1.1.1 │ └─ postcss@>=5.0.2 ├─ postcss-pxtorem@4.0.1 │ └─ postcss@^5.2.10 ├─ postcss-pxtransform@3.0.0 │ ├─ postcss-pxtorem@^4.0.1 │ └─ postcss@^6.0.16 ├─ postcss-reduce-initial@4.0.3 │ └─ postcss@^7.0.0 ├─ postcss-reduce-transforms@4.0.2 │ ├─ postcss-value-parser@^3.0.0 │ └─ postcss@^7.0.0 ├─ postcss-replace-overflow-wrap@3.0.0 │ └─ postcss@^7.0.2 ├─ postcss-reporter@6.0.1 │ ├─ postcss@^7.0.7 ├─ postcss-resolve-nested-selector@0.1.1 ├─ postcss-safe-parser@4.0.2 │ └─ postcss@^7.0.26 ├─ postcss-sass@0.3.5 │ └─ postcss@^7.0.1 ├─ postcss-scss@2.1.1 │ └─ postcss@^7.0.6 ├─ postcss-selector-matches@4.0.0 │ └─ postcss@^7.0.2 ├─ postcss-selector-not@4.0.0 │ └─ postcss@^7.0.2 ├─ postcss-selector-parser@6.0.4 ├─ postcss-sorting@5.0.1 │ └─ postcss@^7.0.17 ├─ postcss-svgo@4.0.2 │ ├─ postcss-value-parser@^3.0.0 │ ├─ postcss@^7.0.0 ├─ postcss-syntax@0.36.2 ├─ postcss-taro-unit-transform@1.2.15 │ └─ postcss@^6.0.21 ├─ postcss-unique-selectors@4.0.1 │ ├─ postcss@^7.0.0 ├─ postcss-url@8.0.0 │ ├─ postcss@^7.0.2 ├─ postcss-value-parser@3.3.1 ├─ postcss-values-parser@2.0.1 ├─ postcss@7.0.29 │ ├─ postcss-flexbugs-fixes@4.1.0 │ ├─ postcss-loader@3.0.0 │ ├─ postcss-normalize@8.0.1 │ ├─ postcss-preset-env@6.7.0 │ ├─ postcss-safe-parser@4.0.1 │ ├─ postcss-safe-parser@4.0.1 │ │ └─ postcss@^7.0.0 │ │ ├─ postcss@7.0.21 │ ├─ postcss@7.0.21 ├─ rollup-plugin-postcss@3.1.1 │ ├─ postcss-load-config@^2.1.0 │ ├─ postcss-modules@^2.0.0 │ ├─ postcss@^7.0.27 │ ├─ gulp-postcss@^9.0.0 │ ├─ postcss-load-config@^2.1.2 │ ├─ rollup-plugin-postcss@^3.1.8 │ ├─ rollup-plugin-postcss@3.1.8 │ │ ├─ postcss-load-config@^2.1.0 │ │ ├─ postcss-modules@^2.0.0 │ │ ├─ postcss@^7.0.27 │ ├─ postcss-selector-parser@^3.0.0 │ ├─ postcss-selector-parser@3.1.2 │ └─ postcss@^7.0.0 │ ├─ postcss-markdown@0.36.0 │ ├─ postcss-selector-parser@3.1.2 │ ├─ postcss-sorting@4.1.0 │ │ └─ postcss@^7.0.0 │ │ ├─ postcss-sorting@^4.1.0 │ │ └─ postcss@^7.0.2 │ │ ├─ postcss-html@^0.36.0 │ │ ├─ postcss-jsx@^0.36.0 │ │ ├─ postcss-less@^3.1.0 │ │ ├─ postcss-markdown@^0.36.0 │ │ ├─ postcss-media-query-parser@^0.2.3 │ │ ├─ postcss-reporter@^6.0.0 │ │ ├─ postcss-resolve-nested-selector@^0.1.1 │ │ ├─ postcss-safe-parser@^4.0.0 │ │ ├─ postcss-sass@^0.3.5 │ │ ├─ postcss-scss@^2.0.0 │ │ ├─ postcss-selector-parser@^3.1.0 │ │ ├─ postcss-syntax@^0.36.2 │ │ ├─ postcss-value-parser@^3.3.0 │ │ ├─ postcss@^7.0.13 │ ├─ postcss-sorting@^5.0.1 │ └─ postcss@^7.0.31 │ └─ postcss@^7.0.26 │ ├─ postcss-media-query-parser@^0.2.3 │ ├─ postcss-resolve-nested-selector@^0.1.1 │ ├─ postcss-selector-parser@^6.0.2 │ ├─ postcss-value-parser@^4.1.0 │ └─ postcss-value-parser@4.1.0 │ ├─ @stylelint/postcss-css-in-js@^0.37.2 │ ├─ @stylelint/postcss-markdown@^0.36.2 │ ├─ postcss-html@^0.36.0 │ ├─ postcss-less@^3.1.4 │ ├─ postcss-media-query-parser@^0.2.3 │ ├─ postcss-resolve-nested-selector@^0.1.1 │ ├─ postcss-safe-parser@^4.0.2 │ ├─ postcss-sass@^0.4.4 │ ├─ postcss-sass@0.4.4 │ │ └─ postcss@^7.0.21 │ ├─ postcss-scss@^2.1.1 │ ├─ postcss-selector-parser@^6.0.4 │ ├─ postcss-syntax@^0.36.2 │ ├─ postcss-value-parser@^4.1.0 │ ├─ postcss-value-parser@4.1.0 │ ├─ postcss@^7.0.35 │ └─ postcss@^7.0.2 │ └─ postcss-value-parser@^3.3.0

ai commented 3 years ago

You need to update PostCSS to 8

fupengl commented 3 years ago

Can you show npm list | grep postcss results?

You need to update PostCSS to 8

I use lerna, postcss related dependencies use resolutions to ensure that the version is the same as react-scripts

fupengl commented 3 years ago

You need to update PostCSS to 8

Thanks, i try

fupengl commented 3 years ago

You need to update PostCSS to 8

image

ai commented 3 years ago

Do you use Create React App?

There is no way to use PostCSS 8 there. You need to use postcss-safe-parser 4.0.2

fupengl commented 3 years ago

Thank you very much, solved this problem

nolimitdev commented 1 year ago

Maybe interesting practical pitfail with decision to use postcss as peer dependency (see here https://github.com/postcss/postcss-safe-parser/commit/0c31026ac7809d9901ead5cb425913eafffc54ea#diff-7ae45ad102eab3b6d7e7896acd08c427a9b25b346470d7bc6507b6481575d519L26).

In root node_modules is postcss v7 (older project and it is not easily to migrate v8). NPM for stylelint installs postcss v8 in node_modules/stylelint/node_modules/postcss but its dependency postcss-safe-parser is installed in node_modules/postcss-safe-parser and now stylelint is not working correctly because of it's postcss-safe-parser uses postcss v7 from root node_modules which causes Input is not a constructor at safeParse (node_modules/postcss-safe-parser/lib/safe-parse.js

@ai what do you think about this please? It is not better to use back a dependencies instead of peerDependencies for postcss? Postcss is not so huge - node_modules of clean installation with its dependencies contains just 100 files in about 650kB. And in case dependencies it does not mean postcss to be always duplicated - if project already has postcss v8 in root node_modules node_modules/postcss-safe-parser/node_modules/postcss will not be created.

Now used fallback hack with e.g. npm install postcss-safe-parser@1.0.0 which forces NPM to create separate postcss-safe-parser for stylelint in node_modules/stylelint/node_modules/postcss-safe-parser and finally postcss-safe-parser will correctly use postcss v8 from node_modules/stylelint/node_modules/postcss instead of postcss v7 from node_modules/postcss.

ai commented 1 year ago

@nolimitdev you need to add postcss@8 to package.json’s dependencies.

nolimitdev commented 1 year ago

@ai 1) Can not because project itself uses postcss@7 and its older API. 2) Analogical as postcss-safe-parser is broken in this case due to peer dependency, switching to postcss@8 in root can also break another packages which uses peer dependency too and will load postcss@8 instead of v7

For me it seems that it is better to avoid using peer dependency especially when dependencies are small. I will remember this use case if I catch myself thinking about using peerDependencies instead of regular dependencies in some package :)

ai commented 1 year ago

Can not because project itself uses postcss@7 and its older API.

In this case you can’t use postcss-safe-parser with postcss@8, because having different PostCSS in different parts of AST will lead to problems.