@@ -79,6 +79,28 @@ const PARAMS_SERIALIZER_DEPENDENCIES: GeneratorDependency[] = [
7979 } ,
8080] ;
8181
82+ const SVELTE_QUERY_DEPENDENCIES_V3 : GeneratorDependency [ ] = [
83+ {
84+ exports : [
85+ { name : 'useQuery' , values : true } ,
86+ { name : 'useInfiniteQuery' , values : true } ,
87+ { name : 'useMutation' , values : true } ,
88+ { name : 'UseQueryOptions' } ,
89+ {
90+ name : 'UseInfiniteQueryOptions' ,
91+ } ,
92+ { name : 'UseMutationOptions' } ,
93+ { name : 'QueryFunction' } ,
94+ { name : 'MutationFunction' } ,
95+ { name : 'UseQueryStoreResult' } ,
96+ { name : 'UseInfiniteQueryStoreResult' } ,
97+ { name : 'QueryKey' } ,
98+ { name : 'CreateMutationResult' } ,
99+ { name : 'InvalidateOptions' } ,
100+ ] ,
101+ dependency : '@sveltestack/svelte-query' ,
102+ } ,
103+ ] ;
82104const SVELTE_QUERY_DEPENDENCIES : GeneratorDependency [ ] = [
83105 {
84106 exports : [
@@ -105,6 +127,19 @@ const SVELTE_QUERY_DEPENDENCIES: GeneratorDependency[] = [
105127 } ,
106128] ;
107129
130+ const isSvelteQueryV3 = ( packageJson : PackageJson | undefined ) => {
131+ const hasSvelteQuery =
132+ packageJson ?. dependencies ?. [ '@sveltestack/svelte-query' ] ??
133+ packageJson ?. devDependencies ?. [ '@sveltestack/svelte-query' ] ??
134+ packageJson ?. peerDependencies ?. [ '@sveltestack/svelte-query' ] ;
135+ const hasSvelteQueryV4 =
136+ packageJson ?. dependencies ?. [ '@tanstack/svelte-query' ] ??
137+ packageJson ?. devDependencies ?. [ '@tanstack/svelte-query' ] ??
138+ packageJson ?. peerDependencies ?. [ '@tanstack/svelte-query' ] ;
139+
140+ return ! ! hasSvelteQuery && ! hasSvelteQueryV4 ;
141+ } ;
142+
108143const isSvelteQueryV6 = ( packageJson : PackageJson | undefined ) => {
109144 return isQueryV6 ( packageJson , 'svelte-query' ) ;
110145} ;
@@ -115,15 +150,41 @@ export const getSvelteQueryDependencies: ClientDependenciesBuilder = (
115150 packageJson ,
116151 httpClient ?: OutputHttpClient ,
117152) => {
153+ const hasSvelteQueryV3 = isSvelteQueryV3 ( packageJson ) ;
154+
118155 return [
119156 ...( ! hasGlobalMutator && httpClient === OutputHttpClient . AXIOS
120157 ? AXIOS_DEPENDENCIES
121158 : [ ] ) ,
122159 ...( hasParamsSerializerOptions ? PARAMS_SERIALIZER_DEPENDENCIES : [ ] ) ,
123- ...SVELTE_QUERY_DEPENDENCIES ,
160+ ...( hasSvelteQueryV3
161+ ? SVELTE_QUERY_DEPENDENCIES_V3
162+ : SVELTE_QUERY_DEPENDENCIES ) ,
124163 ] ;
125164} ;
126165
166+ const REACT_QUERY_DEPENDENCIES_V3 : GeneratorDependency [ ] = [
167+ {
168+ exports : [
169+ { name : 'useQuery' , values : true } ,
170+ { name : 'useInfiniteQuery' , values : true } ,
171+ { name : 'useMutation' , values : true } ,
172+ { name : 'useQueryClient' , values : true } ,
173+ { name : 'UseQueryOptions' } ,
174+ { name : 'UseInfiniteQueryOptions' } ,
175+ { name : 'UseMutationOptions' } ,
176+ { name : 'QueryFunction' } ,
177+ { name : 'MutationFunction' } ,
178+ { name : 'UseQueryResult' } ,
179+ { name : 'UseInfiniteQueryResult' } ,
180+ { name : 'QueryKey' } ,
181+ { name : 'QueryClient' } ,
182+ { name : 'UseMutationResult' } ,
183+ { name : 'InvalidateOptions' } ,
184+ ] ,
185+ dependency : 'react-query' ,
186+ } ,
187+ ] ;
127188const REACT_QUERY_DEPENDENCIES : GeneratorDependency [ ] = [
128189 {
129190 exports : [
@@ -165,17 +226,71 @@ export const getReactQueryDependencies: ClientDependenciesBuilder = (
165226 packageJson ,
166227 httpClient ,
167228 hasTagsMutator ,
229+ override ,
168230) => {
231+ const hasReactQuery =
232+ packageJson ?. dependencies ?. [ 'react-query' ] ??
233+ packageJson ?. devDependencies ?. [ 'react-query' ] ??
234+ packageJson ?. peerDependencies ?. [ 'react-query' ] ;
235+ const hasReactQueryV4 =
236+ packageJson ?. dependencies ?. [ '@tanstack/react-query' ] ??
237+ packageJson ?. devDependencies ?. [ '@tanstack/react-query' ] ??
238+ packageJson ?. peerDependencies ?. [ '@tanstack/react-query' ] ;
239+
240+ const useReactQueryV3 =
241+ override ?. query . version === undefined
242+ ? hasReactQuery && ! hasReactQueryV4
243+ : override ?. query . version <= 3 ;
244+
169245 return [
170246 ...( hasGlobalMutator || hasTagsMutator ? REACT_DEPENDENCIES : [ ] ) ,
171247 ...( ! hasGlobalMutator && httpClient === OutputHttpClient . AXIOS
172248 ? AXIOS_DEPENDENCIES
173249 : [ ] ) ,
174250 ...( hasParamsSerializerOptions ? PARAMS_SERIALIZER_DEPENDENCIES : [ ] ) ,
175- ...REACT_QUERY_DEPENDENCIES ,
251+ ...( useReactQueryV3
252+ ? REACT_QUERY_DEPENDENCIES_V3
253+ : REACT_QUERY_DEPENDENCIES ) ,
176254 ] ;
177255} ;
178256
257+ const VUE_QUERY_DEPENDENCIES_V3 : GeneratorDependency [ ] = [
258+ {
259+ exports : [
260+ { name : 'useQuery' , values : true } ,
261+ { name : 'useInfiniteQuery' , values : true } ,
262+ { name : 'useMutation' , values : true } ,
263+ ] ,
264+ dependency : 'vue-query' ,
265+ } ,
266+ {
267+ exports : [
268+ { name : 'UseQueryOptions' } ,
269+ { name : 'UseInfiniteQueryOptions' } ,
270+ { name : 'UseMutationOptions' } ,
271+ { name : 'QueryFunction' } ,
272+ { name : 'MutationFunction' } ,
273+ { name : 'UseQueryResult' } ,
274+ { name : 'UseInfiniteQueryResult' } ,
275+ { name : 'QueryKey' } ,
276+ { name : 'UseMutationReturnType' } ,
277+ { name : 'InvalidateOptions' } ,
278+ ] ,
279+ dependency : 'vue-query/types' ,
280+ } ,
281+ {
282+ exports : [
283+ { name : 'unref' , values : true } ,
284+ { name : 'computed' , values : true } ,
285+ ] ,
286+ dependency : 'vue' ,
287+ } ,
288+ {
289+ exports : [ { name : 'UseQueryReturnType' } ] ,
290+ dependency : 'vue-query/lib/vue/useBaseQuery' ,
291+ } ,
292+ ] ;
293+
179294const VUE_QUERY_DEPENDENCIES : GeneratorDependency [ ] = [
180295 {
181296 exports : [
@@ -208,18 +323,33 @@ const VUE_QUERY_DEPENDENCIES: GeneratorDependency[] = [
208323 } ,
209324] ;
210325
326+ const isVueQueryV3 = ( packageJson : PackageJson | undefined ) => {
327+ const hasVueQuery =
328+ packageJson ?. dependencies ?. [ 'vue-query' ] ??
329+ packageJson ?. devDependencies ?. [ 'vue-query' ] ??
330+ packageJson ?. peerDependencies ?. [ 'vue-query' ] ;
331+ const hasVueQueryV4 =
332+ packageJson ?. dependencies ?. [ '@tanstack/vue-query' ] ??
333+ packageJson ?. devDependencies ?. [ '@tanstack/vue-query' ] ??
334+ packageJson ?. peerDependencies ?. [ '@tanstack/vue-query' ] ;
335+
336+ return ! ! hasVueQuery && ! hasVueQueryV4 ;
337+ } ;
338+
211339export const getVueQueryDependencies : ClientDependenciesBuilder = (
212340 hasGlobalMutator : boolean ,
213341 hasParamsSerializerOptions : boolean ,
214342 packageJson ,
215343 httpClient ?: OutputHttpClient ,
216344) => {
345+ const hasVueQueryV3 = isVueQueryV3 ( packageJson ) ;
346+
217347 return [
218348 ...( ! hasGlobalMutator && httpClient === OutputHttpClient . AXIOS
219349 ? AXIOS_DEPENDENCIES
220350 : [ ] ) ,
221351 ...( hasParamsSerializerOptions ? PARAMS_SERIALIZER_DEPENDENCIES : [ ] ) ,
222- ...VUE_QUERY_DEPENDENCIES ,
352+ ...( hasVueQueryV3 ? VUE_QUERY_DEPENDENCIES_V3 : VUE_QUERY_DEPENDENCIES ) ,
223353 ] ;
224354} ;
225355
@@ -1136,8 +1266,12 @@ const generateQueryHook = async (
11361266 ! ! context . output . tsconfig ?. compilerOptions ?. exactOptionalPropertyTypes ;
11371267 const queryVersion = override . query . version ?? query ?. version ;
11381268
1139- const hasVueQueryV4 = OutputClient . VUE_QUERY === outputClient ;
1140- const hasSvelteQueryV4 = OutputClient . SVELTE_QUERY === outputClient ;
1269+ const hasVueQueryV4 =
1270+ OutputClient . VUE_QUERY === outputClient &&
1271+ ( ! isVueQueryV3 ( context . output . packageJson ) || queryVersion === 4 ) ;
1272+ const hasSvelteQueryV4 =
1273+ OutputClient . SVELTE_QUERY === outputClient &&
1274+ ( ! isSvelteQueryV3 ( context . output . packageJson ) || queryVersion === 4 ) ;
11411275 const hasSvelteQueryV6 =
11421276 OutputClient . SVELTE_QUERY === outputClient &&
11431277 isSvelteQueryV6 ( context . output . packageJson ) ;
0 commit comments