forked from DroidDemos/Primrose
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Gruntfile.js
84 lines (77 loc) · 2.14 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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
/* global module */
var fs = require( "fs" ),
files = [
"src/store.js",
"obj/Primrose.js",
"lib/analytics.js",
"lib/ga.js",
"lib/mailchimp.js",
"node_modules/cannon/build/cannon.js",
"node_modules/leapjs/leap-0.6.4.js",
"node_modules/socket.io-client/socket.io.js",
"node_modules/three.js/build/three.js"
],
buildFiles = {
"obj/Primrose.js": [ "src/core.js", "src/fx/**/*.js" ]
},
uglifyFiles = files.map( function ( s ) {
return{
src: s,
dest: s.replace( /.*\/(.*).js/, "bin/$1.min.js" )
};
} ),
copyFiles = files.map( function ( s ) {
return {
src: s,
dest: s.replace( /.*\/(.*).js/, "bin/$1.js" )
};
} );
copyFiles.push( {
src: "bin/Primrose.js",
dest: "archive/Primrose-<%= pkg.version %>.js"
} );
copyFiles.push( {
src: "bin/Primrose.min.js",
dest: "archive/Primrose-<%= pkg.version %>.min.js"
} );
module.exports = function ( grunt ) {
grunt.initConfig( {
pkg: grunt.file.readJSON( "package.json" ),
jshint: {default: "src/**/*.js"},
clean: [ "obj", "bin" ],
concat: {
options: {
banner: "/*\n\
<%= pkg.name %> v<%= pkg.version %> <%= grunt.template.today(\"yyyy-mm-dd\") %>\n\
<%= pkg.license.type %>\n\
Copyright (C) 2015 <%= pkg.author %>\n\
<%= pkg.homepage %>\n\
<%= pkg.repository.url %>\n\
*/\n",
separator: ";",
footer: "Primrose.VERSION = \"v<%= pkg.version %>\";\n" +
"console.log(\"Using Primrose v<%= pkg.version %>. Find out more at <%= pkg.homepage %>\");"
},
default: {
files: buildFiles
}
},
uglify: {
default: {
files: uglifyFiles
}
},
copy: {
default: {
files: copyFiles
}
}
} );
grunt.loadNpmTasks( "grunt-contrib-clean" );
grunt.loadNpmTasks( "grunt-exec" );
grunt.loadNpmTasks( "grunt-contrib-copy" );
grunt.loadNpmTasks( "grunt-contrib-jshint" );
grunt.loadNpmTasks( "grunt-contrib-concat" );
grunt.loadNpmTasks( "grunt-contrib-uglify" );
grunt.registerTask( "default", [ "jshint", "clean", "concat", "uglify", "copy" ] );
};