mirror of
https://github.com/cookiecutter/cookiecutter-django.git
synced 2025-08-04 04:00:12 +03:00
Update and rename Gruntfile.js to Gruntfile.coffee
Why? It's more pythonic in nature and grunt supports it by default! Why not? Not everyone knows it! but it's no excuse to not use it. It's simple to understand/learn.
This commit is contained in:
parent
e407be9152
commit
a510d91460
78
{{cookiecutter.repo_name}}/Gruntfile.coffee
Normal file
78
{{cookiecutter.repo_name}}/Gruntfile.coffee
Normal file
|
@ -0,0 +1,78 @@
|
||||||
|
module.exports = (grunt) ->
|
||||||
|
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)
|
||||||
|
pathsConfig = (appName) ->
|
||||||
|
@app = appName or appConfig.name
|
||||||
|
app: @app
|
||||||
|
templates: @app + "/templates"
|
||||||
|
css: @app + "/static/css"
|
||||||
|
sass: @app + "/static/sass"
|
||||||
|
fonts: @app + "/static/fonts"
|
||||||
|
images: @app + "/static/images"
|
||||||
|
js: @app + "/static/js"
|
||||||
|
manageScript: @app + "/manage.py"
|
||||||
|
|
||||||
|
grunt.initConfig
|
||||||
|
paths: pathsConfig()
|
||||||
|
pkg: appConfig
|
||||||
|
|
||||||
|
# see: https://github.com/gruntjs/grunt-contrib-watch
|
||||||
|
watch:
|
||||||
|
gruntfile:
|
||||||
|
files: ["Gruntfile.coffee"]
|
||||||
|
|
||||||
|
compass:
|
||||||
|
files: ["<%= paths.sass %>/**/*.{scss,sass}"]
|
||||||
|
tasks: ["compass:server"]
|
||||||
|
|
||||||
|
livereload:
|
||||||
|
files: [
|
||||||
|
"<%= paths.js %>/**/*.js"
|
||||||
|
"<%= paths.sass %>/**/*.{scss,sass}"
|
||||||
|
"<%= paths.app %>/**/*.html"
|
||||||
|
]
|
||||||
|
options:
|
||||||
|
spawn: false
|
||||||
|
livereload: true
|
||||||
|
|
||||||
|
|
||||||
|
# see: https://github.com/gruntjs/grunt-contrib-compass
|
||||||
|
compass:
|
||||||
|
options:
|
||||||
|
sassDir: "<%= paths.sass %>"
|
||||||
|
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: {}
|
||||||
|
|
||||||
|
# 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"]
|
||||||
|
return
|
|
@ -1,101 +0,0 @@
|
||||||
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',
|
|
||||||
sass: this.app + '/static/sass',
|
|
||||||
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.sass %>/**/*.{scss,sass}'],
|
|
||||||
tasks: ['compass:server']
|
|
||||||
},
|
|
||||||
livereload: {
|
|
||||||
files: [
|
|
||||||
'<%= paths.js %>/**/*.js',
|
|
||||||
'<%= paths.sass %>/**/*.{scss,sass}',
|
|
||||||
'<%= paths.app %>/**/*.html'
|
|
||||||
],
|
|
||||||
options: {
|
|
||||||
spawn: false,
|
|
||||||
livereload: true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
// see: https://github.com/gruntjs/grunt-contrib-compass
|
|
||||||
compass: {
|
|
||||||
options: {
|
|
||||||
sassDir: '<%= paths.sass %>',
|
|
||||||
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'
|
|
||||||
]);
|
|
||||||
};
|
|
Loading…
Reference in New Issue
Block a user