Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
c7ca85b
Upgrade to node 22
lang-ben Mar 11, 2026
87408ef
Fixed eslinting and made changes to compile correctly
lang-ben Mar 12, 2026
ec172c6
Merge branch 'master' of github.com:hmcts/ccd-admin-web into CCD-7336
lang-ben Mar 12, 2026
cf342d2
Getting majority of tests to pass, swap ts-node + ts-config for tsx
lang-ben Mar 24, 2026
d572b26
Fix remaining tests and bump to node 24
lang-ben Mar 31, 2026
096beda
Bumping chart version/ fixing aliases
hmcts-jenkins-a-to-c[bot] Mar 31, 2026
8b0417f
Fix lint error
lang-ben Mar 31, 2026
ef1ebe6
Merge branch 'CCD-7336' of github.com:hmcts/ccd-admin-web into CCD-7336
lang-ben Mar 31, 2026
db85440
Merge branch 'master' of github.com:hmcts/ccd-admin-web into CCD-7336
lang-ben Mar 31, 2026
ff45e1d
Fix test:coverage command
lang-ben Mar 31, 2026
c813f77
Simplify gulpfile setup behaviour
lang-ben Apr 2, 2026
eb63771
Fix dockerfile
lang-ben Apr 20, 2026
9b32ea2
Remove gulpfile
lang-ben Apr 20, 2026
83500df
Fix deprecated tsconfig baseUrl & updated audit known issues
lang-ben Apr 20, 2026
fc3af3a
Upgrade govuk-frontend to 5.13 - convert all components and bring in …
lang-ben Apr 20, 2026
cb4e123
Fix test references to old frontend
lang-ben Apr 20, 2026
353b67a
Fix lint error
lang-ben Apr 20, 2026
3aead78
suppress-cve
lang-ben Apr 20, 2026
51ebcda
Tweak dockerfile and update timeout in acb.tpl.yaml
lang-ben Apr 20, 2026
4e911b1
Merge branch 'master' of github.com:hmcts/ccd-admin-web into CCD-7336
lang-ben Apr 21, 2026
ad94c32
Update README and publish reports
lang-ben Apr 21, 2026
d477535
Update README, added AppInsightsInstrumentationKey secret and fixed o…
lang-ben Apr 22, 2026
b6c867a
Rollback to node 22 as no arm64 image exists for 24
lang-ben Apr 22, 2026
93eae9d
Fix suppressions and add logging
lang-ben Apr 22, 2026
1719bdd
Add more logging
lang-ben Apr 22, 2026
448a9ed
console.log rather than logger temporarily
lang-ben Apr 22, 2026
bdefc1c
path.join for rendering pages in folders
lang-ben Apr 22, 2026
b4995a8
Try and determine template issue in tests
lang-ben Apr 22, 2026
2549733
Fix view-user-roles conditions, shift currentUser hidden field out of…
lang-ben Apr 23, 2026
efa4e32
fix audit and add placeholder to test container issue
lang-ben Apr 23, 2026
c43e866
re-add js-enabled to block head
lang-ben Apr 23, 2026
69ac51b
check user profile rendering
lang-ben Apr 23, 2026
6f6341b
Change "container" block to "content" block
lang-ben Apr 23, 2026
d53b3d6
Fix sonar issues
lang-ben Apr 23, 2026
e393420
Fix more sonar issues
lang-ben Apr 23, 2026
3e3f1c8
Fix final sonar issues
lang-ben Apr 23, 2026
83b77da
Merge branch 'master' of github.com:hmcts/ccd-admin-web into CCD-7336
lang-ben Apr 23, 2026
817d46c
Bump to Node 24, latest yarn, node types
lang-ben Apr 23, 2026
8b6464e
Fix nyc/sonar coverage mismatch
lang-ben Jun 9, 2026
527e25c
Merge branch 'master' of github.com:hmcts/ccd-admin-web into CCD-7336
lang-ben Jun 9, 2026
dabf560
Latest versions and fixed a11y tests
lang-ben Jun 9, 2026
8c83a81
Fix script prefixes
lang-ben Jun 10, 2026
08aa227
Fix coverage script structure
lang-ben Jun 10, 2026
c6273e4
Tweak scripts more
lang-ben Jun 10, 2026
a5a58b1
Merge branch 'master' of github.com:hmcts/ccd-admin-web into CCD-7336
lang-ben Jun 10, 2026
60d037a
undo otp upgrade
lang-ben Jun 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@
!.yarnrc.yml
!.yarn/**

!gulpfile.js
!tsconfig.json

!src/main/**
Expand Down
1 change: 1 addition & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# EditorConfig is for defining and maintaining consistent coding styles between different editors and IDEs.
# http://editorconfig.org
root = true

Expand Down
42 changes: 0 additions & 42 deletions .eslintrc.json

This file was deleted.

7 changes: 5 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
node_modules/
.nyc_output
.sass-cache
# Compiled CSS files should not be committed to source control as they are generated from the SASS source files
*.css
# Source maps are generated by the sass compiler and should not be committed to source control
*.css.map

.idea/
*.iml
Expand All @@ -10,8 +13,7 @@ node_modules/
*log
.DS_Store

src/main/public/javascripts/
src/main/public/js/lib/**/*.js
src/main/public/js/**/*.js
src/main/public/stylesheets/images/
src/test/public

