René's URL Explorer Experiment


Title: devtools-vite: four transform hooks have no filter, and inject-plugin parses pre-bundled dependency chunks · Issue #553 · TanStack/devtools · GitHub

Open Graph Title: devtools-vite: four transform hooks have no filter, and inject-plugin parses pre-bundled dependency chunks · Issue #553 · TanStack/devtools

X Title: devtools-vite: four transform hooks have no filter, and inject-plugin parses pre-bundled dependency chunks · Issue #553 · TanStack/devtools

Description: TanStack Devtools version @tanstack/devtools-vite 0.8.5 (its src/plugin.ts is the same as main at 6fbe63f) Framework/Library version Vite 8.0.12 and 8.3.4, React 19.2 Describe the bug and the steps to reproduce it A dev server calls a tr...

Open Graph Description: TanStack Devtools version @tanstack/devtools-vite 0.8.5 (its src/plugin.ts is the same as main at 6fbe63f) Framework/Library version Vite 8.0.12 and 8.3.4, React 19.2 Describe the bug and the steps...

X Description: TanStack Devtools version @tanstack/devtools-vite 0.8.5 (its src/plugin.ts is the same as main at 6fbe63f) Framework/Library version Vite 8.0.12 and 8.3.4, React 19.2 Describe the bug and the steps...

Opengraph URL: https://github.com/TanStack/devtools/issues/553

X: @github

direct link

Domain: github.com


Hey, it has json ld scripts:
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"devtools-vite: four transform hooks have no filter, and inject-plugin parses pre-bundled dependency chunks","articleBody":"### TanStack Devtools version\n\n`@tanstack/devtools-vite` 0.8.5 (its `src/plugin.ts` is the same as `main` at 6fbe63f)\n\n### Framework/Library version\n\nVite 8.0.12 and 8.3.4, React 19.2\n\n### Describe the bug and the steps to reproduce it\n\nA dev server calls a transform hook on every module unless the hook declares a `filter`. In `packages/devtools-vite/src/plugin.ts`, four hooks declare none: `remove-devtools-on-build`, `inject-plugin`, `connection-injection` and `runtime-bridge`. Their handlers return early for almost every module, but only after Vite has called them. `inject-plugin` first parses the module with oxc (`detectDevtoolsFile`), and keeps doing so until it finds the file that imports a devtools package. Nothing keeps it out of `node_modules`, so it also parses Vite's pre-bundled dependency chunks, which are large and which a page loads early.\n\n`inject-source` has a filter, but it still parses every `.ts` file, though these cannot contain JSX, and every file with no `\u003c` in it.\n\nTo reproduce:\n\n1. Clone the gist, run `npm install`, then `npm run check`.\n2. The script lists the hooks without a filter. It then calls each hook the way Vite would: on 271 TypeScript and TSX files (the sources that the installed `@tanstack` packages ship, standing in for an app's own files) and on the 953 files in `node_modules`. It prints the calls, the modules each hook changed, and the time.\n\nOutput on an Apple M6 with Node 24.21:\n\n```\nTransform hooks without a filter: remove-devtools-on-build, inject-plugin, connection-injection, runtime-bridge\n\nApp modules (sample-app): 271 modules\n  hook                      filter    calls  changed       ms\n  inject-source             yes         271       53     81.1\n  remove-devtools-on-build  no          271        1     13.1\n  better-console-logs       yes          32       11     19.9\n  console-pipe-transform    yes         268       10      2.0\n  inject-plugin             no          271        1     33.8\n  connection-injection      no          271        0      0.3\n  runtime-bridge            no          271        0      0.1\n  total                                                 150.2\n\nDependency modules (node_modules): 953 modules\n  hook                      filter    calls  changed       ms\n  inject-source             yes           0        0      0.0\n  remove-devtools-on-build  no          953        0      0.1\n  better-console-logs       yes           0        0      0.0\n  console-pipe-transform    yes           0        0      0.0\n  inject-plugin             no          953        1     49.9\n  connection-injection      no          953        2      4.2\n  runtime-bridge            no          953        0      0.1\n  total                                                  54.3\n```\n\nThe same on a dev server, timing each handler during the first page load (median of 10 cold starts):\n\n- `examples/react/start`, 321 modules across the client, SSR and Nitro environments: the plugin's handlers take 54 ms, and `inject-plugin` takes 39 ms of that. It is called on all 321 modules.\n- [shadcn-admin](https://github.com/satnaing/shadcn-admin) (at e16c87f) with `devtools()` and `\u003cTanStackDevtools />` added as the docs describe, 176 client modules: the handlers take 93 ms, and `inject-plugin` takes 73 ms. It parses the pre-bundled chunks before it reaches `src/routes/__root.tsx`, the 27th module. The 802 KB `react-dom` client chunk alone takes 48 ms.\n\nThe cost grows with the number of modules. In a Vite 8 build, Rolldown must call a JavaScript hook without a filter for every module; #394 reports `remove-devtools-on-build` at 46% of plugin time in a build.\n\nExpected: each hook declares a `filter` that matches the checks its handler already makes, so Vite and Rolldown skip the modules it would ignore.\n\nRelated: #397 (for #398) made each parse cheaper; this is about how many modules get parsed.\n\n### Your Minimal, Reproducible Example - (Sandbox Highly Recommended)\n\nhttps://gist.github.com/shkumbinhasani/1f68aa6ded48473e3519964a1e0d903a\n\n### Screenshots or Videos (Optional)\n\n_No response_\n\n### Do you intend to try to help solve this bug with your own PR?\n\nYes, I am also opening a PR that solves the problem along side this issue\n\n### Terms & Code of Conduct\n\n- [x] I agree to follow this project's Code of Conduct\n- [x] I understand that if my bug cannot be reliable reproduced in a debuggable environment, it will probably not be fixed and this issue may even be closed.\n","author":{"url":"https://github.com/shkumbinhasani","@type":"Person","name":"shkumbinhasani"},"datePublished":"2026-10-18T12:45:54Z","url":"https://github.com/TanStack/devtools/issues/553"}

