0

我正在寻找一个类似于lerna ls打印所有工作区的 NPM 命令。

例如,假设我有一个子目录,并且我的 package.json 看起来像这样package1package2packages

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

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

  • 包/包1
  • 包/包2

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

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

4

1 回答 1

1

所以现在我正在为此使用 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:]'返回预期结果:

packages/package1
packages/package2

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

于 2021-11-24T03:22:53.343 回答