From 0e605fb6d8c8f647ad6855bac5a84c322165d6ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Valverd=C3=A9?= Date: Mon, 22 Sep 2025 03:14:28 +0200 Subject: [PATCH 1/7] Fix webapp production route --- packages/server/src/http.ts | 44 ++++++++++++++----------------------- 1 file changed, 17 insertions(+), 27 deletions(-) diff --git a/packages/server/src/http.ts b/packages/server/src/http.ts index da02f1c..8cc3964 100644 --- a/packages/server/src/http.ts +++ b/packages/server/src/http.ts @@ -16,51 +16,41 @@ const makeWebRpcRoute = Effect.all([ Effect.provide(WebRpcLive), ) -const makeProductionWebappMiddleware = Effect.gen(function*() { +const makeProductionWebappRoute = Effect.fnUntraced(function*(route: HttpRouter.PathInput) { const path = yield* Path.Path const fs = yield* FileSystem.FileSystem const dist = path.join(yield* path.fromFileUrl(new URL(".", import.meta.resolve("@website/webapp"))), "dist") - return () => Effect.gen(function*() { + return HttpRouter.all(route, Effect.gen(function*() { const req = yield* HttpServerRequest.HttpServerRequest const source = path.join(dist, req.url) - const isValid = yield* fs.stat(source).pipe( + const exists = yield* fs.stat(source).pipe( Effect.andThen(stat => stat.type === "File"), Effect.catchAll(() => Effect.succeed(false)), ) return yield* HttpServerResponse.setHeader( - yield* HttpServerResponse.file(isValid ? source : path.join(dist, "index.html")), + yield* HttpServerResponse.file(exists ? source : path.join(dist, "index.html")), "Cache-Control", `public, max-age=${Duration.toSeconds("365 days")}, immutable` ) - }) + })) }) -export const HttpAppDevelopment = Effect.provide(makeWebRpcRoute, WebRpcSerializationDevelopment).pipe( - Effect.map(serveWebRpc => router.pipe( - serveWebRpc, - HttpServer.serve(flow( - HttpMiddleware.logger, - HttpMiddleware.xForwardedHeaders, - )), +export const HttpAppDevelopment = Layer.unwrapScoped(Effect.gen(function*() { + return router.pipe( + yield* Effect.provide(makeWebRpcRoute, WebRpcSerializationDevelopment), + HttpServer.serve(flow(HttpMiddleware.logger, HttpMiddleware.xForwardedHeaders)), HttpServer.withLogAddress, - )), + ) +})) - Layer.unwrapScoped, -) - -export const HttpAppProduction = Effect.all([ - Effect.provide(makeWebRpcRoute, WebRpcSerializationProduction), - makeProductionWebappMiddleware, -]).pipe( - Effect.map(([serveWebRpc, serveProductionWebapp]) => router.pipe( - serveWebRpc, - serveProductionWebapp, +export const HttpAppProduction = Layer.unwrapScoped(Effect.gen(function*() { + return router.pipe( + yield* Effect.provide(makeWebRpcRoute, WebRpcSerializationProduction), + yield* makeProductionWebappRoute("*"), HttpServer.serve(HttpMiddleware.xForwardedHeaders), HttpServer.withLogAddress, - )), - - Layer.unwrapScoped, -) + ) +})) From fb860e8be6d1f54296493c9517efe93ce6d5e997 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Valverd=C3=A9?= Date: Mon, 22 Sep 2025 03:27:20 +0200 Subject: [PATCH 2/7] Fix Biome --- .vscode/settings.json | 5 ++++- packages/server/src/entrypoint.node.ts | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 72446f4..723e209 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,3 +1,6 @@ { - "typescript.tsdk": "node_modules/typescript/lib" + "typescript.tsdk": "node_modules/typescript/lib", + "editor.codeActionsOnSave": { + "source.fixAll.biome": "explicit" + } } diff --git a/packages/server/src/entrypoint.node.ts b/packages/server/src/entrypoint.node.ts index baf03fe..52f1b4c 100644 --- a/packages/server/src/entrypoint.node.ts +++ b/packages/server/src/entrypoint.node.ts @@ -1,6 +1,6 @@ +import { createServer } from "node:http" import { NodeContext, NodeHttpServer, NodeRuntime } from "@effect/platform-node" import { Effect, Layer } from "effect" -import { createServer } from "node:http" import { ServerConfig } from "./config" import { Server } from "./server" From 6b88f2948e2e2daaee668877bc1ec0df40d5f36d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Valverd=C3=A9?= Date: Mon, 22 Sep 2025 05:31:53 +0200 Subject: [PATCH 3/7] Fix --- biome.json | 5 ++++- packages/webapp/src/components/ui/card.tsx | 4 ++-- packages/webapp/src/routes/__root.tsx | 6 +++--- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/biome.json b/biome.json index c59f6d7..c9ab7ea 100644 --- a/biome.json +++ b/biome.json @@ -15,7 +15,10 @@ "linter": { "enabled": true, "rules": { - "recommended": true + "recommended": true, + "nursery": { + "useSortedClasses": "error" + } } }, "javascript": { diff --git a/packages/webapp/src/components/ui/card.tsx b/packages/webapp/src/components/ui/card.tsx index 5b36c60..54bd7e7 100644 --- a/packages/webapp/src/components/ui/card.tsx +++ b/packages/webapp/src/components/ui/card.tsx @@ -7,7 +7,7 @@ function Card({ className, ...props }: React.ComponentProps<"div">) {
) { return (
) diff --git a/packages/webapp/src/routes/__root.tsx b/packages/webapp/src/routes/__root.tsx index 7a25978..9eb7cd3 100644 --- a/packages/webapp/src/routes/__root.tsx +++ b/packages/webapp/src/routes/__root.tsx @@ -1,6 +1,6 @@ -import { Card, CardContent } from "@/components/ui/card" -import { Outlet, createRootRoute } from "@tanstack/react-router" +import { createRootRoute, Outlet } from "@tanstack/react-router" import { TanStackRouterDevtools } from "@tanstack/react-router-devtools" +import { Card, CardContent } from "@/components/ui/card" export const Route = createRootRoute({ @@ -9,7 +9,7 @@ export const Route = createRootRoute({ function RootComponent() { return <> -
+
From 29d9d6bd11bba99db02a4dd076cb261046ada1e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Valverd=C3=A9?= Date: Fri, 3 Oct 2025 13:40:17 +0200 Subject: [PATCH 4/7] Update Renovate config --- renovate.json | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/renovate.json b/renovate.json index 5db72dd..92442a6 100644 --- a/renovate.json +++ b/renovate.json @@ -2,5 +2,24 @@ "$schema": "https://docs.renovatebot.com/renovate-schema.json", "extends": [ "config:recommended" + ], + "packageRules": [ + { + "matchManagers": ["npm"], + "matchPaths": ["./packages/**"], + "manager": "bun" + }, + { + "matchManagers": ["bun"], + "matchUpdateTypes": ["minor", "patch"], + "groupName": "bun minor+patch updates", + "groupSlug": "bun-minor-patch" + }, + { + "matchManagers": ["bun"], + "matchUpdateTypes": ["major"], + "groupName": "bun major updates", + "groupSlug": "bun-major" + } ] } From c15b91a3d923895ee992e5210ff274f63cc28ba4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Valverd=C3=A9?= Date: Fri, 3 Oct 2025 15:31:22 +0200 Subject: [PATCH 5/7] Update Renovate config --- renovate.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/renovate.json b/renovate.json index 92442a6..5cb8b95 100644 --- a/renovate.json +++ b/renovate.json @@ -10,13 +10,13 @@ "manager": "bun" }, { - "matchManagers": ["bun"], + "matchManagers": ["bun", "npm"], "matchUpdateTypes": ["minor", "patch"], "groupName": "bun minor+patch updates", "groupSlug": "bun-minor-patch" }, { - "matchManagers": ["bun"], + "matchManagers": ["bun", "npm"], "matchUpdateTypes": ["major"], "groupName": "bun major updates", "groupSlug": "bun-major" From 9fbdeb6aa41fdcc71bb75ec5ebbd367e6a0465f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Valverd=C3=A9?= Date: Fri, 3 Oct 2025 15:39:55 +0200 Subject: [PATCH 6/7] Fix Biome config --- biome.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/biome.json b/biome.json index c9ab7ea..8c4a4d2 100644 --- a/biome.json +++ b/biome.json @@ -9,8 +9,7 @@ "ignoreUnknown": false }, "formatter": { - "enabled": false, - "indentStyle": "tab" + "enabled": false }, "linter": { "enabled": true, From ef3204322a618aba00536f6d589f427e43eafcac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Valverd=C3=A9?= Date: Fri, 3 Oct 2025 16:02:12 +0200 Subject: [PATCH 7/7] Fix Biome config --- biome.json | 66 +++++++++++++++++++------------------- packages/common/biome.json | 12 +++---- packages/server/biome.json | 12 +++---- packages/webapp/biome.json | 12 +++---- 4 files changed, 51 insertions(+), 51 deletions(-) diff --git a/biome.json b/biome.json index 8c4a4d2..ec2e9a1 100644 --- a/biome.json +++ b/biome.json @@ -1,36 +1,36 @@ { - "$schema": "https://biomejs.dev/schemas/latest/schema.json", - "vcs": { - "enabled": false, - "clientKind": "git", - "useIgnoreFile": false - }, - "files": { - "ignoreUnknown": false - }, - "formatter": { - "enabled": false - }, - "linter": { - "enabled": true, - "rules": { - "recommended": true, - "nursery": { - "useSortedClasses": "error" - } - } - }, - "javascript": { - "formatter": { - "quoteStyle": "double" - } - }, - "assist": { - "enabled": true, - "actions": { - "source": { - "organizeImports": "on" - } - } + "$schema": "https://biomejs.dev/schemas/latest/schema.json", + "vcs": { + "enabled": false, + "clientKind": "git", + "useIgnoreFile": false + }, + "files": { + "ignoreUnknown": false + }, + "formatter": { + "enabled": false + }, + "linter": { + "enabled": true, + "rules": { + "recommended": true, + "nursery": { + "useSortedClasses": "error" + } } + }, + "javascript": { + "formatter": { + "quoteStyle": "double" + } + }, + "assist": { + "enabled": true, + "actions": { + "source": { + "organizeImports": "on" + } + } + } } diff --git a/packages/common/biome.json b/packages/common/biome.json index 401b454..41d707b 100644 --- a/packages/common/biome.json +++ b/packages/common/biome.json @@ -1,8 +1,8 @@ { - "$schema": "https://biomejs.dev/schemas/latest/schema.json", - "root": false, - "extends": "//", - "files": { - "includes": ["./src/**"] - } + "$schema": "https://biomejs.dev/schemas/latest/schema.json", + "root": false, + "extends": "//", + "files": { + "includes": ["./src/**"] + } } diff --git a/packages/server/biome.json b/packages/server/biome.json index 401b454..41d707b 100644 --- a/packages/server/biome.json +++ b/packages/server/biome.json @@ -1,8 +1,8 @@ { - "$schema": "https://biomejs.dev/schemas/latest/schema.json", - "root": false, - "extends": "//", - "files": { - "includes": ["./src/**"] - } + "$schema": "https://biomejs.dev/schemas/latest/schema.json", + "root": false, + "extends": "//", + "files": { + "includes": ["./src/**"] + } } diff --git a/packages/webapp/biome.json b/packages/webapp/biome.json index 0e84ec8..77ba81c 100644 --- a/packages/webapp/biome.json +++ b/packages/webapp/biome.json @@ -1,8 +1,8 @@ { - "$schema": "https://biomejs.dev/schemas/latest/schema.json", - "root": false, - "extends": "//", - "files": { - "includes": ["./src/**", "!src/routeTree.gen.ts"] - } + "$schema": "https://biomejs.dev/schemas/latest/schema.json", + "root": false, + "extends": "//", + "files": { + "includes": ["./src/**", "!src/routeTree.gen.ts"] + } }