列出类似于 lerna ls 的 NPM 工作区
List NPM workspaces similar to lerna ls
我正在寻找类似于 lerna ls
的 NPM 命令,它可以打印出所有工作区。
例如,假设我在 packages
子目录中有 package1
和 package2
,而我的 package.json 如下所示:
"workspaces": [
"./packages/*"
]
我想获取 NPM 7 工作区的列表。对于我期望的示例:
- packages/package1
- packages/package2
我希望 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
我正在寻找类似于 lerna ls
的 NPM 命令,它可以打印出所有工作区。
例如,假设我在 packages
子目录中有 package1
和 package2
,而我的 package.json 如下所示:
"workspaces": [
"./packages/*"
]
我想获取 NPM 7 工作区的列表。对于我期望的示例:
- packages/package1
- packages/package2
我希望 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