postcss / postcss-calc

PostCSS plugin to reduce calc()
MIT License
212 stars 34 forks source link

[Bug]: Parse error when using container query units (e.g. cqw) #199

Open fabianmichaelATform4 opened 2 months ago

fabianmichaelATform4 commented 2 months ago

Describe the bug

Parse error on line 1:
12.72727px + 8.523cqw
--------------^
Expecting end of input, "RPAREN", "ADD", "SUB", "MUL", "DIV", got unexpected "UNKNOWN_DIMENSION"

Expected behaviour

No error.

Steps to reproduce

I have the following responsive font-size based on its container:

font-size: clamp(40px, calc(12.72727px + 8.523cqw), 100px);

Version

8.2.3

Environment

System:
    OS: Linux 5.15 Ubuntu 22.04.4 LTS 22.04.4 LTS (Jammy Jellyfish)
    CPU: (8) x64 Intel(R) Core(TM) i7-10750H CPU @ 2.60GHz
    Memory: 8.34 GB / 11.69 GB
    Container: Yes
    Shell: 5.8.1 - /usr/bin/zsh

Package details

└─┬ *************@0.1.0 -> ./apps/website
  ├─┬ *************@0.28.0 -> ./packages/ui-components
  │ ├── postcss@8.4.31 deduped
  │ ├─┬ vite-svg-loader@4.0.0
  │ │ └─┬ @vue/compiler-sfc@3.3.4
  │ │   └── postcss@8.4.31 deduped
  │ ├─┬ vite@4.4.11
  │ │ └── postcss@8.4.31 deduped
  │ └─┬ vitest@0.34.6
  │   ├─┬ vite-node@0.34.6
  │   │ └─┬ vite@5.0.0-beta.6
  │   │   └── postcss@8.4.31 deduped
  │   └─┬ vite@5.0.0-beta.6
  │     └── postcss@8.4.31 deduped
  ├─┬ @storybook/nextjs@7.4.6
  │ ├── postcss@8.4.31 deduped
  │ └─┬ resolve-url-loader@5.0.0
  │   └── postcss@8.4.31 deduped
  ├─┬ autoprefixer@10.4.16
  │ └── postcss@8.4.31 deduped
  ├─┬ css-loader@6.8.1 invalid: "^6.10.0" from apps/website
  │ ├─┬ icss-utils@5.1.0
  │ │ └── postcss@8.4.31 deduped
  │ ├─┬ postcss-modules-extract-imports@3.0.0
  │ │ └── postcss@8.4.31 deduped
  │ ├─┬ postcss-modules-local-by-default@4.0.3
  │ │ └── postcss@8.4.31 deduped
  │ ├─┬ postcss-modules-scope@3.0.0
  │ │ └── postcss@8.4.31 deduped
  │ ├─┬ postcss-modules-values@4.0.0
  │ │ └── postcss@8.4.31 deduped
  │ └── postcss@8.4.31 deduped
  ├─┬ cssnano@5.1.15
  │ ├─┬ cssnano-preset-default@5.2.14
  │ │ ├─┬ css-declaration-sorter@6.4.1
  │ │ │ └── postcss@8.4.31 deduped
  │ │ ├─┬ cssnano-utils@3.1.0
  │ │ │ └── postcss@8.4.31 deduped
  │ │ ├─┬ postcss-calc@8.2.4
  │ │ │ └── postcss@8.4.31 deduped
  │ │ ├─┬ postcss-colormin@5.3.1
  │ │ │ └── postcss@8.4.31 deduped
  │ │ ├─┬ postcss-convert-values@5.1.3
  │ │ │ └── postcss@8.4.31 deduped
  │ │ ├─┬ postcss-discard-comments@5.1.2
  │ │ │ └── postcss@8.4.31 deduped
  │ │ ├─┬ postcss-discard-duplicates@5.1.0
  │ │ │ └── postcss@8.4.31 deduped
  │ │ ├─┬ postcss-discard-empty@5.1.1
  │ │ │ └── postcss@8.4.31 deduped
  │ │ ├─┬ postcss-discard-overridden@5.1.0
  │ │ │ └── postcss@8.4.31 deduped
  │ │ ├─┬ postcss-merge-longhand@5.1.7
  │ │ │ ├── postcss@8.4.31 deduped
  │ │ │ └─┬ stylehacks@5.1.1
  │ │ │   └── postcss@8.4.31 deduped
  │ │ ├─┬ postcss-merge-rules@5.1.4
  │ │ │ └── postcss@8.4.31 deduped
  │ │ ├─┬ postcss-minify-font-values@5.1.0
  │ │ │ └── postcss@8.4.31 deduped
  │ │ ├─┬ postcss-minify-gradients@5.1.1
  │ │ │ └── postcss@8.4.31 deduped
  │ │ ├─┬ postcss-minify-params@5.1.4
  │ │ │ └── postcss@8.4.31 deduped
  │ │ ├─┬ postcss-minify-selectors@5.2.1
  │ │ │ └── postcss@8.4.31 deduped
  │ │ ├─┬ postcss-normalize-charset@5.1.0
  │ │ │ └── postcss@8.4.31 deduped
  │ │ ├─┬ postcss-normalize-display-values@5.1.0
  │ │ │ └── postcss@8.4.31 deduped
  │ │ ├─┬ postcss-normalize-positions@5.1.1
  │ │ │ └── postcss@8.4.31 deduped
  │ │ ├─┬ postcss-normalize-repeat-style@5.1.1
  │ │ │ └── postcss@8.4.31 deduped
  │ │ ├─┬ postcss-normalize-string@5.1.0
  │ │ │ └── postcss@8.4.31 deduped
  │ │ ├─┬ postcss-normalize-timing-functions@5.1.0
  │ │ │ └── postcss@8.4.31 deduped
  │ │ ├─┬ postcss-normalize-unicode@5.1.1
  │ │ │ └── postcss@8.4.31 deduped
  │ │ ├─┬ postcss-normalize-url@5.1.0
  │ │ │ └── postcss@8.4.31 deduped
  │ │ ├─┬ postcss-normalize-whitespace@5.1.1
  │ │ │ └── postcss@8.4.31 deduped
  │ │ ├─┬ postcss-ordered-values@5.1.3
  │ │ │ └── postcss@8.4.31 deduped
  │ │ ├─┬ postcss-reduce-initial@5.1.2
  │ │ │ └── postcss@8.4.31 deduped
  │ │ ├─┬ postcss-reduce-transforms@5.1.0
  │ │ │ └── postcss@8.4.31 deduped
  │ │ ├─┬ postcss-svgo@5.1.0
  │ │ │ └── postcss@8.4.31 deduped
  │ │ ├─┬ postcss-unique-selectors@5.1.1
  │ │ │ └── postcss@8.4.31 deduped
  │ │ └── postcss@8.4.31 deduped
  │ └── postcss@8.4.31 deduped
  ├─┬ next@13.2.1
  │ └── postcss@8.4.14
  ├─┬ postcss-cli@10.1.0 invalid: "^11.0.0" from apps/website
  │ ├─┬ postcss-load-config@4.0.1
  │ │ └── postcss@8.4.31 deduped
  │ ├─┬ postcss-reporter@7.0.5
  │ │ └── postcss@8.4.31 deduped
  │ └── postcss@8.4.31 deduped
  ├─┬ postcss-loader@7.3.3 invalid: "^8.1.1" from apps/website
  │ └── postcss@8.4.31 deduped
  ├── postcss@8.4.31
  ├─┬ sanitize-html@2.11.0
  │ └── postcss@8.4.31 deduped
  └─┬ tailwindcss@3.3.3
    ├─┬ postcss-import@15.1.0
    │ └── postcss@8.4.31 deduped
    ├─┬ postcss-js@4.0.1
    │ └── postcss@8.4.31 deduped
    ├─┬ postcss-nested@6.0.1
    │ └── postcss@8.4.31 deduped
    └── postcss@8.4.31 deduped

Additional context

No response

ludofischer commented 2 months ago

Does it crash or does it just print an error and the processing ends normally?

jeffeoff commented 1 month ago

I have the same problem. Does not crash for me, but prints the error/warning for every single line that includes a cqw unit inside of calc().