annotate Gruntfile.js @ 161:f307d4cdc3fb

Setup Wikked Pypi package: - Moved all assets into `wikked/assets` for proper packaging. - Added `setuptools` stuff.
author Ludovic Chabant <ludovic@chabant.com>
date Fri, 10 Jan 2014 23:12:10 -0800
parents ffb505cac9c8
children 81e39ae8aef0
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: {
161
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents: 159
diff changeset
9 paths: ["wikked/assets"]
101
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: {
161
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents: 159
diff changeset
12 "wikked/static/css/wikked.min.css": "wikked/assets/css/wikked.less"
101
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: {
161
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents: 159
diff changeset
17 paths: ["wikked/assets"],
101
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: {
161
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents: 159
diff changeset
21 "wikked/static/css/wikked.min.css": "wikked/assets/css/wikked.less"
101
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",
161
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents: 159
diff changeset
29 baseUrl: "wikked/assets",
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents: 159
diff changeset
30 mainConfigFile: "wikked/assets/js/wikked.js",
101
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
31 name: "js/wikked",
161
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents: 159
diff changeset
32 out: "wikked/static/js/wikked.min.js"
101
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",
161
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents: 159
diff changeset
38 baseUrl: "wikked/assets",
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents: 159
diff changeset
39 mainConfigFile: "wikked/assets/js/wikked.js",
101
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
40 name: "js/wikked",
161
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents: 159
diff changeset
41 out: "wikked/static/js/wikked.min.js"
101
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: {
161
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents: 159
diff changeset
47 files: [{
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents: 159
diff changeset
48 expand: true,
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents: 159
diff changeset
49 cwd: 'wikked/assets/',
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents: 159
diff changeset
50 dest: 'wikked/static/',
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents: 159
diff changeset
51 src: ['img/*.{png,jpg,gif}']
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents: 159
diff changeset
52 }]
101
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
53 }
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
54 },
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
55 copy: {
103
cc1f3b81364c Better development mode:
Ludovic Chabant <ludovic@chabant.com>
parents: 101
diff changeset
56 development: {
101
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
57 files: [
161
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents: 159
diff changeset
58 {expand: true, cwd: 'wikked/assets/', dest: 'wikked/static/', src: ['img/**']},
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents: 159
diff changeset
59 {expand: true, cwd: 'wikked/assets/', dest: 'wikked/static/', src: ['js/**']},
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents: 159
diff changeset
60 {expand: true, cwd: 'wikked/assets/', dest: 'wikked/static/', src: ['tpl/**']},
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents: 159
diff changeset
61 {expand: true, cwd: 'wikked/assets/', dest: 'wikked/static/', src: ['bootstrap/js/*.js']}
101
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
62 ]
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
63 },
125
886f36b05e5f More optimized `watch` mode for `grunt`.
Ludovic Chabant <ludovic@chabant.com>
parents: 109
diff changeset
64 dev_scripts: {
886f36b05e5f More optimized `watch` mode for `grunt`.
Ludovic Chabant <ludovic@chabant.com>
parents: 109
diff changeset
65 files: [
161
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents: 159
diff changeset
66 {expand: true, cwd: 'wikked/assets/', dest: 'wikked/static/', src: ['js/wikked.js', 'js/wikked/**']}
125
886f36b05e5f More optimized `watch` mode for `grunt`.
Ludovic Chabant <ludovic@chabant.com>
parents: 109
diff changeset
67 ]
886f36b05e5f More optimized `watch` mode for `grunt`.
Ludovic Chabant <ludovic@chabant.com>
parents: 109
diff changeset
68 },
886f36b05e5f More optimized `watch` mode for `grunt`.
Ludovic Chabant <ludovic@chabant.com>
parents: 109
diff changeset
69 dev_templates: {
886f36b05e5f More optimized `watch` mode for `grunt`.
Ludovic Chabant <ludovic@chabant.com>
parents: 109
diff changeset
70 files: [
161
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents: 159
diff changeset
71 {expand: true, cwd: 'wikked/assets/', dest: 'wikked/static/', src: ['tpl/**']}
125
886f36b05e5f More optimized `watch` mode for `grunt`.
Ludovic Chabant <ludovic@chabant.com>
parents: 109
diff changeset
72 ]
886f36b05e5f More optimized `watch` mode for `grunt`.
Ludovic Chabant <ludovic@chabant.com>
parents: 109
diff changeset
73 },
101
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
74 production: {
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
75 files: [
161
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents: 159
diff changeset
76 {expand: true, cwd: 'wikked/assets/', dest: 'wikked/static/', src: ['js/require.js']},
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents: 159
diff changeset
77 {expand: true, cwd: 'wikked/assets/', dest: 'wikked/static/', src: ['font-awesome/font/**']}
101
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
78 ]
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
79 }
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
80 },
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
81 jshint: {
161
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents: 159
diff changeset
82 all: ['wikked/assets/js/wikked.js', 'wikked/assets/js/wikked/**/*.js'],
101
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
83 gruntfile: ['Gruntfile.js']
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
84 },
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
85 watch: {
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
86 scripts: {
161
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents: 159
diff changeset
87 files: ['wikked/assets/js/wikked.js', 'wikked/assets/js/wikked/**'],
125
886f36b05e5f More optimized `watch` mode for `grunt`.
Ludovic Chabant <ludovic@chabant.com>
parents: 109
diff changeset
88 tasks: ['jshint:all', 'copy:dev_scripts']
886f36b05e5f More optimized `watch` mode for `grunt`.
Ludovic Chabant <ludovic@chabant.com>
parents: 109
diff changeset
89 },
886f36b05e5f More optimized `watch` mode for `grunt`.
Ludovic Chabant <ludovic@chabant.com>
parents: 109
diff changeset
90 templates: {
161
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents: 159
diff changeset
91 files: ['wikked/assets/tpl/**/*.html'],
125
886f36b05e5f More optimized `watch` mode for `grunt`.
Ludovic Chabant <ludovic@chabant.com>
parents: 109
diff changeset
92 tasks: ['copy:dev_templates']
101
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
93 },
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
94 styles: {
161
f307d4cdc3fb Setup Wikked Pypi package:
Ludovic Chabant <ludovic@chabant.com>
parents: 159
diff changeset
95 files: ['wikked/assets/css/**/*.less'],
101
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
96 tasks: ['less:development']
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
97 },
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
98 gruntfile: {
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
99 files: ['Gruntfile.js'],
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
100 tasks: ['jshint:gruntfile']
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
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 });
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
104
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
105 // Load plugins.
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
106 grunt.loadNpmTasks('grunt-contrib-less');
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
107 grunt.loadNpmTasks('grunt-contrib-requirejs');
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
108 grunt.loadNpmTasks('grunt-contrib-copy');
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
109 grunt.loadNpmTasks('grunt-contrib-imagemin');
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
110 grunt.loadNpmTasks('grunt-contrib-jshint');
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
111 grunt.loadNpmTasks('grunt-contrib-watch');
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
112
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
113 // Default task(s).
103
cc1f3b81364c Better development mode:
Ludovic Chabant <ludovic@chabant.com>
parents: 101
diff changeset
114 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
115
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
116 // Other tasks.
103
cc1f3b81364c Better development mode:
Ludovic Chabant <ludovic@chabant.com>
parents: 101
diff changeset
117 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
118 };
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
119