Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 9 additions & 9 deletions .changeset/short-feet-see.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
---
"@codeimage/prisma-models": patch
"@codeimage/atomic-state": patch
"@codeimage/dom-export": patch
"@codeimage/highlight": patch
"@codeimage/config": patch
"@codeimage/locale": patch
"@codeimage/app": patch
"@codeimage/ui": patch
"@codeimage/api": patch
'@codeimage/prisma-models': patch
'@codeimage/atomic-state': patch
'@codeimage/dom-export': patch
'@codeimage/highlight': patch
'@codeimage/config': patch
'@codeimage/locale': patch
'@codeimage/app': patch
'@codeimage/ui': patch
'@codeimage/api': patch
---

Update to TypeScript 6.0
6 changes: 6 additions & 0 deletions .changeset/tame-hands-guess.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
'@codeimage/prisma-models': patch
'@codeimage/api': patch
---

Upgrade to Prisma 7
6 changes: 0 additions & 6 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -112,12 +112,6 @@ jobs:
- name: 📥 Monorepo install
uses: ./.github/actions/pnpm-install

- name: Prisma migrate
run: |
cd apps/api
pnpm prisma generate
pnpm --filter=@codeimage/prisma-models build

- name: Restore dist
uses: actions/cache@v5
with:
Expand Down
4 changes: 0 additions & 4 deletions apps/api/.taprc

This file was deleted.

19 changes: 10 additions & 9 deletions apps/api/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -50,32 +50,33 @@
"@fastify/swagger": "^9.7.0",
"@fastify/swagger-ui": "^5.2.5",
"@fastify/type-provider-typebox": "^6.1.0",
"@prisma/client": "^4.15.0",
"@prisma/client": "^7.5.0",
"@sinclair/typebox": "^0.34.48",
"close-with-grace": "^2.5.0",
"dotenv": "^17.3.1",
"dotenv-cli": "^11.0.0",
"fastify": "^5.8.2",
"fastify": "^5.8.4",
"fastify-auth0-verify": "^4.1.0",
"fastify-cli": "^7.4.1",
"fastify-healthcheck": "^5.1.0",
"fastify-plugin": "^5.1.0",
"fluent-json-schema": "^6.0.0",
"prisma": "^4.15.0"
"fluent-json-schema": "^6.0.0"
},
"devDependencies": {
"@prisma/adapter-pg": "7.5.0",
"@types/node": "catalog:next",
"@types/sinon": "^10.0.15",
"@vitest/ui": "^0.31.4",
"concurrently": "^7.6.0",
"@types/sinon": "^21.0.0",
"@vitest/ui": "^4.1.1",
"concurrently": "^9.2.1",
"fastify-tsconfig": "^3.0.0",
"oxfmt": "catalog:next",
"oxlint": "catalog:next",
"pino-pretty": "13.1.3",
"sinon": "^15.1.2",
"prisma": "^7.5.0",
"sinon": "^21.0.3",
"tsdown": "catalog:next",
"tsx": "catalog:next",
"typescript": "catalog:next",
"typescript": "^6.0.2",
"vite": "catalog:next",
"vitest": "catalog:next"
}
Expand Down
17 changes: 17 additions & 0 deletions apps/api/prisma.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
import 'dotenv/config';
import {defineConfig, env} from 'prisma/config';

let databaseUrl: string | undefined = undefined;
try {
databaseUrl = env('DATABASE_URL');
} catch {}

export default defineConfig({
schema: 'prisma/schema.prisma',
migrations: {
path: 'prisma/migrations',
},
datasource: {
url: databaseUrl,
},
});
6 changes: 2 additions & 4 deletions apps/api/prisma/schema.prisma
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,12 @@
// learn more about it in the docs: https://pris.ly/d/prisma-schema

generator client {
provider = "prisma-client-js"
output = "../../../packages/prisma-models/generated/client"
binaryTargets = ["native", "debian-openssl-3.0.x"]
provider = "prisma-client-js"
output = "../../../packages/prisma-models/generated/client"
}

datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}

