
Security News
Deno 2.2 Improves Dependency Management and Expands Node.js Compatibility
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
The std-env npm package is designed to help developers easily determine the environment their code is running in. It provides a straightforward way to check if the current environment is development, production, test, or a CI (Continuous Integration) environment. This can be particularly useful for configuring applications differently based on the environment or for including/excluding certain features or outputs based on where the code is running.
Check if the environment is development
This feature allows you to check if your code is running in a development environment. It's useful for enabling debug logs or development-specific features.
const isDev = require('std-env').isDev;
console.log(isDev); // true if in a development environment
Check if the environment is production
This feature enables you to determine if your application is running in a production environment, which is useful for enabling optimizations or features that should only be available in production.
const isProd = require('std-env').isProd;
console.log(isProd); // true if in a production environment
Check if the environment is test
With this feature, you can easily identify if your code is being executed in a test environment, allowing you to adjust configurations or disable certain functionalities during testing.
const isTest = require('std-env').isTest;
console.log(isTest); // true if in a test environment
Check if running in a CI environment
This feature helps in detecting if your application is running in a CI environment, which can be crucial for configuring CI-specific settings or behaviors.
const isCI = require('std-env').isCI;
console.log(isCI); // true if running in a Continuous Integration environment
cross-env allows you to set and use environment variables across platforms. It's similar to std-env in the sense that it helps manage environment-specific settings, but it focuses more on setting environment variables rather than detecting the environment.
dotenv is a package that loads environment variables from a .env file into process.env. While it serves a different purpose by managing environment variables, it complements std-env's functionality by allowing developers to configure their applications based on the detected environment.
Runtime agnostic JS utils
# Using npm
npm i std-env
# Using pnpm
pnpm i std-env
# Using yarn
yarn add std-env
// ESM
import { env, isDevelopment, isProduction } from "std-env";
// CommonJS
const { env, isDevelopment, isProduction } = require("std-env");
hasTTY
hasWindow
isDebug
isDevelopment
isLinux
isMacOS
isMinimal
isProduction
isTest
isWindows
platform
isColorSupported
nodeVersion
nodeMajorVersion
You can read more about how each flag works from ./src/flags.ts.
std-env
can automatically detect the current runtime provider based on environment variables.
You can use isCI
and platform
exports to detect it:
import { isCI, provider, providerInfo } from "std-env";
console.log({
isCI, // true
provider, // "github_actions"
providerInfo, // { name: "github_actions", isCI: true }
});
List of well known providers can be found from ./src/providers.ts.
std-env
can automatically detect the current JavaScript runtime based on global variables, following the WinterCG Runtime Keys proposal:
import { runtime, runtimeInfo } from "std-env";
// "" | "node" | "deno" | "bun" | "workerd" | "lagon" ...
console.log(runtime);
// { name: "node" }
console.log(runtimeInfo);
You can also use individual named exports for each runtime detection:
isNetlify
isEdgeLight
isWorkerd
isDeno
isLagon
isNode
isBun
isFastly
List of well known providers can be found from ./src/runtimes.ts.
env
std-env
provides a lightweight proxy to access environment variables in a platform agnostic way.
import { env } from "std-env";
process
std-env
provides a lightweight proxy to access process
object in a platform agnostic way.
import { process } from "std-env";
MIT
FAQs
Runtime agnostic JS utils
The npm package std-env receives a total of 6,477,125 weekly downloads. As such, std-env popularity was classified as popular.
We found that std-env demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
Security News
React's CRA deprecation announcement sparked community criticism over framework recommendations, leading to quick updates acknowledging build tools like Vite as valid alternatives.
Security News
Ransomware payment rates hit an all-time low in 2024 as law enforcement crackdowns, stronger defenses, and shifting policies make attacks riskier and less profitable.