diff --git a/src/printer.js b/src/printer.js
index ad9ec8bcb..363813cdb 100644
--- a/src/printer.js
+++ b/src/printer.js
@@ -1226,10 +1226,18 @@ function genericPrintNoParens(path, options, print, args) {
const hasValue = n.declarations.some(decl => decl.init);
+ let firstVariable;
+ if (printed.length === 1) {
+ firstVariable = printed[0];
+ } else if (printed.length > 1) {
+ // Indent first var to comply with eslint one-var rule
+ firstVariable = indent(printed[0]);
+ }
+
parts = [
isNodeStartingWithDeclare(n, options) ? "declare " : "",
n.kind,
- printed.length ? concat([" ", printed[0]]) : "",
+ firstVariable ? concat([" ", firstVariable]) : "",
indent(
concat(
printed
diff --git a/tests/variable_declarator/__snapshots__/jsfmt.spec.js.snap b/tests/variable_declarator/__snapshots__/jsfmt.spec.js.snap
index d31265dac..a4bba2b82 100644
--- a/tests/variable_declarator/__snapshots__/jsfmt.spec.js.snap
+++ b/tests/variable_declarator/__snapshots__/jsfmt.spec.js.snap
@@ -13,6 +13,16 @@ var a, b, c;
let superSuperSuperLong1, superSuperSuperLong2, superSuperSuperLong3, superSuperSuperLong4;
for (var i = 0, len = arr.length; i < len; i++) {}
+
+var templateTagsMapping = {
+ '%{itemIndex}': 'index',
+ '%{itemContentMetaTextViews}': 'views'
+ },
+ separator = '•',
+ templateTagsList = $.map(templateTagsMapping, function(value, key) {
+ return key;
+ }),
+ data;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
var assert = require("assert"),
lookup = require("../lookup");
@@ -30,6 +40,16 @@ let superSuperSuperLong1,
for (var i = 0, len = arr.length; i < len; i++) {}
+var templateTagsMapping = {
+ "%{itemIndex}": "index",
+ "%{itemContentMetaTextViews}": "views"
+ },
+ separator = '•',
+ templateTagsList = $.map(templateTagsMapping, function(value, key) {
+ return key;
+ }),
+ data;
+
`;
exports[`string.js 1`] = `
diff --git a/tests/variable_declarator/multiple.js b/tests/variable_declarator/multiple.js
index f96dbdb25..8fe19e3f1 100644
--- a/tests/variable_declarator/multiple.js
+++ b/tests/variable_declarator/multiple.js
@@ -10,3 +10,13 @@ var a, b, c;
let superSuperSuperLong1, superSuperSuperLong2, superSuperSuperLong3, superSuperSuperLong4;
for (var i = 0, len = arr.length; i < len; i++) {}
+
+var templateTagsMapping = {
+ '%{itemIndex}': 'index',
+ '%{itemContentMetaTextViews}': 'views'
+ },
+ separator = '•',
+ templateTagsList = $.map(templateTagsMapping, function(value, key) {
+ return key;
+ }),
+ data;