model User {
Expand Down
5 changes: 1 addition & 4 deletions apps/api/src/app.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,7 @@ export type AppOptions = {
// Place your custom options for app below here.
} & Partial<AutoloadPluginOptions>;

const app: FastifyPluginAsync = async (
fastify,
opts,
): Promise<void> => {
const app: FastifyPluginAsync = async (fastify, opts): Promise<void> => {
// Do not touch the following lines

await fastify.register(fastifyEnv, {
Expand Down
2 changes: 1 addition & 1 deletion apps/api/src/modules/preset/handlers/delete.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ export const remove =
.withImplementation(({repository}, {handlers}) => {
return async (userId: string, id: string) => {
const preset = await handlers.findPresetById(userId, id);
return repository.deletePreset(preset.id);
return repository.deletePreset(preset.id) as unknown;
};
})
.build();
Expand Down
12 changes: 6 additions & 6 deletions apps/api/src/plugins/prisma.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import {PrismaClient} from '@codeimage/prisma-models';
import {PrismaClient} from '@codeimage/prisma-models/client';
import {PrismaPg} from '@prisma/adapter-pg';
import type {FastifyPluginAsync} from 'fastify';
import fp from 'fastify-plugin';

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

const prismaPlugin: FastifyPluginAsync = fp(
async server => {
const adapter = new PrismaPg({
connectionString: server.config.DATABASE_URL,
});
const prisma = new PrismaClient({
datasources: {
db: {
url: server.config.DATABASE_URL,
},
},
adapter,
});

await prisma.$connect();
Expand Down
12 changes: 7 additions & 5 deletions apps/api/test/helpers/seed.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
import {PrismaClient} from '@codeimage/prisma-models';
import * as crypto from 'crypto';
import {PrismaClient} from '@codeimage/prisma-models/client';
import {PrismaPg} from '@prisma/adapter-pg';
import * as crypto from 'node:crypto';
import {testPresetUtils} from '../__internal__/presetUtils.js';

const adapter = new PrismaPg({
connectionString: import.meta.env['DATABASE_URL'] || process.env.DATABASE_URL,
});
export const client = new PrismaClient({
datasources: {
db: {url: import.meta.env['DATABASE_URL'] || process.env.DATABASE_URL},
},
adapter,
});

export const userSeed = {
Expand Down
4 changes: 2 additions & 2 deletions apps/api/test/setup-integration.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import type {PrismaClient} from '@prisma/client';
import type {PrismaClient} from '@codeimage/prisma-models/client';
import * as dotEnv from 'dotenv';
import {execSync} from 'node:child_process';
import path from 'node:path';
Expand All @@ -10,7 +10,7 @@ export async function setup() {
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);

void dotEnv.config({path: `${__dirname}/../.env.test`}).parsed;
void dotEnv.config({path: `${__dirname}/../.env.testing`}).parsed;

execSync(
`pnpm run prisma:migrate:reset-test --force && pnpm run prisma:migrate:deploy-test`,
Expand Down
4 changes: 2 additions & 2 deletions apps/api/tsconfig.dts.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{
"extends": "./tsconfig.json",
"compilerOptions": {
"declaration": true,
"emitDeclarationOnly": true,
"declaration": false,
"emitDeclarationOnly": false,
"declarationMap": false,
"outDir": "./dist",
"moduleResolution": "NodeNext",
Expand Down
5 changes: 1 addition & 4 deletions apps/api/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,7 @@
"moduleResolution": "nodenext",
"module": "NodeNext",
"target": "ESNext",
"types": [
"@types/node",
"./src/common/domainFunctions/functions.d.ts"
]
"types": ["@types/node", "./src/common/domainFunctions/functions.d.ts"]
},
"include": ["./src/**/*.ts"]
}
7 changes: 5 additions & 2 deletions apps/api/tsdown.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,11 @@ export default defineConfig({
],
unbundle: true,
format: 'esm',
dts: {
enabled: true,
},
treeshake: false,
deps: {
skipNodeModulesBundle: true
}
skipNodeModulesBundle: true,
},
});
2 changes: 1 addition & 1 deletion apps/api/vitest.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ export default defineConfig(() => {
const config = defineConfig({
test: {
env: {
FASTIFY_AUTOLOAD_TYPESCRIPT: "1",
FASTIFY_AUTOLOAD_TYPESCRIPT: '1',
},
server: {
deps: {
Expand Down
32 changes: 16 additions & 16 deletions apps/codeimage/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,18 +15,18 @@
"pre-commit-eslint": "oxlint --fix",
"lint": "oxlint",
"lint:fix": "oxlint --fix",
"typecheck": "tsc --noEmit --skipLibCheck --project tsconfig.json"
"typecheck": "tsc --noEmit"
},
"devDependencies": {
"@mdx-js/mdx": "catalog:next",
"@mdx-js/rollup": "catalog:next",
"@mswjs/data": "^0.10.2",
"@mswjs/data": "^0.16.2",
"@types/downloadjs": "^1.4.6",
"@types/mdx": "2.0.13",
"@vanilla-extract/vite-plugin": "^5.2.1",
"cross-env": "^7.0.3",
"cross-env": "^10.1.0",
"https-localhost": "^4.7.1",
"msw": "^0.47.4",
"msw": "^2.12.14",
"oxfmt": "catalog:next",
"oxlint": "catalog:next",
"prettier": "^3.8.1",
Expand All @@ -35,15 +35,15 @@
"rimraf": "catalog:next",
"sass": "catalog:next",
"tsx": "catalog:next",
"typescript": "catalog:next",
"typescript": "^6.0.2",
"vite": "catalog:next",
"vite-plugin-solid": "catalog:next",
"vite-tsconfig-paths": "catalog:next",
"workbox-core": "^6.6.0",
"workbox-window": "^6.6.0"
"workbox-core": "^7.4.0",
"workbox-window": "^7.4.0"
},
"dependencies": {
"@auth0/auth0-spa-js": "^2.0.4",
"@auth0/auth0-spa-js": "^2.18.0",
"@codeimage/api": "workspace:*",
"@codeimage/atomic-state": "workspace:*",
"@codeimage/config": "workspace:*",
Expand Down Expand Up @@ -74,8 +74,8 @@
"@corvu/utils": "0.4.2",
"@floating-ui/core": "^1.5.0",
"@floating-ui/dom": "^1.5.3",
"@formatjs/intl-relativetimeformat": "11.1.4",
"@kobalte/core": "^0.13.6",
"@formatjs/intl-relativetimeformat": "12.3.1",
"@kobalte/core": "^0.13.11",
"@kobalte/utils": "^0.9.1",
"@kobalte/vanilla-extract": "^0.5.0",
"@lezer/highlight": "catalog:next",
Expand All @@ -89,7 +89,7 @@
"@solid-primitives/props": "^3.2.3",
"@solid-primitives/resize-observer": "^2.1.5",
"@solid-primitives/utils": "^6.4.0",
"@solidjs/router": "^0.8.2",
"@solidjs/router": "0.8.2",
"@thisbeyond/solid-dnd": "0.7.5",
"@vanilla-extract/css": "^1.20.0",
"@vanilla-extract/dynamic": "^2.1.5",
Expand All @@ -98,7 +98,7 @@
"clsx": "^2.1.1",
"downloadjs": "^1.4.7",
"idb-keyval": "^6.2.2",
"inter-ui": "^3.19.3",
"inter-ui": "^4.1.1",
"modern-normalize": "^3.0.1",
"motion": "^10.15.5",
"polished": "^4.2.2",
Expand All @@ -107,12 +107,12 @@
"solid-headless": "^0.13.1",
"solid-js": "catalog:next",
"solid-mdx": "^0.0.7",
"solid-use": "^0.7.2",
"solid-use": "^0.9.1",
"statebuilder": "^0.8.1",
"tinykeys": "^3.0.0",
"workbox-precaching": "^6.6.0",
"workbox-routing": "^6.6.0",
"workbox-strategies": "^6.6.0"
"workbox-precaching": "^7.4.0",
"workbox-routing": "^7.4.0",
"workbox-strategies": "^7.4.0"
},
"msw": {
"workerDirectory": "public"
Expand Down
Loading
Loading