diff --git a/Dockerfile b/Dockerfile index 0d513484d..ea6de2198 100644 --- a/Dockerfile +++ b/Dockerfile @@ -40,6 +40,10 @@ RUN echo '{"name":"migrator","type":"module","dependencies":{"prisma":"^6.14.0", # Install ONLY Prisma dependencies RUN bun install +# Ensure Prisma can find migrations relative to the published schema path +# We copy the local migrations into the published package's dist directory +RUN cp -R packages/db/prisma/migrations node_modules/@trycompai/db/dist/ + # Run migrations against the combined schema published by @trycompai/db RUN echo "Running migrations against @trycompai/db combined schema" CMD ["bunx", "prisma", "migrate", "deploy", "--schema=node_modules/@trycompai/db/dist/schema.prisma"] diff --git a/apps/app/package.json b/apps/app/package.json index 79c6b02ff..a5982317f 100644 --- a/apps/app/package.json +++ b/apps/app/package.json @@ -107,7 +107,7 @@ "@vitejs/plugin-react": "^4.6.0", "@vitest/ui": "^3.2.4", "eslint": "^9.18.0", - "eslint-config-next": "15.4.2-canary.16", + "eslint-config-next": "15.5.2", "fleetctl": "^4.68.1", "glob": "^11.0.3", "jsdom": "^26.1.0", diff --git a/apps/portal/package.json b/apps/portal/package.json index b83343f30..47a7b54c4 100644 --- a/apps/portal/package.json +++ b/apps/portal/package.json @@ -34,7 +34,7 @@ "@types/archiver": "^6.0.3", "@types/node": "^24.0.3", "eslint": "^9.18.0", - "eslint-config-next": "15.4.2-canary.16", + "eslint-config-next": "15.5.2", "postcss": "^8.5.4", "tailwindcss": "^4.1.8", "typescript": "^5.8.3" diff --git a/docker-compose.yml b/docker-compose.yml index 40f8bd4dc..686a667c2 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -5,14 +5,14 @@ services: dockerfile: Dockerfile target: migrator env_file: - - .env + - packages/db/.env seeder: build: context: . dockerfile: Dockerfile target: migrator env_file: - - .env + - packages/db/.env command: sh -lc "bunx prisma generate --schema=node_modules/@trycompai/db/dist/schema.prisma && bun packages/db/prisma/seed/seed.js" app: build: @@ -24,7 +24,7 @@ services: ports: - '3000:3000' env_file: - - .env + - apps/app/.env healthcheck: test: ['CMD-SHELL', 'curl -f http://localhost:3000/api/health || exit 1'] interval: 30s @@ -42,7 +42,7 @@ services: ports: - '3002:3000' env_file: - - .env + - apps/portal/.env healthcheck: test: ['CMD-SHELL', 'curl -f http://localhost:3002/ || exit 1'] interval: 30s diff --git a/packages/db/prisma/seed/seed.ts b/packages/db/prisma/seed/seed.ts index 40c038c2c..12f0d3045 100644 --- a/packages/db/prisma/seed/seed.ts +++ b/packages/db/prisma/seed/seed.ts @@ -11,6 +11,17 @@ async function seedJsonFiles(subDirectory: string) { const files = await fs.readdir(directoryPath); const jsonFiles = files.filter((file) => file.endsWith('.json')); + // Ensure deterministic order for primitives so FK dependencies are satisfied + // Specifically, seed Frameworks before Requirements (which reference Frameworks) + if (subDirectory === 'primitives') { + const priorityOrder = ['FrameworkEditorFramework.json']; + const getPriority = (fileName: string) => { + const index = priorityOrder.indexOf(fileName); + return index === -1 ? Number.MAX_SAFE_INTEGER : index; + }; + jsonFiles.sort((a, b) => getPriority(a) - getPriority(b)); + } + for (const jsonFile of jsonFiles) { try { const filePath = path.join(directoryPath, jsonFile); diff --git a/packages/ui/package.json b/packages/ui/package.json index b3e487ea6..7d9c837da 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -20,7 +20,7 @@ "@radix-ui/react-icons": "^1.3.0", "@radix-ui/react-label": "2.1.7", "@radix-ui/react-navigation-menu": "1.2.13", - "@radix-ui/react-popover": "1.1.14", + "@radix-ui/react-popover": "1.1.15", "@radix-ui/react-progress": "1.1.7", "@radix-ui/react-radio-group": "1.3.7", "@radix-ui/react-scroll-area": "1.2.9", @@ -61,7 +61,7 @@ "clsx": "^2.1.1", "cmdk": "1.0.4", "date-fns": "^4.1.0", - "embla-carousel-react": "8.5.1", + "embla-carousel-react": "8.6.0", "input-otp": "1.4.2", "jsonfile": "^6.1.0", "lucide-react": "^0.534.0",