diff --git a/lib/init-action.js b/lib/init-action.js index bef956e4a..c529cabbd 100644 --- a/lib/init-action.js +++ b/lib/init-action.js @@ -86442,17 +86442,24 @@ function parseQueriesFromInput(rawQueriesInput, queriesInputCombines, errorToThr } return trimmedInput.split(",").map((query) => ({ uses: query.trim() })); } -function generateCodeScanningConfig(originalUserInput, augmentationProperties) { - const augmentedConfig = cloneObject(originalUserInput); +function combineQueries(augmentedConfig, augmentationProperties) { if (augmentationProperties.queriesInput) { if (augmentationProperties.queriesInputCombines) { - augmentedConfig.queries = (augmentedConfig.queries || []).concat( + return (augmentedConfig.queries || []).concat( augmentationProperties.queriesInput ); } else { - augmentedConfig.queries = augmentationProperties.queriesInput; + return augmentationProperties.queriesInput; } } + return augmentedConfig.queries; +} +function generateCodeScanningConfig(originalUserInput, augmentationProperties) { + const augmentedConfig = cloneObject(originalUserInput); + augmentedConfig.queries = combineQueries( + augmentedConfig, + augmentationProperties + ); if (augmentedConfig.queries?.length === 0) { delete augmentedConfig.queries; } diff --git a/src/config/db-config.ts b/src/config/db-config.ts index 501e47a5f..231530d11 100644 --- a/src/config/db-config.ts +++ b/src/config/db-config.ts @@ -361,6 +361,30 @@ function parseQueriesFromInput( return trimmedInput.split(",").map((query) => ({ uses: query.trim() })); } +/** + * Combines queries from various configuration sources. + * + * @param augmentedConfig The loaded configuration file (either `config-file` or `config` input). + * @param augmentationProperties Additional configuration data from other sources. + * @returns Returns `augmentedConfig` with `queries` set to the computed array of queries. + */ +function combineQueries( + augmentedConfig: UserConfig, + augmentationProperties: AugmentationProperties, +): QuerySpec[] | undefined { + if (augmentationProperties.queriesInput) { + if (augmentationProperties.queriesInputCombines) { + return (augmentedConfig.queries || []).concat( + augmentationProperties.queriesInput, + ); + } else { + return augmentationProperties.queriesInput; + } + } + + return augmentedConfig.queries; +} + export function generateCodeScanningConfig( originalUserInput: UserConfig, augmentationProperties: AugmentationProperties, @@ -369,15 +393,10 @@ export function generateCodeScanningConfig( const augmentedConfig = cloneObject(originalUserInput); // Inject the queries from the input - if (augmentationProperties.queriesInput) { - if (augmentationProperties.queriesInputCombines) { - augmentedConfig.queries = (augmentedConfig.queries || []).concat( - augmentationProperties.queriesInput, - ); - } else { - augmentedConfig.queries = augmentationProperties.queriesInput; - } - } + augmentedConfig.queries = combineQueries( + augmentedConfig, + augmentationProperties, + ); if (augmentedConfig.queries?.length === 0) { delete augmentedConfig.queries; }