Help us understand the problem. What is going on with this article?

「あまり知られていないnpm CLIコマンド」を読んで勉強

More than 1 year has passed since last update.

こちらのリンクでnpmのCLIコマンドについてわかりやすかったので、それをみながら勉強したというという投稿なります。
なのでリンク先を見ていただければ、この記事は見なくても大丈夫です。m(_ _)m
また、私はJavaScript勉強中のものです、間違いなどありましたら教えていただけるとありがたいです。

npm pack

https://docs.npmjs.com/cli/pack.html

npmに公開せずにnpm installしてテストできる。npm packを実行すると、.tgzファイルができて、それを npm install できる

index.js
module.exports = function add(a, b) {
    return a + b;
}
package.json
{
  "name": "add",
  "version": "1.0.0",
  "description": "Add numbers",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "license": "ISC"
}
$ npm pack #「add-1.0.0.tgz」というファイルができる

$ cd ./path/to/my-project

$ npm i ./path/to/add-1.0.0.tgz

↑を実行すると、package.jsonに以下のように追加され、

package.json
  "dependencies": {
    "add": "file:./path/to/add-1.0.0.tgz"
  }

実行できることが確認できました。

const add = require("add")
console.log(add(1, 2)) // 3

npm outdated

https://docs.npmjs.com/cli/outdated.html

パッケージが古いかどうか確認できる

Screen Shot 2019-08-17 at 23.38.11.png

npm prune

https://docs.npmjs.com/cli/prune.html

無関係なパッケージを削除する

公式によると、

Extraneous packages are packages that are not listed on the parent package’s dependencies list.
↓google翻訳
無関係なパッケージは、親パッケージの依存関係リストにリストされていないパッケージです。

とあったので、

  1. npm i webpack とした後、
  2. package.jsondependenciesからwebpackを消す
  3. npm prune とすると、package.jsonにwebpackはないので消してくれるようでした。

また、npm prune --production とすると、package.jsondependenciesはそのままで、devDependenciesのパッケージだけを消してくれるようです。

npm view <name> <field>

https://docs.npmjs.com/cli/view.html

パッケージに関するデータを表示してくれる

試してみるとこういった感じで表示されました。

$ npm view console-tetoris

console-tetoris@1.0.0 | MIT | deps: 1 | versions: 1
JavaScriptコンソールで遊べるテトリス
https://github.com/okumurakengo/console-tetoris#readme

dist
.tarball: https://registry.npmjs.org/console-tetoris/-/console-tetoris-1.0.0.tgz
.shasum: 408c79e189bbaf49bbed7f71b4144d94dec4f371
.integrity: sha512-3VDnBgnjAy/5qUW7biNjaIm4YbE3/KlK5qptLUxig2AZVvhZQkR1UiQRhojMEoyeHDWgcerVXcI2kHQeVuLNwQ==
.unpackedSize: 605.5 kB

dependencies:
lodash: ^4.17.15 

maintainers:
- okumurakengo <okumurakengoxxx@gmail.com>

dist-tags:
latest: 1.0.0  

published 5 days ago by okumurakengo <okumurakengoxxx@gmail.com>

npm docs <pkg>

https://docs.npmjs.com/cli/repo.html

パッケージのドキュメントのWebページを開いてくれる

npm docs reactとすると https://reactjs.org/ がブラウザで開いてくれました。

npm dedupe

https://docs.npmjs.com/cli/dedupe.html

パッケージの重複を減らせる

こちらがとても参考になりました。ありがとうございます:bow:

npm completion

https://docs.npmjs.com/cli/completion.html

これを実行するとnpmのタブ補完をしてくれる。

bash
sudo npm completion >> ~/.bashrc
source ~/.bashrc

insまで打ち込んでTABを押すと保管してくれました

BvvWedbStW.gif


最後まで読んでいただいてありがとうございました。m(_ _)m

okumurakengo
人が作ってくれたご飯食べるときに何も言わずに食べるのは、ちょっとダメらしいという話を聞いたことがあるので、「あ、うめ、あ、うめ」って言いながら食ってたら、すごい変な人と思われてしまってしまった/初心者です、あまりわかっていません
https://bokete.jp/user/okumurakengo
qiitadon
Qiitadon(β)から生まれた Qiita ユーザー・コミュニティです。
https://qiitadon.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away