{"id":20584,"library":"stylelint-prettier","title":"stylelint-prettier","description":"Runs Prettier as a Stylelint rule and reports formatting differences as individual Stylelint issues. Version 5.0.3 is current, requiring Node >=18.12.0, Prettier >=3.0.0, and Stylelint >=16.0.0. It integrates Prettier's opinionated formatting directly into the Stylelint linting workflow, allowing developers to catch formatting inconsistencies as lint errors during development or in CI. Unlike standalone Prettier checks, this plugin formats the output as Stylelint violations with precise line/column positions. It is maintained by the Prettier organization and follows the same release cadence as its peer dependencies. Key differentiator: it eliminates the need for separate Prettier CI checks and provides uniform reporting with other Stylelint rules.","status":"active","version":"5.0.3","language":"javascript","source_language":"en","source_url":"https://github.com/prettier/stylelint-prettier","tags":["javascript","stylelint","stylelint-plugin","prettier"],"install":[{"cmd":"npm install stylelint-prettier","lang":"bash","label":"npm"},{"cmd":"yarn add stylelint-prettier","lang":"bash","label":"yarn"},{"cmd":"pnpm add stylelint-prettier","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency (>=3.0.0) – must be installed separately","package":"prettier","optional":false},{"reason":"peer dependency (>=16.0.0) – must be installed separately","package":"stylelint","optional":false}],"imports":[{"note":"Configure in .stylelintrc; do not import in source code.","wrong":"const sp = require('stylelint-prettier') (not a Node module to require at runtime)","symbol":"stylelint-prettier","correct":"import 'stylelint-prettier' (in plugins array) or use extends: ['stylelint-prettier/recommended']"},{"note":"The rule is named 'prettier/prettier' and is enabled via the 'prettier/prettier' key.","wrong":"{\"rules\": {\"prettier/prettier\": \"error\"}} (Stylelint uses true/false or severity options, not ESLint-style)","symbol":"prettier/prettier","correct":"\"plugin\": [\"stylelint-prettier\"] and \"rules\": { \"prettier/prettier\": true }"},{"note":"Only needed if you use deprecated stylistic rules from Stylelint <16.","wrong":"Extending stylelint-config-prettier without also adding stylelint-prettier (conflicts won't be overridden)","symbol":"stylelint-config-prettier","correct":"npm install stylelint-config-prettier --save-dev; extends: [..., 'stylelint-config-prettier']"}],"quickstart":{"code":"// .stylelintrc\n{\n  \"extends\": [\"stylelint-prettier/recommended\"],\n  \"rules\": {\n    \"prettier/prettier\": [true, {\n      \"singleQuote\": true,\n      \"tabWidth\": 2\n    }]\n  }\n}","lang":"json","description":"Configures stylelint-prettier with recommended preset and custom Prettier options (single quotes, 2-space tabs)."},"warnings":[{"fix":"If using Stylelint >=15, remove stylelint-config-prettier dependency and extends entry.","message":"stylelint-config-prettier is no longer needed for Stylelint v15+ because stylistic rules are deprecated and removed in v16.","severity":"deprecated","affected_versions":">=15.0.0"},{"fix":"Update Prettier to >=3.0.0 and Stylelint to >=16.0.0. Remove any deprecated stylistic rules.","message":"Version 5.0.0 dropped support for Stylelint <16 and Prettier <3. Existing configs may break after upgrade.","severity":"breaking","affected_versions":">=5.0.0 <6.0.0"},{"fix":"Prefer configuring in .prettierrc and avoid options in Stylelint config to ensure editor extensions consistency.","message":"Passing options via Stylelint rule overrides .prettierrc for Prettier <1.7.0 but merges for newer versions.","severity":"gotcha","affected_versions":">=1.7.0"},{"fix":"Use 'prettier/prettier' in the rules object of .stylelintrc.","message":"The rule name is 'prettier/prettier', not 'stylelint-prettier/prettier'.","severity":"gotcha","affected_versions":"all"},{"fix":"Upgrade to Stylelint v16 where those rules are removed. For v15, use stylelint-config-prettier to disable them.","message":"Stylelint v15 deprecated all stylistic rules that conflict with Prettier. The plugin may still work but expects those rules to be disabled.","severity":"deprecated","affected_versions":">=15.0.0 <16.0.0"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Run 'npm install --save-dev prettier' or ensure version >=3.0.0 is present.","cause":"Prettier is a peer dependency and is not installed automatically.","error":"Error: Cannot find module 'prettier'"},{"fix":"Change to true or [true, {...}] in your .stylelintrc rules.","cause":"Stylelint expects array or boolean, but string 'error' is ESLint-style.","error":"Configuration for rule \"prettier/prettier\" is invalid: Value false should be an object or boolean."},{"fix":"Add 'stylelint-prettier' to the plugins array or extend 'stylelint-prettier/recommended'.","cause":"The plugin is not loaded in the 'plugins' array.","error":"Unknown rule: prettier/prettier"},{"fix":"Check the CSS file for syntax errors. Consider adding a .prettierignore for files that Prettier cannot parse.","cause":"Prettier cannot parse the file; either invalid CSS or unsupported syntax.","error":"Parsing errors in your CSS file / unexpected token"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}