1// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html23exports[`SFC analyze <script> bindings > auto name inference > basic 1`] = `4"export default {5 __name: 'FooBar',6 setup(__props) {7const a = 18return { a }9}1011}"12`;1314exports[`SFC analyze <script> bindings > auto name inference > do not overwrite manual name (call) 1`] = `15"import { defineComponent } from 'vue'16 const __default__ = defineComponent({17 name: 'Baz'18 })19 20export default /*#__PURE__*/Object.assign(__default__, {21 setup(__props) {22const a = 123return { a }24}2526})"27`;2829exports[`SFC analyze <script> bindings > auto name inference > do not overwrite manual name (object) 1`] = `30"const __default__ = {31 name: 'Baz'32 }33 34export default /*#__PURE__*/Object.assign(__default__, {35 setup(__props) {36const a = 137return { a }38}3940})"41`;4243exports[`SFC compile <script setup> > <script> after <script setup> the script content not end with \`\\n\` 1`] = `44"const n = 145import { x } from './x'46 47export default {48 setup(__props) {4950 51return { n, x }52}5354}"55`;5657exports[`SFC compile <script setup> > <script> and <script setup> co-usage > script first 1`] = `58"import { x } from './x'59 60 export const n = 16162 const __default__ = {}63 64export default /*#__PURE__*/Object.assign(__default__, {65 setup(__props) {6667 x()68 69return { n, x }70}7172})"73`;7475exports[`SFC compile <script setup> > <script> and <script setup> co-usage > script setup first 1`] = `76"export const n = 177 const __default__ = {}78 79import { x } from './x'80 81export default /*#__PURE__*/Object.assign(__default__, {82 setup(__props) {8384 x()85 86return { n, x }87}8889})"90`;9192exports[`SFC compile <script setup> > <script> and <script setup> co-usage > script setup first, lang="ts", script block content export default 1`] = `93"import { defineComponent as _defineComponent } from 'vue'9495 const __default__ = {96 name: "test"97 }98 99import { x } from './x'100 101export default /*#__PURE__*/_defineComponent({102 ...__default__,103 setup(__props) {104105 x()106 107return { x }108}109110})"111`;112113exports[`SFC compile <script setup> > <script> and <script setup> co-usage > script setup first, named default export 1`] = `114"export const n = 1115 const def = {}116 117 118const __default__ = def119120import { x } from './x'121 122export default /*#__PURE__*/Object.assign(__default__, {123 setup(__props) {124125 x()126 127return { n, def, x }128}129130})"131`;132133exports[`SFC compile <script setup> > <script> and <script setup> co-usage > spaces in ExportDefaultDeclaration node > with many spaces and newline 1`] = `134"import { x } from './x'135 136 export const n = 1137 const __default__ = {138 some:'option'139 }140 141export default /*#__PURE__*/Object.assign(__default__, {142 setup(__props) {143144 x()145 146return { n, x }147}148149})"150`;151152exports[`SFC compile <script setup> > <script> and <script setup> co-usage > spaces in ExportDefaultDeclaration node > with minimal spaces 1`] = `153"import { x } from './x'154 155 export const n = 1156 const __default__ = {157 some:'option'158 }159 160export default /*#__PURE__*/Object.assign(__default__, {161 setup(__props) {162163 x()164 165return { n, x }166}167168})"169`;170171exports[`SFC compile <script setup> > binding analysis for destructure 1`] = `172"export default {173 setup(__props) {174175 const { foo, b: bar, ['x' + 'y']: baz, x: { y, zz: { z }}} = {}176 177return { foo, bar, baz, y, z }178}179180}"181`;182183exports[`SFC compile <script setup> > defineEmits() 1`] = `184"export default {185 emits: ['foo', 'bar'],186 setup(__props, { emit: myEmit }) {187188189190return { myEmit }191}192193}"194`;195196exports[`SFC compile <script setup> > defineExpose() 1`] = `197"export default {198 setup(__props, { expose }) {199200expose({ foo: 123 })201202return { }203}204205}"206`;207208exports[`SFC compile <script setup> > defineProps w/ external definition 1`] = `209"import { propsModel } from './props'210 211export default {212 props: propsModel,213 setup(__props) {214215const props = __props;216217 218 219return { props, propsModel }220}221222}"223`;224225exports[`SFC compile <script setup> > defineProps w/ leading code 1`] = `226"import { x } from './x'227 228export default {229 props: {},230 setup(__props) {231232const props = __props;233234 235return { props, x }236}237238}"239`;240241exports[`SFC compile <script setup> > defineProps() 1`] = `242"export default {243 props: {244 foo: String245},246 setup(__props) {247248const props = __props;249250251const bar = 1252253return { props, bar }254}255256}"257`;258259exports[`SFC compile <script setup> > defineProps/defineEmits in multi-variable declaration (full removal) 1`] = `260"export default {261 props: ['item'],262 emits: ['a'],263 setup(__props, { emit }) {264265const props = __props;266267 268 269return { props, emit }270}271272}"273`;274275exports[`SFC compile <script setup> > defineProps/defineEmits in multi-variable declaration 1`] = `276"export default {277 props: ['item'],278 emits: ['a'],279 setup(__props, { emit }) {280281const props = __props;282283 const a = 1;284 285return { props, a, emit }286}287288}"289`;290291exports[`SFC compile <script setup> > defineProps/defineEmits in multi-variable declaration fix #6757 1`] = `292"export default {293 props: ['item'],294 emits: ['a'],295 setup(__props, { emit }) {296297const props = __props;298299 const a = 1;300 301return { a, props, emit }302}303304}"305`;306307exports[`SFC compile <script setup> > dev mode import usage check > TS annotations 1`] = `308"import { defineComponent as _defineComponent } from 'vue'309import { Foo, Baz, Qux, Fred } from './x'310 311export default /*#__PURE__*/_defineComponent({312 setup(__props) {313314 const a = 1315 function b() {}316 317return { a, b, Baz }318}319320})"321`;322323exports[`SFC compile <script setup> > dev mode import usage check > attribute expressions 1`] = `324"import { defineComponent as _defineComponent } from 'vue'325import { bar, baz } from './x'326 327export default /*#__PURE__*/_defineComponent({328 setup(__props) {329330 const cond = true331 332return { cond, bar, baz }333}334335})"336`;337338exports[`SFC compile <script setup> > dev mode import usage check > components 1`] = `339"import { defineComponent as _defineComponent } from 'vue'340import { FooBar, FooBaz, FooQux, foo } from './x'341 342export default /*#__PURE__*/_defineComponent({343 setup(__props) {344345 const fooBar: FooBar = 1346 347return { fooBar, FooBaz, FooQux, foo }348}349350})"351`;352353exports[`SFC compile <script setup> > dev mode import usage check > directive 1`] = `354"import { defineComponent as _defineComponent } from 'vue'355import { vMyDir } from './x'356 357export default /*#__PURE__*/_defineComponent({358 setup(__props) {359360 361return { vMyDir }362}363364})"365`;366367exports[`SFC compile <script setup> > dev mode import usage check > imported ref as template ref 1`] = `368"import { defineComponent as _defineComponent } from 'vue'369import { aref } from './x'370 371export default /*#__PURE__*/_defineComponent({372 setup(__props) {373374 375return { aref }376}377378})"379`;380381exports[`SFC compile <script setup> > dev mode import usage check > js template string interpolations 1`] = `382"import { defineComponent as _defineComponent } from 'vue'383import { VAR, VAR2, VAR3 } from './x'384 385export default /*#__PURE__*/_defineComponent({386 setup(__props) {387388 389return { VAR, VAR3 }390}391392})"393`;394395exports[`SFC compile <script setup> > dev mode import usage check > last tag 1`] = `396"import { defineComponent as _defineComponent } from 'vue'397import { FooBaz, Last } from './x'398 399export default /*#__PURE__*/_defineComponent({400 setup(__props) {401402 403return { FooBaz, Last }404}405406})"407`;408409exports[`SFC compile <script setup> > dev mode import usage check > vue interpolations 1`] = `410"import { defineComponent as _defineComponent } from 'vue'411import { x, y, z, x$y } from './x'412 413export default /*#__PURE__*/_defineComponent({414 setup(__props) {415416 417return { x, z, x$y }418}419420})"421`;422423exports[`SFC compile <script setup> > errors > should allow defineProps/Emit() referencing imported binding 1`] = `424"import { bar } from './bar'425 426export default {427 props: {428 foo: {429 default: () => bar430 }431 },432 emits: {433 foo: () => bar > 1434 },435 setup(__props) {436437 438 439 440return { bar }441}442443}"444`;445446exports[`SFC compile <script setup> > errors > should allow defineProps/Emit() referencing scope var 1`] = `447"export default {448 props: {449 foo: {450 default: bar => bar + 1451 }452 },453 emits: {454 foo: bar => bar > 1455 },456 setup(__props) {457458 const bar = 1459 460 461 462return { bar }463}464465}"466`;467468exports[`SFC compile <script setup> > imports > import dedupe between <script> and <script setup> 1`] = `469"import { x } from './x'470 471export default {472 setup(__props) {473474 x()475 476return { x }477}478479}"480`;481482exports[`SFC compile <script setup> > imports > should allow defineProps/Emit at the start of imports 1`] = `483"import { ref } from 'vue'484 485export default {486 props: ['foo'],487 emits: ['bar'],488 setup(__props) {489490 491 492 const r = ref(0)493 494return { r, ref }495}496497}"498`;499500exports[`SFC compile <script setup> > imports > should extract comment for import or type declarations 1`] = `501"import a from 'a' // comment502 import b from 'b'503 504export default {505 setup(__props) {506507 508return { a, b }509}510511}"512`;513514exports[`SFC compile <script setup> > imports > should hoist and expose imports 1`] = `515"import { ref } from 'vue'516 import 'foo/css'517 518export default {519 setup(__props) {520521 522return { ref }523}524525}"526`;527528exports[`SFC compile <script setup> > should expose top level declarations 1`] = `529"import { xx } from './x'530 let aa = 1531 const bb = 2532 function cc() {}533 class dd {}534 535import { x } from './x'536 537export default {538 setup(__props) {539540 let a = 1541 const b = 2542 function c() {}543 class d {}544 545return { aa, bb, cc, dd, a, b, c, d, xx, x }546}547548}"549`;550551exports[`SFC compile <script setup> > with TypeScript > const Enum 1`] = `552"import { defineComponent as _defineComponent } from 'vue'553const enum Foo { A = 123 }554 555export default /*#__PURE__*/_defineComponent({556 setup(__props) {557558 559return { Foo }560}561562})"563`;564565exports[`SFC compile <script setup> > with TypeScript > defineEmits w/ type (exported interface) 1`] = `566"import { defineComponent as _defineComponent } from 'vue'567export interface Emits { (e: 'foo' | 'bar'): void }568 569export default /*#__PURE__*/_defineComponent({570 emits: ["foo", "bar"],571 setup(__props, { emit }: { emit: ({ (e: 'foo' | 'bar'): void }), expose: any, slots: any, attrs: any }) {572573 574 575return { emit }576}577578})"579`;580581exports[`SFC compile <script setup> > with TypeScript > defineEmits w/ type (exported type alias) 1`] = `582"import { defineComponent as _defineComponent } from 'vue'583export type Emits = { (e: 'foo' | 'bar'): void }584 585export default /*#__PURE__*/_defineComponent({586 emits: ["foo", "bar"],587 setup(__props, { emit }: { emit: ({ (e: 'foo' | 'bar'): void }), expose: any, slots: any, attrs: any }) {588589 590 591return { emit }592}593594})"595`;596597exports[`SFC compile <script setup> > with TypeScript > defineEmits w/ type (interface ts type) 1`] = `598"import { defineComponent as _defineComponent } from 'vue'599interface Emits { (e: 'foo'): void }600 601export default /*#__PURE__*/_defineComponent({602 emits: ['foo'],603 setup(__props, { emit }) {604605 606 607return { emit }608}609610})"611`;612613exports[`SFC compile <script setup> > with TypeScript > defineEmits w/ type (interface) 1`] = `614"import { defineComponent as _defineComponent } from 'vue'615interface Emits { (e: 'foo' | 'bar'): void }616 617export default /*#__PURE__*/_defineComponent({618 emits: ["foo", "bar"],619 setup(__props, { emit }: { emit: ({ (e: 'foo' | 'bar'): void }), expose: any, slots: any, attrs: any }) {620621 622 623return { emit }624}625626})"627`;628629exports[`SFC compile <script setup> > with TypeScript > defineEmits w/ type (referenced exported function type) 1`] = `630"import { defineComponent as _defineComponent } from 'vue'631export type Emits = (e: 'foo' | 'bar') => void632 633export default /*#__PURE__*/_defineComponent({634 emits: ["foo", "bar"],635 setup(__props, { emit }: { emit: ((e: 'foo' | 'bar') => void), expose: any, slots: any, attrs: any }) {636637 638 639return { emit }640}641642})"643`;644645exports[`SFC compile <script setup> > with TypeScript > defineEmits w/ type (referenced function type) 1`] = `646"import { defineComponent as _defineComponent } from 'vue'647type Emits = (e: 'foo' | 'bar') => void648 649export default /*#__PURE__*/_defineComponent({650 emits: ["foo", "bar"],651 setup(__props, { emit }: { emit: ((e: 'foo' | 'bar') => void), expose: any, slots: any, attrs: any }) {652653 654 655return { emit }656}657658})"659`;660661exports[`SFC compile <script setup> > with TypeScript > defineEmits w/ type (type alias) 1`] = `662"import { defineComponent as _defineComponent } from 'vue'663type Emits = { (e: 'foo' | 'bar'): void }664 665export default /*#__PURE__*/_defineComponent({666 emits: ["foo", "bar"],667 setup(__props, { emit }: { emit: ({ (e: 'foo' | 'bar'): void }), expose: any, slots: any, attrs: any }) {668669 670 671return { emit }672}673674})"675`;676677exports[`SFC compile <script setup> > with TypeScript > defineEmits w/ type (type literal w/ call signatures) 1`] = `678"import { defineComponent as _defineComponent } from 'vue'679680export default /*#__PURE__*/_defineComponent({681 emits: ["foo", "bar", "baz"],682 setup(__props, { emit }: { emit: ({(e: 'foo' | 'bar'): void; (e: 'baz', id: number): void;}), expose: any, slots: any, attrs: any }) {683684 685 686return { emit }687}688689})"690`;691692exports[`SFC compile <script setup> > with TypeScript > defineEmits w/ type 1`] = `693"import { defineComponent as _defineComponent } from 'vue'694695export default /*#__PURE__*/_defineComponent({696 emits: ["foo", "bar"],697 setup(__props, { emit }: { emit: ((e: 'foo' | 'bar') => void), expose: any, slots: any, attrs: any }) {698699 700 701return { emit }702}703704})"705`;706707exports[`SFC compile <script setup> > with TypeScript > defineProps w/ exported interface 1`] = `708"import { defineComponent as _defineComponent } from 'vue'709export interface Props { x?: number }710 711export default /*#__PURE__*/_defineComponent({712 props: {713 x: { type: Number, required: false }714 },715 setup(__props: any) {716717 718 719return { }720}721722})"723`;724725exports[`SFC compile <script setup> > with TypeScript > defineProps w/ exported interface in normal script 1`] = `726"import { defineComponent as _defineComponent } from 'vue'727728 export interface Props { x?: number }729 730export default /*#__PURE__*/_defineComponent({731 props: {732 x: { type: Number, required: false }733 },734 setup(__props: any) {735736 737 738return { }739}740741})"742`;743744exports[`SFC compile <script setup> > with TypeScript > defineProps w/ exported type alias 1`] = `745"import { defineComponent as _defineComponent } from 'vue'746export type Props = { x?: number }747 748export default /*#__PURE__*/_defineComponent({749 props: {750 x: { type: Number, required: false }751 },752 setup(__props: any) {753754 755 756return { }757}758759})"760`;761762exports[`SFC compile <script setup> > with TypeScript > defineProps w/ interface 1`] = `763"import { defineComponent as _defineComponent } from 'vue'764interface Props { x?: number }765 766export default /*#__PURE__*/_defineComponent({767 props: {768 x: { type: Number, required: false }769 },770 setup(__props: any) {771772 773 774return { }775}776777})"778`;779780exports[`SFC compile <script setup> > with TypeScript > defineProps w/ type 1`] = `781"import { defineComponent as _defineComponent } from 'vue'782interface Test {}783784 type Alias = number[]785786 787export default /*#__PURE__*/_defineComponent({788 props: {789 string: { type: String, required: true },790 number: { type: Number, required: true },791 boolean: { type: Boolean, required: true },792 object: { type: Object, required: true },793 objectLiteral: { type: Object, required: true },794 fn: { type: Function, required: true },795 functionRef: { type: Function, required: true },796 objectRef: { type: Object, required: true },797 dateTime: { type: Date, required: true },798 array: { type: Array, required: true },799 arrayRef: { type: Array, required: true },800 tuple: { type: Array, required: true },801 set: { type: Set, required: true },802 literal: { type: String, required: true },803 optional: { type: null, required: false },804 recordRef: { type: Object, required: true },805 interface: { type: Object, required: true },806 alias: { type: Array, required: true },807 method: { type: Function, required: true },808 symbol: { type: Symbol, required: true },809 union: { type: [String, Number], required: true },810 literalUnion: { type: String, required: true },811 literalUnionNumber: { type: Number, required: true },812 literalUnionMixed: { type: [String, Number, Boolean], required: true },813 intersection: { type: Object, required: true },814 foo: { type: [Function, null], required: true }815 },816 setup(__props: any) {817818 819 820return { }821}822823})"824`;825826exports[`SFC compile <script setup> > with TypeScript > defineProps w/ type alias 1`] = `827"import { defineComponent as _defineComponent } from 'vue'828type Props = { x?: number }829 830export default /*#__PURE__*/_defineComponent({831 props: {832 x: { type: Number, required: false }833 },834 setup(__props: any) {835836 837 838return { }839}840841})"842`;843844exports[`SFC compile <script setup> > with TypeScript > defineProps/Emit w/ runtime options 1`] = `845"import { defineComponent as _defineComponent } from 'vue'846847export default /*#__PURE__*/_defineComponent({848 props: { foo: String },849 emits: ['a', 'b'],850 setup(__props, { emit }) {851852const props = __props;853854855856857return { props, emit }858}859860})"861`;862863exports[`SFC compile <script setup> > with TypeScript > hoist type declarations 1`] = `864"import { defineComponent as _defineComponent } from 'vue'865export interface Foo {}866 type Bar = {}867 868export default /*#__PURE__*/_defineComponent({869 setup(__props) {870871 872return { }873}874875})"876`;877878exports[`SFC compile <script setup> > with TypeScript > import type 1`] = `879"import { defineComponent as _defineComponent } from 'vue'880import type { Foo } from './main.ts'881 import { type Bar, Baz } from './main.ts'882 883export default /*#__PURE__*/_defineComponent({884 setup(__props) {885886 887return { Baz }888}889890})"891`;892893exports[`SFC compile <script setup> > with TypeScript > runtime Enum 1`] = `894"import { defineComponent as _defineComponent } from 'vue'895enum Foo { A = 123 }896 897export default /*#__PURE__*/_defineComponent({898 setup(__props) {899900 901return { Foo }902}903904})"905`;906907exports[`SFC compile <script setup> > with TypeScript > runtime Enum in normal script 1`] = `908"import { defineComponent as _defineComponent } from 'vue'909enum Foo { A = 123 }910 911 export enum D { D = "D" }912 const enum C { C = "C" }913 enum B { B = "B" }914 915export default /*#__PURE__*/_defineComponent({916 setup(__props) {917918 919return { D, C, B, Foo }920}921922})"923`;924925exports[`SFC compile <script setup> > with TypeScript > withDefaults (dynamic) 1`] = `926"import { mergeDefaults as _mergeDefaults, defineComponent as _defineComponent } from 'vue'927import { defaults } from './foo'928 929export default /*#__PURE__*/_defineComponent({930 props: _mergeDefaults({931 foo: { type: String, required: false },932 bar: { type: Number, required: false },933 baz: { type: Boolean, required: true }934 }, { ...defaults }),935 setup(__props: any) {936937const props = __props as {938 foo?: string939 bar?: number940 baz: boolean941 };942943 944 945return { props, defaults }946}947948})"949`;950951exports[`SFC compile <script setup> > with TypeScript > withDefaults (static) 1`] = `952"import { defineComponent as _defineComponent } from 'vue'953954export default /*#__PURE__*/_defineComponent({955 props: {956 foo: { type: String, required: false, default: 'hi' },957 bar: { type: Number, required: false },958 baz: { type: Boolean, required: true },959 qux: { type: Function, required: false, default() { return 1 } }960 },961 setup(__props: any) {962963const props = __props as { foo: string, bar?: number, baz: boolean, qux(): number };964965 966 967return { props }968}969970})"971`;
Findings
✓ No findings reported for this file.