read-workspaces
Resolves all package.json files of a workspace setup.
Supports both npm / yarn style workspace definitions and pnpm style.

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