From 8cc1c09a7072975d0e47705952bd28ca14689a71 Mon Sep 17 00:00:00 2001 From: danbenton-mojdt <113102670+danbenton-mojdt@users.noreply.github.com> Date: Tue, 16 Jan 2024 16:27:32 +0000 Subject: [PATCH] MAP-577 New options for Prisoner Relocation (#666) * MAP-577 Add Prison Relocation options, bump node/npm versions * MAP-577 Bump npm in circle pipeline * MAP-577 Fix postgres version in circle pipeline * MAP-577 Update assertion messge on invalid json * MAP-577 Update node in Dockerfile * MAP-577 Node 20 * package-lock.json * MAP-577 Fix pipeline node version --- .circleci/config.yml | 6 +++--- Dockerfile | 4 ++-- README.md | 2 +- package-lock.json | 4 ++-- package.json | 4 ++-- server/config/types.ts | 3 +++ server/routes/maintainingReports/admin.test.ts | 2 +- 7 files changed, 14 insertions(+), 11 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 6ef09993..0ea499e0 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -14,13 +14,13 @@ parameters: node-version: type: string - default: 18.17.1-browsers + default: 20.11.0-browsers executors: integration-tests: docker: - image: cimg/node:<< pipeline.parameters.node-version >> - - image: circleci/postgres:10.13-ram + - image: cimg/postgres:14.7 environment: POSTGRES_PASSWORD: use-of-force POSTGRES_USER: use-of-force @@ -39,7 +39,7 @@ jobs: - checkout - run: name: Update npm - command: 'sudo npm install -g npm@9' + command: 'sudo npm install -g npm@10' - restore_cache: key: dependency-cache-{{ checksum "package-lock.json" }} - run: diff --git a/Dockerfile b/Dockerfile index cd5f2538..28d3b328 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM node:18.17.1 as builder +FROM node:20.11.0 as builder ARG BUILD_NUMBER ARG GIT_REF @@ -24,7 +24,7 @@ RUN CYPRESS_INSTALL_BINARY=0 npm ci --no-audit && \ RUN npm prune --production -FROM node:18.17.1-slim +FROM node:20.11.0-slim LABEL maintainer="HMPPS Digital Studio " # Cache breaking diff --git a/README.md b/README.md index 1f043648..5f477b6f 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ The easiest way to run the app is to use docker compose to start local postgres `docker-compose pull` `docker-compose up` -Install dependencies using `npm install`, ensuring you are using >= `Node v16` +Install dependencies using `npm install`, ensuring you are using >= `Node v20` And then, to build the assets and start the app with nodemon: `npm run start:dev` diff --git a/package-lock.json b/package-lock.json index 9ec42887..aeabd236 100644 --- a/package-lock.json +++ b/package-lock.json @@ -92,8 +92,8 @@ "typescript": "^4.9.5" }, "engines": { - "node": "^18", - "npm": "<10" + "node": "^20", + "npm": "^10" } }, "node_modules/@aashutoshrathi/word-wrap": { diff --git a/package.json b/package.json index 4419b30e..580a2e27 100644 --- a/package.json +++ b/package.json @@ -29,8 +29,8 @@ "security_audit": "npx audit-ci --config audit-ci.json" }, "engines": { - "node": "^18", - "npm": "<10" + "node": "^20", + "npm": "^10" }, "jest": { "transform": { diff --git a/server/config/types.ts b/server/config/types.ts index 3a027b69..6cf67130 100644 --- a/server/config/types.ts +++ b/server/config/types.ts @@ -43,6 +43,9 @@ export const RelocationLocation = toEnum({ SEGREGATION_UNIT: { value: 'SEGREGATION_UNIT', label: 'Segregation unit' }, SPECIAL_ACCOMMODATION: { value: 'SPECIAL_ACCOMMODATION', label: 'Special accommodation' }, CELLULAR_VEHICLE: { value: 'CELLULAR_VEHICLE', label: 'Cellular vehicle' }, + RECEPTION: { value: 'RECEPTION', label: 'Reception' }, + OTHER_WING: { value: 'OTHER_WING', label: 'Other wing' }, + FACILITATE_RELEASE: { value: 'FACILITATE_RELEASE', label: 'To facilitate release' }, }) export const ReportStatus = toEnum({ diff --git a/server/routes/maintainingReports/admin.test.ts b/server/routes/maintainingReports/admin.test.ts index a3265ddb..1a2bfcf7 100644 --- a/server/routes/maintainingReports/admin.test.ts +++ b/server/routes/maintainingReports/admin.test.ts @@ -142,7 +142,7 @@ describe('/:reportId/edit-report', () => { expect(reportService.update).not.toHaveBeenCalled() expect(flash).toHaveBeenCalledWith('errors', { href: '#form', - text: 'Unexpected token h in JSON at position 1', + text: "Unexpected token 'h', \"this isn't json!\" is not valid JSON", }) }) })