UNPKG

@lesnoypudge/builder

Version:

lesnoypudge-builder

57 lines (56 loc) 1.55 kB
import fs from "node:fs"; import { invariant } from "@lesnoypudge/utils"; import { parseConfig } from "./utils/parseConfig.js"; import { processJSFiles } from "./utils/processJSFiles.js"; import { processTSFiles } from "./utils/processTSFiles.js"; import { Timer } from "./utils/Timer.js"; import "yargs"; import "yargs/helpers"; import path from "node:path"; const builder = async ({ configName, verbose, logTime = false }) => { const timer = new Timer(); logTime && timer.start(); const { configFilePath, parsedConfig } = await parseConfig({ configName, verbose }); verbose && console.log({ compilerOptions: parsedConfig.options, filePathsToProcess: parsedConfig.fileNames, configFilePath }); invariant( parsedConfig.options.outDir, "outDir not specified in compilerOptions" ); fs.rmSync( parsedConfig.options.outDir, { force: true, recursive: true } ); const { jsFilePathToDataMap } = processTSFiles({ compilerOptions: parsedConfig.options, filePathsToProcess: parsedConfig.fileNames, beforeTransformers: [], afterTransformers: [] }); verbose && console.log("post processTSFiles"); await processJSFiles({ jsMap: jsFilePathToDataMap, compilerOptions: parsedConfig.options, projectRoot: path.resolve( path.dirname(configFilePath), parsedConfig.options.baseUrl ?? "" ) }); verbose && console.log("post processJSFiles"); logTime && timer.end(); logTime && timer.log(); }; export { builder }; //# sourceMappingURL=builder.js.map