diff --git a/src/language-js/printer-estree.js b/src/language-js/printer-estree.js index ab57ee5b3c48..6d0d8c8b356b 100644 --- a/src/language-js/printer-estree.js +++ b/src/language-js/printer-estree.js @@ -3118,6 +3118,7 @@ function printPathNoParens(path, options, print, args) { n.accessibility ? concat([n.accessibility, " "]) : "", n.static ? "static " : "", n.readonly ? "readonly " : "", + n.declare ? "declare " : "", "[", n.parameters ? parametersGroup : "", n.typeAnnotation ? "]: " : "]", diff --git a/tests/misc/typescript-babel-only/__snapshots__/jsfmt.spec.js.snap b/tests/misc/typescript-babel-only/__snapshots__/jsfmt.spec.js.snap index 42500d9ead56..2d7dba38a3f5 100644 --- a/tests/misc/typescript-babel-only/__snapshots__/jsfmt.spec.js.snap +++ b/tests/misc/typescript-babel-only/__snapshots__/jsfmt.spec.js.snap @@ -1,5 +1,25 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`declare-index-signature.ts format 1`] = ` +====================================options===================================== +parsers: ["babel-ts"] +printWidth: 80 + | printWidth +=====================================input====================================== +// Invalid, but recoverable +class C { + declare [key: string]: string; +} + +=====================================output===================================== +// Invalid, but recoverable +class C { + declare [key: string]: string; +} + +================================================================================ +`; + exports[`tuple-labeled-ts.ts format 1`] = ` ====================================options===================================== parsers: ["babel-ts"] diff --git a/tests/misc/typescript-babel-only/declare-index-signature.ts b/tests/misc/typescript-babel-only/declare-index-signature.ts new file mode 100644 index 000000000000..2ba1b7e1c876 --- /dev/null +++ b/tests/misc/typescript-babel-only/declare-index-signature.ts @@ -0,0 +1,4 @@ +// Invalid, but recoverable +class C { + declare [key: string]: string; +}