annotate Gruntfile.js @ 103:cc1f3b81364c

Better development mode: - Javascript files copied instead of being concatenated. - They have cache busting enabled again.
author Ludovic Chabant <ludovic@chabant.com>
date Wed, 06 Nov 2013 22:14:19 -0800
parents 13249e5ca51c
children f0172c5d8e2c
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: {
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
75 files: ['static/js/**/*.js'],
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
76 tasks: ['jshint', 'requirejs:development']
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 templates: {
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
79 files: ['static/tpl/**/*.html'],
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
80 tasks: ['requirejs: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 styles: {
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
83 files: ['static/css/**/*.less'],
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
84 tasks: ['less:development']
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 gruntfile: {
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
87 files: ['Gruntfile.js'],
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
88 tasks: ['jshint:gruntfile']
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
89 }
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
90 }
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
91 });
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
92
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
93 // Load plugins.
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
94 grunt.loadNpmTasks('grunt-contrib-less');
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
95 grunt.loadNpmTasks('grunt-contrib-requirejs');
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
96 grunt.loadNpmTasks('grunt-contrib-copy');
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
97 grunt.loadNpmTasks('grunt-contrib-imagemin');
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
98 grunt.loadNpmTasks('grunt-contrib-jshint');
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
99 grunt.loadNpmTasks('grunt-contrib-watch');
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
100
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
101 // Default task(s).
103
cc1f3b81364c Better development mode:
Ludovic Chabant <ludovic@chabant.com>
parents: 101
diff changeset
102 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
103
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
104 // Other tasks.
103
cc1f3b81364c Better development mode:
Ludovic Chabant <ludovic@chabant.com>
parents: 101
diff changeset
105 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
106 };
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
107