Skip to content

web has never been linted: eslint.config.mjs imports a package in no manifest, and CI does not lint web #156

Description

@acamarata

Found 2026-08-26 while verifying #155.

Two defects that compound

  1. web/eslint.config.mjs imports eslint-plugin-react-hooks. That package appears in no package.json in the repo (web, root, or any workspace member) and is absent from pnpm-lock.yaml. So pnpm --filter ./web lint dies at startup:

    Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'eslint-plugin-react-hooks'
    imported from /.../ntask/web/eslint.config.mjs
    

    Reproduced on a clean main worktree, so it is not branch-local.

  2. .github/workflows/* runs pnpm lint only in mobile-ci.yml and tvos-ci.yml. Nothing lints web, which is why defect 1 has never surfaced.

Why this needs its own unit of work

The web app has never been linted. Adding the dependency will likely surface a backlog of pre-existing findings, so this is not a one-line fix, and adding a CI job first would just paint main red.

Suggested order:

  1. Add eslint-plugin-react-hooks to web/package.json devDependencies, refresh the lockfile.
  2. Run pnpm --filter ./web lint and triage what comes out.
  3. Add a web lint job to CI once it is green, so this cannot regress silently.

Deliberately not folded into #155, which was scoped to a brand accessible-name bug; expanding it would have made a lint backlog part of an a11y fix.

Activity

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions