houdini
houdini copied to clipboard
Circular dependencies in $houdini folder
Describe the bug
Generated $houdini folder has some circular dependencies across *.js files. It may lead to unpredictable consequences, including vite hangs.
It is reproducible in the example-sveltekit-todo project. The minimal reproduction repo I provide is an example-sveltekit-todo fork, with updated houdini and added vite-plugin-circular-dependency to simplify the search of circular dependencies.
Found circular dependencies are:
$houdini/runtime/cache/cache.js
$houdini/runtime/cache/cache.js -> $houdini/runtime/cache/lists.js
$houdini/runtime/cache/cache.js -> $houdini/runtime/cache/subscription.js
$houdini/index.js
$houdini/index.js -> $houdini/plugins/houdini-svelte/runtime/client.js -> $houdini/plugins/houdini-svelte/runtime/stores/mutation.js -> $houdini/plugins/houdini-svelte/stores/AddItem.js -> $houdini/plugins/houdini-svelte/stores/index.js -> src/client.ts
$houdini/index.js -> $houdini/plugins/houdini-svelte/runtime/client.js -> $houdini/plugins/houdini-svelte/runtime/stores/pagination/query.js -> $houdini/plugins/houdini-svelte/stores/AllItems.js -> $houdini/plugins/houdini-svelte/stores/index.js -> src/client.ts
$houdini/index.js -> $houdini/plugins/houdini-svelte/runtime/client.js -> $houdini/plugins/houdini-svelte/runtime/index.js -> $houdini/plugins/houdini-svelte/runtime/stores/index.js -> $houdini/plugins/houdini-svelte/runtime/stores/pagination/fragment.js -> $houdini/plugins/houdini-svelte/runtime/stores/pagination/index.js -> src/client.ts
$houdini/index.js -> $houdini/plugins/houdini-svelte/runtime/client.js -> $houdini/plugins/houdini-svelte/runtime/index.js -> $houdini/plugins/houdini-svelte/runtime/stores/index.js -> $houdini/plugins/houdini-svelte/runtime/stores/pagination/index.js -> $houdini/plugins/houdini-svelte/runtime/stores/pagination/query.js -> src/client.ts
First two are absolutely valid (verified manually), tho I'm not 100% sure about the rest: it is quite hard to go through many of export * from 'foo'.
Reproduction
https://github.com/shadow-identity/example-sveltekit-todo
Thanks for reporting these. If you have the time/energy to give it a shot i'd gladly offer any assistance you need.
This is causing regular issues with my project - vite starts fine, but any hot reload has a chance of crashing vite with a circular dependency error in SSR, even when working on pages with no houdini interactions.
10:17:02 PM [vite] page reload $houdini/runtime/index.js
10:17:02 PM [vite] page reload $houdini/plugins/houdini-svelte/runtime/fragments.js
10:17:02 PM [vite] page reload $houdini/plugins/houdini-svelte/runtime/index.js
10:17:02 PM [vite] page reload $houdini/plugins/houdini-svelte/runtime/session.js
10:17:02 PM [vite] page reload $houdini/runtime/client/index.js
10:17:02 PM [vite] page reload $houdini/runtime/client/documentStore.js
10:17:02 PM [vite] page reload $houdini/runtime/lib/config.js
10:17:02 PM [vite] page reload $houdini/runtime/lib/flatten.js
10:17:02 PM [vite] page reload $houdini/runtime/lib/deepEquals.js
10:17:02 PM [vite] page reload $houdini/runtime/lib/index.js
10:17:02 PM [vite] page reload $houdini/runtime/lib/lru.js
10:17:02 PM [vite] page reload $houdini/runtime/lib/log.js
10:17:02 PM [vite] page reload $houdini/runtime/lib/key.js
10:17:02 PM [vite] page reload $houdini/runtime/lib/pageInfo.js
10:17:02 PM [vite] page reload $houdini/runtime/lib/pagination.js
10:17:02 PM [vite] page reload $houdini/runtime/lib/scalars.js
10:17:02 PM [vite] page reload $houdini/runtime/lib/selection.js
10:17:02 PM [vite] page reload $houdini/runtime/lib/store.js
10:17:02 PM [vite] page reload $houdini/runtime/lib/types.js
10:17:02 PM [vite] page reload $houdini/runtime/public/cache.js
10:17:02 PM [vite] page reload $houdini/runtime/public/index.js
10:17:02 PM [vite] page reload $houdini/runtime/public/record.js
10:17:02 PM [vite] page reload $houdini/runtime/public/list.js
10:17:02 PM [vite] page reload $houdini/runtime/cache/gc.js
10:17:02 PM [vite] page reload $houdini/runtime/cache/cache.js
10:17:02 PM [vite] page reload $houdini/runtime/cache/index.js
10:17:02 PM [vite] page reload $houdini/runtime/cache/lists.js
10:17:02 PM [vite] page reload $houdini/runtime/cache/staleManager.js
10:17:02 PM [vite] page reload $houdini/runtime/cache/stuff.js
10:17:02 PM [vite] page reload $houdini/runtime/cache/subscription.js
10:17:02 PM [vite] page reload $houdini/runtime/cache/storage.js
10:17:02 PM [vite] page reload $houdini/plugins/houdini-svelte/runtime/stores/base.js
10:17:02 PM [vite] page reload $houdini/plugins/houdini-svelte/runtime/stores/index.js
10:17:02 PM [vite] page reload $houdini/plugins/houdini-svelte/runtime/stores/mutation.js
10:17:02 PM [vite] page reload $houdini/plugins/houdini-svelte/runtime/stores/query.js
10:17:02 PM [vite] page reload $houdini/plugins/houdini-svelte/runtime/stores/subscription.js
10:17:02 PM [vite] page reload $houdini/plugins/houdini-svelte/runtime/stores/fragment.js
10:17:02 PM [vite] page reload $houdini/runtime/client/plugins/cache.js
10:17:02 PM [vite] page reload $houdini/runtime/client/plugins/fetch.js
10:17:02 PM [vite] page reload $houdini/runtime/client/plugins/fetchParams.js
10:17:02 PM [vite] page reload $houdini/runtime/client/plugins/fragment.js
10:17:02 PM [vite] page reload $houdini/runtime/client/plugins/mutation.js
10:17:02 PM [vite] page reload $houdini/runtime/client/plugins/index.js
10:17:02 PM [vite] page reload $houdini/runtime/client/plugins/query.js
10:17:02 PM [vite] page reload $houdini/runtime/client/plugins/optimisticKeys.js
10:17:02 PM [vite] page reload $houdini/runtime/client/plugins/subscription.js
10:17:02 PM [vite] page reload $houdini/runtime/client/plugins/throwOnError.js
10:17:02 PM [vite] page reload $houdini/runtime/client/utils/documentPlugins.js
10:17:02 PM [vite] page reload $houdini/runtime/client/utils/index.js
10:17:02 PM [vite] page reload $houdini/plugins/houdini-svelte/runtime/stores/pagination/index.js
10:17:02 PM [vite] page reload $houdini/plugins/houdini-svelte/runtime/stores/pagination/fragment.js
10:17:02 PM [vite] page reload $houdini/plugins/houdini-svelte/runtime/stores/pagination/query.js
10:17:02 PM [vite] page reload $houdini/plugins/houdini-svelte/runtime/types.js
10:17:02 PM [vite] page reload $houdini/runtime/router/types.js
10:17:02 PM [vite] page reload $houdini/runtime/index.js
10:17:03 PM [vite] page reload $houdini/plugins/houdini-svelte/runtime/fragments.js
10:17:03 PM [vite] page reload $houdini/plugins/houdini-svelte/runtime/index.js
10:17:03 PM [vite] page reload $houdini/plugins/houdini-svelte/runtime/session.js
10:17:03 PM [vite] page reload $houdini/runtime/cache/cache.js
10:17:03 PM [vite] page reload $houdini/runtime/cache/gc.js
10:17:03 PM [vite] page reload $houdini/runtime/cache/index.js
10:17:03 PM [vite] page reload $houdini/runtime/cache/storage.js
10:17:03 PM [vite] page reload $houdini/runtime/cache/stuff.js
10:17:03 PM [vite] page reload $houdini/runtime/cache/staleManager.js
10:17:03 PM [vite] page reload $houdini/runtime/cache/lists.js
10:17:03 PM [vite] page reload $houdini/runtime/cache/subscription.js
10:17:03 PM [vite] page reload $houdini/runtime/client/documentStore.js
10:17:03 PM [vite] page reload $houdini/runtime/client/index.js
10:17:03 PM [vite] page reload $houdini/runtime/lib/config.js
10:17:03 PM [vite] page reload $houdini/runtime/lib/deepEquals.js
10:17:03 PM [vite] page reload $houdini/runtime/lib/flatten.js
10:17:03 PM [vite] page reload $houdini/runtime/lib/key.js
10:17:03 PM [vite] page reload $houdini/runtime/lib/log.js
10:17:03 PM [vite] page reload $houdini/runtime/lib/lru.js
10:17:03 PM [vite] page reload $houdini/runtime/lib/pageInfo.js
10:17:03 PM [vite] page reload $houdini/runtime/lib/index.js
10:17:03 PM [vite] page reload $houdini/runtime/lib/scalars.js
10:17:03 PM [vite] page reload $houdini/runtime/lib/pagination.js
10:17:03 PM [vite] page reload $houdini/runtime/lib/store.js
10:17:03 PM [vite] page reload $houdini/runtime/lib/types.js
10:17:03 PM [vite] page reload $houdini/runtime/public/cache.js
10:17:03 PM [vite] page reload $houdini/runtime/public/index.js
10:17:03 PM [vite] page reload $houdini/runtime/lib/selection.js
10:17:03 PM [vite] page reload $houdini/runtime/public/record.js
10:17:03 PM [vite] page reload $houdini/runtime/public/list.js
10:17:03 PM [vite] page reload $houdini/plugins/houdini-svelte/runtime/stores/base.js
10:17:03 PM [vite] page reload $houdini/plugins/houdini-svelte/runtime/stores/fragment.js
10:17:03 PM [vite] page reload $houdini/plugins/houdini-svelte/runtime/stores/mutation.js
10:17:03 PM [vite] page reload $houdini/plugins/houdini-svelte/runtime/stores/index.js
10:17:03 PM [vite] page reload $houdini/plugins/houdini-svelte/runtime/stores/query.js
10:17:03 PM [vite] page reload $houdini/plugins/houdini-svelte/runtime/stores/subscription.js
10:17:03 PM [vite] page reload $houdini/runtime/client/utils/documentPlugins.js
10:17:03 PM [vite] page reload $houdini/runtime/client/utils/index.js
10:17:03 PM [vite] page reload $houdini/runtime/client/plugins/cache.js
10:17:03 PM [vite] page reload $houdini/runtime/client/plugins/fragment.js
10:17:03 PM [vite] page reload $houdini/runtime/client/plugins/fetch.js
10:17:03 PM [vite] page reload $houdini/runtime/client/plugins/index.js
10:17:03 PM [vite] page reload $houdini/runtime/client/plugins/fetchParams.js
10:17:03 PM [vite] page reload $houdini/runtime/client/plugins/mutation.js
10:17:03 PM [vite] page reload $houdini/runtime/client/plugins/optimisticKeys.js
10:17:03 PM [vite] page reload $houdini/runtime/client/plugins/query.js
10:17:03 PM [vite] page reload $houdini/runtime/client/plugins/subscription.js
10:17:03 PM [vite] page reload $houdini/runtime/client/plugins/throwOnError.js
10:17:03 PM [vite] page reload $houdini/plugins/houdini-svelte/runtime/stores/pagination/fragment.js
10:17:03 PM [vite] page reload $houdini/plugins/houdini-svelte/runtime/stores/pagination/index.js
10:17:03 PM [vite] page reload $houdini/plugins/houdini-svelte/runtime/stores/pagination/query.js
10:17:03 PM [vite] page reload $houdini/plugins/houdini-svelte/runtime/types.js
10:17:03 PM [vite] page reload $houdini/runtime/router/types.js
10:18:21 PM [vite] page reload src/routes/api/acuity/webhook/+server.ts
10:18:22 PM [vite] page reload $houdini/runtime/index.js
10:18:22 PM [vite] page reload $houdini/plugins/houdini-svelte/runtime/fragments.js
10:18:22 PM [vite] page reload $houdini/plugins/houdini-svelte/runtime/index.js
10:18:22 PM [vite] page reload $houdini/plugins/houdini-svelte/runtime/session.js
10:18:22 PM [vite] page reload $houdini/runtime/client/index.js
10:18:22 PM [vite] page reload $houdini/runtime/client/documentStore.js
10:18:22 PM [vite] page reload $houdini/runtime/public/cache.js
10:18:22 PM [vite] page reload $houdini/runtime/public/index.js
10:18:22 PM [vite] page reload $houdini/runtime/public/list.js
10:18:22 PM [vite] page reload $houdini/runtime/public/record.js
10:18:22 PM [vite] page reload $houdini/runtime/lib/config.js
10:18:22 PM [vite] page reload $houdini/runtime/lib/deepEquals.js
10:18:22 PM [vite] page reload $houdini/runtime/lib/flatten.js
10:18:22 PM [vite] page reload $houdini/runtime/lib/index.js
10:18:22 PM [vite] page reload $houdini/runtime/lib/lru.js
10:18:22 PM [vite] page reload $houdini/runtime/lib/log.js
10:18:22 PM [vite] page reload $houdini/runtime/lib/pageInfo.js
10:18:22 PM [vite] page reload $houdini/runtime/lib/scalars.js
10:18:22 PM [vite] page reload $houdini/runtime/lib/pagination.js
10:18:22 PM [vite] page reload $houdini/runtime/lib/selection.js
10:18:22 PM [vite] page reload $houdini/runtime/lib/store.js
10:18:22 PM [vite] page reload $houdini/runtime/lib/types.js
10:18:22 PM [vite] page reload $houdini/runtime/cache/cache.js
10:18:22 PM [vite] page reload $houdini/runtime/cache/index.js
10:18:22 PM [vite] page reload $houdini/runtime/cache/gc.js
10:18:22 PM [vite] page reload $houdini/runtime/cache/lists.js
10:18:22 PM [vite] page reload $houdini/runtime/cache/stuff.js
10:18:22 PM [vite] page reload $houdini/runtime/cache/storage.js
10:18:22 PM [vite] page reload $houdini/plugins/houdini-svelte/runtime/stores/base.js
10:18:22 PM [vite] page reload $houdini/runtime/cache/staleManager.js
10:18:22 PM [vite] page reload $houdini/runtime/cache/subscription.js
10:18:22 PM [vite] page reload $houdini/plugins/houdini-svelte/runtime/stores/fragment.js
10:18:22 PM [vite] page reload $houdini/plugins/houdini-svelte/runtime/stores/index.js
10:18:22 PM [vite] page reload $houdini/plugins/houdini-svelte/runtime/stores/mutation.js
10:18:22 PM [vite] page reload $houdini/plugins/houdini-svelte/runtime/stores/query.js
10:18:22 PM [vite] page reload $houdini/plugins/houdini-svelte/runtime/stores/subscription.js
10:18:22 PM [vite] page reload $houdini/runtime/lib/key.js
10:18:22 PM [vite] page reload $houdini/runtime/client/utils/documentPlugins.js
10:18:22 PM [vite] page reload $houdini/runtime/client/plugins/cache.js
10:18:22 PM [vite] page reload $houdini/runtime/client/utils/index.js
10:18:22 PM [vite] page reload $houdini/runtime/client/plugins/fetch.js
10:18:22 PM [vite] page reload $houdini/runtime/client/plugins/fetchParams.js
10:18:22 PM [vite] page reload $houdini/runtime/client/plugins/fragment.js
10:18:22 PM [vite] page reload $houdini/runtime/client/plugins/index.js
10:18:22 PM [vite] page reload $houdini/runtime/client/plugins/mutation.js
10:18:22 PM [vite] page reload $houdini/runtime/client/plugins/query.js
10:18:22 PM [vite] page reload $houdini/runtime/client/plugins/optimisticKeys.js
10:18:22 PM [vite] page reload $houdini/runtime/client/plugins/subscription.js
10:18:22 PM [vite] page reload $houdini/runtime/client/plugins/throwOnError.js
10:18:22 PM [vite] page reload $houdini/plugins/houdini-svelte/runtime/stores/pagination/fragment.js
10:18:22 PM [vite] page reload $houdini/plugins/houdini-svelte/runtime/stores/pagination/index.js
10:18:22 PM [vite] page reload $houdini/plugins/houdini-svelte/runtime/stores/pagination/query.js
10:18:22 PM [vite] page reload $houdini/plugins/houdini-svelte/runtime/types.js
10:18:22 PM [vite] page reload $houdini/runtime/router/types.js
10:18:22 PM [vite] page reload $houdini/runtime/index.js
10:18:22 PM [vite] page reload $houdini/plugins/houdini-svelte/runtime/fragments.js
10:18:22 PM [vite] page reload $houdini/plugins/houdini-svelte/runtime/index.js
10:18:22 PM [vite] page reload $houdini/runtime/cache/cache.js
10:18:22 PM [vite] page reload $houdini/runtime/cache/gc.js
10:18:22 PM [vite] page reload $houdini/runtime/cache/index.js
10:18:22 PM [vite] page reload $houdini/runtime/cache/lists.js
10:18:22 PM [vite] page reload $houdini/runtime/cache/staleManager.js
10:18:22 PM [vite] page reload $houdini/runtime/cache/stuff.js
10:18:22 PM [vite] page reload $houdini/runtime/cache/storage.js
10:18:22 PM [vite] page reload $houdini/plugins/houdini-svelte/runtime/session.js
10:18:22 PM [vite] page reload $houdini/runtime/client/documentStore.js
10:18:22 PM [vite] page reload $houdini/runtime/client/index.js
10:18:22 PM [vite] page reload $houdini/plugins/houdini-svelte/runtime/types.js
10:18:22 PM [vite] page reload $houdini/runtime/cache/subscription.js
10:18:22 PM [vite] page reload $houdini/runtime/lib/config.js
10:18:22 PM [vite] page reload $houdini/runtime/lib/deepEquals.js
10:18:22 PM [vite] page reload $houdini/runtime/lib/flatten.js
10:18:22 PM [vite] page reload $houdini/runtime/lib/index.js
10:18:22 PM [vite] page reload $houdini/runtime/lib/key.js
10:18:22 PM [vite] page reload $houdini/runtime/lib/log.js
10:18:22 PM [vite] page reload $houdini/runtime/lib/lru.js
10:18:22 PM [vite] page reload $houdini/runtime/lib/pageInfo.js
10:18:22 PM [vite] page reload $houdini/runtime/lib/pagination.js
10:18:22 PM [vite] page reload $houdini/runtime/lib/scalars.js
10:18:22 PM [vite] page reload $houdini/runtime/lib/selection.js
10:18:22 PM [vite] page reload $houdini/runtime/lib/store.js
10:18:22 PM [vite] page reload $houdini/runtime/lib/types.js
10:18:22 PM [vite] page reload $houdini/runtime/public/cache.js
10:18:22 PM [vite] page reload $houdini/runtime/public/index.js
10:18:22 PM [vite] page reload $houdini/runtime/public/record.js
10:18:22 PM [vite] page reload $houdini/runtime/public/list.js
10:18:23 PM [vite] page reload $houdini/runtime/router/types.js
10:18:23 PM [vite] page reload $houdini/plugins/houdini-svelte/runtime/stores/base.js
10:18:23 PM [vite] page reload $houdini/plugins/houdini-svelte/runtime/stores/fragment.js
10:18:23 PM [vite] page reload $houdini/plugins/houdini-svelte/runtime/stores/index.js
10:18:23 PM [vite] page reload $houdini/plugins/houdini-svelte/runtime/stores/mutation.js
10:18:23 PM [vite] page reload $houdini/plugins/houdini-svelte/runtime/stores/query.js
10:18:23 PM [vite] page reload $houdini/plugins/houdini-svelte/runtime/stores/subscription.js
10:18:23 PM [vite] page reload $houdini/runtime/client/plugins/cache.js
10:18:23 PM [vite] page reload $houdini/runtime/client/plugins/fetch.js
10:18:23 PM [vite] page reload $houdini/runtime/client/plugins/fetchParams.js
10:18:23 PM [vite] page reload $houdini/runtime/client/plugins/fragment.js
10:18:23 PM [vite] page reload $houdini/runtime/client/plugins/index.js
10:18:23 PM [vite] page reload $houdini/runtime/client/plugins/mutation.js
10:18:23 PM [vite] page reload $houdini/runtime/client/plugins/optimisticKeys.js
10:18:23 PM [vite] page reload $houdini/runtime/client/plugins/query.js
10:18:23 PM [vite] page reload $houdini/runtime/client/plugins/subscription.js
10:18:23 PM [vite] page reload $houdini/runtime/client/utils/documentPlugins.js
10:18:23 PM [vite] page reload $houdini/runtime/client/utils/index.js
10:18:23 PM [vite] page reload $houdini/runtime/client/plugins/throwOnError.js
10:18:23 PM [vite] page reload $houdini/plugins/houdini-svelte/runtime/stores/pagination/fragment.js
10:18:23 PM [vite] page reload $houdini/plugins/houdini-svelte/runtime/stores/pagination/index.js
10:18:23 PM [vite] page reload $houdini/plugins/houdini-svelte/runtime/stores/pagination/query.js
10:18:23 PM [vite] Error when evaluating SSR module /$houdini/runtime/cache/lists.js: failed to import "/$houdini/runtime/cache/cache.js"
|- Error: [vite] The dependency module is not yet fully initialized due to circular dependency. This is a bug in Vite SSR
at ssrImport (file:///Users/francis/project/node_modules/vite/dist/node/chunks/dep-mCdpKltl.js:52599:19)
at eval (/Users/francis/project/$houdini/runtime/cache/lists.js:4:37)
at async instantiateModule (file:///Users/francis/project/node_modules/vite/dist/node/chunks/dep-mCdpKltl.js:52650:5)
10:18:23 PM [vite] Error when evaluating SSR module /$houdini/runtime/cache/cache.js: failed to import "/$houdini/runtime/cache/cache.js"
|- Error: [vite] The dependency module is not yet fully initialized due to circular dependency. This is a bug in Vite SSR
at ssrImport (file:///Users/francis/project/node_modules/vite/dist/node/chunks/dep-mCdpKltl.js:52599:19)
at eval (/Users/francis/project/$houdini/runtime/cache/lists.js:4:37)
at async instantiateModule (file:///Users/francis/project/node_modules/vite/dist/node/chunks/dep-mCdpKltl.js:52650:5)
10:18:23 PM [vite] Error when evaluating SSR module /$houdini/runtime/cache/index.js: failed to import "/$houdini/runtime/cache/cache.js"
|- Error: [vite] The dependency module is not yet fully initialized due to circular dependency. This is a bug in Vite SSR
at ssrImport (file:///Users/francis/project/node_modules/vite/dist/node/chunks/dep-mCdpKltl.js:52599:19)
at eval (/Users/francis/project/$houdini/runtime/cache/lists.js:4:37)
at async instantiateModule (file:///Users/francis/project/node_modules/vite/dist/node/chunks/dep-mCdpKltl.js:52650:5)
10:18:23 PM [vite] Error when evaluating SSR module /$houdini/runtime/client/index.js: failed to import "/$houdini/runtime/cache/cache.js"
|- Error: [vite] The dependency module is not yet fully initialized due to circular dependency. This is a bug in Vite SSR
at ssrImport (file:///Users/francis/project/node_modules/vite/dist/node/chunks/dep-mCdpKltl.js:52599:19)
at eval (/Users/francis/project/$houdini/runtime/cache/lists.js:4:37)
at async instantiateModule (file:///Users/francis/project/node_modules/vite/dist/node/chunks/dep-mCdpKltl.js:52650:5)
10:18:23 PM [vite] Error when evaluating SSR module /$houdini/index.js: failed to import "/$houdini/runtime/cache/cache.js"
|- Error: [vite] The dependency module is not yet fully initialized due to circular dependency. This is a bug in Vite SSR
at ssrImport (file:///Users/francis/project/node_modules/vite/dist/node/chunks/dep-mCdpKltl.js:52599:19)
at eval (/Users/francis/project/$houdini/runtime/cache/lists.js:4:37)
at async instantiateModule (file:///Users/francis/project/node_modules/vite/dist/node/chunks/dep-mCdpKltl.js:52650:5)
10:18:23 PM [vite] Error when evaluating SSR module /src/hooks.server.ts: failed to import "/$houdini/runtime/cache/cache.js"
|- Error: [vite] The dependency module is not yet fully initialized due to circular dependency. This is a bug in Vite SSR
at ssrImport (file:///Users/francis/project/node_modules/vite/dist/node/chunks/dep-mCdpKltl.js:52599:19)
at eval (/Users/francis/project/$houdini/runtime/cache/lists.js:4:37)
at async instantiateModule (file:///Users/francis/project/node_modules/vite/dist/node/chunks/dep-mCdpKltl.js:52650:5)
10:18:23 PM [vite] Error when evaluating SSR module /src/routes/+layout.ts: failed to import "/$houdini/runtime/cache/cache.js"
|- Error: [vite] The dependency module is not yet fully initialized due to circular dependency. This is a bug in Vite SSR
at ssrImport (file:///Users/francis/project/node_modules/vite/dist/node/chunks/dep-mCdpKltl.js:52599:19)
at eval (/Users/francis/project/$houdini/runtime/cache/lists.js:4:37)
at async instantiateModule (file:///Users/francis/project/node_modules/vite/dist/node/chunks/dep-mCdpKltl.js:52650:5)
@fnimick looking through your logs, i think the culprit is that first cycle that @shadow-identity called out. I pushed up a branch that removes it - mind seeing if that was enough to fix your issue? The branch name is circular-imports
Gonna 👀 this. I'm seeing similar behavior on latest version (1.2.54).
✖ Found 4 circular dependencies!
1) $houdini/runtime/cache/cache.js > $houdini/runtime/cache/lists.js
2) $houdini/runtime/cache/cache.js > $houdini/runtime/cache/subscription.js
3) $houdini/runtime/cache/cache.d.ts > $houdini/runtime/cache/subscription.d.ts
4) .svelte-kit/output/server/chunks/query.js > .svelte-kit/output/server/chunks/client.js```
that circle should be fixed in the branch. Let me open a PR with just that fix
Thanks for the fix!
The first two error messages don't appear anymore, but the last four (from $houdini/index.js) are still here. I updated the reproduction repository with the updated houdini and houdini-svelte dependencies.
Should we reopen the ticket or create a new one?
$houdini/index.js
$houdini/index.js -> $houdini/plugins/houdini-svelte/runtime/client.js -> $houdini/plugins/houdini-svelte/runtime/stores/mutation.js -> $houdini/plugins/houdini-svelte/stores/AddItem.js -> $houdini/plugins/houdini-svelte/stores/index.js -> src/client.ts
$houdini/index.js -> $houdini/plugins/houdini-svelte/runtime/client.js -> $houdini/plugins/houdini-svelte/runtime/stores/pagination/query.js -> $houdini/plugins/houdini-svelte/stores/AllItems.js -> $houdini/plugins/houdini-svelte/stores/index.js -> src/client.ts
$houdini/index.js -> $houdini/plugins/houdini-svelte/runtime/client.js -> $houdini/plugins/houdini-svelte/runtime/index.js -> $houdini/plugins/houdini-svelte/runtime/stores/index.js -> $houdini/plugins/houdini-svelte/runtime/stores/pagination/fragment.js -> $houdini/plugins/houdini-svelte/runtime/stores/pagination/index.js -> src/client.ts
$houdini/index.js -> $houdini/plugins/houdini-svelte/runtime/client.js -> $houdini/plugins/houdini-svelte/runtime/index.js -> $houdini/plugins/houdini-svelte/runtime/stores/index.js -> $houdini/plugins/houdini-svelte/runtime/stores/pagination/index.js -> $houdini/plugins/houdini-svelte/runtime/stores/pagination/query.js -> src/client.ts
For some reason, even without updating houdini, I haven't run into circular imports in a while. Unfortunately I am not able to reliably duplicate the issue - it tends to happen after my dev server has been running and doing hot reloads and rebuilds for hours.
Thanks for the update @fnimick. I'm gonna leave this issue open to address them anyway, just to be sure.
I've been unable to reproduce this for a while so i'm going to close it
I kindly suggest reopening the issue. These seem to have resurfaced (tested on [email protected], [email protected], [email protected] [email protected], with the exact same behaviour @fnimick found.
vite starts fine, but any hot reload has a chance of crashing vite with a circular dependency error in SSR, even when working on pages with no houdini interactions.
I've been using houdini for a while (and find it very useful!), yet this issue comes from nowhere. However strange, this seems to be expected behaviour on vite which will only show up in larger projects, due to the way it avoids chaos on HMR (probably a recursion counter limit): https://github.com/vitejs/vite/discussions/16424
This is the vite dev error log. Substitute the first store.js with any store name, it is not related to that specific one.
TypeError: Class extends value undefined is not a constructor or null
at /app/suite/$houdini/plugins/houdini-svelte/stores/GetUserAddresses.js:5:44
at async ESModulesEvaluator.runInlinedModule (file:///app/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected][email protected][email protected][email protected]/node_modules/vite/dist/node/module-runner.js:1049:5)
at async SSRCompatModuleRunner.directRequest (file:///app/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected][email protected][email protected][email protected]/node_modules/vite/dist/node/module-runner.js:1271:61)
at async SSRCompatModuleRunner.directRequest (file:///app/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected][email protected][email protected][email protected]/node_modules/vite/dist/node/chunks/dep-ByPKlqZ5.js:30913:23)
at async SSRCompatModuleRunner.cachedRequest (file:///app/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected][email protected][email protected][email protected]/node_modules/vite/dist/node/module-runner.js:1167:76)
at async eval (/app/apiviews/src/lib/user/SmartAddressInput.svelte:3:360)
at async ESModulesEvaluator.runInlinedModule (file:///app/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected][email protected][email protected][email protected]/node_modules/vite/dist/node/module-runner.js:1049:5)
at async SSRCompatModuleRunner.directRequest (file:///app/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected][email protected][email protected][email protected]/node_modules/vite/dist/node/module-runner.js:1271:61)
at async SSRCompatModuleRunner.directRequest (file:///app/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected][email protected][email protected][email protected]/node_modules/vite/dist/node/chunks/dep-ByPKlqZ5.js:30913:23)
at async SSRCompatModuleRunner.cachedRequest (file:///app/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected][email protected][email protected][email protected]/node_modules/vite/dist/node/module-runner.js:1167:76)
The vite error says nothing, but madge found quite a few circular dependencies in my project, all related to houdini (minus one sveltekit on ./$types which is unrelated). However, it appears that all of them are related to import type (.d.ts). They definitely don't cause issues on built files, but do they with vite HMR? My bet is they don't.
View log pnpm npx madge --circular --extensions=js,svelte,ts ./
1) $houdini/runtime/cache/cache.d.ts > $houdini/runtime/cache/gc.d.ts 2) $houdini/runtime/cache/cache.d.ts > $houdini/runtime/cache/lists.d.ts 3) $houdini/runtime/lib/types.d.ts > $houdini/runtime/router/types.d.ts > $houdini/runtime/router/match.d.ts > $houdini/runtime/lib/index.d.ts > $houdini/runtime/lib/config.d.ts 4) $houdini/runtime/lib/types.d.ts > $houdini/runtime/router/types.d.ts > $houdini/runtime/router/match.d.ts > $houdini/runtime/lib/index.d.ts > $houdini/runtime/lib/scalars.d.ts 5) $houdini/runtime/lib/types.d.ts > $houdini/runtime/router/types.d.ts > $houdini/runtime/router/match.d.ts > $houdini/runtime/lib/index.d.ts > $houdini/runtime/lib/selection.d.ts 6) $houdini/runtime/lib/types.d.ts > $houdini/runtime/router/types.d.ts > $houdini/runtime/router/match.d.ts > $houdini/runtime/lib/index.d.ts 7) $houdini/runtime/router/types.d.ts > $houdini/runtime/router/match.d.ts 8) $houdini/runtime/cache/cache.d.ts > $houdini/runtime/cache/lists.d.ts > $houdini/runtime/cache/storage.d.ts > $houdini/runtime/lib/types.d.ts > $houdini/runtime/router/types.d.ts > $houdini/runtime/router/server.d.ts > $houdini/runtime/client/index.d.ts 9) $houdini/runtime/cache/cache.d.ts > $houdini/runtime/cache/lists.d.ts > $houdini/runtime/cache/storage.d.ts > $houdini/runtime/lib/types.d.ts > $houdini/runtime/router/types.d.ts > $houdini/runtime/router/server.d.ts > $houdini/runtime/client/index.d.ts > $houdini/runtime/client/documentStore.d.ts 10) $houdini/runtime/cache/storage.d.ts > $houdini/runtime/lib/types.d.ts > $houdini/runtime/router/types.d.ts > $houdini/runtime/router/server.d.ts > $houdini/runtime/client/index.d.ts > $houdini/runtime/client/documentStore.d.ts 11) $houdini/runtime/client/index.d.ts > $houdini/runtime/client/documentStore.d.ts 12) $houdini/runtime/lib/types.d.ts > $houdini/runtime/router/types.d.ts > $houdini/runtime/router/server.d.ts > $houdini/runtime/client/index.d.ts > $houdini/runtime/client/documentStore.d.ts 13) $houdini/runtime/cache/cache.d.ts > $houdini/runtime/cache/lists.d.ts > $houdini/runtime/cache/storage.d.ts > $houdini/runtime/lib/types.d.ts > $houdini/runtime/router/types.d.ts > $houdini/runtime/router/server.d.ts > $houdini/runtime/client/index.d.ts > $houdini/runtime/client/plugins/index.d.ts > $houdini/runtime/client/plugins/cache.d.ts 14) $houdini/runtime/cache/cache.d.ts > $houdini/runtime/cache/lists.d.ts > $houdini/runtime/cache/storage.d.ts > $houdini/runtime/lib/types.d.ts > $houdini/runtime/router/types.d.ts > $houdini/runtime/router/server.d.ts > $houdini/runtime/client/index.d.ts > $houdini/runtime/client/plugins/index.d.ts > $houdini/runtime/client/plugins/cache.d.ts > $houdini/runtime/cache/index.d.ts 15) $houdini/runtime/lib/types.d.ts > $houdini/runtime/router/types.d.ts > $houdini/runtime/router/server.d.ts > $houdini/runtime/client/index.d.ts > $houdini/runtime/client/plugins/index.d.ts > $houdini/runtime/client/plugins/fetch.d.ts 16) $houdini/runtime/lib/types.d.ts > $houdini/runtime/router/types.d.ts > $houdini/runtime/router/server.d.ts > $houdini/runtime/client/index.d.ts > $houdini/runtime/client/plugins/index.d.ts > $houdini/runtime/client/plugins/fetchParams.d.ts 17) $houdini/runtime/cache/cache.d.ts > $houdini/runtime/cache/lists.d.ts > $houdini/runtime/cache/storage.d.ts > $houdini/runtime/lib/types.d.ts > $houdini/runtime/router/types.d.ts > $houdini/runtime/router/server.d.ts > $houdini/runtime/client/index.d.ts > $houdini/runtime/client/plugins/index.d.ts > $houdini/runtime/client/plugins/fragment.d.ts 18) $houdini/runtime/client/index.d.ts > $houdini/runtime/client/plugins/index.d.ts > $houdini/runtime/client/plugins/fragment.d.ts 19) $houdini/runtime/cache/cache.d.ts > $houdini/runtime/cache/lists.d.ts > $houdini/runtime/cache/storage.d.ts > $houdini/runtime/lib/types.d.ts > $houdini/runtime/router/types.d.ts > $houdini/runtime/router/server.d.ts > $houdini/runtime/client/index.d.ts > $houdini/runtime/client/plugins/index.d.ts > $houdini/runtime/client/plugins/mutation.d.ts 20) $houdini/runtime/client/index.d.ts > $houdini/runtime/client/plugins/index.d.ts > $houdini/runtime/client/plugins/mutation.d.ts 21) $houdini/runtime/cache/cache.d.ts > $houdini/runtime/cache/lists.d.ts > $houdini/runtime/cache/storage.d.ts > $houdini/runtime/lib/types.d.ts > $houdini/runtime/router/types.d.ts > $houdini/runtime/router/server.d.ts > $houdini/runtime/client/index.d.ts > $houdini/runtime/client/plugins/index.d.ts > $houdini/runtime/client/plugins/optimisticKeys.d.ts 22) $houdini/runtime/cache/cache.d.ts > $houdini/runtime/cache/lists.d.ts > $houdini/runtime/cache/storage.d.ts > $houdini/runtime/lib/types.d.ts > $houdini/runtime/router/types.d.ts > $houdini/runtime/router/server.d.ts > $houdini/runtime/client/index.d.ts > $houdini/runtime/client/plugins/index.d.ts > $houdini/runtime/client/plugins/query.d.ts 23) $houdini/runtime/client/index.d.ts > $houdini/runtime/client/plugins/index.d.ts > $houdini/runtime/client/plugins/query.d.ts 24) $houdini/runtime/lib/types.d.ts > $houdini/runtime/router/types.d.ts > $houdini/runtime/router/server.d.ts > $houdini/runtime/client/index.d.ts 25) $houdini/runtime/router/types.d.ts > $houdini/runtime/router/server.d.ts 26) $houdini/runtime/cache/cache.d.ts > $houdini/runtime/cache/staleManager.d.ts 27) $houdini/runtime/cache/cache.d.ts > $houdini/runtime/cache/subscription.d.ts 28) $houdini/runtime/public/cache.d.ts > $houdini/runtime/public/list.d.ts 29) $houdini/runtime/public/record.d.ts > $houdini/runtime/public/cache.d.ts > $houdini/runtime/public/list.d.ts > $houdini/runtime/public/types.d.ts 30) $houdini/runtime/public/record.d.ts > $houdini/runtime/public/cache.d.ts
Nevertheless, the houdini repo has quite a few circular dependencies, which don't appear when scanning the importer project. I propose cleaning them up. Even if they weren't the cause for these HMR errors, it is still best practice.
Running `madge --circular` (ignoring circular type imports) finds the following:
✖ Found 12 circular dependencies!
- src/houdini/packages/houdini-react/src/plugin/index.ts > src/houdini/packages/houdini-react/src/plugin/vite.tsx
- src/houdini/packages/houdini-react/src/runtime/routing/Router.tsx > src/houdini/packages/houdini-react/src/runtime/hooks/useDocumentHandle.ts
- src/houdini/packages/houdini-react/src/runtime/hooks/useDocumentStore.ts > src/houdini/packages/houdini-react/src/runtime/routing/index.ts > src/houdini/packages/houdini-react/src/runtime/routing/Router.tsx
- src/houdini/packages/houdini-svelte/src/plugin/kit.ts > src/houdini/packages/houdini-svelte/src/plugin/extract.ts
- src/houdini/packages/houdini-svelte/src/plugin/kit.ts > src/houdini/packages/houdini-svelte/src/plugin/extractLoadFunction.ts
- src/houdini/packages/houdini-svelte/src/plugin/index.ts > src/houdini/packages/houdini-svelte/src/plugin/fsPatch.ts
- src/houdini/packages/houdini/src/lib/index.ts > src/houdini/packages/houdini/src/lib/config.ts > src/houdini/packages/houdini/src/lib/router/index.ts > src/houdini/packages/houdini/src/lib/router/conventions.ts
- src/houdini/packages/houdini/src/lib/index.ts > src/houdini/packages/houdini/src/lib/config.ts > src/houdini/packages/houdini/src/lib/router/index.ts > src/houdini/packages/houdini/src/lib/router/manifest.ts
- src/houdini/packages/houdini/src/lib/index.ts > src/houdini/packages/houdini/src/lib/config.ts > src/houdini/packages/houdini/src/lib/router/index.ts > src/houdini/packages/houdini/src/lib/router/server.ts
- src/houdini/packages/houdini/src/lib/index.ts > src/houdini/packages/houdini/src/lib/detectTools.ts
- src/houdini/packages/houdini/src/lib/index.ts > src/houdini/packages/houdini/src/lib/typescript.ts
- src/houdini/packages/houdini/src/codegen/generators/runtime/index.ts > src/houdini/packages/houdini/src/codegen/generators/runtime/pluginRuntime.ts
I'm having a try at a PR at the moment.
PR #1450 seems to have fixed all the HMR crashing on my project (with no other change). Given the intermittent nature of the issue, I will comment on this thread if it happens again, but it totally seems to be working again!
EDIT: it (v1.5.4) has fixed both the cryptic circular reference errors and full page reloads on every HMR change caused by those same circular dependencies invalidating the module graph. Yay!!
I seem to run into the exact error described here on with [email protected] and [email protected].
The application loads fine the first time but as soon as the first HMR happens I get the error below. After that the application does not load anymore, even when reloading the page, so this basically makes development impossible.
Anyone any insights what might be causing this?
Vite Logs
11:10:35 AM [vite] (ssr) Error when evaluating SSR module /src/routes/customers/[[customer]]/+page.ts: Class extends value undefined is not a constructor or null
at /Users/christian/Code/billkit/services/portal/.houdini/plugins/houdini-svelte/stores/Report.js:5:34
at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
at async ESModulesEvaluator.runInlinedModule (file:///Users/christian/Code/billkit/services/portal/node_modules/vite/dist/node/module-runner.js:1062:5)
at async SSRCompatModuleRunner.directRequest (file:///Users/christian/Code/billkit/services/portal/node_modules/vite/dist/node/module-runner.js:1284:61)
at async SSRCompatModuleRunner.directRequest (file:///Users/christian/Code/billkit/services/portal/node_modules/vite/dist/node/chunks/dep-DBxKXgDP.js:25274:23)
at async SSRCompatModuleRunner.cachedRequest (file:///Users/christian/Code/billkit/services/portal/node_modules/vite/dist/node/module-runner.js:1180:76)
at async eval (/Users/christian/Code/billkit/services/portal/src/routes/customers/[[customer]]/+page.ts:1:1)
at async ESModulesEvaluator.runInlinedModule (file:///Users/christian/Code/billkit/services/portal/node_modules/vite/dist/node/module-runner.js:1062:5)
at async SSRCompatModuleRunner.directRequest (file:///Users/christian/Code/billkit/services/portal/node_modules/vite/dist/node/module-runner.js:1284:61)
at async SSRCompatModuleRunner.directRequest (file:///Users/christian/Code/billkit/services/portal/node_modules/vite/dist/node/chunks/dep-DBxKXgDP.js:25274:23)
TypeError: Class extends value undefined is not a constructor or null
at /Users/christian/Code/billkit/services/portal/.houdini/plugins/houdini-svelte/stores/Report.js:5:34
at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
at async ESModulesEvaluator.runInlinedModule (file:///Users/christian/Code/billkit/services/portal/node_modules/vite/dist/node/module-runner.js:1062:5)
at async SSRCompatModuleRunner.directRequest (file:///Users/christian/Code/billkit/services/portal/node_modules/vite/dist/node/module-runner.js:1284:61)
at async SSRCompatModuleRunner.directRequest (file:///Users/christian/Code/billkit/services/portal/node_modules/vite/dist/node/chunks/dep-DBxKXgDP.js:25274:23)
at async SSRCompatModuleRunner.cachedRequest (file:///Users/christian/Code/billkit/services/portal/node_modules/vite/dist/node/module-runner.js:1180:76)
at async eval (/Users/christian/Code/billkit/services/portal/src/routes/customers/[[customer]]/+page.ts:1:1)
at async ESModulesEvaluator.runInlinedModule (file:///Users/christian/Code/billkit/services/portal/node_modules/vite/dist/node/module-runner.js:1062:5)
at async SSRCompatModuleRunner.directRequest (file:///Users/christian/Code/billkit/services/portal/node_modules/vite/dist/node/module-runner.js:1284:61)
at async SSRCompatModuleRunner.directRequest (file:///Users/christian/Code/billkit/services/portal/node_modules/vite/dist/node/chunks/dep-DBxKXgDP.js:25274:23
npx madge --circular --extensions=js,svelte,ts ./
Processed 307 files (885ms) (39 warnings)
✖ Found 30 circular dependencies!
1) .houdini/runtime/cache/cache.d.ts > .houdini/runtime/cache/gc.d.ts
2) .houdini/runtime/cache/cache.d.ts > .houdini/runtime/cache/lists.d.ts
3) .houdini/runtime/lib/types.d.ts > .houdini/runtime/router/types.d.ts > .houdini/runtime/router/match.d.ts > .houdini/runtime/lib/index.d.ts > .houdini/runtime/lib/config.d.ts
4) .houdini/runtime/lib/types.d.ts > .houdini/runtime/router/types.d.ts > .houdini/runtime/router/match.d.ts > .houdini/runtime/lib/index.d.ts > .houdini/runtime/lib/scalars.d.ts
5) .houdini/runtime/lib/types.d.ts > .houdini/runtime/router/types.d.ts > .houdini/runtime/router/match.d.ts > .houdini/runtime/lib/index.d.ts > .houdini/runtime/lib/selection.d.ts
6) .houdini/runtime/lib/types.d.ts > .houdini/runtime/router/types.d.ts > .houdini/runtime/router/match.d.ts > .houdini/runtime/lib/index.d.ts
7) .houdini/runtime/router/types.d.ts > .houdini/runtime/router/match.d.ts
8) .houdini/runtime/cache/cache.d.ts > .houdini/runtime/cache/lists.d.ts > .houdini/runtime/cache/storage.d.ts > .houdini/runtime/lib/types.d.ts > .houdini/runtime/router/types.d.ts > .houdini/runtime/router/server.d.ts > .houdini/runtime/client/index.d.ts
9) .houdini/runtime/cache/cache.d.ts > .houdini/runtime/cache/lists.d.ts > .houdini/runtime/cache/storage.d.ts > .houdini/runtime/lib/types.d.ts > .houdini/runtime/router/types.d.ts > .houdini/runtime/router/server.d.ts > .houdini/runtime/client/index.d.ts > .houdini/runtime/client/documentStore.d.ts
10) .houdini/runtime/cache/storage.d.ts > .houdini/runtime/lib/types.d.ts > .houdini/runtime/router/types.d.ts > .houdini/runtime/router/server.d.ts > .houdini/runtime/client/index.d.ts > .houdini/runtime/client/documentStore.d.ts
11) .houdini/runtime/client/index.d.ts > .houdini/runtime/client/documentStore.d.ts
12) .houdini/runtime/lib/types.d.ts > .houdini/runtime/router/types.d.ts > .houdini/runtime/router/server.d.ts > .houdini/runtime/client/index.d.ts > .houdini/runtime/client/documentStore.d.ts
13) .houdini/runtime/cache/cache.d.ts > .houdini/runtime/cache/lists.d.ts > .houdini/runtime/cache/storage.d.ts > .houdini/runtime/lib/types.d.ts > .houdini/runtime/router/types.d.ts > .houdini/runtime/router/server.d.ts > .houdini/runtime/client/index.d.ts > .houdini/runtime/client/plugins/index.d.ts > .houdini/runtime/client/plugins/cache.d.ts
14) .houdini/runtime/cache/cache.d.ts > .houdini/runtime/cache/lists.d.ts > .houdini/runtime/cache/storage.d.ts > .houdini/runtime/lib/types.d.ts > .houdini/runtime/router/types.d.ts > .houdini/runtime/router/server.d.ts > .houdini/runtime/client/index.d.ts > .houdini/runtime/client/plugins/index.d.ts > .houdini/runtime/client/plugins/cache.d.ts > .houdini/runtime/cache/index.d.ts
15) .houdini/runtime/lib/types.d.ts > .houdini/runtime/router/types.d.ts > .houdini/runtime/router/server.d.ts > .houdini/runtime/client/index.d.ts > .houdini/runtime/client/plugins/index.d.ts > .houdini/runtime/client/plugins/fetch.d.ts
16) .houdini/runtime/lib/types.d.ts > .houdini/runtime/router/types.d.ts > .houdini/runtime/router/server.d.ts > .houdini/runtime/client/index.d.ts > .houdini/runtime/client/plugins/index.d.ts > .houdini/runtime/client/plugins/fetchParams.d.ts
17) .houdini/runtime/cache/cache.d.ts > .houdini/runtime/cache/lists.d.ts > .houdini/runtime/cache/storage.d.ts > .houdini/runtime/lib/types.d.ts > .houdini/runtime/router/types.d.ts > .houdini/runtime/router/server.d.ts > .houdini/runtime/client/index.d.ts > .houdini/runtime/client/plugins/index.d.ts > .houdini/runtime/client/plugins/fragment.d.ts
18) .houdini/runtime/client/index.d.ts > .houdini/runtime/client/plugins/index.d.ts > .houdini/runtime/client/plugins/fragment.d.ts
19) .houdini/runtime/cache/cache.d.ts > .houdini/runtime/cache/lists.d.ts > .houdini/runtime/cache/storage.d.ts > .houdini/runtime/lib/types.d.ts > .houdini/runtime/router/types.d.ts > .houdini/runtime/router/server.d.ts > .houdini/runtime/client/index.d.ts > .houdini/runtime/client/plugins/index.d.ts > .houdini/runtime/client/plugins/mutation.d.ts
20) .houdini/runtime/client/index.d.ts > .houdini/runtime/client/plugins/index.d.ts > .houdini/runtime/client/plugins/mutation.d.ts
21) .houdini/runtime/cache/cache.d.ts > .houdini/runtime/cache/lists.d.ts > .houdini/runtime/cache/storage.d.ts > .houdini/runtime/lib/types.d.ts > .houdini/runtime/router/types.d.ts > .houdini/runtime/router/server.d.ts > .houdini/runtime/client/index.d.ts > .houdini/runtime/client/plugins/index.d.ts > .houdini/runtime/client/plugins/optimisticKeys.d.ts
22) .houdini/runtime/cache/cache.d.ts > .houdini/runtime/cache/lists.d.ts > .houdini/runtime/cache/storage.d.ts > .houdini/runtime/lib/types.d.ts > .houdini/runtime/router/types.d.ts > .houdini/runtime/router/server.d.ts > .houdini/runtime/client/index.d.ts > .houdini/runtime/client/plugins/index.d.ts > .houdini/runtime/client/plugins/query.d.ts
23) .houdini/runtime/client/index.d.ts > .houdini/runtime/client/plugins/index.d.ts > .houdini/runtime/client/plugins/query.d.ts
24) .houdini/runtime/lib/types.d.ts > .houdini/runtime/router/types.d.ts > .houdini/runtime/router/server.d.ts > .houdini/runtime/client/index.d.ts
25) .houdini/runtime/router/types.d.ts > .houdini/runtime/router/server.d.ts
26) .houdini/runtime/cache/cache.d.ts > .houdini/runtime/cache/staleManager.d.ts
27) .houdini/runtime/cache/cache.d.ts > .houdini/runtime/cache/subscription.d.ts
28) .houdini/runtime/public/cache.d.ts > .houdini/runtime/public/list.d.ts
29) .houdini/runtime/public/record.d.ts > .houdini/runtime/public/cache.d.ts > .houdini/runtime/public/list.d.ts > .houdini/runtime/public/types.d.ts
30) .houdini/runtime/public/record.d.ts > .houdini/runtime/public/cache.d.ts
@cblaettl have you tried cleaning your installed packages (by running pnpm prune and pnpm i or running rm -r node_modules and pnpm i)? I've had this issue when switching to branches that had old houdini and such.
Also check to see if any dependencies import older houdini (I don't recall any specific command, but you can read the pnpm lockfile cat pnpm-lock.yaml | grep houdini:
@cblaettl have you tried cleaning your installed packages (by running
pnpm pruneandpnpm ior runningrm -r node_modulesandpnpm i)? I've had this issue when switching to branches that had old houdini and such.Also check to see if any dependencies import older houdini (I don't recall any specific command, but you can read the pnpm lockfile
cat pnpm-lock.yaml | grep houdini:
Thanks for your reply, @rgon. I just now got back to the project.
I tried your suggestions but the issue still persists. My project is a very simple, freshly created sveltekit app using houdini. Therefore I'm confused why the issue occurs?
As a workaround I disabled SSR at the root layout (/src/routes/+layout.ts) by setting export const ssr = false;.
Vite now does a full page reload on every code change I make. This is far from optimal but at least it does not completely block development as it did before.
Still not sure what exactly causes the issue in the first place...