2020-01-10 14:20:57 +08:00

25 lines
708 B
TypeScript

import { transformAsync } from '@babel/core';
import { readFileSync, removeSync, outputFileSync } from 'fs-extra';
import { replaceExt } from '../common';
import { replaceCssImport } from '../common/css';
export function compileJs(filePath: string): Promise<undefined> {
return new Promise((resolve, reject) => {
let code = readFileSync(filePath, 'utf-8');
code = replaceCssImport(code);
transformAsync(code, { filename: filePath })
.then(result => {
if (result) {
const jsFilePath = replaceExt(filePath, '.js');
removeSync(filePath);
outputFileSync(jsFilePath, result.code);
resolve();
}
})
.catch(reject);
});
}