Lubomír Blažek 8293c2d33d
Ensure nesting plugins can receive options (#7016)
* fix: options for nesting / nested plugins

* add tests to ensure passing options to postcss plugin works

Co-authored-by: Robin Malfait <malfait.robin@gmail.com>
2022-01-14 16:20:06 +01:00
..
2021-09-01 17:13:59 +02:00
2021-09-01 17:13:59 +02:00

tailwindcss/nesting

This is a PostCSS plugin that wraps postcss-nested or postcss-nesting and acts as a compatibility layer to make sure your nesting plugin of choice properly understands Tailwind's custom syntax like @apply and @screen.

Add it to your PostCSS configuration, somewhere before Tailwind itself:

// postcss.config.js
module.exports = {
  plugins: [
    require('postcss-import'),
    require('tailwindcss/nesting'),
    require('tailwindcss'),
    require('autoprefixer'),
  ]
}

By default, it uses the postcss-nested plugin under the hood, which uses a Sass-like syntax and is the plugin that powers nesting support in the Tailwind CSS plugin API.

If you'd rather use postcss-nesting (which is based on the work-in-progress CSS Nesting specification), first install the plugin alongside:

npm install postcss-nesting

Then pass the plugin itself as an argument to tailwindcss/nesting in your PostCSS configuration:

// postcss.config.js
module.exports = {
  plugins: [
    require('postcss-import'),
    require('tailwindcss/nesting')(require('postcss-nesting')),
    require('tailwindcss'),
    require('autoprefixer'),
  ]
}

This can also be helpful if for whatever reason you need to use a very specific version of postcss-nested and want to override the version we bundle with tailwindcss/nesting itself.