I split a monorepo API server into its own standalone process. It was supposed to be simple — point the imports, wire up Express, done.
Three things almost killed it:
.json() on the request objectEach fix was small. Finding them took the whole day. The ESM fixes went upstream as a PR.
Result: ~400MB → ~120MB memory. Same SQLite, same combo routing, same provider chains. Just without React, Monaco, and the dashboard UI.
The repo has no history of its own — it exists to consume another repo’s history.
#NodeJS #ESM #Architecture #OpenSource #DeveloperTools
Full story → https://vianhanif.link/posts/the-server-split-that-almost-didnt-happen/