Files
npm-install/npm_install.py
2022-11-12 19:24:38 +02:00

36 lines
957 B
Python

from os import system, mkdir
from re import findall
from sys import argv
import requests
def npm_create_package_lock_file(package):
system("npm i --package-lock-only " + package)
def get_all_urls_packages():
with open("package-lock.json", "rt") as package_lock_file:
content = package_lock_file.read()
return list(dict.fromkeys(findall("https://.+.tgz", content)))
def download_npm_package(url:str, dir="npm-packages"):
try:
mkdir(dir)
except:
pass
with open(dir + "/" + url.split("/")[-1], "wb") as npm_package_file:
npm_package_file.write(requests.get(url))
def download_all_package():
packages_urls = get_all_urls_packages()
for package_url in packages_urls:
download_npm_package(package_url, "npm-packages")
def main():
npm_create_package_lock_file(argv[1])
urls_packages = get_all_urls_packages()
if __name__ == "__main__":
main()