Snippets

Michael Schramm kEajb: Untitled snippet

Updated by Former user

File package.json Added

  • Ignore whitespace
  • Hide word diff
+{
+  "devDependencies": {
+    "gulp": "*",
+    "gulp-concat": "^2.6.0",
+    "gulp-connect": "^2.2.0",
+    "gulp-minify-css": "*",
+    "gulp-replace": "^0.5.4",
+    "gulp-sass": "*",
+    "gulp-sourcemaps": "*",
+    "gulp-uglify": "^1.2.0",
+    "eslint-config-angular": "^0.4.0",
+    "eslint-plugin-angular": "^0.15.0"
+  },
+  "dependencies": {
+    "browser-sync": "^2.10.0",
+    "connect-history-api-fallback": "^1.1.0",
+    "eslint": "^1.10.3",
+    "gulp-angular-templatecache": "^1.8.0",
+    "gulp-eslint": "^1.1.1",
+    "gzip-size": "^3.0.0",
+    "main-bower-files": "^2.9.0"
+  },
+  "_aerobatic": {
+    "router": [
+      {
+        "module": "client-settings",
+        "options": {
+          "client_id": "env:CLIENT_ID",
+          "site_id": "env:SITE_ID",
+          "marketplace": "env:MARKETPLACE"
+        }
+      },
+      {
+        "module": "webpage",
+        "options": {
+          "pushState": true,
+          "clientConfigVar": "mymarket"
+        }
+      }
+    ]
+  }
+}
Updated by Former user

File gulpfile.js Modified

  • Ignore whitespace
  • Hide word diff
 			]
 		}
 	});
+
+	gulp.watch([
+		'custom/**/*.js'
+	], ['js']);
+
+	gulp.watch([
+		"public/index.html",
+		"public/static/tpl/**/*.html"
+	], ['tpl']);
+
+	gulp.watch([
+		"custom/**/*.scss"
+	], ['css']);
 });
Created by Former user

File gulpfile.js Added

  • Ignore whitespace
  • Hide word diff
+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()
+			]
+		}
+	});
+});
HTTPS SSH

You can clone a snippet to your computer for local editing. Learn more.