forked from andyearnshaw/Intl.js
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathGruntfile.js
135 lines (117 loc) · 3.5 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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
module.exports = function (grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
clean: {
cldr : ['tmp/cldr**', 'data/cldr**', 'locale-data/'],
test262: ['tmp/test262**', 'data/test262**', 'tests/test262/'],
lib : ['lib/', 'dist/'],
},
curl: {
cldr: {
src : 'http://www.unicode.org/Public/cldr/26/json-full.zip',
dest: 'tmp/cldr.zip',
},
test262: {
src : 'https://github.com/tc39/test262/archive/master.zip',
dest: 'tmp/test262.zip',
}
},
unzip: {
cldr: {
src : 'tmp/cldr.zip',
dest: 'tmp/cldr/',
},
test262: {
src : 'tmp/test262.zip',
dest: 'tmp/',
}
},
copy: {
cldr: {
expand: true,
cwd : 'tmp/cldr/',
dest : 'data/',
src : [
'*-license.*',
'supplemental/parentLocales.json',
'main/*/ca-*.json',
'main/*/currencies.json',
'main/*/numbers.json',
]
},
test262: {
expand: true,
cwd : 'tmp/test262-master/',
dest : 'tests/test262',
src : [
'LICENSE',
'test/intl402/*.js',
'harness/*.js',
]
},
src: {
expand : true,
flatten: true,
src : ['tmp/src/*.js'],
dest : 'lib/'
}
},
concat: {
complete: {
src : ['dist/Intl.min.js', 'locale-data/complete.js'],
dest: 'dist/Intl.complete.js',
},
},
jshint: {
all: ['index.js', 'src/*.js', '*.json']
},
bundle_jsnext: {
dest: 'dist/Intl.js',
options: {
namespace: 'IntlPolyfill'
}
},
cjs_jsnext: {
dest: 'tmp/'
},
uglify: {
options: {
preserveComments: 'some'
},
build: {
files: {
'dist/Intl.min.js': ['dist/Intl.js']
}
}
},
});
grunt.loadTasks('./tasks');
grunt.loadNpmTasks('grunt-contrib-clean');
grunt.loadNpmTasks('grunt-contrib-copy');
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-bundle-jsnext-lib');
grunt.loadNpmTasks('grunt-extract-cldr-data');
grunt.loadNpmTasks('grunt-curl');
grunt.loadNpmTasks('grunt-zip');
grunt.registerTask('build', [
'bundle_jsnext', 'uglify', 'cjs_jsnext', 'copy:src', 'concat:complete'
]);
grunt.registerTask('cldr', ['extract-cldr-data', 'compile-data']);
grunt.registerTask('default', ['jshint', 'clean:lib', 'build']);
grunt.registerTask('update-cldr-data', [
'clean:cldr',
'curl:cldr',
'unzip:cldr',
'copy:cldr',
'cldr',
]);
grunt.registerTask('update-test262', [
'clean:test262',
'curl:test262',
'unzip:test262',
'copy:test262',
'update-tests',
]);
};