Skip to content

Commit e5fc157

Browse files
authored
refactor: conditionally run based on the package manager (#1205)
* refactor: conditionally run based on the package manager * Update pre-push
1 parent 2765b36 commit e5fc157

File tree

1 file changed

+14
-5
lines changed

1 file changed

+14
-5
lines changed

.husky/pre-push

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,19 @@ check_pnpm_files() {
1717
}
1818

1919
# List of all check functions
20-
CHECK_FUNCTIONS=(
21-
"check_npm_files"
20+
# Detect the lock file to determine the package manager
21+
if [ -f "pnpm-lock.yaml" ]; then
22+
CHECK_FUNCTIONS=(
2223
"check_pnpm_files"
2324
)
25+
elif [ -f "package-lock.json" ]; then
26+
CHECK_FUNCTIONS=(
27+
"check_npm_files"
28+
)
29+
else
30+
echo "No lock file detected for pnpm or npm. Aborting pre-push checks."
31+
exit 1
32+
fi
2433

2534
# Check for changes in specified files before pushing and run corresponding commands
2635
## Get the upstream branch
@@ -37,18 +46,18 @@ if [ -z "$UPSTREAM" ]; then
3746
fi
3847

3948
## Get the list of files changed between upstream and HEAD
40-
FILES=$(git diff --name-only $UPSTREAM..HEAD)
49+
FILES=$(git diff --name-only "$UPSTREAM"..HEAD)
4150

4251
## Check each pattern and run corresponding command
4352
for check_function in "${CHECK_FUNCTIONS[@]}"; do
4453
# Call the check function to set variables
4554
$check_function
46-
55+
4756
if echo "$FILES" | grep -qE "$PATTERN"; then
4857
echo "Detected changes in $DESCRIPTION"
4958

5059
## Run the corresponding command
51-
eval "$COMMAND"
60+
$COMMAND
5261

5362
if [ $? -ne 0 ]; then
5463
echo "Command failed: $COMMAND. Aborting push."

0 commit comments

Comments
 (0)