def METHOD_NAME():
    with open(os.devnull, "w") as devnull:
        process = subprocess.Popen(
            "npm ls --long --parseable".split(),
            stdout=subprocess.PIPE,
            stderr=devnull
        )
    invalid_packages = {}
    license_whitelist = get_license_whitelist()
    package_whitelist = get_package_whitelist()
    for line in iter(process.stdout.readline, b""):
        split_line = line.decode("utf-8").rstrip().split(":")
        package_name = split_line[1]
        package_path = split_line[0]
        if package_path != "undefined":
            license_valid, license_descriptor = check_license(license_whitelist, package_path)
            if license_valid:
                continue
            if package_name in package_whitelist:
                package_whitelist.remove(package_name)
                continue
            invalid_packages[package_name] = license_descriptor, package_path
    if invalid_packages:
        print "\nThe following packages did not pass the licensing whitelist:\n"
        for key, value in invalid_packages.iteritems():
            print "{0}:\n    {1[0]}\n    {1[1]}\n".format(key, value)
        exit(1)
    print "All dependencies have whitelisted licenses or are individually whitelisted."
    if package_whitelist:
        print "WARN - The following whitelisted packages were not present in your dependencies:"
        for package in package_whitelist:
            print "    {}".format(package)