const __default__ = defineComponent({
name: 'Baz'
})
-
+
export default /*#__PURE__*/Object.assign(__default__, {
setup(__props, { expose }) {
expose();
"const __default__ = {
name: 'Baz'
}
-
+
export default /*#__PURE__*/Object.assign(__default__, {
setup(__props, { expose }) {
expose();
exports[`SFC compile <script setup> <script> after <script setup> the script content not end with \`\\n\` 1`] = `
"const n = 1
import { x } from './x'
-
+
export default {
setup(__props, { expose }) {
expose();
-
+
return { n, x }
}
exports[`SFC compile <script setup> <script> and <script setup> co-usage script first 1`] = `
"import { x } from './x'
-
+
export const n = 1
const __default__ = {}
-
+
export default /*#__PURE__*/Object.assign(__default__, {
setup(__props, { expose }) {
expose();
x()
-
+
return { n, x }
}
"export const n = 1
const __default__ = {}
import { x } from './x'
-
+
export default /*#__PURE__*/Object.assign(__default__, {
setup(__props, { expose }) {
expose();
x()
-
+
return { n, x }
}
name: \\"test\\"
}
import { x } from './x'
-
+
export default /*#__PURE__*/_defineComponent({
...__default__,
setup(__props, { expose }) {
expose();
x()
-
+
return { x }
}
exports[`SFC compile <script setup> <script> and <script setup> co-usage script setup first, named default export 1`] = `
"export const n = 1
const def = {}
-
-
+
+
const __default__ = def
import { x } from './x'
-
+
export default /*#__PURE__*/Object.assign(__default__, {
setup(__props, { expose }) {
expose();
x()
-
+
return { n, def, x }
}
exports[`SFC compile <script setup> <script> and <script setup> co-usage spaces in ExportDefaultDeclaration node with many spaces and newline 1`] = `
"import { x } from './x'
-
+
export const n = 1
const __default__ = {
some:'option'
}
-
+
export default /*#__PURE__*/Object.assign(__default__, {
setup(__props, { expose }) {
expose();
x()
-
+
return { n, x }
}
exports[`SFC compile <script setup> <script> and <script setup> co-usage spaces in ExportDefaultDeclaration node with minimal spaces 1`] = `
"import { x } from './x'
-
+
export const n = 1
const __default__ = {
some:'option'
}
-
+
export default /*#__PURE__*/Object.assign(__default__, {
setup(__props, { expose }) {
expose();
x()
-
+
return { n, x }
}
expose();
const { foo, b: bar, ['x' + 'y']: baz, x: { y, zz: { z }}} = {}
-
+
return { foo, bar, baz, y, z }
}
exports[`SFC compile <script setup> defineProps w/ external definition 1`] = `
"import { propsModel } from './props'
-
+
export default {
props: propsModel,
setup(__props, { expose }) {
const props = __props
-
-
+
+
return { props, propsModel }
}
exports[`SFC compile <script setup> defineProps w/ leading code 1`] = `
"import { x } from './x'
-
+
export default {
props: {},
setup(__props, { expose }) {
const props = __props
-
+
return { props, x }
}
const props = __props
-
-
+
+
return { props, emit }
}
const props = __props
const a = 1;
-
+
return { props, a, emit }
}
exports[`SFC compile <script setup> dev mode import usage check TS annotations 1`] = `
"import { defineComponent as _defineComponent } from 'vue'
import { Foo, Bar, Baz } from './x'
-
+
export default /*#__PURE__*/_defineComponent({
setup(__props, { expose }) {
expose();
const a = 1
function b() {}
-
+
return { a, b, Baz }
}
exports[`SFC compile <script setup> dev mode import usage check attribute expressions 1`] = `
"import { defineComponent as _defineComponent } from 'vue'
import { bar, baz } from './x'
-
+
export default /*#__PURE__*/_defineComponent({
setup(__props, { expose }) {
expose();
const cond = true
-
+
return { cond, bar, baz }
}
exports[`SFC compile <script setup> dev mode import usage check components 1`] = `
"import { defineComponent as _defineComponent } from 'vue'
import { FooBar, FooBaz, FooQux, foo } from './x'
-
+
export default /*#__PURE__*/_defineComponent({
setup(__props, { expose }) {
expose();
const fooBar: FooBar = 1
-
+
return { fooBar, FooBaz, FooQux, foo }
}
exports[`SFC compile <script setup> dev mode import usage check directive 1`] = `
"import { defineComponent as _defineComponent } from 'vue'
import { vMyDir } from './x'
-
+
export default /*#__PURE__*/_defineComponent({
setup(__props, { expose }) {
expose();
-
+
return { vMyDir }
}
exports[`SFC compile <script setup> dev mode import usage check js template string interpolations 1`] = `
"import { defineComponent as _defineComponent } from 'vue'
import { VAR, VAR2, VAR3 } from './x'
-
+
export default /*#__PURE__*/_defineComponent({
setup(__props, { expose }) {
expose();
-
+
return { VAR, VAR3 }
}
exports[`SFC compile <script setup> dev mode import usage check last tag 1`] = `
"import { defineComponent as _defineComponent } from 'vue'
import { FooBaz, Last } from './x'
-
+
export default /*#__PURE__*/_defineComponent({
setup(__props, { expose }) {
expose();
-
+
return { FooBaz, Last }
}
exports[`SFC compile <script setup> dev mode import usage check vue interpolations 1`] = `
"import { defineComponent as _defineComponent } from 'vue'
import { x, y, z, x$y } from './x'
-
+
export default /*#__PURE__*/_defineComponent({
setup(__props, { expose }) {
expose();
-
+
return { x, z, x$y }
}
exports[`SFC compile <script setup> errors should allow defineProps/Emit() referencing imported binding 1`] = `
"import { bar } from './bar'
-
+
export default {
props: {
foo: {
setup(__props, { expose }) {
expose();
-
-
-
+
+
+
return { bar }
}
expose();
const bar = 1
-
-
-
+
+
+
return { bar }
}
exports[`SFC compile <script setup> imports dedupe between user & helper 1`] = `
"import { ref as _ref } from 'vue'
import { ref } from 'vue'
-
+
export default {
setup(__props, { expose }) {
expose();
let foo = _ref(1)
-
+
return { foo, ref }
}
exports[`SFC compile <script setup> imports import dedupe between <script> and <script setup> 1`] = `
"import { x } from './x'
-
+
export default {
setup(__props, { expose }) {
expose();
x()
-
+
return { x }
}
exports[`SFC compile <script setup> imports should allow defineProps/Emit at the start of imports 1`] = `
"import { ref } from 'vue'
-
+
export default {
props: ['foo'],
emits: ['bar'],
setup(__props, { expose }) {
expose();
-
-
+
+
const r = ref(0)
-
+
return { r, ref }
}
exports[`SFC compile <script setup> imports should extract comment for import or type declarations 1`] = `
"import a from 'a' // comment
import b from 'b'
-
+
export default {
setup(__props, { expose }) {
expose();
-
+
return { a, b }
}
exports[`SFC compile <script setup> imports should hoist and expose imports 1`] = `
"import { ref } from 'vue'
import 'foo/css'
-
+
export default {
setup(__props, { expose }) {
expose();
-
+
return { ref }
}
import Foo, { bar } from './Foo.vue'
import other from './util'
import * as tree from './tree'
-
+
export default {
setup(__props) {
const maybe = foo()
let lett = 1
function fn() {}
-
+
return (_ctx, _cache) => {
return (_openBlock(), _createElementBlock(_Fragment, null, [
_createVNode(Foo, null, {
import ChildComp from './Child.vue'
import SomeOtherComp from './Other.vue'
import vMyDir from './my-dir'
-
+
export default {
setup(__props) {
-
+
return (_ctx, _cache) => {
return (_openBlock(), _createElementBlock(_Fragment, null, [
_withDirectives(_createElementVNode(\\"div\\", null, null, 512 /* NEED_PATCH */), [
const _hoisted_1 = /*#__PURE__*/_createElementVNode(\\"div\\", null, \\"static\\", -1 /* HOISTED */)
import { ref } from 'vue'
-
+
export default {
setup(__props) {
const count = ref(0)
-
+
return (_ctx, _cache) => {
return (_openBlock(), _createElementBlock(_Fragment, null, [
_createElementVNode(\\"div\\", null, _toDisplayString(count.value), 1 /* TEXT */),
import { ssrRenderAttrs as _ssrRenderAttrs, ssrInterpolate as _ssrInterpolate } from \\"vue/server-renderer\\"
import { ref } from 'vue'
-
+
export default {
__ssrInlineRender: true,
setup(__props) {
}))
const count = ref(0)
-
+
return (_ctx, _push, _parent, _attrs) => {
const _cssVars = { style: {
\\"xxxxxxxx-count\\": (count.value)
"import { createElementVNode as _createElementVNode, isRef as _isRef, unref as _unref, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from \\"vue\\"
import { ref } from 'vue'
-
+
export default {
setup(__props) {
const maybe = foo()
let lett = 1
let v = ref(1)
-
+
return (_ctx, _cache) => {
return (_openBlock(), _createElementBlock(_Fragment, null, [
_createElementVNode(\\"div\\", {
"import { createElementVNode as _createElementVNode, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from \\"vue\\"
import { ref } from 'vue'
-
+
export default {
setup(__props) {
const count = ref(0)
const maybe = foo()
let lett = 1
-
+
return (_ctx, _cache) => {
return (_openBlock(), _createElementBlock(_Fragment, null, [
_createElementVNode(\\"div\\", {
"import { createElementVNode as _createElementVNode, isRef as _isRef, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from \\"vue\\"
import { ref } from 'vue'
-
+
export default {
setup(__props) {
const count = ref(0)
const maybe = foo()
let lett = 1
-
+
return (_ctx, _cache) => {
return (_openBlock(), _createElementBlock(_Fragment, null, [
_createElementVNode(\\"div\\", {
"import { vModelText as _vModelText, createElementVNode as _createElementVNode, withDirectives as _withDirectives, unref as _unref, isRef as _isRef, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from \\"vue\\"
import { ref } from 'vue'
-
+
export default {
setup(__props) {
const count = ref(0)
const maybe = foo()
let lett = 1
-
+
return (_ctx, _cache) => {
return (_openBlock(), _createElementBlock(_Fragment, null, [
_withDirectives(_createElementVNode(\\"input\\", {
const count = ref(0)
expose({ count })
-
+
return () => {}
}
function cc() {}
class dd {}
import { x } from './x'
-
+
export default {
setup(__props, { expose }) {
expose();
const b = 2
function c() {}
class d {}
-
+
return { aa, bb, cc, dd, a, b, c, d, xx, x }
}
exports[`SFC compile <script setup> with TypeScript const Enum 1`] = `
"import { defineComponent as _defineComponent } from 'vue'
const enum Foo { A = 123 }
-
+
export default /*#__PURE__*/_defineComponent({
setup(__props, { expose }) {
expose();
-
+
return { Foo }
}
exports[`SFC compile <script setup> with TypeScript defineEmits w/ type (exported interface) 1`] = `
"import { defineComponent as _defineComponent } from 'vue'
export interface Emits { (e: 'foo' | 'bar'): void }
-
+
export default /*#__PURE__*/_defineComponent({
emits: [\\"foo\\", \\"bar\\"],
setup(__props, { expose, emit }: { emit: ({ (e: 'foo' | 'bar'): void }), expose: any, slots: any, attrs: any }) {
expose();
-
-
+
+
return { emit }
}
exports[`SFC compile <script setup> with TypeScript defineEmits w/ type (exported type alias) 1`] = `
"import { defineComponent as _defineComponent } from 'vue'
export type Emits = { (e: 'foo' | 'bar'): void }
-
+
export default /*#__PURE__*/_defineComponent({
emits: [\\"foo\\", \\"bar\\"],
setup(__props, { expose, emit }: { emit: ({ (e: 'foo' | 'bar'): void }), expose: any, slots: any, attrs: any }) {
expose();
-
-
+
+
return { emit }
}
exports[`SFC compile <script setup> with TypeScript defineEmits w/ type (interface) 1`] = `
"import { defineComponent as _defineComponent } from 'vue'
interface Emits { (e: 'foo' | 'bar'): void }
-
+
export default /*#__PURE__*/_defineComponent({
emits: [\\"foo\\", \\"bar\\"],
setup(__props, { expose, emit }: { emit: ({ (e: 'foo' | 'bar'): void }), expose: any, slots: any, attrs: any }) {
expose();
-
-
+
+
return { emit }
}
exports[`SFC compile <script setup> with TypeScript defineEmits w/ type (referenced exported function type) 1`] = `
"import { defineComponent as _defineComponent } from 'vue'
export type Emits = (e: 'foo' | 'bar') => void
-
+
export default /*#__PURE__*/_defineComponent({
emits: [\\"foo\\", \\"bar\\"],
setup(__props, { expose, emit }: { emit: ((e: 'foo' | 'bar') => void), expose: any, slots: any, attrs: any }) {
expose();
-
-
+
+
return { emit }
}
exports[`SFC compile <script setup> with TypeScript defineEmits w/ type (referenced function type) 1`] = `
"import { defineComponent as _defineComponent } from 'vue'
type Emits = (e: 'foo' | 'bar') => void
-
+
export default /*#__PURE__*/_defineComponent({
emits: [\\"foo\\", \\"bar\\"],
setup(__props, { expose, emit }: { emit: ((e: 'foo' | 'bar') => void), expose: any, slots: any, attrs: any }) {
expose();
-
-
+
+
return { emit }
}
exports[`SFC compile <script setup> with TypeScript defineEmits w/ type (type alias) 1`] = `
"import { defineComponent as _defineComponent } from 'vue'
type Emits = { (e: 'foo' | 'bar'): void }
-
+
export default /*#__PURE__*/_defineComponent({
emits: [\\"foo\\", \\"bar\\"],
setup(__props, { expose, emit }: { emit: ({ (e: 'foo' | 'bar'): void }), expose: any, slots: any, attrs: any }) {
expose();
-
-
+
+
return { emit }
}
setup(__props, { expose, emit }: { emit: ({(e: 'foo' | 'bar'): void; (e: 'baz', id: number): void;}), expose: any, slots: any, attrs: any }) {
expose();
-
-
+
+
return { emit }
}
setup(__props, { expose, emit }: { emit: ((e: 'foo' | 'bar') => void), expose: any, slots: any, attrs: any }) {
expose();
-
-
+
+
return { emit }
}
exports[`SFC compile <script setup> with TypeScript defineProps w/ exported interface 1`] = `
"import { defineComponent as _defineComponent } from 'vue'
export interface Props { x?: number }
-
+
export default /*#__PURE__*/_defineComponent({
props: {
x: { type: Number, required: false }
setup(__props: any, { expose }) {
expose();
-
-
+
+
return { }
}
"import { defineComponent as _defineComponent } from 'vue'
export interface Props { x?: number }
-
+
export default /*#__PURE__*/_defineComponent({
props: {
x: { type: Number, required: false }
setup(__props: any, { expose }) {
expose();
-
-
+
+
return { }
}
exports[`SFC compile <script setup> with TypeScript defineProps w/ exported type alias 1`] = `
"import { defineComponent as _defineComponent } from 'vue'
export type Props = { x?: number }
-
+
export default /*#__PURE__*/_defineComponent({
props: {
x: { type: Number, required: false }
setup(__props: any, { expose }) {
expose();
-
-
+
+
return { }
}
exports[`SFC compile <script setup> with TypeScript defineProps w/ interface 1`] = `
"import { defineComponent as _defineComponent } from 'vue'
interface Props { x?: number }
-
+
export default /*#__PURE__*/_defineComponent({
props: {
x: { type: Number, required: false }
setup(__props: any, { expose }) {
expose();
-
-
+
+
return { }
}
type Alias = number[]
-
+
export default /*#__PURE__*/_defineComponent({
props: {
string: { type: String, required: true },
setup(__props: any, { expose }) {
expose();
-
-
+
+
return { }
}
exports[`SFC compile <script setup> with TypeScript defineProps w/ type alias 1`] = `
"import { defineComponent as _defineComponent } from 'vue'
type Props = { x?: number }
-
+
export default /*#__PURE__*/_defineComponent({
props: {
x: { type: Number, required: false }
setup(__props: any, { expose }) {
expose();
-
-
+
+
return { }
}
"import { defineComponent as _defineComponent } from 'vue'
export interface Foo {}
type Bar = {}
-
+
export default /*#__PURE__*/_defineComponent({
setup(__props, { expose }) {
expose();
-
+
return { }
}
"import { defineComponent as _defineComponent } from 'vue'
import type { Foo } from './main.ts'
import { type Bar, Baz } from './main.ts'
-
+
export default /*#__PURE__*/_defineComponent({
setup(__props, { expose }) {
expose();
-
+
return { Baz }
}
exports[`SFC compile <script setup> with TypeScript runtime Enum 1`] = `
"import { defineComponent as _defineComponent } from 'vue'
enum Foo { A = 123 }
-
+
export default /*#__PURE__*/_defineComponent({
setup(__props, { expose }) {
expose();
-
+
return { Foo }
}
exports[`SFC compile <script setup> with TypeScript runtime Enum in normal script 1`] = `
"import { defineComponent as _defineComponent } from 'vue'
enum Foo { A = 123 }
-
+
export enum D { D = \\"D\\" }
const enum C { C = \\"C\\" }
enum B { B = \\"B\\" }
-
+
export default /*#__PURE__*/_defineComponent({
setup(__props, { expose }) {
expose();
-
+
return { D, C, B, Foo }
}
exports[`SFC compile <script setup> with TypeScript withDefaults (dynamic) 1`] = `
"import { mergeDefaults as _mergeDefaults, defineComponent as _defineComponent } from 'vue'
import { defaults } from './foo'
-
+
export default /*#__PURE__*/_defineComponent({
props: _mergeDefaults({
foo: { type: String, required: false },
baz: boolean
}
-
-
+
+
return { props, defaults }
}
const props = __props as { foo: string, bar?: number, baz: boolean, qux(): number }
-
-
+
+
return { props }
}