https://github.com/postcss/postcss-use
Enable PostCSS plugins directly in your stylesheet.
https://github.com/postcss/postcss-use
Last synced: 9 months ago
JSON representation
Enable PostCSS plugins directly in your stylesheet.
- Host: GitHub
- URL: https://github.com/postcss/postcss-use
- Owner: postcss
- License: mit
- Created: 2015-06-22T16:45:23.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2022-07-30T22:28:03.000Z (over 3 years ago)
- Last Synced: 2024-10-29T13:45:55.346Z (about 1 year ago)
- Language: JavaScript
- Size: 104 KB
- Stars: 152
- Watchers: 12
- Forks: 16
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE-MIT
Awesome Lists containing this project
README
# [postcss][postcss]-use [][ci]
> Enable PostCSS plugins directly in your stylesheet.
```css
@use postcss-preset-env(stage: 0, browsers: "last 2 versions");
h1 {
& a {
color: red
}
}
```
## Install
With [npm](https://npmjs.org/package/postcss-use) do:
```
npm install postcss-use --save
```
## Example
Options may be passed into plugins as a JSON object, an array, a hash map, or
as declarations. Hash maps will follow the format of
`option: value, option2: value2`.
### Input
#### Standard syntax
With [postcss-discard-comments]:
```css
@use postcss-discard-comments(removeAll: true);
/*! test */
h1 {
color: red
}
```
#### Alternative syntax
You may also use configuration blocks that are more *CSS-like*. Note that root
array options cannot be parsed by this method.
```css
@use postcss-discard-comments {
removeAll: true
}
```
### Output
```css
h1 {
color: red
}
```
## API
### use(options)
#### options
##### modules
Type: `array|string`
*Required option*.
The `modules` option specifies a list of allowable PostCSS Plugins, expressed
as a `String`, `Array`, or `RegExp`. By default, all plugins are disabled in
order to prevent malicious usage in browser environments.
```js
use({
// allow plugins starting with autoprefixer, postcss, precss, and cssnano
modules: [
/^autoprefixer/,
/^postcss/,
/^precss/,
/^cssnano/
]
})
```
```js
use({
// allow autoprefixer, postcss-preset-env, and postcss-flexbugs-fixes
modules: [ 'autoprefixer', 'postcss-preset-env', 'postcss-flexbugs-fixes' ]
})
```
Setting the option to `"*"` will allow PostCSS Use to require any plugins. This
is not recommended for environments where you may be accepting arbitrary user
input; use at your own risk.
##### resolveFromFile
Type: `boolean` (default: `false`)
The `resolveFromFile` option specifies whether plugins should be resolved
relative to the file that referenced them. This may be used to enable the usage
of different versions of the same plugin. By default, it is disabled.
```js
use({
resolveFromFile: true
})
```
##### options
Type: `object` (default: `{}`)
The `options` option specifies individual options for specific plugins by
plugin name.
```js
use({
options: {
'postcss-preset-env': {
stage: 0,
browsers: 'last two versions'
}
}
})
```
## Usage
See the [PostCSS documentation](https://github.com/postcss/postcss#usage) for
examples for your environment.
## Contributors
Thanks goes to these wonderful people ([emoji key](https://github.com/kentcdodds/all-contributors#emoji-key)):
| [
Ben Briggs](http://beneb.info)
[π»](https://github.com/postcss/postcss-use/commits?author=ben-eb) [π](https://github.com/postcss/postcss-use/commits?author=ben-eb) π [β οΈ](https://github.com/postcss/postcss-use/commits?author=ben-eb) | [
Jonathan Neal](//jonathantneal.com)
[π»](https://github.com/postcss/postcss-use/commits?author=jonathantneal) [β οΈ](https://github.com/postcss/postcss-use/commits?author=jonathantneal) | [
δΈδΈ](www.iyunlu.com/view)
[π»](https://github.com/postcss/postcss-use/commits?author=yisibl) | [
Maxime Thirouin](https://moox.io/)
[π](https://github.com/postcss/postcss-use/commits?author=MoOx) | [
Bogdan Chadkin](https://github.com/TrySound)
[π](https://github.com/postcss/postcss-use/commits?author=TrySound) π | [
Espen Hovlandsdal](https://espen.codes/)
[π»](https://github.com/postcss/postcss-use/commits?author=rexxars) [β οΈ](https://github.com/postcss/postcss-use/commits?author=rexxars) | [
Andrey Sitnik](http://sitnik.ru)
π |
| :---: | :---: | :---: | :---: | :---: | :---: | :---: |
This project follows the [all-contributors] specification. Contributions of
any kind welcome!
## License
MIT Β© [Ben Briggs](http://beneb.info)
[all-contributors]: https://github.com/kentcdodds/all-contributors
[ci]: https://travis-ci.org/postcss/postcss-use
[postcss]: https://github.com/postcss/postcss
[postcss-discard-comments]: https://github.com/ben-eb/postcss-discard-comments