
Security News
Meet Socket at Black Hat Europe and BSides London 2025
Socket is heading to London! Stop by our booth or schedule a meeting to see what we've been working on.
acorn-loose
Advanced tools
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.
Acorn is open source software released under an MIT license.
You are welcome to report bugs or create pull requests on github.
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
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.
Esprima is a high-performance, standard-compliant ECMAScript parser written in JavaScript. Unlike acorn-loose, Esprima is more strict and does not handle syntax errors as gracefully. It is best suited for applications where the input code is expected to be correct.
Espree is the parser that powers ESLint. It is built on top of Acorn and is designed to be used in linting tools. While it can handle some syntax errors, it is generally more strict compared to acorn-loose.
FAQs
Error-tolerant ECMAScript parser
The npm package acorn-loose receives a total of 1,793,733 weekly downloads. As such, acorn-loose popularity was classified as popular.
We found that acorn-loose demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 3 open source maintainers collaborating on the project.
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.

Security News
Socket is heading to London! Stop by our booth or schedule a meeting to see what we've been working on.

Security News
OWASP’s 2025 Top 10 introduces Software Supply Chain Failures as a new category, reflecting rising concern over dependency and build system risks.

Research
/Security News
Socket researchers discovered nine malicious NuGet packages that use time-delayed payloads to crash applications and corrupt industrial control systems.