Skip to content

joshuajaco/find-workspaces

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