Skip to content

No CI: build, lint, test and the ESM check only run in the pre-commit hook #25

Closed

Description

@panyam

What happens

There is no .github/workflows directory. The only place build, lint, test and (as of #24) check:esm run is the pre-commit array in package.json, which means they run on the machine of whoever is committing, and only if pre-commit is installed there.

A PR from a fresh clone, or a commit made with --no-verify, lands with nothing checked.

Why it matters

Both bugs fixed in #23 shipped in v1.0.9 and were found by a downstream consumer rather than by the project. #20 in particular is the kind of thing only a real install-and-import catches, which is exactly the job of a build matrix.

Suggested shape

A single workflow on push and pull_request:

  • npm ci
  • npm run build
  • npm run check:esm
  • npm run lint
  • npm test

Worth running the last three on more than one Node version. The check:esm case in particular behaves differently before and after Node 22.12, since older Node does not sniff module syntax and fails on the export keyword rather than on resolution. A matrix of 20, 22 and 24 would cover that.

Out of scope here

Publishing. That is a separate workflow and a separate decision about whether releases stay manual.

Activity

  1. added a commit that references this issue on Sep 21, 2026
    5327ddc
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

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions