Proposal: per-task shell/interpreter selection (bash/zsh/pwsh/node) + explicit script mode
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Facilidade para iniciantes
- 42/100
Direção de pesquisa
Comece por crates/vite_task_plan/src/plan.rs e PR #100 para entender o tratamento existente de fallback e de argumentos do shell. O MVP estará concluído quando um shell opcional por tarefa executar o comando como um único script, preservando o comportamento padrão; a sintaxe e a interação com outros modos ainda precisam de decisões de design.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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.
- Linguagem predominante
- Rust
- Estrelas
- 468
- Forks
- 42
- Merge médio
- 2d 1h
- PRs com merge (30d)
- 45
Preparar o ambiente
Inicia o contêiner de desenvolvimento do projeto no navegador, com a sua própria conta do GitHub.
- Sem Dockerfile nem arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de voidzero-dev/vite-task
-
remote cache
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 48/100
voidzero-dev/vite-task#768 ·
Mantenedores costumam responder em até 1 dia
-
remote cache
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 68/100
voidzero-dev/vite-task#767 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 35/100
voidzero-dev/vite-task#738 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 78/100
voidzero-dev/vite-task#719 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 48/100
voidzero-dev/vite-task#717 ·
Mantenedores costumam responder em até 1 dia
Todas as issues de voidzero-dev/vite-task
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
linebender/parley#849 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 86/100
boxlite-ai/boxlite#1729 ·
Mantenedores costumam responder em até 1 dia
-
external
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
langchain-ai/docs#6255 ·
Mantenedores costumam responder em até 1 dia
-
P2 testing
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 90/100
Mantenedores costumam responder em até 1 dia