| 123456789101112131415161718192021222324252627282930 |
- import { parse, SFCScriptCompileOptions, compileScript } from '../src'
- import { parse as babelParse } from '@babel/parser'
- import { babelParserDefaultPlugins } from '@vue/shared'
- export const mockId = 'xxxxxxxx'
- export function compileSFCScript(
- src: string,
- options?: Partial<SFCScriptCompileOptions>
- ) {
- const { descriptor } = parse(src)
- return compileScript(descriptor, {
- ...options,
- id: mockId
- })
- }
- export function assertCode(code: string) {
- // parse the generated code to make sure it is valid
- try {
- babelParse(code, {
- sourceType: 'module',
- plugins: [...babelParserDefaultPlugins, 'typescript']
- })
- } catch (e: any) {
- console.log(code)
- throw e
- }
- expect(code).toMatchSnapshot()
- }
|