diff --git a/src/language-js/printer-estree.js b/src/language-js/printer-estree.js index 09d3e26abbd1..b56a59f96e73 100644 --- a/src/language-js/printer-estree.js +++ b/src/language-js/printer-estree.js @@ -2487,7 +2487,7 @@ function printPathNoParens(path, options, print, args) { printArrayItems(path, options, typesField, print) ]) ), - ifBreak(shouldPrintComma(options) ? "," : ""), + ifBreak(shouldPrintComma(options, "all") ? "," : ""), comments.printDanglingComments(path, options, /* sameIndent */ true), softline, "]" diff --git a/tests/typescript_tuple/__snapshots__/jsfmt.spec.js.snap b/tests/typescript_tuple/__snapshots__/jsfmt.spec.js.snap index ea436406d13e..4a7cbef55649 100644 --- a/tests/typescript_tuple/__snapshots__/jsfmt.spec.js.snap +++ b/tests/typescript_tuple/__snapshots__/jsfmt.spec.js.snap @@ -44,6 +44,47 @@ exports[`trailing-comma.ts 2`] = ` ====================================options===================================== parsers: ["typescript"] printWidth: 80 +trailingComma: "es5" + | printWidth +=====================================input====================================== +export interface ShopQueryResult { + chic: boolean; + location: number[]; + menus: Menu[]; + openingDays: number[]; + closingDays: [ + { + from: string, + to: string, + }, // <== this one + ]; + shop: string; + distance: number; +} + +=====================================output===================================== +export interface ShopQueryResult { + chic: boolean; + location: number[]; + menus: Menu[]; + openingDays: number[]; + closingDays: [ + { + from: string; + to: string; + } // <== this one + ]; + shop: string; + distance: number; +} + +================================================================================ +`; + +exports[`trailing-comma.ts 3`] = ` +====================================options===================================== +parsers: ["typescript"] +printWidth: 80 trailingComma: "all" | printWidth =====================================input====================================== @@ -114,6 +155,36 @@ exports[`tuple.ts 2`] = ` ====================================options===================================== parsers: ["typescript"] printWidth: 80 +trailingComma: "es5" + | printWidth +=====================================input====================================== + +export type SCMRawResource = [ + number /*handle*/, + string /*resourceUri*/, + modes.Command /*command*/, + string[] /*icons: light, dark*/, + boolean /*strike through*/, + boolean /*faded*/ +]; + +=====================================output===================================== +export type SCMRawResource = [ + number /*handle*/, + string /*resourceUri*/, + modes.Command /*command*/, + string[] /*icons: light, dark*/, + boolean /*strike through*/, + boolean /*faded*/ +]; + +================================================================================ +`; + +exports[`tuple.ts 3`] = ` +====================================options===================================== +parsers: ["typescript"] +printWidth: 80 trailingComma: "all" | printWidth =====================================input====================================== diff --git a/tests/typescript_tuple/jsfmt.spec.js b/tests/typescript_tuple/jsfmt.spec.js index a17d1d35589d..9ae5dd616d9c 100644 --- a/tests/typescript_tuple/jsfmt.spec.js +++ b/tests/typescript_tuple/jsfmt.spec.js @@ -1,2 +1,3 @@ run_spec(__dirname, ["typescript"]); +run_spec(__dirname, ["typescript"], { trailingComma: "es5" }); run_spec(__dirname, ["typescript"], { trailingComma: "all" });