@qoi/cli
Version:
qoi ------------ Lightweight tooling for your javascript and typescript
22 lines (16 loc) • 772 B
JavaScript
import { register as Register } from '@qoi/register/register'
import { createRequire } from 'module'
import { resolve } from 'path'
import { existsSync } from 'fs'
const require = createRequire(import.meta.url)
function getTsConfigPaths(tsconfigPath) {
const { compilerOptions } = require(tsconfigPath)
return compilerOptions?.paths ? { tsconfig: compilerOptions }: undefined
}
export function register() {
const tsconfigPath = resolve('tsconfig.json')
const tsconfig = existsSync(tsconfigPath) ? getTsConfigPaths(tsconfigPath): undefined
const tsPaths = (process.platform.includes('win32') && tsconfig) ? require('typescript-paths'): undefined
tsPaths?.register({ tsconfigPath: { compilerOptions: tsconfig.tsconfig } })
Register(tsconfig ?? {})
}