Vigia

Обновление chokidar с 5.x до 6.x

Сравнение публичного API chokidar 5.0.0 и 6.0.0, вычисленное автоматически по их типам TypeScript. Изменённая сигнатура — возможное несовместимое изменение, а не гарантия.

Сводка

Удалённые пути импорта0
Удалённые экспорты1
Изменённые сигнатуры7
Удалённые члены классов или интерфейсов33
Изменённые члены классов или интерфейсов4
Новые устаревания0
Изменения требований (engines, peer-зависимости)1
Новые экспорты4

Удалённые экспорты

importexportkindБыло
chokidarWatchHelperclassclass

Изменённые сигнатуры

exportБылоСтало
chokidar · watch(paths: string | string[], options?: Partial<BasicOpts & { ignored: Matcher | Matcher[]; awaitWriteFinish: boolean | Partial<AWF>; }> | undefined): FSWatcher(paths: string | string[], options?: Partial<BasicOptions & { ignored: Matcher | Matcher[]; awaitWriteFinish: boolean | Partial<AWF>; }> | undefined): FSWatcher
chokidar · default{ watch: (paths: string | string[], options?: Partial<BasicOpts & { ignored: Matcher | Matcher[]; awaitWriteFinish: boolean | Partial<AWF>; }> | undefined) => FSWatcher; FSWatcher: typeof FSWatcher; }{ watch: (paths: string | string[], options?: Partial<BasicOptions & { ignored: Matcher | Matcher[]; awaitWriteFinish: boolean | Partial<AWF>; }> | undefined) => FSWatcher; FSWatcher: typeof FSWatcher; }
chokidar · Throttler{ timeoutObject: NodeJS.Timeout; clear: () => void; count: number; }{ timeoutObject: SchedulerTimer; clear: (invokeRelease?: boolean | undefined) => number; count: number; }
chokidar · ThrottleType"readdir" | "watch" | "add" | "remove" | "change""add" | "change" | "readdir" | "watch" | "remove"
chokidar · MatcherObjectinterface{ path: string; recursive?: boolean | undefined; }
chokidar · ChokidarOptions{ persistent?: boolean | undefined; ignoreInitial?: boolean | undefined; followSymlinks?: boolean | undefined; cwd?: string | undefined; usePolling?: boolean | undefined; interval?: number | undefined; binaryInterval?: number | undefined; alwaysStat?: boolean | undefined; depth?: number | undefined; ignorePermissionErrors?: boolean | undefined; atomic?: number | boolean | undefined; ignored?: Matcher | Matcher[] | undefined; awaitWriteFinish?: boolean | Partial<AWF> | undefined; }{ persistent?: boolean | undefined; ignoreInitial?: boolean | undefined; followSymlinks?: boolean | undefined; cwd?: string | undefined; backend?: WatchBackend | undefined; usePolling?: boolean | undefined; pollingInterval?: number | undefined; pollingBinaryInterval?: number | undefined; interval?: number | undefined; binaryInterval?: number | undefined; alwaysStat?: boolean | undefined; depth?: number | undefined; ignorePermissionErrors?: boolean | undefined; atomic?: number | boolean | undefined; ignored?: Matcher | Matcher[] | undefined; awaitWriteFinish?: boolean | Partial<AWF> | undefined…
chokidar · FSWInstanceOptionsBasicOpts & { ignored: Matcher[]; awaitWriteFinish: false | AWF; }BasicOptions & { ignored: readonly Matcher[]; awaitWriteFinish: false | AWF; backendStrategy: BackendStrategy; backendCapabilities: Readonly<{ kind: BackendStrategy; polling: boolean; recursive: boolean; perDirectory: boolean; }>; }

Удалённые члены классов или интерфейсов

memberimportБыло
FSWatcher._emitchokidar(event: EventName, path: string, stats?: any): Promise<FSWatcher | undefined>
FSWatcher._removechokidar(directory: string, item: string, isDirectory?: boolean | undefined): void
FSWatcher._closerschokidarMap<string, any[]>
FSWatcher._emitRawchokidar(ev: WatchEventType, path: string, opts: unknown): void
FSWatcher._streamschokidarSet<ReaddirpStream>
FSWatcher._watchedchokidarMap<string, DirEntry>
FSWatcher._readdirpchokidar(root: string, opts?: any): any
FSWatcher._throttlechokidar(actionType: ThrottleType, path: string, timeout: number): false | Throttler
FSWatcher._closeFilechokidar(path: string): void
FSWatcher._closePathchokidar(path: string): void
FSWatcher._emitReadychokidar(): void
FSWatcher._isIgnoredchokidar(path: string, stats?: any): boolean
FSWatcher._throttledchokidarMap<ThrottleType, Map<any, any>>
FSWatcher._readyCountchokidarnumber
FSWatcher._boundRemovechokidar(dir: string, item: string): void
FSWatcher._handleErrorchokidar(error: Error): boolean | Error
FSWatcher._isntIgnoredchokidar(path: string, stat?: any): boolean
FSWatcher._userIgnoredchokidarMatchFunction | undefined
FSWatcher._closePromisechokidarPromise<void> | undefined
FSWatcher._ignoredPathschokidarSet<Matcher>
FSWatcher._readyEmittedchokidarboolean
FSWatcher._symlinkPathschokidarMap<string, string | boolean>
FSWatcher._addPathCloserchokidar(path: string, closer: () => void): void
FSWatcher._getWatchedDirchokidar(directory: string): DirEntry
FSWatcher._nodeFsHandlerchokidarNodeFsHandler
FSWatcher._pendingWriteschokidarMap<string, any>
FSWatcher._addIgnoredPathchokidar(matcher: Matcher): void
FSWatcher._incrReadyCountchokidar(): number
FSWatcher._pendingUnlinkschokidarMap<string, [event: EventName, path: string, stats?: any]>
FSWatcher._getWatchHelperschokidar(path: string): WatchHelper
FSWatcher._awaitWriteFinishchokidar(path: string, threshold: number, event: EventName, awfEmit: (err?: Error | undefined, stat?: any) => void): void
FSWatcher._removeIgnoredPathchokidar(matcher: Matcher): void
FSWatcher._hasReadPermissionschokidar(stats: Stats): boolean

Изменённые члены классов или интерфейсов

memberБылоСтало
FSWatcher.add(paths_: string | string[], _origAdd?: string | undefined, _internal?: boolean | undefined): FSWatcher(paths_: string | string[]): FSWatcher
FSWatcher.constructor(_opts?: Partial<BasicOpts & { ignored: Matcher | Matcher[]; awaitWriteFinish: boolean | Partial<AWF>; }> | undefined): FSWatcher(_opts?: Partial<BasicOptions & { ignored: Matcher | Matcher[]; awaitWriteFinish: boolean | Partial<AWF>; }> | undefined, scheduler?: Scheduler | undefined): FSWatcher
FSWatcher.emitWithAll(event: EventName, args: EmitArgs): voidany
FSWatcherEventMap.raw[ev: WatchEventType, path: string, opts: unknown][ev: WatchEventType, path: string | null, opts: unknown]

Новые устаревания

Не обнаружено.

Изменения требований (engines, peer-зависимости)

БылоСтало
engines.node>= 20.19.0—
Новые экспорты (4)
importexportkind
chokidarSchedulerinterface
chokidarWatchBackendtype
chokidarSchedulerTimerinterface
chokidarBackendStrategytype

Передайте эти данные своему ИИ-агенту

Vigia — бесплатный MCP-сервер: ваш агент для программирования проверяет версии, несовместимые изменения и уязвимости до того, как напишет код. Без регистрации и API-ключа.

claude mcp add --transport http vigia https://vigia.coredls.cloud/mcp

Добавить в CursorДобавить в VS Code★ Звезда на GitHub

Любой другой MCP-клиент
{ "mcpServers": { "vigia": { "url": "https://vigia.coredls.cloud/mcp" } } }

Навык для агентов (SKILL.md): подсказывает агенту, когда использовать Vigia · GitHub Action для pull request

Часто задаваемые вопросы

Какие несовместимые изменения при обновлении chokidar с 5 до 6?

Между chokidar 5.0.0 и 6.0.0 Vigia нашла удалённых экспортов: 1, изменённых сигнатур: 7, удалённых или изменённых членов классов и интерфейсов: 37.

Что устарело в chokidar 6?

В chokidar 6.0.0 новыми устаревшими помечено экспортов или членов: 0.

Для агентов

GET https://vigia.coredls.cloud/v1/packages/npm/chokidar/upgrade?from=5.0.0&to=6.0.0