diff --git a/package.json b/package.json index bc1517fc..ab73c812 100644 --- a/package.json +++ b/package.json @@ -57,7 +57,7 @@ "semver": "5.4.1", "string-width": "2.1.1", "typescript": "3.0.0-dev.20180602", - "typescript-eslint-parser": "16.0.0", + "typescript-eslint-parser": "eslint/typescript-eslint-parser#42f29a1db5c51262fd9ed2d6105015da8925ba2d", "unicode-regex": "1.0.1", "unified": "6.1.6", "yaml": "1.0.0-beta.7", diff --git a/src/language-js/printer-estree.js b/src/language-js/printer-estree.js index 77250dc1..4aa6cea3 100644 --- a/src/language-js/printer-estree.js +++ b/src/language-js/printer-estree.js @@ -2086,6 +2086,7 @@ function printPathNoParens(path, options, print, args) { } else { parts.push(printPropertyKey(path, options, print)); } + parts.push(printOptionalToken(path)); parts.push(printTypeAnnotation(path, options, print)); if (n.value) { parts.push( diff --git a/tests/import_meta/jsfmt.spec.js b/tests/import_meta/jsfmt.spec.js index 968651cd..4ef9b45f 100644 --- a/tests/import_meta/jsfmt.spec.js +++ b/tests/import_meta/jsfmt.spec.js @@ -1 +1 @@ -run_spec(__dirname, ["babylon"]); +run_spec(__dirname, ["babylon", "typescript"]); diff --git a/tests/typescript_class/__snapshots__/jsfmt.spec.js.snap b/tests/typescript_class/__snapshots__/jsfmt.spec.js.snap index 2648f4c5..ae02a4ed 100644 --- a/tests/typescript_class/__snapshots__/jsfmt.spec.js.snap +++ b/tests/typescript_class/__snapshots__/jsfmt.spec.js.snap @@ -164,10 +164,12 @@ export class Check { exports[`optional.ts 1`] = ` class X { private foo? = undefined; + "a-prop"?: boolean; } ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ class X { private foo? = undefined; + "a-prop"?: boolean; } `; diff --git a/tests/typescript_class/optional.ts b/tests/typescript_class/optional.ts index 4bf5fd92..1e0752da 100644 --- a/tests/typescript_class/optional.ts +++ b/tests/typescript_class/optional.ts @@ -1,3 +1,4 @@ class X { private foo? = undefined; + "a-prop"?: boolean; } diff --git a/yarn.lock b/yarn.lock index 4b3df9e0..633f5be1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5740,9 +5740,9 @@ typedarray@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" -typescript-eslint-parser@16.0.0: - version "16.0.0" - resolved "https://registry.yarnpkg.com/typescript-eslint-parser/-/typescript-eslint-parser-16.0.0.tgz#14a9ab75932b15af919602faef553c6f0487f352" +typescript-eslint-parser@eslint/typescript-eslint-parser#42f29a1db5c51262fd9ed2d6105015da8925ba2d: + version "16.0.1" + resolved "https://codeload.github.com/eslint/typescript-eslint-parser/tar.gz/42f29a1db5c51262fd9ed2d6105015da8925ba2d" dependencies: lodash.unescape "4.0.1" semver "5.5.0"