• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

reactivando / use-pubsub-js / 28085083515
100%
master: 80%

Build:
Build:
LAST BUILD BRANCH: main
DEFAULT BRANCH: master
Ran 24 Jun 2026 08:19AM UTC
Jobs 1
Files 3
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

24 Jun 2026 08:18AM UTC coverage: 98.667%. Remained the same
28085083515

push

github

web-flow
chore(lint): replace ESLint/Prettier/Husky with Biome via ultracite + lefthook (#62)

Swap the entire lint/format/git-hook stack for the ultracite Biome preset,
matching the sibling validations-br standard.

- Remove eslint (+ airbnb/import/react/vitest/prettier plugins),
  typescript-eslint, prettier, husky, lint-staged, globals and their
  configs (eslint.config.js, .prettierrc, .prettierignore, .husky/).
- Add @biomejs/biome (pinned 2.5.1), ultracite, lefthook. biome.jsonc
  extends ultracite/biome/core + /react + /vitest. Formatter mirrors the
  old Prettier style (single quotes, trailing commas, no semicolons,
  no arrow parens) so the swap stays diff-minimal.
- Scripts: lint -> "ultracite check ./src", format -> "ultracite fix ./src",
  prepare -> "lefthook install". lefthook.yml runs `ultracite fix` on
  staged files pre-commit. allowBuilds: drop unrs-resolver (was from the
  removed eslint-import-resolver), add lefthook.

React-hook safety (every autofix on a hook reviewed; runtime unchanged):
- useFilenamingConvention OFF — files are named after their public export
  subpath (usePublish.ts -> ./hooks/usePublish); renaming would break the
  exports map.
- noExportedImports OFF for src/index.ts — intentional public-API barrel.
- debounce.ts override (noBannedTypes/useArrowFunction/useBlockStatements/
  noExplicitAny OFF) — its function expressions rely on dynamic `this`, so
  arrow conversion would change behavior.
- Inline biome-ignore on the two intentional dependency arrays
  (usePublish run-once-on-mount [], useSubscribe explicit token dep) and
  on the untyped pubsub message `any`. No dep array, hook order, or hook
  call was changed; only safe cosmetic fixes (import/member sorting, one
  behavior-preserving if/else swap) were applied.

Also prune three now-dead security overrides (ajv, flatted, js-yaml) that
only existed for the removed eslint tree (0 lockfile entries; audit stays
clean). Lint + tests (19) + coverage + build + e2e all gre... (continued)

11 of 11 branches covered (100.0%)

Branch coverage included in aggregate %.

4 of 4 new or added lines in 1 file covered. (100.0%)

63 of 64 relevant lines covered (98.44%)

7.98 hits per line

Jobs
ID Job ID Ran Files Coverage
1 28085083515.1 24 Jun 2026 08:19AM UTC 3
98.67
GitHub Action Run
Source Files on build 28085083515
  • Tree
  • List 3
  • Changed 3
  • Source Changed 3
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #28085083515
  • 74dc9db5 on github
  • Prev Build on main (#28084224865)
  • Next Build on main (#28085492498)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc