Skip to content

stijnvanhulle/js-runtime

Repository files navigation

js-runtime

npm version npm downloads Coverage License

Detect which JavaScript runtime is being used, Bun, Deno or NodeJS.

Install

npm i js-runtime

Usage

index.js

import { get } from "js-runtime";

console.log(get()); //node or deno or bun
$ bun index.js
$ deno run index.js
$ node index.js

API

get

Return the current runtime.

Type: function
Returns: bun | deno | node

isBun

Type: function
Returns: boolean

isDeno

Type: function
Returns: boolean

isNode

Type: function
Returns: boolean

getVersion

Retrieve the version used in the current runtime.

Type: function
Returns: string

switcher

Switch based on the current runtime.

Type: function
Returns: T

index.js

import { switcher } from "js-runtime";

const message = switcher({
  bun: "Script is running with Bun",
  deno: "Script is running with Deno",
  node: "Script is running with Node",
})

console.log(message)
$ bun index.ts
script is running with Bun

importer

Dynamic import based on switch data, see switcher.

Type: function
Returns: T

index.js

import { importer } from "js-runtime";

const SQLite = await importer({
    bun: "bun:sqlite",
    deno: "https://deno.land/x/[email protected]/mod.ts",
    node: "better-sqlite3"
});

console.log(SQLite)
$ bun index.ts
bun:sqlite

Supporting js-runtime

Js Runtime uses an MIT-licensed open source project with its ongoing development made possible entirely by the support of Sponsors. If you would like to become a sponsor, please consider:

My sponsors