# resolve-workspace-root

> Resolve the workspace root using bun, npm, pnpm, or yarn

Latest version **2.0.1** (published 2026-01-05) · MIT license · 0 weekly downloads

## Install

```sh
npm install resolve-workspace-root
pnpm add resolve-workspace-root
yarn add resolve-workspace-root
bun add resolve-workspace-root
```

## Health

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

Positive: has types; no vulnerabilities; high quality score.

Warnings: low downloads; no esm support.

## Facts

| | |
|---|---|
| Version | 2.0.1 |
| Published | 2026-01-05 |
| First published | 2024-08-22 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 101 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 4 |
| Author | Cedric van Putten |
| Maintainers | bycedric |
| Keywords | monorepo, workspace, bun, npm, pnpm, yarn |

## Links

- npm: https://www.npmjs.com/package/resolve-workspace-root
- Repository: https://github.com/byCedric/resolve-workspace-root
- Homepage: https://github.com/byCedric/resolve-workspace-root#readme
- Issues: https://github.com/byCedric/resolve-workspace-root/issues
- npm.io page: https://npm.io/package/resolve-workspace-root

## Alternatives

- [raw-loader](https://npm.io/package/raw-loader.md) — 4.3M weekly downloads
- [plop](https://npm.io/package/plop.md) — 1.4M weekly downloads
- [webpack-deadcode-plugin](https://npm.io/package/webpack-deadcode-plugin.md) — 80.3K weekly downloads
- [@storybook/preact-vite](https://npm.io/package/@storybook/preact-vite.md) — 54.2K weekly downloads
- [vite-plugin-transform](https://npm.io/package/vite-plugin-transform.md) — 2.4K weekly downloads

## Recent versions

- 2.0.1 (latest) — 2026-01-05
- 2.0.0 — 2024-10-10
- 1.0.1 — 2024-08-23
- 1.0.0 — 2024-08-22

## README

# resolve-workspace-root

Resolve the root of a workspace using [bun](https://bun.sh/guides/install/workspaces), [npm](https://docs.npmjs.com/cli/configuring-npm/package-json#workspaces), [pnpm](https://pnpm.io/workspaces), or [yarn](https://yarnpkg.com/features/workspaces).

- For bun, npm, and yarn - it looks for a parent **package.json** file, containing the `workspaces` config.
- For pnpm - it looks for a **package.json** and **pnpm-workspaces.yaml** file, containing the workspaces config.

## 🚀 How to use it

This package supports both synchronous and asynchronous lookups.

```ts
import { resolveWorkspaceRoot, resolveWorkspaceRootAsync } from 'resolve-workspace-root';

// Synchronous lookup, supporting bun, npm, pnpm, and yarn
const workspaceRoot = resolveWorkspaceRoot(__dirname);
// Synchronous lookup, supporting only bun, npm, and yarn
const workspaceRoot = resolveWorkspaceRoot(__dirname, { packageWorkspaces: false });
// Synchronous lookup, supporting only pnpm
const workspaceRoot = resolveWorkspaceRoot(__dirname, { pnpmWorkspaces: false });

// Asynchronous lookup, supporting bun, npm, pnpm, and yarn
const workspaceRoot = await resolveWorkspaceRootAsync(__dirname);
// Asynchronous lookup, supporting only bun, npm, and yarn
const workspaceRoot = await resolveWorkspaceRootAsync(__dirname, { packageWorkspaces: false });
// Asynchronous lookup, supporting only pnpm
const workspaceRoot = await resolveWorkspaceRootAsync(__dirname, { pnpmWorkspaces: false });

import { getWorkspaceGlobs, getWorkspaceGlobsAsync } from 'resolve-workspace-root';

// Synchronous lookup, supporting bun, npm, pnpm, and yarn
const workspaces = getWorkspaceGlobs(resolveWorkspaceRoot(__dirname));
// Asynchronous lookup, supporting bun, npm, pnpm, and yarn
const workspaces = await getWorkspaceGlobsAsync(resolveWorkspaceRoot(__dirname));
```

<div align="center">
  <br />
  with&nbsp;❤️&nbsp;&nbsp;<strong><a href="https://cedric.dev">Cedric</a></strong>
  <br />
</div>

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