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

homebridge / HAP-NodeJS / 30717864475
66%
master: 66%

Build:
Build:
LAST BUILD BRANCH: latest
DEFAULT BRANCH: master
Ran 01 Aug 2026 08:51PM UTC
Jobs 3
Files 50
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

01 Aug 2026 08:50PM UTC coverage: 66.457% (+0.3%) from 66.203%
30717864475

push

github

web-flow
fix: replace node-persist with minimal in-repo file storage (#1125)

* fix: replace node-persist with minimal in-repo file storage

Implements the scope agreed in #1107: HAPFileStorage keeps node-persist
0.0.12's on-disk layout byte-for-byte and its four synchronous operations
(initSync, getItem, setItemSync, removeItemSync); everything else from the
removed node-persist API throws with a clear error. Drops the deprecated
q dependency along with node-persist, mkdirp@0.5 and the node-persist
build/type workarounds.

Claude-Session: https://claude.ai/code/session_01DpHuagGzRQVzatVmNiWa7p

* fix: clearer error for non-string storage path values

Claude-Session: https://claude.ai/code/session_01DpHuagGzRQVzatVmNiWa7p

* fix: address review feedback on HAPFileStorage

Use an optional catch binding for the unused error variable and clarify
the dir option documentation (absolute if provided, relative default).

Claude-Session: https://claude.ai/code/session_01DpHuagGzRQVzatVmNiWa7p

* fix: make storage writes atomic and ignore directories on load

Writes go to a temporary file which is renamed over the target, so an
interrupted write can no longer truncate a file holding pairing data.
Directories inside the storage directory are skipped when loading
instead of aborting startup with EISDIR.

Claude-Session: https://claude.ai/code/session_01DpHuagGzRQVzatVmNiWa7p

* test: cover parent directory creation for nested keys

Asserts the temporary file is written beside its target, which is what
keeps the replacing rename atomic.

* test: cover the default storage directory branch of HAPStorage

Every existing HAPStorage test sets a custom storage path, and jest.setup.ts
sets one on the singleton, so the branch which initialises into the default
"persist" directory was no longer executed by any test.

* fix: require storage keys to be a plain filename

A key was read as a path, so "nested/key.json" created a subdirectory and
"../escaped.json" wrote outside the stora... (continued)

1952 of 3420 branches covered (57.08%)

Branch coverage included in aggregate %.

57 of 57 new or added lines in 3 files covered. (100.0%)

6706 of 9608 relevant lines covered (69.8%)

334.87 hits per line

Jobs
ID Job ID Ran Files Coverage
1 run-22 - 30717864475.1 01 Aug 2026 08:51PM UTC 50
66.46
GitHub Action Run
2 run-24 - 30717864475.2 01 Aug 2026 08:52PM UTC 50
66.46
GitHub Action Run
3 run-26 - 30717864475.3 01 Aug 2026 08:52PM UTC 50
66.46
GitHub Action Run
Source Files on build 30717864475
  • Tree
  • List 50
  • Changed 5
  • Source Changed 3
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #30717864475
  • cd2fbfd3 on github
  • Prev Build on latest (#29640186690)
  • Next Build on latest (#31225342421)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc