Releasing DragView
August 25, 2026 ยท View on GitHub
This document is for maintainers. Public identity is fixed as:
- Brand and GitHub repository:
DragView - npm and DSH package:
dsh-dragview - Compatibility entry/settings ID:
drag-file
The compatibility event dsh-drag-file:add-pill, capability dshDragFileHost, /file-drop/* routes, and dsh-drag-file-* browser identifiers must not be renamed in a routine release.
Release gate
- Start from a clean branch whose upstream is the intended release commit.
- Confirm the GitHub repository is
https://github.com/anzhaohao/DragViewand has thedsh-plugintopic. - Install exactly from the lockfile with a supported Node version:
npm ci. - Run
npm run build, then confirm generated files have no diff. - Run
npm run check,npm test,npm pack --dry-run --json, andgit diff --check. - Create a real tarball with
npm pack --json, record its SHA-256, and install that exact tarball in a temporary profile before publishing. - Back up the installed profile package, profile
package.json, lockfile, and Cordis patch before replacing a deployed version. - Restart Hana Agent for host changes and complete a real DSH smoke test after restart.
Never place an npm token or one-time password in a command argument, log, issue, or chat. If npm requests an OTP, enter it only in the interactive npm prompt. Do not claim npm provenance unless the published version was produced by a configured trusted publisher with verifiable provenance.
Publish order
- Freeze the validated tarball and checksum.
- Publish
dsh-dragview@<version>from the verified release commit. - Verify npm metadata, repository URL, integrity, package contents, and a clean install.
- Create immutable tag
v<version>on the same commit. - Create the GitHub Release and attach the tarball and SHA-256 file.
- If any published artifact is wrong, release a new patch version; do not move a public tag or overwrite an npm version.
DSH plugin market
The market registry is awesome-dsh-plugin/awesome-dsh-plugin. Submit one entry at data/plugins/anzhaohao__DragView.yml with category ui; the registry derives npm metadata from this repository's package.json, so do not add an npm: field.
Before opening the PR, verify the registry's current contribution guide. At the time of the 0.1.0 preparation it required a repository at least one day old, at least ten genuine commits, a dsh-plugin topic, a valid dsh.bundle declaration, generated registry README files, and green CI. Never use empty, whitespace-only, or artificially fragmented commits to meet the history threshold.