fix: build issues

This commit is contained in:
Nicolas Meienberger
2025-10-03 20:19:54 +02:00
parent 7784389b57
commit 5f003fe69d
11 changed files with 314 additions and 314 deletions

View File

@@ -1,6 +1,8 @@
* *
!turbo.json !turbo.json
!bun.lock
!package.json
!**/package.json !**/package.json
!**/bun.lock !**/bun.lock
@@ -8,6 +10,7 @@
!**/vite.config.ts !**/vite.config.ts
!**/react-router.config.ts !**/react-router.config.ts
!**/build.ts !**/build.ts
!**/components.json
!apps/**/src/** !apps/**/src/**
!apps/**/drizzle/** !apps/**/drizzle/**

View File

@@ -1,8 +1,8 @@
ARG BUN_VERSION="1.2.20" ARG BUN_VERSION="1.2.23"
FROM oven/bun:${BUN_VERSION}-alpine AS runner_base FROM oven/bun:${BUN_VERSION}-alpine AS runner_base
RUN apk add --no-cache davfs2 RUN apk add --no-cache davfs2=1.6.1-r2
# ------------------------------ # ------------------------------
# DEVELOPMENT # DEVELOPMENT
@@ -49,7 +49,9 @@ FROM runner_base AS production
ENV NODE_ENV="production" ENV NODE_ENV="production"
RUN apk add --no-cache davfs2 # RUN bun i ssh2
RUN apk add --no-cache davfs2=1.6.1-r2
WORKDIR /app WORKDIR /app

View File

@@ -1,22 +0,0 @@
FROM node:20-alpine AS development-dependencies-env
COPY . /app
WORKDIR /app
RUN npm ci
FROM node:20-alpine AS production-dependencies-env
COPY ./package.json package-lock.json /app/
WORKDIR /app
RUN npm ci --omit=dev
FROM node:20-alpine AS build-env
COPY . /app/
COPY --from=development-dependencies-env /app/node_modules /app/node_modules
WORKDIR /app
RUN npm run build
FROM node:20-alpine
COPY ./package.json package-lock.json /app/
COPY --from=production-dependencies-env /app/node_modules /app/node_modules
COPY --from=build-env /app/build /app/build
WORKDIR /app
CMD ["npm", "run", "start"]

View File

@@ -8,7 +8,7 @@ export const authMiddleware: MiddlewareFunction = async ({ context }) => {
if (!session.data?.user.id) { if (!session.data?.user.id) {
const status = await getStatus(); const status = await getStatus();
if (!status.data?.hasUsers) { if (!status.data?.hasUsers) {
throw redirect("/register"); throw redirect("/onboarding");
} }
throw redirect("/login"); throw redirect("/login");

View File

@@ -63,7 +63,7 @@ export default function OnboardingPage() {
<div className="min-h-screen flex items-center justify-center p-4"> <div className="min-h-screen flex items-center justify-center p-4">
<Card className="w-full max-w-md"> <Card className="w-full max-w-md">
<CardHeader> <CardHeader>
<CardTitle className="text-2xl font-bold">Welcome to IronMount</CardTitle> <CardTitle className="text-2xl font-bold">Welcome to Ironmount</CardTitle>
<CardDescription>Create the admin user to get started</CardDescription> <CardDescription>Create the admin user to get started</CardDescription>
</CardHeader> </CardHeader>
<CardContent> <CardContent>

View File

@@ -9,50 +9,51 @@
"tsc": "react-router typegen && tsc" "tsc": "react-router typegen && tsc"
}, },
"dependencies": { "dependencies": {
"@hookform/resolvers": "^5.2.1", "@hookform/resolvers": "^5.2.2",
"@ironmount/schemas": "workspace:*", "@ironmount/schemas": "workspace:*",
"@radix-ui/react-alert-dialog": "^1.1.15", "@radix-ui/react-alert-dialog": "^1.1.15",
"@radix-ui/react-dialog": "^1.1.15", "@radix-ui/react-dialog": "^1.1.15",
"@radix-ui/react-label": "^2.1.7", "@radix-ui/react-label": "^2.1.7",
"@radix-ui/react-scroll-area": "^1.2.10", "@radix-ui/react-scroll-area": "^1.2.10",
"@radix-ui/react-select": "^2.2.5", "@radix-ui/react-select": "^2.2.6",
"@radix-ui/react-slot": "^1.2.3", "@radix-ui/react-slot": "^1.2.3",
"@radix-ui/react-switch": "^1.2.6", "@radix-ui/react-switch": "^1.2.6",
"@radix-ui/react-tabs": "^1.1.13", "@radix-ui/react-tabs": "^1.1.13",
"@radix-ui/react-tooltip": "^1.2.8", "@radix-ui/react-tooltip": "^1.2.8",
"@react-router/node": "^7.7.1", "@react-router/node": "^7.9.3",
"@react-router/serve": "^7.7.1", "@react-router/serve": "^7.9.3",
"@tanstack/react-query": "^5.84.2", "@tanstack/react-query": "^5.90.2",
"@tanstack/react-query-devtools": "^5.85.9", "@tanstack/react-query-devtools": "^5.90.2",
"@tanstack/react-table": "^8.21.3", "@tanstack/react-table": "^8.21.3",
"arktype": "^2.1.20", "arktype": "^2.1.22",
"class-variance-authority": "^0.7.1", "class-variance-authority": "^0.7.1",
"clsx": "^2.1.1", "clsx": "^2.1.1",
"date-fns": "^4.1.0", "date-fns": "^4.1.0",
"isbot": "^5.1.27", "isbot": "^5.1.31",
"lucide-react": "^0.544.0", "lucide-react": "^0.544.0",
"next-themes": "^0.4.6", "next-themes": "^0.4.6",
"prismjs": "^1.30.0", "prismjs": "^1.30.0",
"react": "^19.1.0", "react": "^19.2.0",
"react-dom": "^19.1.0", "react-dom": "^19.2.0",
"react-hook-form": "^7.62.0", "react-hook-form": "^7.63.0",
"react-router": "^7.9.3", "react-router": "^7.9.3",
"recharts": "2.15.4", "recharts": "3.2.1",
"sonner": "^2.0.7", "sonner": "^2.0.7",
"tailwind-merge": "^3.3.1", "tailwind-merge": "^3.3.1",
"yaml": "^2.8.1" "yaml": "^2.8.1"
}, },
"devDependencies": { "devDependencies": {
"@react-router/dev": "^7.9.3", "@react-router/dev": "^7.9.3",
"@tailwindcss/vite": "^4.1.4", "@tailwindcss/vite": "^4.1.14",
"@types/node": "^20", "@types/node": "^24.6.2",
"@types/prismjs": "^1.26.5", "@types/prismjs": "^1.26.5",
"@types/react": "^19.1.2", "@types/react": "^19.2.0",
"@types/react-dom": "^19.1.2", "@types/react-dom": "^19.2.0",
"tailwindcss": "^4.1.4", "lightningcss": "^1.30.2",
"tw-animate-css": "^1.3.6", "tailwindcss": "^4.1.14",
"typescript": "^5.8.3", "tw-animate-css": "^1.4.0",
"vite": "npm:rolldown-vite@latest", "typescript": "^5.9.3",
"vite": "^7.1.9",
"vite-bundle-analyzer": "^1.2.3", "vite-bundle-analyzer": "^1.2.3",
"vite-tsconfig-paths": "^5.1.4" "vite-tsconfig-paths": "^5.1.4"
} }

View File

@@ -9,5 +9,5 @@ await Bun.build({
identifiers: true, identifiers: true,
syntax: true, syntax: true,
}, },
external: [], external: ["ssh2"],
}); });

View File

@@ -5,7 +5,8 @@
"dev": "bun run --watch src/index.ts", "dev": "bun run --watch src/index.ts",
"build": "rm -rf dist && bun build.ts", "build": "rm -rf dist && bun build.ts",
"tsc": "tsc --noEmit", "tsc": "tsc --noEmit",
"gen:migrations": "drizzle-kit generate" "gen:migrations": "drizzle-kit generate",
"studio": "drizzle-kit studio"
}, },
"dependencies": { "dependencies": {
"@hono/arktype-validator": "^2.0.1", "@hono/arktype-validator": "^2.0.1",
@@ -15,7 +16,7 @@
"arktype": "^2.1.20", "arktype": "^2.1.20",
"dockerode": "^4.0.8", "dockerode": "^4.0.8",
"dotenv": "^17.2.1", "dotenv": "^17.2.1",
"drizzle-orm": "^0.44.4", "drizzle-orm": "^0.44.6",
"hono": "^4.9.2", "hono": "^4.9.2",
"hono-openapi": "^1.1.0", "hono-openapi": "^1.1.0",
"http-errors-enhanced": "^3.0.2", "http-errors-enhanced": "^3.0.2",
@@ -24,8 +25,9 @@
"winston": "^3.17.0" "winston": "^3.17.0"
}, },
"devDependencies": { "devDependencies": {
"@libsql/client": "^0.15.15",
"@types/bun": "^1.2.20", "@types/bun": "^1.2.20",
"@types/dockerode": "^3.3.44", "@types/dockerode": "^3.3.44",
"drizzle-kit": "^0.31.4" "drizzle-kit": "^0.31.5"
} }
} }

View File

@@ -34,14 +34,14 @@ export const scalarDescriptor = Scalar({
const driver = new Hono().use(honoLogger()).route("/", driverController); const driver = new Hono().use(honoLogger()).route("/", driverController);
const app = new Hono() const app = new Hono()
.use(honoLogger()) .use(honoLogger())
.get("*", serveStatic({ root: "./assets/frontend" }))
.get("healthcheck", (c) => c.json({ status: "ok" })) .get("healthcheck", (c) => c.json({ status: "ok" }))
.basePath("/api/v1") .route("/api/v1/auth", authController.basePath("/api/v1"))
.route("/auth", authController) .route("/api/v1/volumes", volumeController.use(requireAuth))
.route("/volumes", volumeController.use(requireAuth)); .get("/assets/*", serveStatic({ root: "./assets/frontend" }))
.get("*", serveStatic({ path: "./assets/frontend/index.html" }));
app.get("/openapi.json", generalDescriptor(app)); app.get("/api/v1/openapi.json", generalDescriptor(app));
app.get("/docs", scalarDescriptor); app.get("/api/v1/docs", scalarDescriptor);
app.onError((err, c) => { app.onError((err, c) => {
logger.error(`${c.req.url}: ${err.message}`); logger.error(`${c.req.url}: ${err.message}`);

519
bun.lock

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,7 @@
{ {
"name": "ironmount", "name": "ironmount",
"private": true, "private": true,
"packageManager": "bun@1.2.15", "packageManager": "bun@1.2.23",
"scripts": { "scripts": {
"dev": "turbo dev", "dev": "turbo dev",
"tsc": "turbo run tsc", "tsc": "turbo run tsc",
@@ -16,6 +16,9 @@
], ],
"devDependencies": { "devDependencies": {
"@hey-api/openapi-ts": "^0.80.17", "@hey-api/openapi-ts": "^0.80.17",
"turbo": "^2.5.6" "turbo": "^2.5.8"
} },
"trustedDependencies": [
"@tailwindcss/oxide"
]
} }