@pankod/refine-core
Advanced tools
Changelog
v3.97.0
Features
@pankod/refine-core
packageSwizzleable components:
@pankod/refine-inferencer
package@pankod/refine-inferencer
is a package that provides a way to automatically generate views for resources based on the data structure.0767d7a07a7
Thanks @yildirayunlu! - Added the useInfiniteList
hook 🥳. This hook is a modified version of react-query's useInfiniteQuery
used for retrieving items from a resource with pagination, sort, and filter configurations.
#3324 9bfb34749bc
Thanks @aliemir! - Added the ability to pass mutation options to useMutation
hooks in mutation hooks:
useCreate
(data)useUpdate
(data)useDelete
(data)useDeleteMany
(data)useUpdateMany
(data)useCreateMany
(data)useCustomMutation
(data)useLogin
(auth)useLogout
(auth)useRegister
(auth)useForgotPassword
(auth)useUpdatePassword
(auth)useForm
(form)#3442 8f2954611fa
Thanks @salihozdemir! - Added swizzle support for @pankod/refine-core
package.
Swizzleable components:
Authenticated
CanAccess
ErrorPage
Login
Logout
Register
ForgotPassword
UpdatePassword
#3140 102bfbf3283
Thanks @aliemir! - - Bumped Next.js to 13
appDir
option in next.config.js
to allow for the latest Next.js features.pages
directoryCurrent support for pages
directory has not changed and will continue to work as before. It will be supported as long as Next.js
continues to support and prompts it as the stable way of working with Next.js
.
appDir
optionappDir
option is a new experimental feature in Next.js
that introduces a bunch of new features. It is currently in beta and is not stable. It is not recommended to use it in production. But can be used alongside the current pages
directory support.
To use appDir
option, you need to add it to your next.config.js
file.
// next.config.js
module.exports = {
/* ... */
experimental: {
appDir: true,
},
};
appDir
with RefineWe've needed to make some changes to the @pankod/refine-nextjs-router
to make it work with the current structure of the app
directory feature. To make sure these do not break the current support for pages
directory, we've added a new exports at the sub path @pankod/refine-nextjs-router/app
that can be used with the appDir
option.
Note
To make optional catch-all routes to work with the app
directory, you need to define them as directories unlike the option of defining them as files with pages
directory.
You need to use NextRouteComponent
from @pankod/refine-nextjs-router/app
instead of NextRouteComponent
from @pankod/refine-nextjs-router
when using appDir
option.
Inside your layout
file, you need to bind params
to routerProvider
to make sure @pankod/refine-nextjs-router
can work properly with the new structure.
// app/[[...refine]]/layout.tsx
"use client";
import routerProvider from "@pankod/refine-nextjs-router/app";
const Layout = ({ children, params }) => {
return (
<Refine
routerProvider={routerProvider.apply({ params })}
/* ... */
>
{children}
</Refine>
);
};
Warning
Please note that, unlike the routerProvider
from the @pankod/refine-nextjs-router
, routerProvider
from @pankod/refine-nextjs-router/app
is a function and you need to bind params
to make it work properly.
// app/[[...refine]]/page.tsx
"use client";
import { NextRouteComponent } from "@pankod/refine-nextjs-router/app";
export default NextRouteComponent;
Warning
You need to add "use client";
directive to both layout.tsx
and page.tsx
inside app/[[...refine]]
directory.
Warning
checkAuthentication
does not work with appDir
. We're aiming to release a substitute for it using middleware but for now its not included in this release.
ea74f3a8408
Thanks @sevkioruc! - Fix useList, useCustom and useCustomMutation hooks i18n issue in the error messages.96d93eb2d71
Thanks @salihozdemir! - Made the auth provider's usePermissions
method optional.ea74f3a8408
Thanks @sevkioruc! - Fix useList, useCustom and useCustomMutation hooks i18n issue in the error messages.96d93eb2d71
Thanks @salihozdemir! - Made the auth provider's usePermissions
method optional.9bfb34749bc
Thanks @aliemir! - Added the ability to pass mutation options to useMutation
hooks in mutation hooks:
useForm
useStepsForm
useModalForm
useDrawerForm
@pankod/refine-codemod
package handles the breaking changes for your project automatically, without any manual steps. It migrates your @pankod/refine-antd
version from 3.x.x to 4.x.x.
Just cd
into root folder of your project (where package.json
is contained) and run this command:
npx @pankod/refine-codemod antd4-to-antd5
And it's done. Now your project uses @pankod/refine-antd@4.x.x
.