Skip to content

Commit

Permalink
Merge pull request linnovate#1 from linnovate/master
Browse files Browse the repository at this point in the history
merge from linnovate
  • Loading branch information
pashist committed May 5, 2016
2 parents cf7f500 + 6b83201 commit db5bde3
Show file tree
Hide file tree
Showing 306 changed files with 1,688 additions and 25,239 deletions.
21 changes: 21 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# EditorConfig helps developers define and maintain consistent
# coding styles between different editors and IDEs
# editorconfig.org

root = true


[*]

# Change these settings to your own preference
indent_style = space
indent_size = 2

# We recommend you to keep these unchanged
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

[*.md]
trim_trailing_whitespace = false
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -72,3 +72,6 @@ modules/views/
# vim Files
# --------------------
*.swp

#webpack
/bundle
4 changes: 3 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
language: node_js
sudo: false
node_js:
- "0.12"
- "4.2.4"
- "5.4.1"
env:
Expand All @@ -10,7 +9,10 @@ services:
- mongodb

before_install:
- npm i -g npm@'>=3.5.3'
- npm -v
- npm i -g bower
- bower -v

notifications:
webhooks:
Expand Down
Empty file modified Procfile
100755 → 100644
Empty file.
50 changes: 50 additions & 0 deletions app.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
'use strict';

import 'angular/angular-csp.css';
import 'angular-ui-select/select.min.css';
import 'bootstrap/dist/css/bootstrap.min.css';

import jQuery from 'jquery';
import 'angular';
import 'angular-ui-select/select';
import 'angular-mocks';
import 'angular-cookies';
import 'angular-resource';
import 'angular-sanitize';
import 'angular-ui-router';
import 'angular-jwt';
import 'angular-bootstrap/ui-bootstrap-tpls';

window.$ = jQuery;

angular.element(document).ready(function () {
//Fixing facebook bug with redirect
if (window.location.hash === '#_=_') window.location.hash = '#!';

//Then init the app
angular.bootstrap(document, ['mean']);

});

function processModules(modules) {
var packageModules = ['ngCookies', 'ngResource', 'ui.bootstrap', 'ui.router', 'ui.select', 'ngSanitize'], m, mn;
for (var index in modules) {
m = modules[index];
mn = 'mean.' + m.name;
angular.module(mn, m.angularDependencies || []);
packageModules.push(mn);
}

var req = require.context('./packages', true, /\/public\/(?!tests|assets|views)(.*)\.js$/);
req.keys().map(req);
req = require.context('./node_modules', true, /\/meanio-(admin|system|users|circles)\/public\/(?!tests|assets|views)(.*)\.js$/);
req.keys().map(req);

angular.module('mean', packageModules);
}

jQuery.ajax('/_getModules', {
dataType: 'json',
async: false,
success: processModules
});
6 changes: 6 additions & 0 deletions config/env/all.js → config/env/default.js
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,12 @@ module.exports = {
loginPage: '/auth/login',
cssFramework: 'bootstrap'
},
clusterSticky: false,
stickyOptions: {
proxy: false, //activate layer 4 patching
header: 'x-forwarded-for', //provide here your header containing the users ip
num: (process.env.CPU_COUNT || require('os').cpus().length) - 1,
},
// The session cookie name
sessionName: 'connect.sid',
// Set bodyParser options
Expand Down
4 changes: 3 additions & 1 deletion config/express.js
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ var mean = require('meanio'),
flash = require('connect-flash'),
modRewrite = require('connect-modrewrite'),
// seo = require('mean-seo'),
config = mean.loadConfig(),
config = mean.getConfig(),
bodyParser = require('body-parser');

