@techor/read-workspace-packages
v2.4.6
Published
Read workspace package.json contents
Downloads
15
Maintainers
Readme
- By default, read workspace packages by package.json
.workspaces
in the current working directory - By default, workspace packages in node_modules are excluded
Getting Started
npm install @techor/read-workspace-packages
Preparation
Your monorepo usually looks like this:
.
├── package.json
└── packages
├─── a
│ └─── package.json
├─── b
│ ├─── node_modules
│ │ └─── fake-module
│ │ └─── package.json
│ ├─── bb
│ │ └─── package.json
│ └─── package.json
├─── c
└─── d
└─── package.json
./package.json
{
"workspaces": ["packages/**"]
}
./packages/d/package.json
{
"name": "d",
"private": true
}
Usage
readWorkspacePackages(patterns?, options?): any[]
import readWorkspacePackages from '@techor/read-workspace-packages'
const packages = readWorkspacePackages()
// [{ name: 'a' }, { name: 'b' }, { name: 'd', private: true }, { name: 'bb' }]
const packages = readWorkspacePackages(['packages/*'])
// [{ name: 'a' }, { name: 'b' }, { name: 'd', private: true }]
const publicPackages = readWorkspacePackages()
.fiter((eachWorkspacePackage) => !eachWorkspacePackage.private)
// [{ name: 'a' }, { name: 'b' }, { name: 'bb' }]
Options
Inherited from fast-glob options
{
cwd: process.cwd(),
ignore: ['**/node_modules/**']
}