Description
When --stdout is used with multiple contracts, all outputs are written consecutively to stdout with no delimiter. For JSON format this produces invalid JSON (two concatenated objects). For TypeScript format it produces duplicate export const abi = declarations — also invalid.
Location
src/commands/fetch.ts — the loop calls process.stdout.write(output) for each contract.
Expected behavior
For TypeScript: each contract should get a uniquely named export (e.g., export const nftTraitAbi = ...).
For JSON: output should be a JSON array or use newline-delimited JSON (NDJSON).
Alternatively, error if --stdout + multiple contracts and no clear output strategy.
Description
When
--stdoutis used with multiple contracts, all outputs are written consecutively to stdout with no delimiter. For JSON format this produces invalid JSON (two concatenated objects). For TypeScript format it produces duplicateexport const abi =declarations — also invalid.Location
src/commands/fetch.ts— the loop callsprocess.stdout.write(output)for each contract.Expected behavior
For TypeScript: each contract should get a uniquely named export (e.g.,
export const nftTraitAbi = ...).For JSON: output should be a JSON array or use newline-delimited JSON (NDJSON).
Alternatively, error if
--stdout+ multiple contracts and no clear output strategy.