ajv을(를) 7.x에서 8.x로 업그레이드하기
ajv 7.2.4과 8.20.0의 공개 API를 TypeScript 타입에서 자동으로 비교한 결과입니다. 시그니처 변경은 호환성이 깨질 가능성이 있다는 뜻이며 확정은 아닙니다.
요약
| 삭제된 import 경로 | 0 |
|---|---|
| 삭제된 export | 0 |
| 변경된 시그니처 | 4 |
| 삭제된 클래스·인터페이스 멤버 | 1 |
| 변경된 클래스·인터페이스 멤버 | 16 |
| 새로 지원 중단됨 | 0 |
| 요구 사항 변경 (engines, peer 의존성) | 0 |
| 새 export | 3 |
삭제된 export
감지되지 않았습니다.
변경된 시그니처
| export | 이전 | 이후 |
|---|---|---|
ajv · JSONType | "string" | "number" | "boolean" | "object" | "integer" | "null" | "array" | "string" | "number" | "boolean" | "object" | "integer" | "array" | "null" |
ajv · DefinedError | TypeError | ApplicatorKeywordError | ValidationKeywordError | FormatError | UnevaluatedPropertiesError | UnevaluatedItemsError | DependentRequiredError | TypeError | ApplicatorKeywordError | ValidationKeywordError | FormatError | UnevaluatedPropertiesError | UnevaluatedItemsError | DependentRequiredError | DiscriminatorError |
ajv · JSONSchemaType | (T extends number ? { type: JSONType<"number" | "integer", _partial>; minimum?: number | undefined; maximum?: number | undefined; exclusiveMinimum?: number | undefined; exclusiveMaximum?: number | undefined; multipleOf?: number | undefined; format?: string | undefined; } : T extends string ? { type: JSONType<"string", _partial>; minLength?: number | undefined; maxLength?: number | undefined; pattern?: string | undefined; format?: string | undefined; } : T extends boolean ? { type: "boolean"; } : T extends [any, ...any[]] ? { type: JSONType<"array", _partial>; items: { readonly [K in keyof T]-?… | ({ anyOf: readonly UncheckedJSONSchemaType<T, false>[]; } | { oneOf: readonly UncheckedJSONSchemaType<T, false>[]; } | ({ type: readonly (T extends number ? "number" | "integer" : T extends string ? "string" : T extends boolean ? "boolean" : never)[]; } & UnionToIntersection<T extends number ? NumberKeywords : T extends string ? StringKeywords : T extends boolean ? {} : never>) | ((T extends number ? { type: "number" | "integer"; } & NumberKeywords : T extends string ? { type: "string"; } & StringKeywords : T extends boolean ? { type: "boolean"; } : T extends readonly [any, ...any[]] ? { type:… |
ajv · InstanceOptions | CurrentOptions & DeprecatedOptions & { strict: NonNullable<boolean | "log" | undefined>; strictTypes: NonNullable<boolean | "log" | undefined>; strictTuples: NonNullable<boolean | "log" | undefined>; inlineRefs: NonNullable<number | boolean | undefined>; loopRequired: number; loopEnum: number; meta: NonNullable<boolean | SchemaObject | undefined>; messages: NonNullable<boolean | undefined>; addUsedSchema: NonNullable<boolean | undefined>; validateSchema: NonNullable<boolean | "log" | undefined>; validateFormats: NonNullable<boolean | undefined>; } & { code: InstanceCodeOptions; } | CurrentOptions & DeprecatedOptions & { strictSchema: NonNullable<boolean | "log" | undefined>; strictNumbers: NonNullable<boolean | "log" | undefined>; strictTypes: NonNullable<boolean | "log" | undefined>; strictTuples: NonNullable<boolean | "log" | undefined>; strictRequired: NonNullable<boolean | "log" | undefined>; inlineRefs: NonNullable<number | boolean | undefined>; loopRequired: number; loopEnum: number; meta: NonNullable<boolean | SchemaObject | undefined>; messages: NonNullable<boolean | undefined>; schemaId: NonNullable<"id" | "$id" | undefined>; addUsedSchema: NonNullable<boolean |… |
삭제된 클래스·인터페이스 멤버
| member | import | 이전 |
|---|---|---|
ErrorObject.dataPath | ajv | string |
변경된 클래스·인터페이스 멤버
| member | 이전 | 이후 |
|---|---|---|
default.compile | <T = unknown>(schema: Schema | JSONSchemaType<T>, _meta?: boolean | undefined): ValidateFunction<T> | <T = unknown>(schema: JTDSchemaType<T>, _meta?: boolean | undefined): ValidateFunction<T> | <T = unknown>(schema: AsyncSchema, _meta?: boolean | undefined): AsyncValidateFunction<T> | <T = unknown>(… | <T = unknown>(schema: Schema | JSONSchemaType<T>, _meta?: boolean | undefined): ValidateFunction<T> | <T = unknown>(schema: JTDSchemaType<T>, _meta?: boolean | undefined): ValidateFunction<T> | <N extends never, T extends SomeJTDSchemaType>(schema: T, _meta?: boolean | undefined): ValidateFunction<J… |
default.validate | (schema: string | Schema, data: unknown): boolean | (schemaKeyRef: string | AnySchema, data: unknown): boolean | Promise<unknown> | <T>(schema: string | Schema | JSONSchemaType<T>, data: unknown): data is T | <T>(schema: JTDSchemaType<T>, data: unknown): data is T | <T>(schema: AsyncSchema, data: un… | (schema: string | Schema, data: unknown): boolean | (schemaKeyRef: string | AnySchema, data: unknown): boolean | Promise<unknown> | <T>(schema: string | Schema | JSONSchemaType<T>, data: unknown): data is T | <T>(schema: JTDSchemaType<T>, data: unknown): data is T | <N extends never, T extends SomeJ… |
default._addSchema | (schema: AnySchema, meta?: boolean | undefined, validateSchema?: boolean | "log" | undefined, addSchema?: boolean | undefined): SchemaEnv | (schema: AnySchema, meta?: boolean | undefined, baseId?: string | undefined, validateSchema?: boolean | "log" | undefined, addSchema?: boolean | undefined): SchemaEnv |
SchemaCxt.dataTypes | ("string" | "number" | "boolean" | "object" | "integer" | "null" | "array")[] | ("string" | "number" | "boolean" | "object" | "integer" | "array" | "null")[] |
KeywordCxt.error | (append?: true | undefined): void | (append?: boolean | undefined, errorParams?: KeywordCxtParams | undefined, errorPaths?: ErrorPaths | undefined): void |
KeywordCxt.subschema | (appl: Partial<{ keyword: string; schemaProp: string | number; schema: AnySchema; schemaPath: Code; errSchemaPath: string; topSchemaRef: Code; data: Code; dataProp: string | number | Code; dataTypes: ("string" | "number" | "boolean" | "object" | "integer" | "null" | "array")[]; definedProperties: Se… | (appl: Partial<{ keyword: string; schemaProp: string | number; schema: AnySchema; schemaPath: Code; errSchemaPath: string; topSchemaRef: Code; data: Code; dataProp: string | number | Code; dataTypes: ("string" | "number" | "boolean" | "object" | "integer" | "array" | "null")[]; definedProperties: Se… |
KeywordCxt.schemaType | ("string" | "number" | "boolean" | "object" | "integer" | "null" | "array")[] | ("string" | "number" | "boolean" | "object" | "integer" | "array" | "null")[] |
ErrorObject.instancePath | string | undefined | string |
SchemaObjCxt.dataTypes | ("string" | "number" | "boolean" | "object" | "integer" | "null" | "array")[] | ("string" | "number" | "boolean" | "object" | "integer" | "array" | "null")[] |
CodeKeywordDefinition.type | "string" | "number" | "boolean" | "object" | "integer" | "null" | "array" | ("string" | "number" | "boolean" | "object" | "integer" | "null" | "array")[] | undefined | "string" | "number" | "boolean" | "object" | "integer" | "array" | "null" | ("string" | "number" | "boolean" | "object" | "integer" | "array" | "null")[] | undefined |
CodeKeywordDefinition.schemaType | "string" | "number" | "boolean" | "object" | "integer" | "null" | "array" | ("string" | "number" | "boolean" | "object" | "integer" | "null" | "array")[] | undefined | "string" | "number" | "boolean" | "object" | "integer" | "array" | "null" | ("string" | "number" | "boolean" | "object" | "integer" | "array" | "null")[] | undefined |
FuncKeywordDefinition.type | "string" | "number" | "boolean" | "object" | "integer" | "null" | "array" | ("string" | "number" | "boolean" | "object" | "integer" | "null" | "array")[] | undefined | "string" | "number" | "boolean" | "object" | "integer" | "array" | "null" | ("string" | "number" | "boolean" | "object" | "integer" | "array" | "null")[] | undefined |
FuncKeywordDefinition.schemaType | "string" | "number" | "boolean" | "object" | "integer" | "null" | "array" | ("string" | "number" | "boolean" | "object" | "integer" | "null" | "array")[] | undefined | "string" | "number" | "boolean" | "object" | "integer" | "array" | "null" | ("string" | "number" | "boolean" | "object" | "integer" | "array" | "null")[] | undefined |
KeywordErrorDefinition.message | string | Code | ((cxt: KeywordErrorCxt) => Code) | string | Code | ((cxt: KeywordErrorCxt) => string | Code) |
MacroKeywordDefinition.type | "string" | "number" | "boolean" | "object" | "integer" | "null" | "array" | ("string" | "number" | "boolean" | "object" | "integer" | "null" | "array")[] | undefined | "string" | "number" | "boolean" | "object" | "integer" | "array" | "null" | ("string" | "number" | "boolean" | "object" | "integer" | "array" | "null")[] | undefined |
MacroKeywordDefinition.schemaType | "string" | "number" | "boolean" | "object" | "integer" | "null" | "array" | ("string" | "number" | "boolean" | "object" | "integer" | "null" | "array")[] | undefined | "string" | "number" | "boolean" | "object" | "integer" | "array" | "null" | ("string" | "number" | "boolean" | "object" | "integer" | "array" | "null")[] | undefined |
새로 지원 중단됨
감지되지 않았습니다.
요구 사항 변경 (engines, peer 의존성)
감지되지 않았습니다.
새 export (3)
| import | export | kind |
|---|---|---|
ajv | Ajv | class |
ajv | MissingRefError | class |
ajv | ValidationError | class |
자주 묻는 질문
ajv을(를) 7에서 8(으)로 업그레이드할 때 호환성이 깨지는 변경은 무엇인가요?
ajv 7.2.4과 8.20.0 사이에서 Vigia는 삭제된 export 0개, 변경된 시그니처 4개, 삭제되거나 변경된 클래스·인터페이스 멤버 17개를 찾았습니다.
ajv 8에서 지원 중단된 것은 무엇인가요?
ajv 8.20.0에서 export 또는 멤버 0개가 새로 지원 중단으로 표시되었습니다.
에이전트용
GET https://vigia.coredls.cloud/v1/packages/npm/ajv/upgrade?from=7.2.4&to=8.20.0