NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #4387 most downloaded on npm
Query TypeScript ASTs with the esquery API!
Last release 6 months ago
06 Apr 2026
Release timing varies
gaps range from 6 weeks to 2.3 years
Rarely documented
notes for 5 of 28 stable releases
Nothing withdrawn
no release was ever pulled
8 years old
41 releases · first in 2018
Nothing published for this version
Nothing published for this version
Nothing published for this version
Restored working implementation of :nth-child() and :nth-last-child().
:nth-child() and :nth-last-child().One column per quarter.
Fixed the API signature of map, so it only works on a SourceFile.
map, so it only works on a SourceFile.Made the print function public, it's useful when doing map operations.
print function public, it's useful when doing map operations.Nothing published for this version
Add @types/esquery to dependencies.
@types/esquery to dependencies.The big breaking change here is that visitAllChildren is now the default behaviour. Less-specific queries that may have worked in previous versions ma…
I had to use TSQuery recently and found a few bugs, and wanted to add a few ergonomic things, so here's a major release.
The big breaking change here is that visitAllChildren is now the default behaviour. Less-specific queries that may have worked in
previous versions may no longer work exactly the same. This is a pretty annoying change for a very early mistake, but I figured it
was time to pull off the band-aid.
scriptKind parameter to query so the caller can control how TypeScript parses the input code.includes to simply check if there are any selector matches within some code.import { ast } from '@phenomnomnominal/tquery';typescript and esquery.replace now uses the TypeScript Printer to format the output code. This means that it will handle AST Node removal better, but also means that you may need to run any formatters (e.g. Prettier) on the result to have it match your codebase.:function selector will now match a MethodDeclaration.syntaxKindName function. This shouldn't have been in the public API.visitAllChildren option. This is now the default behaviour.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
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 →