Upcoming rename of `@prisma/sdk` to `@prisma/internals` with Prisma 4
Closed this issue ยท 3 comments
Hey,
Jan from Prisma Engineering here.
Quick heads up that we will soon rename our @prisma/sdk
package to @prisma/internals
with Prisma 4, which we plan to release on June 28th (soon!).
The @prisma/sdk
package was meant as an Prisma internal package only, but somehow it leaked out over time and is now used across all kinds of tools - including yours of course ๐
With the rename of the Npm package we want to make it clearer that we can not give any API guarantees for @prisma/internals
, might need to introduce breaking changes to the API from time to time and will not follow semantic versioning (breaking changes only in major upgrade) with it. We think that it is better communicated with internals
than with sdk
.
With Prisma 4, besides the package name nothing should change though.
Additionally it would be super helpful if you could help us gain an understanding where, how and why you are using @prisma/sdk
(soon @prisma/internals
, remember ๐) to achieve, what exactly. We want to cleanup that package and your feedback will be valuable to us to define a better API.
Looking forward to your feedback.
Best
Jan & your friends at Prisma
PS: Are you using Prisma.dmmf
from import { Prisma } from '@prisma/client'
in your code somewhere by chance? That will also change soon and not include the Prisma.dmmf.schema
sub property. Instead you can use getDmmf
from @prisma/internals
moving forward.
Hey @janpio,
Thank you for letting me know about the upcoming update.
There are exactly two places, where @prisma/sdk
is currently in use.
First usage:
prisma-json-schema-generator/src/index.ts
Line 22 in e7aca4a
Here I am using it to parse the output-dir. Maybe there is already a more elegant way to do so and it is not required to use the @prisma/sdk here at all.
Second usage:
Here I am using getDMMF
from @prisma/sdk to transform a Prisma model (string template) into an object to test my internal transformDMMF
transformer.
Do you have any ideas how to implement these two parts without @prisma/sdk?
@valentinpalkovic Thank you!
These functionalities will stay, renaming @prisma/sdk
to @prisma/internals
should be what you need for now.
About parseEnvValue
the code is quite simple and could be copied.
https://github.com/prisma/prisma/blob/f2a65dab618ae8768ae198ebef8a8117ec6b5498/packages/internals/src/utils/parseEnvValue.ts#L4-L28
We are still collecting feedback from other consumers, after that we want to think about a better API for community tools, so stay tuned ๐ป
Note: You can try prisma packages on the dev
tag on npm, like @prisma/internals@3.16.0-dev.84
@valentinpalkovic Prisma 4.0.0 was published on Tuesday ๐ถ
The internal package @prisma/sdk
- was published for the last time to ease the upgrade (in the future we might reuse the package name, but its content will be different)
- marked deprecated on npm
- available under the new, more explicit package name
@prisma/internals
.
If you know people affected by this, feel free to point them to this GitHub discussion.
It will help us understand where, how, and why people are using it, so we can define a better API.
Note: I posted your earlier comment of your current usage in that discussion to centralize the usage feedback.