25 KiB
@refinedev/supabase
5.7.5
Patch Changes
- #5358
124a035cb7Thanks @jimsmart! - fix: Support multiple events on Supabase's liveProvider's subscribe method. #5357
5.7.4
Patch Changes
- #5425
190af9fce2Thanks @aliemir! - Updated@refinedev/corepeer dependencies to latest (^4.46.1)
5.7.3
Patch Changes
- #5330
7c8827b43dThanks @BatuhanW! - chore: upgrade nock library version to ^13.4.0
5.7.2
Patch Changes
-
#5022
80513a4e42fThanks @BatuhanW! - chore: update README.md- fix grammar errors.
- make all README.md files consistent.
- add code example code snippets.
5.7.1
Patch Changes
-
#5022
80513a4e42fThanks @BatuhanW! - chore: update README.md- fix grammar errors.
- make all README.md files consistent.
- add code example code snippets.
5.7.0
Minor Changes
- #4780
f73d1c0e057Thanks @kilimnik! - feat: addedcountproperty to meta forgetListmethod
5.6.0
Minor Changes
- #4780
f73d1c0e057Thanks @kilimnik! - feat: addedcountproperty to meta forgetListmethod
5.5.2
Patch Changes
- #4285
b5cd3328504Thanks @alicanerdurmaz! - fixed: A bug that prevented data providers from being swizzled.
5.5.1
Patch Changes
- #4285
b5cd3328504Thanks @alicanerdurmaz! - fixed: A bug that prevented data providers from being swizzled.
5.5.0
Minor Changes
-
#4213
db3b63c1e71Thanks @02JanDal! - feat: added select field capability to data provider mutation methodsNow you can pass
selectfield tocreate,updatecreateManyandupdateManymethods of data provider to get fields you need from the response.For example:
useCreate({ resource: "posts", variables: { title: "Hello World", content: "Lorem ipsum dolor sit amet", }, meta: { select: "title, content", }, });
5.4.0
Minor Changes
-
#4213
db3b63c1e71Thanks @02JanDal! - feat: added select field capability to data provider mutation methodsNow you can pass
selectfield tocreate,updatecreateManyandupdateManymethods of data provider to get fields you need from the response.For example:
useCreate({ resource: "posts", variables: { title: "Hello World", content: "Lorem ipsum dolor sit amet", }, meta: { select: "title, content", }, });
5.3.0
Minor Changes
-
#4183
0c1d4944397Thanks @yildirayunlu! - fix: update custom id column name on meta paramsBREAKING CHANGE:
meta.idColumnNameis used instead ofmeta.idwhen the primary key column name of your data table is different fromid.useMany({ resource: "posts", ids: [1, 2], meta: { - id: "post_id", + idColumnName: "post_id", }, }); -
#4182
a58e9a0f1b0Thanks @alicanerdurmaz! - feat: added refine.config.js to support swizzling. Now with swizzle support, you can easily customize supabase data provider for your needs.feat: tests added for utility functions.
chore: utility functions have been moved to their own files.
5.2.0
Minor Changes
-
#4183
0c1d4944397Thanks @yildirayunlu! - fix: update custom id column name on meta paramsBREAKING CHANGE:
meta.idColumnNameis used instead ofmeta.idwhen the primary key column name of your data table is different fromid.useMany({ resource: "posts", ids: [1, 2], meta: { - id: "post_id", + idColumnName: "post_id", }, }); -
#4182
a58e9a0f1b0Thanks @alicanerdurmaz! - feat: added refine.config.js to support swizzling. Now with swizzle support, you can easily customize supabase data provider for your needs.feat: tests added for utility functions.
chore: utility functions have been moved to their own files.
5.1.0
Minor Changes
-
Thanks @aliemir, @alicanerdurmaz, @batuhanW, @salihozdemir, @yildirayunlu, @recepkutuk!
-
metaDataprop is now deprecated for all data provider methods. Usemetaprop instead.For backward compatibility, we still support
metaDataprop with refine v4.create: async ({ - metaData + meta }) => { ... }, -
sort,hasPagination, andmetaDataparameters ofgetListmethod are now deprecated. Usesorters,pagination, andmetaparameters instead.For backward compatibility, we still support
sort,hasPaginationandmetaDataprops with refine v4.getList: async ({ - sort + sorters - hasPagination + pagination: { mode: "off" | "server | "client" } - metaData + meta }) => { ... },
-
-
Thanks @aliemir, @alicanerdurmaz, @batuhanW, @salihozdemir, @yildirayunlu, @recepkutuk! Moving to the
@refinedevscope 🎉🎉Moved to the
@refinedevscope and updated our packages to use the new scope. From now on, all packages will be published under the@refinedevscope with their new names.Now, we're also removing the
refineprefix from all packages. So, the@pankod/refine-corepackage is now@refinedev/core,@pankod/refine-antdis now@refinedev/antd, and so on.
Patch Changes
4.3.0
Minor Changes
- #3822
0baa99ba787Thanks @BatuhanW! - - refine v4 release announcement added to "postinstall". - refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x
4.2.0
Minor Changes
- #3822
0baa99ba787Thanks @BatuhanW! - - refine v4 release announcement added to "postinstall". - refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x
4.1.2
Patch Changes
- #3612
3b1a3a3dd63Thanks @aliemir! - - Fix realtime subscriptions without filters.- Remove
andandorfilter types in realtime subscriptions.
- Remove
4.1.1
Patch Changes
- #3612
3b1a3a3dd63Thanks @aliemir! - - Fix realtime subscriptions without filters.- Remove
andandorfilter types in realtime subscriptions.
- Remove
4.1.0
Minor Changes
-
#3528
e8b34442521Thanks @yildirayunlu! - Updatedsupabase-jsto v2.supabasehas published a migration guide. These are some of the changes torefine.- Create Supabase client:
Before:
import { createClient } from "@supabase/supabase-js"; export const supabaseClient = createClient(SUPABASE_URL, SUPABASE_KEY);After:
import { createClient } from "@supabase/supabase-js"; export const supabaseClient = createClient(SUPABASE_URL, SUPABASE_KEY, { db: { schema: "public", }, auth: { persistSession: true, }, });- Sign In method:
Before:
const { user, error } = await supabaseClient.auth.signIn({ email, password, provider: providerName, });After:
const { data, error } = await supabaseClient.auth.signInWithPassword({ email, password, });with OAuth:
const { data, error } = await supabaseClient.auth.signInWithOAuth({ provider: providerName, });- Sign Up method:
Before:
const { user, error } = await supabaseClient.auth.signUp({ email, password, });After:
const { data, error } = await supabaseClient.auth.signUp({ email, password, });-
Reset Password with Email
Before:
const { data, error } = await supabaseClient.auth.api.resetPasswordForEmail(email, { redirectTo: `${window.location.origin}/update-password`, });After:
const { data, error } = await supabaseClient.auth.resetPasswordForEmail( email, { redirectTo: `${window.location.origin}/update-password`, }, ); -
Update User
Before:
const { data, error } = await supabaseClient.auth.update({ password, });After:
const { data, error } = await supabaseClient.auth.updateUser({ password, });- Get Sesssion
Before:
const session = supabaseClient.auth.session();After:
const { data, error } = await supabaseClient.auth.getSession();-
Get User
Before:
const user = supabaseClient.auth.user();After:
const { data, error } = await supabaseClient.auth.getUser();
4.0.0
Major Changes
-
#3528
e8b34442521Thanks @yildirayunlu! - Updatedsupabase-jsto v2.supabasehas published a migration guide. These are some of the changes torefine.- Create Supabase client:
Before:
import { createClient } from "@supabase/supabase-js"; export const supabaseClient = createClient(SUPABASE_URL, SUPABASE_KEY);After:
import { createClient } from "@supabase/supabase-js"; export const supabaseClient = createClient(SUPABASE_URL, SUPABASE_KEY, { db: { schema: "public", }, auth: { persistSession: true, }, });- Sign In method:
Before:
const { user, error } = await supabaseClient.auth.signIn({ email, password, provider: providerName, });After:
const { data, error } = await supabaseClient.auth.signInWithPassword({ email, password, });with OAuth:
const { data, error } = await supabaseClient.auth.signInWithOAuth({ provider: providerName, });- Sign Up method:
Before:
const { user, error } = await supabaseClient.auth.signUp({ email, password, });After:
const { data, error } = await supabaseClient.auth.signUp({ email, password, });-
Reset Password with Email
Before:
const { data, error } = await supabaseClient.auth.api.resetPasswordForEmail(email, { redirectTo: `${window.location.origin}/update-password`, });After:
const { data, error } = await supabaseClient.auth.resetPasswordForEmail( email, { redirectTo: `${window.location.origin}/update-password`, }, ); -
Update User
Before:
const { data, error } = await supabaseClient.auth.update({ password, });After:
const { data, error } = await supabaseClient.auth.updateUser({ password, });- Get Sesssion
Before:
const session = supabaseClient.auth.session();After:
const { data, error } = await supabaseClient.auth.getSession();-
Get User
Before:
const user = supabaseClient.auth.user();After:
const { data, error } = await supabaseClient.auth.getUser();
3.35.0
Minor Changes
-
Only
orwas supported as a conditional filter. Nowandandorcan be used together and nested. 🚀{ operator: "or", value: [ { operator: "and", value: [ { field: "name", operator: "eq", value: "John Doe", }, { field: "age", operator: "eq", value: 30, }, ], }, { operator: "and", value: [ { field: "name", operator: "eq", value: "JR Doe", }, { field: "age", operator: "eq", value: 1, }, ], }, ], }
3.34.0
Minor Changes
-
#2751
addff64c77Thanks @yildirayunlu! - Onlyorwas supported as a conditional filter. Nowandandorcan be used together and nested. 🚀{ operator: "or", value: [ { operator: "and", value: [ { field: "name", operator: "eq", value: "John Doe", }, { field: "age", operator: "eq", value: 30, }, ], }, { operator: "and", value: [ { field: "name", operator: "eq", value: "JR Doe", }, { field: "age", operator: "eq", value: 1, }, ], }, ], }
3.33.0
Minor Changes
- Updated
dataProvidertypes withRequiredutility to markgetMany,createMany,updateManyanddeleteManyas implemented.
3.32.0
Minor Changes
- #2688
508045ac30Thanks @aliemir! - UpdateddataProvidertypes withRequiredutility to markgetMany,createMany,updateManyanddeleteManyas implemented.
3.31.0
Minor Changes
- Update type declaration generation with
tscinstead oftsupfor better navigation throughout projects source code.
3.30.0
Minor Changes
- #2440
0150dcd070Thanks @aliemir! - Update type declaration generation withtscinstead oftsupfor better navigation throughout projects source code.
3.29.0
Minor Changes
-
All of the refine packages have dependencies on the
@pankod/refine-corepackage. So far we have managed these dependencies withpeerDependencies+dependenciesbut this causes issues like #2183. (having more than one @pankod/refine-core version in node_modules and creating different instances)Managing as
peerDependencies+devDependenciesseems like the best way for now to avoid such issues.
3.28.0
Minor Changes
-
#2217
b4aae00f77Thanks @omeraplak! - All of the refine packages have dependencies on the@pankod/refine-corepackage. So far we have managed these dependencies withpeerDependencies+dependenciesbut this causes issues like #2183. (having more than one @pankod/refine-core version in node_modules and creating different instances)Managing as
peerDependencies+devDependenciesseems like the best way for now to avoid such issues.
3.27.0
Minor Changes
-
Add
foreignTablepropery to the supabase order statement to access relational data. For more information, you can check the 🔗documentation.What we added to the
getlisthook is the following:💡 How use the
foreignTableproperty?... const { tableProps } = useTable({ resource: "posts", initialSorter: [ { field: "categories.title", order: "asc", }, ], });📢
field: "categories.title"means in thepoststablecategoriesis the foreign table,titleis the field in the foreign table, andascis the order.🚨 If you are using Ant Design don't forget to pass the
sorteranddataIndexproperty to the yourColummcomponent:... <Table.Column dataIndex={["categories", "title"]} title="Categories" sorterWarning
We have developed this feature due to an issue here but currently, supabase doesn't support it. You can follow the progress here 👇
3.26.0
Minor Changes
-
#2087
62f1e6256dThanks @biskuvit! - AddforeignTablepropery to the supabase order statement to access relational data. For more information, you can check the 🔗documentation.What we added to the
getlisthook is the following:💡 How use the
foreignTableproperty?... const { tableProps } = useTable({ resource: "posts", initialSorter: [ { field: "categories.title", order: "asc", }, ], });📢
field: "categories.title"means in thepoststablecategoriesis the foreign table,titleis the field in the foreign table, andascis the order.🚨 If you are using Ant Design don't forget to pass the
sorteranddataIndexproperty to the yourColummcomponent:... <Table.Column dataIndex={["categories", "title"]} title="Categories" sorterWarning
We have developed this feature due to an issue here but currently, supabase doesn't support it. You can follow the progress here 👇
3.25.2
Patch Changes
-
Updated pagination parameters default values and added
hasPaginationproperty togetListmethod of the data providers.Implementation
Updated the
getListmethod accordingly to the changes in theuseTableanduseListof@pankod/refine-core.hasPaginationis used to disable pagination (defaults totrue)Use Cases
For some resources, there might be no support for pagination or users might want to see all of the data without any pagination, prior to these changes this was not supported in refine data providers.
-
Updated dependencies []:
3.25.1
Patch Changes
-
#2050
635cfe9fdbThanks @ozkalai! - Updated pagination parameters default values and addedhasPaginationproperty togetListmethod of the data providers.Implementation
Updated the
getListmethod accordingly to the changes in theuseTableanduseListof@pankod/refine-core.hasPaginationis used to disable pagination (defaults totrue)Use Cases
For some resources, there might be no support for pagination or users might want to see all of the data without any pagination, prior to these changes this was not supported in refine data providers.
-
Updated dependencies [
ecde34a9b3,635cfe9fdb]:
3.22.2
Patch Changes
- Updated dependencies [
2deb19babf]: