From 6e8c6c8e582dda0203fe35c36dff6bd3cd009231 Mon Sep 17 00:00:00 2001 From: Ady Beraud <102751374+ady-beraud@users.noreply.github.com> Date: Thu, 25 Apr 2024 16:54:54 +0300 Subject: [PATCH] fixed twenty website build (#5174) Made code compile during build even when then environment variable is not yet available Co-authored-by: Ady Beraud --- .../src/app/contributors/api/update/route.tsx | 2 ++ packages/twenty-website/src/app/layout.tsx | 2 ++ packages/twenty-website/src/app/oss-friends/page.tsx | 2 ++ packages/twenty-website/src/app/page.tsx | 2 ++ packages/twenty-website/src/app/releases/api/route.tsx | 2 ++ packages/twenty-website/src/app/releases/page.tsx | 2 ++ .../twenty-website/src/app/user-guide/[slug]/page.tsx | 2 ++ packages/twenty-website/src/app/user-guide/page.tsx | 2 ++ packages/twenty-website/src/database/database.ts | 10 +++++++--- 9 files changed, 23 insertions(+), 3 deletions(-) diff --git a/packages/twenty-website/src/app/contributors/api/update/route.tsx b/packages/twenty-website/src/app/contributors/api/update/route.tsx index ee512aab0d6a..7aa85b4bace2 100644 --- a/packages/twenty-website/src/app/contributors/api/update/route.tsx +++ b/packages/twenty-website/src/app/contributors/api/update/route.tsx @@ -9,6 +9,8 @@ import { savePRsToDB } from '@/github-sync/contributors/save-prs-to-db'; import { searchIssuesPRs } from '@/github-sync/contributors/search-issues-prs'; import { IssueNode, PullRequestNode } from '@/github-sync/contributors/types'; +export const dynamic = 'force-dynamic'; + export async function GET() { if (!global.process.env.GITHUB_TOKEN) { return new Response('No GitHub token provided', { status: 500 }); diff --git a/packages/twenty-website/src/app/layout.tsx b/packages/twenty-website/src/app/layout.tsx index 7ac3fe181f31..d82f80c89c07 100644 --- a/packages/twenty-website/src/app/layout.tsx +++ b/packages/twenty-website/src/app/layout.tsx @@ -8,6 +8,8 @@ import EmotionRootStyleRegistry from './emotion-root-style-registry'; import './layout.css'; +export const dynamic = 'force-dynamic'; + export const metadata: Metadata = { title: 'Twenty.com', description: 'Open Source CRM', diff --git a/packages/twenty-website/src/app/oss-friends/page.tsx b/packages/twenty-website/src/app/oss-friends/page.tsx index f01de4eec8a3..6e4751131dc8 100644 --- a/packages/twenty-website/src/app/oss-friends/page.tsx +++ b/packages/twenty-website/src/app/oss-friends/page.tsx @@ -11,6 +11,8 @@ export const metadata = { icons: '/images/core/logo.svg', }; +export const dynamic = 'force-dynamic'; + export default async function OssFriends() { const ossList = await fetch('https://formbricks.com/api/oss-friends'); diff --git a/packages/twenty-website/src/app/page.tsx b/packages/twenty-website/src/app/page.tsx index 1701230ca212..df32c64b137d 100644 --- a/packages/twenty-website/src/app/page.tsx +++ b/packages/twenty-website/src/app/page.tsx @@ -1,5 +1,7 @@ import { ContentContainer } from './_components/ui/layout/ContentContainer'; +export const dynamic = 'force-dynamic'; + export default function Home() { return ( diff --git a/packages/twenty-website/src/app/releases/api/route.tsx b/packages/twenty-website/src/app/releases/api/route.tsx index a67aea09b1ad..afd9dfe8c787 100644 --- a/packages/twenty-website/src/app/releases/api/route.tsx +++ b/packages/twenty-website/src/app/releases/api/route.tsx @@ -9,6 +9,8 @@ export interface ReleaseNote { content: string; } +export const dynamic = 'force-dynamic'; + export async function GET(request: NextRequest) { const host = request.nextUrl.hostname; const protocol = request.nextUrl.protocol; diff --git a/packages/twenty-website/src/app/releases/page.tsx b/packages/twenty-website/src/app/releases/page.tsx index a958a3c8b2f3..3b57f09c7f91 100644 --- a/packages/twenty-website/src/app/releases/page.tsx +++ b/packages/twenty-website/src/app/releases/page.tsx @@ -16,6 +16,8 @@ export const metadata: Metadata = { 'Discover the newest features and improvements in Twenty, the #1 open-source CRM.', }; +export const dynamic = 'force-dynamic'; + const Home = async () => { const releases = await getReleases(); const mdxReleasesContent = await getMdxReleasesContent(releases); diff --git a/packages/twenty-website/src/app/user-guide/[slug]/page.tsx b/packages/twenty-website/src/app/user-guide/[slug]/page.tsx index 6fc8dc79209b..186962e55229 100644 --- a/packages/twenty-website/src/app/user-guide/[slug]/page.tsx +++ b/packages/twenty-website/src/app/user-guide/[slug]/page.tsx @@ -4,6 +4,8 @@ import UserGuideContent from '@/app/_components/user-guide/UserGuideContent'; import { fetchArticleFromSlug } from '@/shared-utils/fetchArticleFromSlug'; import { formatSlug } from '@/shared-utils/formatSlug'; +export const dynamic = 'force-dynamic'; + export async function generateMetadata({ params, }: { diff --git a/packages/twenty-website/src/app/user-guide/page.tsx b/packages/twenty-website/src/app/user-guide/page.tsx index d7d05ca69444..c847ddaba3f8 100644 --- a/packages/twenty-website/src/app/user-guide/page.tsx +++ b/packages/twenty-website/src/app/user-guide/page.tsx @@ -7,6 +7,8 @@ export const metadata = { icons: '/images/core/logo.svg', }; +export const dynamic = 'force-dynamic'; + export default async function UserGuideHome() { return ; } diff --git a/packages/twenty-website/src/database/database.ts b/packages/twenty-website/src/database/database.ts index a5b8786deebc..b940ace7c13a 100644 --- a/packages/twenty-website/src/database/database.ts +++ b/packages/twenty-website/src/database/database.ts @@ -1,12 +1,16 @@ import { global } from '@apollo/client/utilities/globals'; -import { drizzle } from 'drizzle-orm/postgres-js'; +import { drizzle, PostgresJsDatabase } from 'drizzle-orm/postgres-js'; import { migrate as postgresMigrate } from 'drizzle-orm/postgres-js/migrator'; import postgres from 'postgres'; import 'dotenv/config'; -const pgClient = postgres(`${global.process.env.DATABASE_PG_URL}`); -const pgDb = drizzle(pgClient, { logger: false }); +let pgDb: PostgresJsDatabase; + +if (global.process.env.DATABASE_PG_URL) { + const pgClient = postgres(`${global.process.env.DATABASE_PG_URL}`); + pgDb = drizzle(pgClient, { logger: false }); +} const migrate = async () => { await postgresMigrate(pgDb, {