Splitting a web client into (semi) independent Node Modules.

lysofdev profile image Esteban Hernández ・1 min read

I don't think there is anything that disrupts my workflow more than a huge test suite full of failing tests that are completely out of my domain. Working on an enterprise team means the code base I contribute to is massive and the test suite takes well over 20 minutes to run. That is obviously an issue since I constantly have to modify my test configuration to limit the amount of specs that will be run. This reduces the effectiveness of test suite in spotting issues.

I've read throughout my leisure time of teams that separate entire chunks of their application into a separate package. Basically, treat each part of your application as a node_module a la "micro-services". This sounds like a great idea since each test suite would be limited to a much smaller project but how do we manage shared dependencies? What about the host application that depends on all of these packages?

Have you worked on a team that took this approach? What strategies did you use and was it ultimately helpful or just another layer of complexity that added more issues than it solved? I'm especially concerned with Angular and React projects since these are the technologies we currently use in our products.

Posted on Sep 14 '19 by:

lysofdev profile

Esteban Hernández


Software Engineer specializing on performant web applications.


markdown guide