async function delInstance (url: string) {
const [ settings, netrc ] = await Promise.all([ getSettings(), getNetrc() ])
- settings.remotes.splice(settings.remotes.indexOf(url))
+ const index = settings.remotes.indexOf(url)
+ settings.remotes.splice(index)
+
+ if (settings.default === index) settings.default = -1
+
await writeSettings(settings)
delete netrc.machines[url]
await netrc.save()
}
-async function setInstance (url: string, username: string, password: string) {
+async function setInstance (url: string, username: string, password: string, isDefault: boolean) {
const [ settings, netrc ] = await Promise.all([ getSettings(), getNetrc() ])
if (settings.remotes.indexOf(url) === -1) {
settings.remotes.push(url)
}
+
+ if (isDefault || settings.remotes.length === 1) {
+ settings.default = settings.remotes.length - 1
+ }
+
await writeSettings(settings)
netrc.machines[url] = { login: username, password }
}
}
}, async (_, result) => {
- await setInstance(result.url, result.username, result.password)
+ await setInstance(result.url, result.username, result.password, program['default'])
process.exit(0)
})