This sounds like a team ignoring a huge amount of best practices for JavaScript development. Some combination of the following were not observed:
- Use Typescript.
- Practice version locking on your dependencies and make sure it works correctly throughout your processes
- Do not commit vendored dependencies
- Do not commit compiled JavaScript
- Use a CI process for deployment which runs your tests
- Have tests
- Prefer (or require) types for your dependencies, or dependencies written in Typescript
- Prefer dependencies that ship the types in package (and not via DefinitelyTyped)
Some additional thoughts, they act like running out of memory is something they need to actively handle in the codebase-- it's not in this case. It shows a lack of familiarity with how JavaScript runtimes work which hints at a team which is very inexperienced with the platform. JavaScript runtimes enter GC lockup and ultimately crash if there is no memory, so this is a logging problem, not an error handling problem. There is no mechanism for the runtime to inform the app that an allocation failed.