Migrated to Turborepo (Monorepo Structure) #8
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Signed-off-by: Ansh Sarkar anshsark18@gmail.com
Issues: #7 & #3
Description
Migration of existing repository structure to a monorepo using Turborepo in order to improve scalability and Developer Experience (DX) by enabling division into workspaces, caching and faster builds.
Changes
turborepo
for monorepo management andconcurrent
for executing parallel tasks inNodeJS
.turbo.json
for caching outputs ofbuild
andbuild-docs
scripts.enketo-core
,enketo-express
andform-manager
and sample applicationwrapper
.package.json
.npm run start
for installing dependencies and starting all services.npm run build
for building necessary modules as well as documentations.How to test
The above command will automatically install, set up and run all the packages and applications.
Docker
is required. After successful build you should be able to view the form at : http://localhost:3000/Note: Initial build takes roughly 20 - 25 mins, due to
enketo-core
. Subsequent builds take less than 1 min. The react frontend will show an errorlocalhost refused to connect
untilenketo-core
has finished building. Once the build is successful, refreshing the fronted will render the form.For building the modules and documentations you can run the
build
script as follow