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

BanManagement / BanManager-WebUI / 24659501817
72%

Build:
DEFAULT BRANCH: master
Ran 20 Apr 2026 09:48AM UTC
Jobs 1
Files 211
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

20 Apr 2026 09:40AM UTC coverage: 71.793% (+0.02%) from 71.771%
24659501817

push

github

web-flow
perf(docker): slim runtime image and bump Node LTS to 22||24 (#1767)

* perf(docker): slim runtime image and bump Node LTS to 22||24

Cuts the published `banmanagement/webui` image from ~340 MB compressed
to ~160 MB while bumping the supported Node.js range to the current
LTS pair (22 || 24).

Image-size changes
- Rewrite Dockerfile as a 3-stage build (`prod-deps` -> `builder` ->
  `runner`) on `node:24-alpine`. The runner copies a pruned production
  `node_modules` from `prod-deps` and only the build artefacts +
  custom-server source it actually needs from `builder`. We cannot use
  Next.js standalone output because `server.js` / `cli/` perform
  dynamic `require`s that the standalone tracer cannot follow; the
  pruned-deps approach keeps every runtime require resolvable while
  still discarding all dev dependencies and `.next/cache`.
- Drop `git` from the runner image (we already get `GIT_COMMIT` at
  build time via `git-revision-webpack-plugin`).
- Add `scripts/docker/prune-runtime-deps.sh` to remove platform
  binaries we never run (non-Alpine `@next/swc-*`, non-Linux/musl
  `@img/sharp-*`), `react-icons` families the app does not import,
  `date-fns` CDN bundles, the 13 MB `image-q/demo` directory, and
  the usual `test`/`docs`/`*.map`/`*.d.ts` cruft from `node_modules`.
- Tighten `.dockerignore` so the build context excludes `.git`,
  `.github`, editor/CI config, dev compose files, scratch scripts,
  and most markdown.
- Reclassify `tailwindcss`, `postcss`, `autoprefixer`, `typescript`,
  `url-loader`, `@next/bundle-analyzer`, and `git-revision-webpack-plugin`
  as devDependencies and lazy-require the build-only ones in
  `next.config.js` so production installs do not pull them in.
- Add `react-icons` `modularizeImports` to `next.config.js` so the
  webpack output only references icon families the app actually uses.

Node 22 || 24
- Update `engines.node`, `.naverc`, the CI matrix, and the README to
  the new LTS pair (22.x is still in active su... (continued)

1833 of 2948 branches covered (62.18%)

Branch coverage included in aggregate %.

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

3797 of 4894 relevant lines covered (77.58%)

716.95 hits per line

Jobs
ID Job ID Ran Files Coverage
1 run- - 24659501817.1 20 Apr 2026 09:48AM UTC 211
71.79
GitHub Action Run
Source Files on build 24659501817
  • Tree
  • List 211
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • 8ce1cde3 on github
  • Prev Build on master (#24634615243)
  • Next Build on master (#24660962798)
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