Files
pawol.nu/next.config.js
T

38 lines
1.1 KiB
JavaScript

const withPWA = require('next-pwa')({
disable: process.env.NODE_ENV !== 'production',
dest: 'public',
register: true,
skipWaiting: true
})
function buildRemotePatterns() {
const raw = process.env.NEXT_PUBLIC_DOMAINS_IMAGE || ''
const patterns = raw.split(' ').filter(Boolean).map(entry => {
const [hostname, port] = entry.split(':')
const isLocal = hostname === 'localhost' || hostname === '127.0.0.1'
const pattern = {protocol: isLocal ? 'http' : 'https', hostname, pathname: '/uploads/**'}
if (port) pattern.port = port
return pattern
})
if (!raw.includes('localhost'))
patterns.push({protocol: 'http', hostname: 'localhost', port: '1337', pathname: '/uploads/**'})
if (!raw.includes('127.0.0.1'))
patterns.push({protocol: 'http', hostname: '127.0.0.1', port: '1337', pathname: '/uploads/**'})
return patterns
}
module.exports = (withPWA({
turbopack: {},
webpack: config => {
config.module.rules.push({
test: /\.svg$/,
use: ['@svgr/webpack', 'url-loader'],
})
return config
},
images: {
remotePatterns: buildRemotePatterns()
}
}))