Files
market/next.config.mjs
T
2024-01-25 09:20:46 -08:00

85 lines
1.9 KiB
JavaScript

import { DefaultChain } from './.cache/chains.mjs'
import { withSentryConfig } from '@sentry/nextjs'
const sentryWebpackPluginOptions = {
org: process.env.SENTRY_ORG,
project: 'explorer',
silent: true,
}
/**
* @type {import('next').NextConfig}
*/
const nextConfig = {
images: {
unoptimized: true,
},
sentry: {
hideSourceMaps: false,
},
async rewrites() {
return [
{
source: '/:chain/asset/:assetId/buy',
destination: '/:chain/asset/:assetId',
},
{
source: '/:chain/collection/:contract/sweep',
destination: '/:chain/collection/:contract',
},
{
source: '/:chain/collection/:contract/mint',
destination: '/:chain/collection/:contract',
},
]
},
async redirects() {
return [
{
source: '/',
destination: `/${DefaultChain.routePrefix}`,
permanent: false,
},
{
source: '/collection/:chain/:collection',
destination: '/:chain/collection/:collection',
permanent: true,
},
{
source: '/collection/:chain/:collection/:tokenId',
destination: '/:chain/asset/:collection%3A:tokenId',
permanent: true,
},
{
source: '/collection-rankings',
destination: `/${DefaultChain.routePrefix}/collection-rankings`,
permanent: true,
},
{
source: '/:chain/collection-rankings',
destination: `/:chain/collections/trending`,
permanent: false,
},
]
},
async headers() {
return [
{
source: '/:path*',
headers: [
{
key: 'Content-Security-Policy',
value: "frame-ancestors 'none'",
},
{
key: 'X-Frame-Options',
value: 'DENY',
},
],
},
]
},
}
export default withSentryConfig(nextConfig, sentryWebpackPluginOptions)