Обновление chokidar с 5.x до 6.x
Сравнение публичного API chokidar 5.0.0 и 6.0.0, вычисленное автоматически по их типам TypeScript. Изменённая сигнатура — возможное несовместимое изменение, а не гарантия.
Сводка
| Удалённые пути импорта | 0 |
|---|---|
| Удалённые экспорты | 1 |
| Изменённые сигнатуры | 7 |
| Удалённые члены классов или интерфейсов | 33 |
| Изменённые члены классов или интерфейсов | 4 |
| Новые устаревания | 0 |
| Изменения требований (engines, peer-зависимости) | 1 |
| Новые экспорты | 4 |
Удалённые экспорты
| import | export | kind | Было |
|---|---|---|---|
chokidar | WatchHelper | class | class |
Изменённые сигнатуры
| 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 · MatcherObject | interface | { 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 · FSWInstanceOptions | BasicOpts & { ignored: Matcher[]; awaitWriteFinish: false | AWF; } | BasicOptions & { ignored: readonly Matcher[]; awaitWriteFinish: false | AWF; backendStrategy: BackendStrategy; backendCapabilities: Readonly<{ kind: BackendStrategy; polling: boolean; recursive: boolean; perDirectory: boolean; }>; } |
Удалённые члены классов или интерфейсов
| member | import | Было |
|---|---|---|
FSWatcher._emit | chokidar | (event: EventName, path: string, stats?: any): Promise<FSWatcher | undefined> |
FSWatcher._remove | chokidar | (directory: string, item: string, isDirectory?: boolean | undefined): void |
FSWatcher._closers | chokidar | Map<string, any[]> |
FSWatcher._emitRaw | chokidar | (ev: WatchEventType, path: string, opts: unknown): void |
FSWatcher._streams | chokidar | Set<ReaddirpStream> |
FSWatcher._watched | chokidar | Map<string, DirEntry> |
FSWatcher._readdirp | chokidar | (root: string, opts?: any): any |
FSWatcher._throttle | chokidar | (actionType: ThrottleType, path: string, timeout: number): false | Throttler |
FSWatcher._closeFile | chokidar | (path: string): void |
FSWatcher._closePath | chokidar | (path: string): void |
FSWatcher._emitReady | chokidar | (): void |
FSWatcher._isIgnored | chokidar | (path: string, stats?: any): boolean |
FSWatcher._throttled | chokidar | Map<ThrottleType, Map<any, any>> |
FSWatcher._readyCount | chokidar | number |
FSWatcher._boundRemove | chokidar | (dir: string, item: string): void |
FSWatcher._handleError | chokidar | (error: Error): boolean | Error |
FSWatcher._isntIgnored | chokidar | (path: string, stat?: any): boolean |
FSWatcher._userIgnored | chokidar | MatchFunction | undefined |
FSWatcher._closePromise | chokidar | Promise<void> | undefined |
FSWatcher._ignoredPaths | chokidar | Set<Matcher> |
FSWatcher._readyEmitted | chokidar | boolean |
FSWatcher._symlinkPaths | chokidar | Map<string, string | boolean> |
FSWatcher._addPathCloser | chokidar | (path: string, closer: () => void): void |
FSWatcher._getWatchedDir | chokidar | (directory: string): DirEntry |
FSWatcher._nodeFsHandler | chokidar | NodeFsHandler |
FSWatcher._pendingWrites | chokidar | Map<string, any> |
FSWatcher._addIgnoredPath | chokidar | (matcher: Matcher): void |
FSWatcher._incrReadyCount | chokidar | (): number |
FSWatcher._pendingUnlinks | chokidar | Map<string, [event: EventName, path: string, stats?: any]> |
FSWatcher._getWatchHelpers | chokidar | (path: string): WatchHelper |
FSWatcher._awaitWriteFinish | chokidar | (path: string, threshold: number, event: EventName, awfEmit: (err?: Error | undefined, stat?: any) => void): void |
FSWatcher._removeIgnoredPath | chokidar | (matcher: Matcher): void |
FSWatcher._hasReadPermissions | chokidar | (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): void | any |
FSWatcherEventMap.raw | [ev: WatchEventType, path: string, opts: unknown] | [ev: WatchEventType, path: string | null, opts: unknown] |
Новые устаревания
Не обнаружено.
Изменения требований (engines, peer-зависимости)
| Было | Стало | |
|---|---|---|
engines.node | >= 20.19.0 | — |
Новые экспорты (4)
| import | export | kind |
|---|---|---|
chokidar | Scheduler | interface |
chokidar | WatchBackend | type |
chokidar | SchedulerTimer | interface |
chokidar | BackendStrategy | type |
Передайте эти данные своему ИИ-агенту
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