We are using flow for type checking on frontend and backend
It is set up in the eslint config and also as a npm script to check on build
For some reason this file (/node_modules/@parcel/watcher/test/tmp/config.json) breaks flow as it is not proper json, so we have set flow to ignore it in the .flowconfig
Parceljs automatically strips the flow typings out
In dev, the dev-watch-server npm script runs babel-node via nodemon to strip out the flow typings of the backend code in dev.
In prod, we the prod-server-build npm script that just uses babel to strip it out and outputs it to a backend/lib-js. That's why we have the backend/src-js folder and the backend/lib-js folder, so we can keep the same folder structure.
Both scripts use the --no-babelrc so it doesnt use the frontend babel config.