OpenPanel/packages/hasura/refine.config.js
Stefan Pejcic 8595a9f4e5 back
2024-05-08 19:58:53 +02:00

107 lines
4.1 KiB
JavaScript

/** @type {import('@refinedev/cli').RefineConfig} */
module.exports = {
group: "Data Provider",
swizzle: {
items: [
{
group: "Providers",
label: "Hasura",
requiredPackages: [
"lodash-es@4.17.21",
"lodash@4.17.21",
"graphql-ws@5.9.1",
"graphql-request@5.2.0",
"gql-query-builder@3.5.5",
"camelcase@6.2.0",
"graphql@15.6.1",
],
files: [
{
src: "./src/index.ts",
dest: "./providers/hasura/index.ts",
},
{
src: "./src/dataProvider/index.ts",
dest: "./providers/hasura/dataProvider/index.ts",
},
{
src: "./src/liveProvider/index.ts",
dest: "./providers/hasura/liveProvider/index.ts",
},
{
src: "./src/utils/index.ts",
dest: "./providers/hasura/utils/index.ts",
},
{
src: "./src/utils/camelizeKeys.ts",
dest: "./providers/hasura/utils/camelizeKeys.ts",
},
{
src: "./src/utils/generateFilters.ts",
dest: "./providers/hasura/utils/generateFilters.ts",
},
{
src: "./src/utils/generateSorting.ts",
dest: "./providers/hasura/utils/generateSorting.ts",
},
{
src: "./src/utils/generateUseListSubscription.ts",
dest: "./providers/hasura/utils/generateUseListSubscription.ts",
},
{
src: "./src/utils/generateUseManySubscription.ts",
dest: "./providers/hasura/utils/generateUseManySubscription.ts",
},
{
src: "./src/utils/generateUseOneSubscription.ts",
dest: "./providers/hasura/utils/generateUseOneSubscription.ts",
},
{
src: "./src/utils/upperCaseValues.ts",
dest: "./providers/hasura/utils/upperCaseValues.ts",
},
],
message: `
**\`Usage\`**
\`\`\`
// title: App.tsx
import dataProvider, { liveProvider, GraphQLClient } from "providers/hasura";
const client = new GraphQLClient(API_URL, {
headers: {
"x-hasura-role": "public",
},
});
const gqlDataProvider = dataProvider(client, {
namingConvention: "graphql-default",
});
// Refine supports GraphQL subscriptions out-of-the-box. For more detailed information, please visit here:
// https://refine.dev/docs/core/providers/live-provider/
// const WS_URL = "ws://flowing-mammal-24.hasura.app/v1/graphql";
// const gqlWebSocketClient = graphqlWS.createClient({
// url: WS_URL,
// });
const App = () => {
return (
<Refine
dataProvider={dataProvider}
// Refine supports GraphQL subscriptions as out-of-the-box. For more detailed information, please visit here:
// https://refine.dev/docs/core/providers/live-provider/
// liveProvider={liveProvider(gqlWebSocketClient)}
// options={{ liveMode: "auto" }}
/* ... */
/>
);
}
\`\`\`
`,
},
],
},
};