diff --git a/packages/@vue/cli/lib/Creator.js b/packages/@vue/cli/lib/Creator.js index a3192e7839..39974360fa 100644 --- a/packages/@vue/cli/lib/Creator.js +++ b/packages/@vue/cli/lib/Creator.js @@ -310,7 +310,7 @@ module.exports = class Creator extends EventEmitter { // { id: options } => [{ id, apply, options }] async resolvePlugins (rawPlugins) { // ensure cli-service is invoked first - rawPlugins = sortObject(rawPlugins, ['@vue/cli-service']) + rawPlugins = sortObject(rawPlugins, ['@vue/cli-service'], true) const plugins = [] for (const id of Object.keys(rawPlugins)) { const apply = loadModule(`${id}/generator`, this.context) || (() => {}) diff --git a/packages/@vue/cli/lib/util/sortObject.js b/packages/@vue/cli/lib/util/sortObject.js index a46fe7f1f8..7b4dd1ad74 100644 --- a/packages/@vue/cli/lib/util/sortObject.js +++ b/packages/@vue/cli/lib/util/sortObject.js @@ -1,4 +1,4 @@ -module.exports = function sortObject (obj, keyOrder) { +module.exports = function sortObject (obj, keyOrder, dontSortByUnicode) { if (!obj) return const res = {} @@ -11,7 +11,7 @@ module.exports = function sortObject (obj, keyOrder) { const keys = Object.keys(obj) - keys.sort() + !dontSortByUnicode && keys.sort() keys.forEach(key => { res[key] = obj[key] })