diff --git a/scripts/package/dump b/scripts/package/dump index 9745ddcde..f6cc10661 100755 --- a/scripts/package/dump +++ b/scripts/package/dump @@ -6,7 +6,7 @@ source "$DOTLY_PATH/scripts/package/utils/dump.sh" ##? Dump all installed packages from: ##? * Brew ##? * Python -##? * NPM +##? * Volta.sh or NPM ##? ##? Usage: ##? dump @@ -15,6 +15,11 @@ docs::parse "$@" platform::is_macos && package::brew_dump && output::answer "Brew apps dumped on $HOMEBREW_DUMP_FILE_PATH" platform::command_exists pip3 && package::python_dump && output::answer "Python apps dumped on $PYTHON_DUMP_FILE_PATH" -platform::command_exists npm && package::npm_dump && output::answer "NPM apps dumped on $NPM_DUMP_FILE_PATH" + +if platform::command_exists volta; then + package::volta_dump && output::answer "Volta apps dumped on $VOLTA_DUMP_FILE_PATH" +elif platform::command_exists npm; then + package::npm_dump && output::answer "NPM apps dumped on $NPM_DUMP_FILE_PATH" +fi output::solution 'All packages dumped' diff --git a/scripts/package/import b/scripts/package/import index 328dff630..a090dd9d1 100755 --- a/scripts/package/import +++ b/scripts/package/import @@ -6,7 +6,7 @@ source "$DOTLY_PATH/scripts/package/utils/dump.sh" ##? Import previously dumped packages from: ##? * Brew ##? * Python -##? * NPM +##? * Volta or NPM ##? ##? Usage: ##? import @@ -17,6 +17,11 @@ output::write "🎩 Let's import your packages (this could take a while)" platform::is_macos && output::header "Importing Brew apps from $HOMEBREW_DUMP_FILE_PATH" && package::brew_import platform::command_exists pip3 && output::header "Importing Python apps from $PYTHON_DUMP_FILE_PATH" && package::python_import -platform::command_exists npm && output::header "Importing NPM apps from $NPM_DUMP_FILE_PATH" && package::npm_import + +if platform::command_exists volta; then + output::header "Importing Volta apps from $VOLTA_DUMP_FILE_PATH" && package::volta_import +elif platform::command_exists npm; then + output::header "Importing NPM apps from $NPM_DUMP_FILE_PATH" && package::npm_import +fi output::solution 'All packages imported' diff --git a/scripts/package/utils/dump.sh b/scripts/package/utils/dump.sh index 260642aff..77da74df6 100644 --- a/scripts/package/utils/dump.sh +++ b/scripts/package/utils/dump.sh @@ -3,6 +3,7 @@ HOMEBREW_DUMP_FILE_PATH="$DOTFILES_PATH/os/mac/brew/Brewfile" PYTHON_DUMP_FILE_PATH="$DOTFILES_PATH/langs/python/requirements.txt" NPM_DUMP_FILE_PATH="$DOTFILES_PATH/langs/js/global_modules.txt" +VOLTA_DUMP_FILE_PATH="$DOTFILES_PATH/langs/js/volta_dependencies.txt" package::brew_dump() { mkdir -p "$DOTFILES_PATH/os/mac/brew" @@ -40,3 +41,15 @@ package::npm_import() { xargs -I_ npm install -g "_" <"$NPM_DUMP_FILE_PATH" fi } + +package::volta_dump() { + mkdir -p "$DOTFILES_PATH/langs/js" + + volta list all --format plain | awk '{print $2}' >"$VOLTA_DUMP_FILE_PATH" +} + +package::volta_import() { + if [ -f "$VOLTA_DUMP_FILE_PATH" ]; then + xargs -I_ volta install "_" <"$VOLTA_DUMP_FILE_PATH" + fi +}