# grunt-autoprefixer

> Parse CSS and add vendor-prefixed CSS properties using the Can I Use database. Based on Autoprefixer.

Latest version **3.0.4** (published 2016-02-16) · MIT license · 0 weekly downloads

## Install

```sh
npm install grunt-autoprefixer
pnpm add grunt-autoprefixer
yarn add grunt-autoprefixer
bun add grunt-autoprefixer
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 3.0.4 |
| Published | 2016-02-16 |
| First published | 2013-04-19 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Node | >= 0.10.0 |
| Dependencies | 4 |
| Known vulnerabilities | 0 (+8 in 2 direct dependencies) |
| Install scripts | no |
| Author | Dmitry Nikitenko |
| Maintainers | weiss |
| Keywords | gruntplugin, css, postprocessor, prefix, autoprefixer |

## Links

- npm: https://www.npmjs.com/package/grunt-autoprefixer
- Repository: https://github.com/ndmitry/grunt-autoprefixer
- Homepage: https://github.com/ndmitry/grunt-autoprefixer#readme
- Issues: https://github.com/ndmitry/grunt-autoprefixer/issues
- npm.io page: https://npm.io/package/grunt-autoprefixer

## Dependencies (4)

- [diff](https://npm.io/package/diff.md) ~1.3.0
- [chalk](https://npm.io/package/chalk.md) ~1.0.0
- [postcss](https://npm.io/package/postcss.md) ^4.1.11
- [autoprefixer-core](https://npm.io/package/autoprefixer-core.md) ^5.1.7

## Alternatives

- [style-dictionary](https://npm.io/package/style-dictionary.md) — 2.0M weekly downloads
- [postcss-merge-idents](https://npm.io/package/postcss-merge-idents.md) — 1.7M weekly downloads
- [@fontsource/noto-sans](https://npm.io/package/@fontsource/noto-sans.md) — 93.0K weekly downloads
- [uglifycss](https://npm.io/package/uglifycss.md) — 71.6K weekly downloads
- [mat4-interpolate](https://npm.io/package/mat4-interpolate.md) — 23.3K weekly downloads

## Recent versions

- 3.0.4 (latest) — 2016-02-16
- 3.0.3 — 2015-06-10
- 3.0.2 — 2015-06-10
- 3.0.1 — 2015-05-29
- 3.0.0 — 2015-04-03
- 2.2.0 — 2015-01-17
- 2.1.0 — 2014-12-31
- 2.0.0 — 2014-11-14
- 1.0.1 — 2014-08-23
- 1.0.0 — 2014-08-05
- 0.8.2 — 2014-07-18
- 0.8.1 — 2014-06-30
- 0.8.0 — 2014-06-26
- 0.7.6 — 2014-06-22
- 0.7.5 — 2014-06-10
- … 24 more at https://npm.io/package/grunt-autoprefixer/versions

## README

# Deprecation notice

### This project has been deprecated in favour of [grunt-postcss](https://github.com/nDmitry/grunt-postcss).

# grunt-autoprefixer
[![Build Status](https://travis-ci.org/nDmitry/grunt-autoprefixer.png?branch=master)](https://travis-ci.org/nDmitry/grunt-autoprefixer)
[![Dependency Status](https://david-dm.org/nDmitry/grunt-autoprefixer.png)](https://david-dm.org/nDmitry/grunt-autoprefixer)
[![Built with Grunt](https://cdn.gruntjs.com/builtwith.png)](http://gruntjs.com/)

> [Autoprefixer](https://github.com/postcss/autoprefixer) parses CSS and adds vendor-prefixed CSS properties using the [Can I Use](http://caniuse.com/) database.

## Getting Started
This plugin requires Grunt `~0.4.0`

If you haven't used [Grunt](http://gruntjs.com/) before, be sure to check out the [Getting Started](http://gruntjs.com/getting-started) guide, as it explains how to create a [Gruntfile](http://gruntjs.com/sample-gruntfile) as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:

```shell
npm install grunt-autoprefixer --save-dev
```

Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:

```js
grunt.loadNpmTasks('grunt-autoprefixer');
```

## The "autoprefixer" task

### Overview
In your project's Gruntfile, add a section named `autoprefixer` to the data object passed into `grunt.initConfig()`.

```js
grunt.initConfig({
  autoprefixer: {
    options: {
      // Task-specific options go here.
    },
    your_target: {
      // Target-specific file lists and/or options go here.
    },
  },
})
```

### Options

#### options.browsers
Type: `Array`
Default value: an array with [default browsers](https://github.com/ai/browserslist)

You can specify browsers actual for your project using this option:

```js
options: {
  browsers: ['last 2 versions', 'ie 8', 'ie 9']
}
```

Or using a global config file named `browserslist` at the root of your project:

```
# Browsers that we support

> 5% in US
Last 2 versions
```

Read more about browserslist [here](https://github.com/ai/browserslist).

#### options.cascade
Type: `Boolean`
Default value: `true`

Pass `false` to disable ‘cascade’ indentation. Read more [here](https://github.com/postcss/autoprefixer#visual-cascade).

#### options.remove
Type: `Boolean`
Default value: `true`

Pass `false` to disable outdated prefixes cleaning. Read more [here](https://github.com/postcss/autoprefixer/releases/tag/4.0.0).

#### options.diff
Type: `Boolean|String`
Default value: `false`

Set it to `true` if you want to get an output patch file:

```js
options: {
  diff: true // or 'custom/path/to/file.css.patch'
}
```
Also you can specify a path where to save this file. More examples in [Gruntfile](https://github.com/nDmitry/grunt-autoprefixer/blob/master/Gruntfile.js).

#### options.map
Type: `Boolean|Object`
Default value: `false`

If the `map` option isn't defined or is set to `false`, Autoprefixer will neither create nor update a sourcemap.

If `true` is specified, Autoprefixer will try to find a sourcemap from a previous compilation step using an annotation comment (e.g. from Sass) and create a new sourcemap based on the found one (or just create a new inlined sourcemap). The created sourcemap can be either a separate file or an inlined map depending on what the previous sourcemap was.

You can gain more control over sourcemap generation by setting an object to the `map` option:

* `prev` (string or `false`): a path to a directory where a previous sourcemap is (e.g. `path/`). By default, Autoprefixer will try to find a previous sourcemap using a path from the annotation comment (or using the annotation comment itself if the map is inlined). You can also set this option to `false` to delete the previous sourcemap.
* `inline` (boolean): whether a sourcemap will be inlined or not. By default, it will be the same as a previous sourcemap or inlined.
* `annotation` (string): set this option to URL path you wish the annotation comment to be e.g. `path/file.css.map` (by default, Autoprefixer will save your sourcemap to a directory where you save CSS). This option requires `inline` to be `false` or undefined.
* `sourcesContent` (boolean): whether original contents (e.g. Sass sources) will be included to a sourcemap. By default, Autoprefixer will add contents only for new sourcemaps or if a previous sourcemap has them.

#### options.safe
Type: `Boolean`
Default value: `false`

Enable or disable [PostCSS safe mode](https://github.com/postcss/postcss#safe-mode).

```js
options: {
  safe: true
}
```

Check out project's [Gruntfile.js](https://github.com/nDmitry/grunt-autoprefixer/blob/master/Gruntfile.js) for more examples.

### Updating prefixes database

```
$ npm update caniuse-db
```

## Contributing
In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using [Grunt](http://gruntjs.com/).

---
_Source: https://npm.io/package/grunt-autoprefixer · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
