chore: migrate to pnpm and oxlint/oxfmt - #12
Merged
Merged
Conversation
Replace npm with pnpm (pnpm-lock.yaml, packageManager field) and biome with oxlint + oxfmt, matching the toolchain used across Hexlet repositories. oxlint enables all 12 plugins explicitly: by default it only loads typescript, unicorn and oxc, so import, promise, node, jsdoc, vitest, react, react-perf, jsx-a11y and vue checks would silently not run. The Makefile spells the quiet flag as `pnpm --silent run <name>`. npm treated a trailing -s as --silent, pnpm forwards it to the command instead. It matters for the docs target in particular, where output is redirected into a file and the pnpm banner would land inside it. .oxfmtignore keeps oxfmt off non-JS files, which it would otherwise rewrite. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Node CI keeps running on main as well as on pull requests: this repository publishes nothing, so there is no release workflow to check main instead. release-please is deliberately absent. Nothing here is published, so there is no version to track and CHANGELOG.md would have no reader. dependabot sets commit-message.prefix: chore so its PRs pass the title lint. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
test/routes/root.test.js consisted of three imports and the whole test body commented out, so the file asserted nothing while looking like coverage. The test is restored and passes. The remaining unused imports (User in UserValidator, fileURLToPath in the test helper) are removed. All of it was reported by oxlint as no-unused-vars.
Pure formatting, no behaviour change. The diff is quote style: biome was configured with single quotes, oxfmt defaults to double ones, and the default is the convention. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
CI runs make install, make lint and make test. A missing target aborts with 'No rule to make target', which reads as a broken build rather than as a Makefile that spells the target differently (setup instead of install, lint-frontend instead of lint). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Brings the repository in line with the Hexlet-wide toolchain.
typescript,unicornandoxcload).No release-please here: nothing in this repository is published, so there is no version to track and a CHANGELOG would have no reader.
Node CItherefore keeps running on main too, since no release workflow checks main instead.Commits are split so the diff stays readable.