All Downloads are FREE. Search and download functionalities are using the official Maven repository.

package.src.style-spec.bin.gl-style-validate Maven / Gradle / Ivy

The newest version!
#!/usr/bin/env node


var argv = require('minimist')(process.argv.slice(2), {
        boolean: 'json',
        boolean: 'mapbox-api-supported'
    }),
    validate = require('../').validate,
    validateMapboxApiSupported = require('../').validateMapboxApiSupported
    rw = require('rw'),
    status = 0;

if (argv.help || argv.h || (!argv._.length && process.stdin.isTTY)) {
    return help();
}

if (!argv._.length) {
    argv._.push('/dev/stdin');
}

argv._.forEach(function(file) {
    var errors;
    if (argv['mapbox-api-supported']) {
        errors = validateMapboxApiSupported(rw.readFileSync(file, 'utf8'));
    } else {
        errors = validate(rw.readFileSync(file, 'utf8'));
    }
    if (errors.length) {
        if (argv.json) {
            process.stdout.write(JSON.stringify(errors, null, 2));
        } else {
            errors.forEach(function (e) {
                console.log('%s:%d: %s', file, e.line, e.message);
            });
        }
        status = 1;
    }
});

process.exit(status);

function help() {
    console.log('usage:');
    console.log('  gl-style-validate file.json');
    console.log('  gl-style-validate < file.json');
    console.log('');
    console.log('options:');
    console.log('--json  output errors as json');
    console.log('--mapbox-api-supported  validate compatibility with Mapbox Styles API');
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy