It looks like sv add assumes it should write to a vite.config.ts file if it detects that it's in a TypeScript project, even if vite.config.js already exists. To reproduce:
npx sv create vite-config-repro --template=minimal --types=ts --no-add-ons --install=pnpm
cd vite-config-repro
mv vite.config.ts vite.config.js
npx sv add devtools-json --install=pnpm
ls vite.config.*