mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2025-08-18 19:21:34 +08:00
speed up gulp, move requires to tasks
This commit is contained in:
45
gulpfile.js
45
gulpfile.js
@ -1,28 +1,15 @@
|
|||||||
var _ = require('lodash');
|
|
||||||
var buildConfig = require('./scripts/build/config');
|
var buildConfig = require('./scripts/build/config');
|
||||||
var fs = require('fs');
|
|
||||||
var gulp = require('gulp');
|
var gulp = require('gulp');
|
||||||
var karma = require('karma').server;
|
|
||||||
var path = require('path');
|
var path = require('path');
|
||||||
var VinylFile = require('vinyl');
|
|
||||||
var argv = require('yargs').argv;
|
var argv = require('yargs').argv;
|
||||||
var concat = require('gulp-concat');
|
|
||||||
var del = require('del');
|
var del = require('del');
|
||||||
var gulpif = require('gulp-if');
|
|
||||||
var rename = require('gulp-rename');
|
var rename = require('gulp-rename');
|
||||||
var sass = require('gulp-sass');
|
|
||||||
var autoprefixer = require('gulp-autoprefixer');
|
|
||||||
var through2 = require('through2');
|
var through2 = require('through2');
|
||||||
var runSequence = require('run-sequence');
|
var runSequence = require('run-sequence');
|
||||||
var watch = require('gulp-watch');
|
var watch = require('gulp-watch');
|
||||||
var exec = require('child_process').exec;
|
|
||||||
var babel = require('gulp-babel');
|
var babel = require('gulp-babel');
|
||||||
var tsc = require('gulp-typescript');
|
var tsc = require('gulp-typescript');
|
||||||
var lazypipe = require('lazypipe');
|
|
||||||
var cache = require('gulp-cached');
|
var cache = require('gulp-cached');
|
||||||
var connect = require('gulp-connect');
|
|
||||||
var Dgeni = require('dgeni');
|
|
||||||
var insert = require('gulp-insert');
|
|
||||||
var minimist = require('minimist');
|
var minimist = require('minimist');
|
||||||
|
|
||||||
function getBabelOptions(moduleName, moduleType) {
|
function getBabelOptions(moduleName, moduleType) {
|
||||||
@ -133,6 +120,7 @@ gulp.task('watch', function(done) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
gulp.task('serve', function() {
|
gulp.task('serve', function() {
|
||||||
|
var connect = require('gulp-connect');
|
||||||
connect.server({
|
connect.server({
|
||||||
root: 'dist',
|
root: 'dist',
|
||||||
port: flags.port,
|
port: flags.port,
|
||||||
@ -175,6 +163,9 @@ gulp.task('transpile.common', function() {
|
|||||||
gulp.task('transpile', ['transpile.system']);
|
gulp.task('transpile', ['transpile.system']);
|
||||||
|
|
||||||
gulp.task('bundle.ionic', ['transpile'], function() {
|
gulp.task('bundle.ionic', ['transpile'], function() {
|
||||||
|
var insert = require('gulp-insert');
|
||||||
|
var concat = require('gulp-concat');
|
||||||
|
|
||||||
return gulp.src([
|
return gulp.src([
|
||||||
'dist/src/es5/system/ionic/**/*.js'
|
'dist/src/es5/system/ionic/**/*.js'
|
||||||
])
|
])
|
||||||
@ -185,6 +176,8 @@ gulp.task('bundle.ionic', ['transpile'], function() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
gulp.task('bundle', ['bundle.ionic'], function() {
|
gulp.task('bundle', ['bundle.ionic'], function() {
|
||||||
|
var concat = require('gulp-concat');
|
||||||
|
|
||||||
return gulp.src(buildConfig.scripts)
|
return gulp.src(buildConfig.scripts)
|
||||||
.pipe(concat('ionic.bundle.js'))
|
.pipe(concat('ionic.bundle.js'))
|
||||||
.pipe(gulp.dest('dist/js'));
|
.pipe(gulp.dest('dist/js'));
|
||||||
@ -202,6 +195,12 @@ gulp.task('tests', function() {
|
|||||||
})
|
})
|
||||||
|
|
||||||
gulp.task('e2e', function() {
|
gulp.task('e2e', function() {
|
||||||
|
var gulpif = require('gulp-if');
|
||||||
|
var lazypipe = require('lazypipe');
|
||||||
|
var _ = require('lodash');
|
||||||
|
var fs = require('fs');
|
||||||
|
var VinylFile = require('vinyl');
|
||||||
|
|
||||||
var buildTest = lazypipe()
|
var buildTest = lazypipe()
|
||||||
//.pipe(traceur, traceurOptions)
|
//.pipe(traceur, traceurOptions)
|
||||||
.pipe(tsc, tscOptions, null, tscReporter)
|
.pipe(tsc, tscOptions, null, tscReporter)
|
||||||
@ -285,7 +284,9 @@ gulp.task('e2e', function() {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
gulp.task('sass', function(done) {
|
gulp.task('sass', function() {
|
||||||
|
var sass = require('gulp-sass');
|
||||||
|
var autoprefixer = require('gulp-autoprefixer');
|
||||||
return gulp.src('ionic/ionic.scss')
|
return gulp.src('ionic/ionic.scss')
|
||||||
.pipe(sass()
|
.pipe(sass()
|
||||||
.on('error', sass.logError)
|
.on('error', sass.logError)
|
||||||
@ -294,15 +295,6 @@ gulp.task('sass', function(done) {
|
|||||||
.pipe(gulp.dest('dist/css/'));
|
.pipe(gulp.dest('dist/css/'));
|
||||||
});
|
});
|
||||||
|
|
||||||
gulp.task('sass.dark', function() {
|
|
||||||
return gulp.src('scripts/build/ionic.dark.scss')
|
|
||||||
.pipe(sass()
|
|
||||||
.on('error', sass.logError)
|
|
||||||
)
|
|
||||||
.pipe(autoprefixer(buildConfig.autoprefixer))
|
|
||||||
.pipe(gulp.dest('dist/css/'));
|
|
||||||
});
|
|
||||||
|
|
||||||
gulp.task('fonts', function() {
|
gulp.task('fonts', function() {
|
||||||
return gulp.src(['ionic/fonts/**/*.ttf', 'ionic/fonts/**/*.woff'])
|
return gulp.src(['ionic/fonts/**/*.ttf', 'ionic/fonts/**/*.woff'])
|
||||||
.pipe(gulp.dest('dist/fonts'));
|
.pipe(gulp.dest('dist/fonts'));
|
||||||
@ -311,10 +303,12 @@ gulp.task('fonts', function() {
|
|||||||
require('./scripts/snapshot/snapshot.task')(gulp, argv, buildConfig);
|
require('./scripts/snapshot/snapshot.task')(gulp, argv, buildConfig);
|
||||||
|
|
||||||
gulp.task('karma', ['tests'], function() {
|
gulp.task('karma', ['tests'], function() {
|
||||||
|
var karma = require('karma').server;
|
||||||
return karma.start({ configFile: __dirname + '/scripts/karma/karma.conf.js' })
|
return karma.start({ configFile: __dirname + '/scripts/karma/karma.conf.js' })
|
||||||
});
|
});
|
||||||
|
|
||||||
gulp.task('karma-watch', function() {
|
gulp.task('karma-watch', function() {
|
||||||
|
var karma = require('karma').server;
|
||||||
return karma.start({ configFile: __dirname + '/scripts/karma/karma-watch.conf.js' })
|
return karma.start({ configFile: __dirname + '/scripts/karma/karma-watch.conf.js' })
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -365,6 +359,10 @@ gulp.task('publish', function(done) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var exec = require('child_process').exec;
|
||||||
|
var _ = require('lodash');
|
||||||
|
var fs = require('fs');
|
||||||
|
|
||||||
runSequence(
|
runSequence(
|
||||||
'clean',
|
'clean',
|
||||||
['bundle', 'sass', 'fonts', 'copy.ts', 'copy.scss'],
|
['bundle', 'sass', 'fonts', 'copy.ts', 'copy.scss'],
|
||||||
@ -375,7 +373,6 @@ gulp.task('publish', function(done) {
|
|||||||
fs.writeFileSync("dist/package.json", packageJSONContents);
|
fs.writeFileSync("dist/package.json", packageJSONContents);
|
||||||
|
|
||||||
// publish to npm
|
// publish to npm
|
||||||
var exec = require('child_process').exec;
|
|
||||||
exec('cd dist && npm publish', function (err, stdout, stderr) {
|
exec('cd dist && npm publish', function (err, stdout, stderr) {
|
||||||
console.log(stdout);
|
console.log(stdout);
|
||||||
console.error(stderr);
|
console.error(stderr);
|
||||||
|
@ -1,11 +0,0 @@
|
|||||||
|
|
||||||
// Ionic Dark
|
|
||||||
// Sass file to create and demo the default dark theme
|
|
||||||
|
|
||||||
|
|
||||||
// Manually set to use the dark theme
|
|
||||||
@import "ionic/themes/dark";
|
|
||||||
|
|
||||||
|
|
||||||
// Import Ionic SCSS
|
|
||||||
@import "ionic/ionic";
|
|
Reference in New Issue
Block a user