Skip to content

ci(create-dig-app): add ESLint (strict) lint gate to satisfy §2.4a - #10

Merged
MichaelTaylor3d merged 2 commits into
mainfrom
ci/737-eslint-lint-gate
Jul 29, 2026
Merged

ci(create-dig-app): add ESLint (strict) lint gate to satisfy §2.4a#10
MichaelTaylor3d merged 2 commits into
mainfrom
ci/737-eslint-lint-gate

Conversation

@MichaelTaylor3d

@MichaelTaylor3d MichaelTaylor3d commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

Task

Closes #737. create-dig-app was missing the Lint gate from the §2.4a release-gate set. Its CI already enforces prettier format:check, coverage ≥80% (c8), the TS-scaffold typecheck/build, commitlint, and version-increment — but there was no ESLint check. This PR adds a strict ESLint 9 flat-config gate wired into CI, at zero errors. (The prettier half was shipped earlier in #9/v0.3.2; this completes the pair.)

What changed

  • eslint.config.js (new) — ESLint 9 flat config: @eslint/js recommended over the tool's own plain-ESM source (bin//lib//test/), globals.node, eslint-config-prettier last so the format:check gate stays the sole formatting authority. Global ignores mirror .prettierignore (template trees carry __TOKEN__ placeholders and have their own typecheck/build gate).
  • package.jsonlint/lint:fix scripts; devDeps eslint@^9, @eslint/js@^9 (pinned to match the eslint major), eslint-config-prettier, globals. Version 0.3.2 → 0.3.3 (patch — CI-gate addition, no behavior change).
  • .github/workflows/ci.yml — a Lint (eslint) step in the test job (node 18/20/22 matrix), after npm ci/format-check.
  • Two dead-binding test fixes surfaced by the strict config (no-unused-vars): an unused destructure in test/nft-metadata-branches.test.js and an unused import in test/typescript.test.js. No lib//bin/ source changes; neither masked a latent bug.

Verification

  • npm run lint0 errors / 0 warnings.
  • npm run coverage206/206 tests, 99.49% lines (≫ 80% floor).
  • npm run format:check → clean (incl. the new eslint.config.js).
  • CI green on 4e69cc0: CI (incl. Lint), Commitlint, Check Version Increment.

Bump rationale

Patch (ci: gate addition, no public-API/behavior change) per §2.4.

MichaelTaylor3d and others added 2 commits July 29, 2026 10:56
Anchor for #737. Adds the missing ESLint Lint gate alongside the existing
prettier/coverage/commitlint/version-increment checks.

Refs #737
Co-Authored-By: Claude <noreply@anthropic.com>
Adds the missing §2.4a Lint gate: eslint.config.js (flat, @eslint/js recommended,
eslint-config-prettier last), lint/lint:fix scripts, and a Lint step in ci.yml across
the node 18/20/22 matrix. Templates are ignored (own typecheck/build gate).

Fixes two real no-unused-vars findings in the test suite (unused loop binding and an
unused import) surfaced by enabling the gate.

Closes #737

Co-Authored-By: Claude <noreply@anthropic.com>
@MichaelTaylor3d
MichaelTaylor3d marked this pull request as ready for review July 29, 2026 11:02
@MichaelTaylor3d
MichaelTaylor3d merged commit 887da09 into main Jul 29, 2026
12 checks passed
@MichaelTaylor3d
MichaelTaylor3d deleted the ci/737-eslint-lint-gate branch July 29, 2026 11:02
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