Vigia

Upgrading ajv from 7.x to 8.x

Comparison of the public API of ajv 7.2.4 and 8.20.0, computed automatically from their TypeScript types. A changed signature is a candidate for a breaking change, not a certainty.

Summary

Removed import paths0
Removed exports0
Changed signatures4
Removed class or interface members1
Changed class or interface members16
Newly deprecated0
Requirement changes (engines, peer dependencies)0
New exports3

Removed exports

None detected.

Changed signatures

exportBeforeAfter
ajv · JSONType"string" | "number" | "boolean" | "object" | "integer" | "null" | "array""string" | "number" | "boolean" | "object" | "integer" | "array" | "null"
ajv · DefinedErrorTypeError | ApplicatorKeywordError | ValidationKeywordError | FormatError | UnevaluatedPropertiesError | UnevaluatedItemsError | DependentRequiredErrorTypeError | 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 · InstanceOptionsCurrentOptions & 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 |…

Removed class or interface members

memberimportBefore
ErrorObject.dataPathajvstring

Changed class or interface members

memberBeforeAfter
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.instancePathstring | undefinedstring
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.messagestring | 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

Newly deprecated

None detected.

Requirement changes (engines, peer dependencies)

None detected.

New exports (3)
importexportkind
ajvAjvclass
ajvMissingRefErrorclass
ajvValidationErrorclass

Frequently asked questions

What are the breaking changes when upgrading ajv from 7 to 8?

Between ajv 7.2.4 and 8.20.0, Vigia found 0 removed exports, 4 changed signatures and 17 removed or changed class or interface members.

What became deprecated in ajv 8?

0 exports or members are newly marked as deprecated in ajv 8.20.0.

For agents

GET https://vigia.coredls.cloud/v1/packages/npm/ajv/upgrade?from=7.2.4&to=8.20.0