Skip to content

GSoC 2025: Better JSON Schema Errors #870

Open
@jdesrosiers

Description

@jdesrosiers

Create a JavaScript library to convert standard JSON Schema output into clear, human-friendly error messages. The library should follow the examples set by existing tools like Atlassian's better-ajv-errors and Apideck's @apideck/better-ajv-errors, but use the standard JSON Schema output format introduced in draft-2019-09 instead of ajv's proprietary format.

Expected Outcomes

  • A library that transforms standard JSON Schema validation outputs into concise, easy-to-understand error messages.
  • A mechanism for loading and managing additional language packs to support presenting error messages in multiple languages.
  • Customization options for users to override default error messages or add custom ones.
  • Tested for compatibility with multiple implementations using the standard output format, including @hyperjump/json-schema.
  • Published on npm with proper versioning, a clear README, and example use cases.

Skills Required

  • JavaScript: Strong understanding of JavaScript and best practices for building libraries.
  • JSON Schema Specification: Familiarity with the JSON Schema standard, particularly the error output format introduced in draft-2019-09.
  • Error Message Design: Ability to translate structured error output into concise and meaningful human-friendly messages.
  • Library Development: Experience creating, testing, and documenting JavaScript libraries.
  • Open Source Practices: Understanding of Git, GitHub, and how to maintain a project for open source contributions.
  • Testing: Familiarity with Test-Driven Development (TDD) or Behavior-Driven Development (BDD) methodologies.
  • Collaboration: Comfortable using pair programming tools like VSCode LiveShare and participating in pair programming sessions for real-time collaboration.

Mentor(s)

Expected Difficulty

Medium

Expected Time Commitment

175 hours

QUALIFICATION TASK

https://github.com/hyperjump-io/json-schema-lite?tab=readme-ov-file#qualification-task

Metadata

Metadata

Assignees

No one assigned

    Labels

    gsocGoogle Summer of Code Project Idea

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions