annotate Gruntfile.js @ 109:f0172c5d8e2c

Better `Gruntfile` dev support.
author Ludovic Chabant <ludovic@chabant.com>
date Tue, 12 Nov 2013 13:54:29 -0800
parents cc1f3b81364c
children 886f36b05e5f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
101
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
1 module.exports = function(grunt) {
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
2
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
3 // Project configuration.
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
4 grunt.initConfig({
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
5 pkg: grunt.file.readJSON('package.json'),
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
6 less: {
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
7 development: {
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
8 options: {
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
9 paths: ["static"]
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
10 },
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
11 files: {
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
12 "build/css/wikked.min.css": "static/css/wikked.less"
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
13 }
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
14 },
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
15 production: {
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
16 options: {
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
17 paths: ["static"],
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
18 compress: true
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
19 },
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
20 files: {
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
21 "build/css/wikked.min.css": "static/css/wikked.less"
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
22 }
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
23 }
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
24 },
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
25 requirejs: {
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
26 development: {
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
27 options: {
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
28 optimize: "none",
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
29 baseUrl: "static",
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
30 mainConfigFile: "static/js/wikked.js",
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
31 name: "js/wikked",
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
32 out: "build/js/wikked.min.js"
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
33 }
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
34 },
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
35 production: {
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
36 options: {
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
37 optimize: "uglify",
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
38 baseUrl: "static",
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
39 mainConfigFile: "static/js/wikked.js",
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
40 name: "js/wikked",
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
41 out: "build/js/wikked.min.js"
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
42 }
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
43 }
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
44 },
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
45 imagemin: {
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
46 all: {
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
47 files: [
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
48 {expand: true, cwd: 'static/', dest: 'build/', src: ['img/*.{png,jpg,gif}']}
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
49 ]
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
50 }
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
51 },
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
52 copy: {
103
cc1f3b81364c Better development mode:
Ludovic Chabant <ludovic@chabant.com>
parents: 101
diff changeset
53 development: {
101
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
54 files: [
103
cc1f3b81364c Better development mode:
Ludovic Chabant <ludovic@chabant.com>
parents: 101
diff changeset
55 {expand: true, cwd: 'static/', dest: 'build/', src: ['img/**']},
cc1f3b81364c Better development mode:
Ludovic Chabant <ludovic@chabant.com>
parents: 101
diff changeset
56 {expand: true, cwd: 'static/', dest: 'build/', src: ['js/**']},
cc1f3b81364c Better development mode:
Ludovic Chabant <ludovic@chabant.com>
parents: 101
diff changeset
57 {expand: true, cwd: 'static/', dest: 'build/', src: ['tpl/**']},
cc1f3b81364c Better development mode:
Ludovic Chabant <ludovic@chabant.com>
parents: 101
diff changeset
58 {expand: true, cwd: 'static/', dest: 'build/', src: ['bootstrap/js/*.js']}
101
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
59 ]
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
60 },
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
61 production: {
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
62 files: [
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
63 {expand: true, cwd: 'static/', dest: 'build/', src: ['js/require.js']},
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
64 {expand: true, cwd: 'static/', dest: 'build/', src: ['css/*.css']},
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
65 {expand: true, cwd: 'static/', dest: 'build/', src: ['font-awesome/font/**']}
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
66 ]
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
67 }
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
68 },
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
69 jshint: {
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
70 all: ['static/js/wikked.js', 'static/js/wikked/**/*.js'],
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
71 gruntfile: ['Gruntfile.js']
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
72 },
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
73 watch: {
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
74 scripts: {
109
f0172c5d8e2c Better `Gruntfile` dev support.
Ludovic Chabant <ludovic@chabant.com>
parents: 103
diff changeset
75 files: ['static/js/**/*.js', 'static/tpl/**/*.html'],
f0172c5d8e2c Better `Gruntfile` dev support.
Ludovic Chabant <ludovic@chabant.com>
parents: 103
diff changeset
76 tasks: ['jshint', 'copy:development']
101
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
77 },
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
78 styles: {
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
79 files: ['static/css/**/*.less'],
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
80 tasks: ['less:development']
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
81 },
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
82 gruntfile: {
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
83 files: ['Gruntfile.js'],
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
84 tasks: ['jshint:gruntfile']
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
85 }
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
86 }
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
87 });
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
88
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
89 // Load plugins.
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
90 grunt.loadNpmTasks('grunt-contrib-less');
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
91 grunt.loadNpmTasks('grunt-contrib-requirejs');
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
92 grunt.loadNpmTasks('grunt-contrib-copy');
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
93 grunt.loadNpmTasks('grunt-contrib-imagemin');
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
94 grunt.loadNpmTasks('grunt-contrib-jshint');
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
95 grunt.loadNpmTasks('grunt-contrib-watch');
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
96
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
97 // Default task(s).
103
cc1f3b81364c Better development mode:
Ludovic Chabant <ludovic@chabant.com>
parents: 101
diff changeset
98 grunt.registerTask('default', ['jshint', 'less:production', 'requirejs:production', 'imagemin:all', 'copy:production']);
101
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
99
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
100 // Other tasks.
103
cc1f3b81364c Better development mode:
Ludovic Chabant <ludovic@chabant.com>
parents: 101
diff changeset
101 grunt.registerTask('dev', ['less:development', 'copy:production', 'copy:development']);
101
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
102 };
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
103