It can be managed by a number of package installers and their configuration file accordingly. Out of them npm or yarn is mostly used. Both provide almost all libraries of JavScript with extended features of controlling environment-specific configurations. To maintain versions of libs being installed in a project we use package.json and package-lock.json so that there is no issue in porting that app to a different environment.