You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
liwei1dao 715f8e3818 上传厨师版本 4 months ago
..
dist 上传厨师版本 4 months ago
LICENCE 上传厨师版本 4 months ago
README.md 上传厨师版本 4 months ago
package.json 上传厨师版本 4 months ago

README.md

std-env

npm version npm downloads bundle size

Runtime-agnostic JS utils for detecting environments, runtimes, CI providers, and AI coding agents.

Runtime Detection

Detects the current JavaScript runtime based on global variables, following the WinterCG Runtime Keys proposal.

import { runtime, runtimeInfo } from "std-env";

console.log(runtime); // "" | "node" | "deno" | "bun" | "workerd" ...
console.log(runtimeInfo); // { name: "node" }

Individual named exports: isNode, isBun, isDeno, isNetlify, isEdgeLight, isWorkerd, isFastly

[!NOTE] isNode is also true in Bun/Deno with Node.js compatibility mode. Use runtime === "node" for strict checks.

See ./src/runtimes.ts for the full list.

Provider Detection

Detects the current CI/CD provider based on environment variables.

import { isCI, provider, providerInfo } from "std-env";

console.log({ isCI, provider, providerInfo });
// { isCI: true, provider: "github_actions", providerInfo: { name: "github_actions", ci: true } }

Use detectProvider() to re-run detection. See ./src/providers.ts for the full list.

Agent Detection

Detects if the environment is running inside an AI coding agent.

import { isAgent, agent, agentInfo } from "std-env";

console.log({ isAgent, agent, agentInfo });
// { isAgent: true, agent: "claude", agentInfo: { name: "claude" } }

Set the AI_AGENT env var to explicitly specify the agent name. Use detectAgent() to re-run detection.

Supported agents: cursor, claude, devin, replit, gemini, codex, auggie, opencode, kiro, goose, pi

Flags

import { env, isDevelopment, isProduction } from "std-env";
Export Description
hasTTY stdout TTY is available
hasWindow Global window is available
isCI Running in CI
isColorSupported Terminal color output supported
isDebug DEBUG env var is set
isDevelopment NODE_ENV is dev/development or MODE is development
isLinux Linux platform
isMacOS macOS (darwin) platform
isMinimal MINIMAL env is set, CI, test, or no TTY
isProduction NODE_ENV or MODE is production
isTest NODE_ENV is test or TEST env is set
isWindows Windows platform
platform Value of process.platform
nodeVersion Node.js version string (e.g. "22.0.0")
nodeMajorVersion Node.js major version number (e.g. 22)

See ./src/flags.ts for details.

Environment

Export Description
env Universal process.env (works across all runtimes)
process Universal process shim (works across all runtimes)
nodeENV Current NODE_ENV value (undefined if unset)

License

MIT