{"library":"sirenlint","title":"sirenlint","description":"A lint tool for validating Siren hypermedia documents against the Siren specification (sirenspec.org). Version 0.5.0 is the latest stable release, but the project appears to be in maintenance mode with infrequent updates. It provides both a CLI for piping/reading Siren JSON files and a programmatic API. Key differentiators: focused solely on Siren validation (no generic JSON/HAL/Collection+JSON support), outputs structured error/warning objects with JSON path information. Alternatives include custom Siren validators or generic JSON schema validators.","language":"javascript","status":"maintenance","last_verified":"Fri May 01","install":{"commands":["npm install sirenlint"],"cli":{"name":"sirenlint","version":null}},"imports":["const validate = require('sirenlint');","const { ValidationError } = require('sirenlint');","const { ValidationWarning } = require('sirenlint');"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"const fs = require('fs');\nconst validate = require('sirenlint');\n\nconst sirenJson = `{ \"class\": [\"order\"], \"properties\": { \"orderNumber\": 42 }, \"entities\": [], \"links\": [] }`;\nconst results = validate(sirenJson);\n\nresults.forEach(r => {\n  if (r instanceof validate.ValidationError) {\n    console.error('ERROR:', r.path, r.message);\n  } else if (r instanceof validate.ValidationWarning) {\n    console.warn('WARNING:', r.path, r.message);\n  }\n});","lang":"javascript","description":"Demonstrates programmatic validation of a Siren document, iterating over errors and warnings.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":null}