このチャプターの目次
ライブラリにはScopedパッケージもあります。このScopedパッケージは、いくつかのパッケージをグループにまとめたパッケージのことです。
例えば、Babelは@babel/core
や@babel/preset-typescript
など、Babelが公開しているいくつかのパッケージがありますが、それを@babel/〜
というグループでまとめています。
このように@scope/package-name
でまとめたパッケージのことをScopedパッケージといいます。
🔍 Scopedパッケージの作成
もしScopedパッケージを作成するなら、これまでの手順に2つ変更点があります。
Scopeの指定
package.jsonのnameに@scopeの名前
をつける。
package.json
{
"name": "@scope/package-name", // 👈 例) @babel/core
"version": "1.0.0",
"main": "src/index.js",
"license": "MIT",
// ...skipped
}
もしくはプロジェクトの初期化で、以下のコマンドで実行する。
$ npm init --scope=@your-scope-name
GitHub Actions
release.yml
にScopeを指定します。
name: CICD
# ...skipped
jobs:
release:
name: release-npm-package
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v2
- name: setup-node
uses: actions/setup-node@v2
with:
node-version: 14.x
registry-url: 'https://registry.npmjs.org'
# 👇 追加したよ
# Config for scoped package
always-auth: true
scope: '@your-scope-name'
# ...skipped