diff --git a/dist/index.js b/dist/index.js index 5e4739a51..798e67eee 100644 --- a/dist/index.js +++ b/dist/index.js @@ -4847,6 +4847,9 @@ function configAuthentication(feedUrl, existingFileLocation = '', processRoot = writeFeedToFile(feedUrl, existingNuGetConfig, tempNuGetConfig); } exports.configAuthentication = configAuthentication; +function isValidKey(key) { + return /^[\w\-\.]+$/i.test(key); +} function getExistingNugetConfig(processRoot) { const defaultConfigName = 'nuget.config'; const configFileNames = fs @@ -4922,8 +4925,8 @@ function writeFeedToFile(feedUrl, existingFileLocation, tempFileLocation) { } xml = xml.ele('packageSourceCredentials'); sourceKeys.forEach(key => { - if (key.indexOf(' ') > -1) { - throw new Error("This action currently can't handle source names with spaces. Remove the space from your repo's NuGet.config and try again."); + if (!isValidKey(key)) { + throw new Error("Source name can contain letters, numbers, and '-', '_', '.' symbols only. Please, fix source name in NuGet.config and try again."); } xml = xml .ele(key) diff --git a/src/authutil.ts b/src/authutil.ts index d8ddef0d2..95999794e 100644 --- a/src/authutil.ts +++ b/src/authutil.ts @@ -27,6 +27,10 @@ export function configAuthentication( writeFeedToFile(feedUrl, existingNuGetConfig, tempNuGetConfig); } +function isValidKey(key: string): boolean { + return /^[\w\-\.]+$/i.test(key); +} + function getExistingNugetConfig(processRoot: string) { const defaultConfigName = 'nuget.config'; const configFileNames = fs @@ -122,9 +126,9 @@ function writeFeedToFile( xml = xml.ele('packageSourceCredentials'); sourceKeys.forEach(key => { - if (key.indexOf(' ') > -1) { + if (!isValidKey(key)) { throw new Error( - "This action currently can't handle source names with spaces. Remove the space from your repo's NuGet.config and try again." + "Source name can contain letters, numbers, and '-', '_', '.' symbols only. Please, fix source name in NuGet.config and try again." ); }