Enable prefer-object-spread rule

https://eslint.org/docs/rules/prefer-object-spread

Changes are primarily made by `eslintfix`
with manual change for over-length

Change-Id: I488afd17cf119d9c2ed2126b66e57edbf03a4b4d
diff --git a/polygerrit-ui/app/elements/diff/gr-apply-fix-dialog/gr-apply-fix-dialog.js b/polygerrit-ui/app/elements/diff/gr-apply-fix-dialog/gr-apply-fix-dialog.js
index 6394bff..d051d30 100644
--- a/polygerrit-ui/app/elements/diff/gr-apply-fix-dialog/gr-apply-fix-dialog.js
+++ b/polygerrit-ui/app/elements/diff/gr-apply-fix-dialog/gr-apply-fix-dialog.js
@@ -141,7 +141,7 @@
 
   overridePartialPrefs(prefs) {
     // generate a smaller gr-diff than fullscreen for dialog
-    return Object.assign({}, prefs, {line_length: 50});
+    return {...prefs, line_length: 50};
   }
 
   onCancel(e) {
diff --git a/polygerrit-ui/app/elements/diff/gr-comment-api/gr-comment-api.js b/polygerrit-ui/app/elements/diff/gr-comment-api/gr-comment-api.js
index 89821fd..165d28c 100644
--- a/polygerrit-ui/app/elements/diff/gr-comment-api/gr-comment-api.js
+++ b/polygerrit-ui/app/elements/diff/gr-comment-api/gr-comment-api.js
@@ -380,7 +380,7 @@
     for (const file of Object.keys(comments)) {
       const commentsForFile = [];
       for (const comment of comments[file]) {
-        commentsForFile.push(Object.assign({__path: file}, comment));
+        commentsForFile.push({__path: file, ...comment});
       }
       commentArr = commentArr.concat(commentsForFile);
     }
diff --git a/polygerrit-ui/app/elements/diff/gr-diff-builder/gr-diff-builder-element.js b/polygerrit-ui/app/elements/diff/gr-diff-builder/gr-diff-builder-element.js
index bb617f0..ef75da0 100644
--- a/polygerrit-ui/app/elements/diff/gr-diff-builder/gr-diff-builder-element.js
+++ b/polygerrit-ui/app/elements/diff/gr-diff-builder/gr-diff-builder-element.js
@@ -312,7 +312,7 @@
       return;
     }
 
-    const localPrefs = Object.assign({}, prefs);
+    const localPrefs = {...prefs};
     if (this.path === COMMIT_MSG_PATH) {
       // override line_length for commit msg the same way as
       // in gr-diff
diff --git a/polygerrit-ui/app/elements/diff/gr-diff-host/gr-diff-host.js b/polygerrit-ui/app/elements/diff/gr-diff-host/gr-diff-host.js
index 6afa9df..d90221a 100644
--- a/polygerrit-ui/app/elements/diff/gr-diff-host/gr-diff-host.js
+++ b/polygerrit-ui/app/elements/diff/gr-diff-host/gr-diff-host.js
@@ -729,7 +729,7 @@
         isOnParent: comment.side === 'PARENT',
       };
       if (comment.range) {
-        newThread.range = Object.assign({}, comment.range);
+        newThread.range = {...comment.range};
       }
       threads.push(newThread);
     }
diff --git a/polygerrit-ui/app/elements/diff/gr-diff-processor/gr-diff-processor.js b/polygerrit-ui/app/elements/diff/gr-diff-processor/gr-diff-processor.js
index b9c97a9..a4954a1 100644
--- a/polygerrit-ui/app/elements/diff/gr-diff-processor/gr-diff-processor.js
+++ b/polygerrit-ui/app/elements/diff/gr-diff-processor/gr-diff-processor.js
@@ -509,14 +509,20 @@
 
       if (chunk.ab) {
         result.push(...this._splitAtChunkEnds(chunk.ab, chunkEnds)
-            .map(({lines, keyLocation}) =>
-              Object.assign({}, chunk, {ab: lines, keyLocation})));
+            .map(({lines, keyLocation}) => {
+              return {
+                ...chunk,
+                ab: lines,
+                keyLocation,
+              };
+            }));
       } else if (chunk.common) {
         const aChunks = this._splitAtChunkEnds(chunk.a, chunkEnds);
         const bChunks = this._splitAtChunkEnds(chunk.b, chunkEnds);
-        result.push(...aChunks.map(({lines, keyLocation}, i) =>
-          Object.assign(
-              {}, chunk, {a: lines, b: bChunks[i].lines, keyLocation})));
+        result.push(...aChunks.map(({lines, keyLocation}, i) => {
+          return {
+            ...chunk, a: lines, b: bChunks[i].lines, keyLocation};
+        }));
       }
     }
 
