* ensure that we compile the postcss nesting plugin * re-add optional chaining This will allow us to be 100% sure that we can safely call hasOwnProperty in case we get some very strange objects. This will now also be compiled/transpiled by esbuild. * import the internal postcss nesting plugin This allows us to work on it without re-compiling while running tests. Just like we do with all other code. * update changelog
1.6 KiB
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.