cli.js 881 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #!/usr/bin/env node
  2. let { readFileSync } = require('fs')
  3. let { join } = require('path')
  4. let updateDb = require('./')
  5. const ROOT = __dirname
  6. function getPackage() {
  7. return JSON.parse(readFileSync(join(ROOT, 'package.json')))
  8. }
  9. let args = process.argv.slice(2)
  10. let USAGE = 'Usage:\n npx update-browserslist-db\n'
  11. function isArg(arg) {
  12. return args.some(i => i === arg)
  13. }
  14. function error(msg) {
  15. process.stderr.write('update-browserslist-db: ' + msg + '\n')
  16. process.exit(1)
  17. }
  18. if (isArg('--help') || isArg('-h')) {
  19. process.stdout.write(getPackage().description + '.\n\n' + USAGE + '\n')
  20. } else if (isArg('--version') || isArg('-v')) {
  21. process.stdout.write('browserslist-lint ' + getPackage().version + '\n')
  22. } else {
  23. try {
  24. updateDb()
  25. } catch (e) {
  26. if (e.name === 'BrowserslistUpdateError') {
  27. error(e.message)
  28. } else {
  29. throw e
  30. }
  31. }
  32. }