aesprim.js 499 B

123456789101112131415161718
  1. var fs = require('fs');
  2. var Module = require('module');
  3. var file = require.resolve('esprima');
  4. var source = fs.readFileSync(file, 'utf-8');
  5. // inject '@' as a valid identifier!
  6. source = source.replace(/(function isIdentifierStart\(ch\) {\s+return)/m, '$1 (ch == 0x40) || ');
  7. //If run as script just output patched file
  8. if (require.main === module)
  9. console.log(source);
  10. else {
  11. var _module = new Module('aesprim');
  12. _module._compile(source, __filename);
  13. module.exports = _module.exports;
  14. }