in src/commands/draft/draftCommands.ts [151:200]
name: basename(name, extname(name)),
path: join(".github", "workflows", name),
};
});
} catch {
// If the directory doesn't exist, that's fine - it just means there will be no existing workflow files.
}
const panel = new DraftWorkflowPanel(extension.extensionUri);
const dataProvider = new DraftWorkflowDataProvider(
sessionProvider.result,
workspaceFolder,
draftBinaryPath,
kubectl,
session.result,
accessibleRepos,
existingWorkflowFiles,
params?.initialSelection || {},
);
panel.show(dataProvider);
}
export async function draftValidate(_context: IActionContext, target: unknown): Promise<void> {
const params = getDraftDockerfileParams(target);
const commonDependencies = await getCommonDraftDependencies(params?.workspaceFolder);
if (commonDependencies === null) {
return;
}
const { workspaceFolder, extension, draftBinaryPath } = commonDependencies;
const panel = new DraftValidatePanel(extension.extensionUri);
const dataProvider = new DraftValidateDataProvider(workspaceFolder, draftBinaryPath, params?.initialLocation || "");
panel.show(dataProvider);
}
async function getCommonDraftDependencies(
suppliedWorkspaceFolder?: WorkspaceFolder,
): Promise<DraftDependencies | null> {
let workspaceFolder: WorkspaceFolder;
if (suppliedWorkspaceFolder) {
workspaceFolder = suppliedWorkspaceFolder;
} else {
if (!workspace.workspaceFolders || workspace.workspaceFolders.length === 0) {
window.showErrorMessage("You must have a workspace open to run Draft commands.");
return null;
}
workspaceFolder = workspace.workspaceFolders[0];
if (workspace.workspaceFolders.length > 1) {
const pickResult = await window.showWorkspaceFolderPick({