chore: migrate to the @j4k scope on the Forge npm registry - #38
Conversation
Rename oxlint-config-j4k to @j4k/oxlint-config and point pnpm at the self-hosted Forgejo npm registry (code.j4k.dev) instead of Verdaccio. - pnpm-workspace.yaml registries: default npmjs + "@j4k" -> code.j4k.dev, with minimumReleaseAgeIgnoreMissingTime false and an "@j4k/*" exclude - workflows install via secrets.FORGEJO_NPM_TOKEN against code.j4k.dev; pr-review passes it to the axgithub reusable as its NPM_TOKEN input - bump oxlint/oxlint-tsgolint/oxfmt floors for @j4k/oxlint-config 2.11 - hand-fix vitest lint errors surfaced by the config jump; add the css-modules ambient shim to the knip entry list No runtime behavior changes, so this is a non-releasing chore.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a7df913f20
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| "lint": "oxlint --deny-warnings --report-unused-disable-directives .", | ||
| "prepack": "pnpm run rebuild", | ||
| "prepare": "git config core.hooksPath .githooks", | ||
| "prepare": "if git rev-parse --is-inside-work-tree >/dev/null 2>&1; then git config core.hooksPath .githooks; fi", |
There was a problem hiding this comment.
Keep the prepare script cross-platform
On Windows developer machines, npm/pnpm lifecycle scripts run through cmd.exe by default, so this POSIX if ...; then ...; fi guard and /dev/null redirection are not parsed and pnpm install fails as soon as prepare runs. The previous direct git config command was shell-neutral; please move the guard into a small Node script or another cross-platform form.
Useful? React with 👍 / 👎.
Flips this repo off Verdaccio (
npm.j4k.dev) onto the self-hosted Forgejonpm registry (
code.j4k.dev) as part of the Phase 4 migration.What changed
oxlint-config-j4k→@j4k/oxlint-config(^2.11.0,the only version on the Forge).
oxlint.config.tsis a managed file and wasre-rendered by
j4k-align --fix.pnpm-workspace.yaml):registries.default→https://registry.npmjs.org/, plus"@j4k"→ the Forge registry, withminimumReleaseAgeIgnoreMissingTime: falseand an"@j4k/*"minimumReleaseAgeExcludeentry (the Forge omitstimemetadata).checks,dedupe-check, andrelease-npminstall withsecrets.FORGEJO_NPM_TOKENagainstcode.j4k.dev;pr-reviewpassesFORGEJO_NPM_TOKENinto theJercik/axgithubreusable as itsNPM_TOKENinput.@j4k/oxlint-config@2.11:oxlint^1.72.0,oxlint-tsgolint^0.23.0,oxfmt^0.57.0.npm.j4k.devreferences; the@j4k/oxlint-configtarball resolves fromcode.j4k.dev) and deduped.vitestrules; the mechanicalrewrites were applied and the non-autofixable ones (
max-expects,prefer-each,prefer-called-with,prefer-named-capture-group) werefixed by hand. In particular the
prefer-called-withautofix rewrote threetoHaveBeenCalled()assertions to a zero-argtoHaveBeenCalledWith()(which asserts the mock was called with no arguments); those were
corrected to the mocks' real call arguments.
types/css-modules.d.tsshim added byj4k-alignis registeredin
knip.json'sentrylist soknipdoes not flag it as unused.Secret note
The repo-scoped
NPM_TOKENsecret is forbidden post-flip and has beendeleted; installs use the already-provisioned
FORGEJO_NPM_TOKENsecret.Any pre-flip branch/PR in this repo will fail its install step until this
PR merges to
mainand those branches are refreshed withmain.Known advisory breakage (not this PR's regression)
The
PR Reviewdraws will run red on this PR.pr-reviewdelegates toJercik/axgithub/.github/workflows/pr-review.yml@v1, which is still thepre-migration Verdaccio reusable; passing it
FORGEJO_NPM_TOKENas itsNPM_TOKENinput cannot authenticate against the oldnpm.j4k.devinstallstep. This clears once the owner re-tags
axgithub@v1with the portedreusable.
pr-reviewis not a required status check.