nfreear / gaad-widget

Display a banner-link to promote Global Accessibility Awareness Day (GAAD) —
https://globalaccessibilityawarenessday.org
1 stars 2 forks source link

Validate `locales/*.json`; `package.json` #8

Open nfreear opened 7 years ago

nfreear commented 7 years ago

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);