Skip to content

Commit 5b28b4c

Browse files
committed
chore: improve developer experience — npm scripts, CI pipeline
package.json (frontend): - Add "typecheck" script for standalone tsc --noEmit - Add "backend:install" and "backend:dev" convenience scripts - Add "start:all" with instructions for running both services Backend/package.json: - Rename to "huddle-backend", fix main to "server.js" - Add "dev" script using node --watch for auto-restart during development (Node 18+ built-in, no extra dependency needed) - Update description to be useful .github/workflows/ci.yml: - Remove "|| true" that silently swallowed typecheck and build failures - Add dummy VITE_ env vars so Vite build succeeds in CI - Split into frontend and backend jobs that run in parallel - Add backend job: install deps + syntax-check all JS files
1 parent 4e53b9b commit 5b28b4c

File tree

3 files changed

+47
-11
lines changed

3 files changed

+47
-11
lines changed

.github/workflows/ci.yml

Lines changed: 35 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ on:
77
branches: [main]
88

99
jobs:
10-
build:
11-
name: Build
10+
frontend:
11+
name: Frontend — typecheck & build
1212
runs-on: ubuntu-latest
1313

1414
steps:
@@ -25,7 +25,38 @@ jobs:
2525
run: npm ci
2626

2727
- name: Type check
28-
run: npx tsc --noEmit || true
28+
run: npm run typecheck
2929

3030
- name: Build
31-
run: npm run build || true
31+
run: npm run build
32+
env:
33+
# Provide dummy values so Vite build does not fail on missing env
34+
VITE_FIREBASE_API_KEY: ci-placeholder
35+
VITE_FIREBASE_AUTH_DOMAIN: ci-placeholder
36+
VITE_FIREBASE_PROJECT_ID: ci-placeholder
37+
VITE_FIREBASE_STORAGE_BUCKET: ci-placeholder
38+
VITE_FIREBASE_MESSAGING_SENDER_ID: ci-placeholder
39+
VITE_FIREBASE_APP_ID: ci-placeholder
40+
41+
backend:
42+
name: Backend — install & lint
43+
runs-on: ubuntu-latest
44+
45+
defaults:
46+
run:
47+
working-directory: Backend
48+
49+
steps:
50+
- name: Checkout
51+
uses: actions/checkout@v4
52+
53+
- name: Setup Node.js
54+
uses: actions/setup-node@v4
55+
with:
56+
node-version: 20
57+
58+
- name: Install dependencies
59+
run: npm ci
60+
61+
- name: Check syntax (parse)
62+
run: node --check server.js && node --check firebase.js && node --check middleware/verifyToken.js

Backend/package.json

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
{
2-
"name": "backend",
2+
"name": "huddle-backend",
33
"version": "1.0.0",
4-
"description": "Welcome to the backend setup! This guide is designed to help your team set up a solid foundation for the backend using **Node.js, Express, and Firebase**.",
5-
"main": "firebase.js",
4+
"description": "Huddle backend API — Node.js + Express + Firebase Admin SDK",
5+
"main": "server.js",
66
"scripts": {
7-
"test": "echo \"Error: no test specified\" && exit 1",
8-
"start": "node server.js"
7+
"start": "node server.js",
8+
"dev": "node --watch server.js",
9+
"test": "echo \"Error: no test specified\" && exit 1"
910
},
1011
"keywords": [],
1112
"author": "",

package.json

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,12 @@
66
"scripts": {
77
"dev": "vite",
88
"build": "tsc && vite build",
9+
"preview": "vite preview",
10+
"typecheck": "tsc --noEmit",
911
"lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
10-
"preview": "vite preview"
12+
"backend:install": "cd Backend && npm install",
13+
"backend:dev": "cd Backend && node server.js",
14+
"start:all": "echo 'Start frontend and backend in separate terminals:\n Terminal 1: npm run dev\n Terminal 2: npm run backend:dev'"
1115
},
1216
"dependencies": {
1317
"firebase": "^10.8.0",
@@ -22,4 +26,4 @@
2226
"typescript": "^5.2.2",
2327
"vite": "^5.1.4"
2428
}
25-
}
29+
}

0 commit comments

Comments
 (0)