Skip to content

Commit

Permalink
refactor: externalize vite-plugin-vue-server-ref
Browse files Browse the repository at this point in the history
  • Loading branch information
antfu committed Sep 13, 2021
1 parent c7841ff commit d95d8ed
Show file tree
Hide file tree
Showing 8 changed files with 32 additions and 134 deletions.
9 changes: 4 additions & 5 deletions packages/client/env.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
import { SlidevConfig } from '@slidev/types'
import { computed, Ref } from 'vue'
import { computed } from 'vue'
import { objectMap } from '@antfu/utils'
// @ts-expect-error
import _configs from '/@slidev/configs'
// @ts-expect-error
import _serverState from '/@server-ref/state'
import _serverState from 'server-ref:nav'
// @ts-expect-error
import _serverDrawingState from '/@server-ref/drawings'
import _serverDrawingState from 'server-ref:drawings'
import type { ServerRef } from 'vite-plugin-vue-server-ref'

export interface ServerState {
page: number
Expand All @@ -17,8 +18,6 @@ export interface ServerState {
}
}

export type ServerRef<T> = Ref<T> & { receive: boolean; send: boolean }

export const serverState = _serverState as ServerRef<ServerState>
export const serverDrawingState = _serverDrawingState as ServerRef<Record<number, string | undefined>>
export const configs = _configs as SlidevConfig
Expand Down
7 changes: 4 additions & 3 deletions packages/client/logic/drawings.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ export const brush = reactive<Brush>({
size: 4,
mode: 'draw',
simplify: true,
pressure: true,
})

const _mode = ref<DrawingMode | 'arrow'>('draw')
Expand Down Expand Up @@ -47,12 +48,12 @@ export const isDrawing = ref(false)

export const drauuData = serverDrawingState

serverDrawingState.send = false
serverDrawingState.syncUp = false

nextTick(() => {
watch(isPresenter, (v) => {
serverDrawingState.send = v
serverDrawingState.receive = !v
serverDrawingState.syncUp = v
serverDrawingState.syncDown = !v
}, { immediate: true })
})

Expand Down
1 change: 1 addition & 0 deletions packages/slidev/node/plugins/loaders.ts
Original file line number Diff line number Diff line change
Expand Up @@ -287,6 +287,7 @@ export function createSlidesLoader(
if (!layouts[layoutName])
throw new Error(`Unknown layout "${layoutName}"`)

delete frontmatter.title
const imports = [
`import InjectedLayout from "${toAtFS(layouts[layoutName])}"`,
`const frontmatter = ${JSON.stringify(frontmatter)}`,
Expand Down
12 changes: 6 additions & 6 deletions packages/slidev/node/plugins/preset.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,14 @@ import Vue from '@vitejs/plugin-vue'
import ViteIcons, { ViteIconsResolver } from 'vite-plugin-icons'
import ViteComponents from 'vite-plugin-components'
import RemoteAssets, { DefaultRules } from 'vite-plugin-remote-assets'
import ServerRef from 'vite-plugin-vue-server-ref'
import { notNullish } from '@antfu/utils'
import { ResolvedSlidevOptions, SlidevPluginOptions, SlidevServerOptions } from '../options'
import { loadDrawings, writeDarwings } from '../drawings'
import { createConfigPlugin } from './extendConfig'
import { createSlidesLoader } from './loaders'
import { createMonacoTypesLoader } from './monacoTransform'
import { createClientSetupPlugin } from './setupClient'
import VitePluginServerRef from './serverRef'
import { createMarkdownPlugin } from './markdown'
import { createWindiCSSPlugin } from './windicss'
import { createFixPlugins } from './patchTransform'
Expand Down Expand Up @@ -122,19 +122,19 @@ export async function ViteSlidevPlugin(
})
: null,

VitePluginServerRef({
dataMap: {
ServerRef({
state: {
sync: false,
state: {
nav: {
page: 0,
clicks: 0,
},
drawings: drawingData,
},
onChanged(name, data) {
onChanged(key, data) {
if (!options.data.config.persistDrawings)
return
if (name === 'drawings')
if (key === 'drawings')
writeDarwings(options, data)
},
}),
Expand Down
120 changes: 0 additions & 120 deletions packages/slidev/node/plugins/serverRef.ts

This file was deleted.

1 change: 1 addition & 0 deletions packages/slidev/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,7 @@
"vite-plugin-icons": "^0.6.5",
"vite-plugin-md": "^0.8.0",
"vite-plugin-remote-assets": "^0.2.2",
"vite-plugin-vue-server-ref": "^0.0.0",
"vite-plugin-windicss": "^1.2.5",
"vue": "^3.1.5",
"windicss": "^3.1.5",
Expand Down
15 changes: 15 additions & 0 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
"vite/client",
"node",
"jest",
"vite-plugin-vue-server-ref"
],
"paths": {
"@slidev/client/*": ["./packages/client/*"],
Expand Down

0 comments on commit d95d8ed

Please sign in to comment.