annotate Gruntfile.js @ 101:13249e5ca51c

Big refactor for better database caching: - Using SQL alchemy instead of raw SQLite. - Better architecture and internal APIs. - Fixed some issues where the database was not used correctly. - Fixed some problems with querying pages. Got rid of `Makefile`, now using `grunt`. Now using a custom `Bootstrap` include file.
author Ludovic Chabant <ludovic@chabant.com>
date Tue, 05 Nov 2013 08:13:18 -0800
parents
children cc1f3b81364c
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: {
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
53 images: {
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
54 files: [
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
55 {expand: true, cwd: 'static/', dest: 'build/', src: ['img/**']}
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
56 ]
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
57 },
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
58 production: {
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
59 files: [
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
60 {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
61 {expand: true, cwd: 'static/', dest: 'build/', src: ['css/*.css']},
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
62 {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
63 ]
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
64 }
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
65 },
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
66 jshint: {
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
67 all: ['static/js/wikked.js', 'static/js/wikked/**/*.js'],
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
68 gruntfile: ['Gruntfile.js']
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
69 },
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
70 watch: {
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
71 scripts: {
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
72 files: ['static/js/**/*.js'],
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
73 tasks: ['jshint', 'requirejs:development']
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
74 },
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
75 templates: {
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
76 files: ['static/tpl/**/*.html'],
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
77 tasks: ['requirejs:development']
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 styles: {
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
80 files: ['static/css/**/*.less'],
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
81 tasks: ['less:development']
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
82 },
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
83 gruntfile: {
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
84 files: ['Gruntfile.js'],
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
85 tasks: ['jshint:gruntfile']
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
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
90 // Load plugins.
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
91 grunt.loadNpmTasks('grunt-contrib-less');
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
92 grunt.loadNpmTasks('grunt-contrib-requirejs');
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
93 grunt.loadNpmTasks('grunt-contrib-copy');
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
94 grunt.loadNpmTasks('grunt-contrib-imagemin');
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
95 grunt.loadNpmTasks('grunt-contrib-jshint');
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
96 grunt.loadNpmTasks('grunt-contrib-watch');
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 // Default task(s).
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
99 grunt.registerTask('default', ['less:production', 'requirejs:production', 'imagemin:all', 'copy:production']);
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 // Other tasks.
13249e5ca51c Big refactor for better database caching:
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
102 grunt.registerTask('dev', ['less:development', 'requirejs:development', 'copy:production', 'copy:images']);
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