Skip to content

Commit e263f3a

Browse files
authored
Merge pull request #3954 from github/henrymercer/tidy-resolve-languages
Clean up `codeql.resolveLanguages`
2 parents 9fc351a + ddef289 commit e263f3a

8 files changed

Lines changed: 30 additions & 74 deletions

File tree

lib/entry-points.js

Lines changed: 4 additions & 20 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/codeql.ts

Lines changed: 10 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -117,16 +117,12 @@ export interface CodeQL {
117117
memoryFlag: string,
118118
enableDebugLogging: boolean,
119119
): Promise<void>;
120-
/**
121-
* Run 'codeql resolve languages'.
122-
*/
123-
resolveLanguages(): Promise<ResolveLanguagesOutput>;
124120
/**
125121
* Run 'codeql resolve languages' with '--format=betterjson'.
126122
*/
127-
betterResolveLanguages(options?: {
123+
resolveLanguages(options?: {
128124
filterToLanguagesWithQueries: boolean;
129-
}): Promise<BetterResolveLanguagesOutput>;
125+
}): Promise<ResolveLanguagesOutput>;
130126
/**
131127
* Run 'codeql resolve build-environment'
132128
*/
@@ -239,20 +235,14 @@ export interface ResolveDatabaseOutput {
239235
}
240236

241237
export interface ResolveLanguagesOutput {
242-
[language: string]: [string];
243-
}
244-
245-
export interface BetterResolveLanguagesOutput {
246238
aliases?: {
247239
[alias: string]: string;
248240
};
249241
extractors: {
250-
[language: string]: [
251-
{
252-
extractor_root: string;
253-
extractor_options?: any;
254-
},
255-
];
242+
[language: string]: Array<{
243+
extractor_root: string;
244+
extractor_options?: any;
245+
}>;
256246
};
257247
}
258248

