あんパン

こしあん派

node_modules以下に依存をインストールしない状態でnpm outdated --json --longを実行するとcurrentパラメータが存在しない状態で出力される

拙作の yarn-outdated-formatter にIssueが建てられたので眺めたところ発見しました(社のSlackで共有したところ id:mizdra さんに確かめていただきました。ありがとうございます:pray:)。

github.com

package.json に書かれているバージョンが必ずしもインストールされるバージョンではないので現在インストールされている依存のバージョンが表示されないのは自明といえば自明ですね。その他にも、依存の package.json に含まれている homepage 情報も欠けるようでした。

この記事を書いてる時点で最新の npm/clilib/commands/outdated.js を眺めてみると確かに currentundefined になるケースは存在しそう。

github.com

ところでこの node はNode.jsの node ではなくて、 node_modules を木構造で管理する @npmcli/arboristnode (グラフにおけるノード) なんですね。

node.package The contents of this node's package.json file. https://www.npmjs.com/package/@npmcli/arborist

ejje.weblio.jp

ネーミングがおしゃれ。

これまで npm/cli のコードを読んだことはなかったのですが、結構細かくモジュールが分割されていて面白いですね。