Introducing PNPM and Nx to make codebase a monorepo.
The long term objective is to allow us to introduce the Lectern Client code into the same repository so that they can share type definitions. This will also let us share the data validation code onto the Lectern Server, and the dictionary validation/diff code into the client.
At the end of this PR, lectern should build into the same server application, providing the same API. A further PR will add the Lectern Client code into this codebase.
Approval Checklist
To accomplish the goal of this PR we need to confirm:
[x] Jenkins is able to test and build the application from the monorepo
[x] Jenkins is able to produce a working Dockerfile for the server module
[x] Another user is able to clone the code base and run the server, following the instructions followed in the README
[x] User Testing with ARGO dictionary - a complicated use case of an active user of the application
Introducing PNPM and Nx to make codebase a monorepo.
The long term objective is to allow us to introduce the Lectern Client code into the same repository so that they can share type definitions. This will also let us share the data validation code onto the Lectern Server, and the dictionary validation/diff code into the client.
At the end of this PR, lectern should build into the same server application, providing the same API. A further PR will add the Lectern Client code into this codebase.
Approval Checklist
To accomplish the goal of this PR we need to confirm: