# CSS - [ESLint](#eslint) - [Oxlint](#oxlint)
## ESLint To use ESLint with CSS files containing Tailwind CSS `@apply` directives, first install the [@eslint/css](https://github.com/eslint/css) plugin and the [tailwind-csstree](https://www.npmjs.com/package/tailwind-csstree) custom syntax. ```sh npm i -D @eslint/css tailwind-csstree ``` To lint Tailwind CSS classes in CSS files, ensure that: - The `@eslint/css` plugin is installed and configured. - The `tailwind-csstree` custom syntax is installed and configured. - The plugin is added to your configuration. - The `settings` object contains the correct Tailwind CSS configuration paths.
### Flat config Read more about the [ESLint flat config format](https://eslint.org/docs/latest/use/configure/configuration-files-new)
```js // eslint.config.js import css from "@eslint/css"; import eslintPluginBetterTailwindcss from "eslint-plugin-better-tailwindcss"; import { defineConfig } from "eslint/config"; import { tailwind4 } from "tailwind-csstree"; export default defineConfig({ // enable all recommended rules extends: [ eslintPluginBetterTailwindcss.configs.recommended ], // if needed, override rules to configure them individually // rules: { // "better-tailwindcss/enforce-consistent-line-wrapping": ["warn", { printWidth: 100 }] // }, settings: { "better-tailwindcss": { // tailwindcss 4: the path to the entry file of the css based tailwind config (eg: `src/global.css`) entryPoint: "src/global.css", // tailwindcss 3: the path to the tailwind config file (eg: `tailwind.config.js`) tailwindConfig: "tailwind.config.js" } }, files: ["**/*.css"], language: "css/css", languageOptions: { customSyntax: tailwind4, tolerant: true }, plugins: { css } }); ```
> **Note:** Legacy config is not supported for CSS files as the `@eslint/css` plugin requires the ESLint flat config format.
## Oxlint Oxlint currently does **not** support CSS parser integration for this use case. Because Oxlint currently only supports JavaScript-like files, `eslint-plugin-better-tailwindcss` cannot currently lint CSS `@apply` directives through Oxlint. You can continue using ESLint for CSS files until broader parser support is available in Oxlint.