From 2a172759b6cfbff3d705f22715bea8e85bc4dae1 Mon Sep 17 00:00:00 2001 From: Sergei Zharinov <zharinov@users.noreply.github.com> Date: Fri, 24 Mar 2023 15:12:21 +0300 Subject: [PATCH] feat: Better defaults for Codespaces configuration (#21113) --- lib/workers/global/config/parse/codespaces.ts | 24 +++++++++++++++++++ lib/workers/global/config/parse/index.ts | 3 +++ 2 files changed, 27 insertions(+) create mode 100644 lib/workers/global/config/parse/codespaces.ts diff --git a/lib/workers/global/config/parse/codespaces.ts b/lib/workers/global/config/parse/codespaces.ts new file mode 100644 index 0000000000..795a5afccd --- /dev/null +++ b/lib/workers/global/config/parse/codespaces.ts @@ -0,0 +1,24 @@ +import readline from 'readline'; +import type { AllConfig } from '../../../../config/types'; + +// istanbul ignore next +export async function setConfig(config: AllConfig): Promise<AllConfig> { + if (process.env.CODESPACES !== 'true') { + return config; + } + + if (!config.token && process.env.GITHUB_TOKEN) { + config.token = process.env.GITHUB_TOKEN; + } + + if (!config.repositories?.length) { + const rl = readline.promises.createInterface({ + input: process.stdin, + output: process.stdout, + }); + const repo = await rl.question('\n\nRepository name: '); + config.repositories = [repo]; + } + + return config; +} diff --git a/lib/workers/global/config/parse/index.ts b/lib/workers/global/config/parse/index.ts index 0823d06c6f..58352098df 100644 --- a/lib/workers/global/config/parse/index.ts +++ b/lib/workers/global/config/parse/index.ts @@ -6,6 +6,7 @@ import { detectAllGlobalConfig } from '../../../../modules/manager'; import { ensureDir, getParentDir, readSystemFile } from '../../../../util/fs'; import { ensureTrailingSlash } from '../../../../util/url'; import * as cliParser from './cli'; +import * as codespaces from './codespaces'; import * as envParser from './env'; import * as fileParser from './file'; import { hostRulesFromEnv } from './host-rules-from-env'; @@ -25,6 +26,8 @@ export async function parseConfigs( let config: AllConfig = mergeChildConfig(fileConfig, envConfig); config = mergeChildConfig(config, cliConfig); + config = await codespaces.setConfig(config); + const combinedConfig = config; config = mergeChildConfig(defaultConfig, config); -- GitLab