123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- const withLess = require('next-with-less');
- const withBundleAnalyzer = require('@next/bundle-analyzer')({
- enabled: process.env.ANALYZE === 'true',
- });
- const runtimeCaching = require('next-pwa/cache');
- const withPWA = require('next-pwa')({
- dest: 'public',
- runtimeCaching: [
- ...runtimeCaching,
- {
- urlPattern: /\.(?:ts|m3u8)$/i,
- handler: 'NetworkOnly',
- },
- {
- urlPattern: /^\/admin\/.*$/,
- handler: 'NetworkOnly',
- },
- {
- urlPattern: /^\/api\/.*$/,
- handler: 'NetworkOnly',
- },
- ],
- register: true,
- skipWaiting: true,
- disableDevLogs: true,
- publicExcludes: ['!img/platformlogos/**/*', '!styles/admin/**/*'],
- buildExcludes: [/chunks\/pages\/admin.*/, '!**/admin/**/*'],
- sourcemap: process.env.NODE_ENV === 'development',
- disable: process.env.NODE_ENV === 'development',
- });
- module.exports = withPWA(
- withBundleAnalyzer(
- withLess({
- productionBrowserSourceMaps: process.env.SOURCE_MAPS === 'true',
- trailingSlash: true,
- reactStrictMode: true,
- images: {
- unoptimized: true,
- },
- swcMinify: true,
- webpack(config) {
- config.module.rules.push({
- test: /\.svg$/i,
- issuer: /\.[jt]sx?$/,
- use: ['@svgr/webpack'],
- });
- return config;
- },
- async rewrites() {
- return [
- {
- source: '/api/:path*',
- destination: 'http://localhost:8080/api/:path*', // Proxy to Backend to work around CORS.
- },
- {
- source: '/hls/:path*',
- destination: 'http://localhost:8080/hls/:path*', // Proxy to Backend to work around CORS.
- },
- {
- source: '/img/:path*',
- destination: 'http://localhost:8080/img/:path*', // Proxy to Backend to work around CORS.
- },
- {
- source: '/logo',
- destination: 'http://localhost:8080/logo', // Proxy to Backend to work around CORS.
- },
- {
- source: '/thumbnail.jpg',
- destination: 'http://localhost:8080/thumbnail.jpg', // Proxy to Backend to work around CORS.
- },
- {
- source: '/customjavascript',
- destination: 'http://localhost:8080/customjavascript', // Proxy to Backend to work around CORS.
- },
- ];
- },
- pageExtensions: ['tsx'],
- }),
- ),
- );
|