From 6c261250d5e583bf0a4ad4c65de8d3d3391508f9 Mon Sep 17 00:00:00 2001 From: Evan You Date: Sat, 2 Jan 2021 12:58:54 -0500 Subject: [PATCH] refactor(hmr): pass context object to `handleHotUpdate` plugin hook instead of multiple args BREAKING CHANGE: `handleHotUpdate` plugin hook now receives a single `HmrContext` argument instead of multiple args. --- packages/plugin-vue/src/handleHotUpdate.ts | 14 +++++++------- packages/plugin-vue/src/index.ts | 6 +++--- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/packages/plugin-vue/src/handleHotUpdate.ts b/packages/plugin-vue/src/handleHotUpdate.ts index bbd126ba..00455a7e 100644 --- a/packages/plugin-vue/src/handleHotUpdate.ts +++ b/packages/plugin-vue/src/handleHotUpdate.ts @@ -6,19 +6,19 @@ import { setPrevDescriptor } from './utils/descriptorCache' import { getResolvedScript, setResolvedScript } from './script' -import { ModuleNode, ViteDevServer } from 'vite' +import { ModuleNode, HmrContext } from 'vite' const debug = _debug('vite:hmr') /** * Vite-specific HMR handling */ -export async function handleHotUpdate( - file: string, - modules: ModuleNode[], - read: () => string | Promise, - server: ViteDevServer -): Promise { +export async function handleHotUpdate({ + file, + modules, + read, + server +}: HmrContext): Promise { const prevDescriptor = getDescriptor(file, false) if (!prevDescriptor) { // file hasn't been requested yet (e.g. async component) diff --git a/packages/plugin-vue/src/index.ts b/packages/plugin-vue/src/index.ts index 8c7774c1..99c3fe6d 100644 --- a/packages/plugin-vue/src/index.ts +++ b/packages/plugin-vue/src/index.ts @@ -65,11 +65,11 @@ export default function vuePlugin(rawOptions: Options = {}): Plugin { return { name: 'vite:vue', - handleHotUpdate(file, mods, read, server) { - if (!filter(file)) { + handleHotUpdate(ctx) { + if (!filter(ctx.file)) { return } - return handleHotUpdate(file, mods, read, server) + return handleHotUpdate(ctx) }, config(config) {