@refinedev/core 5.0.7 → 5.0.8

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@refinedev/core",
3
- "version": "5.0.7",
3
+ "version": "5.0.8",
4
4
  "private": false,
5
5
  "description": "Refine is a React meta-framework for building enterprise-level, data-intensive applications rapidly with support for modern UI libraries and headless integrations.",
6
6
  "repository": {
@@ -1,6 +1,7 @@
1
1
  import React, { type PropsWithChildren } from "react";
2
2
 
3
3
  import type { IAuthContext } from "./types";
4
+ import { useQueryClient } from "@tanstack/react-query";
4
5
 
5
6
  export const AuthProviderContext = React.createContext<Partial<IAuthContext>>(
6
7
  {},
@@ -9,6 +10,8 @@ export const AuthProviderContext = React.createContext<Partial<IAuthContext>>(
9
10
  export const AuthProviderContextProvider: React.FC<
10
11
  PropsWithChildren<IAuthContext>
11
12
  > = ({ children, isProvided, ...authProvider }) => {
13
+ const queryClient = useQueryClient();
14
+
12
15
  const handleLogin = async (params: unknown) => {
13
16
  try {
14
17
  const result = await authProvider.login?.(params);
@@ -40,6 +43,7 @@ export const AuthProviderContextProvider: React.FC<
40
43
  const handleLogout = async (params: unknown) => {
41
44
  try {
42
45
  const result = await authProvider.logout?.(params);
46
+ queryClient.invalidateQueries();
43
47
 
44
48
  return result;
45
49
  } catch (error) {
@@ -248,6 +248,8 @@ export type ContextQuery<T = BaseRecord> = {
248
248
  // | ------------------- | --------------------------------- |
249
249
  // | `eq` | Equal |
250
250
  // | ne | Not equal |
251
+ // | eqs | Equal, case sensitive |
252
+ // | nes | Not equal, case sensitive |
251
253
  // | lt | Less than |
252
254
  // | gt | Greater than |
253
255
  // | lte | Less than or equal to |
@@ -270,6 +272,8 @@ export type ContextQuery<T = BaseRecord> = {
270
272
  export type CrudOperators =
271
273
  | "eq"
272
274
  | "ne"
275
+ | "eqs"
276
+ | "nes"
273
277
  | "lt"
274
278
  | "gt"
275
279
  | "lte"
@@ -1,4 +1,5 @@
1
1
  import React from "react";
2
+ import warnOnce from "warn-once";
2
3
 
3
4
  import type { IResourceItem } from "../../../contexts/resource/types";
4
5
  import type { Action } from "../../../contexts/router/types";
@@ -34,22 +35,40 @@ export const useGetToPath = (): GetToPathFn => {
34
35
  return undefined;
35
36
  }
36
37
 
37
- const actionRoutes = getActionRoutesFromResource(
38
- selectedResource,
39
- resources,
40
- );
38
+ // Always get the full resource from resources array to ensure we have all action routes
39
+ // Priority: identifier match > name match
40
+ const fullResource =
41
+ resources.find((r) => {
42
+ // to avoid matching undefined identifiers
43
+ if (!r.identifier) return false;
44
+ if (!selectedResource.identifier) return false;
45
+ return r.identifier === selectedResource.identifier;
46
+ }) ??
47
+ resources.find((r) => {
48
+ // to avoid matching undefined identifiers
49
+ if (!r.identifier) return false;
50
+ return r.identifier === selectedResource.name;
51
+ }) ??
52
+ resources.find((r) => r.name === selectedResource.name) ??
53
+ selectedResource;
54
+
55
+ const actionRoutes = getActionRoutesFromResource(fullResource, resources);
41
56
 
42
57
  const actionRoute = actionRoutes.find(
43
58
  (item) => item.action === action,
44
59
  )?.route;
45
60
 
46
61
  if (!actionRoute) {
62
+ warnOnce(
63
+ true,
64
+ `[useGetToPath]: Could not find a route for the "${action}" action of the "${selectedResource.name}" resource. Please make sure that the resource has the "${action}" property defined.`,
65
+ );
47
66
  return undefined;
48
67
  }
49
68
 
50
69
  const composed = composeRoute(
51
70
  actionRoute,
52
- selectedResource?.meta,
71
+ fullResource?.meta,
53
72
  parsed,
54
73
  meta,
55
74
  );
package/tasks.md DELETED
@@ -1,354 +0,0 @@
1
- # Tasks: Comprehensive Deprecated and Legacy API Cleanup
2
-
3
- ## Overview
4
-
5
- This document tracks the comprehensive cleanup of all deprecated and legacy APIs in the @packages/core directory. The goal is to remove all deprecated patterns, legacy infrastructure, and obsolete code to prepare for Refine v5.
6
-
7
- ## ✅ COMPLETED - pickNotDeprecated Cleanup Initiative
8
-
9
- ### **🎉 MAJOR MILESTONE ACHIEVED: Complete Elimination of pickNotDeprecated Usage**
10
-
11
- **Summary**: Successfully eliminated all `pickNotDeprecated` usage across the entire @refinedev/core package, cleaned up deprecated parameters, and removed deprecated type definitions.
12
-
13
- ## ✅ Recently Completed Tasks
14
-
15
- ### `sorters vs sorter` Deprecation Cleanup
16
-
17
- 1. **`hooks/export/index.ts`** - ✅ COMPLETED
18
-
19
- - Removed `pickNotDeprecated(sorters, sorter)` usage from `getList` call
20
- - Removed deprecated `sorter` parameter from type definition and function signature
21
-
22
- 2. **`hooks/data/useList.ts`** - ✅ COMPLETED
23
-
24
- - Removed `pickNotDeprecated(sorters, config?.sort)` usage for sorters
25
- - Removed `pickNotDeprecated(filters)` usage
26
- - Removed unused import of `pickNotDeprecated`
27
-
28
- 3. **`src/definitions/table/index.ts`** - ✅ COMPLETED
29
- - Removed `pickNotDeprecated(sorters, sorter)` usage from parseTableParams and stringifyTableParams
30
- - Removed unused import of `pickNotDeprecated`
31
- - Updated function parameters to use only `sorters`
32
-
33
- ### **Final Cleanup Phase**
34
-
35
- 4. **`definitions/helpers/pickNotDeprecated/`** - ✅ COMPLETED
36
-
37
- - Completely removed pickNotDeprecated helper function and test file
38
- - Removed all exports from index files
39
- - Verified zero remaining usage in entire codebase
40
-
41
- 5. **Deprecated Type Definitions** - ✅ COMPLETED
42
-
43
- - Removed `Option` interface (replaced with `BaseOption`)
44
- - Removed `RedirectionTypes` type alias (replaced with `RedirectAction`)
45
- - Removed `useShowReturnType` and `useShowProps` type aliases
46
- - Cleaned up deprecated JSDoc comments
47
-
48
- 6. **Deprecated Parameter Cleanup** - ✅ COMPLETED
49
- - Removed deprecated `sort` parameter from `UseCustomConfig` interface
50
- - Removed deprecated `resourceName` parameter from export hook
51
-
52
- ### **Testing & Validation Phase**
53
-
54
- 7. **Comprehensive Testing** - ✅ COMPLETED
55
-
56
- - Fixed TypeScript compilation errors from deprecated type removals
57
- - Resolved missing exports for `RedirectionTypes`, `useShowProps`, `useShowReturnType`, `Option`
58
- - Verified package builds successfully (`pnpm build` passes)
59
- - Validated core functionality works correctly
60
-
61
- 8. **Build Verification** - ✅ COMPLETED
62
- - Package builds without TypeScript errors
63
- - All exports properly updated
64
- - No critical regressions introduced
65
- - Ready for further development or release
66
-
67
- ## ❌ High Priority Tasks (Breaking Changes)
68
-
69
- ### 1. **Remove Legacy Router Infrastructure**
70
-
71
- **Impact**: Breaking change - affects routing system
72
-
73
- **Files to Remove:**
74
-
75
- - `/Users/alicanerdurmaz/Desktop/refine/packages/core/src/contexts/router/legacy/index.tsx`
76
- - `/Users/alicanerdurmaz/Desktop/refine/packages/core/src/contexts/router/legacy/types.ts`
77
- - `/Users/alicanerdurmaz/Desktop/refine/packages/core/src/hooks/legacy-router/index.ts`
78
- - `/Users/alicanerdurmaz/Desktop/refine/packages/core/src/hooks/legacy-router/useRouterContext.ts`
79
-
80
- **Dependencies to Update:**
81
-
82
- - Update all imports referencing legacy router components
83
- - Remove legacy router context usage
84
- - Update tests that depend on legacy router
85
-
86
- ### 2. **Remove Legacy Resource Transform Helpers**
87
-
88
- **Impact**: Breaking change - affects resource definitions
89
-
90
- **Files to Remove:**
91
-
92
- - `/Users/alicanerdurmaz/Desktop/refine/packages/core/src/definitions/helpers/legacy-resource-transform/index.ts`
93
- - `/Users/alicanerdurmaz/Desktop/refine/packages/core/src/definitions/helpers/legacy-resource-transform/index.spec.ts`
94
-
95
- **Dependencies to Update:**
96
-
97
- - Remove legacy resource transformation calls
98
- - Update resource definitions to use new format
99
-
100
- ### 3. **Remove Legacy Auth Provider Support**
101
-
102
- **Impact**: Breaking change - affects authentication
103
-
104
- **Deprecated Types to Remove:**
105
-
106
- - `ILegacyAuthContext` (`/Users/alicanerdurmaz/Desktop/refine/packages/core/src/contexts/auth/types.ts:111`)
107
- - `LegacyAuthProvider` (`/Users/alicanerdurmaz/Desktop/refine/packages/core/src/contexts/auth/types.ts:96`)
108
- - Legacy auth provider methods and interfaces
109
-
110
- **Files to Update:**
111
-
112
- - All auth hooks that support legacy providers
113
- - Auth context implementations
114
- - Test files using legacy auth patterns
115
-
116
- ### 4. **Remove Deprecated Components**
117
-
118
- **Impact**: Breaking change - affects component API
119
-
120
- **Components to Remove:**
121
-
122
- - `ReadyPage` (`/Users/alicanerdurmaz/Desktop/refine/packages/core/src/components/pages/ready/index.tsx`) - deprecated, will be removed
123
- - `LoginPage` (`/Users/alicanerdurmaz/Desktop/refine/packages/core/src/components/pages/login/index.tsx`) - deprecated, use AuthPage instead
124
- - `layoutWrapper` (`/Users/alicanerdurmaz/Desktop/refine/packages/core/src/components/layoutWrapper/index.tsx`) - obsolete, legacy router only
125
-
126
- **Context Properties to Remove:**
127
-
128
- - `/Users/alicanerdurmaz/Desktop/refine/packages/core/src/contexts/refine/types.ts` - multiple deprecated layout props:
129
- - `reactQueryDevtoolConfig` (line 82)
130
- - `warnWhenUnsavedChanges` (line 135)
131
- - `catchAll` (line 162)
132
- - `DashboardPage` (line 166)
133
- - `LoginPage` (line 170)
134
- - `Title` (line 174)
135
- - `Layout` (line 178)
136
- - `Sider` (line 182)
137
- - `Header` (line 186)
138
- - `Footer` (line 190)
139
- - `OffLayoutArea` (line 194)
140
-
141
- ## ❌ Medium Priority Tasks (API Cleanup)
142
-
143
- ### 5. **Clean Up pickNotDeprecated Usage Patterns**
144
-
145
- **Impact**: Internal cleanup - maintains backward compatibility
146
-
147
- **Files with pickNotDeprecated Usage (31 files):**
148
-
149
- - `/Users/alicanerdurmaz/Desktop/refine/packages/core/src/definitions/table/index.ts` - ✅ COMPLETED
150
- - `/Users/alicanerdurmaz/Desktop/refine/packages/core/src/hooks/useSelect/index.ts` - ✅ COMPLETED
151
- - `/Users/alicanerdurmaz/Desktop/refine/packages/core/src/hooks/data/useInfiniteList.ts` - ✅ COMPLETED
152
- - `/Users/alicanerdurmaz/Desktop/refine/packages/core/src/hooks/data/useList.ts` - ✅ COMPLETED
153
- - `/Users/alicanerdurmaz/Desktop/refine/packages/core/src/hooks/export/index.ts` - ✅ COMPLETED
154
- - `/Users/alicanerdurmaz/Desktop/refine/packages/core/src/hooks/data/useCreate.ts` - ✅ COMPLETED
155
- - `/Users/alicanerdurmaz/Desktop/refine/packages/core/src/hooks/data/useDelete.ts` - ✅ COMPLETED
156
- - `/Users/alicanerdurmaz/Desktop/refine/packages/core/src/hooks/data/useUpdate.ts` - ✅ COMPLETED
157
- - `/Users/alicanerdurmaz/Desktop/refine/packages/core/src/hooks/data/useDeleteMany.ts` - ✅ COMPLETED
158
- - `/Users/alicanerdurmaz/Desktop/refine/packages/core/src/hooks/data/useUpdateMany.ts` - ✅ COMPLETED
159
- - `/Users/alicanerdurmaz/Desktop/refine/packages/core/src/hooks/data/useOne.ts` - ✅ COMPLETED
160
- - `/Users/alicanerdurmaz/Desktop/refine/packages/core/src/hooks/data/useMany.ts` - ✅ COMPLETED
161
- - `/Users/alicanerdurmaz/Desktop/refine/packages/core/src/hooks/data/useCustomMutation.ts` - ✅ COMPLETED
162
- - `/Users/alicanerdurmaz/Desktop/refine/packages/core/src/hooks/data/useCustom.ts` - ✅ COMPLETED
163
- - `/Users/alicanerdurmaz/Desktop/refine/packages/core/src/hooks/data/useCreateMany.ts` - ✅ COMPLETED
164
- - `/Users/alicanerdurmaz/Desktop/refine/packages/core/src/hooks/auditLog/useLog/index.ts` - ✅ COMPLETED
165
- - `/Users/alicanerdurmaz/Desktop/refine/packages/core/src/hooks/data/useApiUrl.ts` - ✅ COMPLETED
166
- - `/Users/alicanerdurmaz/Desktop/refine/packages/core/src/hooks/breadcrumb/index.ts` - ✅ COMPLETED
167
- - `/Users/alicanerdurmaz/Desktop/refine/packages/core/src/hooks/show/index.ts` - ✅ COMPLETED
168
- - `/Users/alicanerdurmaz/Desktop/refine/packages/core/src/hooks/import/index.tsx` - ✅ COMPLETED
169
- - `/Users/alicanerdurmaz/Desktop/refine/packages/core/src/hooks/form/index.ts` - ✅ COMPLETED
170
- - `/Users/alicanerdurmaz/Desktop/refine/packages/core/src/hooks/menu/useMenu.tsx` - ✅ COMPLETED
171
- - `/Users/alicanerdurmaz/Desktop/refine/packages/core/src/definitions/helpers/treeView/createTreeView/index.ts` - ✅ COMPLETED
172
- - `/Users/alicanerdurmaz/Desktop/refine/packages/core/src/definitions/helpers/routeGenerator/index.ts` - ✅ COMPLETED
173
- - `/Users/alicanerdurmaz/Desktop/refine/packages/core/src/definitions/helpers/router/get-parent-resource.ts` - ✅ COMPLETED
174
- - `/Users/alicanerdurmaz/Desktop/refine/packages/core/src/definitions/helpers/queryKeys/index.ts` - ✅ COMPLETED
175
-
176
- ### 6. **Remove Deprecated Hook Parameters**
177
-
178
- **Impact**: API cleanup - remove deprecated parameters
179
-
180
- **Data Hooks with @deprecated Parameters:**
181
-
182
- - `/Users/alicanerdurmaz/Desktop/refine/packages/core/src/hooks/data/useInfiniteList.ts` - Remove `@deprecated config`, `hasPagination`, `sort`, `sorter`, `metaData`
183
- - `/Users/alicanerdurmaz/Desktop/refine/packages/core/src/hooks/data/useCustom.ts` - Remove `@deprecated config`, `metaData`
184
- - `/Users/alicanerdurmaz/Desktop/refine/packages/core/src/hooks/data/useList.ts` - Remove `@deprecated config`, `hasPagination`, `sort`, `sorter`, `metaData`
185
- - `/Users/alicanerdurmaz/Desktop/refine/packages/core/src/hooks/data/useMany.ts` - Remove `@deprecated config`, `metaData`
186
- - `/Users/alicanerdurmaz/Desktop/refine/packages/core/src/hooks/data/useOne.ts` - Remove `@deprecated config`, `metaData`
187
- - `/Users/alicanerdurmaz/Desktop/refine/packages/core/src/hooks/data/useCreate.ts` - Remove `@deprecated metaData`
188
- - `/Users/alicanerdurmaz/Desktop/refine/packages/core/src/hooks/data/useUpdate.ts` - Remove `@deprecated metaData`
189
- - `/Users/alicanerdurmaz/Desktop/refine/packages/core/src/hooks/data/useDelete.ts` - Remove `@deprecated metaData`
190
- - `/Users/alicanerdurmaz/Desktop/refine/packages/core/src/hooks/data/useCreateMany.ts` - Remove `@deprecated metaData`
191
- - `/Users/alicanerdurmaz/Desktop/refine/packages/core/src/hooks/data/useUpdateMany.ts` - Remove `@deprecated metaData`
192
- - `/Users/alicanerdurmaz/Desktop/refine/packages/core/src/hooks/data/useDeleteMany.ts` - Remove `@deprecated metaData`
193
- - `/Users/alicanerdurmaz/Desktop/refine/packages/core/src/hooks/data/useCustomMutation.ts` - Remove `@deprecated metaData`
194
-
195
- **Utility Hooks with @deprecated Parameters:**
196
-
197
- - `/Users/alicanerdurmaz/Desktop/refine/packages/core/src/hooks/import/index.tsx` - Remove `@deprecated metaData`, `mapData`, `paparseConfig`, `batchSize`
198
- - `/Users/alicanerdurmaz/Desktop/refine/packages/core/src/hooks/export/index.ts` - Remove `@deprecated metaData`, `mapData`, `exportOptions`, `maxItemCount`, `pageSize`
199
- - `/Users/alicanerdurmaz/Desktop/refine/packages/core/src/hooks/useTable/index.ts` - Remove `@deprecated config`, `hasPagination`, `initialCurrent`, `initialPageSize`, `initialSorter`, `initialFilter`, `defaultSetFilterBehavior`, `metaData`
200
- - `/Users/alicanerdurmaz/Desktop/refine/packages/core/src/hooks/useSelect/index.ts` - Remove `@deprecated config`, `sort`, `sorter`, `filters`, `metaData`, `pagination`, `hasPagination`, `defaultValue`, `debounce`, `queryOptions`, `fetchSize`
201
- - `/Users/alicanerdurmaz/Desktop/refine/packages/core/src/hooks/show/index.ts` - Remove `@deprecated metaData`, `config`, `queryResult`
202
- - `/Users/alicanerdurmaz/Desktop/refine/packages/core/src/hooks/form/index.ts` - Remove `@deprecated metaData`, `queryResult`, `mutationResult`
203
-
204
- **Navigation Hooks with @deprecated Methods:**
205
-
206
- - `/Users/alicanerdurmaz/Desktop/refine/packages/core/src/hooks/navigation/index.ts` - Remove `@deprecated push()`, `replace()`, `goBack()` methods
207
-
208
- **Resource Hooks with @deprecated Parameters:**
209
-
210
- - `/Users/alicanerdurmaz/Desktop/refine/packages/core/src/hooks/resource/useResource/index.ts` - Remove `@deprecated resourceName`, `canCreate`, `canEdit`, `canDelete`, `canShow`
211
-
212
- ### 7. **Remove Deprecated Helper Functions**
213
-
214
- **Impact**: API cleanup - remove deprecated helpers
215
-
216
- **Deprecated Helper Functions:**
217
-
218
- - `/Users/alicanerdurmaz/Desktop/refine/packages/core/src/definitions/helpers/queryKeys/index.ts` - Remove deprecated `queryKeys` function
219
- - `/Users/alicanerdurmaz/Desktop/refine/packages/core/src/definitions/helpers/routeGenerator/index.ts` - Remove deprecated `generateRoute` function
220
- - `/Users/alicanerdurmaz/Desktop/refine/packages/core/src/definitions/helpers/userFriendlyResourceName/index.ts` - Remove deprecated `getUserFriendlyName` function
221
- - `/Users/alicanerdurmaz/Desktop/refine/packages/core/src/definitions/helpers/treeView/createTreeView/index.ts` - Remove deprecated `createTreeView` function
222
-
223
- ### 8. **Remove Deprecated Type Definitions**
224
-
225
- **Impact**: API cleanup - remove deprecated types
226
-
227
- **Deprecated Types:**
228
-
229
- - `Option` → Use `BaseOption` instead (`/Users/alicanerdurmaz/Desktop/refine/packages/core/src/contexts/data/types.ts:19`)
230
- - `MetaDataQuery` → Use `MetaQuery` instead (`/Users/alicanerdurmaz/Desktop/refine/packages/core/src/contexts/data/types.ts:196`)
231
- - `QueryKeys` → Use `keys` instead (`/Users/alicanerdurmaz/Desktop/refine/packages/core/src/contexts/data/types.ts:248`)
232
- - `useShowReturnType` → Use `UseShowReturnType` instead (`/Users/alicanerdurmaz/Desktop/refine/packages/core/src/hooks/show/types.ts:79`)
233
- - `useShowProps` → Use `UseShowProps` instead (`/Users/alicanerdurmaz/Desktop/refine/packages/core/src/hooks/show/types.ts:87`)
234
- - `RedirectionTypes` → Use `RedirectAction` instead (`/Users/alicanerdurmaz/Desktop/refine/packages/core/src/hooks/form/types.ts:39`)
235
-
236
- ### 9. **Remove Deprecated Resource Properties**
237
-
238
- **Impact**: API cleanup - remove deprecated resource properties
239
-
240
- **Resource Definition Deprecated Properties:**
241
-
242
- - `audit` → Use `auditLog` instead (`/Users/alicanerdurmaz/Desktop/refine/packages/core/src/contexts/resource/types.ts:83`)
243
- - `route` → Define route in components instead (`/Users/alicanerdurmaz/Desktop/refine/packages/core/src/contexts/resource/types.ts:89`)
244
- - `parentName` → Not used anymore (`/Users/alicanerdurmaz/Desktop/refine/packages/core/src/contexts/resource/types.ts:107`)
245
- - `options` → Use `meta` instead (`/Users/alicanerdurmaz/Desktop/refine/packages/core/src/contexts/resource/types.ts:111`)
246
- - `canDelete` → Use `meta.canDelete` instead (`/Users/alicanerdurmaz/Desktop/refine/packages/core/src/contexts/resource/types.ts:120`)
247
- - `icon` → Use `meta.icon` instead (`/Users/alicanerdurmaz/Desktop/refine/packages/core/src/contexts/resource/types.ts:124`)
248
- - `parent` → Use `meta.parent` instead (`/Users/alicanerdurmaz/Desktop/refine/packages/core/src/contexts/resource/types.ts:128`)
249
- - `create`, `edit`, `show` → Use action props instead (`/Users/alicanerdurmaz/Desktop/refine/packages/core/src/contexts/resource/types.ts:135,139,143`)
250
- - `label` → Use `meta.label` instead (`/Users/alicanerdurmaz/Desktop/refine/packages/core/src/contexts/resource/types.ts:167`)
251
- - `route` → Use action components instead (`/Users/alicanerdurmaz/Desktop/refine/packages/core/src/contexts/resource/types.ts:171`)
252
-
253
- ### 10. **Remove Deprecated Live Provider Properties**
254
-
255
- **Impact**: API cleanup - remove deprecated live properties
256
-
257
- **Live Provider Deprecated Properties:**
258
-
259
- - `dataProviderName` → Use `meta.dataProviderName` instead (`/Users/alicanerdurmaz/Desktop/refine/packages/core/src/contexts/live/types.ts:81`)
260
- - `params.meta` → Use `meta` directly (`/Users/alicanerdurmaz/Desktop/refine/packages/core/src/contexts/live/types.ts:85`)
261
- - `hasPagination` → Use `pagination.mode` instead (`/Users/alicanerdurmaz/Desktop/refine/packages/core/src/contexts/live/types.ts:90`)
262
- - `sort` → Use `sorters` instead (`/Users/alicanerdurmaz/Desktop/refine/packages/core/src/contexts/live/types.ts:94`)
263
-
264
- ## ❌ Low Priority Tasks (Documentation & Tests)
265
-
266
- ### 11. **Update Test Files**
267
-
268
- **Impact**: Test maintenance - ensure tests use new APIs
269
-
270
- **Test Files Needing Updates:**
271
-
272
- - All `.spec.ts` and `.spec.tsx` files that use deprecated APIs
273
- - Update test expectations to match new interfaces
274
- - Remove tests for deprecated functionality
275
- - Update snapshots and mock data
276
-
277
- ### 12. **Clean Up JSDoc Comments**
278
-
279
- **Impact**: Documentation cleanup
280
-
281
- **Actions:**
282
-
283
- - Remove all `@deprecated` JSDoc comments after removing deprecated APIs
284
- - Update documentation to reflect new API patterns
285
- - Add migration notes where appropriate
286
-
287
- ### 13. **Remove pickNotDeprecated Helper**
288
-
289
- **Impact**: Final cleanup - remove helper function
290
-
291
- **Files to Remove (after all usage is cleaned up):**
292
-
293
- - `/Users/alicanerdurmaz/Desktop/refine/packages/core/src/definitions/helpers/pickNotDeprecated/index.ts`
294
- - `/Users/alicanerdurmaz/Desktop/refine/packages/core/src/definitions/helpers/pickNotDeprecated/index.spec.ts`
295
- - Remove exports from `/Users/alicanerdurmaz/Desktop/refine/packages/core/src/definitions/helpers/index.ts`
296
- - Remove exports from `/Users/alicanerdurmaz/Desktop/refine/packages/core/src/index.tsx`
297
-
298
- ## Implementation Strategy
299
-
300
- ### Phase 1: Legacy Infrastructure Removal (Breaking Changes)
301
-
302
- 1. Remove legacy router system
303
- 2. Remove legacy resource transform helpers
304
- 3. Remove legacy auth provider support
305
- 4. Remove deprecated components
306
-
307
- ### Phase 2: API Parameter Cleanup
308
-
309
- 1. Remove all `pickNotDeprecated` usage patterns
310
- 2. Remove deprecated hook parameters
311
- 3. Remove deprecated helper functions
312
- 4. Remove deprecated type definitions
313
-
314
- ### Phase 3: Resource and Context Cleanup
315
-
316
- 1. Remove deprecated resource properties
317
- 2. Remove deprecated context properties
318
- 3. Remove deprecated live provider properties
319
-
320
- ### Phase 4: Testing and Documentation
321
-
322
- 1. Update all test files
323
- 2. Clean up JSDoc comments
324
- 3. Remove pickNotDeprecated helper
325
- 4. Update documentation
326
-
327
- ## Success Criteria
328
-
329
- - ✅ All legacy infrastructure removed
330
- - ✅ All deprecated APIs removed
331
- - ✅ All `pickNotDeprecated` usage eliminated
332
- - ✅ All deprecated components removed
333
- - ✅ All deprecated type definitions removed
334
- - ✅ TypeScript compilation passes without deprecated warnings
335
- - ✅ All tests pass with new APIs
336
- - ✅ No functional regressions introduced
337
- - ✅ Documentation updated and clean
338
-
339
- ## Breaking Change Warnings
340
-
341
- ⚠️ **HIGH IMPACT**: This cleanup will introduce breaking changes that require user code updates:
342
-
343
- - Legacy router usage will break
344
- - Deprecated component usage will break
345
- - Legacy auth provider usage will break
346
- - Deprecated hook parameters will be removed
347
-
348
- ## Notes
349
-
350
- - This cleanup is essential for Refine v5 release
351
- - All changes should be thoroughly tested
352
- - Consider creating a migration guide for users
353
- - Some deprecated APIs may need to be maintained for backward compatibility during transition period
354
- - Coordinate with documentation team for user-facing migration guides