Skip to content

chore: migrate to pnpm, oxlint/oxfmt and vitest - #25

Merged
mokevnin merged 3 commits into
mainfrom
chore/standards
Aug 12, 2026
Merged

chore: migrate to pnpm, oxlint/oxfmt and vitest#25
mokevnin merged 3 commits into
mainfrom
chore/standards

Conversation

@mokevnin

Copy link
Copy Markdown
Contributor

The most course-entangled repository in the organisation: docker_basics_course references it in eight lessons.

  • pnpm replaces npm, oxlint + oxfmt replace biome, vitest replaces jest.
  • vitest.config.js keeps globals on: the tests were written for jest and use describe/it/expect without importing them, and rewriting them to change runners would be noise. File parallelism is off — the tests boot fastify and share one instance per file.
  • .npmrc goes with jest. It only carried node-options for jest's ESM support, an npm setting pnpm does not apply to scripts anyway.
  • The existing main and pull_request workflows are kept: they build and test through docker compose and publish the images, which a generic Node CI would not cover.

Verified against the course scenario, not just the test suite: the image builds, docker run -p 8080:3000 -e SERVER_MESSAGE="Hexlet Awesome Server" serves the page on 3000 with that message, exactly as 300-application describes.

One pre-existing drift worth knowing, unrelated to this PR: 300-application/README.md quotes startup output as npm start with fastify start ... -P. The image has since run bin/start.sh directly with -o, so that transcript was already stale.

mokevnin and others added 3 commits August 11, 2026 23:10
Replace npm with pnpm, biome with oxlint + oxfmt, and jest with vitest.

vitest.config.js keeps globals on, because the tests were written for jest and
use describe/it/expect without importing them; rewriting them to change runners
would be noise. File parallelism is off: the tests boot fastify and share one
instance per file.

.npmrc goes away with jest. It only carried node-options for jest's ESM
support, an npm setting pnpm does not apply to scripts anyway.

The image still starts through bin/start.sh and listens on 3000, which is what
docker_basics_course builds its examples on.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The existing main and pull_request workflows are kept: they build and test
through docker compose and publish the images, which a generic Node CI would
not cover.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Pure formatting, no behaviour change.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@mokevnin
mokevnin merged commit 37afb54 into main Aug 12, 2026
1 of 2 checks passed
@mokevnin
mokevnin deleted the chore/standards branch August 12, 2026 03:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant