Meriyah is a highly performant and stable JavaScript parser, currently at version 7.1.0, designed for 100% compliance with the ECMAScript® 2024 (ES-262 15th Edition) standard. It provides an ESTree-compatible Abstract Syntax Tree and operates without backtracking, contributing to its low memory footprint. While it actively supports Annex B (Web Browsers) features, JSX parsing, and select TC39 Stage 3 proposals like Decorators and JSON Modules via an opt-in `next` flag, it notably does *not* support TypeScript or Flow syntax. The project maintains a steady release cadence, frequently updating to reflect the latest ECMAScript specifications and address bug fixes, as evidenced by recent v6 and v7 patch and minor releases, ensuring it remains a cutting-edge tool for syntactic analysis.
npm install meriyahVerified import paths — ran on the pinned version, not inferred.
Demonstrates parsing a complex JavaScript module with various features, including ESNext proposals, web compatibility, location tracking, and error handling.
Review code that assigns values directly to the result of function calls, especially in contexts where Annex B (webcompat) features are enabled. Refactor such code to avoid this pattern.
For projects requiring TypeScript or Flow parsing, consider alternative parsers like `@typescript-eslint/typescript-estree` or `babel-parser`.
Update your Node.js environment to a version that supports the required RegExp features. Alternatively, set `validateRegex: false` in the parse options to bypass runtime RegExp validation, but be aware this may allow invalid RegExp to parse without error.
Ensure your project's Node.js version meets the `engines.node` requirement (>=20.0.0).
For ES modules, use `sourceType: 'module'`. For CommonJS, use `sourceType: 'commonjs'`. For JSX, enable `jsx: true` in the `parse` options.
Pass `{ sourceType: 'module' }` to the `parse` options: `parse(code, { sourceType: 'module' });`Pass `{ jsx: true }` to the `parse` options: `parse(code, { jsx: true });`Update your Node.js environment to a version that supports the required RegExp features (e.g., Node.js >= 24). Alternatively, set `validateRegex: false` in the parse options to bypass runtime RegExp validation.
No dependency data recorded yet.