Skip to main content

Frontend applications

Citizen frontend applications should be built using a node.js based Server Side Rendering (SSR) framework such as Express.

Professional frontend applications should be built using a node.js based Single Page Application (SPA) framework such as Angular.

Both citizen and professional applications should be based on the GOV.UK Design System and use GOV.UK Frontend or a derivative such as HMCTS Frontend.

Node.js

Use the current LTS version. Ensure that there is a process in place to upgrade it as new versions released.

Deno is not currently recommended.

Dependency management

Ensure dependabot or renovate has been configured so that dependencies are kept up to date.

NPM or Yarn is acceptable.

TypeScript

TypeScript is recommended for all new projects.

Browser support

Applications should support the latest version of Chrome, Edge, Firefox and Safari.

Where possible applications should aim to use a responsive layout in order to work on mobile devices.

Code style

Use an opinionated code linter such as eslint and code formatter such as prettier to eliminate discussions about subjective coding preferences.

Accessibility

Use Pa11y for accessibility testing to WCAG 2.1 AA.

Cross-browser and UI testing

Use playwright or cypress to test applications in the browser.

Security

Configure the Content Security Policy headers to prevent XSS attacks.

Add CSRF protection to forms to ensure that they cannot be submitted by a third party.

This page was last reviewed on 25 January 2024. It needs to be reviewed again on 25 January 2025 by the page owner platops-build-notices .
This page was set to be reviewed before 25 January 2025 by the page owner platops-build-notices. This might mean the content is out of date.