Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
muslnode 18–226 runs
build_error
glibcnode 18–226 runs
build_error
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
isBunModule
✓ import { isBunModule } from 'is-bun-module';
✗ const isBunModule = require('is-bun-module').isBunModule;
Primary function for checking Bun-specific modules. This package is primarily ESM.
isBunImplementedNodeModule
✓ import { isBunImplementedNodeModule } from 'is-bun-module';
✗ import { isSupportedNodeModule } from 'is-bun-module';
Checks for Node.js modules implemented by Bun. Renamed from `isSupportedNodeModule` in v2.0.0.
getBunBuiltinModules
✓ import { getBunBuiltinModules } from 'is-bun-module';
✗ const getBunBuiltinModules = require('is-bun-module').getBunBuiltinModules;
Retrieves a combined list of all Bun and Bun-implemented Node.js modules.
BunVersion
✓ import type { BunVersion } from 'is-bun-module';
✗ import type { Version } from 'is-bun-module';
Type definition for Bun version specifiers. Renamed from `Version` to `BunVersion` in v2.0.0.
Demonstrates how to use `isBunModule`, `isBunImplementedNodeModule`, and `getBunBuiltinModules` to identify and list modules, including specifying Bun versions.
import {
isBunModule,
isBunImplementedNodeModule,
getBunBuiltinModules,
BunVersion
} from 'is-bun-module';
// Check specific Bun modules
console.log('Is "bun" a Bun module?', isBunModule('bun'));
console.log('Is "bun:test" a Bun module (Bun v1.0.0)?', isBunModule('bun:test', '1.0.0' as BunVersion));
console.log('Is "notBunModule" a Bun module?', isBunModule('notBunModule'));
// Check Node.js modules implemented in Bun
console.log('Is "fs" a Bun-implemented Node module?', isBunImplementedNodeModule('fs'));
console.log('Is "node:http2" a Bun-implemented Node module (Bun v1.0.0)?', isBunImplementedNodeModule('node:http2', '1.0.0' as BunVersion));
// Get a list of all builtin modules for the latest Bun version
const latestBuiltins = getBunBuiltinModules('latest');
console.log('First 5 builtin modules (latest Bun):', latestBuiltins.slice(0, 5));
// Example with an older Bun version
const bunV1_0_0Builtins = getBunBuiltinModules('1.0.0' as BunVersion);
console.log('Number of builtin modules in Bun v1.0.0:', bunV1_0_0Builtins.length);
// Type assertion for clarity when passing string literals as BunVersion
const currentBunVersion: BunVersion = '1.0.13';
console.log(`Checking 'crypto' against Bun ${currentBunVersion}:`, isBunImplementedNodeModule('crypto', currentBunVersion));
Errors
Common errors & fixes
TypeError: isSupportedNodeModule is not a function
Attempting to use the old function name `isSupportedNodeModule` after upgrading to v2.0.0 or higher.
fixRename `isSupportedNodeModule` to `isBunImplementedNodeModule`.
ReferenceError: require is not defined
This package is distributed as an ES Module (ESM). Using CommonJS `require()` syntax in an ESM context (e.g., a `.js` file with `"type": "module"` or a `.mjs` file) will fail.
fixUse ES module import syntax: `import { functionName } from 'is-bun-module';`. TypeError: Module 'is-bun-module' has no exported member 'Version'
Attempting to import the `Version` type after upgrading to v2.0.0 or higher.
fixUpdate the type import from `import type { Version }` to `import type { BunVersion }`. Audit
Dependencies
No dependency data recorded yet.