Snippets
Created by
Michael Schramm
last modified
Michael Schramm
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 | var gulp = require('gulp');
var sass = require('gulp-sass');
var bowerFiles = require('main-bower-files');
var concat = require('gulp-concat');
var sourceMaps = require('gulp-sourcemaps');
var templateCache = require('gulp-angular-templatecache');
var minifyCSS = require('gulp-minify-css');
var uglify = require('gulp-uglify');
var size = require('gulp-size');
var eslint = require('gulp-eslint');
// local server logic
var browserSync = require('browser-sync').create();
var historyApiFallback = require('connect-history-api-fallback');
gulp.task('css', function(){
var files = bowerFiles('**/*.css');
files.push('custom/main.scss');
return gulp.
src(files)
.pipe(sourceMaps.init())
.pipe(sass())
.pipe(concat("styles.css"))
.pipe(minifyCSS())
.pipe(sourceMaps.write('./'))
.pipe(gulp.dest('public/static/'))
.pipe(size({title: 'CSS', gzip: false}))
.pipe(browserSync.stream({match: '**/*.css'}))
;
});
// TODO fix lint errors
gulp.task('lint', function() {
return gulp.src('custom/**/*.js')
.pipe(eslint())
.pipe(eslint.format())
.pipe(eslint.failAfterError())
;
});
gulp.task('js', function(){
var files = bowerFiles('**/*.js');
return gulp.src(files)
.pipe(sourceMaps.init())
//.pipe(uglify())
.pipe(concat('scripts.js'))
.pipe(sourceMaps.write('./'))
.pipe(size({title: 'JS', gzip: false}))
.pipe(gulp.dest('public/static/'))
.on('end', browserSync.reload);
});
gulp.task('tpl', function() {
return gulp.src('public/static/tpl/**/*.html')
.pipe(templateCache(
{
filename:'templates.js',
root: 'static/tpl/',
templateHeader: 'angular.module("app.tpl", []).run(["$templateCache", function($templateCache) {'
}
))
.pipe(size({title: 'TPL', gzip: false}))
.pipe(gulp.dest('public/static/'))
.on('end', browserSync.reload);
});
gulp.task('serve', ['js', 'css'], function() {
var config = {
settings: {
client_id: client_id,
marketplace: marketplace,
site_id: site_id
}
};
browserSync.init({
ui: {
port: basePort+3,
weinre: {
port: basePort+2
}
},
port: basePort,
snippetOptions: {
rule: {
match: /<\/head>/i,
fn: function (snippet, match) {
return '<script type="text/javascript">var mymarket = '+JSON.stringify(config)+';</script>'+snippet+match;
}
}
},
server: {
baseDir: "./public",
middleware: [
historyApiFallback()
]
}
});
gulp.watch([
'custom/**/*.js'
], ['js']);
gulp.watch([
"public/index.html",
"public/static/tpl/**/*.html"
], ['tpl']);
gulp.watch([
"custom/**/*.scss"
], ['css']);
});
|
Comments (0)
You can clone a snippet to your computer for local editing. Learn more.