Expand All @@ -24,6 +26,7 @@ npm-debug.log.*

package-lock.json

config/local.yaml
coverage/
.scannerwork/
acb.yaml
Expand Down
6 changes: 0 additions & 6 deletions .nsprc

This file was deleted.

2 changes: 1 addition & 1 deletion .nvmrc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
18.20.8
v24.15.0
5 changes: 0 additions & 5 deletions .sass-lint.yml

This file was deleted.

5 changes: 1 addition & 4 deletions .snyk
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,4 @@
version: v1.12.0
ignore: {}
# patches apply the minimum changes required to fix a vulnerability
patch:
'npm:tunnel-agent:20170305':
- '@hmcts/nodejs-logging > log4js > loggly > request > tunnel-agent':
patched: '2018-06-26T06:35:10.034Z'
patches: {}
3 changes: 1 addition & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
language: node_js
node_js:
- "18.20.8" # Docker
- "24.15.0" # Docker
cache: yarn
before_install:
- curl -o- -L https://yarnpkg.com/install.sh | bash -s
Expand All @@ -14,7 +14,6 @@ script:
- yarn --check-cache || echo 'yarn --check-cache failed'
- yarn lint
- yarn test
- yarn test:routes
- yarn test:a11y
#- yarn test:nsp - reenable when we have solved RDM-2508
- yarn test:coverage
Expand Down
5 changes: 5 additions & 0 deletions .yarnrc.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,12 @@
approvedGitRepositories:
- "**"

compressionLevel: mixed

enableGlobalCache: false

enableScripts: true

nodeLinker: node-modules

yarnPath: .yarn/releases/yarn-4.16.0.cjs
6 changes: 3 additions & 3 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# ---- Base Image ----

ARG PLATFORM=""
FROM hmctsprod.azurecr.io/base/node${PLATFORM}:18-alpine as base
FROM hmctsprod.azurecr.io/base/node${PLATFORM}:24-alpine as base

ENV PUPPETEER_SKIP_DOWNLOAD=true
ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true
Expand All @@ -23,12 +23,12 @@ RUN yarn install && yarn cache clean
# ---- Build Image ----
FROM base as build

RUN yarn sass
RUN yarn setup

RUN sleep 1 && yarn install && yarn cache clean


# ---- Runtime Image ----
FROM hmctsprod.azurecr.io/base/node${PLATFORM}:18-alpine as runtime
FROM hmctsprod.azurecr.io/base/node${PLATFORM}:24-alpine as runtime
COPY --from=build $WORKDIR .
EXPOSE 3100
37 changes: 37 additions & 0 deletions Jenkinsfile_CNP
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ def secrets = [
secret('ccd-admin-web-oauth2-client-secret', 'OAUTH2_CLIENT_SECRET'),
secret('storage-account-primary-connection-string', 'STORAGEACCOUNT_PRIMARY_CONNECTION_STRING'),
secret('storage-account-secondary-connection-string', 'STORAGEACCOUNT_SECONDARY_CONNECTION_STRING'),
secret('AppInsightsInstrumentationKey', 'APP_INSIGHTS_INSTRUMENTATION_KEY')
],
's2s-${env}': [
secret('microservicekey-ccd-admin', 'IDAM_SERVICE_KEY'),
Expand Down Expand Up @@ -70,4 +71,40 @@ withPipeline("nodejs", product, component) {
yarnBuilder.yarn('setup')
}

afterAlways('test') {

publishHTML target: [
allowMissing : true,
alwaysLinkToLastBuild: true,
keepAll : true,
reportDir : "mochawesome-report",
reportFiles : "unit.html",
reportName : "Unit Test Report"
]
}

afterAlways('test:a11y') {

publishHTML target: [
allowMissing : true,
alwaysLinkToLastBuild: true,
keepAll : true,
reportDir : "mochawesome-report",
reportFiles : "a11y.html",
reportName : "Accessibility Test Report"
]
}

afterAlways('test:coverage') {

publishHTML target: [
allowMissing : true,
alwaysLinkToLastBuild: true,
keepAll : true,
reportDir : "coverage/lcov-report",
reportFiles : "index.html",
reportName : "Code Coverage Report"
]
}

}
27 changes: 23 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Web application for administration of Case Definition data (initially for import
## Getting started

### Prerequisites
- [Node.js](https://nodejs.org/en) >= 18.17.0
- [Node.js](https://nodejs.org/en) >= 24.15.0

### Environment variables

Expand All @@ -23,10 +23,10 @@ The following environment variables are required:
| IDAM_BASE_URL | - | Base URL for IdAM's User API service (idam-app). `http://localhost:5000` for the dockerised local instance or tunnelled `dev` instance. |
| IDAM_S2S_URL | - | Base URL for IdAM's S2S API service (service-auth-provider). `http://localhost:4502` for the dockerised local instance or tunnelled `dev` instance. |
| IDAM_ADMIN_WEB_SERVICE_KEY | - | Case Admin Web's IdAM S2S micro-service secret key. This must match the IdAM instance it's being run against. |
| IDAM_LOGOUT_URL | - | URL of the IdAM Authentication Web `logout` page. `https://localhost:3501/login/logout` for the dockerised local instance. |
| IDAM_LOGOUT_URL | - | URL of the IdAM Authentication Web `logout` page. `https://localhost:9002/login/logout` for the dockerised local instance. |
| IDAM_OAUTH2_TOKEN_ENDPOINT | - | URL of the IdAM OAuth2 API endpoint for obtaining an OAuth2 token. `http://localhost:5000/oauth2/token` for the dockerised local instance or tunnelled `dev` instance. |
| IDAM_OAUTH2_AW_CLIENT_SECRET | - | Secret to be passed to IdAM when obtaining an OAuth2 token. This must match the IdAM instance it's being run against. |
| ADMINWEB_LOGIN_URL | - | URL of the IdAM Authentication Web `login` page. `https://localhost:3501/login` for the dockerised local instance. |
| ADMINWEB_LOGIN_URL | - | URL of the IdAM Authentication Web `login` page. `https://localhost:9002/login` for the dockerised local instance. |
| ADMINWEB_IMPORT_URL | - | URL of the Case Definition Store API `import` endpoint. `http://localhost:4451/import` for the dockerised local instance. |
| ADMINWEB_UPLOAD_DICTIONARY_FILE_PATH | - | Path to local dir for upload. |
| APPINSIGHTS_INSTRUMENTATIONKEY | - | Secret for Microsoft Insights logging, can be a dummy string in local. |
Expand All @@ -53,7 +53,26 @@ To be able to log on and use the application you have to have a IDAM user with `

**Note:** You can also start the application by executing:
```bash
node server.js
yarn tsx server.js
```

### Developing

To run both the setup and application in watch mode (where it will pick up changes and restart in realtime) then run:
```bash
yarn develop
```

### Managing dependencies:
To update the versions in package.json use:
```bash
$ yarn upgrade-interactive
```
and choose the appropriate version for each dependency.

The jenkins pipeline will check dependency versions for vulnerabilities. If you wish to suppress the issues that the pipeline is looking for you can populate the "yarn-audit-known-issues" file by running:
```bash
$ yarn suppress-cve
```

### Accessing the service
Expand Down
16 changes: 8 additions & 8 deletions acb.tpl.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
version: 1.0-preview-1
steps:
- id: pull-hmcts-base-amd64
cmd: docker pull --platform linux/amd64 hmctsprod.azurecr.io/base/node:18-alpine && docker tag hmctsprod.azurecr.io/base/node:18-alpine hmctsprod.azurecr.io/base/node/linux/amd64:18-alpine
cmd: docker pull --platform linux/amd64 hmctsprod.azurecr.io/base/node:24-alpine && docker tag hmctsprod.azurecr.io/base/node:24-alpine hmctsprod.azurecr.io/base/node/linux/amd64:24-alpine
when: ["-"]
retries: 3
retryDelay: 5
Expand Down Expand Up @@ -30,7 +30,7 @@ steps:
.
when:
- pull-base-amd64
timeout: 7200
timeout: 12200
retries: 3
retryDelay: 5

Expand All @@ -46,7 +46,7 @@ steps:
when:
- base-amd64
- pull-build-amd64
timeout: 7200
timeout: 12200
retries: 3
retryDelay: 5

Expand All @@ -62,12 +62,12 @@ steps:
when:
- base-amd64
- build-amd64
timeout: 7200
timeout: 12200
retries: 3
retryDelay: 5

- id: pull-hmcts-base-arm64
cmd: docker pull --platform linux/arm64 hmctsprod.azurecr.io/base/node:18-alpine && docker tag hmctsprod.azurecr.io/base/node:18-alpine hmctsprod.azurecr.io/base/node/linux/arm64:18-alpine
cmd: docker pull --platform linux/arm64 hmctsprod.azurecr.io/base/node:24-alpine && docker tag hmctsprod.azurecr.io/base/node:24-alpine hmctsprod.azurecr.io/base/node/linux/arm64:24-alpine
when:
- pull-hmcts-base-amd64
retries: 3
Expand Down Expand Up @@ -107,7 +107,7 @@ steps:
.
when:
- reset-qemu
timeout: 7200
timeout: 12200
retries: 3
retryDelay: 5

Expand All @@ -123,7 +123,7 @@ steps:
when:
- base-arm64
- pull-build-arm64
timeout: 7200
timeout: 12200
retries: 3
retryDelay: 5

Expand All @@ -139,7 +139,7 @@ steps:
when:
- base-arm64
- build-arm64
timeout: 7200
timeout: 12200
retries: 3
retryDelay: 5

Expand Down
2 changes: 1 addition & 1 deletion config/default.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ idam:
logout_endpoint: http://localhost:5000/session/:token
client_id: ccd_admin
adminWeb:
login_url: https://localhost:3501/login
login_url: http://localhost:9002/login
import_url: http://localhost:4451/import
whoami_url: http://localhost:4451/api/idam/profile
authorization_url: http://localhost:4451/api/idam/adminweb/authorization
Expand Down
7 changes: 0 additions & 7 deletions config/mocha.yaml

This file was deleted.

4 changes: 1 addition & 3 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
version: '2'

services:
# TODO: change this name to match the name of your app
expressjs-template:
ccd-admin-web:
build:
context: .
args:
Expand Down
Loading