diff --git a/packages/plugin-vue/src/handleHotUpdate.ts b/packages/plugin-vue/src/handleHotUpdate.ts index e589ab3c..af75add0 100644 --- a/packages/plugin-vue/src/handleHotUpdate.ts +++ b/packages/plugin-vue/src/handleHotUpdate.ts @@ -259,7 +259,6 @@ function isEqualAst(prev?: t.Statement[], next?: t.Statement[]): boolean { return prev === next } - // deep equal, but ignore start/end/loc/range/leadingComments/trailingComments/innerComments if (prev.length !== next.length) { return false } @@ -268,6 +267,7 @@ function isEqualAst(prev?: t.Statement[], next?: t.Statement[]): boolean { const prevNode = prev[i] const nextNode = next[i] if ( + // deep equal, but ignore start/end/loc/range/leadingComments/trailingComments/innerComments !deepEqual(prevNode, nextNode, [ 'start', 'end', @@ -276,6 +276,12 @@ function isEqualAst(prev?: t.Statement[], next?: t.Statement[]): boolean { 'leadingComments', 'trailingComments', 'innerComments', + // https://github.com/vuejs/core/issues/11923 + // avoid comparing the following properties of typeParameters + // as it may be imported from 3rd lib and complex to compare + '_ownerScope', + '_resolvedReference', + '_resolvedElements' ]) ) { return false