diff --git a/README.md b/README.md index 1a61866..014d5aa 100644 --- a/README.md +++ b/README.md @@ -10,12 +10,14 @@ ember install ember-cli-autoprefixer ``` ## Options -Add the target browsers to your package.json as per https://github.com/browserslist/browserslist#readme or use a `.browserslistrc` file. +This addon first consumes your browser list config from `config/targets.js`. This is the browser list for Babel. -You can manually configure what browsers to target and other options by -specifying them in your `ember-cli-build.js` (or `Brocfile.js`). An example: +You can manually configure what browsers to target for autoprefixer only. Add the target browsers to your package.json +as per https://github.com/browserslist/browserslist#readme, add a `.browserslistrc` file, or configure `overrideBrowsersList` +in `ember-cli-build.js`. ```js +// ember-cli-build.js var app = new EmberApp(defaults, { autoprefixer: { overrideBrowserslist: ['IE11'], diff --git a/index.js b/index.js index fc73d0b..fa538d3 100644 --- a/index.js +++ b/index.js @@ -1,6 +1,7 @@ 'use strict'; const Autoprefixer = require('broccoli-autoprefixer'); +const fs = require('fs'); const treesToProcess = ['css', 'less', 'styl', 'scss', 'sass']; @@ -15,10 +16,22 @@ module.exports = { this._super.included.apply(this, arguments); + var browserOptions = {}; + + var root = this.project.root; + var hasRCFile = fs.existsSync(`${root}/.browserslistrc`); + var hasPkgBrowserList = !!this.project.pkg.browserslist; + + if (!hasRCFile && !hasPkgBrowserList) { + var appOptions = this.app.options || {}; + browserOptions.overrideBrowsersList = appOptions['autoprefixer'] && appOptions['autoprefixer'].overrideBrowsersList; + } + this.options = Object.assign( { enabled: true }, + browserOptions, this.app.options.autoprefixer || {} );