-
Notifications
You must be signed in to change notification settings - Fork 4
/
Gruntfile.js
91 lines (87 loc) · 2.9 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
85
86
87
88
89
90
91
module.exports = function(grunt){
grunt.initConfig({
// concat: {
// dist: {
// src: ['public/**/*.js', '!public/build/*', '!public/build/**/*.js'],
// dest: 'public/build/main.js'
// }
// },
sass: {
dist: {
files: {
'app/public/css/styles.css': 'app/scss/styles.scss',
'app/public/css/login.css': 'app/scss/login.scss',
'app/public/css/admin.css': 'app/scss/admin.scss'
},
options: {
sourcemap: 'none'
}
}
},
browserify: {
dev: {
options: {
debug: true,
transform: ['reactify']
},
files: {
'app/public/js/app.js': 'app/components/app.jsx',
'app/public/js/login.js': 'app/components/login.jsx',
'app/public/js/admin.js': 'app/components/admin.jsx'
}
}
},
watch: {
browserify: {
files: ['app/**/*.jsx','app/**/*.js', 'Gruntfile.js'],
tasks: ['browserify:dev', 'express:dev'],
options: {
spawn: false
}
},
sass: {
files: 'app/scss/**/*.scss',
tasks: ['sass', 'express:dev'],
options: {
spawn: false
}
},
express: {
files: ['app.js', 'Gruntfile.js', 'config/*.js', 'routes/*.js', 'api/**/*', 'app/public/**/*'],
tasks: ['express:dev'],
options: {
spawn: false
}
}
},
express: {
options: {
},
dev: {
options: {
script: 'app.js'
}
}
},
copy: {
main: {
files: [
{expand: false, src: ['bower_components/bootstrap/dist/css/bootstrap.min.css'], dest: 'app/public/css/libraries/bootstrap.min.css'},
{expand: false, src: ['bower_components/font-awesome/css/font-awesome.min.css'], dest: 'app/public/css/libraries/font-awesome.min.css'},
{expand: true, cwd: 'bower_components/font-awesome/fonts/', src: '*', dest: 'app/public/css/fonts'},
{expand: false, src: ['bower_components/font-awesome/scss/_variables.scss'], dest: 'app/scss/_fa-variables.scss'},
{expand: false, src: ['bower_components/jquery/dist/jquery.min.js'], dest: 'app/public/js/libraries/jquery.min.js'},
{expand: false, src: ['bower_components/bootstrap/dist/js/bootstrap.min.js'], dest: 'app/public/js/libraries/bootstrap.min.js'},
]
}
}
});
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-contrib-sass');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-express-server');
grunt.loadNpmTasks('grunt-contrib-copy');
grunt.loadNpmTasks('grunt-browserify');
grunt.registerTask('default', [/*'concat', */'sass','copy', 'browserify:dev', 'express:dev', 'watch']);
grunt.registerTask('package', [/*'concat', */'sass','copy', 'browserify:dev']);
};