cube-js/cube

Deprecation warning but TypeScript still refers to deprecated value

Open

#7315 aperta il 27 ott 2023

Vedi su GitHub
 (3 commenti) (2 reazioni) (2 assegnatari)Rust (1965 fork)batch import
client:reacthelp wanted

Metriche repository

Star
 (19.563 star)
Metriche merge PR
 (Merge medio 5g 16h) (138 PR mergiate in 30 g)

Descrizione

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.

Guida contributor