keyv을(를) 5.x에서 6.x로 업그레이드하기
keyv 5.6.0과 6.1.0의 공개 API를 TypeScript 타입에서 자동으로 비교한 결과입니다. 시그니처 변경은 호환성이 깨질 가능성이 있다는 뜻이며 확정은 아닙니다.
요약
| 삭제된 import 경로 | 0 |
|---|---|
| 삭제된 export | 7 |
| 변경된 시그니처 | 3 |
| 삭제된 클래스·인터페이스 멤버 | 60 |
| 변경된 클래스·인터페이스 멤버 | 22 |
| 새로 지원 중단됨 | 2 |
| 요구 사항 변경 (engines, peer 의존성) | 0 |
| 새 export | 47 |
삭제된 export
| import | export | kind | 이전 |
|---|---|---|---|
keyv | Serialize | type | <Value>(data: DeserializedData<Value>) => string | Promise<string> |
keyv | StoredData | type | Value | DeserializedData<Value> | undefined |
keyv | Deserialize | type | <Value>(data: string) => DeserializedData<Value> | Promise<DeserializedData<Value> | undefined> | undefined |
keyv | IEventEmitter | type | { on(event: string, listener: (...arguments_: any[]) => void): IEventEmitter; } |
keyv | StoredDataRaw | type | DeserializedData<Value> | undefined |
keyv | StoredDataNoRaw | type | Value | undefined |
keyv | CompressionAdapter | type | { 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 |
삭제된 클래스·인터페이스 멤버
| member | import | 이전 |
|---|---|---|
Keyv.on | keyv | (event: string, listener: EventListener): Keyv<GenericValue> |
Keyv.off | keyv | (event: string, listener: EventListener): void |
Keyv.emit | keyv | (event: string, ...arguments_: any[]): void |
Keyv.once | keyv | (event: string, listener: EventListener): void |
Keyv.opts | keyv | KeyvOptions_ |
Keyv.hooks | keyv | HooksManager |
Keyv.listeners | keyv | (event: string): EventListener[] |
Keyv.serialize | keyv | Serialize | undefined |
Keyv._serialize | keyv | any |
Keyv.addListener | keyv | (event: string, listener: EventListener): void |
Keyv.deserialize | keyv | Deserialize | undefined |
Keyv._deserialize | keyv | any |
Keyv.maxListeners | keyv | (): number |
Keyv.useKeyPrefix | keyv | boolean |
Keyv._getKeyPrefix | keyv | (key: string): string |
Keyv._maxListeners | keyv | number |
Keyv._useKeyPrefix | keyv | any |
Keyv.serializeData | keyv | <T>(data: DeserializedData<T>): Promise<string | DeserializedData<T>> |
Keyv.throwOnErrors | keyv | boolean |
Keyv._throwOnErrors | keyv | any |
Keyv.removeListener | keyv | (event: string, listener: EventListener): void |
Keyv._eventListeners | keyv | Map<string, EventListener[]> |
Keyv._getKeyUnprefix | keyv | (key: string): string |
Keyv.deserializeData | keyv | <T>(data: string | DeserializedData<T>): Promise<DeserializedData<T> | undefined> |
Keyv.setMaxListeners | keyv | (n: number): void |
Keyv.generateIterator | keyv | (iterator: IteratorFunction): IteratorFunction |
Keyv._getKeyPrefixArray | keyv | (keys: string[]): string[] |
Keyv.removeAllListeners | keyv | (event?: string | undefined): void |
Keyv._checkIterableAdapter | keyv | (): boolean |
Keyv._isValidStorageAdapter | keyv | (store: any): boolean |
default.on | keyv | (event: string, listener: EventListener): Keyv<GenericValue> |
default.off | keyv | (event: string, listener: EventListener): void |
default.emit | keyv | (event: string, ...arguments_: any[]): void |
default.once | keyv | (event: string, listener: EventListener): void |
default.opts | keyv | KeyvOptions_ |
default.hooks | keyv | HooksManager |
default.listeners | keyv | (event: string): EventListener[] |
default.serialize | keyv | Serialize | undefined |
default._serialize | keyv | any |
default.addListener | keyv | (event: string, listener: EventListener): void |
default.deserialize | keyv | Deserialize | undefined |
default._deserialize | keyv | any |
default.maxListeners | keyv | (): number |
default.useKeyPrefix | keyv | boolean |
default._getKeyPrefix | keyv | (key: string): string |
default._maxListeners | keyv | number |
default._useKeyPrefix | keyv | any |
default.serializeData | keyv | <T>(data: DeserializedData<T>): Promise<string | DeserializedData<T>> |
default.throwOnErrors | keyv | boolean |
default._throwOnErrors | keyv | any |
default.removeListener | keyv | (event: string, listener: EventListener): void |
default._eventListeners | keyv | Map<string, EventListener[]> |
default._getKeyUnprefix | keyv | (key: string): string |
default.deserializeData | keyv | <T>(data: string | DeserializedData<T>): Promise<DeserializedData<T> | undefined> |
default.setMaxListeners | keyv | (n: number): void |
default.generateIterator | keyv | (iterator: IteratorFunction): IteratorFunction |
default._getKeyPrefixArray | keyv | (keys: string[]): string[] |
default.removeAllListeners | keyv | (event?: string | undefined): void |
default._checkIterableAdapter | keyv | (): boolean |
default._isValidStorageAdapter | keyv | (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.stats | StatsManager | KeyvStats |
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.iterator | IteratorFunction | 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.compression | CompressionAdapter | undefined | KeyvCompressionAdapter | 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.stats | StatsManager | KeyvStats |
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.iterator | IteratorFunction | 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.compression | CompressionAdapter | undefined | KeyvCompressionAdapter | 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 · DeserializedData | Use `KeyvValue` instead. |
keyv · KeyvStoreAdapter | Use `KeyvStorageAdapter` instead. |
요구 사항 변경 (engines, peer 의존성)
감지되지 않았습니다.
새 export (47)
| import | export | kind |
|---|---|---|
keyv | KeyvAny | type |
keyv | KeyvStats | class |
keyv | KeyvValue | type |
keyv | KeyvEvents | enum |
keyv | KeyvMapAny | type |
keyv | MethodType | type |
keyv | createKeyv | function |
keyv | detectKeyv | function |
keyv | KeyvMapType | type |
keyv | KeyvMethods | type |
keyv | KeyvAnyArray | type |
keyv | KeyvSanitize | class |
keyv | KeyvCapability | type |
keyv | KeyvProperties | type |
keyv | jsonSerializer | variable |
keyv | KeyvBridgeStore | type |
keyv | KeyvCompression | type |
keyv | KeyvStatsOptions | type |
keyv | KeyvStorageEntry | type |
keyv | KeyvBridgeAdapter | class |
keyv | KeyvMemoryAdapter | class |
keyv | KeyvStorageMethod | type |
keyv | detectKeyvStorage | function |
keyv | KeyvJsonSerializer | class |
keyv | KeyvStorageAdapter | type |
keyv | KeyvStorageMethods | type |
keyv | KeyvTelemetryEvent | type |
keyv | KeyvSanitizeAdapter | type |
keyv | KeyvSanitizeOptions | type |
keyv | KeyvSanitizePatterns | type |
keyv | KeyvStorageGetResult | type |
keyv | detectKeyvEncryption | function |
keyv | KeyvEncryptionAdapter | type |
keyv | KeyvEncryptionMethods | type |
keyv | KeyvStorageCapability | type |
keyv | detectKeyvCompression | function |
keyv | keyvStorageCapability | function |
keyv | KeyvCompressionAdapter | type |
keyv | KeyvCompressionMethods | type |
keyv | detectKeyvSerialization | function |
keyv | KeyvBridgeAdapterOptions | type |
keyv | KeyvEncryptionCapability | type |
keyv | KeyvMemoryAdapterOptions | type |
keyv | KeyvSerializationAdapter | type |
keyv | KeyvSerializationMethods | type |
keyv | KeyvCompressionCapability | type |
keyv | KeyvSerializationCapability | type |
이 데이터를 AI 에이전트에 제공하세요
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
자주 묻는 질문
keyv을(를) 5에서 6(으)로 업그레이드할 때 호환성이 깨지는 변경은 무엇인가요?
keyv 5.6.0과 6.1.0 사이에서 Vigia는 삭제된 export 7개, 변경된 시그니처 3개, 삭제되거나 변경된 클래스·인터페이스 멤버 82개를 찾았습니다.
keyv 6에서 지원 중단된 것은 무엇인가요?
keyv 6.1.0에서 export 또는 멤버 2개가 새로 지원 중단으로 표시되었습니다.
에이전트용
GET https://vigia.coredls.cloud/v1/packages/npm/keyv/upgrade?from=5.6.0&to=6.1.0