diff --git a/lib/rules/comma-spacing.js b/lib/rules/comma-spacing.js index 789de7843c3..a9f89676a4a 100644 --- a/lib/rules/comma-spacing.js +++ b/lib/rules/comma-spacing.js @@ -120,6 +120,10 @@ module.exports = { report(reportItem, "before", tokens.left); } + if (tokens.right && astUtils.isClosingParenToken(tokens.right)) { + return; + } + if (tokens.right && !options.after && tokens.right.type === "Line") { return; } diff --git a/tests/lib/rules/comma-spacing.js b/tests/lib/rules/comma-spacing.js index d5c8ff0ec84..2df7c71fadc 100644 --- a/tests/lib/rules/comma-spacing.js +++ b/tests/lib/rules/comma-spacing.js @@ -61,6 +61,10 @@ ruleTester.run("comma-spacing", rule, { "[' , ']", { code: "[` , `]", parserOptions: { ecmaVersion: 6 } }, { code: "`${[1, 2]}`", parserOptions: { ecmaVersion: 6 } }, + { code: "fn(a, b,)", parserOptions: { ecmaVersion: 2018 } }, // #11295 + { code: "const fn = (a, b,) => {}", parserOptions: { ecmaVersion: 2018 } }, // #11295 + { code: "const fn = function (a, b,) {}", parserOptions: { ecmaVersion: 2018 } }, // #11295 + { code: "function fn(a, b,) {}", parserOptions: { ecmaVersion: 2018 } }, // #11295 "foo(/,/, 'a')", "var x = ',,,,,';", "var code = 'var foo = 1, bar = 3;'",