@@ -28,16 +28,15 @@ import {
2828 isCodespacesTemplate ,
2929 setQlPackLocation ,
3030} from "../config" ;
31- import { lstat , pathExists , readFile } from "fs-extra" ;
31+ import { lstat , pathExists } from "fs-extra" ;
3232import { askForLanguage } from "../codeql-cli/query-language" ;
3333import { showInformationMessageWithAction } from "../common/vscode/dialog" ;
3434import { redactableError } from "../common/errors" ;
3535import { App } from "../common/app" ;
3636import { QueryTreeViewItem } from "../queries-panel/query-tree-view-item" ;
3737import { containsPath , pathsEqual } from "../common/files" ;
3838import { getQlPackPath } from "../common/ql" ;
39- import { load } from "js-yaml" ;
40- import { QlPackFile } from "../packaging/qlpack-file" ;
39+ import { getQlPackLanguage } from "../common/qlpack-language" ;
4140
4241type QueryLanguagesToDatabaseMap = Record < string , string > ;
4342
@@ -253,24 +252,12 @@ export class SkeletonQueryWizard {
253252 return undefined ;
254253 }
255254
256- const qlPack = load ( await readFile ( qlPackPath , "utf8" ) ) as
257- | QlPackFile
258- | undefined ;
259- const dependencies = qlPack ?. dependencies ;
260- if ( ! dependencies || typeof dependencies !== "object" ) {
261- return ;
262- }
263-
264- const matchingLanguages = Object . values ( QueryLanguage ) . filter (
265- ( language ) => `codeql/${ language } -all` in dependencies ,
266- ) ;
267- if ( matchingLanguages . length !== 1 ) {
268- return undefined ;
255+ const language = await getQlPackLanguage ( qlPackPath ) ;
256+ if ( language ) {
257+ this . qlPackStoragePath = matchingQueryPackPath ;
269258 }
270259
271- this . qlPackStoragePath = matchingQueryPackPath ;
272-
273- return matchingLanguages [ 0 ] ;
260+ return language ;
274261 }
275262
276263 private async chooseLanguage ( ) {
0 commit comments