🔧
This commit is contained in:
38
node_modules/@vitejs/plugin-vue/dist/index.cjs
generated
vendored
38
node_modules/@vitejs/plugin-vue/dist/index.cjs
generated
vendored
@@ -19,7 +19,7 @@ const path__default = /*#__PURE__*/_interopDefaultCompat(path);
|
||||
const require$$0__default = /*#__PURE__*/_interopDefaultCompat(require$$0);
|
||||
const require$$1__default = /*#__PURE__*/_interopDefaultCompat(require$$1);
|
||||
|
||||
const version = "5.0.0";
|
||||
const version = "5.0.3";
|
||||
|
||||
function resolveCompiler(root) {
|
||||
const compiler = tryResolveCompiler(root) || tryResolveCompiler();
|
||||
@@ -82,10 +82,11 @@ function slash(path) {
|
||||
const cache = /* @__PURE__ */ new Map();
|
||||
const hmrCache = /* @__PURE__ */ new Map();
|
||||
const prevCache = /* @__PURE__ */ new Map();
|
||||
function createDescriptor(filename, source, { root, isProduction, sourceMap, compiler }, hmr = false) {
|
||||
function createDescriptor(filename, source, { root, isProduction, sourceMap, compiler, template }, hmr = false) {
|
||||
const { descriptor, errors } = compiler.parse(source, {
|
||||
filename,
|
||||
sourceMap
|
||||
sourceMap,
|
||||
templateParseOptions: template?.compilerOptions
|
||||
});
|
||||
const normalizedPath = slash(path__default.normalize(path__default.relative(root, filename)));
|
||||
descriptor.id = getHash(normalizedPath + (isProduction ? source : ""));
|
||||
@@ -283,8 +284,7 @@ function resolveTemplateCompilerOptions(descriptor, options, ssr) {
|
||||
return {
|
||||
...options.template,
|
||||
id,
|
||||
// @ts-ignore TODO remove ignore when dep is updated to 3.4
|
||||
ast: descriptor.template?.ast,
|
||||
ast: canReuseAST(options.compiler.version) ? descriptor.template?.ast : void 0,
|
||||
filename,
|
||||
scoped: hasScoped,
|
||||
slotted: descriptor.slotted,
|
||||
@@ -304,6 +304,15 @@ function resolveTemplateCompilerOptions(descriptor, options, ssr) {
|
||||
}
|
||||
};
|
||||
}
|
||||
function canReuseAST(version) {
|
||||
if (version) {
|
||||
const [_, minor, patch] = version.split(".").map(Number);
|
||||
if (minor >= 4 && patch >= 3) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
const clientCache = /* @__PURE__ */ new WeakMap();
|
||||
const ssrCache = /* @__PURE__ */ new WeakMap();
|
||||
@@ -2145,7 +2154,7 @@ const _debug = /*@__PURE__*/getDefaultExportFromCjs(srcExports);
|
||||
|
||||
const debug = _debug("vite:hmr");
|
||||
const directRequestRE = /(?:\?|&)direct\b/;
|
||||
async function handleHotUpdate({ file, modules, read }, options) {
|
||||
async function handleHotUpdate({ file, modules, read }, options, customElement) {
|
||||
const prevDescriptor = getDescriptor(file, options, false, true);
|
||||
if (!prevDescriptor) {
|
||||
return;
|
||||
@@ -2156,7 +2165,7 @@ async function handleHotUpdate({ file, modules, read }, options) {
|
||||
const affectedModules = /* @__PURE__ */ new Set();
|
||||
const mainModule = getMainModule(modules);
|
||||
const templateModule = modules.find((m) => /type=template/.test(m.url));
|
||||
resolveScript(descriptor, options, false);
|
||||
resolveScript(descriptor, options, false, customElement);
|
||||
const scriptChanged = hasScriptChanged(prevDescriptor, descriptor);
|
||||
if (scriptChanged) {
|
||||
affectedModules.add(getScriptModule(modules) || mainModule);
|
||||
@@ -2267,11 +2276,11 @@ function isEqualBlock(a, b) {
|
||||
function isOnlyTemplateChanged(prev, next) {
|
||||
return !hasScriptChanged(prev, next) && prev.styles.length === next.styles.length && prev.styles.every((s, i) => isEqualBlock(s, next.styles[i])) && prev.customBlocks.length === next.customBlocks.length && prev.customBlocks.every((s, i) => isEqualBlock(s, next.customBlocks[i]));
|
||||
}
|
||||
function deepEqual(obj1, obj2, excludeProps = []) {
|
||||
function deepEqual(obj1, obj2, excludeProps = [], deepParentsOfObj1 = []) {
|
||||
if (typeof obj1 !== typeof obj2) {
|
||||
return false;
|
||||
}
|
||||
if (obj1 == null || obj2 == null || typeof obj1 !== "object") {
|
||||
if (obj1 == null || obj2 == null || typeof obj1 !== "object" || deepParentsOfObj1.includes(obj1)) {
|
||||
return obj1 === obj2;
|
||||
}
|
||||
const keys1 = Object.keys(obj1);
|
||||
@@ -2283,7 +2292,10 @@ function deepEqual(obj1, obj2, excludeProps = []) {
|
||||
if (excludeProps.includes(key)) {
|
||||
continue;
|
||||
}
|
||||
if (!deepEqual(obj1[key], obj2[key], excludeProps)) {
|
||||
if (!deepEqual(obj1[key], obj2[key], excludeProps, [
|
||||
...deepParentsOfObj1,
|
||||
obj1
|
||||
])) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -2816,7 +2828,11 @@ function vuePlugin(rawOptions = {}) {
|
||||
return handleTypeDepChange(typeDepToSFCMap.get(ctx.file), ctx);
|
||||
}
|
||||
if (filter.value(ctx.file)) {
|
||||
return handleHotUpdate(ctx, options.value);
|
||||
return handleHotUpdate(
|
||||
ctx,
|
||||
options.value,
|
||||
customElementFilter.value(ctx.file)
|
||||
);
|
||||
}
|
||||
},
|
||||
config(config) {
|
||||
|
||||
Reference in New Issue
Block a user