Skip to content
PluginStats

vibelang-unplugin weekly downloads statistics

By smithersai (3 listings) · npm · Webpack plugins

Compile VibeLang source modules with vibelang in webpack, Rollup, Rolldown, esbuild, Rspack, and Bun

View on npm Fresh · Nov 4, 2026

vibelang-unplugin has 893 recorded weekly downloads on npm, ranking #1643 of 2,819 tracked listings.

Weekly downloads
893
Official API · Nov 2, 2026
7-day growth
—
Insufficient history
30-day growth
—
Insufficient history
90-day growth
—
Insufficient history
Rank
#1643
Among tracked npm listings

About vibelang-unplugin

vibelang-unplugin

Warning: VibeLang is v0. The language will change in major, breaking ways. It is not suitable for production use.

Compile .vibe modules with the native VibeLang compiler in webpack, Rspack, Rollup, Rolldown, esbuild, and Bun. The compiler owns type and language diagnostics. The plugin serves its JavaScript and source maps, reports its diagnostics as build errors with file, line, and column, and recompiles in watch mode. For Vite and Vitest, use vibelang-vite.

Install

npm install --save-dev vibelang vibelang-unplugin

The plugin compiles with the vibelang package, a peer dependency, through its vibelang/project backend. It needs Node 26 or later.

Configure

Keep your normal tsconfig.json with the .vibe sources included; the plugin uses the same compiler options and diagnostics as vibelang -p tsconfig.json.

// webpack.config.js
import vibelang from "vibelang-unplugin/webpack"
export default { plugins: [vibelang()] }

// rspack.config.js
import vibelang from "vibelang-unplugin/rspack"
export default { plugins: [vibelang()] }

// rollup.config.js and rolldown.config.js
import vibelang from "vibelang-unplugin/rollup" // or vibelang-unplugin/rolldown
export default { input: "src/main.ts", plugins: [vibelang()] }

// esbuild
import vibelang from "vibelang-unplugin/esbuild"
await esbuild.build({ entryPoints: ["src/main.ts"], bundle: true, plugins: [vibelang()] })

// Bun
import vibelang from "vibelang-unplugin/bun"
await Bun.build({ entrypoints: ["src/main.ts"], outdir: "out", plugins: [vibelang()] })

Import local sources as ./welcome.vibe and ./config.ts. The compiler rewrites those imports to ./welcome.js and ./config.js; the plugin resolves them back to welcome.vibe and config.ts. The plugin compiles only .vibe modules; .ts files go through your bundler's usual TypeScript support.

A .vibe module of another workspace package, such as one that your app imports by name, compiles with the nearest tsconfig.json above it: its own package's project, with that package's settings. That holds outside root and for a package nested inside it, a directory with its own package.json and tsconfig.json. Each project compiles once per build or watch rebuild.

A config that the bundled program evaluates

Some tools declare a bundle's options in the module they bundle. An Alchemy Worker's build props sit in the Worker's own module, so the Worker runs that code too, and a static import of vibelang-unplugin/rolldown there would bundle the compiler backend into the Worker. Import vibelang-unplugin/deferred instead. It imports nothing, and deferred(bundler, options) returns a promise-like plugin that loads vibelang-unplugin/<bundler> only when the bundler awaits its plugin list:

// worker/Api.ts, an Alchemy Worker
import { deferred } from "vibelang-unplugin/deferred"

export default class Api extends Cloudflare.Worker<Api>()("Api", {
  main: "worker/Api.ts",
  build: { input: { plugins: [deferred("rolldown")] } }
}, program) {}

The bundlers that await plugins are Rolldown, Rollup, and Vite; deferred refuses the others.

An entry module's main

A module that exports a parameterless main runs it when the host starts the module (D135). A bundle runs the main of its entry module and no other, as an ES module or as CommonJS, with this plugin or from the compiler's output: the runtime asks the file the host started which main it exports.

Options

vibelang({
  project: "tsconfig.app.json", // Relative to root; default: tsconfig.json.
  root: "/path/to/app", // Default: the webpack or Rspack context, esbuild's absWorkingDir, or the working directory.
  compiler: "/absolute/path/to/vibelang" // Native binary or Node launcher.
})

Without a compiler option, the plugin runs VIBELANG_BINARY, else the launcher of the vibelang package resolved from the root. Set VIBELANG_UNPLUGIN_DEBUG=1 to trace each build start, compile, and module load on stderr.

How it works

VibeLang's emit is type-directed: a module's JavaScript depends on the contracts of the modules it imports. So v0 compiles the whole project with one vibelang process per build, on the first .vibe module load, and again on every watch rebuild. The compiler writes to a directory under the system temporary directory; the plugin reads the JavaScript and source maps into memory and deletes it. It forces JavaScript and source-map emission, embeds source content, overrides rootDir to the root, and disables declarations, incremental output, and emission on errors. A source saved during a compile starts another compile before any module is served.

Each .vibe module declares every project source and the tsconfig as watch files, so an edit to any of them rebuilds the .vibe modules. A failed compile is reported once, as a build error whose message lists each diagnostic as file:line:column - error TS2322: text.

Limitations…

Description from the npm listing.

  • vibelang
  • effect
  • unplugin
  • webpack-plugin
  • rollup-plugin
  • rolldown-plugin
  • esbuild-plugin
  • rspack-plugin
  • bun-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

vibelang-unplugin weekly downloads on npm, last 90 days: 893 weekly downloads as of Nov 2, 2026.vibelang-unpluginWeekly downloads on npm · Last 90 days893downloads / week880900920940960980Aug 4Aug 19Sep 3Sep 18Oct 3Oct 18Nov 2downloads / weekobservedarchived (Internet Archive)no observationsNov 1, 2026 – Nov 2, 2026 · 2 observations · Updated Nov 2…pluginstats.com
vibelang-unplugin weekly downloads on npm, last 90 days: 893 weekly downloads as of Nov 2, 2026.

7/30/90-day growth

vibelang-unplugin weekly downloads growth on npm: 7-day growth unavailable, 30-day growth unavailable, 90-day growth unavailable.vibelang-unpluginWeekly downloads growth on npm893downloads / week now7-day growthinsufficient historyInsufficient history30-day growthinsufficient historyInsufficient history90-day growthinsufficient historyInsufficient historyGrowth vs. nearest observation to each baseline date · Updated Nov 2, 2026pluginstats.com
vibelang-unplugin weekly downloads growth on npm: 7-day growth unavailable, 30-day growth unavailable, 90-day growth unavailable.

Ranking history

vibelang-unplugin npm ranking history: currently #1643 (by weekly downloads).vibelang-unpluginnpm ranking · by weekly downloads · Last 90 days#1643current rank#1640#1660#1680#1700#1720#1740#1760#1780#1800Aug 6Aug 21Sep 5Sep 20Oct 5Oct 20Nov 4rankNov 3, 2026 – Nov 4, 2026 · 2 observations · Updated Nov 2, 2026pluginstats.com
vibelang-unplugin npm ranking history: currently #1643 (by weekly downloads).

Listing placement

All npm2,816 listings · 141 pages · 1,409 shown · page 93, #3 (overall #1,843)
All npm: every listing in weekly downloads order

Listing placement

Webpack plugins298 listings · 15 pages · page 4, #16 (overall #76)
Webpack 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 (2)
Recent weekly downloads observations for vibelang-unplugin
Date (UTC)Weekly downloadsChange vs. previous
893-76
969—

Similar npm Webpack plugins plugins

All 20 vibelang-unplugin 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/vibelang-unplugin. First seen Nov 3, 2026; last successful collection Nov 4, 2026. See the methodology.