# guybedford/es-module-lexer

Low-overhead lexer dedicated to ES module parsing for fast analysis

Repository: https://github.com/guybedford/es-module-lexer
Canonical: https://ross.abutalabs.com/products/es-module-lexer
Language: JavaScript
License: MIT
License Family: permissive
Last push: 2026-08-24T04:26:17+00:00

## Health v2 (maintenance only)
Score: 95/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 99, release rhythm 86, longevity 100
- inputs: {"age_days": 2582, "days_push": 9, "days_rel": 17, "gap_med": 35, "n_releases_24m": 8}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1031, forks 60 (observed 2026-08-28T04:03:18.078342+00:00)

## What it is
A tiny, fast JavaScript lexer (~7KiB gzipped with inlined WebAssembly) that parses ES module syntax to extract export names and import specifier locations, including dynamic import, import.meta, import attributes, and source phase imports. It is used by es-module-shims and is far faster than full JS parsers like Acorn.

## Use cases
- extract import and export metadata from ES module source code
- statically analyze JS modules without a full parser
- rewrite or transform import specifiers in bundled code
- detect dynamic imports and import attributes in source
- fast module graph analysis for bundlers or shims

## When to choose
- you need import/export info from ES modules at very high speed
- you want a tiny dependency with no full parser overhead
- you need support for the latest module syntax like import attributes and source phase imports

## When to avoid
- you need a full AST or to evaluate arbitrary JS syntax
- you need to parse CommonJS or non-module JavaScript
- you need scope or semantic analysis of code

## Facets
- artifact type: library
- maturity: stable
- function: parser, developer-tools
- domain: web-development, frontend, developer-tools, parsers
- platform: browser, wasm
- tags: es-modules, lexer, wasm, static-analysis, import-export-metadata, module-shims, javascript, nodejs

## Member repositories
- guybedford/es-module-lexer (main) score 95

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:03:18.078342+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T07:07:27.154767+00:00, confidence not recorded.
  - readme: https://github.com/guybedford/es-module-lexer (fetched 2026-08-28T04:03:18.078342+00:00, sha 8aa7aa2e1033)
  - registry_npm: https://registry.npmjs.org/es-module-lexer (fetched 2026-08-29T13:06:48.318204+00:00, sha 2171c8a233af)
- Data as of 2026-08-30T08:39:29.467469+00:00.
