diff --git a/src/printer.js b/src/printer.js index 654bd9710..8b68710a3 100644 --- a/src/printer.js +++ b/src/printer.js @@ -4676,7 +4676,9 @@ function isNodeStartingWithDeclare(node, options) { return false; } return ( - options.originalText.slice(0, util.locStart(node)).match(/declare\s*$/) || + options.originalText + .slice(0, util.locStart(node)) + .match(/declare[ \t]*$/) || options.originalText .slice(node.range[0], node.range[1]) .startsWith("declare ") diff --git a/tests/typescript_declare/__snapshots__/jsfmt.spec.js.snap b/tests/typescript_declare/__snapshots__/jsfmt.spec.js.snap index cf2159e66..fa9c043f6 100644 --- a/tests/typescript_declare/__snapshots__/jsfmt.spec.js.snap +++ b/tests/typescript_declare/__snapshots__/jsfmt.spec.js.snap @@ -29,3 +29,18 @@ declare interface Dictionary { } `; + +exports[`declare_var.ts 1`] = ` +// tslint:disable-next-line:no-use-before-declare +const hello = 5; + +// tslint:disable-next-line:no-use-before-declare +declare const hello = 5; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// tslint:disable-next-line:no-use-before-declare +const hello = 5; + +// tslint:disable-next-line:no-use-before-declare +declare const hello = 5; + +`; diff --git a/tests/typescript_declare/declare_var.ts b/tests/typescript_declare/declare_var.ts new file mode 100644 index 000000000..24bdd8a7f --- /dev/null +++ b/tests/typescript_declare/declare_var.ts @@ -0,0 +1,5 @@ +// tslint:disable-next-line:no-use-before-declare +const hello = 5; + +// tslint:disable-next-line:no-use-before-declare +declare const hello = 5;