vargulp=require('gulp');varsass=require('gulp-sass');varbowerFiles=require('main-bower-files');varconcat=require('gulp-concat');varsourceMaps=require('gulp-sourcemaps');vartemplateCache=require('gulp-angular-templatecache');varminifyCSS=require('gulp-minify-css');varuglify=require('gulp-uglify');varsize=require('gulp-size');vareslint=require('gulp-eslint');// local server logicvarbrowserSync=require('browser-sync').create();varhistoryApiFallback=require('connect-history-api-fallback');gulp.task('css',function(){varfiles=bowerFiles('**/*.css');files.push('custom/main.scss');returngulp.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 errorsgulp.task('lint',function(){returngulp.src('custom/**/*.js').pipe(eslint()).pipe(eslint.format()).pipe(eslint.failAfterError());});gulp.task('js',function(){varfiles=bowerFiles('**/*.js');returngulp.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(){returngulp.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(){varconfig={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()]}});});
HTTPSSSH
You can clone a snippet to your computer for local editing.
Learn more.