prettier-plugin-tsql weekly downloads statistics
By schallm (2 listings) · npm · Prettier plugins
Prettier plugin for T-SQL (Microsoft SQL Server) using the official ScriptDom parser
prettier-plugin-tsql has 328 recorded weekly downloads on npm, an increase of 1115% over the past 30 days.
It ranks #1544 of 2,256 tracked npm listings by weekly downloads.
Over 90 days, weekly downloads changed by +85.3%.
PluginStats has 121 daily observations since Jun 19, 2026; the latest is from Oct 17, 2026.
About prettier-plugin-tsql
prettier-plugin-tsql
Beta — covers the vast majority of T-SQL; a number of less-common statements (and rarer forms of some common ones) are kept as their original source text (see Pending implementation). Breaking changes possible before 1.0.
A Prettier plugin that formats T-SQL (SQL Server) using Microsoft's official Microsoft.SqlServer.TransactSql.ScriptDom parser — the same parser SQL Server itself uses. Supports SQL Server syntax up to and including SQL Server 2025 (via TSql180Parser).
Requires .NET 8+ Runtime to be installed on your machine (the SDK is not needed).
Features
Parses T-SQL via the official ScriptDom library (no hand-rolled grammar). Configurable keyword casing, layout density, and comma style. Preserves -- and /* */ comments — trailing, leading, inside procedure bodies, between parameters and AS — and never drops one. The test suite checks that formatting never changes what a statement means: every fixture's ScriptDom syntax tree must be the same before and after. Emits go batch separators where required and keeps a repeat count (GO 5); a script made only of comments is kept as written. Integrates with editor extensions that support Prettier (VS Code, etc.).
DML
• SELECT, INSERT, UPDATE, DELETE • MERGE INTO … USING … ON … WHEN MATCHED/NOT MATCHED • OUTPUT / OUTPUT INTO on INSERT, UPDATE, DELETE, and MERGE (including $action, inserted.*, deleted.*); MERGE … INSERT DEFAULT VALUES • OPTION (…) query hints on SELECT, INSERT, UPDATE, DELETE, and MERGE, including the distributed-query hints FORCE DISTRIBUTED PLAN, FORCE SINGLE NODE PLAN and FOR TIMESTAMP AS OF '…' • UPDATE / DELETE … WHERE CURRENT OF [GLOBAL] cursor • CTEs, UNION/UNION ALL, subqueries, derived tables (with column lists: (SELECT …) AS s (a, b)) • SELECT … INTO new_table [ON filegroup] • EXISTS / NOT EXISTS, GROUP BY / HAVING • CASE expressions (simple and searched), IN/NOT IN (value lists and subqueries), ANY/ALL subquery predicates • Inline VALUES(...) derived tables in FROM • TOP (n), TOP (n) PERCENT, TOP (n) WITH TIES • PIVOT / UNPIVOT • FOR XML (AUTO, PATH, RAW, EXPLICIT, XMLSCHEMA, ELEMENTS, ROOT, TYPE, etc.) and FOR JSON (AUTO, PATH, ROOT, INCLUDE_NULL_VALUES, WITHOUT_ARRAY_WRAPPER) • TABLESAMPLE [SYSTEM] (n PERCENT|ROWS) [REPEATABLE(seed)] • Temporal table queries — FOR SYSTEM_TIME AS OF, FROM … TO, BETWEEN … AND, CONTAINED IN, ALL • Joins: INNER, LEFT, RIGHT, FULL OUTER, CROSS JOIN, CROSS APPLY, OUTER APPLY; multiple joins, multi-predicate ON, self-joins, parenthesized joins, derived table joins • Table-valued functions (TVFs) in FROM clauses; table hints (WITH (NOLOCK), etc.) • Window functions with OVER clause — PARTITION BY, ORDER BY, full frame support (ROWS/RANGE BETWEEN … AND …, UNBOUNDED PRECEDING/FOLLOWING, CURRENT ROW); IGNORE NULLS/RESPECT NULLS; named window references; named WINDOW clause • Ordered set aggregates: WITHIN GROUP (ORDER BY …) for STRING_AGG, PERCENTILE_CONT/PERCENTILE_DISC, etc. • COLLATE after any expression — columns, literals, variables, function calls, CAST, CASE, subqueries • ODBC escapes: {fn UCASE(…)} function calls and {d '…'} / {ts '…'} literals • Expression functions: CAST, CONVERT, TRY_CAST, TRY_CONVERT (with full data type including length/precision), IIF, COALESCE, NULLIF, AT TIME ZONE, IS [NOT] DISTINCT FROM, TRIM(LEADING|TRAILING|BOTH …), TRIM(chars FROM str), PARSE, TRY_PARSE • Sequence expressions: NEXT VALUE FOR sequence [OVER (…)] • JSON functions: JSON_OBJECT(key: value, …), JSON_ARRAY(…), JSON_ARRAYAGG(… ORDER BY …) with ABSENT|NULL ON NULL • Full-text predicates: CONTAINS/FREETEXT (single column, multi-column, wildcard, LANGUAGE); CONTAINSTABLE/FREETEXTTABLE as join sources • Rowset functions: OPENJSON and OPENXML with WITH schema declarations; OPENJSON row-path and AS JSON columns; OPENROWSET provider and OPENROWSET(BULK …) forms • Built-in functions formatted as standard function calls: GREATEST, LEAST, DATE_BUCKET, DATETRUNC, GENERATE_SERIES, LEFT_SHIFT, RIGHT_SHIFT, BIT_COUNT, GET_BIT, SET_BIT, APPROX_PERCENTILE_CONT, APPROX_PERCENTILE_DISC, JSON_PATH_EXISTS, STRING_SPLIT, ISJSON, LTRIM, RTRIM
DDL…
Description from the npm listing.
- prettier
- prettier-plugin
- sql
- tsql
- t-sql
- sqlserver
- sql-server
- mssql
- formatter
Where prettier-plugin-tsql sits in the listing
Each band is one page of 20. Weekly downloads on a log scale. Placement is projected from weekly downloads, so it can differ from the marketplace's own sort order. Hover a dot to see the listing.
Charts
Images: 30d · 1y · all time · 1600×900 dark
Adoption over time
7/30/90-day growth
Filled points are observed values; hollow points come from Internet Archive snapshots of the listing page. Dashed segments span periods with no observations — values between points are not interpolated.
Recent observations
Full history (121)Similar npm Prettier plugins plugins
Data source
Weekly downloads (trailing 7 complete days) come from the official npm downloads API. Downloads include CI and mirrors and are not equivalent to installs or users. npm publishes no ratings.
Listing: https://www.npmjs.com/package/prettier-plugin-tsql. First seen Oct 16, 2026; last successful collection Oct 19, 2026. See the methodology.