add git gulp and browser-sync which still is not working properly

pull/2/head
Michael Q Larson 2014-12-22 13:38:48 -08:00
parent 9849acd49e
commit 6ed5c5e8e0
3 changed files with 73 additions and 4 deletions

14
app.js
View File

@ -3,6 +3,7 @@
*/
require('newrelic');
var express = require('express');
var debug = require('debug')('freecc:server');
var cookieParser = require('cookie-parser');
var compress = require('compression');
var session = require('express-session');
@ -105,13 +106,24 @@ var trusted = [
"'unsafe-eval'",
"'unsafe-inline'"
];
//var connectSrc;
//if (process.env.NODE_ENV === 'development') {
// debug('Pushing');
// connectSrc = ['"self"', 'ws://localhost:3001/'];
//} else {
// debug('Not');
// connectSrc = [];
//}
debug(trusted);
app.use(helmet.contentSecurityPolicy({
defaultSrc: trusted,
scriptSrc: ['*.optimizely.com'].concat(trusted),
'connect-src': process.env.NODE_ENV === 'development' ? ['ws://localhost:3001/', 'http://localhost:3001/'] : [],
styleSrc: trusted,
imgSrc: ['*.evernote.com', '*.amazonaws.com', "data:"].concat(trusted),
fontSrc: ["'self", '*.googleapis.com'].concat(trusted),
mediaSrc: ['*.amazonaws.com', '*.twitter'],
mediaSrc: ['*.amazonaws.com', '*.twitter.com'],
frameSrc: ['*.gitter.im', '*.vimeo.com', '*.twitter.com'],
// sandbox: ['allow-forms', 'allow-scripts'],
// reportUri: '/report-violation',

View File

@ -1,7 +1,16 @@
var gulp = require('gulp'),
bower = require('bower-main-files'),
inject = require('gulp-inject');
debug = require('debug')('freecc:gulp'),
bower = require('bower-main-files'),
nodemon = require('gulp-nodemon'),
sync = require('browser-sync'),
reload = sync.reload,
inject = require('gulp-inject'),
reloadDelay = 7000;
var paths = {
server: './app.js',
serverIgnore: [],
}
gulp.task('inject', function() {
gulp.src('views/home.jade')
.pipe(inject(gulp.src(bower()), {
@ -10,4 +19,48 @@ gulp.task('inject', function() {
.pipe(gulp.dest('views'));
});
gulp.task('serve', function(cb) {
var called = false;
nodemon({
script: paths.server,
ext: '.js',
ignore: paths.serverIgnore,
env: {
'NODE_ENV': 'development',
'DEBUG': 'freecc:*'
}
})
.on('start', function() {
if (!called) {
called = true;
setTimeout(function() {
cb();
}, reloadDelay);
}
})
.on('restart', function(files) {
if (files) {
debug('Files that changes: ', files);
}
setTimeout(function() {
debug('Restarting browsers');
reload();
}, reloadDelay);
});
});
gulp.task('sync', ['serve'], function() {
sync.init(null, {
proxy: 'http://localhost:3000',
logLeval: 'debug',
files: [
'public/**/*',
],
port: 3001,
open: true,
browser: ['safari', 'google chrome'],
reloadDelay: reloadDelay
});
});
gulp.task('default', ['serve', 'sync']);

View File

@ -21,6 +21,7 @@
"cookie-parser": "^1.3.3",
"csso": "^1.3.11",
"dateformat": "^1.0.11",
"debug": "^2.1.0",
"dotenv": "^0.4.0",
"errorhandler": "^1.3.0",
"express": "^4.10.4",
@ -65,9 +66,12 @@
},
"devDependencies": {
"blessed": "^0.0.37",
"bower-main-files": "0.0.4",
"browser-sync": "^1.8.1",
"chai": "^1.10.0",
"gulp": "^3.8.8",
"gulp-inject": "^1.0.2",
"chai": "^1.10.0",
"gulp-nodemon": "^1.0.4",
"mocha": "^2.0.1",
"multiline": "^1.0.1",
"supertest": "^0.15.0"