@ywal123456/jskim 0.1.0 → 0.1.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 +22 -19
- package/docs/create-jskim.md +10 -10
- package/docs/publishing.md +32 -52
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -28,7 +28,6 @@ Nunjucks ソースを設定に従って静的 HTML にレンダリングし、as
|
|
|
28
28
|
- HTML 移行
|
|
29
29
|
- JSON データの自動読み込み
|
|
30
30
|
- API / Mock API
|
|
31
|
-
- 実際の npm registry publish(手順は準備済み)
|
|
32
31
|
- config の hot reload
|
|
33
32
|
- 増分ビルド
|
|
34
33
|
- SPA fallback / proxy
|
|
@@ -43,28 +42,38 @@ Nunjucks ソースを設定に従って静的 HTML にレンダリングし、as
|
|
|
43
42
|
|
|
44
43
|
製品名は **JSKim**、CLI binary は **`jskim`**、npm engine package は **`@ywal123456/jskim`** です。package 名と binary 名を混同しないでください。
|
|
45
44
|
|
|
46
|
-
|
|
45
|
+
`@ywal123456/jskim` と `create-jskim` は npm registry で公開済みの MIT package です。
|
|
47
46
|
|
|
48
47
|
詳細:
|
|
49
48
|
|
|
50
49
|
- [docs/create-jskim.md](docs/create-jskim.md)
|
|
51
|
-
- [docs/publishing.md](docs/publishing.md)
|
|
50
|
+
- [docs/publishing.md](docs/publishing.md)(maintainer 向け release 手順)
|
|
52
51
|
|
|
53
|
-
##
|
|
54
|
-
|
|
55
|
-
公開後のインストール例:
|
|
52
|
+
## インストール
|
|
56
53
|
|
|
57
54
|
```bash
|
|
58
55
|
npm install --save-dev @ywal123456/jskim
|
|
59
56
|
```
|
|
60
57
|
|
|
58
|
+
## 新規 project の作成
|
|
59
|
+
|
|
61
60
|
```bash
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
61
|
+
npm create jskim@latest
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
代替:
|
|
66
65
|
|
|
67
|
-
|
|
66
|
+
```bash
|
|
67
|
+
npx create-jskim my-project
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## CLI
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
jskim build <project>
|
|
74
|
+
jskim watch <project>
|
|
75
|
+
jskim serve <project>
|
|
76
|
+
jskim dev <project>
|
|
68
77
|
```
|
|
69
78
|
|
|
70
79
|
`package.json` の scripts 例:
|
|
@@ -83,11 +92,11 @@ npx jskim build sample
|
|
|
83
92
|
要点:
|
|
84
93
|
|
|
85
94
|
- npm package 名は `@ywal123456/jskim`(scoped)
|
|
86
|
-
- インストール後の CLI binary 名は `jskim
|
|
95
|
+
- インストール後の CLI binary 名は `jskim`
|
|
87
96
|
- コマンドは実行したディレクトリの `process.cwd()` をプロジェクトルートとして扱う
|
|
88
97
|
- パッケージのインストール先(`node_modules/@ywal123456/jskim`)を作業空間とはみなさない
|
|
89
98
|
- プロジェクトルートに `jskim.config.js` が必要
|
|
90
|
-
|
|
99
|
+
|
|
91
100
|
ヘルプ / バージョン:
|
|
92
101
|
|
|
93
102
|
```bash
|
|
@@ -97,18 +106,13 @@ jskim --version
|
|
|
97
106
|
|
|
98
107
|
## プロジェクト生成(create-jskim)
|
|
99
108
|
|
|
100
|
-
公開後の例:
|
|
101
|
-
|
|
102
109
|
```bash
|
|
103
110
|
npm create jskim@latest
|
|
104
111
|
# または
|
|
105
112
|
npx create-jskim my-project
|
|
106
113
|
```
|
|
107
114
|
|
|
108
|
-
ローカル / 開発時:
|
|
109
|
-
|
|
110
115
|
```bash
|
|
111
|
-
create-jskim my-project
|
|
112
116
|
cd my-project
|
|
113
117
|
npm install
|
|
114
118
|
npm run dev
|
|
@@ -116,7 +120,6 @@ npm run dev
|
|
|
116
120
|
|
|
117
121
|
- 自動で `npm install` / `git init` は実行しません
|
|
118
122
|
- 空ではない既存ディレクトリは上書きしません
|
|
119
|
-
- 実際の registry インストールは publish 後に利用できます
|
|
120
123
|
|
|
121
124
|
## このリポジトリでの開発コマンド
|
|
122
125
|
|
package/docs/create-jskim.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
`create-jskim` は JSKim の作業空間を新規作成する **独立 scaffold package** です。
|
|
4
4
|
|
|
5
|
-
エンジン CLI(`jskim build` など)とは別 package として管理します。
|
|
5
|
+
エンジン CLI(`jskim build` など)とは別 package として管理します。npm registry で公開済みです。
|
|
6
6
|
|
|
7
7
|
## 役割
|
|
8
8
|
|
|
@@ -18,7 +18,14 @@
|
|
|
18
18
|
| `jskim` | CLI binary |
|
|
19
19
|
| `@ywal123456/jskim` | npm engine package |
|
|
20
20
|
| `create-jskim` | npm creator package |
|
|
21
|
-
| `npm create jskim@latest` |
|
|
21
|
+
| `npm create jskim@latest` | ユーザー向け生成コマンド |
|
|
22
|
+
|
|
23
|
+
## 使い方
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
npm create jskim@latest
|
|
27
|
+
npx create-jskim my-project
|
|
28
|
+
```
|
|
22
29
|
|
|
23
30
|
## 生成結果
|
|
24
31
|
|
|
@@ -70,11 +77,4 @@ create package の `package.json` に `jskimEngine` metadata を持ち、生成
|
|
|
70
77
|
|
|
71
78
|
生成プロジェクトへ License は強制しません。
|
|
72
79
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
```bash
|
|
76
|
-
npm create jskim@latest
|
|
77
|
-
npx create-jskim my-project
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
Package 名・CLI 構造は上記に合わせて準備済みです。registry への実際の publish は別手順です([publishing.md](./publishing.md))。
|
|
80
|
+
Maintainer 向けの release / publish 手順は [publishing.md](./publishing.md) を参照してください。
|
package/docs/publishing.md
CHANGED
|
@@ -1,18 +1,22 @@
|
|
|
1
1
|
# 公開手順(publishing)
|
|
2
2
|
|
|
3
|
-
この文書は
|
|
3
|
+
この文書は **maintainer 向けの release / publish 手順** です。
|
|
4
4
|
開発リポジトリの通常作業では `npm publish` を実行しません。
|
|
5
5
|
|
|
6
|
-
##
|
|
6
|
+
## 現在公開中
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
```text
|
|
9
|
+
engine: @ywal123456/jskim
|
|
10
|
+
creator: create-jskim
|
|
11
|
+
CLI binary: jskim / create-jskim
|
|
12
|
+
license: MIT
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
初回公開(v0.1.0)は完了しています。以降の patch / minor release でも、同じ手順で engine を先に、creator を後に公開します。
|
|
12
16
|
|
|
13
17
|
### 過去の失敗(参考)
|
|
14
18
|
|
|
15
|
-
unscoped
|
|
19
|
+
unscoped 名での初回 engine publish は、npm の package name similarity ポリシーにより拒否されました。現在の engine 公開名は `@ywal123456/jskim` です。
|
|
16
20
|
|
|
17
21
|
### 確定済み metadata
|
|
18
22
|
|
|
@@ -38,15 +42,7 @@ Root `package.json` の `publishConfig`:
|
|
|
38
42
|
}
|
|
39
43
|
```
|
|
40
44
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
### 残りの運用判断
|
|
44
|
-
|
|
45
|
-
```text
|
|
46
|
-
- 実際の npm publish 時点
|
|
47
|
-
- npm アカウントのログイン状態
|
|
48
|
-
- npm 2FA 状態
|
|
49
|
-
```
|
|
45
|
+
scoped engine の publish では手動コマンドの `--access public` を省略しないでください。
|
|
50
46
|
|
|
51
47
|
## 認証とセキュリティ
|
|
52
48
|
|
|
@@ -55,51 +51,41 @@ Root `package.json` の `publishConfig`:
|
|
|
55
51
|
- token をソースコードや文書に記録しないでください
|
|
56
52
|
- `.npmrc` の認証情報を repository に含めないでください
|
|
57
53
|
- publish 直前に `npm whoami` でログイン状態を確認してください
|
|
58
|
-
-
|
|
54
|
+
- 公開作業の前に会社固有情報・secret・内部 URL が残っていないことを確認してください
|
|
59
55
|
|
|
60
|
-
##
|
|
56
|
+
## 推奨順序(patch / minor)
|
|
61
57
|
|
|
62
58
|
Engine を先に publish します。生成プロジェクトの `package.json` が `@ywal123456/jskim` を参照するため、creator だけ先に公開すると生成直後の `npm install` が失敗し得ます。
|
|
63
59
|
|
|
64
|
-
1.
|
|
65
|
-
2.
|
|
66
|
-
3.
|
|
67
|
-
4.
|
|
68
|
-
5.
|
|
69
|
-
6. **engine を先に publish** する(`--access public
|
|
60
|
+
1. version を決定する
|
|
61
|
+
2. リポジトリ root で `npm test` を実行する
|
|
62
|
+
3. engine / creator の `npm pack` を確認する
|
|
63
|
+
4. `npm publish --dry-run` を確認する
|
|
64
|
+
5. Git commit / push する
|
|
65
|
+
6. **engine を先に publish** する(`--access public`)
|
|
70
66
|
7. registry から engine をインストールできることを確認する
|
|
71
67
|
8. creator を publish する
|
|
72
68
|
9. `npm create jskim@latest` を検証する
|
|
69
|
+
10. Git tag と GitHub Release を作成する
|
|
73
70
|
|
|
74
|
-
|
|
71
|
+
同じ name / version を再 publish できると仮定しないでください。
|
|
75
72
|
|
|
76
|
-
|
|
73
|
+
## コマンド例(PowerShell)
|
|
74
|
+
|
|
75
|
+
Engine(リポジトリ root):
|
|
77
76
|
|
|
78
77
|
```powershell
|
|
79
78
|
npm.cmd whoami --registry=https://registry.npmjs.org
|
|
80
|
-
npm.cmd view @ywal123456/jskim name version --registry=https://registry.npmjs.org
|
|
81
|
-
npm.cmd view create-jskim name version --registry=https://registry.npmjs.org
|
|
82
79
|
npm.cmd test
|
|
83
80
|
npm.cmd publish --dry-run --access public --registry=https://registry.npmjs.org
|
|
84
81
|
npm.cmd publish --access public --registry=https://registry.npmjs.org
|
|
85
82
|
```
|
|
86
83
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
```text
|
|
90
|
-
+ @ywal123456/jskim@0.1.0
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
Registry 確認:
|
|
84
|
+
Registry / インストール確認:
|
|
94
85
|
|
|
95
86
|
```powershell
|
|
96
|
-
npm.cmd view @ywal123456/jskim
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
外部インストール:
|
|
100
|
-
|
|
101
|
-
```powershell
|
|
102
|
-
npm.cmd install --save-dev @ywal123456/jskim@0.1.0 --registry=https://registry.npmjs.org
|
|
87
|
+
npm.cmd view @ywal123456/jskim name version dist-tags --registry=https://registry.npmjs.org
|
|
88
|
+
npm.cmd install --save-dev @ywal123456/jskim --registry=https://registry.npmjs.org
|
|
103
89
|
```
|
|
104
90
|
|
|
105
91
|
Creator:
|
|
@@ -110,25 +96,19 @@ npm.cmd publish --dry-run --registry=https://registry.npmjs.org
|
|
|
110
96
|
npm.cmd publish --registry=https://registry.npmjs.org
|
|
111
97
|
```
|
|
112
98
|
|
|
113
|
-
期待する成功出力:
|
|
114
|
-
|
|
115
|
-
```text
|
|
116
|
-
+ create-jskim@0.1.0
|
|
117
|
-
```
|
|
118
|
-
|
|
119
99
|
最終ユーザー検証:
|
|
120
100
|
|
|
121
101
|
```powershell
|
|
122
102
|
npm.cmd create jskim@latest generated-project
|
|
123
|
-
npx create-jskim my-project
|
|
124
103
|
```
|
|
125
104
|
|
|
126
105
|
## 注意
|
|
127
106
|
|
|
128
|
-
- unscoped engine
|
|
129
|
-
- lifecycle script(`prepublishOnly`
|
|
107
|
+
- unscoped engine 向けの旧 package 名では publish しません
|
|
108
|
+
- lifecycle script(`prepublishOnly` など)は必須化していません
|
|
130
109
|
- publish 前チェックリストとして **手動の `npm test`** を必須とします
|
|
131
110
|
- token 生成・login・owner / dist-tag 変更は運用者が責任を持って行います
|
|
132
111
|
- 生成プロジェクトへ License を強制しません(ユーザー側で決定)
|
|
133
112
|
- creator は unscoped public package のため、creator `package.json` に `access: public` は追加していません
|
|
134
|
-
-
|
|
113
|
+
- 文書のみの修正でも npm package README を更新する場合は patch version を使います
|
|
114
|
+
- 既存の公開 tag(例: `v0.1.0`)を移動または再作成しません
|