knip
Version:
Find unused files, dependencies and exports in your TypeScript and JavaScript projects
15 lines (14 loc) • 724 B
JavaScript
import ts from 'typescript';
import { isFile } from './fs.js';
import { dirname } from './path.js';
const dtsMatch = /\.d\.(c|m)?ts$/;
export const loadTSConfig = async (tsConfigFilePath) => {
if (isFile(tsConfigFilePath)) {
const config = ts.readConfigFile(tsConfigFilePath, ts.sys.readFile);
const parsedConfig = ts.parseJsonConfigFileContent(config.config, ts.sys, dirname(tsConfigFilePath));
const compilerOptions = parsedConfig.options ?? {};
const definitionPaths = parsedConfig.fileNames.filter(filePath => dtsMatch.test(filePath));
return { isFile: true, compilerOptions, definitionPaths };
}
return { isFile: false, compilerOptions: {}, definitionPaths: [] };
};