This repository has been archived by the owner on Jun 16, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 60
/
Gruntfile.coffee
121 lines (111 loc) · 2.83 KB
/
Gruntfile.coffee
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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
module.exports = (grunt) ->
# Project configuration.
grunt.initConfig
pkg: grunt.file.readJSON('package.json')
jsdoc:
dist:
src:['dist/RongIMLib.js']
options:
destination : 'jsdoc'
# Task configuration.
clean:
build:
src: [
'./build/*'
'./build/.*'
'./build/*.*'
]
release:
src: [
'./dist/*'
'./dist/.*'
'./dist/*.*'
]
concat:
dist:
src: ['./src/exports/header.js','./src/internal/transportation/xhrpolling-min.js','./src/3rd/md5.min.js','./dist/RongIMLib.js','./src/exports/footer.js']
dest: './dist/RongIMLib.js'
connect:
server:
options:
keepalive: true
port: 8282
base: '.'
uglify:
release:
options:
sourceMap: false
src: './dist/RongIMLib.js'
dest: './dist/RongIMLib.min.js'
watch:
options:
spawn: false
livereload: true
compile:
files: [
'./src/**/*.ts'
'./src/**/*.js'
]
tasks: [
'clean:build'
'typescript:build'
]
karma:
unit:
configFile: 'karma.conf.coffee'
typedoc:
release:
options:
module: 'commonjs'
out: './docs'
name: 'RongCloud'
target: 'es3'
src: ['./src/**/*.ts']
typescript:
build:
options:
module: 'amd'
noImplicitAny: true
removeComments: false
sourceMap: true
suppressImplicitAnyIndexErrors: false
target: 'es3'
src: './src/**/*.ts'
dest: './build'
release:
options:
module: 'amd'
noImplicitAny: true
removeComments: false
sourceMap: false
suppressImplicitAnyIndexErrors: false
target: 'es3'
src: ['./src/**/*.ts','!./src/extensions/*.ts','!./src/extensions/**/*.ts','!./src/util/script_loader.ts']
dest: './dist/RongIMLib.js'
# These plugins provide necessary tasks.
# grunt.loadNpmTasks 'google-closure-compiler'
grunt.loadNpmTasks 'grunt-contrib-clean'
grunt.loadNpmTasks 'grunt-contrib-concat'
grunt.loadNpmTasks 'grunt-contrib-connect'
grunt.loadNpmTasks 'grunt-contrib-uglify'
grunt.loadNpmTasks 'grunt-contrib-watch'
grunt.loadNpmTasks 'grunt-karma'
grunt.loadNpmTasks 'grunt-typedoc'
grunt.loadNpmTasks 'grunt-typescript'
grunt.loadNpmTasks 'grunt-jsdoc'
# Build for dev.
grunt.registerTask 'build', [
'clean:build'
'typescript:build'
'watch'
]
# grunt.registerTask 'default','mochaTest'
# Build for release.
grunt.registerTask 'release', [
'clean:release'
'typescript:release'
'concat'
'uglify:release'
# 'typedoc:release'
# 'jsdoc'
]