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
Remove syntax option #5289
Comments
Did we really think it through? I think we're solving our inconvenience by creating inconvenience to the users.
At least 40% of stylelint usage is with SCSS! I'm saying “at least”, because not every Sass usage with stylelint is with I think we should remove only syntaxes, which lack maintainance — |
I also have a concern that a significant number of users will be inconvenienced... 🤔 |
I'd like to explain this change in a broader and longer-term context, particularly around two problems we face:
Confused usersUp until a couple of years ago, we had a simple premise: Stylelint is a CSS linter that can be extended to support other styling languages. It was an early design decision to gear the built-in parser, built-in rules and official configs towards CSS while providing extension points. It was a good decision as it was easier to:
We've muddied the waters by bundling syntaxes into Stylelint. We can now parse various styling languages out-of-the-box, but the built-in rules and the official configs are for CSS. The most evident symptom of this problem are issues like #4933, where users are left confused. It's worse for users of whitespace syntaxes like SugarSS and SASS, as many of the rules turned on in the official configs are incompatible with them. I also think some users are missing out on comprehensive linting. We produce gaps when we use our Unmaintained dependenciesStyling languages and libraries come and go. Particularly within the CSS-in-JS community, where the churn is eye-watering. The most evident symptom of this problem is the situation we're in right now, where unmaintained dependencies have led to vulnerabilities. How long until Why removing
|
Thank you for an extensive explanation, Richard! This makes a lot of sense for me. We would need to make additional work, besided code changes. Due to huge impact on our users we need to have a great migration guide for every syntax we're dropping. Also I would include in our documentation how to make stylelint work with SCSS, and maybe for other syntaxes. I'm a fan of how Andrey Sitnik is working towards developer experience. E. g. his PostCSS 8.0: Plugin migration guide with step by step instructions. And helpful messages for not used syntax in PostCSS. We could keep in the code |
@jeddy3 Thank you so much for the clarification. I understand the background more and agree with the idea altogether. Also, I agree with @hudochenkov's idea about a helpful migration guide and kind error messages. 👍🏼 |
Yes, we'll need a migration guide. I'll create a follow-up issue for that.
Sounds good. Let's do this as a follow-up pull request so that work can start on #5291 (Move to ESM) and #4942 (Migrate to PostCSS 8), as they can be unblocked by moving to |
Allows us to properly accommodate SCSS. Details: github.com/stylelint/stylelint/issues/5289#issuecomment-840772900
Ref: #4942 (comment)
We'll need to:
syntax
withcustomSyntax
in the Jest preset (and release a new version)syntax
tocustomSyntax
syntax
and postcss-syntax logic from the engineThe text was updated successfully, but these errors were encountered: