typescript.ignoreBuildErrors steht jetzt auf false. Ein erfolgreicher Build ist damit wieder ein Beleg dafuer, dass der Code uebersetzbar ist. Die Ursache der 30-Minuten-Laufzeit war nicht die Groesse von WeeklyView.tsx, wie ich vermutet hatte, sondern das include-Muster **/* in tsconfig.json. Auf src/**/* eingegrenzt laeuft der volle Typecheck in 19 Sekunden. Die sieben gefundenen Fehler: - notion-calendar.ts rief notion.databases.query() auf. Die Methode gibt es in @notionhq/client v5 nicht mehr -- die Notion-Anbindung war zur Laufzeit schlicht kaputt und niemandem aufgefallen. Migriert auf dataSources.query(), aber mangels Notion-Zugang ungetestet. Gespeicherte Verbindungen enthalten alte database_ids und muessen neu eingerichtet werden. - WeeklyView.tsx importierte isAllDayEvent noch aus format statt date-utils -- mein eigener Fehler aus v1.118.0, der ohne scharfen Typecheck durchgerutscht war. - Export-Helfer lagen in einer route.ts, wo Next.js nur Route-Handler erlaubt; SettingsSidebar importierte sie von dort und zog einen Server-Handler in den Client-Graphen. Jetzt in src/lib/export-fields.ts. - push-notifications.ts: BufferSource-Cast fuer applicationServerKey. - web-push hat keine Typen; lokale Deklaration statt neuer Abhaengigkeit. Verifiziert: npm run build Exit 0 mit scharfem Typecheck, 63 Unit-Tests gruen. v1.118.1 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
36 lines
1.1 KiB
JavaScript
36 lines
1.1 KiB
JavaScript
/** @type {import('next').NextConfig} */
|
|
const { version } = require('./package.json');
|
|
|
|
const nextConfig = {
|
|
output: 'standalone',
|
|
eslint: {
|
|
// Aus: Der Build soll ESLint-Fehler melden. Warnungen (aktuell ~695, überwiegend
|
|
// no-explicit-any) blockieren den Build nicht — nur Errors tun das.
|
|
ignoreDuringBuilds: false,
|
|
},
|
|
typescript: {
|
|
// Aus: Der Build bricht bei Typfehlern ab. Bis v1.118.1 stand hier true — dadurch
|
|
// liefen mehrfach fehlende Importe durch, die zur Laufzeit ReferenceError geworfen
|
|
// haetten, waehrend der Build "erfolgreich" meldete.
|
|
ignoreBuildErrors: false,
|
|
},
|
|
optimizeFonts: false,
|
|
env: {
|
|
NEXT_PUBLIC_APP_VERSION: version,
|
|
},
|
|
experimental: {
|
|
serverComponentsExternalPackages: ['ical.js', 'tsdav'],
|
|
},
|
|
webpack: (config, { isServer }) => {
|
|
// Ignore .md files in node_modules (fixes apple-icloud README.md parse error)
|
|
config.module.rules.push({
|
|
test: /\.md$/,
|
|
include: /node_modules/,
|
|
type: 'asset/source',
|
|
});
|
|
return config;
|
|
},
|
|
};
|
|
|
|
module.exports = nextConfig;
|