Validate `locales/*.json`; `package.json`
-
https://npmjs.com/package/nice-package ~
npm i nice-package --save-dev
- https://npmjs.com/package/revalidator
bin/nice.js
:
#!/usr/bin/env node
const Package = require('nice-package');
const path = require('path');
const pkg = new Package(require(path.join(__dirname, '/../package.json')));
console.log('nice-package? %s', pkg.valid);
console.log(pkg.validationErrors);
process.exit(pkg.valid ? 0 : 1);
bin/lintl.js
:
#!/usr/bin/env node
/**
* Node CLI. Validate the locale JSON files.
*/
const revalidator = require('revalidator');
const path = require('path');
const LOCALE_DIR = path.join(__dirname, '/../locales/');
var result = {};
var allValid = true;
require('fs').readdirSync(LOCALE_DIR).forEach(function (file) {
var lname = file.replace('.json', '');
var locale = require(path.join(LOCALE_DIR, file));
result[ file ] = revalidator.validate(locale, {
properties: {
name: {
type: 'string',
required: false
},
before: {
type: 'string',
required: true
},
after: {
type: 'string',
required: true
},
url: {
type: 'string',
// format: 'url', ?
required: false
}
}
});
result[ file ].file = file;
allValid = allValid && result[ file ].valid;
console.dir(result[ file ]);
});
console.log('Locale JSON valid? %s', allValid);
process.exit(allValid ? 0 : 1);