Import from root chezmoi source
This commit is contained in:
commit
3eeef30313
61 files changed
+2833
No files matched your search
@@ -0,0 +1,42 @@
|
||||
# ~/.config/fish/conf.d/pnpm-filter.fish
|
||||
|
||||
# Shared helper: pick a workspace package name via gum filter
|
||||
function __pnpm_pick_pkg
|
||||
pnpm m ls --depth -1 --json 2>/dev/null \
|
||||
| jq -r '.[] | select(.name != null) | .name' \
|
||||
| gum filter --placeholder "Select package…" --height 12
|
||||
end
|
||||
|
||||
# pnpmf: add deps to a selected package
|
||||
# usage: pnpmf viem zod
|
||||
function pnpmf -d "pnpm add to a workspace package (gum filter)"
|
||||
set -l pkg (__pnpm_pick_pkg); or return
|
||||
gum spin --title "Adding $argv → $pkg" -- pnpm --filter $pkg add $argv
|
||||
end
|
||||
|
||||
# pnpmfd: add devDependencies
|
||||
function pnpmfd -d "pnpm add -D to a workspace package"
|
||||
set -l pkg (__pnpm_pick_pkg); or return
|
||||
gum spin --title "Adding (dev) $argv → $pkg" -- pnpm --filter $pkg add -D $argv
|
||||
end
|
||||
|
||||
# pnpmfr: remove deps
|
||||
function pnpmfr -d "pnpm remove from a workspace package"
|
||||
set -l pkg (__pnpm_pick_pkg); or return
|
||||
pnpm --filter $pkg remove $argv
|
||||
end
|
||||
|
||||
# pnpmfw: link a sibling workspace package (workspace:^)
|
||||
function pnpmfw -d "pnpm add --workspace sibling package"
|
||||
set -l pkg (__pnpm_pick_pkg); or return
|
||||
set -l dep (__pnpm_pick_pkg); or return
|
||||
pnpm --filter $pkg add $dep --workspace
|
||||
end
|
||||
|
||||
# pnpmfx: run a script in a selected package, script also picked via gum
|
||||
function pnpmfx -d "pnpm run script in a workspace package"
|
||||
set -l pkg (__pnpm_pick_pkg); or return
|
||||
set -l dir (pnpm m ls --depth -1 --json | jq -r ".[] | select(.name == \"$pkg\") | .path")
|
||||
set -l script (jq -r '.scripts | keys[]' $dir/package.json | gum filter --placeholder "Script…"); or return
|
||||
pnpm --filter $pkg run $script
|
||||
end
|
||||
Reference in new issue
Block a user