Skip to content

Add or Modify jam01/json-schema in JSON Schema Ecosystem #2398

Description

@jam01

Tool Name

json-schema

Tool Description

A Scala 3 JSON Schema 2020-12 validator for JVM and Scala.js. Built on upickle's Visitor framework, it push-validates instances as they're parsed — no AST is built — and supports all four spec output formats, fully compliant and first-class annotation support (including correct unevaluated* propagation across $ref, applicators, and if/then/else), and pluggable vocabularies.

Action Type

  • Add Tool
  • Modify Tool

Tooling Types

  • validator
  • hyper-schema
  • benchmarks
  • documentation
  • LDO-utility
  • code-to-schema
  • data-to-schema
  • model-to-schema
  • schema-to-types
  • schema-to-code
  • schema-to-web-UI
  • schema-to-data
  • util-general-processing
  • util-schema-to-schema
  • util-draft-migration
  • util-format-conversion
  • util-testing
  • editor
  • editor-plugins
  • schema-repository
  • linter
  • linter-plugins

Languages

JVM (written in Scala)
javascript (through scala.js)

Environments

No response

Dependencies on Validators

Depends on networknt only for IDN validation, only the relevant classes are shipped with the this library

Creators

@jam01

Maintainers

@jam01

License

Apache 2.0

Source Repository URL

https://github.com/jam01/json-schema

Homepage URL

https://github.com/jam01/json-schema

Supported Dialects

  • 1
  • 2
  • 3
  • 4
  • 6
  • 7
  • 2019-09
  • 2020-12

Additional Dialects

No response

Bowtie Compliance Testing

No response

Tooling Listing Notes

No response

Compliance

fully compliant with 2020-12 mandatory + format two documented format-assertion limitations:

  • duration does not reject P…W combined with non-week units (the ISO 8601 ambiguity is left to upstream java.time).
  • idn-hostname / idn-email are fully compliant on JVM but only structural best-effort on Scala.js

other than that complies with output format including complete annotation support as delineated by the spec

Landscape Information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Status: TriageThis is the initial status for an issue that requires triage.dependenciesPull requests that update a dependency filejavascriptPull requests that update Javascript code

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions