read-workspaces
TypeScript icon, indicating that this package has built-in type declarations

1.2.0 • Public • Published

read-workspaces

Resolves all package.json files of a workspace setup.

Supports both npm / yarn style workspace definitions and pnpm style.

npm version npm downloads js-semistandard-style Module type: ESM Types in JS Follow @voxpelli@mastodon.social

Usage

Simple

import { readWorkspaces } from 'read-workspaces';

for await (const { cwd, pkg, workspace } = readWorkspaces()) {
  // ...
}

API

readWorkspaces([options])

  • options.cwd='.': A string pointing to the path of the module to look up the package.json and installed modules for
  • options.ignorePaths: An array of strings, string[], with paths to ignore during the lookup of workspaces
  • options.includeWorkspaceRoot=true: When set to false the workspace root will not be returned. Equivalent to npm --include-workspace-root but with different default.
  • options.skipWorkspaces: When set to true, no workspace lookup will occur. Equivalent to npm --workspaces but with different default.
  • options.workspace: An array of strings, string[], that should either match the name of a workspace or its path / path prefix. Narrows returned workspaces to those matching the provided strings. If a requested workspace can't be found, then an error will be thrown when the generator completes. Equivalent to npm's npm --workspace / npm -w.

Returns

AsyncGenerator that yields the workspace root initially (unless its excluded) and then each matching workspaces

  • cwd: the string path to the workspace / root
  • pkg: the package.json content of the workspace / root
  • workspace: the string name of the workspace (not set on the root)

Used by

Similar modules

  • read-pkg – similar functionality but reads a single package

Readme

Keywords

none

Package Sidebar

Install

npm i read-workspaces

Weekly Downloads

1,555

Version

1.2.0

License

MIT

Unpacked Size

11.1 kB

Total Files

6

Last publish

Collaborators

  • voxpelli