| .github/workflows | ||
| public | ||
| scripts | ||
| src | ||
| test | ||
| .gitignore | ||
| .node-version | ||
| AGENTS.md | ||
| eslint.config.js | ||
| lefthook.yml | ||
| mise.toml | ||
| package.json | ||
| pnpm-lock.yaml | ||
| pnpm-workspace.yaml | ||
| README.md | ||
| tsconfig.json | ||
| tsconfig.node.json | ||
| wrangler.jsonc | ||
Hucode Updates
Update metadata service for Hucode releases.
Stack
- Node.js 22+
- pnpm 11
- pinact
- TypeScript
- Cloudflare Workers static assets with Worker fallback
mise reads Node.js from .node-version and installs pnpm 11 and pinact from
mise.toml.
pnpm is configured in pnpm-workspace.yaml with minimumReleaseAge: 10080,
which only allows dependency versions that have been published for at least
seven days.
Commands
mise install
pnpm install
pnpm refresh
pnpm lint
pnpm format
pnpm check
pnpm dev
pnpm deploy
pnpm refresh fetches GitHub release metadata, updates the generated release
manifest, writes static update responses for older known release commits, and
writes per-version release notes from GitHub release bodies to
public/release-notes/{version}.md.
Set GITHUB_TOKEN when running it locally to use authenticated GitHub API
requests and avoid lower unauthenticated rate limits.
pnpm check runs linting, formatting checks, type checks, and tests.
Release notes are served from static assets:
https://updates.hucode.dev/release-notes/0.0.20.md
Release Refresh
The Refresh release data GitHub Actions workflow can be run manually or
triggered from jimeh/hucode after release assets are uploaded:
gh api \
--method POST \
/repos/jimeh/hucode-updates/dispatches \
-f event_type=hucode-release-published
The caller needs a token with write access to jimeh/hucode-updates.
The workflow commits refreshed metadata with
grafana/github-api-commit-action, so commits are created through GitHub's
API and signed by GitHub. It mints a release bot GitHub App token from these
repository settings:
- Variable:
RELEASE_BOT_CLIENT_ID - Secret:
RELEASE_BOT_PRIVATE_KEY
Manual backfill for existing releases uses the same refresh path:
GITHUB_TOKEN="$(gh auth token)" pnpm refresh
pnpm check