@zohodesk/client_build_tool
Version:
A CLI tool to build web applications and client libraries
44 lines (35 loc) • 1.05 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.runBabelForTSFile = runBabelForTSFile;
var _core = require("@babel/core");
var _babelWebConfig = require("./babelWebConfig");
var _copyFile = require("../fileUtils/copyFile");
var _fs = require("fs");
function runBabelForTSFile({
filename,
outputFile,
options,
mode = 'es'
}) {
const {
ignorePatterns
} = options.library;
const {
enable
} = options.typeScript;
if (enable) {
function shouldIgnore(filename) {
return ignorePatterns.some(pattern => pattern.test(filename));
}
if (shouldIgnore(filename)) {
const jsSourceCode = (0, _fs.readFileSync)(filename).toString();
(0, _copyFile.writeFile)(outputFile, jsSourceCode);
return;
}
const babelConfig = (0, _babelWebConfig.babelWebConfig)(options, mode);
const result = (0, _core.transformFileSync)(filename, babelConfig);
(0, _copyFile.writeFile)(outputFile.replace('.tsx', '.js').replace('.ts', '.js'), result.code);
}
}