-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathGruntfile.js
77 lines (69 loc) · 2.68 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
var globals = require( "./config/globals" );
module.exports = function( grunt )
{
grunt.initConfig(
{
pkg: grunt.file.readJSON( "package.json" ),
config: globals.config,
browserSync: globals.browsersync,
browserify: globals.browserify,
jshint: globals.jshint,
clean: globals.clean,
replace: globals.replace,
copy: globals.copy,
concat: globals.concat,
watch: globals.watch,
uglify: globals.uglify,
css: globals.css,
handlebars: globals.handlebars
});
grunt.loadNpmTasks( "grunt-browser-sync" );
grunt.loadNpmTasks( "grunt-browserify" );
grunt.loadNpmTasks( "grunt-contrib-jshint" );
grunt.loadNpmTasks( "grunt-contrib-clean" );
grunt.loadNpmTasks( "grunt-text-replace" );
grunt.loadNpmTasks( "grunt-contrib-concat" );
grunt.loadNpmTasks( "grunt-contrib-copy" );
grunt.loadNpmTasks( "grunt-contrib-watch" );
grunt.loadNpmTasks( "grunt-contrib-uglify" );
grunt.loadNpmTasks( "grunt-contrib-handlebars" );
grunt.registerTask( "dev", [ "build:dev", "browserSync", "watch" ]);
grunt.registerTask( "prod", [ "build:prod" ]);
grunt.registerTask( "build", function( env )
{
env = env || "prod";
var target = grunt.config.data.config.target;
target.env = env === "prod" ? target.prod : target.dev;
switch ( env )
{
case "dev":
grunt.task.run( "clean:dev" );
grunt.task.run( "copy" );
grunt.task.run( "concat" );
grunt.task.run( "css:dev" );
grunt.task.run( "replace:dev" );
grunt.task.run( "handlebars" );
grunt.task.run( "browserify:dev" );
break;
case "prod":
grunt.task.run( "clean:prod" );
grunt.task.run( "copy" );
grunt.task.run( "concat" );
grunt.task.run( "css:prod" );
grunt.task.run( "replace:prod" );
grunt.task.run( "browserify:prod" );
grunt.task.run( "handlebars" );
grunt.task.run( "uglify:prod" );
break;
}
});
grunt.registerTask( "css", function( env )
{
env = env || "prod";
var target = grunt.config.data.config.target;
target.env = env === "prod" ? target.prod : target.dev;
grunt.config.data.css.concat( target.env + "/assets/css/layout.min.css",
target.env + "/assets/css/resources",
this.async() );
});
};