-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathnext.config.js
32 lines (27 loc) · 1.02 KB
/
next.config.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
const { PrismaClient } = require('@prisma/client');
const { withSentryConfig } = require('@sentry/nextjs');
const slugify = require('slugify');
const prisma = new PrismaClient();
const moduleExports = {
// handles shorter URLs for topics (e.g. https://streamers.dev/react)
redirects: async () => {
return (await prisma.keyword.findMany()).map((keyword) => {
const slug = keyword.slug || slugify(keyword.tag, { lower: true, remove: '.' });
return {
source: `/${slug}`,
destination: `/?topic=${slug}`,
permanent: false,
};
});
},
outputFileTracing: false,
};
const SentryWebpackPluginOptions = {
// For all available options, see:
// https://github.com/getsentry/sentry-webpack-plugin#options.
};
// Make sure adding Sentry options is the last code to run before exporting, to
// ensure that your source maps include changes from all other Webpack plugins
module.exports = process.env.ENABLE_SENTRY
? withSentryConfig(moduleExports, SentryWebpackPluginOptions)
: moduleExports;