Skip to content

Commit aa5fe96

Browse files
committed
feat(template-explorer): add vapor option
1 parent be6a2d1 commit aa5fe96

File tree

2 files changed

+22
-2
lines changed

2 files changed

+22
-2
lines changed

packages/template-explorer/src/index.ts

+9-2
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,18 @@
11
import type * as m from 'monaco-editor'
22
import type { CompilerError } from '@vue/compiler-dom'
3-
import { type CompilerOptions, compile } from '@vue/compiler-vapor'
3+
import { compile } from '@vue/compiler-dom'
4+
import {
5+
type CompilerOptions,
6+
compile as vaporCompile,
7+
} from '@vue/compiler-vapor'
48
// import { compile as ssrCompile } from '@vue/compiler-ssr'
59

610
import {
711
compilerOptions,
812
defaultOptions,
913
initOptions,
1014
ssrMode,
15+
vaporMode,
1116
} from './options'
1217
import { toRaw, watchEffect } from '@vue/runtime-dom'
1318
import { SourceMapConsumer } from 'source-map-js'
@@ -75,7 +80,9 @@ window.init = () => {
7580
console.clear()
7681
try {
7782
const errors: CompilerError[] = []
78-
const compileFn = /* ssrMode.value ? ssrCompile : */ compile
83+
const compileFn = /* ssrMode.value ? ssrCompile : */ (
84+
vaporMode.value ? vaporCompile : compile
85+
) as typeof vaporCompile
7986
const start = performance.now()
8087
const { code, ast, map } = compileFn(source, {
8188
...compilerOptions,

packages/template-explorer/src/options.ts

+13
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import type { CompilerOptions } from '@vue/compiler-vapor'
33
import { BindingTypes } from '@vue/compiler-core'
44

55
export const ssrMode = ref(false)
6+
export const vaporMode = ref(true)
67

78
export const defaultOptions: CompilerOptions = {
89
mode: 'module',
@@ -222,6 +223,18 @@ const App = {
222223
}),
223224
h('label', { for: 'compat' }, 'v2 compat mode'),
224225
]),
226+
227+
h('li', [
228+
h('input', {
229+
type: 'checkbox',
230+
id: 'vapor',
231+
checked: vaporMode.value,
232+
onChange(e: Event) {
233+
vaporMode.value = (e.target as HTMLInputElement).checked
234+
},
235+
}),
236+
h('label', { for: 'vapor' }, 'vapor'),
237+
]),
225238
]),
226239
]),
227240
]

0 commit comments

Comments
 (0)