diff --git a/apps/remix/app/components/general/document/document-audit-log-download-button.tsx b/apps/remix/app/components/general/document/document-audit-log-download-button.tsx
index ee35389ed..a0e640294 100644
--- a/apps/remix/app/components/general/document/document-audit-log-download-button.tsx
+++ b/apps/remix/app/components/general/document/document-audit-log-download-button.tsx
@@ -1,5 +1,3 @@
-'use client';
-
import { Trans, msg } from '@lingui/macro';
import { useLingui } from '@lingui/react';
import { DownloadIcon } from 'lucide-react';
diff --git a/apps/remix/app/components/general/document/document-page-view-information.tsx b/apps/remix/app/components/general/document/document-page-view-information.tsx
index 5d98a89d0..491facb65 100644
--- a/apps/remix/app/components/general/document/document-page-view-information.tsx
+++ b/apps/remix/app/components/general/document/document-page-view-information.tsx
@@ -1,5 +1,3 @@
-'use client';
-
import { useMemo } from 'react';
import { Trans, msg } from '@lingui/macro';
diff --git a/apps/remix/app/components/general/document/document-page-view-recent-activity.tsx b/apps/remix/app/components/general/document/document-page-view-recent-activity.tsx
index c6e0787bb..55cebf3c4 100644
--- a/apps/remix/app/components/general/document/document-page-view-recent-activity.tsx
+++ b/apps/remix/app/components/general/document/document-page-view-recent-activity.tsx
@@ -1,5 +1,3 @@
-'use client';
-
import { useMemo } from 'react';
import { Trans, msg } from '@lingui/macro';
diff --git a/apps/remix/app/components/general/teams/team-email-dropdown.tsx b/apps/remix/app/components/general/teams/team-email-dropdown.tsx
index d40208dc9..69c7fc77c 100644
--- a/apps/remix/app/components/general/teams/team-email-dropdown.tsx
+++ b/apps/remix/app/components/general/teams/team-email-dropdown.tsx
@@ -1,5 +1,3 @@
-'use client';
-
import { Trans, msg } from '@lingui/macro';
import { useLingui } from '@lingui/react';
import { Edit, Loader, Mail, MoreHorizontal, X } from 'lucide-react';
diff --git a/apps/remix/package.json b/apps/remix/package.json
index b68c58181..fc4966430 100644
--- a/apps/remix/package.json
+++ b/apps/remix/package.json
@@ -3,7 +3,7 @@
"private": true,
"type": "module",
"scripts": {
- "build": "cross-env NODE_ENV=production react-router build",
+ "build": "cross-env NODE_ENV=production bunx --bun vite build",
"dev": "bunx --bun vite",
"dev:node": "react-router dev",
"start": "cross-env NODE_ENV=production node dist/server/index.js",
@@ -12,6 +12,15 @@
"copy:pdfjs": "node ../../scripts/copy-pdfjs.cjs"
},
"dependencies": {
+ "@documenso/auth": "*",
+ "@documenso/api": "*",
+ "@documenso/assets": "*",
+ "@documenso/ee": "*",
+ "@documenso/lib": "*",
+ "@documenso/prisma": "*",
+ "@documenso/trpc": "*",
+ "@documenso/ui": "*",
+ "@documenso/tailwind-config": "*",
"@epic-web/remember": "^1.1.0",
"@hono/node-server": "^1.13.7",
"@hono/trpc-server": "^0.3.4",
diff --git a/apps/remix/server/index.ts b/apps/remix/server/index.ts
index e2b9261af..4e55dda1c 100644
--- a/apps/remix/server/index.ts
+++ b/apps/remix/server/index.ts
@@ -1,4 +1,3 @@
-// server/index.ts
import { Hono } from 'hono';
import { PDFDocument } from 'pdf-lib';
diff --git a/apps/remix/tsconfig.json b/apps/remix/tsconfig.json
index 2e8eacc21..23642ab9f 100644
--- a/apps/remix/tsconfig.json
+++ b/apps/remix/tsconfig.json
@@ -10,17 +10,7 @@
"rootDirs": [".", "./.react-router/types"],
"baseUrl": ".",
"paths": {
- "~/*": ["./app/*"],
- // Todo fix this stuff
- "@documenso/api": ["../../packages/api"],
- "@documenso/assets": ["../../packages/assets"],
- "@documenso/auth": ["../../packages/auth"],
- "@documenso/ee": ["../../packages/ee"],
- "@documenso/lib": ["../../packages/lib"],
- "@documenso/prisma": ["../../packages/prisma"],
- "@documenso/trpc": ["../../packages/trpc"],
- "@documenso/ui": ["../../packages/ui"],
- "@documenso/tailwind-config": ["../../packages/tailwind-config"]
+ "~/*": ["./app/*"]
},
"esModuleInterop": true,
"verbatimModuleSyntax": true,
diff --git a/apps/remix/vite.config.ts b/apps/remix/vite.config.ts
index cf26eddc6..8cb397c90 100644
--- a/apps/remix/vite.config.ts
+++ b/apps/remix/vite.config.ts
@@ -54,23 +54,14 @@ export default defineConfig({
],
optimizeDeps: {
exclude: ['superjson'],
- force: true,
+ // force: true,
},
build: {
commonjsOptions: {
include: ['superjson'],
},
+ rollupOptions: {
+ external: ['@node-rs/bcrypt'],
+ },
},
- // optimizeDeps: {
- // exclude: [
- // '@node-rs/bcrypt-wasm32-wasi',
- // '@noble/ciphers/chacha',
- // '@noble/ciphers/utils',
- // '@noble/ciphers/webcrypto/utils',
- // '@noble/hashes/sha256a',
- // 'crypto',
- // '@node-rs/bcrypt',
- // ], // Todo: Probably remove.
- // force: true,
- // },
});
diff --git a/package-lock.json b/package-lock.json
index 5db6ec70b..5d8b0b683 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -108,6 +108,15 @@
"apps/remix": {
"name": "@documenso/remix",
"dependencies": {
+ "@documenso/api": "*",
+ "@documenso/assets": "*",
+ "@documenso/auth": "*",
+ "@documenso/ee": "*",
+ "@documenso/lib": "*",
+ "@documenso/prisma": "*",
+ "@documenso/tailwind-config": "*",
+ "@documenso/trpc": "*",
+ "@documenso/ui": "*",
"@epic-web/remember": "^1.1.0",
"@hono/node-server": "^1.13.7",
"@hono/trpc-server": "^0.3.4",
diff --git a/packages/email/providers/branding.tsx b/packages/email/providers/branding.tsx
index 84e022be1..9824ce28f 100644
--- a/packages/email/providers/branding.tsx
+++ b/packages/email/providers/branding.tsx
@@ -1,5 +1,3 @@
-'use client';
-
import { createContext, useContext } from 'react';
type BrandingContextValue = {
diff --git a/packages/lib/client-only/hooks/use-document-element.ts b/packages/lib/client-only/hooks/use-document-element.ts
index bd4dc513e..6366a7eee 100644
--- a/packages/lib/client-only/hooks/use-document-element.ts
+++ b/packages/lib/client-only/hooks/use-document-element.ts
@@ -1,5 +1,3 @@
-'use client';
-
import { useCallback } from 'react';
import { getBoundingClientRect } from '@documenso/lib/client-only/get-bounding-client-rect';
diff --git a/packages/lib/client-only/providers/feature-flag.tsx b/packages/lib/client-only/providers/feature-flag.tsx
index e732bebbd..aeb222766 100644
--- a/packages/lib/client-only/providers/feature-flag.tsx
+++ b/packages/lib/client-only/providers/feature-flag.tsx
@@ -1,5 +1,3 @@
-'use client';
-
import { createContext, useCallback, useContext, useEffect, useState } from 'react';
import {
@@ -9,7 +7,7 @@ import {
} from '@documenso/lib/constants/feature-flags';
import { getAllFlags } from '@documenso/lib/universal/get-feature-flag';
-import { TFeatureFlagValue } from './feature-flag.types';
+import type { TFeatureFlagValue } from './feature-flag.types';
export type FeatureFlagContextValue = {
getFlag: (_key: string) => TFeatureFlagValue;
diff --git a/packages/lib/client-only/providers/i18n.client.tsx b/packages/lib/client-only/providers/i18n.client.tsx
index b3c92bfc8..3e1b7f7d9 100644
--- a/packages/lib/client-only/providers/i18n.client.tsx
+++ b/packages/lib/client-only/providers/i18n.client.tsx
@@ -1,5 +1,3 @@
-'use client';
-
import { useState } from 'react';
import { type Messages, setupI18n } from '@lingui/core';
diff --git a/packages/lib/server-only/document-data/create-document-data.ts b/packages/lib/server-only/document-data/create-document-data.ts
index 1cdbfda10..9cf2d7979 100644
--- a/packages/lib/server-only/document-data/create-document-data.ts
+++ b/packages/lib/server-only/document-data/create-document-data.ts
@@ -1,5 +1,3 @@
-'use server';
-
import type { DocumentDataType } from '@prisma/client';
import { prisma } from '@documenso/prisma';
diff --git a/packages/ui/components/animate/animate-generic-fade-in-out.tsx b/packages/ui/components/animate/animate-generic-fade-in-out.tsx
index 78487b953..b38491fab 100644
--- a/packages/ui/components/animate/animate-generic-fade-in-out.tsx
+++ b/packages/ui/components/animate/animate-generic-fade-in-out.tsx
@@ -1,5 +1,3 @@
-'use client';
-
import { motion } from 'framer-motion';
type AnimateGenericFadeInOutProps = {
diff --git a/packages/ui/components/common/copy-text-button.tsx b/packages/ui/components/common/copy-text-button.tsx
index 608318690..d82b756cd 100644
--- a/packages/ui/components/common/copy-text-button.tsx
+++ b/packages/ui/components/common/copy-text-button.tsx
@@ -1,5 +1,3 @@
-'use client';
-
import { useState } from 'react';
import { motion } from 'framer-motion';
diff --git a/packages/ui/components/document/document-global-auth-access-select.tsx b/packages/ui/components/document/document-global-auth-access-select.tsx
index 0c55730ca..37bf8a0bf 100644
--- a/packages/ui/components/document/document-global-auth-access-select.tsx
+++ b/packages/ui/components/document/document-global-auth-access-select.tsx
@@ -1,5 +1,3 @@
-'use client';
-
import React, { forwardRef } from 'react';
import { Trans, msg } from '@lingui/macro';
diff --git a/packages/ui/components/document/document-global-auth-action-select.tsx b/packages/ui/components/document/document-global-auth-action-select.tsx
index 4458dd1d4..351f2bc60 100644
--- a/packages/ui/components/document/document-global-auth-action-select.tsx
+++ b/packages/ui/components/document/document-global-auth-action-select.tsx
@@ -1,5 +1,3 @@
-'use client';
-
import React, { forwardRef } from 'react';
import { Trans, msg } from '@lingui/macro';
diff --git a/packages/ui/components/document/document-send-email-message-helper.tsx b/packages/ui/components/document/document-send-email-message-helper.tsx
index 532a6ea25..1259fe5d6 100644
--- a/packages/ui/components/document/document-send-email-message-helper.tsx
+++ b/packages/ui/components/document/document-send-email-message-helper.tsx
@@ -1,5 +1,3 @@
-'use client';
-
import React from 'react';
import { Trans } from '@lingui/macro';
diff --git a/packages/ui/components/document/document-share-button.tsx b/packages/ui/components/document/document-share-button.tsx
index 9d6a27b03..9a44c01b2 100644
--- a/packages/ui/components/document/document-share-button.tsx
+++ b/packages/ui/components/document/document-share-button.tsx
@@ -1,5 +1,3 @@
-'use client';
-
import type { HTMLAttributes } from 'react';
import React, { useState } from 'react';
diff --git a/packages/ui/components/field/field.tsx b/packages/ui/components/field/field.tsx
index 35aa6d0b8..bf0607e4d 100644
--- a/packages/ui/components/field/field.tsx
+++ b/packages/ui/components/field/field.tsx
@@ -1,5 +1,3 @@
-'use client';
-
import React, { useEffect, useMemo, useState } from 'react';
import type { Field } from '@prisma/client';
diff --git a/packages/ui/components/recipient/recipient-action-auth-select.tsx b/packages/ui/components/recipient/recipient-action-auth-select.tsx
index e21605ee8..5a6ce6b14 100644
--- a/packages/ui/components/recipient/recipient-action-auth-select.tsx
+++ b/packages/ui/components/recipient/recipient-action-auth-select.tsx
@@ -1,5 +1,3 @@
-'use client';
-
import React from 'react';
import { Trans, msg } from '@lingui/macro';
diff --git a/packages/ui/components/recipient/recipient-role-select.tsx b/packages/ui/components/recipient/recipient-role-select.tsx
index 8e80bc77f..54ed79025 100644
--- a/packages/ui/components/recipient/recipient-role-select.tsx
+++ b/packages/ui/components/recipient/recipient-role-select.tsx
@@ -1,5 +1,3 @@
-'use client';
-
import React, { forwardRef } from 'react';
import { Trans } from '@lingui/macro';
diff --git a/packages/ui/primitives/accordion.tsx b/packages/ui/primitives/accordion.tsx
index 6da6cfe1e..c4f5dadff 100644
--- a/packages/ui/primitives/accordion.tsx
+++ b/packages/ui/primitives/accordion.tsx
@@ -1,5 +1,3 @@
-'use client';
-
import * as React from 'react';
import * as AccordionPrimitive from '@radix-ui/react-accordion';
diff --git a/packages/ui/primitives/alert-dialog.tsx b/packages/ui/primitives/alert-dialog.tsx
index 7a77e7e7a..55b8714fd 100644
--- a/packages/ui/primitives/alert-dialog.tsx
+++ b/packages/ui/primitives/alert-dialog.tsx
@@ -1,5 +1,3 @@
-'use client';
-
import * as React from 'react';
import * as AlertDialogPrimitive from '@radix-ui/react-alert-dialog';
diff --git a/packages/ui/primitives/aspect-ratio.tsx b/packages/ui/primitives/aspect-ratio.tsx
index aaabffbc4..5dfdf1e67 100644
--- a/packages/ui/primitives/aspect-ratio.tsx
+++ b/packages/ui/primitives/aspect-ratio.tsx
@@ -1,5 +1,3 @@
-'use client';
-
import * as AspectRatioPrimitive from '@radix-ui/react-aspect-ratio';
const AspectRatio = AspectRatioPrimitive.Root;
diff --git a/packages/ui/primitives/auto-sized-text.tsx b/packages/ui/primitives/auto-sized-text.tsx
index a2b9e8cef..8b5e612a9 100644
--- a/packages/ui/primitives/auto-sized-text.tsx
+++ b/packages/ui/primitives/auto-sized-text.tsx
@@ -1,5 +1,3 @@
-'use client';
-
import { useLayoutEffect, useRef } from 'react';
import { cn } from '../lib/utils';
diff --git a/packages/ui/primitives/avatar.tsx b/packages/ui/primitives/avatar.tsx
index f8a018a6b..8dc67767c 100644
--- a/packages/ui/primitives/avatar.tsx
+++ b/packages/ui/primitives/avatar.tsx
@@ -1,5 +1,3 @@
-'use client';
-
import * as React from 'react';
import * as AvatarPrimitive from '@radix-ui/react-avatar';
diff --git a/packages/ui/primitives/calendar.tsx b/packages/ui/primitives/calendar.tsx
index 0c0110441..11ddad59c 100644
--- a/packages/ui/primitives/calendar.tsx
+++ b/packages/ui/primitives/calendar.tsx
@@ -1,5 +1,3 @@
-'use client';
-
import * as React from 'react';
import { ChevronLeft, ChevronRight } from 'lucide-react';
diff --git a/packages/ui/primitives/card.tsx b/packages/ui/primitives/card.tsx
index 155597562..b83a09164 100644
--- a/packages/ui/primitives/card.tsx
+++ b/packages/ui/primitives/card.tsx
@@ -1,5 +1,3 @@
-'use client';
-
import * as React from 'react';
import { motion, useMotionTemplate, useMotionValue } from 'framer-motion';
diff --git a/packages/ui/primitives/checkbox.tsx b/packages/ui/primitives/checkbox.tsx
index d76b8123b..33dee629a 100644
--- a/packages/ui/primitives/checkbox.tsx
+++ b/packages/ui/primitives/checkbox.tsx
@@ -1,5 +1,3 @@
-'use client';
-
import * as React from 'react';
import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
diff --git a/packages/ui/primitives/collapsible.tsx b/packages/ui/primitives/collapsible.tsx
index 86ab87d88..9605c4e41 100644
--- a/packages/ui/primitives/collapsible.tsx
+++ b/packages/ui/primitives/collapsible.tsx
@@ -1,5 +1,3 @@
-'use client';
-
import * as CollapsiblePrimitive from '@radix-ui/react-collapsible';
const Collapsible = CollapsiblePrimitive.Root;
diff --git a/packages/ui/primitives/command.tsx b/packages/ui/primitives/command.tsx
index 89084ac12..983ec474c 100644
--- a/packages/ui/primitives/command.tsx
+++ b/packages/ui/primitives/command.tsx
@@ -1,5 +1,3 @@
-'use client';
-
import * as React from 'react';
import type { DialogProps } from '@radix-ui/react-dialog';
@@ -96,7 +94,7 @@ const CommandGroup = React.forwardRef<