Basic Architecture of Sport Web
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
import type { NextConfig } from 'next';
|
||||
|
||||
const nextConfig: NextConfig = {
|
||||
reactStrictMode: true,
|
||||
|
||||
/**
|
||||
* Workspace packages ship TypeScript source rather than a build artefact, so
|
||||
* Next compiles them with the app. No watch-and-rebuild step during local
|
||||
* development, and dead code is tree-shaken per app.
|
||||
*/
|
||||
transpilePackages: ['@sport/ui'],
|
||||
|
||||
// Compile-time checked <Link href> values — a typo becomes a build failure.
|
||||
typedRoutes: true,
|
||||
|
||||
images: {
|
||||
// Media is served from R2/CDN. Locally that is MinIO.
|
||||
remotePatterns: [
|
||||
{ protocol: 'http', hostname: 'localhost', port: '9000' },
|
||||
{ protocol: 'https', hostname: '**.r2.dev' },
|
||||
{ protocol: 'https', hostname: 'cdn.sport-store.local' },
|
||||
],
|
||||
formats: ['image/avif', 'image/webp'],
|
||||
},
|
||||
|
||||
// Standalone output keeps the production image small (no node_modules copy).
|
||||
output: 'standalone',
|
||||
|
||||
experimental: {
|
||||
optimizePackageImports: ['@sport/ui'],
|
||||
},
|
||||
};
|
||||
|
||||
export default nextConfig;
|
||||
Reference in New Issue
Block a user