Skip to content

Commit 819f608

Browse files
committed
Split most of the other sections by draft support
In some cases, this is a bit of an odd fit, so some notion of being "compatible" with recent drafts is used. UI and editors still need splitting. A few projects supporting only draft-03 were dropped entirely.
1 parent 2555f09 commit 819f608

File tree

3 files changed

+36
-40
lines changed

3 files changed

+36
-40
lines changed

_data/hyper-libraries-modern.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,6 @@
88
implementations:
99
- name: Core API Hyper-Schema codec
1010
url: "https://github.com/core-api/python-jsonhyperschema-codec"
11+
notes: "Draft-06+ progress: issue [12](https://github.com/core-api/python-jsonhyperschema-codec/issues/12)"
1112
draft: [4]
1213
license: BSD-2-Clause

implementations.md

Lines changed: 22 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ title: Implementations
44
permalink: /implementations.html
55
---
66

7-
_**NOTE:** This page lists implementations supporting draft-06 or later._
7+
_**NOTE:** This page lists implementations with (or actively working towards) support for draft-06 or later._
88

99
_For implementations supporting only draft-04 or older, see the [Obsolete Implementations](obsolete-implementations) page._
1010

@@ -77,10 +77,7 @@ Validators
7777

7878
### Benchmarks
7979

