Baike.dev
All toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
U

unenv

> 编程语言
Open source

️ Node.js compatibility for any JavaScript runtime, including browsers and edge workers.

766 stars0 likes0 views
WebsiteGitHub

About

️ Node.js compatibility for any JavaScript runtime, including browsers and edge workers.

️ unenv

[!NOTE] You are on the development (v2) branch. Check out v1 for the current release.

unenv provides polyfills to add Node.js compatibility for any JavaScript runtime, including browsers and edge workers.

Used by

  • Nitro
  • Nuxt
  • Cloudflare
  • ESM.sh

Usage

The defineEnv utility can generate a target environment configuration.

import { defineEnv } from "unenv";

const { env } = defineEnv({
  nodeCompat: true,
  npmShims: true,
  resolve: true,
  overrides: {},
  presets: [],
});

const { alias, inject, external, polyfill } = env;

You can then integrate the env object with your build tool:

Bundler alias inject external
rollup @rollup/plugin-alias @rollup/plugin-inject external
rolldown resolve.alias inject external
vite resolve.alias @rollup/plugin-inject ssr.external
esbuild alias inject external
rspack resolve.alias - externals
webpack resolve.alias webpack-plugin-inject externals

Options

  • nodeCompat: (default: true)
    • Add alias entries for Node.js builtins as `` and node:.
    • Add inject entries for Node.js globals global, Buffer, and process.
  • npmShims: (default: false)
    • Add alias entries to replace npm packages like node-fetch with lighter shims.
  • resolve: (default: false) Resolve config values to absolute paths.
  • overrides: Additional overrides for env config.
  • presets: Additional presets (for example @cloudflare/unenv-preset).

unenv/ polyfills

You can also directly import unenv/ polyfills:

Polyfills Description Source
unenv/mock/* Mocking utils src/runtime/mock
unenv/node/* APIs compatible with Node.js API src/runtime/node
unenv/npm/* NPM package shims src/runtime/npm
unenv/polyfill/* Global polyfills src/runtime/polyfill
unenv/web/* Subset of Web APIs src/runtime/web

Node.js compatibility

unenv replaces Node.js built-in modules compatible with any runtime (view source).

  • ✅ node:assert
  • ✅ node:assert/strict
  • ✅ node:async_hooks
  • ✅ node:buffer
  • ✅ node:child_process
  • ✅ node:cluster
  • ✅ node:console
  • ✅ node:constants
  • ✅ node:crypto
  • ✅ node:dgram
  • ✅ node:diagnostics_channel
  • ✅ node:dns
  • ✅ node:dns/promises
  • ✅ node:domain
  • ✅ node:events
  • ✅ node:fs
  • ✅ node:fs/promises
  • ✅ node:http
  • ✅ node:http2
  • ✅ node:https
  • ✅ node:inspector
  • ✅ node:inspector/promises
  • ✅ node:module
  • ✅ node:net
  • ✅ node:os
  • ✅ node:path
  • ✅ node:path/posix
  • ✅ node:path/win32
  • ✅ node:perf_hooks
  • ✅ node:process
  • ✅ node:punycode
  • ✅ node:querystring
  • ✅ node:readline
  • ✅ node:readline/promises
  • ✅ node:repl
  • ✅ node:stream
  • ✅ node:stream/consumers
  • ✅ node:stream/promises
  • ✅ node:stream/web
  • ✅ node:string_decoder
  • ✅ node:sys
  • ✅ node:timers
  • ✅ node:timers/promises
  • ✅ node:tls
  • ✅ node:trace_events
  • ✅ node:tty
  • ✅ node:url
  • ✅ node:util
  • ✅ node:util/types
  • ✅ node:v8
  • ✅ node:vm
  • ✅ node:wasi
  • ✅ node:worker_threads
  • ✅ node:zlib

Manual mocking

// Magic proxy to replace any unknown API
import MockProxy from "unenv/mock/proxy";

// You can also create named mocks
const lib = MockProxy.__createMock__("lib", {
  /* overrides */
});

(view source)

Nightly release channel

You can use the nightly release channel to try the latest changes in the main branch via unenv-nightly.

If directly using unenv in your project:

{
  "devDependencies": {
    "unenv": "npm:unenv-nightly"
  }
}

If using unenv via another tool (Nuxt or Nitro) in your project:

{
  "resolutions": {
    "unenv": "npm:unenv-nightly"
  }
}

License

Published under the MIT license. Made by @pi0 and community


_ auto updated with automd_

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

TypeScript

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言