|
1 | 1 | import { task, src, dest } from 'gulp';
|
2 |
| -const rollup = require('rollup'); |
3 |
| -const nodeResolve = require('rollup-plugin-node-resolve'); |
4 |
| -const commonjs = require('rollup-plugin-commonjs'); |
5 |
| -const multiEntry = require('rollup-plugin-multi-entry'); |
6 |
| -const uglify = require('rollup-plugin-uglify'); |
| 2 | +import { writePolyfills } from '../util'; |
7 | 3 |
|
8 |
| -const nodeResolveOptions = { |
9 |
| - jsnext: true, |
10 |
| - main: true |
11 |
| -}; |
| 4 | +task('polyfill', ['polyfill.copy-readme', 'polyfill.write']); |
12 | 5 |
|
13 |
| -const modernEntries = [ |
14 |
| - 'node_modules/core-js/es6/array.js', |
15 |
| - 'node_modules/core-js/es6/date.js', |
16 |
| - 'node_modules/core-js/es6/function.js', |
17 |
| - 'node_modules/core-js/es6/map.js', |
18 |
| - 'node_modules/core-js/es6/number.js', |
19 |
| - 'node_modules/core-js/es6/object.js', |
20 |
| - 'node_modules/core-js/es6/parse-float.js', |
21 |
| - 'node_modules/core-js/es6/parse-int.js', |
22 |
| - 'node_modules/core-js/es6/promise.js', |
23 |
| - 'node_modules/core-js/es6/set.js', |
24 |
| - 'node_modules/core-js/es6/string.js', |
25 |
| - 'node_modules/core-js/es7/reflect.js', |
26 |
| - 'node_modules/core-js/es6/reflect.js', |
27 |
| - 'node_modules/zone.js/dist/zone.js', |
28 |
| -]; |
29 |
| - |
30 |
| -const allEntries = [ |
31 |
| - 'node_modules/core-js/es6/index.js', |
32 |
| - 'node_modules/core-js/es7/reflect.js', |
33 |
| - 'node_modules/zone.js/dist/zone.js', |
34 |
| -]; |
35 |
| - |
36 |
| -const ngEntries = [ |
37 |
| - 'node_modules/core-js/es7/reflect.js', |
38 |
| - 'node_modules/zone.js/dist/zone.js', |
39 |
| -]; |
40 |
| - |
41 |
| -task('polyfill', ['polyfill.modern', 'polyfill.all', 'polyfill.ng', 'polyfill.copy-readme']); |
42 |
| - |
43 |
| -task('polyfill.all', () => { |
44 |
| - return rollup.rollup({ |
45 |
| - entry: allEntries, |
46 |
| - plugins: [ |
47 |
| - multiEntry(), |
48 |
| - nodeResolve(nodeResolveOptions), |
49 |
| - commonjs(), |
50 |
| - uglify() |
51 |
| - ] |
52 |
| - }).then((bundle) => { |
53 |
| - bundle.write({ |
54 |
| - format: 'iife', |
55 |
| - moduleName: 'MyBundle', |
56 |
| - dest: 'dist/ionic-angular/polyfills/polyfills.js' |
57 |
| - }); |
58 |
| - }); |
59 |
| -}); |
60 |
| - |
61 |
| -task('polyfill.ng', () => { |
62 |
| - return rollup.rollup({ |
63 |
| - entry: ngEntries, |
64 |
| - plugins: [ |
65 |
| - multiEntry(), |
66 |
| - nodeResolve(nodeResolveOptions), |
67 |
| - commonjs(), |
68 |
| - uglify() |
69 |
| - ] |
70 |
| - }).then((bundle) => { |
71 |
| - bundle.write({ |
72 |
| - format: 'iife', |
73 |
| - moduleName: 'MyBundle', |
74 |
| - dest: 'dist/ionic-angular/polyfills/polyfills.ng.js' |
75 |
| - }); |
76 |
| - }); |
77 |
| -}); |
78 |
| - |
79 |
| -task('polyfill.modern', (done) => { |
80 |
| - return rollup.rollup({ |
81 |
| - entry: modernEntries, |
82 |
| - plugins: [ |
83 |
| - multiEntry(), |
84 |
| - nodeResolve(nodeResolveOptions), |
85 |
| - commonjs(), |
86 |
| - uglify() |
87 |
| - ] |
88 |
| - }).then((bundle) => { |
89 |
| - bundle.write({ |
90 |
| - format: 'iife', |
91 |
| - moduleName: 'MyBundle', |
92 |
| - dest: 'dist/ionic-angular/polyfills/polyfills.modern.js' |
93 |
| - }); |
94 |
| - }); |
| 6 | +task('polyfill.write', () => { |
| 7 | + writePolyfills('dist/ionic-angular/polyfills'); |
95 | 8 | });
|
96 | 9 |
|
97 |
| -task('polyfill.copy-readme', (done) => { |
| 10 | +task('polyfill.copy-readme', (done: Function) => { |
98 | 11 | return src('scripts/polyfill/readme.md')
|
99 | 12 | .pipe(dest('dist/ionic-angular/polyfills/'), done);
|
100 | 13 | });
|
0 commit comments