| Server IP : 159.203.156.69 / Your IP : 216.73.216.37 Web Server : nginx/1.24.0 System : Linux main-ubuntu 6.8.0-71-generic #71-Ubuntu SMP PREEMPT_DYNAMIC Tue Jul 22 16:52:38 UTC 2025 x86_64 User : root ( 0) PHP Version : 8.3.6 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/tanviranik.com/node_modules/vite-tsconfig-paths/src/ |
Upload File : |
import { createWriteStream, statSync, writeFileSync } from 'node:fs'
import { debug } from './debug'
type ImportDetails = { importer: string | undefined; id: string }
type ConfigDetails = ImportDetails & { configPath: string }
type ResolveDetails = ConfigDetails & { resolvedId: string }
type NotFoundDetails = ConfigDetails & { candidates: string[] | null }
export type LogEvent =
| ['emptyImporter', ImportDetails]
| ['virtualImporter', ImportDetails]
| ['unsupportedExtension', ImportDetails]
| ['relativeId', ImportDetails]
| ['virtualId', ImportDetails]
| ['resolvedToDeclarationFile', ResolveDetails]
| ['resolvedWithBaseUrl', ResolveDetails]
| ['resolvedWithPaths', ResolveDetails]
| ['resolvedFromCache', ResolveDetails]
| ['notFound', NotFoundDetails]
| ['configMismatch', ConfigDetails]
/**
* This log file is dedicated to the resolution process. Other debug logs
* will appear in the console if you set `DEBUG=vite-tsconfig-paths` in
* your shell environment.
*/
export function createLogFile(logFilePath: string) {
let mtime: number | undefined
try {
mtime = statSync(logFilePath).mtime.getTime()
} catch {}
// Clear the log file if it's older than 10 seconds.
if (!mtime || Date.now() - mtime > 10_000) {
debug('Clearing log file:', logFilePath)
writeFileSync(logFilePath, '')
}
const logFile = createWriteStream(logFilePath, {
flags: 'a',
encoding: 'utf-8',
})
return {
write(...event: LogEvent) {
logFile.write(event[0] + ': ' + JSON.stringify(event[1]) + '\n')
},
}
}
export type LogFileWriter = ReturnType<typeof createLogFile>