Passer de ajv 7.x à 8.x
Comparaison de l’API publique de ajv 7.2.4 et 8.20.0, calculée automatiquement à partir de leurs types TypeScript. Une signature modifiée est un changement incompatible possible, pas une certitude.
Résumé
| Chemins d’importation supprimés | 0 |
|---|---|
| Exports supprimés | 0 |
| Signatures modifiées | 4 |
| Membres de classes ou d’interfaces supprimés | 1 |
| Membres de classes ou d’interfaces modifiés | 16 |
| Nouvelles dépréciations | 0 |
| Changements d’exigences (engines, dépendances peer) | 0 |
| Nouveaux exports | 3 |
Exports supprimés
Aucun détecté.
Signatures modifiées
| export | Avant | Après |
|---|---|---|
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 |… |
Membres de classes ou d’interfaces supprimés
| member | import | Avant |
|---|---|---|
ErrorObject.dataPath | ajv | string |
Membres de classes ou d’interfaces modifiés
| member | Avant | Après |
|---|---|---|
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 |
Nouvelles dépréciations
Aucun détecté.
Changements d’exigences (engines, dépendances peer)
Aucun détecté.
Nouveaux exports (3)
| import | export | kind |
|---|---|---|
ajv | Ajv | class |
ajv | MissingRefError | class |
ajv | ValidationError | class |
Questions fréquentes
Quels sont les changements incompatibles en passant de ajv 7 à 8 ?
Entre ajv 7.2.4 et 8.20.0, Vigia a trouvé 0 exports supprimés, 4 signatures modifiées et 17 membres de classes ou d’interfaces supprimés ou modifiés.
Qu’est-ce qui a été déprécié dans ajv 8 ?
0 exports ou membres sont désormais marqués comme dépréciés dans ajv 8.20.0.
Pour les agents
GET https://vigia.coredls.cloud/v1/packages/npm/ajv/upgrade?from=7.2.4&to=8.20.0