fix(types): use .js extensions for shared-types re-exports

Commit 93bb94a12 dropped the extensions on shared-types re-exports
to make the web app's svelte-check pass (its tsconfig has no
allowImportingTsExtensions). That satisfied tsc but broke SSR: the
dev server tripped with ERR_MODULE_NOT_FOUND on every (app) route
because Node's native ESM loader (used by downstream tooling like
@tailwindcss/node) cannot resolve bare relative specifiers without
an extension, and only Vite-owned paths got the bundler-style
resolution the fix relied on.

Switch to the TypeScript-ESM idiomatic `.js` extension. tsc with
moduleResolution: "bundler" still type-checks against the actual
.ts source, and at runtime both Vite and Node resolve `.js` the
same way — no tsconfig flag flip required.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Till JS 2026-04-14 20:44:18 +02:00
parent 66f8e86d59
commit bb278fb3cf

View file

@ -5,25 +5,25 @@
*/
// Theme types
export * from './theme';
export * from './theme.js';
// Auth types
export * from './auth';
export * from './auth.js';
// UI types
export * from './ui';
export * from './ui.js';
// Common utility types
export * from './common';
export * from './common.js';
// Contact types for cross-app integration
export * from './contact';
export * from './contact.js';
// Landing page configuration types
export * from './landing-config';
export * from './landing-config.js';
// AI structured-output Zod schemas (shared between mana-api + web frontend)
export * from './ai-schemas';
export * from './ai-schemas.js';
// API types
export interface User {