Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var gulp = require('gulp');
- var source = require('vinyl-source-stream');
- var browserSync = require('browser-sync').create();
- var mainBowerFiles = require('main-bower-files');
- var es = require('event-stream');
- var wiredep = require('wiredep').stream;
- var $ = require("gulp-load-plugins")({
- pattern: ['gulp-*', 'gulp.*', 'browserify**'],
- replaceString: /\bgulp[\-.]/
- });
- var onError = function (err) {
- $.util.log($.util.colors.red('Error (' + err.plugin + '): ' + err.message));
- };
- var src = './app/';
- var dest = './public/';
- //---------------TASK begins -------------------------
- gulp.task('lint', function() {
- return gulp.src('./app/**/*.js')
- .pipe($.jshint())
- .pipe($.jshint.reporter('default'))
- // .pipe($.notify({ message: 'JS Hinting task complete' }))
- });
- gulp.task('browserify', function() {
- return $.browserify('./app/app.js')
- .bundle()
- .pipe(source('main.js'))
- .pipe(gulp.dest(dest));
- });
- gulp.task('copy', ['browserify'], function() {
- return gulp.src(['app/**/*.html','./app/**/*.css','./app/*.json'])
- .pipe(gulp.dest(dest))
- .pipe(browserSync.stream());
- });
- gulp.task('inject', ['lint', 'copy'] , function () {
- var target = gulp.src('./app/index.html');
- var js_source = gulp.src('./app/**/*.js')
- .pipe($.sourcemaps.init())
- .pipe($.plumber())
- .pipe($.uglify({ mangle: false, compress:true, output: { beautify: false } }).on('error', onError))
- .pipe($.plumber.stop())
- .pipe($.concat('vendor.js'))
- .pipe($.rename({suffix: '.min'}))
- .pipe($.sourcemaps.write())
- .pipe(gulp.dest(dest));
- return target
- .pipe($.inject(
- gulp.src(mainBowerFiles(),{read: false}), {name: 'bower', relative: true}))
- .pipe($.inject(js_source,{relative: true}))
- .pipe($.inject(
- gulp.src('bower_components/**/*.css', {read: false}), {relative: true}))
- .pipe(gulp.dest(dest))
- });
- gulp.task('browser-sync', ['inject'], function() {
- browserSync.init({
- startPath:'public',
- server: {
- baseDir: './'
- },
- browser: ["firefox"]
- });
- });
- gulp.task('default', ['browser-sync'], function(){
- $.util.log('Default is running...');
- gulp.watch("./app/**/*.*", ["inject"]);
- gulp.watch("./public/**/*.*").on('change', browserSync.reload);
- })
Add Comment
Please, Sign In to add comment