@sanity/prettier-plugin-groq weekly downloads statistics
By sanity (6 listings) · npm · Prettier plugins
Prettier plugin for formatting GROQ queries
@sanity/prettier-plugin-groq has 32 recorded weekly downloads on npm, a decrease of 49.2% over the past 30 days, ranking #1861 of 2,322 tracked listings.
About @sanity/prettier-plugin-groq
prettier-plugin-groq
Prettier plugin for formatting GROQ (Graph-Relational Object Queries) queries.
Installation
npm install --save-dev prettier-plugin-groq prettier
# or
pnpm add -D prettier-plugin-groq prettier
Usage
Formatting .groq Files
The plugin automatically formats .groq files when loaded:
npx prettier --write "**/*.groq"
Configure in .prettierrc:
{
"plugins": ["prettier-plugin-groq"],
"printWidth": 80
}
Formatting Embedded GROQ in JavaScript/TypeScript
To format GROQ queries embedded in JavaScript/TypeScript files, add the embed plugin:
{
"plugins": ["prettier-plugin-groq", "prettier-plugin-groq/embed"]
}
This formats GROQ in:
- Tagged template literals:
groq..., `defineQuery`... - Function calls:
defineQuery("..."),defineQuery(...)
// Before formatting
const query = groq`*[_type=="post"]{title,body,"author":author->name}`
// After formatting
const query = groq`*[_type == "post"] { title, body, "author": author->name }`
Examples
Input
*[_type=="article"&&author._ref==$authorId]{title,"authorName":author->name,publishedAt,categories[]->{title,slug}}
Output
*[_type == "article" && author._ref == $authorId] {
title,
"authorName": author->name,
publishedAt,
categories[]->{ title, slug }
}
GROQ Syntax Notes
The formatter follows GROQ syntax rules:
- Object keys must be quoted for computed values:
{ "slug": slug.current } - Shorthand is valid when key matches the attribute:
{ title }(equivalent to{ "title": title }) - Projections after dereference use shorthand:
author->{ name } - Array traversals use implicit dereference:
categories[]->{ title }
WASM Acceleration
For better performance, this plugin can use WASM-compiled Rust for formatting. Initialize WASM at application startup:
import { initWasmFormatter, isWasmFormatterAvailable } from 'prettier-plugin-groq'
// Optional: Initialize WASM for better performance
await initWasmFormatter()
if (isWasmFormatterAvailable()) {
console.log('Using WASM formatter')
}
When WASM is available, formatting is ~5-10x faster. The plugin automatically falls back to TypeScript formatting if WASM is not available.
Options
This plugin respects standard Prettier options:
| Option | Default | Description |
|---|---|---|
printWidth | 80 | Line width for wrapping |
tabWidth | 2 | Indentation size |
useTabs | false | Use tabs instead of spaces |
License
MIT
Description from the npm listing.
- sanity
- groq
- prettier
- prettier-plugin
- formatter
README badge
Show your rank in a README or on your website. The badge updates automatically.
Charts
Images: 30d · 1y · all time · 1600×900 dark
Adoption over time
7/30/90-day growth
Ranking history
Listing placement
Listing placement
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.
Each band is one page of 20. Weekly downloads on a linear 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.
Recent observations
Full history (122)Similar npm Prettier plugins plugins
All 20 @sanity/prettier-plugin-groq alternativesData 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/@sanity/prettier-plugin-groq. First seen Oct 16, 2026; last successful collection Oct 20, 2026. See the methodology.