Add Support for TansStack Start#329
Merged
Merged
Conversation
Contributor
|
@rdforte please adjust the test websites list according to the template: https://github.com/HTTPArchive/wappalyzer/blob/main/.github/pull_request_template.md?plain=1 |
tunetheweb
reviewed
Jul 20, 2026
tunetheweb
reviewed
Jul 20, 2026
Co-authored-by: Barry Pollard <barrypollard@google.com>
WPT test run for https://almanac.httparchive.org/en/2022/WPT test run results: http://webpagetest.httparchive.org/results.php?test=260720_MH_G {
"detected": {
"IaaS": "Google Cloud",
"JavaScript libraries": "web-vitals",
"RUM": "web-vitals",
"Performance": "Priority Hints,Google Cloud Trace",
"Security": "HSTS",
"Webmail": "Google Workspace",
"Email": "Google Workspace",
"Analytics": "Google Analytics",
"CDN": "Cloudflare",
"Miscellaneous": "RSS,Open Graph"
},
"detected_apps": {
"Google Cloud": "",
"web-vitals": "",
"Priority Hints": "",
"HSTS": "",
"Google Workspace": "",
"Google Cloud Trace": "",
"Google Analytics": "",
"Cloudflare": "",
"RSS": "",
"Open Graph": ""
},
"detected_technologies": {
"Google Cloud": {
"name": "Google Cloud",
"description": "Google Cloud is a suite of cloud computing services.",
"slug": "google-cloud",
"categories": [
{
"id": 63,
"slug": "iaas",
"description": "Provides computing resources",
"groups": [
7
],
"name": "IaaS",
"priority": 8
}
],
"confidence": 100,
"version": "",
"icon": "Google Cloud.svg",
"website": "https://cloud.google.com",
"pricing": [],
"cpe": "cpe:2.3:a:google:cloud_platform:*:*:*:*:*:*:*:*"
},
"web-vitals": {
"name": "web-vitals",
"description": "The web-vitals JavaScript is a tiny, modular library for measuring all the web vitals metrics on real users.",
"slug": "web-vitals",
"categories": [
{
"id": 59,
"slug": "javascript-libraries",
"description": "Collections of pre-written JavaScript code",
"groups": [
9
],
"name": "JavaScript libraries",
"priority": 9
},
{
"id": 78,
"slug": "rum",
"description": "Tools that track performance as experienced by users",
"groups": [
2
],
"name": "RUM",
"priority": 9
}
],
"confidence": 100,
"version": "",
"icon": "web-vitals.svg",
"website": "https://github.com/GoogleChrome/web-vitals",
"pricing": [],
"cpe": null
},
"Priority Hints": {
"name": "Priority Hints",
"description": "Priority Hints exposes a mechanism for developers to signal a relative priority for browsers to consider when fetching resources.",
"slug": "priority-hints",
"categories": [
{
"id": 92,
"slug": "performance",
"description": "Tools that measure and optimize site speed",
"groups": [
7
],
"name": "Performance",
"priority": 9
}
],
"confidence": 100,
"version": "",
"icon": "Priority Hints.svg",
"website": "https://wicg.github.io/priority-hints/",
"pricing": [],
"cpe": null
},
"HSTS": {
"name": "HSTS",
"description": "HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.",
"slug": "hsts",
"categories": [
{
"id": 16,
"slug": "security",
"description": "Technologies that protect websites from vulnerabilities and attacks",
"groups": [
11
],
"name": "Security",
"priority": 9
}
],
"confidence": 100,
"version": "",
"icon": "default.svg",
"website": "https://www.rfc-editor.org/rfc/rfc6797#section-6.1",
"pricing": [],
"cpe": null
},
"Google Workspace": {
"name": "Google Workspace",
"description": "Google Workspace, formerly G Suite, is a collection of cloud computing, productivity and collaboration tools.",
"slug": "google-workspace",
"categories": [
{
"id": 30,
"slug": "webmail",
"description": "Systems that allow users to send and receive emails through a browser",
"groups": [
4
],
"name": "Webmail",
"priority": 2
},
{
"id": 75,
"slug": "email",
"description": "Systems that manage email communication",
"groups": [
4,
2
],
"name": "Email",
"priority": 9
}
],
"confidence": 100,
"version": "",
"icon": "Google.svg",
"website": "https://workspace.google.com/",
"pricing": [],
"cpe": null
},
"Google Cloud Trace": {
"name": "Google Cloud Trace",
"description": "Google Cloud Trace is a distributed tracing system that collects latency data from applications and displays it in the Google Cloud Console.",
"slug": "google-cloud-trace",
"categories": [
{
"id": 92,
"slug": "performance",
"description": "Tools that measure and optimize site speed",
"groups": [
7
],
"name": "Performance",
"priority": 9
}
],
"confidence": 100,
"version": "",
"icon": "google-cloud-trace.svg",
"website": "https://cloud.google.com/trace",
"pricing": [],
"cpe": null
},
"Google Analytics": {
"name": "Google Analytics",
"description": "Google Analytics is a free web analytics service that tracks and reports website traffic.",
"slug": "google-analytics",
"categories": [
{
"id": 10,
"slug": "analytics",
"description": "Tools that track user behavior and provide insights into website performance",
"groups": [
8
],
"name": "Analytics",
"priority": 9
}
],
"confidence": 100,
"version": "",
"icon": "Google Analytics.svg",
"website": "https://google.com/analytics",
"pricing": [],
"cpe": null
},
"Cloudflare": {
"name": "Cloudflare",
"description": "Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.",
"slug": "cloudflare",
"categories": [
{
"id": 31,
"slug": "cdn",
"description": "(Content Delivery Network) Distribute website content globally to improve load times for users",
"groups": [
7
],
"name": "CDN",
"priority": 9
}
],
"confidence": 100,
"version": "",
"icon": "CloudFlare.svg",
"website": "https://www.cloudflare.com",
"pricing": [],
"cpe": null
},
"RSS": {
"name": "RSS",
"description": "RSS is a family of web feed formats used to publish frequently updated works—such as blog entries, news headlines, audio, and video—in a standardized format.",
"slug": "rss",
"categories": [
{
"id": 19,
"slug": "miscellaneous",
"description": "Tools and technologies that don't fit into other categories",
"groups": [
6
],
"name": "Miscellaneous",
"priority": 10
}
],
"confidence": 100,
"version": "",
"icon": "RSS.svg",
"website": "https://www.rssboard.org/rss-specification",
"pricing": [],
"cpe": null
},
"Open Graph": {
"name": "Open Graph",
"description": "Open Graph is a protocol that is used to integrate any web page into the social graph.",
"slug": "open-graph",
"categories": [
{
"id": 19,
"slug": "miscellaneous",
"description": "Tools and technologies that don't fit into other categories",
"groups": [
6
],
"name": "Miscellaneous",
"priority": 10
}
],
"confidence": 100,
"version": "",
"icon": "Open Graph.png",
"website": "https://ogp.me",
"pricing": [],
"cpe": null
}
}
}WPT test run for https://tanstack.com/WPT test run results: http://webpagetest.httparchive.org/results.php?test=260720_9V_H {
"detected": {
"Ecommerce": "Cart Functionality",
"Issue trackers": "Sentry",
"UI frameworks": "Tailwind CSS",
"JavaScript frameworks": "TanStack Start",
"Web frameworks": "TanStack Start",
"Tag managers": "Google Tag Manager",
"Performance": "Priority Hints",
"Security": "HSTS",
"Analytics": "Google Analytics,Cloudflare Browser Insights",
"RUM": "Cloudflare Browser Insights",
"CDN": "Cloudflare",
"Miscellaneous": "PWA,Open Graph,HTTP/3"
},
"detected_apps": {
"Cart Functionality": "",
"Sentry": "",
"Tailwind CSS": "",
"TanStack Start": "",
"Google Tag Manager": "",
"Priority Hints": "",
"HSTS": "",
"Google Analytics": "",
"Cloudflare Browser Insights": "",
"Cloudflare": "",
"PWA": "",
"Open Graph": "",
"HTTP/3": ""
},
"detected_technologies": {
"Cart Functionality": {
"name": "Cart Functionality",
"description": "Websites that have a shopping cart or checkout page, either using a known ecommerce platform or a custom solution.",
"slug": "cart-functionality",
"categories": [
{
"id": 6,
"slug": "ecommerce",
"description": "Platforms providing the infrastructure to sell products and services online, managing everything from product catalogs to payments",
"groups": [
1
],
"name": "Ecommerce",
"priority": 1
}
],
"confidence": 100,
"version": "",
"icon": "Cart-generic.svg",
"website": "https://www.wappalyzer.com/technologies/ecommerce/cart-functionality",
"pricing": [],
"cpe": null
},
"Sentry": {
"name": "Sentry",
"description": "Sentry is an open-source platform for workflow productivity, aggregating errors from across the stack in real time.",
"slug": "sentry",
"categories": [
{
"id": 13,
"slug": "issue-trackers",
"description": "Platforms used to manage and track bugs, tasks, and features in software development",
"groups": [
3,
18
],
"name": "Issue trackers",
"priority": 2
}
],
"confidence": 100,
"version": "",
"icon": "Sentry.svg",
"website": "https://sentry.io/",
"pricing": [],
"cpe": null
},
"Tailwind CSS": {
"name": "Tailwind CSS",
"description": "Tailwind is a utility-first CSS framework.",
"slug": "tailwind-css",
"categories": [
{
"id": 66,
"slug": "ui-frameworks",
"description": "Provide pre-built components to build user interfaces",
"groups": [
9
],
"name": "UI frameworks",
"priority": 7
}
],
"confidence": 100,
"version": "",
"icon": "tailwindcss.svg",
"website": "https://tailwindcss.com/",
"pricing": [],
"cpe": null
},
"TanStack Start": {
"name": "TanStack Start",
"description": "TanStack Start takes TanStack Router's typed route tree, URL state, loaders, and prefetching, then adds the server pieces: full-document SSR, streaming, server functions, server routes, and build output for the runtime you choose.",
"slug": "tanstack-start",
"categories": [
{
"id": 12,
"slug": "javascript-frameworks",
"description": "Software used for building dynamic web applications and user interfaces",
"groups": [
9
],
"name": "JavaScript frameworks",
"priority": 8
},
{
"id": 18,
"slug": "web-frameworks",
"description": "Software that provides a structure for building web applications",
"groups": [
9
],
"name": "Web frameworks",
"priority": 7
}
],
"confidence": 100,
"version": "",
"icon": "TanStack.svg",
"website": "https://tanstack.com/start",
"pricing": [],
"cpe": null
},
"Google Tag Manager": {
"name": "Google Tag Manager",
"description": "Google Tag Manager is a tag management system (TMS) that allows you to quickly and easily update measurement codes and related code fragments collectively known as tags on your website or mobile app.",
"slug": "google-tag-manager",
"categories": [
{
"id": 42,
"slug": "tag-managers",
"description": "Tools that allow the addition of scripts and tracking tools to websites",
"groups": [
8
],
"name": "Tag managers",
"priority": 9
}
],
"confidence": 100,
"version": "",
"icon": "Google Tag Manager.svg",
"website": "https://www.google.com/tagmanager",
"pricing": [],
"cpe": null
},
"Priority Hints": {
"name": "Priority Hints",
"description": "Priority Hints exposes a mechanism for developers to signal a relative priority for browsers to consider when fetching resources.",
"slug": "priority-hints",
"categories": [
{
"id": 92,
"slug": "performance",
"description": "Tools that measure and optimize site speed",
"groups": [
7
],
"name": "Performance",
"priority": 9
}
],
"confidence": 100,
"version": "",
"icon": "Priority Hints.svg",
"website": "https://wicg.github.io/priority-hints/",
"pricing": [],
"cpe": null
},
"HSTS": {
"name": "HSTS",
"description": "HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.",
"slug": "hsts",
"categories": [
{
"id": 16,
"slug": "security",
"description": "Technologies that protect websites from vulnerabilities and attacks",
"groups": [
11
],
"name": "Security",
"priority": 9
}
],
"confidence": 100,
"version": "",
"icon": "default.svg",
"website": "https://www.rfc-editor.org/rfc/rfc6797#section-6.1",
"pricing": [],
"cpe": null
},
"Google Analytics": {
"name": "Google Analytics",
"description": "Google Analytics is a free web analytics service that tracks and reports website traffic.",
"slug": "google-analytics",
"categories": [
{
"id": 10,
"slug": "analytics",
"description": "Tools that track user behavior and provide insights into website performance",
"groups": [
8
],
"name": "Analytics",
"priority": 9
}
],
"confidence": 100,
"version": "",
"icon": "Google Analytics.svg",
"website": "https://google.com/analytics",
"pricing": [],
"cpe": null
},
"Cloudflare Browser Insights": {
"name": "Cloudflare Browser Insights",
"description": "Cloudflare Browser Insights is a tool that measures the performance of websites from the perspective of users.",
"slug": "cloudflare-browser-insights",
"categories": [
{
"id": 10,
"slug": "analytics",
"description": "Tools that track user behavior and provide insights into website performance",
"groups": [
8
],
"name": "Analytics",
"priority": 9
},
{
"id": 78,
"slug": "rum",
"description": "Tools that track performance as experienced by users",
"groups": [
2
],
"name": "RUM",
"priority": 9
}
],
"confidence": 100,
"version": "",
"icon": "CloudFlare.svg",
"website": "https://www.cloudflare.com",
"pricing": [],
"cpe": null
},
"Cloudflare": {
"name": "Cloudflare",
"description": "Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.",
"slug": "cloudflare",
"categories": [
{
"id": 31,
"slug": "cdn",
"description": "(Content Delivery Network) Distribute website content globally to improve load times for users",
"groups": [
7
],
"name": "CDN",
"priority": 9
}
],
"confidence": 100,
"version": "",
"icon": "CloudFlare.svg",
"website": "https://www.cloudflare.com",
"pricing": [],
"cpe": null
},
"PWA": {
"name": "PWA",
"description": "Progressive Web Apps (PWAs) are web apps built and enhanced with modern APIs to deliver enhanced capabilities, reliability, and installability while reaching anyone, anywhere, on any device, all with a single codebase.",
"slug": "pwa",
"categories": [
{
"id": 19,
"slug": "miscellaneous",
"description": "Tools and technologies that don't fit into other categories",
"groups": [
6
],
"name": "Miscellaneous",
"priority": 10
}
],
"confidence": 100,
"version": "",
"icon": "PWA.svg",
"website": "https://web.dev/progressive-web-apps/",
"pricing": [],
"cpe": null
},
"Open Graph": {
"name": "Open Graph",
"description": "Open Graph is a protocol that is used to integrate any web page into the social graph.",
"slug": "open-graph",
"categories": [
{
"id": 19,
"slug": "miscellaneous",
"description": "Tools and technologies that don't fit into other categories",
"groups": [
6
],
"name": "Miscellaneous",
"priority": 10
}
],
"confidence": 100,
"version": "",
"icon": "Open Graph.png",
"website": "https://ogp.me",
"pricing": [],
"cpe": null
},
"HTTP/3": {
"name": "HTTP/3",
"description": "HTTP/3 is the third major version of the Hypertext Transfer Protocol used to exchange information on the World Wide Web.",
"slug": "http-3",
"categories": [
{
"id": 19,
"slug": "miscellaneous",
"description": "Tools and technologies that don't fit into other categories",
"groups": [
6
],
"name": "Miscellaneous",
"priority": 10
}
],
"confidence": 100,
"version": "",
"icon": "HTTP3.svg",
"website": "https://httpwg.org/",
"pricing": [],
"cpe": null
}
}
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Related issue -> e18e/framework-tracker#265
As part of e18e we use the httparchive to get core web vitals for certain frameworks. We would like to extend wappalyzer to include support for TanStack Start so that we can can pull core web vitals from httparchive.
We can also use this work as part of the httarchive job that runs monthly to add metrics to the Technology Archive for TanStack Start.
At this current time TanStack Start works for both React and Solid.
My approach:
The main way that I can see for identifying a TanStack Start app is via identifying if the
window.__TSS_START_OPTIONS__exists which we can see exists in the bundle after compiling the TanStack Start project. but it is also being set here. Because this is set on the window from what I can see we can use thejsfield to check for this property starting at the window. If i'm wrong please call this out and I'm also open to taking on feedback or ways we can improve upon this.Local Testing:
I've labelled the categories as 12 and 18 which makes this show up under Web Frameworks and Web Servers. Should this just be one or the other?
I did run into a few issues with testing wappalyzer on TanStack Start site (both main and current tanstack-start branch). Error:
I did have to do some workarounds locally to get this to run and validate the TanStack site but eventually struck gold. Curios if anyone else has experienced similar issues and what the best approach here is.
Test websites: