/
aqa
/
claude-code
Обзор
Документация
Войти
/
aqa
/
claude-code
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
utils/lockfile.ts
43 строки
1 KB
kuberwastaken
new initial commit (history rewritten)
01 апр 2026, 14:57
01 апр 2026, 14:57
c1996f2
Код
Авторство
О чём код?
/** * Lazy accessor for proper-lockfile. * * proper-lockfile depends on graceful-fs, which monkey-patches every fs * method on first require (~8ms). Static imports of proper-lockfile pull this * cost into the startup path even when no locking happens (e.g. `--help`). * * Import this module instead of `proper-lockfile` directly. The underlying * package is only loaded the first time a lock function is actually called. */ import type { CheckOptions, LockOptions, UnlockOptions } from 'proper-lockfile' type Lockfile = typeof import('proper-lockfile') let _lockfile: Lockfile | undefined function getLockfile(): Lockfile { if (!_lockfile) { // eslint-disable-next-line @typescript-eslint/no-require-imports _lockfile = require('proper-lockfile') as Lockfile } return _lockfile } export function lock( file: string, options?: LockOptions, ): Promise<() => Promise<void>> { return getLockfile().lock(file, options) } export function lockSync(file: string, options?: LockOptions): () => void { return getLockfile().lockSync(file, options) } export function unlock(file: string, options?: UnlockOptions): Promise<void> { return getLockfile().unlock(file, options) } export function check(file: string, options?: CheckOptions): Promise<boolean> { return getLockfile().check(file, options) }