列出类似于 lerna ls 的 NPM 工作区

List NPM workspaces similar to lerna ls

我正在寻找类似于 lerna ls 的 NPM 命令,它可以打印出所有工作区。

例如,假设我在 packages 子目录中有 package1package2,而我的 package.json 如下所示:

"workspaces": [
 "./packages/*"
]

我想获取 NPM 7 工作区的列表。对于我期望的示例:

我希望 npm ls -p --depth 0 会这样做,但不幸的是它也打印出其他依赖项。

我想我可以使用 npm ls -json 并解析出顶级依赖项。不过,我希望有更好的方法吗?

所以现在我正在使用 JQ。

示例: npm ls --production --depth 1 -json | jq -r '.dependencies[].resolved'

对于我的示例,结果为:

file:../../packages/package1
file:../../packages/package2

不知道为什么要在前面加上../../。所以进一步改进这个:npm ls --production --depth 1 -json | jq -r '.dependencies[].resolved[11:]' returns 预期结果:

packages/package1
packages/package2

我还在这里提交了功能请求:https://github.com/npm/cli/issues/4086