diff --git a/src/generate.ts b/src/generate.ts index ae6c002..b968e90 100644 --- a/src/generate.ts +++ b/src/generate.ts @@ -6,7 +6,7 @@ import { writeToFile, getAllTypeScriptFiles, checkIsolatedDeclarations } from '. import { extractTypeFromSource } from './extract' import { glob } from 'tinyglobby' -export async function generateDeclarationsFromFiles(options: DtsGenerationConfig): Promise { +export async function generateDeclarationsFromFiles(options?: DtsGenerationConfig): Promise { // console.log('Generating declaration files...', options) try { // Check for isolatedModules setting @@ -16,16 +16,16 @@ export async function generateDeclarationsFromFiles(options: DtsGenerationConfig return } - if (options.clean) { + if (options?.clean) { // console.log('Cleaning output directory...') await rm(options.outdir, { recursive: true, force: true }) } let files: string[] - if (options.entrypoints) { + if (options?.entrypoints) { files = await glob(options.entrypoints, { cwd: options.root ?? options.cwd, absolute: true }) } else { - files = await getAllTypeScriptFiles(options.root) + files = await getAllTypeScriptFiles(options?.root) } // console.log('Found the following TypeScript files:', files) @@ -35,9 +35,9 @@ export async function generateDeclarationsFromFiles(options: DtsGenerationConfig const fileDeclarations = await extractTypeFromSource(file) if (fileDeclarations) { - const relativePath = relative(options.root, file) + const relativePath = relative(options?.root ?? './src', file) const parsedPath = parse(relativePath) - const outputPath = join(options.outdir, `${parsedPath.name}.d.ts`) + const outputPath = join(options?.outdir ?? './dist', `${parsedPath.name}.d.ts`) // Ensure the directory exists await mkdir(dirname(outputPath), { recursive: true }) diff --git a/src/utils.ts b/src/utils.ts index fba8a1b..527ea84 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -19,9 +19,9 @@ export async function getAllTypeScriptFiles(directory?: string): Promise extname(file) === '.ts') } -export async function checkIsolatedDeclarations(options: DtsGenerationConfig): Promise { +export async function checkIsolatedDeclarations(options?: DtsGenerationConfig): Promise { try { - const tsconfigPath = options.tsconfigPath || join(options.root, 'tsconfig.json') + const tsconfigPath = options?.tsconfigPath || join(options?.root ?? process.cwd(), 'tsconfig.json') const tsconfigContent = await readFile(tsconfigPath, 'utf-8') const tsconfig = JSON.parse(tsconfigContent)