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!
-
-
-
@@ -73,9 +69,9 @@ Contact us if you are interested in our Enterprise plan for large organizations
## Tech Stack
+
-
@@ -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",