Merge pull request #210 from colkito/feature/concat-minify-css-js

Feature/concat minify css js
This commit is contained in:
Gustavo Maximiliano Cortez 2014-02-10 11:58:31 -02:00
commit d6468b23a4
28 changed files with 69 additions and 46 deletions

2
.gitignore vendored
View File

@ -30,3 +30,5 @@ npm-debug.log
public/lib/*
db/*
public/js/*
public/css/*

View File

@ -2,10 +2,12 @@
module.exports = function(grunt) {
//Load NPM tasks
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-css');
grunt.loadNpmTasks('grunt-mocha-test');
grunt.loadNpmTasks('grunt-nodemon');
grunt.loadNpmTasks('grunt-concurrent');
@ -48,19 +50,67 @@ module.exports = function(grunt) {
},
jshint: {
all: {
src: ['Gruntfile.js', 'insight.js', 'app/**/*.js', 'public/js/**','lib/*.js'],
src: ['Gruntfile.js', 'insight.js', 'app/**/*.js', 'public/src/js/**/*.js','lib/*.js'],
options: {
jshintrc: true
}
}
},
concat: {
options: {
banner: '\'use strict\';\n',
process: function(src, filepath) {
return '// Source: ' + filepath + '\n' +
src.replace(/(^|\n)[ \t]*('use strict'|"use strict");?\s*/g, '$1');
}
},
vendors: {
src: ['public/lib/momentjs/min/moment.min.js', 'public/lib/qrcode-generator/js/qrcode.js', 'public/lib/zeroclipboard/ZeroClipboard.min.js'],
dest: 'public/js/vendors.js'
},
angular: {
src: ['public/lib/angular/angular.min.js', 'public/lib/angular-resource/angular-resource.min.js', 'public/lib/angular-route/angular-route.min.js', 'public/lib/angular-qrcode/qrcode.js', 'public/lib/angular-animate/angular-animate.min.js', 'public/lib/angular-bootstrap/ui-bootstrap.min.js', 'public/lib/angular-bootstrap/ui-bootstrap-tpls.min.js', 'public/lib/angular-ui-utils/ui-utils.min.js'],
dest: 'public/js/angularjs-all.js'
},
main: {
src: ['public/src/js/app.js', 'public/src/js/controllers/*.js', 'public/src/js/services/*.js', 'public/src/js/directives.js', 'public/src/js/filters.js', 'public/src/js/config.js', 'public/src/js/init.js'],
dest: 'public/js/main.js'
},
css: {
src: ['public/src/css/**/*.css'],
dest: 'public/css/main.css'
}
},
uglify: {
options: {
banner: '/*! <%= pkg.name %> <%= pkg.version %> */\n',
mangle: false
},
vendors: {
src: 'public/js/vendors.js',
dest: 'public/js/vendors.min.js'
},
angular: {
src: 'public/js/angularjs-all.js',
dest: 'public/js/angularjs-all.min.js'
},
main: {
src: 'public/js/main.js',
dest: 'public/js/main.min.js'
}
},
cssmin: {
css: {
src: 'public/css/main.css',
dest: 'public/css/main.min.css'
}
},
mochaTest: {
options: {
reporter: 'spec',
},
src: ['test/**/*.js'],
},
nodemon: {
dev: {
script: 'insight.js',
@ -93,8 +143,11 @@ module.exports = function(grunt) {
grunt.option('force', true);
//Default task(s).
grunt.registerTask('default', ['jshint','concurrent']);
grunt.registerTask('default', ['jshint', 'concurrent']);
//Compile task (concat + minify)
grunt.registerTask('compile', ['concat', 'uglify', 'cssmin']);
//Test task.
grunt.registerTask('test', ['env:test', 'mochaTest']);
};

View File

@ -1,46 +1,11 @@
#footer(data-ng-include="'/views/includes/footer.html'", role='navigation')
//Vendors
script(type='text/javascript', src='/socket.io/socket.io.js')
script(type='text/javascript', src='/lib/momentjs/min/moment.min.js')
script(type='text/javascript', src='/lib/qrcode-generator/js/qrcode.js')
script(type='text/javascript', src='/lib/zeroclipboard/ZeroClipboard.min.js')
script(type='text/javascript', src='/js/vendors.min.js')
//AngularJS
script(type='text/javascript', src='/lib/angular/angular.min.js')
script(type='text/javascript', src='/lib/angular-resource/angular-resource.min.js')
script(type='text/javascript', src='/lib/angular-route/angular-route.min.js')
script(type='text/javascript', src='/lib/angular-qrcode/qrcode.js')
script(type='text/javascript', src='/lib/angular-animate/angular-animate.min.js')
//Angular UI
script(type='text/javascript', src='/lib/angular-bootstrap/ui-bootstrap.min.js')
script(type='text/javascript', src='/lib/angular-bootstrap/ui-bootstrap-tpls.min.js')
script(type='text/javascript', src='/lib/angular-ui-utils/ui-utils.min.js')
script(type='text/javascript', src='/js/angularjs-all.min.js')
//Application Init
script(type='text/javascript', src='/js/app.js')
script(type='text/javascript', src='/js/config.js')
script(type='text/javascript', src='/js/directives.js')
script(type='text/javascript', src='/js/filters.js')
//Application Services
script(type='text/javascript', src='/js/services/global.js')
script(type='text/javascript', src='/js/services/status.js')
script(type='text/javascript', src='/js/services/address.js')
script(type='text/javascript', src='/js/services/transactions.js')
script(type='text/javascript', src='/js/services/blocks.js')
script(type='text/javascript', src='/js/services/socket.js')
script(type='text/javascript', src='/js/services/currency.js')
//Application Controllers
script(type='text/javascript', src='/js/controllers/index.js')
script(type='text/javascript', src='/js/controllers/header.js')
script(type='text/javascript', src='/js/controllers/search.js')
script(type='text/javascript', src='/js/controllers/blocks.js')
script(type='text/javascript', src='/js/controllers/transactions.js')
script(type='text/javascript', src='/js/controllers/address.js')
script(type='text/javascript', src='/js/controllers/status.js')
script(type='text/javascript', src='/js/controllers/footer.js')
script(type='text/javascript', src='/js/controllers/connection.js')
script(type='text/javascript', src='/js/controllers/currency.js')
script(type='text/javascript', src='/js/init.js')
script(type='text/javascript', src='/js/main.min.js')

View File

@ -13,4 +13,4 @@ head
link(rel='stylesheet', href='//fonts.googleapis.com/css?family=Ubuntu:300,400,500,700,400italic')
link(rel='stylesheet', href='/lib/bootstrap/dist/css/bootstrap.min.css')
link(rel='stylesheet', href='/css/common.css')
link(rel='stylesheet', href='/css/main.min.css')

View File

@ -84,9 +84,12 @@
"devDependencies": {
"grunt-contrib-watch": "latest",
"grunt-contrib-jshint": "latest",
"grunt-contrib-concat": "~0.3.0",
"grunt-contrib-uglify": "~0.3.2",
"grunt-nodemon": "latest",
"grunt-concurrent": "latest",
"grunt-mocha-test": "latest",
"should": "latest"
"should": "latest",
"grunt-css": "~0.5.4"
}
}