From f6bbc2ed2ec8f50ed923ba4bc4bfd1bc261ad1e8 Mon Sep 17 00:00:00 2001 From: Brian Ng Date: Sun, 5 Mar 2017 21:08:42 -0600 Subject: [PATCH] Fix bug with importing empty type (#904) --- src/printer.js | 2 ++ tests/flow/import_type/__snapshots__/jsfmt.spec.js.snap | 2 ++ tests/flow/import_type/import_type_specifier.js | 1 + 3 files changed, 5 insertions(+) diff --git a/src/printer.js b/src/printer.js index cae46331d..02b707ef2 100644 --- a/src/printer.js +++ b/src/printer.js @@ -529,6 +529,8 @@ function genericPrintNoParens(path, options, print) { } fromParts.push(grouped.length === 0 ? line : " ", "from "); + } else if (n.importKind && n.importKind === "type") { + parts.push("{} from "); } fromParts.push(path.call(print, "source"), ";"); diff --git a/tests/flow/import_type/__snapshots__/jsfmt.spec.js.snap b/tests/flow/import_type/__snapshots__/jsfmt.spec.js.snap index 554d22ae4..657b49352 100644 --- a/tests/flow/import_type/__snapshots__/jsfmt.spec.js.snap +++ b/tests/flow/import_type/__snapshots__/jsfmt.spec.js.snap @@ -353,12 +353,14 @@ exports[`import_type_specifier.js 1`] = ` */ import { Foo, type Baz } from \\"../module\\"; +import type {} from 'foo'; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /** * @flow */ import { Foo, type Baz } from \\"../module\\"; +import type {} from \\"foo\\"; " `; diff --git a/tests/flow/import_type/import_type_specifier.js b/tests/flow/import_type/import_type_specifier.js index 4e5d1bfae..7075a3e01 100644 --- a/tests/flow/import_type/import_type_specifier.js +++ b/tests/flow/import_type/import_type_specifier.js @@ -3,3 +3,4 @@ */ import { Foo, type Baz } from "../module"; +import type {} from 'foo';