ES6 modules, combined with a tree shaking build tool solve this issue. You can install a hige library and the output source will only include the parts you use.
Unfortunately, libs that provide function chaining via dynamically extwnding a prototype can't be optimized by tree shaking.
The future :: function bind operator should provide a tree shaker friendly alternative.