summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorTobias Järvelöv <tobias.jarvelov@mullvad.net>2026-04-10 17:11:40 +0200
committerTobias Järvelöv <tobias.jarvelov@mullvad.net>2026-04-23 09:35:53 +0200
commit6246a8fa04ffc8c31836932eb6b4bb205cd4a350 (patch)
treeadcd713226bb10d2d4efbdc68eff05cc1c842dda
parent92bdefe365f0da450160c0833b0d7265e63ba080 (diff)
downloadmullvadvpn-6246a8fa04ffc8c31836932eb6b4bb205cd4a350.tar.xz
mullvadvpn-6246a8fa04ffc8c31836932eb6b4bb205cd4a350.zip
Add shell script to replace npm lifecycle operations
-rwxr-xr-xdesktop/scripts/install-scripts.sh57
1 files changed, 57 insertions, 0 deletions
diff --git a/desktop/scripts/install-scripts.sh b/desktop/scripts/install-scripts.sh
new file mode 100755
index 0000000000..b827f55aa3
--- /dev/null
+++ b/desktop/scripts/install-scripts.sh
@@ -0,0 +1,57 @@
+#!/usr/bin/env bash
+set -eu
+
+SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+DESKTOP_DIR="$( cd "$SCRIPT_DIR/.." && pwd )"
+REPO_DIR="$( cd "$SCRIPT_DIR/../.." && pwd )"
+
+source "$REPO_DIR/scripts/utils/log"
+
+function desktop_ci() {
+ desktop_pre_install
+ pushd "$DESKTOP_DIR"
+ npm ci --no-audit --no-fund
+ popd
+ desktop_post_install
+}
+
+function desktop_install() {
+ desktop_pre_install
+ pushd "$DESKTOP_DIR"
+ npm install
+ popd
+ desktop_post_install
+}
+
+
+function desktop_post_install() {
+ # Setup electron after install
+ pushd "$DESKTOP_DIR/node_modules/electron"
+ npm run postinstall
+ popd
+
+ # Run postinstall in our own packages
+ pushd "$DESKTOP_DIR"
+ npm run postinstall --if-present --ws
+ popd
+}
+
+function desktop_pre_install() {
+ # Run preinstall in our own packages
+ pushd "$DESKTOP_DIR"
+ npm run preinstall --if-present --ws
+ popd
+}
+
+case ${1-:""} in
+ ci)
+ desktop_ci
+ ;;
+ install)
+ desktop_install
+ ;;
+ *)
+ log_error "Invalid argument. Specify 'ci' or 'install' as the first argument."
+ exit 1
+esac
+