cube-js/cube

Deprecation warning but TypeScript still refers to deprecated value

Open

#7 315 ouverte le 27 oct. 2023

Voir sur GitHub
 (3 commentaires) (2 réactions) (2 assignés)Rust (1 965 forks)batch import
client:reacthelp wanted

Métriques du dépôt

Stars
 (19 563 stars)
Métriques de merge PR
 (Merge moyen 5j 16h) (138 PRs mergées en 30 j)

Description

Describe the bug The new version of the React client library gives a deprecation warning if you pass the prop cubejsApi to CubeProvider but gives type errors if you use the new cubeApi value.

Looks like this was introduced in https://github.com/cube-js/cube/pull/7300

To Reproduce Install @cubejs-client/react@0.34.9.

Create a

Expected behavior The CubeProviderProps type should contain the cubeApi type.

Screenshots image

Minimally reproducible Cube Schema N/A

Version: @cubejs-client/react@0.34.9

Additional context Happy to raise a PR to fix - seems like it'd be a matter of changing the index.d.ts file.

I've locally patched it like this:

diff --git a/index.d.ts b/index.d.ts
index 17cabc64b86b4fa9ca5939853d88efc0cf3969f2..1347bc67bff3ab64d22622685a73e6af3dcd6134 100644
--- a/index.d.ts
+++ b/index.d.ts
@@ -39,7 +39,8 @@ declare module '@cubejs-client/react' {
   }
   
   type CubeProviderProps = {
-    cubejsApi: CubejsApi | null;
+    cubejsApi?: CubejsApi | null;
+    cubeApi: CubejsApi | null;
     options?: CubeProviderOptions;
     children: React.ReactNode;
   };

Please let me know if there are any issues with this approach.

Guide contributeur