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

archetech / archon / 32604174321
95%

Build:
DEFAULT BRANCH: main
Ran 22 Aug 2026 11:07PM UTC
Jobs 1
Files 91
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

22 Aug 2026 11:03PM UTC coverage: 93.894% (+0.008%) from 93.886%
32604174321

push

github

web-flow
fix(wallet-ui): Declare the packages it imports as peerDependencies (#930)

Closes #928.

packages/wallet-ui declared nothing while importing React, MUI, axios and
the rest. It worked because both apps happened to have every package and
each bundler resolved from the app -- so every consumer had to carry
config to make it work, in a different shape each time (webpack
`resolve.modules`, vite `dedupe`), and a new import would break whichever
consumer nobody remembered to update.

peerDependencies rather than dependencies: this package is private, has no
build, and is consumed as source, so the consumer's bundler resolves these
and must supply a single copy. Declaring them states that contract instead
of leaving it implicit. Both apps already pin identical ranges for all of
them, so there is nothing to negotiate.

Two findings while enumerating what it actually imports:

- axios is imported by AuthTab and declared by NOBODY -- not this package,
  not either app, not the root. It has been resolving as somebody else's
  transitive, in shipped wallet code.
- IdentitiesTab imported jsonViewTheme from "@didcid/wallet-ui" -- the
  package importing itself, which resolves only through each consumer's
  alias for it. Now relative.

emotion is deliberately NOT declared. MUI marks @emotion/react and
@emotion/styled optional peers because MUI 7 can use pigment-css instead,
so the styling engine is the app's choice; both apps declare it, and this
package imports neither. react-dom is out for the same reason -- rendering
into a DOM is the host's job and nothing here imports it.

Nothing shipped changes: the react-wallet bundle is byte-identical at
1723167 bytes before and after, because both bundlers still resolve these
from the app. Webpack builds clean too.

tests/wallet/wallet-ui-deps.test.ts holds the line in both directions --
imported-but-undeclared, and declared-but-unimported -- plus the
self-import and the "still consumed as source" premise the peers argumen... (continued)

3806 of 4293 branches covered (88.66%)

Branch coverage included in aggregate %.

8465 of 8776 relevant lines covered (96.46%)

689.48 hits per line

Jobs
ID Job ID Ran Files Coverage
1 32604174321.1 22 Aug 2026 11:07PM UTC 182
94.92
GitHub Action Run
Source Files on build 32604174321
  • Tree
  • List 91
  • Changed 77
  • Source Changed 0
  • Coverage Changed 77
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #32604174321
  • b320f5cd on github
  • Prev Build on main (#32602925874)
  • Next Build on main (#32611482526)
  • 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