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

Kikobeats / simple-wappalyzer / 40724414823
100%

Build:
DEFAULT BRANCH: master
Ran 28 Oct 2026 04:17PM UTC
Jobs 1
Files 2
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

28 Oct 2026 04:16PM UTC coverage: 100.0%. Remained the same
40724414823

push

github

web-flow
fix(analyze): pass script urls as scriptSrc and cookies keyed by name (#135)

* fix(analyze): pass script urls to the core as scriptSrc

wappalyzer-core matches script URLs under the `scriptSrc` key (one-to-many,
each URL on its own). The `scripts` key holds script content and is matched
one-to-one against a single string. Script URLs were sent as `scripts`, so
the array was coerced to one comma-joined string and checked against content
patterns, while the scriptSrc patterns of 3,691 technologies never ran.

Send the resolved, deduplicated URLs as `scriptSrc`. Tests that detected
Algolia or PHP from a file name only passed through the content patterns;
they now use technologies with scriptSrc patterns, and the input checks for
dedupe, missing src and empty src assert the list the core receives.

Fixture snapshots gain jsDelivr, Polyfill and Quicklink (kikobeats.com),
Polyfill and Stripe (microlink.io), and Google Analytics (vercel.com), each
from a script URL on the page. Nothing is removed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(analyze): pass cookies to the core keyed by name

wappalyzer-core matches cookies many-to-many: for each cookie name in a
technology's patterns it reads `items.cookies[name]` and expects an array of
values. Cookies were passed as an array of parsed cookie objects, so every
lookup by name returned undefined and the cookie patterns of 358 technologies
never ran.

Build `{ name: [value, ...] }` from the Set-Cookie header(s). Names are
lowercased because the core lowercases the pattern keys (170 of them are
mixed case, e.g. PHPSESSID). Repeated names keep every value. The object has
no prototype, so a cookie named `__proto__` or `constructor` cannot crash the
lookup.

Fixture snapshots gain Chorus on theverge.com from its
`_chorus_geoip_continent` cookie. Cloudflare's `__cfduid` cookie now matches
on kikobeats.com and microlink.io, but Cloudflare was already detected there.

Co-Authored-By: Claude Opus 5.... (continued)

36 of 36 branches covered (100.0%)

Branch coverage included in aggregate %.

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

101 of 101 relevant lines covered (100.0%)

37.92 hits per line

Jobs
ID Job ID Ran Files Coverage
1 40724414823.1 28 Oct 2026 04:17PM UTC 2
100.0
GitHub Action Run
Source Files on build 40724414823
  • Tree
  • List 2
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #40724414823
  • 420582cf on github
  • Prev Build on master (#40684084670)
  • Next Build on master (#40732829155)
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