@s2j/global-npm 2.1.3 → 2.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,10 +1,29 @@
1
1
  # 📦 Global npm Package Setup
2
2
 
3
+ [![License: GPL v3](https://img.shields.io/badge/License-GPL%20v3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0.en.html)
4
+ [![Node.js](https://img.shields.io/badge/Node.js-339933?logo=node.js&logoColor=white)](https://nodejs.org/)
5
+ [![macOS](https://img.shields.io/badge/macOS-26.5.1-000000?logo=apple&logoColor=white)](https://www.apple.com/os/macos/)
6
+ [![Windows 11](https://img.shields.io/badge/Windows-11%2025H2-000000?logo=windows&logoColor=white)](https://www.microsoft.com/windows/)
7
+
3
8
  Node.js の **グローバル npm パッケージ管理** を `package.json` で一元化する CLI です。
4
9
  macOS、Windows 11で同じ `global-npm` フローを使えます。
5
10
 
6
11
  GitHub: [stein2nd/global-npm-setup](https://github.com/stein2nd/global-npm-setup)
7
12
 
13
+ ## 想定環境
14
+
15
+ 本ツールは、下記に挙げる、Node.js (npm) が利用でき、グローバルインストールが許容される環境での利用を想定します。
16
+
17
+ * macOS (Intel / Apple Silicon)
18
+ * Windows 11
19
+ * Ubuntu Developer Workstation
20
+
21
+ 下記環境は、推奨外とします。
22
+
23
+ * 本番サーバー
24
+ * AWS Lambda
25
+ * 共有ホスティング
26
+
8
27
  ## コマンド
9
28
 
10
29
  ```
@@ -13,6 +32,7 @@ global-npm update # package.json のバージョン範囲を更新 (ncu -u)
13
32
  global-npm install # dependencies を列挙して npm install -g を実行
14
33
  global-npm sync # upstream + user-deps → 実効 package.json を再生成
15
34
  global-npm add # user-deps.json にパッケージを追記
35
+ global-npm list # global にインストール済み pkg を一覧 (npm ls -g --depth=0)
16
36
  ```
17
37
 
18
38
  定番フローは、下記の順番になるかと思います。なお、`install` 単体では ncu は実行しません。
@@ -23,6 +43,19 @@ global-npm update
23
43
  global-npm install
24
44
  ```
25
45
 
46
+ ## global 環境の確認 (`list`)
47
+
48
+ ```sh
49
+ global-npm list
50
+ ```
51
+
52
+ global にインストール済みのトップレベル pkg を一覧します (`npm ls -g --depth=0` と同等)。
53
+ 実効 `package.json` ではなく、**現在の Node.js / npm が指す global prefix 配下** を読みます。
54
+ 事前 `sync` なしで、定番フローとは独立しています。
55
+
56
+ `install` 直後の反映確認、Node.js 切り替え後の prefix 確認、`check` と実環境の食い違いの切り分けなどに使います。
57
+ 詳細は [使い方](./docs/usage.md#list-global-環境の確認) をご覧ください。
58
+
26
59
  ## しくみ (v2.1)
27
60
 
28
61
  | レイヤ | 場所 | 役割 |
@@ -115,7 +148,7 @@ global-npm sync --dry-run
115
148
 
116
149
  下記については、[使い方](./docs/usage.md) をご覧ください。
117
150
 
118
- * 各コマンドの役割
151
+ * 各コマンドの役割 (`check`、`update`、`install`、`add`、`sync`、`list`)
119
152
  * 定番フロー (`check` → `update` → `install`)
120
153
  * 毎回 `sync` を実行する必要があるか
121
154
  * upstream 管理分と追加分の衝突が起こった場合
@@ -16,13 +16,14 @@ const { pkgPath } = ctx;
16
16
  const shell = process.platform === 'win32';
17
17
 
18
18
  function usage() {
19
- console.error(`Usage: global-npm <check|update|install|sync|add>
19
+ console.error(`Usage: global-npm <check|update|install|sync|add|list>
20
20
 
21
21
  check Check for available updates (ncu -g)
22
22
  update Update version ranges in package.json (ncu -g -u)
23
23
  install Install dependencies globally (npm install -g <name>@<range>…)
24
24
  sync Merge upstream + user-deps into materialized package.json
25
- add Add a package to user-deps.json (optional: --dev)`);
25
+ add Add a package to user-deps.json (optional: --dev)
26
+ list List top-level globally installed packages (npm ls -g --depth=0)`);
26
27
  process.exit(1);
27
28
  }
28
29
 
@@ -140,6 +141,13 @@ switch (subcommand) {
140
141
  handleAdd(restArgs);
141
142
  break;
142
143
 
144
+ case 'list':
145
+ if (restArgs.length > 0) {
146
+ usage();
147
+ }
148
+ run('npm', ['ls', '-g', '--depth=0']);
149
+ break;
150
+
143
151
  default:
144
152
  usage();
145
153
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@s2j/global-npm",
3
- "version": "2.1.3",
3
+ "version": "2.2.1",
4
4
  "description": "Manage globally installed npm packages via package.json with ncu.",
5
5
  "author": "Koutarou ISHIKAWA <stein2nd@gmail.com>",
6
6
  "type": "commonjs",
@@ -38,7 +38,7 @@
38
38
  "test": "node --test test/*.test.cjs",
39
39
  "lint": "eslint .",
40
40
  "lint:fix": "eslint . --fix",
41
- "lint:docs": "s2j-docs-linter --profile base ./README.md ./CHANGELOG.md ./docs/**/*.md ./docsMod/status.md ./docsMod/modification.md ./docsMod/mod-overlay-manifest.md ./.vscode/**/*.md",
41
+ "lint:docs": "s2j-docs-linter --profile base ./README.md ./CHANGELOG.md ./docs/**/*.md ./docsMod/status.md ./docsMod/modification.md ./.vscode/**/*.md",
42
42
  "format": "prettier --write \"**/*.{cjs,js,mjs,json}\"",
43
43
  "format:check": "prettier --check \"**/*.{cjs,js,mjs,json}\"",
44
44
  "pack": "mkdir -p artifacts && npm pack --pack-destination artifacts",
@@ -56,7 +56,7 @@
56
56
  "typescript": "^5.9.3"
57
57
  },
58
58
  "dependencies": {
59
- "@s2j/global-npm": "^2.1.2",
59
+ "@s2j/global-npm": "^2.2.0",
60
60
  "corepack": "^0.35.0",
61
61
  "editorconfig-cli": "^1.0.0",
62
62
  "envinfo": "^7.21.0",