Skip to content

Commit 9d17f94

Browse files
committed
feat: update to prisma 7 (#688)
* feat: update to prisma 7 Signed-off-by: riccardoperra <riccardo.perra@icloud.com> * docs(changeset): Upgrade to Prisma 7 * fix prisma 7 connection on test Signed-off-by: riccardoperra <riccardo.perra@icloud.com> * generate prisma config fix Signed-off-by: riccardoperra <riccardo.perra@icloud.com> * chore: update TypeScript and various dependencies to latest versions Signed-off-by: riccardoperra <riccardo.perra@icloud.com> * fix: update date formatting and dependency versions - Removed polyfill import for relative time formatting - Updated '@solidjs/router' version to 0.8.2 in package.json - Removed 'preserveSymlinks' option from tsconfig.json Signed-off-by: riccardoperra <riccardo.perra@icloud.com> * fix: disable declaration generation in TypeScript configuration Signed-off-by: riccardoperra <riccardo.perra@icloud.com> * fix: update various configurations and imports for consistency Signed-off-by: riccardoperra <riccardo.perra@icloud.com> * prisma models fixes Signed-off-by: riccardoperra <riccardo.perra@icloud.com> * fix Signed-off-by: riccardoperra <riccardo.perra@icloud.com> * fix types export in api Signed-off-by: riccardoperra <riccardo.perra@icloud.com> --------- Signed-off-by: riccardoperra <riccardo.perra@icloud.com>
1 parent d2b2098 commit 9d17f94

46 files changed

Lines changed: 2671 additions & 2911 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.changeset/short-feet-see.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
---
2-
"@codeimage/prisma-models": patch
3-
"@codeimage/atomic-state": patch
4-
"@codeimage/dom-export": patch
5-
"@codeimage/highlight": patch
6-
"@codeimage/config": patch
7-
"@codeimage/locale": patch
8-
"@codeimage/app": patch
9-
"@codeimage/ui": patch
10-
"@codeimage/api": patch
2+
'@codeimage/prisma-models': patch
3+
'@codeimage/atomic-state': patch
4+
'@codeimage/dom-export': patch
5+
'@codeimage/highlight': patch
6+
'@codeimage/config': patch
7+
'@codeimage/locale': patch
8+
'@codeimage/app': patch
9+
'@codeimage/ui': patch
10+
'@codeimage/api': patch
1111
---
1212

1313
Update to TypeScript 6.0

.changeset/tame-hands-guess.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
'@codeimage/prisma-models': patch
3+
'@codeimage/api': patch
4+
---
5+
6+
Upgrade to Prisma 7

.github/workflows/main.yml

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -112,12 +112,6 @@ jobs:
112112
- name: 📥 Monorepo install
113113
uses: ./.github/actions/pnpm-install
114114

115-
- name: Prisma migrate
116-
run: |
117-
cd apps/api
118-
pnpm prisma generate
119-
pnpm --filter=@codeimage/prisma-models build
120-
121115
- name: Restore dist
122116
uses: actions/cache@v5
123117
with:

apps/api/.taprc

Lines changed: 0 additions & 4 deletions
This file was deleted.

apps/api/package.json

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -50,32 +50,33 @@
5050
"@fastify/swagger": "^9.7.0",
5151
"@fastify/swagger-ui": "^5.2.5",
5252
"@fastify/type-provider-typebox": "^6.1.0",
53-
"@prisma/client": "^4.15.0",
53+
"@prisma/client": "^7.5.0",
5454
"@sinclair/typebox": "^0.34.48",
5555
"close-with-grace": "^2.5.0",
5656
"dotenv": "^17.3.1",
5757
"dotenv-cli": "^11.0.0",
58-
"fastify": "^5.8.2",
58+
"fastify": "^5.8.4",
5959
"fastify-auth0-verify": "^4.1.0",
6060
"fastify-cli": "^7.4.1",
6161
"fastify-healthcheck": "^5.1.0",
6262
"fastify-plugin": "^5.1.0",
63-
"fluent-json-schema": "^6.0.0",
64-
"prisma": "^4.15.0"
63+
"fluent-json-schema": "^6.0.0"
6564
},
6665
"devDependencies": {
66+
"@prisma/adapter-pg": "7.5.0",
6767
"@types/node": "catalog:next",
68-
"@types/sinon": "^10.0.15",
69-
"@vitest/ui": "^0.31.4",
70-
"concurrently": "^7.6.0",
68+
"@types/sinon": "^21.0.0",
69+
"@vitest/ui": "^4.1.1",
70+
"concurrently": "^9.2.1",
7171
"fastify-tsconfig": "^3.0.0",
7272
"oxfmt": "catalog:next",
7373
"oxlint": "catalog:next",
7474
"pino-pretty": "13.1.3",
75-
"sinon": "^15.1.2",
75+
"prisma": "^7.5.0",
76+
"sinon": "^21.0.3",
7677
"tsdown": "catalog:next",
7778
"tsx": "catalog:next",
78-
"typescript": "catalog:next",
79+
"typescript": "^6.0.2",
7980
"vite": "catalog:next",
8081
"vitest": "catalog:next"
8182
}

apps/api/prisma.config.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import 'dotenv/config';
2+
import {defineConfig, env} from 'prisma/config';
3+
4+
let databaseUrl: string | undefined = undefined;
5+
try {
6+
databaseUrl = env('DATABASE_URL');
7+
} catch {}
8+
9+
export default defineConfig({
10+
schema: 'prisma/schema.prisma',
11+
migrations: {
12+
path: 'prisma/migrations',
13+
},
14+
datasource: {
15+
url: databaseUrl,
16+
},
17+
});

apps/api/prisma/schema.prisma

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,12 @@
22
// learn more about it in the docs: https://pris.ly/d/prisma-schema
33

44
generator client {
5-
provider = "prisma-client-js"
6-
output = "../../../packages/prisma-models/generated/client"
7-
binaryTargets = ["native", "debian-openssl-3.0.x"]
5+
provider = "prisma-client-js"
6+
output = "../../../packages/prisma-models/generated/client"
87
}
98

109
datasource db {
1110
provider = "postgresql"
12-
url = env("DATABASE_URL")
1311
}
1412

1513
model User {

apps/api/src/app.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,7 @@ export type AppOptions = {
3131
// Place your custom options for app below here.
3232
} & Partial<AutoloadPluginOptions>;
3333

34-
const app: FastifyPluginAsync = async (
35-
fastify,
36-
opts,
37-
): Promise<void> => {
34+
const app: FastifyPluginAsync = async (fastify, opts): Promise<void> => {
3835
// Do not touch the following lines
3936

4037
await fastify.register(fastifyEnv, {

apps/api/src/modules/preset/handlers/delete.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ export const remove =
77
.withImplementation(({repository}, {handlers}) => {
88
return async (userId: string, id: string) => {
99
const preset = await handlers.findPresetById(userId, id);
10-
return repository.deletePreset(preset.id);
10+
return repository.deletePreset(preset.id) as unknown;
1111
};
1212
})
1313
.build();

apps/api/src/plugins/prisma.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
import {PrismaClient} from '@codeimage/prisma-models';
1+
import {PrismaClient} from '@codeimage/prisma-models/client';
2+
import {PrismaPg} from '@prisma/adapter-pg';
23
import type {FastifyPluginAsync} from 'fastify';
34
import fp from 'fastify-plugin';
45

@@ -10,12 +11,11 @@ declare module 'fastify' {
1011

1112
const prismaPlugin: FastifyPluginAsync = fp(
1213
async server => {
14+
const adapter = new PrismaPg({
15+
connectionString: server.config.DATABASE_URL,
16+
});
1317
const prisma = new PrismaClient({
14-
datasources: {
15-
db: {
16-
url: server.config.DATABASE_URL,
17-
},
18-
},
18+
adapter,
1919
});
2020

2121
await prisma.$connect();

0 commit comments

Comments
 (0)