fast-json-stringify icon indicating copy to clipboard operation
fast-json-stringify copied to clipboard

lack of strictSchema in ajv options results in silent typos

Open autopulated opened this issue 1 year ago • 0 comments

Prerequisites

  • [X] I have written a descriptive issue title
  • [X] I have searched existing issues to ensure the issue has not already been raised

Issue

strictSchema is set to false in the ajv options (and overrides any user-provided ajv: options to the constructor, so it cannot be set to true by the user either).

This makes it very easily to add a schema with an error that is silently ignored.

In my case I made a typo with additionalProperties in a fastify response schema, which meant that additional properties were not removed from a response on serialisation that should have been.

It would seem like having strictSchema:true would be a better default? (which would be a breaking change needing a major version I suppose), or at least allow the user to set this.

I tested setting strictSchema:true and running the tests, and the only additional keyword used internally seems to be kind1,2, which is only used in tests.

autopulated avatar Jan 10 '24 16:01 autopulated