mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2026-03-13 10:22:08 +08:00
chore(build): generate static polyfills
This commit is contained in:
committed by
Adam Bradley
parent
6784f5e744
commit
a252388e7f
@@ -75,7 +75,6 @@
|
||||
"gulp-strip-debug": "^1.1.0",
|
||||
"gulp-tslint": "^5.0.0",
|
||||
"gulp-typescript": "^2.13.6",
|
||||
"gulp-uglify": "^2.0.0",
|
||||
"gulp-util": "^3.0.6",
|
||||
"gulp-watch": "^4.2.4",
|
||||
"html-entities": "^1.1.3",
|
||||
@@ -96,6 +95,11 @@
|
||||
"remap-istanbul": "^0.6.4",
|
||||
"request": "2.53.0",
|
||||
"resolve-bin": "^0.4.0",
|
||||
"rollup": "^0.35.10",
|
||||
"rollup-plugin-commonjs": "^4.1.0",
|
||||
"rollup-plugin-multi-entry": "^2.0.1",
|
||||
"rollup-plugin-node-resolve": "^2.0.0",
|
||||
"rollup-plugin-uglify": "^1.0.1",
|
||||
"run-sequence": "^1.1.0",
|
||||
"sassdoc": "^2.1.20",
|
||||
"semver": "^5.0.1",
|
||||
|
||||
@@ -6,5 +6,5 @@ import './tasks/lint';
|
||||
import './tasks/release';
|
||||
import './tasks/snapshot';
|
||||
import './tasks/test';
|
||||
import './tasks/polyfills';
|
||||
import './tasks/polyfill';
|
||||
//import './tasks/theme';
|
||||
|
||||
100
scripts/gulp/tasks/polyfill.ts
Normal file
100
scripts/gulp/tasks/polyfill.ts
Normal file
@@ -0,0 +1,100 @@
|
||||
import { task, src, dest } from 'gulp';
|
||||
const rollup = require('rollup');
|
||||
const nodeResolve = require('rollup-plugin-node-resolve');
|
||||
const commonjs = require('rollup-plugin-commonjs');
|
||||
const multiEntry = require('rollup-plugin-multi-entry');
|
||||
const uglify = require('rollup-plugin-uglify');
|
||||
|
||||
const nodeResolveOptions = {
|
||||
jsnext: true,
|
||||
main: true
|
||||
};
|
||||
|
||||
const modernEntries = [
|
||||
'node_modules/core-js/es6/array.js',
|
||||
'node_modules/core-js/es6/date.js',
|
||||
'node_modules/core-js/es6/function.js',
|
||||
'node_modules/core-js/es6/map.js',
|
||||
'node_modules/core-js/es6/number.js',
|
||||
'node_modules/core-js/es6/object.js',
|
||||
'node_modules/core-js/es6/parse-float.js',
|
||||
'node_modules/core-js/es6/parse-int.js',
|
||||
'node_modules/core-js/es6/promise.js',
|
||||
'node_modules/core-js/es6/set.js',
|
||||
'node_modules/core-js/es6/string.js',
|
||||
'node_modules/core-js/es7/reflect.js',
|
||||
'node_modules/core-js/es6/reflect.js',
|
||||
'node_modules/zone.js/dist/zone.js',
|
||||
];
|
||||
|
||||
const allEntries = [
|
||||
'node_modules/core-js/es6/index.js',
|
||||
'node_modules/core-js/es7/reflect.js',
|
||||
'node_modules/zone.js/dist/zone.js',
|
||||
];
|
||||
|
||||
const ngEntries = [
|
||||
'node_modules/core-js/es7/reflect.js',
|
||||
'node_modules/zone.js/dist/zone.js',
|
||||
];
|
||||
|
||||
task('polyfill', ['polyfill.modern', 'polyfill.all', 'polyfill.ng', 'polyfill.copy-readme']);
|
||||
|
||||
task('polyfill.all', () => {
|
||||
return rollup.rollup({
|
||||
entry: allEntries,
|
||||
plugins: [
|
||||
multiEntry(),
|
||||
nodeResolve(nodeResolveOptions),
|
||||
commonjs(),
|
||||
uglify()
|
||||
]
|
||||
}).then((bundle) => {
|
||||
bundle.write({
|
||||
format: 'iife',
|
||||
moduleName: 'MyBundle',
|
||||
dest: 'dist/ionic-angular/polyfills/polyfills.js'
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
task('polyfill.ng', () => {
|
||||
return rollup.rollup({
|
||||
entry: ngEntries,
|
||||
plugins: [
|
||||
multiEntry(),
|
||||
nodeResolve(nodeResolveOptions),
|
||||
commonjs(),
|
||||
uglify()
|
||||
]
|
||||
}).then((bundle) => {
|
||||
bundle.write({
|
||||
format: 'iife',
|
||||
moduleName: 'MyBundle',
|
||||
dest: 'dist/ionic-angular/polyfills/polyfills.ng.js'
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
task('polyfill.modern', (done) => {
|
||||
return rollup.rollup({
|
||||
entry: modernEntries,
|
||||
plugins: [
|
||||
multiEntry(),
|
||||
nodeResolve(nodeResolveOptions),
|
||||
commonjs(),
|
||||
uglify()
|
||||
]
|
||||
}).then((bundle) => {
|
||||
bundle.write({
|
||||
format: 'iife',
|
||||
moduleName: 'MyBundle',
|
||||
dest: 'dist/ionic-angular/polyfills/polyfills.modern.js'
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
task('polyfill.copy-readme', (done) => {
|
||||
return src('scripts/npm/polyfills.readme.md')
|
||||
.pipe(dest('dist/ionic-angular/polyfills/'), done);
|
||||
});
|
||||
@@ -1,55 +0,0 @@
|
||||
import { task, src, dest } from 'gulp';
|
||||
const concat = require('gulp-concat');
|
||||
const uglify = require('gulp-uglify');
|
||||
|
||||
task('polyfills', ['polyfills.modern', 'polyfills.all', 'polyfills.ng', 'polyfills.copy-readme']);
|
||||
|
||||
task('polyfills.modern', (done) => {
|
||||
return src([
|
||||
'node_modules/zone.js/dist/zone.min.js',
|
||||
'node_modules/zone.js/dist/proxy.min.js',
|
||||
'node_modules/core-js/es6/array.js',
|
||||
'node_modules/core-js/es6/date.js',
|
||||
'node_modules/core-js/es6/function.js',
|
||||
'node_modules/core-js/es6/map.js',
|
||||
'node_modules/core-js/es6/number.js',
|
||||
'node_modules/core-js/es6/object.js',
|
||||
'node_modules/core-js/es6/parse-float.js',
|
||||
'node_modules/core-js/es6/parse-int.js',
|
||||
'node_modules/core-js/es6/promise.js',
|
||||
'node_modules/core-js/es6/set.js',
|
||||
'node_modules/core-js/es6/string.js',
|
||||
'node_modules/core-js/es7/reflect.js'
|
||||
])
|
||||
.pipe(concat('polyfills.modern.js'))
|
||||
.pipe(uglify())
|
||||
.pipe(dest('dist/ionic-angular/polyfills/'), done);
|
||||
});
|
||||
|
||||
task('polyfills.all', (done) => {
|
||||
return src([
|
||||
'node_modules/zone.js/dist/zone.min.js',
|
||||
'node_modules/zone.js/dist/proxy.min.js',
|
||||
'node_modules/core-js/es6/index.js',
|
||||
'node_modules/core-js/es7/reflect.js'
|
||||
])
|
||||
.pipe(concat('polyfills.js'))
|
||||
.pipe(uglify())
|
||||
.pipe(dest('dist/ionic-angular/polyfills/'), done);
|
||||
});
|
||||
|
||||
task('polyfills.ng', (done) => {
|
||||
return src([
|
||||
'node_modules/zone.js/dist/zone.min.js',
|
||||
'node_modules/zone.js/dist/proxy.min.js',
|
||||
'node_modules/core-js/es7/reflect.js'
|
||||
])
|
||||
.pipe(concat('polyfills.ng.js'))
|
||||
.pipe(uglify())
|
||||
.pipe(dest('dist/ionic-angular/polyfills/'), done);
|
||||
});
|
||||
|
||||
task('polyfills.copy-readme', (done) => {
|
||||
return src('scripts/npm/polyfills.readme.md')
|
||||
.pipe(dest('dist/ionic-angular/polyfills/README.md'), done);
|
||||
});
|
||||
Reference in New Issue
Block a user