Date: 2023-10-12
Accepted
The development phase of "10x Digital Access to Justice Platform" has started. The development effort will focus on building modular form system components.
A method of structuring cohesive and well-encapsulated modules is required. Additionally, the module system should enable efficient builds and integrate with other goals, such as generating dependency diagrams.
A pnpm workspace will be utilized. Workspaces are a standard method of organizing multiple interdependent node.js packages in a single repository. pnpm offers efficient package management and well-implemented workspaces.
Turborepo will be leveraged to managed efficient builds. In a multi-project workspace, tracking interdependencies between packages is required. Turborepo implements an efficient caching system and execution engine that leads to efficient and developer-friend builds.
Reasoning about dependencies will be enhanced due to each module having an explicit package. Additionally, dependencies will be modularized in a manner that makes it easy to lift and shift the code to another location. Lastly, developer efficiency will be enhanced by the fast builds provided by Turborepo.