From 92db4d68db04ee74a7e20bb258b9117deeb57946 Mon Sep 17 00:00:00 2001 From: David Nguyen Date: Thu, 13 Feb 2025 20:56:44 +1100 Subject: [PATCH] fix: cleanup env variables --- .env.example | 10 - .github/actions/cache-build/action.yml | 2 +- .github/actions/node-install/action.yml | 2 +- .gitpod.yml | 1 - .husky/pre-commit | 2 +- README.md | 19 +- .../developers/local-development/index.mdx | 4 +- .../developers/local-development/manual.mdx | 1 - .../pages/developers/self-hosting/how-to.mdx | 7 +- .../app/components/general/menu-switcher.tsx | 2 +- .../routes/_authenticated+/admin+/_layout.tsx | 2 +- apps/web/public/.well-known/security.txt | 7 - docker/README.md | 2 - docker/production/compose.yml | 1 - package-lock.json | 183 +----------------- packages/api/next.ts | 1 - packages/lib/constants/auth.ts | 3 +- packages/lib/package.json | 4 +- packages/lib/server-only/redis/index.ts | 10 - packages/lib/types/next-auth.d.ts | 25 --- packages/lib/universal/get-base-url.ts | 4 - .../{next-auth/guards => utils}/is-admin.ts | 0 packages/trpc/package.json | 3 +- packages/trpc/server/adapters/next.ts | 1 - packages/trpc/server/trpc.ts | 2 +- packages/tsconfig/process-env.d.ts | 22 +-- render.yaml | 10 - scripts/copy-wellknown.cjs | 2 +- scripts/remap-vercel-env.cjs | 41 ---- scripts/vercel.sh | 84 -------- turbo.json | 11 -- 31 files changed, 29 insertions(+), 439 deletions(-) delete mode 100644 apps/web/public/.well-known/security.txt delete mode 100644 packages/api/next.ts delete mode 100644 packages/lib/server-only/redis/index.ts delete mode 100644 packages/lib/types/next-auth.d.ts rename packages/lib/{next-auth/guards => utils}/is-admin.ts (100%) delete mode 100644 packages/trpc/server/adapters/next.ts delete mode 100644 scripts/remap-vercel-env.cjs delete mode 100755 scripts/vercel.sh diff --git a/.env.example b/.env.example index 80c11413c..a157040c9 100644 --- a/.env.example +++ b/.env.example @@ -1,5 +1,4 @@ # [[AUTH]] -NEXTAUTH_URL="http://localhost:3000" NEXTAUTH_SECRET="secret" # [[CRYPTO]] @@ -113,13 +112,9 @@ NEXT_PUBLIC_DOCUMENT_SIZE_UPLOAD_LIMIT=5 # [[STRIPE]] NEXT_PRIVATE_STRIPE_API_KEY= NEXT_PRIVATE_STRIPE_WEBHOOK_SECRET= -NEXT_PUBLIC_STRIPE_COMMUNITY_PLAN_MONTHLY_PRICE_ID= -NEXT_PUBLIC_STRIPE_ENTERPRISE_PLAN_MONTHLY_PRICE_ID= # [[BACKGROUND JOBS]] NEXT_PRIVATE_JOBS_PROVIDER="local" -NEXT_PRIVATE_TRIGGER_API_KEY= -NEXT_PRIVATE_TRIGGER_API_URL= NEXT_PRIVATE_INNGEST_EVENT_KEY= # [[FEATURES]] @@ -135,10 +130,5 @@ E2E_TEST_AUTHENTICATE_USERNAME="Test User" E2E_TEST_AUTHENTICATE_USER_EMAIL="testuser@mail.com" E2E_TEST_AUTHENTICATE_USER_PASSWORD="test_Password123" -# This is only required for the marketing site -# [[REDIS]] -NEXT_PRIVATE_REDIS_URL= -NEXT_PRIVATE_REDIS_TOKEN= - # [[LOGGER]] NEXT_PRIVATE_LOGGER_HONEY_BADGER_API_KEY= diff --git a/.github/actions/cache-build/action.yml b/.github/actions/cache-build/action.yml index 878eb27d2..af89fedef 100644 --- a/.github/actions/cache-build/action.yml +++ b/.github/actions/cache-build/action.yml @@ -3,7 +3,7 @@ description: 'Cache or restore if necessary' inputs: node_version: required: false - default: v20.x + default: v22.x runs: using: 'composite' steps: diff --git a/.github/actions/node-install/action.yml b/.github/actions/node-install/action.yml index 59b542fc8..f86dd5e42 100644 --- a/.github/actions/node-install/action.yml +++ b/.github/actions/node-install/action.yml @@ -2,7 +2,7 @@ name: 'Setup node and cache node_modules' inputs: node_version: required: false - default: v20.x + default: v22.x runs: using: 'composite' diff --git a/.gitpod.yml b/.gitpod.yml index de6c917f1..6976c2239 100644 --- a/.gitpod.yml +++ b/.gitpod.yml @@ -4,7 +4,6 @@ tasks: npm run dx:up && cp .env.example .env && set -a; source .env && - export NEXTAUTH_URL="$(gp url 3000)" && export NEXT_PUBLIC_WEBAPP_URL="$(gp url 3000)" && export NEXT_PUBLIC_MARKETING_URL="$(gp url 3001)" command: npm run d diff --git a/.husky/pre-commit b/.husky/pre-commit index 17f372598..d4d3c418f 100755 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -10,6 +10,6 @@ npm run copy:pdfjs --workspace apps/** echo "Copying .well-known/ contents" node "$MONOREPO_ROOT/scripts/copy-wellknown.cjs" -git add "$MONOREPO_ROOT/apps/web/public/" +git add "$MONOREPO_ROOT/apps/remix/public/" npx lint-staged diff --git a/README.md b/README.md index 5239c79d0..3afaafeec 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,3 @@ -> 🚨 We are live on Product Hunt 🎉 Check out our latest launch: The Platform Plan! - -Documenso Platform Plan - Whitelabeled signing flows in your product | Product Hunt - Documenso Logo

