mirror of
https://github.com/formbricks/formbricks.git
synced 2026-05-07 14:21:52 -05:00
Fix Dev Environment Errors & Docker Deployment (#279)
* fix prisma errors * add new database build process * fix js widget needing @prisma/client
This commit is contained in:
@@ -7,7 +7,6 @@ COPY . .
|
||||
|
||||
RUN pnpm install
|
||||
# Build the project
|
||||
RUN pnpm dlx prisma generate
|
||||
RUN pnpm turbo run build --filter=web...
|
||||
|
||||
CMD pnpm dlx prisma migrate deploy && node /app/apps/web/.next/standalone/apps/web/server.js
|
||||
@@ -1,7 +1,7 @@
|
||||
import { verifyPassword } from "@/lib/auth";
|
||||
import { verifyToken } from "@/lib/jwt";
|
||||
import { prisma } from "@formbricks/database";
|
||||
import { IdentityProvider } from "@prisma/client";
|
||||
import type { IdentityProvider } from "@formbricks/database/generated";
|
||||
import type { NextAuthOptions } from "next-auth";
|
||||
import CredentialsProvider from "next-auth/providers/credentials";
|
||||
import GitHubProvider from "next-auth/providers/github";
|
||||
|
||||
@@ -2,7 +2,7 @@ import { Label } from "@formbricks/ui/Label";
|
||||
import { convertDateTimeStringShort } from "@formbricks/lib/time";
|
||||
import { capitalizeFirstLetter } from "@/lib/utils";
|
||||
import { TagIcon } from "@heroicons/react/24/solid";
|
||||
import type { AttributeClass } from "@prisma/client";
|
||||
import type { AttributeClass } from "@formbricks/database/generated";
|
||||
|
||||
interface EventActivityTabProps {
|
||||
attributeClass: AttributeClass;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import ModalWithTabs from "@/components/shared/ModalWithTabs";
|
||||
import { TagIcon } from "@heroicons/react/24/solid";
|
||||
import type { AttributeClass } from "@prisma/client";
|
||||
import type { AttributeClass } from "@formbricks/database/generated";
|
||||
import AttributeActivityTab from "./AttributeActivityTab";
|
||||
import AttributeSettingsTab from "./AttributeSettingsTab";
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ import { Input } from "@formbricks/ui/Input";
|
||||
import { Label } from "@formbricks/ui/Label";
|
||||
import { useAttributeClasses } from "@/lib/attributeClasses/attributeClasses";
|
||||
import { useAttributeClassMutation } from "@/lib/attributeClasses/mutateAttributeClasses";
|
||||
import type { AttributeClass } from "@prisma/client";
|
||||
import type { AttributeClass } from "@formbricks/database/generated";
|
||||
import { useForm } from "react-hook-form";
|
||||
|
||||
interface AttributeSettingsTabProps {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import ModalWithTabs from "@/components/shared/ModalWithTabs";
|
||||
import { CodeBracketIcon, CursorArrowRaysIcon, SparklesIcon } from "@heroicons/react/24/solid";
|
||||
import type { EventClass } from "@prisma/client";
|
||||
import type { EventClass } from "@formbricks/database/generated";
|
||||
import EventActivityTab from "./EventActivityTab";
|
||||
import EventSettingsTab from "./EventSettingsTab";
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { EventType } from "@prisma/client";
|
||||
import { EventType } from "@formbricks/database/generated";
|
||||
export const populateEnvironment = {
|
||||
eventClasses: {
|
||||
create: [
|
||||
|
||||
+12
-5
@@ -2,17 +2,21 @@
|
||||
|
||||
const path = require("path");
|
||||
const Dotenv = require("dotenv-webpack");
|
||||
const { PrismaPlugin } = require("@prisma/nextjs-monorepo-workaround-plugin");
|
||||
|
||||
const rootPath = path.join(__dirname, "..", "..");
|
||||
|
||||
const { createId } = require("@paralleldrive/cuid2");
|
||||
|
||||
const nextConfig = {
|
||||
experimental: {
|
||||
serverComponentsExternalPackages: ["@prisma/client"],
|
||||
},
|
||||
output: "standalone",
|
||||
transpilePackages: ["@formbricks/database", "@formbricks/ee", "@formbricks/ui", "@formbricks/lib"],
|
||||
transpilePackages: [
|
||||
"@formbricks/database",
|
||||
"@formbricks/database/generated",
|
||||
"@formbricks/ee",
|
||||
"@formbricks/ui",
|
||||
"@formbricks/lib",
|
||||
],
|
||||
images: {
|
||||
remotePatterns: [
|
||||
{
|
||||
@@ -53,12 +57,15 @@ const nextConfig = {
|
||||
},
|
||||
];
|
||||
},
|
||||
webpack: (config) => {
|
||||
webpack: (config, { isServer }) => {
|
||||
config.plugins.push(
|
||||
new Dotenv({
|
||||
path: path.resolve(rootPath, ".env"),
|
||||
})
|
||||
);
|
||||
if (isServer) {
|
||||
config.plugins = [...config.plugins, new PrismaPlugin()];
|
||||
}
|
||||
return config;
|
||||
},
|
||||
env: {
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
"lint": "next lint"
|
||||
},
|
||||
"dependencies": {
|
||||
"@formbricks/database": "workspace:*",
|
||||
"@formbricks/ee": "workspace:*",
|
||||
"@formbricks/js": "workspace:*",
|
||||
"@formbricks/lib": "workspace:*",
|
||||
@@ -52,9 +53,9 @@
|
||||
"typescript": "5.0.4"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@formbricks/database": "workspace:*",
|
||||
"@formbricks/tsconfig": "workspace:*",
|
||||
"@formbricks/types": "workspace:*",
|
||||
"@prisma/nextjs-monorepo-workaround-plugin": "^4.14.0",
|
||||
"@tailwindcss/forms": "^0.5.3",
|
||||
"@tailwindcss/typography": "^0.5.9",
|
||||
"@types/bcryptjs": "^2.4.2",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { hasEnvironmentAccess } from "@/lib/api/apiHelper";
|
||||
import { prisma } from "@formbricks/database";
|
||||
import { EnvironmentType } from "@prisma/client";
|
||||
import { EnvironmentType } from "@formbricks/database/generated";
|
||||
import { populateEnvironment } from "@/lib/populate";
|
||||
import type { NextApiRequest, NextApiResponse } from "next";
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ import { getSessionUser } from "@/lib/api/apiHelper";
|
||||
import { populateEnvironment } from "@/lib/populate";
|
||||
import { prisma } from "@formbricks/database";
|
||||
import type { NextApiRequest, NextApiResponse } from "next";
|
||||
import { EnvironmentType } from "@prisma/client";
|
||||
import { EnvironmentType } from "@formbricks/database/generated";
|
||||
|
||||
export default async function handle(req: NextApiRequest, res: NextApiResponse) {
|
||||
// Check Authentication
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
"baseUrl": ".",
|
||||
"paths": {
|
||||
"@/*": ["./*"],
|
||||
"@prisma/client/*": ["@formbricks/prisma/client/*"]
|
||||
"@prisma/client/*": ["@formbricks/database/generated/client/*"]
|
||||
},
|
||||
"plugins": [
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user