30 KiB
@refinedev/supabase
5.9.4
Patch Changes
-
#6240
697561ba04abfb570ae978066668583096ea24c0
Thanks @pkarc! - fix(supabase): issue with parsed values when using conditional filtersFixed conditional filter's parsed values while using
contains
,containss
,startswith
andendswith
.
5.9.3
Patch Changes
-
#6206
399ff2f9b785a1eebf59235fe6a5663d8b943ad3
Thanks @Sergio16T! - feat: added support for between filter in supabase dataProvider. Maps values to gte & lte.
5.9.2
Patch Changes
- #6025
f4e61b0fae7e78d0c63c09453f4bd11b4c6f8b09
Thanks @youssefsiam38! - fix supabase sorting with nested embedded resources
5.9.0
Minor Changes
6bd14228760d3e1e205ea9248e427f9afa2ec046
Thanks @BatuhanW! - Added ina and nina CrudOperators. Added filtering by these operators to Supabase data provider #5902
Patch Changes
-
6bd14228760d3e1e205ea9248e427f9afa2ec046
Thanks @BatuhanW! - chore: addedtype
qualifier to imports used as type only.- import { A } from "./example.ts"; + import type { A } from "./example.ts";
5.8.0
Minor Changes
- #5945
a39f1952554120893ea83db904037917fc293dc6
Thanks @aliemir! - Added ina and nina CrudOperators. Added filtering by these operators to Supabase data provider #5902
Patch Changes
-
#5945
90930b381d8d369c63bc59beedf69c391875166d
Thanks @aliemir! - chore: addedtype
qualifier to imports used as type only.- import { A } from "./example.ts"; + import type { A } from "./example.ts";
5.7.10
Patch Changes
-
#5928
db9756e7908
Thanks @aliemir! - fix: type errors on typescript <5Due to the changes in #5881, typescript users below version 5 are facing type errors. This PR fixes the type errors by updating the file extensions required by the
d.mts
declaration files to provide a compatible declarations for both typescript 4 and 5 users.
5.7.9
Patch Changes
-
#5841
7b13515b3c0
Thanks @issa012! - fix: in methods update, updateMany, create, createMany, meta.select changed to "*". Resolves #5679 -
#5881
ba719f6ea26
Thanks @aliemir! - fix: declaration files in node10, node16 and nodenext module resolutions
5.7.8
Patch Changes
-
#5765
0c197d82393
Thanks @aliemir! - refactor: package bundles and package.json configuration for exportsPreviously, Refine packages had exported ESM and CJS bundles with same
.js
extension and same types for both with.d.ts
extensions. This was causing issues with bundlers and compilers to pick up the wrong files for the wrong environment. Now we're outputting ESM bundles with.mjs
extension and CJS bundles with.cjs
extension. Also types are now exported with both.d.mts
and.d.cts
extensions.In older versions ESM and CJS outputs of some packages were using wrong imports/requires to dependencies causing errors in some environments. This will be fixed since now we're also enforcing the module type with extensions.
Above mentioned changes also supported with changes in
package.json
files of the packages to support the new extensions and types. All Refine packages now includeexports
fields in their configuration to make sure the correct bundle is picked up by the bundlers and compilers. -
#5754
56ed144a0f5
Thanks @alicanerdurmaz! - chore: TypeScript upgraded to v5.x.x. #5752
5.7.7
Patch Changes
- #5695
79865affa1c
Thanks @BatuhanW! - chore: apply biome format and fix lint errors.
5.7.6
Patch Changes
-
#5552
8c50a6bd83
Thanks @alicanerdurmaz! - feat: addedmeta.schema
parameter to supabase dataprovider. #5551From now on, users will be able to specify the schema for queries using data hooks, allowing them to override the default schema in the supabase client.
const tableProps = useTable<IUser>({ resource: "posts", meta: { schema: "foo", }, });
5.7.5
Patch Changes
- #5358
124a035cb7
Thanks @jimsmart! - fix: Support multiple events on Supabase's liveProvider's subscribe method. #5357
5.7.4
Patch Changes
- #5425
190af9fce2
Thanks @aliemir! - Updated@refinedev/core
peer dependencies to latest (^4.46.1
)
5.7.3
Patch Changes
- #5330
7c8827b43d
Thanks @BatuhanW! - chore: upgrade nock library version to ^13.4.0
5.7.2
Patch Changes
-
#5022
80513a4e42f
Thanks @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
80513a4e42f
Thanks @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
f73d1c0e057
Thanks @kilimnik! - feat: addedcount
property to meta forgetList
method
5.6.0
Minor Changes
- #4780
f73d1c0e057
Thanks @kilimnik! - feat: addedcount
property to meta forgetList
method
5.5.2
Patch Changes
- #4285
b5cd3328504
Thanks @alicanerdurmaz! - fixed: A bug that prevented data providers from being swizzled.
5.5.1
Patch Changes
- #4285
b5cd3328504
Thanks @alicanerdurmaz! - fixed: A bug that prevented data providers from being swizzled.
5.5.0
Minor Changes
-
#4213
db3b63c1e71
Thanks @02JanDal! - feat: added select field capability to data provider mutation methodsNow you can pass
select
field tocreate
,update
createMany
andupdateMany
methods 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
db3b63c1e71
Thanks @02JanDal! - feat: added select field capability to data provider mutation methodsNow you can pass
select
field tocreate
,update
createMany
andupdateMany
methods 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
0c1d4944397
Thanks @yildirayunlu! - fix: update custom id column name on meta paramsBREAKING CHANGE:
meta.idColumnName
is used instead ofmeta.id
when 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
a58e9a0f1b0
Thanks @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
0c1d4944397
Thanks @yildirayunlu! - fix: update custom id column name on meta paramsBREAKING CHANGE:
meta.idColumnName
is used instead ofmeta.id
when 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
a58e9a0f1b0
Thanks @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!
-
metaData
prop is now deprecated for all data provider methods. Usemeta
prop instead.For backward compatibility, we still support
metaData
prop with refine v4.create: async ({ - metaData + meta }) => { ... },
-
sort
,hasPagination
, andmetaData
parameters ofgetList
method are now deprecated. Usesorters
,pagination
, andmeta
parameters instead.For backward compatibility, we still support
sort
,hasPagination
andmetaData
props 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
@refinedev
scope 🎉🎉Moved to the
@refinedev
scope and updated our packages to use the new scope. From now on, all packages will be published under the@refinedev
scope with their new names.Now, we're also removing the
refine
prefix from all packages. So, the@pankod/refine-core
package is now@refinedev/core
,@pankod/refine-antd
is now@refinedev/antd
, and so on.
Patch Changes
4.3.0
Minor Changes
- #3822
0baa99ba787
Thanks @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
0baa99ba787
Thanks @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
3b1a3a3dd63
Thanks @aliemir! - - Fix realtime subscriptions without filters.- Remove
and
andor
filter types in realtime subscriptions.
- Remove
4.1.1
Patch Changes
- #3612
3b1a3a3dd63
Thanks @aliemir! - - Fix realtime subscriptions without filters.- Remove
and
andor
filter types in realtime subscriptions.
- Remove
4.1.0
Minor Changes
-
#3528
e8b34442521
Thanks @yildirayunlu! - Updatedsupabase-js
to v2.supabase
has 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
e8b34442521
Thanks @yildirayunlu! - Updatedsupabase-js
to v2.supabase
has 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
or
was supported as a conditional filter. Nowand
andor
can 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
addff64c77
Thanks @yildirayunlu! - Onlyor
was supported as a conditional filter. Nowand
andor
can 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
dataProvider
types withRequired
utility to markgetMany
,createMany
,updateMany
anddeleteMany
as implemented.
3.32.0
Minor Changes
- #2688
508045ac30
Thanks @aliemir! - UpdateddataProvider
types withRequired
utility to markgetMany
,createMany
,updateMany
anddeleteMany
as implemented.
3.31.0
Minor Changes
- Update type declaration generation with
tsc
instead oftsup
for better navigation throughout projects source code.
3.30.0
Minor Changes
- #2440
0150dcd070
Thanks @aliemir! - Update type declaration generation withtsc
instead oftsup
for better navigation throughout projects source code.
3.29.0
Minor Changes
-
All of the refine packages have dependencies on the
@pankod/refine-core
package. So far we have managed these dependencies withpeerDependencies
+dependencies
but this causes issues like #2183. (having more than one @pankod/refine-core version in node_modules and creating different instances)Managing as
peerDependencies
+devDependencies
seems like the best way for now to avoid such issues.
3.28.0
Minor Changes
-
#2217
b4aae00f77
Thanks @omeraplak! - All of the refine packages have dependencies on the@pankod/refine-core
package. So far we have managed these dependencies withpeerDependencies
+dependencies
but this causes issues like #2183. (having more than one @pankod/refine-core version in node_modules and creating different instances)Managing as
peerDependencies
+devDependencies
seems like the best way for now to avoid such issues.
3.27.0
Minor Changes
-
Add
foreignTable
propery to the supabase order statement to access relational data. For more information, you can check the 🔗documentation.What we added to the
getlist
hook is the following:💡 How use the
foreignTable
property?... const { tableProps } = useTable({ resource: "posts", initialSorter: [ { field: "categories.title", order: "asc", }, ], });
📢
field: "categories.title"
means in theposts
tablecategories
is the foreign table,title
is the field in the foreign table, andasc
is the order.🚨 If you are using Ant Design don't forget to pass the
sorter
anddataIndex
property to the yourColumm
component:... <Table.Column dataIndex={["categories", "title"]} title="Categories" sorter
Warning
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
62f1e6256d
Thanks @biskuvit! - AddforeignTable
propery to the supabase order statement to access relational data. For more information, you can check the 🔗documentation.What we added to the
getlist
hook is the following:💡 How use the
foreignTable
property?... const { tableProps } = useTable({ resource: "posts", initialSorter: [ { field: "categories.title", order: "asc", }, ], });
📢
field: "categories.title"
means in theposts
tablecategories
is the foreign table,title
is the field in the foreign table, andasc
is the order.🚨 If you are using Ant Design don't forget to pass the
sorter
anddataIndex
property to the yourColumm
component:... <Table.Column dataIndex={["categories", "title"]} title="Categories" sorter
Warning
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
hasPagination
property togetList
method of the data providers.Implementation
Updated the
getList
method accordingly to the changes in theuseTable
anduseList
of@pankod/refine-core
.hasPagination
is 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 []:
- @pankod/refine-core@3.36.0
3.25.1
Patch Changes
-
#2050
635cfe9fdb
Thanks @ozkalai! - Updated pagination parameters default values and addedhasPagination
property togetList
method of the data providers.Implementation
Updated the
getList
method accordingly to the changes in theuseTable
anduseList
of@pankod/refine-core
.hasPagination
is 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
]:- @pankod/refine-core@3.35.0
3.22.2
Patch Changes
- Updated dependencies [
2deb19babf
]:- @pankod/refine-core@3.23.2