diff --git a/.dockerignore b/.dockerignore index aba797c..4f7bee5 100644 --- a/.dockerignore +++ b/.dockerignore @@ -6,6 +6,5 @@ data *.log npm-debug.log* .DS_Store -.env* coverage .nyc_output diff --git a/Dockerfile b/Dockerfile index 415e43a..35d0d9d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,7 @@ # Dockerfile # Stage 1: Build the React application -FROM node:18-alpine AS build +FROM node:22-alpine AS build LABEL stage="build-local-testing" @@ -48,4 +48,4 @@ COPY nginx-docker.conf /etc/nginx/conf.d/default.conf EXPOSE 80 # Start Nginx when the container launches -CMD ["nginx", "-g", "daemon off;"] \ No newline at end of file +CMD ["nginx", "-g", "daemon off;"] diff --git a/TODO.md b/TODO.md index 08c4517..529c687 100644 --- a/TODO.md +++ b/TODO.md @@ -10,6 +10,9 @@ Backlog of bugs + long-term items. Milestones live in REWORK_PLAN.md. not sure good way to do this +### npm install warnings cleanup pass +lots of updates + ### TEST GAP: current branch changes need focused coverage diff --git a/docker/Dockerfile b/docker/Dockerfile index 14d0f5b..53b4971 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -2,7 +2,7 @@ # docker/Dockerfile --- single container: caddy (front) + node (back). # Build context = repo root. # ---- build stage: frontend + install backend deps ---- -FROM node:18-alpine AS build +FROM node:22-alpine AS build WORKDIR /app COPY package*.json ./ @@ -30,7 +30,7 @@ RUN cd server && npm rebuild better-sqlite3 # ---- runtime stage: caddy + node ---- -FROM node:18-alpine +FROM node:22-alpine RUN apk add --no-cache caddy WORKDIR /app diff --git a/src/__mocks__/firebase/firestore.js b/src/__mocks__/firebase/firestore.js index 9ba0654..e4ceb8a 100644 --- a/src/__mocks__/firebase/firestore.js +++ b/src/__mocks__/firebase/firestore.js @@ -105,9 +105,9 @@ export function onSnapshot(refOrQuery, onSuccess, onError) { return unsub; } -// Apply Firestore-style query constraints (orderBy desc/asc, limit) to mock docs. -// Mirrors real SDK semantics enough for contract tests. Only orderBy + limit -// supported (App's LOG_QUERY uses exactly these). +// Apply Firestore-style query constraints (orderBy desc/asc, limit, where) +// to mock docs. Mirrors real SDK semantics for contract tests. Offset handled +// by adapter (firebase.js slices) — mock never sees it. function applyConstraints(docs, constraints) { let out = [...docs]; for (const c of constraints) {