UNPKG

1.03 kBJavaScriptView Raw
1const fs = require('fs');
2const path = require('path');
3const walk = require('walk');
4const sh = require('child_process').execSync;
5const chalk = require('chalk');
6const babel = require('babel-core');
7
8
9module.exports = (entry, out) => {
10
11 const p = new Promise((resolve, reject) => {
12 const walker = walk.walk(entry);
13
14 walker.on('file', function (root, fileStats, next) {
15 const name = fileStats.name;
16 const ext = path.extname(name);
17 const file = path.resolve('', root + '/' + name);
18
19 if (ext === '.js') {
20 const res = babel.transformFileSync(file);
21 fs.writeFileSync(path.resolve(out, name), res.code);
22 }
23
24 next();
25 });
26
27 walker.on('end', () => {
28 console.log(chalk.green('babel-执行完毕!!!'));
29 resolve();
30 });
31
32 walker.on('error', (e) => {
33 console.log(e);
34 reject(e);
35 });
36 });
37
38 return p;
39
40}
\No newline at end of file