Add ESLint gate, actions/redact unit tests; fix README release drift #9

Merged
ilia merged 1 commits from chore/eslint-and-readme-accuracy into main 2026-07-26 14:55:02 -05:00
Owner

Summary

  • Fix README Release-section drift: it claimed the Gitea release was visibility-only, but the CI release job publishes to the Gitea npm registry. Paragraph now describes tag push -> CI publishes to Gitea npm + creates release, with registry install preferred and git-tag pin as fallback.
  • Add ESLint (flat config, eslint + typescript-eslint recommended). npm run lint is now eslint src (typecheck stays separate) and the CI build-and-test job gates on it (no || true). One real finding fixed: dead extractLinks/firstLinkMatching import in src/mail/index.ts.
  • Add vitest coverage for the previously untested src/browser/actions.ts (click/fill retry + option plumbing, safeGoto, waitForUrlHost success/failure, assertPublicHost private-host rejection, BasePage URL construction) and src/logging/redact.ts (redactSecrets nested/array/Bearer/empty-value cases). 77 unit tests total, all green.

Verified locally

npm ci && npm run typecheck && npm run lint && npm test && npm run build && npm run selftest — all pass (selftest: 4 passed against the fake site).

## Summary - Fix README Release-section drift: it claimed the Gitea release was visibility-only, but the CI release job publishes to the Gitea npm registry. Paragraph now describes tag push -> CI publishes to Gitea npm + creates release, with registry install preferred and git-tag pin as fallback. - Add ESLint (flat config, eslint + typescript-eslint recommended). `npm run lint` is now `eslint src` (typecheck stays separate) and the CI build-and-test job gates on it (no `|| true`). One real finding fixed: dead `extractLinks`/`firstLinkMatching` import in `src/mail/index.ts`. - Add vitest coverage for the previously untested `src/browser/actions.ts` (click/fill retry + option plumbing, safeGoto, waitForUrlHost success/failure, assertPublicHost private-host rejection, BasePage URL construction) and `src/logging/redact.ts` (redactSecrets nested/array/Bearer/empty-value cases). 77 unit tests total, all green. ## Verified locally `npm ci && npm run typecheck && npm run lint && npm test && npm run build && npm run selftest` — all pass (selftest: 4 passed against the fake site).
ilia added 1 commit 2026-07-26 14:48:32 -05:00
Add ESLint gate, actions/redact unit tests; fix README release drift.
CI / skip-ci-check (pull_request) Successful in 19s
CI / release (pull_request) Has been skipped
CI / build-and-test (pull_request) Successful in 55s
CI / secret-scan (pull_request) Successful in 17s
CI / selftest (pull_request) Successful in 54s
fafb1e9676
- README Release section now matches CI reality: tag push publishes to the
  Gitea npm registry AND creates the Gitea release (was described as
  visibility-only, predating the npm publish step).
- ESLint flat config (eslint + typescript-eslint recommended); `npm run lint`
  is now eslint (typecheck stays separate) and CI build-and-test gates on it.
  One real finding fixed: dead import in src/mail/index.ts.
- New vitest coverage for the previously untested src/browser/actions.ts
  (click/fill retries, safeGoto, waitForUrlHost, assertPublicHost, BasePage
  URL building) and src/logging/redact.ts (redactSecrets).
ilia scheduled this pull request to auto merge when all checks succeed 2026-07-26 14:52:57 -05:00
ilia merged commit 0c5efe4de7 into main 2026-07-26 14:55:02 -05:00
ilia deleted branch chore/eslint-and-readme-accuracy 2026-07-26 14:55:02 -05:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: ilia/playkit#9