stack/packages/stack-server/next.config.mjs
Konsti Wohlwend 4415012f8c
Email template editor (#54)
* added email editor

* added theme

* improved styling

* removed unused

* added toolbar toggle

* fixed layout problems

* removed sample drawer

* added original license

* added template var matching

* renamed files

* added variable panel

* changed boxes to tailwind DIVs

* added save button

* added custom text-block

* removed avatar, change tab switching logic

* removed html component for now

* renamed folder

* moved download import to setting panel

* added prisma schema for email templates

* added mustache

* added cancel button

* added email templates crud

* removed email template id

* updated email template list page

* removed unused imports

* removed createEmailTemplate handler

* added reset button to email template

* added default templates structure

* added template default value

* moved email template location

* added template information

* added email template routes

* fixed types, added error page

* improved styles

* updated sidebar links

* added save and cancel functions

* wrapped router and link for leave confirmation

* changed disabled => needConfirm

* fixed link

* fixed styles

* fixed link

* fixed bugs

* fixed template editing bugs

* added reset confirmation

* fixed save button

* fixed type error, moved email util file

* moved constant, added prefetch to link

* restructured code

* added variable system

* added email verification default

* removed preview

* added templates for all emails, removed unused

* fixed import error

* migrate part of mui to shadcn

* migrated more to shadcn

* migrated more mui

* updated color picker

* migrate more to shadcn

* added shadcn toggle group

* removed editor provider

* updated slider

* migrated toggle group to shadcn

* moved block icons to lucide

* removed radio group

* fixed color picker

* migrated icons to shadcn

* change popup buttons to shadcn

* fixed create block button display bug

* changed import json to shadcn

* migrated block menu

* removed mui dependency

* render merged preview

* refactor: Replace deleteEmailTemplate with resetEmailTemplate for consistency

* chore: renamed delete email template and removed unused imports

* fixed add block button style

* changed button default style

* added subject

* added subject preview

* moved document-core into the repo

* moved all email components into the repo

* removed context in reader block

* restructured files

* moved components to react-email

* removed unused

* fixed magic link template

* fixed templates

* Mustache -> Handlebars, disabled escape

* fixed editor scrolling

* moved delete button location to inside the box

* fixed template rendering error, updated templates

* updated button text in email templates

* generated migration file

* fixed small bugs

* fixed handle bar import path

* removed all the double ;;

* fixed lint

* fixed inert with type extension

---------

Co-authored-by: Zai Shi <zaishi00@outlook.com>
2024-05-28 11:49:59 +02:00

128 lines
3.4 KiB
JavaScript

import { withSentryConfig } from "@sentry/nextjs";
import rehypeKatex from "rehype-katex";
import remarkMath from "remark-math";
import remarkGfm from "remark-gfm";
import remarkHeadingId from "remark-heading-id";
import createMDX from "@next/mdx";
import createBundleAnalyzer from "@next/bundle-analyzer";
const withMDX = createMDX({
options: {
rehypePlugins: [rehypeKatex],
remarkPlugins: [remarkMath, remarkGfm, remarkHeadingId],
},
});
const withBundleAnalyzer = createBundleAnalyzer({
enabled: !!process.env.ANALYZE_BUNDLE,
});
const withConfiguredSentryConfig = (nextConfig) =>
withSentryConfig(
nextConfig,
{
// For all available options, see:
// https://github.com/getsentry/sentry-webpack-plugin#options
// Suppresses source map uploading logs during build
silent: true,
org: "stackframe-pw",
project: "stack-server",
},
{
// 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,
// Route browser requests to Sentry through a Next.js rewrite to circumvent ad-blockers.
// This can increase your server load as well as your hosting bill.
// 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,
}
);
/** @type {import('next').NextConfig} */
const nextConfig = {
pageExtensions: ["js", "jsx", "mdx", "ts", "tsx"],
// we're open-source, so we can provide source maps
productionBrowserSourceMaps: true,
poweredByHeader: false,
experimental: {
optimizePackageImports: ["@mui/joy"],
},
webpack(webpackConfig) {
return {
...webpackConfig,
resolve: {
...webpackConfig.resolve,
alias: {
handlebars: "handlebars/dist/handlebars.js",
...webpackConfig.resolve.alias,
},
},
};
},
async headers() {
return [
{
source: "/(.*)",
headers: [
{
key: "Cross-Origin-Opener-Policy",
value: "same-origin",
},
{
key: "Permissions-Policy",
value: "",
},
{
key: "Referrer-Policy",
value: "strict-origin-when-cross-origin",
},
{
key: "X-Content-Type-Options",
value: "nosniff",
},
{
key: "X-Frame-Options",
value: "SAMEORIGIN",
},
{
key: "Content-Security-Policy",
value: "",
},
],
},
];
},
};
export default withConfiguredSentryConfig(
withBundleAnalyzer(withMDX(nextConfig))
);