+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');
+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');
+ .pipe(sourceMaps.init())
+ .pipe(concat("styles.css"))
+ .pipe(sourceMaps.write('./'))
+ .pipe(gulp.dest('public/static/'))
+ .pipe(size({title: 'CSS', gzip: false}))
+ .pipe(browserSync.stream({match: '**/*.css'}))
+gulp.task('lint', function() {
+ return gulp.src('custom/**/*.js')
+ .pipe(eslint.failAfterError())
+gulp.task('js', function(){
+ var files = bowerFiles('**/*.js');
+ .pipe(sourceMaps.init())
+ .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')
+ filename:'templates.js',
+ 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() {
+ marketplace: marketplace,
+ fn: function (snippet, match) {
+ return '<script type="text/javascript">var mymarket = '+JSON.stringify(config)+';</script>'+snippet+match;