mirror of
https://github.com/cookiecutter/cookiecutter-django.git
synced 2024-11-30 05:24:01 +03:00
102 lines
2.3 KiB
JavaScript
102 lines
2.3 KiB
JavaScript
|
module.exports = function (grunt) {
|
||
|
|
||
|
var appConfig = grunt.file.readJSON('package.json');
|
||
|
|
||
|
// Load grunt tasks automatically
|
||
|
// see: https://github.com/sindresorhus/load-grunt-tasks
|
||
|
require('load-grunt-tasks')(grunt);
|
||
|
|
||
|
// Time how long tasks take. Can help when optimizing build times
|
||
|
// see: https://npmjs.org/package/time-grunt
|
||
|
require('time-grunt')(grunt);
|
||
|
|
||
|
var pathsConfig = function (appName) {
|
||
|
this.app = appName || appConfig.name;
|
||
|
|
||
|
return {
|
||
|
app: this.app,
|
||
|
templates: this.app + '/templates',
|
||
|
css: this.app + '/static/css',
|
||
|
scss: this.app + '/static/scss',
|
||
|
fonts: this.app + '/static/fonts',
|
||
|
images: this.app + '/static/images',
|
||
|
js: this.app + '/static/js',
|
||
|
manageScript: this.app + '/manage.py'
|
||
|
}
|
||
|
};
|
||
|
|
||
|
grunt.initConfig({
|
||
|
|
||
|
paths: pathsConfig(),
|
||
|
pkg: appConfig,
|
||
|
|
||
|
// see: https://github.com/gruntjs/grunt-contrib-watch
|
||
|
watch: {
|
||
|
gruntfile: {
|
||
|
files: ['Gruntfile.js']
|
||
|
},
|
||
|
compass: {
|
||
|
files: ['<%= paths.scss %>/**/*.{scss,sass}'],
|
||
|
tasks: ['compass:server']
|
||
|
},
|
||
|
livereload: {
|
||
|
files: [
|
||
|
'<%= paths.js %>/**/*.js',
|
||
|
'<%= paths.scss %>/**/*.{scss,sass}',
|
||
|
'<%= paths.app %>/**/*.html'
|
||
|
],
|
||
|
options: {
|
||
|
spawn: false,
|
||
|
livereload: true,
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
|
||
|
// see: https://github.com/gruntjs/grunt-contrib-compass
|
||
|
compass: {
|
||
|
options: {
|
||
|
sassDir: '<%= paths.scss %>',
|
||
|
cssDir: '<%= paths.css %>',
|
||
|
fontsDir: '<%= paths.fonts %>',
|
||
|
imagesDir: '<%= paths.images %>',
|
||
|
relativeAssets: false,
|
||
|
assetCacheBuster: false,
|
||
|
raw: 'Sass::Script::Number.precision = 10\n'
|
||
|
},
|
||
|
dist: {
|
||
|
options: {
|
||
|
environment: 'production'
|
||
|
}
|
||
|
},
|
||
|
server: {
|
||
|
options: {
|
||
|
// debugInfo: true
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
|
||
|
// see: https://npmjs.org/package/grunt-bg-shell
|
||
|
bgShell: {
|
||
|
_defaults: {
|
||
|
bg: true
|
||
|
},
|
||
|
runDjango: {
|
||
|
cmd: 'python <%= paths.manageScript %> runserver'
|
||
|
}
|
||
|
}
|
||
|
});
|
||
|
|
||
|
grunt.registerTask('serve', [
|
||
|
'bgShell:runDjango',
|
||
|
'watch'
|
||
|
]);
|
||
|
|
||
|
grunt.registerTask('build', [
|
||
|
'compass:dist'
|
||
|
]);
|
||
|
|
||
|
grunt.registerTask('default', [
|
||
|
'build'
|
||
|
]);
|
||
|
};
|