Files
myeasycms-v2/apps/web/next.config.mjs
giancarlo 38a03b6a52 Add lucide-react library to project
The lucide-react library has been added to the project in the `accounts` and `team-accounts` package.json files, and in the pnpm-lock.yaml. Changes were made to the next.config.mjs file to reflect this. Also, the name of the `AuthRedirectListener` function in use-auth-change-listener.ts file has been changed to `useAuthChangeListener`.
2024-04-24 20:07:36 +07:00

90 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/admin',
'@kit/team-accounts',
'@kit/shared',
'@kit/supabase',
'@kit/i18n',
'@kit/mailers',
'@kit/billing-gateway',
'@kit/email-templates',
'@kit/database-webhooks',
'@kit/cms',
'@kit/monitoring',
'@kit/next',
];
/** @type {import('next').NextConfig} */
const config = {
reactStrictMode: true,
/** Enables hot reloading for local packages without a build step */
transpilePackages: INTERNAL_PACKAGES,
images: {
remotePatterns: getRemotePatterns(),
},
experimental: {
mdxRs: true,
taint: true,
instrumentationHook: true,
turbo: {
resolveExtensions: ['.ts', '.tsx', '.js', '.jsx'],
},
optimizePackageImports: [
'recharts',
'lucide-react',
'@radix-ui/react-icons',
'@radix-ui/react-avatar',
'@radix-ui/react-select',
'date-fns',
...INTERNAL_PACKAGES,
],
},
modularizeImports: {
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',
},
];
}