diff --git a/polygerrit-ui/app/elements/diff/gr-diff-view/gr-diff-view.js b/polygerrit-ui/app/elements/diff/gr-diff-view/gr-diff-view.js
index 854ac63..6823156 100644
--- a/polygerrit-ui/app/elements/diff/gr-diff-view/gr-diff-view.js
+++ b/polygerrit-ui/app/elements/diff/gr-diff-view/gr-diff-view.js
@@ -390,7 +390,7 @@
         changeNum, patchRange).then(changeFiles => {
       if (!changeFiles) return;
       const commentedPaths = changeComments.getPaths(patchRange);
-      const files = Object.assign({}, changeFiles);
+      const files = {...changeFiles};
       addUnmodifiedFiles(files, commentedPaths);
       this._files = {
         sortedFileList: Object.keys(files).sort(specialFilePathCompare),
diff --git a/polygerrit-ui/app/elements/diff/gr-diff/gr-diff.js b/polygerrit-ui/app/elements/diff/gr-diff/gr-diff.js
index 8e45b62..2c5787a 100644
--- a/polygerrit-ui/app/elements/diff/gr-diff/gr-diff.js
+++ b/polygerrit-ui/app/elements/diff/gr-diff/gr-diff.js
@@ -880,7 +880,7 @@
    */
   _getBypassPrefs() {
     if (this._safetyBypass !== null) {
-      return Object.assign({}, this.prefs, {context: this._safetyBypass});
+      return {...this.prefs, context: this._safetyBypass};
     }
     return this.prefs;
   }
diff --git a/polygerrit-ui/app/elements/diff/gr-diff/gr-diff_test.js b/polygerrit-ui/app/elements/diff/gr-diff/gr-diff_test.js
index 86a2b65..02f09a8 100644
--- a/polygerrit-ui/app/elements/diff/gr-diff/gr-diff_test.js
+++ b/polygerrit-ui/app/elements/diff/gr-diff/gr-diff_test.js
@@ -76,14 +76,14 @@
 
   test('line limit with line_wrapping', () => {
     element = basicFixture.instantiate();
-    element.prefs = Object.assign({}, MINIMAL_PREFS, {line_wrapping: true});
+    element.prefs = {...MINIMAL_PREFS, line_wrapping: true};
     flushAsynchronousOperations();
     assert.equal(getComputedStyleValue('--line-limit', element), '80ch');
   });
 
   test('line limit without line_wrapping', () => {
     element = basicFixture.instantiate();
-    element.prefs = Object.assign({}, MINIMAL_PREFS, {line_wrapping: false});
+    element.prefs = {...MINIMAL_PREFS, line_wrapping: false};
     flushAsynchronousOperations();
     assert.isNotOk(getComputedStyleValue('--line-limit', element));
   });
@@ -225,7 +225,7 @@
       element.path = 'file.txt';
 
       element.$.diffBuilder._builder = element.$.diffBuilder._getDiffBuilder(
-          getMockDiffResponse(), Object.assign({}, MINIMAL_PREFS));
+          getMockDiffResponse(), {...MINIMAL_PREFS});
 
       // No thread groups.
       assert.isNotOk(element._getThreadGroupForLine(contentEl));
@@ -693,22 +693,22 @@
 
       test('change in preferences re-renders diff', () => {
         sinon.stub(element, '_renderDiffTable');
-        element.prefs = Object.assign(
-            {}, MINIMAL_PREFS, {time_format: 'HHMM_12'});
+        element.prefs = {
+          ...MINIMAL_PREFS, time_format: 'HHMM_12'};
         element.flushDebouncer('renderDiffTable');
         assert.isTrue(element._renderDiffTable.called);
       });
 
       test('adding/removing property in preferences re-renders diff', () => {
         const stub = sinon.stub(element, '_renderDiffTable');
-        const newPrefs1 = Object.assign({}, MINIMAL_PREFS,
-            {line_wrapping: true});
+        const newPrefs1 = {...MINIMAL_PREFS,
+          line_wrapping: true};
         element.prefs = newPrefs1;
         element.flushDebouncer('renderDiffTable');
         assert.isTrue(element._renderDiffTable.called);
         stub.reset();
 
-        const newPrefs2 = Object.assign({}, newPrefs1);
+        const newPrefs2 = {...newPrefs1};
         delete newPrefs2.line_wrapping;
         element.prefs = newPrefs2;
         element.flushDebouncer('renderDiffTable');
@@ -719,8 +719,8 @@
           'noRenderOnPrefsChange', () => {
         sinon.stub(element, '_renderDiffTable');
         element.noRenderOnPrefsChange = true;
-        element.prefs = Object.assign(
-            {}, MINIMAL_PREFS, {time_format: 'HHMM_12'});
+        element.prefs = {
+          ...MINIMAL_PREFS, time_format: 'HHMM_12'};
         element.flushDebouncer('renderDiffTable');
         assert.isFalse(element._renderDiffTable.called);
       });
@@ -787,7 +787,7 @@
     });
 
     test('large render w/ context = 10', done => {
-      element.prefs = Object.assign({}, MINIMAL_PREFS, {context: 10});
+      element.prefs = {...MINIMAL_PREFS, context: 10};
       function rendered() {
         assert.isTrue(renderStub.called);
         assert.isFalse(element._showWarning);
@@ -799,7 +799,7 @@
     });
 
     test('large render w/ whole file and bypass', done => {
-      element.prefs = Object.assign({}, MINIMAL_PREFS, {context: -1});
+      element.prefs = {...MINIMAL_PREFS, context: -1};
       element._safetyBypass = 10;
       function rendered() {
         assert.isTrue(renderStub.called);
@@ -812,7 +812,7 @@
     });
 
     test('large render w/ whole file and no bypass', done => {
-      element.prefs = Object.assign({}, MINIMAL_PREFS, {context: -1});
+      element.prefs = {...MINIMAL_PREFS, context: -1};
       function rendered() {
         assert.isFalse(renderStub.called);
         assert.isTrue(element._showWarning);
@@ -1028,7 +1028,7 @@
     }
     setupSampleDiff({content});
     assertDiffTableWithContent();
-    element.diff = Object.assign({}, element.diff);
+    element.diff = {...element.diff};
     // immediately cleaned up
     assert.equal(element.$.diffTable.innerHTML, '');
     element._renderDiffTable();
diff --git a/polygerrit-ui/app/elements/diff/gr-patch-range-select/gr-patch-range-select.js b/polygerrit-ui/app/elements/diff/gr-patch-range-select/gr-patch-range-select.js
index 8ec2058..0744d0d 100644
--- a/polygerrit-ui/app/elements/diff/gr-patch-range-select/gr-patch-range-select.js
+++ b/polygerrit-ui/app/elements/diff/gr-patch-range-select/gr-patch-range-select.js
@@ -115,10 +115,8 @@
       const basePatchNum = basePatch.num;
       const entry = this._createDropdownEntry(basePatchNum, 'Patchset ',
           _sortedRevisions, changeComments, this._getShaForPatch(basePatch));
-      dropdownContent.push(Object.assign({}, entry, {
-        disabled: this._computeLeftDisabled(
-            basePatch.num, patchNum, _sortedRevisions),
-      }));
+      dropdownContent.push({...entry, disabled: this._computeLeftDisabled(
+          basePatch.num, patchNum, _sortedRevisions)});
     }
 
     dropdownContent.push({
@@ -163,10 +161,11 @@
       const entry = this._createDropdownEntry(
           patchNum, patchNum === 'edit' ? '' : 'Patchset ', _sortedRevisions,
           changeComments, this._getShaForPatch(patch));
-      dropdownContent.push(Object.assign({}, entry, {
-        disabled: this._computeRightDisabled(basePatchNum, patchNum,
-            _sortedRevisions),
-      }));
+      dropdownContent.push({
+        ...entry,
+        disabled: this._computeRightDisabled(
+            basePatchNum, patchNum, _sortedRevisions),
+      });
     }
     return dropdownContent;
   }
diff --git a/polygerrit-ui/app/elements/diff/gr-ranged-comment-layer/gr-ranged-comment-layer.js b/polygerrit-ui/app/elements/diff/gr-ranged-comment-layer/gr-ranged-comment-layer.js
index 231e4b5..830a91a 100644
--- a/polygerrit-ui/app/elements/diff/gr-ranged-comment-layer/gr-ranged-comment-layer.js
+++ b/polygerrit-ui/app/elements/diff/gr-ranged-comment-layer/gr-ranged-comment-layer.js
@@ -223,7 +223,7 @@
         .map(range => {
           // Make a copy, so that the normalization below does not mess with
           // our map.
-          range = Object.assign({}, range);
+          range = {...range};
           range.end = range.end === -1 ? line.text.length : range.end;
 
           // Normalize invalid ranges where the start is after the end but the