3.0.23 • Published 3 days ago

@techor/npm v3.0.23

Weekly downloads
-
License
MIT
Repository
github
Last release
3 days ago

queryWorkspaces()

  • By default, read .workspaces of package.json in the current working directory
  • By default, workspaces in node_modules are excluded

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

./package.json

{
    "workspaces": ["packages/**"]
}

Usage

queryWorkspaces(patterns?, options?): string[]

import queryWorkspaces from '@techor/npm'

const workspaces = queryWorkspaces()
// ['packages/a', 'packages/b', 'packages/b/bb']

const workspaces = queryWorkspaces(['packages/*'])
// ['packages/a', 'packages/b']

Options

Inherited from fast-glob options

{
    cwd: process.cwd(),
    ignore: ['**/node_modules/**']
}

readWorkspacePackages()

  • By default, read workspace packages by package.json .workspaces in the current working directory
  • By default, workspace packages in node_modules are excluded

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/**']
}
3.0.23

3 days ago

3.0.22

8 days ago

3.0.21

14 days ago

3.0.20

15 days ago

3.0.19

15 days ago

3.0.18

2 months ago

3.0.16

2 months ago

3.0.17

2 months ago

3.0.12

3 months ago

3.0.13

3 months ago

3.0.10

3 months ago

3.0.11

3 months ago

3.0.14

3 months ago

3.0.15

2 months ago

3.0.9

3 months ago

3.0.8

3 months ago

3.0.7

3 months ago

3.0.6

3 months ago

3.0.4

3 months ago

3.0.5

3 months ago

3.0.3

3 months ago

3.0.2

3 months ago

3.0.1

3 months ago

3.0.0

3 months ago

2.6.7

3 months ago

2.6.6

3 months ago

2.6.5

3 months ago

2.6.4

3 months ago

2.6.1

3 months ago

2.6.0

3 months ago

2.6.3

3 months ago

2.6.2

3 months ago

2.5.24

4 months ago

2.5.22

4 months ago

2.5.23

4 months ago

2.5.21

5 months ago

2.5.20

5 months ago

2.5.19

6 months ago

2.5.18

6 months ago

2.5.17

9 months ago

2.5.16

9 months ago

2.5.15

9 months ago

2.5.14

9 months ago

2.5.13

9 months ago

2.5.11

9 months ago

2.5.10

9 months ago

2.5.9

9 months ago

2.5.8

9 months ago

2.5.7

9 months ago

2.5.6

9 months ago

2.5.5

9 months ago

2.5.4

9 months ago

2.5.3

9 months ago

2.5.2

9 months ago