From be3b94c92bcf6d0aa5fa7b23f68fa3ac8fab0534 Mon Sep 17 00:00:00 2001 From: sriram veeraghanta Date: Mon, 19 May 2025 16:02:31 +0530 Subject: [PATCH] chore: initial setup --- god-mode/.dockerignore | 4 ++++ god-mode/.gitignore | 6 ++++++ god-mode/dockerfile | 22 ++++++++++++++++++++ god-mode/package.json | 37 +++++++++++++++++++++++++++++++++ god-mode/react-router.config.ts | 5 +++++ god-mode/vite.config.ts | 8 +++++++ 6 files changed, 82 insertions(+) create mode 100644 god-mode/.dockerignore create mode 100644 god-mode/.gitignore create mode 100644 god-mode/dockerfile create mode 100644 god-mode/package.json create mode 100644 god-mode/react-router.config.ts create mode 100644 god-mode/vite.config.ts diff --git a/god-mode/.dockerignore b/god-mode/.dockerignore new file mode 100644 index 0000000000..9b8d514712 --- /dev/null +++ b/god-mode/.dockerignore @@ -0,0 +1,4 @@ +.react-router +build +node_modules +README.md \ No newline at end of file diff --git a/god-mode/.gitignore b/god-mode/.gitignore new file mode 100644 index 0000000000..510be82f3a --- /dev/null +++ b/god-mode/.gitignore @@ -0,0 +1,6 @@ +.DS_Store +/node_modules/ + +# React Router +/.react-router/ +/build/ \ No newline at end of file diff --git a/god-mode/dockerfile b/god-mode/dockerfile new file mode 100644 index 0000000000..207bf937e3 --- /dev/null +++ b/god-mode/dockerfile @@ -0,0 +1,22 @@ +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"] \ No newline at end of file diff --git a/god-mode/package.json b/god-mode/package.json new file mode 100644 index 0000000000..d6b611147a --- /dev/null +++ b/god-mode/package.json @@ -0,0 +1,37 @@ +{ + "name": "god-mode", + "description": "Admin UI for Plane", + "version": "0.26.0", + "license": "AGPL-3.0", + "private": true, + "type": "module", + "scripts": { + "build": "react-router build", + "dev": "react-router dev", + "start": "react-router-serve ./build/server/index.js", + "typecheck": "react-router typegen && tsc", + "lint": "eslint . --ext .ts,.tsx", + "lint:errors": "eslint . --ext .ts,.tsx --quiet" + }, + "dependencies": { + "@react-router/node": "^7.5.3", + "@react-router/serve": "^7.5.3", + "isbot": "^5.1.27", + "react": "^19.1.0", + "react-dom": "^19.1.0", + "react-router": "^7.5.3" + }, + "devDependencies": { + "@plane/eslint-config": "*", + "@plane/tailwind-config": "*", + "@plane/typescript-config": "*", + "@react-router/dev": "^7.5.3", + "@tailwindcss/vite": "^4.1.4", + "@types/node": "^20", + "@types/react": "^19.1.2", + "@types/react-dom": "^19.1.2", + "typescript": "5.3.3", + "vite": "^6.3.3", + "vite-tsconfig-paths": "^5.1.4" + } +} diff --git a/god-mode/react-router.config.ts b/god-mode/react-router.config.ts new file mode 100644 index 0000000000..3afb75ad1a --- /dev/null +++ b/god-mode/react-router.config.ts @@ -0,0 +1,5 @@ +import type { Config } from "@react-router/dev/config"; + +export default { + ssr: false, +} satisfies Config; diff --git a/god-mode/vite.config.ts b/god-mode/vite.config.ts new file mode 100644 index 0000000000..4a88d5871c --- /dev/null +++ b/god-mode/vite.config.ts @@ -0,0 +1,8 @@ +import { reactRouter } from "@react-router/dev/vite"; +import tailwindcss from "@tailwindcss/vite"; +import { defineConfig } from "vite"; +import tsconfigPaths from "vite-tsconfig-paths"; + +export default defineConfig({ + plugins: [tailwindcss(), reactRouter(), tsconfigPaths()], +});