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

UI5 / cli / 31781859307
94%

Build:
DEFAULT BRANCH: main
Ran 14 Aug 2026 07:56AM UTC
Jobs 6
Files 245
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

14 Aug 2026 07:55AM UTC coverage: 94.039% (-0.06%) from 94.1%
31781859307

push

github

RandomByte
fix(project): Add polling file watcher for containers

On a bind-mounted volume inside a container, Linux inotify reports the
container's own writes but not writes made to the same volume from
outside the container. Podman is the common case. The incremental build
derives "what changed" solely from @parcel/watcher events, so those
missed events break rebuilds and live reload with no error to catch.

Add a fileWatcher.js module that all three watcher consumers call instead
of @parcel/watcher directly. It selects a backend once per process and
exposes a subscribe() matching @parcel/watcher's exact contract, so a
caller cannot tell which backend is active. The native backend stays
@parcel/watcher.

Both backends are imported lazily, only when selected. @parcel/watcher
resolves a native binding at load time and throws when the platform's
prebuilt binary is not installed (for example on an unsupported platform
or after an install with --omit=optional), so a static import would break
every consumer before the polling fallback could run. Loading it on demand
contains that failure: when the native backend is selected but cannot
load, subscribe() logs a warning and falls back to polling, which needs no
native code.

Parcel offers no polling subscription (its brute-force backend is
query-only), so the polling backend lives in a separate pollingWatcher.js
that fileWatcher.js imports lazily. It walks the tree and diffs an
mtimeMs+size snapshot every 250 ms (rescheduling itself after each walk so
a slow crawl cannot overlap the next), emitting the same {type, path}
events the native backend would. Errors flow through the callback so each
consumer's existing recovery path fires unchanged. The 250 ms interval
stays below WATCHER_BURST_SETTLE_MS (550 ms) so downstream event batching
still holds. Ignore globs reuse micromatch (already a direct dependency)
and prune ignored directories so node_modules is never crawled.

The backend is chosen once per process and memoiz... (continued)

7287 of 8033 branches covered (90.71%)

Branch coverage included in aggregate %.

106 of 119 new or added lines in 5 files covered. (89.08%)

13961 of 14562 relevant lines covered (95.87%)

5261.5 hits per line

Uncovered Changes

Lines Coverage ∆ File
11
80.36
packages/project/lib/build/helpers/pollingWatcher.js
2
96.55
packages/project/lib/build/helpers/fileWatcher.js
Subprojects
ID Flag name Job ID Ran Files Coverage
1 fs 31781859307.1 14 Aug 2026 07:56AM UTC 22
89.91
GitHub Action Run
2 project 31781859307.2 14 Aug 2026 07:59AM UTC 80
94.09
GitHub Action Run
3 logger 31781859307.3 14 Aug 2026 07:56AM UTC 15
100.0
GitHub Action Run
4 server 31781859307.4 14 Aug 2026 07:57AM UTC 26
92.43
GitHub Action Run
5 builder 31781859307.5 14 Aug 2026 07:58AM UTC 76
94.17
GitHub Action Run
6 cli 31781859307.6 14 Aug 2026 07:56AM UTC 26
95.26
GitHub Action Run
Source Files on build 31781859307
  • Tree
  • List 245
  • Changed 3
  • Source Changed 3
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #31781859307
  • 535e5ae0 on github
  • Prev Build on main (#31575410407)
  • Next Build on main (#31799062199)
  • Delete
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