zeit/schemas

Name: schemas

Owner: ZEIT

Description: All schemas used for validation that are shared between our projects

Created: 2018-05-16 10:03:45.0

Updated: 2018-05-17 05:30:17.0

Pushed: 2018-05-24 09:06:38.0

Homepage: https://npmjs.com/@zeit/schemas

Size: 26

Language: JavaScript

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

ZEIT's schemas

Build Status Join the community on Spectrum

The schemas contained within this package are used all across the ZEIT ecosystem to validate config files, requests to APIs and more. It ensures users always send just the right data.

Why?

It is important that these schemas stay in sync between projects, so that the validations are always performed in the same way for the same kind of object.

The files located in this repository are .js and not .json, because parsing JSON takes a little bit longer.

Usage

To get started, pick one of the schemas in this repository and load it:

t schema = require('@zeit/schemas/deployment/config');

Next, set up AJV (the validator) and run the schema through it:

t AJV = require('ajv');

t ajv = new AJV({ allErrors: true });
t isValid = ajv.validate(schema, <object-to-validate>);

!isValid) {
console.error(`The following entries are wrong: ${JSON.stringify(ajv.errors)}`);

That is all! :tada:

Contributing
  1. Fork this repository to your own GitHub account and then clone it to your local device
  2. Link the package to the global module directory: npm link
  3. Within the module you want to test your local development instance of @zeit/schemas, just link it to the dependencies: npm link @zeit/schemas and load it!
Author

Leo Lamprecht (@notquiteleo) - ZEIT


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.