Giter VIP home page Giter VIP logo

esprima-next's Introduction

NPM version npm download Tests

Todo: Coverage does not work atm. 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.

esprima-next

A fork of esprima (https://github.com/jquery/esprima), cause esprima has no new releases and many not merged pull req. if development/maintenance at jquery will start again, we maybe remove this fork.

Changes to original Esprima:

  • Rename to esprima-next
  • generate a ESM build
  • update npm packages
  • disable npm run static-analysis && npm run dynamic-analysis, seem not to work after package update
  • we don't need to support node <= 12
  • ES2022 Class Properties & Privates
  • Support numeric seperator and BigInt
  • import assertions

following Pull reqs are merged from @esprima github:

  • Export Esrpima Nodes type #2045
  • Fix super() in non derived class #2047
  • Support for ES2020 import.meta #2052
  • Support for ES2020 export ns from #2055
  • Fix parsing error in exponent expressions with unary left-hand sides. #2070
  • bugfix import() #2076
  • Support ES2021 Logical Assignment #2082
  • ESM release support #2081

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-next');
> 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.

esprima-next's People

Contributors

ariya avatar jogibear9988 avatar constellation avatar ikarienator avatar jboekesteijn avatar mathiasbynens avatar ljqx avatar michaelficarra avatar jasonlaster avatar swatinem avatar mikesherov avatar loynoir avatar mrennie avatar eryue0220 avatar meir017 avatar lahma avatar josephpecoraro avatar jugglinmike avatar kingwl avatar fishbar avatar kondi avatar oxyc avatar mariusschulz avatar jryans avatar jifeon avatar ad-si avatar mikaelmayer avatar nzakas avatar markelog avatar gibson042 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.