@rozenite/tanstack-query-plugin 2.1.0 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +24 -0
- package/dist/devtools/assets/{CXEL7IU7-BWccRGN3.js → CXEL7IU7-D2MCp9XC.js} +1 -1
- package/dist/devtools/assets/{tanstack-query-CbF_imft.js → tanstack-query-Bk8rHBM2.js} +12 -12
- package/dist/devtools/tanstack-query.html +1 -1
- package/dist/react-native/cjs/package.json +3 -0
- package/dist/react-native/cjs/react-native.js +12 -0
- package/dist/react-native/cjs/src/react-native/agent/tanstack-query-agent.js +376 -0
- package/dist/react-native/cjs/src/react-native/agent/useTanStackQueryAgentTools.js +98 -0
- package/dist/react-native/cjs/src/react-native/devtools-actions.js +161 -0
- package/dist/react-native/cjs/src/react-native/useHandleDevToolsMessages.js +26 -0
- package/dist/react-native/cjs/src/react-native/useHandleInitialData.js +26 -0
- package/dist/react-native/cjs/src/react-native/useSyncTanStackCache.js +203 -0
- package/dist/react-native/cjs/src/react-native/useTanStackQueryDevTools.js +20 -0
- package/dist/react-native/cjs/src/shared/agent-tools.js +197 -0
- package/dist/react-native/cjs/src/shared/dehydrate.js +35 -0
- package/dist/react-native/cjs/src/shared/messaging.js +2 -0
- package/dist/react-native/cjs/src/shared/types.js +2 -0
- package/dist/react-native/cjs/src/shared/useSyncOnlineStatus.js +23 -0
- package/dist/react-native/package.json +3 -0
- package/dist/react-native/react-native.d.ts +1 -0
- package/dist/react-native/react-native.js +10 -0
- package/dist/{sdk/index.d.ts → react-native/src/react-native/agent/tanstack-query-agent.d.ts} +2105 -1939
- package/dist/react-native/src/react-native/agent/tanstack-query-agent.js +370 -0
- package/dist/react-native/src/react-native/agent/useTanStackQueryAgentTools.d.ts +2 -0
- package/dist/react-native/src/react-native/agent/useTanStackQueryAgentTools.js +94 -0
- package/dist/react-native/src/react-native/devtools-actions.d.ts +115 -0
- package/dist/react-native/src/react-native/devtools-actions.js +157 -0
- package/dist/react-native/src/react-native/useHandleDevToolsMessages.d.ts +3 -0
- package/dist/react-native/src/react-native/useHandleDevToolsMessages.js +22 -0
- package/dist/react-native/src/react-native/useHandleInitialData.d.ts +3 -0
- package/dist/react-native/src/react-native/useHandleInitialData.js +22 -0
- package/dist/react-native/src/react-native/useSyncTanStackCache.d.ts +3 -0
- package/dist/react-native/src/react-native/useSyncTanStackCache.js +196 -0
- package/dist/react-native/src/react-native/useTanStackQueryDevTools.d.ts +2 -0
- package/dist/react-native/src/react-native/useTanStackQueryDevTools.js +16 -0
- package/dist/react-native/src/shared/agent-tools.d.ts +967 -0
- package/dist/react-native/src/shared/agent-tools.js +194 -0
- package/dist/react-native/src/shared/dehydrate.d.ts +6 -0
- package/dist/react-native/src/shared/dehydrate.js +28 -0
- package/dist/react-native/src/shared/messaging.d.ts +44 -0
- package/dist/react-native/src/shared/messaging.js +1 -0
- package/dist/react-native/src/shared/types.d.ts +25 -0
- package/dist/react-native/src/shared/types.js +1 -0
- package/dist/react-native/src/shared/useSyncOnlineStatus.d.ts +2 -0
- package/dist/react-native/src/shared/useSyncOnlineStatus.js +19 -0
- package/dist/rozenite.json +1 -1
- package/dist/sdk/package.json +3 -0
- package/dist/sdk/sdk.d.ts +812 -0
- package/dist/sdk/sdk.js +8 -0
- package/dist/sdk/src/react-native/devtools-actions.d.ts +115 -0
- package/dist/sdk/src/react-native/devtools-actions.js +161 -0
- package/dist/sdk/src/shared/agent-tools.d.ts +967 -0
- package/dist/sdk/src/shared/agent-tools.js +197 -0
- package/dist/sdk/src/shared/types.d.ts +25 -0
- package/dist/sdk/src/shared/types.js +2 -0
- package/package.json +18 -18
- package/react-native.ts +8 -1
- package/rozenite.config.ts +1 -0
- package/src/__tests__/release-bundle.test.ts +32 -0
- package/tsconfig.json +1 -3
- package/dist/react-native/chunks/useTanStackQueryDevTools.require.cjs +0 -1
- package/dist/react-native/chunks/useTanStackQueryDevTools.require.js +0 -895
- package/dist/react-native/index.cjs +0 -1
- package/dist/react-native/index.d.ts +0 -7
- package/dist/react-native/index.js +0 -6
- package/dist/sdk/index.cjs +0 -1
- package/dist/sdk/index.js +0 -199
package/dist/sdk/sdk.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.tanstackQueryTools = exports.tanstackQueryToolDefinitions = exports.TANSTACK_QUERY_AGENT_PLUGIN_ID = void 0;
|
|
4
|
+
const agent_shared_1 = require("@rozenite/agent-shared");
|
|
5
|
+
const agent_tools_js_1 = require("./src/shared/agent-tools.js");
|
|
6
|
+
Object.defineProperty(exports, "TANSTACK_QUERY_AGENT_PLUGIN_ID", { enumerable: true, get: function () { return agent_tools_js_1.TANSTACK_QUERY_AGENT_PLUGIN_ID; } });
|
|
7
|
+
Object.defineProperty(exports, "tanstackQueryToolDefinitions", { enumerable: true, get: function () { return agent_tools_js_1.tanstackQueryToolDefinitions; } });
|
|
8
|
+
exports.tanstackQueryTools = (0, agent_shared_1.defineAgentToolDescriptors)(agent_tools_js_1.TANSTACK_QUERY_AGENT_PLUGIN_ID, agent_tools_js_1.tanstackQueryToolDefinitions);
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { QueryClient } from '@tanstack/react-query';
|
|
2
|
+
import { DevToolsActionType } from '../shared/types';
|
|
3
|
+
type QueryScopedActionInput = {
|
|
4
|
+
type: Exclude<DevToolsActionType, 'CLEAR_MUTATION_CACHE' | 'CLEAR_QUERY_CACHE'>;
|
|
5
|
+
queryHash: string;
|
|
6
|
+
metadata?: {
|
|
7
|
+
data?: unknown;
|
|
8
|
+
};
|
|
9
|
+
};
|
|
10
|
+
type CacheScopedActionInput = {
|
|
11
|
+
type: 'CLEAR_MUTATION_CACHE' | 'CLEAR_QUERY_CACHE';
|
|
12
|
+
queryHash?: string;
|
|
13
|
+
};
|
|
14
|
+
export type TanStackQueryDevtoolsActionInput = QueryScopedActionInput | CacheScopedActionInput;
|
|
15
|
+
export declare const applyTanStackQueryDevtoolsAction: (queryClient: QueryClient, input: TanStackQueryDevtoolsActionInput) => Promise<{
|
|
16
|
+
applied: boolean;
|
|
17
|
+
action: "CLEAR_QUERY_CACHE";
|
|
18
|
+
cleared: boolean;
|
|
19
|
+
queryCountBefore: number;
|
|
20
|
+
queryCountAfter: number;
|
|
21
|
+
mutationCountBefore?: undefined;
|
|
22
|
+
mutationCountAfter?: undefined;
|
|
23
|
+
queryHash?: undefined;
|
|
24
|
+
} | {
|
|
25
|
+
applied: boolean;
|
|
26
|
+
action: "CLEAR_MUTATION_CACHE";
|
|
27
|
+
cleared: boolean;
|
|
28
|
+
mutationCountBefore: number;
|
|
29
|
+
mutationCountAfter: number;
|
|
30
|
+
queryCountBefore?: undefined;
|
|
31
|
+
queryCountAfter?: undefined;
|
|
32
|
+
queryHash?: undefined;
|
|
33
|
+
} | {
|
|
34
|
+
applied: boolean;
|
|
35
|
+
action: "SET_QUERY_DATA";
|
|
36
|
+
queryHash: string;
|
|
37
|
+
cleared?: undefined;
|
|
38
|
+
queryCountBefore?: undefined;
|
|
39
|
+
queryCountAfter?: undefined;
|
|
40
|
+
mutationCountBefore?: undefined;
|
|
41
|
+
mutationCountAfter?: undefined;
|
|
42
|
+
} | {
|
|
43
|
+
applied: boolean;
|
|
44
|
+
action: "TRIGGER_ERROR";
|
|
45
|
+
queryHash: string;
|
|
46
|
+
cleared?: undefined;
|
|
47
|
+
queryCountBefore?: undefined;
|
|
48
|
+
queryCountAfter?: undefined;
|
|
49
|
+
mutationCountBefore?: undefined;
|
|
50
|
+
mutationCountAfter?: undefined;
|
|
51
|
+
} | {
|
|
52
|
+
applied: boolean;
|
|
53
|
+
action: "RESTORE_ERROR";
|
|
54
|
+
queryHash: string;
|
|
55
|
+
cleared?: undefined;
|
|
56
|
+
queryCountBefore?: undefined;
|
|
57
|
+
queryCountAfter?: undefined;
|
|
58
|
+
mutationCountBefore?: undefined;
|
|
59
|
+
mutationCountAfter?: undefined;
|
|
60
|
+
} | {
|
|
61
|
+
applied: boolean;
|
|
62
|
+
action: "TRIGGER_LOADING";
|
|
63
|
+
queryHash: string;
|
|
64
|
+
cleared?: undefined;
|
|
65
|
+
queryCountBefore?: undefined;
|
|
66
|
+
queryCountAfter?: undefined;
|
|
67
|
+
mutationCountBefore?: undefined;
|
|
68
|
+
mutationCountAfter?: undefined;
|
|
69
|
+
} | {
|
|
70
|
+
applied: boolean;
|
|
71
|
+
action: "RESTORE_LOADING";
|
|
72
|
+
queryHash: string;
|
|
73
|
+
cleared?: undefined;
|
|
74
|
+
queryCountBefore?: undefined;
|
|
75
|
+
queryCountAfter?: undefined;
|
|
76
|
+
mutationCountBefore?: undefined;
|
|
77
|
+
mutationCountAfter?: undefined;
|
|
78
|
+
} | {
|
|
79
|
+
applied: boolean;
|
|
80
|
+
action: "RESET";
|
|
81
|
+
queryHash: string;
|
|
82
|
+
cleared?: undefined;
|
|
83
|
+
queryCountBefore?: undefined;
|
|
84
|
+
queryCountAfter?: undefined;
|
|
85
|
+
mutationCountBefore?: undefined;
|
|
86
|
+
mutationCountAfter?: undefined;
|
|
87
|
+
} | {
|
|
88
|
+
applied: boolean;
|
|
89
|
+
action: "REMOVE";
|
|
90
|
+
queryHash: string;
|
|
91
|
+
cleared?: undefined;
|
|
92
|
+
queryCountBefore?: undefined;
|
|
93
|
+
queryCountAfter?: undefined;
|
|
94
|
+
mutationCountBefore?: undefined;
|
|
95
|
+
mutationCountAfter?: undefined;
|
|
96
|
+
} | {
|
|
97
|
+
applied: boolean;
|
|
98
|
+
action: "REFETCH";
|
|
99
|
+
queryHash: string;
|
|
100
|
+
cleared?: undefined;
|
|
101
|
+
queryCountBefore?: undefined;
|
|
102
|
+
queryCountAfter?: undefined;
|
|
103
|
+
mutationCountBefore?: undefined;
|
|
104
|
+
mutationCountAfter?: undefined;
|
|
105
|
+
} | {
|
|
106
|
+
applied: boolean;
|
|
107
|
+
action: "INVALIDATE";
|
|
108
|
+
queryHash: string;
|
|
109
|
+
cleared?: undefined;
|
|
110
|
+
queryCountBefore?: undefined;
|
|
111
|
+
queryCountAfter?: undefined;
|
|
112
|
+
mutationCountBefore?: undefined;
|
|
113
|
+
mutationCountAfter?: undefined;
|
|
114
|
+
}>;
|
|
115
|
+
export {};
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.applyTanStackQueryDevtoolsAction = void 0;
|
|
4
|
+
const getActiveQuery = (queryClient, queryHash) => {
|
|
5
|
+
if (!queryHash) {
|
|
6
|
+
throw new Error('queryHash is required for this TanStack Query action.');
|
|
7
|
+
}
|
|
8
|
+
const activeQuery = queryClient.getQueryCache().get(queryHash);
|
|
9
|
+
if (!activeQuery) {
|
|
10
|
+
throw new Error(`No active query found for hash: ${queryHash}`);
|
|
11
|
+
}
|
|
12
|
+
return activeQuery;
|
|
13
|
+
};
|
|
14
|
+
const applyTanStackQueryDevtoolsAction = async (queryClient, input) => {
|
|
15
|
+
switch (input.type) {
|
|
16
|
+
case 'CLEAR_QUERY_CACHE': {
|
|
17
|
+
const queryCountBefore = queryClient.getQueryCache().getAll().length;
|
|
18
|
+
queryClient.getQueryCache().clear();
|
|
19
|
+
return {
|
|
20
|
+
applied: true,
|
|
21
|
+
action: input.type,
|
|
22
|
+
cleared: true,
|
|
23
|
+
queryCountBefore,
|
|
24
|
+
queryCountAfter: queryClient.getQueryCache().getAll().length,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
case 'CLEAR_MUTATION_CACHE': {
|
|
28
|
+
const mutationCountBefore = queryClient.getMutationCache().getAll().length;
|
|
29
|
+
queryClient.getMutationCache().clear();
|
|
30
|
+
return {
|
|
31
|
+
applied: true,
|
|
32
|
+
action: input.type,
|
|
33
|
+
cleared: true,
|
|
34
|
+
mutationCountBefore,
|
|
35
|
+
mutationCountAfter: queryClient.getMutationCache().getAll().length,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
case 'SET_QUERY_DATA': {
|
|
39
|
+
const activeQuery = getActiveQuery(queryClient, input.queryHash);
|
|
40
|
+
queryClient.setQueryData(activeQuery.queryKey, input.metadata?.data);
|
|
41
|
+
return {
|
|
42
|
+
applied: true,
|
|
43
|
+
action: input.type,
|
|
44
|
+
queryHash: activeQuery.queryHash,
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
case 'TRIGGER_ERROR': {
|
|
48
|
+
const activeQuery = getActiveQuery(queryClient, input.queryHash);
|
|
49
|
+
const previousQueryOptions = activeQuery.options;
|
|
50
|
+
const error = new Error('Unknown error from devtools');
|
|
51
|
+
activeQuery.setState({
|
|
52
|
+
status: 'error',
|
|
53
|
+
error,
|
|
54
|
+
fetchMeta: {
|
|
55
|
+
...activeQuery.state.fetchMeta,
|
|
56
|
+
// @ts-expect-error This does exist
|
|
57
|
+
__previousQueryOptions: previousQueryOptions,
|
|
58
|
+
},
|
|
59
|
+
});
|
|
60
|
+
return {
|
|
61
|
+
applied: true,
|
|
62
|
+
action: input.type,
|
|
63
|
+
queryHash: activeQuery.queryHash,
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
case 'RESTORE_ERROR': {
|
|
67
|
+
const activeQuery = getActiveQuery(queryClient, input.queryHash);
|
|
68
|
+
await queryClient.resetQueries(activeQuery);
|
|
69
|
+
return {
|
|
70
|
+
applied: true,
|
|
71
|
+
action: input.type,
|
|
72
|
+
queryHash: activeQuery.queryHash,
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
case 'TRIGGER_LOADING': {
|
|
76
|
+
const activeQuery = getActiveQuery(queryClient, input.queryHash);
|
|
77
|
+
const previousQueryOptions = activeQuery.options;
|
|
78
|
+
void activeQuery.fetch({
|
|
79
|
+
...previousQueryOptions,
|
|
80
|
+
queryFn: () => new Promise(() => {
|
|
81
|
+
// Never resolve - simulates perpetual loading
|
|
82
|
+
}),
|
|
83
|
+
gcTime: -1,
|
|
84
|
+
});
|
|
85
|
+
activeQuery.setState({
|
|
86
|
+
data: undefined,
|
|
87
|
+
status: 'pending',
|
|
88
|
+
fetchMeta: {
|
|
89
|
+
...activeQuery.state.fetchMeta,
|
|
90
|
+
// @ts-expect-error This does exist
|
|
91
|
+
__previousQueryOptions: previousQueryOptions,
|
|
92
|
+
},
|
|
93
|
+
});
|
|
94
|
+
return {
|
|
95
|
+
applied: true,
|
|
96
|
+
action: input.type,
|
|
97
|
+
queryHash: activeQuery.queryHash,
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
case 'RESTORE_LOADING': {
|
|
101
|
+
const activeQuery = getActiveQuery(queryClient, input.queryHash);
|
|
102
|
+
const previousState = activeQuery.state;
|
|
103
|
+
const previousOptions = activeQuery.state.fetchMeta
|
|
104
|
+
? activeQuery.state.fetchMeta.__previousQueryOptions
|
|
105
|
+
: null;
|
|
106
|
+
activeQuery.cancel({ silent: true });
|
|
107
|
+
activeQuery.setState({
|
|
108
|
+
...previousState,
|
|
109
|
+
fetchStatus: 'idle',
|
|
110
|
+
fetchMeta: null,
|
|
111
|
+
});
|
|
112
|
+
if (previousOptions) {
|
|
113
|
+
void activeQuery.fetch(previousOptions);
|
|
114
|
+
}
|
|
115
|
+
return {
|
|
116
|
+
applied: true,
|
|
117
|
+
action: input.type,
|
|
118
|
+
queryHash: activeQuery.queryHash,
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
case 'RESET': {
|
|
122
|
+
const activeQuery = getActiveQuery(queryClient, input.queryHash);
|
|
123
|
+
await queryClient.resetQueries(activeQuery);
|
|
124
|
+
return {
|
|
125
|
+
applied: true,
|
|
126
|
+
action: input.type,
|
|
127
|
+
queryHash: activeQuery.queryHash,
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
case 'REMOVE': {
|
|
131
|
+
const activeQuery = getActiveQuery(queryClient, input.queryHash);
|
|
132
|
+
queryClient.removeQueries(activeQuery);
|
|
133
|
+
return {
|
|
134
|
+
applied: true,
|
|
135
|
+
action: input.type,
|
|
136
|
+
queryHash: activeQuery.queryHash,
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
case 'REFETCH': {
|
|
140
|
+
const activeQuery = getActiveQuery(queryClient, input.queryHash);
|
|
141
|
+
await activeQuery.fetch().catch(() => {
|
|
142
|
+
// Ignore errors from refetch in the agent/UI bridge.
|
|
143
|
+
});
|
|
144
|
+
return {
|
|
145
|
+
applied: true,
|
|
146
|
+
action: input.type,
|
|
147
|
+
queryHash: activeQuery.queryHash,
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
case 'INVALIDATE': {
|
|
151
|
+
const activeQuery = getActiveQuery(queryClient, input.queryHash);
|
|
152
|
+
await queryClient.invalidateQueries(activeQuery);
|
|
153
|
+
return {
|
|
154
|
+
applied: true,
|
|
155
|
+
action: input.type,
|
|
156
|
+
queryHash: activeQuery.queryHash,
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
};
|
|
161
|
+
exports.applyTanStackQueryDevtoolsAction = applyTanStackQueryDevtoolsAction;
|