You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

95 lines
1.7 KiB

4 years ago
# stylehacks
> Detect/remove browser hacks from CSS files.
## Install
With [npm](https://npmjs.org/package/stylehacks) do:
```
npm install stylehacks --save
```
## Example
In its default mode, stylehacks will remove hacks from your CSS file, based on
the browsers that you wish to support.
### Input
```css
h1 {
_color: white;
color: rgba(255, 255, 255, 0.5);
}
```
### Output
```css
h1 {
color: rgba(255, 255, 255, 0.5);
}
```
## API
### `stylehacks.detect(node)`
Type: `function`
Returns: `boolean`
This method will take any PostCSS *node*, run applicable plugins depending on
its type, then will return a boolean depending on whether it found any of
the supported hacks. For example, if the `decl` node found below is passed to
the `detect` function, it will return `true`. But if the `rule` node is passed,
it will return `false` instead.
```css
h1 { _color: red }
```
### `stylehacks.process(css, [options]).then(function(result) {})`
#### options
##### lint
Type: `boolean`
Default: `false`
If lint mode is enabled, stylehacks will not remove hacks from the CSS; instead,
it will add warnings to `Result#messages`.
### `postcss([ stylehacks(opts) ])`
stylehacks can also be consumed as a PostCSS plugin. See the
[documentation](https://github.com/postcss/postcss#usage) for examples for
your environment.
## Related
stylehacks works well with your existing PostCSS setup:
* [stylelint] - Comprehensive & modern CSS linter, to ensure that your code
style rules are respected.
## Contributing
Pull requests are welcome. If you add functionality, then please add unit tests
to cover it.
## License
MIT © [Ben Briggs](http://beneb.info)
[stylelint]: https://github.com/stylelint/stylelint