prisma-engines icon indicating copy to clipboard operation
prisma-engines copied to clipboard

Publish crates to crates.io

Open apollo-sturdy opened this issue 1 year ago β€’ 13 comments

Currently prisma-client-rust depends on prisma-engines via git dependency which is not ideal due to dependency resolution as git dependencies in rust do not follow semver. In order for prisma-client-rust to be published on crates.io, the packages in prisma-engines would need to be published too.

apollo-sturdy avatar Feb 14 '24 15:02 apollo-sturdy

Crates in this repo are considered internal, are not subject to semver and do not have a stable API surface. Is your request just about publishing all crates to crates.io as a distribution medium with no semver guarantees, or about actually maintaining separate versions of each crate, updating them according to semver and releasing them independently from the Prisma ORM release cycle? The former would be unlikely, the latter impossible.

aqrln avatar Feb 14 '24 22:02 aqrln

@aqrln I think we are not talking about everyone, but only those who have versions and are public

listepo avatar Mar 01 '24 20:03 listepo

Which ones do you refer to then @listepo?

janpio avatar Mar 02 '24 09:03 janpio

@listepo there are no public crates in this repo. quaint used to be public years ago but not anymore.

aqrln avatar Mar 03 '24 19:03 aqrln

@aqrln @janpio you could use a mono repository approach and publish all dependencies under a single version. What are the arguments not to do this? this would help the community better integrate your product into theirs.

listepo avatar Mar 03 '24 19:03 listepo

@listepo what would be an example of such integration that publishing these crates would allow?

OP mentions Prisma Client Rust, but it depends on the fork of prisma-engines with a bunch of code changes, not the upstream repo, so it wouldn't help either way. What could help, I suppose, is publishing Prisma's database drivers forks and other crates from other repos that prisma-engines depend on to make publishing the fork easier, but it's a completely different request than publishing the prisma-engines crates.

As for your request, I could see this being useful if we had a frontend library crate with a relatively stable externally usable API, similar to query-engine-node-api but for Rust, but it doesn't exist right now.

aqrln avatar Mar 03 '24 21:03 aqrln

@janpio I like your idea, sounds like a plan, how difficult would it be to do? could this be added to the roadmap?

listepo avatar Mar 14 '24 15:03 listepo

I think this would partially help solve the problem https://github.com/prisma/prisma-engines/issues/3106

listepo avatar Mar 14 '24 15:03 listepo

I am not sure which idea you refer to.

janpio avatar Mar 14 '24 15:03 janpio

@janpio I could see this being useful if we had a frontend library crate with a relatively stable externally usable API, similar to query-engine-node-api but for Rust

listepo avatar Mar 14 '24 15:03 listepo

Ah, that was from @aqrln, not me.

janpio avatar Mar 14 '24 15:03 janpio

@janpio @aqrln you have a very wonderful product, but the problem is that it is very tied to the node ecosystem, a lot of people would like to get the same thing for their stacks, but for now they have to do forks, etc., it’s a pain

listepo avatar Mar 14 '24 15:03 listepo

I think prisma could become a standard for databases like grpc, openapi and etc for api

listepo avatar Mar 14 '24 16:03 listepo