diff --git a/.forgejo/workflows/ci.yml b/.forgejo/workflows/ci.yml new file mode 100644 index 0000000..e187173 --- /dev/null +++ b/.forgejo/workflows/ci.yml @@ -0,0 +1,26 @@ +on: + push: + branches: + - main +jobs: + build: + runs-on: ubuntu-latest + env: + NODE_ENV: production + container: + image: node:22-bullseye + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Build Frontend + working-directory: frontend + run: | + npm install + npm run production + + - name: Build Backend + working-directory: backend + run: | + npm install + npm run production diff --git a/.gitignore b/.gitignore index 2abc4c7..1969b51 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ db/ */.env .env* todo +.forgejo/workflows/env sqldumps/ logs/ dist/ diff --git a/backend/package.json b/backend/package.json index 4f00346..2cd9d5c 100644 --- a/backend/package.json +++ b/backend/package.json @@ -4,7 +4,7 @@ "main": "index.js", "scripts": { "dev": "nodemon ./src/index.ts", - "production": "tsc && node ./dist/index.js", + "production": "npx tsc && node ./dist/index.js", "demo": "tsc && node ./dist/index.js" }, "keywords": [], @@ -18,14 +18,14 @@ "express": "^5.1.0", "knex": "^3.1.0", "pg": "^8.16.3", - "prisma": "^6.14.0" - }, - "devDependencies": { + "prisma": "^6.14.0", "typescript": "^5.9.2", "ts-node": "^10.9.2", "@types/node": "^24.2.1", "@types/cors": "^2.8.19", - "@types/express": "^5.0.3", + "@types/express": "^5.0.3" + }, + "devDependencies": { "nodemon": "^3.1.10" } } diff --git a/frontend/package.json b/frontend/package.json index b459c0d..db1934e 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -5,7 +5,7 @@ "type": "module", "scripts": { "dev": "vite --host 0.0.0.0 --port 80", - "production": "tsc -b && vite build", + "production": "npx tsc -b && vite build", "demo": "tsc -b && vite build", "build": "tsc -b && vite build", "lint": "eslint .", @@ -14,9 +14,9 @@ "dependencies": { "react": "^19.1.0", "react-dom": "^19.1.0", - "react-router-dom": "^7.6.3" - }, - "devDependencies": { + "react-router-dom": "^7.6.3", + "typescript": "~5.8.3", + "typescript-eslint": "^8.34.1", "@types/node": "^24.2.0", "@eslint/js": "^9.29.0", "@types/react": "^19.1.8", @@ -28,8 +28,7 @@ "eslint-plugin-react-refresh": "^0.4.20", "globals": "^16.2.0", "tailwindcss": "^3.4.17", - "typescript": "~5.8.3", - "typescript-eslint": "^8.34.1", "vite": "^7.0.0" - } + }, + "devDependencies": {} }