crunchloop / crunchloop/devcontainer

config: add json struct tags to ResolvedConfig for stable CLI JSON output

Aperta
#77 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
area/config enhancement
Lingua principale
Go
Stelle
5
Fork
0
Merge medio
6h 17m
PR unite (30g)
15

Descrizione

\`config.ResolvedConfig\` has no \`json:\` struct tags, so \`encoding/json\` emits Go-PascalCase field names (\`DevcontainerID\`, \`Source\`, \`ContainerWorkspaceFolder\`, …).

That's fine when the library is embedded, but it makes \`devcontainer read-configuration\` output awkward for anyone piping into \`jq\` — and it's not a stable shape (a struct field rename silently changes the JSON key).

Add explicit \`json:\` tags using camelCase / spec-style names where the spec defines them (\`workspaceFolder\`, \`remoteUser\`, \`containerEnv\`, etc.), and our own conventions for fields not in the spec (\`devcontainerId\`, \`source\`, \`warnings\`).

Benefits:
- Stable CLI output shape, usable with \`jq\`
- Spec-aligned where it makes sense
- Cheaper for any future programmatic consumer

Worth verifying nothing else in the repo (tests, examples) depends on the current PascalCase JSON.

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.