V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
amio
V2EX  ›  Node.js

发个 npm 项目目录审查工具: nls - A missing inspector for npm

  •  
  •   amio · 2018-05-27 17:31:00 +08:00 · 4292 次点击
    这是一个创建于 2406 天前的主题,其中的信息可能已经有所发展或是发生改变。

    一图胜千言

    nls

    主要是自己常用的两个功能,

    • 查看项目里可用的 npm scripts 命令(开 package.json 都太慢了)
    • 查某个 dep 是怎么装进来的(类似 yarn why

    如果有其他类似常用需求,也欢迎建议。

    项目地址: https://github.com/amio/nls

    6 条回复    2018-05-30 10:42:38 +08:00
    lizheming
        1
    lizheming  
       2018-05-27 19:04:05 +08:00
    唔... `npm run` 和 `npm list ajv` 了解一下?
    amio
        2
    amio  
    OP
       2018-05-27 23:14:00 +08:00
    卧槽才反应过来 npm ls 加了参数可以当成 yarn why 来用,我说怎么 npm 圈一直没有 yarn why 这样的功能 > <

    npm run 是用来执行命令,nls 只是列出来当前有那些 scripts 可以 run,并不执行。
    使用 nls 的场景是经常在各个项目切来切去,不能清楚记得每个项目都有哪些编译、发布命令,所以 npm run 之前要 nls 先看看 scripts 里的内容。虽然也能 `vim package.json` 来看,但效率总还是有点低的,nls 最初就是为了这个做的,“ npm list scripts ”。
    amio
        3
    amio  
    OP
       2018-05-27 23:21:24 +08:00
    比较了下,发现 `npm ls ajv` 执行有明显延迟,不知道它做了什么。`nls why ajv` 直接从 package-lock.json 查依赖关系,秒出,还是小有优势的 ✌️
    metrue
        4
    metrue  
       2018-05-28 11:57:31 +08:00
    cat package.json | jq '.scripts'
    amio
        5
    amio  
    OP
       2018-05-28 21:36:11 +08:00
    @metrue 显然不如 `nls` 三个字母来得快 😸
    metrue
        6
    metrue  
       2018-05-30 10:42:38 +08:00
    @amio

    alias n="cat package.json | jq '.scripts'" 🐶
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2812 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 02:44 · PVG 10:44 · LAX 18:44 · JFK 21:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.