将 conf 从 15.x 升级到 16.x
根据 TypeScript 类型自动比较 conf 15.1.0 与 16.0.0 的公开 API。签名变化表示可能存在不兼容变更,并非确定结论。
概要
| 已删除的导入路径 | 0 |
|---|---|
| 已删除的导出 | 0 |
| 已修改的签名 | 2 |
| 已删除的类或接口成员 | 17 |
| 已修改的类或接口成员 | 4 |
| 新增弃用 | 0 |
| 要求变化(engines、peer 依赖) | 1 |
| 新增导出 | 0 |
已删除的导出
未发现。
已修改的签名
| export | 之前 | 之后 |
|---|---|---|
conf · Schema | { [Property in keyof T]: TypedJSONSchema; } | { [Property in keyof T]?: any; } |
conf · Options | { defaults?: Readonly<T> | undefined; schema?: Schema<T> | undefined; rootSchema?: Omit<TypedJSONSchema, "properties"> | undefined; ajvOptions?: any; configName?: string | undefined; projectName?: string | undefined; projectVersion?: string | undefined; migrations?: Migrations<T> | undefined; beforeEachMigration?: BeforeEachMigrationCallback<T> | undefined; cwd?: string | undefined; encryptionKey?: any; encryptionAlgorithm?: "aes-256-cbc" | "aes-256-gcm" | "aes-256-ctr" | undefined; fileExtension?: string | undefined; clearInvalidConfig?: boolean | undefined; readonly serialize?: Serialize<T> … | { defaults?: Readonly<DefaultsOf<T>> | undefined; schema?: Schema<T> | undefined; rootSchema?: any; ajvOptions?: any; configName?: string | undefined; projectName?: string | undefined; projectVersion?: string | undefined; migrations?: Migrations<T> | undefined; beforeEachMigration?: BeforeEachMigrationCallback<T> | undefined; cwd?: string | undefined; encryptionKey?: any; encryptionAlgorithm?: "aes-256-cbc" | "aes-256-gcm" | "aes-256-ctr" | undefined; fileExtension?: string | undefined; clearInvalidConfig?: boolean | undefined; readonly serialize?: Serialize<T> | undefined; readonly deserializ… |
已删除的类或接口成员
| member | import | 之前 |
|---|---|---|
default._get | conf | any |
default._set | conf | any |
default._watch | conf | any |
default._write | conf | any |
default._migrate | conf | any |
default._validate | conf | any |
default._serialize | conf | any |
default._decryptData | conf | any |
default._deserialize | conf | any |
default._ensureDirectory | conf | any |
default._handleStoreChange | conf | any |
default._handleValueChange | conf | any |
default._isReservedKeyPath | conf | any |
default._containsReservedKey | conf | any |
default._isVersionInRangeFormat | conf | any |
default._shouldPerformMigration | conf | any |
default._objectContainsReservedKey | conf | any |
已修改的类或接口成员
| member | 之前 | 之后 |
|---|---|---|
default.get | <Key extends keyof T>(key: Key): T[Key] | <Key extends keyof T>(key: Key, defaultValue: Required<T>[Key]): Required<T>[Key] | <Key extends DotNotationKeyOf<T>>(key: Key): DotNotationValueOf<T, Key> | <Key extends DotNotationKeyOf<T>>(key: Key, defaultValue: NonNullable<DotNotationValueOf<T, Key>>): … | <Key extends keyof T>(key: Key): T[Key] | <Key extends keyof T>(key: Key, defaultValue: Exclude<T[Key], undefined>): Exclude<T[Key], undefined> | <Key extends DotNotationKeyOf<T>>(key: Key): DotNotationValueOf<T, Key> | <Key extends DotNotationKeyOf<T>>(key: Key, defaultValue: Exclude<DotNotationVal… |
default.set | <Key extends keyof T>(key: Key, value?: T[Key] | undefined): void | <Key extends DotNotationKeyOf<T>>(key: Key, Value?: DotNotationValueOf<T, Key> | undefined): void | (key: string, value: unknown): void | (object: PartialObjectDeep<T>): void | <Key extends keyof T>(key: Key, value: Exclude<T[Key], undefined>): void | <Key extends DotNotationKeyOf<T>>(key: Key, value: Exclude<DotNotationValueOf<T, Key>, undefined>): void | <Key extends string>(key: Key & (string extends Key ? Key : Exclude<Key, { [K in keyof Required<T>]: K extends string … |
default.reset | <Key extends keyof T>(...keys: Key[]): void | <Key extends keyof T>(...keys: Key[]): void | <Key extends DotNotationKeyOf<T>>(...keys: Key[]): void |
default.appendToArray | <Key extends keyof T>(key: Key, value: T[Key] extends readonly (infer U)[] ? U : unknown): void | <Key extends DotNotationKeyOf<T>>(key: Key, value: DotNotationValueOf<T, Key> extends readonly (infer U)[] ? U : unknown): void | <Key extends keyof T>(key: Key, value: ArrayItemsOf<T[Key]>): void | <Key extends DotNotationKeyOf<T>>(key: Key, value: ArrayItemsOf<DotNotationValueOf<T, Key>>): void |
新增弃用
未发现。
要求变化(engines、peer 依赖)
| 之前 | 之后 | |
|---|---|---|
engines.node | >=20 | >=22 |
把这些数据交给你的 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" } } }常见问题
将 conf 从 15 升级到 16 有哪些不兼容变更?
在 conf 15.1.0 与 16.0.0 之间,Vigia 发现 0 个已删除的导出、2 个已修改的签名,以及 21 个已删除或修改的类或接口成员。
conf 16 中弃用了哪些内容?
conf 16.0.0 中有 0 个导出或成员新被标记为弃用。
供智能体使用
GET https://vigia.coredls.cloud/v1/packages/npm/conf/upgrade?from=15.1.0&to=16.0.0