acornjs/acorn

A small, fast, JavaScript-based JavaScript parser

View on GitHub ↗Jump to charts ↓Response time report

Summary Information

Updated 58 minutes ago
Added to GitGenius on June 22nd, 2026
Created on September 24th, 2012
Open Issues & Pull Requests: 17 (+0)
Number of forks: 1,040
Total Stargazers: 11,422 (+0)
Total Subscribers: 190 (+0)

Issue Activity (beta)

Open issues: 7
New in 7 days: 1
Closed in 7 days: 1
Avg open age: 958 days
Stale 30+ days: 7
Stale 90+ days: 5

Recent activity

Opened in 7 days: 1
Closed in 7 days: 1
Comments in 7 days: 1
Events in 7 days: 2

Top labels

  • spam (16)
  • enhancement (1)

Most active issues this week

Repository Insights (GitGenius)

Median issue/PR response: 1.2 hours
Mean response time: 3.5 days
90th percentile: 18.0 hours
Tracked items: 108

Most active contributors

Detailed Description

Acorn is a lightweight JavaScript parser written entirely in JavaScript, designed to be both small and fast. The repository is classified across multiple domains including JavaScript parsing, syntax analysis, AST generation, ECMAScript support, tokenization, and compiler frontend functionality. It serves as a foundational tool for code parsing and source code analysis within the JavaScript ecosystem.

The Acorn repository is organized as a monorepo containing three distinct packages. The main acorn package provides the core parser functionality. The acorn-loose package offers an error-tolerant variant of the parser that can handle malformed or incomplete JavaScript code. The acorn-walk package provides utilities for traversing and analyzing syntax trees generated by the parser. All three packages are maintained within the same repository and can be built together using npm install.

A defining characteristic of Acorn is its plugin architecture, which allows developers to extend and customize parser behavior without forking the entire codebase. Plugins function as transformations applied to the Parser class, enabling the creation of parsers for JavaScript dialects and language extensions. The plugin system permits modification of tokenization behavior, addition of new token types, and extension of parser methods. While the plugin API requires understanding of Acorn's internal implementation and may break with significant internal changes, it enables powerful customization scenarios. Multiple plugins can theoretically be combined to support complex language features simultaneously, such as parsing code that contains both JSX syntax and type annotations.

According to GitGenius activity tracking, the repository demonstrates strong community engagement with a median issue and pull request response latency of 1.2 hours across 104 tracked items, though the mean response time extends to 85.3 hours, indicating some variation in response patterns. The most active contributor tracked is marijnh with 173 recorded events, followed by RReverser with 49 events and fisker with 7 events. Spam-related issues represent the most common label tracked by GitGenius with 16 instances, while enhancement requests account for 1 tracked item.

The repository's influence extends across major JavaScript and systems projects. GitGenius identifies overlapping contributors with rust-lang/rust, nodejs/node, and microsoft/typescript, indicating that Acorn serves as a critical dependency or reference point for parsing infrastructure in these significant open-source projects. This cross-project involvement underscores Acorn's importance as a foundational parsing tool within the broader JavaScript and programming language ecosystem.

The project is released under an MIT license and actively welcomes community contributions through bug reports and pull requests on GitHub. The repository maintains an explicit commitment to open-source principles and community participation in its development process.

acorn
by
acornjsacornjs/acorn

Repository Details

Fetching additional details & charts...