diff --git a/src/cli/context.js b/src/cli/context.js index ba3b78e98..1009b6561 100644 --- a/src/cli/context.js +++ b/src/cli/context.js @@ -1,5 +1,7 @@ "use strict"; -const pick = require("lodash/pick"); +const { + utils: { getLast }, +} = require("./prettier-internal.js"); const getContextOptions = require("./options/get-context-options.js"); const { parseArgv, @@ -46,21 +48,14 @@ class Context { * @param {string[]=} pluginSearchDirs */ pushContextPlugins(plugins, pluginSearchDirs) { - this.stack.push( - pick(this, [ - "supportOptions", - "detailedOptions", - "detailedOptionMap", - "apiDefaultOptions", - "languages", - ]) - ); - - Object.assign(this, getContextOptions(plugins, pluginSearchDirs)); + const options = getContextOptions(plugins, pluginSearchDirs); + this.stack.push(options); + Object.assign(this, options); } popContextPlugins() { - Object.assign(this, this.stack.pop()); + this.stack.pop(); + Object.assign(this, getLast(this.stack)); } } diff --git a/src/index.js b/src/index.js index f6fc80c53..0312d18e7 100644 --- a/src/index.js +++ b/src/index.js @@ -74,6 +74,7 @@ module.exports = { optionsNormalizer: require("./main/options-normalizer.js"), utils: { arrayify: require("./utils/arrayify.js"), + getLast: require("./utils/get-last.js"), }, },