From 2c1dfe937733de1c7b4ec64ca907805a12d70802 Mon Sep 17 00:00:00 2001 From: Mauricio Siu Date: Sat, 6 Dec 2025 12:38:51 -0600 Subject: [PATCH] refactor: update tsconfig.json formatting and enhance rollback settings component with registry link --- .../rollbacks/show-rollback-settings.tsx | 22 +++- apps/dokploy/tsconfig.json | 112 ++++++++++-------- 2 files changed, 78 insertions(+), 56 deletions(-) diff --git a/apps/dokploy/components/dashboard/application/rollbacks/show-rollback-settings.tsx b/apps/dokploy/components/dashboard/application/rollbacks/show-rollback-settings.tsx index 8b6c6dd13..a06cf5697 100644 --- a/apps/dokploy/components/dashboard/application/rollbacks/show-rollback-settings.tsx +++ b/apps/dokploy/components/dashboard/application/rollbacks/show-rollback-settings.tsx @@ -1,4 +1,5 @@ import { zodResolver } from "@hookform/resolvers/zod"; +import Link from "next/link"; import { useEffect, useState } from "react"; import { useForm } from "react-hook-form"; import { toast } from "sonner"; @@ -22,7 +23,6 @@ import { FormLabel, FormMessage, } from "@/components/ui/form"; -import { Switch } from "@/components/ui/switch"; import { Select, SelectContent, @@ -32,6 +32,7 @@ import { SelectTrigger, SelectValue, } from "@/components/ui/select"; +import { Switch } from "@/components/ui/switch"; import { api } from "@/utils/api"; const formSchema = z @@ -189,9 +190,22 @@ export const ShowRollbackSettings = ({ applicationId, children }: Props) => { - - Select a registry where rollback images will be stored. - + {!registries || registries.length === 0 ? ( + + No registries available. Please{" "} + + configure a registry + {" "} + first to enable rollbacks. + + ) : ( + + Select a registry where rollback images will be stored. + + )} )} diff --git a/apps/dokploy/tsconfig.json b/apps/dokploy/tsconfig.json index d2e6532c6..68cbab53c 100644 --- a/apps/dokploy/tsconfig.json +++ b/apps/dokploy/tsconfig.json @@ -1,54 +1,62 @@ { - "compilerOptions": { - /* Base Options: */ - "esModuleInterop": true, - "skipLibCheck": true, - "target": "es2022", - "allowJs": true, - "resolveJsonModule": true, - "moduleDetection": "force", - "isolatedModules": true, - - /* Strictness */ - "strict": true, - "noUncheckedIndexedAccess": true, - "checkJs": true, - - /* Bundled projects */ - "lib": ["dom", "dom.iterable", "ES2022"], - "noEmit": true, - "module": "ESNext", - "moduleResolution": "Bundler", - "jsx": "preserve", - "plugins": [{ "name": "next" }], - "incremental": true, - - /* Path Aliases */ - "baseUrl": ".", - "paths": { - "@/*": ["./*"], - "@dokploy/server/*": ["../../packages/server/src/*"] - } - }, - - "include": [ - "next-env.d.ts", - "**/*.ts", - "**/*.tsx", - "**/*.cjs", - "**/*.js", - ".next/types/**/*.ts", - "env.js", - "next.config.mjs", - "next-i18next.config.mjs" - ], - "exclude": [ - "node_modules", - "dokploy", - "config", - "dist", - "webpack.config.server.js", - "migration.ts", - "setup.ts" - ] + "compilerOptions": { + /* Base Options: */ + "esModuleInterop": true, + "skipLibCheck": true, + "target": "es2022", + "allowJs": true, + "resolveJsonModule": true, + "moduleDetection": "force", + "isolatedModules": true, + /* Strictness */ + "strict": true, + "noUncheckedIndexedAccess": true, + "checkJs": true, + /* Bundled projects */ + "lib": [ + "dom", + "dom.iterable", + "ES2022" + ], + "noEmit": true, + "module": "ESNext", + "moduleResolution": "Bundler", + "jsx": "react-jsx", + "plugins": [ + { + "name": "next" + } + ], + "incremental": true, + /* Path Aliases */ + "baseUrl": ".", + "paths": { + "@/*": [ + "./*" + ], + "@dokploy/server/*": [ + "../../packages/server/src/*" + ] + } + }, + "include": [ + "next-env.d.ts", + "**/*.ts", + "**/*.tsx", + "**/*.cjs", + "**/*.js", + ".next/types/**/*.ts", + "env.js", + "next.config.mjs", + "next-i18next.config.mjs" + ], + "exclude": [ + "node_modules", + "dokploy", + "config", + "dist", + "webpack.config.server.js", + "migration.ts", + "setup.ts" + ] }