homebridge-config-ui-x
Version:
A web based management, configuration and control platform for Homebridge
22 lines (14 loc) • 561 B
JavaScript
const Ajv = require('ajv')
const fs = require('fs')
const path = require('path')
const pack = require('ajv-pack')
const ajv = new Ajv({
sourceCode: true // this option is required by ajv-pack
})
const validate = ajv.compile(require('ajv/lib/refs/json-schema-draft-07.json'))
const moduleCode = `// This file is autogenerated by ${path.basename(__filename)}, do not edit
function nop () { return true }
${pack(ajv, validate).replace(/root\.refVal\[0\]/gm, 'nop')}
`
fs.writeFileSync(path.join(__dirname, 'schema-validator.js'), moduleCode)