Created
April 24, 2015 12:04
-
-
Save Ehesp/6856c89655d6ef0dbd46 to your computer and use it in GitHub Desktop.
Project quick start
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var gulp = require('gulp'), | |
gulpif = require('gulp-if'), | |
clean = require('gulp-clean'), | |
concat = require('gulp-concat'), | |
autoprefixer = require('gulp-autoprefixer'), | |
flatten = require('gulp-flatten'), | |
usemin = require('gulp-usemin'), | |
jade = require('gulp-jade'), | |
minifyCss = require('gulp-minify-css'), | |
uglify = require('gulp-uglify'), | |
rev = require('gulp-rev'), | |
less = require('gulp-less'), | |
sass = require('gulp-sass'), | |
del = require('del'), | |
runSequence = require('run-sequence'), | |
argv = require('yargs').argv, | |
production = !!(argv.production); | |
/** | |
* usemin | |
* Build the index file - only minify in production | |
*/ | |
gulp.task('usemin', function () { | |
return gulp.src('./src/index.html') | |
.pipe(gulpif(production, usemin({ | |
css: [minifyCss(), 'concat', rev()], | |
js1: [uglify(), rev()], | |
js2: [uglify(), rev()] | |
}))) | |
.pipe(gulpif(!production, usemin({ | |
css: ['concat'], | |
js1: ['concat'], | |
js2: ['concat'] | |
}))) | |
.pipe(gulp.dest('./dist')); | |
}); | |
/** | |
* styles | |
* Compile SASS with autoprofixing support | |
*/ | |
gulp.task('styles', function() { | |
return gulp.src('src/sass/app.scss') | |
.pipe(sass()) | |
.pipe(autoprefixer('last 2 version', 'safari 5', 'ie 8', 'ie 9', 'opera 12.1', 'ios 6', 'ios 7', 'ios 8', 'android 4', 'android 5')) | |
.pipe(gulp.dest('./build/styles')); | |
}); | |
/** | |
* templates | |
* Compile Jade templates into HTML | |
*/ | |
gulp.task('templates', function() { | |
gulp.src('./src/jade/**/*.jade') | |
.pipe(jade({ | |
locals: {} | |
})) | |
.pipe(gulp.dest('./dist/templates')); | |
}); | |
/** | |
* fonts | |
* Compile Jade templates into HTML | |
*/ | |
gulp.task('fonts', function() { | |
gulp.src([ | |
'./build/components/mdi/fonts/**/*.{ttf*,woff*,eof*,svg*}', | |
'./src/fonts/**/*.{ttf*,woff*,eof*,svg*}', | |
]) | |
.pipe(flatten()) | |
.pipe(gulp.dest('./dist/fonts')); | |
}); | |
/** | |
* scripts | |
* Combine JavaScript files | |
*/ | |
gulp.task('scripts', function() { | |
return gulp.src(['./src/angular/module.js', './src/angular/**/*.js']) | |
.pipe(concat('all.js')) | |
.pipe(gulp.dest('./build/scripts')); | |
}); | |
gulp.task('images', function() { | |
return gulp.src(['./src/img/**/*.*']) | |
.pipe(gulp.dest('./dist/img')); | |
}); | |
/** | |
* clean | |
* Clean out the dist directory | |
*/ | |
gulp.task('clean', function() { | |
return gulp.src('./dist') | |
.pipe(clean({force: true})); | |
}); | |
/** | |
* watch | |
* Watch files, and run tasks if changes are made | |
*/ | |
gulp.task('watch', function() { | |
gulp.watch(['./src/index.html', './src/jade/**/*.jade'], function() { | |
runSequence('templates', 'usemin'); | |
}); | |
gulp.watch('./src/angular/**/*.js', function() { | |
runSequence('scripts', 'usemin'); | |
}); | |
gulp.watch('./src/less/**/*.less', function() { | |
runSequence('styles', 'usemin'); | |
}); | |
}); | |
/** | |
* build | |
* Takes a --production flag | |
*/ | |
gulp.task('build', function() { | |
runSequence( | |
'clean', | |
['styles', 'scripts', 'templates', 'fonts', 'images'], | |
'usemin' | |
); | |
}); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"name": "name", | |
"version": "0.1.0", | |
"description": "description", | |
"author": "author", | |
"dependencies": { | |
"body-parser": "^1.12.3", | |
"express": "^4.12.3", | |
"http-proxy": "^1.10.0" | |
}, | |
"devDependencies": { | |
"del": "^1.1.1", | |
"gulp": "^3.8.11", | |
"gulp-autoprefixer": "^2.1.0", | |
"gulp-clean": "^0.3.1", | |
"gulp-concat": "^2.5.2", | |
"gulp-flatten": "0.0.4", | |
"gulp-if": "^1.2.5", | |
"gulp-jade": "^1.0.0", | |
"gulp-less": "^3.0.2", | |
"gulp-sass": "^1.3.3", | |
"gulp-minify-css": "^1.0.0", | |
"gulp-minify-html": "^1.0.1", | |
"gulp-rev": "^3.0.1", | |
"gulp-uglify": "^1.1.0", | |
"gulp-usemin": "^0.3.11", | |
"run-sequence": "^1.0.2", | |
"yargs": "^3.6.0" | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment