@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 +34 -1
- package/bin/global-npm.cjs +10 -2
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -1,10 +1,29 @@
|
|
|
1
1
|
# 📦 Global npm Package Setup
|
|
2
2
|
|
|
3
|
+
[](https://www.gnu.org/licenses/gpl-3.0.en.html)
|
|
4
|
+
[](https://nodejs.org/)
|
|
5
|
+
[](https://www.apple.com/os/macos/)
|
|
6
|
+
[](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 管理分と追加分の衝突が起こった場合
|
package/bin/global-npm.cjs
CHANGED
|
@@ -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
|
+
"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
|
|
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.
|
|
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",
|