react-profiling0
react-import-mapreact,react-dom,react-dom/client,react-dom/profiling,react-is,react-reconciler,react/compiler-runtime,react/jsx-dev-runtime,react/jsx-runtime,scheduler@d5750093facf
route-pattern/_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format)
route-controllervoltron_issues_fragments
route-actionissue_layout
fetch-noncev2:96d663cc-7b55-8f60-902d-9dc167bb488e
current-catalog-service-hash81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114
request-idADB4:219971:2A700D0:3763A8F:6AF9AD80
html-safe-noncee8c15134c89cb80310db7d8fb4dd3e405439fbd670af05a6dc2608fcb9695df6
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJBREI0OjIxOTk3MToyQTcwMEQwOjM3NjNBOEY6NkFGOUFEODAiLCJ2aXNpdG9yX2lkIjoiNTQ4ODgxMjA1NzIyNDU5NTIwIiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0=
visitor-hmac8ebe23f37f06b442627d69d567b4cb0018475b1b42d4117b4903b508181c6b85
hovercard-subject-tagissue:5909661823
github-keyboard-shortcutsrepository,issues,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///voltron/issues_fragments/issue_layout
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/TanStack/devtools/553/issue_layout
twitter:imagehttps://opengraph.githubassets.com/b853c5928298929a0f838a247c248831d93cd57328ee1453d5d6e7648c4f62c1/TanStack/devtools/issues/553
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/b853c5928298929a0f838a247c248831d93cd57328ee1453d5d6e7648c4f62c1/TanStack/devtools/issues/553
og:image:altTanStack Devtools version @tanstack/devtools-vite 0.8.5 (its src/plugin.ts is the same as main at 6fbe63f) Framework/Library version Vite 8.0.12 and 8.3.4, React 19.2 Describe the bug and the steps...
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
og:author:usernameshkumbinhasani
hostnamegithub.com
expected-hostnamegithub.com
None612d3e6ffd693e7ea8d9fcf452370995872baef31d825b1fedef704cd3d24ac7
turbo-cache-controlno-preview
go-importgithub.com/TanStack/devtools git https://github.com/TanStack/devtools.git
octolytics-dimension-user_id72518640
octolytics-dimension-user_loginTanStack
octolytics-dimension-repository_id1026402761
octolytics-dimension-repository_nwoTanStack/devtools
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id1026402761
octolytics-dimension-repository_network_root_nwoTanStack/devtools
turbo-body-classeslogged-out env-production page-responsive
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release072e34035c13c31543fba9f025cbbbda4210dae4
ui-targetfull
theme-color#1e2327
color-schemelight dark
react-app-nameissues

Links:

