Skip to content

Vendor the Wappalyzer engine, drop the deprecated wappalyzer-core dep#169

Merged
soulgalore merged 1 commit into
mainfrom
replace-wappalyzer-core
May 17, 2026
Merged

Vendor the Wappalyzer engine, drop the deprecated wappalyzer-core dep#169
soulgalore merged 1 commit into
mainfrom
replace-wappalyzer-core

Conversation

@soulgalore
Copy link
Copy Markdown
Member

wappalyzer-core is unmaintained on npm — the package is marked deprecated,
ships with a Proprietary license tag, and prints a warning on every install
even though it is a few hundred lines of zero-dependency pattern matching.
Coach-core already vendors the data from enthec/webappanalyzer; the engine
is the only piece still pulled in.

The port in lib/technologies/wappalyzer.js keeps the same public surface
(setTechnologies, setCategories, analyze, resolve), the same pattern parsing,
and the same implies/excludes resolution, so behaviour is unchanged — the
existing technology tests (real WordPress HAR fixture, plus the CSP-leak and
third-party-headers safety checks) all pass against the port. The
benchmarking instrumentation and CommonJS wrapping were dropped on the way
since neither was used.

getWappalyzerCoreVersion now reports coach-core's own version, which is the
thing that actually changes when the engine changes; the data version is
still available separately via getTechnologiesVersion.

Co-authored-by: Claude noreply@anthropic.com

  wappalyzer-core is unmaintained on npm — the package is marked deprecated,
  ships with a Proprietary license tag, and prints a warning on every install
  even though it is a few hundred lines of zero-dependency pattern matching.
  Coach-core already vendors the data from enthec/webappanalyzer; the engine
  is the only piece still pulled in.

  The port in lib/technologies/wappalyzer.js keeps the same public surface
  (setTechnologies, setCategories, analyze, resolve), the same pattern parsing,
  and the same implies/excludes resolution, so behaviour is unchanged — the
  existing technology tests (real WordPress HAR fixture, plus the CSP-leak and
  third-party-headers safety checks) all pass against the port. The
  benchmarking instrumentation and CommonJS wrapping were dropped on the way
  since neither was used.

  getWappalyzerCoreVersion now reports coach-core's own version, which is the
  thing that actually changes when the engine changes; the data version is
  still available separately via getTechnologiesVersion.

  Co-authored-by: Claude noreply@anthropic.com
@soulgalore soulgalore merged commit 91c1f34 into main May 17, 2026
3 checks passed
@soulgalore soulgalore deleted the replace-wappalyzer-core branch May 17, 2026 12:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant