Update identifier parsing per Unicode v12.1.0

ECMAScript follows the latest version of the Unicode Standard. Unicode v12.1.0 was officially released on May 7th, 2019. This patch updates Esprima to support the new identifier characters.

Ref. https://github.com/tc39/ecma262/issues/1530.

Closes gh-1978
2 files changed
tree: 56547e4b532be9fd3c2579b0cc3b8f645ea575f0
  1. .circleci/
  2. .github/
  3. bin/
  4. dist/
  5. docs/
  6. src/
  7. test/
  8. tools/
  9. .editorconfig
  10. .gitignore
  11. .gitlab-ci.yml
  12. .npmignore
  13. .travis.yml
  14. appveyor.yml
  15. ChangeLog
  16. CONTRIBUTING.md
  17. LICENSE.BSD
  18. package.json
  19. README.md
  20. webpack.config.js
README.md

NPM version npm download Build Status Coverage Status

Esprima (esprima.org, BSD license) is a high performance, standard-compliant ECMAScript parser written in ECMAScript (also popularly known as JavaScript). Esprima is created and maintained by Ariya Hidayat, with the help of many contributors.

Features

API

Esprima can be used to perform lexical analysis (tokenization) or syntactic analysis (parsing) of a JavaScript program.

A simple example on Node.js REPL:

> var esprima = require('esprima');
> var program = 'const answer = 42';

> esprima.tokenize(program);
[ { type: 'Keyword', value: 'const' },
  { type: 'Identifier', value: 'answer' },
  { type: 'Punctuator', value: '=' },
  { type: 'Numeric', value: '42' } ]
  
> esprima.parseScript(program);
{ type: 'Program',
  body:
   [ { type: 'VariableDeclaration',
       declarations: [Object],
       kind: 'const' } ],
  sourceType: 'script' }

For more information, please read the complete documentation.