Forms on VA.gov use JSON schema to define a common contract for data validation between the front and back ends. This is where those schemas are kept.
- Clone the repo
- Make a branch for your changes
- Make the changes needed for your form
- Update the version number in
package.json
- Submit a PR
- Once that PR is merged
- Create a PR in
vets-website
to update thevets-json-schema
dependency- This can be done with
yarn update:schema
- This can be done with
- If adding or removing a form, update forms tests in
vets-website
- Create a PR in
vets-api
to update the dependency
- Create a PR in
node v8.10.0
I want to... | Then you should... |
---|---|
clone the repo | git clone https://github.com/department-of-veterans-affairs/vets-json-schema.git followed by cd vets-json-schema , yarn install . Run yarn install any time package.json changes. |
build the json schemas and examples | yarn run build |
watch for changes and rebuild when they happen | yarn run watch |
run tests on the built schemas | yarn run test |
create a new schema | https://github.com/department-of-veterans-affairs/va.gov-team/blob/master/platform/engineering/frontend/vets-website/creating-form-schema.md |
- Update the "version" property in
package.json
with the new version. Please follow Semantic Versioning practices.- If implementing a major version update, add a link in your vets-json-schema PR that references the vets-api, or vets-website, PR that addresses the breaking changes.
- Breaking changes include:
- Removing a property from a schema
- Adding a property to a schema that has
additionalProperties
set to false - Making a property required that was not previously required on that schema
- Changing the
type
on a schema's property - Removing values in the
enum
key of a schema's property - ect.
- Run
yarn update
. - Commit the changes to
package.json
andyarn.lock
- After changes to
vets-json-schema
have been merged into master:- update
vets-website
to point to the latestvets-json-schema
version by runningyarn update:schema
and making a PR - update
vets-api
by runningbundle update vets_json_schema
and making a PR. Caution: verify that you changes are only related to vets_json_schema version. If you see sidekiq changes, follow these instructions
- update