diff --git a/src/language-js/printer-estree-json.js b/src/language-js/printer-estree-json.js index da3492956..55f58a414 100644 --- a/src/language-js/printer-estree-json.js +++ b/src/language-js/printer-estree-json.js @@ -49,6 +49,9 @@ function genericPrint(path, options, print) { return JSON.stringify(node.value); case "Identifier": return JSON.stringify(node.name); + default: + /* istanbul ignore next */ + throw new Error("unknown type: " + JSON.stringify(node.type)); } } diff --git a/src/main/core.js b/src/main/core.js index 4c9381823..040bd56d4 100644 --- a/src/main/core.js +++ b/src/main/core.js @@ -63,6 +63,10 @@ function attachComments(text, ast, opts) { } function coreFormat(text, opts, addAlignmentSize) { + if (!text || !text.trim().length) { + return { formatted: "", cursorOffset: 0 }; + } + addAlignmentSize = addAlignmentSize || 0; const parsed = parser.parse(text, opts); diff --git a/tests/empty/jsfmt.spec.js b/tests/empty/jsfmt.spec.js index 07cfc4892..1277371c5 100644 --- a/tests/empty/jsfmt.spec.js +++ b/tests/empty/jsfmt.spec.js @@ -8,8 +8,4 @@ run_spec( parsers.choices .filter(choice => !choice.deprecated) .map(choice => choice.value) - .filter( - parser => - ["json", "json5", "json-stringify", "graphql"].indexOf(parser) === -1 - ) );