Skip to content

Commit

Permalink
Clean grunt tasks
Browse files Browse the repository at this point in the history
  • Loading branch information
Flightan committed Aug 19, 2015
1 parent 79c33be commit ae74495
Show file tree
Hide file tree
Showing 31 changed files with 226 additions and 332 deletions.
162 changes: 3 additions & 159 deletions Gruntfile.js
Original file line number Diff line number Diff line change
@@ -1,166 +1,10 @@
'use strict';

var fs = require('fs');
var _ = require('lodash');
var spawn = require('child_process').spawn;

function loadConfig(path) {
var config = {};
fs.readdirSync(path).forEach(function(file) {
var taskName = file.replace(/\.js$/, '');
config[taskName] = require(path + file);
});

return config;
}

module.exports = function(grunt) {
// Load grunt tasks automatically
require('jit-grunt')(grunt, {
express: 'grunt-express-server',
useminPrepare: 'grunt-usemin',
ngtemplates: 'grunt-angular-templates',
protractor: 'grunt-protractor-runner',
injector: 'grunt-injector',
sass: 'grunt-sass'
});

// Time how long tasks take. Can help when optimizing build times
require('time-grunt')(grunt);

var config = {
// Common settings
pkg: grunt.file.readJSON('package.json'),
app: {
dirs: {
client: 'client',
dist: 'dist'
},
require('load-grunt-config')(grunt, {
data: {
port: process.env.PORT || 5000
}
};

// Load grunt-tasks
_.extend(
config,
loadConfig(__dirname + '/grunt-tasks/')
);

grunt.initConfig(config);

// Used for delaying livereload until after server has restarted
grunt.registerTask('wait', function() {
grunt.log.ok('Waiting for server reload...');

var done = this.async();

setTimeout(function() {
grunt.log.writeln('Done waiting!');
done();
}, 1500);
});

grunt.registerTask('express-keepalive', 'Keep grunt running', function() {
this.async();
});

grunt.registerTask('bunyan', function() {
var path = './node_modules/bunyan/bin/bunyan';
if (!fs.existsSync(path)) {
throw new Error('bundle binary not found');
}

var child = spawn(path, ['-oshort'], {
stdio: ['pipe', process.stdout, process.stderr]
});

process.stdout.write = function() {
child.stdin.write.apply(child.stdin, arguments);
};
});

grunt.registerTask('serve', function(target) {
if (target === 'dist') {
return grunt.task.run(['build', 'env:all', 'env:prod', 'express:prod', 'wait', 'open', 'express-keepalive']);
}

grunt.task.run([
'clean:server',
'env:all',
'injector:sass',
'concurrent:server',
'injector',
'wiredep',
'autoprefixer',
'express:dev',
'wait',
'open',
'watch'
]);
});

grunt.registerTask('test', function(target) {
if (target === 'server') {
return grunt.task.run([
'env:all',
'env:test',
'mochaTest'
]);
} else if (target === 'client') {
return grunt.task.run([
'clean:server',
'env:all',
'injector:sass',
'concurrent:test',
'injector',
'autoprefixer',
'karma'
]);
} else if (target === 'e2e') {
return grunt.task.run([
'clean:server',
'env:all',
'env:test',
'injector:sass',
'concurrent:test',
'injector',
'wiredep',
'autoprefixer',
'express:dev',
'protractor'
]);
} else {
grunt.task.run([
'test:server',
'test:client'
]);
}
});

grunt.registerTask('build', [
'jshint',
'jscs',
'clean:dist',
'injector:sass',
'concurrent:dist',
'injector',
'wiredep',
'useminPrepare',
'autoprefixer',
'ngtemplates',
'concat',
'ngAnnotate',
'copy:dist',
'cssmin',
'uglify',
'rev',
'usemin'
]);

grunt.registerTask('default', [
'newer:jshint',
'jscs',
'test',
'build'
]);
require('time-grunt')(grunt);
};
25 changes: 0 additions & 25 deletions grunt-tasks/jscs.js

This file was deleted.

31 changes: 0 additions & 31 deletions grunt-tasks/jshint.js

This file was deleted.

5 changes: 0 additions & 5 deletions grunt-tasks/open.js

This file was deleted.

13 changes: 0 additions & 13 deletions grunt-tasks/rev.js

This file was deleted.

6 changes: 0 additions & 6 deletions grunt-tasks/useminPrepare.js

This file was deleted.

63 changes: 0 additions & 63 deletions grunt-tasks/watch.js

This file was deleted.

48 changes: 48 additions & 0 deletions grunt/aliases.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
default:
- 'newer:jshint'
- 'jscs'
- 'test'
- 'build'

serve:
- 'clean:server'
- 'env:all'
- 'injector:sass'
- 'concurrent:server'
- 'injector'
- 'wiredep'
- 'autoprefixer'
- 'express:dev'
# - 'wait'
- 'open'
- 'watch'

test:
- 'env:all'
- 'env:test'
- 'mochaTest'
- 'clean:server'
- 'injector:sass'
- 'concurrent:test'
- 'injector'
- 'autoprefixer'
- 'karma'

build:
- 'jshint'
- 'jscs'
- 'clean:dist'
- 'injector:sass'
- 'concurrent:dist'
- 'injector'
- 'wiredep'
- 'useminPrepare'
- 'autoprefixer'
- 'ngtemplates'
- 'concat'
- 'ngAnnotate'
- 'copy:dist'
- 'cssmin'
- 'uglify'
- 'rev'
- 'usemin'
File renamed without changes.
2 changes: 1 addition & 1 deletion grunt-tasks/clean.js → grunt/clean.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ module.exports = {
dot: true,
src: [
'.tmp',
'<%= app.dirs.dist %>/*',
'dist/*',
]
}]
},
Expand Down
File renamed without changes.
Loading

0 comments on commit ae74495

Please sign in to comment.