sirenlint
Version:
A lint tool for validating Siren (http://sirenspec.org).
72 lines (46 loc) • 1.37 kB
Markdown
# sirenlint
A lint tool for validating Siren (http://sirenspec.org).
[](https://travis-ci.org/kevinswiber/sirenlint)
## Usage
### CLI
```
$ sirenlint <siren-file>
```
_or_
```
$ cat <siren-file> | sirenlint
```
#### Example
```
$ echo '{ "links": [ { "rel": ["edit"] } ] }' | sirenlint
{ "links": [ { "rel": ["edit"] } ] }
sirenlint: 2 problems were found
error: ["links",0], Link is missing `href` attribute
warning: ["links"], The main entity is missing a link with a `self` relation
```
#### Output
The `sirenlint` command will output the original input followed by a summary of errors and/or warnings.
The summary includes a stringified JSON array defining the JSON path of the associated error or warning
and a readable description of the problem.
### Library
```js
var fs = require('fs');
var path = require('path');
var validate = require('sirenlint');
var FILENAME = path.join(__dirname, '..', 'example', 'test.json');
var subject = fs.readFileSync(FILENAME);
var results = validate(subject);
results.forEach(function(r) {
if (r instanceof validate.ValidationWarning) {
console.log('WARNING:', r);
} else if (r instanceof validate.ValidationError) {
console.log('ERROR:', r);
}
});
```
## Install
```
npm install sirenlint -g
```
## License
MIT