跳至主要內容

查看目錄

封包

封包是 JSR 的核心。封包是 JavaScript 或 TypeScript 程式碼的集合,由作者發布到 JSR 網站。其他使用者可以使用 `jsr:` 進口來導入封包。 瞭解如何使用 JSR。

封包包含在範圍內。範圍是作者發布到 JSR 網站的封包集合。範圍類似於 npm 的組織或 GitHub 的帳戶。 瞭解範圍。

封包有一個名稱。封包名稱在範圍內必須是唯一的,亦即同一個範圍內沒有兩個封包可以有相同的名稱。封包名稱必須介於 2 到 20 個字元,而且只能包含小寫字母、數字和連字號。它們不能以連字號開頭。

可以在 jsr.io/new 中建立封包。封包總是建立在某個範圍內,所以必須在建立封包之前建立一個範圍。

說明

套件可以有說明。說明是在套件頁面和搜尋結果中顯示的關於套件的簡短廣告。說明應為潛在使用者總結套件做什麼。說明可以長達 250 個字元。說明可以從套件頁面上的「設定」標籤進行更新。

執行期間相容性

套件可以指定它們與哪些執行期間相容。這對套件消費者很有幫助,他們可以一目瞭然套件支援哪些執行期間。此資訊將顯示在套件頁面和搜尋結果中。相容性可以指定在 5 個支援的執行期間中的每個執行期間 (Deno、Node.js、Cloudflare Workers、Bun 和網路瀏覽器) 中,套件可以指定為「支援」、「不支援」或「支援未知」。支援未知表示套件作者不知道套件是否與執行期間相容。相容性可以從套件頁面上的「設定」標籤進行更新。

連結的 GitHub 儲存庫

套件可以有一個連結的 GitHub 儲存庫。此儲存庫對套件使用者顯示,可以用於連結到套件的原始程式碼和變更追蹤器。

在套件頁面上顯示的 GitHub 儲存庫由 JSR 驗證,確保套件作者管理。這可以防止套件作者連結到他們不擁有之儲存庫。

可以在套件頁面的「設定」標籤中,將 GitHub 存放庫連結到套件。只有範圍管理員才能將 GitHub 存放庫連結到套件。範圍管理員也可從同一個頁面取消連結 GitHub 存放庫。要連結存放庫,必須是 GitHub 上該存放庫的管理員。

連結 GitHub 存放庫也會啟用使用 OIDC 的 GitHub Actions 的不使用權杖發布。 詳細了解如何從 GitHub Actions 發布。

刪除套件

可以在套件頁面的「設定」標籤中,刪除套件。只有範圍管理員才能刪除套件。

只有套件沒有發布版本時才能刪除。如果套件有發布版本,則無法刪除。 詳細了解登錄檔不變性。

版本

套件中的程式碼以版本的形式發布。版本是套件程式碼在某個時間點的快照。版本是不變的 - 版本一旦發布,就不能變更或刪除。這可確保套件是可靠的,且使用者可以信賴套件不會在他們不知情的情況下變更。 詳細了解登錄檔不變性。

版本會使用 jsr publishdeno publish 命令發布。 詳細了解如何發布套件。

版本必須是有效的 SemVer 版本。我們建議套件遵循語意化版本控制政策。這些政策如下所示

  • 如果您進行重大變更,請提升主版本。
  • 如果您以向後相容的方式新增功能,請提升次要版本。
  • 如果您以向後相容的方式修復錯誤,請提升補丁版本。

若要發布套件的新版本,您必須在執行 jsr publishdeno publish 之前,提升設定檔中的版本。

停用版本

套件版本無法刪除。但有時你可能想避免使用者使用指定版本的套件,例如是因為其中包含重大錯誤。在此種情況下,你可以「停用」此版本。

停用版本會對多件事項造成影響

  • Semver 解析會在解析依賴關係時略過此版本。
  • 會在套件頁面上顯示此版本已停用的警告。
  • 會避免此版本顯示在搜尋結果中。
  • 會在套件的版本清單中標記此版本為已停用。
  • 在判斷套件的最新版本時,不會將已停用版本納入考量。

停用版本並不會阻止使用者明確下載此版本、檢視文件,或檢視原始程式碼。特別是,如果使用者已經下載此版本、將其包含在其 lock 檔案中,或在匯入時明確指定版本,他們仍然可以使用它。

如要停用版本,請前往套件頁面上的「版本」索引標籤,並按一下你想要停用的版本旁的「停用」按鈕。只有範圍管理員可以停用版本。可以在同一頁面的版本旁按一下「取消停用」按鈕,取消版本停用。

為說明刪除和停用版本的差異性,請考慮以下場景

  • 你發佈套件的版本 1.0.0
  • 你發佈套件的版本 1.0.1
  • 你發現版本 1.0.1 中有重大錯誤,而且想要避免使用者使用它。
  • 你停用版本 1.0.1

在此時,如果使用者已經下載版本 1.0.1,或如果他們在匯入時明確指定版本(如下所述),使用者仍然可以使用它

import { foo } from "jsr:foo@1.0.1";

然而,如果使用者尚未下載版本 1.0.1,而且沒有在匯入時明確指定版本,他們會針對以下匯入取得版本 1.0.0

import { foo } from "jsr:foo@1";

文件

封裝文件的檔案是自動從封裝程式原始碼產生。檔案會使用 JSDoc 註解 為封裝程式中的所有外匯函數、類別和變數產生。

JSR 使用 deno doc 產生文件。這代表在本地執行 deno doc --html,就能預覽封裝程式文件在 JSR 中的外觀。如此產生的 HTML 檔案,其文件外觀與 JSR 網站上顯示的十分類似。

封裝程式頁面上的「概觀」索引標籤,會顯示封裝程式預設進入點的模組文件。如果封裝程式沒有預設進入點,或預設進入點沒有模組文件,則「概觀」索引標籤會顯示封裝程式的自述檔案。如果沒有自述檔案,則「概觀」索引標籤只會在側邊欄顯示封裝程式的綱要。

封裝程式頁面下方的側邊欄,包含封裝程式預設進入點所有外匯的連結,以及封裝程式中所有其他進入點的連結。按一下這些連結,即可顯示所選符號或進入點的文件。

提供封裝程式實用且相關的文件,對於封裝程式的成功至關重要。使用者在決定使用封裝程式之前,通常會查看封裝程式的文件。我們建議您為封裝程式中的所有外匯函數、類別和變數撰寫文件。 進一步瞭解如何撰寫文件

發佈

封裝程式使用 jsr publishdeno publish 指令發佈。 進一步瞭解如何發佈封裝程式

封裝程式頁面上的「發佈」索引標籤,有關於發佈封裝程式的有用資訊,例如設定檔的綱要,以及使用 GitHub Actions 發佈的說明。

在 GitHub 上編輯此頁面