Skip to content

Add Support for TansStack Start#329

Merged
tunetheweb merged 8 commits into
HTTPArchive:mainfrom
rdforte:tanstack-start
Jul 20, 2026
Merged

Add Support for TansStack Start#329
tunetheweb merged 8 commits into
HTTPArchive:mainfrom
rdforte:tanstack-start

Conversation

@rdforte

@rdforte rdforte commented Jul 12, 2026

Copy link
Copy Markdown
Contributor

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 the js field 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:

Screenshot 2026-07-12 at 3 03 25 pm

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:

Wappalyzer: Extension context invalidated, content script disconnected

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:

@max-ostapenko

max-ostapenko commented Jul 20, 2026

Copy link
Copy Markdown
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

Comment thread src/technologies/t.json
Comment thread src/technologies/t.json Outdated
Co-authored-by: Barry Pollard <barrypollard@google.com>

@tunetheweb tunetheweb left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Thanks

@github-actions

Copy link
Copy Markdown
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 technologies:

{
    "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 technologies:

{
    "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
        }
    }
}

@tunetheweb
tunetheweb merged commit 6b34fb6 into HTTPArchive:main Jul 20, 2026
2 checks passed
@rdforte
rdforte deleted the tanstack-start branch July 20, 2026 23:57
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.

3 participants