Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

OCI: Define MediaTypes and decompression logic for nupkg/zip

オープン
#1,967 コメント 6 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
45/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
静か
技術スタック
csharp, powershell
領域
tooling

調査の方向性

まず、既存の OCI アーティファクトの pull パスを追跡し、tar および tar+gzip レイヤーがどのように処理されているかを確認します。nupkg および zip のメディアタイプを定義し、それらのレイヤーに unzip 処理を適用して、既存の形式に影響を与えずにネイティブの zip パッケージが消費されることを検証します。

索引モデルが issue の本文から書いたものです。

説明

feature_request Issue-Discussion
Summary of the new feature / enhancement

As a publisher, I want to publish PowerShell Modules packaged in nupkg as ORAS artifacts to consume in their native zip format rather than having to convert them to tar+gzip.

If I am hosting a large registry (e.g. https://pwsh.gallery), I can reference the same storage/packages for both nugetv2/v3 and oras packages, otherwise I have to hold and maintain duplicate copies/storage of every package.

Proposed technical implementation details (optional)

OCI allows definitions of both a media type and an image type. Rather then be generic, we should define types for both of these and implement them for nupkg/zip:

Nupkg MediaType: application/vnd.dotnet.nupkg.v1+zip

Zip Layer MediaType: application/vnd.oci.image.layer.v1.zip

When pulling packages, apply proper unzip to these layers and then handle the same as the tar+gzip. Potentially support a strict option to only accept items that were strictly published with the dotnet.nupkg mediatype.

This behavior would only occur on the specified image type, so it would not break any compatibility.

Registries could choose to then host powershell modules in either native zip, tar, tar+gzip, or tar+zstd.

This implementation would not require any registry-side changes, as they are designed for this and do not need to know or understand the zip format to work for both publishing and retrieval, unless a registry does some sort of non-standard validation of the artifact.

It may make sense to define these formats or the transfer mechanism in general in a PowerShell RFC so that all OCI-based PowerShell tools have a standard set of instructions to work from.

主要言語
C#
スター
576
フォーク
114
平均マージ
23時間 17分
マージ済み PR(30日)
8

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

PowerShell/PSResourceGet のほかの issue

PowerShell/PSResourceGet の issue をすべて見る

似ている issue

C# の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。