forked from foliojs/unicode-properties
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathMakefile.js
48 lines (41 loc) · 1.16 KB
/
Makefile.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
// https://github.com/shelljs/shelljs#command-reference
// https://devhints.io/shelljs
// https://github.com/shelljs/shelljs/wiki/The-make-utility
require('shelljs/make');
config.fatal = true;
config.verbose = true;
target.all = () => {
target.clean();
target.generateTrieJson();
target.compileBabel();
target.rollupUMD();
target.rollupUMDMin();
};
target.generateTrieJson = () => {
mkdir('es')
mkdir('lib')
mkdir('dist')
exec('babel-node src/generate.js');
cp('src/data.json', 'src/trie.json', 'es');
cp('src/data.json', 'src/trie.json', 'lib');
};
target.compileBabel = () => {
target.generateTrieJson();
env.MODULE_TYPE = 'es6';
exec(`babel src/index.js --out-dir es`);
env.MODULE_TYPE = 'commonjs';
exec(`babel src/index.js --out-dir lib`);
}
target.rollupUMD = () => {
target.generateTrieJson();
env.UGLIFY = false;
exec('rollup -c rollup.config.js -o dist/unicode-properties.js');
};
target.rollupUMDMin = () => {
target.generateTrieJson();
env.UGLIFY = true;
exec('rollup -c rollup.config.js -o dist/unicode-properties.min.js');
};
target.clean = () => {
rm('-rf', 'src/data.json', 'src/trie.json', 'dist', 'lib', 'es');
};