Files
sign/apps/web/next.config.js

82 lines
1.8 KiB
JavaScript
Raw Normal View History

2023-06-09 18:21:18 +10:00
/* eslint-disable @typescript-eslint/no-var-requires */
const path = require('path');
2023-09-11 11:34:10 +03:00
const { version } = require('./package.json');
2023-06-09 18:21:18 +10:00
2023-10-18 23:19:29 +11:00
const ENV_FILES = ['.env', '.env.local', `.env.${process.env.NODE_ENV || 'development'}`];
ENV_FILES.forEach((file) => {
require('dotenv').config({
path: path.join(__dirname, `../../${file}`),
});
2023-06-09 18:21:18 +10:00
});
2023-01-07 15:45:03 +01:00
/** @type {import('next').NextConfig} */
2023-06-09 18:21:18 +10:00
const config = {
output: process.env.DOCKER_OUTPUT ? 'standalone' : undefined,
experimental: {
outputFileTracingRoot: path.join(__dirname, '../../'),
serverActionsBodySizeLimit: '50mb',
},
2022-11-14 23:12:51 +01:00
reactStrictMode: true,
transpilePackages: [
'@documenso/lib',
'@documenso/prisma',
'@documenso/trpc',
'@documenso/ui',
'@documenso/email',
],
2023-09-20 13:48:30 +10:00
env: {
APP_VERSION: version,
NEXT_PUBLIC_PROJECT: 'web',
},
modularizeImports: {
'lucide-react': {
transform: 'lucide-react/dist/esm/icons/{{ kebabCase member }}',
},
},
webpack: (config, { isServer }) => {
// fixes: Module not found: Cant resolve ../build/Release/canvas.node
if (isServer) {
config.resolve.alias.canvas = false;
}
return config;
},
2023-09-28 12:56:53 +10:00
async rewrites() {
return [
{
source: '/ingest/:path*',
destination: 'https://eu.posthog.com/:path*',
},
];
},
2023-10-17 13:50:54 +11:00
async redirects() {
return [
{
permanent: true,
source: '/documents/:id/sign',
destination: '/sign/:token',
has: [
{
type: 'query',
key: 'token',
},
],
},
{
permanent: true,
source: '/documents/:id/signed',
destination: '/sign/:token',
has: [
{
type: 'query',
key: 'token',
},
],
},
];
},
2022-11-24 12:21:45 +01:00
};
2022-11-14 23:12:51 +01:00
2023-06-09 18:21:18 +10:00
module.exports = config;