diff --git a/src/language-html/ast.js b/src/language-html/ast.js
index 52b709ac6..1f57014ab 100644
--- a/src/language-html/ast.js
+++ b/src/language-html/ast.js
@@ -23,10 +23,9 @@ class Node {
this[key] = cloneAndUpdateNodes(nodes, this);
if (key === "attrs") {
setNonEnumerableProperties(this, {
- attrMap: this[key].reduce((reduced, attr) => {
- reduced[attr.fullName] = attr.value;
- return reduced;
- }, Object.create(null)),
+ attrMap: fromPairs(
+ this[key].map((attr) => [attr.fullName, attr.value])
+ ),
});
}
}
diff --git a/src/main/options.js b/src/main/options.js
index a12b5bcad..7ef963850 100644
--- a/src/main/options.js
+++ b/src/main/options.js
@@ -68,19 +68,18 @@ function normalize(options, opts = {}) {
const plugin = getPlugin(rawOptions);
rawOptions.printer = plugin.printers[rawOptions.astFormat];
- const pluginDefaults = supportOptions
- .filter(
- (optionInfo) =>
- optionInfo.pluginDefaults &&
- optionInfo.pluginDefaults[plugin.name] !== undefined
- )
- .reduce(
- (reduced, optionInfo) =>
- Object.assign(reduced, {
- [optionInfo.name]: optionInfo.pluginDefaults[plugin.name],
- }),
- {}
- );
+ const pluginDefaults = fromPairs(
+ supportOptions
+ .filter(
+ (optionInfo) =>
+ optionInfo.pluginDefaults &&
+ optionInfo.pluginDefaults[plugin.name] !== undefined
+ )
+ .map((optionInfo) => [
+ optionInfo.name,
+ optionInfo.pluginDefaults[plugin.name],
+ ])
+ );
const mixedDefaults = { ...defaults, ...pluginDefaults };
diff --git a/src/main/support.js b/src/main/support.js
index a6aa0d83f..613403152 100644
--- a/src/main/support.js
+++ b/src/main/support.js
@@ -1,5 +1,6 @@
"use strict";
+const fromPairs = require("lodash/fromPairs");
const semver = {
compare: require("semver/functions/compare"),
lt: require("semver/functions/lt"),
@@ -64,16 +65,15 @@ function getSupportInfo({
}
}
- const pluginDefaults = plugins
- .filter(
- (plugin) =>
- plugin.defaultOptions &&
- plugin.defaultOptions[option.name] !== undefined
- )
- .reduce((reduced, plugin) => {
- reduced[plugin.name] = plugin.defaultOptions[option.name];
- return reduced;
- }, {});
+ const pluginDefaults = fromPairs(
+ plugins
+ .filter(
+ (plugin) =>
+ plugin.defaultOptions &&
+ plugin.defaultOptions[option.name] !== undefined
+ )
+ .map((plugin) => [plugin.name, plugin.defaultOptions[option.name]])
+ );
return { ...option, pluginDefaults };
});