GPT

Форк
0
/
next.config.mjs 
105 строк · 2.5 Кб
1
import webpack from "webpack";
2

3
const mode = process.env.BUILD_MODE ?? "standalone";
4
console.log("[Next] build mode", mode);
5

6
const disableChunk = !!process.env.DISABLE_CHUNK || mode === "export";
7
console.log("[Next] build with chunk: ", !disableChunk);
8

9
/** @type {import('next').NextConfig} */
10
const nextConfig = {
11
  webpack(config) {
12
    config.module.rules.push({
13
      test: /\.svg$/,
14
      use: ["@svgr/webpack"],
15
    });
16

17
    if (disableChunk) {
18
      config.plugins.push(
19
        new webpack.optimize.LimitChunkCountPlugin({ maxChunks: 1 }),
20
      );
21
    }
22

23
    config.resolve.fallback = {
24
      child_process: false,
25
    };
26

27
    return config;
28
  },
29
  output: mode,
30
  images: {
31
    unoptimized: mode === "export",
32
  },
33
  experimental: {
34
    forceSwcTransforms: true,
35
  },
36
};
37

38
const CorsHeaders = [
39
  { key: "Access-Control-Allow-Credentials", value: "true" },
40
  { key: "Access-Control-Allow-Origin", value: "*" },
41
  {
42
    key: "Access-Control-Allow-Methods",
43
    value: "*",
44
  },
45
  {
46
    key: "Access-Control-Allow-Headers",
47
    value: "*",
48
  },
49
  {
50
    key: "Access-Control-Max-Age",
51
    value: "86400",
52
  },
53
];
54

55
if (mode !== "export") {
56
  nextConfig.headers = async () => {
57
    return [
58
      {
59
        source: "/api/:path*",
60
        headers: CorsHeaders,
61
      },
62
    ];
63
  };
64

65
  nextConfig.rewrites = async () => {
66
    const ret = [
67
      // adjust for previous version directly using "/api/proxy/" as proxy base route
68
      // {
69
      //   source: "/api/proxy/v1/:path*",
70
      //   destination: "https://api.openai.com/v1/:path*",
71
      // },
72
      {
73
        // https://{resource_name}.openai.azure.com/openai/deployments/{deploy_name}/chat/completions
74
        source: "/api/proxy/azure/:resource_name/deployments/:deploy_name/:path*",
75
        destination: "https://:resource_name.openai.azure.com/openai/deployments/:deploy_name/:path*",
76
      },
77
      {
78
        source: "/api/proxy/google/:path*",
79
        destination: "https://generativelanguage.googleapis.com/:path*",
80
      },
81
      {
82
        source: "/api/proxy/openai/:path*",
83
        destination: "https://api.openai.com/:path*",
84
      },
85
      {
86
        source: "/api/proxy/anthropic/:path*",
87
        destination: "https://api.anthropic.com/:path*",
88
      },
89
      {
90
        source: "/google-fonts/:path*",
91
        destination: "https://fonts.googleapis.com/:path*",
92
      },
93
      {
94
        source: "/sharegpt",
95
        destination: "https://sharegpt.com/api/conversations",
96
      },
97
    ];
98

99
    return {
100
      beforeFiles: ret,
101
    };
102
  };
103
}
104

105
export default nextConfig;
106

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.