module.exports = function(app, db) {
Expand All @@ -39,6 +39,8 @@ module.exports = function(app, db) {
// Enable compression on bower_components
app.use('/bower_components', express.static(config.root + '/bower_components'));

app.use('/bundle', express.static(config.root + '/bundle'));

// Adds logging based on logging config in config/env/ entry
require('./middlewares/logging')(app, config.logging);

Expand Down
82 changes: 52 additions & 30 deletions gulp/development.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,32 +5,48 @@ var gulp = require('gulp'),
through = require('through'),
gutil = require('gulp-util'),
plugins = gulpLoadPlugins(),
coffee = require('gulp-coffee'),
paths = {
js: ['./*.js', 'config/**/*.js', 'gulp/**/*.js', 'tools/**/*.js', 'packages/**/*.js', '!packages/**/node_modules/**', '!packages/**/assets/**/lib/**', '!packages/**/assets/**/js/**'],
html: ['packages/**/*.html', '!packages/**/node_modules/**', '!packages/**/assets/**/lib/**'],
css: ['packages/**/*.css', '!packages/**/node_modules/**', '!packages/**/assets/**/lib/**','!packages/core/**/public/assets/css/*.css'],
css: ['packages/**/*.css', '!packages/**/node_modules/**', '!packages/**/assets/**/lib/**', '!packages/core/**/public/assets/css/*.css'],
less: ['packages/**/*.less', '!packages/**/_*.less', '!packages/**/node_modules/**', '!packages/**/assets/**/lib/**'],
sass: ['packages/**/*.scss', '!packages/**/node_modules/**', '!packages/**/assets/**/lib/**'],
coffee: ['packages/**/*.coffee', '!packages/**/node_modules/**', '!packages/**/assets/**/lib/**']
webpack: ['./app.js', 'packages/**/public/**/*.css', 'packages/**/public/**/*.js', '!packages/**/public/assets/lib/**', '!packages/**/node_modules/**']
};
var webpack = require('webpack');
var webpackConfig = require('../webpack.config.js');

/*var defaultTasks = ['clean', 'jshint', 'less', 'csslint', 'devServe', 'watch'];*/
var defaultTasks = ['coffee','clean', 'less', 'sass', 'csslint', 'devServe', 'watch'];
var defaultTasks = ['webpack:build-dev', 'clean', 'less', 'sass', 'csslint', 'devServe', 'watch'];

gulp.task('env:development', function () {
gulp.task('env:development', function() {
process.env.NODE_ENV = 'development';
});

gulp.task('jshint', function () {
function count(taskName, message) {
var fileCount = 0;

function countFiles(file) {
fileCount++; // jshint ignore:line
}

function endStream() {
gutil.log(gutil.colors.cyan(taskName + ': ') + fileCount + ' ' + message || 'files processed.');
this.emit('end'); // jshint ignore:line
}

return through(countFiles, endStream);
}

gulp.task('jshint', function() {
return gulp.src(paths.js)
.pipe(plugins.jshint())
.pipe(plugins.jshint.reporter('jshint-stylish'))
// .pipe(plugins.jshint.reporter('fail')) to avoid shutdown gulp by warnings
.pipe(count('jshint', 'files lint free'));
});

gulp.task('csslint', function () {
gulp.task('csslint', function() {
return gulp.src(paths.css)
.pipe(plugins.csslint('.csslintrc'))
.pipe(plugins.csslint.reporter())
Expand All @@ -49,12 +65,14 @@ gulp.task('sass', function() {
.pipe(gulp.dest('./packages'));
});

gulp.task('devServe', ['env:development'], function () {
gulp.task('devServe', ['env:development'], function() {

plugins.nodemon({
script: 'server.js',
ext: 'html js',
env: { 'NODE_ENV': 'development' } ,
env: {
'NODE_ENV': 'development'
},
ignore: [
'node_modules/',
'bower_components/',
Expand All @@ -70,43 +88,47 @@ gulp.task('devServe', ['env:development'], function () {
stdout: false
}).on('readable', function() {
this.stdout.on('data', function(chunk) {
if(/Mean app started/.test(chunk)) {
setTimeout(function() { plugins.livereload.reload(); }, 500);
if (/Mean app started/.test(chunk)) {
setTimeout(function() {
plugins.livereload.reload();
}, 500);
}
process.stdout.write(chunk);
});
this.stderr.pipe(process.stderr);
});
});

gulp.task('coffee', function() {
gulp.src(paths.coffee)
.pipe(coffee({bare: true}).on('error', gutil.log))
.pipe(gulp.dest('./packages'));

// modify some webpack config options
var myDevConfig = Object.create(webpackConfig);
myDevConfig.devtool = 'sourcemap';
myDevConfig.debug = true;
// create a single instance of the compiler to allow caching
var devCompiler = webpack(myDevConfig);
gulp.task('webpack:build-dev', function(callback) {
// run webpack
devCompiler.run(function(err, stats) {
if (err) throw new gutil.PluginError('webpack:build-dev', err);
gutil.log('[webpack:build-dev]', stats.toString({
colors: true
}));
callback();
});
});

gulp.task('watch', function () {
plugins.livereload.listen({interval:500});
gulp.task('watch', function() {
plugins.livereload.listen({
interval: 500
});

gulp.watch(paths.coffee,['coffee']);
gulp.watch(paths.js, ['jshint']);
gulp.watch(paths.css, ['csslint']).on('change', plugins.livereload.changed);
gulp.watch(paths.less, ['less']);
gulp.watch(paths.sass, ['sass']);
gulp.watch(paths.webpack, ['webpack:build-dev']);
});

function count(taskName, message) {
var fileCount = 0;

function countFiles(file) {
fileCount++; // jshint ignore:line
}

function endStream() {
gutil.log(gutil.colors.cyan(taskName + ': ') + fileCount + ' ' + message || 'files processed.');
this.emit('end'); // jshint ignore:line
}
return through(countFiles, endStream);
}

gulp.task('development', defaultTasks);
42 changes: 24 additions & 18 deletions gulp/production.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,50 +8,56 @@ var plugins = gulpLoadPlugins();
var defaultTasks = ['clean', 'cssmin', 'uglify', 'prodServe'];
var assets = require('../config/assets.json');

gulp.task('env:production', function () {
gulp.task('env:production', function() {
process.env.NODE_ENV = 'production';
});

gulp.task('cssmin', function () {
function tokenizeConfig(config) {
var destTokens = _.keys(config)[0].split('/');

return {
srcGlob: _.flatten(_.values(config)),
destDir: destTokens[destTokens.length - 2],
destFile: destTokens[destTokens.length - 1]
};
}

gulp.task('cssmin', function() {
console.log('in cssmin');
var config = tokenizeConfig(assets.core.css);

if (config.srcGlob.length) {
return gulp.src(config.srcGlob)
.pipe(plugins.cssmin({keepBreaks: true}))
.pipe(plugins.cssmin({
keepBreaks: true
}))
.pipe(plugins.concat(config.destFile))
.pipe(gulp.dest(path.join('bower_components/build', config.destDir)));
}
});

gulp.task('uglify', function () {
gulp.task('uglify', function() {
console.log('in uglify');
var config = tokenizeConfig(assets.core.js);

if (config.srcGlob.length) {
return gulp.src(config.srcGlob)
.pipe(plugins.concat(config.destFile))
.pipe(plugins.uglify({mangle: false}))
.pipe(plugins.uglify({
mangle: false
}))
.pipe(gulp.dest(path.join('bower_components/build', config.destDir)));
}
});

function tokenizeConfig(config) {
var destTokens = _.keys(config)[0].split('/');

return {
srcGlob: _.flatten(_.values(config)),
destDir: destTokens[destTokens.length - 2],
destFile: destTokens[destTokens.length - 1]
};
}

gulp.task('prodServe', ['env:production'], function () {
gulp.task('prodServe', ['env:production'], function() {
plugins.nodemon({
script: 'server.js',
ext: 'html js',
env: { 'NODE_ENV': 'production' } ,
env: {
'NODE_ENV': 'production'
},
ignore: ['./node_modules/**']
});
});
gulp.task('production',defaultTasks);
gulp.task('production', defaultTasks);
Loading

0 comments on commit db5bde3

Please sign in to comment.