パッケージレジストリ
p.c.nf は CNF のパッケージレジストリです。GitHub のような名前空間でバージョン管理されたパッケージを公開できます。各成果物には固定 URL、ダウンロード数、アクセス制御があります。
概要
p.c.nf は <username>/<project> 名前空間にパッケージを保存します。各プロジェクトには 1 つ以上のバージョンがあり、各バージョンには 1 つ以上のダウンロード可能な成果物を登録できます。
npm の @scope/package や GitHub の user/repo に似ていますが、ソースコードではなくバイナリ成果物を扱います。
URL 構造
p.c.nf/
カタログ — すべての公開パッケージを表示
p.c.nf/<user>
ユーザープロフィール — そのユーザーのパッケージ一覧
p.c.nf/<user>/<pkg>
プロジェクトページ — 最新バージョンと履歴
p.c.nf/<user>/<pkg>/<version>
バージョンページ — 成果物と変更履歴
p.c.nf/<user>/<pkg>/download
最新の成果物をダウンロード
p.c.nf/<user>/<pkg>/<version>/download
特定バージョンをダウンロード(固定)
p.c.nf/<user>/<pkg>/<version>/<label>
ラベル付き成果物をダウンロード(例: プラットフォーム別)
ダウンロード
curl または wget でパッケージをダウンロードできます:
ダウンロードは再開用の HTTP Range リクエストと、304 Not Modified を返す条件付き GET リクエストに対応しています。
回数制限: IP アドレスごとに 1 分間 30 回です。上限を超えると 429 Retry-After ヘッダーが返されます。
公開
コンソールまたは HTTP API から新しいバージョンを公開します。どちらの方法でも、初回公開時にプロジェクトが作成されます。
API を使用
必須フィールド:
slug— 小文字とハイフンのみ(最大 128 文字)version— 自由形式の文字列。セマンティックバージョニングを推奨file— アップロードする成果物
任意フィールド: description、category、icon、visibility、changelog、複数の成果物があるバージョン用の label。
コンソールを使用
console.c.nf にログインし、ダウンロード管理を開きます。コンソールでファイルのアップロード、メタデータ、バージョン更新を処理できます。
/<username>/ 名前空間に公開します。他のユーザー名では公開できません。認証
2 種類の認証方式に対応しています:
API キー(自動処理に推奨)
console.c.nf/account/api でキーを生成し、Bearer トークンとして送信します:
キーは生成時に 1 度だけ表示されます。有効なキーは最大 10 個まで作成でき、いつでも無効化できます。
セッションクッキー
console.c.nf または id.c.nf から閲覧すると、セッションクッキーで自動的に認証されます。ブラウザー拡張機能とコンソールで使用します。
公開範囲
public
カタログに掲載され、誰でもダウンロードできます。
unlisted
カタログには掲載されませんが、URL を知っている人は誰でもダウンロードできます。
private
所有者と管理者だけが表示またはダウンロードできます。
バージョン
公開された各バージョンは固定 URL で保持されます。新しいリリース後も古いバージョンを利用できるため、/1.0.0/download に固定した利用者には同じビルドが引き続き配信されます。
バージョンを含まない /download エンドポイントは常に最新版を配信します。
バージョン文字列は自由形式です。分かりやすさのためセマンティックバージョニング(MAJOR.MINOR.PATCH)を推奨しますが、強制はされません。
よくある質問
p.c.nf と d.c.nf の違いは何ですか?
p.c.nf はユーザーごとの名前空間(user/project)を持つ、バージョン管理されたパッケージレジストリです。d.c.nf は CNF 管理者が管理する厳選ダウンロードのフラットなカタログです。
バージョンを削除できますか?
はい、コンソールから削除できます。削除すると利用者が保存した固定 URL が機能しなくなるため、通常は新しいバージョンの公開を推奨します。
サイズ上限はありますか?
成果物の上限はユーザー権限レベルにより異なり、UPL 1 段階につき 50 MB、最大約 500 MB です。大きなファイルはコンソールから分割してアップロードできます。
拡張機能を認証するにはどうすればよいですか?
CNF Cred 拡張機能は、console.c.nf にログイン中のセッションクッキーと API キーに対応します。拡張機能の設定で方式を選択してください。