UNPKG

markdown-code-example-inserter

Version:
26 lines (25 loc) 1.03 kB
import { replaceWithWindowsPathIfNeeded } from '@augment-vir/node'; import { existsSync } from 'node:fs'; import { join } from 'node:path'; import { parseJsonConfigFileContent, readConfigFile, sys } from 'typescript'; export function getTsDirs(packageDir, overrideTsConfig) { const configContent = overrideTsConfig || findAndReadTSConfig(packageDir); if (!configContent) { return undefined; } const source = replaceWithWindowsPathIfNeeded(configContent.options?.rootDir ?? ''); const output = replaceWithWindowsPathIfNeeded(configContent.options?.outDir ?? ''); return { source, output, }; } function findAndReadTSConfig(packageDir) { const tsConfigPath = join(packageDir, 'tsconfig.json'); if (!existsSync(tsConfigPath)) { return undefined; } // eslint-disable-next-line @typescript-eslint/unbound-method const configFile = readConfigFile(tsConfigPath, sys.readFile); return parseJsonConfigFileContent(configFile.config, sys, packageDir); }