marmelab / marmelab/ra-appwrite

Upgrade to the latest `appwrite` client

Open
#7 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
3
Forks
1
PR merge metrics
No merged PRs in 30d

Description

Hello,

I'm experiencing a TypeScript type incompatibility when using ra-appwrite together with the appwrite SDK in my project.

Problem:
When I create a Client instance using the appwrite package in my code and pass it to appWriteDataProvider, TypeScript throws an error similar to:

This happens because ra-appwrite bundles its own version of appwrite, so TypeScript treats the Client types as incompatible, even though they are functionally identical.

Suggested solution:
Would it be possible to make appwrite a peerDependency instead of a direct dependency in ra-appwrite?
This would ensure that only one version of appwrite is used in the project, resolving the type incompatibility.

Workaround:
Currently, the only workaround is to cast the client as any, which is not ideal and not permitted in our workflow.

Thank you for your help!

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the package manifest and checking how the appwrite dependency is declared in ra-appwrite. Change the dependency arrangement as described so consumers share their appwrite client types, then verify that the package still installs and the TypeScript client incompatibility is resolved.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
api
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
50/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.