schemastore.orgにホストされているJSON schemaを利用して行う
"trailingComma": "es6" <= こういうのをうっかりpushしないようにしたい
.prettierrc
サンプル
.prettierrc
{
"printWidth": 120,
"tabWidth": 4,
"singleQuote": true,
"trailingComma": "es7"
}
validation実行
validate.js
const { get } = require('axios');
const { readFileSync } = require('fs');
const { Validator } = require('jsonschema');
const valid = new Validator();
(async () => {
try {
const result = valid.validate(
JSON.parse(readFileSync('./.prettierrc', 'utf-8')),
(await get('http://json.schemastore.org/prettierrc')).data
);
if (!result.errors) {
console.log('no error!');
} else {
result.errors.forEach(e => console.log(e.stack));
}
} catch (err) {
throw new Error(err);
}
})();
出力例
instance does not match allOf schema <#/definitions/optionsDefinition> with 1 error[s]:
instance.trailingComma is not one of enum values: none,all,es5