turbo-gulp
Version:
Gulp tasks to boost high-quality projects.
33 lines (32 loc) • 1.11 kB
JavaScript
import { DEFAULT_PROJECT_TSC_OPTIONS, mergeTscOptionsJson } from "./tsc";
export var OutModules;
(function (OutModules) {
OutModules[OutModules["Js"] = 0] = "Js";
OutModules[OutModules["Mjs"] = 1] = "Mjs";
OutModules[OutModules["Both"] = 2] = "Both";
})(OutModules || (OutModules = {}));
export const DEFAULT_PROJECT_TS_OPTIONS = {
compilerOptions: DEFAULT_PROJECT_TSC_OPTIONS,
tsconfigJson: ["tsconfig.json"],
outModules: OutModules.Js,
};
export function mergeTypescriptOptions(base, extra) {
let compilerOptions;
if (extra !== undefined && extra.compilerOptions !== undefined) {
if (base.compilerOptions !== undefined) {
compilerOptions = mergeTscOptionsJson(base.compilerOptions, extra.compilerOptions);
}
else {
compilerOptions = extra.compilerOptions;
}
}
else {
if (base.compilerOptions !== undefined) {
compilerOptions = base.compilerOptions;
}
else {
compilerOptions = undefined;
}
}
return Object.assign({}, base, extra, { compilerOptions });
}