Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/azproduction/gulp-autopolyfiller
Gulp plugin for autopolyfiller
https://github.com/azproduction/gulp-autopolyfiller
Last synced: 22 days ago
JSON representation
Gulp plugin for autopolyfiller
- Host: GitHub
- URL: https://github.com/azproduction/gulp-autopolyfiller
- Owner: azproduction
- License: mit
- Created: 2014-03-02T09:56:19.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2015-03-16T19:34:45.000Z (over 9 years ago)
- Last Synced: 2024-10-07T08:18:36.056Z (about 1 month ago)
- Language: JavaScript
- Size: 233 KB
- Stars: 53
- Watchers: 5
- Forks: 1
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# gulp-autopolyfiller
[![NPM version][npm-image]][npm-url] [![Build Status][travis-image]][travis-url] [![Coverage Status][coveralls-image]][coveralls-url] [![Dependency Status][depstat-image]][depstat-url]
Autopolyfiller - Precise polyfills. Automatic and minimal polyfills for your code.
It accepts multiply js files and returns a file with all required polyfills. **Please note**: all input files will be dropped from the output stream of autopolyfiller. To concat polyfills with all your js files please refer to examples.
## Usage
First, install `gulp-autopolyfiller` as a development dependency:
```shell
npm install --save-dev gulp-autopolyfiller
```Then, add it to your `gulpfile.js`:
```js
var autopolyfiller = require('gulp-autopolyfiller');gulp.task('autopolyfiller', function () {
return gulp.src('./lib/**/*.js')
.pipe(autopolyfiller('result_polyfill_file.js'))
.pipe(gulp.dest('./dist'));
});
```## API
### autopolyfiller(fileName, options)
#### options.browsers
Type: `Array`
Default value: `[]` - all browsers#### options.include
Type: `Array`
Default value: `[]` - list of extra polyfills to add#### options.exclude
Type: `Array`
Default value: `[]` - list of polyfills to removeList of target browsers. Autopolyfiller uses Autoprefixer-style browsers format.
See [Browsers format](https://github.com/ai/autoprefixer#browsers) for details.## Examples
#### Basic
Steps:
- Concat all scripts
- Generate polyfills
- Append polyfills
- Uglify```js
var gulp = require('gulp');
var concat = require('gulp-concat');
var order = require('gulp-order');
var uglify = require('gulp-uglify');
var autopolyfiller = require('gulp-autopolyfiller');
var merge = require('event-stream').merge;gulp.task('default', function () {
// Concat all required js files
var all = gulp.src('js/*.js')
.pipe(concat('all.js'));// Generate polyfills for all files
var polyfills = all
.pipe(autopolyfiller('polyfills.js'));// Merge polyfills and all files streams
return merge(polyfills, all)
// Order files. NB! polyfills MUST be first
.pipe(order([
'polyfills.js',
'all.js'
]))
// Make single file
.pipe(concat('all.min.js'))
// Uglify it
.pipe(uglify())
// And finally write `all.min.js` into `build/` dir
.pipe(gulp.dest('build'));
});
```#### Browsers targets
You can specify list of target browsers to reduce amount of polyfills.
```js
var autopolyfiller = require('gulp-autopolyfiller');gulp.src('./your/js/**/*.js')
.pipe(autopolyfiller('result_polyfill_file.js', {
browsers: ['last 2 version', 'ie 8', 'ie 9']
}))
.pipe(gulp.dest('./dist'));
```#### Default browsers of Autoprefixer
```js
var autopolyfiller = require('gulp-autopolyfiller');gulp.src('./your/js/**/*.js')
.pipe(autopolyfiller('result_polyfill_file.js', {
browsers: require('autoprefixer').default
}))
.pipe(gulp.dest('./dist'));
```#### Removig polyfills
```js
var autopolyfiller = require('gulp-autopolyfiller');gulp.src('./your/js/**/*.js')
.pipe(autopolyfiller('polyfills_without_promises.js', {
exclude: ['Promise']
}))
.pipe(gulp.dest('./dist'));
```## License
[MIT License](http://en.wikipedia.org/wiki/MIT_License)
[npm-url]: https://npmjs.org/package/gulp-autopolyfiller
[npm-image]: https://badge.fury.io/js/gulp-autopolyfiller.png[travis-url]: http://travis-ci.org/azproduction/gulp-autopolyfiller
[travis-image]: https://secure.travis-ci.org/azproduction/gulp-autopolyfiller.png?branch=master[coveralls-url]: https://coveralls.io/r/azproduction/gulp-autopolyfiller
[coveralls-image]: https://coveralls.io/repos/azproduction/gulp-autopolyfiller/badge.png[depstat-url]: https://gemnasium.com/azproduction/gulp-autopolyfiller
[depstat-image]: https://gemnasium.com/azproduction/gulp-autopolyfiller.png