forked from aurajs/aura
-
Notifications
You must be signed in to change notification settings - Fork 0
/
grunt.js
executable file
·107 lines (85 loc) · 2.14 KB
/
grunt.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
98
99
100
101
102
103
104
105
106
107
module.exports = function(grunt) {
'use strict';
grunt.loadNpmTasks('grunt-contrib');
grunt.loadNpmTasks('grunt-requirejs');
grunt.loadNpmTasks('grunt-jasmine-task');
// ==========================================================================
// Project configuration
// ==========================================================================
grunt.initConfig({
// MULTI TASKS
// -----------
// clean build directory
clean: ['dist'],
// js linting
lint: {
files: ['src/aura/*.js', 'src/apps/**/*.js', 'src/widgets/**/*.js', 'src/extensions/*/*.js']
},
// jasmine testsuites
jasmine: {
files: ['spec/SpecRunner.html']
},
// tasks to be executed and files
// to be watched for changes
watch: {
files: ['<config:lint.files>'],
tasks: ['lint', 'jasmine']
},
// SINGLE TASKS
// ----------------------
// require js
requirejs: {
std: {
// build directory path
dir: 'dist',
// application directory
appDir: 'src',
mainConfigFile: 'src/config.js',
// base url for retrieving paths
baseUrl: '.',
// setup paths
// optimize javascript files with uglifyjs
optimize: 'uglify',
// define our app model
modules: [{
name: 'config'
}]
},
include: 'std'
},
// Configuration
// -------------
// js linting options
jshint: {
options: {
curly: true,
eqeqeq: true,
immed: true,
latedef: true,
newcap: true,
noarg: true,
sub: true,
undef: true,
eqnull: true,
browser: true,
nomen: false
},
globals: {
console: true,
require: true,
define: true,
$: true
}
},
server: {
port: 8888,
base: './'
}
});
// build task
grunt.registerTask('build', 'clean lint jasmine requirejs:std');
// default build task
grunt.registerTask('default', 'build');
// launch node server to view the projct
grunt.registerTask('launch', 'server watch');
};