esbuild-isolated-dts
Version:
Generate declarations fast using isolated declarations
29 lines (28 loc) • 1.22 kB
JavaScript
import { resolveOutDir, resolveRootDir } from './util.js';
export const defaultExts = ['ts', 'tsx'];
export function initializeOptions(opts, buildOpts, filePaths) {
const optsI = {
outfile: filePaths.length === 1 ? buildOpts.outfile : undefined,
logLevel: opts?.logLevel ?? 'silent',
dryRun: opts?.dryRun ?? false,
write: buildOpts.write ?? true,
transpileOptions: initializeTranspileOptions(opts, buildOpts, filePaths),
};
if (optsI.logLevel === 'debug')
console.log('Initialized options:', optsI);
return optsI;
}
function initializeTranspileOptions(opts, buildOpts, filePaths) {
const tOpts = opts?.transpileOptions || {};
tOpts.compilerOptions = tOpts.compilerOptions || {};
const outDir = resolveOutDir(opts?.outdir || buildOpts.outdir, filePaths.length === 1 ? buildOpts.outfile : undefined), rootDir = resolveRootDir(filePaths, buildOpts.outbase), declarationMap = tOpts.compilerOptions.declarationMap ?? true, transpileOptionsI = {
...tOpts,
compilerOptions: {
...tOpts.compilerOptions,
outDir,
rootDir,
declarationMap,
},
};
return transpileOptionsI;
}