我想列出所有软件包及其版本,目前我正在npm list depth=100
中输入100,以便它将所有依赖关系返回到软件包下。
目前,我得到的是这样的东西:
├─┬ async@2.6.1
│ └── lodash@4.17.11
├─┬ aws-sdk@2.398.0
│ ├─┬ buffer@4.9.1
│ │ ├── base64-js@1.3.0
│ │ ├── ieee754@1.1.8 deduped
│ │ └── isarray@1.0.0
│ ├── events@1.1.1
│ ├── ieee754@1.1.8
│ ├── jmespath@0.15.0
│ ├── querystring@0.2.0
│ ├── sax@1.2.1
│ ├─┬ url@0.10.3
│ │ ├── punycode@1.3.2
│ │ └── querystring@0.2.0 deduped
│ ├── uuid@3.3.2 deduped
│ └─┬ xml2js@0.4.19
│ ├── sax@1.2.1 deduped
│ └── xmlbuilder@9.0.7
├─┬ aws-sdk-mock@4.3.0
│ ├── aws-sdk@2.398.0 deduped
│ ├─┬ sinon@7.2.3
│ │ ├─┬ @sinonjs/commons@1.3.0
│ │ │ └── type-detect@4.0.8
│ │ ├─┬ @sinonjs/formatio@3.1.0
│ │ │ └── @sinonjs/samsam@3.1.0 deduped
│ │ ├─┬ @sinonjs/samsam@3.1.0
│ │ │ ├── @sinonjs/commons@1.3.0 deduped
│ │ │ ├── array-from@2.1.1
│ │ │ └── lodash.get@4.4.2
│ │ ├── diff@3.5.0
│ │ ├── lolex@3.0.0
│ │ ├─┬ nise@1.4.8
│ │ │ ├── @sinonjs/formatio@3.1.0 deduped
│ │ │ ├── just-extend@4.0.2
│ │ │ ├── lolex@2.7.5
│ │ │ ├─┬ path-to-regexp@1.7.0
│ │ │ │ └── isarray@0.0.1
│ │ │ └── text-encoding@0.6.4
│ │ └─┬ supports-color@5.5.0
│ │ └── has-flag@3.0.0
│ └── traverse@0.6.6
我想像这样使它平坦
async@2.6.1, lodash@4.17.11, ...
我想遍历每个软件包,然后npm view {package-name} dist.tarball
然后使用npm publish <private-artifact>
将其发布到我们的私有工件中
如何为此创建bash脚本?
答案 0 :(得分:0)
对于扁平任务,请尝试:
npm list |awk '{print $NF}'|tr "\n" ","
对于查看任务:
for package in $(npm list |awk '{print $NF}')
do
npm view $package
done
发布:
for package in $(npm list |awk '{print $NF}')
do
npm publish $package
done