Proposal: per-task shell/interpreter selection (bash/zsh/pwsh/node) + explicit script mode
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 42/100
Piste de recherche
Commencez par crates/vite_task_plan/src/plan.rs et PR #100 pour comprendre la gestion existante du fallback et des arguments du shell. Le MVP est terminé lorsqu’un shell optionnel par tâche exécute la commande comme un script unique tout en préservant le comportement par défaut ; la syntaxe et l’interaction avec les autres modes nécessitent encore des décisions de conception.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Problem
Vite Tasks currently tries to parse commands statically (e.g. && lists) and otherwise falls back to running a shell (/bin/sh -c on Unix or cmd.exe /c on Windows).
However, many real-world tasks need:
- PowerShell on Windows,
- bash-specific features on Unix (vs
/bin/sh), - or explicit “always run as script” mode (never try to split/parse).
Not being able to choose the interpreter makes scripts less portable and pushes authors to wrap everything manually.
Evidence (primary)
- Plan has a hard-coded fallback to
/bin/sh -corcmd.exe /c.
Refs:
- https://github.com/voidzero-dev/vite-task/blob/main/crates/vite_task_plan/src/plan.rs
- PR showing shell-arg handling: https://github.com/voidzero-dev/vite-task/pull/100
Proposed behavior (Unspecified syntax)
Add an optional per-task configuration, e.g.:
shell: "bash -c"orshell: ["powershell.exe","-NoLogo","-Command"]
and/or an execution mode:mode: "auto"(current behavior),mode: "shell"(always run as script via chosen shell),mode: "spawn"(strict direct spawn; fail if not representable)
Use cases
- Windows repos standardizing on PowerShell scripts
- bash-only constructs (process substitution, arrays,
[[ ... ]], etc.) - Avoiding accidental fallback when a task should be strictly spawnable
Backward compatibility
- Default remains current behavior (auto).
- Opt-in only changes behavior for tasks that specify
shell/mode.
Minimal implementation suggestion (MVP)
- Implement
shelloverride for the existing fallback pipeline first:
ifshellis set, run the task command as one script in that shell (no splitting). - Later iterations can decide whether/how to combine with
&&splitting and caching.
- Langage dominant
- Rust
- Étoiles
- 468
- Forks
- 42
- Merge moyen
- 2 j 1 h
- PR mergées (30 j)
- 45
Préparer son environnement
Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de voidzero-dev/vite-task
-
remote cache
Difficulté 4/5 3-5 jours Accessibilité débutants 48/100
voidzero-dev/vite-task#768 ·
Les mainteneurs répondent en général sous 1 jour
-
remote cache
Difficulté 3/5 1-2 jours Accessibilité débutants 68/100
voidzero-dev/vite-task#767 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
voidzero-dev/vite-task#738 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 3/5 1-2 jours Accessibilité débutants 78/100
voidzero-dev/vite-task#719 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 4/5 3-5 jours Accessibilité débutants 48/100
voidzero-dev/vite-task#717 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de voidzero-dev/vite-task
Issues similaires
-
area: dogs area: lookout bug security
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 92/100
Les mainteneurs répondent en général sous 2 jours
-
documentation
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
OpenDevicePartnership/ina4230#31 ·
Les mainteneurs répondent en général sous 1 jour
-
area:breg criticality:p3 documentation triage:needs-implementation
Difficulté 1/5 Moins d'une heure Accessibilité débutants 86/100
registrystack/registry-stack#1713 ·
Les mainteneurs répondent en général sous 1 jour
-
Rename CLAUDE.md to AGENTS.mdOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
posit-dev/ggsql#565 · 1 réaction ·
Les mainteneurs répondent en général sous 1 jour