/
Gruntfile.js
64 lines (61 loc) · 2.09 KB
/
Gruntfile.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
module.exports = function (grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
browserify: {
options: {
browserifyOptions: {
paths: [
'qbdb/static/js'
]
//standalone: 'qbdb'
},
transform: ['browserify-shim']
},
client: {
transform: ['browserify-shim'],
src: ['qbdb/static/js/**/*.js'],
dest: "static/js/qbdb.js"
}
},
'browserify-jst': {
compile: {
options: {
processName: function (filePath) {
return filePath.replace(/^qbdb\/static\/js\/templates\//, '').replace(/\.html$/, '')
}
},
src: 'qbdb/static/js/templates/**/*.html',
dest: 'qbdb/static/js/templates/jst.js'
}
},
handlebars: {
compile: {
options: {
namespace: "JST",
processName: function (filePath) {
return filePath.replace(/^qbdb\/static\/js\/templates\//, '').replace(/\.hbs$/, '')
},
commonjs: true
},
files: {
'papers/static/js/templates/templates.js': ['qbdb/static/js/templates/**/*.hbs']
}
}
},
watch: {
scripts: {
files: ['qbdb/static/js/**/*.js'],
tasks: ['browserify:client']
},
templates: {
files: ['qbdb/static/js/templates/**/*.html'],
tasks: ['browserify-jst', 'browserify:client']
}
}
});
grunt.loadNpmTasks('grunt-browserify');
grunt.loadNpmTasks('grunt-contrib-handlebars');
grunt.loadNpmTasks('grunt-browserify-jst');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.registerTask('default', ['browserify-jst', 'browserify:client'])
};