detect-runtime
Small library to detect the current JavaScript runtime. The list of supported runtimes is based on the WinterCG Runtime Keys proposal:
edge-routine
Alibaba Cloud Edge Routineworkerd
Cloudflare Workersdeno
Deno and Deno Deploylagon
Lagonreact-native
React Nativenetlify
Netlify Edge Functionselectron
Electronnode
Node.jsbun
Bunedge-light
Vercel Edge Functionsfastly
Fastly Compute@Edge
This package is properly typed and exported to both ESM and CJS.
Installation
detect-runtime
is published on NPM:
# NPM
npm install detect-runtime
# Yarn
yarn add detect-runtime
# PNPM
pnpm install detect-runtime
# Bun
bun install detect-runtime
Or in Deno:
import { ... } from 'npm:detect-runtime'
Usage
Import and call the detectRuntime()
function from the detect-runtime
package:
import { detectRuntime } from 'detect-runtime'
const runtime = detectRuntime()
// ^? 'edge-routine' | 'workerd' | 'deno' | 'lagon' | 'react-native' | 'netlify | 'electron | 'node | 'bun | 'edge-light | 'unknown'
You can also import the Runtime
type which is the return type of detectRuntime()
.