@@ -73,9 +69,9 @@ Contact us if you are interested in our Enterprise plan for large organizations Book us with Cal.com ## Tech Stack +

TypeScript - NextJS Made with Prisma Tailwind CSS @@ -85,20 +81,17 @@ Contact us if you are interested in our Enterprise plan for large organizations

- - [Typescript](https://www.typescriptlang.org/) - Language -- [Next.js](https://nextjs.org/) - Framework -- [Prisma](https://www.prisma.io/) - ORM +- [ReactRouter](https://reactrouter.com/) - Framework +- [Prisma](https://www.prisma.io/) - ORM - [Tailwind](https://tailwindcss.com/) - CSS - [shadcn/ui](https://ui.shadcn.com/) - Component Library -- [NextAuth.js](https://next-auth.js.org/) - Authentication - [react-email](https://react.email/) - Email Templates - [tRPC](https://trpc.io/) - API - [@documenso/pdf-sign](https://www.npmjs.com/package/@documenso/pdf-sign) - PDF Signatures (launching soon) - [React-PDF](https://github.com/wojtekmaj/react-pdf) - Viewing PDFs - [PDF-Lib](https://github.com/Hopding/pdf-lib) - PDF manipulation - [Stripe](https://stripe.com/) - Payments -- [Vercel](https://vercel.com) - Hosting @@ -108,7 +101,7 @@ Contact us if you are interested in our Enterprise plan for large organizations To run Documenso locally, you will need -- Node.js (v18 or above) +- Node.js (v22 or above) - Postgres SQL Database - Docker (optional) @@ -171,7 +164,6 @@ git clone https://github.com//documenso 4. Set the following environment variables: - - NEXTAUTH_URL - NEXTAUTH_SECRET - NEXT_PUBLIC_WEBAPP_URL - NEXT_PUBLIC_MARKETING_URL @@ -243,7 +235,6 @@ cp .env.example .env The following environment variables must be set: -- `NEXTAUTH_URL` - `NEXTAUTH_SECRET` - `NEXT_PUBLIC_WEBAPP_URL` - `NEXT_PUBLIC_MARKETING_URL` @@ -252,7 +243,7 @@ The following environment variables must be set: - `NEXT_PRIVATE_SMTP_FROM_NAME` - `NEXT_PRIVATE_SMTP_FROM_ADDRESS` -> If you are using a reverse proxy in front of Documenso, don't forget to provide the public URL for both `NEXTAUTH_URL` and `NEXT_PUBLIC_WEBAPP_URL` variables! +> If you are using a reverse proxy in front of Documenso, don't forget to provide the public URL for the `NEXT_PUBLIC_WEBAPP_URL` variable! Now you can install the dependencies and build it: diff --git a/apps/documentation/pages/developers/local-development/index.mdx b/apps/documentation/pages/developers/local-development/index.mdx index 148e87a3a..c92f9b385 100644 --- a/apps/documentation/pages/developers/local-development/index.mdx +++ b/apps/documentation/pages/developers/local-development/index.mdx @@ -16,18 +16,16 @@ Pick the one that fits your needs the best. ## Tech Stack - [Typescript](https://www.typescriptlang.org/) - Language -- [Next.js](https://nextjs.org/) - Framework +- [ReactRouter](https://reactrouter.com/) - Framework - [Prisma](https://www.prisma.io/) - ORM - [Tailwind](https://tailwindcss.com/) - CSS - [shadcn/ui](https://ui.shadcn.com/) - Component Library -- [NextAuth.js](https://next-auth.js.org/) - Authentication - [react-email](https://react.email/) - Email Templates - [tRPC](https://trpc.io/) - API - [@documenso/pdf-sign](https://www.npmjs.com/package/@documenso/pdf-sign) - PDF Signatures - [React-PDF](https://github.com/wojtekmaj/react-pdf) - Viewing PDFs - [PDF-Lib](https://github.com/Hopding/pdf-lib) - PDF manipulation - [Stripe](https://stripe.com/) - Payments -- [Vercel](https://vercel.com) - Hosting
diff --git a/apps/documentation/pages/developers/local-development/manual.mdx b/apps/documentation/pages/developers/local-development/manual.mdx index fe56e0cb1..9f2b5c4fc 100644 --- a/apps/documentation/pages/developers/local-development/manual.mdx +++ b/apps/documentation/pages/developers/local-development/manual.mdx @@ -32,7 +32,6 @@ Run `npm i` in the root directory to install the dependencies required for the p Set up the following environment variables in the `.env` file: ```bash -NEXTAUTH_URL NEXTAUTH_SECRET NEXT_PUBLIC_WEBAPP_URL NEXT_PUBLIC_MARKETING_URL diff --git a/apps/documentation/pages/developers/self-hosting/how-to.mdx b/apps/documentation/pages/developers/self-hosting/how-to.mdx index 0d1583859..291cb02fc 100644 --- a/apps/documentation/pages/developers/self-hosting/how-to.mdx +++ b/apps/documentation/pages/developers/self-hosting/how-to.mdx @@ -35,7 +35,6 @@ cp .env.example .env Open the `.env` file and fill in the following variables: ```bash -- NEXTAUTH_URL - NEXTAUTH_SECRET - NEXT_PUBLIC_WEBAPP_URL - NEXT_PUBLIC_MARKETING_URL @@ -46,8 +45,8 @@ Open the `.env` file and fill in the following variables: ``` - If you use a reverse proxy in front of Documenso, don't forget to provide the public URL for both - the `NEXTAUTH_URL` and `NEXT_PUBLIC_WEBAPP_URL` variables! + If you use a reverse proxy in front of Documenso, don't forget to provide the public URL for the + `NEXT_PUBLIC_WEBAPP_URL` variable! ### Install the Dependencies @@ -171,7 +170,6 @@ Run the Docker container with the required environment variables: ```bash docker run -d \ -p 3000:3000 \ - -e NEXTAUTH_URL="" -e NEXTAUTH_SECRET="" -e NEXT_PRIVATE_ENCRYPTION_KEY="" -e NEXT_PRIVATE_ENCRYPTION_SECONDARY_KEY="" @@ -200,7 +198,6 @@ The environment variables listed above are a subset of those available for confi | Variable | Description | | -------------------------------------------- | --------------------------------------------------------------------------------------------------- | | `PORT` | The port on which the Documenso application runs. It defaults to `3000`. | -| `NEXTAUTH_URL` | The URL for the NextAuth.js authentication service. | | `NEXTAUTH_SECRET` | The secret key used by NextAuth.js for encryption and signing. | | `NEXT_PRIVATE_ENCRYPTION_KEY` | The primary encryption key for symmetric encryption and decryption (at least 32 characters). | | `NEXT_PRIVATE_ENCRYPTION_SECONDARY_KEY` | The secondary encryption key for symmetric encryption and decryption (at least 32 characters). | diff --git a/apps/remix/app/components/general/menu-switcher.tsx b/apps/remix/app/components/general/menu-switcher.tsx index f70a4321a..4e4c8fa9b 100644 --- a/apps/remix/app/components/general/menu-switcher.tsx +++ b/apps/remix/app/components/general/menu-switcher.tsx @@ -10,9 +10,9 @@ import { Link, useLocation } from 'react-router'; import { authClient } from '@documenso/auth/client'; import type { SessionUser } from '@documenso/auth/server/lib/session/session'; import { TEAM_MEMBER_ROLE_MAP, TEAM_URL_REGEX } from '@documenso/lib/constants/teams'; -import { isAdmin } from '@documenso/lib/next-auth/guards/is-admin'; import type { TGetTeamsResponse } from '@documenso/lib/server-only/team/get-teams'; import { formatAvatarUrl } from '@documenso/lib/utils/avatars'; +import { isAdmin } from '@documenso/lib/utils/is-admin'; import { extractInitials } from '@documenso/lib/utils/recipient-formatter'; import { canExecuteTeamAction } from '@documenso/lib/utils/teams'; import { trpc } from '@documenso/trpc/react'; diff --git a/apps/remix/app/routes/_authenticated+/admin+/_layout.tsx b/apps/remix/app/routes/_authenticated+/admin+/_layout.tsx index 9ae357270..697518c00 100644 --- a/apps/remix/app/routes/_authenticated+/admin+/_layout.tsx +++ b/apps/remix/app/routes/_authenticated+/admin+/_layout.tsx @@ -3,7 +3,7 @@ import { BarChart3, FileStack, Settings, Trophy, Users, Wallet2 } from 'lucide-r import { Link, Outlet, redirect, useLocation } from 'react-router'; import { getLoaderSession } from 'server/utils/get-loader-session'; -import { isAdmin } from '@documenso/lib/next-auth/guards/is-admin'; +import { isAdmin } from '@documenso/lib/utils/is-admin'; import { cn } from '@documenso/ui/lib/utils'; import { Button } from '@documenso/ui/primitives/button'; diff --git a/apps/web/public/.well-known/security.txt b/apps/web/public/.well-known/security.txt deleted file mode 100644 index 1a3f685e5..000000000 --- a/apps/web/public/.well-known/security.txt +++ /dev/null @@ -1,7 +0,0 @@ -# General Issues -Contact: https://github.com/documenso/documenso/issues/new?assignees=&labels=bug&projects=&template=bug-report.yml - -# Report critical issues privately to let us take appropriate action before publishing. -Contact: mailto:security@documenso.com -Preferred-Languages: en -Canonical: https://documenso.com/.well-known/security.txt \ No newline at end of file diff --git a/docker/README.md b/docker/README.md index 780d116fe..9c4f049b7 100644 --- a/docker/README.md +++ b/docker/README.md @@ -69,7 +69,6 @@ docker pull ghcr.io/documenso/documenso ``` docker run -d \ -p 3000:3000 \ - -e NEXTAUTH_URL="" -e NEXTAUTH_SECRET="" -e NEXT_PRIVATE_ENCRYPTION_KEY="" -e NEXT_PRIVATE_ENCRYPTION_SECONDARY_KEY="" @@ -101,7 +100,6 @@ Here's a markdown table documenting all the provided environment variables: | Variable | Description | | -------------------------------------------- | --------------------------------------------------------------------------------------------------- | | `PORT` | The port to run the Documenso application on, defaults to `3000`. | -| `NEXTAUTH_URL` | The URL for the NextAuth.js authentication service. | | `NEXTAUTH_SECRET` | The secret key used by NextAuth.js for encryption and signing. | | `NEXT_PRIVATE_ENCRYPTION_KEY` | The primary encryption key for symmetric encryption and decryption (at least 32 characters). | | `NEXT_PRIVATE_ENCRYPTION_SECONDARY_KEY` | The secondary encryption key for symmetric encryption and decryption (at least 32 characters). | diff --git a/docker/production/compose.yml b/docker/production/compose.yml index 505228b24..a48475463 100644 --- a/docker/production/compose.yml +++ b/docker/production/compose.yml @@ -22,7 +22,6 @@ services: condition: service_healthy environment: - PORT=${PORT:-3000} - - NEXTAUTH_URL=${NEXTAUTH_URL:-${NEXT_PUBLIC_WEBAPP_URL}} - NEXTAUTH_SECRET=${NEXTAUTH_SECRET:?err} - NEXT_PRIVATE_ENCRYPTION_KEY=${NEXT_PRIVATE_ENCRYPTION_KEY:?err} - NEXT_PRIVATE_ENCRYPTION_SECONDARY_KEY=${NEXT_PRIVATE_ENCRYPTION_SECONDARY_KEY:?err} diff --git a/package-lock.json b/package-lock.json index c8cf7ba9e..db69581aa 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12904,6 +12904,7 @@ "version": "2.3.19", "resolved": "https://registry.npmjs.org/@trigger.dev/core/-/core-2.3.19.tgz", "integrity": "sha512-ZL5G8pBFOamgmHzg4hgjt+5jYBJlkvizTOYPAjhNlqhzq+wr1Czsp7I5JeynHSo55bc/TMen75uGh7blwBCaNw==", + "dev": true, "license": "MIT", "dependencies": { "ulidx": "^2.2.1", @@ -12914,66 +12915,6 @@ "node": ">=18.0.0" } }, - "node_modules/@trigger.dev/core-backend": { - "version": "2.3.19", - "resolved": "https://registry.npmjs.org/@trigger.dev/core-backend/-/core-backend-2.3.19.tgz", - "integrity": "sha512-TLior4RZSD+MnTeCytS1aG+o9ZQowSb7cMTml0jZVvA65Cy5uvKF7bkpoPmyIxyw+ZAwmrIsefZzAzI4Iu7+aw==", - "license": "MIT", - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@trigger.dev/sdk": { - "version": "2.3.19", - "resolved": "https://registry.npmjs.org/@trigger.dev/sdk/-/sdk-2.3.19.tgz", - "integrity": "sha512-NjX5vEK3ydx5Bac0rwQbHqOZWJJqT6qQ+/GkTErKDs59v+qD+s1g/fB/TtEGpsAjdZK9FIPm4ooFemYVmpIm/A==", - "license": "MIT", - "dependencies": { - "@trigger.dev/core": "^2.3.19", - "@trigger.dev/core-backend": "^2.3.19", - "chalk": "^5.2.0", - "cronstrue": "^2.21.0", - "debug": "^4.3.4", - "evt": "^2.4.13", - "get-caller-file": "^2.0.5", - "git-remote-origin-url": "^4.0.0", - "git-repo-info": "^2.1.1", - "slug": "^6.0.0", - "terminal-link": "^3.0.0", - "ulid": "^2.3.0", - "uuid": "^9.0.0", - "ws": "^8.11.0", - "zod": "3.22.3" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@trigger.dev/sdk/node_modules/chalk": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz", - "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==", - "license": "MIT", - "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@trigger.dev/sdk/node_modules/uuid": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", - "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", - "funding": [ - "https://github.com/sponsors/broofa", - "https://github.com/sponsors/ctavan" - ], - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" - } - }, "node_modules/@trigger.dev/yalt": { "version": "2.3.19", "resolved": "https://registry.npmjs.org/@trigger.dev/yalt/-/yalt-2.3.19.tgz", @@ -14157,15 +14098,6 @@ "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", "license": "ISC" }, - "node_modules/@upstash/redis": { - "version": "1.34.4", - "resolved": "https://registry.npmjs.org/@upstash/redis/-/redis-1.34.4.tgz", - "integrity": "sha512-AZx2iD5s1Pu/KCrRA7KVCffu3NSoaYnNY7N9YI7aLAYhcJfsriQKTe+8OxQWJqGqFbrvm17Lyr9HFnDLvqNpfA==", - "license": "MIT", - "dependencies": { - "crypto-js": "^4.2.0" - } - }, "node_modules/@vvo/tzdb": { "version": "6.160.0", "resolved": "https://registry.npmjs.org/@vvo/tzdb/-/tzdb-6.160.0.tgz", @@ -17430,15 +17362,6 @@ "devOptional": true, "license": "MIT" }, - "node_modules/cronstrue": { - "version": "2.54.0", - "resolved": "https://registry.npmjs.org/cronstrue/-/cronstrue-2.54.0.tgz", - "integrity": "sha512-vyp5NklDxA5MjPfQgkn0bA+0vRQe7Q9keX7RPdV6rMgd7LtDvbuKgnT+3T5ZAX16anSP5HmahcRp8mziXsLfaw==", - "license": "MIT", - "bin": { - "cronstrue": "bin/cli.js" - } - }, "node_modules/cross-env": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz", @@ -20332,17 +20255,6 @@ "dev": true, "license": "MIT" }, - "node_modules/evt": { - "version": "2.5.9", - "resolved": "https://registry.npmjs.org/evt/-/evt-2.5.9.tgz", - "integrity": "sha512-GpjX476FSlttEGWHT8BdVMoI8wGXQGbEOtKcP4E+kggg+yJzXBZN2n4x7TS/zPBJ1DZqWI+rguZZApjjzQ0HpA==", - "license": "MIT", - "dependencies": { - "minimal-polyfills": "^2.2.3", - "run-exclusive": "^2.2.19", - "tsafe": "^1.8.5" - } - }, "node_modules/execa": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", @@ -21359,6 +21271,7 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, "license": "ISC", "engines": { "node": "6.* || 8.* || >= 10.*" @@ -21543,30 +21456,6 @@ "node": ">=10" } }, - "node_modules/git-remote-origin-url": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-4.0.0.tgz", - "integrity": "sha512-EAxDksNdjuWgmVW9pVvA9jQDi/dmTaiDONktIy7qiRRhBZUI4FQK1YvBvteuTSX24aNKg9lfgxNYJEeeSXe6DA==", - "license": "MIT", - "dependencies": { - "gitconfiglocal": "^2.1.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/git-repo-info": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/git-repo-info/-/git-repo-info-2.1.1.tgz", - "integrity": "sha512-8aCohiDo4jwjOwma4FmYFd3i97urZulL8XL24nIPxuE+GZnfsAyy/g2Shqx6OjUiFKUXZM+Yy+KHnOmmA3FVcg==", - "license": "MIT", - "engines": { - "node": ">= 4.0" - } - }, "node_modules/git-up": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/git-up/-/git-up-7.0.0.tgz", @@ -21586,21 +21475,6 @@ "git-up": "^7.0.0" } }, - "node_modules/gitconfiglocal": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-2.1.0.tgz", - "integrity": "sha512-qoerOEliJn3z+Zyn1HW2F6eoYJqKwS6MgC9cztTLUB/xLWX8gD/6T60pKn4+t/d6tP7JlybI7Z3z+I572CR/Vg==", - "license": "BSD", - "dependencies": { - "ini": "^1.3.2" - } - }, - "node_modules/gitconfiglocal/node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "license": "ISC" - }, "node_modules/github-from-package": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", @@ -24732,6 +24606,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/layerr/-/layerr-3.0.0.tgz", "integrity": "sha512-tv754Ki2dXpPVApOrjTyRo4/QegVb9eVFq4mjqp4+NM5NaX7syQvN5BBNfV/ZpAHCEHV24XdUVrBAoka4jt3pA==", + "dev": true, "license": "MIT" }, "node_modules/layout-base": { @@ -27711,12 +27586,6 @@ "node": ">=6" } }, - "node_modules/minimal-polyfills": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/minimal-polyfills/-/minimal-polyfills-2.2.3.tgz", - "integrity": "sha512-oxdmJ9cL+xV72h0xYxp4tP2d5/fTBpP45H8DIOn9pASuF8a3IYTf+25fMGDYGiWW+MFsuog6KD6nfmhZJQ+uUw==", - "license": "MIT" - }, "node_modules/minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", @@ -34165,15 +34034,6 @@ "node": ">=0.12.0" } }, - "node_modules/run-exclusive": { - "version": "2.2.19", - "resolved": "https://registry.npmjs.org/run-exclusive/-/run-exclusive-2.2.19.tgz", - "integrity": "sha512-K3mdoAi7tjJ/qT7Flj90L7QyPozwUaAG+CVhkdDje4HLKXUYC3N/Jzkau3flHVDLQVhiHBtcimVodMjN9egYbA==", - "license": "MIT", - "dependencies": { - "minimal-polyfills": "^2.2.3" - } - }, "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -34977,12 +34837,6 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/slug": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/slug/-/slug-6.1.0.tgz", - "integrity": "sha512-x6vLHCMasg4DR2LPiyFGI0gJJhywY6DTiGhCrOMzb3SOk/0JVLIaL4UhyFSHu04SD3uAavrKY/K3zZ3i6iRcgA==", - "license": "MIT" - }, "node_modules/smart-buffer": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", @@ -35918,6 +35772,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "dev": true, "license": "MIT", "dependencies": { "has-flag": "^4.0.0", @@ -36380,6 +36235,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-3.0.0.tgz", "integrity": "sha512-flFL3m4wuixmf6IfhFJd1YPiLiMuxEc8uHRM1buzIeZPm22Au2pDqBJQgdo7n1WfPU1ONFGv7YDwpFBmHGF6lg==", + "dev": true, "license": "MIT", "dependencies": { "ansi-escapes": "^5.0.0", @@ -36396,6 +36252,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-5.0.0.tgz", "integrity": "sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==", + "dev": true, "license": "MIT", "dependencies": { "type-fest": "^1.0.2" @@ -36411,6 +36268,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "dev": true, "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" @@ -36949,12 +36807,6 @@ "integrity": "sha512-nsZd8ZeNUzukXPlJmTBwUAuABDe/9qtVDelJeT/qW0ow3ZS3BsQJtNkan1802aM9Uf68/Y8ljw86Hu0h5IUW3w==", "license": "Apache-2.0" }, - "node_modules/tsafe": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/tsafe/-/tsafe-1.8.5.tgz", - "integrity": "sha512-LFWTWQrW6rwSY+IBNFl2ridGfUzVsPwrZ26T4KUJww/py8rzaQ/SY+MIz6YROozpUCaRcuISqagmlwub9YT9kw==", - "license": "MIT" - }, "node_modules/tsconfck": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-2.1.2.tgz", @@ -38585,6 +38437,7 @@ "version": "2.4.1", "resolved": "https://registry.npmjs.org/ulidx/-/ulidx-2.4.1.tgz", "integrity": "sha512-xY7c8LPyzvhvew0Fn+Ek3wBC9STZAuDI/Y5andCKi9AX6/jvfaX45PhsDX8oxgPL0YFp0Jhr8qWMbS/p9375Xg==", + "dev": true, "license": "MIT", "dependencies": { "layerr": "^3.0.0" @@ -40757,6 +40610,7 @@ "version": "1.5.0", "resolved": "https://registry.npmjs.org/zod-error/-/zod-error-1.5.0.tgz", "integrity": "sha512-zzopKZ/skI9iXpqCEPj+iLCKl9b88E43ehcU+sbRoHuwGd9F1IDVGQ70TyO6kmfiRL1g4IXkjsXK+g1gLYl4WQ==", + "dev": true, "license": "MIT", "dependencies": { "zod": "^3.20.2" @@ -41805,8 +41659,6 @@ "@pdf-lib/fontkit": "^1.1.1", "@scure/base": "^1.1.3", "@sindresorhus/slugify": "^2.2.1", - "@trigger.dev/sdk": "^2.3.18", - "@upstash/redis": "^1.20.6", "@vvo/tzdb": "^6.117.0", "csv-parse": "^5.6.0", "inngest": "^3.19.13", @@ -42340,7 +42192,6 @@ "@trpc/react-query": "11.0.0-rc.648", "@trpc/server": "11.0.0-rc.648", "@ts-rest/core": "^3.30.5", - "@ts-rest/next": "^3.30.5", "luxon": "^3.4.0", "superjson": "^1.13.1", "trpc-to-openapi": "2.0.4", @@ -42348,22 +42199,6 @@ "zod": "3.24.1" } }, - "packages/trpc/node_modules/@ts-rest/next": { - "version": "3.51.0", - "resolved": "https://registry.npmjs.org/@ts-rest/next/-/next-3.51.0.tgz", - "integrity": "sha512-bvnd27rja+Zvi1/tUcVhLr5JxTc6fEMfWfm2JJd/p6Q+JwwzRY/dLy/XD5qm4/rHUtGmsF/tGJZfgC8dD2Mokw==", - "license": "MIT", - "peerDependencies": { - "@ts-rest/core": "~3.51.0", - "next": "^12.0.0 || ^13.0.0 || ^14.0.0", - "zod": "^3.22.3" - }, - "peerDependenciesMeta": { - "zod": { - "optional": true - } - } - }, "packages/tsconfig": { "name": "@documenso/tsconfig", "version": "0.0.0", diff --git a/packages/api/next.ts b/packages/api/next.ts deleted file mode 100644 index 5ac5aab45..000000000 --- a/packages/api/next.ts +++ /dev/null @@ -1 +0,0 @@ -export { createNextRouter } from '@ts-rest/next'; diff --git a/packages/lib/constants/auth.ts b/packages/lib/constants/auth.ts index 561629966..5c0808a7d 100644 --- a/packages/lib/constants/auth.ts +++ b/packages/lib/constants/auth.ts @@ -1,4 +1,5 @@ import { env } from '../utils/env'; +import { NEXT_PUBLIC_WEBAPP_URL } from './app'; export const SALT_ROUNDS = 12; @@ -49,7 +50,7 @@ export const MAXIMUM_PASSKEYS = 50; // Todo: nextuauth_url ?? export const useSecureCookies = - env('NODE_ENV') === 'production' && String(env('NEXTAUTH_URL')).startsWith('https://'); + env('NODE_ENV') === 'production' && String(NEXT_PUBLIC_WEBAPP_URL()).startsWith('https://'); // Todo: Test secure cookies prefix in remix. const secureCookiePrefix = useSecureCookies ? '__Secure-' : ''; diff --git a/packages/lib/package.json b/packages/lib/package.json index 43fe08ed5..374a22226 100644 --- a/packages/lib/package.json +++ b/packages/lib/package.json @@ -34,8 +34,6 @@ "@pdf-lib/fontkit": "^1.1.1", "@scure/base": "^1.1.3", "@sindresorhus/slugify": "^2.2.1", - "@trigger.dev/sdk": "^2.3.18", - "@upstash/redis": "^1.20.6", "@vvo/tzdb": "^6.117.0", "csv-parse": "^5.6.0", "inngest": "^3.19.13", @@ -59,4 +57,4 @@ "@types/luxon": "^3.3.1", "@types/pg": "^8.11.4" } -} \ No newline at end of file +} diff --git a/packages/lib/server-only/redis/index.ts b/packages/lib/server-only/redis/index.ts deleted file mode 100644 index 7f4610da3..000000000 --- a/packages/lib/server-only/redis/index.ts +++ /dev/null @@ -1,10 +0,0 @@ -/* eslint-disable turbo/no-undeclared-env-vars */ -import { Redis } from '@upstash/redis'; - -import { env } from '../../utils/env'; - -// !: We're null coalescing here because we don't want local builds to fail. -export const redis = new Redis({ - url: env('NEXT_PRIVATE_REDIS_URL') ?? '', - token: env('NEXT_PRIVATE_REDIS_TOKEN') ?? '', -}); diff --git a/packages/lib/types/next-auth.d.ts b/packages/lib/types/next-auth.d.ts deleted file mode 100644 index edc05ccc4..000000000 --- a/packages/lib/types/next-auth.d.ts +++ /dev/null @@ -1,25 +0,0 @@ -import type { User as PrismaUser } from '@prisma/client'; -import type { DefaultUser } from 'next-auth'; - -declare module 'next-auth' { - interface Session { - user: User; - } - - interface User extends Omit { - id: PrismaUser['id']; - name?: PrismaUser['name']; - email?: PrismaUser['email']; - emailVerified?: string | null; - } -} - -declare module 'next-auth/jwt' { - interface JWT { - id: string | number; - name?: string | null; - email: string | null; - emailVerified?: string | null; - lastSignedIn?: string | null; - } -} diff --git a/packages/lib/universal/get-base-url.ts b/packages/lib/universal/get-base-url.ts index 5618463e3..53729e8a9 100644 --- a/packages/lib/universal/get-base-url.ts +++ b/packages/lib/universal/get-base-url.ts @@ -7,10 +7,6 @@ export const getBaseUrl = () => { return ''; } - if (env('VERCEL_URL')) { - return `https://${env('VERCEL_URL')}`; - } - const webAppUrl = NEXT_PUBLIC_WEBAPP_URL(); if (webAppUrl) { diff --git a/packages/lib/next-auth/guards/is-admin.ts b/packages/lib/utils/is-admin.ts similarity index 100% rename from packages/lib/next-auth/guards/is-admin.ts rename to packages/lib/utils/is-admin.ts diff --git a/packages/trpc/package.json b/packages/trpc/package.json index 7286b9113..891c0ab00 100644 --- a/packages/trpc/package.json +++ b/packages/trpc/package.json @@ -17,11 +17,10 @@ "@trpc/react-query": "11.0.0-rc.648", "@trpc/server": "11.0.0-rc.648", "@ts-rest/core": "^3.30.5", - "@ts-rest/next": "^3.30.5", "luxon": "^3.4.0", "superjson": "^1.13.1", "trpc-to-openapi": "2.0.4", "ts-pattern": "^5.0.5", "zod": "3.24.1" } -} \ No newline at end of file +} diff --git a/packages/trpc/server/adapters/next.ts b/packages/trpc/server/adapters/next.ts deleted file mode 100644 index a1d72411f..000000000 --- a/packages/trpc/server/adapters/next.ts +++ /dev/null @@ -1 +0,0 @@ -export * from '@trpc/server/adapters/next'; diff --git a/packages/trpc/server/trpc.ts b/packages/trpc/server/trpc.ts index 747a62e9f..234051e77 100644 --- a/packages/trpc/server/trpc.ts +++ b/packages/trpc/server/trpc.ts @@ -3,9 +3,9 @@ import SuperJSON from 'superjson'; import type { AnyZodObject } from 'zod'; import { AppError, genericErrorCodeToTrpcErrorCodeMap } from '@documenso/lib/errors/app-error'; -import { isAdmin } from '@documenso/lib/next-auth/guards/is-admin'; import { getApiTokenByToken } from '@documenso/lib/server-only/public-api/get-api-token-by-token'; import type { ApiRequestMetadata } from '@documenso/lib/universal/extract-request-metadata'; +import { isAdmin } from '@documenso/lib/utils/is-admin'; import type { TrpcContext } from './context'; diff --git a/packages/tsconfig/process-env.d.ts b/packages/tsconfig/process-env.d.ts index dfb15a728..78a0f2810 100644 --- a/packages/tsconfig/process-env.d.ts +++ b/packages/tsconfig/process-env.d.ts @@ -17,8 +17,6 @@ declare namespace NodeJS { NEXT_PRIVATE_ENCRYPTION_KEY: string; NEXT_PRIVATE_ENCRYPTION_SECONDARY_KEY: string; - NEXT_PUBLIC_STRIPE_COMMUNITY_PLAN_MONTHLY_PRICE_ID: string; - NEXT_PRIVATE_STRIPE_API_KEY: string; NEXT_PRIVATE_STRIPE_WEBHOOK_SECRET: string; @@ -69,16 +67,9 @@ declare namespace NodeJS { NEXT_PUBLIC_DISABLE_SIGNUP?: string; - // NEXT_PRIVATE_BROWSERLESS_URL?: string; - NEXT_PRIVATE_JOBS_PROVIDER?: 'trigger' | 'inngest' | 'local'; - - /** - * Trigger.dev environment variables - */ - NEXT_PRIVATE_TRIGGER_API_KEY?: string; - NEXT_PRIVATE_TRIGGER_API_URL?: string; + NEXT_PRIVATE_JOBS_PROVIDER?: 'inngest' | 'local'; /** * Inngest environment variables @@ -90,17 +81,6 @@ declare namespace NodeJS { NEXT_PRIVATE_LOGGER_HONEY_BADGER_API_KEY?: string; - /** - * Vercel environment variables - */ - VERCEL?: string; - VERCEL_ENV?: 'production' | 'development' | 'preview'; - VERCEL_URL?: string; - - DEPLOYMENT_TARGET?: 'webapp' | 'marketing'; - FONT_CAVEAT_URI: string; - FONT_NOTO_SANS_URI: string; - POSTGRES_URL?: string; DATABASE_URL?: string; POSTGRES_PRISMA_URL?: string; diff --git a/render.yaml b/render.yaml index 5a6bbb954..2954a8cfc 100644 --- a/render.yaml +++ b/render.yaml @@ -67,10 +67,6 @@ services: sync: false - key: NEXT_PRIVATE_STRIPE_WEBHOOK_SECRET sync: false - - key: NEXT_PUBLIC_STRIPE_COMMUNITY_PLAN_MONTHLY_PRICE_ID - sync: false - - key: NEXT_PUBLIC_STRIPE_ENTERPRISE_PLAN_MONTHLY_PRICE_ID - sync: false # Features - key: NEXT_PUBLIC_POSTHOG_KEY @@ -78,12 +74,6 @@ services: - key: NEXT_PUBLIC_FEATURE_BILLING_ENABLED sync: false - # Redis (Only required for marketing site, but added for completeness) - - key: NEXT_PRIVATE_REDIS_URL - sync: false - - key: NEXT_PRIVATE_REDIS_TOKEN - sync: false - # Storage - key: NEXT_PUBLIC_UPLOAD_TRANSPORT value: 'database' diff --git a/scripts/copy-wellknown.cjs b/scripts/copy-wellknown.cjs index c1a8d7df1..7fe564672 100644 --- a/scripts/copy-wellknown.cjs +++ b/scripts/copy-wellknown.cjs @@ -7,6 +7,6 @@ const fs = require('fs'); const wellKnownPath = path.join(__dirname, '../.well-known'); console.log('Copying .well-known/ contents to apps'); -fs.cpSync(wellKnownPath, path.join(__dirname, '../apps/web/public/.well-known'), { +fs.cpSync(wellKnownPath, path.join(__dirname, '../apps/remix/public/.well-known'), { recursive: true, }); diff --git a/scripts/remap-vercel-env.cjs b/scripts/remap-vercel-env.cjs deleted file mode 100644 index e8e75f8a1..000000000 --- a/scripts/remap-vercel-env.cjs +++ /dev/null @@ -1,41 +0,0 @@ -/** @typedef {import('@documenso/tsconfig/process-env')} */ - -/** - * Remap Vercel environment variables to our defined Next.js environment variables. - * - * @deprecated This is no longer needed because we can't inject runtime environment variables via next.config.js - * - * @returns {void} - */ -const remapVercelEnv = () => { - if (!process.env.VERCEL || !process.env.DEPLOYMENT_TARGET) { - return; - } - - if (process.env.POSTGRES_URL) { - process.env.NEXT_PRIVATE_DATABASE_URL = process.env.POSTGRES_URL; - } - - if (process.env.POSTGRES_URL_NON_POOLING) { - process.env.NEXT_PRIVATE_DIRECT_DATABASE_URL = process.env.POSTGRES_URL_NON_POOLING; - } - - // If we're using a connection pool, we need to let Prisma know that - // we're using PgBouncer. - if (process.env.NEXT_PRIVATE_DATABASE_URL !== process.env.NEXT_PRIVATE_DIRECT_DATABASE_URL) { - const url = new URL(process.env.NEXT_PRIVATE_DATABASE_URL); - - url.searchParams.set('pgbouncer', 'true'); - - process.env.NEXT_PRIVATE_DATABASE_URL = url.toString(); - } - - if (process.env.VERCEL_ENV !== 'production' && process.env.DEPLOYMENT_TARGET === 'webapp') { - process.env.NEXTAUTH_URL = `https://${process.env.VERCEL_URL}`; - process.env.NEXT_PUBLIC_WEBAPP_URL = `https://${process.env.VERCEL_URL}`; - } -}; - -module.exports = { - remapVercelEnv, -}; diff --git a/scripts/vercel.sh b/scripts/vercel.sh deleted file mode 100755 index 512bbea4e..000000000 --- a/scripts/vercel.sh +++ /dev/null @@ -1,84 +0,0 @@ -#!/usr/bin/env bash - -# Exit on error. -set -eo pipefail - -# Get the directory of this script, regardless of where it is called from. -SCRIPT_DIR="$(readlink -f "$(dirname "$0")")" - -function log() { - echo "[VercelBuild]: $1" -} - -function build_webapp() { - log "Building webapp for $VERCEL_ENV" - - remap_webapp_env - remap_database_integration - - npm run prisma:generate --workspace=@documenso/prisma - npm run prisma:migrate-deploy --workspace=@documenso/prisma - - if [[ "$VERCEL_ENV" != "production" ]]; then - log "Seeding database for $VERCEL_ENV" - - npm run prisma:seed --workspace=@documenso/prisma - fi - - npm run build -- --filter @documenso/web -} - -function remap_webapp_env() { - if [[ "$VERCEL_ENV" != "production" ]]; then - log "Remapping webapp environment variables for $VERCEL_ENV" - - export NEXTAUTH_URL="https://$VERCEL_URL" - export NEXT_PUBLIC_WEBAPP_URL="https://$VERCEL_URL" - fi -} - -function remap_database_integration() { - log "Remapping Supabase integration for $VERCEL_ENV" - - if [[ ! -z "$POSTGRES_URL" ]]; then - export NEXT_PRIVATE_DATABASE_URL="$POSTGRES_URL" - export NEXT_PRIVATE_DIRECT_DATABASE_URL="$POSTGRES_URL" - fi - - if [[ ! -z "$DATABASE_URL" ]]; then - export NEXT_PRIVATE_DATABASE_URL="$DATABASE_URL" - export NEXT_PRIVATE_DIRECT_DATABASE_URL="$DATABASE_URL" - fi - - if [[ ! -z "$DATABASE_URL_UNPOOLED" ]]; then - log "Remapping for Neon integration" - - export NEXT_PRIVATE_DATABASE_URL="$DATABASE_URL&pgbouncer=true" - export NEXT_PRIVATE_DIRECT_DATABASE_URL="$DATABASE_URL_UNPOOLED" - fi - - if [[ ! -z "$POSTGRES_URL_NON_POOLING" ]]; then - export NEXT_PRIVATE_DATABASE_URL="$POSTGRES_URL?pgbouncer=true" - export NEXT_PRIVATE_DIRECT_DATABASE_URL="$POSTGRES_URL_NON_POOLING" - fi -} - -# Navigate to the root of the project. -cd "$SCRIPT_DIR/.." - -# Check if the script is running on Vercel. -if [[ -z "$VERCEL" ]]; then - log "ERROR - This script must be run as part of the Vercel build process." - exit 1 -fi - -case "$DEPLOYMENT_TARGET" in - "webapp") - build_webapp - ;; - *) - log "ERROR - Missing or invalid DEPLOYMENT_TARGET environment variable." - log "ERROR - DEPLOYMENT_TARGET must be 'webapp'." - exit 1 - ;; -esac diff --git a/turbo.json b/turbo.json index 8e9bdcb04..ab2eb749e 100644 --- a/turbo.json +++ b/turbo.json @@ -40,7 +40,6 @@ "APP_VERSION", "NEXT_PRIVATE_ENCRYPTION_KEY", "NEXT_PRIVATE_ENCRYPTION_SECONDARY_KEY", - "NEXTAUTH_URL", "NEXTAUTH_SECRET", "NEXT_PUBLIC_PROJECT", "NEXT_PUBLIC_WEBAPP_URL", @@ -48,8 +47,6 @@ "NEXT_PRIVATE_INTERNAL_WEBAPP_URL", "NEXT_PUBLIC_POSTHOG_KEY", "NEXT_PUBLIC_FEATURE_BILLING_ENABLED", - "NEXT_PUBLIC_STRIPE_COMMUNITY_PLAN_MONTHLY_PRICE_ID", - "NEXT_PUBLIC_STRIPE_ENTERPRISE_PLAN_MONTHLY_PRICE_ID", "NEXT_PUBLIC_DISABLE_SIGNUP", "NEXT_PUBLIC_DOCUMENT_SIZE_UPLOAD_LIMIT", "NEXT_PRIVATE_DATABASE_URL", @@ -108,20 +105,12 @@ "NEXT_PRIVATE_GITHUB_TOKEN", "NEXT_PRIVATE_BROWSERLESS_URL", "NEXT_PRIVATE_JOBS_PROVIDER", - "NEXT_PRIVATE_TRIGGER_API_KEY", - "NEXT_PRIVATE_TRIGGER_API_URL", "NEXT_PRIVATE_INNGEST_APP_ID", "NEXT_PRIVATE_LOGGER_HONEY_BADGER_API_KEY", "INNGEST_EVENT_KEY", "NEXT_PRIVATE_INNGEST_EVENT_KEY", "CI", - "VERCEL", - "VERCEL_ENV", - "VERCEL_URL", "NODE_ENV", - "DEPLOYMENT_TARGET", - "FONT_CAVEAT_URI", - "FONT_NOTO_SANS_URI", "POSTGRES_URL", "DATABASE_URL", "DATABASE_URL_UNPOOLED",