Skip to content
PluginStats

prettier-plugin-tv-groups weekly downloads statistics

By ivankhludov · npm · Prettier plugins

Prettier plugin: group tailwind-variants tv() base classes by modifier buckets

View on npm Fresh · Oct 17, 2026

prettier-plugin-tv-groups has 0 recorded weekly downloads on npm, a decrease of 100% over the past 30 days.

It ranks #2239 of 2,256 tracked npm listings by weekly downloads.

PluginStats has 121 daily observations since Jun 19, 2026; the latest is from Oct 17, 2026.

Weekly downloads
0
Official API · Oct 17, 2026
7-day growth
-100%
-1 weekly downloads
30-day growth
-100%
-5 weekly downloads
90-day growth
—
Insufficient history
Rank
#2239
Among tracked npm listings

About prettier-plugin-tv-groups

prettier-plugin-tv-groups

Prettier 3 plugin for tailwind-variants: it reorders the base field of tv({ ... }) (and other names you configure) into one string per modifier group (plain utilities, hover:, dark:, responsive prefixes, aria-, data-, etc.). The order of groups follows a fixed list inside the plugin; within each string, classes keep a stable order so a tool like prettier-plugin-tailwindcss can sort them afterward.

Example

Before — dozens of classes in arbitrary order, all in one base string (typical copy-paste / merge mess):

After Prettier runs with this plugin — base becomes an array of strings: plain layout/typography together, then hover:, focus-visible:, active:, disabled:, aria-, data-, breakpoints (md:, lg:), dark:, in a fixed group order decided by the plugin:

You can see at a glance which bucket a class belongs to; diffs stay localized to one array element when you tweak e.g. only dark mode. If you also use prettier-plugin-tailwindcss, it can sort names inside each string in the same format pass. A base that stays one literal is unchanged until you format with this plugin.

Requirements

• Node.js >= 18 • Prettier 3.8.1 (see peerDependencies in this package)

Install

Pin Prettier to the same major line your project already uses; this repo is tested with Prettier 3.8.1. prettier-plugin-tailwindcss is an optional peer — add it when you want Tailwind class sorting in the same format run.

Which files are handled

The plugin only hooks Prettier’s typescript and babel-ts parsers. In practice that is mainly .ts / .tsx, and .jsx when Prettier uses babel-ts. Plain .js often uses the babel parser; this package does not wrap that parser, so tv() grouping may not run unless you force a compatible parser (for example via overrides in your Prettier config).

Configure Prettier

Standalone (no Tailwind sorting) — .prettierrc or prettier.config with JSON:

Option: tvGroupsFunctionNames

Array of local callee names to treat like tv. Default: ["tv"].

• Only simple calls name({ base: ... }) are handled (Identifier callee, not foo.tv()). • If you use a single alias and no tv, set e.g. ["createVariants"] — then tv is not transformed unless you include it in the array. • [] disables grouping for this plugin.

Example:

With prettier-plugin-tailwindcss

prettier-plugin-tailwindcss is expected to be the last plugin in plugins. If you list prettier-plugin-tv-groups as a separate entry, Prettier may end up never running this plugin’s parsers, or you break Tailwind’s “last plugin” rule — so the supported approach is to attach tv-groups onto the Tailwind plugin.

Use a JavaScript config (for example prettier.config.mjs) and import attachTvGroupsToTailwind from the subpath prettier-plugin-tv-groups/attach-to-tailwind. Pass the namespace import of Tailwind’s plugin (import * as tailwindPlugin from "prettier-plugin-tailwindcss"), not a default export.

Add every name from tvGroupsFunctionNames to tailwindFunctions if you want class sorting inside those calls too.

If you use @ianvs/prettier-plugin-sort-imports, keep it before the combined Tailwind + tv-groups entry so import sorting still runs first.

The default export (prettier-plugin-tv-groups alone) is still useful for tests or when Tailwind is not loaded; it tries to delegate to Tailwind’s typescript / babel-ts parsers when that package is installed, but with both plugins listed separately, ordering is fragile — prefer attachTvGroupsToTailwind for day-to-day projects.

What gets rewritten

• First argument to the call must be an object literal with a base property. • base may be a string literal or an array of string literals only (no template literals with ${}, spreads, or arbitrary expressions).

Renamed imports are not inferred: you must add the local name via tvGroupsFunctionNames.

Development

License

Licensed under the MIT License.

Description from the npm listing.

  • prettier
  • prettier-plugin
  • tailwind
  • tailwind-variants

Charts

Images: 30d · 1y · all time · 1600×900 dark

Adoption over time

prettier-plugin-tv-groups weekly downloads on npm, last 90 days: 0 weekly downloads as of Oct 17, 2026.prettier-plugin-tv-groupsWeekly downloads on npm · Last 90 days0downloads / week0246810Jul 19Aug 3Aug 18Sep 2Sep 17Oct 2Oct 17downloads / weekobservedarchived (Internet Archive)no observationsJul 21, 2026 – Oct 17, 2026 · 89 observations · Updated Oc…pluginstats.com
prettier-plugin-tv-groups weekly downloads on npm, last 90 days: 0 weekly downloads as of Oct 17, 2026.
PNG SVG

7/30/90-day growth

prettier-plugin-tv-groups weekly downloads growth on npm: -100% over 7 days, -100% over 30 days, 90-day growth unavailable.prettier-plugin-tv-groupsWeekly downloads growth on npm0downloads / week now7-day growth-1 weekly downloads-100%30-day growth-5 weekly downloads-100%90-day growth+0 weekly downloadsInsufficient historyGrowth vs. nearest observation to each baseline date · Updated Oct 17, 2026pluginstats.com
prettier-plugin-tv-groups weekly downloads growth on npm: -100% over 7 days, -100% over 30 days, 90-day growth unavailable.
PNG SVG

Ranking history

prettier-plugin-tv-groups npm ranking history: currently #2239 (by weekly downloads).prettier-plugin-tv-groupsnpm ranking · by weekly downloads · Last 90 days#2239current rank#2232#2234#2236#2238#2240#2242Jul 21Aug 5Aug 20Sep 4Sep 19Oct 4Oct 19rankOct 18, 2026 – Oct 19, 2026 · 2 observations · Updated Oct 17, 2026pluginstats.com
prettier-plugin-tv-groups npm ranking history: currently #2239 (by weekly downloads).
PNG SVG

Listing placement

All npm2,256 listings · 113 pages · 1,130 shown · page 112, #20 (overall #2,240)
All npm: every listing in weekly downloads order
PNG SVG

Listing placement

Prettier plugins244 listings · 13 pages · page 12, #14 (overall #234)
Prettier plugins: every listing in weekly downloads order
PNG SVG

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 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.

Recent observations

Full history (121)
Recent weekly downloads observations for prettier-plugin-tv-groups
Date (UTC)Weekly downloadsChange vs. previous
00
0-1
10
10
10
10
10
1-1
20
20
2-3
50
50
5—

Similar npm Prettier plugins plugins

All 20 prettier-plugin-tv-groups alternatives

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-tv-groups. First seen Oct 16, 2026; last successful collection Oct 17, 2026. See the methodology.