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.