feat: custom repository and download many packages

This commit is contained in:
2022-03-13 09:23:34 +02:00
parent 2d3525a988
commit dfcdcff04a

View File

@@ -1,5 +1,17 @@
#!/bin/bash
print_help() {
echo -e
echo -e "For DOWNLOAD"
echo -e "$0 <package> OR $0 ."
echo -e
echo -e "For UPLOAD"
echo -e "$0 <nexus_host> <repository>"
echo -e "Like this:"
echo -e "<nexus_host>/service/rest/v1/components?repository=<repository>"
echo -e
}
npm_cretae_package_lock_file() {
if [[ $# > 0 ]]; then
local package=$1
@@ -12,9 +24,20 @@ download_package() {
wget $url_package
}
npm_publish_package() {
local package_filename=$1
npm publish $package_filename
# npm_publish_package() {
# local package_filename=$1
# npm publish $package_filename
# }
# insert nexus_host, repository and package to upload
upload_package() {
local nexus_host=$1
local repository=$2
local package=$3
curl -X POST "$nexus_host/service/rest/v1/components?repository=$repository" \
-H "accept: application/json" \
-H "Content-Type: multipart/form-data" \
-F "npm.asset=@$package" -i
}
get_all_packages_urls() {
@@ -33,13 +56,12 @@ publish_all_packages() {
local packages_filenames=($(ls *.tgz))
for package_name in ${packages_filenames[@]};
do
npm_publish_package $package_name
upload_package $@ $package_name
done
}
remove_all_local_packages_and_json() {
rm *.tgz
rm *.json
rm *.tgz *.json
}
echo_npm_registry() {
@@ -47,19 +69,17 @@ echo_npm_registry() {
}
if [[ -n $(ls *.tgz) ]]; then
echo "NPM Registry is $(echo_npm_registry)"
echo "Are you sure you want publish to this registry?[y/n]:"
read -n 1 ans
if [[ ${ans^^} == "Y" ]]; then
publish_all_packages
remove_all_local_packages_and_json
fi
else
if npm_cretae_package_lock_file $1; then
main() {
if [[ $# -eq 1 ]]; then
npm_cretae_package_lock_file $@
urls_packages=($(get_all_packages_urls))
download_all_package ${urls_packages[@]}
else
elif [[ $# -eq 2 ]]; then
publish_all_packages $@
remove_all_local_packages_and_json
else
print_help
fi
fi
}
main $@