mirror of
https://github.com/nicotsx/ironmount.git
synced 2025-12-10 12:10:51 +01:00
fix: build issues
This commit is contained in:
@@ -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/**
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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"]
|
|
||||||
@@ -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");
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,5 +9,5 @@ await Bun.build({
|
|||||||
identifiers: true,
|
identifiers: true,
|
||||||
syntax: true,
|
syntax: true,
|
||||||
},
|
},
|
||||||
external: [],
|
external: ["ssh2"],
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -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"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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}`);
|
||||||
|
|||||||
@@ -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"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user