NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #337 most downloaded on npm
Lexes ES modules returning their import/export metadata
Last release 27 days ago
07 Sep 2026
Release timing varies
gaps range from 2 weeks to 8 months
Most releases are documented
notes for 37 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
7 years old
79 releases · first in 2019
perf: reduce parser wrapper overhead by @BridgeAR in #248
Full Changelog: 3.0.1...3.0.2
fix: minimal build reexports report no local name by @guybedford in #246
Full Changelog: 3.0.0...3.0.1
One column per quarter.
Full build records are tagged unions discriminated by type ( static | reexport-star | dynamic | import-meta ; direct | reexport | reexport-all ) with
type (static | reexport-star | dynamic | import-meta; direct | reexport | reexport-all) with descriptive fields (specifier, importStart/importEnd, attributes, phase, name, localName, from, importIndex, exportStart) replacing the terse v2 names and numeric type tags. (#233)es-module-lexer/minimal is a new entry point holding the v2-shaped API: parse returns [imports, exports] only; at is dropped (read attributes via source.slice(a, se - 1)); export { a as b } from 'c' reports the imported name in ln/ls/le. (#211, #240)ImportType is a type-only union of named numeric literal aliases (StaticImportType = 1, DynamicImportType = 2, …); no runtime enum is exported. initSync is no longer exported — parse initializes on first use. (#240)es-module-lexer/js is the asm.js build; the unmaintained pure-JS port is removed. (#204)undefined. (#238)typeOnly, dynamic imports carry a best-effort probablyTypeOnly, and erased declaration bodies never leak nested import() types. Full builds only. (#220, #241)importName, from, importIndex) regardless of statement order; export * from appears in exports as reexport-all and its import as reexport-star. (#229)${…} collapsed to * (./locales/*.js), disambiguated by the parser so regex/division inside substitutions is handled. (#205)attributes is typed null; the options argument is located by attributesStart. (#240)parse initializes the Wasm synchronously on first call; await init is only required on browser main threads, and all four entry points export the same parse / init API. (#237, #240)eval: one-import parse 354 → 238 ns, and the Wasm builds now work under --disallow-code-generation-from-strings. (#239)Buffer. (#242)declare let/var and shorthand declare module 'm' no longer erase the following statement; export default interface Foo {} reports Foo as its local name. (#241)export { type as } / type as as follow TypeScript's specifier table; U+00A0 is whitespace around import/export names. (#220)chomp bench runs all four builds in one process and prints the README table; generated types/ are tracked in the repo. (#240)stripTypeScriptTypes in CI; no-eval lanes for minimal and CommonJS. (#220, #239)perf(lexer): skip identifier and number runs by @BridgeAR in #227
Full Changelog: 2.3.1...2.3.2
perf: fast native UTF-16 source copy into Wasm memory on Node by @guybedford in #224
Full Changelog: 2.3.0...2.3.1
docs: correct stale limitations and gzip size in README by @BridgeAR in #212
Full Changelog: 2.2.0...2.3.0
build(deps-dev): update dev dependencies to latest by @BridgeAR in #200
import with 2+ args as a dynamic import by @soberm in #207Full Changelog: 2.1.0...2.2.0
Always exclude dyn import attributes from specifier range by @nicolo-ribaudo in #197
Full Changelog: 2.0.0...2.1.0
feat: support import attribute item parsing by @guybedford in #194
Full Changelog: 1.7.0...2.0.0
feat: support import defer syntax by @guybedford in #187
Full Changelog: 1.6.0...1.7.0
fix: add exports type for lexer.asm.js by @ahaoboy in #179
initSync by @SukkaW in #185Full Changelog: 1.5.4...1.6.0
fix: of keyword context in for statement only by @guybedford in #178
Full Changelog: 1.5.3...1.5.4
fix: handling of of keyword by @guybedford in #174
fix: import type definitions by @guybedford in https://github.com/guybedford/es-module-lexer/pull/172
Full Changelog: https://github.com/guybedford/es-module-lexer/compare/1.5.1...1.5.2
Fix "of" regex case by @guybedford in https://github.com/guybedford/es-module-lexer/pull/171
Full Changelog: https://github.com/guybedford/es-module-lexer/compare/1.5.0...1.5.1
Source phase imports by @guybedford in https://github.com/guybedford/es-module-lexer/pull/168
Full Changelog: https://github.com/guybedford/es-module-lexer/compare/1.4.2...1.5.0
fix: handle regexp as default export by @fpipita in https://github.com/guybedford/es-module-lexer/pull/167
Full Changelog: https://github.com/guybedford/es-module-lexer/compare/1.4.1...1.4.2
fix: ignore dynamic import for hasModulesyntax by @sapphi-red in https://github.com/guybedford/es-module-lexer/pull/164
hasModulesyntax by @sapphi-red in https://github.com/guybedford/es-module-lexer/pull/164Full Changelog: https://github.com/guybedford/es-module-lexer/compare/1.4.0...1.4.1
types: add ParseError type by @sapphi-red in https://github.com/guybedford/es-module-lexer/pull/161
Full Changelog: https://github.com/guybedford/es-module-lexer/compare/1.3.1...1.4.0
fix: dynamic import paren ranges by @guybedford in https://github.com/guybedford/es-module-lexer/pull/157
Full Changelog: https://github.com/guybedford/es-module-lexer/compare/1.3.0...1.3.1
feat: simple destructuring support by @guybedford in https://github.com/guybedford/es-module-lexer/pull/154
Full Changelog: https://github.com/guybedford/es-module-lexer/compare/1.2.1...1.3.0
feat: import attributes support by @guybedford in https://github.com/guybedford/es-module-lexer/pull/150
Full Changelog: https://github.com/guybedford/es-module-lexer/compare/1.2.0...1.2.1
fix: default export cases by @guybedford in https://github.com/guybedford/es-module-lexer/pull/149
Full Changelog: https://github.com/guybedford/es-module-lexer/compare/1.1.1...1.2.0
Exports update by @guybedford in https://github.com/guybedford/es-module-lexer/pull/136
Full Changelog: https://github.com/guybedford/es-module-lexer/compare/1.1.0...1.1.1
fix: default export detections by @guybedford in https://github.com/guybedford/es-module-lexer/pull/141
Full Changelog: https://github.com/guybedford/es-module-lexer/compare/1.0.5...1.1.0
fix: export default export name bug by @guybedford in https://github.com/guybedford/es-module-lexer/pull/139
Full Changelog: https://github.com/guybedford/es-module-lexer/compare/1.0.4...1.0.5
Convert WASM bridge to TypeScript by @aomarks in https://github.com/guybedford/es-module-lexer/pull/130
types entry to exports map. by @dzearing in https://github.com/guybedford/es-module-lexer/pull/134Full Changelog: https://github.com/guybedford/es-module-lexer/compare/1.0.3...1.0.4
fix: import keyword brace by @guybedford in https://github.com/guybedford/es-module-lexer/pull/129
Full Changelog: https://github.com/guybedford/es-module-lexer/compare/1.0.2...1.0.3
fix: class brace state bug by @guybedford in https://github.com/guybedford/es-module-lexer/pull/128
Full Changelog: https://github.com/guybedford/es-module-lexer/compare/1.0.1...1.0.2
ci: fix CI by @guybedford in https://github.com/guybedford/es-module-lexer/pull/120
Full Changelog: https://github.com/guybedford/es-module-lexer/compare/0.10.5...1.0.1
ci: fix CI by @guybedford in https://github.com/guybedford/es-module-lexer/pull/120
Full Changelog: https://github.com/guybedford/es-module-lexer/compare/0.10.5...1.0.0
fix: fixed allocation calculation by @guybedford in https://github.com/guybedford/es-module-lexer/pull/113
Full Changelog: https://github.com/guybedford/es-module-lexer/compare/0.10.4...0.10.5
fix: asm.js analysis memory limits by @guybedford in https://github.com/guybedford/es-module-lexer/pull/111
Full Changelog: https://github.com/guybedford/es-module-lexer/compare/0.10.3...0.10.4
fix: asm.js allocations adjustments by @guybedford in https://github.com/guybedford/es-module-lexer/pull/110
Full Changelog: https://github.com/guybedford/es-module-lexer/compare/0.10.2...0.10.3
fix: asm.js memory allocations by @guybedford in https://github.com/guybedford/es-module-lexer/pull/109
Full Changelog: https://github.com/guybedford/es-module-lexer/compare/0.10.1...0.10.2
Chomp update by @guybedford in https://github.com/guybedford/es-module-lexer/pull/103
Full Changelog: https://github.com/guybedford/es-module-lexer/compare/0.10.0...0.10.1
feat: support ci on actions. by @richardo2016 in https://github.com/guybedford/es-module-lexer/pull/94
Full Changelog: https://github.com/guybedford/es-module-lexer/compare/0.9.3...0.10.0
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →