next.config.mjs•1.46 kB
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;
},
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, PATCH, 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: ["@karakeep/shared", "@karakeep/db", "@karakeep/trpc"],
/** We already do linting and typechecking as separate tasks in CI */
eslint: { ignoreDuringBuilds: true },
typescript: { ignoreBuildErrors: true },
});
export default nextConfig;