const removeImports = require('next-remove-imports')(); module.exports = removeImports({ reactStrictMode: true, images: { domains: [ 'localhost', 'secure.gravatar.com', 'plebdevs-three.vercel.app', 'plebdevs.com', 'plebdevs-bucket.nyc3.cdn.digitaloceanspaces.com', 'avatars.githubusercontent.com', ], }, webpack(config, options) { return config; }, async rewrites() { return [ { source: '/api/cron', destination: '/api/cron', }, { source: '/.well-known/nostr.json', destination: '/api/nip05', }, { source: '/.well-known/lnurlp/:slug', destination: '/api/lightning-address/lnurlp/:slug', }, ]; }, async headers() { return [ { source: '/.well-known/:slug*', headers: [ { key: 'Access-Control-Allow-Origin', value: '*', }, { key: 'Access-Control-Allow-Methods', value: 'GET, POST, OPTIONS', }, { key: 'Access-Control-Allow-Headers', value: 'Content-Type, Authorization', }, ], }, { source: '/api/:slug*', headers: [ { key: 'Access-Control-Allow-Origin', value: process.env.BACKEND_URL, }, { key: 'Access-Control-Allow-Methods', value: 'GET, POST, PUT, DELETE, OPTIONS', }, { key: 'Access-Control-Allow-Headers', value: 'Content-Type, Authorization', }, { key: 'X-Frame-Options', value: 'DENY', }, { key: 'X-Content-Type-Options', value: 'nosniff', }, { key: 'Referrer-Policy', value: 'strict-origin-when-cross-origin', }, { key: 'Content-Security-Policy', value: "default-src 'self'; frame-ancestors 'none';", }, { key: 'Strict-Transport-Security', value: 'max-age=31536000; includeSubDomains; preload', }, ], }, ]; }, env: { KV_URL: process.env.NODE_ENV !== 'production' ? process.env.REDIS_URL : process.env.KV_URL, KV_REST_API_URL: process.env.NODE_ENV !== 'production' ? process.env.REDIS_URL : process.env.KV_REST_API_URL, KV_REST_API_TOKEN: process.env.NODE_ENV !== 'production' ? 'dummy_token' : process.env.KV_REST_API_TOKEN, KV_REST_API_READ_ONLY_TOKEN: process.env.NODE_ENV !== 'production' ? 'dummy_token' : process.env.KV_REST_API_READ_ONLY_TOKEN, }, });