[{"id":"8534305010","type":"IssueCommentEvent","actor":{"id":112722215,"login":"cernymatej","display_login":"cernymatej","gravatar_id":"","url":"https://api.github.com/users/cernymatej","avatar_url":"https://avatars.githubusercontent.com/u/112722215?"},"repo":{"id":1158148520,"name":"MatteoGabriele/agentscan","url":"https://api.github.com/repos/MatteoGabriele/agentscan"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/MatteoGabriele/agentscan/issues/50","repository_url":"https://api.github.com/repos/MatteoGabriele/agentscan","labels_url":"https://api.github.com/repos/MatteoGabriele/agentscan/issues/50/labels{/name}","comments_url":"https://api.github.com/repos/MatteoGabriele/agentscan/issues/50/comments","events_url":"https://api.github.com/repos/MatteoGabriele/agentscan/issues/50/events","html_url":"https://github.com/MatteoGabriele/agentscan/pull/50","id":4282454069,"node_id":"PR_kwDORQfxqM7TTgaV","number":50,"title":"feat: auto-submit username form on paste","user":{"login":"cernymatej","id":112722215,"node_id":"U_kgDOBrgBJw","avatar_url":"https://avatars.githubusercontent.com/u/112722215?v=4","gravatar_id":"","url":"https://api.github.com/users/cernymatej","html_url":"https://github.com/cernymatej","followers_url":"https://api.github.com/users/cernymatej/followers","following_url":"https://api.github.com/users/cernymatej/following{/other_user}","gists_url":"https://api.github.com/users/cernymatej/gists{/gist_id}","starred_url":"https://api.github.com/users/cernymatej/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cernymatej/subscriptions","organizations_url":"https://api.github.com/users/cernymatej/orgs","repos_url":"https://api.github.com/users/cernymatej/repos","events_url":"https://api.github.com/users/cernymatej/events{/privacy}","received_events_url":"https://api.github.com/users/cernymatej/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignees":[],"milestone":null,"comments":6,"created_at":"2026-04-17T12:06:31Z","updated_at":"2026-04-17T15:44:04Z","closed_at":"2026-04-17T15:44:04Z","assignee":null,"active_lock_reason":null,"draft":false,"pull_request":{"url":"https://api.github.com/repos/MatteoGabriele/agentscan/pulls/50","html_url":"https://github.com/MatteoGabriele/agentscan/pull/50","diff_url":"https://github.com/MatteoGabriele/agentscan/pull/50.diff","patch_url":"https://github.com/MatteoGabriele/agentscan/pull/50.patch","merged_at":null},"body":"This will auto-submit the form when users pase input form their clipboard.\n\n<!-- This is an auto-generated comment: release notes by coderabbit.ai -->\n\n## Summary by CodeRabbit\n\n* **New Features**\n  * Added paste event handling to the analysis form, allowing users to paste values directly into the input field for automatic submission.\n\n<!-- end of auto-generated comment: release notes by coderabbit.ai -->","reactions":{"url":"https://api.github.com/repos/MatteoGabriele/agentscan/issues/50/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/MatteoGabriele/agentscan/issues/50/timeline","performed_via_github_app":null,"state_reason":null},"comment":{"url":"https://api.github.com/repos/MatteoGabriele/agentscan/issues/comments/4269367610","html_url":"https://github.com/MatteoGabriele/agentscan/pull/50#issuecomment-4269367610","issue_url":"https://api.github.com/repos/MatteoGabriele/agentscan/issues/50","id":4269367610,"node_id":"IC_kwDORQfxqM7-eWE6","user":{"login":"cernymatej","id":112722215,"node_id":"U_kgDOBrgBJw","avatar_url":"https://avatars.githubusercontent.com/u/112722215?v=4","gravatar_id":"","url":"https://api.github.com/users/cernymatej","html_url":"https://github.com/cernymatej","followers_url":"https://api.github.com/users/cernymatej/followers","following_url":"https://api.github.com/users/cernymatej/following{/other_user}","gists_url":"https://api.github.com/users/cernymatej/gists{/gist_id}","starred_url":"https://api.github.com/users/cernymatej/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cernymatej/subscriptions","organizations_url":"https://api.github.com/users/cernymatej/orgs","repos_url":"https://api.github.com/users/cernymatej/repos","events_url":"https://api.github.com/users/cernymatej/events{/privacy}","received_events_url":"https://api.github.com/users/cernymatej/received_events","type":"User","user_view_type":"public","site_admin":false},"created_at":"2026-04-17T15:39:35Z","updated_at":"2026-04-17T15:39:35Z","body":"right, feel feee to close this then 😅\r\nI just thought it would be nice to have the result load quicker since there really isn't anything else to configure once you've filled in the name\r\n\r\nit's actually similar to how npmx.dev does it -> it also loads the results immediately (though that's implemented as a debounced search)","reactions":{"url":"https://api.github.com/repos/MatteoGabriele/agentscan/issues/comments/4269367610/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null}},"public":true,"created_at":"2026-04-17T15:39:35Z"},{"id":"8526391380","type":"PullRequestEvent","actor":{"id":112722215,"login":"cernymatej","display_login":"cernymatej","gravatar_id":"","url":"https://api.github.com/users/cernymatej","avatar_url":"https://avatars.githubusercontent.com/u/112722215?"},"repo":{"id":1158148520,"name":"MatteoGabriele/agentscan","url":"https://api.github.com/repos/MatteoGabriele/agentscan"},"payload":{"action":"opened","number":50,"pull_request":{"url":"https://api.github.com/repos/MatteoGabriele/agentscan/pulls/50","id":3545106069,"number":50,"head":{"ref":"feat/auto-submit-on-paste","sha":"50a8476058f55d0c969868cd5c9f1e3e97f61ba4","repo":{"id":1213436047,"url":"https://api.github.com/repos/cernymatej/agentscan","name":"agentscan"}},"base":{"ref":"main","sha":"df4bf60475df297cb86932b5638c505be75f7b88","repo":{"id":1158148520,"url":"https://api.github.com/repos/MatteoGabriele/agentscan","name":"agentscan"}}}},"public":true,"created_at":"2026-04-17T12:06:31Z"},{"id":"10705415656","type":"CreateEvent","actor":{"id":112722215,"login":"cernymatej","display_login":"cernymatej","gravatar_id":"","url":"https://api.github.com/users/cernymatej","avatar_url":"https://avatars.githubusercontent.com/u/112722215?"},"repo":{"id":1213436047,"name":"cernymatej/agentscan","url":"https://api.github.com/repos/cernymatej/agentscan"},"payload":{"ref":"feat/auto-submit-on-paste","ref_type":"branch","full_ref":"refs/heads/feat/auto-submit-on-paste","master_branch":"main","description":"An open experiment in detecting automation patterns on GitHub","pusher_type":"user"},"public":true,"created_at":"2026-04-17T12:05:53Z"},{"id":"8525234723","type":"ForkEvent","actor":{"id":112722215,"login":"cernymatej","display_login":"cernymatej","gravatar_id":"","url":"https://api.github.com/users/cernymatej","avatar_url":"https://avatars.githubusercontent.com/u/112722215?"},"repo":{"id":1158148520,"name":"MatteoGabriele/agentscan","url":"https://api.github.com/repos/MatteoGabriele/agentscan"},"payload":{"action":"forked","forkee":{"id":1213436047,"node_id":"R_kgDOSFOQjw","name":"agentscan","full_name":"cernymatej/agentscan","private":false,"owner":{"login":"cernymatej","id":112722215,"node_id":"U_kgDOBrgBJw","avatar_url":"https://avatars.githubusercontent.com/u/112722215?v=4","gravatar_id":"","url":"https://api.github.com/users/cernymatej","html_url":"https://github.com/cernymatej","followers_url":"https://api.github.com/users/cernymatej/followers","following_url":"https://api.github.com/users/cernymatej/following{/other_user}","gists_url":"https://api.github.com/users/cernymatej/gists{/gist_id}","starred_url":"https://api.github.com/users/cernymatej/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cernymatej/subscriptions","organizations_url":"https://api.github.com/users/cernymatej/orgs","repos_url":"https://api.github.com/users/cernymatej/repos","events_url":"https://api.github.com/users/cernymatej/events{/privacy}","received_events_url":"https://api.github.com/users/cernymatej/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/cernymatej/agentscan","description":"An open experiment in detecting automation patterns on GitHub","fork":true,"url":"https://api.github.com/repos/cernymatej/agentscan","forks_url":"https://api.github.com/repos/cernymatej/agentscan/forks","keys_url":"https://api.github.com/repos/cernymatej/agentscan/keys{/key_id}","collaborators_url":"https://api.github.com/repos/cernymatej/agentscan/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/cernymatej/agentscan/teams","hooks_url":"https://api.github.com/repos/cernymatej/agentscan/hooks","issue_events_url":"https://api.github.com/repos/cernymatej/agentscan/issues/events{/number}","events_url":"https://api.github.com/repos/cernymatej/agentscan/events","assignees_url":"https://api.github.com/repos/cernymatej/agentscan/assignees{/user}","branches_url":"https://api.github.com/repos/cernymatej/agentscan/branches{/branch}","tags_url":"https://api.github.com/repos/cernymatej/agentscan/tags","blobs_url":"https://api.github.com/repos/cernymatej/agentscan/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/cernymatej/agentscan/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/cernymatej/agentscan/git/refs{/sha}","trees_url":"https://api.github.com/repos/cernymatej/agentscan/git/trees{/sha}","statuses_url":"https://api.github.com/repos/cernymatej/agentscan/statuses/{sha}","languages_url":"https://api.github.com/repos/cernymatej/agentscan/languages","stargazers_url":"https://api.github.com/repos/cernymatej/agentscan/stargazers","contributors_url":"https://api.github.com/repos/cernymatej/agentscan/contributors","subscribers_url":"https://api.github.com/repos/cernymatej/agentscan/subscribers","subscription_url":"https://api.github.com/repos/cernymatej/agentscan/subscription","commits_url":"https://api.github.com/repos/cernymatej/agentscan/commits{/sha}","git_commits_url":"https://api.github.com/repos/cernymatej/agentscan/git/commits{/sha}","comments_url":"https://api.github.com/repos/cernymatej/agentscan/comments{/number}","issue_comment_url":"https://api.github.com/repos/cernymatej/agentscan/issues/comments{/number}","contents_url":"https://api.github.com/repos/cernymatej/agentscan/contents/{+path}","compare_url":"https://api.github.com/repos/cernymatej/agentscan/compare/{base}...{head}","merges_url":"https://api.github.com/repos/cernymatej/agentscan/merges","archive_url":"https://api.github.com/repos/cernymatej/agentscan/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/cernymatej/agentscan/downloads","issues_url":"https://api.github.com/repos/cernymatej/agentscan/issues{/number}","pulls_url":"https://api.github.com/repos/cernymatej/agentscan/pulls{/number}","milestones_url":"https://api.github.com/repos/cernymatej/agentscan/milestones{/number}","notifications_url":"https://api.github.com/repos/cernymatej/agentscan/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/cernymatej/agentscan/labels{/name}","releases_url":"https://api.github.com/repos/cernymatej/agentscan/releases{/id}","deployments_url":"https://api.github.com/repos/cernymatej/agentscan/deployments","created_at":"2026-04-17T11:30:20Z","updated_at":"2026-04-17T11:30:20Z","pushed_at":"2026-04-17T12:05:52Z","git_url":"git://github.com/cernymatej/agentscan.git","ssh_url":"git@github.com:cernymatej/agentscan.git","clone_url":"https://github.com/cernymatej/agentscan.git","svn_url":"https://github.com/cernymatej/agentscan","homepage":"https://agentscan.netlify.app/","size":374,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"public","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"public":true,"created_at":"2026-04-17T11:30:20Z"},{"id":"8525190259","type":"IssueCommentEvent","actor":{"id":112722215,"login":"cernymatej","display_login":"cernymatej","gravatar_id":"","url":"https://api.github.com/users/cernymatej","avatar_url":"https://avatars.githubusercontent.com/u/112722215?"},"repo":{"id":71995937,"name":"nuxt/nuxt","url":"https://api.github.com/repos/nuxt/nuxt"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/nuxt/nuxt/issues/34822","repository_url":"https://api.github.com/repos/nuxt/nuxt","labels_url":"https://api.github.com/repos/nuxt/nuxt/issues/34822/labels{/name}","comments_url":"https://api.github.com/repos/nuxt/nuxt/issues/34822/comments","events_url":"https://api.github.com/repos/nuxt/nuxt/issues/34822/events","html_url":"https://github.com/nuxt/nuxt/issues/34822","id":4281222674,"node_id":"I_kwDOBEqSIc7_LkYS","number":34822,"title":"feat: allow disabling plugins / modules","user":{"login":"martinszeltins","id":34019878,"node_id":"MDQ6VXNlcjM0MDE5ODc4","avatar_url":"https://avatars.githubusercontent.com/u/34019878?v=4","gravatar_id":"","url":"https://api.github.com/users/martinszeltins","html_url":"https://github.com/martinszeltins","followers_url":"https://api.github.com/users/martinszeltins/followers","following_url":"https://api.github.com/users/martinszeltins/following{/other_user}","gists_url":"https://api.github.com/users/martinszeltins/gists{/gist_id}","starred_url":"https://api.github.com/users/martinszeltins/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/martinszeltins/subscriptions","organizations_url":"https://api.github.com/users/martinszeltins/orgs","repos_url":"https://api.github.com/users/martinszeltins/repos","events_url":"https://api.github.com/users/martinszeltins/events{/privacy}","received_events_url":"https://api.github.com/users/martinszeltins/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[{"id":4295681526,"node_id":"LA_kwDOBEqSIc8AAAABAArl9g","url":"https://api.github.com/repos/nuxt/nuxt/labels/pending%20triage","name":"pending triage","color":"E99695","default":false,"description":null}],"state":"open","locked":false,"assignees":[],"milestone":null,"comments":3,"created_at":"2026-04-17T08:28:13Z","updated_at":"2026-04-19T11:29:22Z","closed_at":null,"assignee":null,"type":{"id":4851079,"node_id":"IT_kwDOAWR1pc4ASgWH","name":"Enhancement","description":"A request, idea, or new functionality","color":"green","created_at":"2024-01-29T23:16:52Z","updated_at":"2025-05-12T13:17:57Z","is_enabled":true},"active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"### Describe the feature\n\nThere doesn't seem to be an \"enabled\" option when defining a Nuxt plugin (or module). If I want to keep my plugin in code but just not enable it - I cannot do it. I would need to delete my plugin file or rename the directory which kind of sucks.\n\nI would suggest adding `enabled` property like this:\n\n```ts\n// app/plugins/fontAwesome.ts\nexport default defineNuxtPlugin({\n    name: 'font-awesome',\n    enabled: false,  // <-----\n    parallel: true,\n    setup(nuxtApp) {\n        nuxtApp.vueApp.component('FontAwesomeIcon', FontAwesomeIcon)\n    },\n})\n```\n\n### Additional information\n\n- [ ] Would you be willing to help implement this feature?\n- [ ] Could this feature be implemented as a module?\n\n### Final checks\n\n- [x] Read the [contribution guide](https://nuxt.com/docs/4.x/community/contribution).\n- [x] Check existing [discussions](https://github.com/nuxt/nuxt/discussions) and [issues](https://github.com/nuxt/nuxt/issues).","reactions":{"url":"https://api.github.com/repos/nuxt/nuxt/issues/34822/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nuxt/nuxt/issues/34822/timeline","performed_via_github_app":null,"state_reason":null,"pinned_comment":null},"comment":{"url":"https://api.github.com/repos/nuxt/nuxt/issues/comments/4267610918","html_url":"https://github.com/nuxt/nuxt/issues/34822#issuecomment-4267610918","issue_url":"https://api.github.com/repos/nuxt/nuxt/issues/34822","id":4267610918,"node_id":"IC_kwDOBEqSIc7-XpMm","user":{"login":"cernymatej","id":112722215,"node_id":"U_kgDOBrgBJw","avatar_url":"https://avatars.githubusercontent.com/u/112722215?v=4","gravatar_id":"","url":"https://api.github.com/users/cernymatej","html_url":"https://github.com/cernymatej","followers_url":"https://api.github.com/users/cernymatej/followers","following_url":"https://api.github.com/users/cernymatej/following{/other_user}","gists_url":"https://api.github.com/users/cernymatej/gists{/gist_id}","starred_url":"https://api.github.com/users/cernymatej/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cernymatej/subscriptions","organizations_url":"https://api.github.com/users/cernymatej/orgs","repos_url":"https://api.github.com/users/cernymatej/repos","events_url":"https://api.github.com/users/cernymatej/events{/privacy}","received_events_url":"https://api.github.com/users/cernymatej/received_events","type":"User","user_view_type":"public","site_admin":false},"created_at":"2026-04-17T11:28:50Z","updated_at":"2026-04-17T11:28:50Z","body":"What is the use case for this? In which case would you want to statically disable the plugin, but keep the file?\n\nI'm curious because - at least for me - it doesn't seem like a big problem to comment it out while just quickly testing something, or to delete it completely if it's for a longer period of time in a version-controlled project.\n\nWe also don't have such option for middleware, etc.","pin":null,"reactions":{"url":"https://api.github.com/repos/nuxt/nuxt/issues/comments/4267610918/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null}},"public":true,"created_at":"2026-04-17T11:28:50Z","org":{"id":23360933,"login":"nuxt","gravatar_id":"","url":"https://api.github.com/orgs/nuxt","avatar_url":"https://avatars.githubusercontent.com/u/23360933?"}},{"id":"8525053044","type":"IssueCommentEvent","actor":{"id":112722215,"login":"cernymatej","display_login":"cernymatej","gravatar_id":"","url":"https://api.github.com/users/cernymatej","avatar_url":"https://avatars.githubusercontent.com/u/112722215?"},"repo":{"id":71995937,"name":"nuxt/nuxt","url":"https://api.github.com/repos/nuxt/nuxt"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/nuxt/nuxt/issues/34071","repository_url":"https://api.github.com/repos/nuxt/nuxt","labels_url":"https://api.github.com/repos/nuxt/nuxt/issues/34071/labels{/name}","comments_url":"https://api.github.com/repos/nuxt/nuxt/issues/34071/comments","events_url":"https://api.github.com/repos/nuxt/nuxt/issues/34071/events","html_url":"https://github.com/nuxt/nuxt/issues/34071","id":3808062110,"node_id":"I_kwDOBEqSIc7i-mqe","number":34071,"title":"SSR memory leak in Nuxt 4.2.2 - request context not released (useAsyncData, Vue Router)","user":{"login":"aaharu","id":382278,"node_id":"MDQ6VXNlcjM4MjI3OA==","avatar_url":"https://avatars.githubusercontent.com/u/382278?v=4","gravatar_id":"","url":"https://api.github.com/users/aaharu","html_url":"https://github.com/aaharu","followers_url":"https://api.github.com/users/aaharu/followers","following_url":"https://api.github.com/users/aaharu/following{/other_user}","gists_url":"https://api.github.com/users/aaharu/gists{/gist_id}","starred_url":"https://api.github.com/users/aaharu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aaharu/subscriptions","organizations_url":"https://api.github.com/users/aaharu/orgs","repos_url":"https://api.github.com/users/aaharu/repos","events_url":"https://api.github.com/users/aaharu/events{/privacy}","received_events_url":"https://api.github.com/users/aaharu/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[{"id":5057242168,"node_id":"LA_kwDOBEqSIc8AAAABLW9kOA","url":"https://api.github.com/repos/nuxt/nuxt/labels/upstream-bug","name":"upstream-bug","color":"B60205","default":false,"description":null}],"state":"closed","locked":false,"assignees":[],"milestone":null,"comments":27,"created_at":"2026-01-13T09:52:12Z","updated_at":"2026-04-17T11:24:18Z","closed_at":"2026-02-23T22:34:52Z","assignee":null,"type":{"id":4851075,"node_id":"IT_kwDOAWR1pc4ASgWD","name":"Bug","description":"An unexpected problem or behavior","color":"red","created_at":"2024-01-29T23:16:52Z","updated_at":"2024-07-26T11:18:53Z","is_enabled":true},"active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"### Environment\n\n- Operating System: Linux (Google Cloud Run)\n- Node Version: v24\n- nuxt/cli version: 3.32.0\n- Package manager: npm \n- Nuxt Version: 4.2.2\n- Nitro Version: 2.12.9\n- Builder: vite 7.3.0\n- Config: $development, $env, $production, app, compatibilityDate, components, content, css, devServer, devtools, eslint, experimental, image, modules, nitro, pages, routeRules, runtimeConfig, scripts, typescript, vite\n- Modules: @vueuse/nuxt 14.1.0, @nuxt/image 2.0.0, @nuxtjs/tailwindcss 6.14.0, @nuxt/test-utils/module 3.20.1, @nuxt/content 3.8.0, @nuxt/eslint 1.10.0, @nuxt/scripts 0.13.1, @nuxt/icon 2.1.0\n\n### Reproduction\n\nCannot provide minimal reproduction - occurs only in production SSR under real traffic.\n\n\n### Describe the bug\n\nContinuous memory leak in Nuxt 4.2.2 SSR application. Memory grows until OOM crash.\n\n\n### Additional context\n\n#### Heap Profile Comparison (Before vs After ~6 hours of traffic)\n\n| Function | Before | After | Growth |\n|----------|--------|-------|--------|\n| `replace` | 18.19 MiB | 166.1 MiB | **9.1x** |\n| `destr` | 10.86 MiB | 104.5 MiB | **9.6x** |\n| `normalizePropsOpt` | 5.215 MiB | 46.29 MiB | **8.9x** |\n| `_parse` | 2.857 MiB | 42.93 MiB | **15x** |\n| `tokensToParser` | 1.715 MiB | 31.18 MiB | **18x** |\n| `tokenizePath` | 2 MiB | 17.39 MiB | **8.7x** |\n| `useAsyncData` | N/A | 27.25 MiB | **new** |\n| `useFetch` | N/A | 14.22 MiB | **new** |\n| `addRoute` | N/A | 11.5 MiB | **new** |\n\n**Total heap**: ~111 MiB → ~843 MiB (**7.6x growth**)\n\n#### Key Observations\n\n1. **Vue Router shows highest growth** - `tokensToParser` increased 18x\n2. **Data fetching accumulates** - `useAsyncData`/`useFetch` only appear after growth\n3. **All functions grow proportionally** - indicates entire SSR context is not being released\n\n- Aware of #33644, updated to 4.2.2, issue persists\n- Memory grows from ~400MB to 2GB+ over several hours\n\n#### What we've tried\n\n1. Audited all application code for module-scope state leaks\n2. Verified no module-scope `useNuxtApp()`, `useRoute()` calls\n3. No improvement from application-side fixes\n\n\n\n### Logs\n\n```shell-script\n\n```","reactions":{"url":"https://api.github.com/repos/nuxt/nuxt/issues/34071/reactions","total_count":3,"+1":1,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":2},"timeline_url":"https://api.github.com/repos/nuxt/nuxt/issues/34071/timeline","performed_via_github_app":null,"state_reason":"completed","pinned_comment":null},"comment":{"url":"https://api.github.com/repos/nuxt/nuxt/issues/comments/4267587308","html_url":"https://github.com/nuxt/nuxt/issues/34071#issuecomment-4267587308","issue_url":"https://api.github.com/repos/nuxt/nuxt/issues/34071","id":4267587308,"node_id":"IC_kwDOBEqSIc7-Xjbs","user":{"login":"cernymatej","id":112722215,"node_id":"U_kgDOBrgBJw","avatar_url":"https://avatars.githubusercontent.com/u/112722215?v=4","gravatar_id":"","url":"https://api.github.com/users/cernymatej","html_url":"https://github.com/cernymatej","followers_url":"https://api.github.com/users/cernymatej/followers","following_url":"https://api.github.com/users/cernymatej/following{/other_user}","gists_url":"https://api.github.com/users/cernymatej/gists{/gist_id}","starred_url":"https://api.github.com/users/cernymatej/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cernymatej/subscriptions","organizations_url":"https://api.github.com/users/cernymatej/orgs","repos_url":"https://api.github.com/users/cernymatej/repos","events_url":"https://api.github.com/users/cernymatej/events{/privacy}","received_events_url":"https://api.github.com/users/cernymatej/received_events","type":"User","user_view_type":"public","site_admin":false},"created_at":"2026-04-17T11:24:18Z","updated_at":"2026-04-17T11:24:18Z","body":"Possibly related, there's another memory leak in Vue, which will probably be fixed in the next minor patch - https://github.com/vuejs/core/issues/14733\n\nI know this issue mentioned `experimental.asyncContext`, but I just wanted to point out that there may have been multiple issues at play.","pin":null,"reactions":{"url":"https://api.github.com/repos/nuxt/nuxt/issues/comments/4267587308/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null}},"public":true,"created_at":"2026-04-17T11:24:18Z","org":{"id":23360933,"login":"nuxt","gravatar_id":"","url":"https://api.github.com/orgs/nuxt","avatar_url":"https://avatars.githubusercontent.com/u/23360933?"}},{"id":"8524948045","type":"IssueCommentEvent","actor":{"id":112722215,"login":"cernymatej","display_login":"cernymatej","gravatar_id":"","url":"https://api.github.com/users/cernymatej","avatar_url":"https://avatars.githubusercontent.com/u/112722215?"},"repo":{"id":71995937,"name":"nuxt/nuxt","url":"https://api.github.com/repos/nuxt/nuxt"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/nuxt/nuxt/issues/33644","repository_url":"https://api.github.com/repos/nuxt/nuxt","labels_url":"https://api.github.com/repos/nuxt/nuxt/issues/33644/labels{/name}","comments_url":"https://api.github.com/repos/nuxt/nuxt/issues/33644/comments","events_url":"https://api.github.com/repos/nuxt/nuxt/issues/33644/events","html_url":"https://github.com/nuxt/nuxt/issues/33644","id":3581260977,"node_id":"I_kwDOBEqSIc7VdbSx","number":33644,"title":"Memory leak in Vue","user":{"login":"ac-shadow","id":83810356,"node_id":"MDQ6VXNlcjgzODEwMzU2","avatar_url":"https://avatars.githubusercontent.com/u/83810356?v=4","gravatar_id":"","url":"https://api.github.com/users/ac-shadow","html_url":"https://github.com/ac-shadow","followers_url":"https://api.github.com/users/ac-shadow/followers","following_url":"https://api.github.com/users/ac-shadow/following{/other_user}","gists_url":"https://api.github.com/users/ac-shadow/gists{/gist_id}","starred_url":"https://api.github.com/users/ac-shadow/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ac-shadow/subscriptions","organizations_url":"https://api.github.com/users/ac-shadow/orgs","repos_url":"https://api.github.com/users/ac-shadow/repos","events_url":"https://api.github.com/users/ac-shadow/events{/privacy}","received_events_url":"https://api.github.com/users/ac-shadow/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[{"id":4295681526,"node_id":"LA_kwDOBEqSIc8AAAABAArl9g","url":"https://api.github.com/repos/nuxt/nuxt/labels/pending%20triage","name":"pending triage","color":"E99695","default":false,"description":null},{"id":5057242168,"node_id":"LA_kwDOBEqSIc8AAAABLW9kOA","url":"https://api.github.com/repos/nuxt/nuxt/labels/upstream-bug","name":"upstream-bug","color":"B60205","default":false,"description":null}],"state":"closed","locked":false,"assignees":[],"milestone":null,"comments":51,"created_at":"2025-11-03T09:32:14Z","updated_at":"2026-04-17T11:24:36Z","closed_at":"2026-03-09T09:29:07Z","assignee":null,"type":null,"active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"### Environment\n\n- Operating System: Linux\n- Node Version:     v22.19.0\n- Nuxt Version:     4.2.0\n- CLI Version:      3.29.3\n- Nitro Version:    2.12.9\n- Package Manager:  [pnpm@10.18.3](mailto:pnpm@10.18.3)\n- Builder:          -\n- User Config:      compatibilityDate, devtools\n- Runtime Modules:  -\n- Build Modules:    -\n\n### Reproduction\n\n[https://stackblitz.com/edit/github-z3g1tibv?file=app%2Fapp.vue](https://stackblitz.com/edit/github-z3g1tibv?file=app%2Fapp.vue)\n\n### Describe the bug\n\nAfter upgrading our app from 4.1.3 to 4.2.0 it started to consume a lot of memory until it crashes.\nIt seems to me like the issue is caused by `useFetch` / `useAsyncData` and the recent addition of signals.\n\n### Additional context\n\nTo isolate the issue I created a minimal app using `pnpm create nuxt@latest` and updated the `app.vue` like this:\n\n```vue\n<script setup lang=\"ts\">\nconst { data } = await useFetch('https://jsonplaceholder.typicode.com/todos/')\n// const { data } = await useAsyncData('todos', (_nuxtApp, { signal }) => $fetch('https://jsonplaceholder.typicode.com/todos/', { signal }))\n// const data = await $fetch('https://jsonplaceholder.typicode.com/todos/')\n</script>\n\n<template>\n  <div>\n    <NuxtRouteAnnouncer />\n    <pre>{{ data }}}</pre>\n  </div>\n</template>\n```\n\nI used the node inspector and ran 10k requests with `ab -n 10000 -c 5 http://127.0.0.1:3000/`\n\nNuxt 4.1.3:\n\n![Image](https://github.com/user-attachments/assets/b07a52af-3134-4023-a930-797d7ebf4d8d)\n\nNuxt 4.2.0 - `useFetch`:\n\n![Image](https://github.com/user-attachments/assets/982a2119-e53c-4c55-bfab-d92bd4f4f61a)\n\nNuxt 4.2.0 - `useAsyncData`:\n\n![Image](https://github.com/user-attachments/assets/393724dd-dff3-4207-8d27-615cc796fefd)\n\nNuxt 4.2.0 - `$fetch`:\n\n![Image](https://github.com/user-attachments/assets/f2706969-27c2-4bcd-99ab-17b08ab6975f)\n\nMore context:\n\n![Image](https://github.com/user-attachments/assets/0d8730f3-ed2f-4503-982e-0b75c443bf01)\n\n### Logs\n\n```shell-script\n\n```\n\n&nbsp;","reactions":{"url":"https://api.github.com/repos/nuxt/nuxt/issues/33644/reactions","total_count":9,"+1":9,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nuxt/nuxt/issues/33644/timeline","performed_via_github_app":null,"state_reason":"completed","pinned_comment":null},"comment":{"url":"https://api.github.com/repos/nuxt/nuxt/issues/comments/4267568919","html_url":"https://github.com/nuxt/nuxt/issues/33644#issuecomment-4267568919","issue_url":"https://api.github.com/repos/nuxt/nuxt/issues/33644","id":4267568919,"node_id":"IC_kwDOBEqSIc7-Xe8X","user":{"login":"cernymatej","id":112722215,"node_id":"U_kgDOBrgBJw","avatar_url":"https://avatars.githubusercontent.com/u/112722215?v=4","gravatar_id":"","url":"https://api.github.com/users/cernymatej","html_url":"https://github.com/cernymatej","followers_url":"https://api.github.com/users/cernymatej/followers","following_url":"https://api.github.com/users/cernymatej/following{/other_user}","gists_url":"https://api.github.com/users/cernymatej/gists{/gist_id}","starred_url":"https://api.github.com/users/cernymatej/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cernymatej/subscriptions","organizations_url":"https://api.github.com/users/cernymatej/orgs","repos_url":"https://api.github.com/users/cernymatej/repos","events_url":"https://api.github.com/users/cernymatej/events{/privacy}","received_events_url":"https://api.github.com/users/cernymatej/received_events","type":"User","user_view_type":"public","site_admin":false},"created_at":"2026-04-17T11:20:52Z","updated_at":"2026-04-17T11:24:36Z","body":"Possibly related, there's another memory leak in Vue, which will probably be fixed in the next minor patch - https://github.com/vuejs/core/issues/14733","pin":null,"reactions":{"url":"https://api.github.com/repos/nuxt/nuxt/issues/comments/4267568919/reactions","total_count":1,"+1":1,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null}},"public":true,"created_at":"2026-04-17T11:20:52Z","org":{"id":23360933,"login":"nuxt","gravatar_id":"","url":"https://api.github.com/orgs/nuxt","avatar_url":"https://avatars.githubusercontent.com/u/23360933?"}},{"id":"8516482034","type":"IssueCommentEvent","actor":{"id":112722215,"login":"cernymatej","display_login":"cernymatej","gravatar_id":"","url":"https://api.github.com/users/cernymatej","avatar_url":"https://avatars.githubusercontent.com/u/112722215?"},"repo":{"id":137078487,"name":"vuejs/core","url":"https://api.github.com/repos/vuejs/core"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/vuejs/core/issues/14733","repository_url":"https://api.github.com/repos/vuejs/core","labels_url":"https://api.github.com/repos/vuejs/core/issues/14733/labels{/name}","comments_url":"https://api.github.com/repos/vuejs/core/issues/14733/comments","events_url":"https://api.github.com/repos/vuejs/core/issues/14733/events","html_url":"https://github.com/vuejs/core/issues/14733","id":4279181453,"node_id":"I_kwDOCCum187_DyCN","number":14733,"title":"`onScopeDispose` can cause a SSR memory leak","user":{"login":"cernymatej","id":112722215,"node_id":"U_kgDOBrgBJw","avatar_url":"https://avatars.githubusercontent.com/u/112722215?v=4","gravatar_id":"","url":"https://api.github.com/users/cernymatej","html_url":"https://github.com/cernymatej","followers_url":"https://api.github.com/users/cernymatej/followers","following_url":"https://api.github.com/users/cernymatej/following{/other_user}","gists_url":"https://api.github.com/users/cernymatej/gists{/gist_id}","starred_url":"https://api.github.com/users/cernymatej/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cernymatej/subscriptions","organizations_url":"https://api.github.com/users/cernymatej/orgs","repos_url":"https://api.github.com/users/cernymatej/repos","events_url":"https://api.github.com/users/cernymatej/events{/privacy}","received_events_url":"https://api.github.com/users/cernymatej/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[{"id":2185819480,"node_id":"MDU6TGFiZWwyMTg1ODE5NDgw","url":"https://api.github.com/repos/vuejs/core/labels/scope:%20ssr","name":"scope: ssr","color":"7441a8","default":false,"description":""},{"id":2557590955,"node_id":"MDU6TGFiZWwyNTU3NTkwOTU1","url":"https://api.github.com/repos/vuejs/core/labels/:exclamation:%20p4-important","name":":exclamation: p4-important","color":"8155e0","default":false,"description":"Priority 4: this fixes bugs that violate documented behavior, or significantly improves perf."}],"state":"closed","locked":false,"assignees":[],"milestone":null,"comments":1,"created_at":"2026-04-16T23:50:09Z","updated_at":"2026-04-22T06:02:06Z","closed_at":"2026-04-22T06:02:06Z","assignee":null,"type":null,"active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"### Vue version\n\n3.5.32\n\n### Link to minimal reproduction\n\nhttps://stackblitz.com/edit/vitejs-vite-zqf6g74x?file=src%2Fcomponents%2FComponentA.vue&terminal=dev\n\n### Steps to reproduce\n\n1. download the reproduction from stackblitz (won't work there)\n2. run `pnpm i && pnpm ssr`\n3. see the heap size & alive app instances grow with each request\n\n\nThe script creates 1000 fresh ssr apps, renders them to string and tracks whether each of them gets garbage-collected.\n\n2 sibling async SFC components with top-level await are needed for this to reproduce. One of them needs to capture a stop handle for an immediate watcher, which then ends up keeping the whole scope in memory and through it, the whole app. _(probably)_\n\n**ComponentA**\n```vue\n<script setup>\n    const enabled = await Promise.resolve(false)\n    const el = ref(null)\n    const stopWatch = watch(() => el.value, () => {}, { immediate: true })  // actually runs on the server\n    onScopeDispose(() => { stopWatch() })\n</script>\n\n<template>\n    <div ref=\"el\">Component A {{ enabled }}</div>\n</template>\n```\n\n**Component B**\n```vue\n<script setup>\n    const enabled = await Promise.resolve(false)\n</script>\n\n<template>\n    <div>Component B {{ enabled }}</div>\n</template>\n\n```\n\n**app:**\n```vue\n<template>\n    <div>\n        <ComponentA />\n        <ComponentB />\n    </div>\n</template>\n```\n\n### What is expected?\n\nAll apps should get garbage collected.\n\n### What is actually happening?\n\nEvery app is kept in memory forever:\n```\nFINAL: created=10000 finalized=0 alive=10000\n```\n\n### System Info\n\n```shell\n\n```\n\n### Any additional comments?\n\nMaybe related to https://github.com/vuejs/core/pull/14674?\n\nIn some cases, this can cause the whole `NuxtApp` to be kept in memory in Nuxt, along with all the rendered server payload, which adds up very quickly.","reactions":{"url":"https://api.github.com/repos/vuejs/core/issues/14733/reactions","total_count":1,"+1":1,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/vuejs/core/issues/14733/timeline","performed_via_github_app":null,"state_reason":"completed","pinned_comment":null},"comment":{"url":"https://api.github.com/repos/vuejs/core/issues/comments/4266048484","html_url":"https://github.com/vuejs/core/issues/14733#issuecomment-4266048484","issue_url":"https://api.github.com/repos/vuejs/core/issues/14733","id":4266048484,"node_id":"IC_kwDOCCum187-Rrvk","user":{"login":"cernymatej","id":112722215,"node_id":"U_kgDOBrgBJw","avatar_url":"https://avatars.githubusercontent.com/u/112722215?v=4","gravatar_id":"","url":"https://api.github.com/users/cernymatej","html_url":"https://github.com/cernymatej","followers_url":"https://api.github.com/users/cernymatej/followers","following_url":"https://api.github.com/users/cernymatej/following{/other_user}","gists_url":"https://api.github.com/users/cernymatej/gists{/gist_id}","starred_url":"https://api.github.com/users/cernymatej/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cernymatej/subscriptions","organizations_url":"https://api.github.com/users/cernymatej/orgs","repos_url":"https://api.github.com/users/cernymatej/repos","events_url":"https://api.github.com/users/cernymatej/events{/privacy}","received_events_url":"https://api.github.com/users/cernymatej/received_events","type":"User","user_view_type":"public","site_admin":false},"created_at":"2026-04-17T06:59:41Z","updated_at":"2026-04-17T06:59:41Z","body":"I've just noticed that there was a similar issue closed recently because of a non-reproducible reproduction: https://github.com/vuejs/core/issues/14706\n\nI believe the one I provided should work fine.","pin":null,"reactions":{"url":"https://api.github.com/repos/vuejs/core/issues/comments/4266048484/reactions","total_count":2,"+1":2,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null}},"public":true,"created_at":"2026-04-17T06:59:41Z","org":{"id":6128107,"login":"vuejs","gravatar_id":"","url":"https://api.github.com/orgs/vuejs","avatar_url":"https://avatars.githubusercontent.com/u/6128107?"}},{"id":"8507239793","type":"IssuesEvent","actor":{"id":112722215,"login":"cernymatej","display_login":"cernymatej","gravatar_id":"","url":"https://api.github.com/users/cernymatej","avatar_url":"https://avatars.githubusercontent.com/u/112722215?"},"repo":{"id":137078487,"name":"vuejs/core","url":"https://api.github.com/repos/vuejs/core"},"payload":{"action":"opened","issue":{"url":"https://api.github.com/repos/vuejs/core/issues/14733","repository_url":"https://api.github.com/repos/vuejs/core","labels_url":"https://api.github.com/repos/vuejs/core/issues/14733/labels{/name}","comments_url":"https://api.github.com/repos/vuejs/core/issues/14733/comments","events_url":"https://api.github.com/repos/vuejs/core/issues/14733/events","html_url":"https://github.com/vuejs/core/issues/14733","id":4279181453,"node_id":"I_kwDOCCum187_DyCN","number":14733,"title":"`onScopeDispose` can cause a SSR memory leak","user":{"login":"cernymatej","id":112722215,"node_id":"U_kgDOBrgBJw","avatar_url":"https://avatars.githubusercontent.com/u/112722215?v=4","gravatar_id":"","url":"https://api.github.com/users/cernymatej","html_url":"https://github.com/cernymatej","followers_url":"https://api.github.com/users/cernymatej/followers","following_url":"https://api.github.com/users/cernymatej/following{/other_user}","gists_url":"https://api.github.com/users/cernymatej/gists{/gist_id}","starred_url":"https://api.github.com/users/cernymatej/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cernymatej/subscriptions","organizations_url":"https://api.github.com/users/cernymatej/orgs","repos_url":"https://api.github.com/users/cernymatej/repos","events_url":"https://api.github.com/users/cernymatej/events{/privacy}","received_events_url":"https://api.github.com/users/cernymatej/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[{"id":2185819480,"node_id":"MDU6TGFiZWwyMTg1ODE5NDgw","url":"https://api.github.com/repos/vuejs/core/labels/scope:%20ssr","name":"scope: ssr","color":"7441a8","default":false,"description":""},{"id":2557590955,"node_id":"MDU6TGFiZWwyNTU3NTkwOTU1","url":"https://api.github.com/repos/vuejs/core/labels/:exclamation:%20p4-important","name":":exclamation: p4-important","color":"8155e0","default":false,"description":"Priority 4: this fixes bugs that violate documented behavior, or significantly improves perf."}],"state":"closed","locked":false,"assignees":[],"milestone":null,"comments":1,"created_at":"2026-04-16T23:50:09Z","updated_at":"2026-04-22T06:02:06Z","closed_at":"2026-04-22T06:02:06Z","assignee":null,"type":null,"active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"### Vue version\n\n3.5.32\n\n### Link to minimal reproduction\n\nhttps://stackblitz.com/edit/vitejs-vite-zqf6g74x?file=src%2Fcomponents%2FComponentA.vue&terminal=dev\n\n### Steps to reproduce\n\n1. download the reproduction from stackblitz (won't work there)\n2. run `pnpm i && pnpm ssr`\n3. see the heap size & alive app instances grow with each request\n\n\nThe script creates 1000 fresh ssr apps, renders them to string and tracks whether each of them gets garbage-collected.\n\n2 sibling async SFC components with top-level await are needed for this to reproduce. One of them needs to capture a stop handle for an immediate watcher, which then ends up keeping the whole scope in memory and through it, the whole app. _(probably)_\n\n**ComponentA**\n```vue\n<script setup>\n    const enabled = await Promise.resolve(false)\n    const el = ref(null)\n    const stopWatch = watch(() => el.value, () => {}, { immediate: true })  // actually runs on the server\n    onScopeDispose(() => { stopWatch() })\n</script>\n\n<template>\n    <div ref=\"el\">Component A {{ enabled }}</div>\n</template>\n```\n\n**Component B**\n```vue\n<script setup>\n    const enabled = await Promise.resolve(false)\n</script>\n\n<template>\n    <div>Component B {{ enabled }}</div>\n</template>\n\n```\n\n**app:**\n```vue\n<template>\n    <div>\n        <ComponentA />\n        <ComponentB />\n    </div>\n</template>\n```\n\n### What is expected?\n\nAll apps should get garbage collected.\n\n### What is actually happening?\n\nEvery app is kept in memory forever:\n```\nFINAL: created=10000 finalized=0 alive=10000\n```\n\n### System Info\n\n```shell\n\n```\n\n### Any additional comments?\n\nMaybe related to https://github.com/vuejs/core/pull/14674?\n\nIn some cases, this can cause the whole `NuxtApp` to be kept in memory in Nuxt, along with all the rendered server payload, which adds up very quickly.","reactions":{"url":"https://api.github.com/repos/vuejs/core/issues/14733/reactions","total_count":1,"+1":1,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/vuejs/core/issues/14733/timeline","performed_via_github_app":null,"state_reason":"completed","pinned_comment":null}},"public":true,"created_at":"2026-04-16T23:50:10Z","org":{"id":6128107,"login":"vuejs","gravatar_id":"","url":"https://api.github.com/orgs/vuejs","avatar_url":"https://avatars.githubusercontent.com/u/6128107?"}},{"id":"10682541676","type":"PushEvent","actor":{"id":112722215,"login":"cernymatej","display_login":"cernymatej","gravatar_id":"","url":"https://api.github.com/users/cernymatej","avatar_url":"https://avatars.githubusercontent.com/u/112722215?"},"repo":{"id":1104934983,"name":"cernymatej/vue","url":"https://api.github.com/repos/cernymatej/vue"},"payload":{"repository_id":1104934983,"push_id":32974349635,"ref":"refs/heads/main","head":"7df0edd46c1636751750588d8db2fafd2ef68443","before":"fa23116437250b3fdec41112f276211cb284136e"},"public":true,"created_at":"2026-04-16T22:51:14Z"},{"id":"8369074056","type":"IssueCommentEvent","actor":{"id":112722215,"login":"cernymatej","display_login":"cernymatej","gravatar_id":"","url":"https://api.github.com/users/cernymatej","avatar_url":"https://avatars.githubusercontent.com/u/112722215?"},"repo":{"id":71995937,"name":"nuxt/nuxt","url":"https://api.github.com/repos/nuxt/nuxt"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/nuxt/nuxt/issues/33678","repository_url":"https://api.github.com/repos/nuxt/nuxt","labels_url":"https://api.github.com/repos/nuxt/nuxt/issues/33678/labels{/name}","comments_url":"https://api.github.com/repos/nuxt/nuxt/issues/33678/comments","events_url":"https://api.github.com/repos/nuxt/nuxt/issues/33678/events","html_url":"https://github.com/nuxt/nuxt/issues/33678","id":3604053888,"node_id":"I_kwDOBEqSIc7W0X-A","number":33678,"title":"easier way to define global `tsconfig` options","user":{"login":"cernymatej","id":112722215,"node_id":"U_kgDOBrgBJw","avatar_url":"https://avatars.githubusercontent.com/u/112722215?v=4","gravatar_id":"","url":"https://api.github.com/users/cernymatej","html_url":"https://github.com/cernymatej","followers_url":"https://api.github.com/users/cernymatej/followers","following_url":"https://api.github.com/users/cernymatej/following{/other_user}","gists_url":"https://api.github.com/users/cernymatej/gists{/gist_id}","starred_url":"https://api.github.com/users/cernymatej/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cernymatej/subscriptions","organizations_url":"https://api.github.com/users/cernymatej/orgs","repos_url":"https://api.github.com/users/cernymatej/repos","events_url":"https://api.github.com/users/cernymatej/events{/privacy}","received_events_url":"https://api.github.com/users/cernymatej/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[{"id":705613557,"node_id":"MDU6TGFiZWw3MDU2MTM1NTc=","url":"https://api.github.com/repos/nuxt/nuxt/labels/good%20first%20issue","name":"good first issue","color":"fbca04","default":true,"description":""},{"id":1207112795,"node_id":"MDU6TGFiZWwxMjA3MTEyNzk1","url":"https://api.github.com/repos/nuxt/nuxt/labels/types","name":"types","color":"2875C3","default":false,"description":""},{"id":5056879580,"node_id":"MDU6TGFiZWw1MDU2ODc5NTgw","url":"https://api.github.com/repos/nuxt/nuxt/labels/dx","name":"dx","color":"C39D69","default":false,"description":null},{"id":5057185380,"node_id":"LA_kwDOBEqSIc8AAAABLW6GZA","url":"https://api.github.com/repos/nuxt/nuxt/labels/%F0%9F%8D%B0%20p2-nice-to-have","name":"🍰 p2-nice-to-have","color":"0E8A16","default":false,"description":null}],"state":"open","locked":false,"assignees":[{"login":"Jack-sh1","id":217174207,"node_id":"U_kgDODPHQvw","avatar_url":"https://avatars.githubusercontent.com/u/217174207?v=4","gravatar_id":"","url":"https://api.github.com/users/Jack-sh1","html_url":"https://github.com/Jack-sh1","followers_url":"https://api.github.com/users/Jack-sh1/followers","following_url":"https://api.github.com/users/Jack-sh1/following{/other_user}","gists_url":"https://api.github.com/users/Jack-sh1/gists{/gist_id}","starred_url":"https://api.github.com/users/Jack-sh1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Jack-sh1/subscriptions","organizations_url":"https://api.github.com/users/Jack-sh1/orgs","repos_url":"https://api.github.com/users/Jack-sh1/repos","events_url":"https://api.github.com/users/Jack-sh1/events{/privacy}","received_events_url":"https://api.github.com/users/Jack-sh1/received_events","type":"User","user_view_type":"public","site_admin":false}],"milestone":null,"comments":6,"created_at":"2025-11-08T21:49:59Z","updated_at":"2026-04-13T18:04:52Z","closed_at":null,"assignee":{"login":"Jack-sh1","id":217174207,"node_id":"U_kgDODPHQvw","avatar_url":"https://avatars.githubusercontent.com/u/217174207?v=4","gravatar_id":"","url":"https://api.github.com/users/Jack-sh1","html_url":"https://github.com/Jack-sh1","followers_url":"https://api.github.com/users/Jack-sh1/followers","following_url":"https://api.github.com/users/Jack-sh1/following{/other_user}","gists_url":"https://api.github.com/users/Jack-sh1/gists{/gist_id}","starred_url":"https://api.github.com/users/Jack-sh1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Jack-sh1/subscriptions","organizations_url":"https://api.github.com/users/Jack-sh1/orgs","repos_url":"https://api.github.com/users/Jack-sh1/repos","events_url":"https://api.github.com/users/Jack-sh1/events{/privacy}","received_events_url":"https://api.github.com/users/Jack-sh1/received_events","type":"User","user_view_type":"public","site_admin":false},"type":null,"active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"### Describe the feature\n\nSince we moved to TS Project References, it's become more difficult to define global TS rules such as `noUncheckedIndexedAccess`, `verbatimModuleSyntax`... because users now have to duplicate the same configuration across multiple config keys. I think that most end-users rarely need to add context-spcific rules and mostly define general rules like these.\n\nCould we consider adopting a more DX-friendly approach to specifying TS configuration for v5?\n\nFor example:\n```ts\nexport default defineNuxtConfig({\n  typescript: {\n    // customize rules for ALL type contexts\n    tsConfig: { /* ... */ },\n    // customize tsconfig.app.json\n    appTsConfig: { /* ... */ },\n    // customize tsconfig.server.json\n    serverTsConfig: { /* ... */ },\n    // customize tsconfig.shared.json\n    sharedTsConfig: { /* ... */ },\n    // customize tsconfig.node.json\n    nodeTsConfig: { /* ... */ },\n  },\n})\n```\n\n### Additional information\n\n- [x] Would you be willing to help implement this feature?\n- [ ] Could this feature be implemented as a module?\n\n### Final checks\n\n- [x] Read the [contribution guide](https://nuxt.com/docs/4.x/community/contribution).\n- [x] Check existing [discussions](https://github.com/nuxt/nuxt/discussions) and [issues](https://github.com/nuxt/nuxt/issues).","reactions":{"url":"https://api.github.com/repos/nuxt/nuxt/issues/33678/reactions","total_count":4,"+1":2,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":2,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nuxt/nuxt/issues/33678/timeline","performed_via_github_app":null,"state_reason":null,"pinned_comment":null},"comment":{"url":"https://api.github.com/repos/nuxt/nuxt/issues/comments/4238564018","html_url":"https://github.com/nuxt/nuxt/issues/33678#issuecomment-4238564018","issue_url":"https://api.github.com/repos/nuxt/nuxt/issues/33678","id":4238564018,"node_id":"IC_kwDOBEqSIc78o1qy","user":{"login":"cernymatej","id":112722215,"node_id":"U_kgDOBrgBJw","avatar_url":"https://avatars.githubusercontent.com/u/112722215?v=4","gravatar_id":"","url":"https://api.github.com/users/cernymatej","html_url":"https://github.com/cernymatej","followers_url":"https://api.github.com/users/cernymatej/followers","following_url":"https://api.github.com/users/cernymatej/following{/other_user}","gists_url":"https://api.github.com/users/cernymatej/gists{/gist_id}","starred_url":"https://api.github.com/users/cernymatej/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cernymatej/subscriptions","organizations_url":"https://api.github.com/users/cernymatej/orgs","repos_url":"https://api.github.com/users/cernymatej/repos","events_url":"https://api.github.com/users/cernymatej/events{/privacy}","received_events_url":"https://api.github.com/users/cernymatej/received_events","type":"User","user_view_type":"public","site_admin":false},"created_at":"2026-04-13T18:04:52Z","updated_at":"2026-04-13T18:04:52Z","body":"@Jack-sh1 sure thing! please go ahead 😊","pin":null,"reactions":{"url":"https://api.github.com/repos/nuxt/nuxt/issues/comments/4238564018/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null}},"public":true,"created_at":"2026-04-13T18:04:52Z","org":{"id":23360933,"login":"nuxt","gravatar_id":"","url":"https://api.github.com/orgs/nuxt","avatar_url":"https://avatars.githubusercontent.com/u/23360933?"}},{"id":"8369063311","type":"IssuesEvent","actor":{"id":112722215,"login":"cernymatej","display_login":"cernymatej","gravatar_id":"","url":"https://api.github.com/users/cernymatej","avatar_url":"https://avatars.githubusercontent.com/u/112722215?"},"repo":{"id":71995937,"name":"nuxt/nuxt","url":"https://api.github.com/repos/nuxt/nuxt"},"payload":{"action":"unassigned","issue":{"url":"https://api.github.com/repos/nuxt/nuxt/issues/33678","repository_url":"https://api.github.com/repos/nuxt/nuxt","labels_url":"https://api.github.com/repos/nuxt/nuxt/issues/33678/labels{/name}","comments_url":"https://api.github.com/repos/nuxt/nuxt/issues/33678/comments","events_url":"https://api.github.com/repos/nuxt/nuxt/issues/33678/events","html_url":"https://github.com/nuxt/nuxt/issues/33678","id":3604053888,"node_id":"I_kwDOBEqSIc7W0X-A","number":33678,"title":"easier way to define global `tsconfig` options","user":{"login":"cernymatej","id":112722215,"node_id":"U_kgDOBrgBJw","avatar_url":"https://avatars.githubusercontent.com/u/112722215?v=4","gravatar_id":"","url":"https://api.github.com/users/cernymatej","html_url":"https://github.com/cernymatej","followers_url":"https://api.github.com/users/cernymatej/followers","following_url":"https://api.github.com/users/cernymatej/following{/other_user}","gists_url":"https://api.github.com/users/cernymatej/gists{/gist_id}","starred_url":"https://api.github.com/users/cernymatej/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cernymatej/subscriptions","organizations_url":"https://api.github.com/users/cernymatej/orgs","repos_url":"https://api.github.com/users/cernymatej/repos","events_url":"https://api.github.com/users/cernymatej/events{/privacy}","received_events_url":"https://api.github.com/users/cernymatej/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[{"id":705613557,"node_id":"MDU6TGFiZWw3MDU2MTM1NTc=","url":"https://api.github.com/repos/nuxt/nuxt/labels/good%20first%20issue","name":"good first issue","color":"fbca04","default":true,"description":""},{"id":1207112795,"node_id":"MDU6TGFiZWwxMjA3MTEyNzk1","url":"https://api.github.com/repos/nuxt/nuxt/labels/types","name":"types","color":"2875C3","default":false,"description":""},{"id":5056879580,"node_id":"MDU6TGFiZWw1MDU2ODc5NTgw","url":"https://api.github.com/repos/nuxt/nuxt/labels/dx","name":"dx","color":"C39D69","default":false,"description":null},{"id":5057185380,"node_id":"LA_kwDOBEqSIc8AAAABLW6GZA","url":"https://api.github.com/repos/nuxt/nuxt/labels/%F0%9F%8D%B0%20p2-nice-to-have","name":"🍰 p2-nice-to-have","color":"0E8A16","default":false,"description":null}],"state":"open","locked":false,"assignees":[{"login":"Jack-sh1","id":217174207,"node_id":"U_kgDODPHQvw","avatar_url":"https://avatars.githubusercontent.com/u/217174207?v=4","gravatar_id":"","url":"https://api.github.com/users/Jack-sh1","html_url":"https://github.com/Jack-sh1","followers_url":"https://api.github.com/users/Jack-sh1/followers","following_url":"https://api.github.com/users/Jack-sh1/following{/other_user}","gists_url":"https://api.github.com/users/Jack-sh1/gists{/gist_id}","starred_url":"https://api.github.com/users/Jack-sh1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Jack-sh1/subscriptions","organizations_url":"https://api.github.com/users/Jack-sh1/orgs","repos_url":"https://api.github.com/users/Jack-sh1/repos","events_url":"https://api.github.com/users/Jack-sh1/events{/privacy}","received_events_url":"https://api.github.com/users/Jack-sh1/received_events","type":"User","user_view_type":"public","site_admin":false}],"milestone":null,"comments":6,"created_at":"2025-11-08T21:49:59Z","updated_at":"2026-04-13T18:04:52Z","closed_at":null,"assignee":{"login":"Jack-sh1","id":217174207,"node_id":"U_kgDODPHQvw","avatar_url":"https://avatars.githubusercontent.com/u/217174207?v=4","gravatar_id":"","url":"https://api.github.com/users/Jack-sh1","html_url":"https://github.com/Jack-sh1","followers_url":"https://api.github.com/users/Jack-sh1/followers","following_url":"https://api.github.com/users/Jack-sh1/following{/other_user}","gists_url":"https://api.github.com/users/Jack-sh1/gists{/gist_id}","starred_url":"https://api.github.com/users/Jack-sh1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Jack-sh1/subscriptions","organizations_url":"https://api.github.com/users/Jack-sh1/orgs","repos_url":"https://api.github.com/users/Jack-sh1/repos","events_url":"https://api.github.com/users/Jack-sh1/events{/privacy}","received_events_url":"https://api.github.com/users/Jack-sh1/received_events","type":"User","user_view_type":"public","site_admin":false},"type":null,"active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"### Describe the feature\n\nSince we moved to TS Project References, it's become more difficult to define global TS rules such as `noUncheckedIndexedAccess`, `verbatimModuleSyntax`... because users now have to duplicate the same configuration across multiple config keys. I think that most end-users rarely need to add context-spcific rules and mostly define general rules like these.\n\nCould we consider adopting a more DX-friendly approach to specifying TS configuration for v5?\n\nFor example:\n```ts\nexport default defineNuxtConfig({\n  typescript: {\n    // customize rules for ALL type contexts\n    tsConfig: { /* ... */ },\n    // customize tsconfig.app.json\n    appTsConfig: { /* ... */ },\n    // customize tsconfig.server.json\n    serverTsConfig: { /* ... */ },\n    // customize tsconfig.shared.json\n    sharedTsConfig: { /* ... */ },\n    // customize tsconfig.node.json\n    nodeTsConfig: { /* ... */ },\n  },\n})\n```\n\n### Additional information\n\n- [x] Would you be willing to help implement this feature?\n- [ ] Could this feature be implemented as a module?\n\n### Final checks\n\n- [x] Read the [contribution guide](https://nuxt.com/docs/4.x/community/contribution).\n- [x] Check existing [discussions](https://github.com/nuxt/nuxt/discussions) and [issues](https://github.com/nuxt/nuxt/issues).","reactions":{"url":"https://api.github.com/repos/nuxt/nuxt/issues/33678/reactions","total_count":4,"+1":2,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":2,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nuxt/nuxt/issues/33678/timeline","performed_via_github_app":null,"state_reason":null,"pinned_comment":null},"assignee":{"login":"Jack-sh1","id":217174207,"node_id":"U_kgDODPHQvw","avatar_url":"https://avatars.githubusercontent.com/u/217174207?v=4","gravatar_id":"","url":"https://api.github.com/users/Jack-sh1","html_url":"https://github.com/Jack-sh1","followers_url":"https://api.github.com/users/Jack-sh1/followers","following_url":"https://api.github.com/users/Jack-sh1/following{/other_user}","gists_url":"https://api.github.com/users/Jack-sh1/gists{/gist_id}","starred_url":"https://api.github.com/users/Jack-sh1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Jack-sh1/subscriptions","organizations_url":"https://api.github.com/users/Jack-sh1/orgs","repos_url":"https://api.github.com/users/Jack-sh1/repos","events_url":"https://api.github.com/users/Jack-sh1/events{/privacy}","received_events_url":"https://api.github.com/users/Jack-sh1/received_events","type":"User","user_view_type":"public","site_admin":false},"assignees":[{"login":"Jack-sh1","id":217174207,"node_id":"U_kgDODPHQvw","avatar_url":"https://avatars.githubusercontent.com/u/217174207?v=4","gravatar_id":"","url":"https://api.github.com/users/Jack-sh1","html_url":"https://github.com/Jack-sh1","followers_url":"https://api.github.com/users/Jack-sh1/followers","following_url":"https://api.github.com/users/Jack-sh1/following{/other_user}","gists_url":"https://api.github.com/users/Jack-sh1/gists{/gist_id}","starred_url":"https://api.github.com/users/Jack-sh1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Jack-sh1/subscriptions","organizations_url":"https://api.github.com/users/Jack-sh1/orgs","repos_url":"https://api.github.com/users/Jack-sh1/repos","events_url":"https://api.github.com/users/Jack-sh1/events{/privacy}","received_events_url":"https://api.github.com/users/Jack-sh1/received_events","type":"User","user_view_type":"public","site_admin":false}]},"public":true,"created_at":"2026-04-13T18:04:32Z","org":{"id":23360933,"login":"nuxt","gravatar_id":"","url":"https://api.github.com/orgs/nuxt","avatar_url":"https://avatars.githubusercontent.com/u/23360933?"}},{"id":"8369058785","type":"IssuesEvent","actor":{"id":112722215,"login":"cernymatej","display_login":"cernymatej","gravatar_id":"","url":"https://api.github.com/users/cernymatej","avatar_url":"https://avatars.githubusercontent.com/u/112722215?"},"repo":{"id":71995937,"name":"nuxt/nuxt","url":"https://api.github.com/repos/nuxt/nuxt"},"payload":{"action":"assigned","issue":{"url":"https://api.github.com/repos/nuxt/nuxt/issues/33678","repository_url":"https://api.github.com/repos/nuxt/nuxt","labels_url":"https://api.github.com/repos/nuxt/nuxt/issues/33678/labels{/name}","comments_url":"https://api.github.com/repos/nuxt/nuxt/issues/33678/comments","events_url":"https://api.github.com/repos/nuxt/nuxt/issues/33678/events","html_url":"https://github.com/nuxt/nuxt/issues/33678","id":3604053888,"node_id":"I_kwDOBEqSIc7W0X-A","number":33678,"title":"easier way to define global `tsconfig` options","user":{"login":"cernymatej","id":112722215,"node_id":"U_kgDOBrgBJw","avatar_url":"https://avatars.githubusercontent.com/u/112722215?v=4","gravatar_id":"","url":"https://api.github.com/users/cernymatej","html_url":"https://github.com/cernymatej","followers_url":"https://api.github.com/users/cernymatej/followers","following_url":"https://api.github.com/users/cernymatej/following{/other_user}","gists_url":"https://api.github.com/users/cernymatej/gists{/gist_id}","starred_url":"https://api.github.com/users/cernymatej/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cernymatej/subscriptions","organizations_url":"https://api.github.com/users/cernymatej/orgs","repos_url":"https://api.github.com/users/cernymatej/repos","events_url":"https://api.github.com/users/cernymatej/events{/privacy}","received_events_url":"https://api.github.com/users/cernymatej/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[{"id":705613557,"node_id":"MDU6TGFiZWw3MDU2MTM1NTc=","url":"https://api.github.com/repos/nuxt/nuxt/labels/good%20first%20issue","name":"good first issue","color":"fbca04","default":true,"description":""},{"id":1207112795,"node_id":"MDU6TGFiZWwxMjA3MTEyNzk1","url":"https://api.github.com/repos/nuxt/nuxt/labels/types","name":"types","color":"2875C3","default":false,"description":""},{"id":5056879580,"node_id":"MDU6TGFiZWw1MDU2ODc5NTgw","url":"https://api.github.com/repos/nuxt/nuxt/labels/dx","name":"dx","color":"C39D69","default":false,"description":null},{"id":5057185380,"node_id":"LA_kwDOBEqSIc8AAAABLW6GZA","url":"https://api.github.com/repos/nuxt/nuxt/labels/%F0%9F%8D%B0%20p2-nice-to-have","name":"🍰 p2-nice-to-have","color":"0E8A16","default":false,"description":null}],"state":"open","locked":false,"assignees":[{"login":"Jack-sh1","id":217174207,"node_id":"U_kgDODPHQvw","avatar_url":"https://avatars.githubusercontent.com/u/217174207?v=4","gravatar_id":"","url":"https://api.github.com/users/Jack-sh1","html_url":"https://github.com/Jack-sh1","followers_url":"https://api.github.com/users/Jack-sh1/followers","following_url":"https://api.github.com/users/Jack-sh1/following{/other_user}","gists_url":"https://api.github.com/users/Jack-sh1/gists{/gist_id}","starred_url":"https://api.github.com/users/Jack-sh1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Jack-sh1/subscriptions","organizations_url":"https://api.github.com/users/Jack-sh1/orgs","repos_url":"https://api.github.com/users/Jack-sh1/repos","events_url":"https://api.github.com/users/Jack-sh1/events{/privacy}","received_events_url":"https://api.github.com/users/Jack-sh1/received_events","type":"User","user_view_type":"public","site_admin":false}],"milestone":null,"comments":6,"created_at":"2025-11-08T21:49:59Z","updated_at":"2026-04-13T18:04:52Z","closed_at":null,"assignee":{"login":"Jack-sh1","id":217174207,"node_id":"U_kgDODPHQvw","avatar_url":"https://avatars.githubusercontent.com/u/217174207?v=4","gravatar_id":"","url":"https://api.github.com/users/Jack-sh1","html_url":"https://github.com/Jack-sh1","followers_url":"https://api.github.com/users/Jack-sh1/followers","following_url":"https://api.github.com/users/Jack-sh1/following{/other_user}","gists_url":"https://api.github.com/users/Jack-sh1/gists{/gist_id}","starred_url":"https://api.github.com/users/Jack-sh1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Jack-sh1/subscriptions","organizations_url":"https://api.github.com/users/Jack-sh1/orgs","repos_url":"https://api.github.com/users/Jack-sh1/repos","events_url":"https://api.github.com/users/Jack-sh1/events{/privacy}","received_events_url":"https://api.github.com/users/Jack-sh1/received_events","type":"User","user_view_type":"public","site_admin":false},"type":null,"active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"### Describe the feature\n\nSince we moved to TS Project References, it's become more difficult to define global TS rules such as `noUncheckedIndexedAccess`, `verbatimModuleSyntax`... because users now have to duplicate the same configuration across multiple config keys. I think that most end-users rarely need to add context-spcific rules and mostly define general rules like these.\n\nCould we consider adopting a more DX-friendly approach to specifying TS configuration for v5?\n\nFor example:\n```ts\nexport default defineNuxtConfig({\n  typescript: {\n    // customize rules for ALL type contexts\n    tsConfig: { /* ... */ },\n    // customize tsconfig.app.json\n    appTsConfig: { /* ... */ },\n    // customize tsconfig.server.json\n    serverTsConfig: { /* ... */ },\n    // customize tsconfig.shared.json\n    sharedTsConfig: { /* ... */ },\n    // customize tsconfig.node.json\n    nodeTsConfig: { /* ... */ },\n  },\n})\n```\n\n### Additional information\n\n- [x] Would you be willing to help implement this feature?\n- [ ] Could this feature be implemented as a module?\n\n### Final checks\n\n- [x] Read the [contribution guide](https://nuxt.com/docs/4.x/community/contribution).\n- [x] Check existing [discussions](https://github.com/nuxt/nuxt/discussions) and [issues](https://github.com/nuxt/nuxt/issues).","reactions":{"url":"https://api.github.com/repos/nuxt/nuxt/issues/33678/reactions","total_count":4,"+1":2,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":2,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nuxt/nuxt/issues/33678/timeline","performed_via_github_app":null,"state_reason":null,"pinned_comment":null},"assignee":{"login":"Jack-sh1","id":217174207,"node_id":"U_kgDODPHQvw","avatar_url":"https://avatars.githubusercontent.com/u/217174207?v=4","gravatar_id":"","url":"https://api.github.com/users/Jack-sh1","html_url":"https://github.com/Jack-sh1","followers_url":"https://api.github.com/users/Jack-sh1/followers","following_url":"https://api.github.com/users/Jack-sh1/following{/other_user}","gists_url":"https://api.github.com/users/Jack-sh1/gists{/gist_id}","starred_url":"https://api.github.com/users/Jack-sh1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Jack-sh1/subscriptions","organizations_url":"https://api.github.com/users/Jack-sh1/orgs","repos_url":"https://api.github.com/users/Jack-sh1/repos","events_url":"https://api.github.com/users/Jack-sh1/events{/privacy}","received_events_url":"https://api.github.com/users/Jack-sh1/received_events","type":"User","user_view_type":"public","site_admin":false},"assignees":[{"login":"Subham-KRLX","id":184364280,"node_id":"U_kgDOCv0s-A","avatar_url":"https://avatars.githubusercontent.com/u/184364280?v=4","gravatar_id":"","url":"https://api.github.com/users/Subham-KRLX","html_url":"https://github.com/Subham-KRLX","followers_url":"https://api.github.com/users/Subham-KRLX/followers","following_url":"https://api.github.com/users/Subham-KRLX/following{/other_user}","gists_url":"https://api.github.com/users/Subham-KRLX/gists{/gist_id}","starred_url":"https://api.github.com/users/Subham-KRLX/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Subham-KRLX/subscriptions","organizations_url":"https://api.github.com/users/Subham-KRLX/orgs","repos_url":"https://api.github.com/users/Subham-KRLX/repos","events_url":"https://api.github.com/users/Subham-KRLX/events{/privacy}","received_events_url":"https://api.github.com/users/Subham-KRLX/received_events","type":"User","user_view_type":"public","site_admin":false},{"login":"Jack-sh1","id":217174207,"node_id":"U_kgDODPHQvw","avatar_url":"https://avatars.githubusercontent.com/u/217174207?v=4","gravatar_id":"","url":"https://api.github.com/users/Jack-sh1","html_url":"https://github.com/Jack-sh1","followers_url":"https://api.github.com/users/Jack-sh1/followers","following_url":"https://api.github.com/users/Jack-sh1/following{/other_user}","gists_url":"https://api.github.com/users/Jack-sh1/gists{/gist_id}","starred_url":"https://api.github.com/users/Jack-sh1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Jack-sh1/subscriptions","organizations_url":"https://api.github.com/users/Jack-sh1/orgs","repos_url":"https://api.github.com/users/Jack-sh1/repos","events_url":"https://api.github.com/users/Jack-sh1/events{/privacy}","received_events_url":"https://api.github.com/users/Jack-sh1/received_events","type":"User","user_view_type":"public","site_admin":false}]},"public":true,"created_at":"2026-04-13T18:04:23Z","org":{"id":23360933,"login":"nuxt","gravatar_id":"","url":"https://api.github.com/orgs/nuxt","avatar_url":"https://avatars.githubusercontent.com/u/23360933?"}},{"id":"8070839406","type":"PullRequestEvent","actor":{"id":112722215,"login":"cernymatej","display_login":"cernymatej","gravatar_id":"","url":"https://api.github.com/users/cernymatej","avatar_url":"https://avatars.githubusercontent.com/u/112722215?"},"repo":{"id":71995937,"name":"nuxt/nuxt","url":"https://api.github.com/repos/nuxt/nuxt"},"payload":{"action":"merged","number":34575,"pull_request":{"url":"https://api.github.com/repos/nuxt/nuxt/pulls/34575","id":3400165868,"number":34575,"head":{"ref":"fix/support-symbol-in-server-logs","sha":"802767c822a2c2a6b15d0130dc52315a6f247939","repo":{"id":661692331,"url":"https://api.github.com/repos/cernymatej/nuxt","name":"nuxt"}},"base":{"ref":"main","sha":"5284bce69b83c5b6768e2574fd4da7ac2e03153a","repo":{"id":71995937,"url":"https://api.github.com/repos/nuxt/nuxt","name":"nuxt"}}}},"public":true,"created_at":"2026-04-03T15:36:04Z","org":{"id":23360933,"login":"nuxt","gravatar_id":"","url":"https://api.github.com/orgs/nuxt","avatar_url":"https://avatars.githubusercontent.com/u/23360933?"}},{"id":"8068385966","type":"IssueCommentEvent","actor":{"id":112722215,"login":"cernymatej","display_login":"cernymatej","gravatar_id":"","url":"https://api.github.com/users/cernymatej","avatar_url":"https://avatars.githubusercontent.com/u/112722215?"},"repo":{"id":71995937,"name":"nuxt/nuxt","url":"https://api.github.com/repos/nuxt/nuxt"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/nuxt/nuxt/issues/34762","repository_url":"https://api.github.com/repos/nuxt/nuxt","labels_url":"https://api.github.com/repos/nuxt/nuxt/issues/34762/labels{/name}","comments_url":"https://api.github.com/repos/nuxt/nuxt/issues/34762/comments","events_url":"https://api.github.com/repos/nuxt/nuxt/issues/34762/events","html_url":"https://github.com/nuxt/nuxt/issues/34762","id":4194142473,"node_id":"I_kwDOBEqSIc75_YkJ","number":34762,"title":"An unexpected secondary merging of configurations in layers occurred.","user":{"login":"SharpIceX","id":61524717,"node_id":"MDQ6VXNlcjYxNTI0NzE3","avatar_url":"https://avatars.githubusercontent.com/u/61524717?v=4","gravatar_id":"","url":"https://api.github.com/users/SharpIceX","html_url":"https://github.com/SharpIceX","followers_url":"https://api.github.com/users/SharpIceX/followers","following_url":"https://api.github.com/users/SharpIceX/following{/other_user}","gists_url":"https://api.github.com/users/SharpIceX/gists{/gist_id}","starred_url":"https://api.github.com/users/SharpIceX/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SharpIceX/subscriptions","organizations_url":"https://api.github.com/users/SharpIceX/orgs","repos_url":"https://api.github.com/users/SharpIceX/repos","events_url":"https://api.github.com/users/SharpIceX/events{/privacy}","received_events_url":"https://api.github.com/users/SharpIceX/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[{"id":4295681526,"node_id":"LA_kwDOBEqSIc8AAAABAArl9g","url":"https://api.github.com/repos/nuxt/nuxt/labels/pending%20triage","name":"pending triage","color":"E99695","default":false,"description":null}],"state":"open","locked":false,"assignees":[],"milestone":null,"comments":3,"created_at":"2026-04-02T12:04:06Z","updated_at":"2026-04-03T14:00:26Z","closed_at":null,"assignee":null,"type":null,"active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"### Environment\n\n|                  |                                           |\n| ---------------- | ----------------------------------------- |\n| Operating system | Linux 6.19.10-zen1-1-zen                  |\n| CPU              | Intel(R) Core(TM) Ultra 5 125H (18 cores) |\n| Node.js version  | v22.22.2                                  |\n| nuxt/cli version | 3.34.0                                    |\n| Package manager  | pnpm 10.33.0                              |\n| Nuxt version     | 4.4.2                                     |\n| Nitro version    | 2.13.3                                    |\n| Builder          | vite 7.3.1                                |\n| Config           | compatibilityDate, extends, modules       |\n| Modules          | ./module/module.ts                        |\n\n\n### Reproduction\n\nhttps://github.com/SharpIceX/Nuxt-Bug3\n\n### Describe the bug\n\nNuxt may unexpectedly merge the layers configuration twice, causing the array contents of an option to appear twice.\n\n### Additional context\n\n<img width=\"2882\" height=\"1745\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/0d12611b-8515-439a-9b8b-d59441cadafd\" />\n\n### Logs\n\n```shell-script\n\n```","reactions":{"url":"https://api.github.com/repos/nuxt/nuxt/issues/34762/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nuxt/nuxt/issues/34762/timeline","performed_via_github_app":null,"state_reason":null,"pinned_comment":null},"comment":{"url":"https://api.github.com/repos/nuxt/nuxt/issues/comments/4183561578","html_url":"https://github.com/nuxt/nuxt/issues/34762#issuecomment-4183561578","issue_url":"https://api.github.com/repos/nuxt/nuxt/issues/34762","id":4183561578,"node_id":"IC_kwDOBEqSIc75XBVq","user":{"login":"cernymatej","id":112722215,"node_id":"U_kgDOBrgBJw","avatar_url":"https://avatars.githubusercontent.com/u/112722215?v=4","gravatar_id":"","url":"https://api.github.com/users/cernymatej","html_url":"https://github.com/cernymatej","followers_url":"https://api.github.com/users/cernymatej/followers","following_url":"https://api.github.com/users/cernymatej/following{/other_user}","gists_url":"https://api.github.com/users/cernymatej/gists{/gist_id}","starred_url":"https://api.github.com/users/cernymatej/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cernymatej/subscriptions","organizations_url":"https://api.github.com/users/cernymatej/orgs","repos_url":"https://api.github.com/users/cernymatej/repos","events_url":"https://api.github.com/users/cernymatej/events{/privacy}","received_events_url":"https://api.github.com/users/cernymatej/received_events","type":"User","user_view_type":"public","site_admin":false},"created_at":"2026-04-03T13:50:24Z","updated_at":"2026-04-03T13:50:24Z","body":"@SharpIceX in this case, I'm pretty sure that this was happening because Nuxt auto-scanned the layer and then you also registered it in nuxt.config.\nIt is documented behaviour that the `layers/` directory is auto-scanned. Do you think we should improve something in the docs?\n\nApart from that, I think we could maybe deduplicate the layers based on resolved paths before resolving them. 🤔 ","pin":null,"reactions":{"url":"https://api.github.com/repos/nuxt/nuxt/issues/comments/4183561578/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null}},"public":true,"created_at":"2026-04-03T13:50:24Z","org":{"id":23360933,"login":"nuxt","gravatar_id":"","url":"https://api.github.com/orgs/nuxt","avatar_url":"https://avatars.githubusercontent.com/u/23360933?"}},{"id":"8055387493","type":"PullRequestEvent","actor":{"id":112722215,"login":"cernymatej","display_login":"cernymatej","gravatar_id":"","url":"https://api.github.com/users/cernymatej","avatar_url":"https://avatars.githubusercontent.com/u/112722215?"},"repo":{"id":137078487,"name":"vuejs/core","url":"https://api.github.com/repos/vuejs/core"},"payload":{"action":"merged","number":14668,"pull_request":{"url":"https://api.github.com/repos/vuejs/core/pulls/14668","id":3478226035,"number":14668,"head":{"ref":"fix/concurrent-suspense-instance-leak","sha":"2f33bdd7d9dda801b424ce74f98c4c714bf89bce","repo":{"id":1104934983,"url":"https://api.github.com/repos/cernymatej/vue","name":"vue"}},"base":{"ref":"main","sha":"fa23116437250b3fdec41112f276211cb284136e","repo":{"id":137078487,"url":"https://api.github.com/repos/vuejs/core","name":"core"}}}},"public":true,"created_at":"2026-04-03T02:31:23Z","org":{"id":6128107,"login":"vuejs","gravatar_id":"","url":"https://api.github.com/orgs/vuejs","avatar_url":"https://avatars.githubusercontent.com/u/6128107?"}},{"id":"8002552796","type":"PullRequestEvent","actor":{"id":112722215,"login":"cernymatej","display_login":"cernymatej","gravatar_id":"","url":"https://api.github.com/users/cernymatej","avatar_url":"https://avatars.githubusercontent.com/u/112722215?"},"repo":{"id":137078487,"name":"vuejs/core","url":"https://api.github.com/repos/vuejs/core"},"payload":{"action":"opened","number":14668,"pull_request":{"url":"https://api.github.com/repos/vuejs/core/pulls/14668","id":3478226035,"number":14668,"head":{"ref":"fix/concurrent-suspense-instance-leak","sha":"2f33bdd7d9dda801b424ce74f98c4c714bf89bce","repo":{"id":1104934983,"url":"https://api.github.com/repos/cernymatej/vue","name":"vue"}},"base":{"ref":"main","sha":"fa23116437250b3fdec41112f276211cb284136e","repo":{"id":137078487,"url":"https://api.github.com/repos/vuejs/core","name":"core"}}}},"public":true,"created_at":"2026-04-01T16:49:12Z","org":{"id":6128107,"login":"vuejs","gravatar_id":"","url":"https://api.github.com/orgs/vuejs","avatar_url":"https://avatars.githubusercontent.com/u/6128107?"}},{"id":"10084522753","type":"PushEvent","actor":{"id":112722215,"login":"cernymatej","display_login":"cernymatej","gravatar_id":"","url":"https://api.github.com/users/cernymatej","avatar_url":"https://avatars.githubusercontent.com/u/112722215?"},"repo":{"id":1104934983,"name":"cernymatej/vue","url":"https://api.github.com/repos/cernymatej/vue"},"payload":{"repository_id":1104934983,"push_id":32377768574,"ref":"refs/heads/fix/concurrent-suspense-instance-leak","head":"d1f5e3d1cfad96068ebb5fae7b1b3e8b54c798b7","before":"31c7a760c4911d924f2239b0b24d462825419932"},"public":true,"created_at":"2026-04-01T16:48:48Z"},{"id":"10084509009","type":"CreateEvent","actor":{"id":112722215,"login":"cernymatej","display_login":"cernymatej","gravatar_id":"","url":"https://api.github.com/users/cernymatej","avatar_url":"https://avatars.githubusercontent.com/u/112722215?"},"repo":{"id":1104934983,"name":"cernymatej/vue","url":"https://api.github.com/repos/cernymatej/vue"},"payload":{"ref":"fix/concurrent-suspense-instance-leak","ref_type":"branch","full_ref":"refs/heads/fix/concurrent-suspense-instance-leak","master_branch":"main","description":"🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.","pusher_type":"user"},"public":true,"created_at":"2026-04-01T16:48:24Z"},{"id":"10084359731","type":"PushEvent","actor":{"id":112722215,"login":"cernymatej","display_login":"cernymatej","gravatar_id":"","url":"https://api.github.com/users/cernymatej","avatar_url":"https://avatars.githubusercontent.com/u/112722215?"},"repo":{"id":1104934983,"name":"cernymatej/vue","url":"https://api.github.com/repos/cernymatej/vue"},"payload":{"repository_id":1104934983,"push_id":32377605069,"ref":"refs/heads/main","head":"fa23116437250b3fdec41112f276211cb284136e","before":"81615d398a89beeccfe56a4a96fd2fba0c6fb37b"},"public":true,"created_at":"2026-04-01T16:44:17Z"},{"id":"8001703326","type":"IssuesEvent","actor":{"id":112722215,"login":"cernymatej","display_login":"cernymatej","gravatar_id":"","url":"https://api.github.com/users/cernymatej","avatar_url":"https://avatars.githubusercontent.com/u/112722215?"},"repo":{"id":137078487,"name":"vuejs/core","url":"https://api.github.com/repos/vuejs/core"},"payload":{"action":"opened","issue":{"url":"https://api.github.com/repos/vuejs/core/issues/14667","repository_url":"https://api.github.com/repos/vuejs/core","labels_url":"https://api.github.com/repos/vuejs/core/issues/14667/labels{/name}","comments_url":"https://api.github.com/repos/vuejs/core/issues/14667/comments","events_url":"https://api.github.com/repos/vuejs/core/issues/14667/events","html_url":"https://github.com/vuejs/core/issues/14667","id":4188234459,"node_id":"I_kwDOCCum1875o2Lb","number":14667,"title":"False \"Slot invoked outside of the render function\" warning with multiple async components in Suspense","user":{"login":"cernymatej","id":112722215,"node_id":"U_kgDOBrgBJw","avatar_url":"https://avatars.githubusercontent.com/u/112722215?v=4","gravatar_id":"","url":"https://api.github.com/users/cernymatej","html_url":"https://github.com/cernymatej","followers_url":"https://api.github.com/users/cernymatej/followers","following_url":"https://api.github.com/users/cernymatej/following{/other_user}","gists_url":"https://api.github.com/users/cernymatej/gists{/gist_id}","starred_url":"https://api.github.com/users/cernymatej/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cernymatej/subscriptions","organizations_url":"https://api.github.com/users/cernymatej/orgs","repos_url":"https://api.github.com/users/cernymatej/repos","events_url":"https://api.github.com/users/cernymatej/events{/privacy}","received_events_url":"https://api.github.com/users/cernymatej/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[{"id":2557600955,"node_id":"MDU6TGFiZWwyNTU3NjAwOTU1","url":"https://api.github.com/repos/vuejs/core/labels/:hammer:%20p3-minor-bug","name":":hammer: p3-minor-bug","color":"999AE7","default":false,"description":"Priority 3: this fixes a bug, but is an edge case that only affects very specific usage."}],"state":"closed","locked":true,"assignees":[],"milestone":null,"comments":0,"created_at":"2026-04-01T16:27:31Z","updated_at":"2026-04-18T00:45:02Z","closed_at":"2026-04-03T02:31:24Z","assignee":null,"type":null,"active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"### Vue version\n\n3.5.31\n\n### Link to minimal reproduction\n\nhttps://play.vuejs.org/#eNqtU01v2zAM/SuELnEAw8aQ7VI4HZKth+6wFstu81B4DuO4kyVDH26GwP99lGxnhpemPVQXm+Sj+Eg+HdmqrqPGIrtiic5VWRvQaGwNPBPFMmVGp+w6FVBWtVQGPuMvW6z0H5GvYKdkBbMoHvncTbNz6PUZ9LpHJ3FXmMqQYbCqeWbQFYVkY3WNQncW2duy6X/JGJOJz7nXJ3cSD5lJPLoziUflWEjd5lLsyiJ61FLQSI4uI2W5rOqSo7qrTSkFTeQKfMTFMs7l0xfvM8piOPjzPea/z/gf9cH5UnavUKNqMGWnmMlUgaYL32y+4oH+T8FKbi0n9IXgN9SSW8exg62t2BLtEc6zvfXbKUXxXd8cDI1iaMoRdcjW41NG+/l0ofV/dBfRe5+XipamOBHES9Kikz1lpYF7kkipMaLBSN5gMI/MHkUQzGF5Dcd2al5UTq8VzwJWw/qn+56I8RVMe2UfYYu7UvjxSIHChLCHthd5J+sOT3rSBm6FQAXLaVLQj9IdXzB4COlqzaXR0M6HSQ9HEUQJ6AawD2bU0yzs0BHdnFluPkbBnAYzZHSLpC/5xnzurHl7Pr5Jwrdh7/rxH7WfF7k9o4KX9uybOT1/gA1VdX2Sss3w+gfMVAAPDSonf9r8IvoQLd6x9i+1ep8x\n\n### Steps to reproduce\n\n1. create a `<Suspense>` boundary with two async components as children\n2. the first async component (`AsyncA`) must resolve slower (multiple microticks via `await Promise.resolve().then().then()`)\n3. the second async component (`AsyncB`) must resolve faster (single microtick via `await Promise.resolve()`) and render a component tree that forwards slots (e.g. Outer -> Inner -> slot content)\n\n### What is expected?\n\nNo warnings. The slot is invoked correctly inside a render function.\n\n### What is actually happening?\n\nA false `Slot \"default\" invoked outside of the render function` warning is shown.\n\n### System Info\n\n```shell\n\n```\n\n### Any additional comments?\n\nI think that this is a microtask ordering issue between `withAsyncContext` and `registerDep` in Suspense.\n\nFrom my quick testing, the `currentInstance` of `AsyncA` seems to leak into `AsyncB`. If that is the case, this means that the effect scope leaks too, which could cause other problems with reactivity cleanup.\n","reactions":{"url":"https://api.github.com/repos/vuejs/core/issues/14667/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/vuejs/core/issues/14667/timeline","performed_via_github_app":null,"state_reason":"completed","pinned_comment":null}},"public":true,"created_at":"2026-04-01T16:27:32Z","org":{"id":6128107,"login":"vuejs","gravatar_id":"","url":"https://api.github.com/orgs/vuejs","avatar_url":"https://avatars.githubusercontent.com/u/6128107?"}},{"id":"7989719441","type":"IssuesEvent","actor":{"id":112722215,"login":"cernymatej","display_login":"cernymatej","gravatar_id":"","url":"https://api.github.com/users/cernymatej","avatar_url":"https://avatars.githubusercontent.com/u/112722215?"},"repo":{"id":239033829,"name":"PostHog/posthog-js","url":"https://api.github.com/repos/PostHog/posthog-js"},"payload":{"action":"labeled","issue":{"url":"https://api.github.com/repos/PostHog/posthog-js/issues/3313","repository_url":"https://api.github.com/repos/PostHog/posthog-js","labels_url":"https://api.github.com/repos/PostHog/posthog-js/issues/3313/labels{/name}","comments_url":"https://api.github.com/repos/PostHog/posthog-js/issues/3313/comments","events_url":"https://api.github.com/repos/PostHog/posthog-js/issues/3313/events","html_url":"https://github.com/PostHog/posthog-js/issues/3313","id":4186008931,"node_id":"I_kwDODj9d5c75gW1j","number":3313,"title":"FeatureFlagsExtensions crashes on init with the slim bundle","user":{"login":"cernymatej","id":112722215,"node_id":"U_kgDOBrgBJw","avatar_url":"https://avatars.githubusercontent.com/u/112722215?v=4","gravatar_id":"","url":"https://api.github.com/users/cernymatej","html_url":"https://github.com/cernymatej","followers_url":"https://api.github.com/users/cernymatej/followers","following_url":"https://api.github.com/users/cernymatej/following{/other_user}","gists_url":"https://api.github.com/users/cernymatej/gists{/gist_id}","starred_url":"https://api.github.com/users/cernymatej/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cernymatej/subscriptions","organizations_url":"https://api.github.com/users/cernymatej/orgs","repos_url":"https://api.github.com/users/cernymatej/repos","events_url":"https://api.github.com/users/cernymatej/events{/privacy}","received_events_url":"https://api.github.com/users/cernymatej/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[{"id":1834061721,"node_id":"MDU6TGFiZWwxODM0MDYxNzIx","url":"https://api.github.com/repos/PostHog/posthog-js/labels/bug","name":"bug","color":"d73a4a","default":true,"description":"Something isn't working"},{"id":7817146954,"node_id":"LA_kwDODj9d5c8AAAAB0fAySg","url":"https://api.github.com/repos/PostHog/posthog-js/labels/feature/flags","name":"feature/flags","color":"55C566","default":false,"description":""},{"id":8816523039,"node_id":"LA_kwDODj9d5c8AAAACDYF3Hw","url":"https://api.github.com/repos/PostHog/posthog-js/labels/team/feature-flags","name":"team/feature-flags","color":"aaaaaa","default":false,"description":null},{"id":10508230308,"node_id":"LA_kwDODj9d5c8AAAACclbepA","url":"https://api.github.com/repos/PostHog/posthog-js/labels/Tree%20shaking","name":"Tree shaking","color":"aaaaaa","default":false,"description":null}],"state":"closed","locked":false,"assignees":[],"milestone":null,"comments":2,"created_at":"2026-04-01T10:57:35Z","updated_at":"2026-04-01T21:03:17Z","closed_at":"2026-04-01T21:03:17Z","assignee":null,"type":null,"active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"## Bug description\n\nUsing `FeatureFlagsExtensions` from `posthog-js/dist/extension-bundles` with the slim bundle (`posthog-js/dist/module.slim`) crashes during `init()`:\n\n```\nTypeError: Cannot read properties of undefined (reading 'emit')\n    at featureFlags.reloadFeatureFlags (extension-bundles.js)\n```\n\nCould it be because the slim bundle and the extension bundles are compiled separately? I'm thinking that the mangling of the instance properties might be different 🤔\n\n## How to reproduce\n\n1. import the slim bundle and feature flags extension:\n   ```ts\n   import posthog from 'posthog-js/dist/module.slim'\n   import { FeatureFlagsExtensions } from 'posthog-js/dist/extension-bundles'\n   ```\n2. call init with `FeatureFlagsExtensions` in `__extensionClasses`:\n   ```ts\n   posthog.init('<token>', {\n       api_host: '<host>',\n       __extensionClasses: { ...FeatureFlagsExtensions },\n   })\n   ```\n3.`TypeError: Cannot read properties of undefined (reading 'emit')`\n\n## Related sub-libraries\n\n- [ ] All of them\n- [x] posthog-js (web)\n- [ ] posthog-js-lite (web lite)\n- [ ] posthog-node\n- [ ] posthog-react-native\n- [ ] @posthog/react\n- [ ] @posthog/ai\n- [ ] @posthog/convex\n- [ ] @posthog/nextjs-config\n- [ ] @posthog/nuxt\n- [ ] @posthog/rollup-plugin\n- [ ] @posthog/webpack-plugin\n\n## Additional context\n\n- `posthog-js` version: 1.363.6\n- Nuxt 4 with Vite\n- this issue might affect all extensions passed via `__extensionClasses` that reference mangled internal properties across the bundle boundary if my assumption is correct","reactions":{"url":"https://api.github.com/repos/PostHog/posthog-js/issues/3313/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/PostHog/posthog-js/issues/3313/timeline","performed_via_github_app":null,"state_reason":"completed","pinned_comment":null},"label":{"id":1834061721,"node_id":"MDU6TGFiZWwxODM0MDYxNzIx","url":"https://api.github.com/repos/PostHog/posthog-js/labels/bug","name":"bug","color":"d73a4a","default":true,"description":"Something isn't working"},"labels":[{"id":1834061721,"node_id":"MDU6TGFiZWwxODM0MDYxNzIx","url":"https://api.github.com/repos/PostHog/posthog-js/labels/bug","name":"bug","color":"d73a4a","default":true,"description":"Something isn't working"}]},"public":true,"created_at":"2026-04-01T10:57:37Z","org":{"id":60330232,"login":"PostHog","gravatar_id":"","url":"https://api.github.com/orgs/PostHog","avatar_url":"https://avatars.githubusercontent.com/u/60330232?"}},{"id":"7989719281","type":"IssuesEvent","actor":{"id":112722215,"login":"cernymatej","display_login":"cernymatej","gravatar_id":"","url":"https://api.github.com/users/cernymatej","avatar_url":"https://avatars.githubusercontent.com/u/112722215?"},"repo":{"id":239033829,"name":"PostHog/posthog-js","url":"https://api.github.com/repos/PostHog/posthog-js"},"payload":{"action":"opened","issue":{"url":"https://api.github.com/repos/PostHog/posthog-js/issues/3313","repository_url":"https://api.github.com/repos/PostHog/posthog-js","labels_url":"https://api.github.com/repos/PostHog/posthog-js/issues/3313/labels{/name}","comments_url":"https://api.github.com/repos/PostHog/posthog-js/issues/3313/comments","events_url":"https://api.github.com/repos/PostHog/posthog-js/issues/3313/events","html_url":"https://github.com/PostHog/posthog-js/issues/3313","id":4186008931,"node_id":"I_kwDODj9d5c75gW1j","number":3313,"title":"FeatureFlagsExtensions crashes on init with the slim bundle","user":{"login":"cernymatej","id":112722215,"node_id":"U_kgDOBrgBJw","avatar_url":"https://avatars.githubusercontent.com/u/112722215?v=4","gravatar_id":"","url":"https://api.github.com/users/cernymatej","html_url":"https://github.com/cernymatej","followers_url":"https://api.github.com/users/cernymatej/followers","following_url":"https://api.github.com/users/cernymatej/following{/other_user}","gists_url":"https://api.github.com/users/cernymatej/gists{/gist_id}","starred_url":"https://api.github.com/users/cernymatej/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cernymatej/subscriptions","organizations_url":"https://api.github.com/users/cernymatej/orgs","repos_url":"https://api.github.com/users/cernymatej/repos","events_url":"https://api.github.com/users/cernymatej/events{/privacy}","received_events_url":"https://api.github.com/users/cernymatej/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[{"id":1834061721,"node_id":"MDU6TGFiZWwxODM0MDYxNzIx","url":"https://api.github.com/repos/PostHog/posthog-js/labels/bug","name":"bug","color":"d73a4a","default":true,"description":"Something isn't working"},{"id":7817146954,"node_id":"LA_kwDODj9d5c8AAAAB0fAySg","url":"https://api.github.com/repos/PostHog/posthog-js/labels/feature/flags","name":"feature/flags","color":"55C566","default":false,"description":""},{"id":8816523039,"node_id":"LA_kwDODj9d5c8AAAACDYF3Hw","url":"https://api.github.com/repos/PostHog/posthog-js/labels/team/feature-flags","name":"team/feature-flags","color":"aaaaaa","default":false,"description":null},{"id":10508230308,"node_id":"LA_kwDODj9d5c8AAAACclbepA","url":"https://api.github.com/repos/PostHog/posthog-js/labels/Tree%20shaking","name":"Tree shaking","color":"aaaaaa","default":false,"description":null}],"state":"closed","locked":false,"assignees":[],"milestone":null,"comments":2,"created_at":"2026-04-01T10:57:35Z","updated_at":"2026-04-01T21:03:17Z","closed_at":"2026-04-01T21:03:17Z","assignee":null,"type":null,"active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"## Bug description\n\nUsing `FeatureFlagsExtensions` from `posthog-js/dist/extension-bundles` with the slim bundle (`posthog-js/dist/module.slim`) crashes during `init()`:\n\n```\nTypeError: Cannot read properties of undefined (reading 'emit')\n    at featureFlags.reloadFeatureFlags (extension-bundles.js)\n```\n\nCould it be because the slim bundle and the extension bundles are compiled separately? I'm thinking that the mangling of the instance properties might be different 🤔\n\n## How to reproduce\n\n1. import the slim bundle and feature flags extension:\n   ```ts\n   import posthog from 'posthog-js/dist/module.slim'\n   import { FeatureFlagsExtensions } from 'posthog-js/dist/extension-bundles'\n   ```\n2. call init with `FeatureFlagsExtensions` in `__extensionClasses`:\n   ```ts\n   posthog.init('<token>', {\n       api_host: '<host>',\n       __extensionClasses: { ...FeatureFlagsExtensions },\n   })\n   ```\n3.`TypeError: Cannot read properties of undefined (reading 'emit')`\n\n## Related sub-libraries\n\n- [ ] All of them\n- [x] posthog-js (web)\n- [ ] posthog-js-lite (web lite)\n- [ ] posthog-node\n- [ ] posthog-react-native\n- [ ] @posthog/react\n- [ ] @posthog/ai\n- [ ] @posthog/convex\n- [ ] @posthog/nextjs-config\n- [ ] @posthog/nuxt\n- [ ] @posthog/rollup-plugin\n- [ ] @posthog/webpack-plugin\n\n## Additional context\n\n- `posthog-js` version: 1.363.6\n- Nuxt 4 with Vite\n- this issue might affect all extensions passed via `__extensionClasses` that reference mangled internal properties across the bundle boundary if my assumption is correct","reactions":{"url":"https://api.github.com/repos/PostHog/posthog-js/issues/3313/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/PostHog/posthog-js/issues/3313/timeline","performed_via_github_app":null,"state_reason":"completed","pinned_comment":null}},"public":true,"created_at":"2026-04-01T10:57:37Z","org":{"id":60330232,"login":"PostHog","gravatar_id":"","url":"https://api.github.com/orgs/PostHog","avatar_url":"https://avatars.githubusercontent.com/u/60330232?"}},{"id":"7959735133","type":"WatchEvent","actor":{"id":112722215,"login":"cernymatej","display_login":"cernymatej","gravatar_id":"","url":"https://api.github.com/users/cernymatej","avatar_url":"https://avatars.githubusercontent.com/u/112722215?"},"repo":{"id":1195249131,"name":"kettanaito/async-history-stack","url":"https://api.github.com/repos/kettanaito/async-history-stack"},"payload":{"action":"started"},"public":true,"created_at":"2026-03-31T16:15:27Z"},{"id":"7883203598","type":"IssuesEvent","actor":{"id":112722215,"login":"cernymatej","display_login":"cernymatej","gravatar_id":"","url":"https://api.github.com/users/cernymatej","avatar_url":"https://avatars.githubusercontent.com/u/112722215?"},"repo":{"id":601577889,"name":"nuxt/cli","url":"https://api.github.com/repos/nuxt/cli"},"payload":{"action":"opened","issue":{"url":"https://api.github.com/repos/nuxt/cli/issues/1267","repository_url":"https://api.github.com/repos/nuxt/cli","labels_url":"https://api.github.com/repos/nuxt/cli/issues/1267/labels{/name}","comments_url":"https://api.github.com/repos/nuxt/cli/issues/1267/comments","events_url":"https://api.github.com/repos/nuxt/cli/issues/1267/events","html_url":"https://github.com/nuxt/cli/issues/1267","id":4165297440,"node_id":"I_kwDOI9tZoc74RWUg","number":1267,"title":"Interactive prompts from package managers are hidden","user":{"login":"cernymatej","id":112722215,"node_id":"U_kgDOBrgBJw","avatar_url":"https://avatars.githubusercontent.com/u/112722215?v=4","gravatar_id":"","url":"https://api.github.com/users/cernymatej","html_url":"https://github.com/cernymatej","followers_url":"https://api.github.com/users/cernymatej/followers","following_url":"https://api.github.com/users/cernymatej/following{/other_user}","gists_url":"https://api.github.com/users/cernymatej/gists{/gist_id}","starred_url":"https://api.github.com/users/cernymatej/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cernymatej/subscriptions","organizations_url":"https://api.github.com/users/cernymatej/orgs","repos_url":"https://api.github.com/users/cernymatej/repos","events_url":"https://api.github.com/users/cernymatej/events{/privacy}","received_events_url":"https://api.github.com/users/cernymatej/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"open","locked":false,"assignees":[],"milestone":null,"comments":0,"created_at":"2026-03-29T17:51:05Z","updated_at":"2026-03-29T17:51:05Z","closed_at":null,"assignee":null,"type":null,"active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"might be related to https://github.com/unjs/nypm/issues/118\n\nWhen running the `init` command, the output of the package manager during dependency installation is hidden. This causes a problem when the package manager presents an interactive prompt, as the process appears to hang. In reality, the user simply cannot see the prompt.\n\n```\n✔ The modules directory at /path/to/project/node_modules will be removed and reinstalled from scratch. Proceed? (Y/n)\n```","reactions":{"url":"https://api.github.com/repos/nuxt/cli/issues/1267/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nuxt/cli/issues/1267/timeline","performed_via_github_app":null,"state_reason":null,"pinned_comment":null}},"public":true,"created_at":"2026-03-29T17:51:06Z","org":{"id":23360933,"login":"nuxt","gravatar_id":"","url":"https://api.github.com/orgs/nuxt","avatar_url":"https://avatars.githubusercontent.com/u/23360933?"}},{"id":"7882955290","type":"IssuesEvent","actor":{"id":112722215,"login":"cernymatej","display_login":"cernymatej","gravatar_id":"","url":"https://api.github.com/users/cernymatej","avatar_url":"https://avatars.githubusercontent.com/u/112722215?"},"repo":{"id":601577889,"name":"nuxt/cli","url":"https://api.github.com/repos/nuxt/cli"},"payload":{"action":"closed","issue":{"url":"https://api.github.com/repos/nuxt/cli/issues/896","repository_url":"https://api.github.com/repos/nuxt/cli","labels_url":"https://api.github.com/repos/nuxt/cli/issues/896/labels{/name}","comments_url":"https://api.github.com/repos/nuxt/cli/issues/896/comments","events_url":"https://api.github.com/repos/nuxt/cli/issues/896/events","html_url":"https://github.com/nuxt/cli/issues/896","id":3111825659,"node_id":"I_kwDOI9tZoc65erD7","number":896,"title":"Default values for `confirm` prompts","user":{"login":"cernymatej","id":112722215,"node_id":"U_kgDOBrgBJw","avatar_url":"https://avatars.githubusercontent.com/u/112722215?v=4","gravatar_id":"","url":"https://api.github.com/users/cernymatej","html_url":"https://github.com/cernymatej","followers_url":"https://api.github.com/users/cernymatej/followers","following_url":"https://api.github.com/users/cernymatej/following{/other_user}","gists_url":"https://api.github.com/users/cernymatej/gists{/gist_id}","starred_url":"https://api.github.com/users/cernymatej/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cernymatej/subscriptions","organizations_url":"https://api.github.com/users/cernymatej/orgs","repos_url":"https://api.github.com/users/cernymatej/repos","events_url":"https://api.github.com/users/cernymatej/events{/privacy}","received_events_url":"https://api.github.com/users/cernymatej/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[{"id":5908133678,"node_id":"LA_kwDOI9tZoc8AAAABYCb3Lg","url":"https://api.github.com/repos/nuxt/cli/labels/discussion","name":"discussion","color":"627429","default":false,"description":""}],"state":"closed","locked":false,"assignees":[],"milestone":null,"comments":2,"created_at":"2025-06-02T22:32:17Z","updated_at":"2026-03-29T17:35:00Z","closed_at":"2026-03-29T17:35:00Z","assignee":null,"type":null,"active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"Wouldn't it be better to set the default values of the `confirm` prompts to `false` in the `init` command to allow for quick blank project setup?\nCurrently, we're assuming that the user wants to initialize a git repository and that they want to install some Nuxt modules.\n\nIn my opinion, it should be the other way around, where the user explicitly states that they want to do more than `init`ialize the project.","reactions":{"url":"https://api.github.com/repos/nuxt/cli/issues/896/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nuxt/cli/issues/896/timeline","performed_via_github_app":null,"state_reason":"not_planned","pinned_comment":null}},"public":true,"created_at":"2026-03-29T17:35:02Z","org":{"id":23360933,"login":"nuxt","gravatar_id":"","url":"https://api.github.com/orgs/nuxt","avatar_url":"https://avatars.githubusercontent.com/u/23360933?"}},{"id":"7882955085","type":"IssueCommentEvent","actor":{"id":112722215,"login":"cernymatej","display_login":"cernymatej","gravatar_id":"","url":"https://api.github.com/users/cernymatej","avatar_url":"https://avatars.githubusercontent.com/u/112722215?"},"repo":{"id":601577889,"name":"nuxt/cli","url":"https://api.github.com/repos/nuxt/cli"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/nuxt/cli/issues/896","repository_url":"https://api.github.com/repos/nuxt/cli","labels_url":"https://api.github.com/repos/nuxt/cli/issues/896/labels{/name}","comments_url":"https://api.github.com/repos/nuxt/cli/issues/896/comments","events_url":"https://api.github.com/repos/nuxt/cli/issues/896/events","html_url":"https://github.com/nuxt/cli/issues/896","id":3111825659,"node_id":"I_kwDOI9tZoc65erD7","number":896,"title":"Default values for `confirm` prompts","user":{"login":"cernymatej","id":112722215,"node_id":"U_kgDOBrgBJw","avatar_url":"https://avatars.githubusercontent.com/u/112722215?v=4","gravatar_id":"","url":"https://api.github.com/users/cernymatej","html_url":"https://github.com/cernymatej","followers_url":"https://api.github.com/users/cernymatej/followers","following_url":"https://api.github.com/users/cernymatej/following{/other_user}","gists_url":"https://api.github.com/users/cernymatej/gists{/gist_id}","starred_url":"https://api.github.com/users/cernymatej/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cernymatej/subscriptions","organizations_url":"https://api.github.com/users/cernymatej/orgs","repos_url":"https://api.github.com/users/cernymatej/repos","events_url":"https://api.github.com/users/cernymatej/events{/privacy}","received_events_url":"https://api.github.com/users/cernymatej/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[{"id":5908133678,"node_id":"LA_kwDOI9tZoc8AAAABYCb3Lg","url":"https://api.github.com/repos/nuxt/cli/labels/discussion","name":"discussion","color":"627429","default":false,"description":""}],"state":"closed","locked":false,"assignees":[],"milestone":null,"comments":2,"created_at":"2025-06-02T22:32:17Z","updated_at":"2026-03-29T17:35:00Z","closed_at":"2026-03-29T17:35:00Z","assignee":null,"type":null,"active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"Wouldn't it be better to set the default values of the `confirm` prompts to `false` in the `init` command to allow for quick blank project setup?\nCurrently, we're assuming that the user wants to initialize a git repository and that they want to install some Nuxt modules.\n\nIn my opinion, it should be the other way around, where the user explicitly states that they want to do more than `init`ialize the project.","reactions":{"url":"https://api.github.com/repos/nuxt/cli/issues/896/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/nuxt/cli/issues/896/timeline","performed_via_github_app":null,"state_reason":"not_planned","pinned_comment":null},"comment":{"url":"https://api.github.com/repos/nuxt/cli/issues/comments/4150657028","html_url":"https://github.com/nuxt/cli/issues/896#issuecomment-4150657028","issue_url":"https://api.github.com/repos/nuxt/cli/issues/896","id":4150657028,"node_id":"IC_kwDOI9tZoc73ZgAE","user":{"login":"cernymatej","id":112722215,"node_id":"U_kgDOBrgBJw","avatar_url":"https://avatars.githubusercontent.com/u/112722215?v=4","gravatar_id":"","url":"https://api.github.com/users/cernymatej","html_url":"https://github.com/cernymatej","followers_url":"https://api.github.com/users/cernymatej/followers","following_url":"https://api.github.com/users/cernymatej/following{/other_user}","gists_url":"https://api.github.com/users/cernymatej/gists{/gist_id}","starred_url":"https://api.github.com/users/cernymatej/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cernymatej/subscriptions","organizations_url":"https://api.github.com/users/cernymatej/orgs","repos_url":"https://api.github.com/users/cernymatej/repos","events_url":"https://api.github.com/users/cernymatej/events{/privacy}","received_events_url":"https://api.github.com/users/cernymatej/received_events","type":"User","user_view_type":"public","site_admin":false},"created_at":"2026-03-29T17:35:00Z","updated_at":"2026-03-29T17:35:00Z","body":"yes, much better imo 👍","pin":null,"reactions":{"url":"https://api.github.com/repos/nuxt/cli/issues/comments/4150657028/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null}},"public":true,"created_at":"2026-03-29T17:35:00Z","org":{"id":23360933,"login":"nuxt","gravatar_id":"","url":"https://api.github.com/orgs/nuxt","avatar_url":"https://avatars.githubusercontent.com/u/23360933?"}},{"id":"7851856138","type":"PullRequestReviewEvent","actor":{"id":112722215,"login":"cernymatej","display_login":"cernymatej","gravatar_id":"","url":"https://api.github.com/users/cernymatej","avatar_url":"https://avatars.githubusercontent.com/u/112722215?"},"repo":{"id":71995937,"name":"nuxt/nuxt","url":"https://api.github.com/repos/nuxt/nuxt"},"payload":{"review":{"id":4023895276,"node_id":"PRR_kwDOBEqSIc7v18Ts","user":{"login":"cernymatej","id":112722215,"node_id":"U_kgDOBrgBJw","avatar_url":"https://avatars.githubusercontent.com/u/112722215?v=4","gravatar_id":"","url":"https://api.github.com/users/cernymatej","html_url":"https://github.com/cernymatej","followers_url":"https://api.github.com/users/cernymatej/followers","following_url":"https://api.github.com/users/cernymatej/following{/other_user}","gists_url":"https://api.github.com/users/cernymatej/gists{/gist_id}","starred_url":"https://api.github.com/users/cernymatej/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cernymatej/subscriptions","organizations_url":"https://api.github.com/users/cernymatej/orgs","repos_url":"https://api.github.com/users/cernymatej/repos","events_url":"https://api.github.com/users/cernymatej/events{/privacy}","received_events_url":"https://api.github.com/users/cernymatej/received_events","type":"User","user_view_type":"public","site_admin":false},"body":null,"commit_id":"466a7bc97957ff39bb9b58c2fdb6080e0bfbfe98","state":"commented","html_url":"https://github.com/nuxt/nuxt/pull/34647#pullrequestreview-4023895276","pull_request_url":"https://api.github.com/repos/nuxt/nuxt/pulls/34647","_links":{"html":{"href":"https://github.com/nuxt/nuxt/pull/34647#pullrequestreview-4023895276"},"pull_request":{"href":"https://api.github.com/repos/nuxt/nuxt/pulls/34647"}},"submitted_at":"2026-03-27T21:55:32Z","updated_at":"2026-03-27T21:55:32Z"},"pull_request":{"url":"https://api.github.com/repos/nuxt/nuxt/pulls/34647","id":3421829023,"number":34647,"head":{"ref":"docs/nitro_autoimprot","sha":"72e387567d695b8e07b8409f66dfe82adfd29c37","repo":{"id":71995937,"url":"https://api.github.com/repos/nuxt/nuxt","name":"nuxt"}},"base":{"ref":"main","sha":"579db312d568fe139daa5f64e3c2467d486ea7e2","repo":{"id":71995937,"url":"https://api.github.com/repos/nuxt/nuxt","name":"nuxt"}}},"action":"created"},"public":true,"created_at":"2026-03-27T21:55:34Z","org":{"id":23360933,"login":"nuxt","gravatar_id":"","url":"https://api.github.com/orgs/nuxt","avatar_url":"https://avatars.githubusercontent.com/u/23360933?"}},{"id":"7851853595","type":"PullRequestReviewCommentEvent","actor":{"id":112722215,"login":"cernymatej","display_login":"cernymatej","gravatar_id":"","url":"https://api.github.com/users/cernymatej","avatar_url":"https://avatars.githubusercontent.com/u/112722215?"},"repo":{"id":71995937,"name":"nuxt/nuxt","url":"https://api.github.com/repos/nuxt/nuxt"},"payload":{"action":"created","comment":{"url":"https://api.github.com/repos/nuxt/nuxt/pulls/comments/3003408580","pull_request_review_id":4023895276,"id":3003408580,"node_id":"PRRC_kwDOBEqSIc6zBGDE","diff_hunk":"@@ -349,6 +349,31 @@ If you define redirect route rules, the property name has changed:\n - **Runtime hooks**: `nitroApp.hooks.hook('beforeResponse', ...)` and `nitroApp.hooks.hook('afterResponse', ...)` have been replaced by `nitroApp.hooks.hook('response', ...)`.\n - **`getRouteRules()` from `nitro/app`**: On the server, the Nitro helper changed from `getRouteRules(event)` to `getRouteRules(method, pathname)`, which returns `{ routeRules }`.\n \n+### Nitro auto-imports are disabled by default\n+\n+🚦 **Impact Level**: Minimal\n+\n+#### What changed\n+\n+Nitro auto-imports are disabled by default in V5.\n+\n+#### Reason for change\n+\n+Auto imports has been removed in favor of explicit imports to improve code clarity and reduce ambiguity. As noted in [Nitro](https://github.com/nitrojs/nitro/issues/2232), it became difficult to determine whether a utility originated from H3, Nitro, or Nuxt, IDE support was inconsistent, and many users and frameworks prefer explicit over magical conventions.\n+\n+#### Migration Steps\n+\n+You can add imports from `#imports`","path":"docs/1.getting-started/18.upgrade.md","commit_id":"853ad00bfacc120efff32eb91c586388e9020258","original_commit_id":"466a7bc97957ff39bb9b58c2fdb6080e0bfbfe98","user":{"login":"cernymatej","id":112722215,"node_id":"U_kgDOBrgBJw","avatar_url":"https://avatars.githubusercontent.com/u/112722215?v=4","gravatar_id":"","url":"https://api.github.com/users/cernymatej","html_url":"https://github.com/cernymatej","followers_url":"https://api.github.com/users/cernymatej/followers","following_url":"https://api.github.com/users/cernymatej/following{/other_user}","gists_url":"https://api.github.com/users/cernymatej/gists{/gist_id}","starred_url":"https://api.github.com/users/cernymatej/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cernymatej/subscriptions","organizations_url":"https://api.github.com/users/cernymatej/orgs","repos_url":"https://api.github.com/users/cernymatej/repos","events_url":"https://api.github.com/users/cernymatej/events{/privacy}","received_events_url":"https://api.github.com/users/cernymatej/received_events","type":"User","user_view_type":"public","site_admin":false},"body":"```suggestion\nYou can add imports from `#imports`, or you can import them directly from the specific packages.\n```","created_at":"2026-03-27T21:55:28Z","updated_at":"2026-03-27T21:55:32Z","html_url":"https://github.com/nuxt/nuxt/pull/34647#discussion_r3003408580","pull_request_url":"https://api.github.com/repos/nuxt/nuxt/pulls/34647","_links":{"self":{"href":"https://api.github.com/repos/nuxt/nuxt/pulls/comments/3003408580"},"html":{"href":"https://github.com/nuxt/nuxt/pull/34647#discussion_r3003408580"},"pull_request":{"href":"https://api.github.com/repos/nuxt/nuxt/pulls/34647"}},"reactions":{"url":"https://api.github.com/repos/nuxt/nuxt/pulls/comments/3003408580/reactions","total_count":1,"+1":1,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"original_position":18,"position":1,"subject_type":"line"},"pull_request":{"url":"https://api.github.com/repos/nuxt/nuxt/pulls/34647","id":3421829023,"number":34647,"head":{"ref":"docs/nitro_autoimprot","sha":"72e387567d695b8e07b8409f66dfe82adfd29c37","repo":{"id":71995937,"url":"https://api.github.com/repos/nuxt/nuxt","name":"nuxt"}},"base":{"ref":"main","sha":"579db312d568fe139daa5f64e3c2467d486ea7e2","repo":{"id":71995937,"url":"https://api.github.com/repos/nuxt/nuxt","name":"nuxt"}}}},"public":true,"created_at":"2026-03-27T21:55:28Z","org":{"id":23360933,"login":"nuxt","gravatar_id":"","url":"https://api.github.com/orgs/nuxt","avatar_url":"https://avatars.githubusercontent.com/u/23360933?"}},{"id":"7851845640","type":"PullRequestReviewCommentEvent","actor":{"id":112722215,"login":"cernymatej","display_login":"cernymatej","gravatar_id":"","url":"https://api.github.com/users/cernymatej","avatar_url":"https://avatars.githubusercontent.com/u/112722215?"},"repo":{"id":71995937,"name":"nuxt/nuxt","url":"https://api.github.com/repos/nuxt/nuxt"},"payload":{"action":"created","comment":{"url":"https://api.github.com/repos/nuxt/nuxt/pulls/comments/3003407191","pull_request_review_id":4023895276,"id":3003407191,"node_id":"PRRC_kwDOBEqSIc6zBFtX","diff_hunk":"@@ -349,6 +349,31 @@ If you define redirect route rules, the property name has changed:\n - **Runtime hooks**: `nitroApp.hooks.hook('beforeResponse', ...)` and `nitroApp.hooks.hook('afterResponse', ...)` have been replaced by `nitroApp.hooks.hook('response', ...)`.\n - **`getRouteRules()` from `nitro/app`**: On the server, the Nitro helper changed from `getRouteRules(event)` to `getRouteRules(method, pathname)`, which returns `{ routeRules }`.\n \n+### Nitro auto-imports are disabled by default\n+\n+🚦 **Impact Level**: Minimal\n+\n+#### What changed\n+\n+Nitro auto-imports are disabled by default in V5.\n+\n+#### Reason for change\n+\n+Auto imports has been removed in favor of explicit imports to improve code clarity and reduce ambiguity. As noted in [Nitro](https://github.com/nitrojs/nitro/issues/2232), it became difficult to determine whether a utility originated from H3, Nitro, or Nuxt, IDE support was inconsistent, and many users and frameworks prefer explicit over magical conventions.","path":"docs/1.getting-started/18.upgrade.md","commit_id":"466a7bc97957ff39bb9b58c2fdb6080e0bfbfe98","original_commit_id":"466a7bc97957ff39bb9b58c2fdb6080e0bfbfe98","user":{"login":"cernymatej","id":112722215,"node_id":"U_kgDOBrgBJw","avatar_url":"https://avatars.githubusercontent.com/u/112722215?v=4","gravatar_id":"","url":"https://api.github.com/users/cernymatej","html_url":"https://github.com/cernymatej","followers_url":"https://api.github.com/users/cernymatej/followers","following_url":"https://api.github.com/users/cernymatej/following{/other_user}","gists_url":"https://api.github.com/users/cernymatej/gists{/gist_id}","starred_url":"https://api.github.com/users/cernymatej/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cernymatej/subscriptions","organizations_url":"https://api.github.com/users/cernymatej/orgs","repos_url":"https://api.github.com/users/cernymatej/repos","events_url":"https://api.github.com/users/cernymatej/events{/privacy}","received_events_url":"https://api.github.com/users/cernymatej/received_events","type":"User","user_view_type":"public","site_admin":false},"body":"```suggestion\nAuto imports have been removed in favor of explicit imports to improve code clarity and reduce ambiguity. As noted in [this Nitro issue](https://github.com/nitrojs/nitro/issues/2232), it became difficult to determine whether a utility originated from H3, Nitro, or Nuxt. IDE support was inconsistent, and many users and frameworks prefer explicit imports over magical conventions.\n```","created_at":"2026-03-27T21:55:08Z","updated_at":"2026-03-27T21:55:32Z","html_url":"https://github.com/nuxt/nuxt/pull/34647#discussion_r3003407191","pull_request_url":"https://api.github.com/repos/nuxt/nuxt/pulls/34647","_links":{"self":{"href":"https://api.github.com/repos/nuxt/nuxt/pulls/comments/3003407191"},"html":{"href":"https://github.com/nuxt/nuxt/pull/34647#discussion_r3003407191"},"pull_request":{"href":"https://api.github.com/repos/nuxt/nuxt/pulls/34647"}},"reactions":{"url":"https://api.github.com/repos/nuxt/nuxt/pulls/comments/3003407191/reactions","total_count":1,"+1":1,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"original_position":14,"position":1,"subject_type":"line"},"pull_request":{"url":"https://api.github.com/repos/nuxt/nuxt/pulls/34647","id":3421829023,"number":34647,"head":{"ref":"docs/nitro_autoimprot","sha":"72e387567d695b8e07b8409f66dfe82adfd29c37","repo":{"id":71995937,"url":"https://api.github.com/repos/nuxt/nuxt","name":"nuxt"}},"base":{"ref":"main","sha":"579db312d568fe139daa5f64e3c2467d486ea7e2","repo":{"id":71995937,"url":"https://api.github.com/repos/nuxt/nuxt","name":"nuxt"}}}},"public":true,"created_at":"2026-03-27T21:55:08Z","org":{"id":23360933,"login":"nuxt","gravatar_id":"","url":"https://api.github.com/orgs/nuxt","avatar_url":"https://avatars.githubusercontent.com/u/23360933?"}}]