unplugin-deno weekly downloads statistics
By brc-dd · npm · Webpack plugins
Deno's module resolution (jsr:, npm:, https:, deno.json import maps and workspaces, deno.lock) for Vite, Rolldown, Rollup, esbuild, webpack, Rspack and Rsbuild
unplugin-deno has 11 recorded weekly downloads on npm.
It ranks #1908 of 2,256 tracked npm listings by weekly downloads.
Over the past 7 days it changed by -75.6%.
PluginStats has 121 daily observations since Jun 19, 2026; the latest is from Oct 17, 2026.
About unplugin-deno
unplugin-deno
Deno's module resolution for your bundler: jsr:, npm:, https: and data: imports, deno.json import maps and workspaces, deno.lock, and with { type: "text" | "bytes" | "css" } imports in Vite, Rolldown, Rollup, esbuild, webpack, Rspack and Rsbuild. The bundler can run on Node.js, Deno or Bun, and Deno does not need to be installed: the plugin ships Deno's resolver (@deno/loader) as WebAssembly, and uses an installed Deno only for the few features that resolver lacks. Built on unplugin.
Hosts
| Host | Entry | Tested with |
| Vite 8 and 7 | unplugin-deno/vite | 8.3.1, 7.3.6 | | Rolldown, tsdown | unplugin-deno/rolldown | Rolldown 1.2.11, tsdown 0.23 | | Rollup 4 | unplugin-deno/rollup | 4.63.5 | | esbuild | unplugin-deno/esbuild | 0.28.2 | | webpack 5.108+ | unplugin-deno/webpack | 5.111.1 | | Rspack 2 | unplugin-deno/rspack | 2.2.7 | | Rsbuild 2 | unplugin-deno/rsbuild | 2.2.9 |
Planned: Bun.build and Farm (best effort); their entries (unplugin-deno/bun, /farm) do nothing yet. The bundler can run under Node.js 22.12+, Deno or Bun.
Install
Quick start
Add the plugin before other plugins. Every option is optional.
The other hosts take plugins: [deno()] from their entry too:
• esbuild, Rolldown and tsdown. tsdown builds for node by default, which is the Deno platform in a project with a deno.json: set platform (see Platforms). • Rollup, with a platform (Rollup has none of its own) and your TypeScript plugin after this one. • webpack and Rspack, with a TypeScript loader that keeps import attributes: esbuild-loader with target: 'esnext', or builtin:swc-loader with jsc.experimental.keepImportAttributes: true. • Rsbuild, whose SWC settings keep import attributes.
What works
• jsr:, npm: (subpaths, CommonJS), https:, data: and node: imports, and the import attributes text, bytes and css in static and dynamic imports. • deno.json imports and scopes (they win over node_modules); workspaces with glob members, member-scoped imports and links; catalog: versions through an installed Deno. • deno.lock version 5 pins and integrity checks. Without a lockfile, versions match deno install (minimumDependencyAge, 24 hours by default). • npm packages from Deno's global cache (nodeModulesDir: "none", the default without a package.json) or node_modules ("auto"; JSR packages too with jsrDepsInNodeModules), resolved by the bundler itself, so exports, browser and sideEffects apply. • Remote and JSR modules become files with source maps under node_modules/.unplugin-deno, reused by later builds and prebundled by Vite's dev server. • Deno's semantics for your code (JSX settings, .wasm imports, import.meta.main, environment variables), and warnings for Deno.* and node: in browser bundles, npm native addons and npm packages bundled in several versions. • Vite: deno.json and deno.lock changes reload the dev server's page; workspace members outside the root update when edited; workers resolve Deno specifiers; CSS @import sees path-like import-map keys. webpack and Rspack: watch mode reloads deno.json, and webpack's persistent cache has the config files and the lockfile as build dependencies. • Other plugins' virtual: and \0 modules, and queries such as ?raw, are left alone. Errors carry a stable code and a hint; debug: true (or DEBUG=unplugin-deno) prints the config, lockfile, engine and platform the plugin found.
Options
| Option | Type | Default | Description |
| cwd | string | bundler root | Where deno.json discovery starts; base of relative paths. | | config | string \| false | discovered | Path of the deno.json(c); false turns discovery off. | | cacheDir | string | node_modules/.unplugin-deno | Where remote modules are written (default: under the workspace root). | | engine | 'auto' \| 'loader' \| 'deno' | 'auto' | Who resolves, see Engines. | | denoBinary | string | 'deno' | The Deno executable of the deno engine. | | platform | 'auto' \| Platform \| Record | 'auto' | Where the output runs, see Platforms. | | conditions | string[] | [] | Extra export conditions for packages. | | npm | 'auto' \| 'node_modules' \| 'deno-cache' | 'auto' | Where npm packages load from; 'auto' follows nodeModulesDir. | | lockfile | 'auto' \| 'frozen' \| 'off' | 'auto' | See Lockfile and offline. | | cachedOnly | boolean | false | Never download; fail with CACHED_ONLY_MISS instead. | | allowImport | string[] | Deno's defaults | Hosts https: imports may come from, like --allow-import. | | fetch | typeof fetch | globalThis.fetch | What the loader engine downloads with. | | exclude | Pattern \| Pattern[] | [] | Imports (or import-map keys) left to the bundler. | | importers | { include?: Pattern[]; exclude?: Pattern[] } | all | Only handle imports from matching modules (path prefixes or RegExps). | | external | Pattern[] | [] | Keep matching imports as imports in the output. | | bundle | Pattern[] | [] | Bundle matching imports even for platform: 'deno'. | | pinExternals | boolean | true for 'deno' | Rewrite external npm: and jsr: imports to the exact resolved versions. | | emitDenoConfig | boolean \| string | false | Write deno.json and deno.lock for Deno output (a string names the directory). | | importAttributes | boolean | true | Handle with { type: "text" \| "bytes" \| "css" }. | | wasm | boolean | true | Instantiate .wasm module imports like Deno. | | importMetaMain | boolean | true | Make import.meta.main false outside entry modules. | | env | { prefix?; allow?; files?; server? } \| false | false | Inline environment variables, see below. | | denoGlobals | 'error' \| 'warn' \| 'off' | 'warn' for the browser | What to do when local code of a browser bundle uses Deno.*. | | jsx | 'auto' \| 'host' \| 'deno' | 'auto' | Apply the deno.json JSX settings ('host': never; 'deno': planned, as 'auto'). | | checks | boolean \| { browserSafety?; duplicates?; lockfile? } | all on | The warnings and the lockfile explanations. | | debug | boolean | DEBUG=unplugin-deno | Print what the plugin discovered. | | resolve |…
Description from the npm listing.
- bun
- deno
- deno-lock
- esbuild
- esbuild-plugin
- import-map
- jsr
- rolldown
- rolldown-plugin
- rollup
- rollup-plugin
- rsbuild
- rsbuild-plugin
- rspack
- rspack-plugin
- unplugin
- vite
- vite-plugin
- webpack
- webpack-plugin
Charts
Images: 30d · 1y · all time · 1600×900 dark
Adoption over time
7/30/90-day growth
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 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)Similar npm Webpack plugins plugins
All 20 unplugin-deno 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/unplugin-deno. First seen Oct 16, 2026; last successful collection Oct 19, 2026. See the methodology.