Skip to contenthttps://github.com/TanStack/devtools/issues/553#start-of-content
https://github.com/
Sign inhttps://github.com/login?return_to=https%3A%2F%2Fgithub.com%2FTanStack%2Fdevtools%2Fissues%2F553
GitHubRepository hosting, code review, and collaborationhttps://github.com/platform
CopilotAI coding agent for tasks, projects, and automated workhttps://github.com/features/copilot
ActionsCI/CD and automationhttps://github.com/features/actions
Code QualityQuality analysis, fixes, and enforcementhttps://github.com/features/code-quality
CodespacesCloud development environmentshttps://github.com/features/codespaces
Code SecurityVulnerability detection and remediationhttps://github.com/security/advanced-security/code-security
Secret ProtectionSecret scanning and leak preventionhttps://github.com/security/advanced-security/secret-protection
All Featureshttps://github.com/features
Documentationhttps://docs.github.com/en
Traininghttps://learn.github.com/skills
Certificationshttps://learn.github.com/credentials
Build with Copilothttps://github.com/features/ai
Customize Copilothttps://docs.github.com/en/copilot/how-tos/copilot-on-github/customize-copilot/customize-copilot-overview
Integrationshttps://github.com/marketplace
Trending reposhttps://github.com/trending
GitHub Sponsorshttps://github.com/open-source/sponsors
Developer articleshttps://github.com/resources/articles
ChangelogYour source for the latest features, improvements, and fixes across GitHub products, all in one place.https://github.blog/changelog/
Enterpriseshttps://github.com/enterprise
Teamhttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
See all industrieshttps://github.com/solutions/industry
Why GitHubhttps://github.com/why-github
Customer Storieshttps://github.com/customer-stories
Business insightshttps://github.com/solutions/executive-insights
Trust Centerhttps://github.com/trust-center
GitHub Advanced SecurityEnterprise-grade code securityhttps://github.com/security/advanced-security
Copilot for businessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/enterprise/premium-support
Documentationhttps://docs.github.com/en
Resource centerhttps://github.com/resources
Bloghttps://github.blog/
Events & webinarshttps://github.com/resources/events
Community Forumhttps://github.com/orgs/community/discussions
Customer Storieshttps://github.com/customer-stories
Integrationshttps://github.com/marketplace
Customer supporthttps://help.github.com/
Traininghttps://learn.github.com/skills
GitHub Statushttps://www.githubstatus.com/
Abouthttps://github.com/about
Partnershttps://github.com/partners
Changeloghttps://github.blog/changelog/
GitHub UniverseThe event for developers, by developers — talks, workshops, and what’s next for GitHub.https://githubuniverse.com/
Pricinghttps://github.com/pricing
Sign inhttps://github.com/login?return_to=https%3A%2F%2Fgithub.com%2FTanStack%2Fdevtools%2Fissues%2F553
Sign uphttps://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fvoltron%2Fissues_fragments%2Fissue_layout&source=header-repo&source_repo=TanStack%2Fdevtools
Reloadhttps://github.com/TanStack/devtools/issues/553
Reloadhttps://github.com/TanStack/devtools/issues/553
Reloadhttps://github.com/TanStack/devtools/issues/553
TanStackhttps://github.com/TanStack
devtoolshttps://github.com/TanStack/devtools
Codehttps://github.com/TanStack/devtools
Issues24 (24)https://github.com/TanStack/devtools/issues
Pull requests25 (25)https://github.com/TanStack/devtools/pulls
Discussionshttps://github.com/TanStack/devtools/discussions
Actionshttps://github.com/TanStack/devtools/actions
Security and qualityhttps://github.com/TanStack/devtools/security
Insightshttps://github.com/TanStack/devtools/pulse
https://github.com/TanStack/devtools
New issuehttps://github.com/login?return_to=https://github.com/TanStack/devtools/issues/553
New issuehttps://github.com/login?return_to=https://github.com/TanStack/devtools/issues/553
#554https://github.com/TanStack/devtools/pull/554
devtools-vite: four transform hooks have no filter, and inject-plugin parses pre-bundled dependency chunkshttps://github.com/TanStack/devtools/issues/553#top
#554https://github.com/TanStack/devtools/pull/554
https://github.com/shkumbinhasani
shkumbinhasanihttps://github.com/shkumbinhasani
on Oct 18, 2026https://github.com/TanStack/devtools/issues/553#issue-5909661823
6fbe63fhttps://github.com/TanStack/devtools/commit/6fbe63f3cb6761b196e112baf81adfd8f2dbc66a
shadcn-adminhttps://github.com/satnaing/shadcn-admin
#394https://github.com/TanStack/devtools/discussions/394
#397https://github.com/TanStack/devtools/pull/397
#398https://github.com/TanStack/devtools/discussions/398
https://gist.github.com/shkumbinhasani/1f68aa6ded48473e3519964a1e0d903ahttps://gist.github.com/shkumbinhasani/1f68aa6ded48473e3519964a1e0d903a
Sign up for freehttps://github.com/signup?return_to=https://github.com/TanStack/devtools/issues/553
Sign in to commenthttps://github.com/login?return_to=https://github.com/TanStack/devtools/issues/553
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.