Skip to content

Commit 3245e14

Browse files
authored
Merge pull request #6 from kddejong/Fix/RunningWhenNotCloudFormation
Don't run cfn-lint if its not a CloudFormation template
2 parents 879e776 + e61f9be commit 3245e14

File tree

1 file changed

+58
-56
lines changed

1 file changed

+58
-56
lines changed

server/src/server.ts

Lines changed: 58 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -118,69 +118,71 @@ function validateCloudFormationFile(document: TextDocument): void {
118118
}
119119

120120
connection.console.log("Is CFN: " + is_cfn);
121-
let args = ['--format', 'json', '--template', file_to_lint];
122-
123-
connection.console.log(`running............. ${Path} ${args}`);
124-
125-
let child = spawn(
126-
Path,
127-
args
128-
);
129-
130-
let diagnostics: Diagnostic[] = [];
131-
let filename = uri.toString();
132-
let start = 0;
133-
let end = Number.MAX_VALUE;
134-
135-
child.stderr.on("data", (data: Buffer) => {
136-
let err = data.toString();
137-
connection.console.log(err);
138-
let lineNumber = 0;
139-
let diagnostic: Diagnostic = {
140-
range: {
141-
start: { line: lineNumber, character: start },
142-
end: { line: lineNumber, character: end }
143-
},
144-
severity: DiagnosticSeverity.Warning,
145-
message: err
146-
};
147-
diagnostics.push(diagnostic);
148-
});
149-
150-
let stdout = "";
151-
child.stdout.on("data", (data: Buffer) => {
152-
stdout = stdout.concat(data.toString());
153-
});
154-
155-
child.on('exit', function (code, signal) {
156-
console.log('child process exited with ' +
157-
`code ${code} and signal ${signal}`);
158-
let tmp = stdout.toString();
159-
let obj = JSON.parse(tmp);
160-
for(let element of obj) {
161-
let lineNumber = (Number.parseInt(element.Location.Start.LineNumber) - 1);
162-
let columnNumber = (Number.parseInt(element.Location.Start.ColumnNumber) - 1);
163-
let lineNumberEnd = (Number.parseInt(element.Location.End.LineNumber) - 1);
164-
let columnNumberEnd = (Number.parseInt(element.Location.End.ColumnNumber) - 1);
121+
122+
if (is_cfn) {
123+
let args = ['--format', 'json', '--template', file_to_lint];
124+
125+
connection.console.log(`running............. ${Path} ${args}`);
126+
127+
let child = spawn(
128+
Path,
129+
args
130+
);
131+
132+
let diagnostics: Diagnostic[] = [];
133+
let filename = uri.toString();
134+
let start = 0;
135+
let end = Number.MAX_VALUE;
136+
137+
child.stderr.on("data", (data: Buffer) => {
138+
let err = data.toString();
139+
connection.console.log(err);
140+
let lineNumber = 0;
165141
let diagnostic: Diagnostic = {
166142
range: {
167-
start: { line: lineNumber, character: columnNumber },
168-
end: { line: lineNumberEnd, character: columnNumberEnd }
143+
start: { line: lineNumber, character: start },
144+
end: { line: lineNumber, character: end }
169145
},
170-
severity: convertSeverity(element.Level),
171-
message: element.Message
146+
severity: DiagnosticSeverity.Warning,
147+
message: err
172148
};
173-
if (is_cfn) {
149+
diagnostics.push(diagnostic);
150+
});
151+
152+
let stdout = "";
153+
child.stdout.on("data", (data: Buffer) => {
154+
stdout = stdout.concat(data.toString());
155+
});
156+
157+
child.on('exit', function (code, signal) {
158+
console.log('child process exited with ' +
159+
`code ${code} and signal ${signal}`);
160+
let tmp = stdout.toString();
161+
let obj = JSON.parse(tmp);
162+
for(let element of obj) {
163+
let lineNumber = (Number.parseInt(element.Location.Start.LineNumber) - 1);
164+
let columnNumber = (Number.parseInt(element.Location.Start.ColumnNumber) - 1);
165+
let lineNumberEnd = (Number.parseInt(element.Location.End.LineNumber) - 1);
166+
let columnNumberEnd = (Number.parseInt(element.Location.End.ColumnNumber) - 1);
167+
let diagnostic: Diagnostic = {
168+
range: {
169+
start: { line: lineNumber, character: columnNumber },
170+
end: { line: lineNumberEnd, character: columnNumberEnd }
171+
},
172+
severity: convertSeverity(element.Level),
173+
message: element.Message
174+
};
175+
174176
diagnostics.push(diagnostic);
175177
}
176-
}
177-
});
178+
});
178179

179-
child.on("close", () => {
180-
//connection.console.log(`Validation finished for(code:${code}): ${Files.uriToFilePath(uri)}`);
181-
connection.sendDiagnostics({ uri: filename, diagnostics });
182-
isValidating[uri] = false;
183-
});
180+
child.on("close", () => {
181+
//connection.console.log(`Validation finished for(code:${code}): ${Files.uriToFilePath(uri)}`);
182+
connection.sendDiagnostics({ uri: filename, diagnostics });
183+
isValidating[uri] = false;
184+
});
185+
}
184186
}
185187

186188
// Listen on the connection

0 commit comments

Comments
 (0)