@@ -460,10 +450,9 @@ export function createStubCodeQL(partialCodeql: Partial<CodeQL>): CodeQL {
460450
"extractUsingBuildMode",
461451
),
462452
finalizeDatabase: resolveFunction(partialCodeql, "finalizeDatabase"),
463-
resolveLanguages: resolveFunction(partialCodeql, "resolveLanguages"),
464-
betterResolveLanguages: resolveFunction(
453+
resolveLanguages: resolveFunction(
465454
partialCodeql,
466-
"betterResolveLanguages",
455+
"resolveLanguages",
467456
async () => ({ aliases: {}, extractors: {} }),
468457
),
469458
resolveBuildEnvironment: resolveFunction(
@@ -735,24 +724,7 @@ async function getCodeQLForCmd(
735724
];
736725
await runCli(cmd, args);
737726
},
738-
async resolveLanguages() {
739-
const codeqlArgs = [
740-
"resolve",
741-
"languages",
742-
"--format=json",
743-
...getExtraOptionsFromEnv(["resolve", "languages"]),
744-
];
745-
const output = await runCli(cmd, codeqlArgs);
746-
747-
try {
748-
return JSON.parse(output) as ResolveLanguagesOutput;
749-
} catch (e) {
750-
throw new Error(
751-
`Unexpected output from codeql resolve languages: ${e}`,
752-
);
753-
}
754-
},
755-
async betterResolveLanguages(
727+
async resolveLanguages(
756728
{
757729
filterToLanguagesWithQueries,
758730
}: {
@@ -773,7 +745,7 @@ async function getCodeQLForCmd(
773745
const output = await runCli(cmd, codeqlArgs);
774746

775747
try {
776-
return JSON.parse(output) as BetterResolveLanguagesOutput;
748+
return JSON.parse(output) as ResolveLanguagesOutput;
777749
} catch (e) {
778750
throw new Error(
779751
`Unexpected output from codeql resolve languages with --format=betterjson: ${e}`,

src/config-utils.test.ts

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ function createTestInitConfigInputs(
7575
repository: { owner: "github", repo: "example" },
7676
tempDir: "",
7777
codeql: createStubCodeQL({
78-
async betterResolveLanguages() {
78+
async resolveLanguages() {
7979
return {
8080
extractors: {
8181
html: [{ extractor_root: "" }],
@@ -150,7 +150,7 @@ test.serial("load empty config", async (t) => {
150150
setupActionsVars(tempDir, tempDir);
151151

152152
const codeql = createStubCodeQL({
153-
async betterResolveLanguages() {
153+
async resolveLanguages() {
154154
return {
155155
extractors: {
156156
javascript: [{ extractor_root: "" }],
@@ -193,7 +193,7 @@ test.serial("load code quality config", async (t) => {
193193
setupActionsVars(tempDir, tempDir);
194194

195195
const codeql = createStubCodeQL({
196-
async betterResolveLanguages() {
196+
async resolveLanguages() {
197197
return {
198198
extractors: {
199199
actions: [{ extractor_root: "" }],
@@ -247,7 +247,7 @@ test.serial(
247247
setupActionsVars(tempDir, tempDir);
248248

249249
const codeql = createStubCodeQL({
250-
async betterResolveLanguages() {
250+
async resolveLanguages() {
251251
return {
252252
extractors: {
253253
javascript: [{ extractor_root: "" }],
@@ -305,7 +305,7 @@ test.serial("loading a saved config produces the same config", async (t) => {
305305
const logger = getRunnerLogger(true);
306306

307307
const codeql = createStubCodeQL({
308-
async betterResolveLanguages() {
308+
async resolveLanguages() {
309309
return {
310310
extractors: {
311311
javascript: [{ extractor_root: "" }],
@@ -352,7 +352,7 @@ test.serial("loading config with version mismatch throws", async (t) => {
352352
const logger = getRunnerLogger(true);
353353

354354
const codeql = createStubCodeQL({
355-
async betterResolveLanguages() {
355+
async resolveLanguages() {
356356
return {
357357
extractors: {
358358
javascript: [{ extractor_root: "" }],
@@ -487,7 +487,7 @@ test.serial("load non-empty input", async (t) => {
487487
setupActionsVars(tempDir, tempDir);
488488

489489
const codeql = createStubCodeQL({
490-
async betterResolveLanguages() {
490+
async resolveLanguages() {
491491
return {
492492
extractors: {
493493
javascript: [{ extractor_root: "" }],
@@ -582,7 +582,7 @@ test.serial(
582582
fs.mkdirSync(path.join(tempDir, "foo"));
583583

584584
const codeql = createStubCodeQL({
585-
async betterResolveLanguages() {
585+
async resolveLanguages() {
586586
return {
587587
extractors: {
588588
javascript: [{ extractor_root: "" }],
@@ -615,7 +615,7 @@ test.serial(
615615
test.serial("API client used when reading remote config", async (t) => {
616616
return await withTmpDir(async (tempDir) => {
617617
const codeql = createStubCodeQL({
618-
async betterResolveLanguages() {
618+
async resolveLanguages() {
619619
return {
620620
extractors: {
621621
javascript: [{ extractor_root: "" }],
@@ -725,7 +725,7 @@ test.serial("No detected languages", async (t) => {
725725
mockListLanguages([]);
726726
const codeql = createStubCodeQL({
727727
async resolveLanguages() {
728-
return {};
728+
return { extractors: {} };
729729
},
730730
});
731731

@@ -891,7 +891,7 @@ const mockRepositoryNwo = parseRepositoryNwo("owner/repo");
891891
extractor_root: "",
892892
};
893893
const codeQL = createStubCodeQL({
894-
betterResolveLanguages: (options) =>
894+
resolveLanguages: (options) =>
895895
Promise.resolve({
896896
aliases: {
897897
"c#": BuiltInLanguage.csharp,

src/config-utils.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -266,7 +266,7 @@ async function getSupportedLanguageMap(
266266
const resolveSupportedLanguagesUsingCli = await codeql.supportsFeature(
267267
ToolsFeature.BuiltinExtractorsSpecifyDefaultQueries,
268268
);
269-
const resolveResult = await codeql.betterResolveLanguages({
269+
const resolveResult = await codeql.resolveLanguages({
270270
filterToLanguagesWithQueries: resolveSupportedLanguagesUsingCli,
271271
});
272272
if (resolveSupportedLanguagesUsingCli) {

src/trap-caching.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ const stubCodeql = createStubCodeQL({
3838
async getVersion() {
3939
return makeVersionInfo("2.10.3");
4040
},
41-
async betterResolveLanguages() {
41+
async resolveLanguages() {
4242
return {
4343
extractors: {
4444
[BuiltInLanguage.javascript]: [

src/trap-caching.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -280,7 +280,7 @@ export async function getLanguagesSupportingCaching(
280280
logger: Logger,
281281
): Promise<Language[]> {
282282
const result: Language[] = [];
283-
const resolveResult = await codeql.betterResolveLanguages();
283+
const resolveResult = await codeql.resolveLanguages();
284284
outer: for (const lang of languages) {
285285
const extractorsForLanguage = resolveResult.extractors[lang];
286286
if (extractorsForLanguage === undefined) {

src/workflow.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -383,7 +383,7 @@ async function testLanguageAliases(
383383
process.env.GITHUB_JOB = "test";
384384

385385
const codeql = await getCodeQLForTesting();
386-
sinon.stub(codeql, "betterResolveLanguages").resolves({
386+
sinon.stub(codeql, "resolveLanguages").resolves({
387387
aliases:
388388
aliases !== undefined
389389
? // Remap from languageName -> aliases to alias -> languageName

src/workflow.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ async function groupLanguagesByExtractor(
8686
languages: string[],
8787
codeql: CodeQL,
8888
): Promise<{ [extractorName: string]: string[] } | undefined> {
89-
const resolveResult = await codeql.betterResolveLanguages();
89+
const resolveResult = await codeql.resolveLanguages();
9090
if (!resolveResult.aliases) {
9191
return undefined;
9292
}

0 commit comments

Comments
 (0)