bytecodealliance / bytecodealliance/wasmtime

CLI --dir cannot represent directory paths containing literal `::`

Open
#13,873 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
18.6k
Forks
1.8k
Avg merge
1d 18h
Merged PRs (30d)
126

Description

The existing `--dir=HOST::GUEST` syntax is ambiguous when either path contains `::`.

Consider supporting a two-argument form:

```bash
wasmtime --dir HOST GUEST program.wasm
```

The existing syntax could remain as a backward-compatible alias:

```bash
--dir=HOST::GUEST
```

This avoids introducing custom escaping rules and lets both paths represent valid filesystem names directly.

the ("--dir HOST GUEST" and "--dir=HOST::GUEST") two-argument behavior may be unclear.Consider:
```
wasmtime --map-dir A::B C::D program.wasm
```

The existing `--dir` syntax can remain supported for backward compatibility (only in the `--dir=HOST::GUEST` form). Meanwhile, `--map-dir` more clearly conveys that the first directory is mapped to the second, while avoiding the need for any custom escaping rules.

Contributor guide

Open the contributing guide

Research direction

Start at the CLI parsing entry point for the existing --dir=HOST::GUEST form and inspect any related --map-dir handling or tests. Clarify which two-argument interface is intended, then verify that paths containing literal :: work while the existing --dir form remains backward compatible.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
cli
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.