Socket
Socket
Sign inDemoInstall

acorn-node

Package Overview
Dependencies
3
Maintainers
40
Versions
17
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    acorn-node

the acorn javascript parser, preloaded with plugins for syntax parity with recent node versions


Version published
Weekly downloads
3.5M
increased by2.42%
Maintainers
40
Install size
1.30 MB
Created
Weekly downloads
 

Package description

What is acorn-node?

The acorn-node package is an extension of the popular Acorn JavaScript parser, tailored specifically for Node.js environments. It includes additional support for parsing Node.js-specific syntax and features, making it an ideal choice for developers working on Node.js applications who need to analyze or manipulate JavaScript code programmatically.

What are acorn-node's main functionalities?

Parsing JavaScript

This feature allows you to parse a string of JavaScript code into an abstract syntax tree (AST), which can then be analyzed or manipulated. This is useful for tools that need to understand or transform JavaScript code.

const { parse } = require('acorn-node');
const AST = parse('const x = 1;');

Node.js Syntax Support

acorn-node extends Acorn to support Node.js-specific syntax, such as the `require` function. This makes it particularly useful for analyzing or transforming Node.js codebases.

const { parse } = require('acorn-node');
const AST = parse('require("path");', { ecmaVersion: 2020 });

Other packages similar to acorn-node

Changelog

Source

2.0.1

  • Fix crash on class methods named static:
    class X {
      static () {}
    }
    

Thanks @kumavis!

Readme

Source

acorn-node

Acorn preloaded with plugins for syntax parity with recent Node versions.

It also includes versions of the plugins compiled with Bublé, so they can be run on old Node versions (0.6 and up).

npm travis standard

Install

npm install acorn-node

Usage

var acorn = require('acorn-node')

The API is the same as acorn, but the following syntax features are enabled by default:

  • Bigint syntax 10n
  • Numeric separators syntax 10_000
  • Public and private class instance fields
  • Public and private class static fields
  • Dynamic import()
  • The import.meta property
  • export * as ns from syntax

And the following options have different defaults from acorn, to match Node modules:

  • ecmaVersion: 2019
  • allowHashBang: true
  • allowReturnOutsideFunction: true
var walk = require('acorn-node/walk')

The Acorn syntax tree walker. Comes preconfigured for the syntax plugins if necessary. See the acorn documentation for details.

License

The files in the repo root and the ./test folder are licensed as Apache-2.0.

The files in lib/ are generated from other packages:

Keywords

FAQs

Last updated on 30 May 2020

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