Enhance the composes behavior in CSS Modules
npm install postcss-composes-enhanced[![NPM Version][npm-img]][npm-url]
[![Build Status][cli-img]][cli-url]
[![Support Chat][git-img]][git-url]
[PostCSS Composes Enhanced] lets you enhance the composes behavior in CSS Modules.
``pcss
.example {
@composes no-margin from '@company/layout';
}
/ becomes /
.example {
composes: no-margin from '../../node_modules/@company/layout/index.module.css';
}
`
Add [PostCSS Composes Enhanced] to your project:
`bash`
npm install postcss-composes-enhanced --save-dev
Use PostCSS Composes Enhanced to process your CSS:
`js
const composesEnhanced = require('postcss-composes-enhanced')
composesEnhanced.process(YOUR_CSS /, processOptions, pluginOptions /)
`
Or use it as a [PostCSS] plugin:
`js
const postcss = require('postcss')
const composesEnhanced = require('postcss-composes-enhanced')
postcss([composesEnhanced(/ pluginOptions /)]).process(YOUR_CSS /, processOptions /)
`
PostCSS Composes Enhanced runs in all Node environments, with special instructions for:
| Node | PostCSS CLI | Webpack | Create React App | Gulp | Grunt |
| ----------------------- | ------------------------------------- | ----------------------------- | ----------------------------------------------- | ----------------------- | ------------------------- |
The resolveImports option determines whether imports within composes declarations should be resolved.
The transformAtRules option determines whether @composes at-rules should be transformed into declarations.
Additional options will be passed through into css-import-resolve`.
[cli-img]: https://img.shields.io/travis/csstools/postcss-composes-enhanced/master.svg
[cli-url]: https://travis-ci.org/csstools/postcss-composes-enhanced
[git-img]: https://img.shields.io/badge/support-chat-blue.svg
[git-url]: https://gitter.im/postcss/postcss
[npm-img]: https://img.shields.io/npm/v/postcss-composes-enhanced.svg
[npm-url]: https://www.npmjs.com/package/postcss-composes-enhanced
[postcss]: https://github.com/postcss/postcss
[postcss composes enhanced]: https://github.com/csstools/postcss-composes-enhanced