forked from Leanplum/Leanplum-JavaScript-SDK
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathGruntfile.js
73 lines (70 loc) · 1.76 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
const webpackConfig = require('./webpack.config')
module.exports = function (grunt) {
grunt.loadNpmTasks('grunt-eslint')
grunt.loadNpmTasks('grunt-contrib-uglify')
grunt.loadNpmTasks('grunt-mocha-test')
grunt.loadNpmTasks('grunt-webpack')
grunt.loadNpmTasks('grunt-babel')
grunt.initConfig({
eslint: {
target: ['lib/leanplum.js']
},
webpack: {
options: {
stats: !process.env.NODE_ENV || process.env.NODE_ENV === 'development'
},
prod: webpackConfig,
dev: Object.assign({
watch: true
}, webpackConfig)
},
babel: {
options: {
sourceMap: true
},
dist: {
files: {
'dist/sw/sw.js': 'src/PushServiceWorker.js',
'test/e2e/js/index.js': 'test/e2e/js/index.es6.js'
}
}
},
uglify: {
my_target: {
files: {
'dist/leanplum.min.js': 'dist/leanplum.js',
'dist/sw/sw.min.js': 'dist/sw/sw.js'
}
}
},
mochaTest: {
test: {
options: {
reporter: 'spec',
quiet: false,
clearRequireCache: false,
noFail: false,
require: ['mock-local-storage',
'test/specs/helpers/setup.js',
'test/specs/helpers/chai.js'
]
},
src: ['test/specs/testLeanplum.js',
'test/specs/testVarCache.js',
'test/specs/testActionManager.js']
}
},
watch: {
js: {
files: [
'lib/leanplum.js'
],
tasks: ['lint', 'build', 'test']
}
}
})
grunt.registerTask('lint', ['eslint'])
grunt.registerTask('build', ['webpack:prod', 'babel', 'uglify'])
grunt.registerTask('test', ['mochaTest'])
grunt.registerTask('default', ['webpack:dev'])
}