3 Star 24 Fork 14

Gitee 极速下载 / lobechat

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
此仓库是为了提升国内下载速度的镜像仓库,每日同步一次。 原始仓库: https://github.com/lobehub/lobe-chat
克隆/下载
next.config.mjs 3.66 KB
一键复制 编辑 原始数据 按行查看 历史
import nextPWA from '@ducanh2912/next-pwa';
import analyzer from '@next/bundle-analyzer';
import { withSentryConfig } from '@sentry/nextjs';
const isProd = process.env.NODE_ENV === 'production';
const buildWithDocker = process.env.DOCKER === 'true';
// if you need to proxy the api endpoint to remote server
const API_PROXY_ENDPOINT = process.env.API_PROXY_ENDPOINT || '';
const basePath = process.env.NEXT_PUBLIC_BASE_PATH;
/** @type {import('next').NextConfig} */
const nextConfig = {
compress: isProd,
basePath,
experimental: {
optimizePackageImports: [
'emoji-mart',
'@emoji-mart/react',
'@emoji-mart/data',
'@icons-pack/react-simple-icons',
'@lobehub/ui',
'gpt-tokenizer',
'chroma-js',
'shiki',
],
webVitalsAttribution: ['CLS', 'LCP'],
},
output: buildWithDocker ? 'standalone' : undefined,
redirects: async () => [
{
source: '/settings',
permanent: true,
destination: '/settings/common',
},
],
rewrites: async () => [
// due to google api not work correct in some countries
// we need a proxy to bypass the restriction
{ source: '/api/chat/google', destination: `${API_PROXY_ENDPOINT}/api/chat/google` },
],
reactStrictMode: true,
webpack(config) {
config.experiments = {
asyncWebAssembly: true,
layers: true,
};
// to fix shikiji compile error
// refs: https://github.com/antfu/shikiji/issues/23
config.module.rules.push({
test: /\.m?js$/,
type: 'javascript/auto',
resolve: {
fullySpecified: false,
},
});
return config;
},
};
const noWrapper = (config) => config;
const withBundleAnalyzer = process.env.ANALYZE === 'true' ? analyzer() : noWrapper;
const withPWA = isProd
? nextPWA({
dest: 'public',
register: true,
workboxOptions: {
skipWaiting: true,
},
})
: noWrapper;
const hasSentry = !!process.env.NEXT_PUBLIC_SENTRY_DSN;
const withSentry =
isProd && hasSentry
? (c) =>
withSentryConfig(
c,
{
// For all available options, see:
// https://github.com/getsentry/sentry-webpack-plugin#options
// Suppresses source map uploading logs during build
silent: true,
org: process.env.SENTRY_ORG,
project: process.env.SENTRY_PROJECT,
},
{
// For all available options, see:
// https://docs.sentry.io/platforms/javascript/guides/nextjs/manual-setup/
// Upload a larger set of source maps for prettier stack traces (increases build time)
widenClientFileUpload: true,
// Transpiles SDK to be compatible with IE11 (increases bundle size)
transpileClientSDK: true,
// Routes browser requests to Sentry through a Next.js rewrite to circumvent ad-blockers. (increases server load)
// Note: Check that the configured route will not match with your Next.js middleware, otherwise reporting of client-
// side errors will fail.
tunnelRoute: '/monitoring',
// Hides source maps from generated client bundles
hideSourceMaps: true,
// Automatically tree-shake Sentry logger statements to reduce bundle size
disableLogger: true,
// Enables automatic instrumentation of Vercel Cron Monitors.
// See the following for more information:
// https://docs.sentry.io/product/crons/
// https://vercel.com/docs/cron-jobs
automaticVercelMonitors: true,
},
)
: noWrapper;
export default withBundleAnalyzer(withPWA(withSentry(nextConfig)));
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
TypeScript
1
https://gitee.com/mirrors/lobechat.git
git@gitee.com:mirrors/lobechat.git
mirrors
lobechat
lobechat
main

搜索帮助

344bd9b3 5694891 D2dac590 5694891