add infiscal
Some checks failed
deploy / deploy (push) Has been cancelled

This commit is contained in:
Lee
2023-11-13 05:42:06 +00:00
parent 9c2bf54426
commit 75afdfed7d
8 changed files with 162 additions and 96 deletions

View File

@ -1,31 +1,47 @@
const nextBuildId = require("next-build-id");
const { withSentryConfig } = require("@sentry/nextjs");
const withBundleAnalyzer = require("@next/bundle-analyzer")({
enabled: false,
});
const withBundleAnalyzer = require("@next/bundle-analyzer")({ enabled: false });
const infisicalClient = require("./src/secrets");
// Define remote patterns for images
const remotePatterns = [
{ protocol: "https", hostname: "cdn.fascinated.cc", pathname: "/**" },
{ protocol: "https", hostname: "cdn.scoresaber.com", pathname: "/**" },
{ protocol: "https", hostname: "cdn.jsdelivr.net", pathname: "/**" },
{ protocol: "https", hostname: "eu.cdn.beatsaver.com", pathname: "/**" },
{ protocol: "https", hostname: "na.cdn.beatsaver.com", pathname: "/**" },
{
protocol: "https",
hostname: "avatars.akamai.steamstatic.com",
pathname: "/**",
},
];
// Define optimized package imports
const optimizePackageImports = [
"react",
"react-dom",
"next-themes",
"react-tostify",
"websocket",
"cslx",
"chart.js",
"react-chartjs-2",
"country-list",
"@sentry/nextjs",
];
/** @type {import('next').NextConfig} */
const nextConfig = {
generateEtags: true,
reactStrictMode: true,
swcMinify: true,
experimental: {
webpackBuildWorker: true,
optimizePackageImports: [
"react",
"react-dom",
"next-themes",
"react-tostify",
"websocket",
"cslx",
"chart.js",
"react-chartjs-2",
"country-list",
"@sentry/nextjs",
],
},
compress: false,
poweredByHeader: false,
experimental: {
webpackBuildWorker: true,
optimizePackageImports,
},
env: {
NEXT_PUBLIC_BUILD_ID:
process.env.GIT_REV || nextBuildId.sync({ dir: __dirname }),
@ -37,80 +53,26 @@ const nextConfig = {
minute: "numeric",
}),
},
images: {
remotePatterns: [
{
protocol: "https",
hostname: "cdn.fascinated.cc",
port: "",
pathname: "/**",
},
{
protocol: "https",
hostname: "cdn.scoresaber.com",
port: "",
pathname: "/**",
},
{
protocol: "https",
hostname: "cdn.jsdelivr.net",
port: "",
pathname: "/**",
},
{
protocol: "https",
hostname: "eu.cdn.beatsaver.com",
port: "",
pathname: "/**",
},
{
protocol: "https",
hostname: "na.cdn.beatsaver.com",
port: "",
pathname: "/**",
},
{
protocol: "https",
hostname: "avatars.akamai.steamstatic.com",
port: "",
pathname: "/**",
},
],
},
images: { remotePatterns },
};
module.exports = withBundleAnalyzer(nextConfig);
module.exports = withSentryConfig(
module.exports,
{
// For all available options, see:
// https://github.com/getsentry/sentry-webpack-plugin#options
// Suppresses source map uploading logs during build
silent: true,
org: "sentry",
project: "scoresaber-reloaded",
url: "https://sentry.fascinated.cc",
authToken: process.env.SENTRY_AUTH_TOKEN,
},
{
// 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: false,
// Transpiles SDK to be compatible with IE11 (increases bundle size)
transpileClientSDK: false,
// Routes browser requests to Sentry through a Next.js rewrite to circumvent ad-blockers (increases server load)
tunnelRoute: "/monitoring",
// Hides source maps from generated client bundles
hideSourceMaps: true,
// Automatically tree-shake Sentry logger statements to reduce bundle size
disableLogger: true,
},
);
module.exports = async () =>
withSentryConfig(
withBundleAnalyzer(nextConfig),
{
silent: true,
org: "sentry",
project: "scoresaber-reloaded",
url: "https://sentry.fascinated.cc",
authToken: (await infisicalClient.getSecret("SENTRY_AUTH_TOKEN"))
.secretValue,
dryRun: process.env.NODE_ENV !== "development",
},
{
widenClientFileUpload: false,
transpileClientSDK: false,
tunnelRoute: "/monitoring",
hideSourceMaps: true,
disableLogger: true,
},
);