Index: frontend/node_modules/regjsparser/bin/parser
===================================================================
--- frontend/node_modules/regjsparser/bin/parser	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/regjsparser/bin/parser	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,63 @@
+#!/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();
+
+}());
