radash exists
All checks were successful
Build and deploy / deploy (push) Successful in 1m28s

This commit is contained in:
2025-05-01 17:55:23 +01:00
parent 681e645283
commit a4cce87950
3 changed files with 19 additions and 16 deletions

View File

@@ -20,6 +20,7 @@
"dockerode": "^4.0.6", "dockerode": "^4.0.6",
"next": "^15.3.1", "next": "^15.3.1",
"postcss": "^8.5.3", "postcss": "^8.5.3",
"radash": "^12.1.0",
"react": "^19.1.0", "react": "^19.1.0",
"react-dom": "^19.1.0", "react-dom": "^19.1.0",
"semver": "^7.7.1", "semver": "^7.7.1",
@@ -335,6 +336,8 @@
"pump": ["pump@3.0.2", "", { "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" } }, "sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw=="], "pump": ["pump@3.0.2", "", { "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" } }, "sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw=="],
"radash": ["radash@12.1.0", "", {}, "sha512-b0Zcf09AhqKS83btmUeYBS8tFK7XL2e3RvLmZcm0sTdF1/UUlHSsjXdCcWNxe7yfmAlPve5ym0DmKGtTzP6kVQ=="],
"react": ["react@19.1.0", "", {}, "sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg=="], "react": ["react@19.1.0", "", {}, "sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg=="],
"react-dom": ["react-dom@19.1.0", "", { "dependencies": { "scheduler": "^0.26.0" }, "peerDependencies": { "react": "^19.1.0" } }, "sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g=="], "react-dom": ["react-dom@19.1.0", "", { "dependencies": { "scheduler": "^0.26.0" }, "peerDependencies": { "react": "^19.1.0" } }, "sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g=="],

View File

@@ -15,31 +15,32 @@
"update-regctl": "mkdir bin && curl -L https://github.com/regclient/regclient/releases/latest/download/regctl-linux-amd64 >bin/regctl && chmod 755 bin/regctl" "update-regctl": "mkdir bin && curl -L https://github.com/regclient/regclient/releases/latest/download/regctl-linux-amd64 >bin/regctl && chmod 755 bin/regctl"
}, },
"dependencies": { "dependencies": {
"@biomejs/biome": "1.9.4",
"@t3-oss/env-nextjs": "^0.13.0", "@t3-oss/env-nextjs": "^0.13.0",
"@tailwindcss/postcss": "^4.1.4", "@tailwindcss/postcss": "^4.1.4",
"@tanstack/react-query": "^5.74.4", "@tanstack/react-query": "^5.74.4",
"@trpc/client": "^11.1.1", "@trpc/client": "^11.1.1",
"@trpc/react-query": "^11.1.1", "@trpc/react-query": "^11.1.1",
"@trpc/server": "^11.1.1", "@trpc/server": "^11.1.1",
"daisyui": "^5.0.28",
"dockerode": "^4.0.6",
"next": "^15.3.1",
"react": "^19.1.0",
"react-dom": "^19.1.0",
"semver": "^7.7.1",
"server-only": "^0.0.1",
"superjson": "^2.2.2",
"zod": "^3.24.3",
"zx": "^8.5.3",
"@biomejs/biome": "1.9.4",
"@types/bun": "^1.2.10", "@types/bun": "^1.2.10",
"@types/dockerode": "^3.3.38", "@types/dockerode": "^3.3.38",
"@types/react": "19.1.2", "@types/react": "19.1.2",
"@types/react-dom": "^19.1.2", "@types/react-dom": "^19.1.2",
"@types/semver": "^7.7.0", "@types/semver": "^7.7.0",
"daisyui": "^5.0.28",
"dockerode": "^4.0.6",
"next": "^15.3.1",
"postcss": "^8.5.3", "postcss": "^8.5.3",
"radash": "^12.1.0",
"react": "^19.1.0",
"react-dom": "^19.1.0",
"semver": "^7.7.1",
"server-only": "^0.0.1",
"superjson": "^2.2.2",
"tailwindcss": "^4.1.4", "tailwindcss": "^4.1.4",
"typescript": "^5.8.3" "typescript": "^5.8.3",
"zod": "^3.24.3",
"zx": "^8.5.3"
}, },
"ct3aMetadata": { "ct3aMetadata": {
"initVersion": "7.39.3" "initVersion": "7.39.3"

View File

@@ -2,6 +2,7 @@ import Docker from "dockerode";
import semver from "semver"; import semver from "semver";
import { z } from "zod"; import { z } from "zod";
import { $ } from "zx"; import { $ } from "zx";
import { sift } from "radash";
import { createTRPCRouter, publicProcedure } from "@/server/api/trpc"; import { createTRPCRouter, publicProcedure } from "@/server/api/trpc";
import { TRPCError, type inferRouterOutputs } from "@trpc/server"; import { TRPCError, type inferRouterOutputs } from "@trpc/server";
@@ -38,7 +39,7 @@ export const dockerRouter = createTRPCRouter({
const containers = await getContainers(docker); const containers = await getContainers(docker);
// All this data should be local/from the local docker socket/api // All this data should be local/from the local docker socket/api
let dockerInfo = await Promise.all( let dockerInfo = sift(await Promise.all(
containers.map(async (container) => { containers.map(async (container) => {
try { try {
if (!container.Id) { if (!container.Id) {
@@ -74,9 +75,7 @@ export const dockerRouter = createTRPCRouter({
return null; return null;
} }
}), }),
); ));
dockerInfo = dockerInfo.filter((info) => !!info);
if (dockerInfo.length === 0) { if (dockerInfo.length === 0) {
throw new TRPCError({ throw new TRPCError({