Vigia

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

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

Сводка

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

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

importexportkindБыло
keyvSerializetype<Value>(data: DeserializedData<Value>) => string | Promise<string>
keyvStoredDatatypeValue | DeserializedData<Value> | undefined
keyvDeserializetype<Value>(data: string) => DeserializedData<Value> | Promise<DeserializedData<Value> | undefined> | undefined
keyvIEventEmittertype{ on(event: string, listener: (...arguments_: any[]) => void): IEventEmitter; }
keyvStoredDataRawtypeDeserializedData<Value> | undefined
keyvStoredDataNoRawtypeValue | undefined
keyvCompressionAdaptertype{ compress(value: any, options?: any): Promise<any>; decompress(value: any, options?: any): Promise<any>; serialize<Value>(data: DeserializedData<Value>): string | Promise<string>; deserialize<Value>(data: string): DeserializedData<Value> | Promise<DeserializedData<Value> | undefined> | undefined; }

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

exportБылоСтало
keyv · KeyvEntry{ key: string; value: any; ttl?: number | undefined; }{ key: string; value: Value; ttl?: number | undefined; }
keyv · KeyvOptions{ emitErrors?: boolean | undefined; namespace?: string | undefined; serialize?: Serialize | undefined; deserialize?: Deserialize | undefined; store?: any; ttl?: number | undefined; compression?: any; stats?: boolean | undefined; useKeyPrefix?: boolean | undefined; throwOnErrors?: boolean | undefined; }{ namespace?: string | undefined; serialization?: false | KeyvSerializationAdapter | undefined; store?: any; ttl?: number | undefined; compression?: any; stats?: boolean | undefined; sanitize?: KeyvSanitizeOptions | undefined; encryption?: KeyvEncryptionAdapter | undefined; checkExpired?: boolean | undefined; }
keyv · KeyvStoreAdapter{ opts: any; namespace?: string | undefined; get<Value>(key: string): Promise<StoredData<Value>>; set(key: string, value: any, ttl?: number | undefined): any; setMany?(values: { key: string; value: any; ttl?: number | undefined; }[]): Promise<void>; delete(key: string): Promise<boolean>; clear(): Promise<void>; has?(key: string): Promise<boolean>; hasMany?(keys: string[]): Promise<boolean[]>; getMany?<Value>(keys: string[]): Promise<StoredData<Value | undefined>[]>; disconnect?(): Promise<void>; deleteMany?(key: string[]): Promise<boolean>; iterator?<Value>(namespace?: string | undefined): Asy…any

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

memberimportБыло
Keyv.onkeyv(event: string, listener: EventListener): Keyv<GenericValue>
Keyv.offkeyv(event: string, listener: EventListener): void
Keyv.emitkeyv(event: string, ...arguments_: any[]): void
Keyv.oncekeyv(event: string, listener: EventListener): void
Keyv.optskeyvKeyvOptions_
Keyv.hookskeyvHooksManager
Keyv.listenerskeyv(event: string): EventListener[]
Keyv.serializekeyvSerialize | undefined
Keyv._serializekeyvany
Keyv.addListenerkeyv(event: string, listener: EventListener): void
Keyv.deserializekeyvDeserialize | undefined
Keyv._deserializekeyvany
Keyv.maxListenerskeyv(): number
Keyv.useKeyPrefixkeyvboolean
Keyv._getKeyPrefixkeyv(key: string): string
Keyv._maxListenerskeyvnumber
Keyv._useKeyPrefixkeyvany
Keyv.serializeDatakeyv<T>(data: DeserializedData<T>): Promise<string | DeserializedData<T>>
Keyv.throwOnErrorskeyvboolean
Keyv._throwOnErrorskeyvany
Keyv.removeListenerkeyv(event: string, listener: EventListener): void
Keyv._eventListenerskeyvMap<string, EventListener[]>
Keyv._getKeyUnprefixkeyv(key: string): string
Keyv.deserializeDatakeyv<T>(data: string | DeserializedData<T>): Promise<DeserializedData<T> | undefined>
Keyv.setMaxListenerskeyv(n: number): void
Keyv.generateIteratorkeyv(iterator: IteratorFunction): IteratorFunction
Keyv._getKeyPrefixArraykeyv(keys: string[]): string[]
Keyv.removeAllListenerskeyv(event?: string | undefined): void
Keyv._checkIterableAdapterkeyv(): boolean
Keyv._isValidStorageAdapterkeyv(store: any): boolean
default.onkeyv(event: string, listener: EventListener): Keyv<GenericValue>
default.offkeyv(event: string, listener: EventListener): void
default.emitkeyv(event: string, ...arguments_: any[]): void
default.oncekeyv(event: string, listener: EventListener): void
default.optskeyvKeyvOptions_
default.hookskeyvHooksManager
default.listenerskeyv(event: string): EventListener[]
default.serializekeyvSerialize | undefined
default._serializekeyvany
default.addListenerkeyv(event: string, listener: EventListener): void
default.deserializekeyvDeserialize | undefined
default._deserializekeyvany
default.maxListenerskeyv(): number
default.useKeyPrefixkeyvboolean
default._getKeyPrefixkeyv(key: string): string
default._maxListenerskeyvnumber
default._useKeyPrefixkeyvany
default.serializeDatakeyv<T>(data: DeserializedData<T>): Promise<string | DeserializedData<T>>
default.throwOnErrorskeyvboolean
default._throwOnErrorskeyvany
default.removeListenerkeyv(event: string, listener: EventListener): void
default._eventListenerskeyvMap<string, EventListener[]>
default._getKeyUnprefixkeyv(key: string): string
default.deserializeDatakeyv<T>(data: string | DeserializedData<T>): Promise<DeserializedData<T> | undefined>
default.setMaxListenerskeyv(n: number): void
default.generateIteratorkeyv(iterator: IteratorFunction): IteratorFunction
default._getKeyPrefixArraykeyv(keys: string[]): string[]
default.removeAllListenerskeyv(event?: string | undefined): void
default._checkIterableAdapterkeyv(): boolean
default._isValidStorageAdapterkeyv(store: any): boolean

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

memberБылоСтало
Keyv.get<Value = GenericValue>(key: string, options?: { raw: false; } | undefined): Promise<StoredDataNoRaw<Value>> | <Value = GenericValue>(key: string, options?: { raw: true; } | undefined): Promise<StoredDataRaw<Value>> | <Value = GenericValue>(key: string[], options?: { raw: false; } | undefined): Promi…<Value = GenericValue>(key: string): Promise<Value | undefined> | <Value = GenericValue>(key: string[]): Promise<(Value | undefined)[]>
Keyv.statsStatsManagerKeyvStats
Keyv.delete(key: string | string[]): Promise<boolean>(key: string): Promise<boolean> | (keys: string[]): Promise<boolean[]>
Keyv.getRaw<Value = GenericValue>(key: string): Promise<StoredDataRaw<Value>><Value = GenericValue>(key: string): Promise<KeyvStorageGetResult<Value>>
Keyv.getMany<Value = GenericValue>(keys: string[], options?: { raw: false; } | undefined): Promise<StoredDataNoRaw<Value>[]> | <Value = GenericValue>(keys: string[], options?: { raw: true; } | undefined): Promise<StoredDataRaw<Value>[]><Value = GenericValue>(keys: string[]): Promise<(Value | undefined)[]>
Keyv.setMany<Value = GenericValue>(entries: KeyvEntry[]): Promise<boolean[]><Value = GenericValue>(entries: KeyvEntry<Value>[]): Promise<boolean[]>
Keyv.iteratorIteratorFunction | undefined(): AsyncGenerator<[string, any], void, any>
Keyv.deleteMany(keys: string[]): Promise<boolean>(keys: string[]): Promise<boolean[]>
Keyv.getManyRaw<Value = GenericValue>(keys: string[]): Promise<StoredDataRaw<Value>[]><Value = GenericValue>(keys: string[]): Promise<KeyvStorageGetResult<Value>[]>
Keyv.compressionCompressionAdapter | undefinedKeyvCompressionAdapter | undefined
Keyv.constructor<GenericValue = any>(store?: KeyvStoreAdapter | KeyvOptions | Map<any, any> | undefined, options?: Omit<KeyvOptions, "store"> | undefined): Keyv<GenericValue> | <GenericValue = any>(options?: KeyvOptions | undefined): Keyv<GenericValue><GenericValue = any>(store?: any, options?: Omit<KeyvOptions, "store"> | undefined): Keyv<GenericValue> | <GenericValue = any>(options?: KeyvOptions | undefined): Keyv<GenericValue>
default.get<Value = GenericValue>(key: string, options?: { raw: false; } | undefined): Promise<StoredDataNoRaw<Value>> | <Value = GenericValue>(key: string, options?: { raw: true; } | undefined): Promise<StoredDataRaw<Value>> | <Value = GenericValue>(key: string[], options?: { raw: false; } | undefined): Promi…<Value = GenericValue>(key: string): Promise<Value | undefined> | <Value = GenericValue>(key: string[]): Promise<(Value | undefined)[]>
default.statsStatsManagerKeyvStats
default.delete(key: string | string[]): Promise<boolean>(key: string): Promise<boolean> | (keys: string[]): Promise<boolean[]>
default.getRaw<Value = GenericValue>(key: string): Promise<StoredDataRaw<Value>><Value = GenericValue>(key: string): Promise<KeyvStorageGetResult<Value>>
default.getMany<Value = GenericValue>(keys: string[], options?: { raw: false; } | undefined): Promise<StoredDataNoRaw<Value>[]> | <Value = GenericValue>(keys: string[], options?: { raw: true; } | undefined): Promise<StoredDataRaw<Value>[]><Value = GenericValue>(keys: string[]): Promise<(Value | undefined)[]>
default.setMany<Value = GenericValue>(entries: KeyvEntry[]): Promise<boolean[]><Value = GenericValue>(entries: KeyvEntry<Value>[]): Promise<boolean[]>
default.iteratorIteratorFunction | undefined(): AsyncGenerator<[string, any], void, any>
default.deleteMany(keys: string[]): Promise<boolean>(keys: string[]): Promise<boolean[]>
default.getManyRaw<Value = GenericValue>(keys: string[]): Promise<StoredDataRaw<Value>[]><Value = GenericValue>(keys: string[]): Promise<KeyvStorageGetResult<Value>[]>
default.compressionCompressionAdapter | undefinedKeyvCompressionAdapter | undefined
default.constructor<GenericValue = any>(store?: KeyvStoreAdapter | KeyvOptions | Map<any, any> | undefined, options?: Omit<KeyvOptions, "store"> | undefined): Keyv<GenericValue> | <GenericValue = any>(options?: KeyvOptions | undefined): Keyv<GenericValue><GenericValue = any>(store?: any, options?: Omit<KeyvOptions, "store"> | undefined): Keyv<GenericValue> | <GenericValue = any>(options?: KeyvOptions | undefined): Keyv<GenericValue>

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

export@deprecated
keyv · DeserializedDataUse `KeyvValue` instead.
keyv · KeyvStoreAdapterUse `KeyvStorageAdapter` instead.

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

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

Новые экспорты (47)
importexportkind
keyvKeyvAnytype
keyvKeyvStatsclass
keyvKeyvValuetype
keyvKeyvEventsenum
keyvKeyvMapAnytype
keyvMethodTypetype
keyvcreateKeyvfunction
keyvdetectKeyvfunction
keyvKeyvMapTypetype
keyvKeyvMethodstype
keyvKeyvAnyArraytype
keyvKeyvSanitizeclass
keyvKeyvCapabilitytype
keyvKeyvPropertiestype
keyvjsonSerializervariable
keyvKeyvBridgeStoretype
keyvKeyvCompressiontype
keyvKeyvStatsOptionstype
keyvKeyvStorageEntrytype
keyvKeyvBridgeAdapterclass
keyvKeyvMemoryAdapterclass
keyvKeyvStorageMethodtype
keyvdetectKeyvStoragefunction
keyvKeyvJsonSerializerclass
keyvKeyvStorageAdaptertype
keyvKeyvStorageMethodstype
keyvKeyvTelemetryEventtype
keyvKeyvSanitizeAdaptertype
keyvKeyvSanitizeOptionstype
keyvKeyvSanitizePatternstype
keyvKeyvStorageGetResulttype
keyvdetectKeyvEncryptionfunction
keyvKeyvEncryptionAdaptertype
keyvKeyvEncryptionMethodstype
keyvKeyvStorageCapabilitytype
keyvdetectKeyvCompressionfunction
keyvkeyvStorageCapabilityfunction
keyvKeyvCompressionAdaptertype
keyvKeyvCompressionMethodstype
keyvdetectKeyvSerializationfunction
keyvKeyvBridgeAdapterOptionstype
keyvKeyvEncryptionCapabilitytype
keyvKeyvMemoryAdapterOptionstype
keyvKeyvSerializationAdaptertype
keyvKeyvSerializationMethodstype
keyvKeyvCompressionCapabilitytype
keyvKeyvSerializationCapabilitytype

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

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

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

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

Между keyv 5.6.0 и 6.1.0 Vigia нашла удалённых экспортов: 7, изменённых сигнатур: 3, удалённых или изменённых членов классов и интерфейсов: 82.

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

В keyv 6.1.0 новыми устаревшими помечено экспортов или членов: 2.

Для агентов

GET https://vigia.coredls.cloud/v1/packages/npm/keyv/upgrade?from=5.6.0&to=6.1.0