Files
nextjs-notion-starter-kit/next.config.js
2024-10-31 20:49:33 -05:00

66 lines
1.7 KiB
JavaScript

import bundleAnalyzer from '@next/bundle-analyzer'
import path from 'node:path'
import { fileURLToPath } from 'node:url'
const withBundleAnalyzer = bundleAnalyzer({
enabled: process.env.ANALYZE === 'true'
})
export default withBundleAnalyzer({
staticPageGenerationTimeout: 300,
images: {
remotePatterns: [
{
protocol: 'https',
hostname: 'www.notion.so',
pathname: '**'
},
{
protocol: 'https',
hostname: 'notion.so',
pathname: '**'
},
{
protocol: 'https',
hostname: 'images.unsplash.com',
pathname: '**'
},
{
protocol: 'https',
hostname: 'pbs.twimg.com',
pathname: '**'
},
{
protocol: 'https',
hostname: 'abs.twimg.com',
pathname: '**'
},
{
protocol: 'https',
hostname: 's3.us-west-2.amazonaws.com',
pathname: '**'
},
{
protocol: 'https',
hostname: 'transitivebullsh.it',
pathname: '**'
}
],
formats: ['image/avif', 'image/webp'],
dangerouslyAllowSVG: true,
contentSecurityPolicy: "default-src 'self'; script-src 'none'; sandbox;"
},
webpack: (config, _context) => {
// Workaround for ensuring that `react` and `react-dom` resolve correctly
// when using a locally-linked version of `react-notion-x`.
// @see https://github.com/vercel/next.js/issues/50391
const dirname = path.dirname(fileURLToPath(import.meta.url))
config.resolve.alias.react = path.resolve(dirname, 'node_modules/react')
config.resolve.alias['react-dom'] = path.resolve(
dirname,
'node_modules/react-dom'
)
return config
}
})