Chuyển đến nội dung chính

Phát hành plugin của bạn

Đóng gói một plugin thành bundle cài được và đưa nó vào danh mục này.

Một bundle là một package npm mang theo một lớp cấu hình. Ba file:

my-plugin/
├── package.json       # khai báo dsh.bundle
├── cordis.patch.yml   # layer được áp khi một profile liệt kê bundle này
└── index.js           # module plugin mà các dòng patch tham chiếu tới

package.json:

{
  "name": "dsh-my-plugin",
  "version": "0.1.0",
  "type": "module",
  "main": "index.js",
  "files": ["index.js", "cordis.patch.yml"],
  "keywords": ["dsh", "dsh-plugin"],
  "dsh": { "bundle": { "patch": "./cordis.patch.yml" } }
}

cordis.patch.yml:

- insert:
    - id: my-plugin
      name: dsh-my-plugin

index.js:

export const name = 'my-plugin'

export function apply(ctx) {
  // đăng ký những gì plugin của bạn làm; tự động dọn dẹp khi unload
}

Được đưa vào danh mục

Phát hành lên npm kèm keyword dsh-plugin. Danh mục đọc npm registry hằng ngày, nên một bản phát hành mới sẽ xuất hiện trong vòng một ngày — không có form nộp bài, không phải chờ ai đó duyệt.

Nếu mãi không thấy xuất hiện, gần như luôn là do manifest. Thay vì đoán, hãy dán tên package vào trang kiểm tra phát hành: nó chạy đúng quy tắc mà bộ index đang chạy, trên chính package đã lên npm của bạn, và chỉ ra thứ còn thiếu.

Đánh phiên bản

Một phiên bản mới chỉ là một lần publish npm bình thường. Danh mục đọc registry hằng ngày và tự động lấy bản latest mới — version, description, keywords, và liên kết repository đều đi theo. Không có gì cần tăng số trên trang này.

Deprecation

Việc deprecate một package trên npm được tôn trọng: mục được đánh dấu archived và ẩn khỏi danh sách mặc định, trong khi permalink của nó vẫn còn hiệu lực để các liên kết cũ tiếp tục hoạt động. Trang không bao giờ bị xoá.

Nhận quyền sở hữu một mục — không cần tài khoản

Ở đây không có tài khoản, form nộp bài, hay người điều hành. Nếu tên npm là của bạn, mục đó thực chất là của bạn: sửa metadata của package — description, keywords, repository — và mục sẽ thay đổi theo lần đồng bộ hằng ngày kế tiếp. Publish một package mới dưới tên bạn sở hữu cũng tạo ra mục theo cách tương tự.

Cập nhật lần cuối 2026-08-22