Files
playkit/docs/NPM_REGISTRY.md
ilia 8489dd95d6
CI / release (pull_request) Has been skipped
CI / skip-ci-check (pull_request) Successful in 5s
CI / secret-scan (pull_request) Successful in 4s
CI / build-and-test (pull_request) Successful in 16s
CI / selftest (pull_request) Successful in 11s
fix(release): soft-fail npm publish until package token is scoped
Gitea Release for v0.4.0 succeeded; npm registry returned E401 without
write:package. Keep release green and document the token follow-up.
2026-07-15 09:14:25 -04:00

1.5 KiB

Gitea npm registry (@levkin scope)

Gitea Package Registry is enabled on git.levkin.ca. Playkit releases can be installed without a git URL once published.

Consumer install

.npmrc (or CI step):

@levkin:registry=https://git.levkin.ca/api/packages/ilia/npm/
//git.levkin.ca/api/packages/ilia/npm/:_authToken=${PLAYKIT_GIT_TOKEN}
npm i @levkin/playkit
# or pin: npm i @levkin/playkit@0.4.0

Git pin remains supported as a fallback:

npm i git+https://git.levkin.ca/ilia/playkit.git#v0.4.0

Publish (release job)

On vX.Y.Z tag, .gitea/workflows/ci.yml release job:

  1. Creates the Gitea Release + attaches npm pack tarball (existing)
  2. Runs npm publish to https://git.levkin.ca/api/packages/ilia/npm/ using RELEASE_TOKEN (needs write:package in addition to release scopes)

One-time: edit the RELEASE_TOKEN personal access token / app token on Gitea to include package write, or add a dedicated NPM_PUBLISH_TOKEN secret and wire it in CI (preferred if you want least privilege).

Verify

npm view @levkin/playkit versions --registry https://git.levkin.ca/api/packages/ilia/npm/

Outstanding ops

First v0.4.0 Gitea Release succeeded; npm publish returned E401 because RELEASE_TOKEN lacks write:package. Create/refresh a token with package write (or add NPM_PUBLISH_TOKEN) and either re-run the release job or publish once by hand:

npm publish --registry https://git.levkin.ca/api/packages/ilia/npm/