This document discusses how JavaScript is experiencing growing pains similar to what Java experienced 10 years ago and how OSGi concepts and experiences can help address some core JavaScript problem areas related to modularity, packages, asynchronous APIs, and extensibility. It provides examples of how the Orion project has implemented OSGi microservices and plugins in a way that leverages OSGi lifecycle semantics and configuration while using promises to decouple from asynchronous implementations. The closing thoughts emphasize that JavaScript is becoming a reasonable systems language but has growing pains, and that OSGi can help if perceptions are corrected and APIs are made easier to adopt.