From 4d73de4e0d08d6bab26d8c4a132b8c57e27affe1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ullrich=20Sch=C3=A4fer?= Date: Wed, 25 Mar 2026 01:34:16 +0100 Subject: [PATCH] Use explicit .ts extensions for Node-compatible imports Node's --experimental-strip-types requires explicit .ts extensions on relative imports. Add allowImportingTsExtensions to both app tsconfigs and update server-side imports in planner and journal for consistency. Co-Authored-By: Claude Opus 4.6 (1M context) --- apps/journal/app/lib/activities.server.ts | 2 +- apps/journal/app/lib/auth.server.ts | 2 +- apps/journal/app/lib/routes.server.ts | 2 +- apps/journal/tsconfig.json | 1 + apps/planner/app/lib/sessions.ts | 4 ++-- apps/planner/app/lib/yjs-server.ts | 2 +- apps/planner/server.ts | 2 +- apps/planner/tsconfig.json | 1 + 8 files changed, 9 insertions(+), 7 deletions(-) diff --git a/apps/journal/app/lib/activities.server.ts b/apps/journal/app/lib/activities.server.ts index eea778d..e51c7b4 100644 --- a/apps/journal/app/lib/activities.server.ts +++ b/apps/journal/app/lib/activities.server.ts @@ -1,6 +1,6 @@ import { randomUUID } from "node:crypto"; import { eq, desc } from "drizzle-orm"; -import { getDb } from "./db"; +import { getDb } from "./db.ts"; import { activities, routes } from "@trails-cool/db/schema/journal"; import { parseGpxAsync } from "@trails-cool/gpx"; diff --git a/apps/journal/app/lib/auth.server.ts b/apps/journal/app/lib/auth.server.ts index 48951c7..8905332 100644 --- a/apps/journal/app/lib/auth.server.ts +++ b/apps/journal/app/lib/auth.server.ts @@ -11,7 +11,7 @@ import type { AuthenticationResponseJSON, AuthenticatorTransportFuture, } from "@simplewebauthn/types"; -import { getDb } from "./db"; +import { getDb } from "./db.ts"; import { users, credentials, magicTokens } from "@trails-cool/db/schema/journal"; const RP_NAME = "trails.cool"; diff --git a/apps/journal/app/lib/routes.server.ts b/apps/journal/app/lib/routes.server.ts index 8ab80e8..1d36af3 100644 --- a/apps/journal/app/lib/routes.server.ts +++ b/apps/journal/app/lib/routes.server.ts @@ -1,6 +1,6 @@ import { randomUUID } from "node:crypto"; import { eq, desc, and } from "drizzle-orm"; -import { getDb } from "./db"; +import { getDb } from "./db.ts"; import { routes, routeVersions } from "@trails-cool/db/schema/journal"; import { parseGpx } from "@trails-cool/gpx"; diff --git a/apps/journal/tsconfig.json b/apps/journal/tsconfig.json index fe098db..0aab76e 100644 --- a/apps/journal/tsconfig.json +++ b/apps/journal/tsconfig.json @@ -9,6 +9,7 @@ "compilerOptions": { "rootDirs": [".", "./.react-router/types"], "noEmit": true, + "allowImportingTsExtensions": true, "types": ["vite/client"], "paths": { "~/*": ["./app/*"] diff --git a/apps/planner/app/lib/sessions.ts b/apps/planner/app/lib/sessions.ts index 9f66764..728f380 100644 --- a/apps/planner/app/lib/sessions.ts +++ b/apps/planner/app/lib/sessions.ts @@ -1,8 +1,8 @@ import { randomUUID } from "node:crypto"; import * as Y from "yjs"; import { eq, and, desc, lt } from "drizzle-orm"; -import { getOrCreateDoc, deleteDoc } from "./yjs-server"; -import { getDb } from "./db"; +import { getOrCreateDoc, deleteDoc } from "./yjs-server.ts"; +import { getDb } from "./db.ts"; import { sessions } from "@trails-cool/db/schema/planner"; export type SessionMetadata = typeof sessions.$inferSelect; diff --git a/apps/planner/app/lib/yjs-server.ts b/apps/planner/app/lib/yjs-server.ts index 3cebb39..50bc9d2 100644 --- a/apps/planner/app/lib/yjs-server.ts +++ b/apps/planner/app/lib/yjs-server.ts @@ -1,7 +1,7 @@ import { WebSocketServer, type WebSocket } from "ws"; import * as Y from "yjs"; import type { IncomingMessage, Server } from "node:http"; -import { saveSessionState, loadSessionState, touchSession } from "./sessions"; +import { saveSessionState, loadSessionState, touchSession } from "./sessions.ts"; const docs = new Map(); const sessionClients = new Map>(); diff --git a/apps/planner/server.ts b/apps/planner/server.ts index 5909187..4ef1758 100644 --- a/apps/planner/server.ts +++ b/apps/planner/server.ts @@ -1,6 +1,6 @@ import { createRequestHandler } from "@react-router/node"; import { createServer } from "node:http"; -import { setupYjsWebSocket } from "./app/lib/yjs-server"; +import { setupYjsWebSocket } from "./app/lib/yjs-server.ts"; const port = Number(process.env.PORT ?? 3001); diff --git a/apps/planner/tsconfig.json b/apps/planner/tsconfig.json index 708aa4d..5cd30e8 100644 --- a/apps/planner/tsconfig.json +++ b/apps/planner/tsconfig.json @@ -9,6 +9,7 @@ "compilerOptions": { "rootDirs": [".", "./.react-router/types"], "noEmit": true, + "allowImportingTsExtensions": true, "types": ["vite/client"], "paths": { "~/*": ["./app/*"]