Skip to content

Lint the repository with Oxlint #255

Open

Description

@taras

Parent Quest: #254

Story

As an effectionx contributor, I want pnpm lint to use Oxlint, so repository linting and future Effection policy rules share one static-analysis engine without changing my local or CI workflow.

Current gap

Biome currently performs repository linting. It cannot host the JavaScript policy rules intended for @effectionx/lint, so keeping it as the primary linter would require contributors and CI to operate two overlapping lint systems.

Contract

Oxlint becomes the repository’s sole linter while preserving the pnpm lint entrypoint.

  • Oxlint is pinned to an exact version.
  • The committed configuration explicitly declares enabled rules, severities, plugins, ignores, and overrides instead of relying on changing recommended defaults.
  • Every behavior currently enforced by the Biome configuration is either represented by an equivalent Oxlint rule or recorded as an intentional migration difference.
  • Existing accepted source remains clean unless a documented difference identifies a genuine issue that must be corrected.
  • CI and editor integration use the committed configuration.
  • Once Format the repository with Oxfmt #253 and this story are delivered, Biome has no remaining formatting or linting responsibility and is removed.

Acceptance

  • pnpm lint invokes Oxlint and remains the command used by CI.
  • A deliberate violation of an enabled rule makes pnpm lint fail, and correcting it makes the command pass.
  • Running pnpm lint twice against an unchanged checkout produces the same diagnostics and exit status.
  • The migration records the disposition of the existing Biome lint rules and overrides.
  • Repository lint, typecheck, build, format, and tests pass after the migration.
  • No Effection-specific policy rules are introduced by this story.

Evidence

The implementation records the rule mapping and the output of:

pnpm lint
pnpm fmt:check
pnpm check
pnpm build
pnpm test
pnpm test:node

Dependencies

Out of scope

  • Effection-specific lint rules
  • Deno lint compatibility
  • Executable policy documents
  • README or CI policy orchestration beyond retaining the existing lint job
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

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions