The defineEnv utility generates a configuration object used to provide Node.js compatibility in non-Node environments (like browsers or edge workers). The resulting env object contains alias, inject, external, and polyfill properties that can be integrated into various build tools.
Configuration Options
nodeCompat (default: true): Adds alias entries for Node.js builtins (e.g., <id> and node:<id>) and inject entries for globals like global, Buffer, and process.npmShims (default: false): Adds alias entries to replace heavy npm packages with lighter shims (e.g., replacing node-fetch).resolve (default: false): Resolves configuration values to absolute paths.overrides: An object containing additional overrides for the environment configuration.presets: An array of additional presets (e.g., ['@cloudflare/unenv-preset']).
import { defineEnv } from "unenv";
const { env } = defineEnv({
nodeCompat: true,
npmShims: true,
resolve: true,
overrides: {},
presets: [],
});
const { alias, inject, external, polyfill } = env;