mirror of
https://github.com/cookiecutter/cookiecutter-django.git
synced 2025-08-03 19:50:11 +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