Manage project with Grunt and Bower.
This commit is contained in:
parent
27fa96a7cb
commit
8ef26895ad
46
Gruntfile.js
Normal file
46
Gruntfile.js
Normal file
@ -0,0 +1,46 @@
|
||||
module.exports = function(grunt) {
|
||||
require('load-grunt-tasks')(grunt);
|
||||
require('time-grunt')(grunt);
|
||||
|
||||
// Options
|
||||
var options = {
|
||||
config: {
|
||||
src: "grunt-config/*.js"
|
||||
},
|
||||
paths: {
|
||||
frontend_js: [
|
||||
'accountant/frontend/static/js/app.js',
|
||||
'accountant/frontend/static/js/accounts.js',
|
||||
'accountant/frontend/static/js/months.js',
|
||||
'accountant/frontend/static/js/entries.js',
|
||||
'accountant/frontend/static/js/scheduler.js'
|
||||
],
|
||||
frontend_build: 'accountant/frontend/static/build'
|
||||
},
|
||||
pkg: grunt.file.readJSON('package.json'),
|
||||
banner: '/*! <%= pkg.name %> <%= grunt.template.today("dd-mm-yyyy") %>\n'+
|
||||
'* Copyright (c) <%= grunt.template.today("yyyy") %> <%= pkg.author %> */\n',
|
||||
};
|
||||
|
||||
var configs = require('load-grunt-configs')(grunt, options);
|
||||
grunt.initConfig(configs);
|
||||
|
||||
grunt.registerTask('generatestatic', [
|
||||
'shell:npm_install',
|
||||
'bower:install',
|
||||
'bower_concat',
|
||||
'copy:bootstrap-select.css.map',
|
||||
'copy:fontawesome-webfont.woff',
|
||||
'copy:fontawesome-webfont.ttf'
|
||||
]);
|
||||
|
||||
grunt.registerTask('jsdev', [
|
||||
'jshint',
|
||||
'concat'
|
||||
]);
|
||||
|
||||
grunt.registerTask('dev', [
|
||||
'generatestatic',
|
||||
'jsdev'
|
||||
]);
|
||||
};
|
27
bower.json
Normal file
27
bower.json
Normal file
@ -0,0 +1,27 @@
|
||||
{
|
||||
"name": "accountant",
|
||||
"version": "0.1.0",
|
||||
"authors": [
|
||||
"Alexis Lahouze <xals@lahouze.org>"
|
||||
],
|
||||
"license": "AGPL",
|
||||
"ignore": [
|
||||
"**/.*",
|
||||
"node_modules",
|
||||
"bower_components",
|
||||
"test",
|
||||
"tests"
|
||||
],
|
||||
"dependencies": {
|
||||
"jquery": "2.1.4",
|
||||
"moment": "2.10.3",
|
||||
"bootstrap": "3.3.4",
|
||||
"bootstrap-datepicker": "1.4.0",
|
||||
"font-awesome": "4.3.0",
|
||||
"pines-notify": "1.2.0",
|
||||
"angular": "1.4.0",
|
||||
"angular-strap": "2.2.4",
|
||||
"d3": "3.5.5",
|
||||
"nvd3": "1.8.1-alpha"
|
||||
}
|
||||
}
|
16
grunt-config/bower.js
Normal file
16
grunt-config/bower.js
Normal file
@ -0,0 +1,16 @@
|
||||
module.exports = {
|
||||
install: {
|
||||
options: {
|
||||
copy: false
|
||||
}
|
||||
},
|
||||
frontend: {
|
||||
dest: 'accountant/frontend/static/third-party',
|
||||
|
||||
options: {
|
||||
expand: true,
|
||||
stripAffix: true,
|
||||
keepExpandedHierarchy: false
|
||||
}
|
||||
}
|
||||
};
|
9
grunt-config/bower_concat.js
Normal file
9
grunt-config/bower_concat.js
Normal file
@ -0,0 +1,9 @@
|
||||
module.exports = {
|
||||
main: {
|
||||
dest: 'accountant/frontend/static/build/js/vendor.js',
|
||||
cssDest: 'accountant/frontend/static/build/css/vendor.css',
|
||||
dependencies: {
|
||||
'autotype': 'jquery'
|
||||
}
|
||||
},
|
||||
};
|
5
grunt-config/clean.js
Normal file
5
grunt-config/clean.js
Normal file
@ -0,0 +1,5 @@
|
||||
module.exports = {
|
||||
libs: [
|
||||
"accountant/frontend/static/build"
|
||||
]
|
||||
};
|
15
grunt-config/concat.js
Normal file
15
grunt-config/concat.js
Normal file
@ -0,0 +1,15 @@
|
||||
module.exports = {
|
||||
options: {
|
||||
stripBanners: false,
|
||||
banner: '<%= banner %>\n',
|
||||
process: function(src, filepath) {
|
||||
// Add comments with original filename.
|
||||
return '// ### Begin: ' + filepath + ' ### //\n' + src +
|
||||
'// ### End: ' + filepath + ' ### //\n';
|
||||
}
|
||||
},
|
||||
frontend_js: {
|
||||
src: '<%= paths.frontend_js %>',
|
||||
dest: '<%= paths.frontend_build %>/js/app.js'
|
||||
}
|
||||
};
|
14
grunt-config/copy.js
Normal file
14
grunt-config/copy.js
Normal file
@ -0,0 +1,14 @@
|
||||
module.exports = {
|
||||
"bootstrap-select.css.map": {
|
||||
src: 'bower_components/bootstrap-select/dist/css/bootstrap-select.css.map',
|
||||
dest: '<%= paths.frontend_build %>/css/bootstrap-select.css.map'
|
||||
},
|
||||
"fontawesome-webfont.woff": {
|
||||
src: 'bower_components/font-awesome/fonts/fontawesome-webfont.woff',
|
||||
dest: '<%= paths.frontend_build %>/fonts/fontawesome-webfont.woff'
|
||||
},
|
||||
"fontawesome-webfont.ttf": {
|
||||
src: 'bower_components/font-awesome/fonts/fontawesome-webfont.ttf',
|
||||
dest: '<%= paths.frontend_build %>/fonts/fontawesome-webfont.ttf'
|
||||
}
|
||||
};
|
9
grunt-config/jshint.js
Normal file
9
grunt-config/jshint.js
Normal file
@ -0,0 +1,9 @@
|
||||
module.exports = {
|
||||
options: {
|
||||
reporter: require('jshint-stylish')
|
||||
},
|
||||
work: [
|
||||
'<%= paths.frontend_js %>/*.js',
|
||||
'Gruntfile.js'
|
||||
]
|
||||
};
|
5
grunt-config/shell.js
Normal file
5
grunt-config/shell.js
Normal file
@ -0,0 +1,5 @@
|
||||
module.exports = {
|
||||
npm_install: {
|
||||
command: 'npm install'
|
||||
}
|
||||
};
|
6
grunt-config/watch.js
Normal file
6
grunt-config/watch.js
Normal file
@ -0,0 +1,6 @@
|
||||
module.exports = {
|
||||
js: {
|
||||
files: '<%= paths.frontend_js %>',
|
||||
tasks: ['concat:frontend_js']
|
||||
}
|
||||
};
|
23
package.json
Normal file
23
package.json
Normal file
@ -0,0 +1,23 @@
|
||||
{
|
||||
"name": "accountant",
|
||||
"version": "0.1.0",
|
||||
"repository": "https://git.lahouze.org/xals/accountant",
|
||||
"license": "AGPL-1.0",
|
||||
"dependencies": {
|
||||
"grunt": "0.4.5",
|
||||
"grunt-copy": "0.1.0",
|
||||
"grunt-contrib-clean": "0.6.0",
|
||||
"grunt-contrib-watch": "0.6.1",
|
||||
"grunt-contrib-concat": "0.5.1",
|
||||
"time-grunt": "1.2.1",
|
||||
"load-grunt-configs": "0.4.3",
|
||||
"load-grunt-tasks": "3.2.0",
|
||||
"grunt-bowercopy": "0.4.1",
|
||||
"grunt-shell": "1.1.2",
|
||||
"grunt-bower-task": "0.4.0",
|
||||
"grunt-bower-concat": "0.5.0",
|
||||
"grunt-contrib-jshint": "0.11.2",
|
||||
"jshint-stylish": "2.0.0"
|
||||
},
|
||||
"devDependencies": {}
|
||||
}
|
Loading…
Reference in New Issue
Block a user