semantic-releaseによるスコープ付きnpmパッケージの公開
スコープ付きパッケージ(@org/package)をパブリックアクセスでnpmに公開するsemantic-release設定。組織スコープパッケージとカスタムレジストリの処理。
Plugin Configuration
詳細な説明
スコープ付きパッケージの公開
スコープ付きnpmパッケージ(例:@myorg/my-package)は、特にアクセスレベルに関して正しく公開するための特定の設定が必要です。
設定
{
"branches": ["main"],
"plugins": [
"@semantic-release/commit-analyzer",
"@semantic-release/release-notes-generator",
["@semantic-release/npm", {
"npmPublish": true,
"pkgRoot": "."
}],
"@semantic-release/github"
]
}
package.jsonの要件
スコープ付きパッケージにはpackage.jsonにpublishConfigフィールドを含める必要があります:
{
"name": "@myorg/my-package",
"publishConfig": {
"access": "public"
}
}
"access": "public"がないと、npmはスコープ付きパッケージをデフォルトでrestricted(プライベート)にします。
カスタムレジストリ
プライベートレジストリ(GitHub PackagesやArtifactoryなど)に公開する場合:
{
"name": "@myorg/my-package",
"publishConfig": {
"registry": "https://npm.pkg.github.com"
}
}
ユースケース
npm、GitHub Packages、プライベートレジストリにスコープ付きパッケージを公開する組織。デザインシステムライブラリ、共有ユーティリティパッケージ、組織スコープ内で公開される内部ツールに一般的。