Autopolyfiller - Precise polyfills. Automatic and minimal polyfills for your code.
This plugin requires Grunt.
If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:
npm install grunt-autopolyfiller --save-dev
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('grunt-autopolyfiller');
In your project's Gruntfile, add a section named autopolyfiller
to the data object passed into grunt.initConfig()
.
grunt.initConfig({
autopolyfiller: {
options: {
browsers: ['Chrome 7']
},
your_target: {
'result_polyfill_file.js': ['list/of/your/**/*.js']
}
}
});
Type: Array
Default value: []
- all browsers
Type: Array
Default value: []
- list of extra polyfills to add
Type: Array
Default value: []
- list of polyfills to remove
Type: String
Default value: null
- custom parser as a node module name
Type: Object
Default value: {}
- custom parser options
List of target browsers. Autopolyfiller uses Autoprefixer-style browsers format. See Browsers format for details.
By default autopolyfiller
will generate polyfills for all browsers.
grunt.initConfig({
autopolyfiller: {
for_all_browsers: {
files: {
'www/file_with_all_polyfills.js': ['your/js/**/*.js'],
'www/another_polyfills.js': ['some/js/**/*.js'],
}
}
}
});
You can specify list of target browsers to reduce amount of polyfills.
grunt.initConfig({
autopolyfiller: {
latest_browsers_and_ie: {
options: {
browsers: ['last 2 version', 'ie 8', 'ie 9']
},
files: {
'www/file_with_all_polyfills.js': ['your/js/**/*.js']
}
}
}
});
grunt.initConfig({
autopolyfiller: {
for_default_autoprefixer_browsers: {
options: {
browsers: require('autoprefixer').default
},
files: {
'www/file_with_all_polyfills.js': ['your/js/**/*.js']
}
}
}
});
grunt.initConfig({
autopolyfiller: {
without_promise_polyfill: {
options: {
exclude: ['Promise']
},
files: {
'www/file_with_all_polyfills.js': ['your/js/**/*.js']
}
}
}
});
Copyright (c) 2014 Mikhail Davydov. Licensed under the MIT license.