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.

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.