mirror of
https://github.com/kogakure/dotfiles.git
synced 2026-02-03 12:15:29 +00:00
feat(tmux): add session feature from sesh
This commit is contained in:
72
bin/d
Executable file
72
bin/d
Executable file
@@ -0,0 +1,72 @@
|
||||
#!/bin/sh
|
||||
# Shamelessly copied from Josh Medeski
|
||||
# https://github.com/joshmedeski/dotfiles/blob/main/.config/bin/d
|
||||
|
||||
# Get argument for script key/name, default to dev
|
||||
DEV_SCRIPT="${1:-dev}"
|
||||
|
||||
# First, check if the jq command is available
|
||||
# AND there is a package.json file in the current directory
|
||||
if command -v jq &>/dev/null && [[ -f "package.json" ]]; then
|
||||
# if we have jq,
|
||||
# then use it to extract the first occurence of a key in package.json's scripts object
|
||||
# that starts with the argument passed in (or dev)
|
||||
DEV_SCRIPT="$(jq \
|
||||
-r \
|
||||
--arg ds "$DEV_SCRIPT" \
|
||||
'first(.scripts | keys[] | select(. | test("^\($ds)[^\"]*")))' \
|
||||
package.json)"
|
||||
# if this didn't match anything, fallback to dev
|
||||
DEV_SCRIPT="${DEV_SCRIPT:-dev}"
|
||||
fi
|
||||
|
||||
if [ -f "d" ]; then
|
||||
./d "$@"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ -f package-lock.json ]; then
|
||||
echo "npm run $DEV_SCRIPT"
|
||||
npm run "$DEV_SCRIPT"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ -f yarn.lock ]; then
|
||||
echo "yarn $DEV_SCRIPT"
|
||||
yarn "$DEV_SCRIPT"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ -f pnpm-lock.yaml ]; then
|
||||
echo "pnpm run $DEV_SCRIPT"
|
||||
pnpm run "$DEV_SCRIPT"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ -f bun.lockb ]; then
|
||||
echo "bun $DEV_SCRIPT"
|
||||
pnpm run "$DEV_SCRIPT"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
BASE_NAME="$(basename "$(pwd)")"
|
||||
|
||||
cd ..
|
||||
if [ -f pnpm-lock.yaml ]; then
|
||||
cd "$BASE_NAME" || exit
|
||||
pnpm run "$DEV_SCRIPT"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
PARENT_BASE_NAME="$(basename "$(pwd)")"
|
||||
|
||||
cd ..
|
||||
if [ -f pnpm-lock.yaml ]; then
|
||||
cd "$PARENT_BASE_NAME" || exit
|
||||
cd "$BASE_NAME" || exit
|
||||
pnpm run "$DEV_SCRIPT"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo " Node package not detected"
|
||||
exit 1
|
||||
Reference in New Issue
Block a user