61 lines
1.5 KiB
JavaScript
61 lines
1.5 KiB
JavaScript
import pwa from "next-pwa";
|
|
|
|
const withPWA = pwa({
|
|
dest: "public",
|
|
disable: process.env.NODE_ENV != "production",
|
|
});
|
|
|
|
/** @type {import('next').NextConfig} */
|
|
const nextConfig = withPWA({
|
|
output: "standalone",
|
|
webpack: (config) => {
|
|
config.module.rules.push({
|
|
test: /\.svg$/,
|
|
use: ["@svgr/webpack"],
|
|
});
|
|
return config;
|
|
},
|
|
devIndicators: {
|
|
buildActivity: true,
|
|
buildActivityPosition: "bottom-left",
|
|
},
|
|
async headers() {
|
|
return [
|
|
{
|
|
// Routes this applies to
|
|
source: "/api/(.*)",
|
|
// Headers
|
|
headers: [
|
|
// Allow for specific domains to have access or * for all
|
|
{
|
|
key: "Access-Control-Allow-Origin",
|
|
value: "*",
|
|
},
|
|
// Allows for specific methods accepted
|
|
{
|
|
key: "Access-Control-Allow-Methods",
|
|
value: "GET, POST, PUT, DELETE, OPTIONS",
|
|
},
|
|
// Allows for specific headers accepted (These are a few standard ones)
|
|
{
|
|
key: "Access-Control-Allow-Headers",
|
|
value: "Content-Type, Authorization",
|
|
},
|
|
{
|
|
key: "Access-Control-Allow-Credentials",
|
|
value: "true",
|
|
},
|
|
],
|
|
},
|
|
];
|
|
},
|
|
|
|
// transpilePackages: ["@hoarder/shared", "@hoarder/db", "@hoarder/trpc"],
|
|
|
|
/** We already do linting and typechecking as separate tasks in CI */
|
|
eslint: { ignoreDuringBuilds: true },
|
|
typescript: { ignoreBuildErrors: true },
|
|
});
|
|
|
|
export default nextConfig;
|