Fix "TypeError: comments is not iterable" (#8701)

This commit is contained in:
Alican Çubukçuoğlu 2018-11-09 13:58:28 -08:00 committed by Daniel Tschinder
parent 4f206b2416
commit bf8c4785f2
2 changed files with 23 additions and 17 deletions

View File

@ -25,6 +25,7 @@ export default declare(api => {
skipStrip = false; skipStrip = false;
let directiveFound = false; let directiveFound = false;
if (comments) {
for (const comment of (comments: Array<Object>)) { for (const comment of (comments: Array<Object>)) {
if (comment.value.indexOf(FLOW_DIRECTIVE) >= 0) { if (comment.value.indexOf(FLOW_DIRECTIVE) >= 0) {
directiveFound = true; directiveFound = true;
@ -33,7 +34,10 @@ export default declare(api => {
comment.value = comment.value.replace(FLOW_DIRECTIVE, ""); comment.value = comment.value.replace(FLOW_DIRECTIVE, "");
// remove the comment completely if it only consists of whitespace and/or stars // remove the comment completely if it only consists of whitespace and/or stars
if (!comment.value.replace(/\*/g, "").trim()) comment.ignore = true; if (!comment.value.replace(/\*/g, "").trim()) {
comment.ignore = true;
}
}
} }
} }

View File

@ -51,6 +51,7 @@ export default declare((api, options) => {
let pragmaSet = !!options.pragma; let pragmaSet = !!options.pragma;
let pragmaFragSet = !!options.pragmaFrag; let pragmaFragSet = !!options.pragmaFrag;
if (file.ast.comments) {
for (const comment of (file.ast.comments: Array<Object>)) { for (const comment of (file.ast.comments: Array<Object>)) {
const jsxMatches = JSX_ANNOTATION_REGEX.exec(comment.value); const jsxMatches = JSX_ANNOTATION_REGEX.exec(comment.value);
if (jsxMatches) { if (jsxMatches) {
@ -63,6 +64,7 @@ export default declare((api, options) => {
pragmaFragSet = true; pragmaFragSet = true;
} }
} }
}
state.set("jsxIdentifier", createIdentifierParser(pragma)); state.set("jsxIdentifier", createIdentifierParser(pragma));
state.set("jsxFragIdentifier", createIdentifierParser(pragmaFrag)); state.set("jsxFragIdentifier", createIdentifierParser(pragmaFrag));