Socket
Socket
Sign inDemoInstall

acorn-loose

Package Overview
Dependencies
1
Maintainers
3
Versions
12
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    acorn-loose

Error-tolerant ECMAScript parser


Version published
Weekly downloads
673K
increased by1.53%
Maintainers
3
Install size
633 kB
Created
Weekly downloads
 

Readme

Source

Acorn loose parser

An error-tolerant JavaScript parser written in JavaScript.

This parser will parse any text into an ESTree syntax tree that is a reasonable approximation of what it might mean as a JavaScript program.

It will, to recover from missing brackets, treat whitespace as significant, which has the downside that it might mis-parse a valid but weirdly indented file. It is recommended to always try a parse with the regular acorn parser first, and only fall back to this parser when that one finds syntax errors.

Community

Acorn is open source software released under an MIT license.

You are welcome to report bugs or create pull requests on github.

Installation

The easiest way to install acorn-loose is from npm:

npm install acorn-loose

Alternately, you can download the source and build acorn yourself:

git clone https://github.com/acornjs/acorn.git
cd acorn
npm install

Interface

parse(input, options) takes an input string and a set of options (the same options as acorn takes), and returns a syntax tree, even if the code isn't syntactically valid. It'll insert identifier nodes with name "✖" as placeholders in places where it can't make sense of the input. Depends on the acorn package, because it uses the same tokenizer.

var acornLoose = require("acorn-loose");
console.log(acornLoose.parse("1 / * 4 )[2]", {ecmaVersion: 2020}));

Like the regular parser, the loose parser supports plugins. You can take the LooseParser class exported by the module, and call its static extend method with one or more plugins to get a customized parser class. The class has a static parse method that acts like the top-level parse method.

isDummy(node) takes a Node and returns true if it is a dummy node inserted by the parser. The function performs a simple equality check on the node's name.

FAQs

Last updated on 26 Oct 2023

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc