-
Notifications
You must be signed in to change notification settings - Fork 640
/
Copy pathGruntfile.js
97 lines (84 loc) · 2.44 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
92
93
94
95
96
97
module.exports = function (grunt) {
grunt.initConfig({
nodewebkit: {
options: {
buildDir: './dist', // Where the build version of my node-webkit app is saved
macIcns: './app/soundnode.icns',
downloadUrl: 'http://www.soundnodeapp.com/build/',
platforms: ['osx32', 'win32'],
version: '0.10.4'
},
src: [
'./app/index.html',
'./app/package.json',
'./app/soundnode.icns',
'./app/soundnode.png',
'./app/views/**/*',
'./app/public/js/**/*',
'./app/public/img/**/*',
'./app/public/stylesheets/css/**/*'
]
},
sass: {
options: {
sourceMap: false
},
production: {
options: {
outputStyle: 'compressed'
},
files: {
'app/public/stylesheets/css/app.css': 'app/public/stylesheets/sass/app.scss'
}
},
dev: {
files: {
'app/public/stylesheets/css/app.css': 'app/public/stylesheets/sass/app.scss'
}
}
},
watch: {
src: {
files: [
'app/public/stylesheets/sass/**/*.scss'
],
tasks: ['dev']
}
},
jshint: {
all: [
'app/public/js/**/*.js',
'!app/public/js/vendor/**/*.js',
],
options: {
jshintrc: '.jshintrc'
}
},
clean: {
force: true,
build: ['dist']
}
});
grunt.loadNpmTasks('grunt-contrib-clean');
grunt.loadNpmTasks('grunt-sass');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-node-webkit-builder');
grunt.loadNpmTasks('grunt-contrib-jshint');
// Build desktop
grunt.registerTask('build', [
'clean:build',
'sass:production',
'nodewebkit'
]);
// Dev
grunt.registerTask('dev', [
'sass:dev'
]);
// Dev
grunt.registerTask('test', [
'jshint'
]);
grunt.event.on('watch', function(action, filepath, target) {
grunt.log.writeln(target + ': ' + filepath + ' has ' + action);
});
};