UNPKG

@zohodesk/client_build_tool

Version:

A CLI tool to build web applications and client libraries

44 lines (35 loc) 1.05 kB
"use strict"; 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); } }