80-
- Java
81-
- [json-schema-validator-benchmark](https://github.com/networknt/json-schema-validator-perftest) - compares performance of three JSON schema validator implementations in Java(Apache 2.0)
82-
83-
<!-- -->
80+
Benchmarks that compare at least two implementations supporting draft-06+ may be listed here.
8481

8582
- JavaScript
8683
- [json-schema-benchmark](https://github.com/ebdrup/json-schema-benchmark) - an independent benchmark for Node.js JSON-schema validators based on JSON-Schema Test Suite (MIT)
@@ -130,31 +127,33 @@ Hyper-Schema
130127
Schema generation
131128
-----------------
132129

130+
Generators that produce schemas that are compatible with draft-06+ (e.g. no boolean `exlusiveMaximum`/`exclusiveMinimum`, no `id`, no hardwired draft-04 `$schema`) may be listed here. Such tools need not necessarily be able to generate every keyword from recent drafts.
131+
133132
- .NET
134133
- [Json.NET](https://www.newtonsoft.com/jsonschema) (AGPL-3.0) - generates schemas from .NET types
134+
- [NJsonSchema](http://NJsonSchema.org) - (Ms-PL) - generates schemas from .NET types, see issue [574](https://github.com/RSuter/NJsonSchema/issues/574) for draft-06+ support progress
135+
- Orderly
136+
- [Orderly](https://github.com/lloyd/orderly) (BSD-3-Clause)
135137
- PHP
136138
- [Liform](https://github.com/Limenius/liform) (MIT) - generates schemas from Symfony forms
137139
- Scala
138-
- [Schema Guru](https://github.com/snowplow/schema-guru) (Apache 2.0) - CLI util, Spark Job and Web UI for deriving JSON Schemas out of corpus of JSON instances
140+
- [Schema Guru](https://github.com/snowplow/schema-guru) (Apache 2.0) - CLI util, Spark Job and Web UI for deriving JSON Schemas out of corpus of JSON instances; see issue [178](https://github.com/snowplow/schema-guru/issues/178) for progress towards draft-06+ support
139141
- TypeScript
140142
- [typescript-json-schema](https://github.com/YousefED/typescript-json-schema)
141143
- Online (web tool)
142-
- [jsonschema.net](http://jsonschema.net/) - generates schemas from example data
144+
- [jsonschema.net](http://www.jsonschema.net) - generates schemas from example data
143145

144146
Data parsing and code generation
145147
--------------------------------
146148

147-
- Scala
148-
- [json-schema-codegen](https://github.com/VoxSupplyChain/json-schema-codegen) - Tool and SBT plugin for generating Scala, TypeScript models and parsers from Json-Schema definitions, *supports draft 4* (Apache 2.0)
149-
- [Argus](https://github.com/aishfenton/argus) (MIT) - Macros for building models from JSON Schemas
150-
- Swift
151-
- [Bric-à-brac](https://github.com/glimpseio/BricBrac) (MIT) - generates idiomatic swift structs and parser/serializer from JSON schemas
152149
- Golang
153-
- [gojsonschema](https://github.com/andy-zhangtao/gojsonschema)(Apache 2.0) - golang package for generating golang struct *supports Draft 4*. [Demo](http://json.golang.chinazt.cc)
154150
- [jsonschema](https://github.com/qri-io/jsonschema)(MIT) - idiomatic go implementation with custom validator support, coding to and from json, rich error returns *supports Draft 7*
155151

156152
UI generation
157153
-------------
154+
155+
_TODO: Sort by draft support._
156+
158157
Various levels of support for UI generation primarily from the validation vocabulary or combined with UI specific definition.
159158

160159
- JavaScript
@@ -175,6 +174,8 @@ Various levels of support for UI generation primarily from the validation vocabu
175174
Editors
176175
-------
177176

177+
_TODO: Sort by draft support._
178+
178179
- [Liquid XML Studio 2016](https://www.liquid-technologies.com/json-schema-editor) - *Graphical JSON schema editor for draft 4, context sensitive intellisense for JSON documents.*
179180
- [Visual Studio 2013](http://www.visualstudio.com/) - *Auto-completion and tooltips based on JSON schema draft 3 and draft 4*
180181
- [JSONBuddy](http://www.json-buddy.com/) - *Grid-style JSON editor and context sensitive entry-helpers based on JSON schema*
@@ -189,29 +190,26 @@ Editors
189190
Compatibility
190191
-------------
191192

192-
- JavaScript
193-
- [JSON Schema Compatibility](https://github.com/geraintluff/json-schema-compatability) - *converts draft 3 to draft 4* (Public Domain)
193+
Do you know of a tool that converts any version of JSON Schema to draft-07 or later? If so, please open a PR!
194194

195195
Documentation generation
196196
------------------------
197197

198198
- JavaScript
199-
- [Matic](https://github.com/mattyod/matic) (MIT)
200-
- [Docson](https://github.com/lbovet/docson) (Apache 2.0)
201-
- [doca](https://github.com/cloudflare/doca/) (BSD)
202-
- [prmd](https://github.com/interagent/prmd) (MIT)
199+
- [@cloudflare/json-schema-apidoc-loader](https://github.com/cloudflare/json-schema-tools/tree/master/workspaces/json-schema-apidoc-loader) Back-end for [@cloudflare/doca](https://github.com/cloudflare/json-schema-tools/tree/master/workspaces/doca), supporting draft-04, -06, -07, and Doca extensions (UI forthcoming)
203200

204201
Other
205202
-----
206203

207204
- JavaScript
208-
- [Orderly](https://github.com/lloyd/orderly) (BSD-3-Clause)
209-
- [Dojo](http://www.dojotoolkit.org/) (AFL or BSD) - supports some aspects of JSON Schema
210-
- [Schematic Ipsum](http://schematic-ipsum.herokuapp.com/) (MIT)
211-
- [JSON-Schema-Instantiator](https://github.com/tomarad/JSON-Schema-Instantiator) (MIT)
212-
- [JSON Schema Random](https://github.com/andreineculau/json-schema-random) (Apache 2.0)
205+
- [JSON Schema Tools](https://github.com/cloudflare/json-schema-tools) (BSD-3-Clause) Monorepo for various JSON Schema-related packages, including:
206+
- [@cloudflare/json-schema-walker](https://github.com/cloudflare/json-schema-tools/tree/master/workspaces/json-schema-walker) (BSD-3-Clause) Walks schemas (draft-04, -06, 07, and Cloudflare's Doca extensions) and runs pre- and post-walk callbacks. Can modify schemas in place.
207+
- [@cloudflare/json-schema-transform](https://github.com/cloudflare/json-schema-tools/tree/master/workspaces/json-schema-transform) (BSD-3-Clause) Utilities using @cloudflare/json-schema-walker for transformations including `allOf` merging and example roll-up.
208+
- [@cloudflare/json-schema-ref-loader](https://github.com/cloudflare/json-schema-tools/tree/master/workspaces/json-schema-ref-loader) (BSD-3-Clause) Webpack loader for dereference-able schemas in JSON, JSON5, YAML, or JavaScript
209+
- [@cloudflare/json-hyper-schema](https://github.com/cloudflare/json-schema-tools/tree/master/workspaces/json-hyper-schema) (BSD-3-Clause) Utilities for working with Link Description Objects
213210
- [json-schema-merge-allof](https://github.com/mokkabonna/json-schema-merge-allof) (MIT)
214211
- [json-schema-compare](https://github.com/mokkabonna/json-schema-compare) (MIT)
212+
- [JSON-Schema-Instantiator](https://github.com/tomarad/JSON-Schema-Instantiator) (MIT)
215213

216214
### Schema Repositories
217215
- [SchemaStore.org](http://schemastore.org/json/) - validate against common JSON Schemas

obsolete-implementations.md

Lines changed: 13 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,12 @@ title: Obsolete Implementations
44
permalink: /obsolete-implementations.html
55
---
66

7+
_**NOTE:** Due to the long gap after draft-04, many projects that implemented that draft became inactive by the time draft-06 was published, or are looking for new contributors to move forward. Such projects are listed here_
8+
9+
_For implementations supporting (or actively working towards) draft-06 or later, see the main [Implementations](implementations) page._
10+
11+
_Projects supporting only draft-03 or earlier are no longer listed._
12+
713
* TOC
814
{:toc}
915

@@ -73,7 +79,7 @@ Validators
7379
### Benchmarks
7480

7581
- Java
76-
- [json-schema-validator-benchmark](https://github.com/networknt/json-schema-validator-perftest) - compares performance of three JSON schema validator implementations in Java(Apache 2.0)
82+
- [json-schema-validator-benchmark](https://github.com/networknt/json-schema-validator-perftest) - compares performance of three JSON schema validator implementations (only one of which supports draft-06+) in Java(Apache 2.0)
7783

7884
<!-- -->
7985

@@ -126,23 +132,12 @@ Hyper-Schema
126132
Schema generation
127133
-----------------
128134

129-
- .NET
130-
- [Json.NET](http://james.newtonking.com/projects/json-net.aspx) (MIT) - generates schemas from .NET types
131-
- [NJsonSchema](http://NJsonSchema.org) - *supports draft 4* (Ms-PL) - generates schemas from .NET types
132-
- PHP
133-
- [Liform](https://github.com/Limenius/liform) (MIT) - generates schemas from Symfony forms
134135
- Python
135136
- [JSL](https://github.com/aromanovich/jsl) (BSD) - a Python DSL for defining JSON Schemas
136-
- Scala
137-
- [Schema Guru](https://github.com/snowplow/schema-guru) (Apache 2.0) - CLI util, Spark Job and Web UI for deriving JSON Schemas out of corpus of JSON instances
138137
- JavaScript
139138
- [json-schema-generator](https://github.com/krg7880/json-schema-generator) (MIT) - Node.js library usable both as a CLI util and as a Node module
140139
- TypeScript
141-
- [typescript-json-schema](https://github.com/YousefED/typescript-json-schema)
142140
- [Typson](https://github.com/lbovet/typson) (Apache 2.0)
143-
- Online (web tool)
144-
- [jsonschema.net](http://www.jsonschema.net/) - generates schemas from example data
145-
- [Schema Guru Web UI](http://schemaguru.snowplowanalytics.com/) - derives precise Schemas using several JSON instances. Based on [Schema Guru](link-impl-guru)
146141
- Visual Studio
147142
- [JSON Schema Generator](http://visualstudiogallery.msdn.microsoft.com/b4515ef8-a518-41ca-b48c-bb1fd4e6faf7) - free extension
148143
- Sparx Enterprise Architect
@@ -169,6 +164,9 @@ Data parsing and code generation
169164

170165
UI generation
171166
-------------
167+
168+
_TODO: Sort by draft support._
169+
172170
Various levels of support for UI generation primarily from the validation vocabulary or combined with UI specific definition.
173171

174172
- JavaScript
@@ -189,6 +187,8 @@ Various levels of support for UI generation primarily from the validation vocabu
189187
Editors
190188
-------
191189

190+
_TODO: Sort by draft support._
191+
192192
- [Liquid XML Studio 2016](https://www.liquid-technologies.com/json-schema-editor) - *Graphical JSON schema editor for draft 4, context sensitive intellisense for JSON documents.*
193193
- [Visual Studio 2013](http://www.visualstudio.com/) - *Auto-completion and tooltips based on JSON schema draft 3 and draft 4*
194194
- [JSONBuddy](http://www.json-buddy.com/) - *Grid-style JSON editor and context sensitive entry-helpers based on JSON schema*
@@ -212,17 +212,14 @@ Documentation generation
212212
- JavaScript
213213
- [Matic](https://github.com/mattyod/matic) (MIT)
214214
- [Docson](https://github.com/lbovet/docson) (Apache 2.0)
215-
- [doca](https://github.com/cloudflare/doca/) (BSD)
215+
- [doca](https://github.com/cloudflare/doca/) (BSD) See [@cloudflare/doca](https://github.com/cloudflare/json-schema-tools/tree/master/workspaces/doca) for draft-06+ support
216216
- [prmd](https://github.com/interagent/prmd) (MIT)
217217

218218
Other
219219
-----
220220

221221
- JavaScript
222-
- [Orderly](https://github.com/lloyd/orderly) (BSD-3-Clause)
223222
- [Dojo](http://www.dojotoolkit.org/) (AFL or BSD) - supports some aspects of JSON Schema
224-
- [Schematic Ipsum](http://schematic-ipsum.herokuapp.com/) (MIT)
225-
- [JSON-Schema-Instantiator](https://github.com/tomarad/JSON-Schema-Instantiator) (MIT)
226223
- [JSON Schema Random](https://github.com/andreineculau/json-schema-random) (Apache 2.0)
227224
- [json-schema-merge-allof](https://github.com/mokkabonna/json-schema-merge-allof) (MIT)
228225
- [json-schema-compare](https://github.com/mokkabonna/json-schema-compare) (MIT)

0 commit comments

Comments
 (0)