Skip to content
PluginStats

@sanity/vanilla-extract-vite-plugin weekly downloads statistics

By sanity (6 listings) · npm · Vite plugins

Vite 8 plugin for vanilla-extract with plugin hook filters and a caching compiler on Vite's ModuleRunner

View on npm Fresh · Oct 18, 2026

@sanity/vanilla-extract-vite-plugin has 10,144 recorded weekly downloads on npm, an increase of 841% over the past 30 days, ranking #959 of 2,322 tracked listings.

Weekly downloads
10,144
Official API · Oct 18, 2026
7-day growth
-13.2%
-1.5K weekly downloads
30-day growth
+841%
+9.1K weekly downloads
90-day growth
+355%
+7.9K weekly downloads
Rank
#959
Among tracked npm listings

About @sanity/vanilla-extract-vite-plugin

@sanity/vanilla-extract-vite-plugin

A Vite 8 plugin for vanilla-extract applications: it compiles .css.ts modules and feeds their CSS into Vite's own CSS pipeline (PostCSS, code-splitting, HMR, SSR) as virtual .vanilla.css modules — a rolldown-era alternative to @vanilla-extract/vite-plugin:

  • Plugin hook filters on transform/resolveId/load (vanilla-extract#1641), so rolldown-based Vite 8 skips the Rust ↔ JS roundtrip for every module that isn't vanilla-extract related — the main source of the PLUGIN_TIMINGS build warnings with the upstream plugin.
  • A caching compiler on Vite's Environment API / ModuleRunner instead of the legacy vite-node: .css.ts modules are evaluated through an internal Vite server and cached in its module graph, so rebuilds and HMR only re-evaluate what changed.
  • The environment-aware hotUpdate hook instead of the deprecated handleHotUpdate.
  • Style HMR in Vite's experimental bundled dev mode (experimental.bundledDev, e.g. sanity dev with unstable_bundledDev), where Vite never calls hotUpdate and @vanilla-extract/vite-plugin keeps serving the CSS it compiled at startup until the dev server restarts.

Head-to-head numbers against @vanilla-extract/vite-plugin — vite build across minify/target variants, dev HMR, and a hook-filter stress sweep — live in the vanilla-extract benchmarks.

For libraries that ship a single pre-extracted CSS file, use @sanity/vanilla-extract-rolldown-plugin (raw rolldown) or @sanity/vanilla-extract-tsdown-plugin (tsdown) instead — this plugin is for application dev servers and app builds.

Usage

pnpm add --save-dev @sanity/vanilla-extract-vite-plugin @vanilla-extract/css
// vite.config.ts
import {vanillaExtractPlugin} from '@sanity/vanilla-extract-vite-plugin'
import {defineConfig} from 'vite'

export default defineConfig({
  plugins: [vanillaExtractPlugin()],
})

Requires Vite 8. For older Vite versions, use @vanilla-extract/vite-plugin.

Options

vanillaExtractPlugin({
  /**
   * Formatting of identifiers (class names, keyframes, CSS vars, etc): 'short' (a hash of the
   * package name and file path, then a per-file counter), 'safe' ('short' with the version from
   * package.json also hashed in, so releases never share a class name), 'debug' ('short'
   * prefixed with file and debug names), or a custom function.
   * @defaultValue 'short' when `mode` is 'production', 'debug' otherwise
   */
  identifiers: 'short',
  /**
   * Which of your Vite plugins are re-instantiated inside the compiler server that evaluates
   * the `.css.ts` modules. By default no plugins are forwarded (and the filtering work is
   * skipped entirely) - most plugins don't affect `.css.ts` evaluation, and forwarding them
   * would run every transform twice. Vite's own options (like `resolve.tsconfigPaths`) still
   * apply to the compiler server through the forwarded config.
   */
  pluginFilter: ({name, mode}) => name === 'my-css-ts-affecting-plugin',
  /**
   * How the extracted CSS reaches the page during development. 'emitCss' (the default) serves
   * it through Vite's CSS pipeline; 'inlineCssInDev' additionally inlines all extracted CSS
   * into a <style> tag in the served HTML, preventing a flash of unstyled content in dev SSR
   * setups. Builds behave the same in both modes.
   * @defaultValue 'emitCss'
   */
  mode: 'emitCss',
})

tsconfig paths

Unlike @vanilla-extract/vite-plugin, this plugin does not forward the vite-tsconfig-paths plugin into its compiler server by default. On Vite 8, tsconfig path resolution is a built-in feature — prefer enabling resolve.tsconfigPaths in your vite.config.ts, which applies to the compiler server automatically (Vite options are forwarded as-is, only plugins are filtered):

// vite.config.ts
export default defineConfig({
  resolve: {tsconfigPaths: true},
  plugins: [vanillaExtractPlugin()],
})

If you need the vite-tsconfig-paths plugin regardless (e.g. for options the built-in doesn't cover), forward it explicitly with a pluginFilter:

vanillaExtractPlugin({
  pluginFilter: ({name}) => name === 'vite-tsconfig-paths',
})

Acknowledgements

The plugin is a port of @vanilla-extract/vite-plugin and its compiler is a port of @vanilla-extract/compiler onto Vite's Environment API (both MIT licensed, Copyright (c) 2021 SEEK). The full combined license notices are in this package's LICENSE file.

Description from the npm listing.

  • sanity-io
  • sanity
  • vanilla-extract
  • vite
  • vite-plugin
  • rolldown
  • css
  • plugin

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

@sanity/vanilla-extract-vite-plugin weekly downloads on npm, last 90 days: 10,144 weekly downloads as of Oct 18, 2026, +355% over 90 days.@sanity/vanilla-extract-vite-pluginWeekly downloads on npm · Last 90 days10,144downloads / week+355% over 90 days02K4K6K8K10K12K14K16K18KJul 20Aug 4Aug 19Sep 3Sep 18Oct 3Oct 18downloads / weekobservedarchived (Internet Archive)no observationsJul 22, 2026 – Oct 18, 2026 · 89 observations · Updated Oc…pluginstats.com
@sanity/vanilla-extract-vite-plugin weekly downloads on npm, last 90 days: 10,144 weekly downloads as of Oct 18, 2026, +355% over 90 days.

7/30/90-day growth

@sanity/vanilla-extract-vite-plugin weekly downloads growth on npm: -13.2% over 7 days, +841% over 30 days, +355% over 90 days.@sanity/vanilla-extract-vite-pluginWeekly downloads growth on npm10,144downloads / week now7-day growth-1,541 weekly downloads-13.2%30-day growth+9,066 weekly downloads+841%90-day growth+7,914 weekly downloads+355%Growth vs. nearest observation to each baseline date · Updated Oct 18, 2026pluginstats.com
@sanity/vanilla-extract-vite-plugin weekly downloads growth on npm: -13.2% over 7 days, +841% over 30 days, +355% over 90 days.

Ranking history

@sanity/vanilla-extract-vite-plugin npm ranking history: currently #959 (by weekly downloads).@sanity/vanilla-extract-vite-pluginnpm ranking · by weekly downloads · Last 90 days#959current rank#890#900#910#920#930#940#950#960#970Jul 22Aug 6Aug 21Sep 5Sep 20Oct 5Oct 20rankOct 18, 2026 – Oct 20, 2026 · 3 observations · Updated Oct 18, 2026pluginstats.com
@sanity/vanilla-extract-vite-plugin npm ranking history: currently #959 (by weekly downloads).

Listing placement

All npm2,320 listings · 116 pages · 1,162 shown · page 48, #20 (overall #960)
All npm: every listing in weekly downloads order

Listing placement

Vite plugins253 listings · 13 pages · page 8, #18 (overall #158)
Vite plugins: every listing in weekly downloads order

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)
Recent weekly downloads observations for @sanity/vanilla-extract-vite-plugin
Date (UTC)Weekly downloadsChange vs. previous
10,144-211
10,355-125
10,480-682
11,162-3.9K
15,019-630
15,6490
15,649+4K
11,685+592
11,093-110
11,203+1.5K
9,655+1.6K
8,019-2K
9,986-4.3K
14,292—

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/@sanity/vanilla-extract-vite-plugin. First seen Oct 16, 2026; last successful collection Oct 20, 2026. See the methodology.