in src/integratedShell.ts [28:59]
public async visualize(): Promise<void> {
if (!await isDotInstalled()) {
TelemetryWrapper.sendError(Error("dotNotInstalled"));
return;
}
const cwd: string = await selectWorkspaceFolder();
if (!cwd) {
TelemetryWrapper.sendError(Error("noWorkspaceSelected"));
return;
}
await this.deletePng(cwd);
await executeCommand(
"terraform",
["init"],
{
shell: true,
cwd,
},
);
const output: string = await executeCommand(
"terraform",
["graph"],
{
shell: true,
cwd,
},
);
const tmpFile: string = path.join(os.tmpdir(), "terraformgraph.output");
await fse.writeFile(tmpFile, output);
await drawGraph(cwd, tmpFile);
await commands.executeCommand("vscode.open", Uri.file(path.join(cwd, IntegratedShell.GRAPH_FILE_NAME)), ViewColumn.Two);
}