49 lines
1.7 KiB
TypeScript
49 lines
1.7 KiB
TypeScript
import type { NextConfig } from "next";
|
|
import { withContentCollections } from "@content-collections/next";
|
|
|
|
const nextConfig: NextConfig = {
|
|
/* config options here */
|
|
|
|
// https://nextjs.org/docs/architecture/nextjs-compiler#remove-console
|
|
// Remove all console.* calls in production only
|
|
compiler: {
|
|
removeConsole: process.env.NODE_ENV === "production",
|
|
},
|
|
|
|
images: {
|
|
// https://vercel.com/docs/image-optimization/managing-image-optimization-costs#minimizing-image-optimization-costs
|
|
// vercel has limits on image optimization, 1000 images per month
|
|
unoptimized: true,
|
|
// https://medium.com/@niniroula/nextjs-upgrade-next-image-and-dangerouslyallowsvg-c934060d79f8
|
|
// The requested resource "https://cdn.sanity.io/images/58a2mkbj/preview/xxx.svg?fit=max&auto=format" has type "image/svg+xml"
|
|
// but dangerouslyAllowSVG is disabled
|
|
dangerouslyAllowSVG: true,
|
|
remotePatterns: [
|
|
{
|
|
protocol: "https",
|
|
hostname: "avatars.githubusercontent.com",
|
|
},
|
|
{
|
|
protocol: "https",
|
|
hostname: "lh3.googleusercontent.com",
|
|
},
|
|
{
|
|
protocol: "https",
|
|
hostname: "randomuser.me",
|
|
},
|
|
{
|
|
protocol: "https",
|
|
hostname: "cdn.sanity.io", // https://www.sanity.io/learn/course/day-one-with-sanity-studio/bringing-content-to-a-next-js-front-end
|
|
},
|
|
{
|
|
protocol: "https",
|
|
hostname: "via.placeholder.com", // https://www.sanity.io/learn/course/day-one-with-sanity-studio/bringing-content-to-a-next-js-front-end
|
|
},
|
|
],
|
|
},
|
|
};
|
|
|
|
// https://www.content-collections.dev/docs/quickstart/next
|
|
// withContentCollections must be the outermost plugin
|
|
export default withContentCollections(nextConfig);
|