11# my-starter-npm-cli-and-lib
22
33TypeScript で npm 用の CLI とライブラリのパッケージを作成するスターター。
4- CodeSandbox 上でコードを編集し、GitHub Actions から npm レジストリーへ publish することを想定している。
4+ CodeSandbox 上でコードを編集し、GitHub Actions から npm レジストリーおよび GitHub Packages へ publish することを想定している。
55
66## 利用方法
77
8- 1 . GitHub から import する(GitHubBox からは https://githubbox.com/hankei6km/my-starter-npm-cli-and-lib )
9- 1 . fork
8+ このリポジトリをテンプレートとして新しいリポジトリを作成する。
9+
10+ 1 . ` $ gh repo create <name> --template https://github.com/hankei6km/my-starter-npm-cli-and-lib ` でリポジトリ作成
10111 . ` package.json ` と ` LICENSE ` 等を新しいパッケージにあわせて変更(付録にテンプレート)
11- 1 . 新しい terminal を開き ` $ npm run upgrade-interactive ` 等でパッケージを更新
12- 1 . ブラウザーをリロードする
12+ 1 . ` $ npm run upgrade-interactive ` 等でパッケージを更新
1313
14- これで terminal(「yarn start」タブ) 内で ` start ` スクリプトが実行される(通常はエラーとなる)、 後は必要に応じてコードの編集等を行う。
14+ 作成したリポジトリを CodeSandbox でインポートすると terminal(「yarn start」タブ) 内で ` start ` スクリプトが実行される(通常はエラーとなる)。 後は必要に応じてコードの編集等を行う。
1515
1616テストの実行は CodeSandbox 上では ` npm run csb:test ` を利用する。コマンドとしての実行を試す場合は ` npm run start -- foo.txt ` のように実行する。
1717
@@ -27,14 +27,39 @@ CodeSandbox 上でコードを編集し、GitHub Actions から npm レジスト
2727
2828### npm publish
2929
30- 以下の設定後に GitHub で Release を Publish すると ` npm pbulish ` される。
31-
32- 1 . GitHub にリポジトリを作成
33- 1 . リポジトリの "Settings / Environment" から ` npm_pkg ` を作成
34- 1 . Environment secrets に ` NPM_TOKEN ` を追加(内容は npm レジストリの Access Token)
30+ 以下の設定後に GitHub で Release を Publish すると ` npm publish ` される。
3531
3632なお、` prepublishOnly ` 等は定義されていないので、手動で ` npm publish ` を実行してもビルドはされないので注意。
3733
34+ #### 設定
35+
36+ 1 . GitHub 上でリポジトリの "Settings / Environment" から ` npm_pkg ` および ` gh_pkg ` を作成
37+ 1 . ` npm_pkg ` の secrets に ` NPM_TOKEN ` を追加(内容は npm レジストリの Access Token)
38+
39+ 現状では、` gh_pkg ` への設定変更は行わない。
40+
41+ #### npm レジストリーへ publish
42+
43+ GitHub で Release を Publish すると ` npm publish ` される。ただし Pre Release のときは Publish されない。
44+
45+ なお、` npm publish ` に ` --access public ` は指定されていないので、scope を利用する場合は注意。
46+
47+ ``` console
48+ $ npm version patch
49+ $ git push origin
50+ $ gh release create v0.1.2 -t 0.1.2
51+ ```
52+
53+ #### GitHub Packages へ publish
54+
55+ GitHub で Release を Publish すると ` npm publish ` される。このとき、scope はリポジトリの所有者(` $GITHUB_REPOSITORY ` の所有者部分)へ置き換えられる。
56+
57+ ``` console
58+ $ npm version prerelease
59+ $ git push origin
60+ $ gh release create v0.1.2-5 -t 0.1.2-5 --target < branch>
61+ ```
62+
3863## 付録
3964
4065` package.json ` に記述する情報のテンプレート。` license ` を変更したら ` LICENSE ` ファイルの変更も忘れずに。
0 commit comments