plebdevs/next.config.js

82 lines
2.2 KiB
JavaScript
Raw Normal View History

const removeImports = require("next-remove-imports")();
module.exports = removeImports({
reactStrictMode: true,
images: {
2024-11-15 13:31:01 -06:00
domains: ['localhost', 'secure.gravatar.com', 'plebdevs-three.vercel.app', 'plebdevs.com'],
},
webpack(config, options) {
return config;
},
async rewrites() {
return [
{
source: '/api/cron',
destination: '/api/cron',
},
2024-09-16 17:13:23 -05:00
{
source: "/.well-known/nostr.json",
destination: "/api/nip05",
2024-09-18 14:59:04 -05:00
},
{
source: '/.well-known/lnurlp/:slug',
destination: '/api/lightning-address/lnurlp/:slug',
2024-09-16 17:13:23 -05:00
}
];
},
async headers() {
return [
{
source: "/api/:path*",
headers: [
{
key: "Access-Control-Allow-Origin",
2024-10-01 18:00:59 -05:00
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",
},
2024-10-01 18:00:59 -05:00
{
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,
},
});