From 4838df315931bb883f704ec3e1abe2685f296cdf Mon Sep 17 00:00:00 2001 From: HsiangNianian Date: Sat, 22 Apr 2023 19:52:26 +0800 Subject: 😀 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/next.config.js | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 239 insertions(+), 5 deletions(-) (limited to 'docs/next.config.js') diff --git a/docs/next.config.js b/docs/next.config.js index ef28363..eb56c65 100644 --- a/docs/next.config.js +++ b/docs/next.config.js @@ -1,6 +1,240 @@ -const withNextra = require('nextra')({ - theme: 'nextra-theme-docs', - themeConfig: './theme.config.tsx', -}) +const { withSentryConfig } = require("@sentry/nextjs"); +const withNextra = require("nextra")({ + theme: "nextra-theme-docs", + themeConfig: "./theme.config.js", + unstable_flexsearch: true, + unstable_staticImage: true, +}); -module.exports = withNextra() +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); -- cgit v1.2.3-70-g09d2