This commit introduces Sentry and Baselime packages into the monitoring section, complete with associated dependencies and scripts. These changes also reflect necessary updates to the 'pnpm-lock.yaml' file to account for these new dependencies.
88 lines
2.0 KiB
JavaScript
88 lines
2.0 KiB
JavaScript
import withBundleAnalyzer from '@next/bundle-analyzer';
|
|
|
|
const IS_PRODUCTION = process.env.NODE_ENV === 'production';
|
|
const SUPABASE_URL = process.env.NEXT_PUBLIC_SUPABASE_URL;
|
|
|
|
const INTERNAL_PACKAGES = [
|
|
'@kit/ui',
|
|
'@kit/auth',
|
|
'@kit/accounts',
|
|
'@kit/team-accounts',
|
|
'@kit/shared',
|
|
'@kit/supabase',
|
|
'@kit/i18n',
|
|
'@kit/mailers',
|
|
'@kit/billing-gateway',
|
|
'@kit/email-templates',
|
|
'@kit/database-webhooks',
|
|
'@kit/cms',
|
|
'@kit/monitoring',
|
|
];
|
|
|
|
/** @type {import('next').NextConfig} */
|
|
const config = {
|
|
reactStrictMode: true,
|
|
/** Enables hot reloading for local packages without a build step */
|
|
transpilePackages: INTERNAL_PACKAGES,
|
|
pageExtensions: ['ts', 'tsx'],
|
|
images: {
|
|
remotePatterns: getRemotePatterns(),
|
|
},
|
|
experimental: {
|
|
mdxRs: true,
|
|
instrumentationHook: true,
|
|
optimizePackageImports: [
|
|
'recharts',
|
|
'lucide-react',
|
|
'@radix-ui/react-icons',
|
|
'@radix-ui/react-avatar',
|
|
'@radix-ui/react-select',
|
|
'date-fns',
|
|
...INTERNAL_PACKAGES,
|
|
],
|
|
},
|
|
modularizeImports: {
|
|
'lucide-react': {
|
|
transform: 'lucide-react/dist/esm/icons/{{ kebabCase member }}',
|
|
},
|
|
lodash: {
|
|
transform: 'lodash/{{member}}',
|
|
},
|
|
},
|
|
/** We already do linting and typechecking as separate tasks in CI */
|
|
eslint: { ignoreDuringBuilds: true },
|
|
typescript: { ignoreBuildErrors: true },
|
|
};
|
|
|
|
export default withBundleAnalyzer({
|
|
enabled: process.env.ANALYZE === 'true',
|
|
})(config);
|
|
|
|
function getRemotePatterns() {
|
|
/** @type {import('next').NextConfig['remotePatterns']} */
|
|
// add here the remote patterns for your images
|
|
const remotePatterns = [];
|
|
|
|
if (SUPABASE_URL) {
|
|
const hostname = new URL(SUPABASE_URL).hostname;
|
|
|
|
remotePatterns.push({
|
|
protocol: 'https',
|
|
hostname,
|
|
});
|
|
}
|
|
|
|
return IS_PRODUCTION
|
|
? remotePatterns
|
|
: [
|
|
{
|
|
protocol: 'http',
|
|
hostname: '127.0.0.1',
|
|
},
|
|
{
|
|
protocol: 'http',
|
|
hostname: 'localhost',
|
|
},
|
|
];
|
|
}
|