const { withSentryConfig } = require("@sentry/nextjs"); const withNextra = require("nextra")({ theme: "nextra-theme-docs", themeConfig: "./theme.config.js", unstable_flexsearch: true, unstable_staticImage: true, }); const sentryWebpackPluginOptions = { silent: true, }; const OLD_TURBOREPO_ROUTES = [ "/docs", "/docs/ci/circleci", "/docs/ci/github-actions", "/docs/ci/gitlabci", "/docs/ci/travisci", "/docs/core-concepts/caching", "/docs/core-concepts/remote-caching", "/docs/core-concepts/scopes", "/docs/core-concepts/monorepos/filtering", "/docs/core-concepts/monorepos/running-tasks", "/docs/getting-started/create-new", "/docs/getting-started/existing-monorepo", "/docs/handbook", "/docs/handbook/building-your-app", "/docs/handbook/deploying-with-docker", "/docs/handbook/dev", "/docs/handbook/linting", "/docs/handbook/migrating-to-a-monorepo", "/docs/handbook/package-installation", "/docs/handbook/publishing-packages", "/docs/handbook/sharing-code", "/docs/handbook/testing", "/docs/handbook/troubleshooting", "/docs/handbook/what-is-a-monorepo", "/docs/handbook/workspaces", "/docs/handbook/linting/eslint", "/docs/handbook/linting/typescript", "/docs/handbook/publishing-packages/bundling", "/docs/handbook/publishing-packages/versioning-and-publishing", "/docs/handbook/sharing-code/internal-packages", "/docs/reference/codemods", "/docs/reference/command-line-reference", "/docs/reference/configuration", "/docs/acknowledgements", "/docs/ci", "/docs/faq", "/docs/troubleshooting", "/docs/upgrading-to-v1", ]; const nextConfig = withNextra({ sentry: { autoInstrumentServerFunctions: false, hideSourceMaps: true, }, reactStrictMode: true, experimental: { legacyBrowsers: false, }, webpack: (config, { webpack }) => { config.plugins.push( new webpack.DefinePlugin({ __SENTRY_DEBUG__: false, __SENTRY_TRACING__: false, }) ); // return the modified config return config; }, rewrites() { return { beforeFiles: [ { source: "/sitemap.xml", destination: "https://crawled-sitemap.vercel.sh/turbobuild-sitemap.xml", }, ], }; // }, // async redirects() { // return [ // ...OLD_TURBOREPO_ROUTES.map((route) => ({ // source: route, // destination: `/repo${route}`, // permanent: true, // })), // { // source: "/docs/getting-started", // destination: "/repo/docs", // permanent: true, // }, // { // source: "/usage", // destination: "/repo/docs/reference/command-line-reference", // permanent: true, // }, // { // source: "/docs/core-concepts/running-tasks", // destination: "/repo/docs/core-concepts/monorepos/running-tasks", // permanent: true, // }, // { // source: "/docs/core-concepts/why-turborepo", // destination: "/repo/docs/core-concepts/monorepos", // permanent: true, // }, // { // source: "/docs/core-concepts/filtering", // destination: "/repo/docs/core-concepts/monorepos/filtering", // permanent: true, // }, // { // source: "/docs/guides/workspaces", // destination: "/repo/docs/handbook/workspaces", // permanent: true, // }, // { // source: "/docs/core-concepts/workspaces", // destination: "/repo/docs/handbook/workspaces", // permanent: true, // }, // { // source: "/docs/core-concepts/pipelines", // destination: "/repo/docs/core-concepts/monorepos/running-tasks", // permanent: true, // }, // { // source: "/docs/guides/migrate-from-lerna", // destination: "/repo/docs/handbook/migrating-to-a-monorepo", // permanent: true, // }, // { // source: "/discord{/}?", // permanent: true, // destination: "https://discord.gg/sSzyjxvbf5", // }, // { // source: "/docs/changelog", // permanent: true, // destination: "https://github.com/vercel/turbo/releases", // }, // { // source: "/docs/guides/complimentary-tools", // permanent: true, // destination: "/repo/docs/handbook", // }, // { // source: "/docs/guides/monorepo-tools", // permanent: true, // destination: "/repo/docs/handbook", // }, // { // source: "/docs/glossary", // permanent: true, // destination: "/repo/docs/handbook", // }, // { // source: "/docs/guides/continuous-integration", // permanent: true, // destination: "/repo/docs/ci", // }, // { // source: "/repo/docs/handbook/prisma", // permanent: true, // destination: "/repo/docs/handbook/tools/prisma", // }, // { // source: "/pack/docs/comparisons/turbopack-vs-vite", // permanent: true, // destination: "/pack/docs/comparisons/vite", // }, // { // source: "/pack/docs/comparisons/turbopack-vs-webpack", // permanent: true, // destination: "/pack/docs/comparisons/webpack", // }, // { // // Accidentally created, eventually removable. See below. // source: "/repo/docs/core-concepts/running-tasks", // destination: "/repo/docs/core-concepts/monorepos/running-tasks", // permanent: true, // }, // { // // Accidentally created, eventually removable. See below. // source: "/repo/docs/core-concepts/why-turborepo", // destination: "/repo/docs/core-concepts/monorepos", // permanent: true, // }, // { // // Accidentally created, eventually removable. See below. // source: "/repo/docs/core-concepts/filtering", // destination: "/repo/docs/core-concepts/monorepos/filtering", // permanent: true, // }, // { // // Accidentally created, eventually removable. See below. // source: "/repo/docs/core-concepts/pipelines", // destination: "/repo/docs/core-concepts/monorepos/running-tasks", // permanent: true, // }, // { // // This rule accidentally created a bunch of URLs. // // // // They've _never_ resolved, so _eventually_ we should be able to remove the // // redirects we added above to fix them. // source: "/docs/features/:path*", // permanent: true, // destination: "/repo/docs/core-concepts/:path*", // }, // { // // Accidentally created, eventually removable. See below. // source: "/repo/docs/getting-started", // destination: "/repo/docs", // permanent: true, // }, // { // // Accidentally created, eventually removable. See below. // source: "/repo/docs/guides/workspaces", // destination: "/repo/docs/handbook/workspaces", // permanent: true, // }, // { // // This rule accidentally created a bunch of URLs. // // // // They've _never_ resolved, so _eventually_ we should be able to remove the // // redirects we added above to fix them. // source: "/docs/:path*", // permanent: true, // destination: "/repo/docs/:path*", // }, // ]; }, }); module.exports = withSentryConfig(nextConfig, sentryWebpackPluginOptions);