diff --git a/pkgs/development/node-packages/default.nix b/pkgs/development/node-packages/default.nix index 9845f291f542..40f7256cf2ba 100644 --- a/pkgs/development/node-packages/default.nix +++ b/pkgs/development/node-packages/default.nix @@ -366,7 +366,7 @@ let src = fetchurl { url = "https://registry.npmjs.org/prisma/-/prisma-${version}.tgz"; - sha512 = "sha512-ltCMZAx1i0i9xuPM692Srj8McC665h6E5RqJom999sjtVSccHSD8Z+HSdBN2183h9PJKvC5dapkn78dd0NWMBg=="; + sha512 = "sha512-oO1auBnBtieGdiN+57IgsA9Vr7Sy4HkILi1KSaUG4mpKfEbnkTGnLOxAqjLed+K2nsG/GtE1tJBtB7JxN1a78Q=="; }; postInstall = with pkgs; '' wrapProgram "$out/bin/prisma" \ diff --git a/pkgs/development/node-packages/node-packages.nix b/pkgs/development/node-packages/node-packages.nix index 1e7cd1f5466e..b9b1f5f51b0b 100644 --- a/pkgs/development/node-packages/node-packages.nix +++ b/pkgs/development/node-packages/node-packages.nix @@ -7672,13 +7672,13 @@ let sha512 = "DiIjtous4XPuR2deTctD3/RVZy/vRzVYBgYYvHV313MmTfkbVP60qLH5txrT3/bYNvnb0poNDelLS6U0kqlvHA=="; }; }; - "@prisma/engines-3.12.0-37.22b822189f46ef0dc5c5b503368d1bee01213980" = { + "@prisma/engines-3.13.0-17.efdf9b1183dddfd4258cd181a72125755215ab7b" = { name = "_at_prisma_slash_engines"; packageName = "@prisma/engines"; - version = "3.12.0-37.22b822189f46ef0dc5c5b503368d1bee01213980"; + version = "3.13.0-17.efdf9b1183dddfd4258cd181a72125755215ab7b"; src = fetchurl { - url = "https://registry.npmjs.org/@prisma/engines/-/engines-3.12.0-37.22b822189f46ef0dc5c5b503368d1bee01213980.tgz"; - sha512 = "zULjkN8yhzS7B3yeEz4aIym4E2w1ChrV12i14pht3ePFufvsAvBSoZ+tuXMvfSoNTgBS5E4bolRzLbMmbwkkMQ=="; + url = "https://registry.npmjs.org/@prisma/engines/-/engines-3.13.0-17.efdf9b1183dddfd4258cd181a72125755215ab7b.tgz"; + sha512 = "Ip9CcCeUocH61eXu4BUGpvl5KleQyhcUVLpWCv+0ZmDv44bFaDpREqjGHHdRupvPN/ugB6gTlD9b9ewdj02yVA=="; }; }; "@prisma/prisma-fmt-wasm-3.12.0-37.22b822189f46ef0dc5c5b503368d1bee01213980" = { @@ -67291,6 +67291,15 @@ let sha512 = "hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg=="; }; }; + "ts-pattern-4.0.2" = { + name = "ts-pattern"; + packageName = "ts-pattern"; + version = "4.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/ts-pattern/-/ts-pattern-4.0.2.tgz"; + sha512 = "eHqR/7A6fcw05vCOfnL6RwgGJbVi9G/YHTdYdjYmElhDdJ1SMn7pWs+6+YuxygaFwQS/g+cIDlu+UD8IVpur1A=="; + }; + }; "ts-pnp-1.2.0" = { name = "ts-pnp"; packageName = "ts-pnp"; @@ -119159,13 +119168,14 @@ in prisma = nodeEnv.buildNodePackage { name = "prisma"; packageName = "prisma"; - version = "3.12.0"; + version = "3.13.0"; src = fetchurl { - url = "https://registry.npmjs.org/prisma/-/prisma-3.12.0.tgz"; - sha512 = "ltCMZAx1i0i9xuPM692Srj8McC665h6E5RqJom999sjtVSccHSD8Z+HSdBN2183h9PJKvC5dapkn78dd0NWMBg=="; + url = "https://registry.npmjs.org/prisma/-/prisma-3.13.0.tgz"; + sha512 = "oO1auBnBtieGdiN+57IgsA9Vr7Sy4HkILi1KSaUG4mpKfEbnkTGnLOxAqjLed+K2nsG/GtE1tJBtB7JxN1a78Q=="; }; dependencies = [ - sources."@prisma/engines-3.12.0-37.22b822189f46ef0dc5c5b503368d1bee01213980" + sources."@prisma/engines-3.13.0-17.efdf9b1183dddfd4258cd181a72125755215ab7b" + sources."ts-pattern-4.0.2" ]; buildInputs = globalBuildInputs; meta = { diff --git a/pkgs/development/tools/database/prisma-engines/default.nix b/pkgs/development/tools/database/prisma-engines/default.nix index 73af1bde5ea2..b3c5c1b0dd09 100644 --- a/pkgs/development/tools/database/prisma-engines/default.nix +++ b/pkgs/development/tools/database/prisma-engines/default.nix @@ -13,19 +13,19 @@ # function correctly. rustPlatform.buildRustPackage rec { pname = "prisma-engines"; - version = "3.12.0"; + version = "3.13.0"; src = fetchFromGitHub { owner = "prisma"; repo = "prisma-engines"; rev = version; - sha256 = "sha256-lIHE63XIPutvTS2cid0+tuo+JMSKMGuSUcnFv1mCRrM="; + sha256 = "sha256-+Ug4tOaqUaqcEoMv20CKE8JrjIdW34VSn20gXZYX92k="; }; # Use system openssl. OPENSSL_NO_VENDOR = 1; - cargoSha256 = "sha256-SkI+GLHknC+CGhGo7KiZahBxMp/JCIukTe2C0mMTdjY="; + cargoSha256 = "sha256-V2G++BYLRGVM4leB2jkM+HcFiCIdf2wA3dfYdtlq7XI="; nativeBuildInputs = [ pkg-config ]; @@ -62,3 +62,15 @@ rustPlatform.buildRustPackage rec { maintainers = with maintainers; [ pamplemousse pimeys superherointj ]; }; } + +### Troubleshooting +# Here's an example application using Prisma with Nix: https://github.com/pimeys/nix-prisma-example +# At example's `flake.nix` shellHook, notice the requirement of defining environment variables for prisma, it's values will show on `prisma --version`. +# Read the example's README: https://github.com/pimeys/nix-prisma-example/blob/main/README.md +# Prisma requires 2 packages, `prisma-engines` and `nodePackages.prisma`, to be at *exact* same versions. +# Certify at `package.json` that dependencies "@prisma/client" and "prisma" are equal, meaning no caret (`^`) in version. +# Configure NPM to use exact version: `npm config set save-exact=true` +# Delete `package-lock.json`, delete `node_modules` directory and run `npm install`. +# Run prisma client from `node_modules/.bin/prisma`. +# Run `./node_modules/.bin/prisma --version` and check if both prisma packages versions are equal, current platform is `linux-nixos`, and other keys equal to the prisma environment variables you defined for prisma. +# Test prisma with `generate`, `db push`, etc. It should work. If not, open an issue.