Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 7 additions & 2 deletions scripts/package/dump
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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'
9 changes: 7 additions & 2 deletions scripts/package/import
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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'
13 changes: 13 additions & 0 deletions scripts/package/utils/dump.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down Expand Up @@ -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
}