Skip to content

Commit

Permalink
Use Logux config for ESLint
Browse files Browse the repository at this point in the history
  • Loading branch information
ai committed Jul 22, 2017
1 parent 05447f1 commit 9d3e5de
Show file tree
Hide file tree
Showing 23 changed files with 1,441 additions and 1,280 deletions.
5 changes: 1 addition & 4 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,8 @@ root = true

[*]
indent_style = space
indent_size = 4
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

[*.{json,yml}]
indent_size = 2
149 changes: 73 additions & 76 deletions cli.js
Original file line number Diff line number Diff line change
@@ -1,97 +1,94 @@
#!/usr/bin/env node

var browserslist = require('./');
var pkg = require('./package.json');
var args = process.argv.slice(2);
var browserslist = require('./')
var pkg = require('./package.json')
var args = process.argv.slice(2)

var USAGE = 'Usage:\n' +
' ' + pkg.name + ' "QUERIES"\n' +
' ' + pkg.name + ' --coverage "QUERIES"\n' +
' ' + pkg.name + ' --coverage=US "QUERIES"\n' +
' ' + pkg.name + ' --config="path/to/browserlist/file"\n' +
' ' + pkg.name + ' --env="environment name defined in config"\n' +
' ' + pkg.name + ' --stats="path/to/browserlist/stats/file"';
' ' + pkg.name + ' --stats="path/to/browserlist/stats/file"'

function isArg(arg) {
return args.some(function (str) {
return str === arg || str.indexOf(arg + '=') === 0;
});
function isArg (arg) {
return args.some(function (str) {
return str === arg || str.indexOf(arg + '=') === 0
})
}

function error(msg) {
process.stderr.write(pkg.name + ': ' + msg + '\n');
process.exit(1);
function error (msg) {
process.stderr.write(pkg.name + ': ' + msg + '\n')
process.exit(1)
}

if ( isArg('--help') || isArg('-h') ) {
process.stdout.write(pkg.description + '.\n\n' + USAGE + '\n');

} else if ( isArg('--version') || isArg('-v') ) {
process.stdout.write(pkg.name + ' ' + pkg.version + '\n');

if (isArg('--help') || isArg('-h')) {
process.stdout.write(pkg.description + '.\n\n' + USAGE + '\n')
} else if (isArg('--version') || isArg('-v')) {
process.stdout.write(pkg.name + ' ' + pkg.version + '\n')
} else {
var mode = 'browsers';
var opts = { };
var queries;
var country;

for ( var i = 0; i < args.length; i++ ) {
if ( args[i][0] !== '-' ) {
queries = args[i].replace(/^['"]|['"]$/g, '');
continue;
}

var arg = args[i].split('=');
var name = arg[0];
var value = arg[1];

if ( value ) value = value.replace(/^['"]|['"]$/g, '');

if ( name === '--config' || name === '-b' ) {
opts.config = value;
} else if ( name === '--env' || name === '-e' ) {
opts.env = value;
} else if ( name === '--stats' || name === '-s' ) {
opts.stats = value;
} else if ( name === '--coverage' || name === '-c' ) {
mode = 'coverage';
if ( value ) country = value;
} else {
error('Unknown arguments ' + args[i] + '.\n\n' + USAGE);
}
}

if ( !queries && !opts.config ) {
error('Define queries or browserslist config path.\n\n' + USAGE);
var mode = 'browsers'
var opts = { }
var queries
var country

for (var i = 0; i < args.length; i++) {
if (args[i][0] !== '-') {
queries = args[i].replace(/^['"]|['"]$/g, '')
continue
}

var browsers;
try {
browsers = browserslist(queries, opts);
} catch (e) {
if ( e.name === 'BrowserslistError' ) {
error(e.message);
} else {
throw e;
}
var arg = args[i].split('=')
var name = arg[0]
var value = arg[1]

if (value) value = value.replace(/^['"]|['"]$/g, '')

if (name === '--config' || name === '-b') {
opts.config = value
} else if (name === '--env' || name === '-e') {
opts.env = value
} else if (name === '--stats' || name === '-s') {
opts.stats = value
} else if (name === '--coverage' || name === '-c') {
mode = 'coverage'
if (value) country = value
} else {
error('Unknown arguments ' + args[i] + '.\n\n' + USAGE)
}


if ( mode === 'browsers' ) {
browsers.forEach(function (browser) {
process.stdout.write(browser + '\n');
});
}

if (!queries && !opts.config) {
error('Define queries or browserslist config path.\n\n' + USAGE)
}

var browsers
try {
browsers = browserslist(queries, opts)
} catch (e) {
if (e.name === 'BrowserslistError') {
error(e.message)
} else {
var result = browserslist.coverage(browsers, country);
var round = Math.round(result * 100) / 100.0;

var end = 'globally';
if (country && country !== 'global') {
end = 'in the ' + country.toUpperCase();
}

process.stdout.write(
'These browsers account for ' + round + '% of all users ' +
end + '\n');
throw e
}
}

if (mode === 'browsers') {
browsers.forEach(function (browser) {
process.stdout.write(browser + '\n')
})
} else {
var result = browserslist.coverage(browsers, country)
var round = Math.round(result * 100) / 100.0

var end = 'globally'
if (country && country !== 'global') {
end = 'in the ' + country.toUpperCase()
}

process.stdout.write(
'These browsers account for ' + round + '% of all users ' +
end + '\n')
}
}
Loading

0 comments on commit 9d3e5de

Please sign in to comment.