12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- const mode = process.env.BUILD_MODE ?? "standalone";
- console.log("[Next] build mode", mode);
- /** @type {import('next').NextConfig} */
- const nextConfig = {
- webpack(config) {
- config.module.rules.push({
- test: /\.svg$/,
- use: ["@svgr/webpack"],
- });
- return config;
- },
- output: mode,
- };
- if (mode !== "export") {
- nextConfig.headers = async () => {
- return [
- {
- source: "/:path*",
- headers: [
- { key: "Access-Control-Allow-Credentials", value: "true" },
- { key: "Access-Control-Allow-Origin", value: "*" },
- {
- key: "Access-Control-Allow-Methods",
- value: "GET,OPTIONS,PATCH,DELETE,POST,PUT",
- },
- {
- key: "Access-Control-Allow-Headers",
- value:
- "X-CSRF-Token, X-Requested-With, Accept, Accept-Version, Content-Length, Content-MD5, Content-Type, Date, X-Api-Version",
- },
- ],
- },
- ];
- };
- nextConfig.rewrites = async () => {
- const ret = [
- {
- source: "/api/proxy/:path*",
- destination: "https://api.openai.com/:path*",
- },
- {
- source: "/google-fonts/:path*",
- destination: "https://fonts.googleapis.com/:path*",
- },
- {
- source: "/sharegpt",
- destination: "https://sharegpt.com/api/conversations",
- },
- ];
- const apiUrl = process.env.API_URL;
- if (apiUrl) {
- console.log("[Next] using api url ", apiUrl);
- ret.push({
- source: "/api/:path*",
- destination: `${apiUrl}/:path*`,
- });
- }
- return {
- beforeFiles: ret,
- };
- };
- }
- export default nextConfig;
|