Skip to content

ota-meshi/stylelint-config-html

Repository files navigation

stylelint-config-html

NPM license NPM version NPM downloads NPM downloads Build Status

The shareable HTML (and HTML-like) config for Stylelint.

This config bundles the postcss-html custom syntax and configures it.
If you use this config in your Stylelint config, HTML, XML, Vue, Svelte, Astro, and PHP files will be parsable. The Stylelint rules you have configured will be able to check these files.

Requirements

  • Stylelint v14.0.0 and above
    This config cannot be used with Stylelint v13 and below. Also, if you are using Stylelint v13, you do not need to use this config.

Stylelint v14 and above has been changed to not bundle non-CSS parsing such as HTML. The goal of this config is to make Stylelint v14 work with HTML (and HTML-like) files, like Stylelint v13.

To see this config, please read the config itself.

👫 Related Packages

The shareable config for Vue.
If you want to check Vue files, consider using this as well. It is useful because it contains the config for Vue.

PostCSS syntax for parsing HTML (and HTML-like).
If you have problems with parses using this config, please open the new issue in that repository.

💿 Installation

npm install --save-dev postcss-html stylelint-config-html

📖 Usage

Set your stylelint config to:

{
  "extends": "stylelint-config-html"
}

Note: This config enables HTML (and HTML-like) syntax parsing.

If you want to enable parsing for only specific language, use each language config as follows:

{
  "extends": [
    "stylelint-config-html/html",
    "stylelint-config-html/xml",
    "stylelint-config-html/vue",
    "stylelint-config-html/svelte",
    "stylelint-config-html/astro",
    "stylelint-config-html/php"
  ]
}

💻 Editor integrations

Visual Studio Code

Use the stylelint.vscode-stylelint extension that Stylelint provides officially.

You have to configure the stylelint.validate option of the extension to check .html, .vue, .svelte, .astro, and HTML-like files, because the extension does not check the *.html and HTML-like file by default.

Example .vscode/settings.json:

{
  "stylelint.validate": [
      ...,
      // ↓ Add "html" language.
      "html",
      // ↓ Add "vue" language.
      "vue",
      // ↓ Add "svelte" language.
      "svelte",
      // ↓ Add "astro" language.
      "astro",
  ]

🔒 License

See the LICENSE file for license rights and limitations (MIT).