| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 | #!/usr/bin/env node(function() {  var fs = require('fs');  var path = require('path');  var parse = require('../parser').parse;  var jsesc = require('jsesc');  var regexes = process.argv.splice(2);  var first = regexes[0];  var data;  var log = console.log;  var flags = '';  var main = function() {    if (/^(?:-h|--help|undefined)$/.test(first)) {      log([        '\nUsage:\n',        '\tregjsparser [regex ...]',        '\tregjsparser [-f | --flags] u [regex ...]',        '\tregjsparser [-v | --version]',        '\tregjsparser [-h | --help]',        '\nExamples:\n',        '\tregjsparser \'^foo.bar$\'',        '\tregjsparser \'[a-zA-Z0-9]\''      ].join('\n'));      return process.exit(1);    }    if (/^(?:-v|--version)$/.test(first)) {      log('v%s', require(path.resolve(__dirname, '../package.json')).version);      return process.exit(1);    }    if (/^(?:-f|--flags)$/.test(first)) {      flags = regexes[1];      regexes = regexes.slice(2);    }    regexes.forEach(function(snippet) {      try {        result = parse(snippet, flags);        log(jsesc(result, {          'json': true,          'compact': false,          'indent': '\t'        }));      } catch(error) {        log(error.message + '\n');        log('Error: failed to parse. Make sure the regular expression is valid.');        log('If you think this is a bug in regjsparser, please report it:');        log('\thttps://github.com/jviereck/regjsparser/issues/new');        log('\nStack trace:\n');        log(error.stack);        return process.exit(1);      }    });    // Return with exit status 0 outside of the `forEach` loop, in case    // multiple regular expressions were passed in.    return process.exit(0);  };  main();}());
 |