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

safe-global / safe-events-service / 26814527636
87%

Build:
DEFAULT BRANCH: main
Ran 02 Jun 2026 10:42AM UTC
Jobs 2
Files 47
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

02 Jun 2026 10:41AM UTC coverage: 86.909% (+0.3%) from 86.607%
26814527636

push

github

web-flow
fix: serve AdminJS static assets under pnpm (PLA-1573) (#526)

* fix: serve AdminJS static assets under pnpm (PLA-1573)

AdminJS's express adapter serves its frontend bundles with
res.sendFile(path.resolve(asset.src)) and no options. Under pnpm these
live in node_modules/.pnpm/..., and the ".pnpm" dotfile segment trips
Express 5 / send's default `dotfiles: 'ignore'`, turning every asset
into a spurious 404 — the admin login page rendered blank and flooded
the logs with NotFoundError.

Patch res.sendFile on the admin layer to force `dotfiles: 'allow'` for
AdminJS's (fixed, package-internal) asset paths. Runs unconditionally,
unlike the proxy-prefix rewrites which are gated on x-forwarded-prefix.

* refactor: simplify AdminJS response patching (PLA-1573)

Two non-behavioral cleanups on top of the dotfile fix:

- Collapse patchAdminAssetDotfiles to the single sendFile(path) shape
  that @adminjs/express actually uses, dropping the defensive handling
  of call shapes it never produces.
- Consolidate the three admin response patches behind one
  patchAdminResponse(req, res): Location-header rewriting (extracted
  from ReverseProxyMiddleware as the reusable patchLocationHeader),
  body rewriting, and the sendFile dotfile fix. main.ts now wraps the
  admin layer with a single call instead of nesting an ad-hoc
  ReverseProxyMiddleware instance, and installAdminProxyBodyRewrite is
  renamed installAdminResponsePatch to match.

The per-request x-forwarded-prefix rewriting is unchanged (the prefix
is dynamic per request, so it must stay).

241 of 280 branches covered (86.07%)

Branch coverage included in aggregate %.

20 of 25 new or added lines in 3 files covered. (80.0%)

642 of 736 relevant lines covered (87.23%)

17.48 hits per line

Uncovered Changes

Lines Coverage ∆ File
5
0.0
0.0% src/main.ts
Jobs
ID Job ID Ran Files Coverage
1 run-test:e2e:cov - 26814527636.1 02 Jun 2026 10:42AM UTC 86
60.16
GitHub Action Run
2 run-test:cov - 26814527636.2 02 Jun 2026 10:42AM UTC 92
85.64
GitHub Action Run
Source Files on build 26814527636
  • Tree
  • List 47
  • Changed 24
  • Source Changed 3
  • Coverage Changed 24
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #26814527636
  • 714d98ae on github
  • Prev Build on v1.4.0 (#26513672139)
  • Next Build on main (#26818750010)
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