medz / prisma-dart

Prisma Client Dart is an auto-generated type-safe ORM. It uses Prisma Engine as the data access layer and is as consistent as possible with the Prisma Client JS/TS APIs.
https://prisma.pub
BSD 3-Clause "New" or "Revised" License
436 stars 29 forks source link

Prisma Dart Client v4 Roadmap #289

Closed medz closed 5 months ago

medz commented 7 months ago

This is the Roadmap of Prisma Dart Client v4. The CLI part is currently in progress, and the Runtime part will be done after the CLI part is completed.

CLI

Runtime

AndryHTC commented 7 months ago

@medz I've seen you have done an amazing sprint the last few days!

How is it going? Any ETA? Anything the community can help with?

medz commented 7 months ago

@medz I've seen you have done an amazing sprint the last few days!

How is it going? Any ETA? Anything the community can help with?

@AndryHTC In the future, I will devote all my efforts to open source development. Prisma Dart client is good enough for me right now, but I need feedback from many developers. My power alone is very small, and I may not be able to discover many functions that affect normal use. So I hope to get usage feedback, or someone can provide the correct test PR. As you can see, although I write code quickly, I really don’t have time to write tests, and I don’t have more time to find bugs.

AndryHTC commented 7 months ago

@medz It's really impressive to see your dedication to open source development, especially with the Prisma Dart client. Your approach of seeking community feedback is a great idea. Many hands make light work, and with the community's involvement, we can help identify potential issues and improvements that might not be immediately obvious.

Regarding the roadmap for the Prisma Dart Client v4, could you perhaps share specific areas where you're seeking feedback or tests? Knowing the key focus areas or any particular functionalities you're concerned about could help us direct our efforts more effectively. This way, we can ensure that the community's contributions are as valuable and relevant as possible.

Keep up the fantastic work! Your efforts are truly appreciated in the community.

medz commented 7 months ago

@AndryHTC Prisma Dart client is currently the only client implementation among Prisma's other language clients that is as consistent as possible with the Prisma official TS client's API.

My current next steps for the v4 version:

  1. Complete the client build of the original query
  2. Complete more detailed select/include function construction
  3. Add the construction of a Prisma JSON schema validator
  4. Implementation of Data Proxy engine (allowed to be used in the web)
  5. Development of dynamic library engine, allowing Flutter native platform to use Prisma as local ORM

I will update these content into the roadmap later

Regarding how to test and find problems, I haven't written about actual business for a long time, and I am a bit at a loss. When I develop Prisma Dart, I try to use the Prisma TS client as the goal, so that developers who are familiar with Prisma can get started more easily after being exposed to the Dart language. At the same time, you can also search most documents through the Prisma official documentation.

AndryHTC commented 4 months ago

@medz how can I get started to migrate to the 4.0.0, so I can help in testing it?

I've tried the migration instruction from the alpha-0 but I had no joy as the generation does not even start

medz commented 4 months ago

@AndryHTC Sorry for replying to you now, I finally have time to write the document. I'll be documenting the migration soon, but if you want to upgrade to version 4.0 now (which I just released) you can just update the dependencies and re-run npx prisma generate to generate the client. After regenerating the client, your business code will have a lot of errors (the IDE should prompt you)