Skip to content

Adopt Biome for linting and formatting in the registry #33

Closed

Description

@lmcorbalan

User story / Problem statement

As a contributor, I want the registry package linted and formatted by the same tool the team uses elsewhere, so that style is not argued about in review and the setup matches what people already know from other BootNode repositories.

Expected outcome

One command lints, formats, and organizes imports across the package. The configuration mirrors the team's reference repo rather than a generic stock setup, and the vendored OpenAPI specs stay byte-identical.

Acceptance criteria

  • Biome is configured to mirror BootNodeDev/dAppBooster, adapted for a Node backend
  • lint and lint:fix scripts exist
  • The vendored openapi/, dist/, and the lockfile are excluded
  • The whole package is reformatted in a single pure-formatting change, separate from any behavior change
  • biome check is clean with zero rule suppressions
  • The suite is green and the vendored specs are untouched

Alternatives considered

A typed eslint plus prettier setup was implemented first and rejected as too generic. Biome was chosen to match the team reference.

Non-relative alias imports were also considered and deliberately skipped. They work in the reference repo only because Vite bundles and rewrites specifiers at build time. This package is plain tsc to dist/ under NodeNext with no bundler, where paths satisfies only the typechecker and the emitted JavaScript keeps the alias, so Node throws ERR_MODULE_NOT_FOUND at runtime.

Technical notes

Biome's recommended rules are largely not type-aware, unlike typescript-eslint's type-checked preset. The tsc build still typechecks src/, and noExplicitAny guards new explicit any values.

Additional context

Part of #22. Implemented by #14, after #13 was closed as the rejected first attempt.

Activity

  1. lmcorbalan commented on Jul 22, 2026

    @lmcorbalan
    CollaboratorAuthor

    Delivered by #14, merged 2026-07-21, before issue tracking was set up on this repo. An earlier eslint and prettier attempt was opened as #13 and closed unmerged, superseded by the Biome version. Recorded here for traceability.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions