You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
881 B
41 lines
881 B
#!/usr/bin/env node |
|
|
|
let { readFileSync } = require('fs') |
|
let { join } = require('path') |
|
|
|
let updateDb = require('./') |
|
|
|
const ROOT = __dirname |
|
|
|
function getPackage() { |
|
return JSON.parse(readFileSync(join(ROOT, 'package.json'))) |
|
} |
|
|
|
let args = process.argv.slice(2) |
|
|
|
let USAGE = 'Usage:\n npx update-browserslist-db\n' |
|
|
|
function isArg(arg) { |
|
return args.some(i => i === arg) |
|
} |
|
|
|
function error(msg) { |
|
process.stderr.write('update-browserslist-db: ' + msg + '\n') |
|
process.exit(1) |
|
} |
|
|
|
if (isArg('--help') || isArg('-h')) { |
|
process.stdout.write(getPackage().description + '.\n\n' + USAGE + '\n') |
|
} else if (isArg('--version') || isArg('-v')) { |
|
process.stdout.write('browserslist-lint ' + getPackage().version + '\n') |
|
} else { |
|
try { |
|
updateDb() |
|
} catch (e) { |
|
if (e.name === 'BrowserslistUpdateError') { |
|
error(e.message) |
|
} else { |
|
throw e |
|
} |
|
} |
|
}
|
|
|