# get-conditions

> Get Node import conditions at runtime

Latest version **1.0.1** (published 2026-02-25) · MIT license · 0 weekly downloads

## Install

```sh
npm install get-conditions
pnpm add get-conditions
yarn add get-conditions
bun add get-conditions
```

## Health

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

Positive: has types; esm support; no vulnerabilities; has provenance.

Warnings: low downloads.

## Facts

| | |
|---|---|
| Version | 1.0.1 |
| Published | 2026-02-25 |
| First published | 2023-12-18 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 0 |
| Unpacked size | 8.1 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Provenance | attested (GitHub Actions) |
| GitHub stars | 5 |
| Author | Hiroki Osame |
| Maintainers | hirokiosame |
| Keywords | get-conditions, node, import, conditions |

## Links

- npm: https://www.npmjs.com/package/get-conditions
- Repository: https://github.com/privatenumber/get-conditions
- Homepage: https://github.com/privatenumber/get-conditions#readme
- Issues: https://github.com/privatenumber/get-conditions/issues
- Funding: https://github.com/privatenumber/get-conditions?sponsor=1
- npm.io page: https://npm.io/package/get-conditions

## 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

- 1.0.1 (latest) — 2026-02-25
- 1.0.0 — 2023-12-18

## README

# get-conditions [![Latest version](https://badgen.net/npm/v/get-conditions)](https://npm.im/get-conditions) [![npm downloads](https://badgen.net/npm/dm/get-conditions)](https://npm.im/get-conditions)

Get Node import conditions at runtime. Zero dependencies.

<br>

<p align="center">
	<a href="https://privatenumber-sponsors.vercel.app/api/sponsor?tier=platinum">
		<picture>
			<source width="830" media="(prefers-color-scheme: dark)" srcset="https://privatenumber-sponsors.vercel.app/api/sponsor?tier=platinum&image=dark">
			<source width="830" media="(prefers-color-scheme: light)" srcset="https://privatenumber-sponsors.vercel.app/api/sponsor?tier=platinum&image">
			<img width="830" src="https://privatenumber-sponsors.vercel.app/api/sponsor?tier=platinum&image" alt="Premium sponsor banner">
		</picture>
	</a>
</p>

## Install

```bash
npm install get-conditions
```

## Why?
In Node.js, users can pass in custom import conditions via [`--conditions`](https://nodejs.org/api/cli.html#-c-condition---conditionscondition) to influence which paths are used when export or import maps are resolved.

However, this information is not available at runtime. This makes it difficult when implementing custom resolvers (e.g. statically analyzing an import path).


<p align="center">
	<a href="https://privatenumber-sponsors.vercel.app/api/sponsor?tier=gold">
		<picture>
			<source width="830" media="(prefers-color-scheme: dark)" srcset="https://privatenumber-sponsors.vercel.app/api/sponsor?tier=gold&image=dark">
			<source width="830" media="(prefers-color-scheme: light)" srcset="https://privatenumber-sponsors.vercel.app/api/sponsor?tier=gold&image">
			<img width="830" src="https://privatenumber-sponsors.vercel.app/api/sponsor?tier=gold&image" alt="Premium sponsor banner">
		</picture>
	</a>
</p>

## Support

The `--conditions` flag is currently supported in [Node.js](https://nodejs.org/api/cli.html#-c-condition---conditionscondition) and [Bun](https://bun.sh/docs/runtime/modules#custom-conditions). Deno does not currently have a way to set conditions

## API

### getConditions()

Returns: `string[]`

Example: `['node', 'node-addons', 'foo', 'bar']`

Gets the import conditions for the current Node.js process. 

`require` and `import` are excluded as their existence varies by how the current module was resolved. But you can add `require`/`import` back depending on which resolution type you prefer, before passing in the array into a resolver.

Note, the order of this array does not matter to the resolution algorithm (the order of the condition keys in the map does).

## Sponsors

<p align="center">
	<a href="https://privatenumber-sponsors.vercel.app/api/sponsor?tier=silver1">
		<picture>
			<source width="410" media="(prefers-color-scheme: dark)" srcset="https://privatenumber-sponsors.vercel.app/api/sponsor?tier=silver1&image=dark">
			<source width="410" media="(prefers-color-scheme: light)" srcset="https://privatenumber-sponsors.vercel.app/api/sponsor?tier=silver1&image">
			<img width="410" src="https://privatenumber-sponsors.vercel.app/api/sponsor?tier=silver1&image" alt="Premium sponsor banner">
		</picture>
	</a>
	<a href="https://privatenumber-sponsors.vercel.app/api/sponsor?tier=silver2">
		<picture>
			<source width="410" media="(prefers-color-scheme: dark)" srcset="https://privatenumber-sponsors.vercel.app/api/sponsor?tier=silver2&image=dark">
			<source width="410" media="(prefers-color-scheme: light)" srcset="https://privatenumber-sponsors.vercel.app/api/sponsor?tier=silver2&image">
			<img width="410" src="https://privatenumber-sponsors.vercel.app/api/sponsor?tier=silver2&image" alt="Premium sponsor banner">
		</picture>
	</a>
</p>

<p align="center">
	<a href="https://github.com/sponsors/privatenumber">
		<img src="https://cdn.jsdelivr.net/gh/privatenumber/sponsors/sponsorkit/sponsors.svg">
	</a>
</p>

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