Skip to content
📃 JSON Schema for Colophon
JavaScript
Branch: master
Clone or download
Pull request Compare This branch is 17 commits behind project-colophon:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github
schema
test
.colophon.yml
.editorconfig
.eslintrc
.gitignore
.npmrc
.releaserc
.remarkrc
LICENSE
README.md
circle.yml
error.js
index.js
package-lock.json
package.json
renovate.json
versions.js

README.md

Colophon Schema

License version Build Status

Schema & Validator for Colophon

Schema Specification

Versions

# status
2.0 stable
1.1 deprecated
1.0 deprecated

see an example of this repo's own .colophon.yml...

Install

Available as an npm package for validation purposes, exposes validation helper, and the schema itself (compatible with any JSON Schema validation tool)

npm install @colophon/schema

Usage

const parser = require('@colophon/schema')
const { schema, regex } = require('@colophon/schema/versions/latest')

Referencing older versions

const schemas = require('@colophon/schema/versions')

const { schema, regex } = schemas['1.0']

API

parser(colophon: String | Object): Promise<Object>

Resolves with content as a valid JavaScript Colophon Object Rejects with ColophonError on invalid schema test

Example: Valid Colophon
const parser = require('@colophon/schema')

const valid = { ... } // supply an Object or YAML String

const colophon = await parser(valid)
// colophon is a JavaScript Object (parsed from YAML string, or returned as is)
Example: Invalid Colophon
const parser = require('@colophon/schema')

// invalid
const invalid = `
version: 2.0

id: my-app
`

parser(invalid)
  .then(colophon)
  .catch(err => console.error(err.message, err.errors))
    // invalid colophon content
    // "err.errors" object contains schema errors
    // e.g. "err.errors": [ { message: "should have required property 'contacts'" } ]
    // see https://github.com/epoberezkin/ajv#validation-errors for details
}

Credits


Author: Ahmad Nassri • Github: @project-colophon • Twitter: @ColophonID

You can’t perform that action at this time.