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;