mirror of
https://github.com/gravitational/teleport.git
synced 2026-09-24 16:17:11 +08:00
50 lines
1.3 KiB
JavaScript
50 lines
1.3 KiB
JavaScript
var gulp = require("gulp");
|
|
var webpack = require('webpack');
|
|
var webpackConfig = require('./webpack.config.js');
|
|
var gutil = require('gulp-util');
|
|
var shell = require('gulp-shell');
|
|
var fs = require('fs');
|
|
|
|
var VERSION = '0.1';
|
|
|
|
gulp.task('default', ['copy:assets', 'copy:html', 'webpack:build']);
|
|
|
|
gulp.task('copy:html', function(){
|
|
var indexHtml = fs.readFileSync('src/index.html', 'utf8');
|
|
indexHtml = indexHtml.replace(new RegExp("\\[VERSION]", "g"), VERSION+new Date().getTime() );
|
|
fs.writeFileSync('dist/index.html', indexHtml);
|
|
});
|
|
|
|
gulp.task('copy:assets', function(){
|
|
// copy mocks
|
|
gulp.src(['src/mocks/**'])
|
|
.pipe(gulp.dest('dist/mocks'));
|
|
|
|
// copy assets
|
|
gulp.src(['src/assets/**', 'src/mocks/**'])
|
|
.pipe(gulp.dest('dist/app/assets'));
|
|
});
|
|
|
|
gulp.task('dev', ['default'], function(){
|
|
var devServer = require('./devServer');
|
|
devServer();
|
|
});
|
|
|
|
gulp.task('test', shell.task(['npm run-script test']))
|
|
|
|
gulp.task('webpack:build', function(callback) {
|
|
var myConfig = Object.create(webpackConfig);
|
|
webpack(myConfig, function(err, stats) {
|
|
if (err) {
|
|
throw new gutil.PluginError('webpack:build', err);
|
|
}
|
|
|
|
if(stats.compilation.errors.length > 0){
|
|
gutil.log('[webpack:build]', stats.compilation.errors.toString({ colors: true }));
|
|
process.exit(1);
|
|
}
|
|
|
|
callback();
|
|
});
|
|
});
|