Repository: prettier/prettier (JavaScript) — Feature

Issue:
Change the default value for `trailingComma` to `"all"` in v3
Trailing commas in function syntax was introduced in ES2017, it's supported since Node.js 8.2.1, modern browsers supports it too.

I think it's time to change `trailingComma` to `"all"`.


Discussion:
:+1:
Agree
`"trailingComma": "all"` is the only option in [my shared prettier config](https://github.com/kachkaev/routine-npm-packages/blob/02d91fa00501a3d0bc9a9c8ee5390e220a1b18e3/packages/prettier-config/index.js#L2), so a big 👍 from me too 😁

Resolving patch:
diff --git a/changelog_unreleased/javascript/13143.md b/changelog_unreleased/javascript/13143.md
new file mode 100644
index 000000000000..42b862e17b67
--- /dev/null
+++ b/changelog_unreleased/javascript/13143.md
@@ -0,0 +1,7 @@
+#### [BREAKING] Change the default value for `trailingComma` to `all` (#11479 by @fisker, #13143 by @sosukesuzuki)
+
+Since version 2.0. we've changed the default value for `trailingComma` to `es5`.
+
+[Internet Explorer, the last browser to not allow trailing commas in function calls, has been unsupported on June 15, 2022.](https://docs.microsoft.com/en-us/lifecycle/announcements/internet-explorer-11-end-of-support) Accordingly, change the default value for `trailingComma` to `all`.
+
+If the old behavior is still preferred, please configure Prettier with `{ "trailingComma": "es5" }`.
diff --git a/docs/options.md b/docs/options.md
index 4ce69148e02b..91b4628318c6 100644
--- a/docs/options.md
+++ b/docs/options.md
@@ -114,19 +114,19 @@ Use single quotes instead of double quotes in JSX.
 
 ## Trailing Commas
 
-_Default value changed from `none` to `es5` in v2.0.0_
+_Default value changed from `es5` to `all` in v3.0.0_
 
 Print trailing commas wherever possible in multi-line comma-separated syntactic structures. (A single-line array, for example, never gets trailing commas.)
 
 Valid options:
 
+- `"all"` - Trailing commas wherever possible (including [function parameters and calls](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Trailing_commas#Trailing_commas_in_functions)). To run, JavaScript code formatted this way needs an engine that supports ES2017 (Node.js 8+ or a modern browser) or [downlevel compilation](https://babeljs.io/docs/en/index). This also enables trailing commas in type parameters in TypeScript (supported since TypeScript 2.7 released in January 2018).
 - `"es5"` - Trailing commas where valid in ES5 (objects, arrays, etc.). No trailing commas in type parameters in TypeScript.
 - `"none"` - No trailing commas.
-- `"all"` - Trailing commas wherever possible (including [function parameters and calls](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Trailing_commas#Trailing_commas_in_functions)). To run, JavaScript code formatted this way needs an engine that supports ES2017 (Node.js 8+ or a modern browser) or [downlevel compilation](https://babeljs.io/docs/en/index). This also enables trailing commas in type parameters in TypeScript (supported since TypeScript 2.7 released in January 2018).
 
 | Default | CLI Override                                           | API Override                                           |
 | ------- | ------------------------------------------------------ | ------------------------------------------------------ |
-| `"es5"` | <code>--trailing-comma <es5&#124;none&#124;all></code> | <code>trailingComma: "<es5&#124;none&#124;all>"</code> |
+| `"all"` | <code>--trailing-comma <all&#124;es5&#124;none></code> | <code>trailingComma: "<all&#124;es5&#124;none>"</code> |
 
 ## Bracket Spacing
 
diff --git a/src/language-js/options.js b/src/language-js/options.js
index 9503dc050a4b..aa33486247a8 100644
--- a/src/language-js/options.js
+++ b/src/language-js/options.js
@@ -80,20 +80,21 @@ const options = {
       { since: "0.0.0", value: false },
       { since: "0.19.0", value: "none" },
       { since: "2.0.0", value: "es5" },
+      { since: "3.0.0", value: "all" },
     ],
     description: "Print trailing commas wherever possible when multi-line.",
     choices: [
       {
-        value: "es5",
+        value: "all",
         description:
-          "Trailing commas where valid in ES5 (objects, arrays, etc.)",
+          "Trailing commas wherever possible (including function arguments).",
       },
-      { value: "none", description: "No trailing commas." },
       {
-        value: "all",
+        value: "es5",
         description:
-          "Trailing commas wherever possible (including function arguments).",
+          "Trailing commas where valid in ES5 (objects, arrays, etc.)",
       },
+      { value: "none", description: "No trailing commas." },
     ],
   },
   singleAttributePerLine: commonOptions.singleAttributePerLine,


Test patch:
diff --git a/tests/format/angular/angular/__snapshots__/jsfmt.spec.js.snap b/tests/format/angular/angular/__snapshots__/jsfmt.spec.js.snap
index 2eb1950302b2..51c1e7785fb5 100644
--- a/tests/format/angular/angular/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/angular/angular/__snapshots__/jsfmt.spec.js.snap
@@ -153,11 +153,11 @@ printWidth: 1
 ================================================================================
 `;
 
-exports[`angularjs.html - {"trailingComma":"none"} format 1`] = `
+exports[`angularjs.html - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["angular"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 <div ng-if="$ctrl .shouldShowWarning&&!$ctrl.loading">Warning!</div>
@@ -194,10 +194,11 @@ trailingComma: "none"
 ================================================================================
 `;
 
-exports[`angularjs.html format 1`] = `
+exports[`angularjs.html - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["angular"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 <div ng-if="$ctrl .shouldShowWarning&&!$ctrl.loading">Warning!</div>
@@ -281,11 +282,11 @@ printWidth: 1
 ================================================================================
 `;
 
-exports[`attr-name.component.html - {"trailingComma":"none"} format 1`] = `
+exports[`attr-name.component.html - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["angular"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 <div someDirective itemType="x"></div>
@@ -296,10 +297,11 @@ trailingComma: "none"
 ================================================================================
 `;
 
-exports[`attr-name.component.html format 1`] = `
+exports[`attr-name.component.html - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["angular"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 <div someDirective itemType="x"></div>
@@ -1452,11 +1454,11 @@ printWidth: 1
 ================================================================================
 `;
 
-exports[`attributes.component.html - {"trailingComma":"none"} format 1`] = `
+exports[`attributes.component.html - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["angular"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 <div
@@ -1723,10 +1725,11 @@ trailingComma: "none"
 ================================================================================
 `;
 
-exports[`attributes.component.html format 1`] = `
+exports[`attributes.component.html - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["angular"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 <div
@@ -2351,11 +2354,11 @@ printWidth: 1
 ================================================================================
 `;
 
-exports[`first-lf.component.html - {"trailingComma":"none"} format 1`] = `
+exports[`first-lf.component.html - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["angular"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 <textarea>{{ generatedDiscountCodes }}</textarea>
@@ -2444,10 +2447,11 @@ trailingComma: "none"
 ================================================================================
 `;
 
-exports[`first-lf.component.html format 1`] = `
+exports[`first-lf.component.html - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["angular"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 <textarea>{{ generatedDiscountCodes }}</textarea>
@@ -2736,11 +2740,11 @@ printWidth: 1
 ================================================================================
 `;
 
-exports[`ignore-attribute.component.html - {"trailingComma":"none"} format 1`] = `
+exports[`ignore-attribute.component.html - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["angular"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 <div
@@ -2795,10 +2799,11 @@ trailingComma: "none"
 ================================================================================
 `;
 
-exports[`ignore-attribute.component.html format 1`] = `
+exports[`ignore-attribute.component.html - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["angular"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 <div
@@ -3564,11 +3569,11 @@ printWidth: 1
 ================================================================================
 `;
 
-exports[`interpolation.component.html - {"trailingComma":"none"} format 1`] = `
+exports[`interpolation.component.html - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["angular"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 <div>{{ a | b : c }}</div>
@@ -3731,10 +3736,11 @@ trailingComma: "none"
 ================================================================================
 `;
 
-exports[`interpolation.component.html format 1`] = `
+exports[`interpolation.component.html - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["angular"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 <div>{{ a | b : c }}</div>
@@ -10512,11 +10518,11 @@ can be found in the LICENSE file at http://angular.io/license
 ================================================================================
 `;
 
-exports[`real-world.component.html - {"trailingComma":"none"} format 1`] = `
+exports[`real-world.component.html - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["angular"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 <!-- copied from: https://stackblitz.com/angular/ymdjlgmlavo -->
@@ -12039,10 +12045,11 @@ can be found in the LICENSE file at http://angular.io/license
 ================================================================================
 `;
 
-exports[`real-world.component.html format 1`] = `
+exports[`real-world.component.html - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["angular"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 <!-- copied from: https://stackblitz.com/angular/ymdjlgmlavo -->
@@ -13609,11 +13616,11 @@ printWidth: 1
 ================================================================================
 `;
 
-exports[`tag-name.component.html - {"trailingComma":"none"} format 1`] = `
+exports[`tag-name.component.html - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["angular"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 <Table></Table>
@@ -13624,10 +13631,11 @@ trailingComma: "none"
 ================================================================================
 `;
 
-exports[`tag-name.component.html format 1`] = `
+exports[`tag-name.component.html - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["angular"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 <Table></Table>
diff --git a/tests/format/angular/angular/jsfmt.spec.js b/tests/format/angular/angular/jsfmt.spec.js
index 682e03afef71..ac6594eac28b 100644
--- a/tests/format/angular/angular/jsfmt.spec.js
+++ b/tests/format/angular/angular/jsfmt.spec.js
@@ -1,5 +1,5 @@
 run_spec(import.meta, ["angular"], { trailingComma: "none" });
-run_spec(import.meta, ["angular"]);
+run_spec(import.meta, ["angular"], { trailingComma: "es5" });
 run_spec(import.meta, ["angular"], { printWidth: 1 });
 run_spec(import.meta, ["angular"], { htmlWhitespaceSensitivity: "ignore" });
 run_spec(import.meta, ["angular"], { bracketSpacing: false });
diff --git a/tests/format/flow-repo/annot/__snapshots__/jsfmt.spec.js.snap b/tests/format/flow-repo/annot/__snapshots__/jsfmt.spec.js.snap
index acb933ab9009..298dfe5e84e2 100644
--- a/tests/format/flow-repo/annot/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/flow-repo/annot/__snapshots__/jsfmt.spec.js.snap
@@ -116,7 +116,7 @@ function param_anno(n: number): void {
 // another error on param UB, more typical of www (mis)use-cases
 // this one cribbed from API.atlas.js
 function param_anno2(
-  batchRequests: Array<{ method: string, path: string, params: ?Object }>
+  batchRequests: Array<{ method: string, path: string, params: ?Object }>,
 ): void {
   // error below, since we're assigning elements to batchRequests
   // which lack a path property.
@@ -324,7 +324,7 @@ declare function foldr<A, B>(fn: (a: A, b: B) => B, b: B, as: A[]): B;
 function insertMany<K, V>(
   merge: Merge<V>,
   vs: [K, V][],
-  m: Map<K, V>
+  m: Map<K, V>,
 ): Map<K, V> {
   function f([k, v]: [K, V], m: Map<K, V>): Map<K, V> {
     return m.insertWith(merge, k, v);
diff --git a/tests/format/flow-repo/arrows/__snapshots__/jsfmt.spec.js.snap b/tests/format/flow-repo/arrows/__snapshots__/jsfmt.spec.js.snap
index 37ad868c8da4..8562be8d52e7 100644
--- a/tests/format/flow-repo/arrows/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/flow-repo/arrows/__snapshots__/jsfmt.spec.js.snap
@@ -54,7 +54,7 @@ function selectBestEffortImageForWidth(
 =====================================output=====================================
 function selectBestEffortImageForWidth(
   maxWidth: number,
-  images: Array<Image>
+  images: Array<Image>,
 ): Image {
   var maxPixelWidth = maxWidth;
   //images = images.sort(function (a, b) { return a.width - b.width });
diff --git a/tests/format/flow-repo/binding/__snapshots__/jsfmt.spec.js.snap b/tests/format/flow-repo/binding/__snapshots__/jsfmt.spec.js.snap
index 8ac6c0738bd6..ea31e0a67aa9 100644
--- a/tests/format/flow-repo/binding/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/flow-repo/binding/__snapshots__/jsfmt.spec.js.snap
@@ -684,7 +684,7 @@ function for_of_scope_var(xs: string[]) {
 function default_param_1() {
   // function binding in scope in default expr
   function f(
-    x: () => string = f // error: number ~> string
+    x: () => string = f, // error: number ~> string
   ): number {
     return 0;
   }
diff --git a/tests/format/flow-repo/bom/__snapshots__/jsfmt.spec.js.snap b/tests/format/flow-repo/bom/__snapshots__/jsfmt.spec.js.snap
index 602394bfa093..0a2f67e9005b 100644
--- a/tests/format/flow-repo/bom/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/flow-repo/bom/__snapshots__/jsfmt.spec.js.snap
@@ -197,7 +197,7 @@ o.disconnect(); // correct
 // constructor
 function callback(
   arr: Array<MutationRecord>,
-  observer: MutationObserver
+  observer: MutationObserver,
 ): void {
   return;
 }
diff --git a/tests/format/flow-repo/call_caching1/__snapshots__/jsfmt.spec.js.snap b/tests/format/flow-repo/call_caching1/__snapshots__/jsfmt.spec.js.snap
index bd0cedcf1004..2305a835d852 100644
--- a/tests/format/flow-repo/call_caching1/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/flow-repo/call_caching1/__snapshots__/jsfmt.spec.js.snap
@@ -23,7 +23,7 @@ for (let [taskStatus, tasksMap] of tasksPerStatusMap) {
 const Immutable = require("immutable");
 
 const tasksPerStatusMap = new Map(
-  [].map((taskStatus) => [taskStatus, new Map()])
+  [].map((taskStatus) => [taskStatus, new Map()]),
 );
 for (let [taskStatus, tasksMap] of tasksPerStatusMap) {
   tasksPerStatusMap.set(taskStatus, Immutable.Map(tasksMap));
@@ -66,7 +66,7 @@ declare class Bar<K> {
 
 declare function foo<U>(
   initialValue: U,
-  callbackfn: (previousValue: U) => U
+  callbackfn: (previousValue: U) => U,
 ): U;
 
 declare var items: Bar<string>;
diff --git a/tests/format/flow-repo/call_caching1/lib/__snapshots__/jsfmt.spec.js.snap b/tests/format/flow-repo/call_caching1/lib/__snapshots__/jsfmt.spec.js.snap
index b6425a7e9160..c82ab64a9de8 100644
--- a/tests/format/flow-repo/call_caching1/lib/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/flow-repo/call_caching1/lib/__snapshots__/jsfmt.spec.js.snap
@@ -37,7 +37,7 @@ declare class Array<T> {
   @@iterator(): Iterator<T>;
   map<U>(
     callbackfn: (value: T, index: number, array: Array<T>) => U,
-    thisArg?: any
+    thisArg?: any,
   ): Array<U>;
 }
 
diff --git a/tests/format/flow-repo/destructuring/__snapshots__/jsfmt.spec.js.snap b/tests/format/flow-repo/destructuring/__snapshots__/jsfmt.spec.js.snap
index 7fd93a9831a0..18214ad1688f 100644
--- a/tests/format/flow-repo/destructuring/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/flow-repo/destructuring/__snapshots__/jsfmt.spec.js.snap
@@ -186,7 +186,7 @@ obj_prop_var({ p: {} }); // ok
 obj_prop_var({ p: { q: null } }); // ok, provides add'l lower bound
 
 function obj_rest(
-  { p: { q, ...o } = { q: 0, r: 0 } } = { p: { q: 0, r: "" } }
+  { p: { q, ...o } = { q: 0, r: 0 } } = { p: { q: 0, r: "" } },
 ) {
   // errors:
   // * number  ~> void, from default on _.p
@@ -206,7 +206,7 @@ function obj_prop_annot(
     p: string,
   } = {
     p: 0, // error: number ~> string
-  }
+  },
 ) {
   (p: void); // error: string ~> void
 }
diff --git a/tests/format/flow-repo/dictionary/__snapshots__/jsfmt.spec.js.snap b/tests/format/flow-repo/dictionary/__snapshots__/jsfmt.spec.js.snap
index 6d15b8a653e1..05bb9dbcbfb4 100644
--- a/tests/format/flow-repo/dictionary/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/flow-repo/dictionary/__snapshots__/jsfmt.spec.js.snap
@@ -48,7 +48,7 @@ function foo2(
 /* @flow */
 
 function foo0(
-  x: Array<{ [key: string]: mixed }>
+  x: Array<{ [key: string]: mixed }>,
 ): Array<{ [key: string]: mixed }> {
   // this adds a fooBar property to the param type, which should NOT cause
   // an error in the return type because it is a dictionary.
@@ -545,7 +545,7 @@ function subtype_dict_keys_invariant(x: { [k: B]: any }) {
 }
 
 function unification_mix_with_declared_props_invariant_l(
-  x: Array<{ [k: string]: B }>
+  x: Array<{ [k: string]: B }>,
 ) {
   let a: Array<{ [k: string]: B, p: A }> = x; // error: A ~> B
   a[0].p = new A(); // x[0].p no longer B
@@ -559,7 +559,7 @@ function unification_mix_with_declared_props_invariant_l(
 function unification_mix_with_declared_props_invariant_r(
   xa: Array<{ [k: string]: A, p: B }>,
   xb: Array<{ [k: string]: B, p: B }>,
-  xc: Array<{ [k: string]: C, p: B }>
+  xc: Array<{ [k: string]: C, p: B }>,
 ) {
   let a: Array<{ [k: string]: A }> = xa; // error
   a[0].p = new A(); // xa[0].p no longer B
@@ -583,7 +583,7 @@ function subtype_mix_with_declared_props_invariant_l(x: { [k: string]: B }) {
 function subtype_mix_with_declared_props_invariant_r(
   xa: { [k: string]: A, p: B },
   xb: { [k: string]: B, p: B },
-  xc: { [k: string]: C, p: B }
+  xc: { [k: string]: C, p: B },
 ) {
   let a: { [k: string]: A } = xa; // error
   a.p = new A(); // xa.p no longer B
@@ -595,13 +595,13 @@ function subtype_mix_with_declared_props_invariant_r(
 }
 
 function unification_dict_to_obj(
-  x: Array<{ [k: string]: X }>
+  x: Array<{ [k: string]: X }>,
 ): Array<{ p: X }> {
   return x; // error: if allowed, could write {p:X,q:Y} into \`x\`
 }
 
 function unification_obj_to_dict(
-  x: Array<{ p: X }>
+  x: Array<{ p: X }>,
 ): Array<{ [k: string]: X }> {
   return x; // error: if allowed, could write {p:X,q:Y} into returned array
 }
@@ -753,20 +753,20 @@ var c: { [key: string]: ?string } = b; // 2 errors, since c['x'] = null updates
 
 // 2 errors (number !~> string, string !~> number)
 function foo0(
-  x: Array<{ [key: string]: number }>
+  x: Array<{ [key: string]: number }>,
 ): Array<{ [key: string]: string }> {
   return x;
 }
 
 // error, fooBar:string !~> number (x's dictionary)
 function foo1(
-  x: Array<{ [key: string]: number }>
+  x: Array<{ [key: string]: number }>,
 ): Array<{ [key: string]: number, fooBar: string }> {
   return x;
 }
 
 function foo2(
-  x: Array<{ [key: string]: mixed }>
+  x: Array<{ [key: string]: mixed }>,
 ): Array<{ [key: string]: mixed, fooBar: string }> {
   x[0].fooBar = 123; // OK, since number ~> mixed (x elem's dictionary)
   return x; // error: mixed ~> string
diff --git a/tests/format/flow-repo/disjoint-union-perf/__snapshots__/jsfmt.spec.js.snap b/tests/format/flow-repo/disjoint-union-perf/__snapshots__/jsfmt.spec.js.snap
index 96f8792d2953..fd2704a95866 100644
--- a/tests/format/flow-repo/disjoint-union-perf/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/flow-repo/disjoint-union-perf/__snapshots__/jsfmt.spec.js.snap
@@ -253,7 +253,7 @@ const b = t.builders;
 import type { TypedNode } from "./ast";
 
 function getBinaryOp(
-  op: "plus" | "minus" | "divide" | "multiply"
+  op: "plus" | "minus" | "divide" | "multiply",
 ): "+" | "-" | "*" | "/" {
   switch (op) {
     case "plus":
@@ -278,7 +278,7 @@ export function emitExpression(node: TypedNode): t.Expression {
       return b.memberExpression(
         b.identifier("vars"),
         b.identifier(node.name),
-        false
+        false,
       );
     case "binary_op": {
       const lhs = emitExpression(node.lhs);
@@ -295,7 +295,7 @@ export function emitExpression(node: TypedNode): t.Expression {
       const callee = b.memberExpression(
         b.identifier("fns"),
         b.identifier(node.name),
-        false
+        false,
       );
 
       const args = node.parameters.map((n) => emitExpression(n));
@@ -1448,7 +1448,7 @@ export const builders: {
   ifStatement(
     test: Expression,
     consequent: Statement,
-    alternate?: Statement
+    alternate?: Statement,
   ): IfStatement,
   breakStatement(label?: Identifier): BreakStatement,
   continueStatement(label?: Identifier): ContinueStatement,
@@ -1459,28 +1459,28 @@ export const builders: {
     init: ?(VariableDeclaration | Expression),
     test: ?Expression,
     update: ?Expression,
-    body: Statement
+    body: Statement,
   ): ForStatement,
   forInStatement(
     left: VariableDeclaration | Expression,
     right: Expression,
-    body: Statement
+    body: Statement,
   ): ForInStatement,
   tryStatement(
     block: BlockStatement,
     handler: ?CatchClause,
     handlers: CatchClause[],
-    finalizer?: BlockStatement
+    finalizer?: BlockStatement,
   ): TryStatement,
   catchClause(
     param: Pattern,
     guard: ?Expression,
-    body: BlockStatement
+    body: BlockStatement,
   ): CatchClause,
   identifier(name: string): Identifier,
   literal(
     value: ?(string | boolean | number | RegExp),
-    regex?: { pattern: string, flags: string }
+    regex?: { pattern: string, flags: string },
   ): Literal,
   thisExpression(): ThisExpression,
   arrayExpression(elements: Expression[]): ArrayExpression,
@@ -1488,58 +1488,58 @@ export const builders: {
   property(
     kind: "init" | "get" | "set",
     key: Literal | Identifier,
-    value: Expression
+    value: Expression,
   ): Property,
   functionExpression(
     id: ?Identifier,
     params: Pattern[],
-    body: BlockStatement
+    body: BlockStatement,
   ): FunctionExpression,
   binaryExpression(
     operator: BinaryOperator,
     left: Expression,
-    right: Expression
+    right: Expression,
   ): BinaryExpression,
   unaryExpression(
     operator: UnaryOperator,
     argument: Expression,
-    prefix: boolean
+    prefix: boolean,
   ): UnaryExpression,
   assignmentExpression(
     operator: AssignmentOperator,
     left: Pattern,
-    right: Expression
+    right: Expression,
   ): AssignmentExpression,
   updateExpression(
     operator: UpdateOperator,
     argument: Expression,
-    prefix: boolean
+    prefix: boolean,
   ): UpdateExpression,
   logicalExpression(
     operator: LogicalOperator,
     left: Expression,
-    right: Expression
+    right: Expression,
   ): LogicalExpression,
   conditionalExpression(
     test: Expression,
     consequent: Expression,
-    alternate: Expression
+    alternate: Expression,
   ): ConditionalExpression,
   newExpression(callee: Expression, arguments: Expression[]): NewExpression,
   callExpression(callee: Expression, arguments: Expression[]): CallExpression,
   memberExpression(
     object: Expression,
     property: Identifier | Expression,
-    computed: boolean
+    computed: boolean,
   ): MemberExpression,
   variableDeclaration(
     kind: "var" | "let" | "const",
-    declarations: VariableDeclarator[]
+    declarations: VariableDeclarator[],
   ): VariableDeclaration,
   functionDeclaration(
     id: Identifier,
     body: BlockStatement,
-    params: Pattern[]
+    params: Pattern[],
   ): FunctionDeclaration,
   variableDeclarator(id: Pattern, init?: Expression): VariableDeclarator,
 } = a;
diff --git a/tests/format/flow-repo/dom/__snapshots__/jsfmt.spec.js.snap b/tests/format/flow-repo/dom/__snapshots__/jsfmt.spec.js.snap
index 4eb2849ebc76..bb5dc32189e2 100644
--- a/tests/format/flow-repo/dom/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/flow-repo/dom/__snapshots__/jsfmt.spec.js.snap
@@ -495,7 +495,7 @@ let tests = [
             attributeLocalName,
             oldAttributeValue,
             newAttributeValue,
-            attributeNamespace
+            attributeNamespace,
           ) {},
         },
       }),
@@ -512,7 +512,7 @@ let tests = [
           attributeLocalName,
           oldAttributeValue,
           newAttributeValue,
-          attributeNamespace
+          attributeNamespace,
         ) {},
       }),
     });
@@ -525,7 +525,7 @@ let tests = [
           localName: string,
           oldVal: string, // Error: This might be null
           newVal: string, // Error: This might be null
-          namespace: string
+          namespace: string,
         ) {},
       },
     });
@@ -812,7 +812,7 @@ let tests = [
     const _root = document.createDocumentFragment();
     const i = document.createNodeIterator(
       _root,
-      NodeFilter.SHOW_DOCUMENT_FRAGMENT
+      NodeFilter.SHOW_DOCUMENT_FRAGMENT,
     );
     const root: typeof _root = i.root;
     const referenceNode: typeof _root | DocumentFragment = i.referenceNode;
@@ -896,7 +896,7 @@ let tests = [
     const _root = document.createDocumentFragment();
     const w = document.createTreeWalker(
       _root,
-      NodeFilter.SHOW_DOCUMENT_FRAGMENT
+      NodeFilter.SHOW_DOCUMENT_FRAGMENT,
     );
     const root: typeof _root = w.root;
     const currentNode: typeof _root | DocumentFragment = w.currentNode;
@@ -926,7 +926,7 @@ let tests = [
     document.createNodeIterator(
       document.body,
       -1,
-      (node) => NodeFilter.FILTER_ACCEPT
+      (node) => NodeFilter.FILTER_ACCEPT,
     ); // valid
     document.createNodeIterator(document.body, -1, (node) => "accept"); // invalid
     document.createNodeIterator(document.body, -1, {
@@ -941,7 +941,7 @@ let tests = [
     document.createTreeWalker(
       document.body,
       -1,
-      (node) => NodeFilter.FILTER_ACCEPT
+      (node) => NodeFilter.FILTER_ACCEPT,
     ); // valid
     document.createTreeWalker(document.body, -1, (node) => "accept"); // invalid
     document.createTreeWalker(document.body, -1, {
diff --git a/tests/format/flow-repo/function/__snapshots__/jsfmt.spec.js.snap b/tests/format/flow-repo/function/__snapshots__/jsfmt.spec.js.snap
index 926fe82aaf52..3b2fc3e8feac 100644
--- a/tests/format/flow-repo/function/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/flow-repo/function/__snapshots__/jsfmt.spec.js.snap
@@ -559,7 +559,7 @@ function empty_rest<T: Array<mixed>>(...xs: T): T {
 (empty_rest(): empty); // Error Array ~> empty
 
 function return_rest_param<Args: Array<mixed>>(
-  f: (...args: Args) => void
+  f: (...args: Args) => void,
 ): (...args: Args) => number {
   return function (...args) {
     return args; // Error: Array ~> number
diff --git a/tests/format/flow-repo/geolocation/__snapshots__/jsfmt.spec.js.snap b/tests/format/flow-repo/geolocation/__snapshots__/jsfmt.spec.js.snap
index 5ff2085523fb..77702704d11d 100644
--- a/tests/format/flow-repo/geolocation/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/flow-repo/geolocation/__snapshots__/jsfmt.spec.js.snap
@@ -45,7 +45,7 @@ var id = geolocation.watchPosition(
       default:
         break;
     }
-  }
+  },
 );
 geolocation.clearWatch(id);
 
diff --git a/tests/format/flow-repo/more_react/__snapshots__/jsfmt.spec.js.snap b/tests/format/flow-repo/more_react/__snapshots__/jsfmt.spec.js.snap
index b3a12b54e5b9..9779bdc3c86f 100644
--- a/tests/format/flow-repo/more_react/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/flow-repo/more_react/__snapshots__/jsfmt.spec.js.snap
@@ -231,7 +231,7 @@ checkPropTypes(
   { foo: PropTypes.string },
   { foo: "foo" },
   "value",
-  "TestComponent"
+  "TestComponent",
 ); // OK
 
 checkPropTypes({ foo: PropTypes.string }, { foo: "foo" }); // error: missing arguments
@@ -241,7 +241,7 @@ checkPropTypes(
   { bar: PropTypes.string },
   { foo: "foo" },
   "value",
-  "TestComponent"
+  "TestComponent",
 ); // error: property not found
 
 checkPropTypes(
@@ -249,21 +249,21 @@ checkPropTypes(
   { foo: "foo" },
   "value",
   "TestComponent",
-  () => 123
+  () => 123,
 ); // error: number ~> string
 checkPropTypes(
   { foo: PropTypes.string },
   { foo: "foo" },
   "value",
   "TestComponent",
-  () => null
+  () => null,
 ); // OK
 checkPropTypes(
   { foo: PropTypes.string },
   { foo: "foo" },
   "value",
   "TestComponent",
-  () => undefined
+  () => undefined,
 ); // OK
 
 ================================================================================
diff --git a/tests/format/flow-repo/multiflow/__snapshots__/jsfmt.spec.js.snap b/tests/format/flow-repo/multiflow/__snapshots__/jsfmt.spec.js.snap
index ac48d01ad1f2..c7a07bfb76d1 100644
--- a/tests/format/flow-repo/multiflow/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/flow-repo/multiflow/__snapshots__/jsfmt.spec.js.snap
@@ -52,7 +52,7 @@ applyType(withRest, ['hi', 123, false]); // Error - too many args
 
 function apply<Args: $ReadOnlyArray<mixed>, Ret>(
   fn: (...Args) => Ret,
-  args: Args
+  args: Args,
 ): Ret {
   return fn(...args);
 }
@@ -77,7 +77,7 @@ apply(withRest, ["hi", 123, false]); // Error - too many args
 // Same thing, but with types instead of functions
 declare var applyType: <Args: $ReadOnlyArray<mixed>, Ret>(
   fn: (...Args) => Ret,
-  args: Args
+  args: Args,
 ) => Ret;
 
 function noRest(x: "hi", y: 123): true {
@@ -212,7 +212,7 @@ declare function ExpectsChildrenArray(props: any, children: Array<string>): stri
 declare function JSX<
   Children: $ReadOnlyArray<mixed>,
   Elem,
-  C: (props: {}, children: Children) => Elem
+  C: (props: {}, children: Children) => Elem,
 >(
   component: C,
   props: null,
@@ -224,7 +224,7 @@ declare function JSX<
   Children: $ReadOnlyArray<mixed>,
   Elem,
   Props: Object,
-  C: (props: Props, children: Children) => Elem
+  C: (props: Props, children: Children) => Elem,
 >(
   component: C,
   props: Props,
@@ -247,7 +247,7 @@ declare function ExpectsChildrenTuple(props: any, children: [string]): string;
 
 declare function ExpectsChildrenArray(
   props: any,
-  children: Array<string>
+  children: Array<string>,
 ): string;
 <ExpectsChildrenArray />; // No error - 0 children is fine
 <ExpectsChildrenArray>Hi</ExpectsChildrenArray>; // No error - 1 child is fine
diff --git a/tests/format/flow-repo/new_react/__snapshots__/jsfmt.spec.js.snap b/tests/format/flow-repo/new_react/__snapshots__/jsfmt.spec.js.snap
index aa8cf7a37eaf..8b20d35ccdb5 100644
--- a/tests/format/flow-repo/new_react/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/flow-repo/new_react/__snapshots__/jsfmt.spec.js.snap
@@ -580,7 +580,7 @@ var C = React.createClass({
       PropTypes.shape({
         label: PropTypes.string.isRequired,
         value: PropTypes.number,
-      })
+      }),
     ).isRequired,
   },
 });
diff --git a/tests/format/flow-repo/new_react/fakelib/__snapshots__/jsfmt.spec.js.snap b/tests/format/flow-repo/new_react/fakelib/__snapshots__/jsfmt.spec.js.snap
index b0820c471ee8..df5083f43f02 100644
--- a/tests/format/flow-repo/new_react/fakelib/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/flow-repo/new_react/fakelib/__snapshots__/jsfmt.spec.js.snap
@@ -22,7 +22,7 @@ type _ReactElement<
   DefaultProps,
   Props,
   Config: $Diff<Props, DefaultProps>,
-  C: $React.Component<DefaultProps, Props, any>
+  C: $React.Component<DefaultProps, Props, any>,
 > = $React.Element<Config>;
 type $jsx<C> = _ReactElement<*, *, *, C>;
 
diff --git a/tests/format/flow-repo/node_tests/buffer/__snapshots__/jsfmt.spec.js.snap b/tests/format/flow-repo/node_tests/buffer/__snapshots__/jsfmt.spec.js.snap
index 1571b54744a7..235ce9143941 100644
--- a/tests/format/flow-repo/node_tests/buffer/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/flow-repo/node_tests/buffer/__snapshots__/jsfmt.spec.js.snap
@@ -96,25 +96,25 @@ buffer = buffer.fill("a", 0, 0, "utf8");
 buffer = buffer.fill("a", "utf8");
 
 maybeNum = buffer.find(
-  (element: number, index: number, array: Uint8Array) => false
+  (element: number, index: number, array: Uint8Array) => false,
 );
 maybeNum = buffer.find(
   (element: number, index: number, array: Uint8Array) => false,
-  buffer
+  buffer,
 );
 
 num = buffer.findIndex(
-  (element: number, index: number, array: Uint8Array) => false
+  (element: number, index: number, array: Uint8Array) => false,
 );
 num = buffer.findIndex(
   (element: number, index: number, array: Uint8Array) => false,
-  buffer
+  buffer,
 );
 
 buffer.forEach((value: number) => console.log(value), buffer);
 buffer.forEach(
   (value: number, index: number, array: Uint8Array) => console.log(value),
-  buffer
+  buffer,
 );
 
 bool = buffer.includes(3);
@@ -129,7 +129,7 @@ const typedArray = new Uint8Array([0x34]);
 buffer = Buffer.from(
   typedArray.buffer,
   typedArray.byteOffset,
-  typedArray.byteLength
+  typedArray.byteLength,
 );
 buffer = Buffer.from(new Buffer(0));
 buffer = Buffer.from("foo", "utf8");
@@ -141,7 +141,7 @@ buffer = Buffer.from("foo", "utf8");
 buffer = Buffer.from(
   [0x62, 0x75, 0x66, 0x66, 0x65, 0x72],
   (a: number) => a + 1,
-  {}
+  {},
 ); // error
 
 ================================================================================
diff --git a/tests/format/flow-repo/node_tests/process/__snapshots__/jsfmt.spec.js.snap b/tests/format/flow-repo/node_tests/process/__snapshots__/jsfmt.spec.js.snap
index 82897a94582b..c33766517019 100644
--- a/tests/format/flow-repo/node_tests/process/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/flow-repo/node_tests/process/__snapshots__/jsfmt.spec.js.snap
@@ -46,18 +46,18 @@ process.nextTick(
   (a: string, b: number, c: boolean) => {},
   0, // Error: number ~> string
   1,
-  null // Error: null ~> boolean
+  null, // Error: null ~> boolean
 );
 
 process.nextTick(
   (a: string, b: number, c: boolean) => {},
   "z",
   "y", // Error: string ~> number
-  true
+  true,
 );
 
 process.nextTick(
-  (a: string, b: number, c: boolean) => {} // Error: too few arguments
+  (a: string, b: number, c: boolean) => {}, // Error: too few arguments
 );
 
 ================================================================================
diff --git a/tests/format/flow-repo/object_api/__snapshots__/jsfmt.spec.js.snap b/tests/format/flow-repo/object_api/__snapshots__/jsfmt.spec.js.snap
index 4091340dc988..ac0c913bdf3a 100644
--- a/tests/format/flow-repo/object_api/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/flow-repo/object_api/__snapshots__/jsfmt.spec.js.snap
@@ -90,7 +90,7 @@ var export_ = Object.assign(
     foo: function (param) {
       return param;
     },
-  }
+  },
 );
 
 var decl_export_: { foo: any, bar: any } = Object.assign({}, export_);
diff --git a/tests/format/flow-repo/predicates-abstract/__snapshots__/jsfmt.spec.js.snap b/tests/format/flow-repo/predicates-abstract/__snapshots__/jsfmt.spec.js.snap
index 60b9eca8af68..4b80f836d5f5 100644
--- a/tests/format/flow-repo/predicates-abstract/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/flow-repo/predicates-abstract/__snapshots__/jsfmt.spec.js.snap
@@ -27,7 +27,7 @@ function is_string(x): %checks {
 
 declare function my_filter<T, P: $Pred<1>>(
   v: Array<T>,
-  cb: P
+  cb: P,
 ): Array<$Refine<T, P, 1>>;
 
 declare var arr: Array<mixed>;
@@ -72,7 +72,7 @@ declare var ab: Array<A|B|C>;
 
 declare function my_filter<T, P: $Pred<1>>(
   v: Array<T>,
-  cb: P
+  cb: P,
 ): Array<$Refine<T, P, 1>>;
 
 type A = { kind: "A", u: number };
@@ -169,7 +169,7 @@ var b = refine(a, is_string);
 declare function refine_fst<T, P: $Pred<2>>(
   v: T,
   w: T,
-  cb: P
+  cb: P,
 ): $Refine<T, P, 1>;
 // function refine_fst(v, w, cb)
 // { if (cb(v, w)) { return v; } else { throw new Error(); } }
@@ -230,7 +230,7 @@ function is_string_regular(x): boolean {
 
 declare function my_filter<T, P: $Pred<1>>(
   v: Array<T>,
-  cb: P
+  cb: P,
 ): Array<$Refine<T, P, 1>>;
 
 // Sanity check A: filtering the wrong type
@@ -285,7 +285,7 @@ declare var ab: Array<A|B|C>;
 
 declare function my_filter<T, P: $Pred<1>>(
   v: Array<T>,
-  cb: P
+  cb: P,
 ): Array<$Refine<T, P, 1>>;
 
 type A = { kind: "A", u: number };
@@ -373,7 +373,7 @@ declare function refine3<T, P: $Pred<3>>(
   u: T,
   v: T,
   w: T,
-  cb: P
+  cb: P,
 ): $Refine<T, P, 1>;
 
 var e = refine3(c, d, e, is_string_and_number);
diff --git a/tests/format/flow-repo/predicates-declared/__snapshots__/jsfmt.spec.js.snap b/tests/format/flow-repo/predicates-declared/__snapshots__/jsfmt.spec.js.snap
index 8e2667b37b7e..f1eef25ccc30 100644
--- a/tests/format/flow-repo/predicates-declared/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/flow-repo/predicates-declared/__snapshots__/jsfmt.spec.js.snap
@@ -493,7 +493,7 @@ foo(3, 3);
 
 declare function foo(
   input: mixed,
-  types: string | Array<string>
+  types: string | Array<string>,
 ): boolean %checks(typeof input === "string" || Array.isArray(input));
 
 foo(3, 3);
diff --git a/tests/format/flow-repo/promises/__snapshots__/jsfmt.spec.js.snap b/tests/format/flow-repo/promises/__snapshots__/jsfmt.spec.js.snap
index b54ec89a9add..2e811c69f51f 100644
--- a/tests/format/flow-repo/promises/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/flow-repo/promises/__snapshots__/jsfmt.spec.js.snap
@@ -399,7 +399,7 @@ new Promise(function (resolve, reject) {
   resolve(
     new Promise(function (resolve, reject) {
       resolve(0);
-    })
+    }),
   );
 }).then(function (num) {
   var a: number = num;
@@ -413,9 +413,9 @@ new Promise(function (resolve, reject) {
       resolve(
         new Promise(function (resolve, reject) {
           resolve(0);
-        })
+        }),
       );
-    })
+    }),
   );
 }).then(function (num) {
   var a: number = num;
@@ -457,7 +457,7 @@ new Promise(function (resolve, reject) {
   reject(
     new Promise(function (resolve, reject) {
       reject(0);
-    })
+    }),
   );
 }).catch(function (num) {
   var a: Promise<number> = num;
diff --git a/tests/format/flow-repo/rec/__snapshots__/jsfmt.spec.js.snap b/tests/format/flow-repo/rec/__snapshots__/jsfmt.spec.js.snap
index 579d50e78d1a..def66b71d63d 100644
--- a/tests/format/flow-repo/rec/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/flow-repo/rec/__snapshots__/jsfmt.spec.js.snap
@@ -78,7 +78,7 @@ function id(x: Task<any,any>): Task<any,any> { return x; }
 
 type Task<error, value> = {
   chain<tagged>(
-    next: (input: value) => Task<error, tagged>
+    next: (input: value) => Task<error, tagged>,
   ): Task<error, tagged>,
 };
 
diff --git a/tests/format/flow-repo/refinements/__snapshots__/jsfmt.spec.js.snap b/tests/format/flow-repo/refinements/__snapshots__/jsfmt.spec.js.snap
index 26d568c5696f..cfadff064229 100644
--- a/tests/format/flow-repo/refinements/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/flow-repo/refinements/__snapshots__/jsfmt.spec.js.snap
@@ -1778,7 +1778,7 @@ function c2(x: { [key: string]: ?string }, y: { z: string }): string {
 
 function c3(
   x: { [key: string]: ?string },
-  y: { z: string, a: string }
+  y: { z: string, a: string },
 ): string {
   if (x[y.z]) {
     y.a = "HEY";
@@ -2167,7 +2167,7 @@ let tests = [
   },
 
   function (
-    x: { kind: "foo", foo: string } | { kind: "bar", bar: string }
+    x: { kind: "foo", foo: string } | { kind: "bar", bar: string },
   ): string {
     if (x.kind === "foo") {
       return x.foo;
@@ -2826,7 +2826,7 @@ let tests = [
     q: boolean,
     r: Object,
     s: Function,
-    t: () => void
+    t: () => void,
   ) {
     if (x.length === 0) {
     }
@@ -2956,7 +2956,7 @@ let tests = [
   // type mismatch, neither is a literal, test is not a literal either
   function (
     x: { foo: number, y: string } | { foo: string, z: string },
-    num: number
+    num: number,
   ) {
     if (x.foo === num) {
       x.y; // error: flow isn't smart enough to figure this out yet
diff --git a/tests/format/flow-repo/spread/__snapshots__/jsfmt.spec.js.snap b/tests/format/flow-repo/spread/__snapshots__/jsfmt.spec.js.snap
index f064aed9a702..281e40f4d28d 100644
--- a/tests/format/flow-repo/spread/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/flow-repo/spread/__snapshots__/jsfmt.spec.js.snap
@@ -205,7 +205,7 @@ function test(
 
 declare function map<Tv, TNext>(
   obj: { [key: string]: Tv },
-  iterator: (obj: Tv) => TNext
+  iterator: (obj: Tv) => TNext,
 ): Array<TNext>;
 
 /**
@@ -216,7 +216,7 @@ declare function map<Tv, TNext>(
  */
 function test(
   x: { kind: ?string },
-  kinds: { [key: string]: string }
+  kinds: { [key: string]: string },
 ): Array<{ kind: ?string }> {
   return map(kinds, (value) => {
     (value: string); // OK
diff --git a/tests/format/flow-repo/suppress/__snapshots__/jsfmt.spec.js.snap b/tests/format/flow-repo/suppress/__snapshots__/jsfmt.spec.js.snap
index 640766c4e74c..f27be1d80231 100644
--- a/tests/format/flow-repo/suppress/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/flow-repo/suppress/__snapshots__/jsfmt.spec.js.snap
@@ -97,7 +97,7 @@ function takesAString(x: string): void {}
 function runTest(y: number): void {
   takesAString(
     /* $FlowFixMe - suppressing the error op location should also work */
-    y
+    y,
   );
 }
 
diff --git a/tests/format/flow-repo/type_param_variance2/libs/__snapshots__/jsfmt.spec.js.snap b/tests/format/flow-repo/type_param_variance2/libs/__snapshots__/jsfmt.spec.js.snap
index c8e6612a936c..1ed5dbf0c7ff 100644
--- a/tests/format/flow-repo/type_param_variance2/libs/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/flow-repo/type_param_variance2/libs/__snapshots__/jsfmt.spec.js.snap
@@ -68,18 +68,18 @@ declare class Promise<R> {
   constructor(
     callback: (
       resolve: (result?: Promise<R> | R) => void,
-      reject: (error?: any) => void
-    ) => void
+      reject: (error?: any) => void,
+    ) => void,
   ): void;
 
   then<U>(
     onFulfill?: ?(value: R) => Promise<U> | ?U,
-    onReject?: ?(error: any) => Promise<U> | ?U
+    onReject?: ?(error: any) => Promise<U> | ?U,
   ): Promise<U>;
 
   done<U>(
     onFulfill?: ?(value: R) => void,
-    onReject?: ?(error: any) => void
+    onReject?: ?(error: any) => void,
   ): void;
 
   catch<U>(onReject?: (error: any) => ?Promise<U> | U): Promise<U>;
@@ -95,7 +95,7 @@ declare class Promise<R> {
   static race<T>(promises: Array<Promise<T>>): Promise<T>;
 
   static allObject<T: Object>(
-    promisesByKey: T
+    promisesByKey: T,
   ): Promise<{ [key: $Keys<T>]: any }>;
 }
 
diff --git a/tests/format/flow-repo/union/__snapshots__/jsfmt.spec.js.snap b/tests/format/flow-repo/union/__snapshots__/jsfmt.spec.js.snap
index 20bad672d455..06166e16e124 100644
--- a/tests/format/flow-repo/union/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/flow-repo/union/__snapshots__/jsfmt.spec.js.snap
@@ -72,42 +72,42 @@ export class Query {
 
 export class BinaryExpression<
   T: ArithmeticExpression,
-  U: ArithmeticExpression
+  U: ArithmeticExpression,
 > {}
 
 export type ArithmeticExpression = PlusOp | MinusOp | MulOp | DivOp | ModOp;
 
 export class PlusOp extends BinaryExpression<
   ArithmeticExpression,
-  ArithmeticExpression
+  ArithmeticExpression,
 > {}
 
 export class MinusOp extends BinaryExpression<
   ArithmeticExpression,
   ArithmeticExpression,
   ArithmeticExpression,
-  ArithmeticExpression
+  ArithmeticExpression,
 > {}
 
 export class MulOp extends BinaryExpression<
   ArithmeticExpression,
   ArithmeticExpression,
   ArithmeticExpression,
-  ArithmeticExpression
+  ArithmeticExpression,
 > {}
 
 export class DivOp extends BinaryExpression<
   ArithmeticExpression,
   ArithmeticExpression,
   ArithmeticExpression,
-  ArithmeticExpression
+  ArithmeticExpression,
 > {}
 
 export class ModOp extends BinaryExpression<
   ArithmeticExpression,
   ArithmeticExpression,
   ArithmeticExpression,
-  ArithmeticExpression
+  ArithmeticExpression,
 > {}
 
 ================================================================================
diff --git a/tests/format/flow-repo/union_new/__snapshots__/jsfmt.spec.js.snap b/tests/format/flow-repo/union_new/__snapshots__/jsfmt.spec.js.snap
index 333c3b43110b..b6ab25edebbf 100644
--- a/tests/format/flow-repo/union_new/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/flow-repo/union_new/__snapshots__/jsfmt.spec.js.snap
@@ -172,7 +172,7 @@ function create(a: any): { type: 'B', data: number } | { type: 'A', data: string
 
 =====================================output=====================================
 function create(
-  a: any
+  a: any,
 ): { type: "B", data: number } | { type: "A", data: string } {
   return {
     type: "A",
@@ -2026,7 +2026,7 @@ declare class D extends C {
     port: number,
     hostname?: string,
     backlog?: number,
-    callback?: Function
+    callback?: Function,
   ): D;
   listen(path: string, callback?: Function): D;
   listen(handle: Object, callback?: Function): D;
@@ -2072,7 +2072,7 @@ function foo(rows: Rows, set: Set<number>) {
 function foo(rows: Rows, set: Set<number>) {
   return rows.reduce_rows(
     (set, row) => row.reduce_row((set, i) => set.add(i), set),
-    set
+    set,
   );
 }
 
@@ -2244,11 +2244,11 @@ type Row = { x: string };
 declare class D<T> {
   reduce(
     callbackfn: (previousValue: T, currentValue: T) => T,
-    initialValue: void
+    initialValue: void,
   ): T;
   reduce<U>(
     callbackfn: (previousValue: U, currentValue: T) => U,
-    initialValue: U
+    initialValue: U,
   ): U;
 }
 
diff --git a/tests/format/flow-repo/union_new/lib/__snapshots__/jsfmt.spec.js.snap b/tests/format/flow-repo/union_new/lib/__snapshots__/jsfmt.spec.js.snap
index 03ea1665b322..f084c069a88b 100644
--- a/tests/format/flow-repo/union_new/lib/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/flow-repo/union_new/lib/__snapshots__/jsfmt.spec.js.snap
@@ -50,18 +50,18 @@ declare class Set<T> {
 declare class Row {
   reduce_row(
     callbackfn: (previousValue: number, currentValue: number) => number,
-    initialValue: void
+    initialValue: void,
   ): number;
   reduce_row<U>(
     callbackfn: (previousValue: U, currentValue: number) => U,
-    initialValue: U
+    initialValue: U,
   ): U;
 }
 
 declare class Rows {
   reduce_rows<X>(
     callbackfn: (previousValue: X, currentValue: Row) => X,
-    initialValue: X
+    initialValue: X,
   ): X;
 }
 
diff --git a/tests/format/flow-repo/unused_function_args/__snapshots__/jsfmt.spec.js.snap b/tests/format/flow-repo/unused_function_args/__snapshots__/jsfmt.spec.js.snap
index ee6ed189fd83..13f9defc1d24 100644
--- a/tests/format/flow-repo/unused_function_args/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/flow-repo/unused_function_args/__snapshots__/jsfmt.spec.js.snap
@@ -38,7 +38,7 @@ const args = [3, 4];
 foo(1, 2); // 2 errors
 foo(
   1, // error
-  2 // error
+  2, // error
 );
 foo(...args); // 2 errors
 
diff --git a/tests/format/flow/array-comments/__snapshots__/jsfmt.spec.js.snap b/tests/format/flow/array-comments/__snapshots__/jsfmt.spec.js.snap
index 9af1389bbdc8..a9d8cfbb91c8 100644
--- a/tests/format/flow/array-comments/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/flow/array-comments/__snapshots__/jsfmt.spec.js.snap
@@ -20,7 +20,7 @@ export type FileMetaData = [
   /* id */ string,
   /* mtime */ number,
   /* visited */ 0 | 1,
-  /* dependencies */ Array<string>
+  /* dependencies */ Array<string>,
 ];
 
 export type ModuleMetaData = [Path, /* type */ number];
diff --git a/tests/format/flow/assignments/__snapshots__/jsfmt.spec.js.snap b/tests/format/flow/assignments/__snapshots__/jsfmt.spec.js.snap
index 39d340a96511..3e252e83c76f 100644
--- a/tests/format/flow/assignments/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/flow/assignments/__snapshots__/jsfmt.spec.js.snap
@@ -69,15 +69,15 @@ const foo2 = call<
   Foooooo,
   Foooooo,
   Foooooo,
-  Foooooo
+  Foooooo,
 >();
 
 const foo3 = call<
-  Foooooooooooo | Foooooooooooo | Foooooooooooo | Foooooooooooo | Foooooooooooo
+  Foooooooooooo | Foooooooooooo | Foooooooooooo | Foooooooooooo | Foooooooooooo,
 >();
 
 const foo4 = call<
-  Foooooooooooo & Foooooooooooo & Foooooooooooo & Foooooooooooo & Foooooooooooo
+  Foooooooooooo & Foooooooooooo & Foooooooooooo & Foooooooooooo & Foooooooooooo,
 >();
 
 ================================================================================
@@ -100,7 +100,7 @@ const map: Map<Function, Foo<S>> = new Map();
 =====================================output=====================================
 const map: Map<
   Function,
-  Map<string | void, { value: UnloadedDescriptor }>
+  Map<string | void, { value: UnloadedDescriptor }>,
 > = new Map();
 
 const map: Map<Function, FunctionFunctionFunctionFunctionffFunction> =
diff --git a/tests/format/flow/break-calls/__snapshots__/jsfmt.spec.js.snap b/tests/format/flow/break-calls/__snapshots__/jsfmt.spec.js.snap
index 2ae94c001627..d32d5ec7e4e3 100644
--- a/tests/format/flow/break-calls/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/flow/break-calls/__snapshots__/jsfmt.spec.js.snap
@@ -14,7 +14,7 @@ const response = something.$http.get<ThingamabobService.DetailsData>(
 =====================================output=====================================
 const response = something.$http.get<ThingamabobService.DetailsData>(
   \`api/foo.ashx/foo-details/\${myId}\`,
-  { cache: quux.httpCache, timeout }
+  { cache: quux.httpCache, timeout },
 );
 
 ================================================================================
diff --git a/tests/format/flow/comments/__snapshots__/jsfmt.spec.js.snap b/tests/format/flow/comments/__snapshots__/jsfmt.spec.js.snap
index 244ff5075b4f..fe935448df49 100644
--- a/tests/format/flow/comments/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/flow/comments/__snapshots__/jsfmt.spec.js.snap
@@ -88,7 +88,7 @@ foo/*::<bar>*/();
 const Component = branch/*:: <Props, ExternalProps> */(
   ({ src }) => !src,
   // $FlowFixMe
-  renderNothing
+  renderNothing,
 )(BaseComponent);
 
 const C = b/*:: <A> */(foo) + c/*:: <B> */(bar);
@@ -116,7 +116,7 @@ interface Foo {
 =====================================output=====================================
 interface Foo {
   bar(
-    currentRequest: { a: number }
+    currentRequest: { a: number },
     // TODO this is a very very very very long comment that makes it go > 80 columns
   ): number;
 }
diff --git a/tests/format/flow/function-parentheses/__snapshots__/jsfmt.spec.js.snap b/tests/format/flow/function-parentheses/__snapshots__/jsfmt.spec.js.snap
index 61442f62f03c..6e233d5ac055 100644
--- a/tests/format/flow/function-parentheses/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/flow/function-parentheses/__snapshots__/jsfmt.spec.js.snap
@@ -19,7 +19,7 @@ const selectorByPath:
 const selectorByPath: Path => SomethingSelector<
   SomethingUEditorContextType,
   SomethingUEditorContextType,
-  SomethingBulkValue<string>
+  SomethingBulkValue<string>,
 > = memoizeWithArgs(/* ... */);
 
 ================================================================================
@@ -50,10 +50,11 @@ const selectorByPath: (Path) => SomethingSelector<
 ================================================================================
 `;
 
-exports[`single.js format 1`] = `
+exports[`single.js - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["flow", "babel"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 const selectorByPath:
@@ -183,7 +184,7 @@ type f6 = (?arg) => void;
 
 class Y {
   constructor(
-    ideConnectionFactory: child_process$ChildProcess => FlowIDEConnection = defaultIDEConnectionFactory
+    ideConnectionFactory: child_process$ChildProcess => FlowIDEConnection = defaultIDEConnectionFactory,
   ) {}
 }
 
@@ -348,10 +349,11 @@ type T8 = ??(() => A) | B;
 ================================================================================
 `;
 
-exports[`test.js format 1`] = `
+exports[`test.js - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["flow", "babel"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 type Banana = {
diff --git a/tests/format/flow/function-parentheses/jsfmt.spec.js b/tests/format/flow/function-parentheses/jsfmt.spec.js
index 4dfb336d75dd..e11ea95f94f7 100644
--- a/tests/format/flow/function-parentheses/jsfmt.spec.js
+++ b/tests/format/flow/function-parentheses/jsfmt.spec.js
@@ -1,3 +1,3 @@
-run_spec(import.meta, ["flow", "babel"]);
+run_spec(import.meta, ["flow", "babel"], { trailingComma: "es5" });
 run_spec(import.meta, ["flow", "babel"], { trailingComma: "all" });
 run_spec(import.meta, ["flow", "babel"], { arrowParens: "avoid" });
diff --git a/tests/format/flow/function-type-param/__snapshots__/jsfmt.spec.js.snap b/tests/format/flow/function-type-param/__snapshots__/jsfmt.spec.js.snap
index 98292bdd139e..0bdfeb2df592 100644
--- a/tests/format/flow/function-type-param/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/flow/function-type-param/__snapshots__/jsfmt.spec.js.snap
@@ -21,7 +21,7 @@ export const testFunctionOnOptionsAsArgument: <T1, a>(?a, ((?a) => T1)) => T1 =
   function _(Arg1, Arg2) {
     const result = TypesBS.testFunctionOnOptionsAsArgument(
       Arg1 == null ? undefined : Arg1,
-      Arg2
+      Arg2,
     );
     return result;
   };
diff --git a/tests/format/flow/generic/__snapshots__/jsfmt.spec.js.snap b/tests/format/flow/generic/__snapshots__/jsfmt.spec.js.snap
index 9a067af7662b..1ee22c633e6a 100644
--- a/tests/format/flow/generic/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/flow/generic/__snapshots__/jsfmt.spec.js.snap
@@ -35,10 +35,11 @@ var X = {
 ================================================================================
 `;
 
-exports[`break.js format 1`] = `
+exports[`break.js - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["flow", "babel"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 var X = {
@@ -84,10 +85,11 @@ function foo<T: any = number>(): any {}
 ================================================================================
 `;
 
-exports[`function-default-type-parameters.js format 1`] = `
+exports[`function-default-type-parameters.js - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["flow", "babel"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 function foo<T: any = number>(): any {}
@@ -115,10 +117,11 @@ const a = 1;
 ================================================================================
 `;
 
-exports[`generic.js format 1`] = `
+exports[`generic.js - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["flow", "babel"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 const identity = <T>(t: T): T => t;
@@ -152,10 +155,11 @@ interface B {
 ================================================================================
 `;
 
-exports[`interface.js format 1`] = `
+exports[`interface.js - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["flow", "babel"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 interface A { 'C': string; }
@@ -203,10 +207,11 @@ function foo(): Promise<?boolean> {}
 ================================================================================
 `;
 
-exports[`nullable.js format 1`] = `
+exports[`nullable.js - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["flow", "babel"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 function formatEntireFile(
@@ -249,10 +254,11 @@ const longVariableName: Array<number> =
 ================================================================================
 `;
 
-exports[`single-identifier.js format 1`] = `
+exports[`single-identifier.js - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["flow", "babel"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 const longVariableName: Array<number> = this.foo.bar.baz.collider.body.vertices.reduce();
@@ -291,10 +297,11 @@ type State = {
 ================================================================================
 `;
 
-exports[`trailing.js format 1`] = `
+exports[`trailing.js - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["flow", "babel"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 type State = {
@@ -336,10 +343,11 @@ type H = { A: string, B: number };
 ================================================================================
 `;
 
-exports[`type.js format 1`] = `
+exports[`type.js - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["flow", "babel"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 type F = <T>(T) => T;
@@ -375,10 +383,11 @@ type Foo = Promise<
 ================================================================================
 `;
 
-exports[`union.js format 1`] = `
+exports[`union.js - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["flow", "babel"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 type Foo = Promise<
diff --git a/tests/format/flow/generic/jsfmt.spec.js b/tests/format/flow/generic/jsfmt.spec.js
index b4ca794e453b..661234f8b878 100644
--- a/tests/format/flow/generic/jsfmt.spec.js
+++ b/tests/format/flow/generic/jsfmt.spec.js
@@ -1,2 +1,2 @@
-run_spec(import.meta, ["flow", "babel"]);
+run_spec(import.meta, ["flow", "babel"], { trailingComma: "es5" });
 run_spec(import.meta, ["flow", "babel"], { trailingComma: "all" });
diff --git a/tests/format/flow/ignore/__snapshots__/jsfmt.spec.js.snap b/tests/format/flow/ignore/__snapshots__/jsfmt.spec.js.snap
index 4272bd608916..398e5b151dab 100644
--- a/tests/format/flow/ignore/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/flow/ignore/__snapshots__/jsfmt.spec.js.snap
@@ -23,10 +23,10 @@ function a() {
 function a() {
   // Incorrectly indented on purpose
   function f</* prettier-ignore */ T    :    B>(
-    a : Array  <   number   > // prettier-ignore
+    a : Array  <   number   >, // prettier-ignore
   ) {
     call(
-      f(         1          )
+      f(         1          ),
       // prettier-ignore
     );
   }
@@ -58,16 +58,16 @@ transform(
 =====================================output=====================================
 transform(
   // prettier-ignore
-  (pointTransformer: T)
+  (pointTransformer: T),
 );
 
 transform(
   // prettier-ignore
-  (/* comment */pointTransformer: T /* comment */)
+  (/* comment */pointTransformer: T /* comment */),
 );
 
 transform(
-  /* prettier-ignore */ (/* prettier-ignore */pointTransformer: (Point => Point))
+  /* prettier-ignore */ (/* prettier-ignore */pointTransformer: (Point => Point)),
 );
 
 ================================================================================
diff --git a/tests/format/flow/method/__snapshots__/jsfmt.spec.js.snap b/tests/format/flow/method/__snapshots__/jsfmt.spec.js.snap
index b67945453db6..e8c6755e4f2c 100644
--- a/tests/format/flow/method/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/flow/method/__snapshots__/jsfmt.spec.js.snap
@@ -17,7 +17,7 @@ type Foo = {
 type Foo = {
   method(
     arg: number, // I belong with baz
-    qux: string
+    qux: string,
   ): void,
 };
 
diff --git a/tests/format/flow/object-order/__snapshots__/jsfmt.spec.js.snap b/tests/format/flow/object-order/__snapshots__/jsfmt.spec.js.snap
index 3ceedfc68292..bdc388a2c9d1 100644
--- a/tests/format/flow/object-order/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/flow/object-order/__snapshots__/jsfmt.spec.js.snap
@@ -37,10 +37,11 @@ type Foo = {
 ================================================================================
 `;
 
-exports[`order.js format 1`] = `
+exports[`order.js - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["flow"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 type Foo = {
diff --git a/tests/format/flow/object-order/jsfmt.spec.js b/tests/format/flow/object-order/jsfmt.spec.js
index 9a1503d1e57f..d64789df0cfd 100644
--- a/tests/format/flow/object-order/jsfmt.spec.js
+++ b/tests/format/flow/object-order/jsfmt.spec.js
@@ -1,2 +1,2 @@
-run_spec(import.meta, ["flow"]);
+run_spec(import.meta, ["flow"], { trailingComma: "es5" });
 run_spec(import.meta, ["flow"], { trailingComma: "all" });
diff --git a/tests/format/flow/parameter-with-type/__snapshots__/jsfmt.spec.js.snap b/tests/format/flow/parameter-with-type/__snapshots__/jsfmt.spec.js.snap
index 7c70b59df676..6cfa2c916850 100644
--- a/tests/format/flow/parameter-with-type/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/flow/parameter-with-type/__snapshots__/jsfmt.spec.js.snap
@@ -18,10 +18,11 @@ function g({}: Foo) {}
 ================================================================================
 `;
 
-exports[`param.js format 1`] = `
+exports[`param.js - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["flow", "babel"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 const f = ({}: MyVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLongType) => {};
diff --git a/tests/format/flow/parameter-with-type/jsfmt.spec.js b/tests/format/flow/parameter-with-type/jsfmt.spec.js
index b4ca794e453b..661234f8b878 100644
--- a/tests/format/flow/parameter-with-type/jsfmt.spec.js
+++ b/tests/format/flow/parameter-with-type/jsfmt.spec.js
@@ -1,2 +1,2 @@
-run_spec(import.meta, ["flow", "babel"]);
+run_spec(import.meta, ["flow", "babel"], { trailingComma: "es5" });
 run_spec(import.meta, ["flow", "babel"], { trailingComma: "all" });
diff --git a/tests/format/flow/range/__snapshots__/jsfmt.spec.js.snap b/tests/format/flow/range/__snapshots__/jsfmt.spec.js.snap
index fe445368f123..8093b30a2fa5 100644
--- a/tests/format/flow/range/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/flow/range/__snapshots__/jsfmt.spec.js.snap
@@ -22,18 +22,18 @@ rangeStart: 273
 declare export function graphql<
   Props,
   Variables,
-  Component: React$ComponentType<Props>
+  Component: React$ComponentType<Props>,
 >(
   query: GQLDocument,
-  config?: Config<Props, QueryConfigOptions<Variables>>
+  config?: Config<Props, QueryConfigOptions<Variables>>,
 ): (Component: Component) => React$ComponentType<
   $Diff<
     React$ElementConfig<Component>,
     {
       data: Object | void,
       mutate: Function | void,
-    }
-  >
+    },
+  >,
 >;
 
 declare type FetchPolicy= "cache-first" | "cache-and-network" | "network-only" | "cache-only"
@@ -63,18 +63,18 @@ rangeStart: 39
 declare export function graphql<
   Props,
   Variables,
-  Component: React$ComponentType<Props>
+  Component: React$ComponentType<Props>,
 >(
   query: GQLDocument,
-  config?: Config<Props, QueryConfigOptions<Variables>>
+  config?: Config<Props, QueryConfigOptions<Variables>>,
 ): (Component: Component) => React$ComponentType<
   $Diff<
     React$ElementConfig<Component>,
     {
       data: Object | void,
       mutate: Function | void,
-    }
-  >
+    },
+  >,
 >;
 
 declare type FetchPolicy= "cache-first" | "cache-and-network" | "network-only" | "cache-only"
diff --git a/tests/format/flow/type-alias/__snapshots__/jsfmt.spec.js.snap b/tests/format/flow/type-alias/__snapshots__/jsfmt.spec.js.snap
index 34530f271b4f..992b91e34789 100644
--- a/tests/format/flow/type-alias/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/flow/type-alias/__snapshots__/jsfmt.spec.js.snap
@@ -44,7 +44,7 @@ type FieldLayoutWith<
 =====================================output=====================================
 type FieldLayoutWith<
   T: string,
-  S: unknown = { xxxxxxxx: number, y: string }
+  S: unknown = { xxxxxxxx: number, y: string },
 > = {
   type: T,
   code: string,
@@ -65,7 +65,7 @@ type FieldLayoutWith<T: string> = {
 
 type FieldLayoutWith<
   T: stringgggggggggggggggggg,
-  S: stringgggggggggggggggggg
+  S: stringgggggggggggggggggg,
 > = {
   type: T,
   code: string,
diff --git a/tests/format/flow/union/__snapshots__/jsfmt.spec.js.snap b/tests/format/flow/union/__snapshots__/jsfmt.spec.js.snap
index 410ed4989234..ee88edcd4d48 100644
--- a/tests/format/flow/union/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/flow/union/__snapshots__/jsfmt.spec.js.snap
@@ -12,7 +12,7 @@ const myValue = (callcallcallcallcallcall(87689769876876897698768768976987687689
 
 =====================================output=====================================
 const myValue = (callcallcallcallcallcall(
-  87689769876876897698768768976987687689769876
+  87689769876876897698768768976987687689769876,
 ): // Comment
 | one
   | two
@@ -73,22 +73,22 @@ interface RelayProps2 {
 }
 
 export function aPrettyLongFunction(
-  aRatherLongParamName: string | null
+  aRatherLongParamName: string | null,
 ): string {}
 
 export function aPrettyLongFunctionA(
-  aRatherLongParameterName: {} | null
+  aRatherLongParameterName: {} | null,
 ): string[] {}
 export function aPrettyLongFunctionB(
-  aRatherLongParameterName: Function | null
+  aRatherLongParameterName: Function | null,
 ): string[] {}
 export interface MyInterface {}
 export function aPrettyLongFunctionC(
-  aRatherLongParameterName: MyInterface | null
+  aRatherLongParameterName: MyInterface | null,
 ): string[] {}
 export type MyType = MyInterface;
 export function aPrettyLongFunctionD(
-  aRatherLongParameterName: MyType | null
+  aRatherLongParameterName: MyType | null,
 ): string[] {}
 
 export function aShortFn(aShortParmName: MyType | null): string[] {}
@@ -96,7 +96,7 @@ export function aShortFn(aShortParmName: MyType | null): string[] {}
 export function aPrettyLongFunctionE(
   aRatherLongParameterName: Array<{
     __id: string,
-  } | null> | null | void
+  } | null> | null | void,
 ): string[] {}
 
 ================================================================================
@@ -127,14 +127,14 @@ type A = [
   | AAAAAAAAAAAAAAAAAAAAAA
   | BBBBBBBBBBBBBBBBBBBBBB
   | CCCCCCCCCCCCCCCCCCCCCC
-  | DDDDDDDDDDDDDDDDDDDDDD
+  | DDDDDDDDDDDDDDDDDDDDDD,
 ];
 
 type B = [
   | AAAAAAAAAAAAAAAAAAAAAA
   | BBBBBBBBBBBBBBBBBBBBBB
   | CCCCCCCCCCCCCCCCCCCCCC
-  | DDDDDDDDDDDDDDDDDDDDDD
+  | DDDDDDDDDDDDDDDDDDDDDD,
 ];
 
 type C = [
@@ -142,14 +142,14 @@ type C = [
       | AAAAAAAAAAAAAAAAAAAAAA
       | BBBBBBBBBBBBBBBBBBBBBB
       | CCCCCCCCCCCCCCCCCCCCCC
-      | DDDDDDDDDDDDDDDDDDDDDD
+      | DDDDDDDDDDDDDDDDDDDDDD,
     ]
   | [
       | AAAAAAAAAAAAAAAAAAAAAA
       | BBBBBBBBBBBBBBBBBBBBBB
       | CCCCCCCCCCCCCCCCCCCCCC
-      | DDDDDDDDDDDDDDDDDDDDDD
-    ]
+      | DDDDDDDDDDDDDDDDDDDDDD,
+    ],
 ];
 
 ================================================================================
diff --git a/tests/format/flow/union_intersection/__snapshots__/jsfmt.spec.js.snap b/tests/format/flow/union_intersection/__snapshots__/jsfmt.spec.js.snap
index ca6e7853d967..de5ce920e853 100644
--- a/tests/format/flow/union_intersection/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/flow/union_intersection/__snapshots__/jsfmt.spec.js.snap
@@ -131,7 +131,7 @@ type Props = {
       }
     | {
         year: year,
-      }
+      },
   ) => void,
 };
 
@@ -142,7 +142,7 @@ declare class FormData {
       | {
           filepath?: string,
           filename?: string,
-        }
+        },
   ): void;
 }
 
diff --git a/tests/format/graphql/trailing-comma/__snapshots__/jsfmt.spec.js.snap b/tests/format/graphql/trailing-comma/__snapshots__/jsfmt.spec.js.snap
index ccfbde1466d2..48f4faec9244 100644
--- a/tests/format/graphql/trailing-comma/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/graphql/trailing-comma/__snapshots__/jsfmt.spec.js.snap
@@ -60,11 +60,11 @@ query Query(
 ================================================================================
 `;
 
-exports[`trailing.graphql - {"trailingComma":"none"} format 1`] = `
+exports[`trailing.graphql - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["graphql"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 query Query(
@@ -120,10 +120,11 @@ query Query(
 ================================================================================
 `;
 
-exports[`trailing.graphql format 1`] = `
+exports[`trailing.graphql - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["graphql"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 query Query(
diff --git a/tests/format/graphql/trailing-comma/jsfmt.spec.js b/tests/format/graphql/trailing-comma/jsfmt.spec.js
index 3dc0171ca967..12768f9ba8de 100644
--- a/tests/format/graphql/trailing-comma/jsfmt.spec.js
+++ b/tests/format/graphql/trailing-comma/jsfmt.spec.js
@@ -1,3 +1,3 @@
 run_spec(import.meta, ["graphql"], { trailingComma: "none" });
 run_spec(import.meta, ["graphql"], { trailingComma: "all" });
-run_spec(import.meta, ["graphql"]);
+run_spec(import.meta, ["graphql"], { trailingComma: "es5" });
diff --git a/tests/format/html/basics/__snapshots__/jsfmt.spec.js.snap b/tests/format/html/basics/__snapshots__/jsfmt.spec.js.snap
index 9df0a56d170c..ba08273756ce 100644
--- a/tests/format/html/basics/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/html/basics/__snapshots__/jsfmt.spec.js.snap
@@ -425,7 +425,7 @@ printWidth: 80
     <script>
       window.jQuery ||
         document.write(
-          '<script src="js/vendor/jquery-3.3.1.min.js"><\\/script>'
+          '<script src="js/vendor/jquery-3.3.1.min.js"><\\/script>',
         );
     </script>
     <script src="js/plugins.js"></script>
diff --git a/tests/format/html/js/__snapshots__/jsfmt.spec.js.snap b/tests/format/html/js/__snapshots__/jsfmt.spec.js.snap
index 590076f2e0b2..f6e3e32b6511 100644
--- a/tests/format/html/js/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/html/js/__snapshots__/jsfmt.spec.js.snap
@@ -297,7 +297,7 @@ printWidth: 80
     constructor(
       public firstName: string,
       public middleInitial: string,
-      public lastName: string
+      public lastName: string,
     ) {
       this.fullName = firstName + " " + middleInitial + " " + lastName;
     }
@@ -322,7 +322,7 @@ printWidth: 80
     constructor(
       public firstName: string,
       public middleInitial: string,
-      public lastName: string
+      public lastName: string,
     ) {
       this.fullName = firstName + " " + middleInitial + " " + lastName;
     }
diff --git a/tests/format/html/multiparser/js/__snapshots__/jsfmt.spec.js.snap b/tests/format/html/multiparser/js/__snapshots__/jsfmt.spec.js.snap
index 6ed1a2dc8960..1e854885dd65 100644
--- a/tests/format/html/multiparser/js/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/html/multiparser/js/__snapshots__/jsfmt.spec.js.snap
@@ -62,7 +62,7 @@ printWidth: 80
           document.write(
             /* HTML */ \\\\\\\`<!-- bar1 -->
               bar
-              <!-- bar2 -->\\\\\\\`
+              <!-- bar2 -->\\\\\\\`,
           );
         <\\\\/script>
         <!-- foo2 -->
diff --git a/tests/format/js/arrow-call/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/arrow-call/__snapshots__/jsfmt.spec.js.snap
index 0a3a3cd0e918..55bb36a8901f 100644
--- a/tests/format/js/arrow-call/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/js/arrow-call/__snapshots__/jsfmt.spec.js.snap
@@ -49,53 +49,53 @@ promise.then(result => result.veryLongVariable.veryLongPropertyName > someOtherV
 
 =====================================output=====================================
 const testResults = results.testResults.map((testResult) =>
-  formatResult(testResult, formatter, reporter)
+  formatResult(testResult, formatter, reporter),
 );
 
 it("mocks regexp instances", () => {
   expect(() =>
-    moduleMocker.generateFromMetadata(moduleMocker.getMetadata(/a/))
+    moduleMocker.generateFromMetadata(moduleMocker.getMetadata(/a/)),
   ).not.toThrow();
 });
 
 expect(() => asyncRequest({ url: "/test-endpoint" })).toThrowError(
-  /Required parameter/
+  /Required parameter/,
 );
 
 expect(() =>
-  asyncRequest({ url: "/test-endpoint-but-with-a-long-url" })
+  asyncRequest({ url: "/test-endpoint-but-with-a-long-url" }),
 ).toThrowError(/Required parameter/);
 
 expect(() =>
-  asyncRequest({ url: "/test-endpoint-but-with-a-suuuuuuuuper-long-url" })
+  asyncRequest({ url: "/test-endpoint-but-with-a-suuuuuuuuper-long-url" }),
 ).toThrowError(/Required parameter/);
 
 expect(() =>
-  asyncRequest({ type: "foo", url: "/test-endpoint" })
+  asyncRequest({ type: "foo", url: "/test-endpoint" }),
 ).not.toThrowError();
 
 expect(() =>
-  asyncRequest({ type: "foo", url: "/test-endpoint-but-with-a-long-url" })
+  asyncRequest({ type: "foo", url: "/test-endpoint-but-with-a-long-url" }),
 ).not.toThrowError();
 
 const a = Observable.fromPromise(axiosInstance.post("/carts/mine")).map(
-  (response) => response.data
+  (response) => response.data,
 );
 
 const b = Observable.fromPromise(axiosInstance.get(url)).map(
-  (response) => response.data
+  (response) => response.data,
 );
 
 func(
   veryLoooooooooooooooooooooooongName,
   (veryLooooooooooooooooooooooooongName) =>
-    veryLoooooooooooooooongName.something()
+    veryLoooooooooooooooongName.something(),
 );
 
 promise.then((result) =>
   result.veryLongVariable.veryLongPropertyName > someOtherVariable
     ? "ok"
-    : "fail"
+    : "fail",
 );
 
 ================================================================================
@@ -202,10 +202,11 @@ promise.then((result) =>
 ================================================================================
 `;
 
-exports[`arrow_call.js format 1`] = `
+exports[`arrow_call.js - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["babel", "flow", "typescript"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 const testResults = results.testResults.map(testResult =>
@@ -344,10 +345,11 @@ const composition = (ViewComponent, ContainerComponent) =>
 ================================================================================
 `;
 
-exports[`class-property.js format 1`] = `
+exports[`class-property.js - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["babel", "flow", "typescript"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 const composition = (ViewComponent, ContainerComponent) =>
diff --git a/tests/format/js/arrow-call/jsfmt.spec.js b/tests/format/js/arrow-call/jsfmt.spec.js
index ff6a614a6163..6e0cbd06e0d5 100644
--- a/tests/format/js/arrow-call/jsfmt.spec.js
+++ b/tests/format/js/arrow-call/jsfmt.spec.js
@@ -1,6 +1,7 @@
 const errors = {};
 
 run_spec(import.meta, ["babel", "flow", "typescript"], {
+  trailingComma: "es5",
   errors,
 });
 run_spec(import.meta, ["babel", "flow", "typescript"], {
diff --git a/tests/format/js/arrows/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/arrows/__snapshots__/jsfmt.spec.js.snap
index e9f44111fe0c..83e7c258fc48 100644
--- a/tests/format/js/arrows/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/js/arrows/__snapshots__/jsfmt.spec.js.snap
@@ -194,7 +194,7 @@ x2 =
   (
     askTrovenaBeenaDependsRowans1,
     askTrovenaBeenaDependsRowans2,
-    askTrovenaBeenaDependsRowans3
+    askTrovenaBeenaDependsRowans3,
   ) => {
     c();
   } /* ! */; // KABOOM
@@ -232,7 +232,7 @@ x2 =
   (
     askTrovenaBeenaDependsRowans1,
     askTrovenaBeenaDependsRowans2,
-    askTrovenaBeenaDependsRowans3
+    askTrovenaBeenaDependsRowans3,
   ) => {
     c();
   } /* ! */; // KABOOM
@@ -880,8 +880,8 @@ Seq(typeDef.interface.groups).forEach((group) =>
     markdownDoc(member.doc, {
       typePath: typePath.concat(memberName.slice(1)),
       signatures: member.signatures,
-    })
-  )
+    }),
+  ),
 );
 
 const promiseFromCallback = (fn) =>
@@ -889,7 +889,7 @@ const promiseFromCallback = (fn) =>
     fn((err, result) => {
       if (err) return reject(err);
       return resolve(result);
-    })
+    }),
   );
 
 runtimeAgent.getProperties(
@@ -899,7 +899,7 @@ runtimeAgent.getProperties(
   false, // generatePreview
   (error, properties, internalProperties) => {
     return 1;
-  }
+  },
 );
 
 function render() {
@@ -909,7 +909,7 @@ function render() {
         onProgress={(e) =>
           this.setState({
             progress: Math.round(
-              (100 * e.nativeEvent.loaded) / e.nativeEvent.total
+              (100 * e.nativeEvent.loaded) / e.nativeEvent.total,
             ),
           })
         }
@@ -925,7 +925,7 @@ function render() {
         onProgress={(e) =>
           this.setState({
             progress: Math.round(
-              (100 * e.nativeEvent.loaded) / e.nativeEvent.total
+              (100 * e.nativeEvent.loaded) / e.nativeEvent.total,
             ),
           })
         }
@@ -941,7 +941,7 @@ function render() {
         onProgress={(e) =>
           this.setState({
             progress: Math.round(
-              (100 * e.nativeEvent.loaded) / e.nativeEvent.total
+              (100 * e.nativeEvent.loaded) / e.nativeEvent.total,
             ),
           })
         }
@@ -957,11 +957,11 @@ jest.mock(
       findMatchingTests(pattern) {
         return { paths: [] };
       }
-    }
+    },
 );
 
 fooooooooooooooooooooooooooooooooooooooooooooooooooo(
-  (action) => (next) => dispatch(action)
+  (action) => (next) => dispatch(action),
 );
 
 foo(
@@ -969,7 +969,7 @@ foo(
     a,
 
     b,
-  }) => {}
+  }) => {},
 );
 
 foo(({ a, b }) => {});
@@ -982,7 +982,7 @@ foo(
     a,
 
     b,
-  }) => {}
+  }) => {},
 );
 
 foo(
@@ -990,7 +990,7 @@ foo(
     a,
 
     b,
-  }) => a
+  }) => a,
 );
 
 foo(({ a, b }) => a);
@@ -1004,7 +1004,7 @@ foo(
 
       b,
     },
-  }) => {}
+  }) => {},
 );
 
 foo(
@@ -1016,7 +1016,7 @@ foo(
         d,
       },
     },
-  }) => {}
+  }) => {},
 );
 
 foo(
@@ -1030,7 +1030,7 @@ foo(
         },
       },
     },
-  }) => {}
+  }) => {},
 );
 
 foo(
@@ -1040,7 +1040,7 @@ foo(
 
       b,
     },
-  }) => a
+  }) => a,
 );
 
 foo(
@@ -1052,7 +1052,7 @@ foo(
         d,
       },
     },
-  }) => a
+  }) => a,
 );
 
 foo(
@@ -1066,7 +1066,7 @@ foo(
         },
       },
     },
-  }) => a
+  }) => a,
 );
 
 foo(
@@ -1082,7 +1082,7 @@ foo(
         },
       },
     },
-  ]) => {}
+  ]) => {},
 );
 
 foo(
@@ -1098,7 +1098,7 @@ foo(
         },
       },
     }
-  ]) => {}
+  ]) => {},
 );
 
 foo(
@@ -1113,8 +1113,8 @@ foo(
           },
         },
       },
-    }
-  ) => {}
+    },
+  ) => {},
 );
 
 foo(
@@ -1126,7 +1126,7 @@ foo(
         b,
       },
     ],
-  }) => {}
+  }) => {},
 );
 
 foo(
@@ -1137,8 +1137,8 @@ foo(
 
         b,
       },
-    ]
-  ) => a
+    ],
+  ) => a,
 );
 
 foo(
@@ -1150,7 +1150,7 @@ foo(
         b,
       },
     ],
-  ]) => {}
+  ]) => {},
 );
 
 foo(
@@ -1172,7 +1172,7 @@ foo(
         ],
       ],
     ],
-  ]) => {}
+  ]) => {},
 );
 
 foo(
@@ -1182,7 +1182,7 @@ foo(
 
       b,
     }
-  ) => {}
+  ) => {},
 );
 
 foo(
@@ -1194,7 +1194,7 @@ foo(
         b,
       },
     ]
-  ) => {}
+  ) => {},
 );
 
 foo(
@@ -1206,7 +1206,7 @@ foo(
         b,
       },
     ]
-  ]) => {}
+  ]) => {},
 );
 
 foo(
@@ -1217,8 +1217,8 @@ foo(
 
         b,
       },
-    ]
-  ) => {}
+    ],
+  ) => {},
 );
 
 foo(
@@ -1227,8 +1227,8 @@ foo(
       a,
 
       b,
-    }) => {})()
-  ) => {}
+    }) => {})(),
+  ) => {},
 );
 
 foo(
@@ -1237,8 +1237,8 @@ foo(
       a,
 
       b,
-    })
-  ) => {}
+    }),
+  ) => {},
 );
 
 foo(
@@ -1247,8 +1247,8 @@ foo(
       a,
 
       b,
-    }) => {}
-  ) => {}
+    }) => {},
+  ) => {},
 );
 
 foo(
@@ -1258,8 +1258,8 @@ foo(
         a,
 
         b,
-      })
-  ) => {}
+      }),
+  ) => {},
 );
 
 ================================================================================
@@ -1677,8 +1677,8 @@ Seq(typeDef.interface.groups).forEach(group =>
     markdownDoc(member.doc, {
       typePath: typePath.concat(memberName.slice(1)),
       signatures: member.signatures,
-    })
-  )
+    }),
+  ),
 );
 
 const promiseFromCallback = fn =>
@@ -1686,7 +1686,7 @@ const promiseFromCallback = fn =>
     fn((err, result) => {
       if (err) return reject(err);
       return resolve(result);
-    })
+    }),
   );
 
 runtimeAgent.getProperties(
@@ -1696,7 +1696,7 @@ runtimeAgent.getProperties(
   false, // generatePreview
   (error, properties, internalProperties) => {
     return 1;
-  }
+  },
 );
 
 function render() {
@@ -1706,7 +1706,7 @@ function render() {
         onProgress={e =>
           this.setState({
             progress: Math.round(
-              (100 * e.nativeEvent.loaded) / e.nativeEvent.total
+              (100 * e.nativeEvent.loaded) / e.nativeEvent.total,
             ),
           })
         }
@@ -1722,7 +1722,7 @@ function render() {
         onProgress={e =>
           this.setState({
             progress: Math.round(
-              (100 * e.nativeEvent.loaded) / e.nativeEvent.total
+              (100 * e.nativeEvent.loaded) / e.nativeEvent.total,
             ),
           })
         }
@@ -1738,7 +1738,7 @@ function render() {
         onProgress={e =>
           this.setState({
             progress: Math.round(
-              (100 * e.nativeEvent.loaded) / e.nativeEvent.total
+              (100 * e.nativeEvent.loaded) / e.nativeEvent.total,
             ),
           })
         }
@@ -1754,11 +1754,11 @@ jest.mock(
       findMatchingTests(pattern) {
         return { paths: [] };
       }
-    }
+    },
 );
 
 fooooooooooooooooooooooooooooooooooooooooooooooooooo(
-  action => next => dispatch(action)
+  action => next => dispatch(action),
 );
 
 foo(
@@ -1766,7 +1766,7 @@ foo(
     a,
 
     b,
-  }) => {}
+  }) => {},
 );
 
 foo(({ a, b }) => {});
@@ -1779,7 +1779,7 @@ foo(
     a,
 
     b,
-  }) => {}
+  }) => {},
 );
 
 foo(
@@ -1787,7 +1787,7 @@ foo(
     a,
 
     b,
-  }) => a
+  }) => a,
 );
 
 foo(({ a, b }) => a);
@@ -1801,7 +1801,7 @@ foo(
 
       b,
     },
-  }) => {}
+  }) => {},
 );
 
 foo(
@@ -1813,7 +1813,7 @@ foo(
         d,
       },
     },
-  }) => {}
+  }) => {},
 );
 
 foo(
@@ -1827,7 +1827,7 @@ foo(
         },
       },
     },
-  }) => {}
+  }) => {},
 );
 
 foo(
@@ -1837,7 +1837,7 @@ foo(
 
       b,
     },
-  }) => a
+  }) => a,
 );
 
 foo(
@@ -1849,7 +1849,7 @@ foo(
         d,
       },
     },
-  }) => a
+  }) => a,
 );
 
 foo(
@@ -1863,7 +1863,7 @@ foo(
         },
       },
     },
-  }) => a
+  }) => a,
 );
 
 foo(
@@ -1879,7 +1879,7 @@ foo(
         },
       },
     },
-  ]) => {}
+  ]) => {},
 );
 
 foo(
@@ -1895,7 +1895,7 @@ foo(
         },
       },
     }
-  ]) => {}
+  ]) => {},
 );
 
 foo(
@@ -1910,8 +1910,8 @@ foo(
           },
         },
       },
-    }
-  ) => {}
+    },
+  ) => {},
 );
 
 foo(
@@ -1923,7 +1923,7 @@ foo(
         b,
       },
     ],
-  }) => {}
+  }) => {},
 );
 
 foo(
@@ -1934,8 +1934,8 @@ foo(
 
         b,
       },
-    ]
-  ) => a
+    ],
+  ) => a,
 );
 
 foo(
@@ -1947,7 +1947,7 @@ foo(
         b,
       },
     ],
-  ]) => {}
+  ]) => {},
 );
 
 foo(
@@ -1969,7 +1969,7 @@ foo(
         ],
       ],
     ],
-  ]) => {}
+  ]) => {},
 );
 
 foo(
@@ -1979,7 +1979,7 @@ foo(
 
       b,
     }
-  ) => {}
+  ) => {},
 );
 
 foo(
@@ -1991,7 +1991,7 @@ foo(
         b,
       },
     ]
-  ) => {}
+  ) => {},
 );
 
 foo(
@@ -2003,7 +2003,7 @@ foo(
         b,
       },
     ]
-  ]) => {}
+  ]) => {},
 );
 
 foo(
@@ -2014,8 +2014,8 @@ foo(
 
         b,
       },
-    ]
-  ) => {}
+    ],
+  ) => {},
 );
 
 foo(
@@ -2024,8 +2024,8 @@ foo(
       a,
 
       b,
-    }) => {})()
-  ) => {}
+    }) => {})(),
+  ) => {},
 );
 
 foo(
@@ -2034,8 +2034,8 @@ foo(
       a,
 
       b,
-    })
-  ) => {}
+    }),
+  ) => {},
 );
 
 foo(
@@ -2044,8 +2044,8 @@ foo(
       a,
 
       b,
-    }) => {}
-  ) => {}
+    }) => {},
+  ) => {},
 );
 
 foo(
@@ -2055,8 +2055,8 @@ foo(
         a,
 
         b,
-      })
-  ) => {}
+      }),
+  ) => {},
 );
 
 ================================================================================
@@ -2128,7 +2128,7 @@ export const bem =
 
 <FlatList
   renderItem={(
-    info // $FlowExpectedError - bad widgetCount type 6, should be Object
+    info, // $FlowExpectedError - bad widgetCount type 6, should be Object
   ) => <span>{info.item.widget.missingProp}</span>}
   data={data}
 />;
@@ -2202,7 +2202,7 @@ export const bem =
 
 <FlatList
   renderItem={(
-    info // $FlowExpectedError - bad widgetCount type 6, should be Object
+    info, // $FlowExpectedError - bad widgetCount type 6, should be Object
   ) => <span>{info.item.widget.missingProp}</span>}
   data={data}
 />;
@@ -2535,7 +2535,7 @@ foo(
     (argument10) =>
     (argument11) =>
     (argument12) =>
-      3
+      3,
 );
 
 foo(
@@ -2554,7 +2554,7 @@ foo(
       foo: bar,
       bar: baz,
       baz: foo,
-    })
+    }),
 );
 
 foo(
@@ -2572,7 +2572,7 @@ foo(
     (argument12) => {
       const foo = "foo";
       return foo + "bar";
-    }
+    },
 );
 
 (
@@ -2607,8 +2607,8 @@ bar(
       (argument12) => ({
         foo: bar,
         bar: baz,
-      })
-  )
+      }),
+  ),
 );
 
 const baaaz =
@@ -2621,12 +2621,12 @@ const baaaz =
 
 new Fooooooooooooooooooooooooooooooooooooooooooooooooooo(
   (action) => (next) => (next) => (next) => (next) => (next) => (next) =>
-    dispatch(action)
+    dispatch(action),
 );
 
 foo?.Fooooooooooooooooooooooooooooooooooooooooooooooooooo(
   (action) => (next) => (next) => (next) => (next) => (next) => (next) =>
-    dispatch(action)
+    dispatch(action),
 );
 
 foo((action) => (action) => action);
@@ -2969,7 +2969,7 @@ foo(
     argument10 =>
     argument11 =>
     argument12 =>
-      3
+      3,
 );
 
 foo(
@@ -2988,7 +2988,7 @@ foo(
       foo: bar,
       bar: baz,
       baz: foo,
-    })
+    }),
 );
 
 foo(
@@ -3006,7 +3006,7 @@ foo(
     argument12 => {
       const foo = "foo";
       return foo + "bar";
-    }
+    },
 );
 
 (
@@ -3041,8 +3041,8 @@ bar(
       argument12 => ({
         foo: bar,
         bar: baz,
-      })
-  )
+      }),
+  ),
 );
 
 const baaaz =
@@ -3054,11 +3054,11 @@ const baaaz =
   });
 
 new Fooooooooooooooooooooooooooooooooooooooooooooooooooo(
-  action => next => next => next => next => next => next => dispatch(action)
+  action => next => next => next => next => next => next => dispatch(action),
 );
 
 foo?.Fooooooooooooooooooooooooooooooooooooooooooooooooooo(
-  action => next => next => next => next => next => next => dispatch(action)
+  action => next => next => next => next => next => next => dispatch(action),
 );
 
 foo(action => action => action);
@@ -3212,7 +3212,7 @@ request.get(
   "https://preview-9992--prettier.netlify.app",
   (head) => (body) => (mody) => {
     console.log(head, body);
-  }
+  },
 );
 
 request.get(
@@ -3221,7 +3221,7 @@ request.get(
     (body) =>
     (modyLoremIpsumDolorAbstractProviderFactoryServiceModule) => {
       console.log(head, body);
-    }
+    },
 );
 
 ================================================================================
@@ -3261,14 +3261,14 @@ request.get(
   "https://preview-9992--prettier.netlify.app",
   head => body => mody => {
     console.log(head, body);
-  }
+  },
 );
 
 request.get(
   "https://preview-9992--prettier.netlify.app",
   head => body => modyLoremIpsumDolorAbstractProviderFactoryServiceModule => {
     console.log(head, body);
-  }
+  },
 );
 
 ================================================================================
@@ -3323,7 +3323,7 @@ function f(
 function f(
   a = (fooLorem) => (bazIpsum) => (barLorem) => {
     return 3;
-  }
+  },
 ) {}
 
 (
@@ -3403,7 +3403,7 @@ function f(
 function f(
   a = fooLorem => bazIpsum => barLorem => {
     return 3;
-  }
+  },
 ) {}
 
 (
@@ -3483,7 +3483,7 @@ const makeSomeFunction2 =
   (
     services = {
       logger: null,
-    }
+    },
   ) =>
   (a, b, c) =>
     services.logger(a, b, c);
@@ -3542,7 +3542,7 @@ const makeSomeFunction2 =
   (
     services = {
       logger: null,
-    }
+    },
   ) =>
   (a, b, c) =>
     services.logger(a, b, c);
@@ -3596,7 +3596,7 @@ veryLongCall(VERY_VERY_VERY_VERY_VERY_VERY_VERY_VERY_VERY_VERY_LONG_CONSTANT, ()
 =====================================output=====================================
 veryLongCall(
   VERY_VERY_VERY_VERY_VERY_VERY_VERY_VERY_VERY_VERY_LONG_CONSTANT,
-  () => {}
+  () => {},
 );
 
 ================================================================================
@@ -3614,7 +3614,7 @@ veryLongCall(VERY_VERY_VERY_VERY_VERY_VERY_VERY_VERY_VERY_VERY_LONG_CONSTANT, ()
 =====================================output=====================================
 veryLongCall(
   VERY_VERY_VERY_VERY_VERY_VERY_VERY_VERY_VERY_VERY_LONG_CONSTANT,
-  () => {}
+  () => {},
 );
 
 ================================================================================
@@ -3697,7 +3697,7 @@ foo(a => b => (0, 1));
 =====================================output=====================================
 promise.then(
   (result) => result,
-  (err) => err
+  (err) => err,
 );
 
 promise.then(
@@ -3708,7 +3708,7 @@ promise.then(
   (err) => {
     f();
     return err;
-  }
+  },
 );
 
 foo((a) => b);
@@ -3754,7 +3754,7 @@ foo(a => b => (0, 1));
 =====================================output=====================================
 promise.then(
   result => result,
-  err => err
+  err => err,
 );
 
 promise.then(
@@ -3765,7 +3765,7 @@ promise.then(
   err => {
     f();
     return err;
-  }
+  },
 );
 
 foo(a => b);
diff --git a/tests/format/js/assignment-comments/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/assignment-comments/__snapshots__/jsfmt.spec.js.snap
index 84351ac844f4..1eccc9b21fcb 100644
--- a/tests/format/js/assignment-comments/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/js/assignment-comments/__snapshots__/jsfmt.spec.js.snap
@@ -113,15 +113,15 @@ let f6 = /* comment */
 =====================================output=====================================
 f1 = (
   //comment
-  a = b
+  a = b,
 ) => {};
 
 f2 = (
-  a = b //comment
+  a = b, //comment
 ) => {};
 
 f3 = (
-  a = b //comment
+  a = b, //comment
 ) => {};
 
 f4 = // Comment
@@ -141,15 +141,15 @@ f6 =
 
 let f1 = (
   //comment
-  a = b
+  a = b,
 ) => {};
 
 let f2 = (
-  a = b //comment
+  a = b, //comment
 ) => {};
 
 let f3 = (
-  a = b //comment
+  a = b, //comment
 ) => {};
 
 let f4 = // Comment
diff --git a/tests/format/js/assignment/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/assignment/__snapshots__/jsfmt.spec.js.snap
index 82cae3cb879c..0ff1d7b4c1e6 100644
--- a/tests/format/js/assignment/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/js/assignment/__snapshots__/jsfmt.spec.js.snap
@@ -110,7 +110,7 @@ bifornCringerMoshedPerplexSawder =
   anodyneCondosMal(
     sdsadsa,
     dasdas,
-    asd(() => sdf)
+    asd(() => sdf),
   ).ateOverateRetinol =
   annularCooeedSplicesWalksWayWay =
     kochabCooieGameOnOboleUnweave;
@@ -123,7 +123,7 @@ bifornCringerMoshedPerplexSawder =
   anodyneCondosMal(
     sdsadsa,
     dasdas,
-    asd(() => sdf)
+    asd(() => sdf),
   ).ateOverateRetinol =
   annularCooeedSplicesWalksWayWay =
     kochabCooieGameOnOboleUnweave + kochabCooieGameOnOboleUnweave;
@@ -422,7 +422,7 @@ manifestCache[templateId] = readFileSync(\`\${MANIFESTS_PATH}/\${templateId}.jso
 =====================================output=====================================
 manifestCache[templateId] = readFileSync(
   \`\${MANIFESTS_PATH}/\${templateId}.json\`,
-  { encoding: "utf-8" }
+  { encoding: "utf-8" },
 );
 
 ================================================================================
@@ -475,7 +475,7 @@ if (something) {
 =====================================output=====================================
 if (something) {
   const otherBrandsWithThisAdjacencyCount123 = Object.values(
-    edge.to.edges
+    edge.to.edges,
   ).length;
 }
 
@@ -501,7 +501,7 @@ const {qfwvfkwjdqgz, bctsyljqucgz, xuodxhmgwwpw} =
 const { qfwvfkwjdqgz, bctsyljqucgz, xuodxhmgwwpw } = qbhtcuzxwedz(
   yrwimwkjeeiu,
   njwvozigdkfi,
-  alvvjgkmnmhd
+  alvvjgkmnmhd,
 );
 
 ================================================================================
@@ -545,7 +545,7 @@ const data4 = request.delete(
 async function f() {
   const { data, status } = await request.delete(
     \`/account/\${accountId}/documents/\${type}/\${documentNumber}\`,
-    { validateStatus: () => true }
+    { validateStatus: () => true },
   );
   return { data, status };
 }
@@ -556,17 +556,17 @@ const data1 = request.delete("----------------------------------------------", {
 
 const data2 = request.delete(
   "----------------------------------------------x",
-  { validateStatus: () => true }
+  { validateStatus: () => true },
 );
 
 const data3 = request.delete(
   "----------------------------------------------xx",
-  { validateStatus: () => true }
+  { validateStatus: () => true },
 );
 
 const data4 = request.delete(
   "----------------------------------------------xxx",
-  { validateStatus: () => true }
+  { validateStatus: () => true },
 );
 
 ================================================================================
@@ -727,7 +727,7 @@ const bifornCringerMoshedPerplexSawderGlyphsHa =
 
 if (true) {
   node.id = this.flowParseTypeAnnotatableIdentifier(
-    /*allowPrimitiveOverride*/ true
+    /*allowPrimitiveOverride*/ true,
   );
 }
 
diff --git a/tests/format/js/binary-expressions/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/binary-expressions/__snapshots__/jsfmt.spec.js.snap
index f13fc2fbd244..37df2a6c7231 100644
--- a/tests/format/js/binary-expressions/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/js/binary-expressions/__snapshots__/jsfmt.spec.js.snap
@@ -30,7 +30,7 @@ function f() {
       entity &&
       entity.isInstallAvailable() &&
       !entity.isQueue() &&
-      entity.isDisabled()
+      entity.isDisabled(),
   );
 }
 
@@ -42,7 +42,7 @@ function f2() {
       !entity.isQueue() &&
       entity.isDisabled() && {
         id: entity.id,
-      }
+      },
   );
 }
 
@@ -186,19 +186,19 @@ printWidth: 80
     bbbbbbbbbbbbbbbbbbbbbbbbb &&
     ccccccccccccccccccccccccc &&
     ddddddddddddddddddddddddd &&
-    eeeeeeeeeeeeeeeeeeeeeeeee
+    eeeeeeeeeeeeeeeeeeeeeeeee,
 )(
   aaaaaaaaaaaaaaaaaaaaaaaaa &&
     bbbbbbbbbbbbbbbbbbbbbbbbb &&
     ccccccccccccccccccccccccc &&
     ddddddddddddddddddddddddd &&
-    eeeeeeeeeeeeeeeeeeeeeeeee
+    eeeeeeeeeeeeeeeeeeeeeeeee,
 )(
   aaaaaaaaaaaaaaaaaaaaaaaaa &&
     bbbbbbbbbbbbbbbbbbbbbbbbb &&
     ccccccccccccccccccccccccc &&
     ddddddddddddddddddddddddd &&
-    eeeeeeeeeeeeeeeeeeeeeeeee
+    eeeeeeeeeeeeeeeeeeeeeeeee,
 );
 
 ================================================================================
@@ -293,7 +293,7 @@ var a = x(
   abifornCringerMoshedPerplexSawder +
     kochabCooieGameOnOboleUnweave + // f
     glimseGlyphsHazardNoopsTieTie +
-    bifornCringerMoshedPerplexSawder
+    bifornCringerMoshedPerplexSawder,
 );
 
 foo[
@@ -887,11 +887,11 @@ defaultContent.filter(defaultLocale => {
 this._cumulativeHeights &&
   Math.abs(
     this._cachedItemHeight(this._firstVisibleIndex + i) -
-      this._provider.fastHeight(i + this._firstVisibleIndex)
+      this._provider.fastHeight(i + this._firstVisibleIndex),
   ) > 1;
 
 foooooooooooooooooooooooooooooooooooooooooooooooooooooooooo(
-  aaaaaaaaaaaaaaaaaaa
+  aaaaaaaaaaaaaaaaaaa,
 ) + a;
 
 const isPartOfPackageJSON =
@@ -975,7 +975,7 @@ const x7 =
 const x8 =
   call(
     firstItemWithAVeryLongNameThatKeepsGoing,
-    firstItemWithAVeryLongNameThatKeepsGoing
+    firstItemWithAVeryLongNameThatKeepsGoing,
   ) || [];
 
 const x9 =
@@ -987,7 +987,7 @@ const x10 =
 foo(
   obj.property * new Class() && obj instanceof Class && longVariable
     ? number + 5
-    : false
+    : false,
 );
 
 ================================================================================
diff --git a/tests/format/js/bind-expressions/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/bind-expressions/__snapshots__/jsfmt.spec.js.snap
index 35e2c9e8d260..8226a369f4a8 100644
--- a/tests/format/js/bind-expressions/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/js/bind-expressions/__snapshots__/jsfmt.spec.js.snap
@@ -548,7 +548,7 @@ function test(observable) {
     ::throttle(() =>
       interval(10)
         ::take(1)
-        ::takeUntil(observable::filter((data) => someOtherTest))
+        ::takeUntil(observable::filter((data) => someOtherTest)),
     )
     ::map(someFunction)
 }
@@ -594,7 +594,7 @@ function test(observable) {
     ::throttle(() =>
       interval(10)
         ::take(1)
-        ::takeUntil(observable::filter((data) => someOtherTest))
+        ::takeUntil(observable::filter((data) => someOtherTest)),
     )
     ::map(someFunction);
 }
diff --git a/tests/format/js/break-calls/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/break-calls/__snapshots__/jsfmt.spec.js.snap
index b96303db48be..4cedab6f2eba 100644
--- a/tests/format/js/break-calls/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/js/break-calls/__snapshots__/jsfmt.spec.js.snap
@@ -55,48 +55,48 @@ h(
   f(
     g(() => {
       a;
-    })
-  )
+    }),
+  ),
 );
 
 deepCopyAndAsyncMapLeavesA(
   { source: sourceValue, destination: destination[sourceKey] },
-  { valueMapper, overwriteExistingKeys }
+  { valueMapper, overwriteExistingKeys },
 );
 
 deepCopyAndAsyncMapLeavesB(
   1337,
   { source: sourceValue, destination: destination[sourceKey] },
-  { valueMapper, overwriteExistingKeys }
+  { valueMapper, overwriteExistingKeys },
 );
 
 deepCopyAndAsyncMapLeavesC(
   { source: sourceValue, destination: destination[sourceKey] },
   1337,
-  { valueMapper, overwriteExistingKeys }
+  { valueMapper, overwriteExistingKeys },
 );
 
 function someFunction(url) {
   return get(url).then(
     (json) => dispatch(success(json)),
-    (error) => dispatch(failed(error))
+    (error) => dispatch(failed(error)),
   );
 }
 
 const mapChargeItems = fp.flow(
   (l) => (l < 10 ? l : 1),
-  (l) => Immutable.Range(l).toMap()
+  (l) => Immutable.Range(l).toMap(),
 );
 
 expect(
-  new LongLongLongLongLongRange([0, 0], [0, 0])
+  new LongLongLongLongLongRange([0, 0], [0, 0]),
 ).toEqualAtomLongLongLongLongRange(new LongLongLongRange([0, 0], [0, 0]));
 
 ["red", "white", "blue", "black", "hotpink", "rebeccapurple"].reduce(
   (allColors, color) => {
     return allColors.concat(color);
   },
-  []
+  [],
 );
 
 ================================================================================
@@ -126,7 +126,7 @@ runtimeAgent.getProperties(
   false, // generatePreview
   (error, properties, internalProperties) => {
     return 1;
-  }
+  },
 );
 
 ================================================================================
@@ -255,7 +255,7 @@ function MyComponent(props) {
     // We need to disable the eslint warning here,
     // because of some complicated reason.
     // eslint-disable line react-hooks/exhaustive-deps
-    []
+    [],
   );
 
   return null;
@@ -264,7 +264,7 @@ function MyComponent(props) {
 function Comp1() {
   const { firstName, lastName } = useMemo(
     () => parseFullName(fullName),
-    [fullName]
+    [fullName],
   );
 }
 
@@ -283,7 +283,7 @@ function Comp2() {
       props.value,
       props.value,
       props.value,
-    ]
+    ],
   );
 }
 
@@ -291,7 +291,7 @@ function Comp3() {
   const { firstName, lastName } = useMemo(
     (aaa, bbb, ccc, ddd, eee, fff, ggg, hhh, iii, jjj, kkk) =>
       func(aaa, bbb, ccc, ddd, eee, fff, ggg, hhh, iii, jjj, kkk),
-    [foo, bar, baz]
+    [foo, bar, baz],
   );
 }
 
@@ -303,7 +303,7 @@ function Comp4() {
       (foo && baz(foo) + bar(foo) + foo && bar && baz) ||
       baz ||
       (foo && baz(foo) + bar(foo)),
-    [foo, bar, baz]
+    [foo, bar, baz],
   );
 }
 
@@ -333,12 +333,12 @@ const [ first2 ] = array.reduce(
 =====================================output=====================================
 const [first1] = array.reduce(
   () => [accumulator, element, accumulator, element],
-  [fullName]
+  [fullName],
 );
 
 const [first2] = array.reduce(
   (accumulator, element) => [accumulator, element],
-  [fullName]
+  [fullName],
 );
 
 ================================================================================
diff --git a/tests/format/js/class-extends/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/class-extends/__snapshots__/jsfmt.spec.js.snap
index 8dcb70a92510..c2364015a0ee 100644
--- a/tests/format/js/class-extends/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/js/class-extends/__snapshots__/jsfmt.spec.js.snap
@@ -26,7 +26,7 @@ class loooooooooooooooooooong3 extends class {
 
 =====================================output=====================================
 class loooooooooooooooooooong1 extends foooooooo(
-  foooooooo(foooooooo(foooooooo(foooooooo(foooooooo(foooooooo(foooooooo()))))))
+  foooooooo(foooooooo(foooooooo(foooooooo(foooooooo(foooooooo(foooooooo())))))),
 ) {}
 
 class loooooooooooooooooooong2 extends function (make, model, year, owner) {
diff --git a/tests/format/js/comments-closure-typecast/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/comments-closure-typecast/__snapshots__/jsfmt.spec.js.snap
index 722445beceb8..2f6776610f12 100644
--- a/tests/format/js/comments-closure-typecast/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/js/comments-closure-typecast/__snapshots__/jsfmt.spec.js.snap
@@ -86,7 +86,7 @@ const style2 =/**
 // test to make sure comments are attached correctly
 let inlineComment = /* some comment */ someReallyLongFunctionCall(
   withLots,
-  ofArguments
+  ofArguments,
 );
 
 let object = {
@@ -122,7 +122,7 @@ test(/** @type {!Array} */ (arrOrString).length + 1);
 const data = functionCall(
   arg1,
   arg2,
-  /** @type {{height: number, width: number}} */ (arg3)
+  /** @type {{height: number, width: number}} */ (arg3),
 );
 
 const style = /** @type {{
diff --git a/tests/format/js/comments-pipeline-own-line/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/comments-pipeline-own-line/__snapshots__/jsfmt.spec.js.snap
index 67630267ba85..822eae5412da 100644
--- a/tests/format/js/comments-pipeline-own-line/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/js/comments-pipeline-own-line/__snapshots__/jsfmt.spec.js.snap
@@ -88,14 +88,14 @@ function pipeline() {
 bifornCringerMoshedPerplexSawder(
   askTrovenaBeenaDependsRowans,
   glimseGlyphsHazardNoopsTieTie,
-  averredBathersBoxroomBuggyNurl
+  averredBathersBoxroomBuggyNurl,
 ) // comment
   |> kochabCooieGameOnOboleUnweave
   |> glimseGlyphsHazardNoopsTieTie;
 
 bifornCringerMoshedPerplexSawder(
   askTrovenaBeenaDependsRowans,
-  glimseGlyphsHazardNoopsTieTie
+  glimseGlyphsHazardNoopsTieTie,
 )
   |> foo // comment
   |> kochabCooieGameOnOboleUnweave
diff --git a/tests/format/js/comments/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/comments/__snapshots__/jsfmt.spec.js.snap
index 7078a9076e6b..9f5f3c9849d3 100644
--- a/tests/format/js/comments/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/js/comments/__snapshots__/jsfmt.spec.js.snap
@@ -671,7 +671,7 @@ Math.min(
   document.body.scrollHeight -
     (window.scrollY + window.innerHeight) -
     devsite_footer_height,
-  0
+  0,
 )
 
 ================================================================================
@@ -702,7 +702,7 @@ Math.min(
   document.body.scrollHeight -
     (window.scrollY + window.innerHeight) -
     devsite_footer_height,
-  0
+  0,
 );
 
 ================================================================================
@@ -1015,19 +1015,19 @@ render?.( // Warm any cache
 render(
   // Warm any cache
   <ChildUpdates renderAnchor={true} anchorClassOn={true} />,
-  container
+  container,
 )
 
 React.render(
   // Warm any cache
   <ChildUpdates renderAnchor={true} anchorClassOn={true} />,
-  container
+  container,
 )
 
 render?.(
   // Warm any cache
   <ChildUpdates renderAnchor={true} anchorClassOn={true} />,
-  container
+  container,
 )
 
 ================================================================================
@@ -1058,19 +1058,19 @@ render?.( // Warm any cache
 render(
   // Warm any cache
   <ChildUpdates renderAnchor={true} anchorClassOn={true} />,
-  container
+  container,
 );
 
 React.render(
   // Warm any cache
   <ChildUpdates renderAnchor={true} anchorClassOn={true} />,
-  container
+  container,
 );
 
 render?.(
   // Warm any cache
   <ChildUpdates renderAnchor={true} anchorClassOn={true} />,
-  container
+  container,
 );
 
 ================================================================================
@@ -1853,8 +1853,8 @@ function c(/* comment */ argA, argB, argC) {} // comment
 call((/*object*/ row) => {})
 KEYPAD_NUMBERS.map(
   (
-    num // Buttons 0-9
-  ) => <div />
+    num, // Buttons 0-9
+  ) => <div />,
 )
 
 function f1 /* f */() {}
@@ -1989,8 +1989,8 @@ function c(/* comment */ argA, argB, argC) {} // comment
 call((/*object*/ row) => {});
 KEYPAD_NUMBERS.map(
   (
-    num // Buttons 0-9
-  ) => <div />
+    num, // Buttons 0-9
+  ) => <div />,
 );
 
 function f1 /* f */() {}
@@ -2725,7 +2725,7 @@ const regex = new RegExp(
     "['\\"]" + // opening quotation mark
     escapeStringRegExp(target.name) + // target name
     "['\\"]" + // closing quotation mark
-    ",?$" // optional trailing comma
+    ",?$", // optional trailing comma
 )
 
 // The comment is moved and doesn't trigger the eslint rule anymore
@@ -2764,7 +2764,7 @@ const result = asyncExecute("non_existing_command", /* args */ [])
 
 // The closing paren is printed on the same line as the comment
 foo(
-  {}
+  {},
   // Hi
 )
 
@@ -2876,7 +2876,7 @@ const regex = new RegExp(
     "['\\"]" + // opening quotation mark
     escapeStringRegExp(target.name) + // target name
     "['\\"]" + // closing quotation mark
-    ",?$" // optional trailing comma
+    ",?$", // optional trailing comma
 );
 
 // The comment is moved and doesn't trigger the eslint rule anymore
@@ -2915,7 +2915,7 @@ const result = asyncExecute("non_existing_command", /* args */ []);
 
 // The closing paren is printed on the same line as the comment
 foo(
-  {}
+  {},
   // Hi
 );
 
@@ -3593,7 +3593,7 @@ class Foo {
     lol /*string*/,
     lol2 /*string*/,
     lol3 /*string*/,
-    lol4 /*string*/
+    lol4 /*string*/,
   ) /*string*/ {}
 
   // prettier-ignore
@@ -3680,7 +3680,7 @@ class Foo {
     lol /*string*/,
     lol2 /*string*/,
     lol3 /*string*/,
-    lol4 /*string*/
+    lol4 /*string*/,
   ) /*string*/ {}
 
   // prettier-ignore
diff --git a/tests/format/js/comments/flow-types/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/comments/flow-types/__snapshots__/jsfmt.spec.js.snap
index c0641b06fd1f..3f7cb2281244 100644
--- a/tests/format/js/comments/flow-types/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/js/comments/flow-types/__snapshots__/jsfmt.spec.js.snap
@@ -24,7 +24,7 @@ btnActions[1] = () => (
 
 a(
   // ::
-  1
+  1,
 );
 
 ================================================================================
diff --git a/tests/format/js/conditional/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/conditional/__snapshots__/jsfmt.spec.js.snap
index 52296ec2f6fb..db35ac17fd65 100644
--- a/tests/format/js/conditional/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/js/conditional/__snapshots__/jsfmt.spec.js.snap
@@ -233,7 +233,7 @@ const testConsole = new TestConsole(
 
 =====================================output=====================================
 const testConsole = new TestConsole(
-  config.useStderr ? process.stderr : process.stdout
+  config.useStderr ? process.stderr : process.stdout,
 );
 
 ================================================================================
diff --git a/tests/format/js/decorators/class-expression/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/decorators/class-expression/__snapshots__/jsfmt.spec.js.snap
index b92b25fadf48..2b429205db58 100644
--- a/tests/format/js/decorators/class-expression/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/js/decorators/class-expression/__snapshots__/jsfmt.spec.js.snap
@@ -79,13 +79,13 @@ console.log(
   (
     @deco
     class Foo {}
-  )
+  ),
 )
 console.log(
   (
     @deco
     class {}
-  )
+  ),
 )
 
 ================================================================================
@@ -105,13 +105,13 @@ console.log(
   (
     @deco
     class Foo {}
-  )
+  ),
 );
 console.log(
   (
     @deco
     class {}
-  )
+  ),
 );
 
 ================================================================================
diff --git a/tests/format/js/destructuring-ignore/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/destructuring-ignore/__snapshots__/jsfmt.spec.js.snap
index 4918aad523f2..6f432db4da51 100644
--- a/tests/format/js/destructuring-ignore/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/js/destructuring-ignore/__snapshots__/jsfmt.spec.js.snap
@@ -97,11 +97,11 @@ const {
 ================================================================================
 `;
 
-exports[`ignore.js - {"trailingComma":"none"} format 1`] = `
+exports[`ignore.js - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["babel", "flow", "typescript"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 const {
@@ -150,29 +150,29 @@ const {
 =====================================output=====================================
 const {
   // prettier-ignore
-  bar =           1
+  bar =           1,
 } = foo;
 
 const {
   _,
   // prettier-ignore
-  bar2 =           1
+  bar2 =           1,
 } = foo;
 
 /* comments */
 const {
   // prettier-ignore
-  bar3 =           1 // comment
+  bar3 =           1, // comment
 } = foo;
 
 const {
   // prettier-ignore
-  bar4 =           1 /* comment */
+  bar4 =           1 /* comment */,
 } = foo;
 
 const {
   // prettier-ignore
-  bar5 =           /* comment */          1
+  bar5 =           /* comment */          1,
 } = foo;
 
 /* RestElement */
@@ -185,19 +185,20 @@ const {
 const {
   baz: {
     // prettier-ignore
-    foo2 = [1, 2,    3]
+    foo2 = [1, 2,    3],
   },
   // prettier-ignore
-  bar7 =            1
+  bar7 =            1,
 } = foo;
 
 ================================================================================
 `;
 
-exports[`ignore.js format 1`] = `
+exports[`ignore.js - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["babel", "flow", "typescript"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 const {
@@ -246,29 +247,29 @@ const {
 =====================================output=====================================
 const {
   // prettier-ignore
-  bar =           1,
+  bar =           1
 } = foo;
 
 const {
   _,
   // prettier-ignore
-  bar2 =           1,
+  bar2 =           1
 } = foo;
 
 /* comments */
 const {
   // prettier-ignore
-  bar3 =           1, // comment
+  bar3 =           1 // comment
 } = foo;
 
 const {
   // prettier-ignore
-  bar4 =           1 /* comment */,
+  bar4 =           1 /* comment */
 } = foo;
 
 const {
   // prettier-ignore
-  bar5 =           /* comment */          1,
+  bar5 =           /* comment */          1
 } = foo;
 
 /* RestElement */
@@ -281,10 +282,10 @@ const {
 const {
   baz: {
     // prettier-ignore
-    foo2 = [1, 2,    3],
+    foo2 = [1, 2,    3]
   },
   // prettier-ignore
-  bar7 =            1,
+  bar7 =            1
 } = foo;
 
 ================================================================================
diff --git a/tests/format/js/destructuring-ignore/jsfmt.spec.js b/tests/format/js/destructuring-ignore/jsfmt.spec.js
index 27543222ac93..de0ea33599ab 100644
--- a/tests/format/js/destructuring-ignore/jsfmt.spec.js
+++ b/tests/format/js/destructuring-ignore/jsfmt.spec.js
@@ -1,5 +1,5 @@
 const parser = ["babel", "flow", "typescript"];
 
-run_spec(import.meta, parser /*, { trailingComma: "es5" }*/);
+run_spec(import.meta, parser, { trailingComma: "es5" });
 run_spec(import.meta, parser, { trailingComma: "none" });
 run_spec(import.meta, parser, { trailingComma: "all" });
diff --git a/tests/format/js/do/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/do/__snapshots__/jsfmt.spec.js.snap
index e975afc7e768..44908ab5965a 100644
--- a/tests/format/js/do/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/js/do/__snapshots__/jsfmt.spec.js.snap
@@ -113,7 +113,7 @@ expect(
       var bar = "foo";
     };
     bar;
-  }
+  },
 ).toThrow(ReferenceError);
 
 ================================================================================
diff --git a/tests/format/js/first-argument-expansion/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/first-argument-expansion/__snapshots__/jsfmt.spec.js.snap
index d164143369c9..67794d96fbb5 100644
--- a/tests/format/js/first-argument-expansion/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/js/first-argument-expansion/__snapshots__/jsfmt.spec.js.snap
@@ -161,21 +161,21 @@ func(
   () => {
     thing();
   },
-  1 ? 2 : 3
+  1 ? 2 : 3,
 );
 
 func(
   function () {
     return thing();
   },
-  1 ? 2 : 3
+  1 ? 2 : 3,
 );
 
 func(
   () => {
     thing();
   },
-  something() ? someOtherThing() : somethingElse(true, 0)
+  something() ? someOtherThing() : somethingElse(true, 0),
 );
 
 func(
@@ -184,7 +184,7 @@ func(
   },
   something(longArgumentName, anotherLongArgumentName)
     ? someOtherThing()
-    : somethingElse(true, 0)
+    : somethingElse(true, 0),
 );
 
 func(
@@ -195,17 +195,17 @@ func(
     longArgumentName,
     anotherLongArgumentName,
     anotherLongArgumentName,
-    anotherLongArgumentName
+    anotherLongArgumentName,
   )
     ? someOtherThing()
-    : somethingElse(true, 0)
+    : somethingElse(true, 0),
 );
 
 compose(
   (a) => {
     return a.thing;
   },
-  (b) => b * b
+  (b) => b * b,
 );
 
 somthing.reduce(function (item, thing) {
@@ -220,7 +220,7 @@ reallyLongLongLongLongLongLongLongLongLongLongLongLongLongLongMethod(
   (f, g, h) => {
     return f.pop();
   },
-  true
+  true,
 );
 
 // Don't do the rest of these
@@ -230,14 +230,14 @@ func(
     thing();
   },
   true,
-  false
+  false,
 );
 
 func(
   () => {
     thing();
   },
-  { yes: true, cats: 5 }
+  { yes: true, cats: 5 },
 );
 
 compose(
@@ -246,19 +246,19 @@ compose(
   },
   (b) => {
     return b + "";
-  }
+  },
 );
 
 compose(
   (a) => {
     return a.thing;
   },
-  (b) => [1, 2, 3, 4, 5]
+  (b) => [1, 2, 3, 4, 5],
 );
 
 renderThing(
   (a) => <div>Content. So much to say. Oh my. Are we done yet?</div>,
-  args
+  args,
 );
 
 setTimeout(
@@ -266,21 +266,21 @@ setTimeout(
   function () {
     thing();
   },
-  500
+  500,
 );
 
 setTimeout(
   /* blip */ function () {
     thing();
   },
-  500
+  500,
 );
 
 func(
   (args) => {
     execute(args);
   },
-  (result) => result && console.log("success")
+  (result) => result && console.log("success"),
 );
 
 ================================================================================
diff --git a/tests/format/js/function-first-param/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/function-first-param/__snapshots__/jsfmt.spec.js.snap
index fa349ad41b1b..0e4ca883a094 100644
--- a/tests/format/js/function-first-param/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/js/function-first-param/__snapshots__/jsfmt.spec.js.snap
@@ -43,7 +43,7 @@ beep.boop().baz(
     },
   },
   { another: { thing: true } },
-  () => {}
+  () => {},
 );
 
 //https://github.com/prettier/prettier/issues/2984
@@ -60,7 +60,7 @@ db.collection("indexOptionDefault").createIndex(
 
     client.close();
     done();
-  }
+  },
 );
 
 ================================================================================
diff --git a/tests/format/js/function-single-destructuring/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/function-single-destructuring/__snapshots__/jsfmt.spec.js.snap
index 878103c30b2b..65a89a097d7e 100644
--- a/tests/format/js/function-single-destructuring/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/js/function-single-destructuring/__snapshots__/jsfmt.spec.js.snap
@@ -63,7 +63,7 @@ function excludeFirstFiveResults3(
     fourthResult,
     fifthResult,
     ...rest
-  ] = [1, 2, 3, 4, 5]
+  ] = [1, 2, 3, 4, 5],
 ) {
   return rest;
 }
@@ -102,7 +102,7 @@ promise.then(
     ...rest
   ]) => {
     return rest;
-  }
+  },
 );
 
 ================================================================================
@@ -212,7 +212,7 @@ function StatelessFunctionalComponent3(
     items = [],
   } = {
     isActive: true,
-  }
+  },
 ) {
   return <div />;
 }
diff --git a/tests/format/js/function/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/function/__snapshots__/jsfmt.spec.js.snap
index eceb788eb601..cbee5e3c738e 100644
--- a/tests/format/js/function/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/js/function/__snapshots__/jsfmt.spec.js.snap
@@ -47,7 +47,7 @@ printWidth: 80
   (fmap) => (algebra) =>
     function doFold(v) {
       return algebra(fmap(doFold)(v));
-    }
+    },
 );
 
 ================================================================================
diff --git a/tests/format/js/functional-composition/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/functional-composition/__snapshots__/jsfmt.spec.js.snap
index 25fee5bb52ec..401f34d6ecbf 100644
--- a/tests/format/js/functional-composition/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/js/functional-composition/__snapshots__/jsfmt.spec.js.snap
@@ -55,25 +55,25 @@ this.subscriptions.add(
 compose(
   sortBy((x) => x),
   flatten,
-  map((x) => [x, x * 2])
+  map((x) => [x, x * 2]),
 );
 
 somelib.compose(
   sortBy((x) => x),
   flatten,
-  map((x) => [x, x * 2])
+  map((x) => [x, x * 2]),
 );
 
 composeFlipped(
   sortBy((x) => x),
   flatten,
-  map((x) => [x, x * 2])
+  map((x) => [x, x * 2]),
 );
 
 somelib.composeFlipped(
   sortBy((x) => x),
   flatten,
-  map((x) => [x, x * 2])
+  map((x) => [x, x * 2]),
 );
 
 // no regression (#4602)
@@ -81,11 +81,11 @@ const hasValue = hasOwnProperty(a, b);
 
 this.compose(
   sortBy((x) => x),
-  flatten
+  flatten,
 );
 this.a.b.c.compose(
   sortBy((x) => x),
-  flatten
+  flatten,
 );
 someObj.someMethod(this.field.compose(a, b));
 
@@ -93,7 +93,7 @@ class A extends B {
   compose() {
     super.compose(
       sortBy((x) => x),
-      flatten
+      flatten,
     );
   }
 }
@@ -101,7 +101,7 @@ class A extends B {
 this.subscriptions.add(
   this.componentUpdates
     .pipe(startWith(this.props), distinctUntilChanged(isEqual))
-    .subscribe((props) => {})
+    .subscribe((props) => {}),
 );
 
 ================================================================================
@@ -167,7 +167,7 @@ import { flow } from "lodash";
 const foo = flow(
   (x) => x + 1,
   (x) => x * 3,
-  (x) => x - 6
+  (x) => x - 6,
 );
 
 foo(6);
@@ -177,7 +177,7 @@ import * as _ from "lodash";
 const bar = _.flow(
   (x) => x + 1,
   (x) => x * 3,
-  (x) => x - 6
+  (x) => x - 6,
 );
 
 bar(6);
@@ -217,7 +217,7 @@ import { flowRight } from "lodash";
 const foo = flowRight(
   (x) => x + 1,
   (x) => x * 3,
-  (x) => x - 6
+  (x) => x - 6,
 );
 
 foo(6);
@@ -227,7 +227,7 @@ import * as _ from "lodash";
 const bar = _.flowRight(
   (x) => x + 1,
   (x) => x * 3,
-  (x) => x - 6
+  (x) => x - 6,
 );
 
 bar(6);
@@ -312,12 +312,12 @@ printWidth: 80
 
   pipe(
     serviceEventFromMessage(msg),
-    TE.chain(flow(publishServiceEvent(analytics), TE.mapLeft(nackFromError)))
+    TE.chain(flow(publishServiceEvent(analytics), TE.mapLeft(nackFromError))),
   )()
     .then(messageResponse(logger, msg))
     .catch((err) => {
       logger.error(
-        pipe(O.fromNullable(err.stack), O.getOrElse(constant(err.message)))
+        pipe(O.fromNullable(err.stack), O.getOrElse(constant(err.message))),
       );
       process.exit(1);
     });
@@ -395,7 +395,7 @@ printWidth: 80
     timelines,
     everyCommitTimestamps,
     A.sort(ordDate),
-    A.head
+    A.head,
   );
 
   pipe(
@@ -405,9 +405,9 @@ printWidth: 80
       flow(
         // add a descriptive comment here
         publishServiceEvent(analytics),
-        TE.mapLeft(nackFromError)
-      )
-    )
+        TE.mapLeft(nackFromError),
+      ),
+    ),
   )()
     .then(messageResponse(logger, msg))
     .catch((err) => {
@@ -415,8 +415,8 @@ printWidth: 80
         pipe(
           // add a descriptive comment here
           O.fromNullable(err.stack),
-          O.getOrElse(constant(err.message))
-        )
+          O.getOrElse(constant(err.message)),
+        ),
       );
       process.exit(1);
     });
@@ -424,7 +424,7 @@ printWidth: 80
   pipe(
     // add a descriptive comment here
     Changelog.timestampOfFirstCommit([[commit]]),
-    O.toUndefined
+    O.toUndefined,
   );
 
   chain(
@@ -432,8 +432,8 @@ printWidth: 80
       // add a descriptive comment here
       getUploadUrl,
       E.mapLeft(Errors.unknownError),
-      TE.fromEither
-    )
+      TE.fromEither,
+    ),
   );
 })();
 
@@ -506,7 +506,7 @@ var getStateCode = R.composeK(
   R.compose(Maybe.of, R.toUpper),
   get("state"),
   get("address"),
-  get("user")
+  get("user"),
 );
 getStateCode({ user: { address: { state: "ny" } } }); //=> Maybe.Just("NY")
 getStateCode({}); //=> Maybe.Nothing()
@@ -528,14 +528,14 @@ lookupUser("JOE").then(lookupFollowers);
 //  followersForUser :: String -> Promise [UserId]
 var followersForUser = R.composeP(lookupFollowers, lookupUser);
 followersForUser("JOE").then((followers) =>
-  console.log("Followers:", followers)
+  console.log("Followers:", followers),
 );
 // Followers: ["STEVE","SUZY"]
 
 const mapStateToProps = (state) => ({
   users: R.compose(
     R.filter(R.propEq("status", "active")),
-    R.values
+    R.values,
   )(state.users),
 });
 
@@ -586,7 +586,7 @@ var getStateCode = R.pipeK(
   get("user"),
   get("address"),
   get("state"),
-  R.compose(Maybe.of, R.toUpper)
+  R.compose(Maybe.of, R.toUpper),
 );
 
 getStateCode('{"user":{"address":{"state":"ny"}}}');
@@ -628,7 +628,7 @@ import reducer from "../reducers";
 
 const store = createStore(
   reducer,
-  compose(applyMiddleware(thunk), DevTools.instrument())
+  compose(applyMiddleware(thunk), DevTools.instrument()),
 );
 
 ================================================================================
@@ -646,7 +646,7 @@ const ArtistInput = connect(mapStateToProps, mapDispatchToProps, mergeProps)(Com
 const ArtistInput = connect(
   mapStateToProps,
   mapDispatchToProps,
-  mergeProps
+  mergeProps,
 )(Component);
 
 ================================================================================
@@ -675,11 +675,11 @@ const bar = createSelector(
 import { createSelector } from "reselect";
 
 const foo = createSelector(getIds, getObjects, (ids, objects) =>
-  ids.map((id) => objects[id])
+  ids.map((id) => objects[id]),
 );
 
 const bar = createSelector([getIds, getObjects], (ids, objects) =>
-  ids.map((id) => objects[id])
+  ids.map((id) => objects[id]),
 );
 
 ================================================================================
@@ -713,7 +713,7 @@ source$
   .pipe(
     filter((x) => x % 2 === 0),
     map((x) => x + x),
-    scan((acc, x) => acc + x, 0)
+    scan((acc, x) => acc + x, 0),
   )
   .subscribe((x) => console.log(x));
 
diff --git a/tests/format/js/ignore/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/ignore/__snapshots__/jsfmt.spec.js.snap
index 08ca9cd17139..fb944b2907af 100644
--- a/tests/format/js/ignore/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/js/ignore/__snapshots__/jsfmt.spec.js.snap
@@ -216,14 +216,14 @@ verylongidentifierthatwillwrap123123123123123(
   a.b
     // prettier-ignore
     // Some other comment here
-    .c
+    .c,
 );
 
 call(
   // comment
   a.
     // prettier-ignore
-    b
+    b,
 );
 
 call(
@@ -236,7 +236,7 @@ because the prettier-ignore comment is attached as MemberExpression leading comm
 2.0000, 3
 )
     // prettier-ignore
-    .c
+    .c,
 );
 
 ================================================================================
diff --git a/tests/format/js/last-argument-expansion/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/last-argument-expansion/__snapshots__/jsfmt.spec.js.snap
index 230d33f1275d..92787f69fc23 100644
--- a/tests/format/js/last-argument-expansion/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/js/last-argument-expansion/__snapshots__/jsfmt.spec.js.snap
@@ -37,9 +37,9 @@ export default function searchUsers(action$) {
             ajax
               .getJSON(\`https://api.github.com/search/users?q=\${q}\`)
               .map((res) => res.items)
-              .map(receiveUsers)
-          )
-        )
+              .map(receiveUsers),
+          ),
+        ),
     );
 }
 
@@ -63,7 +63,7 @@ bob.doL(
     b = () => {
       console.log;
     },
-  }) => something.else.else({})
+  }) => something.else.else({}),
 );
 
 ================================================================================
@@ -148,7 +148,7 @@ foo(
 =====================================output=====================================
 foo(() =>
   // foo
-  {}
+  {},
 );
 
 ================================================================================
@@ -225,7 +225,7 @@ a(
     {
       SomethingVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLong: 1,
     },
-  ]
+  ],
 );
 
 exports.examples = [
@@ -248,7 +248,7 @@ exports.examples = [
             </InlineBlock>
           </div>
         );
-      }
+      },
     ),
   },
 ];
@@ -258,7 +258,7 @@ someReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReal
     [],
     // comment
     [],
-  ]
+  ],
 );
 
 (function webpackUniversalModuleDefinition() {})(
@@ -283,9 +283,9 @@ someReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReal
           /***/
         },
         /******/
-      ]
+      ],
     );
-  }
+  },
 );
 
 ================================================================================
@@ -310,10 +310,10 @@ all_verylongcall_verylongcall_verylongcall_verylongcall_verylongcall(
   (
     a,
 
-    b
+    b,
   ) => {
     console.log();
-  }
+  },
 );
 
 ================================================================================
@@ -357,7 +357,7 @@ func(
   aReallyLongArgumentsListToForceItToBreak,
   {
     // comment
-  }
+  },
 );
 
 func({
@@ -365,17 +365,17 @@ func({
 });
 
 func(
-  {} // comment
+  {}, // comment
 );
 
 func(
-  {}
+  {},
   // comment
 );
 
 func(
   // comment
-  {}
+  {},
 );
 
 ================================================================================
@@ -417,7 +417,7 @@ function* mySagas() {
       yield rexpress.actions(store).writeHead(id, 400);
       yield rexpress.actions(store).end(id, "pong");
       console.log("pong");
-    }
+    },
   );
 }
 
@@ -426,7 +426,7 @@ function mySagas2() {
     rexpress.actionTypes.REQUEST_START,
     function ({ id }) {
       console.log(id);
-    }
+    },
   );
 }
 
@@ -448,7 +448,7 @@ someFunctionCallWithBigArgumentsAndACallback(
   thisArgumentIsQuiteLong,
   function (cool) {
     return cool;
-  }
+  },
 );
 
 ================================================================================
@@ -484,8 +484,8 @@ const Broken = React.forwardRef(
       hidden,
       // 3
     },
-    ref
-  ) => <div ref={ref}>{children}</div>
+    ref,
+  ) => <div ref={ref}>{children}</div>,
 );
 
 ================================================================================
@@ -511,7 +511,7 @@ bob.doL(
     b: {
       // comment
     },
-  }) => something.else.else({})
+  }) => something.else.else({}),
 );
 
 ================================================================================
@@ -556,7 +556,7 @@ instantiate(game, [
   render_colored_diffuse(
     game.MaterialDiffuse,
     game.Meshes["monkey_flat"],
-    [1, 1, 0.3, 1]
+    [1, 1, 0.3, 1],
   ),
 ]);
 
@@ -598,7 +598,7 @@ const formatData = pipe(
   })),
   groupBy(prop("nodeId")),
   map(mergeAll),
-  values
+  values,
 );
 
 export const setProp = (y) => ({
@@ -675,7 +675,7 @@ const contentTypes = function(tile, singleSelection) {
 SuperSuperSuperSuperSuperSuperSuperSuperSuperSuperSuperSuperLongCall(
   (err, result) => {
     // comment
-  }
+  },
 );
 
 func(one, two, three, four, five, six, seven, eig, is, this, too, long, no, []);
@@ -693,7 +693,7 @@ func(
   too,
   long,
   yes,
-  []
+  [],
 );
 func(one, two, three, four, five, six, seven, eig, is, this, too, long, yes, [
   // Comments
@@ -717,7 +717,7 @@ func(
   too,
   long,
   yes,
-  {}
+  {},
 );
 func(one, two, three, four, five, six, seven, eig, is, this, too, long, yes, {
   // Comments
@@ -738,8 +738,8 @@ foo(
     eleven,
     twelve,
     thirteen,
-    fourteen
-  ) => {}
+    fourteen,
+  ) => {},
 );
 
 const contentTypes = function (tile, singleSelection) {
@@ -749,7 +749,7 @@ const contentTypes = function (tile, singleSelection) {
     filteredContentTypes = [],
     contentTypesArray = [],
     selectedGroup,
-    singleSelection
+    singleSelection,
   ) {
     selectedGroup = (tile.state && tile.state.group) || selectedGroup;
   });
diff --git a/tests/format/js/method-chain/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/method-chain/__snapshots__/jsfmt.spec.js.snap
index 7beed1a048d6..4086bba33d61 100644
--- a/tests/format/js/method-chain/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/js/method-chain/__snapshots__/jsfmt.spec.js.snap
@@ -22,7 +22,7 @@ function a() {
     queryThenMutateDOM(() => {
       title = SomeThing.call(
         root,
-        "someLongStringThatPushesThisTextReallyFar"
+        "someLongStringThatPushesThisTextReallyFar",
       )[0];
     });
   }
@@ -98,15 +98,15 @@ export default (store) => {
         actionWith({
           response,
           type: successType,
-        })
+        }),
       ),
     (error) =>
       next(
         actionWith({
           type: failureType,
           error: error.message || "Something bad happened",
-        })
-      )
+        }),
+      ),
   );
 };
 
@@ -212,7 +212,7 @@ superSupersuperSupersuperSupersuperSupersuperSuperLong
 
 expect(
   findDOMNode(component.instance()).getElementsByClassName(styles.inner)[0]
-    .style.paddingRight
+    .style.paddingRight,
 ).toBe("1000px");
 
 const {
@@ -340,12 +340,12 @@ _.a(a)
   .a();
 
 _.a(
-  a
+  a,
 ) /* very very very very very very very long such that it is longer than 80 columns */
   .a();
 
 _.a(
-  a
+  a,
 ) /* very very very very very very very long such that it is longer than 80 columns */
   .a();
 
@@ -376,7 +376,7 @@ this.doWriteConfiguration(target, value, options) // queue up writes to prevent
       return options.donotNotifyError
         ? TPromise.wrapError(error)
         : this.onError(error, target, value);
-    }
+    },
   );
 
 ret = __DEV__
@@ -406,7 +406,7 @@ client.execute(
 
 =====================================output=====================================
 client.execute(
-  Post.selectAll().where(Post.id.eq(42)).where(Post.published.eq(true))
+  Post.selectAll().where(Post.id.eq(42)).where(Post.published.eq(true)),
 );
 
 ================================================================================
@@ -665,7 +665,7 @@ export default function theFunction(action$, store) {
     })
       .filter((data) => theFilter(data))
       .map(({ theType, ...data }) => theMap(theType, data))
-      .retryWhen((errors) => errors)
+      .retryWhen((errors) => errors),
   );
 }
 
@@ -757,7 +757,7 @@ var jqxhr = $.ajax("example.php")
 Object.keys(
   availableLocales({
     test: true,
-  })
+  }),
 ).forEach((locale) => {
   // ...
 });
@@ -765,7 +765,7 @@ Object.keys(
 this.layoutPartsToHide = this.utils.hashset(
   _.flatMap(this.visibilityHandlers, (fn) => fn())
     .concat(this.record.resolved_legacy_visrules)
-    .filter(Boolean)
+    .filter(Boolean),
 );
 
 var jqxhr = $.ajax("example.php").done(doneFn).fail(failFn);
@@ -1061,7 +1061,7 @@ db.branch(
   db.table("users").filter({ email }).count(),
   db.table("users").filter({ email: "a@b.com" }).count(),
   db.table("users").insert({ email }),
-  db.table("users").filter({ email })
+  db.table("users").filter({ email }),
 );
 
 sandbox.stub(config, "get").withArgs("env").returns("dev");
@@ -1095,7 +1095,7 @@ function HelloWorld() {
       (data) => {
         this.logImpression("foo_fetch_error", data);
         Flash.error(I18n.t("offline_identity.foo_issue"));
-      }
+      },
     );
 }
 
@@ -1112,9 +1112,9 @@ action$
           ajax
             .getJSON(\`https://api.github.com/search/users?q=\${q}\`)
             .map((res) => res.items)
-            .map(receiveUsers)
-        )
-      )
+            .map(receiveUsers),
+        ),
+      ),
   );
 
 window.FooClient.setVars({
@@ -1213,7 +1213,7 @@ const someLongVariableName = (
 ).map((edge) => edge.node);
 
 (veryLongVeryLongVeryLong || e).map((tickets) =>
-  TicketRecord.createFromSomeLongString()
+  TicketRecord.createFromSomeLongString(),
 );
 
 (veryLongVeryLongVeryLong || e)
@@ -1312,7 +1312,7 @@ wrapper
   .find("SomewhatLongNodeName")
   .prop(
     "longPropFunctionName",
-    "second argument that pushes this group past 80 characters"
+    "second argument that pushes this group past 80 characters",
   )("argument")
   .then(function () {
     doSomething();
@@ -1322,7 +1322,7 @@ wrapper
   .find("SomewhatLongNodeName")
   .prop("longPropFunctionName")(
     "argument",
-    "second argument that pushes this group past 80 characters"
+    "second argument that pushes this group past 80 characters",
   )
   .then(function () {
     doSomething();
diff --git a/tests/format/js/method-chain/print-width-120/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/method-chain/print-width-120/__snapshots__/jsfmt.spec.js.snap
index df75f1f81c50..59221dd96148 100644
--- a/tests/format/js/method-chain/print-width-120/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/js/method-chain/print-width-120/__snapshots__/jsfmt.spec.js.snap
@@ -22,11 +22,11 @@ const writer2 = new BufferStackItem(
 
 =====================================output=====================================
 const writer = new BufferStackItem(
-  new BinaryWriter().writeUInt8(StackItemType.ByteArray).writeVarBytesLE(Buffer.alloc(10, 1)).toBuffer()
+  new BinaryWriter().writeUInt8(StackItemType.ByteArray).writeVarBytesLE(Buffer.alloc(10, 1)).toBuffer(),
 );
 
 const writer2 = new BufferStackItem(
-  new Extra.BinaryWriter().writeUInt8(StackItemType.ByteArray).writeVarBytesLE(Buffer.alloc(10, 1)).toBuffer()
+  new Extra.BinaryWriter().writeUInt8(StackItemType.ByteArray).writeVarBytesLE(Buffer.alloc(10, 1)).toBuffer(),
 );
 
 ================================================================================
diff --git a/tests/format/js/module-blocks/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/module-blocks/__snapshots__/jsfmt.spec.js.snap
index 541e7ff44706..6c178e55c51c 100644
--- a/tests/format/js/module-blocks/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/js/module-blocks/__snapshots__/jsfmt.spec.js.snap
@@ -325,7 +325,7 @@ let worker = new Worker(
       postMessage(mod.fn());
     };
   },
-  { type: "module", foo: "bar" }
+  { type: "module", foo: "bar" },
 );
 
 worker.postMessage(module {
diff --git a/tests/format/js/multiparser-comments/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/multiparser-comments/__snapshots__/jsfmt.spec.js.snap
index f993855ec20c..4eb295822956 100644
--- a/tests/format/js/multiparser-comments/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/js/multiparser-comments/__snapshots__/jsfmt.spec.js.snap
@@ -132,7 +132,7 @@ expr1 = html\`
   <div>
     \${x(
       foo, // fg
-      bar
+      bar,
     )}
   </div>
 \`;
diff --git a/tests/format/js/multiparser-graphql/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/multiparser-graphql/__snapshots__/jsfmt.spec.js.snap
index ebe2257399ff..2c9dfd240bc6 100644
--- a/tests/format/js/multiparser-graphql/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/js/multiparser-graphql/__snapshots__/jsfmt.spec.js.snap
@@ -186,7 +186,7 @@ graphql(
       }
     }
     \${fragments.all}
-  \`
+  \`,
 );
 
 const veryLongVariableNameToMakeTheLineBreak = graphql(
@@ -198,7 +198,7 @@ const veryLongVariableNameToMakeTheLineBreak = graphql(
       }
     }
     \${fragments.all}
-  \`
+  \`,
 );
 
 ================================================================================
@@ -228,7 +228,7 @@ graphql(
         }
       }
     }
-  \`
+  \`,
 );
 
 ================================================================================
diff --git a/tests/format/js/multiparser-html/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/multiparser-html/__snapshots__/jsfmt.spec.js.snap
index ca455f105f2e..35795533a4ef 100644
--- a/tests/format/js/multiparser-html/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/js/multiparser-html/__snapshots__/jsfmt.spec.js.snap
@@ -65,7 +65,7 @@ setFoo(
     <div>two</div>
     <div>three</div>
   \`,
-  secondArgument
+  secondArgument,
 );
 
 setFoo(
@@ -76,7 +76,7 @@ setFoo(
     <div>two</div>
     <div>three</div>
   \`,
-  secondArgument
+  secondArgument,
 );
 
 setFoo(
@@ -85,7 +85,7 @@ setFoo(
       <div>nested</div>
     </div>
   \`,
-  secondArgument
+  secondArgument,
 );
 
 ================================================================================
@@ -145,7 +145,7 @@ setFoo(
   html\`<div>one</div>
     <div>two</div>
     <div>three</div>\`,
-  secondArgument
+  secondArgument,
 );
 
 setFoo(
@@ -154,14 +154,14 @@ setFoo(
     </div>
     <div>two</div>
     <div>three</div>\`,
-  secondArgument
+  secondArgument,
 );
 
 setFoo(
   html\`<div>
     <div>nested</div>
   </div>\`,
-  secondArgument
+  secondArgument,
 );
 
 ================================================================================
@@ -190,7 +190,7 @@ export default function include_photoswipe(gallery_selector = ".my-gallery") {
   return /* HTML */ \`
     <script>
       window.addEventListener("load", () =>
-        initPhotoSwipeFromDOM("\${gallery_selector}")
+        initPhotoSwipeFromDOM("\${gallery_selector}"),
       );
     </script>
   \`;
@@ -220,7 +220,7 @@ export default function include_photoswipe(
 export default function include_photoswipe(gallery_selector = ".my-gallery") {
   return /* HTML */ \` <script>
     window.addEventListener("load", () =>
-      initPhotoSwipeFromDOM("\${gallery_selector}")
+      initPhotoSwipeFromDOM("\${gallery_selector}"),
     );
   </script>\`;
 }
@@ -407,7 +407,7 @@ function HelloWorld() {
     \${bars.map(
       (bar) => html\`
         <p>\${bar}</p>
-      \`
+      \`,
     )}
   \`;
 }
diff --git a/tests/format/js/new-expression/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/new-expression/__snapshots__/jsfmt.spec.js.snap
index 61ce2820f320..d7bf0c8030a2 100644
--- a/tests/format/js/new-expression/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/js/new-expression/__snapshots__/jsfmt.spec.js.snap
@@ -74,7 +74,7 @@ function functionName() {
     this._aVeryLongVariableNameToForceLineBreak = new this.Promise(
       (resolve, reject) => {
         // do something
-      }
+      },
     );
   }
 }
diff --git a/tests/format/js/object-property-ignore/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/object-property-ignore/__snapshots__/jsfmt.spec.js.snap
index 332bd561fa85..09d991a769ff 100644
--- a/tests/format/js/object-property-ignore/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/js/object-property-ignore/__snapshots__/jsfmt.spec.js.snap
@@ -105,11 +105,11 @@ foo = {
 ================================================================================
 `;
 
-exports[`ignore.js - {"trailingComma":"none"} format 1`] = `
+exports[`ignore.js - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["babel", "flow", "typescript"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 foo = {
@@ -162,58 +162,59 @@ foo = {
 =====================================output=====================================
 foo = {
   // prettier-ignore
-  bar:            1
+  bar:            1,
 };
 
 foo = {
   _: "",
   // prettier-ignore
-  bar:            1
+  bar:            1,
 };
 
 /* comments */
 foo = {
   _: "",
   // prettier-ignore
-  bar:            1 // comment
+  bar:            1, // comment
 };
 
 foo = {
   _: "",
   // prettier-ignore
-  bar:            1 /* comment */
+  bar:            1 /* comment */,
 };
 
 foo = {
   _: "",
   // prettier-ignore
-  bar:            /* comment */          1
+  bar:            /* comment */          1,
 };
 
 /* SpreadElement */
 foo = {
   _: "",
   // prettier-ignore
-  ...bar
+  ...bar,
 };
 
 // Nested
 foo = {
   baz: {
     // prettier-ignore
-    foo: [1, 2,    3]
+    foo: [1, 2,    3],
   },
   // prettier-ignore
-  bar:            1
+  bar:            1,
 };
 
 ================================================================================
 `;
 
-exports[`ignore.js format 1`] = `
+exports[`ignore.js - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["babel", "flow", "typescript"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 foo = {
@@ -266,49 +267,49 @@ foo = {
 =====================================output=====================================
 foo = {
   // prettier-ignore
-  bar:            1,
+  bar:            1
 };
 
 foo = {
   _: "",
   // prettier-ignore
-  bar:            1,
+  bar:            1
 };
 
 /* comments */
 foo = {
   _: "",
   // prettier-ignore
-  bar:            1, // comment
+  bar:            1 // comment
 };
 
 foo = {
   _: "",
   // prettier-ignore
-  bar:            1 /* comment */,
+  bar:            1 /* comment */
 };
 
 foo = {
   _: "",
   // prettier-ignore
-  bar:            /* comment */          1,
+  bar:            /* comment */          1
 };
 
 /* SpreadElement */
 foo = {
   _: "",
   // prettier-ignore
-  ...bar,
+  ...bar
 };
 
 // Nested
 foo = {
   baz: {
     // prettier-ignore
-    foo: [1, 2,    3],
+    foo: [1, 2,    3]
   },
   // prettier-ignore
-  bar:            1,
+  bar:            1
 };
 
 ================================================================================
@@ -431,11 +432,11 @@ export default {
 ================================================================================
 `;
 
-exports[`issue-5678.js - {"trailingComma":"none"} format 1`] = `
+exports[`issue-5678.js - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["babel", "flow", "typescript"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 // #5678
@@ -498,7 +499,7 @@ const refreshTokenPayload = {
   sub: this._id,
   role: this.role,
   // prettier-ignore
-  exp: now + (60 * 60 * 24 * 90) // (90 days)
+  exp: now + (60 * 60 * 24 * 90), // (90 days)
 };
 
 export default {
@@ -542,16 +543,17 @@ export default {
        "00000\\r\\n" +
        "0   0\\r\\n" +
        "0 0 0\\r\\n" +
-       " 000 "
+       " 000 ",
 };
 
 ================================================================================
 `;
 
-exports[`issue-5678.js format 1`] = `
+exports[`issue-5678.js - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["babel", "flow", "typescript"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 // #5678
@@ -614,7 +616,7 @@ const refreshTokenPayload = {
   sub: this._id,
   role: this.role,
   // prettier-ignore
-  exp: now + (60 * 60 * 24 * 90), // (90 days)
+  exp: now + (60 * 60 * 24 * 90) // (90 days)
 };
 
 export default {
@@ -658,7 +660,7 @@ export default {
        "00000\\r\\n" +
        "0   0\\r\\n" +
        "0 0 0\\r\\n" +
-       " 000 ",
+       " 000 "
 };
 
 ================================================================================
diff --git a/tests/format/js/object-property-ignore/jsfmt.spec.js b/tests/format/js/object-property-ignore/jsfmt.spec.js
index 27543222ac93..de0ea33599ab 100644
--- a/tests/format/js/object-property-ignore/jsfmt.spec.js
+++ b/tests/format/js/object-property-ignore/jsfmt.spec.js
@@ -1,5 +1,5 @@
 const parser = ["babel", "flow", "typescript"];
 
-run_spec(import.meta, parser /*, { trailingComma: "es5" }*/);
+run_spec(import.meta, parser, { trailingComma: "es5" });
 run_spec(import.meta, parser, { trailingComma: "none" });
 run_spec(import.meta, parser, { trailingComma: "all" });
diff --git a/tests/format/js/objects/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/objects/__snapshots__/jsfmt.spec.js.snap
index 0ebca7556d93..67f85600aeae 100644
--- a/tests/format/js/objects/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/js/objects/__snapshots__/jsfmt.spec.js.snap
@@ -221,13 +221,13 @@ group(
     "(",
     indent(
       options.tabWidth,
-      concat([line, join(concat([",", line]), printed)])
+      concat([line, join(concat([",", line]), printed)]),
     ),
     options.trailingComma ? "," : "",
     line,
     ")",
   ]),
-  { shouldBreak: true }
+  { shouldBreak: true },
 );
 
 ================================================================================
diff --git a/tests/format/js/performance/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/performance/__snapshots__/jsfmt.spec.js.snap
index d2bdee226e71..09c9b341810b 100644
--- a/tests/format/js/performance/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/js/performance/__snapshots__/jsfmt.spec.js.snap
@@ -178,8 +178,8 @@ tap.test("RecordImport.advance", (t) => {
       callback(
         null,
         batches.filter(
-          (batch) => batch.state !== "error" && batch.state !== "completed"
-        )
+          (batch) => batch.state !== "error" && batch.state !== "completed",
+        ),
       );
     });
   };
diff --git a/tests/format/js/preserve-line/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/preserve-line/__snapshots__/jsfmt.spec.js.snap
index cde94fcfcfd3..27b575abffac 100644
--- a/tests/format/js/preserve-line/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/js/preserve-line/__snapshots__/jsfmt.spec.js.snap
@@ -224,14 +224,14 @@ longArgNamesWithComments(
   longlonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglong2,
 
   /* Hello World */
-  longlonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglong3
+  longlonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglong3,
 );
 
 shortArgNames(
   short,
 
   short2,
-  short3
+  short3,
 );
 
 comments(
@@ -250,7 +250,7 @@ comments(
   /* Long Long Long Long Long Comment */
   // Long Long Long Long Long Comment
 
-  short3
+  short3,
   // More comments
 );
 
@@ -259,7 +259,7 @@ differentArgTypes(
     return true;
   },
 
-  isTrue ? doSomething() : 12
+  isTrue ? doSomething() : 12,
 );
 
 moreArgTypes(
@@ -276,31 +276,31 @@ moreArgTypes(
     // Hello world again
     { name: "Hello World", age: 34 },
 
-    oneThing + anotherThing
+    oneThing + anotherThing,
 
     // Comment
-  )
+  ),
 );
 
 evenMoreArgTypes(
   doSomething(
     { name: "Hello World", age: 34 },
 
-    true
+    true,
   ),
 
   14,
 
   1 + 2 - 90 / 80,
 
-  !98 * 60 - 90
+  !98 * 60 - 90,
 );
 
 foo.apply(
   null,
 
   // Array here
-  [1, 2]
+  [1, 2],
 );
 
 bar.on(
@@ -308,7 +308,7 @@ bar.on(
 
   () => {
     doStuff();
-  }
+  },
 );
 
 foo(
@@ -317,7 +317,7 @@ foo(
   /* function here */
   function doSomething() {
     return true;
-  }
+  },
 );
 
 doSomething.apply(
@@ -325,7 +325,7 @@ doSomething.apply(
 
   // Comment
 
-  ["Hello world 1", "Hello world 2", "Hello world 3"]
+  ["Hello world 1", "Hello world 2", "Hello world 3"],
 );
 
 doAnotherThing(
@@ -334,7 +334,7 @@ doAnotherThing(
   {
     solution_type,
     time_frame,
-  }
+  },
 );
 
 stuff.doThing(
@@ -343,7 +343,7 @@ stuff.doThing(
   -1,
   {
     accept: (node) => doSomething(node),
-  }
+  },
 );
 
 doThing(
@@ -353,7 +353,7 @@ doThing(
   true,
   {
     decline: (creditCard) => takeMoney(creditCard),
-  }
+  },
 );
 
 func(
@@ -361,7 +361,7 @@ func(
     thing();
   },
 
-  { yes: true, no: 5 }
+  { yes: true, no: 5 },
 );
 
 doSomething(
@@ -372,7 +372,7 @@ doSomething(
   /* Comment */
 
   // This is important
-  { helloWorld, someImportantStuff }
+  { helloWorld, someImportantStuff },
 );
 
 function foo(
@@ -389,7 +389,7 @@ function foo(
   nine,
   ten,
 
-  eleven
+  eleven,
 ) {}
 
 ================================================================================
@@ -767,7 +767,7 @@ class Foo {
     nine,
     ten,
 
-    eleven
+    eleven,
   ) {}
 }
 
@@ -785,7 +785,7 @@ function foo(
   nine,
   ten,
 
-  eleven
+  eleven,
 ) {}
 
 call((a, b) => {});
@@ -807,8 +807,8 @@ call(
     nine,
     ten,
 
-    eleven
-  ) => {}
+    eleven,
+  ) => {},
 );
 
 function test({
@@ -843,7 +843,7 @@ function test({ one, two, three, four }, $a) {}
 function test(
   { one, two, three, four },
 
-  $a
+  $a,
 ) {}
 
 function foo(...rest) {}
@@ -858,7 +858,7 @@ function foo(one, ...rest) {}
 
 f(
   superSuperSuperSuperSuperSuperSuperSuperSuperSuperSuperSuperSuperSuperLong,
-  ...args
+  ...args,
 );
 
 it("does something really long and complicated so I have to write a very long name for the test", function (done, foo) {
diff --git a/tests/format/js/require-amd/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/require-amd/__snapshots__/jsfmt.spec.js.snap
index 5b2329192b77..f05de41e757d 100644
--- a/tests/format/js/require-amd/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/js/require-amd/__snapshots__/jsfmt.spec.js.snap
@@ -37,7 +37,7 @@ const someVariable = define(
 const someVariable = define(
   "some string literal",
   anotherVariable,
-  yetAnotherVariable
+  yetAnotherVariable,
 );
 
 ================================================================================
@@ -101,7 +101,7 @@ require([
   Rectangle,
   Triangle,
   Circle,
-  Star
+  Star,
 ) {
   console.log("some code");
 });
@@ -123,7 +123,7 @@ define([
   Rectangle,
   Triangle,
   Circle,
-  Star
+  Star,
 ) {
   console.log("some code");
 });
diff --git a/tests/format/js/return/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/return/__snapshots__/jsfmt.spec.js.snap
index 9d639b981f59..f838357852b1 100644
--- a/tests/format/js/return/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/js/return/__snapshots__/jsfmt.spec.js.snap
@@ -45,7 +45,7 @@ function f() {
     chalk.dim(
       patternInfo.watch
         ? "Press \`a\` to run all tests, or run Jest with \`--watchAll\`."
-        : "Run Jest without \`-o\` to run all tests."
+        : "Run Jest without \`-o\` to run all tests.",
     )
   );
 
diff --git a/tests/format/js/sequence-break/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/sequence-break/__snapshots__/jsfmt.spec.js.snap
index 483a5cad03b3..5e2a1cac56bf 100644
--- a/tests/format/js/sequence-break/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/js/sequence-break/__snapshots__/jsfmt.spec.js.snap
@@ -44,7 +44,7 @@ a.then(
     aLongIdentifierName,
     aLongIdentifierName,
     aLongIdentifierName
-  )
+  ),
 );
 for (
   aLongIdentifierName = 0,
diff --git a/tests/format/js/strings/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/strings/__snapshots__/jsfmt.spec.js.snap
index dc97633deb10..09ba47f0c5ca 100644
--- a/tests/format/js/strings/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/js/strings/__snapshots__/jsfmt.spec.js.snap
@@ -71,10 +71,33 @@ trailingComma: "all"
 ================================================================================
 `;
 
-exports[`non-octal-eight-and-nine.js format 1`] = `
+exports[`non-octal-eight-and-nine.js - {"trailingComma":"es5"} [acorn] format 1`] = `
+"Invalid escape sequence (3:3)
+  1 | // https://github.com/babel/babel/pull/11852
+  2 |
+> 3 | "\\8","\\9";
+    |   ^
+  4 | () => {
+  5 |   "use strict";
+  6 |   "\\8", "\\9";"
+`;
+
+exports[`non-octal-eight-and-nine.js - {"trailingComma":"es5"} [espree] format 1`] = `
+"Invalid escape sequence (3:3)
+  1 | // https://github.com/babel/babel/pull/11852
+  2 |
+> 3 | "\\8","\\9";
+    |   ^
+  4 | () => {
+  5 |   "use strict";
+  6 |   "\\8", "\\9";"
+`;
+
+exports[`non-octal-eight-and-nine.js - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["babel", "flow"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 // https://github.com/babel/babel/pull/11852
@@ -160,10 +183,11 @@ trailingComma: "all"
 ================================================================================
 `;
 
-exports[`strings.js format 1`] = `
+exports[`strings.js - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["babel", "flow"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 [
@@ -406,10 +430,11 @@ const Bar = styled.div\`
 ================================================================================
 `;
 
-exports[`template-literals.js format 1`] = `
+exports[`template-literals.js - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["babel", "flow"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 foo(\`a long string \${ 1 + 2 + 3 + 2 + 3 + 2 + 3 + 2 + 3 + 2 + 3 + 2 + 3 + 2 + 3 + 2 + 3 } with expr\`);
diff --git a/tests/format/js/strings/jsfmt.spec.js b/tests/format/js/strings/jsfmt.spec.js
index c1f60b1648bb..9ba4e6655629 100644
--- a/tests/format/js/strings/jsfmt.spec.js
+++ b/tests/format/js/strings/jsfmt.spec.js
@@ -1,4 +1,5 @@
 run_spec(import.meta, ["babel", "flow"], {
+  trailingComma: "es5",
   errors: {
     acorn: ["non-octal-eight-and-nine.js"],
     espree: ["non-octal-eight-and-nine.js"],
diff --git a/tests/format/js/switch/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/switch/__snapshots__/jsfmt.spec.js.snap
index 9a4cf4dcab80..517f2a7f2465 100644
--- a/tests/format/js/switch/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/js/switch/__snapshots__/jsfmt.spec.js.snap
@@ -303,7 +303,7 @@ switch (error.code) {
   case ConfigurationEditingErrorCode.ERROR_INVALID_CONFIGURATION: {
     nls.localize(
       "errorInvalidConfiguration",
-      "Unable to write into settings. Correct errors/warnings in the file and try again."
+      "Unable to write into settings. Correct errors/warnings in the file and try again.",
     );
   }
 }
diff --git a/tests/format/js/template-literals/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/template-literals/__snapshots__/jsfmt.spec.js.snap
index 6b4d28f29383..5c65ad26b660 100644
--- a/tests/format/js/template-literals/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/js/template-literals/__snapshots__/jsfmt.spec.js.snap
@@ -186,8 +186,8 @@ const shouldNotWrap = \`simple expressions should not break \${this} \${variable
 
 console.log(
   chalk.white(
-    \`Covered Lines below threshold: \${coverageSettings.lines}%. Actual: \${coverageSummary.total.lines.pct}%\`
-  )
+    \`Covered Lines below threshold: \${coverageSettings.lines}%. Actual: \${coverageSummary.total.lines.pct}%\`,
+  ),
 );
 
 x = \`mdl-textfield mdl-js-textfield \${className} \${
@@ -209,15 +209,15 @@ function testing() {
 }
 
 console.log(
-  \`Trying update appcast for \${app.name} (\${app.cask.appcast}) -> (\${app.cask.appcastGenerated})\`
+  \`Trying update appcast for \${app.name} (\${app.cask.appcast}) -> (\${app.cask.appcastGenerated})\`,
 );
 
 console.log(
-  \`brew cask audit --download \${_.map(definitions, "caskName").join(" ")}\`
+  \`brew cask audit --download \${_.map(definitions, "caskName").join(" ")}\`,
 );
 
 console.log(
-  \`\\nApparently jetbrains changed the release artifact for \${app.name}@\${app.jetbrains.version}.\\n\`
+  \`\\nApparently jetbrains changed the release artifact for \${app.name}@\${app.jetbrains.version}.\\n\`,
 );
 
 descirbe("something", () => {
@@ -225,7 +225,7 @@ descirbe("something", () => {
 });
 
 throw new Error(
-  \`pretty-format: Option "theme" has a key "\${key}" whose value "\${value}" is undefined in ansi-styles.\`
+  \`pretty-format: Option "theme" has a key "\${key}" whose value "\${value}" is undefined in ansi-styles.\`,
 );
 
 ================================================================================
diff --git a/tests/format/js/template/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/template/__snapshots__/jsfmt.spec.js.snap
index 00b56b604d4c..1e145fea5075 100644
--- a/tests/format/js/template/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/js/template/__snapshots__/jsfmt.spec.js.snap
@@ -181,7 +181,7 @@ module.exports = Relay.createContainer(
         }
       \`,
     },
-  }
+  },
 );
 
 ================================================================================
@@ -285,11 +285,11 @@ this._pipe.write(\`\\n\\n Pattern matches \${total} \${pluralizeTest}\`);
 this._pipe.write(\`\\n\\n Pattern matches \${total} \${pluralizeTest}\`);
 
 this._pipe.write(
-  \`\\n\\n Pattern matches \${total} \${pluralizeTest} but that's long\`
+  \`\\n\\n Pattern matches \${total} \${pluralizeTest} but that's long\`,
 );
 
 this._pipe.write(
-  \`\\n\\n Pattern matches \${total} \${pluralizeTest} but that's long\`
+  \`\\n\\n Pattern matches \${total} \${pluralizeTest} but that's long\`,
 );
 
 this._pipe.write(\`
diff --git a/tests/format/js/ternaries/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/ternaries/__snapshots__/jsfmt.spec.js.snap
index 64a356b850b8..fb0478183b60 100644
--- a/tests/format/js/ternaries/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/js/ternaries/__snapshots__/jsfmt.spec.js.snap
@@ -35,8 +35,8 @@ room = room.map((row, rowIndex) =>
         rowIndex === height ||
         colIndex === width
             ? 1
-            : 0
-    )
+            : 0,
+    ),
 );
 
 ================================================================================
@@ -78,8 +78,8 @@ room = room.map((row, rowIndex) =>
 		rowIndex === height ||
 		colIndex === width
 			? 1
-			: 0
-	)
+			: 0,
+	),
 );
 
 ================================================================================
@@ -120,8 +120,8 @@ room = room.map((row, rowIndex) =>
 		rowIndex === height ||
 		colIndex === width
 			? 1
-			: 0
-	)
+			: 0,
+	),
 );
 
 ================================================================================
@@ -161,8 +161,8 @@ room = room.map((row, rowIndex) =>
     rowIndex === height ||
     colIndex === width
       ? 1
-      : 0
-  )
+      : 0,
+  ),
 );
 
 ================================================================================
@@ -191,7 +191,7 @@ fn(
     glimseGlyphsHazardNoopsTieTie === averredBathersBoxroomBuggyNurl &&
         anodyneCondosMalateOverateRetinol
         ? annularCooeedSplicesWalksWayWay
-        : kochabCooieGameOnOboleUnweave
+        : kochabCooieGameOnOboleUnweave,
 );
 
 ================================================================================
@@ -221,7 +221,7 @@ fn(
 	glimseGlyphsHazardNoopsTieTie === averredBathersBoxroomBuggyNurl &&
 		anodyneCondosMalateOverateRetinol
 		? annularCooeedSplicesWalksWayWay
-		: kochabCooieGameOnOboleUnweave
+		: kochabCooieGameOnOboleUnweave,
 );
 
 ================================================================================
@@ -250,7 +250,7 @@ fn(
 	glimseGlyphsHazardNoopsTieTie === averredBathersBoxroomBuggyNurl &&
 		anodyneCondosMalateOverateRetinol
 		? annularCooeedSplicesWalksWayWay
-		: kochabCooieGameOnOboleUnweave
+		: kochabCooieGameOnOboleUnweave,
 );
 
 ================================================================================
@@ -278,7 +278,7 @@ fn(
   glimseGlyphsHazardNoopsTieTie === averredBathersBoxroomBuggyNurl &&
     anodyneCondosMalateOverateRetinol
     ? annularCooeedSplicesWalksWayWay
-    : kochabCooieGameOnOboleUnweave
+    : kochabCooieGameOnOboleUnweave,
 );
 
 ================================================================================
@@ -557,7 +557,7 @@ a
                                                               ? a()
                                                               : a({
                                                                     a: 0,
-                                                                })
+                                                                }),
                                                       ),
                                                       a()
                                                           ? {
@@ -565,7 +565,7 @@ a
                                                                 b: [],
                                                             }
                                                           : {},
-                                                  ]
+                                                  ],
                                         )
                                       : a(
                                             a()
@@ -601,8 +601,8 @@ a
                                                                 return function () {
                                                                     return 1;
                                                                 };
-                                                            }
-                                                  )
+                                                            },
+                                                  ),
                                         );
                               }
                             : function () {},
@@ -888,7 +888,7 @@ a
 																		? a()
 																		: a({
 																				a: 0,
-																		  })
+																		  }),
 																),
 																a()
 																	? {
@@ -896,7 +896,7 @@ a
 																			b: [],
 																	  }
 																	: {},
-														  ]
+														  ],
 											  )
 											: a(
 													a()
@@ -924,20 +924,20 @@ a
 														  })(
 																a
 																	? function (
-																			a
+																			a,
 																	  ) {
 																			return function () {
 																				return 0;
 																			};
 																	  }
 																	: function (
-																			a
+																			a,
 																	  ) {
 																			return function () {
 																				return 1;
 																			};
-																	  }
-														  )
+																	  },
+														  ),
 											  );
 								  }
 								: function () {},
@@ -1222,7 +1222,7 @@ a
 																		? a()
 																		: a({
 																				a: 0,
-																		  })
+																		  }),
 																),
 																a()
 																	? {
@@ -1230,7 +1230,7 @@ a
 																			b: [],
 																	  }
 																	: {},
-														  ]
+														  ],
 											  )
 											: a(
 													a()
@@ -1266,8 +1266,8 @@ a
 																			return function () {
 																				return 1;
 																			};
-																	  }
-														  )
+																	  },
+														  ),
 											  );
 								  }
 								: function () {},
@@ -1551,7 +1551,7 @@ a
                                     ? a()
                                     : a({
                                         a: 0,
-                                      })
+                                      }),
                                 ),
                                 a()
                                   ? {
@@ -1559,7 +1559,7 @@ a
                                       b: [],
                                     }
                                   : {},
-                              ]
+                              ],
                         )
                       : a(
                           a()
@@ -1595,8 +1595,8 @@ a
                                       return function () {
                                         return 1;
                                       };
-                                    }
-                              )
+                                    },
+                              ),
                         );
                   }
                 : function () {},
@@ -2202,28 +2202,28 @@ bifornCringerMoshedPerplexSawder = fn(
     (glimseGlyphsHazardNoopsTieTie === 0
         ? averredBathersBoxroomBuggyNurl
         : anodyneCondosMalateOverateRetinol
-    ).prop
+    ).prop,
 );
 
 fn(
     (glimseGlyphsHazardNoopsTieTie === 0
         ? averredBathersBoxroomBuggyNurl
         : anodyneCondosMalateOverateRetinol
-    ).prop
+    ).prop,
 );
 
 bifornCringerMoshedPerplexSawder = fn?.(
     (glimseGlyphsHazardNoopsTieTie === 0
         ? averredBathersBoxroomBuggyNurl
         : anodyneCondosMalateOverateRetinol
-    ).prop
+    ).prop,
 );
 
 fn?.(
     (glimseGlyphsHazardNoopsTieTie === 0
         ? averredBathersBoxroomBuggyNurl
         : anodyneCondosMalateOverateRetinol
-    ).prop
+    ).prop,
 );
 
 bifornCringerMoshedPerplexSawder =
@@ -2854,28 +2854,28 @@ bifornCringerMoshedPerplexSawder = fn(
 	(glimseGlyphsHazardNoopsTieTie === 0
 		? averredBathersBoxroomBuggyNurl
 		: anodyneCondosMalateOverateRetinol
-	).prop
+	).prop,
 );
 
 fn(
 	(glimseGlyphsHazardNoopsTieTie === 0
 		? averredBathersBoxroomBuggyNurl
 		: anodyneCondosMalateOverateRetinol
-	).prop
+	).prop,
 );
 
 bifornCringerMoshedPerplexSawder = fn?.(
 	(glimseGlyphsHazardNoopsTieTie === 0
 		? averredBathersBoxroomBuggyNurl
 		: anodyneCondosMalateOverateRetinol
-	).prop
+	).prop,
 );
 
 fn?.(
 	(glimseGlyphsHazardNoopsTieTie === 0
 		? averredBathersBoxroomBuggyNurl
 		: anodyneCondosMalateOverateRetinol
-	).prop
+	).prop,
 );
 
 bifornCringerMoshedPerplexSawder =
@@ -3505,28 +3505,28 @@ bifornCringerMoshedPerplexSawder = fn(
 	(glimseGlyphsHazardNoopsTieTie === 0
 		? averredBathersBoxroomBuggyNurl
 		: anodyneCondosMalateOverateRetinol
-	).prop
+	).prop,
 );
 
 fn(
 	(glimseGlyphsHazardNoopsTieTie === 0
 		? averredBathersBoxroomBuggyNurl
 		: anodyneCondosMalateOverateRetinol
-	).prop
+	).prop,
 );
 
 bifornCringerMoshedPerplexSawder = fn?.(
 	(glimseGlyphsHazardNoopsTieTie === 0
 		? averredBathersBoxroomBuggyNurl
 		: anodyneCondosMalateOverateRetinol
-	).prop
+	).prop,
 );
 
 fn?.(
 	(glimseGlyphsHazardNoopsTieTie === 0
 		? averredBathersBoxroomBuggyNurl
 		: anodyneCondosMalateOverateRetinol
-	).prop
+	).prop,
 );
 
 bifornCringerMoshedPerplexSawder =
@@ -4155,28 +4155,28 @@ bifornCringerMoshedPerplexSawder = fn(
   (glimseGlyphsHazardNoopsTieTie === 0
     ? averredBathersBoxroomBuggyNurl
     : anodyneCondosMalateOverateRetinol
-  ).prop
+  ).prop,
 );
 
 fn(
   (glimseGlyphsHazardNoopsTieTie === 0
     ? averredBathersBoxroomBuggyNurl
     : anodyneCondosMalateOverateRetinol
-  ).prop
+  ).prop,
 );
 
 bifornCringerMoshedPerplexSawder = fn?.(
   (glimseGlyphsHazardNoopsTieTie === 0
     ? averredBathersBoxroomBuggyNurl
     : anodyneCondosMalateOverateRetinol
-  ).prop
+  ).prop,
 );
 
 fn?.(
   (glimseGlyphsHazardNoopsTieTie === 0
     ? averredBathersBoxroomBuggyNurl
     : anodyneCondosMalateOverateRetinol
-  ).prop
+  ).prop,
 );
 
 bifornCringerMoshedPerplexSawder =
diff --git a/tests/format/js/test-declarations/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/test-declarations/__snapshots__/jsfmt.spec.js.snap
index 6a58a5e0fa18..879117b4ee94 100644
--- a/tests/format/js/test-declarations/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/js/test-declarations/__snapshots__/jsfmt.spec.js.snap
@@ -456,7 +456,7 @@ it("does something really long and complicated so I have to write a very long na
 
 it("does something really long and complicated so I have to write a very long name for the test", inject((
   $fooServiceLongName,
-  $barServiceLongName
+  $barServiceLongName,
 ) => {
   // code
 }));
@@ -525,7 +525,7 @@ it("does something really long and complicated so I have to write a very long na
 
 it("does something really long and complicated so I have to write a very long name for the test", inject((
   $fooServiceLongName,
-  $barServiceLongName
+  $barServiceLongName,
 ) => {
   // code
 }));
@@ -1213,46 +1213,46 @@ it.only(
   10,
   () => {
     console.log("hello!");
-  }
+  },
 );
 
 it.only.only(
   "does something really long and complicated so I have to write a very long name for the test",
   () => {
     console.log("hello!");
-  }
+  },
 );
 
 it.only.only(
   "does something really long and complicated so I have to write a very long name for the test",
   (a, b, c) => {
     console.log("hello!");
-  }
+  },
 );
 
 xskip(
   "does something really long and complicated so I have to write a very long name for the test",
-  () => {}
+  () => {},
 );
 
 test.describe.only.parallel(
   "does something really long and complicated so I have to write a very long name for the test",
-  () => {}
+  () => {},
 );
 
 test.describe.parallel.serial(
   "does something really long and complicated so I have to write a very long name for the testThis is a very",
-  () => {}
+  () => {},
 );
 
 test.serial(
   "does something really long and complicated so I have to write a very long name for the test",
-  () => {}
+  () => {},
 );
 
 test.describe.dummy.serial(
   "does something really long and complicated so I have to write a very long name for the test",
-  () => {}
+  () => {},
 );
 
 // timeout
@@ -1274,7 +1274,7 @@ it("succeeds if the test finishes in time", () =>
 it(
   "succeeds if the test finishes in time",
   () => new Promise(resolve => setTimeout(resolve, 10)),
-  250
+  250,
 );
 
 ================================================================================
@@ -1582,46 +1582,46 @@ it.only(
   10,
   () => {
     console.log("hello!");
-  }
+  },
 );
 
 it.only.only(
   "does something really long and complicated so I have to write a very long name for the test",
   () => {
     console.log("hello!");
-  }
+  },
 );
 
 it.only.only(
   "does something really long and complicated so I have to write a very long name for the test",
   (a, b, c) => {
     console.log("hello!");
-  }
+  },
 );
 
 xskip(
   "does something really long and complicated so I have to write a very long name for the test",
-  () => {}
+  () => {},
 );
 
 test.describe.only.parallel(
   "does something really long and complicated so I have to write a very long name for the test",
-  () => {}
+  () => {},
 );
 
 test.describe.parallel.serial(
   "does something really long and complicated so I have to write a very long name for the testThis is a very",
-  () => {}
+  () => {},
 );
 
 test.serial(
   "does something really long and complicated so I have to write a very long name for the test",
-  () => {}
+  () => {},
 );
 
 test.describe.dummy.serial(
   "does something really long and complicated so I have to write a very long name for the test",
-  () => {}
+  () => {},
 );
 
 // timeout
@@ -1643,7 +1643,7 @@ it("succeeds if the test finishes in time", () =>
 it(
   "succeeds if the test finishes in time",
   () => new Promise((resolve) => setTimeout(resolve, 10)),
-  250
+  250,
 );
 
 ================================================================================
diff --git a/tests/format/js/throw_statement/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/throw_statement/__snapshots__/jsfmt.spec.js.snap
index aaf7efd967ce..92bf39af1e85 100644
--- a/tests/format/js/throw_statement/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/js/throw_statement/__snapshots__/jsfmt.spec.js.snap
@@ -45,7 +45,7 @@ function f() {
     chalk.dim(
       patternInfo.watch
         ? "Press \`a\` to run all tests, or run Jest with \`--watchAll\`."
-        : "Run Jest without \`-o\` to run all tests."
+        : "Run Jest without \`-o\` to run all tests.",
     )
   );
 
diff --git a/tests/format/js/trailing-comma/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/trailing-comma/__snapshots__/jsfmt.spec.js.snap
index 530ee12d75a1..9a29c24b8a1a 100644
--- a/tests/format/js/trailing-comma/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/js/trailing-comma/__snapshots__/jsfmt.spec.js.snap
@@ -19,11 +19,11 @@ import(
 ================================================================================
 `;
 
-exports[`dynamic-import.js - {"trailingComma":"none"} format 1`] = `
+exports[`dynamic-import.js - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["babel", "flow", "typescript"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 import(
@@ -38,10 +38,11 @@ import(
 ================================================================================
 `;
 
-exports[`dynamic-import.js format 1`] = `
+exports[`dynamic-import.js - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["babel", "flow", "typescript"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 import(
@@ -103,11 +104,11 @@ function send_single_email(
 ================================================================================
 `;
 
-exports[`es5.js - {"trailingComma":"none"} format 1`] = `
+exports[`es5.js - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["babel", "flow", "typescript"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 function send_single_email(
@@ -150,10 +151,11 @@ function send_single_email(
 ================================================================================
 `;
 
-exports[`es5.js format 1`] = `
+exports[`es5.js - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["babel", "flow", "typescript"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 function send_single_email(
@@ -249,11 +251,11 @@ a.b().c(
 ================================================================================
 `;
 
-exports[`function-calls.js - {"trailingComma":"none"} format 1`] = `
+exports[`function-calls.js - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["babel", "flow", "typescript"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 const a = (param1, param2, param3) => {}
@@ -294,7 +296,7 @@ a(
 
 a.b().c(
   {
-    d
+    d,
   },
   () => {}
 );
@@ -302,10 +304,11 @@ a.b().c(
 ================================================================================
 `;
 
-exports[`function-calls.js format 1`] = `
+exports[`function-calls.js - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["babel", "flow", "typescript"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 const a = (param1, param2, param3) => {}
@@ -346,7 +349,7 @@ a(
 
 a.b().c(
   {
-    d,
+    d
   },
   () => {}
 );
@@ -381,11 +384,11 @@ trailingComma: "all"
 ================================================================================
 `;
 
-exports[`jsx.js - {"trailingComma":"none"} format 1`] = `
+exports[`jsx.js - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["babel", "flow", "typescript"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 <div
@@ -400,7 +403,7 @@ trailingComma: "none"
 <div
   onClick={() =>
     doSomething({
-      foo: bar
+      foo: bar,
     })
   }
 />;
@@ -408,10 +411,11 @@ trailingComma: "none"
 ================================================================================
 `;
 
-exports[`jsx.js format 1`] = `
+exports[`jsx.js - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["babel", "flow", "typescript"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 <div
@@ -426,7 +430,7 @@ printWidth: 80
 <div
   onClick={() =>
     doSomething({
-      foo: bar,
+      foo: bar
     })
   }
 />;
@@ -489,11 +493,11 @@ const bLong = {
 ================================================================================
 `;
 
-exports[`object.js - {"trailingComma":"none"} format 1`] = `
+exports[`object.js - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["babel", "flow", "typescript"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 const a = {
@@ -522,32 +526,33 @@ const bLong = {
 const a = {
   b: true,
   c: {
-    c1: "hello"
+    c1: "hello",
   },
-  d: false
+  d: false,
 };
 
 const aLong = {
   bHasALongName: "a-long-value",
   cHasALongName: {
     c1: "a-really-long-value",
-    c2: "a-really-really-long-value"
+    c2: "a-really-really-long-value",
   },
-  dHasALongName: "a-long-value-too"
+  dHasALongName: "a-long-value-too",
 };
 
 const bLong = {
   dHasALongName: "a-long-value-too",
-  eHasABooleanExpression: a === a
+  eHasABooleanExpression: a === a,
 };
 
 ================================================================================
 `;
 
-exports[`object.js format 1`] = `
+exports[`object.js - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["babel", "flow", "typescript"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 const a = {
@@ -576,23 +581,23 @@ const bLong = {
 const a = {
   b: true,
   c: {
-    c1: "hello",
+    c1: "hello"
   },
-  d: false,
+  d: false
 };
 
 const aLong = {
   bHasALongName: "a-long-value",
   cHasALongName: {
     c1: "a-really-long-value",
-    c2: "a-really-really-long-value",
+    c2: "a-really-really-long-value"
   },
-  dHasALongName: "a-long-value-too",
+  dHasALongName: "a-long-value-too"
 };
 
 const bLong = {
   dHasALongName: "a-long-value-too",
-  eHasABooleanExpression: a === a,
+  eHasABooleanExpression: a === a
 };
 
 ================================================================================
@@ -697,11 +702,11 @@ this.getAttribute(function (s) /*string*/ {
 ================================================================================
 `;
 
-exports[`trailing_whitespace.js - {"trailingComma":"none"} format 1`] = `
+exports[`trailing_whitespace.js - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["babel", "flow", "typescript"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 let example = [
@@ -751,7 +756,7 @@ this.getAttribute(function(s) /*string*/ {
 =====================================output=====================================
 let example = [
   "FOO",
-  "BAR"
+  "BAR",
   // Comment
 ];
 
@@ -761,12 +766,12 @@ foo(
 );
 
 o = {
-  state
+  state,
   // Comment
 };
 
 o = {
-  state
+  state,
 
   // Comment
 };
@@ -796,10 +801,11 @@ this.getAttribute(function (s) /*string*/ {
 ================================================================================
 `;
 
-exports[`trailing_whitespace.js format 1`] = `
+exports[`trailing_whitespace.js - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["babel", "flow", "typescript"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 let example = [
@@ -849,7 +855,7 @@ this.getAttribute(function(s) /*string*/ {
 =====================================output=====================================
 let example = [
   "FOO",
-  "BAR",
+  "BAR"
   // Comment
 ];
 
@@ -859,12 +865,12 @@ foo(
 );
 
 o = {
-  state,
+  state
   // Comment
 };
 
 o = {
-  state,
+  state
 
   // Comment
 };
diff --git a/tests/format/js/trailing-comma/jsfmt.spec.js b/tests/format/js/trailing-comma/jsfmt.spec.js
index 06ad1adc7284..78179201fcc4 100644
--- a/tests/format/js/trailing-comma/jsfmt.spec.js
+++ b/tests/format/js/trailing-comma/jsfmt.spec.js
@@ -4,4 +4,6 @@ run_spec(import.meta, ["babel", "flow", "typescript"], {
 run_spec(import.meta, ["babel", "flow", "typescript"], {
   trailingComma: "all",
 });
-run_spec(import.meta, ["babel", "flow", "typescript"]);
+run_spec(import.meta, ["babel", "flow", "typescript"], {
+  trailingComma: "es5",
+});
diff --git a/tests/format/js/while/__snapshots__/jsfmt.spec.js.snap b/tests/format/js/while/__snapshots__/jsfmt.spec.js.snap
index ac04933542a3..9b12052451ea 100644
--- a/tests/format/js/while/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/js/while/__snapshots__/jsfmt.spec.js.snap
@@ -47,7 +47,7 @@ if (
     someVeryLongArgA,
     someVeryLongArgB,
     someVeryLongArgC,
-    someVeryLongArgD
+    someVeryLongArgD,
   )
 ) {
 }
@@ -56,7 +56,7 @@ while (
     someVeryLongArgA,
     someVeryLongArgB,
     someVeryLongArgC,
-    someVeryLongArgD
+    someVeryLongArgD,
   )
 ) {}
 do {} while (
@@ -64,7 +64,7 @@ do {} while (
     someVeryLongArgA,
     someVeryLongArgB,
     someVeryLongArgC,
-    someVeryLongArgD
+    someVeryLongArgD,
   )
 );
 
diff --git a/tests/format/json/json/__snapshots__/jsfmt.spec.js.snap b/tests/format/json/json/__snapshots__/jsfmt.spec.js.snap
index 445b92e02841..1b81c48da620 100644
--- a/tests/format/json/json/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/json/json/__snapshots__/jsfmt.spec.js.snap
@@ -46,10 +46,11 @@ trailingComma: "all"
 ================================================================================
 `;
 
-exports[`array.json format 1`] = `
+exports[`array.json - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["json"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 [
@@ -68,10 +69,11 @@ printWidth: 80
 ================================================================================
 `;
 
-exports[`array.json format 2`] = `
+exports[`array.json - {"trailingComma":"es5"} format 2`] = `
 ====================================options=====================================
 parsers: ["json5"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 [
@@ -90,7 +92,7 @@ printWidth: 80
 ================================================================================
 `;
 
-exports[`array.json format 3`] = `
+exports[`array.json format 1`] = `
 ====================================options=====================================
 parsers: ["json-stringify"]
 printWidth: 80
@@ -163,10 +165,11 @@ true
 ================================================================================
 `;
 
-exports[`boolean.json format 1`] = `
+exports[`boolean.json - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["json"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 true
@@ -177,10 +180,11 @@ true
 ================================================================================
 `;
 
-exports[`boolean.json format 2`] = `
+exports[`boolean.json - {"trailingComma":"es5"} format 2`] = `
 ====================================options=====================================
 parsers: ["json5"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 true
@@ -191,7 +195,7 @@ true
 ================================================================================
 `;
 
-exports[`boolean.json format 3`] = `
+exports[`boolean.json format 1`] = `
 ====================================options=====================================
 parsers: ["json-stringify"]
 printWidth: 80
@@ -325,10 +329,11 @@ No \\\\n's!",
 ================================================================================
 `;
 
-exports[`json5.json format 1`] = `
+exports[`json5.json - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["json"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 [
@@ -384,10 +389,11 @@ No \\\\n's!"
 ================================================================================
 `;
 
-exports[`json5.json format 2`] = `
+exports[`json5.json - {"trailingComma":"es5"} format 2`] = `
 ====================================options=====================================
 parsers: ["json5"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 [
@@ -443,7 +449,7 @@ No \\\\n's!",
 ================================================================================
 `;
 
-exports[`json5.json format 3`] = `
+exports[`json5.json format 1`] = `
 ====================================options=====================================
 parsers: ["json-stringify"]
 printWidth: 80
@@ -723,10 +729,11 @@ trailingComma: "all"
 ================================================================================
 `;
 
-exports[`json6.json format 1`] = `
+exports[`json6.json - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["json"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 [
@@ -831,10 +838,11 @@ printWidth: 80
 ================================================================================
 `;
 
-exports[`json6.json format 2`] = `
+exports[`json6.json - {"trailingComma":"es5"} format 2`] = `
 ====================================options=====================================
 parsers: ["json5"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 [
@@ -939,7 +947,7 @@ printWidth: 80
 ================================================================================
 `;
 
-exports[`json6.json format 3`] = `
+exports[`json6.json format 1`] = `
 ====================================options=====================================
 parsers: ["json-stringify"]
 printWidth: 80
@@ -1130,10 +1138,11 @@ trailingComma: "all"
 ================================================================================
 `;
 
-exports[`key-value.json format 1`] = `
+exports[`key-value.json - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["json"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 {
@@ -1152,10 +1161,11 @@ printWidth: 80
 ================================================================================
 `;
 
-exports[`key-value.json format 2`] = `
+exports[`key-value.json - {"trailingComma":"es5"} format 2`] = `
 ====================================options=====================================
 parsers: ["json5"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 {
@@ -1174,7 +1184,7 @@ printWidth: 80
 ================================================================================
 `;
 
-exports[`key-value.json format 3`] = `
+exports[`key-value.json format 1`] = `
 ====================================options=====================================
 parsers: ["json-stringify"]
 printWidth: 80
@@ -1228,10 +1238,11 @@ trailingComma: "all"
 ================================================================================
 `;
 
-exports[`multi-line.json format 1`] = `
+exports[`multi-line.json - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["json"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 {"key1":[true,false,null],"key2":{"key3":[1,2,"3",
@@ -1243,10 +1254,11 @@ printWidth: 80
 ================================================================================
 `;
 
-exports[`multi-line.json format 2`] = `
+exports[`multi-line.json - {"trailingComma":"es5"} format 2`] = `
 ====================================options=====================================
 parsers: ["json5"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 {"key1":[true,false,null],"key2":{"key3":[1,2,"3",
@@ -1258,7 +1270,7 @@ printWidth: 80
 ================================================================================
 `;
 
-exports[`multi-line.json format 3`] = `
+exports[`multi-line.json format 1`] = `
 ====================================options=====================================
 parsers: ["json-stringify"]
 printWidth: 80
@@ -1318,10 +1330,11 @@ null
 ================================================================================
 `;
 
-exports[`null.json format 1`] = `
+exports[`null.json - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["json"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 null
@@ -1332,10 +1345,11 @@ null
 ================================================================================
 `;
 
-exports[`null.json format 2`] = `
+exports[`null.json - {"trailingComma":"es5"} format 2`] = `
 ====================================options=====================================
 parsers: ["json5"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 null
@@ -1346,7 +1360,7 @@ null
 ================================================================================
 `;
 
-exports[`null.json format 3`] = `
+exports[`null.json format 1`] = `
 ====================================options=====================================
 parsers: ["json-stringify"]
 printWidth: 80
@@ -1390,10 +1404,11 @@ trailingComma: "all"
 ================================================================================
 `;
 
-exports[`number.json format 1`] = `
+exports[`number.json - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["json"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 0
@@ -1404,10 +1419,11 @@ printWidth: 80
 ================================================================================
 `;
 
-exports[`number.json format 2`] = `
+exports[`number.json - {"trailingComma":"es5"} format 2`] = `
 ====================================options=====================================
 parsers: ["json5"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 0
@@ -1418,7 +1434,7 @@ printWidth: 80
 ================================================================================
 `;
 
-exports[`number.json format 3`] = `
+exports[`number.json format 1`] = `
 ====================================options=====================================
 parsers: ["json-stringify"]
 printWidth: 80
@@ -1692,10 +1708,11 @@ trailingComma: "all"
 ================================================================================
 `;
 
-exports[`pass1.json format 1`] = `
+exports[`pass1.json - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["json"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 [
@@ -1821,10 +1838,11 @@ printWidth: 80
 ================================================================================
 `;
 
-exports[`pass1.json format 2`] = `
+exports[`pass1.json - {"trailingComma":"es5"} format 2`] = `
 ====================================options=====================================
 parsers: ["json5"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 [
@@ -1950,7 +1968,7 @@ printWidth: 80
 ================================================================================
 `;
 
-exports[`pass1.json format 3`] = `
+exports[`pass1.json format 1`] = `
 ====================================options=====================================
 parsers: ["json-stringify"]
 printWidth: 80
@@ -2125,10 +2143,11 @@ trailingComma: "all"
 ================================================================================
 `;
 
-exports[`positive-number.json format 1`] = `
+exports[`positive-number.json - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["json"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 +123
@@ -2139,10 +2158,11 @@ printWidth: 80
 ================================================================================
 `;
 
-exports[`positive-number.json format 2`] = `
+exports[`positive-number.json - {"trailingComma":"es5"} format 2`] = `
 ====================================options=====================================
 parsers: ["json5"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 +123
@@ -2153,7 +2173,7 @@ printWidth: 80
 ================================================================================
 `;
 
-exports[`positive-number.json format 3`] = `
+exports[`positive-number.json format 1`] = `
 ====================================options=====================================
 parsers: ["json-stringify"]
 printWidth: 80
@@ -2205,10 +2225,11 @@ trailingComma: "all"
 ================================================================================
 `;
 
-exports[`propertyKey.json format 1`] = `
+exports[`propertyKey.json - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["json"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 {
@@ -2223,10 +2244,11 @@ printWidth: 80
 ================================================================================
 `;
 
-exports[`propertyKey.json format 2`] = `
+exports[`propertyKey.json - {"trailingComma":"es5"} format 2`] = `
 ====================================options=====================================
 parsers: ["json5"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 {
@@ -2241,7 +2263,7 @@ printWidth: 80
 ================================================================================
 `;
 
-exports[`propertyKey.json format 3`] = `
+exports[`propertyKey.json format 1`] = `
 ====================================options=====================================
 parsers: ["json-stringify"]
 printWidth: 80
@@ -2289,10 +2311,11 @@ trailingComma: "all"
 ================================================================================
 `;
 
-exports[`single-line.json format 1`] = `
+exports[`single-line.json - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["json"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 {"key1":[true,false,null],"key2":{"key3":[1,2,"3",1e10,1e-3]}}
@@ -2303,10 +2326,11 @@ printWidth: 80
 ================================================================================
 `;
 
-exports[`single-line.json format 2`] = `
+exports[`single-line.json - {"trailingComma":"es5"} format 2`] = `
 ====================================options=====================================
 parsers: ["json5"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 {"key1":[true,false,null],"key2":{"key3":[1,2,"3",1e10,1e-3]}}
@@ -2317,7 +2341,7 @@ printWidth: 80
 ================================================================================
 `;
 
-exports[`single-line.json format 3`] = `
+exports[`single-line.json format 1`] = `
 ====================================options=====================================
 parsers: ["json-stringify"]
 printWidth: 80
@@ -2376,10 +2400,11 @@ trailingComma: "all"
 ================================================================================
 `;
 
-exports[`single-quote.json format 1`] = `
+exports[`single-quote.json - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["json"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 'hello'
@@ -2390,10 +2415,11 @@ printWidth: 80
 ================================================================================
 `;
 
-exports[`single-quote.json format 2`] = `
+exports[`single-quote.json - {"trailingComma":"es5"} format 2`] = `
 ====================================options=====================================
 parsers: ["json5"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 'hello'
@@ -2404,7 +2430,7 @@ printWidth: 80
 ================================================================================
 `;
 
-exports[`single-quote.json format 3`] = `
+exports[`single-quote.json format 1`] = `
 ====================================options=====================================
 parsers: ["json-stringify"]
 printWidth: 80
@@ -2448,10 +2474,11 @@ trailingComma: "all"
 ================================================================================
 `;
 
-exports[`string.json format 1`] = `
+exports[`string.json - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["json"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 "string"
@@ -2462,10 +2489,11 @@ printWidth: 80
 ================================================================================
 `;
 
-exports[`string.json format 2`] = `
+exports[`string.json - {"trailingComma":"es5"} format 2`] = `
 ====================================options=====================================
 parsers: ["json5"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 "string"
@@ -2476,7 +2504,7 @@ printWidth: 80
 ================================================================================
 `;
 
-exports[`string.json format 3`] = `
+exports[`string.json format 1`] = `
 ====================================options=====================================
 parsers: ["json-stringify"]
 printWidth: 80
diff --git a/tests/format/json/json/jsfmt.spec.js b/tests/format/json/json/jsfmt.spec.js
index b1245f4f4b97..2f1144a31db7 100644
--- a/tests/format/json/json/jsfmt.spec.js
+++ b/tests/format/json/json/jsfmt.spec.js
@@ -1,5 +1,5 @@
-run_spec(import.meta, ["json"]);
+run_spec(import.meta, ["json"], { trailingComma: "es5" });
 run_spec(import.meta, ["json"], { trailingComma: "all" });
-run_spec(import.meta, ["json5"]);
+run_spec(import.meta, ["json5"], { trailingComma: "es5" });
 run_spec(import.meta, ["json5"], { trailingComma: "all" });
 run_spec(import.meta, ["json-stringify"]);
diff --git a/tests/format/json/with-comment/__snapshots__/jsfmt.spec.js.snap b/tests/format/json/with-comment/__snapshots__/jsfmt.spec.js.snap
index 13b7332d8ee0..9bd1856ba7ed 100644
--- a/tests/format/json/with-comment/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/json/with-comment/__snapshots__/jsfmt.spec.js.snap
@@ -30,10 +30,11 @@ trailingComma: "all"
 ================================================================================
 `;
 
-exports[`block-comment.json format 1`] = `
+exports[`block-comment.json - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["json"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 {/*comment*/"K":"V"}
@@ -44,10 +45,11 @@ printWidth: 80
 ================================================================================
 `;
 
-exports[`block-comment.json format 2`] = `
+exports[`block-comment.json - {"trailingComma":"es5"} format 2`] = `
 ====================================options=====================================
 parsers: ["json5"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 {/*comment*/"K":"V"}
@@ -88,10 +90,11 @@ trailingComma: "all"
 ================================================================================
 `;
 
-exports[`bottom-block-comment.json format 1`] = `
+exports[`bottom-block-comment.json - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["json"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 1 /* block-comment */
@@ -102,10 +105,11 @@ printWidth: 80
 ================================================================================
 `;
 
-exports[`bottom-block-comment.json format 2`] = `
+exports[`bottom-block-comment.json - {"trailingComma":"es5"} format 2`] = `
 ====================================options=====================================
 parsers: ["json5"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 1 /* block-comment */
@@ -146,10 +150,11 @@ trailingComma: "all"
 ================================================================================
 `;
 
-exports[`bottom-line-comment.json format 1`] = `
+exports[`bottom-line-comment.json - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["json"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 1 // line-comment
@@ -160,10 +165,11 @@ printWidth: 80
 ================================================================================
 `;
 
-exports[`bottom-line-comment.json format 2`] = `
+exports[`bottom-line-comment.json - {"trailingComma":"es5"} format 2`] = `
 ====================================options=====================================
 parsers: ["json5"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 1 // line-comment
@@ -216,10 +222,11 @@ trailingComma: "all"
 ================================================================================
 `;
 
-exports[`line-comment.json format 1`] = `
+exports[`line-comment.json - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["json"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 {
@@ -236,10 +243,11 @@ printWidth: 80
 ================================================================================
 `;
 
-exports[`line-comment.json format 2`] = `
+exports[`line-comment.json - {"trailingComma":"es5"} format 2`] = `
 ====================================options=====================================
 parsers: ["json5"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 {
@@ -294,10 +302,11 @@ trailingComma: "all"
 ================================================================================
 `;
 
-exports[`top-block-comment.json format 1`] = `
+exports[`top-block-comment.json - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["json"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 /* comment */{
@@ -312,10 +321,11 @@ printWidth: 80
 ================================================================================
 `;
 
-exports[`top-block-comment.json format 2`] = `
+exports[`top-block-comment.json - {"trailingComma":"es5"} format 2`] = `
 ====================================options=====================================
 parsers: ["json5"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 /* comment */{
@@ -376,10 +386,11 @@ trailingComma: "all"
 ================================================================================
 `;
 
-exports[`top-line-comment.json format 1`] = `
+exports[`top-line-comment.json - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["json"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 // comment 1
@@ -398,10 +409,11 @@ printWidth: 80
 ================================================================================
 `;
 
-exports[`top-line-comment.json format 2`] = `
+exports[`top-line-comment.json - {"trailingComma":"es5"} format 2`] = `
 ====================================options=====================================
 parsers: ["json5"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 // comment 1
diff --git a/tests/format/json/with-comment/jsfmt.spec.js b/tests/format/json/with-comment/jsfmt.spec.js
index ce7eb7fee53d..6bfa8957e978 100644
--- a/tests/format/json/with-comment/jsfmt.spec.js
+++ b/tests/format/json/with-comment/jsfmt.spec.js
@@ -1,4 +1,4 @@
-run_spec(import.meta, ["json"]);
+run_spec(import.meta, ["json"], { trailingComma: "es5" });
 run_spec(import.meta, ["json"], { trailingComma: "all" });
-run_spec(import.meta, ["json5"]);
+run_spec(import.meta, ["json5"], { trailingComma: "es5" });
 run_spec(import.meta, ["json5"], { trailingComma: "all" });
diff --git a/tests/format/jsx/ignore/__snapshots__/jsfmt.spec.js.snap b/tests/format/jsx/ignore/__snapshots__/jsfmt.spec.js.snap
index c21095fab205..363f05a993e2 100644
--- a/tests/format/jsx/ignore/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/jsx/ignore/__snapshots__/jsfmt.spec.js.snap
@@ -80,7 +80,7 @@ f(
   <Component>
     {/*prettier-ignore*/}
     <span     ugly  format=''   />
-  </Component>
+  </Component>,
 );
 
 // this be formatted
@@ -108,7 +108,7 @@ f(
 push(
   // prettier-ignore
   <td> :)
-  </td>
+  </td>,
 );
 
 function f() {
diff --git a/tests/format/jsx/jsx/__snapshots__/jsfmt.spec.js.snap b/tests/format/jsx/jsx/__snapshots__/jsfmt.spec.js.snap
index e8776bdc005d..e8673fbf8085 100644
--- a/tests/format/jsx/jsx/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/jsx/jsx/__snapshots__/jsfmt.spec.js.snap
@@ -677,7 +677,7 @@ async function testFunction() {
   const long = (
     <>
       {await Promise.all(
-        hierarchyCriticismIncongruousCooperateMaterialEducationOriginalArticulateParameter
+        hierarchyCriticismIncongruousCooperateMaterialEducationOriginalArticulateParameter,
       )}
       {
         await hierarchyCriticism.IncongruousCooperate.MaterialEducation
@@ -688,7 +688,7 @@ async function testFunction() {
       }
 
       {Promise.all(
-        hierarchyCriticismIncongruousCooperateMaterialEducationOriginalArticulateParameter
+        hierarchyCriticismIncongruousCooperateMaterialEducationOriginalArticulateParameter,
       )}
       {
         hierarchyCriticism.IncongruousCooperate.MaterialEducation
@@ -775,7 +775,7 @@ async function testFunction() {
   const long = (
     <>
       {await Promise.all(
-        hierarchyCriticismIncongruousCooperateMaterialEducationOriginalArticulateParameter
+        hierarchyCriticismIncongruousCooperateMaterialEducationOriginalArticulateParameter,
       )}
       {
         await hierarchyCriticism.IncongruousCooperate.MaterialEducation
@@ -786,7 +786,7 @@ async function testFunction() {
       }
 
       {Promise.all(
-        hierarchyCriticismIncongruousCooperateMaterialEducationOriginalArticulateParameter
+        hierarchyCriticismIncongruousCooperateMaterialEducationOriginalArticulateParameter,
       )}
       {
         hierarchyCriticism.IncongruousCooperate.MaterialEducation
@@ -873,7 +873,7 @@ async function testFunction() {
   const long = (
     <>
       {await Promise.all(
-        hierarchyCriticismIncongruousCooperateMaterialEducationOriginalArticulateParameter
+        hierarchyCriticismIncongruousCooperateMaterialEducationOriginalArticulateParameter,
       )}
       {
         await hierarchyCriticism.IncongruousCooperate.MaterialEducation
@@ -884,7 +884,7 @@ async function testFunction() {
       }
 
       {Promise.all(
-        hierarchyCriticismIncongruousCooperateMaterialEducationOriginalArticulateParameter
+        hierarchyCriticismIncongruousCooperateMaterialEducationOriginalArticulateParameter,
       )}
       {
         hierarchyCriticism.IncongruousCooperate.MaterialEducation
@@ -971,7 +971,7 @@ async function testFunction() {
   const long = (
     <>
       {await Promise.all(
-        hierarchyCriticismIncongruousCooperateMaterialEducationOriginalArticulateParameter
+        hierarchyCriticismIncongruousCooperateMaterialEducationOriginalArticulateParameter,
       )}
       {
         await hierarchyCriticism.IncongruousCooperate.MaterialEducation
@@ -982,7 +982,7 @@ async function testFunction() {
       }
 
       {Promise.all(
-        hierarchyCriticismIncongruousCooperateMaterialEducationOriginalArticulateParameter
+        hierarchyCriticismIncongruousCooperateMaterialEducationOriginalArticulateParameter,
       )}
       {
         hierarchyCriticism.IncongruousCooperate.MaterialEducation
@@ -2418,7 +2418,7 @@ singleQuote: false
     doLogClick(
       "long_name_long_name_long_name",
       "long_name_long_name_long_name",
-      data
+      data,
     )
   }
 />;
@@ -2428,7 +2428,7 @@ singleQuote: false
     doLogClick(
       "long_name_long_name_long_name",
       "long_name_long_name_long_name",
-      data
+      data,
     );
   }}
 />;
@@ -2436,7 +2436,7 @@ singleQuote: false
 <Component
   onChange={(
     key: "possible_key_1" | "possible_key_2" | "possible_key_3",
-    value: string | Immutable.List<string>
+    value: string | Immutable.List<string>,
   ) => {
     this.setState({
       updatedTask: this.state.updatedTask.set(key, value),
@@ -2453,7 +2453,7 @@ singleQuote: false
     doLogClick(
       "long_name_long_name_long_name",
       "long_name_long_name_long_name",
-      data
+      data,
     )
   }
 </BookingIntroPanel>;
@@ -2463,7 +2463,7 @@ singleQuote: false
     doLogClick(
       "long_name_long_name_long_name",
       "long_name_long_name_long_name",
-      data
+      data,
     );
   }}
 </BookingIntroPanel>;
@@ -2471,7 +2471,7 @@ singleQuote: false
 <Component>
   {(
     key: "possible_key_1" | "possible_key_2" | "possible_key_3",
-    value: string | Immutable.List<string>
+    value: string | Immutable.List<string>,
   ) => {
     this.setState({
       updatedTask: this.state.updatedTask.set(key, value),
@@ -2706,7 +2706,7 @@ singleQuote: false
     doLogClick(
       "long_name_long_name_long_name",
       "long_name_long_name_long_name",
-      data
+      data,
     )
   }
 />;
@@ -2716,7 +2716,7 @@ singleQuote: false
     doLogClick(
       "long_name_long_name_long_name",
       "long_name_long_name_long_name",
-      data
+      data,
     );
   }}
 />;
@@ -2724,7 +2724,7 @@ singleQuote: false
 <Component
   onChange={(
     key: "possible_key_1" | "possible_key_2" | "possible_key_3",
-    value: string | Immutable.List<string>
+    value: string | Immutable.List<string>,
   ) => {
     this.setState({
       updatedTask: this.state.updatedTask.set(key, value),
@@ -2741,7 +2741,7 @@ singleQuote: false
     doLogClick(
       "long_name_long_name_long_name",
       "long_name_long_name_long_name",
-      data
+      data,
     )
   }
 </BookingIntroPanel>;
@@ -2751,7 +2751,7 @@ singleQuote: false
     doLogClick(
       "long_name_long_name_long_name",
       "long_name_long_name_long_name",
-      data
+      data,
     );
   }}
 </BookingIntroPanel>;
@@ -2759,7 +2759,7 @@ singleQuote: false
 <Component>
   {(
     key: "possible_key_1" | "possible_key_2" | "possible_key_3",
-    value: string | Immutable.List<string>
+    value: string | Immutable.List<string>,
   ) => {
     this.setState({
       updatedTask: this.state.updatedTask.set(key, value),
@@ -2994,7 +2994,7 @@ singleQuote: true
     doLogClick(
       'long_name_long_name_long_name',
       'long_name_long_name_long_name',
-      data
+      data,
     )
   }
 />;
@@ -3004,7 +3004,7 @@ singleQuote: true
     doLogClick(
       'long_name_long_name_long_name',
       'long_name_long_name_long_name',
-      data
+      data,
     );
   }}
 />;
@@ -3012,7 +3012,7 @@ singleQuote: true
 <Component
   onChange={(
     key: 'possible_key_1' | 'possible_key_2' | 'possible_key_3',
-    value: string | Immutable.List<string>
+    value: string | Immutable.List<string>,
   ) => {
     this.setState({
       updatedTask: this.state.updatedTask.set(key, value),
@@ -3029,7 +3029,7 @@ singleQuote: true
     doLogClick(
       'long_name_long_name_long_name',
       'long_name_long_name_long_name',
-      data
+      data,
     )
   }
 </BookingIntroPanel>;
@@ -3039,7 +3039,7 @@ singleQuote: true
     doLogClick(
       'long_name_long_name_long_name',
       'long_name_long_name_long_name',
-      data
+      data,
     );
   }}
 </BookingIntroPanel>;
@@ -3047,7 +3047,7 @@ singleQuote: true
 <Component>
   {(
     key: 'possible_key_1' | 'possible_key_2' | 'possible_key_3',
-    value: string | Immutable.List<string>
+    value: string | Immutable.List<string>,
   ) => {
     this.setState({
       updatedTask: this.state.updatedTask.set(key, value),
@@ -3282,7 +3282,7 @@ singleQuote: true
     doLogClick(
       'long_name_long_name_long_name',
       'long_name_long_name_long_name',
-      data
+      data,
     )
   }
 />;
@@ -3292,7 +3292,7 @@ singleQuote: true
     doLogClick(
       'long_name_long_name_long_name',
       'long_name_long_name_long_name',
-      data
+      data,
     );
   }}
 />;
@@ -3300,7 +3300,7 @@ singleQuote: true
 <Component
   onChange={(
     key: 'possible_key_1' | 'possible_key_2' | 'possible_key_3',
-    value: string | Immutable.List<string>
+    value: string | Immutable.List<string>,
   ) => {
     this.setState({
       updatedTask: this.state.updatedTask.set(key, value),
@@ -3317,7 +3317,7 @@ singleQuote: true
     doLogClick(
       'long_name_long_name_long_name',
       'long_name_long_name_long_name',
-      data
+      data,
     )
   }
 </BookingIntroPanel>;
@@ -3327,7 +3327,7 @@ singleQuote: true
     doLogClick(
       'long_name_long_name_long_name',
       'long_name_long_name_long_name',
-      data
+      data,
     );
   }}
 </BookingIntroPanel>;
@@ -3335,7 +3335,7 @@ singleQuote: true
 <Component>
   {(
     key: 'possible_key_1' | 'possible_key_2' | 'possible_key_3',
-    value: string | Immutable.List<string>
+    value: string | Immutable.List<string>,
   ) => {
     this.setState({
       updatedTask: this.state.updatedTask.set(key, value),
diff --git a/tests/format/jsx/stateless-arrow-fn/__snapshots__/jsfmt.spec.js.snap b/tests/format/jsx/stateless-arrow-fn/__snapshots__/jsfmt.spec.js.snap
index 89c32bc94c94..a2790ae56ec3 100644
--- a/tests/format/jsx/stateless-arrow-fn/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/jsx/stateless-arrow-fn/__snapshots__/jsfmt.spec.js.snap
@@ -190,7 +190,7 @@ const render10 = (props) => (
 const notJSX = (aaaaaaaaaaaaaaaaa, bbbbbbbbbbb) =>
   this.someLongCallWithParams(aaaaaa, bbbbbbb).anotherLongCallWithParams(
     cccccccccccc,
-    dddddddddddddddddddddd
+    dddddddddddddddddddddd,
   );
 
 React.render(
@@ -201,7 +201,7 @@ React.render(
     size="large"
     submitLabel="Sign in with Google"
   />,
-  document.querySelector("#react-root")
+  document.querySelector("#react-root"),
 );
 
 const renderTernary = (props) => (
diff --git a/tests/format/jsx/text-wrap/__snapshots__/jsfmt.spec.js.snap b/tests/format/jsx/text-wrap/__snapshots__/jsfmt.spec.js.snap
index 731bd0e3794f..e4e7acc49b60 100644
--- a/tests/format/jsx/text-wrap/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/jsx/text-wrap/__snapshots__/jsfmt.spec.js.snap
@@ -1034,7 +1034,7 @@ let myDiv = ReactTestUtils.renderIntoDocument(
   <div>
     <div key="theDog" className="dog" />,
     <div key="theBird" className="bird" />
-  </div>
+  </div>,
 );
 
 ================================================================================
diff --git a/tests/format/lwc/lwc/__snapshots__/jsfmt.spec.js.snap b/tests/format/lwc/lwc/__snapshots__/jsfmt.spec.js.snap
index 3e72a3138787..861550b65c53 100644
--- a/tests/format/lwc/lwc/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/lwc/lwc/__snapshots__/jsfmt.spec.js.snap
@@ -38,11 +38,11 @@ semi: false
 ================================================================================
 `;
 
-exports[`attributes.html - {"trailingComma":"none"} format 1`] = `
+exports[`attributes.html - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["lwc"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 <template>
@@ -76,10 +76,11 @@ trailingComma: "none"
 ================================================================================
 `;
 
-exports[`attributes.html format 1`] = `
+exports[`attributes.html - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["lwc"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 <template>
diff --git a/tests/format/lwc/lwc/jsfmt.spec.js b/tests/format/lwc/lwc/jsfmt.spec.js
index db0f953d8406..d763b4c0af21 100644
--- a/tests/format/lwc/lwc/jsfmt.spec.js
+++ b/tests/format/lwc/lwc/jsfmt.spec.js
@@ -1,3 +1,3 @@
 run_spec(import.meta, ["lwc"], { trailingComma: "none" });
-run_spec(import.meta, ["lwc"], {});
+run_spec(import.meta, ["lwc"], { trailingComma: "es5" });
 run_spec(import.meta, ["lwc"], { semi: false });
diff --git a/tests/format/markdown/markdown/__snapshots__/jsfmt.spec.js.snap b/tests/format/markdown/markdown/__snapshots__/jsfmt.spec.js.snap
index 14acdc5b7cfd..a2d79d5fed9d 100644
--- a/tests/format/markdown/markdown/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/markdown/markdown/__snapshots__/jsfmt.spec.js.snap
@@ -1014,7 +1014,7 @@ foo(
   reallyLongArg(),
   omgSoManyParameters(),
   IShouldRefactorThis(),
-  isThereSeriouslyAnotherOne()
+  isThereSeriouslyAnotherOne(),
 );
 \`\`\`
 
@@ -2991,7 +2991,7 @@ foo(
   reallyLongArg(),
   omgSoManyParameters(),
   IShouldRefactorThis(),
-  isThereSeriouslyAnotherOne()
+  isThereSeriouslyAnotherOne(),
 );
 \`\`\`
 
diff --git a/tests/format/mdx/mdx/__snapshots__/jsfmt.spec.js.snap b/tests/format/mdx/mdx/__snapshots__/jsfmt.spec.js.snap
index 7eea6b30cbef..dcaf350144a4 100644
--- a/tests/format/mdx/mdx/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/mdx/mdx/__snapshots__/jsfmt.spec.js.snap
@@ -51,7 +51,7 @@ foo(
   reallyLongArg(),
   omgSoManyParameters(),
   IShouldRefactorThis(),
-  isThereSeriouslyAnotherOne()
+  isThereSeriouslyAnotherOne(),
 )
 \`\`\`
 
@@ -108,7 +108,7 @@ foo(
   reallyLongArg(),
   omgSoManyParameters(),
   IShouldRefactorThis(),
-  isThereSeriouslyAnotherOne()
+  isThereSeriouslyAnotherOne(),
 );
 \`\`\`
 
diff --git a/tests/format/misc/embedded_language_formatting/in-javascript/__snapshots__/jsfmt.spec.js.snap b/tests/format/misc/embedded_language_formatting/in-javascript/__snapshots__/jsfmt.spec.js.snap
index c86299d39b46..ee4fe06707ea 100644
--- a/tests/format/misc/embedded_language_formatting/in-javascript/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/misc/embedded_language_formatting/in-javascript/__snapshots__/jsfmt.spec.js.snap
@@ -74,7 +74,7 @@ graphql(
     {
       id
     }
-  \`
+  \`,
 );
 
 html\`<a></a>\`;
diff --git a/tests/format/misc/flow-babel-only/__snapshots__/jsfmt.spec.js.snap b/tests/format/misc/flow-babel-only/__snapshots__/jsfmt.spec.js.snap
index ac765ce2e08e..37b1b3f7f47a 100644
--- a/tests/format/misc/flow-babel-only/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/misc/flow-babel-only/__snapshots__/jsfmt.spec.js.snap
@@ -68,7 +68,7 @@ export function updateStoreFromURL(
 =====================================output=====================================
 export function updateStoreFromURL(
   store /*: Store*/,
-  { search, hash } /*: {search: string, hash: string}*/
+  { search, hash } /*: {search: string, hash: string}*/,
 ) {}
 
 ================================================================================
diff --git a/tests/format/misc/json-unknown-extension/__snapshots__/jsfmt.spec.js.snap b/tests/format/misc/json-unknown-extension/__snapshots__/jsfmt.spec.js.snap
index bddf0dff76ae..a842e7f8b7db 100644
--- a/tests/format/misc/json-unknown-extension/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/misc/json-unknown-extension/__snapshots__/jsfmt.spec.js.snap
@@ -46,10 +46,11 @@ trailingComma: "all"
 ================================================================================
 `;
 
-exports[`trailingComma.notjson format 1`] = `
+exports[`trailingComma.notjson - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["json"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 {
@@ -68,10 +69,11 @@ printWidth: 80
 ================================================================================
 `;
 
-exports[`trailingComma.notjson format 2`] = `
+exports[`trailingComma.notjson - {"trailingComma":"es5"} format 2`] = `
 ====================================options=====================================
 parsers: ["json5"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 {
@@ -90,7 +92,7 @@ printWidth: 80
 ================================================================================
 `;
 
-exports[`trailingComma.notjson format 3`] = `
+exports[`trailingComma.notjson format 1`] = `
 ====================================options=====================================
 parsers: ["json-stringify"]
 printWidth: 80
diff --git a/tests/format/misc/json-unknown-extension/jsfmt.spec.js b/tests/format/misc/json-unknown-extension/jsfmt.spec.js
index b1245f4f4b97..2f1144a31db7 100644
--- a/tests/format/misc/json-unknown-extension/jsfmt.spec.js
+++ b/tests/format/misc/json-unknown-extension/jsfmt.spec.js
@@ -1,5 +1,5 @@
-run_spec(import.meta, ["json"]);
+run_spec(import.meta, ["json"], { trailingComma: "es5" });
 run_spec(import.meta, ["json"], { trailingComma: "all" });
-run_spec(import.meta, ["json5"]);
+run_spec(import.meta, ["json5"], { trailingComma: "es5" });
 run_spec(import.meta, ["json5"], { trailingComma: "all" });
 run_spec(import.meta, ["json-stringify"]);
diff --git a/tests/format/scss/map/__snapshots__/jsfmt.spec.js.snap b/tests/format/scss/map/__snapshots__/jsfmt.spec.js.snap
index 729e8d5a780a..98ea7b24dede 100644
--- a/tests/format/scss/map/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/scss/map/__snapshots__/jsfmt.spec.js.snap
@@ -1,10 +1,10 @@
 // Jest Snapshot v1, https://goo.gl/fbAQLP
 
-exports[`key-values.scss - {"trailingComma":"none"} format 1`] = `
+exports[`key-values.scss - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["scss"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 $map: (
@@ -27,20 +27,20 @@ $map: (
     "key": "value",
     "key": "value",
     "key": "value",
-    "key": "value"
+    "key": "value",
   ):
     (
-      "key": "value"
+      "key": "value",
     ),
   (
     "key": "value",
     "key": "value",
     "key": "value",
     "key": "value",
-    "key": "value"
+    "key": "value",
   ):
     (
-      "list"
+      "list",
     ),
   (
     "list",
@@ -52,10 +52,10 @@ $map: (
     "list",
     "list",
     "list",
-    "list"
+    "list",
   ):
     (
-      "list"
+      "list",
     ),
   (
     "list",
@@ -67,28 +67,29 @@ $map: (
     "list",
     "list",
     "list",
-    "list"
+    "list",
   ):
     (
-      "key": "value"
+      "key": "value",
     ),
   (
     "key": "value",
     "key": "value",
     "key": "value",
     "key": "value",
-    "key": "value"
+    "key": "value",
   ):
-    1
+    1,
 );
 
 ================================================================================
 `;
 
-exports[`key-values.scss format 1`] = `
+exports[`key-values.scss - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["scss"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 $map: (
@@ -111,20 +112,20 @@ $map: (
     "key": "value",
     "key": "value",
     "key": "value",
-    "key": "value",
+    "key": "value"
   ):
     (
-      "key": "value",
+      "key": "value"
     ),
   (
     "key": "value",
     "key": "value",
     "key": "value",
     "key": "value",
-    "key": "value",
+    "key": "value"
   ):
     (
-      "list",
+      "list"
     ),
   (
     "list",
@@ -136,10 +137,10 @@ $map: (
     "list",
     "list",
     "list",
-    "list",
+    "list"
   ):
     (
-      "list",
+      "list"
     ),
   (
     "list",
@@ -151,29 +152,29 @@ $map: (
     "list",
     "list",
     "list",
-    "list",
+    "list"
   ):
     (
-      "key": "value",
+      "key": "value"
     ),
   (
     "key": "value",
     "key": "value",
     "key": "value",
     "key": "value",
-    "key": "value",
+    "key": "value"
   ):
-    1,
+    1
 );
 
 ================================================================================
 `;
 
-exports[`keys.scss - {"trailingComma":"none"} format 1`] = `
+exports[`keys.scss - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["scss"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 $map: (
@@ -196,29 +197,30 @@ $map: (
   ("key": "value"): "hello world",
   (
     "list",
-    "long long long long long long long long long long long long long list"
+    "long long long long long long long long long long long long long list",
   ):
     "hello world",
   (
     "key": "value",
     "long long long long long long long long long long long long long map":
-      "value"
+      "value",
   ):
-    "hello world"
+    "hello world",
 );
 
 // #10000
 $map: (
-  ("my list"): "hello world"
+  ("my list"): "hello world",
 );
 
 ================================================================================
 `;
 
-exports[`keys.scss format 1`] = `
+exports[`keys.scss - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["scss"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 $map: (
@@ -241,20 +243,20 @@ $map: (
   ("key": "value"): "hello world",
   (
     "list",
-    "long long long long long long long long long long long long long list",
+    "long long long long long long long long long long long long long list"
   ):
     "hello world",
   (
     "key": "value",
     "long long long long long long long long long long long long long map":
-      "value",
+      "value"
   ):
-    "hello world",
+    "hello world"
 );
 
 // #10000
 $map: (
-  ("my list"): "hello world",
+  ("my list"): "hello world"
 );
 
 ================================================================================
diff --git a/tests/format/scss/map/jsfmt.spec.js b/tests/format/scss/map/jsfmt.spec.js
index f5e1ca39e285..e7bbbdd312bb 100644
--- a/tests/format/scss/map/jsfmt.spec.js
+++ b/tests/format/scss/map/jsfmt.spec.js
@@ -1,2 +1,2 @@
 run_spec(import.meta, ["scss"], { trailingComma: "none" });
-run_spec(import.meta, ["scss"]);
+run_spec(import.meta, ["scss"], { trailingComma: "es5" });
diff --git a/tests/format/scss/scss/__snapshots__/jsfmt.spec.js.snap b/tests/format/scss/scss/__snapshots__/jsfmt.spec.js.snap
index e7fd701f3094..c27447f0218a 100644
--- a/tests/format/scss/scss/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/scss/scss/__snapshots__/jsfmt.spec.js.snap
@@ -1,10 +1,10 @@
 // Jest Snapshot v1, https://goo.gl/fbAQLP
 
-exports[`arbitrary-arguments.scss - {"trailingComma":"none"} format 1`] = `
+exports[`arbitrary-arguments.scss - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["scss"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 body {
@@ -78,7 +78,7 @@ $form-selectors: "input.name", "input.address", "input.zip" !default;
 $parameters: (
   "c": "kittens",
   "a": true,
-  "b": 42
+  "b": 42,
 );
 $value: dummy($parameters...);
 
@@ -95,10 +95,11 @@ body {
 ================================================================================
 `;
 
-exports[`arbitrary-arguments.scss format 1`] = `
+exports[`arbitrary-arguments.scss - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["scss"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 body {
@@ -172,7 +173,7 @@ $form-selectors: "input.name", "input.address", "input.zip" !default;
 $parameters: (
   "c": "kittens",
   "a": true,
-  "b": 42,
+  "b": 42
 );
 $value: dummy($parameters...);
 
@@ -189,11 +190,11 @@ body {
 ================================================================================
 `;
 
-exports[`arbitrary-arguments-comment.scss - {"trailingComma":"none"} format 1`] = `
+exports[`arbitrary-arguments-comment.scss - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["scss"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 @include bar (
@@ -216,10 +217,11 @@ trailingComma: "none"
 ================================================================================
 `;
 
-exports[`arbitrary-arguments-comment.scss format 1`] = `
+exports[`arbitrary-arguments-comment.scss - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["scss"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 @include bar (
@@ -242,11 +244,11 @@ printWidth: 80
 ================================================================================
 `;
 
-exports[`comments.scss - {"trailingComma":"none"} format 1`] = `
+exports[`comments.scss - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["scss"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 // This comment won't be included in the CSS. 
@@ -279,10 +281,11 @@ trailingComma: "none"
 ================================================================================
 `;
 
-exports[`comments.scss format 1`] = `
+exports[`comments.scss - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["scss"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 // This comment won't be included in the CSS. 
@@ -315,11 +318,11 @@ printWidth: 80
 ================================================================================
 `;
 
-exports[`directives.scss - {"trailingComma":"none"} format 1`] = `
+exports[`directives.scss - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["scss"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 @qux .foo
@@ -336,10 +339,11 @@ trailingComma: "none"
 ================================================================================
 `;
 
-exports[`directives.scss format 1`] = `
+exports[`directives.scss - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["scss"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 @qux .foo
@@ -356,11 +360,11 @@ printWidth: 80
 ================================================================================
 `;
 
-exports[`function-in-url.scss - {"trailingComma":"none"} format 1`] = `
+exports[`function-in-url.scss - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["scss"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 @function concat($strings...) {
@@ -391,10 +395,11 @@ a {
 ================================================================================
 `;
 
-exports[`function-in-url.scss format 1`] = `
+exports[`function-in-url.scss - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["scss"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 @function concat($strings...) {
@@ -425,11 +430,11 @@ a {
 ================================================================================
 `;
 
-exports[`import_comma.scss - {"trailingComma":"none"} format 1`] = `
+exports[`import_comma.scss - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["scss"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 @import "rounded-corners", "text-shadow";
@@ -440,10 +445,11 @@ trailingComma: "none"
 ================================================================================
 `;
 
-exports[`import_comma.scss format 1`] = `
+exports[`import_comma.scss - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["scss"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 @import "rounded-corners", "text-shadow";
@@ -454,11 +460,11 @@ printWidth: 80
 ================================================================================
 `;
 
-exports[`scss.scss - {"trailingComma":"none"} format 1`] = `
+exports[`scss.scss - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["scss"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 @media #{$g-breakpoint-tiny} {}
@@ -1585,188 +1591,188 @@ $global: "very-long-long-long-long-long-long-long-long-long-long-long-value" !gl
 
 $map: (
   key: value,
-  other-key: other-value
+  other-key: other-value,
 );
 $map: (
   key: value,
-  other-key: other-value
+  other-key: other-value,
 ) !default;
 $map: (
   key: value,
-  other-key: other-value
+  other-key: other-value,
 ) !default;
 $map: (
   key: value,
-  other-key: other-value
+  other-key: other-value,
 ) !default;
 $map: (
   key: value,
-  other-key: other-value
+  other-key: other-value,
 ) !default;
 $map: (
   key: value,
-  other-key: other-value
+  other-key: other-value,
 );
 $map: (
   key: value,
-  other-key: other-value
+  other-key: other-value,
 );
 $map: (
   key: value,
-  other-key: other-value
+  other-key: other-value,
 );
 $map: (
   key: value,
-  other-key: other-value
+  other-key: other-value,
 );
 $map: (
   key: value,
-  other-key: other-value
+  other-key: other-value,
 );
 $map: (
   key: value,
-  other-key: other-value
+  other-key: other-value,
 );
 $map: (
   very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-verylong-key:
     very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-verylong-value,
   very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-verylong-other-key:
-    very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-verylong-other-value
+    very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-verylong-other-value,
 );
 $map: (
   very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-verylong-key:
     very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-verylong-value,
   very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-verylong-other-key:
-    very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-verylong-other-value
+    very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-verylong-other-value,
 );
 $map: (
   very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-verylong-key:
     very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-verylong-value,
   very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-verylong-other-key:
-    very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-verylong-other-value
+    very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-verylong-other-value,
 );
 $map: (
   very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-verylong-key:
     very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-verylong-value,
   very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-verylong-other-key:
-    very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-verylong-other-value
+    very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-verylong-other-value,
 );
 $map: (
   very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-verylong-key:
     very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-verylong-value,
   very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-verylong-other-key:
-    very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-verylong-other-value
+    very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-verylong-other-value,
 );
 $map: (
   very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-verylong-key:
     very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-verylong-value,
   very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-verylong-other-key:
-    very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-verylong-other-value
+    very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-verylong-other-value,
 );
 $map: (
   key: (
     #d82d2d,
-    #666
+    #666,
   ),
   other-key: (
     #52bf4a,
-    #fff
+    #fff,
   ),
   other-other-key: (
     #c23435,
-    #fff
-  )
+    #fff,
+  ),
 );
 $map: (
   key: (
     #d82d2d,
-    #666
+    #666,
   ),
   other-key: (
     #52bf4a,
-    #fff
+    #fff,
   ),
   other-other-key: (
     #c23435,
-    #fff
-  )
+    #fff,
+  ),
 );
 $map: (
   key: (
     #d82d2d,
-    #666
+    #666,
   ),
   other-key: (
     #52bf4a,
-    #fff
+    #fff,
   ),
   other-other-key: (
     #c23435,
-    #fff
-  )
+    #fff,
+  ),
 );
 $map: (
   key: (
     #d82d2d,
-    #666
+    #666,
   ),
   other-key: (
     #52bf4a,
-    #fff
+    #fff,
   ),
   other-other-key: (
     #c23435,
-    #fff
-  )
+    #fff,
+  ),
 );
 $map: (
   key: (
     #d82d2d,
-    #666
+    #666,
   ),
   other-key: (
     #52bf4a,
-    #fff
+    #fff,
   ),
   other-other-key: (
     #c23435,
-    #fff
-  )
+    #fff,
+  ),
 );
 $map: map-merge(
   $map,
   (
-    $key: $value
+    $key: $value,
   )
 );
 $map: map-merge(
   $map,
   (
-    $key: $value
+    $key: $value,
   )
 );
 $map: map-merge(
   $map,
   (
-    $key: $value
+    $key: $value,
   )
 );
 $map: map-merge(
   $map,
   (
-    $key: $value
+    $key: $value,
   )
 );
 $map: map-merge(
   $map,
   (
-    $key: $value
+    $key: $value,
   )
 );
 $map: map-merge(
   $map,
   (
-    $key: $value
+    $key: $value,
   )
 );
 
@@ -2286,7 +2292,7 @@ a:nth-child(#{$numPerRow}n) {
 
 $extmods: (
   eot: "?",
-  svg: "#" + str-replace($name, " ", "_")
+  svg: "#" + str-replace($name, " ", "_"),
 );
 
 @mixin keyframes {
@@ -2311,18 +2317,18 @@ $colors: (
   primary: (
     base: #00abc9,
     light: #daf1f6,
-    dark: #12799a
+    dark: #12799a,
   ),
   secondary: (
     base: #424d55,
     light: #ccc,
     lightest: #efefef,
-    dark: #404247
+    dark: #404247,
   ),
   success: (
     base: #bbd33e,
-    light: #eaf0c6
-  )
+    light: #eaf0c6,
+  ),
 );
 
 @function color($color, $tone: "base") {
@@ -2363,12 +2369,12 @@ $empty-map: ();
 $empty-nested-map: (
   nested-key: (
     empty-key: (
-      color: red
-    )
+      color: red,
+    ),
   ),
   empty-key: (),
   empty-key: (),
-  empty-key: ()
+  empty-key: (),
 );
 
 $o-grid-default-config: (
@@ -2380,12 +2386,12 @@ $o-grid-default-config: (
     S: 370px,
     M: 610px,
     L: 850px,
-    XL: 1090px
+    XL: 1090px,
   ),
   fluid: true,
   debug: false,
   fixed-layout: M,
-  enhanced-experience: true
+  enhanced-experience: true,
 );
 
 $a: ();
@@ -2396,22 +2402,22 @@ $d: (null);
 $threads-properties: map-merge(
   $threads-properties,
   (
-    $border-label: ()
+    $border-label: (),
   )
 );
 $o-grid-default-config: (
   layouts: (
-    S: 370px
-  )
+    S: 370px,
+  ),
 );
 
 $map: (
   key: (
-    value
+    value,
   ),
   other-key: (
-    key: other-other-value
-  )
+    key: other-other-value,
+  ),
 );
 
 a {
@@ -2595,10 +2601,11 @@ label {
 ================================================================================
 `;
 
-exports[`scss.scss format 1`] = `
+exports[`scss.scss - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["scss"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 @media #{$g-breakpoint-tiny} {}
@@ -3725,188 +3732,188 @@ $global: "very-long-long-long-long-long-long-long-long-long-long-long-value" !gl
 
 $map: (
   key: value,
-  other-key: other-value,
+  other-key: other-value
 );
 $map: (
   key: value,
-  other-key: other-value,
+  other-key: other-value
 ) !default;
 $map: (
   key: value,
-  other-key: other-value,
+  other-key: other-value
 ) !default;
 $map: (
   key: value,
-  other-key: other-value,
+  other-key: other-value
 ) !default;
 $map: (
   key: value,
-  other-key: other-value,
+  other-key: other-value
 ) !default;
 $map: (
   key: value,
-  other-key: other-value,
+  other-key: other-value
 );
 $map: (
   key: value,
-  other-key: other-value,
+  other-key: other-value
 );
 $map: (
   key: value,
-  other-key: other-value,
+  other-key: other-value
 );
 $map: (
   key: value,
-  other-key: other-value,
+  other-key: other-value
 );
 $map: (
   key: value,
-  other-key: other-value,
+  other-key: other-value
 );
 $map: (
   key: value,
-  other-key: other-value,
+  other-key: other-value
 );
 $map: (
   very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-verylong-key:
     very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-verylong-value,
   very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-verylong-other-key:
-    very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-verylong-other-value,
+    very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-verylong-other-value
 );
 $map: (
   very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-verylong-key:
     very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-verylong-value,
   very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-verylong-other-key:
-    very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-verylong-other-value,
+    very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-verylong-other-value
 );
 $map: (
   very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-verylong-key:
     very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-verylong-value,
   very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-verylong-other-key:
-    very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-verylong-other-value,
+    very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-verylong-other-value
 );
 $map: (
   very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-verylong-key:
     very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-verylong-value,
   very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-verylong-other-key:
-    very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-verylong-other-value,
+    very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-verylong-other-value
 );
 $map: (
   very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-verylong-key:
     very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-verylong-value,
   very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-verylong-other-key:
-    very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-verylong-other-value,
+    very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-verylong-other-value
 );
 $map: (
   very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-verylong-key:
     very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-verylong-value,
   very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-verylong-other-key:
-    very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-verylong-other-value,
+    very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-verylong-other-value
 );
 $map: (
   key: (
     #d82d2d,
-    #666,
+    #666
   ),
   other-key: (
     #52bf4a,
-    #fff,
+    #fff
   ),
   other-other-key: (
     #c23435,
-    #fff,
-  ),
+    #fff
+  )
 );
 $map: (
   key: (
     #d82d2d,
-    #666,
+    #666
   ),
   other-key: (
     #52bf4a,
-    #fff,
+    #fff
   ),
   other-other-key: (
     #c23435,
-    #fff,
-  ),
+    #fff
+  )
 );
 $map: (
   key: (
     #d82d2d,
-    #666,
+    #666
   ),
   other-key: (
     #52bf4a,
-    #fff,
+    #fff
   ),
   other-other-key: (
     #c23435,
-    #fff,
-  ),
+    #fff
+  )
 );
 $map: (
   key: (
     #d82d2d,
-    #666,
+    #666
   ),
   other-key: (
     #52bf4a,
-    #fff,
+    #fff
   ),
   other-other-key: (
     #c23435,
-    #fff,
-  ),
+    #fff
+  )
 );
 $map: (
   key: (
     #d82d2d,
-    #666,
+    #666
   ),
   other-key: (
     #52bf4a,
-    #fff,
+    #fff
   ),
   other-other-key: (
     #c23435,
-    #fff,
-  ),
+    #fff
+  )
 );
 $map: map-merge(
   $map,
   (
-    $key: $value,
+    $key: $value
   )
 );
 $map: map-merge(
   $map,
   (
-    $key: $value,
+    $key: $value
   )
 );
 $map: map-merge(
   $map,
   (
-    $key: $value,
+    $key: $value
   )
 );
 $map: map-merge(
   $map,
   (
-    $key: $value,
+    $key: $value
   )
 );
 $map: map-merge(
   $map,
   (
-    $key: $value,
+    $key: $value
   )
 );
 $map: map-merge(
   $map,
   (
-    $key: $value,
+    $key: $value
   )
 );
 
@@ -4426,7 +4433,7 @@ a:nth-child(#{$numPerRow}n) {
 
 $extmods: (
   eot: "?",
-  svg: "#" + str-replace($name, " ", "_"),
+  svg: "#" + str-replace($name, " ", "_")
 );
 
 @mixin keyframes {
@@ -4451,18 +4458,18 @@ $colors: (
   primary: (
     base: #00abc9,
     light: #daf1f6,
-    dark: #12799a,
+    dark: #12799a
   ),
   secondary: (
     base: #424d55,
     light: #ccc,
     lightest: #efefef,
-    dark: #404247,
+    dark: #404247
   ),
   success: (
     base: #bbd33e,
-    light: #eaf0c6,
-  ),
+    light: #eaf0c6
+  )
 );
 
 @function color($color, $tone: "base") {
@@ -4503,12 +4510,12 @@ $empty-map: ();
 $empty-nested-map: (
   nested-key: (
     empty-key: (
-      color: red,
-    ),
+      color: red
+    )
   ),
   empty-key: (),
   empty-key: (),
-  empty-key: (),
+  empty-key: ()
 );
 
 $o-grid-default-config: (
@@ -4520,12 +4527,12 @@ $o-grid-default-config: (
     S: 370px,
     M: 610px,
     L: 850px,
-    XL: 1090px,
+    XL: 1090px
   ),
   fluid: true,
   debug: false,
   fixed-layout: M,
-  enhanced-experience: true,
+  enhanced-experience: true
 );
 
 $a: ();
@@ -4536,22 +4543,22 @@ $d: (null);
 $threads-properties: map-merge(
   $threads-properties,
   (
-    $border-label: (),
+    $border-label: ()
   )
 );
 $o-grid-default-config: (
   layouts: (
-    S: 370px,
-  ),
+    S: 370px
+  )
 );
 
 $map: (
   key: (
-    value,
+    value
   ),
   other-key: (
-    key: other-other-value,
-  ),
+    key: other-other-value
+  )
 );
 
 a {
@@ -4735,11 +4742,11 @@ label {
 ================================================================================
 `;
 
-exports[`string-concatanation.scss - {"trailingComma":"none"} format 1`] = `
+exports[`string-concatanation.scss - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["scss"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 a {
@@ -4762,10 +4769,11 @@ a {
 ================================================================================
 `;
 
-exports[`string-concatanation.scss format 1`] = `
+exports[`string-concatanation.scss - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["scss"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 a {
diff --git a/tests/format/scss/scss/jsfmt.spec.js b/tests/format/scss/scss/jsfmt.spec.js
index f5e1ca39e285..e7bbbdd312bb 100644
--- a/tests/format/scss/scss/jsfmt.spec.js
+++ b/tests/format/scss/scss/jsfmt.spec.js
@@ -1,2 +1,2 @@
 run_spec(import.meta, ["scss"], { trailingComma: "none" });
-run_spec(import.meta, ["scss"]);
+run_spec(import.meta, ["scss"], { trailingComma: "es5" });
diff --git a/tests/format/scss/trailing-comma/__snapshots__/jsfmt.spec.js.snap b/tests/format/scss/trailing-comma/__snapshots__/jsfmt.spec.js.snap
index d18d42780ce3..2b039dad637f 100644
--- a/tests/format/scss/trailing-comma/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/scss/trailing-comma/__snapshots__/jsfmt.spec.js.snap
@@ -1,10 +1,10 @@
 // Jest Snapshot v1, https://goo.gl/fbAQLP
 
-exports[`at-rules.scss - {"trailingComma":"none"} format 1`] = `
+exports[`at-rules.scss - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["scss"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 a {
@@ -46,20 +46,20 @@ a {
   @include section-type-1(
     $header: (
       margin: 0 0 $margin-base,
-      text-align: left
+      text-align: left,
     ),
     $decoration: (
       type: base,
       margin: 0 auto -1px 0,
       primary-color: $brand-primary,
-      secondary-color: $gray-light
+      secondary-color: $gray-light,
     ),
     $title: (
       margin: 0 0 $margin-small,
       color: false,
       font-size: $font-size-h3,
       font-weight: false,
-      line-height: $line-height-h3
+      line-height: $line-height-h3,
     )
   );
 }
@@ -68,7 +68,7 @@ a {
   @include item-spotlight-properties-transition(
     "-title",
     (
-      box-shadow: 0 3px 10px rgba(0, 0, 0, 0.15)
+      box-shadow: 0 3px 10px rgba(0, 0, 0, 0.15),
     )
   );
 }
@@ -76,10 +76,11 @@ a {
 ================================================================================
 `;
 
-exports[`at-rules.scss format 1`] = `
+exports[`at-rules.scss - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["scss"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 a {
@@ -121,20 +122,20 @@ a {
   @include section-type-1(
     $header: (
       margin: 0 0 $margin-base,
-      text-align: left,
+      text-align: left
     ),
     $decoration: (
       type: base,
       margin: 0 auto -1px 0,
       primary-color: $brand-primary,
-      secondary-color: $gray-light,
+      secondary-color: $gray-light
     ),
     $title: (
       margin: 0 0 $margin-small,
       color: false,
       font-size: $font-size-h3,
       font-weight: false,
-      line-height: $line-height-h3,
+      line-height: $line-height-h3
     )
   );
 }
@@ -143,7 +144,7 @@ a {
   @include item-spotlight-properties-transition(
     "-title",
     (
-      box-shadow: 0 3px 10px rgba(0, 0, 0, 0.15),
+      box-shadow: 0 3px 10px rgba(0, 0, 0, 0.15)
     )
   );
 }
@@ -151,11 +152,11 @@ a {
 ================================================================================
 `;
 
-exports[`declaration.scss - {"trailingComma":"none"} format 1`] = `
+exports[`declaration.scss - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["scss"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 a {
@@ -170,10 +171,11 @@ a {
 ================================================================================
 `;
 
-exports[`declaration.scss format 1`] = `
+exports[`declaration.scss - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["scss"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 a {
@@ -188,11 +190,11 @@ a {
 ================================================================================
 `;
 
-exports[`list.scss - {"trailingComma":"none"} format 1`] = `
+exports[`list.scss - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["scss"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 $colors: hotpink deepskyblue firebrick,;
@@ -254,14 +256,14 @@ $config: (
     mist: (
       header: #dcfac0,
       content: #00968b,
-      footer: #85c79c
+      footer: #85c79c,
     ),
     $spring: (
       header: #f4fac7,
       content: #c2454e,
-      footer: #ffb158
-    )
-  )
+      footer: #ffb158,
+    ),
+  ),
 );
 
 $breakpoint-map: (
@@ -269,35 +271,36 @@ $breakpoint-map: (
     min-width: null,
     max-width: 479px,
     base-font: 16px,
-    vertical-rhythm: 1.3
+    vertical-rhythm: 1.3,
   ),
   medium: (
     min-width: 480px,
     max-width: 959px,
     base-font: 18px,
-    vertical-rhythm: 1.414
+    vertical-rhythm: 1.414,
   ),
   large: (
     min-width: 960px,
     max-width: 1099px,
     base-font: 18px,
-    vertical-rhythm: 1.5
+    vertical-rhythm: 1.5,
   ),
   xlarge: (
     min-width: 1100px,
     max-width: null,
     base-font: 21px,
-    vertical-rhythm: 1.618
-  )
+    vertical-rhythm: 1.618,
+  ),
 );
 
 ================================================================================
 `;
 
-exports[`list.scss format 1`] = `
+exports[`list.scss - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["scss"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 $colors: hotpink deepskyblue firebrick,;
@@ -359,14 +362,14 @@ $config: (
     mist: (
       header: #dcfac0,
       content: #00968b,
-      footer: #85c79c,
+      footer: #85c79c
     ),
     $spring: (
       header: #f4fac7,
       content: #c2454e,
-      footer: #ffb158,
-    ),
-  ),
+      footer: #ffb158
+    )
+  )
 );
 
 $breakpoint-map: (
@@ -374,36 +377,36 @@ $breakpoint-map: (
     min-width: null,
     max-width: 479px,
     base-font: 16px,
-    vertical-rhythm: 1.3,
+    vertical-rhythm: 1.3
   ),
   medium: (
     min-width: 480px,
     max-width: 959px,
     base-font: 18px,
-    vertical-rhythm: 1.414,
+    vertical-rhythm: 1.414
   ),
   large: (
     min-width: 960px,
     max-width: 1099px,
     base-font: 18px,
-    vertical-rhythm: 1.5,
+    vertical-rhythm: 1.5
   ),
   xlarge: (
     min-width: 1100px,
     max-width: null,
     base-font: 21px,
-    vertical-rhythm: 1.618,
-  ),
+    vertical-rhythm: 1.618
+  )
 );
 
 ================================================================================
 `;
 
-exports[`map.scss - {"trailingComma":"none"} format 1`] = `
+exports[`map.scss - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["scss"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 $map: (
@@ -422,32 +425,33 @@ $map: ( small: 767px, medium: 992px, large: 1200px );
 $map: (
   small: 767px,
   medium: 992px,
-  large: 1200px
+  large: 1200px,
 );
 $map: (
   "medium": (
-    min-width: 800px
+    min-width: 800px,
   ),
   "large": (
-    min-width: 1000px
+    min-width: 1000px,
   ),
   "huge": (
-    min-width: 1200px
-  )
+    min-width: 1200px,
+  ),
 );
 $map: (
   small: 767px,
   medium: 992px,
-  large: 1200px
+  large: 1200px,
 );
 
 ================================================================================
 `;
 
-exports[`map.scss format 1`] = `
+exports[`map.scss - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["scss"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 $map: (
@@ -466,33 +470,33 @@ $map: ( small: 767px, medium: 992px, large: 1200px );
 $map: (
   small: 767px,
   medium: 992px,
-  large: 1200px,
+  large: 1200px
 );
 $map: (
   "medium": (
-    min-width: 800px,
+    min-width: 800px
   ),
   "large": (
-    min-width: 1000px,
+    min-width: 1000px
   ),
   "huge": (
-    min-width: 1200px,
-  ),
+    min-width: 1200px
+  )
 );
 $map: (
   small: 767px,
   medium: 992px,
-  large: 1200px,
+  large: 1200px
 );
 
 ================================================================================
 `;
 
-exports[`selector_list.scss - {"trailingComma":"none"} format 1`] = `
+exports[`selector_list.scss - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["scss"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 asdasldaskdhjkashdahsdkjahskdjhakjsdkjahsdhkasdhkajsdhakjsdhkajsdhjkahskjdkjahsjkdjkakjsdm,
@@ -520,10 +524,11 @@ asdasldaskdhjkashdahsdkjahskdjhakjsdkjahsdhkasdhkajsdhakjsdhkajsdhjkahskjdkjahsj
 ================================================================================
 `;
 
-exports[`selector_list.scss format 1`] = `
+exports[`selector_list.scss - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["scss"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 asdasldaskdhjkashdahsdkjahskdjhakjsdkjahsdhkasdhkajsdhakjsdhkajsdhjkahskjdkjahsjkdjkakjsdm,
@@ -551,11 +556,11 @@ asdasldaskdhjkashdahsdkjahskdjhakjsdkjahsdhkasdhkajsdhakjsdhkajsdhjkahskjdkjahsj
 ================================================================================
 `;
 
-exports[`variable.scss - {"trailingComma":"none"} format 1`] = `
+exports[`variable.scss - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["scss"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 $test: 1,;
@@ -569,10 +574,11 @@ $margin: 0, 2em, 0, 1.5em;
 ================================================================================
 `;
 
-exports[`variable.scss format 1`] = `
+exports[`variable.scss - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["scss"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 $test: 1,;
diff --git a/tests/format/scss/trailing-comma/jsfmt.spec.js b/tests/format/scss/trailing-comma/jsfmt.spec.js
index f5e1ca39e285..e7bbbdd312bb 100644
--- a/tests/format/scss/trailing-comma/jsfmt.spec.js
+++ b/tests/format/scss/trailing-comma/jsfmt.spec.js
@@ -1,2 +1,2 @@
 run_spec(import.meta, ["scss"], { trailingComma: "none" });
-run_spec(import.meta, ["scss"]);
+run_spec(import.meta, ["scss"], { trailingComma: "es5" });
diff --git a/tests/format/typescript/angular-component-examples/__snapshots__/jsfmt.spec.js.snap b/tests/format/typescript/angular-component-examples/__snapshots__/jsfmt.spec.js.snap
index f30ff2d70869..21e4afe34ccb 100644
--- a/tests/format/typescript/angular-component-examples/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/typescript/angular-component-examples/__snapshots__/jsfmt.spec.js.snap
@@ -1,10 +1,10 @@
 // Jest Snapshot v1, https://goo.gl/fbAQLP
 
-exports[`test.component.ts - {"trailingComma":"none"} format 1`] = `
+exports[`test.component.ts - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["typescript"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 @Component({
@@ -39,18 +39,19 @@ class     TestComponent {}
       div {
         background: blue;
       }
-    \`
-  ]
+    \`,
+  ],
 })
 class TestComponent {}
 
 ================================================================================
 `;
 
-exports[`test.component.ts format 1`] = `
+exports[`test.component.ts - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["typescript"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 @Component({
@@ -85,8 +86,8 @@ class     TestComponent {}
       div {
         background: blue;
       }
-    \`,
-  ],
+    \`
+  ]
 })
 class TestComponent {}
 
diff --git a/tests/format/typescript/angular-component-examples/jsfmt.spec.js b/tests/format/typescript/angular-component-examples/jsfmt.spec.js
index f5a8963a9d97..cfbbe041ad8f 100644
--- a/tests/format/typescript/angular-component-examples/jsfmt.spec.js
+++ b/tests/format/typescript/angular-component-examples/jsfmt.spec.js
@@ -1,2 +1,2 @@
 run_spec(import.meta, ["typescript"], { trailingComma: "none" });
-run_spec(import.meta, ["typescript"]);
+run_spec(import.meta, ["typescript"], { trailingComma: "es5" });
diff --git a/tests/format/typescript/argument-expansion/__snapshots__/jsfmt.spec.js.snap b/tests/format/typescript/argument-expansion/__snapshots__/jsfmt.spec.js.snap
index d916b2e86503..3db21ee81cd6 100644
--- a/tests/format/typescript/argument-expansion/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/typescript/argument-expansion/__snapshots__/jsfmt.spec.js.snap
@@ -51,14 +51,14 @@ const bar3 = [1, 2, 3].reduce(
   (carry, value) => {
     return [...carry, value];
   },
-  [1, 2, 3] as unknown as number[]
+  [1, 2, 3] as unknown as number[],
 );
 
 const bar4 = [1, 2, 3].reduce(
   (carry, value) => {
     return [...carry, value];
   },
-  <Array<number>>[1, 2, 3]
+  <Array<number>>[1, 2, 3],
 );
 
 const bar5 = [1, 2, 3].reduce((carry, value) => {
@@ -73,14 +73,14 @@ const bar7 = [1, 2, 3].reduce(
   (carry, value) => {
     return { ...carry, [value]: true };
   },
-  { 1: true } as unknown as { [key: number]: boolean }
+  { 1: true } as unknown as { [key: number]: boolean },
 );
 
 const bar8 = [1, 2, 3].reduce(
   (carry, value) => {
     return { ...carry, [value]: true };
   },
-  <{ [key: number]: boolean }>{ 1: true }
+  <{ [key: number]: boolean }>{ 1: true },
 );
 
 ================================================================================
@@ -123,7 +123,7 @@ longfunctionWithCall12(
   foo,
   (thing: string): complex<type<something>> => {
     code();
-  }
+  },
 );
 
 longfunctionWithCallBack(
@@ -131,7 +131,7 @@ longfunctionWithCallBack(
   foobarbazblablablablabla,
   (thing: string): complex<type<something>> => {
     code();
-  }
+  },
 );
 
 longfunctionWithCallBack(
@@ -139,20 +139,20 @@ longfunctionWithCallBack(
   foobarbazblablabla,
   (thing: string): complex<type<something>> => {
     code();
-  }
+  },
 );
 
 longfunctionWithCall1(
   "bla",
   foo,
   (
-    thing: string
+    thing: string,
   ): complex<
     type<\`
 \`>
   > => {
     code();
-  }
+  },
 );
 
 ================================================================================
diff --git a/tests/format/typescript/array/__snapshots__/jsfmt.spec.js.snap b/tests/format/typescript/array/__snapshots__/jsfmt.spec.js.snap
index 1e70f55d1e67..703a9ec4b612 100644
--- a/tests/format/typescript/array/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/typescript/array/__snapshots__/jsfmt.spec.js.snap
@@ -42,7 +42,7 @@ const subtractDuration = moment.duration(
 =====================================output=====================================
 const subtractDuration = moment.duration(
   subtractMap[interval][0],
-  subtractMap[interval][1] as unitOfTime.DurationConstructor
+  subtractMap[interval][1] as unitOfTime.DurationConstructor,
 );
 
 ================================================================================
diff --git a/tests/format/typescript/arrow/__snapshots__/jsfmt.spec.js.snap b/tests/format/typescript/arrow/__snapshots__/jsfmt.spec.js.snap
index 38e5dfce10ef..7ec8edf51cbf 100644
--- a/tests/format/typescript/arrow/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/typescript/arrow/__snapshots__/jsfmt.spec.js.snap
@@ -32,7 +32,7 @@ const foo = (x: string): void =>
   bar(
     x,
     () => {},
-    () => {}
+    () => {},
   )
 
 app.get("/", (req, res): void => {
@@ -73,7 +73,7 @@ const foo = (x: string): void =>
   bar(
     x,
     () => {},
-    () => {}
+    () => {},
   );
 
 app.get("/", (req, res): void => {
@@ -187,7 +187,7 @@ const getIconEngagementTypeFrom2 =
   (
     engagementTypes: Array<EngagementType>,
     secondArg: Something,
-    thirArg: SomethingElse
+    thirArg: SomethingElse,
   ) =>
   (iconEngagementType) =>
     engagementTypes.includes(iconEngagementType)
@@ -235,7 +235,7 @@ const getIconEngagementTypeFrom2 =
   (
     engagementTypes: Array<EngagementType>,
     secondArg: Something,
-    thirArg: SomethingElse
+    thirArg: SomethingElse,
   ) =>
   (iconEngagementType) =>
     engagementTypes.includes(iconEngagementType);
diff --git a/tests/format/typescript/arrows/__snapshots__/jsfmt.spec.js.snap b/tests/format/typescript/arrows/__snapshots__/jsfmt.spec.js.snap
index 3731dea63a8a..73e3bcce6351 100644
--- a/tests/format/typescript/arrows/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/typescript/arrows/__snapshots__/jsfmt.spec.js.snap
@@ -49,7 +49,7 @@ const initializeSnapshotState = (
   testFile: Path,
   update: boolean,
   testPath: string,
-  expand: boolean
+  expand: boolean,
 ) => new SnapshotState(testFile, update, testPath, expand);
 
 ================================================================================
@@ -74,7 +74,7 @@ const initializeSnapshotState = (
   testFile: Path,
   update: boolean,
   testPath: string,
-  expand: boolean
+  expand: boolean,
 ) => new SnapshotState(testFile, update, testPath, expand);
 
 ================================================================================
diff --git a/tests/format/typescript/as/__snapshots__/jsfmt.spec.js.snap b/tests/format/typescript/as/__snapshots__/jsfmt.spec.js.snap
index 27a91f18a2e4..62dcf6465eed 100644
--- a/tests/format/typescript/as/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/typescript/as/__snapshots__/jsfmt.spec.js.snap
@@ -116,18 +116,18 @@ const value4 = thisIsAReallyLongIdentifier as {
 const value5 =
   thisIsAReallyReallyReallyReallyReallyReallyReallyReallyReallyLongIdentifier as [
     string,
-    number
+    number,
   ];
 
 const iter1 = createIterator(
   this.controller,
   child,
-  this.tag as SyncFunctionComponent
+  this.tag as SyncFunctionComponent,
 );
 const iter2 = createIterator(
   self.controller,
   child,
-  self.tag as SyncFunctionComponent
+  self.tag as SyncFunctionComponent,
 );
 
 ================================================================================
@@ -242,7 +242,7 @@ const originalPrototype = originalConstructor.prototype as TComponent & Injectio
 
 =====================================output=====================================
 const defaultMaskGetter = $parse(attrs[directiveName]) as (
-  scope: ng.IScope
+  scope: ng.IScope,
 ) => Mask;
 
 (this.configuration as any) =
@@ -269,7 +269,7 @@ const extraRendererAttrs = ((attrs.rendererAttrs &&
   Object.create(null)) as FieldService.RendererAttributes;
 
 const annotate = (angular.injector as any).$$annotate as (
-  fn: Function
+  fn: Function,
 ) => string[];
 
 const originalPrototype = originalConstructor.prototype as TComponent &
@@ -328,7 +328,7 @@ averredBathersBoxroomBuggyNurl = {
 };
 
 averredBathersBoxroomBuggyNurl(
-  anodyneCondosMalateOverateRetinol.annularCooeedSplicesWalksWayWay as kochabCooieGameOnOboleUnweave
+  anodyneCondosMalateOverateRetinol.annularCooeedSplicesWalksWayWay as kochabCooieGameOnOboleUnweave,
 );
 
 ================================================================================
diff --git a/tests/format/typescript/assignment/__snapshots__/jsfmt.spec.js.snap b/tests/format/typescript/assignment/__snapshots__/jsfmt.spec.js.snap
index be749c189365..d58801bc858b 100644
--- a/tests/format/typescript/assignment/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/typescript/assignment/__snapshots__/jsfmt.spec.js.snap
@@ -30,7 +30,7 @@ export function countriesReceived(countries: Array<Country>): CountryActionType
 
 =====================================output=====================================
 export function countriesReceived(
-  countries: Array<Country>
+  countries: Array<Country>,
 ): CountryActionType {
   return {
     type: ActionTypes.COUNTRIES_RECEIVED,
@@ -81,7 +81,7 @@ export const findByDate: Resolver<void, Recipe[], { date: Date }> =
 export const findByDate: Resolver<void, Recipe[], { date: Date }> = (
   _,
   { date },
-  { req }
+  { req },
 ) => {
   const repo = req.getRepository(Recipe);
   return repo.find({ createDate: date });
@@ -90,7 +90,7 @@ export const findByDate: Resolver<void, Recipe[], { date: Date }> = (
 export const findByDate: Resolver<void, Recipe[], { date: Date }> = (
   _,
   { date },
-  { req }
+  { req },
 ) => Recipe.find({ createDate: date });
 
 ================================================================================
@@ -132,7 +132,7 @@ export const enviromentProdValues: EnvironmentValues =
     {
       apiURL: "/api",
     },
-    enviromentBaseValues
+    enviromentBaseValues,
   );
 
 ================================================================================
@@ -400,8 +400,8 @@ const Query: FunctionComponent<QueryProps> = ({
   children(
     useQuery(
       { type, resource, payload },
-      { ...options, withDeclarativeSideEffectsSupport: true }
-    )
+      { ...options, withDeclarativeSideEffectsSupport: true },
+    ),
   );
 
 ================================================================================
@@ -509,7 +509,7 @@ if (true) {
 if (true) {
   if (condition) {
     const secondType = sourceCode.getNodeByRangeIndex1234(
-      second.range[0]
+      second.range[0],
     )!.type;
   }
 }
diff --git a/tests/format/typescript/break-calls/__snapshots__/jsfmt.spec.js.snap b/tests/format/typescript/break-calls/__snapshots__/jsfmt.spec.js.snap
index 7be5cc496181..3a6ffefa86e2 100644
--- a/tests/format/typescript/break-calls/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/typescript/break-calls/__snapshots__/jsfmt.spec.js.snap
@@ -14,7 +14,7 @@ const response = something.$http.get<ThingamabobService.DetailsData>(
 =====================================output=====================================
 const response = something.$http.get<ThingamabobService.DetailsData>(
   \`api/foo.ashx/foo-details/\${myId}\`,
-  { cache: quux.httpCache, timeout }
+  { cache: quux.httpCache, timeout },
 );
 
 ================================================================================
diff --git a/tests/format/typescript/cast/__snapshots__/jsfmt.spec.js.snap b/tests/format/typescript/cast/__snapshots__/jsfmt.spec.js.snap
index 3f07ba993054..3de4f3425b09 100644
--- a/tests/format/typescript/cast/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/typescript/cast/__snapshots__/jsfmt.spec.js.snap
@@ -140,7 +140,7 @@ function y() {
 
   const stillTooLong3 = <Immutable.Map<string>>(
     someExistingConfigMap.mergeDeep(
-      fallbackOptions.someMethodWithLongName(param1, param2)
+      fallbackOptions.someMethodWithLongName(param1, param2),
     )
   );
 
@@ -158,7 +158,7 @@ function y() {
       >
     | undefined
   >someExistingConfigMap.mergeDeep(
-    fallbackOptions.someMethodWithLongName(param1, param2)
+    fallbackOptions.someMethodWithLongName(param1, param2),
   );
 
   const testObjLiteral = <Immutable.Map<string, any>>{
@@ -202,7 +202,7 @@ function y() {
   const insideFuncCall = myFunc(
     param1,
     <Immutable.Map<string, any>>param2,
-    param3
+    param3,
   );
 }
 
@@ -283,7 +283,7 @@ function x() {
   const insideFuncCall = myFunc(
     param1,
     <PermissionsChecker<any> | undefined>param2,
-    param3
+    param3,
   );
 }
 
diff --git a/tests/format/typescript/class-comment/__snapshots__/jsfmt.spec.js.snap b/tests/format/typescript/class-comment/__snapshots__/jsfmt.spec.js.snap
index b235d98a5dfb..1cceef067e2f 100644
--- a/tests/format/typescript/class-comment/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/typescript/class-comment/__snapshots__/jsfmt.spec.js.snap
@@ -255,7 +255,7 @@ class G3<T> // g3
 }
 
 class G4<
-    T // g4
+    T, // g4
   >
   extends U
   implements IPoly<T>
@@ -284,7 +284,7 @@ export class SnapshotLogger {
 export class SnapshotLogger {
   constructor(
     retentionPeriod: number = 5 * 60 * 1000, // retain past five minutes
-    snapshotInterval: number = 30 * 1000 // snapshot no more than every 30s
+    snapshotInterval: number = 30 * 1000, // snapshot no more than every 30s
   ) {}
 }
 
diff --git a/tests/format/typescript/class/__snapshots__/jsfmt.spec.js.snap b/tests/format/typescript/class/__snapshots__/jsfmt.spec.js.snap
index 1c468fe7f163..4d5bd6e26ede 100644
--- a/tests/format/typescript/class/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/typescript/class/__snapshots__/jsfmt.spec.js.snap
@@ -298,7 +298,7 @@ class Foo<FOOOOOOOOOOOOOOOOOOOOOOOOOOO, FOOOOOOOOOOOOOOOOOOOOOOOOOOO>
 class ImplementsInterfaceAndExtendsAbstractClass2<
     TypeArgumentNumberOne,
     TypeArgumentNumberTwo,
-    TypeArgumentNumberThree
+    TypeArgumentNumberThree,
   >
   extends FOOOOOOOOOOOOOOOOOO
   implements BaseInterface {}
@@ -306,13 +306,13 @@ class ImplementsInterfaceAndExtendsAbstractClass2<
 class ImplementsInterfaceClass1<
   TypeArgumentNumberOne,
   TypeArgumentNumberTwo,
-  TypeArgumentNumberThree
+  TypeArgumentNumberThree,
 > implements BaseInterface {}
 
 class ImplementsInterfaceClassWithComments1<
     TypeArgumentNumberOne,
     TypeArgumentNumberTwo,
-    TypeArgumentNumberThree
+    TypeArgumentNumberThree,
   > // comments
   implements BaseInterface {}
 
diff --git a/tests/format/typescript/comments-2/__snapshots__/jsfmt.spec.js.snap b/tests/format/typescript/comments-2/__snapshots__/jsfmt.spec.js.snap
index 6a966bbc7f64..20c3285ad611 100644
--- a/tests/format/typescript/comments-2/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/typescript/comments-2/__snapshots__/jsfmt.spec.js.snap
@@ -56,7 +56,7 @@ function f(
 =====================================output=====================================
 function f(
   someReallyLongArgument: WithSomeLongType,
-  someReallyLongArgument2: WithSomeLongType
+  someReallyLongArgument2: WithSomeLongType,
   // Trailing comment should stay after
 ) {}
 
@@ -79,7 +79,7 @@ function f(
 =====================================output=====================================
 function f(
   someReallyLongArgument: WithSomeLongType,
-  someReallyLongArgument2: WithSomeLongType
+  someReallyLongArgument2: WithSomeLongType,
   // Trailing comment should stay after
 ) {}
 
@@ -149,34 +149,34 @@ class X2 {
 
 =====================================output=====================================
 type f1 = (
-  currentRequest: { a: number }
+  currentRequest: { a: number },
   // TODO this is a very very very very long comment that makes it go > 80 columns
 ) => number
 
 f2 = (
-  currentRequest: { a: number }
+  currentRequest: { a: number },
   // TODO this is a very very very very long comment that makes it go > 80 columns
 ): number => {}
 
 f3 = (
-  currentRequest: { a: number }
+  currentRequest: { a: number },
   // TODO this is a very very very very long comment that makes it go > 80 columns
 ) => {}
 
 f4 = function (
-  currentRequest: { a: number }
+  currentRequest: { a: number },
   // TODO this is a very very very very long comment that makes it go > 80 columns
 ) {}
 
 class X {
   f(
-    currentRequest: { a: number }
+    currentRequest: { a: number },
     // TODO this is a very very very very long comment that makes it go > 80 columns
   ) {}
 }
 
 function f5(
-  a: number
+  a: number,
   // some comment here
 ): number {
   return a + 1
@@ -185,7 +185,7 @@ function f5(
 var x = {
   getSectionMode(
     pageMetaData: PageMetaData,
-    sectionMetaData: SectionMetaData
+    sectionMetaData: SectionMetaData,
     /* $FlowFixMe This error was exposed while converting keyMirror
      * to keyMirrorRecursive */
   ): $Enum<SectionMode> {},
@@ -194,7 +194,7 @@ var x = {
 class X2 {
   getSectionMode(
     pageMetaData: PageMetaData,
-    sectionMetaData: SectionMetaData = ["unknown"]
+    sectionMetaData: SectionMetaData = ["unknown"],
     /* $FlowFixMe This error was exposed while converting keyMirror
      * to keyMirrorRecursive */
   ): $Enum<SectionMode> {}
@@ -265,34 +265,34 @@ class X2 {
 
 =====================================output=====================================
 type f1 = (
-  currentRequest: { a: number }
+  currentRequest: { a: number },
   // TODO this is a very very very very long comment that makes it go > 80 columns
 ) => number;
 
 f2 = (
-  currentRequest: { a: number }
+  currentRequest: { a: number },
   // TODO this is a very very very very long comment that makes it go > 80 columns
 ): number => {};
 
 f3 = (
-  currentRequest: { a: number }
+  currentRequest: { a: number },
   // TODO this is a very very very very long comment that makes it go > 80 columns
 ) => {};
 
 f4 = function (
-  currentRequest: { a: number }
+  currentRequest: { a: number },
   // TODO this is a very very very very long comment that makes it go > 80 columns
 ) {};
 
 class X {
   f(
-    currentRequest: { a: number }
+    currentRequest: { a: number },
     // TODO this is a very very very very long comment that makes it go > 80 columns
   ) {}
 }
 
 function f5(
-  a: number
+  a: number,
   // some comment here
 ): number {
   return a + 1;
@@ -301,7 +301,7 @@ function f5(
 var x = {
   getSectionMode(
     pageMetaData: PageMetaData,
-    sectionMetaData: SectionMetaData
+    sectionMetaData: SectionMetaData,
     /* $FlowFixMe This error was exposed while converting keyMirror
      * to keyMirrorRecursive */
   ): $Enum<SectionMode> {},
@@ -310,7 +310,7 @@ var x = {
 class X2 {
   getSectionMode(
     pageMetaData: PageMetaData,
-    sectionMetaData: SectionMetaData = ["unknown"]
+    sectionMetaData: SectionMetaData = ["unknown"],
     /* $FlowFixMe This error was exposed while converting keyMirror
      * to keyMirrorRecursive */
   ): $Enum<SectionMode> {}
diff --git a/tests/format/typescript/comments/__snapshots__/jsfmt.spec.js.snap b/tests/format/typescript/comments/__snapshots__/jsfmt.spec.js.snap
index c253fd68732b..9478e541e9e3 100644
--- a/tests/format/typescript/comments/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/typescript/comments/__snapshots__/jsfmt.spec.js.snap
@@ -51,11 +51,11 @@ abstract class AbstractFoo {
   abstract method1(/* comment */ arg: string);
   abstract method2(
     /* comment */
-    arg: string
+    arg: string,
   );
   abstract method3(
     // comment
-    arg: string
+    arg: string,
   );
 }
 
@@ -138,7 +138,7 @@ declare function fn(
 declare function /* foo */ f( /* baz */ a /* taz */) /* bar */;
 =====================================output=====================================
 declare function fn(
-  currentRequest: { a: number }
+  currentRequest: { a: number },
   // TODO this is a very very very very long comment that makes it go > 80 columns
 ): number;
 
@@ -185,28 +185,28 @@ interface Foo {
 =====================================output=====================================
 interface Foo {
   bar(
-    currentRequest: { a: number }
+    currentRequest: { a: number },
     // TODO this is a very very very very long comment that makes it go > 80 columns
   ): number;
 
   (
-    currentRequest: { a: number }
+    currentRequest: { a: number },
     // TODO this is a very very very very long comment that makes it go > 80 columns
   ): number;
 
   new (
-    currentRequest: { a: number }
+    currentRequest: { a: number },
     // TODO this is a very very very very long comment that makes it go > 80 columns
   ): number;
 
   foo: {
     x(
-      currentRequest: { a: number }
+      currentRequest: { a: number },
       // TODO this is a very very very very long comment that makes it go > 80 columns
     ): number;
 
     y: (
-      currentRequest: { a: number }
+      currentRequest: { a: number },
       // TODO this is a very very very very long comment that makes it go > 80 columns
     ) => number;
   };
@@ -372,8 +372,8 @@ export interface ApplicationEventData {
   registerBroadcastReceiver(
     onReceiveCallback: (
       context: any /* android.content.Context */,
-      intent: any /* android.content.Intent */
-    ) => void
+      intent: any /* android.content.Intent */,
+    ) => void,
   ): void;
 }
 
@@ -395,7 +395,7 @@ export type WrappedFormUtils = {
       rules?: ValidationRule[];
       /** 是否和其他控件互斥，特别用于 Radio 单选控件 */
       exclusive?: boolean;
-    }
+    },
   ): (node: React.ReactNode) => React.ReactNode;
 };
 
@@ -792,15 +792,15 @@ function foo<
 >() {}
 interface Foo {
   <
-    A // comment
+    A, // comment
   >(
-    arg
+    arg,
   ): any;
 }
 type T = <
   // comment
 >(
-  arg
+  arg,
 ) => any;
 
 ================================================================================
diff --git a/tests/format/typescript/conformance/classes/__snapshots__/jsfmt.spec.js.snap b/tests/format/typescript/conformance/classes/__snapshots__/jsfmt.spec.js.snap
index a492500f1c6b..87892754d355 100644
--- a/tests/format/typescript/conformance/classes/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/typescript/conformance/classes/__snapshots__/jsfmt.spec.js.snap
@@ -358,7 +358,7 @@ class Derived extends Base {
 }
 
 const Printable = <T extends Constructor<Base>>(
-  superClass: T
+  superClass: T,
 ): Constructor<Printable> & { message: string } & T =>
   class extends superClass {
     static message = "hello";
@@ -368,7 +368,7 @@ const Printable = <T extends Constructor<Base>>(
   };
 
 function Tagged<T extends Constructor<{}>>(
-  superClass: T
+  superClass: T,
 ): Constructor<Tagged> & T {
   class C extends superClass {
     _tag: string;
diff --git a/tests/format/typescript/conformance/types/firstTypeNode/__snapshots__/jsfmt.spec.js.snap b/tests/format/typescript/conformance/types/firstTypeNode/__snapshots__/jsfmt.spec.js.snap
index 13b9950bec00..12b989d03251 100644
--- a/tests/format/typescript/conformance/types/firstTypeNode/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/typescript/conformance/types/firstTypeNode/__snapshots__/jsfmt.spec.js.snap
@@ -26,7 +26,7 @@ export function fooWithTypePredicate(a: any): a is number {
 export function fooWithTypePredicateAndMulitpleParams(
   a: any,
   b: any,
-  c: any
+  c: any,
 ): a is number {
   return true;
 }
diff --git a/tests/format/typescript/conformance/types/functions/__snapshots__/jsfmt.spec.js.snap b/tests/format/typescript/conformance/types/functions/__snapshots__/jsfmt.spec.js.snap
index 800c00537545..f1b5baee67f7 100644
--- a/tests/format/typescript/conformance/types/functions/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/typescript/conformance/types/functions/__snapshots__/jsfmt.spec.js.snap
@@ -729,7 +729,7 @@ function defaultArgFunction(
   a = function () {
     return b;
   },
-  b = 1
+  b = 1,
 ) {}
 function defaultArgArrow(a = () => () => b, b = 3) {}
 
@@ -749,7 +749,7 @@ function f(
   b = function () {
     return c;
   },
-  c = b()
+  c = b(),
 ) {}
 
 ================================================================================
diff --git a/tests/format/typescript/custom/typeParameters/__snapshots__/jsfmt.spec.js.snap b/tests/format/typescript/custom/typeParameters/__snapshots__/jsfmt.spec.js.snap
index 17cbc76b9a0c..b681375615de 100644
--- a/tests/format/typescript/custom/typeParameters/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/typescript/custom/typeParameters/__snapshots__/jsfmt.spec.js.snap
@@ -25,13 +25,13 @@ interface Interface {
   <
     Voila,
     InViewHumbleVaudevillianVeteran,
-    CastVicariouslyAsBothVictimAndVillainByTheVicissitudesOfFate
+    CastVicariouslyAsBothVictimAndVillainByTheVicissitudesOfFate,
   >(): V;
   new <
     ThisVisage,
     NoMereVeneerOfVanity,
     IsAVestigeOfTheVoxPopuliNowVacant,
-    Vanished
+    Vanished,
   >(): V;
 }
 
@@ -58,11 +58,11 @@ type AwkwardlyLongFunctionTypeDefinition = <
 type AwkwardlyLongFunctionTypeDefinition = <
   GenericTypeNumberOne,
   GenericTypeNumberTwo,
-  GenericTypeNumberThree
+  GenericTypeNumberThree,
 >(
   arg1: GenericTypeNumberOne,
   arg2: GenericTypeNumberTwo,
-  arg3: GenericTypeNumberThree
+  arg3: GenericTypeNumberThree,
 ) => GenericTypeNumberOne | GenericTypeNumberTwo | GenericTypeNumberThree;
 
 ================================================================================
@@ -84,7 +84,7 @@ interface ReallyReallyLongName<
 interface ReallyReallyLongName<
   TypeArgumentNumberOne,
   TypeArgumentNumberTwo,
-  TypeArgumentNumberThree
+  TypeArgumentNumberThree,
 > {}
 
 ================================================================================
@@ -103,7 +103,7 @@ type ReallyReallyReallyLongName<
 =====================================output=====================================
 type ReallyReallyReallyLongName<
   ReallyReallyReallyLongName1,
-  ReallyReallyReallyLongName2
+  ReallyReallyReallyLongName2,
 > = any;
 
 ================================================================================
@@ -153,7 +153,7 @@ const isAnySuccessfulAttempt$: Observable<boolean> = this._quizService
   .pipe(
     tap((isAnySuccessfulAttempt: boolean) => {
       this.isAnySuccessfulAttempt = isAnySuccessfulAttempt;
-    })
+    }),
   );
 const isAnySuccessfulAttempt2$: Observable<boolean> =
   this._someMethodWithLongName();
diff --git a/tests/format/typescript/decorators/__snapshots__/jsfmt.spec.js.snap b/tests/format/typescript/decorators/__snapshots__/jsfmt.spec.js.snap
index 691f9352ddcd..787da51ece54 100644
--- a/tests/format/typescript/decorators/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/typescript/decorators/__snapshots__/jsfmt.spec.js.snap
@@ -30,7 +30,7 @@ class Foo {
     private readonly myProcessor: IMyProcessor,
 
     @inject(InjectionTypes.AnotherThing)
-    private readonly anotherThing: IAnotherThing | undefined
+    private readonly anotherThing: IAnotherThing | undefined,
   ) {}
 }
 
@@ -165,7 +165,7 @@ class AngularComponent {
 class Class {
   method(
     @Decorator
-    { prop1, prop2 }: Type
+    { prop1, prop2 }: Type,
   ) {
     doSomething();
   }
@@ -175,7 +175,7 @@ class Class2 {
   method(
     @Decorator1
     @Decorator2
-    { prop1, prop2 }: Type
+    { prop1, prop2 }: Type,
   ) {
     doSomething();
   }
@@ -185,7 +185,7 @@ class Class3 {
   method(
     @Decorator
     { prop1_1, prop1_2 }: Type,
-    { prop2_1, prop2_2 }: Type
+    { prop2_1, prop2_2 }: Type,
   ) {
     doSomething();
   }
@@ -195,7 +195,7 @@ class Class4 {
   method(
     param1,
     @Decorator
-    { prop1, prop2 }: Type
+    { prop1, prop2 }: Type,
   ) {}
 }
 
@@ -401,7 +401,7 @@ class Class3 {
     @d4({
       x: string,
     })
-    private a: string
+    private a: string,
   ) {}
 }
 
diff --git a/tests/format/typescript/end-of-line/__snapshots__/jsfmt.spec.js.snap b/tests/format/typescript/end-of-line/__snapshots__/jsfmt.spec.js.snap
index 1da4dc639d0e..108a9f81f67e 100644
--- a/tests/format/typescript/end-of-line/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/typescript/end-of-line/__snapshots__/jsfmt.spec.js.snap
@@ -45,15 +45,15 @@ export const IAmIncredibleLongFunctionName = IAmAnotherFunctionName(<CR>
       console.log(<CR>
         "Multiline string\\<CR>
          Multiline string\\<CR>
-         Multiline string"<CR>
+         Multiline string",<CR>
       );<CR>
       console.log(<CR>
         \`Multiline \\n string\\<CR>
          Multiline string\\<CR>
-         Multiline string\`<CR>
+         Multiline string\`,<CR>
       );<CR>
     });<CR>
-  }<CR>
+  },<CR>
 );<CR>
 
 ================================================================================
@@ -104,15 +104,15 @@ export const IAmIncredibleLongFunctionName = IAmAnotherFunctionName(<CRLF>
       console.log(<CRLF>
         "Multiline string\\<CRLF>
          Multiline string\\<CRLF>
-         Multiline string"<CRLF>
+         Multiline string",<CRLF>
       );<CRLF>
       console.log(<CRLF>
         \`Multiline \\n string\\<CRLF>
          Multiline string\\<CRLF>
-         Multiline string\`<CRLF>
+         Multiline string\`,<CRLF>
       );<CRLF>
     });<CRLF>
-  }<CRLF>
+  },<CRLF>
 );<CRLF>
 
 ================================================================================
@@ -163,15 +163,15 @@ export const IAmIncredibleLongFunctionName = IAmAnotherFunctionName(<LF>
       console.log(<LF>
         "Multiline string\\<LF>
          Multiline string\\<LF>
-         Multiline string"<LF>
+         Multiline string",<LF>
       );<LF>
       console.log(<LF>
         \`Multiline \\n string\\<LF>
          Multiline string\\<LF>
-         Multiline string\`<LF>
+         Multiline string\`,<LF>
       );<LF>
     });<LF>
-  }<LF>
+  },<LF>
 );<LF>
 
 ================================================================================
diff --git a/tests/format/typescript/functional-composition/__snapshots__/jsfmt.spec.js.snap b/tests/format/typescript/functional-composition/__snapshots__/jsfmt.spec.js.snap
index 744873bf85a8..b3a837e39afe 100644
--- a/tests/format/typescript/functional-composition/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/typescript/functional-composition/__snapshots__/jsfmt.spec.js.snap
@@ -33,12 +33,12 @@ printWidth: 80
 (() => {
   pipe(
     serviceEventFromMessage(msg),
-    TE.chain(flow(publishServiceEvent(analytics), TE.mapLeft(nackFromError)))
+    TE.chain(flow(publishServiceEvent(analytics), TE.mapLeft(nackFromError))),
   )()
     .then(messageResponse(logger, msg))
     .catch((err: Error) => {
       logger.error(
-        pipe(O.fromNullable(err.stack), O.getOrElse(constant(err.message)))
+        pipe(O.fromNullable(err.stack), O.getOrElse(constant(err.message))),
       );
       process.exit(1);
     });
@@ -112,7 +112,7 @@ printWidth: 80
     timelines,
     everyCommitTimestamps,
     A.sort(ordDate),
-    A.head
+    A.head,
   );
 
   pipe(
@@ -122,9 +122,9 @@ printWidth: 80
       flow(
         // add a descriptive comment here
         publishServiceEvent(analytics),
-        TE.mapLeft(nackFromError)
-      )
-    )
+        TE.mapLeft(nackFromError),
+      ),
+    ),
   )()
     .then(messageResponse(logger, msg))
     .catch((err: Error) => {
@@ -132,8 +132,8 @@ printWidth: 80
         pipe(
           // add a descriptive comment here
           O.fromNullable(err.stack),
-          O.getOrElse(constant(err.message))
-        )
+          O.getOrElse(constant(err.message)),
+        ),
       );
       process.exit(1);
     });
@@ -141,7 +141,7 @@ printWidth: 80
   pipe(
     // add a descriptive comment here
     Changelog.timestampOfFirstCommit([[commit]]),
-    O.toUndefined
+    O.toUndefined,
   );
 
   chain(
@@ -149,8 +149,8 @@ printWidth: 80
       // add a descriptive comment here
       getUploadUrl,
       E.mapLeft(Errors.unknownError),
-      TE.fromEither
-    )
+      TE.fromEither,
+    ),
   );
 })();
 
diff --git a/tests/format/typescript/generic/__snapshots__/jsfmt.spec.js.snap b/tests/format/typescript/generic/__snapshots__/jsfmt.spec.js.snap
index e6a52f240ccb..8cf845a8f020 100644
--- a/tests/format/typescript/generic/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/typescript/generic/__snapshots__/jsfmt.spec.js.snap
@@ -68,59 +68,59 @@ export const getVehicleDescriptor = async (
 
 =====================================output=====================================
 export const getVehicleDescriptor = async (
-  vehicleId: string
+  vehicleId: string,
 ): Promise<Descriptor> => {};
 
 export const getVehicleDescriptor = async (
-  vehicleId: string
+  vehicleId: string,
 ): Promise<Collections.Parts.PrintedCircuitBoardAssemblyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy> => {};
 
 export const getVehicleDescriptor = async (
-  vehicleId: string
+  vehicleId: string,
 ): Promise<Descriptor | undefined> => {};
 
 export const getVehicleDescriptor = async (
-  vehicleId: string
+  vehicleId: string,
 ): Promise<
   Collections.Parts.PrintedCircuitBoardAssembly["attributes"] | undefined
 > => {};
 
 export const getVehicleDescriptor = async (
-  vehicleId: string
+  vehicleId: string,
 ): Promise<Descriptor & undefined> => {};
 
 export const getVehicleDescriptor = async (
-  vehicleId: string
+  vehicleId: string,
 ): Promise<
   Collections.Parts.PrintedCircuitBoardAssembly["attributes"] & undefined
 > => {};
 
 export const getVehicleDescriptor = async (
-  vehicleId: string
+  vehicleId: string,
 ): Promise<Descriptor["attributes"]> => {};
 
 export const getVehicleDescriptor = async (
-  vehicleId: string
+  vehicleId: string,
 ): Promise<
   Collections.Parts.PrintedCircuitBoardAssembly["attributessssssssssssssssssssssss"]
 > => {};
 
 export const getVehicleDescriptor = async (
-  vehicleId: string
+  vehicleId: string,
 ): Promise<keyof Descriptor> => {};
 
 export const getVehicleDescriptor = async (
-  vehicleId: string
+  vehicleId: string,
 ): Promise<
   keyof Collections.Parts.PrintedCircuitBoardAssemblyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
 > => {};
 
 export const getVehicleDescriptor = async (
-  vehicleId: string
+  vehicleId: string,
 ): Promise<Descriptor[]> => {};
 
 export const getVehicleDescriptor = async (
-  vehicleId: string
+  vehicleId: string,
 ): Promise<
   Collections.Parts.PrintedCircuitBoardAssemblyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy[]
 > => {};
@@ -204,7 +204,7 @@ function filterTooltipWithFoo<F extends Field>(oldEncoding: Encoding<F>): {
 
 =====================================output=====================================
 function filterTooltipWithFoo<F extends Field>(
-  oldEncoding: Encoding<F>
+  oldEncoding: Encoding<F>,
 ): {
   customTooltipWithoutAggregatedField?:
     | StringFieldDefWithCondition<F>
diff --git a/tests/format/typescript/interface/__snapshots__/jsfmt.spec.js.snap b/tests/format/typescript/interface/__snapshots__/jsfmt.spec.js.snap
index 6c3b914cd00c..74562d7c1258 100644
--- a/tests/format/typescript/interface/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/typescript/interface/__snapshots__/jsfmt.spec.js.snap
@@ -116,14 +116,14 @@ interface Foo<
 interface ReallyReallyLongName<
     TypeArgumentNumberOne,
     TypeArgumentNumberTwo,
-    TypeArgumentNumberThree
+    TypeArgumentNumberThree,
   > // 1
   extends BaseInterface {}
 
 interface ReallyReallyLongName2<
     TypeArgumentNumberOne,
     TypeArgumentNumberTwo,
-    TypeArgumentNumberThree
+    TypeArgumentNumberThree,
   > // 1
   // 2
   extends BaseInterface {}
@@ -131,7 +131,7 @@ interface ReallyReallyLongName2<
 interface ReallyReallyLongName3<
     TypeArgumentNumberOne,
     TypeArgumentNumberTwo,
-    TypeArgumentNumberThree
+    TypeArgumentNumberThree,
   > // 1
   // 2
   extends BaseInterface {
@@ -141,7 +141,7 @@ interface ReallyReallyLongName3<
 interface Foo<
     FOOOOOOOOOOOOOOOOOOOOOOOOOO,
     FOOOOOOOOOOOOOOOOOOOOOOOOOO,
-    FOOOOOOOOOOOOOOOOOOOOOOOOOO
+    FOOOOOOOOOOOOOOOOOOOOOOOOOO,
   > // comments
   extends Foo {}
 
@@ -189,14 +189,14 @@ interface Foo<
 interface ReallyReallyLongName<
     TypeArgumentNumberOne,
     TypeArgumentNumberTwo,
-    TypeArgumentNumberThree
+    TypeArgumentNumberThree,
   > // 1
   extends BaseInterface {}
 
 interface ReallyReallyLongName2<
     TypeArgumentNumberOne,
     TypeArgumentNumberTwo,
-    TypeArgumentNumberThree
+    TypeArgumentNumberThree,
   > // 1
   // 2
   extends BaseInterface {}
@@ -204,7 +204,7 @@ interface ReallyReallyLongName2<
 interface ReallyReallyLongName3<
     TypeArgumentNumberOne,
     TypeArgumentNumberTwo,
-    TypeArgumentNumberThree
+    TypeArgumentNumberThree,
   > // 1
   // 2
   extends BaseInterface {
@@ -214,7 +214,7 @@ interface ReallyReallyLongName3<
 interface Foo<
     FOOOOOOOOOOOOOOOOOOOOOOOOOO,
     FOOOOOOOOOOOOOOOOOOOOOOOOOO,
-    FOOOOOOOOOOOOOOOOOOOOOOOOOO
+    FOOOOOOOOOOOOOOOOOOOOOOOOOO,
   > // comments
   extends Foo {}
 
@@ -244,7 +244,7 @@ interface Foo<FOOOOOOOOOOOOOOOOOOOOOOOOOO, FOOOOOOOOOOOOOOOOOOOOOOO>
 interface Foo<
   FOOOOOOOOOOOOOOOOOOOOOOOOOO,
   FOOOOOOOOOOOOOOOOOOOOOOOOOO,
-  FOOOOOOOOOOOOOOOOOOOOOOOOOO
+  FOOOOOOOOOOOOOOOOOOOOOOOOOO,
 > extends Foo {}
 
 ================================================================================
@@ -272,7 +272,7 @@ interface Foo<FOOOOOOOOOOOOOOOOOOOOOOOOOO, FOOOOOOOOOOOOOOOOOOOOOOO>
 interface Foo<
   FOOOOOOOOOOOOOOOOOOOOOOOOOO,
   FOOOOOOOOOOOOOOOOOOOOOOOOOO,
-  FOOOOOOOOOOOOOOOOOOOOOOOOOO
+  FOOOOOOOOOOOOOOOOOOOOOOOOOO,
 > extends Foo {}
 
 ================================================================================
diff --git a/tests/format/typescript/interface/long-type-parameters/__snapshots__/jsfmt.spec.js.snap b/tests/format/typescript/interface/long-type-parameters/__snapshots__/jsfmt.spec.js.snap
index cd6e58aef9bf..280c074a2560 100644
--- a/tests/format/typescript/interface/long-type-parameters/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/typescript/interface/long-type-parameters/__snapshots__/jsfmt.spec.js.snap
@@ -25,7 +25,7 @@ export interface MarkDef<
 // https://github.com/vega/vega-lite/blob/ae13aff7b480cf9c994031eca08a6b1720e01ab3/src/mark.ts#L602
 export interface MarkDef<
   M extends string | Mark = Mark,
-  ES extends ExprRef | SignalRef = ExprRef | SignalRef
+  ES extends ExprRef | SignalRef = ExprRef | SignalRef,
 > extends GenericMarkDef<M>,
     Omit<
       MarkConfig<ES> &
diff --git a/tests/format/typescript/interface2/__snapshots__/jsfmt.spec.js.snap b/tests/format/typescript/interface2/__snapshots__/jsfmt.spec.js.snap
index fe4284233272..7fa983488c4c 100644
--- a/tests/format/typescript/interface2/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/typescript/interface2/__snapshots__/jsfmt.spec.js.snap
@@ -1,9 +1,10 @@
 // Jest Snapshot v1, https://goo.gl/fbAQLP
 
-exports[`break.ts format 1`] = `
+exports[`break.ts - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["typescript", "babel", "flow"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 export interface Environment1 extends GenericEnvironment<
@@ -180,10 +181,11 @@ export interface ExtendsLongOneWithGenerics
 ================================================================================
 `;
 
-exports[`comments.ts format 1`] = `
+exports[`comments.ts - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["typescript", "babel", "flow"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 interface A1  // comment
@@ -258,10 +260,11 @@ interface A6 // comment1
 ================================================================================
 `;
 
-exports[`comments-declare.ts format 1`] = `
+exports[`comments-declare.ts - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["typescript", "babel", "flow"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 declare interface a // 1
@@ -278,10 +281,11 @@ declare interface a // 1
 ================================================================================
 `;
 
-exports[`module.ts format 1`] = `
+exports[`module.ts - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["typescript", "babel", "flow"]
 printWidth: 80
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 declare module X {
diff --git a/tests/format/typescript/interface2/jsfmt.spec.js b/tests/format/typescript/interface2/jsfmt.spec.js
index 4847182d5633..d9d2ec52c096 100644
--- a/tests/format/typescript/interface2/jsfmt.spec.js
+++ b/tests/format/typescript/interface2/jsfmt.spec.js
@@ -1,1 +1,3 @@
-run_spec(import.meta, ["typescript", "babel", "flow"]);
+run_spec(import.meta, ["typescript", "babel", "flow"], {
+  trailingComma: "es5",
+});
diff --git a/tests/format/typescript/last-argument-expansion/__snapshots__/jsfmt.spec.js.snap b/tests/format/typescript/last-argument-expansion/__snapshots__/jsfmt.spec.js.snap
index 5e065cd2222f..b62aad2d85ad 100644
--- a/tests/format/typescript/last-argument-expansion/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/typescript/last-argument-expansion/__snapshots__/jsfmt.spec.js.snap
@@ -27,9 +27,9 @@ export default class AddAssetHtmlPlugin {
             this.assets,
             compilation,
             htmlPluginData,
-            callback
+            callback,
           );
-        }
+        },
       );
     });
   }
@@ -64,7 +64,7 @@ var listener = DOM.listen(
     BanzaiLogger.log(config, {
       ...logData,
       ...DataStore.get(event.getNode(sigil)),
-    })
+    }),
 );
 
 ================================================================================
diff --git a/tests/format/typescript/method-chain/__snapshots__/jsfmt.spec.js.snap b/tests/format/typescript/method-chain/__snapshots__/jsfmt.spec.js.snap
index 370577bc4d39..bf718b9d56b3 100644
--- a/tests/format/typescript/method-chain/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/typescript/method-chain/__snapshots__/jsfmt.spec.js.snap
@@ -24,13 +24,13 @@ this.firebase
     (
       shop: ShopQueryResult,
       index: number,
-      source: Observable<ShopQueryResult>
+      source: Observable<ShopQueryResult>,
     ): any => {
       // add distance to result
       const s = shop;
       s.distance = shopLocation.distance;
       return s;
-    }
+    },
   );
 
 ================================================================================
diff --git a/tests/format/typescript/method/__snapshots__/jsfmt.spec.js.snap b/tests/format/typescript/method/__snapshots__/jsfmt.spec.js.snap
index a444d144e65f..4f9f73ebdf22 100644
--- a/tests/format/typescript/method/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/typescript/method/__snapshots__/jsfmt.spec.js.snap
@@ -27,14 +27,14 @@ export function loadPlugin(
 export interface Store {
   getRecord(
     collectionName: string,
-    documentPath: string
+    documentPath: string,
   ): TaskEither<Error, Option<GenericRecord>>;
 }
 
 export default class StoreImpl extends Service implements Store {
   getRecord(
     collectionName: string,
-    documentPath: string
+    documentPath: string,
   ): TaskEither<Error, Option<GenericRecord>> {
     // Do some stuff.
   }
@@ -42,7 +42,7 @@ export default class StoreImpl extends Service implements Store {
 
 export function loadPlugin(
   name: string,
-  dirname: string
+  dirname: string,
 ): { filepath: string; value: mixed } {
   // ...
 }
diff --git a/tests/format/typescript/new/__snapshots__/jsfmt.spec.js.snap b/tests/format/typescript/new/__snapshots__/jsfmt.spec.js.snap
index 7259f8c7683b..05d69bb0784d 100644
--- a/tests/format/typescript/new/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/typescript/new/__snapshots__/jsfmt.spec.js.snap
@@ -80,7 +80,7 @@ interface FooConstructor {
     e: number,
     f: number,
     g: number,
-    h: number
+    h: number,
   ): Foo;
 }
 
@@ -93,7 +93,7 @@ interface BarConstructor {
     e: number,
     f: number,
     g: number,
-    h: number
+    h: number,
   ): Foo;
 }
 
@@ -106,7 +106,7 @@ type BazConstructor = {
     e: number,
     f: number,
     g: number,
-    h: number
+    h: number,
   ): Foo;
 };
 
@@ -115,7 +115,7 @@ interface ConstructorBigGenerics {
   new <
     AAAAAAAAAAAAAAAAAAAAAAAA,
     AAAAAAAAAAAAAAAAAAAAAAAA,
-    AAAAAAAAAAAAAAAAAAAAAAAA
+    AAAAAAAAAAAAAAAAAAAAAAAA,
   >(
     a: number,
     b: number,
@@ -124,7 +124,7 @@ interface ConstructorBigGenerics {
     e: number,
     f: number,
     g: number,
-    h: number
+    h: number,
   ): Foo;
 }
 
diff --git a/tests/format/typescript/rest-type/__snapshots__/jsfmt.spec.js.snap b/tests/format/typescript/rest-type/__snapshots__/jsfmt.spec.js.snap
index 202a13072a7f..81b0ea50e6df 100644
--- a/tests/format/typescript/rest-type/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/typescript/rest-type/__snapshots__/jsfmt.spec.js.snap
@@ -43,7 +43,7 @@ type Tail3<T extends any[]> = T extends [infer U, ...(infer R)[]] ? R : never;
 
 type ReduceNextElement<T extends readonly unknown[]> = T extends readonly [
   infer V,
-  ...infer R
+  ...infer R,
 ]
   ? [V, R]
   : never;
diff --git a/tests/format/typescript/template-literal-types/__snapshots__/jsfmt.spec.js.snap b/tests/format/typescript/template-literal-types/__snapshots__/jsfmt.spec.js.snap
index 8c44481543a2..1f2d3a8f1add 100644
--- a/tests/format/typescript/template-literal-types/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/typescript/template-literal-types/__snapshots__/jsfmt.spec.js.snap
@@ -23,7 +23,7 @@ let x: \`foo-\${infer bar}\`;
 type HelloWorld = \`\${Hello}, \${World}\`;
 type SeussFish = \`\${Quantity | Color} fish\`;
 declare function setAlignment(
-  value: \`\${VerticalAlignment}-\${HorizontalAlignment}\`
+  value: \`\${VerticalAlignment}-\${HorizontalAlignment}\`,
 ): void;
 type PropEventSource<T> = {
   on(eventName: \`\${string & keyof T}Changed\`, callback: () => void): void;
@@ -31,7 +31,7 @@ type PropEventSource<T> = {
 type PropEventSource<T> = {
   on<K extends string & keyof T>(
     eventName: \`\${K}Changed\`,
-    callback: (newValue: T[K]) => void
+    callback: (newValue: T[K]) => void,
   ): void;
 };
 
diff --git a/tests/format/typescript/tuple/__snapshots__/jsfmt.spec.js.snap b/tests/format/typescript/tuple/__snapshots__/jsfmt.spec.js.snap
index 3f38b0853d38..ded01efa2fd4 100644
--- a/tests/format/typescript/tuple/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/typescript/tuple/__snapshots__/jsfmt.spec.js.snap
@@ -41,11 +41,11 @@ export interface ShopQueryResult {
 ================================================================================
 `;
 
-exports[`trailing-comma.ts - {"trailingComma":"none"} format 1`] = `
+exports[`trailing-comma.ts - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["typescript"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 export interface ShopQueryResult {
@@ -82,10 +82,11 @@ export interface ShopQueryResult {
 ================================================================================
 `;
 
-exports[`trailing-comma.ts format 1`] = `
+exports[`trailing-comma.ts - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["typescript"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 export interface ShopQueryResult {
@@ -144,11 +145,11 @@ type Foo =
 ================================================================================
 `;
 
-exports[`trailing-comma-for-empty-tuples.ts - {"trailingComma":"none"} format 1`] = `
+exports[`trailing-comma-for-empty-tuples.ts - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["typescript"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 type Loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong = []
@@ -166,10 +167,11 @@ type Foo =
 ================================================================================
 `;
 
-exports[`trailing-comma-for-empty-tuples.ts format 1`] = `
+exports[`trailing-comma-for-empty-tuples.ts - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["typescript"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 type Loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong = []
@@ -216,11 +218,11 @@ type ValidateArgs = [
 ================================================================================
 `;
 
-exports[`trailing-comma-trailing-rest.ts - {"trailingComma":"none"} format 1`] = `
+exports[`trailing-comma-trailing-rest.ts - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["typescript"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 type ValidateArgs = [
@@ -245,10 +247,11 @@ type ValidateArgs = [
 ================================================================================
 `;
 
-exports[`trailing-comma-trailing-rest.ts format 1`] = `
+exports[`trailing-comma-trailing-rest.ts - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["typescript"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 type ValidateArgs = [
@@ -303,11 +306,11 @@ export type SCMRawResource = [
 ================================================================================
 `;
 
-exports[`tuple.ts - {"trailingComma":"none"} format 1`] = `
+exports[`tuple.ts - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["typescript"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 
@@ -333,10 +336,11 @@ export type SCMRawResource = [
 ================================================================================
 `;
 
-exports[`tuple.ts format 1`] = `
+exports[`tuple.ts - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["typescript"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 
@@ -405,11 +409,11 @@ type T = [...B, x: A];
 ================================================================================
 `;
 
-exports[`tuple-labeled.ts - {"trailingComma":"none"} format 1`] = `
+exports[`tuple-labeled.ts - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["typescript"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 // https://github.com/babel/babel/pull/11754
@@ -448,10 +452,11 @@ type T = [...B, x: A];
 ================================================================================
 `;
 
-exports[`tuple-labeled.ts format 1`] = `
+exports[`tuple-labeled.ts - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["typescript"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 // https://github.com/babel/babel/pull/11754
@@ -509,11 +514,11 @@ let x: [...[number, string], string];
 ================================================================================
 `;
 
-exports[`tuple-rest-not-last.ts - {"trailingComma":"none"} format 1`] = `
+exports[`tuple-rest-not-last.ts - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["typescript"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 // https://github.com/babel/babel/pull/11753
@@ -528,10 +533,11 @@ let x: [...[number, string], string];
 ================================================================================
 `;
 
-exports[`tuple-rest-not-last.ts format 1`] = `
+exports[`tuple-rest-not-last.ts - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["typescript"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 // https://github.com/babel/babel/pull/11753
diff --git a/tests/format/typescript/tuple/jsfmt.spec.js b/tests/format/typescript/tuple/jsfmt.spec.js
index 6d31af9f73d5..becf57ccb99e 100644
--- a/tests/format/typescript/tuple/jsfmt.spec.js
+++ b/tests/format/typescript/tuple/jsfmt.spec.js
@@ -1,3 +1,3 @@
 run_spec(import.meta, ["typescript"], { trailingComma: "none" });
-run_spec(import.meta, ["typescript"]);
+run_spec(import.meta, ["typescript"], { trailingComma: "es5" });
 run_spec(import.meta, ["typescript"], { trailingComma: "all" });
diff --git a/tests/format/typescript/type-alias/__snapshots__/jsfmt.spec.js.snap b/tests/format/typescript/type-alias/__snapshots__/jsfmt.spec.js.snap
index 9da037d1066c..544ad6e72ce1 100644
--- a/tests/format/typescript/type-alias/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/typescript/type-alias/__snapshots__/jsfmt.spec.js.snap
@@ -68,7 +68,7 @@ type FieldLayoutWith<
 =====================================output=====================================
 type FieldLayoutWith<
   T extends string,
-  S extends unknown = { width: string }
+  S extends unknown = { width: string },
 > = {
   type: T;
   code: string;
@@ -89,7 +89,7 @@ type FieldLayoutWith<S extends unknown = { width: string }> = {
 
 type FieldLayoutWith<
   T extends stringggggggggggg,
-  T extends stringggggggggggg
+  T extends stringggggggggggg,
 > = {
   type: T;
   code: string;
@@ -98,7 +98,7 @@ type FieldLayoutWith<
 
 type FieldLayoutWith<
   T extends stringggggggggggg,
-  S = stringggggggggggggggggg
+  S = stringggggggggggggggggg,
 > = {
   type: T;
   code: string;
diff --git a/tests/format/typescript/typeparams/__snapshots__/jsfmt.spec.js.snap b/tests/format/typescript/typeparams/__snapshots__/jsfmt.spec.js.snap
index c658fae54521..81e7fc067679 100644
--- a/tests/format/typescript/typeparams/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/typescript/typeparams/__snapshots__/jsfmt.spec.js.snap
@@ -108,7 +108,7 @@ const appIDs = createSelector(
 // https://github.com/prettier/prettier/issues/4070
 export class Thing implements OtherThing {
   do: (type: Type) => Provider<Prop> = memoize(
-    (type: ObjectType): Provider<Opts> => {}
+    (type: ObjectType): Provider<Opts> => {},
   );
 }
 
@@ -120,7 +120,7 @@ export class Thing2 implements OtherThing {
         return someVar.method();
       }
       return false;
-    }
+    },
   );
 }
 
@@ -136,25 +136,25 @@ export class Thing3 implements OtherThing {
 
 export class Thing4 implements OtherThing {
   do: (type: Type) => Provider<Prop> = memoize(
-    (type: ObjectType): Provider<Opts> => type.doSomething()
+    (type: ObjectType): Provider<Opts> => type.doSomething(),
   );
 }
 
 export class Thing5 implements OtherThing {
   do: (type: Type) => Provider<Prop> = memoize(
-    (type: ObjectType): Provider<Opts> => <any>type.doSomething()
+    (type: ObjectType): Provider<Opts> => <any>type.doSomething(),
   );
 }
 
 export class Thing6 implements OtherThing {
   do: (type: Type) => Provider<Prop> = memoize(
-    (type: ObjectType): Provider<Opts> => <Provider<Opts>>type.doSomething()
+    (type: ObjectType): Provider<Opts> => <Provider<Opts>>type.doSomething(),
   );
 }
 
 export class Thing7 implements OtherThing {
   do: (type: Type) => Provider<Prop> = memoize(
-    (type: ObjectType) => <Provider<Opts>>type.doSomething()
+    (type: ObjectType) => <Provider<Opts>>type.doSomething(),
   );
 }
 
@@ -163,26 +163,26 @@ export class Thing8 implements OtherThing {
     (type: ObjectType) =>
       <Provider<Opts>>(
         type.doSomething(withArgs, soIt, does, not, fit).extraCall()
-      )
+      ),
   );
 }
 
 export class Thing9 implements OtherThing {
   do: (type: Type) => Provider<Prop> = memoize((type: ObjectType) =>
-    type.doSomething()
+    type.doSomething(),
   );
 }
 
 export class Thing10 implements OtherThing {
   do: (type: Type) => Provider<Prop> = memoize(
     (veryLongArgName: ObjectType): Provider<Options, MoreOptions> =>
-      veryLongArgName
+      veryLongArgName,
   );
 }
 
 export class Thing11 implements OtherThing {
   do: (type: Type) => Provider<Prop> = memoize(
-    (type: ObjectType): Provider => {}
+    (type: ObjectType): Provider => {},
   );
 }
 
@@ -190,7 +190,7 @@ export class Thing11 implements OtherThing {
 
 export class Thing12 implements OtherThing {
   do: (type: Type) => Provider<Prop> = memoize(function (
-    type: ObjectType
+    type: ObjectType,
   ): Provider<Opts> {
     return type;
   });
@@ -198,7 +198,7 @@ export class Thing12 implements OtherThing {
 
 export class Thing13 implements OtherThing {
   do: (type: Type) => Provider<Prop> = memoize(function (
-    type: ObjectType
+    type: ObjectType,
   ): Provider<Opts> {
     const someVar = doSomething(type);
     if (someVar) {
@@ -220,7 +220,7 @@ export class Thing14 implements OtherThing {
 
 export class Thing15 implements OtherThing {
   do: (type: Type) => Provider<Prop> = memoize(function (
-    type: ObjectType
+    type: ObjectType,
   ): Provider<Opts> {
     return type.doSomething();
   });
@@ -228,7 +228,7 @@ export class Thing15 implements OtherThing {
 
 export class Thing16 implements OtherThing {
   do: (type: Type) => Provider<Prop> = memoize(function (
-    type: ObjectType
+    type: ObjectType,
   ): Provider<Opts> {
     return <any>type.doSomething();
   });
@@ -236,7 +236,7 @@ export class Thing16 implements OtherThing {
 
 export class Thing17 implements OtherThing {
   do: (type: Type) => Provider<Prop> = memoize(function (
-    type: ObjectType
+    type: ObjectType,
   ): Provider<Opts> {
     return <Provider<Opts>>type.doSomething();
   });
@@ -264,7 +264,7 @@ export class Thing20 implements OtherThing {
 
 export class Thing21 implements OtherThing {
   do: (type: Type) => Provider<Prop> = memoize(function (
-    veryLongArgName: ObjectType
+    veryLongArgName: ObjectType,
   ): Provider<Options, MoreOptions> {
     return veryLongArgName;
   });
@@ -272,7 +272,7 @@ export class Thing21 implements OtherThing {
 
 export class Thing22 implements OtherThing {
   do: (type: Type) => Provider<Prop> = memoize(function (
-    type: ObjectType
+    type: ObjectType,
   ): Provider {});
 }
 
@@ -280,7 +280,7 @@ export class Thing22 implements OtherThing {
 
 const appIDs = createSelector(
   PubXURLParams.APP_IDS,
-  (rawAppIDs): Array<AppID> => deserializeList(rawAppIDs)
+  (rawAppIDs): Array<AppID> => deserializeList(rawAppIDs),
 );
 
 ================================================================================
@@ -309,20 +309,20 @@ export const forwardS = R.curry(
     prop: string,
     reducer: ReducerFunction<V, T>,
     value: V,
-    state: { [name: string]: T }
-  ) => R.assoc(prop, reducer(value, state[prop]), state)
+    state: { [name: string]: T },
+  ) => R.assoc(prop, reducer(value, state[prop]), state),
 );
 
 export const forwardS1 = R.curry(
   <
     VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV,
-    TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
+    TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT,
   >(
     prop: string,
     reducer: ReducerFunction<V, T>,
     value: V,
-    state: { [name: string]: T }
-  ) => R.assoc(prop, reducer(value, state[prop]), state)
+    state: { [name: string]: T },
+  ) => R.assoc(prop, reducer(value, state[prop]), state),
 );
 
 ================================================================================
diff --git a/tests/format/typescript/union/__snapshots__/jsfmt.spec.js.snap b/tests/format/typescript/union/__snapshots__/jsfmt.spec.js.snap
index d623a247629f..47e03f90b922 100644
--- a/tests/format/typescript/union/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/typescript/union/__snapshots__/jsfmt.spec.js.snap
@@ -525,21 +525,21 @@ type A = [
   | AAAAAAAAAAAAAAAAAAAAAA
   | BBBBBBBBBBBBBBBBBBBBBB
   | CCCCCCCCCCCCCCCCCCCCCC
-  | DDDDDDDDDDDDDDDDDDDDDD
+  | DDDDDDDDDDDDDDDDDDDDDD,
 ];
 
 type B = [
   | AAAAAAAAAAAAAAAAAAAAAA
   | BBBBBBBBBBBBBBBBBBBBBB
   | CCCCCCCCCCCCCCCCCCCCCC
-  | DDDDDDDDDDDDDDDDDDDDDD
+  | DDDDDDDDDDDDDDDDDDDDDD,
 ];
 
 type B1 = [
   | AAAAAAAAAAAAAAAAAAAAAA
   | BBBBBBBBBBBBBBBBBBBBBB
   | CCCCCCCCCCCCCCCCCCCCCC
-  | DDDDDDDDDDDDDDDDDDDDDD
+  | DDDDDDDDDDDDDDDDDDDDDD,
 ];
 
 type C = [
@@ -547,14 +547,14 @@ type C = [
       | AAAAAAAAAAAAAAAAAAAAAA
       | BBBBBBBBBBBBBBBBBBBBBB
       | CCCCCCCCCCCCCCCCCCCCCC
-      | DDDDDDDDDDDDDDDDDDDDDD
+      | DDDDDDDDDDDDDDDDDDDDDD,
     ]
   | [
       | AAAAAAAAAAAAAAAAAAAAAA
       | BBBBBBBBBBBBBBBBBBBBBB
       | CCCCCCCCCCCCCCCCCCCCCC
-      | DDDDDDDDDDDDDDDDDDDDDD
-    ]
+      | DDDDDDDDDDDDDDDDDDDDDD,
+    ],
 ];
 
 type D = [
@@ -569,7 +569,7 @@ type D = [
     | BBBBBBBBBBBBBBBBBBBBBB
     | CCCCCCCCCCCCCCCCCCCCCC
     | DDDDDDDDDDDDDDDDDDDDDD
-  )
+  ),
 ];
 
 type D1 = [
@@ -584,7 +584,7 @@ type D1 = [
     | BBBBBBBBBBBBBBBBBBBBBB
     | CCCCCCCCCCCCCCCCCCCCCC
     | DDDDDDDDDDDDDDDDDDDDDD
-  )
+  ),
 ];
 
 type D2 = [
@@ -599,7 +599,7 @@ type D2 = [
     | BBBBBBBBBBBBBBBBBBBBBB
     | CCCCCCCCCCCCCCCCCCCCCC
     | DDDDDDDDDDDDDDDDDDDDDD
-  )
+  ),
 ];
 
 type E = [AA | BB, AA | BB];
@@ -611,7 +611,7 @@ type F = [
     | CCCCCCCCCCCCCCCCCCCCCC
     | DDDDDDDDDDDDDDDDDDDDDD
   ),
-  AAAAAAAAAAAAAAAAAAAAAA | BBBBBBBBBBBBBBBBBBBBBB
+  AAAAAAAAAAAAAAAAAAAAAA | BBBBBBBBBBBBBBBBBBBBBB,
 ];
 
 ================================================================================
diff --git a/tests/format/typescript/webhost/__snapshots__/jsfmt.spec.js.snap b/tests/format/typescript/webhost/__snapshots__/jsfmt.spec.js.snap
index 1a9af80920a0..4968e145366c 100644
--- a/tests/format/typescript/webhost/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/typescript/webhost/__snapshots__/jsfmt.spec.js.snap
@@ -207,7 +207,7 @@ namespace TypeScript.WebTsc {
   export function prepareCompiler(
     currentDir: string,
     stdOut: ITextWriter,
-    stdErr: ITextWriter
+    stdErr: ITextWriter,
   ) {
     const shell = new RealActiveXObject("WScript.Shell");
     shell.CurrentDirectory = currentDir;
diff --git a/tests/format/vue/custom_block/__snapshots__/jsfmt.spec.js.snap b/tests/format/vue/custom_block/__snapshots__/jsfmt.spec.js.snap
index a3701eace693..68da8a45e9ea 100644
--- a/tests/format/vue/custom_block/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/vue/custom_block/__snapshots__/jsfmt.spec.js.snap
@@ -71,11 +71,11 @@ query {
 ================================================================================
 `;
 
-exports[`graphql.vue - {"trailingComma":"none"} format 1`] = `
+exports[`graphql.vue - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 <page-query lang="graphql">
@@ -107,11 +107,11 @@ query {
 ================================================================================
 `;
 
-exports[`graphql.vue - {"vueIndentScriptAndStyle":true} format 1`] = `
+exports[`graphql.vue - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
-vueIndentScriptAndStyle: true
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 <page-query lang="graphql">
@@ -143,10 +143,11 @@ query {
 ================================================================================
 `;
 
-exports[`graphql.vue format 1`] = `
+exports[`graphql.vue - {"vueIndentScriptAndStyle":true} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
+vueIndentScriptAndStyle: true
                                                                                 | printWidth
 =====================================input======================================
 <page-query lang="graphql">
@@ -216,11 +217,11 @@ Handlebars <b>{{doesWhat}}</b>
 ================================================================================
 `;
 
-exports[`handlebars.vue - {"trailingComma":"none"} format 1`] = `
+exports[`handlebars.vue - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 <custom type="text/x-handlebars-template">
@@ -235,11 +236,11 @@ Handlebars <b>{{doesWhat}}</b>
 ================================================================================
 `;
 
-exports[`handlebars.vue - {"vueIndentScriptAndStyle":true} format 1`] = `
+exports[`handlebars.vue - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
-vueIndentScriptAndStyle: true
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 <custom type="text/x-handlebars-template">
@@ -254,10 +255,11 @@ Handlebars <b>{{doesWhat}}</b>
 ================================================================================
 `;
 
-exports[`handlebars.vue format 1`] = `
+exports[`handlebars.vue - {"vueIndentScriptAndStyle":true} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
+vueIndentScriptAndStyle: true
                                                                                 | printWidth
 =====================================input======================================
 <custom type="text/x-handlebars-template">
@@ -433,11 +435,11 @@ semi: false
 ================================================================================
 `;
 
-exports[`json.vue - {"trailingComma":"none"} format 1`] = `
+exports[`json.vue - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 <i18n lang="json">
@@ -513,11 +515,11 @@ trailingComma: "none"
 ================================================================================
 `;
 
-exports[`json.vue - {"vueIndentScriptAndStyle":true} format 1`] = `
+exports[`json.vue - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
-vueIndentScriptAndStyle: true
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 <i18n lang="json">
@@ -593,10 +595,11 @@ vueIndentScriptAndStyle: true
 ================================================================================
 `;
 
-exports[`json.vue format 1`] = `
+exports[`json.vue - {"vueIndentScriptAndStyle":true} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
+vueIndentScriptAndStyle: true
                                                                                 | printWidth
 =====================================input======================================
 <i18n lang="json">
@@ -713,11 +716,11 @@ const foo = "foo"
 ================================================================================
 `;
 
-exports[`lang-attribute.vue - {"trailingComma":"none"} format 1`] = `
+exports[`lang-attribute.vue - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 <custom lang="js">
@@ -733,11 +736,11 @@ const foo = "foo";
 ================================================================================
 `;
 
-exports[`lang-attribute.vue - {"vueIndentScriptAndStyle":true} format 1`] = `
+exports[`lang-attribute.vue - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
-vueIndentScriptAndStyle: true
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 <custom lang="js">
@@ -753,10 +756,11 @@ const foo = "foo";
 ================================================================================
 `;
 
-exports[`lang-attribute.vue format 1`] = `
+exports[`lang-attribute.vue - {"vueIndentScriptAndStyle":true} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
+vueIndentScriptAndStyle: true
                                                                                 | printWidth
 =====================================input======================================
 <custom lang="js">
@@ -892,11 +896,11 @@ semi: false
 ================================================================================
 `;
 
-exports[`markdown.vue - {"trailingComma":"none"} format 1`] = `
+exports[`markdown.vue - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 <docs lang="markdown">
@@ -953,11 +957,11 @@ trailingComma: "none"
 ================================================================================
 `;
 
-exports[`markdown.vue - {"vueIndentScriptAndStyle":true} format 1`] = `
+exports[`markdown.vue - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
-vueIndentScriptAndStyle: true
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 <docs lang="markdown">
@@ -1014,10 +1018,11 @@ vueIndentScriptAndStyle: true
 ================================================================================
 `;
 
-exports[`markdown.vue format 1`] = `
+exports[`markdown.vue - {"vueIndentScriptAndStyle":true} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
+vueIndentScriptAndStyle: true
                                                                                 | printWidth
 =====================================input======================================
 <docs lang="markdown">
@@ -1106,11 +1111,11 @@ semi: false
 ================================================================================
 `;
 
-exports[`one-line.vue - {"trailingComma":"none"} format 1`] = `
+exports[`one-line.vue - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 <docs lang=unknown></docs><docs lang=unknown></docs>
@@ -1122,11 +1127,11 @@ trailingComma: "none"
 ================================================================================
 `;
 
-exports[`one-line.vue - {"vueIndentScriptAndStyle":true} format 1`] = `
+exports[`one-line.vue - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
-vueIndentScriptAndStyle: true
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 <docs lang=unknown></docs><docs lang=unknown></docs>
@@ -1138,10 +1143,11 @@ vueIndentScriptAndStyle: true
 ================================================================================
 `;
 
-exports[`one-line.vue format 1`] = `
+exports[`one-line.vue - {"vueIndentScriptAndStyle":true} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
+vueIndentScriptAndStyle: true
                                                                                 | printWidth
 =====================================input======================================
 <docs lang=unknown></docs><docs lang=unknown></docs>
@@ -1215,11 +1221,11 @@ const foo = "</"
 ================================================================================
 `;
 
-exports[`tag_like.vue - {"trailingComma":"none"} format 1`] = `
+exports[`tag_like.vue - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 <docs>
@@ -1246,11 +1252,11 @@ const foo = "</";
 ================================================================================
 `;
 
-exports[`tag_like.vue - {"vueIndentScriptAndStyle":true} format 1`] = `
+exports[`tag_like.vue - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
-vueIndentScriptAndStyle: true
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 <docs>
@@ -1277,10 +1283,11 @@ const foo = "</";
 ================================================================================
 `;
 
-exports[`tag_like.vue format 1`] = `
+exports[`tag_like.vue - {"vueIndentScriptAndStyle":true} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
+vueIndentScriptAndStyle: true
                                                                                 | printWidth
 =====================================input======================================
 <docs>
@@ -1433,11 +1440,11 @@ const foo = "foo";
 ================================================================================
 `;
 
-exports[`unknown.vue - {"trailingComma":"none"} format 1`] = `
+exports[`unknown.vue - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 <i18n lang="foooo">
@@ -1496,11 +1503,11 @@ const foo = "foo";
 ================================================================================
 `;
 
-exports[`unknown.vue - {"vueIndentScriptAndStyle":true} format 1`] = `
+exports[`unknown.vue - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
-vueIndentScriptAndStyle: true
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 <i18n lang="foooo">
@@ -1559,10 +1566,11 @@ const foo = "foo";
 ================================================================================
 `;
 
-exports[`unknown.vue format 1`] = `
+exports[`unknown.vue - {"vueIndentScriptAndStyle":true} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
+vueIndentScriptAndStyle: true
                                                                                 | printWidth
 =====================================input======================================
 <i18n lang="foooo">
@@ -1671,11 +1679,11 @@ ja:
 ================================================================================
 `;
 
-exports[`yaml.vue - {"trailingComma":"none"} format 1`] = `
+exports[`yaml.vue - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 <i18n lang="yaml">
@@ -1696,11 +1704,11 @@ ja:
 ================================================================================
 `;
 
-exports[`yaml.vue - {"vueIndentScriptAndStyle":true} format 1`] = `
+exports[`yaml.vue - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
-vueIndentScriptAndStyle: true
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 <i18n lang="yaml">
@@ -1721,10 +1729,11 @@ ja:
 ================================================================================
 `;
 
-exports[`yaml.vue format 1`] = `
+exports[`yaml.vue - {"vueIndentScriptAndStyle":true} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
+vueIndentScriptAndStyle: true
                                                                                 | printWidth
 =====================================input======================================
 <i18n lang="yaml">
diff --git a/tests/format/vue/custom_block/jsfmt.spec.js b/tests/format/vue/custom_block/jsfmt.spec.js
index fd0cb6a6d7bd..1e94b1276ed5 100644
--- a/tests/format/vue/custom_block/jsfmt.spec.js
+++ b/tests/format/vue/custom_block/jsfmt.spec.js
@@ -1,5 +1,5 @@
 run_spec(import.meta, ["vue"], { trailingComma: "none" });
-run_spec(import.meta, ["vue"]);
+run_spec(import.meta, ["vue"], { trailingComma: "es5" });
 run_spec(import.meta, ["vue"], { semi: false });
 run_spec(import.meta, ["vue"], { vueIndentScriptAndStyle: true });
 run_spec(import.meta, ["vue"], { embeddedLanguageFormatting: "off" });
diff --git a/tests/format/vue/html-vue/__snapshots__/jsfmt.spec.js.snap b/tests/format/vue/html-vue/__snapshots__/jsfmt.spec.js.snap
index eed584d7d324..a18327687f82 100644
--- a/tests/format/vue/html-vue/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/vue/html-vue/__snapshots__/jsfmt.spec.js.snap
@@ -225,7 +225,7 @@ printWidth: 80
                   type: dynamics.spring,
                   duration: 700,
                   friction: 280,
-                }
+                },
               );
             }
           },
diff --git a/tests/format/vue/vue/__snapshots__/jsfmt.spec.js.snap b/tests/format/vue/vue/__snapshots__/jsfmt.spec.js.snap
index 572405782423..fadf3f5a0979 100644
--- a/tests/format/vue/vue/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/format/vue/vue/__snapshots__/jsfmt.spec.js.snap
@@ -366,11 +366,11 @@ semi: false
 ================================================================================
 `;
 
-exports[`attributes.vue - {"trailingComma":"none"} format 1`] = `
+exports[`attributes.vue - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 <template>
@@ -453,14 +453,14 @@ trailingComma: "none"
     ) of longLongLongLongLongLongLongLongList"
     v-for="{
       longLongProp,
-      longLongProp
+      longLongProp,
     } of longLongLongLongLongLongLongLongList"
     v-for="(
       {
         longLongProp,
         longLongProp,
         anotherLongLongProp,
-        yetAnotherLongLongProp
+        yetAnotherLongLongProp,
       },
       index
     ) of longLongLongLongLongLongLongLongList"
@@ -468,7 +468,7 @@ trailingComma: "none"
       longLongProp,
       longLongProp,
       anotherLongLongProp,
-      yetAnotherLongLongProp
+      yetAnotherLongLongProp,
     } of longLongLongLongLongLongLongLongList"
     v-for="(
       [longLongProp, longLongProp, anotherLongLongProp, yetAnotherLongLongProp],
@@ -479,7 +479,7 @@ trailingComma: "none"
         longLongProp,
         longLongProp = 42,
         anotherLongLongProp,
-        yetAnotherLongLongProp = 'Hello, World!'
+        yetAnotherLongLongProp = 'Hello, World!',
       ],
       index
     ) of longLongLongLongLongLongLongLongList"
@@ -494,11 +494,11 @@ trailingComma: "none"
             longLongProp,
             longLongProp,
             anotherLongLongProp,
-            yetAnotherLongLongProp
+            yetAnotherLongLongProp,
           ],
-          yetAnotherLongLongProp
+          yetAnotherLongLongProp,
         ],
-        yetAnotherLongLongProp
+        yetAnotherLongLongProp,
       ],
       index
     ) of longLongLongLongLongLongLongLongList"
@@ -516,13 +516,13 @@ trailingComma: "none"
               longLongProp,
               longLongProp,
               anotherLongLongProp,
-              yetAnotherLongLongProp
+              yetAnotherLongLongProp,
             ],
-            yetAnotherLongLongProp
+            yetAnotherLongLongProp,
           ],
-          yetAnotherLongLongProp
+          yetAnotherLongLongProp,
         ],
-        yetAnotherLongLongProp
+        yetAnotherLongLongProp,
       ],
       index
     ) of longLongLongLongLongLongLongLongList"
@@ -535,11 +535,11 @@ trailingComma: "none"
             longLongProp,
             longLongProp,
             anotherLongLongProp,
-            yetAnotherLongLongProp
+            yetAnotherLongLongProp,
           },
-          longLongProp
+          longLongProp,
         ],
-        yetAnotherLongLongProp
+        yetAnotherLongLongProp,
       ],
       index
     ) of longLongLongLongLongLongLongLongList"
@@ -550,8 +550,8 @@ trailingComma: "none"
           longLongProp,
           longLongProp,
           anotherLongLongProp,
-          yetAnotherLongLongProp
-        }
+          yetAnotherLongLongProp,
+        },
       },
       objectKey,
       index
@@ -577,10 +577,10 @@ trailingComma: "none"
           longLongProp,
           longLongProp,
           anotherLongLongProp,
-          yetAnotherLongLongProp
+          yetAnotherLongLongProp,
         },
         sixthValue,
-        seventhValue
+        seventhValue,
       },
       objectKey,
       index
@@ -595,7 +595,7 @@ trailingComma: "none"
           longLongProp,
           longLongProp,
           anotherLongLongProp,
-          yetAnotherLongLongProp
+          yetAnotherLongLongProp,
         },
         sixthValue: {
           firstValue,
@@ -606,12 +606,12 @@ trailingComma: "none"
             longLongProp,
             longLongProp,
             anotherLongLongProp,
-            yetAnotherLongLongProp
+            yetAnotherLongLongProp,
           },
           sixthValue,
-          seventhValue
+          seventhValue,
         },
-        seventhValue
+        seventhValue,
       },
       objectKey,
       index
@@ -629,12 +629,12 @@ trailingComma: "none"
             longLongProp,
             longLongProp,
             anotherLongLongProp,
-            yetAnotherLongLongProp
+            yetAnotherLongLongProp,
           },
-          yetAnotherLongLongProp
+          yetAnotherLongLongProp,
         },
         sixthValue,
-        seventhValue
+        seventhValue,
       },
       objectKey,
       index
@@ -669,32 +669,32 @@ trailingComma: "none"
     slot-scope="{ row }"
     slot-scope="{
       destructuring: {
-        a: { b }
-      }
+        a: { b },
+      },
     }"
     #default="foo"
     #default="{ row }"
     #default="{
       destructuring: {
-        a: { b }
-      }
+        a: { b },
+      },
     }"
     v-slot="foo"
     v-slot="{ row }"
     v-slot="{
       destructuring: {
-        a: { b }
-      }
+        a: { b },
+      },
     }"
     v-slot:name="foo"
     v-slot:name="{ row }"
     v-slot:name="{
       destructuring: {
-        a: { b }
-      }
+        a: { b },
+      },
     }"
     :class="{
-      longlonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglong: true
+      longlonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglong: true,
     }"
     :class="
       (() => {
@@ -723,8 +723,8 @@ trailingComma: "none"
     @click="a[null]"
     #default="{
       foo: {
-        bar: { baz }
-      }
+        bar: { baz },
+      },
     }"
   ></div>
 </template>
@@ -732,10 +732,11 @@ trailingComma: "none"
 ================================================================================
 `;
 
-exports[`attributes.vue format 1`] = `
+exports[`attributes.vue - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 <template>
@@ -818,14 +819,14 @@ printWidth: 80
     ) of longLongLongLongLongLongLongLongList"
     v-for="{
       longLongProp,
-      longLongProp,
+      longLongProp
     } of longLongLongLongLongLongLongLongList"
     v-for="(
       {
         longLongProp,
         longLongProp,
         anotherLongLongProp,
-        yetAnotherLongLongProp,
+        yetAnotherLongLongProp
       },
       index
     ) of longLongLongLongLongLongLongLongList"
@@ -833,7 +834,7 @@ printWidth: 80
       longLongProp,
       longLongProp,
       anotherLongLongProp,
-      yetAnotherLongLongProp,
+      yetAnotherLongLongProp
     } of longLongLongLongLongLongLongLongList"
     v-for="(
       [longLongProp, longLongProp, anotherLongLongProp, yetAnotherLongLongProp],
@@ -844,7 +845,7 @@ printWidth: 80
         longLongProp,
         longLongProp = 42,
         anotherLongLongProp,
-        yetAnotherLongLongProp = 'Hello, World!',
+        yetAnotherLongLongProp = 'Hello, World!'
       ],
       index
     ) of longLongLongLongLongLongLongLongList"
@@ -859,11 +860,11 @@ printWidth: 80
             longLongProp,
             longLongProp,
             anotherLongLongProp,
-            yetAnotherLongLongProp,
+            yetAnotherLongLongProp
           ],
-          yetAnotherLongLongProp,
+          yetAnotherLongLongProp
         ],
-        yetAnotherLongLongProp,
+        yetAnotherLongLongProp
       ],
       index
     ) of longLongLongLongLongLongLongLongList"
@@ -881,13 +882,13 @@ printWidth: 80
               longLongProp,
               longLongProp,
               anotherLongLongProp,
-              yetAnotherLongLongProp,
+              yetAnotherLongLongProp
             ],
-            yetAnotherLongLongProp,
+            yetAnotherLongLongProp
           ],
-          yetAnotherLongLongProp,
+          yetAnotherLongLongProp
         ],
-        yetAnotherLongLongProp,
+        yetAnotherLongLongProp
       ],
       index
     ) of longLongLongLongLongLongLongLongList"
@@ -900,11 +901,11 @@ printWidth: 80
             longLongProp,
             longLongProp,
             anotherLongLongProp,
-            yetAnotherLongLongProp,
+            yetAnotherLongLongProp
           },
-          longLongProp,
+          longLongProp
         ],
-        yetAnotherLongLongProp,
+        yetAnotherLongLongProp
       ],
       index
     ) of longLongLongLongLongLongLongLongList"
@@ -915,8 +916,8 @@ printWidth: 80
           longLongProp,
           longLongProp,
           anotherLongLongProp,
-          yetAnotherLongLongProp,
-        },
+          yetAnotherLongLongProp
+        }
       },
       objectKey,
       index
@@ -942,10 +943,10 @@ printWidth: 80
           longLongProp,
           longLongProp,
           anotherLongLongProp,
-          yetAnotherLongLongProp,
+          yetAnotherLongLongProp
         },
         sixthValue,
-        seventhValue,
+        seventhValue
       },
       objectKey,
       index
@@ -960,7 +961,7 @@ printWidth: 80
           longLongProp,
           longLongProp,
           anotherLongLongProp,
-          yetAnotherLongLongProp,
+          yetAnotherLongLongProp
         },
         sixthValue: {
           firstValue,
@@ -971,12 +972,12 @@ printWidth: 80
             longLongProp,
             longLongProp,
             anotherLongLongProp,
-            yetAnotherLongLongProp,
+            yetAnotherLongLongProp
           },
           sixthValue,
-          seventhValue,
+          seventhValue
         },
-        seventhValue,
+        seventhValue
       },
       objectKey,
       index
@@ -994,12 +995,12 @@ printWidth: 80
             longLongProp,
             longLongProp,
             anotherLongLongProp,
-            yetAnotherLongLongProp,
+            yetAnotherLongLongProp
           },
-          yetAnotherLongLongProp,
+          yetAnotherLongLongProp
         },
         sixthValue,
-        seventhValue,
+        seventhValue
       },
       objectKey,
       index
@@ -1034,32 +1035,32 @@ printWidth: 80
     slot-scope="{ row }"
     slot-scope="{
       destructuring: {
-        a: { b },
-      },
+        a: { b }
+      }
     }"
     #default="foo"
     #default="{ row }"
     #default="{
       destructuring: {
-        a: { b },
-      },
+        a: { b }
+      }
     }"
     v-slot="foo"
     v-slot="{ row }"
     v-slot="{
       destructuring: {
-        a: { b },
-      },
+        a: { b }
+      }
     }"
     v-slot:name="foo"
     v-slot:name="{ row }"
     v-slot:name="{
       destructuring: {
-        a: { b },
-      },
+        a: { b }
+      }
     }"
     :class="{
-      longlonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglong: true,
+      longlonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglong: true
     }"
     :class="
       (() => {
@@ -1088,8 +1089,8 @@ printWidth: 80
     @click="a[null]"
     #default="{
       foo: {
-        bar: { baz },
-      },
+        bar: { baz }
+      }
     }"
   ></div>
 </template>
@@ -1263,11 +1264,11 @@ export default {
 ================================================================================
 `;
 
-exports[`board_card.vue - {"trailingComma":"none"} format 1`] = `
+exports[`board_card.vue - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 <script>
@@ -1354,7 +1355,7 @@ const Store = gl.issueBoards.BoardsStore;
 export default {
   name: "BoardsIssueCard",
   components: {
-    "issue-card-inner": gl.issueBoards.IssueCardInner
+    "issue-card-inner": gl.issueBoards.IssueCardInner,
   },
   props: {
     list: Object,
@@ -1362,12 +1363,12 @@ export default {
     issueLinkBase: String,
     disabled: Boolean,
     index: Number,
-    rootPath: String
+    rootPath: String,
   },
   data() {
     return {
       showDetail: false,
-      detailIssue: Store.detail
+      detailIssue: Store.detail,
     };
   },
   computed: {
@@ -1375,7 +1376,7 @@ export default {
       return (
         this.detailIssue.issue && this.detailIssue.issue.id === this.issue.id
       );
-    }
+    },
   },
   methods: {
     mouseDown() {
@@ -1397,8 +1398,8 @@ export default {
           Store.detail.list = this.list;
         }
       }
-    }
-  }
+    },
+  },
 };
 </script>
 
@@ -1408,7 +1409,7 @@ export default {
     :class="{
       'user-can-drag': !disabled && issue.id,
       'is-disabled': disabled || !issue.id,
-      'is-active': issueDetailVisible
+      'is-active': issueDetailVisible,
     }"
     :index="index"
     :data-issue-id="issue.id"
@@ -1429,10 +1430,11 @@ export default {
 ================================================================================
 `;
 
-exports[`board_card.vue format 1`] = `
+exports[`board_card.vue - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 <script>
@@ -1519,7 +1521,7 @@ const Store = gl.issueBoards.BoardsStore;
 export default {
   name: "BoardsIssueCard",
   components: {
-    "issue-card-inner": gl.issueBoards.IssueCardInner,
+    "issue-card-inner": gl.issueBoards.IssueCardInner
   },
   props: {
     list: Object,
@@ -1527,12 +1529,12 @@ export default {
     issueLinkBase: String,
     disabled: Boolean,
     index: Number,
-    rootPath: String,
+    rootPath: String
   },
   data() {
     return {
       showDetail: false,
-      detailIssue: Store.detail,
+      detailIssue: Store.detail
     };
   },
   computed: {
@@ -1540,7 +1542,7 @@ export default {
       return (
         this.detailIssue.issue && this.detailIssue.issue.id === this.issue.id
       );
-    },
+    }
   },
   methods: {
     mouseDown() {
@@ -1562,8 +1564,8 @@ export default {
           Store.detail.list = this.list;
         }
       }
-    },
-  },
+    }
+  }
 };
 </script>
 
@@ -1573,7 +1575,7 @@ export default {
     :class="{
       'user-can-drag': !disabled && issue.id,
       'is-disabled': disabled || !issue.id,
-      'is-active': issueDetailVisible,
+      'is-active': issueDetailVisible
     }"
     :index="index"
     :data-issue-id="issue.id"
@@ -1613,11 +1615,11 @@ semi: false
 ================================================================================
 `;
 
-exports[`case-sensitive-tags.vue - {"trailingComma":"none"} format 1`] = `
+exports[`case-sensitive-tags.vue - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 <template>
@@ -1632,10 +1634,11 @@ trailingComma: "none"
 ================================================================================
 `;
 
-exports[`case-sensitive-tags.vue format 1`] = `
+exports[`case-sensitive-tags.vue - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 <template>
@@ -1680,11 +1683,11 @@ semi: false
 ================================================================================
 `;
 
-exports[`custom-block.vue - {"trailingComma":"none"} format 1`] = `
+exports[`custom-block.vue - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 <i18n>
@@ -1710,10 +1713,11 @@ trailingComma: "none"
 ================================================================================
 `;
 
-exports[`custom-block.vue format 1`] = `
+exports[`custom-block.vue - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 <i18n>
@@ -1813,11 +1817,11 @@ semi: false
 ================================================================================
 `;
 
-exports[`expression-binding.vue - {"trailingComma":"none"} format 1`] = `
+exports[`expression-binding.vue - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 <!-- #7396 -->
@@ -1887,10 +1891,11 @@ trailingComma: "none"
 ================================================================================
 `;
 
-exports[`expression-binding.vue format 1`] = `
+exports[`expression-binding.vue - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 <!-- #7396 -->
@@ -2018,11 +2023,11 @@ semi: false
 ================================================================================
 `;
 
-exports[`filter.vue - {"trailingComma":"none"} format 1`] = `
+exports[`filter.vue - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 <!-- vue filters are only allowed in v-bind and interpolation -->
@@ -2076,10 +2081,11 @@ trailingComma: "none"
 ================================================================================
 `;
 
-exports[`filter.vue format 1`] = `
+exports[`filter.vue - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 <!-- vue filters are only allowed in v-bind and interpolation -->
@@ -2264,11 +2270,11 @@ x => {
 ================================================================================
 `;
 
-exports[`interpolations.vue - {"trailingComma":"none"} format 1`] = `
+exports[`interpolations.vue - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 <template>
@@ -2395,10 +2401,11 @@ x => {
 ================================================================================
 `;
 
-exports[`interpolations.vue format 1`] = `
+exports[`interpolations.vue - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 <template>
@@ -2548,11 +2555,11 @@ cloned.
 ================================================================================
 `;
 
-exports[`multiple-template1.vue - {"trailingComma":"none"} format 1`] = `
+exports[`multiple-template1.vue - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 <template></template>
@@ -2571,10 +2578,11 @@ cloned.
 ================================================================================
 `;
 
-exports[`multiple-template1.vue format 1`] = `
+exports[`multiple-template1.vue - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 <template></template>
@@ -2616,11 +2624,11 @@ semi: false
 ================================================================================
 `;
 
-exports[`multiple-template2.vue - {"trailingComma":"none"} format 1`] = `
+exports[`multiple-template2.vue - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 <template></template>
@@ -2639,10 +2647,11 @@ trailingComma: "none"
 ================================================================================
 `;
 
-exports[`multiple-template2.vue format 1`] = `
+exports[`multiple-template2.vue - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 <template></template>
@@ -2692,11 +2701,11 @@ semi: false
 ================================================================================
 `;
 
-exports[`nested-template.vue - {"trailingComma":"none"} format 1`] = `
+exports[`nested-template.vue - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 <template>
@@ -2723,10 +2732,11 @@ trailingComma: "none"
 ================================================================================
 `;
 
-exports[`nested-template.vue format 1`] = `
+exports[`nested-template.vue - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 <template>
@@ -2771,11 +2781,11 @@ semi: false
 ================================================================================
 `;
 
-exports[`one-line-template1.vue - {"trailingComma":"none"} format 1`] = `
+exports[`one-line-template1.vue - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 <template><p>foo</p><div>foo</div></template>
@@ -2789,10 +2799,11 @@ trailingComma: "none"
 ================================================================================
 `;
 
-exports[`one-line-template1.vue format 1`] = `
+exports[`one-line-template1.vue - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 <template><p>foo</p><div>foo</div></template>
@@ -2826,11 +2837,11 @@ semi: false
 ================================================================================
 `;
 
-exports[`one-line-template2.vue - {"trailingComma":"none"} format 1`] = `
+exports[`one-line-template2.vue - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 <template><div><p>foo</p><div>bar</div></div></template>
@@ -2846,10 +2857,11 @@ trailingComma: "none"
 ================================================================================
 `;
 
-exports[`one-line-template2.vue format 1`] = `
+exports[`one-line-template2.vue - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 <template><div><p>foo</p><div>bar</div></div></template>
@@ -2971,11 +2983,11 @@ semi: false
 ================================================================================
 `;
 
-exports[`pre-child.vue - {"trailingComma":"none"} format 1`] = `
+exports[`pre-child.vue - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 <template>
@@ -3077,10 +3089,11 @@ trailingComma: "none"
 ================================================================================
 `;
 
-exports[`pre-child.vue format 1`] = `
+exports[`pre-child.vue - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 <template>
@@ -3199,11 +3212,11 @@ semi: false
 ================================================================================
 `;
 
-exports[`script_src.vue - {"trailingComma":"none"} format 1`] = `
+exports[`script_src.vue - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 <script src="https://www.gstatic.com/firebasejs/4.10.1/firebase.js"></script>
@@ -3216,10 +3229,11 @@ trailingComma: "none"
 ================================================================================
 `;
 
-exports[`script_src.vue format 1`] = `
+exports[`script_src.vue - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 <script src="https://www.gstatic.com/firebasejs/4.10.1/firebase.js"></script>
@@ -3287,11 +3301,11 @@ foo()
 ================================================================================
 `;
 
-exports[`self_closing.vue - {"trailingComma":"none"} format 1`] = `
+exports[`self_closing.vue - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 <template>
@@ -3342,10 +3356,11 @@ foo();
 ================================================================================
 `;
 
-exports[`self_closing.vue format 1`] = `
+exports[`self_closing.vue - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 <template>
@@ -3419,11 +3434,11 @@ semi: false
 ================================================================================
 `;
 
-exports[`self_closing_style.vue - {"trailingComma":"none"} format 1`] = `
+exports[`self_closing_style.vue - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 <template>
@@ -3442,10 +3457,11 @@ trailingComma: "none"
 ================================================================================
 `;
 
-exports[`self_closing_style.vue format 1`] = `
+exports[`self_closing_style.vue - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 <template>
@@ -3571,11 +3587,11 @@ semi: false
 ================================================================================
 `;
 
-exports[`style.vue - {"trailingComma":"none"} format 1`] = `
+exports[`style.vue - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 <script>
@@ -3678,10 +3694,11 @@ trailingComma: "none"
 ================================================================================
 `;
 
-exports[`style.vue format 1`] = `
+exports[`style.vue - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 <script>
@@ -3803,11 +3820,11 @@ semi: false
 ================================================================================
 `;
 
-exports[`tag-name.vue - {"trailingComma":"none"} format 1`] = `
+exports[`tag-name.vue - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 <template>
@@ -3822,10 +3839,11 @@ trailingComma: "none"
 ================================================================================
 `;
 
-exports[`tag-name.vue format 1`] = `
+exports[`tag-name.vue - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 <template>
@@ -3904,11 +3922,11 @@ semi: false
 ================================================================================
 `;
 
-exports[`template.vue - {"trailingComma":"none"} format 1`] = `
+exports[`template.vue - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 <!--copied from https://github.com/gitlabhq/gitlabhq/blob/master/app/assets/javascripts/vue_shared/components/content_viewer/viewers/image_viewer.vue-->
@@ -3968,10 +3986,11 @@ trailingComma: "none"
 ================================================================================
 `;
 
-exports[`template.vue format 1`] = `
+exports[`template.vue - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 <!--copied from https://github.com/gitlabhq/gitlabhq/blob/master/app/assets/javascripts/vue_shared/components/content_viewer/viewers/image_viewer.vue-->
@@ -4063,11 +4082,11 @@ new Vue({el: '#app'})
 ================================================================================
 `;
 
-exports[`template-dom.html - {"trailingComma":"none"} format 1`] = `
+exports[`template-dom.html - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 <!DOCTYPE html><html>
@@ -4095,10 +4114,11 @@ new Vue({el: '#app'})
 ================================================================================
 `;
 
-exports[`template-dom.html format 1`] = `
+exports[`template-dom.html - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 <!DOCTYPE html><html>
@@ -4207,11 +4227,11 @@ semi: false
 ================================================================================
 `;
 
-exports[`template-lang.vue - {"trailingComma":"none"} format 1`] = `
+exports[`template-lang.vue - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 <template lang="pug">
@@ -4288,10 +4308,11 @@ trailingComma: "none"
 ================================================================================
 `;
 
-exports[`template-lang.vue format 1`] = `
+exports[`template-lang.vue - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 <template lang="pug">
@@ -4400,11 +4421,11 @@ semi: false
 ================================================================================
 `;
 
-exports[`test.vue - {"trailingComma":"none"} format 1`] = `
+exports[`test.vue - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 <script>
@@ -4432,10 +4453,11 @@ trailingComma: "none"
 ================================================================================
 `;
 
-exports[`test.vue format 1`] = `
+exports[`test.vue - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 <script>
@@ -4574,11 +4596,11 @@ long_long_long_long_long_long_long_condition_4
 ================================================================================
 `;
 
-exports[`v-if.vue - {"trailingComma":"none"} format 1`] = `
+exports[`v-if.vue - {"trailingComma":"es5"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
-trailingComma: "none"
+trailingComma: "es5"
                                                                                 | printWidth
 =====================================input======================================
 <template>
@@ -4685,10 +4707,11 @@ long_long_long_long_long_long_long_condition_4
 ================================================================================
 `;
 
-exports[`v-if.vue format 1`] = `
+exports[`v-if.vue - {"trailingComma":"none"} format 1`] = `
 ====================================options=====================================
 parsers: ["vue"]
 printWidth: 80
+trailingComma: "none"
                                                                                 | printWidth
 =====================================input======================================
 <template>
diff --git a/tests/format/vue/vue/jsfmt.spec.js b/tests/format/vue/vue/jsfmt.spec.js
index 7830e1859b0c..4976a182ba5f 100644
--- a/tests/format/vue/vue/jsfmt.spec.js
+++ b/tests/format/vue/vue/jsfmt.spec.js
@@ -1,3 +1,3 @@
 run_spec(import.meta, ["vue"], { trailingComma: "none" });
-run_spec(import.meta, ["vue"]);
+run_spec(import.meta, ["vue"], { trailingComma: "es5" });
 run_spec(import.meta, ["vue"], { semi: false });
diff --git a/tests/integration/__tests__/__snapshots__/early-exit.js.snap b/tests/integration/__tests__/__snapshots__/early-exit.js.snap
index 63f00b025ee6..f5d47c4187d4 100644
--- a/tests/integration/__tests__/__snapshots__/early-exit.js.snap
+++ b/tests/integration/__tests__/__snapshots__/early-exit.js.snap
@@ -93,9 +93,9 @@ Format options:
                            Defaults to false.
   --tab-width <int>        Number of spaces per indentation level.
                            Defaults to 2.
-  --trailing-comma <es5|none|all>
+  --trailing-comma <all|es5|none>
                            Print trailing commas wherever possible when multi-line.
-                           Defaults to es5.
+                           Defaults to all.
   --use-tabs               Indent with tabs instead of spaces.
                            Defaults to false.
   --vue-indent-script-and-style
@@ -267,9 +267,9 @@ Format options:
                            Defaults to false.
   --tab-width <int>        Number of spaces per indentation level.
                            Defaults to 2.
-  --trailing-comma <es5|none|all>
+  --trailing-comma <all|es5|none>
                            Print trailing commas wherever possible when multi-line.
-                           Defaults to es5.
+                           Defaults to all.
   --use-tabs               Indent with tabs instead of spaces.
                            Defaults to false.
   --vue-indent-script-and-style
diff --git a/tests/integration/__tests__/__snapshots__/help-options.js.snap b/tests/integration/__tests__/__snapshots__/help-options.js.snap
index 009f516d3495..26cd3d8e7578 100644
--- a/tests/integration/__tests__/__snapshots__/help-options.js.snap
+++ b/tests/integration/__tests__/__snapshots__/help-options.js.snap
@@ -646,17 +646,17 @@ exports[`show detailed usage with --help tab-width (write) 1`] = `[]`;
 exports[`show detailed usage with --help trailing-comma (stderr) 1`] = `""`;
 
 exports[`show detailed usage with --help trailing-comma (stdout) 1`] = `
-"--trailing-comma <es5|none|all>
+"--trailing-comma <all|es5|none>
 
   Print trailing commas wherever possible when multi-line.
 
 Valid options:
 
+  all    Trailing commas wherever possible (including function arguments).
   es5    Trailing commas where valid in ES5 (objects, arrays, etc.)
   none   No trailing commas.
-  all    Trailing commas wherever possible (including function arguments).
 
-Default: es5
+Default: all
 "
 `;
 
diff --git a/tests/integration/__tests__/__snapshots__/schema.js.snap b/tests/integration/__tests__/__snapshots__/schema.js.snap
index 520c9fa2f2a9..a08489ebfb0c 100644
--- a/tests/integration/__tests__/__snapshots__/schema.js.snap
+++ b/tests/integration/__tests__/__snapshots__/schema.js.snap
@@ -402,21 +402,21 @@ in order for it to be formatted.",
           "description": "Print trailing commas wherever possible when multi-line.",
           "oneOf": [
             {
-              "description": "Trailing commas where valid in ES5 (objects, arrays, etc.)",
+              "description": "Trailing commas wherever possible (including function arguments).",
               "enum": [
-                "es5",
+                "all",
               ],
             },
             {
-              "description": "No trailing commas.",
+              "description": "Trailing commas where valid in ES5 (objects, arrays, etc.)",
               "enum": [
-                "none",
+                "es5",
               ],
             },
             {
-              "description": "Trailing commas wherever possible (including function arguments).",
+              "description": "No trailing commas.",
               "enum": [
-                "all",
+                "none",
               ],
             },
           ],
diff --git a/tests/integration/__tests__/__snapshots__/support-info.js.snap b/tests/integration/__tests__/__snapshots__/support-info.js.snap
index 284147437ae6..886f73e0c860 100644
--- a/tests/integration/__tests__/__snapshots__/support-info.js.snap
+++ b/tests/integration/__tests__/__snapshots__/support-info.js.snap
@@ -260,9 +260,9 @@ exports[`API getSupportInfo() 1`] = `
     },
     "trailingComma": {
       "choices": [
+        "all",
         "es5",
         "none",
-        "all",
       ],
       "default": "es5",
       "type": "choice",
@@ -1127,15 +1127,15 @@ exports[`CLI --support-info (stdout) 1`] = `
     {
       "category": "JavaScript",
       "choices": [
+        {
+          "description": "Trailing commas wherever possible (including function arguments).",
+          "value": "all"
+        },
         {
           "description": "Trailing commas where valid in ES5 (objects, arrays, etc.)",
           "value": "es5"
         },
-        { "description": "No trailing commas.", "value": "none" },
-        {
-          "description": "Trailing commas wherever possible (including function arguments).",
-          "value": "all"
-        }
+        { "description": "No trailing commas.", "value": "none" }
       ],
       "default": "es5",
       "description": "Print trailing commas wherever possible when multi-line.",
diff --git a/tests/integration/__tests__/__snapshots__/with-config-precedence.js.snap b/tests/integration/__tests__/__snapshots__/with-config-precedence.js.snap
index cf279b986873..db3118ab3cd0 100644
--- a/tests/integration/__tests__/__snapshots__/with-config-precedence.js.snap
+++ b/tests/integration/__tests__/__snapshots__/with-config-precedence.js.snap
@@ -37,7 +37,7 @@ exports[`CLI overrides gets applied when no config exists with --config-preceden
 exports[`CLI overrides gets applied when no config exists with --config-precedence prefer-file (stdout) 1`] = `
 "function noConfigJs() {
        console.log(
-              "no-config/file.js should have no semicolons"
+              "no-config/file.js should have no semicolons",
        );
 }
 "