Move .sarif predicates into UploadTarget instances and rename

This commit is contained in:
Michael B. Gale
2025-06-26 11:43:36 +01:00
parent 71dd63398f
commit 08955dbc0d
6 changed files with 16 additions and 24 deletions

16
lib/upload-lib.js generated
View File

@@ -36,7 +36,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.InvalidSarifUploadError = exports.CodeQualityTarget = exports.CodeScanningTarget = exports.defaultIsSarif = exports.qualityIsSarif = exports.SARIF_UPLOAD_ENDPOINT = void 0;
exports.InvalidSarifUploadError = exports.CodeQualityTarget = exports.CodeScanningTarget = exports.SARIF_UPLOAD_ENDPOINT = void 0;
exports.shouldShowCombineSarifFilesDeprecationWarning = shouldShowCombineSarifFilesDeprecationWarning;
exports.populateRunAutomationDetails = populateRunAutomationDetails;
exports.findSarifFilesInDir = findSarifFilesInDir;
@@ -282,13 +282,9 @@ async function uploadPayload(payload, repositoryNwo, logger, target = SARIF_UPLO
throw (0, api_client_1.wrapApiConfigurationError)(e);
}
}
const qualityIsSarif = (name) => name.endsWith(".quality.sarif");
exports.qualityIsSarif = qualityIsSarif;
const defaultIsSarif = (name) => name.endsWith(".sarif") && !(0, exports.qualityIsSarif)(name);
exports.defaultIsSarif = defaultIsSarif;
// Recursively walks a directory and returns all SARIF files it finds.
// Does not follow symlinks.
function findSarifFilesInDir(sarifPath, isSarif = exports.defaultIsSarif) {
function findSarifFilesInDir(sarifPath, isSarif = exports.CodeScanningTarget.sarifPredicate) {
const sarifFiles = [];
const walkSarifFiles = (dir) => {
const entries = fs.readdirSync(dir, { withFileTypes: true });
@@ -304,7 +300,7 @@ function findSarifFilesInDir(sarifPath, isSarif = exports.defaultIsSarif) {
walkSarifFiles(sarifPath);
return sarifFiles;
}
function getSarifFilePaths(sarifPath, isSarif = exports.defaultIsSarif) {
function getSarifFilePaths(sarifPath, isSarif = exports.CodeScanningTarget.sarifPredicate) {
if (!fs.existsSync(sarifPath)) {
// This is always a configuration error, even for first-party runs.
throw new util_1.ConfigurationError(`Path does not exist: ${sarifPath}`);
@@ -425,14 +421,14 @@ function buildPayload(commitOid, ref, analysisKey, analysisName, zippedSarif, wo
exports.CodeScanningTarget = {
name: "code scanning",
target: SARIF_UPLOAD_ENDPOINT.CODE_SCANNING_UPLOAD_TARGET,
sarifFilter: exports.defaultIsSarif,
sarifPredicate: (name) => name.endsWith(".sarif") && !exports.CodeQualityTarget.sarifPredicate(name),
sentinelPrefix: "CODEQL_UPLOAD_SARIF_",
};
// Represents the Code Quality upload target.
exports.CodeQualityTarget = {
name: "code quality",
target: SARIF_UPLOAD_ENDPOINT.CODE_QUALITY_UPLOAD_TARGET,
sarifFilter: exports.qualityIsSarif,
sarifPredicate: (name) => name.endsWith(".quality.sarif"),
sentinelPrefix: "CODEQL_UPLOAD_QUALITY_SARIF_",
};
/**
@@ -440,7 +436,7 @@ exports.CodeQualityTarget = {
* to.
*/
async function uploadFiles(inputSarifPath, checkoutPath, category, features, logger, uploadTarget = exports.CodeScanningTarget) {
const sarifPaths = getSarifFilePaths(inputSarifPath, uploadTarget.sarifFilter);
const sarifPaths = getSarifFilePaths(inputSarifPath, uploadTarget.sarifPredicate);
return uploadSpecifiedFiles(sarifPaths, checkoutPath, category, features, logger, uploadTarget);
}
/**