# is-bun-module

> Is this specifier a Bun core module or supported Node one?

Latest version **2.0.0** (published 2025-03-23) · MIT license · 0 weekly downloads

## Install

```sh
npm install is-bun-module
pnpm add is-bun-module
yarn add is-bun-module
bun add is-bun-module
```

## Health

**Score 60/100 (C)** — status: stable.

Positive: has types; esm support; no vulnerabilities; has provenance; high maintenance score; high quality score.

Warnings: low downloads.

Negative: stale.

## Facts

| | |
|---|---|
| Version | 2.0.0 |
| Published | 2025-03-23 |
| First published | 2024-06-03 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 1 |
| Unpacked size | 21.4 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Provenance | attested (GitHub Actions) |
| GitHub stars | 7 |
| Author | SunsetTechuila |
| Maintainers | sunset_techuila |
| Keywords | core, modules, module, node, dependencies, bun |

## Links

- npm: https://www.npmjs.com/package/is-bun-module
- Repository: https://github.com/SunsetTechuila/is-bun-module
- Issues: https://github.com/SunsetTechuila/is-bun-module/issues
- npm.io page: https://npm.io/package/is-bun-module

## Dependencies (1)

- [semver](https://npm.io/package/semver.md) ^7.7.1

## Alternatives

- [@expo/fingerprint](https://npm.io/package/@expo/fingerprint.md) — 6.2M weekly downloads
- [@azure/monitor-opentelemetry-exporter](https://npm.io/package/@azure/monitor-opentelemetry-exporter.md) — 850.0K weekly downloads
- [@azure/monitor-opentelemetry](https://npm.io/package/@azure/monitor-opentelemetry.md) — 624.0K weekly downloads
- [@posthog/ai](https://npm.io/package/@posthog/ai.md) — 423.3K weekly downloads
- [fakefilter](https://npm.io/package/fakefilter.md) — 63.9K weekly downloads

## Recent versions

- 2.0.0 (latest) — 2025-03-23
- 1.3.0 — 2024-11-26
- 1.2.1 — 2024-09-08
- 1.2.0 — 2024-09-08
- 1.1.0 — 2024-08-21
- 1.0.2 — 2024-06-16
- 1.0.1 — 2024-06-03

## README

# is-bun-module

A utility library to check if a module is a Bun built-in module or a Node.js module implemented in Bun.

## API

### Module Checking Functions

#### `isBunModule(moduleName, bunVersion?)`

Checks if a specifier is a [Bun module](https://bun.sh/docs/runtime/bun-apis).

```typescript
import { isBunModule } from "is-bun-module";
isBunModule("bun"); // true
isBunModule("bun:test", "1.0.0"); // true
isBunModule("notBunModule"); // false
```

#### `isBunImplementedNodeModule(moduleName, bunVersion?)`

Checks if a specifier is a Node module [implemented in Bun](https://bun.sh/docs/runtime/nodejs-apis).

```typescript
import { isBunImplementedNodeModule } from "is-bun-module";
isBunImplementedNodeModule("fs"); // true
isBunImplementedNodeModule("node:fs"); // true
isBunImplementedNodeModule("node:notNodeModule"); // false
isBunImplementedNodeModule("node:http2", "1.0.0"); // false, added in 1.0.13
```

#### `isBunBuiltin(moduleName, bunVersion?)`

Checks if a specifier is either a Bun module or a Node.js module implemented in Bun.

```typescript
import { isBunBuiltin } from "is-bun-module";
isBunBuiltin("bun"); // true
isBunBuiltin("fs"); // true
isBunBuiltin("notBunModule"); // false
```

### Module Listing Functions

#### `getBunModules(bunVersion?)`

Returns an array of all Bun modules available in the specified version.

```typescript
import { getBunModules } from "is-bun-module";
getBunModules(); // ["bun", "bun:ffi", ...]
getBunModules("1.0.0"); // Returns modules available in version 1.0.0
```

#### `getBunImplementedNodeModules(bunVersion?)`

Returns an array of all Node.js modules implemented in Bun for the specified version.

```typescript
import { getBunImplementedNodeModules } from "is-bun-module";
getBunImplementedNodeModules(); // ["fs", "path", ...]
getBunImplementedNodeModules("1.0.0"); // Returns implemented Node.js modules in version 1.0.0
```

#### `getBunBuiltinModules(bunVersion?)`

Returns an array of all builtin modules (both Bun modules and implemented Node.js modules).

```typescript
import { getBunBuiltinModules } from "is-bun-module";
getBunBuiltinModules(); // ["bun", "bun:ffi", "fs", "path", ...]
```

## Notes

- **Only Bun v1.0.0+ is supported**
- You can also pass `latest` as Bun version
- Inspired by [is-core-module](https://github.com/inspect-js/is-core-module) and made for [eslint-import-resolver-typescript](https://github.com/import-js/eslint-import-resolver-typescript)
- Runtime-independent

---
_Source: https://npm.io/package/is-bun-module · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
