Skip to content

Commit

Permalink
fix: hmr
Browse files Browse the repository at this point in the history
antfu committed May 8, 2021
1 parent 656e3ad commit d9314e7
Showing 3 changed files with 10 additions and 17 deletions.
1 change: 0 additions & 1 deletion packages/client/logic/recording.ts
Original file line number Diff line number Diff line change
@@ -143,7 +143,6 @@ export function useRecording() {
)

recorderSlides.value.startRecording()
console.log('started')
recording.value = true
}

4 changes: 1 addition & 3 deletions packages/client/state/index.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { useMagicKeys, useActiveElement, useStorage, useUrlSearchParams, useBreakpoints, breakpointsTailwind, useWindowSize, useFullscreen, useToggle, isClient } from '@vueuse/core'
import { computed, ref, watch } from 'vue'
import { computed, ref } from 'vue'

export const showOverview = ref(false)
export const showRecordingDialog = ref(false)
@@ -27,5 +27,3 @@ export const editorWidth = useStorage('slidev-editor-width', isClient ? window.i
export const isPrintMode = computed(() => query.print != null)

export const toggleOverview = useToggle(showOverview)

watch(activeElement, () => console.log(activeElement.value))
22 changes: 9 additions & 13 deletions packages/slidev/node/plugins/loaders.ts
Original file line number Diff line number Diff line change
@@ -148,34 +148,31 @@ export function createSlidesLoader(
hmrPages.add(i)
}

pluginOptions.onDataReload?.(newData, data)
Object.assign(data, newData)

const modules = (
await Promise.all(
Array.from(hmrPages)
.map(async(i) => {
const id = `${slidePrefix}${i + 1}.md`
const module = ctx.server.moduleGraph.getModuleById(id)

const file = `${slidePrefix}${i + 1}.md`
return await VuePlugin.handleHotUpdate!({
...ctx,
modules: Array.from(module?.importedModules || []),
file: id,
read: () => (<any>MarkdownPlugin.transform)(newData.slides[i]?.raw, id),
},
)
modules: Array.from(ctx.server.moduleGraph.getModulesByFile(file) || []),
file,
read: () => (<any>MarkdownPlugin.transform)(newData.slides[i]?.raw, file),
})
}),
)
).flatMap(i => i || [])

hmrPages.clear()

const moduleEntries = moduleIds
.filter(isTruthy)
.map(id => ctx.server.moduleGraph.getModuleById(id))
.filter(notNullish)
.concat(modules)

pluginOptions.onDataReload?.(newData, data)
Object.assign(data, newData)
.filter(i => !i.id?.startsWith('/@id/@vite-icons'))

return moduleEntries
},
@@ -235,7 +232,6 @@ export function createSlidesLoader(

const imports = [
`import InjectedLayout from "${toAtFS(layouts[layoutName])}"`,
`import { next, nextSlide, prev, prevSlide } from "${toAtFS(clientRoot)}/logic/nav"`,
]

code = code.replace(/(<script setup.*>)/g, `$1${imports.join('\n')}\n`)

0 comments on commit d9314e7

Please sign in to comment.