first commit
This commit is contained in:
91
node_modules/std-env/README.md
generated
vendored
Normal file
91
node_modules/std-env/README.md
generated
vendored
Normal file
@@ -0,0 +1,91 @@
|
||||
# std-env
|
||||
|
||||
[](http://npmjs.com/package/std-env)
|
||||
[](http://npmjs.com/package/std-env)
|
||||
[](https://bundlephobia.com/result?p=std-env)
|
||||
|
||||
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](https://runtime-keys.proposal.wintercg.org/).
|
||||
|
||||
```ts
|
||||
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](./src/runtimes.ts) for the full list.
|
||||
|
||||
## Provider Detection
|
||||
|
||||
Detects the current CI/CD provider based on environment variables.
|
||||
|
||||
```ts
|
||||
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](./src/providers.ts) for the full list.
|
||||
|
||||
## Agent Detection
|
||||
|
||||
Detects if the environment is running inside an AI coding agent.
|
||||
|
||||
```ts
|
||||
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
|
||||
|
||||
```js
|
||||
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](./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
|
||||
Reference in New Issue
Block a user