h/t https://github.com/elbaschid/virtual-node/blob/master/setup.py

def run_npm(self):
        """ h/t https://github.com/elbaschid/virtual-node/blob/master/setup.py """

        for name, version in npm_dependencies.items():
            # packages are installed globally to make sure that they are
            # installed in the virtualenv rather than the current directory.
            # it is also necessary for packages containing scripts, e.g. less
            dep_name = '%s@%s' % (name, version)
            self.run_cmd(['npm', 'install', '-g', dep_name])