Fix planner production server + use .ts extensions everywhere

- Fix createRequestHandler → createRequestListener (@react-router/node
  removed the old API)
- Move noEmit + allowImportingTsExtensions to tsconfig.base.json so all
  packages and apps inherit them consistently
- Add explicit .ts extensions to all remaining relative imports across
  packages and apps

Verified locally: node --experimental-strip-types server.ts starts and
responds 200.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Ullrich Schäfer 2026-03-25 01:41:33 +01:00
parent 655dc46ec8
commit 62b5fb998e
No known key found for this signature in database
GPG key ID: A32FF691A0F752D9
18 changed files with 38 additions and 43 deletions

View file

@ -1,7 +1,7 @@
import { drizzle } from "drizzle-orm/postgres-js";
import postgres from "postgres";
import * as plannerSchema from "./schema/planner";
import * as journalSchema from "./schema/journal";
import * as plannerSchema from "./schema/planner.ts";
import * as journalSchema from "./schema/journal.ts";
export function createDb(connectionString?: string) {
const client = postgres(

View file

@ -1,6 +1,6 @@
import { describe, it, expect } from "vitest";
import { generateGpx } from "./generate";
import { parseGpx } from "./parse";
import { generateGpx } from "./generate.ts";
import { parseGpx } from "./parse.ts";
describe("generateGpx", () => {
it("generates valid GPX with name", () => {

View file

@ -1,5 +1,5 @@
import type { Waypoint } from "@trails-cool/types";
import type { TrackPoint } from "./types";
import type { TrackPoint } from "./types.ts";
/**
* Generate a GPX XML string from waypoints and track points.

View file

@ -1,3 +1,3 @@
export { parseGpx, parseGpxAsync } from "./parse";
export { generateGpx } from "./generate";
export type { GpxData, TrackPoint, ElevationProfile } from "./types";
export { parseGpx, parseGpxAsync } from "./parse.ts";
export { generateGpx } from "./generate.ts";
export type { GpxData, TrackPoint, ElevationProfile } from "./types.ts";

View file

@ -1,5 +1,5 @@
import { describe, it, expect } from "vitest";
import { parseGpx } from "./parse";
import { parseGpx } from "./parse.ts";
const sampleGpx = `<?xml version="1.0" encoding="UTF-8"?>
<gpx version="1.1" creator="test" xmlns="http://www.topografix.com/GPX/1/1">

View file

@ -1,5 +1,5 @@
import type { Waypoint } from "@trails-cool/types";
import type { GpxData, TrackPoint, ElevationProfile } from "./types";
import type { GpxData, TrackPoint, ElevationProfile } from "./types.ts";
/**
* Parse a GPX XML string into structured data.

View file

@ -1,8 +1,8 @@
import i18n from "i18next";
import { initReactI18next } from "react-i18next";
import LanguageDetector from "i18next-browser-languagedetector";
import en from "./locales/en";
import de from "./locales/de";
import en from "./locales/en.ts";
import de from "./locales/de.ts";
export const defaultNS = "common";

View file

@ -1,6 +1,6 @@
export { MapView } from "./MapView";
export type { MapViewProps } from "./MapView";
export { RouteLayer } from "./RouteLayer";
export type { RouteLayerProps } from "./RouteLayer";
export { baseLayers } from "./layers";
export type { TileLayerConfig } from "./layers";
export { MapView } from "./MapView.tsx";
export type { MapViewProps } from "./MapView.tsx";
export { RouteLayer } from "./RouteLayer.tsx";
export type { RouteLayerProps } from "./RouteLayer.tsx";
export { baseLayers } from "./layers.ts";
export type { TileLayerConfig } from "./layers.ts";

View file

@ -1,5 +1,5 @@
import { describe, it, expect } from "vitest";
import type { Waypoint, Route } from "./index";
import type { Waypoint, Route } from "./index.ts";
describe("types", () => {
it("Waypoint type accepts valid data", () => {

View file

@ -1,6 +1,6 @@
export { Button } from "./Button";
export type { ButtonProps } from "./Button";
export { Input } from "./Input";
export type { InputProps } from "./Input";
export { Card } from "./Card";
export type { CardProps } from "./Card";
export { Button } from "./Button.tsx";
export type { ButtonProps } from "./Button.tsx";
export { Input } from "./Input.tsx";
export type { InputProps } from "./Input.tsx";
export { Card } from "./Card.tsx";
export type { CardProps } from "./Card.tsx";