Skip to content

joshuajaco/find-workspaces

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ebf03c8 · Aug 28, 2024
Jul 28, 2024
Nov 18, 2023
Nov 19, 2023
Nov 19, 2023
Nov 25, 2023
Nov 18, 2023
Oct 19, 2021
Jul 28, 2024
Aug 28, 2024
Feb 16, 2024
Oct 19, 2021
Nov 19, 2023
Aug 28, 2024
Aug 28, 2024
Nov 18, 2023

Repository files navigation

find-workspaces npm downloads Coverage Status code style: prettier

Find all the workspaces of a monorepo.

It supports:

Installation

# npm
npm i find-workspaces

# yarn
yarn add find-workspaces

# pnpm
pnpm add find-workspaces

Usage

// esm
import { findWorkspaces } from "find-workspaces";
// commonjs
const { findWorkspaces } = require("find-workspaces");

const workspaces = findWorkspaces();

console.log(workspaces);

API

findWorkspaces(dirname, options)

Finds all workspaces.
Returns Workspace[] or null if dirname is not inside a monorepo.

dirname

Type: string | undefined
Default: process.cwd()

The directory to start searching for the monorepo root.

Options

Type: Options
Default: {}

See Options

findWorkspacesRoot(dirname, options)

Finds the monorepo root. Returns WorkspacesRoot or null if dirname is not inside a monorepo.

dirname

Type: string | undefined
Default: process.cwd()

The directory to start searching for the monorepo root.

Options

Type: Options
Default: {}

See Options

createWorkspacesCache()

Returns a cache which can be provided to findWorkspaces and findWorkspacesRoot.

Options

stopDir

Type: string | undefined
Default: os.homedir()

The directory to stop searching for the monorepo root.
The provided directory will not be included in the search.

cache

Type: Cache | undefined

An optional cache created by createWorkspacesCache.

Workspace

location

Type: string

The location of the workspace as an absolute path.

package

Type: PackageJson

The parsed package.json file of the workspace.

WorkspaceRoot

location

Type: string

The location of the workspace as an absolute path.

globs

Type: string[]

A list of the glob patterns used to define the workspaces.

License

MIT