Add better comments and error messages for pack-related changes

This commit is contained in:
Andrew Eisenberg 2021-06-04 10:18:24 -07:00
parent 86a804f9a7
commit 6cee818bf3
9 changed files with 35 additions and 17 deletions

View file

@ -767,10 +767,16 @@ function getCodeQLForCmd(cmd: string): CodeQL {
return output;
},
// Download specified packs into the package cache. If the specified
// package and version already exists (e.g., from a previous analysis run),
// then it is not downloaded again (unless the extra option `--force` is
// specified).
/**
* Download specified packs into the package cache. If the specified
* package and version already exists (e.g., from a previous analysis run),
* then it is not downloaded again (unless the extra option `--force` is
* specified).
*
* If no version is specified, then the latest version is
* downloaded. The check to determine what the latest version is is done
* each time this package is requested.
*/
async packDownload(packs: PackWithVersion[]): Promise<PackDownloadOutput> {
const args = [
"pack",
@ -793,7 +799,7 @@ function getCodeQLForCmd(cmd: string): CodeQL {
return JSON.parse(output) as PackDownloadOutput;
} catch (e) {
throw new Error(
`Attempted to download specified packs but got error ${e}.`
`Attempted to download specified packs but got an error:${"\n"}${output}.`
);
}
},

View file

@ -1411,7 +1411,7 @@ test(
/The configuration file "\/a\/b" is invalid: property "packs" must be an array of non-empty strings/
);
test(invalidPackNameMacro, "c");
test(invalidPackNameMacro, "c"); // all packs require at least a scope and a name
test(invalidPackNameMacro, "c-/d");
test(invalidPackNameMacro, "-c/d");
test(invalidPackNameMacro, "c/d_d");

View file

@ -1016,7 +1016,10 @@ async function loadConfig(
};
}
// Only alpha-numeric characters, with `-` allowed as long as not the first or last char
/**
* Pack names must be in the form of `scope/name`, with only alpha-numeric characters,
* and `-` allowed as long as not the first or last char.
**/
const PACK_IDENTIFIER_PATTERN = (function () {
const alphaNumeric = "[a-z0-9]";
const alphaNumericDash = "[a-z0-9-]";