build to single distributables with gulp, check-in dist not bower_components
This commit is contained in:
parent
650bacd915
commit
b808fbe44e
143 changed files with 577 additions and 95319 deletions
108
gulpfile.js
Normal file
108
gulpfile.js
Normal file
|
|
@ -0,0 +1,108 @@
|
|||
var gulp = require('gulp');
|
||||
var concat = require('gulp-concat');
|
||||
var concatCss = require('gulp-concat-css');
|
||||
var minifyCss = require('gulp-minify-css');
|
||||
var uglify = require('gulp-uglify');
|
||||
var sourcemaps = require('gulp-sourcemaps');
|
||||
var debug = require('gulp-debug');
|
||||
var mainBowerFiles = require('main-bower-files');
|
||||
var del = require('del');
|
||||
var tap = require('gulp-tap');
|
||||
var path = require('path');
|
||||
var cached = require('gulp-cached');
|
||||
var remember = require('gulp-remember');
|
||||
|
||||
var paths = {
|
||||
// see overrides in bower.json
|
||||
scripts: mainBowerFiles([
|
||||
'**/*.js',
|
||||
'!**/*.min.js'
|
||||
]).concat([
|
||||
'js/Util.js',
|
||||
'js/router/BRouter.js',
|
||||
'js/plugin/*.js',
|
||||
'js/control/*.js',
|
||||
'js/index.js'
|
||||
]),
|
||||
styles: mainBowerFiles('**/*.css').concat('css/*.css'),
|
||||
images: mainBowerFiles('**/*.+(png|gif)'),
|
||||
fonts: mainBowerFiles('**/fonts/**/*'),
|
||||
dest: 'dist',
|
||||
destName: 'brouter-web'
|
||||
};
|
||||
|
||||
gulp.task('scripts', function() {
|
||||
return gulp.src(paths.scripts, { base: '.' })
|
||||
.pipe(sourcemaps.init())
|
||||
.pipe(cached('scripts'))
|
||||
.pipe(uglify())
|
||||
.pipe(remember('scripts'))
|
||||
.pipe(concat(paths.destName + '.js'))
|
||||
.pipe(sourcemaps.write('.'))
|
||||
.pipe(gulp.dest(paths.dest));
|
||||
});
|
||||
|
||||
// separate, fallback task for debugging (switch manually in index.html)
|
||||
gulp.task('concat', function() {
|
||||
return gulp.src(paths.scripts)
|
||||
.pipe(concat(paths.destName + '.src.js'))
|
||||
.pipe(gulp.dest(paths.dest));
|
||||
});
|
||||
|
||||
gulp.task('styles', function() {
|
||||
return gulp.src(paths.styles)
|
||||
// hack for rewriting relative URLs to images/fonts in gulp-concat-css
|
||||
// when src in css subfolder (remove '../')
|
||||
// see also (?) https://github.com/mariocasciaro/gulp-concat-css/pull/10
|
||||
.pipe(tap(function (file) {
|
||||
if (path.basename(file.base) === 'css') {
|
||||
file.path = 'css/' + file.relative;
|
||||
file.base = './css';
|
||||
} else {
|
||||
file.path = file.relative;
|
||||
file.base = '.';
|
||||
}
|
||||
}))
|
||||
.pipe(concatCss(paths.destName + '.css'))
|
||||
.pipe(minifyCss({
|
||||
rebase: false
|
||||
}))
|
||||
.pipe(gulp.dest(paths.dest));
|
||||
});
|
||||
|
||||
gulp.task('images', ['clean'], function() {
|
||||
return gulp.src(paths.images)
|
||||
.pipe(gulp.dest(paths.dest + '/images'));
|
||||
});
|
||||
|
||||
gulp.task('fonts', ['clean'], function() {
|
||||
return gulp.src(paths.fonts)
|
||||
.pipe(gulp.dest(paths.dest + '/fonts'));
|
||||
});
|
||||
|
||||
gulp.task('clean', function(cb) {
|
||||
del(paths.dest + '/**/*' , cb);
|
||||
});
|
||||
|
||||
gulp.task('watch', function() {
|
||||
var watcher = gulp.watch(paths.scripts, ['scripts']);
|
||||
watcher.on('change', function (event) {
|
||||
if (event.type === 'deleted') {
|
||||
delete cached.caches.scripts[event.path];
|
||||
remember.forget('scripts', event.path);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
gulp.task('debug', function() {
|
||||
//return gulp.src(mainBowerFiles(['**/*.js', '!**/*.min.js']))
|
||||
//return gulp.src(mainBowerFiles('**/*.css'))
|
||||
return gulp.src(paths.scripts)
|
||||
//return gulp.src(paths.styles)
|
||||
//return gulp.src(paths.images)
|
||||
.pipe(debug());
|
||||
|
||||
//return gulp.src(mainBowerFiles({debugging: true}));
|
||||
});
|
||||
|
||||
gulp.task('default', ['clean', 'scripts', 'styles', 'images', 'fonts']);
|
||||
Loading…
Add table
Add a link
Reference in a new issue