-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Feature] JSON Schema #25
Conversation
Thanks for this work @jenkin ! Open API schema and README looks good to me! :) I'm not exactly getting why git hooks are involved here ? Why not for example a "simple" |
Git hooks ensure that no commit can contain invalid or outdated schema. But we can disable them and use make rules manually to reduce complexity, if you are ok I can add a commit before merge. |
The simpler, the better :) So I'd better go with a documented release process and make utilities, yep, if that's ok for you :) |
Et voilà! :) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nice job, thanks 👍
Hi @yohanboniface @lonvia , any news? In the meantime I've published the draft in one of my repo... ;) Best! |
Waiting for merge of [PR25](geocoders/geocodejson-spec#25).
Waiting for merge of [PR25](geocoders/geocodejson-spec#25).
Looks okay. Just one question for my understanding: the human-readable |
Yes. Actually the spec is quite simple and mainly written as comments in code blocks, so we can use the json schema as source of truth and generate the human readable spec from it with a custom script. Maybe an additional task for the next v1 release (see #26)? |
Good point! But I don't know how to keep those in sync without setting up a complex workflow, so I'd say it's acceptable at this stage. @jenkin added you as owner :) |
This PR adds a complete JSON Schema that is compliant with the spec. It restricts the official GeoJSON schema defining two additional constraints related to
geocode
objects in GeoJSONFeatureCollection
andFeature
objects.It defines a JSON Schema for semver (see semver.org/issues/431) and for geohash.
It adds a simple toolchain managed with
make
to dereference and bundle external schemas (geojson as remote dependency, semver and geohash as local ones) and to compute checksum of distributed file. Human-editable files are insrc/
folder, final bundle is indraft/
folder with the human-readable spec.It also adds a simple README in root folder.
Refs: #24