"tsx": "^4.6.2",
"typescript": "^5.2.2",
"vite": "^5.0.0",
- "vitest": "^0.34.6"
+ "vitest": "^1.0.0"
}
}
"
return function render(_ctx, _cache) {
with (_ctx) {
- return _createElementVNode(\\"div\\", {
- id: \\"foo\\",
+ return _createElementVNode("div", {
+ id: "foo",
[prop]: bar,
[foo + bar]: bar
}, [
- _createElementVNode(\\"p\\", { \\"some-key\\": \\"foo\\" })
+ _createElementVNode("p", { "some-key": "foo" })
], 16)
}
}"
"
return function render(_ctx, _cache) {
with (_ctx) {
- const _component_Foo = _resolveComponent(\\"Foo\\")
- const _component_bar_baz = _resolveComponent(\\"bar-baz\\")
- const _component_barbaz = _resolveComponent(\\"barbaz\\")
- const _component_Qux = _resolveComponent(\\"Qux\\", true)
- const _directive_my_dir_0 = _resolveDirective(\\"my_dir_0\\")
- const _directive_my_dir_1 = _resolveDirective(\\"my_dir_1\\")
+ const _component_Foo = _resolveComponent("Foo")
+ const _component_bar_baz = _resolveComponent("bar-baz")
+ const _component_barbaz = _resolveComponent("barbaz")
+ const _component_Qux = _resolveComponent("Qux", true)
+ const _directive_my_dir_0 = _resolveDirective("my_dir_0")
+ const _directive_my_dir_1 = _resolveDirective("my_dir_1")
let _temp0, _temp1, _temp2
return null
"
return function render(_ctx, _cache) {
with (_ctx) {
- return _createCommentVNode(\\"foo\\")
+ return _createCommentVNode("foo")
}
}"
`;
exports[`compiler: codegen > hoists 1`] = `
"
const _hoisted_1 = hello
-const _hoisted_2 = { id: \\"foo\\" }
+const _hoisted_2 = { id: "foo" }
return function render(_ctx, _cache) {
with (_ctx) {
`;
exports[`compiler: codegen > module mode preamble 1`] = `
-"import { createVNode as _createVNode, resolveDirective as _resolveDirective } from \\"vue\\"
+"import { createVNode as _createVNode, resolveDirective as _resolveDirective } from "vue"
export function render(_ctx, _cache) {
return null
`;
exports[`compiler: codegen > module mode preamble w/ optimizeImports: true 1`] = `
-"import { createVNode, resolveDirective } from \\"vue\\"
+"import { createVNode, resolveDirective } from "vue"
// Binding optimization for webpack code-split
const _createVNode = createVNode, _resolveDirective = resolveDirective
"
return function render(_ctx, _cache) {
with (_ctx) {
- return \\"hello\\"
+ return "hello"
}
}"
`;
with (_ctx) {
const { toDisplayString: _toDisplayString, openBlock: _openBlock, createElementBlock: _createElementBlock, createCommentVNode: _createCommentVNode, createTextVNode: _createTextVNode, Fragment: _Fragment, renderList: _renderList, createElementVNode: _createElementVNode, normalizeClass: _normalizeClass } = _Vue
- return (_openBlock(), _createElementBlock(\\"div\\", {
- id: \\"foo\\",
+ return (_openBlock(), _createElementBlock("div", {
+ id: "foo",
class: _normalizeClass(bar.baz)
}, [
- _createTextVNode(_toDisplayString(world.burn()) + \\" \\", 1 /* TEXT */),
+ _createTextVNode(_toDisplayString(world.burn()) + " ", 1 /* TEXT */),
ok
- ? (_openBlock(), _createElementBlock(\\"div\\", { key: 0 }, \\"yes\\"))
+ ? (_openBlock(), _createElementBlock("div", { key: 0 }, "yes"))
: (_openBlock(), _createElementBlock(_Fragment, { key: 1 }, [
- _createTextVNode(\\"no\\")
+ _createTextVNode("no")
], 64 /* STABLE_FRAGMENT */)),
(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(list, (value, index) => {
- return (_openBlock(), _createElementBlock(\\"div\\", null, [
- _createElementVNode(\\"span\\", null, _toDisplayString(value + index), 1 /* TEXT */)
+ return (_openBlock(), _createElementBlock("div", null, [
+ _createElementVNode("span", null, _toDisplayString(value + index), 1 /* TEXT */)
]))
}), 256 /* UNKEYED_FRAGMENT */))
], 2 /* CLASS */))
"const { toDisplayString: _toDisplayString, openBlock: _openBlock, createElementBlock: _createElementBlock, createCommentVNode: _createCommentVNode, createTextVNode: _createTextVNode, Fragment: _Fragment, renderList: _renderList, createElementVNode: _createElementVNode, normalizeClass: _normalizeClass } = Vue
return function render(_ctx, _cache) {
- return (_openBlock(), _createElementBlock(\\"div\\", {
- id: \\"foo\\",
+ return (_openBlock(), _createElementBlock("div", {
+ id: "foo",
class: _normalizeClass(_ctx.bar.baz)
}, [
- _createTextVNode(_toDisplayString(_ctx.world.burn()) + \\" \\", 1 /* TEXT */),
+ _createTextVNode(_toDisplayString(_ctx.world.burn()) + " ", 1 /* TEXT */),
(_ctx.ok)
- ? (_openBlock(), _createElementBlock(\\"div\\", { key: 0 }, \\"yes\\"))
+ ? (_openBlock(), _createElementBlock("div", { key: 0 }, "yes"))
: (_openBlock(), _createElementBlock(_Fragment, { key: 1 }, [
- _createTextVNode(\\"no\\")
+ _createTextVNode("no")
], 64 /* STABLE_FRAGMENT */)),
(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.list, (value, index) => {
- return (_openBlock(), _createElementBlock(\\"div\\", null, [
- _createElementVNode(\\"span\\", null, _toDisplayString(value + index), 1 /* TEXT */)
+ return (_openBlock(), _createElementBlock("div", null, [
+ _createElementVNode("span", null, _toDisplayString(value + index), 1 /* TEXT */)
]))
}), 256 /* UNKEYED_FRAGMENT */))
], 2 /* CLASS */))
`;
exports[`compiler: integration tests > module mode 1`] = `
-"import { toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, Fragment as _Fragment, renderList as _renderList, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass } from \\"vue\\"
+"import { toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, Fragment as _Fragment, renderList as _renderList, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass } from "vue"
export function render(_ctx, _cache) {
- return (_openBlock(), _createElementBlock(\\"div\\", {
- id: \\"foo\\",
+ return (_openBlock(), _createElementBlock("div", {
+ id: "foo",
class: _normalizeClass(_ctx.bar.baz)
}, [
- _createTextVNode(_toDisplayString(_ctx.world.burn()) + \\" \\", 1 /* TEXT */),
+ _createTextVNode(_toDisplayString(_ctx.world.burn()) + " ", 1 /* TEXT */),
(_ctx.ok)
- ? (_openBlock(), _createElementBlock(\\"div\\", { key: 0 }, \\"yes\\"))
+ ? (_openBlock(), _createElementBlock("div", { key: 0 }, "yes"))
: (_openBlock(), _createElementBlock(_Fragment, { key: 1 }, [
- _createTextVNode(\\"no\\")
+ _createTextVNode("no")
], 64 /* STABLE_FRAGMENT */)),
(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.list, (value, index) => {
- return (_openBlock(), _createElementBlock(\\"div\\", null, [
- _createElementVNode(\\"span\\", null, _toDisplayString(value + index), 1 /* TEXT */)
+ return (_openBlock(), _createElementBlock("div", null, [
+ _createElementVNode("span", null, _toDisplayString(value + index), 1 /* TEXT */)
]))
}), 256 /* UNKEYED_FRAGMENT */))
], 2 /* CLASS */))
"line": 1,
"offset": 33,
},
- "source": "<div id=\\"\\" id=\\"\\"></div>",
+ "source": "<div id="" id=""></div>",
"start": {
"column": 11,
"line": 1,
"line": 1,
"offset": 20,
},
- "source": "id=\\"\\"",
+ "source": "id=""",
"start": {
"column": 16,
"line": 1,
"line": 1,
"offset": 20,
},
- "source": "\\"\\"",
+ "source": """",
"start": {
"column": 19,
"line": 1,
"line": 1,
"offset": 26,
},
- "source": "id=\\"\\"",
+ "source": "id=""",
"start": {
"column": 22,
"line": 1,
"line": 1,
"offset": 26,
},
- "source": "\\"\\"",
+ "source": """",
"start": {
"column": 25,
"line": 1,
"line": 1,
"offset": 44,
},
- "source": "<template><div id=\\"\\" id=\\"\\"></div></template>",
+ "source": "<template><div id="" id=""></div></template>",
"start": {
"column": 1,
"line": 1,
"line": 1,
"offset": 44,
},
- "source": "<template><div id=\\"\\" id=\\"\\"></div></template>",
+ "source": "<template><div id="" id=""></div></template>",
"start": {
"column": 1,
"line": 1,
"line": 1,
"offset": 27,
},
- "source": "<div></div id=\\"\\">",
+ "source": "<div></div id="">",
"start": {
"column": 11,
"line": 1,
"line": 1,
"offset": 38,
},
- "source": "<template><div></div id=\\"\\"></template>",
+ "source": "<template><div></div id=""></template>",
"start": {
"column": 1,
"line": 1,
"line": 1,
"offset": 38,
},
- "source": "<template><div></div id=\\"\\"></template>",
+ "source": "<template><div></div id=""></template>",
"start": {
"column": 1,
"line": 1,
"line": 1,
"offset": 22,
},
- "source": "<div id=\\"abc",
+ "source": "<div id="abc",
"start": {
"column": 11,
"line": 1,
"line": 1,
"offset": 22,
},
- "source": "id=\\"abc",
+ "source": "id="abc",
"start": {
"column": 16,
"line": 1,
"line": 1,
"offset": 22,
},
- "source": "\\"abc",
+ "source": ""abc",
"start": {
"column": 19,
"line": 1,
"line": 1,
"offset": 22,
},
- "source": "<template><div id=\\"abc",
+ "source": "<template><div id="abc",
"start": {
"column": 1,
"line": 1,
"line": 1,
"offset": 22,
},
- "source": "<template><div id=\\"abc",
+ "source": "<template><div id="abc",
"start": {
"column": 1,
"line": 1,
"line": 1,
"offset": 23,
},
- "source": "<div id=\\"abc\\"",
+ "source": "<div id="abc"",
"start": {
"column": 11,
"line": 1,
"line": 1,
"offset": 23,
},
- "source": "id=\\"abc\\"",
+ "source": "id="abc"",
"start": {
"column": 16,
"line": 1,
"line": 1,
"offset": 23,
},
- "source": "\\"abc\\"",
+ "source": ""abc"",
"start": {
"column": 19,
"line": 1,
"line": 1,
"offset": 23,
},
- "source": "<template><div id=\\"abc\\"",
+ "source": "<template><div id="abc"",
"start": {
"column": 1,
"line": 1,
"line": 1,
"offset": 23,
},
- "source": "<template><div id=\\"abc\\"",
+ "source": "<template><div id="abc"",
"start": {
"column": 1,
"line": 1,
"line": 1,
"offset": 24,
},
- "source": "<div id=\\"abc\\"/",
+ "source": "<div id="abc"/",
"start": {
"column": 11,
"line": 1,
"line": 1,
"offset": 23,
},
- "source": "id=\\"abc\\"",
+ "source": "id="abc"",
"start": {
"column": 16,
"line": 1,
"line": 1,
"offset": 23,
},
- "source": "\\"abc\\"",
+ "source": ""abc"",
"start": {
"column": 19,
"line": 1,
"line": 1,
"offset": 24,
},
- "source": "<template><div id=\\"abc\\"/",
+ "source": "<template><div id="abc"/",
"start": {
"column": 1,
"line": 1,
"line": 1,
"offset": 24,
},
- "source": "<template><div id=\\"abc\\"/",
+ "source": "<template><div id="abc"/",
"start": {
"column": 1,
"line": 1,
"line": 2,
"offset": 43,
},
- "source": "<div id=\\"foo\\"
-class=\\"bar\\"></div>",
+ "source": "<div id="foo"
+class="bar"></div>",
"start": {
"column": 11,
"line": 1,
"line": 1,
"offset": 23,
},
- "source": "id=\\"foo\\"",
+ "source": "id="foo"",
"start": {
"column": 16,
"line": 1,
"line": 1,
"offset": 23,
},
- "source": "\\"foo\\"",
+ "source": ""foo"",
"start": {
"column": 19,
"line": 1,
"line": 2,
"offset": 36,
},
- "source": "class=\\"bar\\"",
+ "source": "class="bar"",
"start": {
"column": 1,
"line": 2,
"line": 2,
"offset": 36,
},
- "source": "\\"bar\\"",
+ "source": ""bar"",
"start": {
"column": 7,
"line": 2,
"line": 2,
"offset": 54,
},
- "source": "<template><div id=\\"foo\\"
-class=\\"bar\\"></div></template>",
+ "source": "<template><div id="foo"
+class="bar"></div></template>",
"start": {
"column": 1,
"line": 1,
"line": 2,
"offset": 54,
},
- "source": "<template><div id=\\"foo\\"
-class=\\"bar\\"></div></template>",
+ "source": "<template><div id="foo"
+class="bar"></div></template>",
"start": {
"column": 1,
"line": 1,
"line": 1,
"offset": 41,
},
- "source": "<div id=\\"foo\\"class=\\"bar\\"></div>",
+ "source": "<div id="foo"class="bar"></div>",
"start": {
"column": 11,
"line": 1,
"line": 1,
"offset": 23,
},
- "source": "id=\\"foo\\"",
+ "source": "id="foo"",
"start": {
"column": 16,
"line": 1,
"line": 1,
"offset": 23,
},
- "source": "\\"foo\\"",
+ "source": ""foo"",
"start": {
"column": 19,
"line": 1,
"line": 1,
"offset": 34,
},
- "source": "class=\\"bar\\"",
+ "source": "class="bar"",
"start": {
"column": 24,
"line": 1,
"line": 1,
"offset": 34,
},
- "source": "\\"bar\\"",
+ "source": ""bar"",
"start": {
"column": 30,
"line": 1,
"line": 1,
"offset": 52,
},
- "source": "<template><div id=\\"foo\\"class=\\"bar\\"></div></template>",
+ "source": "<template><div id="foo"class="bar"></div></template>",
"start": {
"column": 1,
"line": 1,
"line": 1,
"offset": 52,
},
- "source": "<template><div id=\\"foo\\"class=\\"bar\\"></div></template>",
+ "source": "<template><div id="foo"class="bar"></div></template>",
"start": {
"column": 1,
"line": 1,
"line": 1,
"offset": 29,
},
- "source": "<div a\\"bc=''></div>",
+ "source": "<div a"bc=''></div>",
"start": {
"column": 11,
"line": 1,
"line": 1,
"offset": 22,
},
- "source": "a\\"bc=''",
+ "source": "a"bc=''",
"start": {
"column": 16,
"line": 1,
"offset": 15,
},
},
- "name": "a\\"bc",
+ "name": "a"bc",
"type": 6,
"value": {
"content": "",
"line": 1,
"offset": 40,
},
- "source": "<template><div a\\"bc=''></div></template>",
+ "source": "<template><div a"bc=''></div></template>",
"start": {
"column": 1,
"line": 1,
"line": 1,
"offset": 40,
},
- "source": "<template><div a\\"bc=''></div></template>",
+ "source": "<template><div a"bc=''></div></template>",
"start": {
"column": 1,
"line": 1,
"line": 1,
"offset": 30,
},
- "source": "<div foo=bar\\"></div>",
+ "source": "<div foo=bar"></div>",
"start": {
"column": 11,
"line": 1,
"line": 1,
"offset": 23,
},
- "source": "foo=bar\\"",
+ "source": "foo=bar"",
"start": {
"column": 16,
"line": 1,
"name": "foo",
"type": 6,
"value": {
- "content": "bar\\"",
+ "content": "bar"",
"loc": {
"end": {
"column": 24,
"line": 1,
"offset": 23,
},
- "source": "bar\\"",
+ "source": "bar"",
"start": {
"column": 20,
"line": 1,
"line": 1,
"offset": 41,
},
- "source": "<template><div foo=bar\\"></div></template>",
+ "source": "<template><div foo=bar"></div></template>",
"start": {
"column": 1,
"line": 1,
"line": 1,
"offset": 41,
},
- "source": "<template><div foo=bar\\"></div></template>",
+ "source": "<template><div foo=bar"></div></template>",
"start": {
"column": 1,
"line": 1,
"line": 1,
"offset": 36,
},
- "source": "<div :class=\\"{ some: condition }\\" />",
+ "source": "<div :class="{ some: condition }" />",
"start": {
"column": 1,
"line": 1,
"line": 1,
"offset": 33,
},
- "source": ":class=\\"{ some: condition }\\"",
+ "source": ":class="{ some: condition }"",
"start": {
"column": 6,
"line": 1,
"line": 2,
"offset": 73,
},
- "source": "<p v-bind:style=\\"{ color: 'red' }\\"/>",
+ "source": "<p v-bind:style="{ color: 'red' }"/>",
"start": {
"column": 1,
"line": 2,
"line": 2,
"offset": 71,
},
- "source": "v-bind:style=\\"{ color: 'red' }\\"",
+ "source": "v-bind:style="{ color: 'red' }"",
"start": {
"column": 4,
"line": 2,
"line": 2,
"offset": 73,
},
- "source": "<div :class=\\"{ some: condition }\\" />
-<p v-bind:style=\\"{ color: 'red' }\\"/>",
+ "source": "<div :class="{ some: condition }" />
+<p v-bind:style="{ color: 'red' }"/>",
"start": {
"column": 1,
"line": 1,
"line": 2,
"offset": 73,
},
- "source": "<p v-bind:style=\\"{ color: 'red' }\\"/>",
+ "source": "<p v-bind:style="{ color: 'red' }"/>",
"start": {
"column": 3,
"line": 2,
"line": 2,
"offset": 71,
},
- "source": "v-bind:style=\\"{ color: 'red' }\\"",
+ "source": "v-bind:style="{ color: 'red' }"",
"start": {
"column": 6,
"line": 2,
"line": 4,
"offset": 123,
},
- "source": "<div :class=\\"{ some: condition }\\">
- <p v-bind:style=\\"{ color: 'red' }\\"/>
+ "source": "<div :class="{ some: condition }">
+ <p v-bind:style="{ color: 'red' }"/>
<!-- a comment with <html> inside it -->
</div>",
"start": {
"line": 1,
"offset": 33,
},
- "source": ":class=\\"{ some: condition }\\"",
+ "source": ":class="{ some: condition }"",
"start": {
"column": 6,
"line": 1,
"line": 4,
"offset": 123,
},
- "source": "<div :class=\\"{ some: condition }\\">
- <p v-bind:style=\\"{ color: 'red' }\\"/>
+ "source": "<div :class="{ some: condition }">
+ <p v-bind:style="{ color: 'red' }"/>
<!-- a comment with <html> inside it -->
</div>",
"start": {
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
exports[`scopeId compiler support > should push scopeId for hoisted nodes 1`] = `
-"import { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \\"vue\\"
+"import { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from "vue"
-const _withScopeId = n => (_pushScopeId(\\"test\\"),n=n(),_popScopeId(),n)
-const _hoisted_1 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\\"div\\", null, \\"hello\\", -1 /* HOISTED */))
-const _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\\"div\\", null, \\"world\\", -1 /* HOISTED */))
+const _withScopeId = n => (_pushScopeId("test"),n=n(),_popScopeId(),n)
+const _hoisted_1 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode("div", null, "hello", -1 /* HOISTED */))
+const _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode("div", null, "world", -1 /* HOISTED */))
export function render(_ctx, _cache) {
- return (_openBlock(), _createElementBlock(\\"div\\", null, [
+ return (_openBlock(), _createElementBlock("div", null, [
_hoisted_1,
_createTextVNode(_toDisplayString(_ctx.foo), 1 /* TEXT */),
_hoisted_2
`;
exports[`scopeId compiler support > should wrap default slot 1`] = `
-"import { createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock } from \\"vue\\"
+"import { createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock } from "vue"
export function render(_ctx, _cache) {
- const _component_Child = _resolveComponent(\\"Child\\")
+ const _component_Child = _resolveComponent("Child")
return (_openBlock(), _createBlock(_component_Child, null, {
default: _withCtx(() => [
- _createElementVNode(\\"div\\")
+ _createElementVNode("div")
]),
_: 1 /* STABLE */
}))
`;
exports[`scopeId compiler support > should wrap dynamic slots 1`] = `
-"import { createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, renderList as _renderList, createSlots as _createSlots, openBlock as _openBlock, createBlock as _createBlock } from \\"vue\\"
+"import { createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, renderList as _renderList, createSlots as _createSlots, openBlock as _openBlock, createBlock as _createBlock } from "vue"
export function render(_ctx, _cache) {
- const _component_Child = _resolveComponent(\\"Child\\")
+ const _component_Child = _resolveComponent("Child")
return (_openBlock(), _createBlock(_component_Child, null, _createSlots({ _: 2 /* DYNAMIC */ }, [
(_ctx.ok)
? {
- name: \\"foo\\",
+ name: "foo",
fn: _withCtx(() => [
- _createElementVNode(\\"div\\")
+ _createElementVNode("div")
]),
- key: \\"0\\"
+ key: "0"
}
: undefined,
_renderList(_ctx.list, (i) => {
return {
name: i,
fn: _withCtx(() => [
- _createElementVNode(\\"div\\")
+ _createElementVNode("div")
])
}
})
`;
exports[`scopeId compiler support > should wrap named slots 1`] = `
-"import { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock } from \\"vue\\"
+"import { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock } from "vue"
export function render(_ctx, _cache) {
- const _component_Child = _resolveComponent(\\"Child\\")
+ const _component_Child = _resolveComponent("Child")
return (_openBlock(), _createBlock(_component_Child, null, {
foo: _withCtx(({ msg }) => [
_createTextVNode(_toDisplayString(msg), 1 /* TEXT */)
]),
bar: _withCtx(() => [
- _createElementVNode(\\"div\\")
+ _createElementVNode("div")
]),
_: 1 /* STABLE */
}))
test('tag only', () => {
expect(genCode(createVNodeCall(null, `"div"`))).toMatchInlineSnapshot(`
- "return _createElementVNode(\\"div\\")
+ "return _createElementVNode("div")
"
`)
expect(genCode(createVNodeCall(null, FRAGMENT))).toMatchInlineSnapshot(`
test('with props', () => {
expect(genCode(createVNodeCall(null, `"div"`, mockProps)))
.toMatchInlineSnapshot(`
- "return _createElementVNode(\\"div\\", { foo: \\"bar\\" })
+ "return _createElementVNode("div", { foo: "bar" })
"
`)
})
test('with children, no props', () => {
expect(genCode(createVNodeCall(null, `"div"`, undefined, mockChildren)))
.toMatchInlineSnapshot(`
- "return _createElementVNode(\\"div\\", null, children)
+ "return _createElementVNode("div", null, children)
"
`)
})
test('with children + props', () => {
expect(genCode(createVNodeCall(null, `"div"`, mockProps, mockChildren)))
.toMatchInlineSnapshot(`
- "return _createElementVNode(\\"div\\", { foo: \\"bar\\" }, children)
+ "return _createElementVNode("div", { foo: "bar" }, children)
"
`)
})
test('with patchFlag and no children/props', () => {
expect(genCode(createVNodeCall(null, `"div"`, undefined, undefined, '1')))
.toMatchInlineSnapshot(`
- "return _createElementVNode(\\"div\\", null, null, 1)
+ "return _createElementVNode("div", null, null, 1)
"
`)
})
)
)
).toMatchInlineSnapshot(`
- "return (_openBlock(), _createElementBlock(\\"div\\", { foo: \\"bar\\" }, children))
+ "return (_openBlock(), _createElementBlock("div", { foo: "bar" }, children))
"
`)
})
)
)
).toMatchInlineSnapshot(`
- "return (_openBlock(true), _createElementBlock(\\"div\\", { foo: \\"bar\\" }, children))
+ "return (_openBlock(true), _createElementBlock("div", { foo: "bar" }, children))
"
`)
})
)
)
).toMatchInlineSnapshot(`
- "return _withDirectives(_createElementVNode(\\"div\\", { foo: \\"bar\\" }, children), [
+ "return _withDirectives(_createElementVNode("div", { foo: "bar" }, children), [
[foo, bar]
])
"
)
)
).toMatchInlineSnapshot(`
- "return _withDirectives((_openBlock(), _createElementBlock(\\"div\\", { foo: \\"bar\\" }, children)), [
+ "return _withDirectives((_openBlock(), _createElementBlock("div", { foo: "bar" }, children)), [
[foo, bar]
])
"
"const _Vue = Vue
const { createElementVNode: _createElementVNode } = _Vue
-const _hoisted_1 = /*#__PURE__*/_createElementVNode(\\"div\\", { key: \\"foo\\" }, null, -1 /* HOISTED */)
+const _hoisted_1 = /*#__PURE__*/_createElementVNode("div", { key: "foo" }, null, -1 /* HOISTED */)
const _hoisted_2 = [
_hoisted_1
]
with (_ctx) {
const { createElementVNode: _createElementVNode, openBlock: _openBlock, createElementBlock: _createElementBlock } = _Vue
- return (_openBlock(), _createElementBlock(\\"div\\", null, _hoisted_2))
+ return (_openBlock(), _createElementBlock("div", null, _hoisted_2))
}
}"
`;
"const _Vue = Vue
const { createElementVNode: _createElementVNode } = _Vue
-const _hoisted_1 = /*#__PURE__*/_createElementVNode(\\"p\\", null, [
- /*#__PURE__*/_createElementVNode(\\"span\\"),
- /*#__PURE__*/_createElementVNode(\\"span\\")
+const _hoisted_1 = /*#__PURE__*/_createElementVNode("p", null, [
+ /*#__PURE__*/_createElementVNode("span"),
+ /*#__PURE__*/_createElementVNode("span")
], -1 /* HOISTED */)
const _hoisted_2 = [
_hoisted_1
with (_ctx) {
const { createElementVNode: _createElementVNode, openBlock: _openBlock, createElementBlock: _createElementBlock } = _Vue
- return (_openBlock(), _createElementBlock(\\"div\\", null, _hoisted_2))
+ return (_openBlock(), _createElementBlock("div", null, _hoisted_2))
}
}"
`;
"const _Vue = Vue
const { createElementVNode: _createElementVNode, createCommentVNode: _createCommentVNode } = _Vue
-const _hoisted_1 = /*#__PURE__*/_createElementVNode(\\"div\\", null, [
- /*#__PURE__*/_createCommentVNode(\\"comment\\")
+const _hoisted_1 = /*#__PURE__*/_createElementVNode("div", null, [
+ /*#__PURE__*/_createCommentVNode("comment")
], -1 /* HOISTED */)
const _hoisted_2 = [
_hoisted_1
with (_ctx) {
const { createCommentVNode: _createCommentVNode, createElementVNode: _createElementVNode, openBlock: _openBlock, createElementBlock: _createElementBlock } = _Vue
- return (_openBlock(), _createElementBlock(\\"div\\", null, _hoisted_2))
+ return (_openBlock(), _createElementBlock("div", null, _hoisted_2))
}
}"
`;
"const _Vue = Vue
const { createElementVNode: _createElementVNode } = _Vue
-const _hoisted_1 = /*#__PURE__*/_createElementVNode(\\"span\\", null, null, -1 /* HOISTED */)
-const _hoisted_2 = /*#__PURE__*/_createElementVNode(\\"div\\", null, null, -1 /* HOISTED */)
+const _hoisted_1 = /*#__PURE__*/_createElementVNode("span", null, null, -1 /* HOISTED */)
+const _hoisted_2 = /*#__PURE__*/_createElementVNode("div", null, null, -1 /* HOISTED */)
const _hoisted_3 = [
_hoisted_1,
_hoisted_2
with (_ctx) {
const { createElementVNode: _createElementVNode, openBlock: _openBlock, createElementBlock: _createElementBlock } = _Vue
- return (_openBlock(), _createElementBlock(\\"div\\", null, _hoisted_3))
+ return (_openBlock(), _createElementBlock("div", null, _hoisted_3))
}
}"
`;
"const _Vue = Vue
const { createElementVNode: _createElementVNode } = _Vue
-const _hoisted_1 = /*#__PURE__*/_createElementVNode(\\"span\\", { class: \\"inline\\" }, \\"hello\\", -1 /* HOISTED */)
+const _hoisted_1 = /*#__PURE__*/_createElementVNode("span", { class: "inline" }, "hello", -1 /* HOISTED */)
const _hoisted_2 = [
_hoisted_1
]
with (_ctx) {
const { createElementVNode: _createElementVNode, openBlock: _openBlock, createElementBlock: _createElementBlock } = _Vue
- return (_openBlock(), _createElementBlock(\\"div\\", null, _hoisted_2))
+ return (_openBlock(), _createElementBlock("div", null, _hoisted_2))
}
}"
`;
"const _Vue = Vue
const { createElementVNode: _createElementVNode } = _Vue
-const _hoisted_1 = { id: \\"foo\\" }
+const _hoisted_1 = { id: "foo" }
return function render(_ctx, _cache) {
with (_ctx) {
const { resolveDirective: _resolveDirective, createElementVNode: _createElementVNode, withDirectives: _withDirectives, openBlock: _openBlock, createElementBlock: _createElementBlock } = _Vue
- const _directive_foo = _resolveDirective(\\"foo\\")
+ const _directive_foo = _resolveDirective("foo")
- return (_openBlock(), _createElementBlock(\\"div\\", null, [
- _withDirectives(_createElementVNode(\\"div\\", _hoisted_1, null, 512 /* NEED_PATCH */), [
+ return (_openBlock(), _createElementBlock("div", null, [
+ _withDirectives(_createElementVNode("div", _hoisted_1, null, 512 /* NEED_PATCH */), [
[_directive_foo]
])
]))
"const _Vue = Vue
const { createElementVNode: _createElementVNode } = _Vue
-const _hoisted_1 = { id: \\"foo\\" }
+const _hoisted_1 = { id: "foo" }
return function render(_ctx, _cache) {
with (_ctx) {
const { toDisplayString: _toDisplayString, createElementVNode: _createElementVNode, openBlock: _openBlock, createElementBlock: _createElementBlock } = _Vue
- return (_openBlock(), _createElementBlock(\\"div\\", null, [
- _createElementVNode(\\"div\\", _hoisted_1, _toDisplayString(hello), 1 /* TEXT */)
+ return (_openBlock(), _createElementBlock("div", null, [
+ _createElementVNode("div", _hoisted_1, _toDisplayString(hello), 1 /* TEXT */)
]))
}
}"
"const _Vue = Vue
const { createVNode: _createVNode, createElementVNode: _createElementVNode } = _Vue
-const _hoisted_1 = { id: \\"foo\\" }
+const _hoisted_1 = { id: "foo" }
return function render(_ctx, _cache) {
with (_ctx) {
const { resolveComponent: _resolveComponent, createVNode: _createVNode, createElementVNode: _createElementVNode, openBlock: _openBlock, createElementBlock: _createElementBlock } = _Vue
- const _component_Comp = _resolveComponent(\\"Comp\\")
+ const _component_Comp = _resolveComponent("Comp")
- return (_openBlock(), _createElementBlock(\\"div\\", null, [
- _createElementVNode(\\"div\\", _hoisted_1, [
+ return (_openBlock(), _createElementBlock("div", null, [
+ _createElementVNode("div", _hoisted_1, [
_createVNode(_component_Comp)
])
]))
with (_ctx) {
const { toDisplayString: _toDisplayString, normalizeClass: _normalizeClass, createElementVNode: _createElementVNode, openBlock: _openBlock, createElementBlock: _createElementBlock } = _Vue
- return (_openBlock(), _createElementBlock(\\"div\\", null, [
- _createElementVNode(\\"span\\", _hoisted_1, _toDisplayString(_ctx.bar), 1 /* TEXT */)
+ return (_openBlock(), _createElementBlock("div", null, [
+ _createElementVNode("span", _hoisted_1, _toDisplayString(_ctx.bar), 1 /* TEXT */)
]))
}
}"
"const _Vue = Vue
const { createElementVNode: _createElementVNode } = _Vue
-const _hoisted_1 = /*#__PURE__*/_createElementVNode(\\"span\\", null, \\"foo \\" + /*#__PURE__*/_toDisplayString(1) + \\" \\" + /*#__PURE__*/_toDisplayString(true), -1 /* HOISTED */)
+const _hoisted_1 = /*#__PURE__*/_createElementVNode("span", null, "foo " + /*#__PURE__*/_toDisplayString(1) + " " + /*#__PURE__*/_toDisplayString(true), -1 /* HOISTED */)
const _hoisted_2 = [
_hoisted_1
]
with (_ctx) {
const { toDisplayString: _toDisplayString, createElementVNode: _createElementVNode, openBlock: _openBlock, createElementBlock: _createElementBlock } = _Vue
- return (_openBlock(), _createElementBlock(\\"div\\", null, _hoisted_2))
+ return (_openBlock(), _createElementBlock("div", null, _hoisted_2))
}
}"
`;
"const _Vue = Vue
const { createElementVNode: _createElementVNode } = _Vue
-const _hoisted_1 = /*#__PURE__*/_createElementVNode(\\"span\\", { foo: 0 }, /*#__PURE__*/_toDisplayString(1), -1 /* HOISTED */)
+const _hoisted_1 = /*#__PURE__*/_createElementVNode("span", { foo: 0 }, /*#__PURE__*/_toDisplayString(1), -1 /* HOISTED */)
const _hoisted_2 = [
_hoisted_1
]
with (_ctx) {
const { toDisplayString: _toDisplayString, createElementVNode: _createElementVNode, openBlock: _openBlock, createElementBlock: _createElementBlock } = _Vue
- return (_openBlock(), _createElementBlock(\\"div\\", null, _hoisted_2))
+ return (_openBlock(), _createElementBlock("div", null, _hoisted_2))
}
}"
`;
"const _Vue = Vue
const { createElementVNode: _createElementVNode } = _Vue
-const _hoisted_1 = /*#__PURE__*/_createElementVNode(\\"path\\", { d: \\"M2,3H5.5L12\\" }, null, -1 /* HOISTED */)
+const _hoisted_1 = /*#__PURE__*/_createElementVNode("path", { d: "M2,3H5.5L12" }, null, -1 /* HOISTED */)
const _hoisted_2 = [
_hoisted_1
]
with (_ctx) {
const { createElementVNode: _createElementVNode, resolveDirective: _resolveDirective, openBlock: _openBlock, createElementBlock: _createElementBlock, withDirectives: _withDirectives } = _Vue
- const _directive_foo = _resolveDirective(\\"foo\\")
+ const _directive_foo = _resolveDirective("foo")
- return (_openBlock(), _createElementBlock(\\"div\\", null, [
- _withDirectives((_openBlock(), _createElementBlock(\\"svg\\", null, _hoisted_2)), [
+ return (_openBlock(), _createElementBlock("div", null, [
+ _withDirectives((_openBlock(), _createElementBlock("svg", null, _hoisted_2)), [
[_directive_foo]
])
]))
`;
exports[`compiler: hoistStatic transform > prefixIdentifiers > should NOT hoist elements with cached handlers + other bindings 1`] = `
-"import { normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \\"vue\\"
+"import { normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from "vue"
export function render(_ctx, _cache) {
- return (_openBlock(), _createElementBlock(\\"div\\", null, [
- _createElementVNode(\\"div\\", null, [
- _createElementVNode(\\"div\\", {
+ return (_openBlock(), _createElementBlock("div", null, [
+ _createElementVNode("div", null, [
+ _createElementVNode("div", {
class: _normalizeClass({}),
onClick: _cache[0] || (_cache[0] = (...args) => (_ctx.foo && _ctx.foo(...args)))
})
`;
exports[`compiler: hoistStatic transform > prefixIdentifiers > should NOT hoist elements with cached handlers 1`] = `
-"import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \\"vue\\"
+"import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from "vue"
export function render(_ctx, _cache) {
- return (_openBlock(), _createElementBlock(\\"div\\", null, [
- _createElementVNode(\\"div\\", null, [
- _createElementVNode(\\"div\\", {
+ return (_openBlock(), _createElementBlock("div", null, [
+ _createElementVNode("div", null, [
+ _createElementVNode("div", {
onClick: _cache[0] || (_cache[0] = (...args) => (_ctx.foo && _ctx.foo(...args)))
})
])
with (_ctx) {
const { renderList: _renderList, Fragment: _Fragment, openBlock: _openBlock, createElementBlock: _createElementBlock, toDisplayString: _toDisplayString, createElementVNode: _createElementVNode } = _Vue
- return (_openBlock(), _createElementBlock(\\"div\\", null, [
+ return (_openBlock(), _createElementBlock("div", null, [
(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.list, (o) => {
- return (_openBlock(), _createElementBlock(\\"p\\", null, [
- _createElementVNode(\\"span\\", null, _toDisplayString(o + 'foo'), 1 /* TEXT */)
+ return (_openBlock(), _createElementBlock("p", null, [
+ _createElementVNode("span", null, _toDisplayString(o + 'foo'), 1 /* TEXT */)
]))
}), 256 /* UNKEYED_FRAGMENT */))
]))
with (_ctx) {
const { toDisplayString: _toDisplayString, createTextVNode: _createTextVNode, resolveComponent: _resolveComponent, withCtx: _withCtx, openBlock: _openBlock, createBlock: _createBlock } = _Vue
- const _component_Comp = _resolveComponent(\\"Comp\\")
+ const _component_Comp = _resolveComponent("Comp")
return (_openBlock(), _createBlock(_component_Comp, null, {
default: _withCtx(({ foo }) => [
with (_ctx) {
const { renderList: _renderList, Fragment: _Fragment, openBlock: _openBlock, createElementBlock: _createElementBlock, toDisplayString: _toDisplayString, createElementVNode: _createElementVNode } = _Vue
- return (_openBlock(), _createElementBlock(\\"div\\", null, [
+ return (_openBlock(), _createElementBlock("div", null, [
(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.list, (o) => {
- return (_openBlock(), _createElementBlock(\\"p\\", null, [
- _createElementVNode(\\"span\\", null, _toDisplayString(o), 1 /* TEXT */)
+ return (_openBlock(), _createElementBlock("p", null, [
+ _createElementVNode("span", null, _toDisplayString(o), 1 /* TEXT */)
]))
}), 256 /* UNKEYED_FRAGMENT */))
]))
with (_ctx) {
const { renderList: _renderList, Fragment: _Fragment, openBlock: _openBlock, createElementBlock: _createElementBlock } = _Vue
- return (_openBlock(), _createElementBlock(\\"div\\", null, [
+ return (_openBlock(), _createElementBlock("div", null, [
(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(items, (item) => {
- return (_openBlock(), _createElementBlock(\\"span\\", { key: item }))
+ return (_openBlock(), _createElementBlock("span", { key: item }))
}), 128 /* KEYED_FRAGMENT */))
]))
}
with (_ctx) {
const { resolveComponent: _resolveComponent, createVNode: _createVNode, openBlock: _openBlock, createElementBlock: _createElementBlock } = _Vue
- const _component_Comp = _resolveComponent(\\"Comp\\")
+ const _component_Comp = _resolveComponent("Comp")
- return (_openBlock(), _createElementBlock(\\"div\\", null, [
+ return (_openBlock(), _createElementBlock("div", null, [
_createVNode(_component_Comp)
]))
}
with (_ctx) {
const { openBlock: _openBlock, createElementBlock: _createElementBlock } = _Vue
- return (_openBlock(), _createElementBlock(\\"div\\", null, [
- (_openBlock(), _createElementBlock(\\"div\\", { key: foo }))
+ return (_openBlock(), _createElementBlock("div", null, [
+ (_openBlock(), _createElementBlock("div", { key: foo }))
]))
}
}"
"const _Vue = Vue
const { createElementVNode: _createElementVNode } = _Vue
-const _hoisted_1 = [\\"id\\"]
+const _hoisted_1 = ["id"]
return function render(_ctx, _cache) {
with (_ctx) {
const { createElementVNode: _createElementVNode, openBlock: _openBlock, createElementBlock: _createElementBlock } = _Vue
- return (_openBlock(), _createElementBlock(\\"div\\", null, [
- _createElementVNode(\\"div\\", { id: foo }, null, 8 /* PROPS */, _hoisted_1)
+ return (_openBlock(), _createElementBlock("div", null, [
+ _createElementVNode("div", { id: foo }, null, 8 /* PROPS */, _hoisted_1)
]))
}
}"
with (_ctx) {
const { createElementVNode: _createElementVNode, openBlock: _openBlock, createElementBlock: _createElementBlock } = _Vue
- return (_openBlock(), _createElementBlock(\\"div\\", null, [
- _createElementVNode(\\"div\\", { ref: foo }, null, 512 /* NEED_PATCH */)
+ return (_openBlock(), _createElementBlock("div", null, [
+ _createElementVNode("div", { ref: foo }, null, 512 /* NEED_PATCH */)
]))
}
}"
with (_ctx) {
const { openBlock: _openBlock, createElementBlock: _createElementBlock } = _Vue
- return (_openBlock(), _createElementBlock(\\"div\\"))
+ return (_openBlock(), _createElementBlock("div"))
}
}"
`;
"const _Vue = Vue
const { createElementVNode: _createElementVNode } = _Vue
-const _hoisted_1 = { id: \\"foo\\" }
-const _hoisted_2 = /*#__PURE__*/_createElementVNode(\\"span\\", null, null, -1 /* HOISTED */)
+const _hoisted_1 = { id: "foo" }
+const _hoisted_2 = /*#__PURE__*/_createElementVNode("span", null, null, -1 /* HOISTED */)
const _hoisted_3 = [
_hoisted_2
]
with (_ctx) {
const { renderList: _renderList, Fragment: _Fragment, openBlock: _openBlock, createElementBlock: _createElementBlock, createElementVNode: _createElementVNode } = _Vue
- return (_openBlock(), _createElementBlock(\\"div\\", null, [
+ return (_openBlock(), _createElementBlock("div", null, [
(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(list, (i) => {
- return (_openBlock(), _createElementBlock(\\"div\\", _hoisted_1, _hoisted_3))
+ return (_openBlock(), _createElementBlock("div", _hoisted_1, _hoisted_3))
}), 256 /* UNKEYED_FRAGMENT */))
]))
}
const _hoisted_1 = {
key: 0,
- id: \\"foo\\"
+ id: "foo"
}
-const _hoisted_2 = /*#__PURE__*/_createElementVNode(\\"span\\", null, null, -1 /* HOISTED */)
+const _hoisted_2 = /*#__PURE__*/_createElementVNode("span", null, null, -1 /* HOISTED */)
const _hoisted_3 = [
_hoisted_2
]
with (_ctx) {
const { createElementVNode: _createElementVNode, openBlock: _openBlock, createElementBlock: _createElementBlock, createCommentVNode: _createCommentVNode } = _Vue
- return (_openBlock(), _createElementBlock(\\"div\\", null, [
+ return (_openBlock(), _createElementBlock("div", null, [
ok
- ? (_openBlock(), _createElementBlock(\\"div\\", _hoisted_1, _hoisted_3))
- : _createCommentVNode(\\"v-if\\", true)
+ ? (_openBlock(), _createElementBlock("div", _hoisted_1, _hoisted_3))
+ : _createCommentVNode("v-if", true)
]))
}
}"
exports[`compiler: expression transform > bindingMetadata > inline mode 1`] = `
"(_ctx, _cache) => {
- return (_openBlock(), _createElementBlock(\\"div\\", null, _toDisplayString(__props.props) + \\" \\" + _toDisplayString(_unref(setup)) + \\" \\" + _toDisplayString(setupConst) + \\" \\" + _toDisplayString(_ctx.data) + \\" \\" + _toDisplayString(_ctx.options) + \\" \\" + _toDisplayString(isNaN.value), 1 /* TEXT */))
+ return (_openBlock(), _createElementBlock("div", null, _toDisplayString(__props.props) + " " + _toDisplayString(_unref(setup)) + " " + _toDisplayString(setupConst) + " " + _toDisplayString(_ctx.data) + " " + _toDisplayString(_ctx.options) + " " + _toDisplayString(isNaN.value), 1 /* TEXT */))
}"
`;
"const { toDisplayString: _toDisplayString, openBlock: _openBlock, createElementBlock: _createElementBlock } = Vue
return function render(_ctx, _cache, $props, $setup, $data, $options) {
- return (_openBlock(), _createElementBlock(\\"div\\", null, _toDisplayString($props.props) + \\" \\" + _toDisplayString($setup.setup) + \\" \\" + _toDisplayString($data.data) + \\" \\" + _toDisplayString($options.options) + \\" \\" + _toDisplayString($setup.isNaN), 1 /* TEXT */))
+ return (_openBlock(), _createElementBlock("div", null, _toDisplayString($props.props) + " " + _toDisplayString($setup.setup) + " " + _toDisplayString($data.data) + " " + _toDisplayString($options.options) + " " + _toDisplayString($setup.isNaN), 1 /* TEXT */))
}"
`;
"const { openBlock: _openBlock, createElementBlock: _createElementBlock } = Vue
return function render(_ctx, _cache, $props, $setup, $data, $options) {
- return (_openBlock(), _createElementBlock(\\"div\\", {
+ return (_openBlock(), _createElementBlock("div", {
onClick: () => {
for (let i = 0; i < _ctx.list.length; i++) {
_ctx.log(i)
}
}
- }, null, 8 /* PROPS */, [\\"onClick\\"]))
+ }, null, 8 /* PROPS */, ["onClick"]))
}"
`;
"const { openBlock: _openBlock, createElementBlock: _createElementBlock } = Vue
return function render(_ctx, _cache, $props, $setup, $data, $options) {
- return (_openBlock(), _createElementBlock(\\"div\\", {
+ return (_openBlock(), _createElementBlock("div", {
onClick: () => {
for (const x in _ctx.list) {
_ctx.log(x)
}
}
- }, null, 8 /* PROPS */, [\\"onClick\\"]))
+ }, null, 8 /* PROPS */, ["onClick"]))
}"
`;
"const { openBlock: _openBlock, createElementBlock: _createElementBlock } = Vue
return function render(_ctx, _cache, $props, $setup, $data, $options) {
- return (_openBlock(), _createElementBlock(\\"div\\", {
+ return (_openBlock(), _createElementBlock("div", {
onClick: () => {
for (const x of _ctx.list) {
_ctx.log(x)
}
}
- }, null, 8 /* PROPS */, [\\"onClick\\"]))
+ }, null, 8 /* PROPS */, ["onClick"]))
}"
`;
return (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(list, (i) => {
return (_openBlock(), _createElementBlock(_Fragment, null, [
- _createTextVNode(\\"foo\\")
+ _createTextVNode("foo")
], 64 /* STABLE_FRAGMENT */))
}), 256 /* UNKEYED_FRAGMENT */))
}
with (_ctx) {
const { toDisplayString: _toDisplayString } = _Vue
- return _toDisplayString(foo) + \\" bar \\" + _toDisplayString(baz)
+ return _toDisplayString(foo) + " bar " + _toDisplayString(baz)
}
}"
`;
const { createElementVNode: _createElementVNode, toDisplayString: _toDisplayString, createTextVNode: _createTextVNode, Fragment: _Fragment, openBlock: _openBlock, createElementBlock: _createElementBlock } = _Vue
return (_openBlock(), _createElementBlock(_Fragment, null, [
- _createElementVNode(\\"div\\"),
- _createTextVNode(_toDisplayString(foo) + \\" bar \\" + _toDisplayString(baz), 1 /* TEXT */),
- _createElementVNode(\\"div\\")
+ _createElementVNode("div"),
+ _createTextVNode(_toDisplayString(foo) + " bar " + _toDisplayString(baz), 1 /* TEXT */),
+ _createElementVNode("div")
], 64 /* STABLE_FRAGMENT */))
}
}"
const { createElementVNode: _createElementVNode, toDisplayString: _toDisplayString, createTextVNode: _createTextVNode, Fragment: _Fragment, openBlock: _openBlock, createElementBlock: _createElementBlock } = _Vue
return (_openBlock(), _createElementBlock(_Fragment, null, [
- _createElementVNode(\\"div\\"),
- _createTextVNode(_toDisplayString(foo) + \\" bar \\" + _toDisplayString(baz), 1 /* TEXT */),
- _createElementVNode(\\"div\\"),
- _createTextVNode(\\"hello\\"),
- _createElementVNode(\\"div\\")
+ _createElementVNode("div"),
+ _createTextVNode(_toDisplayString(foo) + " bar " + _toDisplayString(baz), 1 /* TEXT */),
+ _createElementVNode("div"),
+ _createTextVNode("hello"),
+ _createElementVNode("div")
], 64 /* STABLE_FRAGMENT */))
}
}"
with (_ctx) {
const { toDisplayString: _toDisplayString, createTextVNode: _createTextVNode, resolveDirective: _resolveDirective, openBlock: _openBlock, createElementBlock: _createElementBlock, withDirectives: _withDirectives } = _Vue
- const _directive_foo = _resolveDirective(\\"foo\\")
+ const _directive_foo = _resolveDirective("foo")
- return _withDirectives((_openBlock(), _createElementBlock(\\"p\\", null, [
+ return _withDirectives((_openBlock(), _createElementBlock("p", null, [
_createTextVNode(_toDisplayString(foo), 1 /* TEXT */)
])), [
[_directive_foo]
const { createElementVNode: _createElementVNode, createTextVNode: _createTextVNode, Fragment: _Fragment, openBlock: _openBlock, createElementBlock: _createElementBlock } = _Vue
return (_openBlock(), _createElementBlock(_Fragment, null, [
- _createElementVNode(\\"div\\"),
- _createTextVNode(\\"hello\\"),
- _createElementVNode(\\"div\\")
+ _createElementVNode("div"),
+ _createTextVNode("hello"),
+ _createElementVNode("div")
], 64 /* STABLE_FRAGMENT */))
}
}"
"const { toDisplayString: _toDisplayString } = Vue
return function render(_ctx, _cache) {
- return _toDisplayString(_ctx.foo) + \\" bar \\" + _toDisplayString(_ctx.baz + _ctx.qux)
+ return _toDisplayString(_ctx.foo) + " bar " + _toDisplayString(_ctx.baz + _ctx.qux)
}"
`;
const { renderList: _renderList, Fragment: _Fragment, openBlock: _openBlock, createElementBlock: _createElementBlock } = _Vue
return (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(items, (item) => {
- return (_openBlock(), _createElementBlock(\\"span\\"))
+ return (_openBlock(), _createElementBlock("span"))
}), 256 /* UNKEYED_FRAGMENT */))
}
}"
return (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(items, (item) => {
return (_openBlock(), _createElementBlock(_Fragment, { key: item }, [
- \\"hello\\",
- _createElementVNode(\\"span\\")
+ "hello",
+ _createElementVNode("span")
], 64 /* STABLE_FRAGMENT */))
}), 128 /* KEYED_FRAGMENT */))
}
const { renderList: _renderList, Fragment: _Fragment, openBlock: _openBlock, createElementBlock: _createElementBlock } = _Vue
return (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(items, (item) => {
- return (_openBlock(), _createElementBlock(\\"span\\", { key: item }))
+ return (_openBlock(), _createElementBlock("span", { key: item }))
}), 128 /* KEYED_FRAGMENT */))
}
}"
const { renderList: _renderList, Fragment: _Fragment, openBlock: _openBlock, createElementBlock: _createElementBlock } = _Vue
return (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(items, (item, __, index) => {
- return (_openBlock(), _createElementBlock(\\"span\\"))
+ return (_openBlock(), _createElementBlock("span"))
}), 256 /* UNKEYED_FRAGMENT */))
}
}"
const { renderList: _renderList, Fragment: _Fragment, openBlock: _openBlock, createElementBlock: _createElementBlock } = _Vue
return (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(items, (_, __, index) => {
- return (_openBlock(), _createElementBlock(\\"span\\"))
+ return (_openBlock(), _createElementBlock("span"))
}), 256 /* UNKEYED_FRAGMENT */))
}
}"
const { renderList: _renderList, Fragment: _Fragment, openBlock: _openBlock, createElementBlock: _createElementBlock } = _Vue
return (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(items, (_, key, index) => {
- return (_openBlock(), _createElementBlock(\\"span\\"))
+ return (_openBlock(), _createElementBlock("span"))
}), 256 /* UNKEYED_FRAGMENT */))
}
}"
return (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(items, (item) => {
return (_openBlock(), _createElementBlock(_Fragment, null, [
- \\"hello\\",
- _createElementVNode(\\"span\\")
+ "hello",
+ _createElementVNode("span")
], 64 /* STABLE_FRAGMENT */))
}), 256 /* UNKEYED_FRAGMENT */))
}
const { renderList: _renderList, Fragment: _Fragment, openBlock: _openBlock, createElementBlock: _createElementBlock } = _Vue
return (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(items, (item) => {
- return (_openBlock(), _createElementBlock(\\"span\\", {
+ return (_openBlock(), _createElementBlock("span", {
key: item.id,
id: item.id
- }, null, 8 /* PROPS */, [\\"id\\"]))
+ }, null, 8 /* PROPS */, ["id"]))
}), 128 /* KEYED_FRAGMENT */))
}
}"
const { renderList: _renderList, Fragment: _Fragment, openBlock: _openBlock, createElementBlock: _createElementBlock, renderSlot: _renderSlot } = _Vue
return (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(items, (item) => {
- return _renderSlot($slots, \\"default\\")
+ return _renderSlot($slots, "default")
}), 256 /* UNKEYED_FRAGMENT */))
}
}"
const { renderList: _renderList, Fragment: _Fragment, openBlock: _openBlock, createElementBlock: _createElementBlock, renderSlot: _renderSlot } = _Vue
return (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(items, (item) => {
- return _renderSlot($slots, \\"default\\")
+ return _renderSlot($slots, "default")
}), 256 /* UNKEYED_FRAGMENT */))
}
}"
with (_ctx) {
const { renderList: _renderList, Fragment: _Fragment, openBlock: _openBlock, createElementBlock: _createElementBlock, resolveDirective: _resolveDirective, withDirectives: _withDirectives } = _Vue
- const _directive_foo = _resolveDirective(\\"foo\\")
+ const _directive_foo = _resolveDirective("foo")
return (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(list, (i) => {
- return _withDirectives((_openBlock(), _createElementBlock(\\"div\\", null, null, 512 /* NEED_PATCH */)), [
+ return _withDirectives((_openBlock(), _createElementBlock("div", null, null, 512 /* NEED_PATCH */)), [
[_directive_foo]
])
}), 256 /* UNKEYED_FRAGMENT */))
const { renderList: _renderList, Fragment: _Fragment, openBlock: _openBlock, createElementBlock: _createElementBlock, toDisplayString: _toDisplayString, createElementVNode: _createElementVNode } = _Vue
return (_openBlock(), _createElementBlock(_Fragment, null, _renderList(10, (item) => {
- return _createElementVNode(\\"p\\", null, _toDisplayString(item), 1 /* TEXT */)
+ return _createElementVNode("p", null, _toDisplayString(item), 1 /* TEXT */)
}), 64 /* STABLE_FRAGMENT */))
}
}"
return ok
? (_openBlock(true), _createElementBlock(_Fragment, { key: 0 }, _renderList(list, (i) => {
- return (_openBlock(), _createElementBlock(\\"div\\"))
+ return (_openBlock(), _createElementBlock("div"))
}), 256 /* UNKEYED_FRAGMENT */))
- : _createCommentVNode(\\"v-if\\", true)
+ : _createCommentVNode("v-if", true)
}
}"
`;
? (_openBlock(true), _createElementBlock(_Fragment, { key: 0 }, _renderList(list, (i) => {
return (_openBlock(), _createElementBlock(_Fragment, null, [], 64 /* STABLE_FRAGMENT */))
}), 256 /* UNKEYED_FRAGMENT */))
- : _createCommentVNode(\\"v-if\\", true)
+ : _createCommentVNode("v-if", true)
}
}"
`;
const { renderList: _renderList, Fragment: _Fragment, openBlock: _openBlock, createElementBlock: _createElementBlock } = _Vue
return (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(items, (item, key, index) => {
- return (_openBlock(), _createElementBlock(\\"span\\"))
+ return (_openBlock(), _createElementBlock("span"))
}), 256 /* UNKEYED_FRAGMENT */))
}
}"
const { openBlock: _openBlock, createElementBlock: _createElementBlock, createCommentVNode: _createCommentVNode } = _Vue
return ok
- ? (_openBlock(), _createElementBlock(\\"div\\", { key: 0 }))
- : _createCommentVNode(\\"v-if\\", true)
+ ? (_openBlock(), _createElementBlock("div", { key: 0 }))
+ : _createCommentVNode("v-if", true)
}
}"
`;
return (_openBlock(), _createElementBlock(_Fragment, null, [
ok
- ? (_openBlock(), _createElementBlock(\\"div\\", { key: 0 }))
- : (_openBlock(), _createElementBlock(\\"p\\", { key: 1 })),
+ ? (_openBlock(), _createElementBlock("div", { key: 0 }))
+ : (_openBlock(), _createElementBlock("p", { key: 1 })),
another
- ? (_openBlock(), _createElementBlock(\\"div\\", { key: 2 }))
+ ? (_openBlock(), _createElementBlock("div", { key: 2 }))
: orNot
- ? (_openBlock(), _createElementBlock(\\"p\\", { key: 3 }))
- : (_openBlock(), _createElementBlock(\\"p\\", { key: 4 }))
+ ? (_openBlock(), _createElementBlock("p", { key: 3 }))
+ : (_openBlock(), _createElementBlock("p", { key: 4 }))
], 64 /* STABLE_FRAGMENT */))
}
}"
return (_openBlock(), _createElementBlock(_Fragment, null, [
ok
- ? (_openBlock(), _createElementBlock(\\"div\\", { key: 0 }))
- : _createCommentVNode(\\"v-if\\", true),
+ ? (_openBlock(), _createElementBlock("div", { key: 0 }))
+ : _createCommentVNode("v-if", true),
orNot
- ? (_openBlock(), _createElementBlock(\\"p\\", { key: 1 }))
- : _createCommentVNode(\\"v-if\\", true)
+ ? (_openBlock(), _createElementBlock("p", { key: 1 }))
+ : _createCommentVNode("v-if", true)
], 64 /* STABLE_FRAGMENT */))
}
}"
return ok
? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [
- _createElementVNode(\\"div\\"),
- \\"hello\\",
- _createElementVNode(\\"p\\")
+ _createElementVNode("div"),
+ "hello",
+ _createElementVNode("p")
], 64 /* STABLE_FRAGMENT */))
- : _createCommentVNode(\\"v-if\\", true)
+ : _createCommentVNode("v-if", true)
}
}"
`;
const { renderSlot: _renderSlot, createCommentVNode: _createCommentVNode } = _Vue
return ok
- ? _renderSlot($slots, \\"default\\", { key: 0 })
- : _createCommentVNode(\\"v-if\\", true)
+ ? _renderSlot($slots, "default", { key: 0 })
+ : _createCommentVNode("v-if", true)
}
}"
`;
const { openBlock: _openBlock, createElementBlock: _createElementBlock, createCommentVNode: _createCommentVNode } = _Vue
return ok
- ? (_openBlock(), _createElementBlock(\\"div\\", { key: 0 }))
- : (_openBlock(), _createElementBlock(\\"p\\", { key: 1 }))
+ ? (_openBlock(), _createElementBlock("div", { key: 0 }))
+ : (_openBlock(), _createElementBlock("p", { key: 1 }))
}
}"
`;
const { openBlock: _openBlock, createElementBlock: _createElementBlock, createCommentVNode: _createCommentVNode, Fragment: _Fragment } = _Vue
return ok
- ? (_openBlock(), _createElementBlock(\\"div\\", { key: 0 }))
+ ? (_openBlock(), _createElementBlock("div", { key: 0 }))
: orNot
- ? (_openBlock(), _createElementBlock(\\"p\\", { key: 1 }))
- : (_openBlock(), _createElementBlock(_Fragment, { key: 2 }, [\\"fine\\"], 64 /* STABLE_FRAGMENT */))
+ ? (_openBlock(), _createElementBlock("p", { key: 1 }))
+ : (_openBlock(), _createElementBlock(_Fragment, { key: 2 }, ["fine"], 64 /* STABLE_FRAGMENT */))
}
}"
`;
const { openBlock: _openBlock, createElementBlock: _createElementBlock, createCommentVNode: _createCommentVNode } = _Vue
return ok
- ? (_openBlock(), _createElementBlock(\\"div\\", { key: 0 }))
+ ? (_openBlock(), _createElementBlock("div", { key: 0 }))
: orNot
- ? (_openBlock(), _createElementBlock(\\"p\\", { key: 1 }))
- : _createCommentVNode(\\"v-if\\", true)
+ ? (_openBlock(), _createElementBlock("p", { key: 1 }))
+ : _createCommentVNode("v-if", true)
}
}"
`;
const { renderSlot: _renderSlot, createCommentVNode: _createCommentVNode } = _Vue
return ok
- ? _renderSlot($slots, \\"default\\", { key: 0 })
- : _createCommentVNode(\\"v-if\\", true)
+ ? _renderSlot($slots, "default", { key: 0 })
+ : _createCommentVNode("v-if", true)
}
}"
`;
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
exports[`compiler: v-memo transform > on component 1`] = `
-"import { resolveComponent as _resolveComponent, createVNode as _createVNode, withMemo as _withMemo, openBlock as _openBlock, createElementBlock as _createElementBlock } from \\"vue\\"
+"import { resolveComponent as _resolveComponent, createVNode as _createVNode, withMemo as _withMemo, openBlock as _openBlock, createElementBlock as _createElementBlock } from "vue"
export function render(_ctx, _cache) {
- const _component_Comp = _resolveComponent(\\"Comp\\")
+ const _component_Comp = _resolveComponent("Comp")
- return (_openBlock(), _createElementBlock(\\"div\\", null, [
+ return (_openBlock(), _createElementBlock("div", null, [
_withMemo([_ctx.x], () => _createVNode(_component_Comp), _cache, 0)
]))
}"
`;
exports[`compiler: v-memo transform > on normal element 1`] = `
-"import { openBlock as _openBlock, createElementBlock as _createElementBlock, withMemo as _withMemo } from \\"vue\\"
+"import { openBlock as _openBlock, createElementBlock as _createElementBlock, withMemo as _withMemo } from "vue"
export function render(_ctx, _cache) {
- return (_openBlock(), _createElementBlock(\\"div\\", null, [
- _withMemo([_ctx.x], () => (_openBlock(), _createElementBlock(\\"div\\")), _cache, 0)
+ return (_openBlock(), _createElementBlock("div", null, [
+ _withMemo([_ctx.x], () => (_openBlock(), _createElementBlock("div")), _cache, 0)
]))
}"
`;
exports[`compiler: v-memo transform > on root element 1`] = `
-"import { openBlock as _openBlock, createElementBlock as _createElementBlock, withMemo as _withMemo } from \\"vue\\"
+"import { openBlock as _openBlock, createElementBlock as _createElementBlock, withMemo as _withMemo } from "vue"
export function render(_ctx, _cache) {
- return _withMemo([_ctx.x], () => (_openBlock(), _createElementBlock(\\"div\\")), _cache, 0)
+ return _withMemo([_ctx.x], () => (_openBlock(), _createElementBlock("div")), _cache, 0)
}"
`;
exports[`compiler: v-memo transform > on template v-for 1`] = `
-"import { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, isMemoSame as _isMemoSame, withMemo as _withMemo } from \\"vue\\"
+"import { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, isMemoSame as _isMemoSame, withMemo as _withMemo } from "vue"
export function render(_ctx, _cache) {
- return (_openBlock(), _createElementBlock(\\"div\\", null, [
+ return (_openBlock(), _createElementBlock("div", null, [
(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.list, ({ x, y }, __, ___, _cached) => {
const _memo = ([x, y === _ctx.z])
if (_cached && _cached.key === x && _isMemoSame(_cached, _memo)) return _cached
- const _item = (_openBlock(), _createElementBlock(\\"span\\", { key: x }, \\"foobar\\"))
+ const _item = (_openBlock(), _createElementBlock("span", { key: x }, "foobar"))
_item.memo = _memo
return _item
}, _cache, 0), 128 /* KEYED_FRAGMENT */))
`;
exports[`compiler: v-memo transform > on v-for 1`] = `
-"import { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode, isMemoSame as _isMemoSame, withMemo as _withMemo } from \\"vue\\"
+"import { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode, isMemoSame as _isMemoSame, withMemo as _withMemo } from "vue"
export function render(_ctx, _cache) {
- return (_openBlock(), _createElementBlock(\\"div\\", null, [
+ return (_openBlock(), _createElementBlock("div", null, [
(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.list, ({ x, y }, __, ___, _cached) => {
const _memo = ([x, y === _ctx.z])
if (_cached && _cached.key === x && _isMemoSame(_cached, _memo)) return _cached
- const _item = (_openBlock(), _createElementBlock(\\"div\\", { key: x }, [
- _createElementVNode(\\"span\\", null, \\"foobar\\")
+ const _item = (_openBlock(), _createElementBlock("div", { key: x }, [
+ _createElementVNode("span", null, "foobar")
]))
_item.memo = _memo
return _item
`;
exports[`compiler: v-memo transform > on v-if 1`] = `
-"import { createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, withMemo as _withMemo, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, createBlock as _createBlock } from \\"vue\\"
+"import { createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, withMemo as _withMemo, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, createBlock as _createBlock } from "vue"
export function render(_ctx, _cache) {
- const _component_Comp = _resolveComponent(\\"Comp\\")
+ const _component_Comp = _resolveComponent("Comp")
- return (_openBlock(), _createElementBlock(\\"div\\", null, [
+ return (_openBlock(), _createElementBlock("div", null, [
(_ctx.ok)
- ? _withMemo([_ctx.x], () => (_openBlock(), _createElementBlock(\\"div\\", { key: 0 }, [
- _createElementVNode(\\"span\\", null, \\"foo\\"),
- _createTextVNode(\\"bar\\")
+ ? _withMemo([_ctx.x], () => (_openBlock(), _createElementBlock("div", { key: 0 }, [
+ _createElementVNode("span", null, "foo"),
+ _createTextVNode("bar")
])), _cache, 0)
: _withMemo([_ctx.x], () => (_openBlock(), _createBlock(_component_Comp, { key: 1 })), _cache, 1)
]))
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
exports[`compiler: transform v-model > compound expression (with prefixIdentifiers) 1`] = `
-"import { openBlock as _openBlock, createElementBlock as _createElementBlock } from \\"vue\\"
+"import { openBlock as _openBlock, createElementBlock as _createElementBlock } from "vue"
export function render(_ctx, _cache) {
- return (_openBlock(), _createElementBlock(\\"input\\", {
+ return (_openBlock(), _createElementBlock("input", {
modelValue: _ctx.model[_ctx.index],
- \\"onUpdate:modelValue\\": $event => ((_ctx.model[_ctx.index]) = $event)
- }, null, 8 /* PROPS */, [\\"modelValue\\", \\"onUpdate:modelValue\\"]))
+ "onUpdate:modelValue": $event => ((_ctx.model[_ctx.index]) = $event)
+ }, null, 8 /* PROPS */, ["modelValue", "onUpdate:modelValue"]))
}"
`;
with (_ctx) {
const { openBlock: _openBlock, createElementBlock: _createElementBlock } = _Vue
- return (_openBlock(), _createElementBlock(\\"input\\", {
+ return (_openBlock(), _createElementBlock("input", {
modelValue: model[index],
- \\"onUpdate:modelValue\\": $event => ((model[index]) = $event)
- }, null, 8 /* PROPS */, [\\"modelValue\\", \\"onUpdate:modelValue\\"]))
+ "onUpdate:modelValue": $event => ((model[index]) = $event)
+ }, null, 8 /* PROPS */, ["modelValue", "onUpdate:modelValue"]))
}
}"
`;
with (_ctx) {
const { openBlock: _openBlock, createElementBlock: _createElementBlock } = _Vue
- return (_openBlock(), _createElementBlock(\\"input\\", {
+ return (_openBlock(), _createElementBlock("input", {
modelValue:
model
.
foo
,
- \\"onUpdate:modelValue\\": $event => ((
+ "onUpdate:modelValue": $event => ((
model
.
foo
) = $event)
- }, null, 8 /* PROPS */, [\\"modelValue\\", \\"onUpdate:modelValue\\"]))
+ }, null, 8 /* PROPS */, ["modelValue", "onUpdate:modelValue"]))
}
}"
`;
exports[`compiler: transform v-model > simple expression (with prefixIdentifiers) 1`] = `
-"import { openBlock as _openBlock, createElementBlock as _createElementBlock } from \\"vue\\"
+"import { openBlock as _openBlock, createElementBlock as _createElementBlock } from "vue"
export function render(_ctx, _cache) {
- return (_openBlock(), _createElementBlock(\\"input\\", {
+ return (_openBlock(), _createElementBlock("input", {
modelValue: _ctx.model,
- \\"onUpdate:modelValue\\": $event => ((_ctx.model) = $event)
- }, null, 8 /* PROPS */, [\\"modelValue\\", \\"onUpdate:modelValue\\"]))
+ "onUpdate:modelValue": $event => ((_ctx.model) = $event)
+ }, null, 8 /* PROPS */, ["modelValue", "onUpdate:modelValue"]))
}"
`;
with (_ctx) {
const { openBlock: _openBlock, createElementBlock: _createElementBlock } = _Vue
- return (_openBlock(), _createElementBlock(\\"input\\", {
+ return (_openBlock(), _createElementBlock("input", {
modelValue: model,
- \\"onUpdate:modelValue\\": $event => ((model) = $event)
- }, null, 8 /* PROPS */, [\\"modelValue\\", \\"onUpdate:modelValue\\"]))
+ "onUpdate:modelValue": $event => ((model) = $event)
+ }, null, 8 /* PROPS */, ["modelValue", "onUpdate:modelValue"]))
}
}"
`;
with (_ctx) {
const { openBlock: _openBlock, createElementBlock: _createElementBlock } = _Vue
- return (_openBlock(), _createElementBlock(\\"input\\", {
- \\"foo-value\\": model,
- \\"onUpdate:fooValue\\": $event => ((model) = $event)
- }, null, 40 /* PROPS, NEED_HYDRATION */, [\\"foo-value\\", \\"onUpdate:fooValue\\"]))
+ return (_openBlock(), _createElementBlock("input", {
+ "foo-value": model,
+ "onUpdate:fooValue": $event => ((model) = $event)
+ }, null, 40 /* PROPS, NEED_HYDRATION */, ["foo-value", "onUpdate:fooValue"]))
}
}"
`;
exports[`compiler: transform v-model > with dynamic argument (with prefixIdentifiers) 1`] = `
-"import { normalizeProps as _normalizeProps, openBlock as _openBlock, createElementBlock as _createElementBlock } from \\"vue\\"
+"import { normalizeProps as _normalizeProps, openBlock as _openBlock, createElementBlock as _createElementBlock } from "vue"
export function render(_ctx, _cache) {
- return (_openBlock(), _createElementBlock(\\"input\\", _normalizeProps({
+ return (_openBlock(), _createElementBlock("input", _normalizeProps({
[_ctx.value]: _ctx.model,
- [\\"onUpdate:\\" + _ctx.value]: $event => ((_ctx.model) = $event)
+ ["onUpdate:" + _ctx.value]: $event => ((_ctx.model) = $event)
}), null, 16 /* FULL_PROPS */))
}"
`;
with (_ctx) {
const { normalizeProps: _normalizeProps, openBlock: _openBlock, createElementBlock: _createElementBlock } = _Vue
- return (_openBlock(), _createElementBlock(\\"input\\", _normalizeProps({
+ return (_openBlock(), _createElementBlock("input", _normalizeProps({
[value]: model,
- [\\"onUpdate:\\" + value]: $event => ((model) = $event)
+ ["onUpdate:" + value]: $event => ((model) = $event)
}), null, 16 /* FULL_PROPS */))
}
}"
return _cache[0] || (
_setBlockTracking(-1),
- _cache[0] = _createElementVNode(\\"div\\", { id: foo }, null, 8 /* PROPS */, [\\"id\\"]),
+ _cache[0] = _createElementVNode("div", { id: foo }, null, 8 /* PROPS */, ["id"]),
_setBlockTracking(1),
_cache[0]
)
with (_ctx) {
const { setBlockTracking: _setBlockTracking, resolveComponent: _resolveComponent, createVNode: _createVNode, openBlock: _openBlock, createElementBlock: _createElementBlock } = _Vue
- const _component_Comp = _resolveComponent(\\"Comp\\")
+ const _component_Comp = _resolveComponent("Comp")
- return (_openBlock(), _createElementBlock(\\"div\\", null, [
+ return (_openBlock(), _createElementBlock("div", null, [
_cache[0] || (
_setBlockTracking(-1),
- _cache[0] = _createVNode(_component_Comp, { id: foo }, null, 8 /* PROPS */, [\\"id\\"]),
+ _cache[0] = _createVNode(_component_Comp, { id: foo }, null, 8 /* PROPS */, ["id"]),
_setBlockTracking(1),
_cache[0]
)
with (_ctx) {
const { setBlockTracking: _setBlockTracking, createElementVNode: _createElementVNode, openBlock: _openBlock, createElementBlock: _createElementBlock } = _Vue
- return (_openBlock(), _createElementBlock(\\"div\\", null, [
+ return (_openBlock(), _createElementBlock("div", null, [
_cache[0] || (
_setBlockTracking(-1),
- _cache[0] = _createElementVNode(\\"div\\", { id: foo }, null, 8 /* PROPS */, [\\"id\\"]),
+ _cache[0] = _createElementVNode("div", { id: foo }, null, 8 /* PROPS */, ["id"]),
_setBlockTracking(1),
_cache[0]
)
with (_ctx) {
const { setBlockTracking: _setBlockTracking, renderSlot: _renderSlot, openBlock: _openBlock, createElementBlock: _createElementBlock } = _Vue
- return (_openBlock(), _createElementBlock(\\"div\\", null, [
+ return (_openBlock(), _createElementBlock("div", null, [
_cache[0] || (
_setBlockTracking(-1),
- _cache[0] = _renderSlot($slots, \\"default\\"),
+ _cache[0] = _renderSlot($slots, "default"),
_setBlockTracking(1),
_cache[0]
)
with (_ctx) {
const { setBlockTracking: _setBlockTracking, createElementVNode: _createElementVNode, openBlock: _openBlock, createElementBlock: _createElementBlock } = _Vue
- return (_openBlock(), _createElementBlock(\\"div\\", null, [
+ return (_openBlock(), _createElementBlock("div", null, [
_cache[0] || (
_setBlockTracking(-1),
- _cache[0] = _createElementVNode(\\"div\\"),
+ _cache[0] = _createElementVNode("div"),
_setBlockTracking(1),
_cache[0]
)
"const { toDisplayString: _toDisplayString, resolveComponent: _resolveComponent, withCtx: _withCtx, openBlock: _openBlock, createBlock: _createBlock } = Vue
return function render(_ctx, _cache) {
- const _component_Comp = _resolveComponent(\\"Comp\\")
+ const _component_Comp = _resolveComponent("Comp")
return (_openBlock(), _createBlock(_component_Comp, null, {
[_ctx.one]: _withCtx(({ foo }) => [_toDisplayString(foo), _toDisplayString(_ctx.bar)]),
"const { createElementVNode: _createElementVNode, resolveComponent: _resolveComponent, withCtx: _withCtx, openBlock: _openBlock, createBlock: _createBlock } = Vue
return function render(_ctx, _cache) {
- const _component_Comp = _resolveComponent(\\"Comp\\")
+ const _component_Comp = _resolveComponent("Comp")
return (_openBlock(), _createBlock(_component_Comp, null, {
default: _withCtx(() => [
- _createElementVNode(\\"div\\")
+ _createElementVNode("div")
]),
_: 1 /* STABLE */
}))
"const { toDisplayString: _toDisplayString, resolveComponent: _resolveComponent, withCtx: _withCtx, renderList: _renderList, createSlots: _createSlots, openBlock: _openBlock, createBlock: _createBlock } = Vue
return function render(_ctx, _cache) {
- const _component_Comp = _resolveComponent(\\"Comp\\")
+ const _component_Comp = _resolveComponent("Comp")
return (_openBlock(), _createBlock(_component_Comp, null, _createSlots({ _: 2 /* DYNAMIC */ }, [
_renderList(_ctx.list, (name) => {
"const { toDisplayString: _toDisplayString, resolveComponent: _resolveComponent, withCtx: _withCtx, createSlots: _createSlots, openBlock: _openBlock, createBlock: _createBlock } = Vue
return function render(_ctx, _cache) {
- const _component_Comp = _resolveComponent(\\"Comp\\")
+ const _component_Comp = _resolveComponent("Comp")
return (_openBlock(), _createBlock(_component_Comp, null, _createSlots({ _: 2 /* DYNAMIC */ }, [
(_ctx.ok)
? {
- name: \\"one\\",
+ name: "one",
fn: _withCtx((props) => [_toDisplayString(props)]),
- key: \\"0\\"
+ key: "0"
}
: undefined
]), 1024 /* DYNAMIC_SLOTS */))
with (_ctx) {
const { resolveComponent: _resolveComponent, withCtx: _withCtx, createSlots: _createSlots, openBlock: _openBlock, createBlock: _createBlock } = _Vue
- const _component_Comp = _resolveComponent(\\"Comp\\")
+ const _component_Comp = _resolveComponent("Comp")
return (_openBlock(), _createBlock(_component_Comp, null, _createSlots({ _: 2 /* DYNAMIC */ }, [
ok
? {
- name: \\"one\\",
- fn: _withCtx(() => [\\"foo\\"]),
- key: \\"0\\"
+ name: "one",
+ fn: _withCtx(() => ["foo"]),
+ key: "0"
}
: orNot
? {
- name: \\"two\\",
- fn: _withCtx((props) => [\\"bar\\"]),
- key: \\"1\\"
+ name: "two",
+ fn: _withCtx((props) => ["bar"]),
+ key: "1"
}
: {
- name: \\"one\\",
- fn: _withCtx(() => [\\"baz\\"]),
- key: \\"2\\"
+ name: "one",
+ fn: _withCtx(() => ["baz"]),
+ key: "2"
}
]), 1024 /* DYNAMIC_SLOTS */))
}
with (_ctx) {
const { resolveComponent: _resolveComponent, withCtx: _withCtx, createSlots: _createSlots, openBlock: _openBlock, createBlock: _createBlock } = _Vue
- const _component_Comp = _resolveComponent(\\"Comp\\")
+ const _component_Comp = _resolveComponent("Comp")
return (_openBlock(), _createBlock(_component_Comp, null, _createSlots({ _: 2 /* DYNAMIC */ }, [
ok
? {
- name: \\"one\\",
- fn: _withCtx(() => [\\"hello\\"]),
- key: \\"0\\"
+ name: "one",
+ fn: _withCtx(() => ["hello"]),
+ key: "0"
}
: undefined
]), 1024 /* DYNAMIC_SLOTS */))
with (_ctx) {
const { createElementVNode: _createElementVNode, resolveComponent: _resolveComponent, withCtx: _withCtx, openBlock: _openBlock, createBlock: _createBlock } = _Vue
- const _component_Comp = _resolveComponent(\\"Comp\\")
+ const _component_Comp = _resolveComponent("Comp")
return (_openBlock(), _createBlock(_component_Comp, null, {
- one: _withCtx(() => [\\"foo\\"]),
+ one: _withCtx(() => ["foo"]),
default: _withCtx(() => [
- \\"bar\\",
- _createElementVNode(\\"span\\")
+ "bar",
+ _createElementVNode("span")
]),
_: 1 /* STABLE */
}))
"const { toDisplayString: _toDisplayString, resolveComponent: _resolveComponent, withCtx: _withCtx, createVNode: _createVNode, openBlock: _openBlock, createBlock: _createBlock } = Vue
return function render(_ctx, _cache) {
- const _component_Inner = _resolveComponent(\\"Inner\\")
- const _component_Comp = _resolveComponent(\\"Comp\\")
+ const _component_Inner = _resolveComponent("Inner")
+ const _component_Comp = _resolveComponent("Comp")
return (_openBlock(), _createBlock(_component_Comp, null, {
default: _withCtx(({ foo }) => [
default: _withCtx(({ bar }) => [_toDisplayString(foo), _toDisplayString(bar), _toDisplayString(_ctx.baz)]),
_: 2 /* DYNAMIC */
}, 1024 /* DYNAMIC_SLOTS */),
- \\" \\",
+ " ",
_toDisplayString(foo),
_toDisplayString(_ctx.bar),
_toDisplayString(_ctx.baz)
"const { toDisplayString: _toDisplayString, resolveComponent: _resolveComponent, withCtx: _withCtx, openBlock: _openBlock, createBlock: _createBlock } = Vue
return function render(_ctx, _cache) {
- const _component_Comp = _resolveComponent(\\"Comp\\")
+ const _component_Comp = _resolveComponent("Comp")
return (_openBlock(), _createBlock(_component_Comp, null, {
[_ctx.named]: _withCtx(({ foo }) => [_toDisplayString(foo), _toDisplayString(_ctx.bar)]),
"const { toDisplayString: _toDisplayString, resolveComponent: _resolveComponent, withCtx: _withCtx, openBlock: _openBlock, createBlock: _createBlock } = Vue
return function render(_ctx, _cache) {
- const _component_Comp = _resolveComponent(\\"Comp\\")
+ const _component_Comp = _resolveComponent("Comp")
return (_openBlock(), _createBlock(_component_Comp, null, {
named: _withCtx(({ foo }) => [_toDisplayString(foo), _toDisplayString(_ctx.bar)]),
"const { toDisplayString: _toDisplayString, resolveComponent: _resolveComponent, withCtx: _withCtx, openBlock: _openBlock, createBlock: _createBlock } = Vue
return function render(_ctx, _cache) {
- const _component_Comp = _resolveComponent(\\"Comp\\")
+ const _component_Comp = _resolveComponent("Comp")
return (_openBlock(), _createBlock(_component_Comp, null, {
default: _withCtx(({ foo }) => [_toDisplayString(foo), _toDisplayString(_ctx.bar)]),
"const { toDisplayString: _toDisplayString, resolveComponent: _resolveComponent, withCtx: _withCtx, openBlock: _openBlock, createBlock: _createBlock } = Vue
return function render(_ctx, _cache) {
- const _component_Comp = _resolveComponent(\\"Comp\\")
+ const _component_Comp = _resolveComponent("Comp")
return (_openBlock(), _createBlock(_component_Comp, null, {
one: _withCtx(({ foo }) => [_toDisplayString(foo), _toDisplayString(_ctx.bar)]),
"const { createElementVNode: _createElementVNode, resolveComponent: _resolveComponent, withCtx: _withCtx, openBlock: _openBlock, createBlock: _createBlock } = Vue
return function render(_ctx, _cache) {
- const _component_Comp = _resolveComponent(\\"Comp\\")
+ const _component_Comp = _resolveComponent("Comp")
return (_openBlock(), _createBlock(_component_Comp, null, {
- header: _withCtx(() => [\\" Header \\"]),
+ header: _withCtx(() => [" Header "]),
default: _withCtx(() => [
- \\" \\",
- _createElementVNode(\\"p\\")
+ " ",
+ _createElementVNode("p")
]),
_: 1 /* STABLE */
}))
"const { resolveComponent: _resolveComponent, withCtx: _withCtx, openBlock: _openBlock, createBlock: _createBlock } = Vue
return function render(_ctx, _cache) {
- const _component_Comp = _resolveComponent(\\"Comp\\")
+ const _component_Comp = _resolveComponent("Comp")
return (_openBlock(), _createBlock(_component_Comp, null, {
- header: _withCtx(() => [\\" Header \\"]),
- default: _withCtx(() => [\\" Default \\"]),
+ header: _withCtx(() => [" Header "]),
+ default: _withCtx(() => [" Default "]),
_: 1 /* STABLE */
}))
}"
"const { resolveComponent: _resolveComponent, withCtx: _withCtx, openBlock: _openBlock, createBlock: _createBlock } = Vue
return function render(_ctx, _cache) {
- const _component_Comp = _resolveComponent(\\"Comp\\")
+ const _component_Comp = _resolveComponent("Comp")
return (_openBlock(), _createBlock(_component_Comp, null, {
- header: _withCtx(() => [\\" Header \\"]),
- footer: _withCtx(() => [\\" Footer \\"]),
+ header: _withCtx(() => [" Header "]),
+ footer: _withCtx(() => [" Footer "]),
_: 1 /* STABLE */
}))
}"
const { toDisplayString: _toDisplayString, createElementVNode: _createElementVNode, normalizeStyle: _normalizeStyle, Fragment: _Fragment, openBlock: _openBlock, createElementBlock: _createElementBlock } = _Vue
return (_openBlock(), _createElementBlock(_Fragment, null, [
- _createElementVNode(\\"div\\", {
+ _createElementVNode("div", {
textContent: _toDisplayString(text)
- }, null, 8 /* PROPS */, [\\"textContent\\"]),
- _createElementVNode(\\"div\\", { innerHTML: html }, null, 8 /* PROPS */, [\\"innerHTML\\"]),
- _createElementVNode(\\"div\\", null, \\"test\\"),
- _createElementVNode(\\"div\\", { style: {\\"color\\":\\"red\\"} }, \\"red\\"),
- _createElementVNode(\\"div\\", {
+ }, null, 8 /* PROPS */, ["textContent"]),
+ _createElementVNode("div", { innerHTML: html }, null, 8 /* PROPS */, ["innerHTML"]),
+ _createElementVNode("div", null, "test"),
+ _createElementVNode("div", { style: {"color":"red"} }, "red"),
+ _createElementVNode("div", {
style: _normalizeStyle({color: 'green'})
}, null, 4 /* STYLE */)
], 64 /* STABLE_FRAGMENT */))
with (_ctx) {
const { vShow: _vShow, createElementVNode: _createElementVNode, withDirectives: _withDirectives, Transition: _Transition, withCtx: _withCtx, openBlock: _openBlock, createBlock: _createBlock } = _Vue
- return (_openBlock(), _createBlock(_Transition, { persisted: \\"\\" }, {
+ return (_openBlock(), _createBlock(_Transition, { persisted: "" }, {
default: _withCtx(() => [
- _withDirectives(_createElementVNode(\\"div\\", null, null, 512 /* NEED_PATCH */), [
+ _withDirectives(_createElementVNode("div", null, null, 512 /* NEED_PATCH */), [
[_vShow, ok]
])
]),
return (_openBlock(), _createBlock(_Transition, null, {
default: _withCtx(() => [
a
- ? (_openBlock(), _createElementBlock(\\"div\\", { key: 0 }, \\"hey\\"))
+ ? (_openBlock(), _createElementBlock("div", { key: 0 }, "hey"))
: b
- ? (_openBlock(), _createElementBlock(\\"div\\", { key: 1 }, \\"hey\\"))
- : (_openBlock(), _createElementBlock(\\"div\\", { key: 2 }, [
+ ? (_openBlock(), _createElementBlock("div", { key: 1 }, "hey"))
+ : (_openBlock(), _createElementBlock("div", { key: 2 }, [
c
- ? (_openBlock(), _createElementBlock(\\"p\\", { key: 0 }))
+ ? (_openBlock(), _createElementBlock("p", { key: 0 }))
: (_openBlock(), _createElementBlock(_Fragment, { key: 1 }, [
- _createCommentVNode(\\" this should not be ignored \\"),
- _createElementVNode(\\"p\\")
+ _createCommentVNode(" this should not be ignored "),
+ _createElementVNode("p")
], 2112 /* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */))
]))
]),
exports[`stringify static html > should bail on bindings that are hoisted but not stringifiable 1`] = `
"const { createElementVNode: _createElementVNode, openBlock: _openBlock, createElementBlock: _createElementBlock } = Vue
-const _hoisted_1 = /*#__PURE__*/_createElementVNode(\\"div\\", null, [
- /*#__PURE__*/_createElementVNode(\\"span\\", { class: \\"foo\\" }, \\"foo\\"),
- /*#__PURE__*/_createElementVNode(\\"span\\", { class: \\"foo\\" }, \\"foo\\"),
- /*#__PURE__*/_createElementVNode(\\"span\\", { class: \\"foo\\" }, \\"foo\\"),
- /*#__PURE__*/_createElementVNode(\\"span\\", { class: \\"foo\\" }, \\"foo\\"),
- /*#__PURE__*/_createElementVNode(\\"span\\", { class: \\"foo\\" }, \\"foo\\"),
- /*#__PURE__*/_createElementVNode(\\"img\\", { src: _imports_0_ })
+const _hoisted_1 = /*#__PURE__*/_createElementVNode("div", null, [
+ /*#__PURE__*/_createElementVNode("span", { class: "foo" }, "foo"),
+ /*#__PURE__*/_createElementVNode("span", { class: "foo" }, "foo"),
+ /*#__PURE__*/_createElementVNode("span", { class: "foo" }, "foo"),
+ /*#__PURE__*/_createElementVNode("span", { class: "foo" }, "foo"),
+ /*#__PURE__*/_createElementVNode("span", { class: "foo" }, "foo"),
+ /*#__PURE__*/_createElementVNode("img", { src: _imports_0_ })
], -1 /* HOISTED */)
const _hoisted_2 = [
_hoisted_1
]
return function render(_ctx, _cache) {
- return (_openBlock(), _createElementBlock(\\"div\\", null, _hoisted_2))
+ return (_openBlock(), _createElementBlock("div", null, _hoisted_2))
}"
`;
exports[`stringify static html > should work with bindings that are non-static but stringifiable 1`] = `
"const { createElementVNode: _createElementVNode, createStaticVNode: _createStaticVNode, openBlock: _openBlock, createElementBlock: _createElementBlock } = Vue
-const _hoisted_1 = /*#__PURE__*/_createStaticVNode(\\"<div><span class=\\\\\\"foo\\\\\\">foo</span><span class=\\\\\\"foo\\\\\\">foo</span><span class=\\\\\\"foo\\\\\\">foo</span><span class=\\\\\\"foo\\\\\\">foo</span><span class=\\\\\\"foo\\\\\\">foo</span><img src=\\\\\\"\\" + _imports_0_ + \\"\\\\\\"></div>\\", 1)
+const _hoisted_1 = /*#__PURE__*/_createStaticVNode("<div><span class=\\"foo\\">foo</span><span class=\\"foo\\">foo</span><span class=\\"foo\\">foo</span><span class=\\"foo\\">foo</span><span class=\\"foo\\">foo</span><img src=\\"" + _imports_0_ + "\\"></div>", 1)
const _hoisted_2 = [
_hoisted_1
]
return function render(_ctx, _cache) {
- return (_openBlock(), _createElementBlock(\\"div\\", null, _hoisted_2))
+ return (_openBlock(), _createElementBlock("div", null, _hoisted_2))
}"
`;
exports[`stringify static html > stringify v-html 1`] = `
"const { createElementVNode: _createElementVNode, createStaticVNode: _createStaticVNode } = Vue
-const _hoisted_1 = /*#__PURE__*/_createStaticVNode(\\"<pre data-type=\\\\\\"js\\\\\\"><code><span>show-it </span></code></pre><div class><span class>1</span><span class>2</span></div>\\", 2)
+const _hoisted_1 = /*#__PURE__*/_createStaticVNode("<pre data-type=\\"js\\"><code><span>show-it </span></code></pre><div class><span class>1</span><span class>2</span></div>", 2)
return function render(_ctx, _cache) {
return _hoisted_1
exports[`stringify static html > stringify v-text 1`] = `
"const { createElementVNode: _createElementVNode, createStaticVNode: _createStaticVNode } = Vue
-const _hoisted_1 = /*#__PURE__*/_createStaticVNode(\\"<pre data-type=\\\\\\"js\\\\\\"><code><span>show-it </span></code></pre><div class><span class>1</span><span class>2</span></div>\\", 2)
+const _hoisted_1 = /*#__PURE__*/_createStaticVNode("<pre data-type=\\"js\\"><code><span>show-it </span></code></pre><div class><span class>1</span><span class>2</span></div>", 2)
return function render(_ctx, _cache) {
return _hoisted_1
exports[`stringify static html > stringify v-text with escape 1`] = `
"const { createElementVNode: _createElementVNode, createStaticVNode: _createStaticVNode } = Vue
-const _hoisted_1 = /*#__PURE__*/_createStaticVNode(\\"<pre data-type=\\\\\\"js\\\\\\"><code>text1</code></pre><div class><span class>1</span><span class>2</span></div>\\", 2)
+const _hoisted_1 = /*#__PURE__*/_createStaticVNode("<pre data-type=\\"js\\"><code>text1</code></pre><div class><span class>1</span><span class>2</span></div>", 2)
return function render(_ctx, _cache) {
return _hoisted_1
with (_ctx) {
const { vModelText: _vModelText, withDirectives: _withDirectives, openBlock: _openBlock, createElementBlock: _createElementBlock } = _Vue
- return _withDirectives((_openBlock(), _createElementBlock(\\"my-input\\", {
- \\"onUpdate:modelValue\\": $event => ((model) = $event)
- }, null, 8 /* PROPS */, [\\"onUpdate:modelValue\\"])), [
+ return _withDirectives((_openBlock(), _createElementBlock("my-input", {
+ "onUpdate:modelValue": $event => ((model) = $event)
+ }, null, 8 /* PROPS */, ["onUpdate:modelValue"])), [
[_vModelText, model]
])
}
with (_ctx) {
const { vModelDynamic: _vModelDynamic, mergeProps: _mergeProps, withDirectives: _withDirectives, openBlock: _openBlock, createElementBlock: _createElementBlock } = _Vue
- return _withDirectives((_openBlock(), _createElementBlock(\\"input\\", _mergeProps(obj, {
- \\"onUpdate:modelValue\\": $event => ((model) = $event)
- }), null, 16 /* FULL_PROPS */, [\\"onUpdate:modelValue\\"])), [
+ return _withDirectives((_openBlock(), _createElementBlock("input", _mergeProps(obj, {
+ "onUpdate:modelValue": $event => ((model) = $event)
+ }), null, 16 /* FULL_PROPS */, ["onUpdate:modelValue"])), [
[_vModelDynamic, model]
])
}
with (_ctx) {
const { vModelDynamic: _vModelDynamic, withDirectives: _withDirectives, openBlock: _openBlock, createElementBlock: _createElementBlock } = _Vue
- return _withDirectives((_openBlock(), _createElementBlock(\\"input\\", {
- \\"onUpdate:modelValue\\": $event => ((model) = $event)
- }, null, 8 /* PROPS */, [\\"onUpdate:modelValue\\"])), [
+ return _withDirectives((_openBlock(), _createElementBlock("input", {
+ "onUpdate:modelValue": $event => ((model) = $event)
+ }, null, 8 /* PROPS */, ["onUpdate:modelValue"])), [
[_vModelDynamic, model]
])
}
with (_ctx) {
const { vModelText: _vModelText, withDirectives: _withDirectives, openBlock: _openBlock, createElementBlock: _createElementBlock } = _Vue
- return _withDirectives((_openBlock(), _createElementBlock(\\"input\\", {
- \\"onUpdate:modelValue\\": $event => ((model) = $event)
- }, null, 8 /* PROPS */, [\\"onUpdate:modelValue\\"])), [
+ return _withDirectives((_openBlock(), _createElementBlock("input", {
+ "onUpdate:modelValue": $event => ((model) = $event)
+ }, null, 8 /* PROPS */, ["onUpdate:modelValue"])), [
[
_vModelText,
model,
with (_ctx) {
const { vModelText: _vModelText, withDirectives: _withDirectives, openBlock: _openBlock, createElementBlock: _createElementBlock } = _Vue
- return _withDirectives((_openBlock(), _createElementBlock(\\"input\\", {
- \\"onUpdate:modelValue\\": $event => ((model) = $event)
- }, null, 8 /* PROPS */, [\\"onUpdate:modelValue\\"])), [
+ return _withDirectives((_openBlock(), _createElementBlock("input", {
+ "onUpdate:modelValue": $event => ((model) = $event)
+ }, null, 8 /* PROPS */, ["onUpdate:modelValue"])), [
[
_vModelText,
model,
with (_ctx) {
const { vModelText: _vModelText, withDirectives: _withDirectives, openBlock: _openBlock, createElementBlock: _createElementBlock } = _Vue
- return _withDirectives((_openBlock(), _createElementBlock(\\"input\\", {
- \\"onUpdate:modelValue\\": $event => ((model) = $event)
- }, null, 8 /* PROPS */, [\\"onUpdate:modelValue\\"])), [
+ return _withDirectives((_openBlock(), _createElementBlock("input", {
+ "onUpdate:modelValue": $event => ((model) = $event)
+ }, null, 8 /* PROPS */, ["onUpdate:modelValue"])), [
[
_vModelText,
model,
with (_ctx) {
const { vModelText: _vModelText, withDirectives: _withDirectives, openBlock: _openBlock, createElementBlock: _createElementBlock } = _Vue
- return _withDirectives((_openBlock(), _createElementBlock(\\"input\\", {
- \\"onUpdate:modelValue\\": $event => ((model) = $event)
- }, null, 8 /* PROPS */, [\\"onUpdate:modelValue\\"])), [
+ return _withDirectives((_openBlock(), _createElementBlock("input", {
+ "onUpdate:modelValue": $event => ((model) = $event)
+ }, null, 8 /* PROPS */, ["onUpdate:modelValue"])), [
[_vModelText, model]
])
}
with (_ctx) {
const { vModelCheckbox: _vModelCheckbox, withDirectives: _withDirectives, openBlock: _openBlock, createElementBlock: _createElementBlock } = _Vue
- return _withDirectives((_openBlock(), _createElementBlock(\\"input\\", {
- type: \\"checkbox\\",
- \\"onUpdate:modelValue\\": $event => ((model) = $event)
- }, null, 8 /* PROPS */, [\\"onUpdate:modelValue\\"])), [
+ return _withDirectives((_openBlock(), _createElementBlock("input", {
+ type: "checkbox",
+ "onUpdate:modelValue": $event => ((model) = $event)
+ }, null, 8 /* PROPS */, ["onUpdate:modelValue"])), [
[_vModelCheckbox, model]
])
}
with (_ctx) {
const { vModelDynamic: _vModelDynamic, withDirectives: _withDirectives, openBlock: _openBlock, createElementBlock: _createElementBlock } = _Vue
- return _withDirectives((_openBlock(), _createElementBlock(\\"input\\", {
- \\"onUpdate:modelValue\\": $event => ((model) = $event)
- }, null, 8 /* PROPS */, [\\"onUpdate:modelValue\\"])), [
+ return _withDirectives((_openBlock(), _createElementBlock("input", {
+ "onUpdate:modelValue": $event => ((model) = $event)
+ }, null, 8 /* PROPS */, ["onUpdate:modelValue"])), [
[_vModelDynamic, model]
])
}
with (_ctx) {
const { vModelRadio: _vModelRadio, withDirectives: _withDirectives, openBlock: _openBlock, createElementBlock: _createElementBlock } = _Vue
- return _withDirectives((_openBlock(), _createElementBlock(\\"input\\", {
- type: \\"radio\\",
- \\"onUpdate:modelValue\\": $event => ((model) = $event)
- }, null, 8 /* PROPS */, [\\"onUpdate:modelValue\\"])), [
+ return _withDirectives((_openBlock(), _createElementBlock("input", {
+ type: "radio",
+ "onUpdate:modelValue": $event => ((model) = $event)
+ }, null, 8 /* PROPS */, ["onUpdate:modelValue"])), [
[_vModelRadio, model]
])
}
with (_ctx) {
const { vModelText: _vModelText, withDirectives: _withDirectives, openBlock: _openBlock, createElementBlock: _createElementBlock } = _Vue
- return _withDirectives((_openBlock(), _createElementBlock(\\"input\\", {
- type: \\"text\\",
- \\"onUpdate:modelValue\\": $event => ((model) = $event)
- }, null, 8 /* PROPS */, [\\"onUpdate:modelValue\\"])), [
+ return _withDirectives((_openBlock(), _createElementBlock("input", {
+ type: "text",
+ "onUpdate:modelValue": $event => ((model) = $event)
+ }, null, 8 /* PROPS */, ["onUpdate:modelValue"])), [
[_vModelText, model]
])
}
with (_ctx) {
const { vModelSelect: _vModelSelect, withDirectives: _withDirectives, openBlock: _openBlock, createElementBlock: _createElementBlock } = _Vue
- return _withDirectives((_openBlock(), _createElementBlock(\\"select\\", {
- \\"onUpdate:modelValue\\": $event => ((model) = $event)
- }, null, 8 /* PROPS */, [\\"onUpdate:modelValue\\"])), [
+ return _withDirectives((_openBlock(), _createElementBlock("select", {
+ "onUpdate:modelValue": $event => ((model) = $event)
+ }, null, 8 /* PROPS */, ["onUpdate:modelValue"])), [
[_vModelSelect, model]
])
}
with (_ctx) {
const { vModelText: _vModelText, withDirectives: _withDirectives, openBlock: _openBlock, createElementBlock: _createElementBlock } = _Vue
- return _withDirectives((_openBlock(), _createElementBlock(\\"textarea\\", {
- \\"onUpdate:modelValue\\": $event => ((model) = $event)
- }, null, 8 /* PROPS */, [\\"onUpdate:modelValue\\"])), [
+ return _withDirectives((_openBlock(), _createElementBlock("textarea", {
+ "onUpdate:modelValue": $event => ((model) = $event)
+ }, null, 8 /* PROPS */, ["onUpdate:modelValue"])), [
[_vModelText, model]
])
}
with (_ctx) {
const { vShow: _vShow, withDirectives: _withDirectives, openBlock: _openBlock, createElementBlock: _createElementBlock } = _Vue
- return _withDirectives((_openBlock(), _createElementBlock(\\"div\\", null, null, 512 /* NEED_PATCH */)), [
+ return _withDirectives((_openBlock(), _createElementBlock("div", null, null, 512 /* NEED_PATCH */)), [
[_vShow, a]
])
}
exports[`SFC compile <script setup> > <script> and <script setup> co-usage > export call expression as default 1`] = `
"function fn() {
- return \\"hello, world\\";
+ return "hello, world";
}
const __default__ = fn();
import { x } from './x'
const __default__ = {
- name: \\"test\\"
+ name: "test"
}
`;
exports[`SFC compile <script setup> > imports > should support module string names syntax 1`] = `
-"import { \\"😏\\" as foo } from './foo'
+"import { "😏" as foo } from './foo'
export default {
setup(__props, { expose: __expose }) {
`;
exports[`SFC compile <script setup> > inlineTemplate mode > avoid unref() when necessary 1`] = `
-"import { unref as _unref, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, withCtx as _withCtx, createVNode as _createVNode, createElementVNode as _createElementVNode, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from \\"vue\\"
+"import { unref as _unref, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, withCtx as _withCtx, createVNode as _createVNode, createElementVNode as _createElementVNode, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from "vue"
import { ref } from 'vue'
import Foo, { bar } from './Foo.vue'
]),
_: 1 /* STABLE */
}),
- _createElementVNode(\\"div\\", { onClick: fn }, _toDisplayString(count.value) + \\" \\" + _toDisplayString(constant) + \\" \\" + _toDisplayString(_unref(maybe)) + \\" \\" + _toDisplayString(_unref(lett)) + \\" \\" + _toDisplayString(_unref(other)), 1 /* TEXT */),
- _createTextVNode(\\" \\" + _toDisplayString(tree.foo()), 1 /* TEXT */)
+ _createElementVNode("div", { onClick: fn }, _toDisplayString(count.value) + " " + _toDisplayString(constant) + " " + _toDisplayString(_unref(maybe)) + " " + _toDisplayString(_unref(lett)) + " " + _toDisplayString(_unref(other)), 1 /* TEXT */),
+ _createTextVNode(" " + _toDisplayString(tree.foo()), 1 /* TEXT */)
], 64 /* STABLE_FRAGMENT */))
}
}
`;
exports[`SFC compile <script setup> > inlineTemplate mode > referencing scope components and directives 1`] = `
-"import { unref as _unref, createElementVNode as _createElementVNode, withDirectives as _withDirectives, createVNode as _createVNode, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from \\"vue\\"
+"import { unref as _unref, createElementVNode as _createElementVNode, withDirectives as _withDirectives, createVNode as _createVNode, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from "vue"
import ChildComp from './Child.vue'
import SomeOtherComp from './Other.vue'
return (_ctx, _cache) => {
return (_openBlock(), _createElementBlock(_Fragment, null, [
- _withDirectives(_createElementVNode(\\"div\\", null, null, 512 /* NEED_PATCH */), [
+ _withDirectives(_createElementVNode("div", null, null, 512 /* NEED_PATCH */), [
[_unref(vMyDir)]
]),
_createVNode(ChildComp),
`;
exports[`SFC compile <script setup> > inlineTemplate mode > should work 1`] = `
-"import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from \\"vue\\"
+"import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from "vue"
-const _hoisted_1 = /*#__PURE__*/_createElementVNode(\\"div\\", null, \\"static\\", -1 /* HOISTED */)
+const _hoisted_1 = /*#__PURE__*/_createElementVNode("div", null, "static", -1 /* HOISTED */)
import { ref } from 'vue'
return (_ctx, _cache) => {
return (_openBlock(), _createElementBlock(_Fragment, null, [
- _createElementVNode(\\"div\\", null, _toDisplayString(count.value), 1 /* TEXT */),
+ _createElementVNode("div", null, _toDisplayString(count.value), 1 /* TEXT */),
_hoisted_1
], 64 /* STABLE_FRAGMENT */))
}
`;
exports[`SFC compile <script setup> > inlineTemplate mode > ssr codegen 1`] = `
-"import { ssrRenderAttrs as _ssrRenderAttrs, ssrInterpolate as _ssrInterpolate } from \\"vue/server-renderer\\"
+"import { ssrRenderAttrs as _ssrRenderAttrs, ssrInterpolate as _ssrInterpolate } from "vue/server-renderer"
import { ref } from 'vue'
return (_ctx, _push, _parent, _attrs) => {
const _cssVars = { style: {
- \\"--xxxxxxxx-count\\": (count.value),
- \\"--xxxxxxxx-style\\\\\\\\.color\\": (style.color)
+ "--xxxxxxxx-count": (count.value),
+ "--xxxxxxxx-style\\\\.color": (style.color)
}}
_push(\`<!--[--><div\${
_ssrRenderAttrs(_cssVars)
`;
exports[`SFC compile <script setup> > inlineTemplate mode > template assignment expression codegen 1`] = `
-"import { createElementVNode as _createElementVNode, isRef as _isRef, unref as _unref, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from \\"vue\\"
+"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'
return (_ctx, _cache) => {
return (_openBlock(), _createElementBlock(_Fragment, null, [
- _createElementVNode(\\"div\\", {
+ _createElementVNode("div", {
onClick: _cache[0] || (_cache[0] = $event => (count.value = 1))
}),
- _createElementVNode(\\"div\\", {
+ _createElementVNode("div", {
onClick: _cache[1] || (_cache[1] = $event => (maybe.value = count.value))
}),
- _createElementVNode(\\"div\\", {
+ _createElementVNode("div", {
onClick: _cache[2] || (_cache[2] = $event => (_isRef(lett) ? lett.value = count.value : lett = count.value))
}),
- _createElementVNode(\\"div\\", {
+ _createElementVNode("div", {
onClick: _cache[3] || (_cache[3] = $event => (_isRef(v) ? v.value += 1 : v += 1))
}),
- _createElementVNode(\\"div\\", {
+ _createElementVNode("div", {
onClick: _cache[4] || (_cache[4] = $event => (_isRef(v) ? v.value -= 1 : v -= 1))
}),
- _createElementVNode(\\"div\\", {
+ _createElementVNode("div", {
onClick: _cache[5] || (_cache[5] = () => {
let a = '' + _unref(lett)
_isRef(v) ? v.value = a : v = a
})
}),
- _createElementVNode(\\"div\\", {
+ _createElementVNode("div", {
onClick: _cache[6] || (_cache[6] = () => {
// nested scopes
(()=>{
`;
exports[`SFC compile <script setup> > inlineTemplate mode > template destructure assignment codegen 1`] = `
-"import { createElementVNode as _createElementVNode, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from \\"vue\\"
+"import { createElementVNode as _createElementVNode, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from "vue"
import { ref } from 'vue'
return (_ctx, _cache) => {
return (_openBlock(), _createElementBlock(_Fragment, null, [
- _createElementVNode(\\"div\\", {
+ _createElementVNode("div", {
onClick: _cache[0] || (_cache[0] = $event => (({ count: count.value } = val)))
}),
- _createElementVNode(\\"div\\", {
+ _createElementVNode("div", {
onClick: _cache[1] || (_cache[1] = $event => ([maybe.value] = val))
}),
- _createElementVNode(\\"div\\", {
+ _createElementVNode("div", {
onClick: _cache[2] || (_cache[2] = $event => (({ lett: lett } = val)))
})
], 64 /* STABLE_FRAGMENT */))
`;
exports[`SFC compile <script setup> > inlineTemplate mode > template update expression codegen 1`] = `
-"import { createElementVNode as _createElementVNode, isRef as _isRef, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from \\"vue\\"
+"import { createElementVNode as _createElementVNode, isRef as _isRef, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from "vue"
import { ref } from 'vue'
return (_ctx, _cache) => {
return (_openBlock(), _createElementBlock(_Fragment, null, [
- _createElementVNode(\\"div\\", {
+ _createElementVNode("div", {
onClick: _cache[0] || (_cache[0] = $event => (count.value++))
}),
- _createElementVNode(\\"div\\", {
+ _createElementVNode("div", {
onClick: _cache[1] || (_cache[1] = $event => (--count.value))
}),
- _createElementVNode(\\"div\\", {
+ _createElementVNode("div", {
onClick: _cache[2] || (_cache[2] = $event => (maybe.value++))
}),
- _createElementVNode(\\"div\\", {
+ _createElementVNode("div", {
onClick: _cache[3] || (_cache[3] = $event => (--maybe.value))
}),
- _createElementVNode(\\"div\\", {
+ _createElementVNode("div", {
onClick: _cache[4] || (_cache[4] = $event => (_isRef(lett) ? lett.value++ : lett++))
}),
- _createElementVNode(\\"div\\", {
+ _createElementVNode("div", {
onClick: _cache[5] || (_cache[5] = $event => (_isRef(lett) ? --lett.value : --lett))
})
], 64 /* STABLE_FRAGMENT */))
`;
exports[`SFC compile <script setup> > inlineTemplate mode > v-model codegen 1`] = `
-"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 { 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'
return (_ctx, _cache) => {
return (_openBlock(), _createElementBlock(_Fragment, null, [
- _withDirectives(_createElementVNode(\\"input\\", {
- \\"onUpdate:modelValue\\": _cache[0] || (_cache[0] = $event => ((count).value = $event))
+ _withDirectives(_createElementVNode("input", {
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = $event => ((count).value = $event))
}, null, 512 /* NEED_PATCH */), [
[_vModelText, count.value]
]),
- _withDirectives(_createElementVNode(\\"input\\", {
- \\"onUpdate:modelValue\\": _cache[1] || (_cache[1] = $event => (_isRef(maybe) ? (maybe).value = $event : null))
+ _withDirectives(_createElementVNode("input", {
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = $event => (_isRef(maybe) ? (maybe).value = $event : null))
}, null, 512 /* NEED_PATCH */), [
[_vModelText, _unref(maybe)]
]),
- _withDirectives(_createElementVNode(\\"input\\", {
- \\"onUpdate:modelValue\\": _cache[2] || (_cache[2] = $event => (_isRef(lett) ? (lett).value = $event : lett = $event))
+ _withDirectives(_createElementVNode("input", {
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = $event => (_isRef(lett) ? (lett).value = $event : lett = $event))
}, null, 512 /* NEED_PATCH */), [
[_vModelText, _unref(lett)]
])
exports[`SFC compile <script setup> > with TypeScript > runtime Enum in normal script 1`] = `
"import { defineComponent as _defineComponent } from 'vue'
- export enum D { D = \\"D\\" }
- const enum C { C = \\"C\\" }
- enum B { B = \\"B\\" }
+ export enum D { D = "D" }
+ const enum C { C = "C" }
+ enum B { B = "B" }
export default /*#__PURE__*/_defineComponent({
setup(__props, { expose: __expose }) {
import { useCssVars as _useCssVars } from 'vue'
const __injectCSSVars__ = () => {
_useCssVars(_ctx => ({
- \\"xxxxxxxx-x\\": (_ctx.x)
+ "xxxxxxxx-x": (_ctx.x)
}))}
const __setup__ = _sfc_.setup
_sfc_.setup = __setup__
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
exports[`dynamic v-on + static v-on should merged 1`] = `
-"import { toHandlerKey as _toHandlerKey, mergeProps as _mergeProps, openBlock as _openBlock, createElementBlock as _createElementBlock } from \\"vue\\"
+"import { toHandlerKey as _toHandlerKey, mergeProps as _mergeProps, openBlock as _openBlock, createElementBlock as _createElementBlock } from "vue"
export function render(_ctx, _cache) {
- return (_openBlock(), _createElementBlock(\\"input\\", _mergeProps({
+ return (_openBlock(), _createElementBlock("input", _mergeProps({
onBlur: _cache[0] || (_cache[0] = (...args) => (_ctx.onBlur && _ctx.onBlur(...args)))
}, {
[_toHandlerKey(_ctx.validateEvent)]: _cache[1] || (_cache[1] = (...args) => (_ctx.onValidateEvent && _ctx.onValidateEvent(...args)))
`;
exports[`should not hoist srcset URLs in SSR mode 1`] = `
-"import { resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode } from \\"vue\\"
-import { ssrRenderAttr as _ssrRenderAttr, ssrRenderComponent as _ssrRenderComponent } from \\"vue/server-renderer\\"
+"import { resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode } from "vue"
+import { ssrRenderAttr as _ssrRenderAttr, ssrRenderComponent as _ssrRenderComponent } from "vue/server-renderer"
import _imports_0 from './img/foo.svg'
import _imports_1 from './img/bar.svg'
export function ssrRender(_ctx, _push, _parent, _attrs) {
- const _component_router_link = _resolveComponent(\\"router-link\\")
+ const _component_router_link = _resolveComponent("router-link")
_push(\`<!--[--><picture><source\${
- _ssrRenderAttr(\\"srcset\\", _imports_0)
+ _ssrRenderAttr("srcset", _imports_0)
}><img\${
- _ssrRenderAttr(\\"src\\", _imports_0)
+ _ssrRenderAttr("src", _imports_0)
}></picture>\`)
_push(_ssrRenderComponent(_component_router_link, null, {
default: _withCtx((_, _push, _parent, _scopeId) => {
_push(\`<picture\${
_scopeId
}><source\${
- _ssrRenderAttr(\\"srcset\\", _imports_1)
+ _ssrRenderAttr("srcset", _imports_1)
}\${
_scopeId
}><img\${
- _ssrRenderAttr(\\"src\\", _imports_1)
+ _ssrRenderAttr("src", _imports_1)
}\${
_scopeId
}></picture>\`)
} else {
return [
- _createVNode(\\"picture\\", null, [
- _createVNode(\\"source\\", {
+ _createVNode("picture", null, [
+ _createVNode("source", {
srcset: _imports_1
}),
- _createVNode(\\"img\\", { src: _imports_1 })
+ _createVNode("img", { src: _imports_1 })
])
]
}
import { useCssVars as _useCssVars } from 'vue'
const __injectCSSVars__ = () => {
_useCssVars(_ctx => ({
- \\"xxxxxxxx-color\\": (_ctx.color)
+ "xxxxxxxx-color": (_ctx.color)
}))}
const __setup__ = __default__.setup
__default__.setup = __setup__
import { useCssVars as _useCssVars } from 'vue'
const __injectCSSVars__ = () => {
_useCssVars(_ctx => ({
- \\"xxxxxxxx-color\\": (_ctx.color)
+ "xxxxxxxx-color": (_ctx.color)
}))}
const __setup__ = __default__.setup
__default__.setup = __setup__
import { useCssVars as _useCssVars } from 'vue'
const __injectCSSVars__ = () => {
_useCssVars(_ctx => ({
- \\"xxxxxxxx-color\\": (_ctx.color)
+ "xxxxxxxx-color": (_ctx.color)
}))}
const __setup__ = __default__.setup
__default__.setup = __setup__
__expose();
_useCssVars(_ctx => ({
- \\"xxxxxxxx-width\\": (width)
+ "xxxxxxxx-width": (width)
}))
return { color, width }
__expose();
_useCssVars(_ctx => ({
- \\"xxxxxxxx-foo\\": (_unref(foo)),
- \\"xxxxxxxx-foo\\\\ \\\\+\\\\ \\\\'px\\\\'\\": (_unref(foo) + 'px'),
- \\"xxxxxxxx-\\\\(a\\\\ \\\\+\\\\ b\\\\)\\\\ \\\\/\\\\ 2\\\\ \\\\+\\\\ \\\\'px\\\\'\\": ((_unref(a) + _unref(b)) / 2 + 'px'),
- \\"xxxxxxxx-\\\\(\\\\(a\\\\ \\\\+\\\\ b\\\\)\\\\)\\\\ \\\\/\\\\ \\\\(2\\\\ \\\\*\\\\ a\\\\)\\": (((_unref(a) + _unref(b))) / (2 * _unref(a)))
+ "xxxxxxxx-foo": (_unref(foo)),
+ "xxxxxxxx-foo\\ \\+\\ \\'px\\'": (_unref(foo) + 'px'),
+ "xxxxxxxx-\\(a\\ \\+\\ b\\)\\ \\/\\ 2\\ \\+\\ \\'px\\'": ((_unref(a) + _unref(b)) / 2 + 'px'),
+ "xxxxxxxx-\\(\\(a\\ \\+\\ b\\)\\)\\ \\/\\ \\(2\\ \\*\\ a\\)": (((_unref(a) + _unref(b))) / (2 * _unref(a)))
}))
let a = 100
__expose();
_useCssVars(_ctx => ({
- \\"xxxxxxxx-color\\": (color)
+ "xxxxxxxx-color": (color)
}))
return { color }
__expose();
_useCssVars(_ctx => ({
- \\"xxxxxxxx-color\\": (color)
+ "xxxxxxxx-color": (color)
}))
import { useCssVars as _useCssVars } from 'vue'
const __injectCSSVars__ = () => {
_useCssVars(_ctx => ({
- \\"xxxxxxxx-color\\": (_ctx.color),
- \\"xxxxxxxx-font\\\\.size\\": (_ctx.font.size)
+ "xxxxxxxx-color": (_ctx.color),
+ "xxxxxxxx-font\\.size": (_ctx.font.size)
}))}
const __setup__ = __default__.setup
__default__.setup = __setup__
__expose();
_useCssVars(_ctx => ({
- \\"xxxxxxxx-color\\": (color),
- \\"xxxxxxxx-size\\": (size.value),
- \\"xxxxxxxx-foo\\": (__props.foo)
+ "xxxxxxxx-color": (color),
+ "xxxxxxxx-size": (size.value),
+ "xxxxxxxx-foo": (__props.foo)
}))
const size = ref('10px')
import { useCssVars as _useCssVars } from 'vue'
const __injectCSSVars__ = () => {
_useCssVars(_ctx => ({
- \\"xxxxxxxx-size\\": (_ctx.size)
+ "xxxxxxxx-size": (_ctx.size)
}))}
const __setup__ = __default__.setup
__default__.setup = __setup__
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
exports[`compiler sfc: transform asset url > should allow for full base URLs, with paths 1`] = `
-"import { openBlock as _openBlock, createElementBlock as _createElementBlock } from \\"vue\\"
+"import { openBlock as _openBlock, createElementBlock as _createElementBlock } from "vue"
export function render(_ctx, _cache) {
- return (_openBlock(), _createElementBlock(\\"img\\", { src: \\"http://localhost:3000/src/logo.png\\" }))
+ return (_openBlock(), _createElementBlock("img", { src: "http://localhost:3000/src/logo.png" }))
}"
`;
exports[`compiler sfc: transform asset url > should allow for full base URLs, without paths 1`] = `
-"import { openBlock as _openBlock, createElementBlock as _createElementBlock } from \\"vue\\"
+"import { openBlock as _openBlock, createElementBlock as _createElementBlock } from "vue"
export function render(_ctx, _cache) {
- return (_openBlock(), _createElementBlock(\\"img\\", { src: \\"http://localhost:3000/logo.png\\" }))
+ return (_openBlock(), _createElementBlock("img", { src: "http://localhost:3000/logo.png" }))
}"
`;
exports[`compiler sfc: transform asset url > should allow for full base URLs, without port 1`] = `
-"import { openBlock as _openBlock, createElementBlock as _createElementBlock } from \\"vue\\"
+"import { openBlock as _openBlock, createElementBlock as _createElementBlock } from "vue"
export function render(_ctx, _cache) {
- return (_openBlock(), _createElementBlock(\\"img\\", { src: \\"http://localhost/logo.png\\" }))
+ return (_openBlock(), _createElementBlock("img", { src: "http://localhost/logo.png" }))
}"
`;
exports[`compiler sfc: transform asset url > should allow for full base URLs, without protocol 1`] = `
-"import { openBlock as _openBlock, createElementBlock as _createElementBlock } from \\"vue\\"
+"import { openBlock as _openBlock, createElementBlock as _createElementBlock } from "vue"
export function render(_ctx, _cache) {
- return (_openBlock(), _createElementBlock(\\"img\\", { src: \\"//localhost/logo.png\\" }))
+ return (_openBlock(), _createElementBlock("img", { src: "//localhost/logo.png" }))
}"
`;
exports[`compiler sfc: transform asset url > support uri fragment 1`] = `
-"import { createElementVNode as _createElementVNode, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from \\"vue\\"
+"import { createElementVNode as _createElementVNode, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from "vue"
import _imports_0 from '@svg/file.svg'
const _hoisted_1 = _imports_0 + '#fragment'
-const _hoisted_2 = /*#__PURE__*/_createElementVNode(\\"use\\", { href: _hoisted_1 }, null, -1 /* HOISTED */)
-const _hoisted_3 = /*#__PURE__*/_createElementVNode(\\"use\\", { href: _hoisted_1 }, null, -1 /* HOISTED */)
+const _hoisted_2 = /*#__PURE__*/_createElementVNode("use", { href: _hoisted_1 }, null, -1 /* HOISTED */)
+const _hoisted_3 = /*#__PURE__*/_createElementVNode("use", { href: _hoisted_1 }, null, -1 /* HOISTED */)
export function render(_ctx, _cache) {
return (_openBlock(), _createElementBlock(_Fragment, null, [
`;
exports[`compiler sfc: transform asset url > support uri is empty 1`] = `
-"import { openBlock as _openBlock, createElementBlock as _createElementBlock } from \\"vue\\"
+"import { openBlock as _openBlock, createElementBlock as _createElementBlock } from "vue"
export function render(_ctx, _cache) {
- return (_openBlock(), _createElementBlock(\\"use\\", { href: '' }))
+ return (_openBlock(), _createElementBlock("use", { href: '' }))
}"
`;
exports[`compiler sfc: transform asset url > transform assetUrls 1`] = `
-"import { createElementVNode as _createElementVNode, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from \\"vue\\"
+"import { createElementVNode as _createElementVNode, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from "vue"
import _imports_0 from './logo.png'
import _imports_1 from 'fixtures/logo.png'
export function render(_ctx, _cache) {
return (_openBlock(), _createElementBlock(_Fragment, null, [
- _createElementVNode(\\"img\\", { src: _imports_0 }),
- _createElementVNode(\\"img\\", { src: _imports_1 }),
- _createElementVNode(\\"img\\", { src: _imports_1 }),
- _createElementVNode(\\"img\\", { src: \\"http://example.com/fixtures/logo.png\\" }),
- _createElementVNode(\\"img\\", { src: \\"//example.com/fixtures/logo.png\\" }),
- _createElementVNode(\\"img\\", { src: \\"/fixtures/logo.png\\" }),
- _createElementVNode(\\"img\\", { src: \\"data:image/png;base64,i\\" })
+ _createElementVNode("img", { src: _imports_0 }),
+ _createElementVNode("img", { src: _imports_1 }),
+ _createElementVNode("img", { src: _imports_1 }),
+ _createElementVNode("img", { src: "http://example.com/fixtures/logo.png" }),
+ _createElementVNode("img", { src: "//example.com/fixtures/logo.png" }),
+ _createElementVNode("img", { src: "/fixtures/logo.png" }),
+ _createElementVNode("img", { src: "data:image/png;base64,i" })
], 64 /* STABLE_FRAGMENT */))
}"
`;
exports[`compiler sfc: transform asset url > transform with stringify 1`] = `
-"import { createElementVNode as _createElementVNode, createStaticVNode as _createStaticVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \\"vue\\"
+"import { createElementVNode as _createElementVNode, createStaticVNode as _createStaticVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from "vue"
import _imports_0 from './bar.png'
import _imports_1 from '/bar.png'
-const _hoisted_1 = /*#__PURE__*/_createStaticVNode(\\"<img src=\\\\\\"\\" + _imports_0 + \\"\\\\\\"><img src=\\\\\\"\\" + _imports_1 + \\"\\\\\\"><img src=\\\\\\"https://foo.bar/baz.png\\\\\\"><img src=\\\\\\"//foo.bar/baz.png\\\\\\"><img src=\\\\\\"\\" + _imports_0 + \\"\\\\\\">\\", 5)
+const _hoisted_1 = /*#__PURE__*/_createStaticVNode("<img src=\\"" + _imports_0 + "\\"><img src=\\"" + _imports_1 + "\\"><img src=\\"https://foo.bar/baz.png\\"><img src=\\"//foo.bar/baz.png\\"><img src=\\"" + _imports_0 + "\\">", 5)
const _hoisted_6 = [
_hoisted_1
]
export function render(_ctx, _cache) {
- return (_openBlock(), _createElementBlock(\\"div\\", null, _hoisted_6))
+ return (_openBlock(), _createElementBlock("div", null, _hoisted_6))
}"
`;
exports[`compiler sfc: transform asset url > with explicit base 1`] = `
-"import { createElementVNode as _createElementVNode, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from \\"vue\\"
+"import { createElementVNode as _createElementVNode, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from "vue"
import _imports_0 from 'bar.png'
import _imports_1 from '@theme/bar.png'
export function render(_ctx, _cache) {
return (_openBlock(), _createElementBlock(_Fragment, null, [
- _createElementVNode(\\"img\\", { src: \\"/foo/bar.png\\" }),
- _createElementVNode(\\"img\\", { src: \\"bar.png\\" }),
- _createElementVNode(\\"img\\", { src: _imports_0 }),
- _createElementVNode(\\"img\\", { src: _imports_1 })
+ _createElementVNode("img", { src: "/foo/bar.png" }),
+ _createElementVNode("img", { src: "bar.png" }),
+ _createElementVNode("img", { src: _imports_0 }),
+ _createElementVNode("img", { src: _imports_1 })
], 64 /* STABLE_FRAGMENT */))
}"
`;
exports[`compiler sfc: transform asset url > with includeAbsolute: true 1`] = `
-"import { createElementVNode as _createElementVNode, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from \\"vue\\"
+"import { createElementVNode as _createElementVNode, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from "vue"
import _imports_0 from './bar.png'
import _imports_1 from '/bar.png'
export function render(_ctx, _cache) {
return (_openBlock(), _createElementBlock(_Fragment, null, [
- _createElementVNode(\\"img\\", { src: _imports_0 }),
- _createElementVNode(\\"img\\", { src: _imports_1 }),
- _createElementVNode(\\"img\\", { src: \\"https://foo.bar/baz.png\\" }),
- _createElementVNode(\\"img\\", { src: \\"//foo.bar/baz.png\\" })
+ _createElementVNode("img", { src: _imports_0 }),
+ _createElementVNode("img", { src: _imports_1 }),
+ _createElementVNode("img", { src: "https://foo.bar/baz.png" }),
+ _createElementVNode("img", { src: "//foo.bar/baz.png" })
], 64 /* STABLE_FRAGMENT */))
}"
`;
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
exports[`compiler sfc: transform srcset > srcset w/ explicit base option 1`] = `
-"import { createElementVNode as _createElementVNode, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from \\"vue\\"
+"import { createElementVNode as _createElementVNode, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from "vue"
import _imports_0 from '@/logo.png'
const _hoisted_1 = _imports_0 + ', ' + _imports_0 + ' 2x'
-const _hoisted_2 = _imports_0 + ' 1x, ' + \\"/foo/logo.png\\" + ' 2x'
-const _hoisted_3 = /*#__PURE__*/_createElementVNode(\\"img\\", { srcset: _hoisted_1 }, null, -1 /* HOISTED */)
-const _hoisted_4 = /*#__PURE__*/_createElementVNode(\\"img\\", { srcset: _hoisted_2 }, null, -1 /* HOISTED */)
+const _hoisted_2 = _imports_0 + ' 1x, ' + "/foo/logo.png" + ' 2x'
+const _hoisted_3 = /*#__PURE__*/_createElementVNode("img", { srcset: _hoisted_1 }, null, -1 /* HOISTED */)
+const _hoisted_4 = /*#__PURE__*/_createElementVNode("img", { srcset: _hoisted_2 }, null, -1 /* HOISTED */)
export function render(_ctx, _cache) {
return (_openBlock(), _createElementBlock(_Fragment, null, [
`;
exports[`compiler sfc: transform srcset > transform srcset 1`] = `
-"import { createElementVNode as _createElementVNode, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from \\"vue\\"
+"import { createElementVNode as _createElementVNode, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from "vue"
import _imports_0 from './logo.png'
const _hoisted_5 = _imports_0 + ' 2x, ' + _imports_0
const _hoisted_6 = _imports_0 + ' 2x, ' + _imports_0 + ' 3x'
const _hoisted_7 = _imports_0 + ', ' + _imports_0 + ' 2x, ' + _imports_0 + ' 3x'
-const _hoisted_8 = \\"/logo.png\\" + ', ' + _imports_0 + ' 2x'
-const _hoisted_9 = /*#__PURE__*/_createElementVNode(\\"img\\", {
- src: \\"./logo.png\\",
- srcset: \\"\\"
+const _hoisted_8 = "/logo.png" + ', ' + _imports_0 + ' 2x'
+const _hoisted_9 = /*#__PURE__*/_createElementVNode("img", {
+ src: "./logo.png",
+ srcset: ""
}, null, -1 /* HOISTED */)
-const _hoisted_10 = /*#__PURE__*/_createElementVNode(\\"img\\", {
- src: \\"./logo.png\\",
+const _hoisted_10 = /*#__PURE__*/_createElementVNode("img", {
+ src: "./logo.png",
srcset: _hoisted_1
}, null, -1 /* HOISTED */)
-const _hoisted_11 = /*#__PURE__*/_createElementVNode(\\"img\\", {
- src: \\"./logo.png\\",
+const _hoisted_11 = /*#__PURE__*/_createElementVNode("img", {
+ src: "./logo.png",
srcset: _hoisted_2
}, null, -1 /* HOISTED */)
-const _hoisted_12 = /*#__PURE__*/_createElementVNode(\\"img\\", {
- src: \\"./logo.png\\",
+const _hoisted_12 = /*#__PURE__*/_createElementVNode("img", {
+ src: "./logo.png",
srcset: _hoisted_3
}, null, -1 /* HOISTED */)
-const _hoisted_13 = /*#__PURE__*/_createElementVNode(\\"img\\", {
- src: \\"./logo.png\\",
+const _hoisted_13 = /*#__PURE__*/_createElementVNode("img", {
+ src: "./logo.png",
srcset: _hoisted_4
}, null, -1 /* HOISTED */)
-const _hoisted_14 = /*#__PURE__*/_createElementVNode(\\"img\\", {
- src: \\"./logo.png\\",
+const _hoisted_14 = /*#__PURE__*/_createElementVNode("img", {
+ src: "./logo.png",
srcset: _hoisted_5
}, null, -1 /* HOISTED */)
-const _hoisted_15 = /*#__PURE__*/_createElementVNode(\\"img\\", {
- src: \\"./logo.png\\",
+const _hoisted_15 = /*#__PURE__*/_createElementVNode("img", {
+ src: "./logo.png",
srcset: _hoisted_6
}, null, -1 /* HOISTED */)
-const _hoisted_16 = /*#__PURE__*/_createElementVNode(\\"img\\", {
- src: \\"./logo.png\\",
+const _hoisted_16 = /*#__PURE__*/_createElementVNode("img", {
+ src: "./logo.png",
srcset: _hoisted_7
}, null, -1 /* HOISTED */)
-const _hoisted_17 = /*#__PURE__*/_createElementVNode(\\"img\\", {
- src: \\"/logo.png\\",
- srcset: \\"/logo.png, /logo.png 2x\\"
+const _hoisted_17 = /*#__PURE__*/_createElementVNode("img", {
+ src: "/logo.png",
+ srcset: "/logo.png, /logo.png 2x"
}, null, -1 /* HOISTED */)
-const _hoisted_18 = /*#__PURE__*/_createElementVNode(\\"img\\", {
- src: \\"https://example.com/logo.png\\",
- srcset: \\"https://example.com/logo.png, https://example.com/logo.png 2x\\"
+const _hoisted_18 = /*#__PURE__*/_createElementVNode("img", {
+ src: "https://example.com/logo.png",
+ srcset: "https://example.com/logo.png, https://example.com/logo.png 2x"
}, null, -1 /* HOISTED */)
-const _hoisted_19 = /*#__PURE__*/_createElementVNode(\\"img\\", {
- src: \\"/logo.png\\",
+const _hoisted_19 = /*#__PURE__*/_createElementVNode("img", {
+ src: "/logo.png",
srcset: _hoisted_8
}, null, -1 /* HOISTED */)
-const _hoisted_20 = /*#__PURE__*/_createElementVNode(\\"img\\", {
- src: \\"data:image/png;base64,i\\",
- srcset: \\"data:image/png;base64,i 1x, data:image/png;base64,i 2x\\"
+const _hoisted_20 = /*#__PURE__*/_createElementVNode("img", {
+ src: "data:image/png;base64,i",
+ srcset: "data:image/png;base64,i 1x, data:image/png;base64,i 2x"
}, null, -1 /* HOISTED */)
export function render(_ctx, _cache) {
`;
exports[`compiler sfc: transform srcset > transform srcset w/ base 1`] = `
-"import { createElementVNode as _createElementVNode, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from \\"vue\\"
+"import { createElementVNode as _createElementVNode, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from "vue"
-const _hoisted_1 = /*#__PURE__*/_createElementVNode(\\"img\\", {
- src: \\"./logo.png\\",
- srcset: \\"\\"
+const _hoisted_1 = /*#__PURE__*/_createElementVNode("img", {
+ src: "./logo.png",
+ srcset: ""
}, null, -1 /* HOISTED */)
-const _hoisted_2 = /*#__PURE__*/_createElementVNode(\\"img\\", {
- src: \\"./logo.png\\",
- srcset: \\"/foo/logo.png\\"
+const _hoisted_2 = /*#__PURE__*/_createElementVNode("img", {
+ src: "./logo.png",
+ srcset: "/foo/logo.png"
}, null, -1 /* HOISTED */)
-const _hoisted_3 = /*#__PURE__*/_createElementVNode(\\"img\\", {
- src: \\"./logo.png\\",
- srcset: \\"/foo/logo.png 2x\\"
+const _hoisted_3 = /*#__PURE__*/_createElementVNode("img", {
+ src: "./logo.png",
+ srcset: "/foo/logo.png 2x"
}, null, -1 /* HOISTED */)
-const _hoisted_4 = /*#__PURE__*/_createElementVNode(\\"img\\", {
- src: \\"./logo.png\\",
- srcset: \\"/foo/logo.png 2x\\"
+const _hoisted_4 = /*#__PURE__*/_createElementVNode("img", {
+ src: "./logo.png",
+ srcset: "/foo/logo.png 2x"
}, null, -1 /* HOISTED */)
-const _hoisted_5 = /*#__PURE__*/_createElementVNode(\\"img\\", {
- src: \\"./logo.png\\",
- srcset: \\"/foo/logo.png, /foo/logo.png 2x\\"
+const _hoisted_5 = /*#__PURE__*/_createElementVNode("img", {
+ src: "./logo.png",
+ srcset: "/foo/logo.png, /foo/logo.png 2x"
}, null, -1 /* HOISTED */)
-const _hoisted_6 = /*#__PURE__*/_createElementVNode(\\"img\\", {
- src: \\"./logo.png\\",
- srcset: \\"/foo/logo.png 2x, /foo/logo.png\\"
+const _hoisted_6 = /*#__PURE__*/_createElementVNode("img", {
+ src: "./logo.png",
+ srcset: "/foo/logo.png 2x, /foo/logo.png"
}, null, -1 /* HOISTED */)
-const _hoisted_7 = /*#__PURE__*/_createElementVNode(\\"img\\", {
- src: \\"./logo.png\\",
- srcset: \\"/foo/logo.png 2x, /foo/logo.png 3x\\"
+const _hoisted_7 = /*#__PURE__*/_createElementVNode("img", {
+ src: "./logo.png",
+ srcset: "/foo/logo.png 2x, /foo/logo.png 3x"
}, null, -1 /* HOISTED */)
-const _hoisted_8 = /*#__PURE__*/_createElementVNode(\\"img\\", {
- src: \\"./logo.png\\",
- srcset: \\"/foo/logo.png, /foo/logo.png 2x, /foo/logo.png 3x\\"
+const _hoisted_8 = /*#__PURE__*/_createElementVNode("img", {
+ src: "./logo.png",
+ srcset: "/foo/logo.png, /foo/logo.png 2x, /foo/logo.png 3x"
}, null, -1 /* HOISTED */)
-const _hoisted_9 = /*#__PURE__*/_createElementVNode(\\"img\\", {
- src: \\"/logo.png\\",
- srcset: \\"/logo.png, /logo.png 2x\\"
+const _hoisted_9 = /*#__PURE__*/_createElementVNode("img", {
+ src: "/logo.png",
+ srcset: "/logo.png, /logo.png 2x"
}, null, -1 /* HOISTED */)
-const _hoisted_10 = /*#__PURE__*/_createElementVNode(\\"img\\", {
- src: \\"https://example.com/logo.png\\",
- srcset: \\"https://example.com/logo.png, https://example.com/logo.png 2x\\"
+const _hoisted_10 = /*#__PURE__*/_createElementVNode("img", {
+ src: "https://example.com/logo.png",
+ srcset: "https://example.com/logo.png, https://example.com/logo.png 2x"
}, null, -1 /* HOISTED */)
-const _hoisted_11 = /*#__PURE__*/_createElementVNode(\\"img\\", {
- src: \\"/logo.png\\",
- srcset: \\"/logo.png, /foo/logo.png 2x\\"
+const _hoisted_11 = /*#__PURE__*/_createElementVNode("img", {
+ src: "/logo.png",
+ srcset: "/logo.png, /foo/logo.png 2x"
}, null, -1 /* HOISTED */)
-const _hoisted_12 = /*#__PURE__*/_createElementVNode(\\"img\\", {
- src: \\"data:image/png;base64,i\\",
- srcset: \\"data:image/png;base64,i 1x, data:image/png;base64,i 2x\\"
+const _hoisted_12 = /*#__PURE__*/_createElementVNode("img", {
+ src: "data:image/png;base64,i",
+ srcset: "data:image/png;base64,i 1x, data:image/png;base64,i 2x"
}, null, -1 /* HOISTED */)
export function render(_ctx, _cache) {
`;
exports[`compiler sfc: transform srcset > transform srcset w/ includeAbsolute: true 1`] = `
-"import { createElementVNode as _createElementVNode, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from \\"vue\\"
+"import { createElementVNode as _createElementVNode, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from "vue"
import _imports_0 from './logo.png'
import _imports_1 from '/logo.png'
const _hoisted_7 = _imports_0 + ', ' + _imports_0 + ' 2x, ' + _imports_0 + ' 3x'
const _hoisted_8 = _imports_1 + ', ' + _imports_1 + ' 2x'
const _hoisted_9 = _imports_1 + ', ' + _imports_0 + ' 2x'
-const _hoisted_10 = /*#__PURE__*/_createElementVNode(\\"img\\", {
- src: \\"./logo.png\\",
- srcset: \\"\\"
+const _hoisted_10 = /*#__PURE__*/_createElementVNode("img", {
+ src: "./logo.png",
+ srcset: ""
}, null, -1 /* HOISTED */)
-const _hoisted_11 = /*#__PURE__*/_createElementVNode(\\"img\\", {
- src: \\"./logo.png\\",
+const _hoisted_11 = /*#__PURE__*/_createElementVNode("img", {
+ src: "./logo.png",
srcset: _hoisted_1
}, null, -1 /* HOISTED */)
-const _hoisted_12 = /*#__PURE__*/_createElementVNode(\\"img\\", {
- src: \\"./logo.png\\",
+const _hoisted_12 = /*#__PURE__*/_createElementVNode("img", {
+ src: "./logo.png",
srcset: _hoisted_2
}, null, -1 /* HOISTED */)
-const _hoisted_13 = /*#__PURE__*/_createElementVNode(\\"img\\", {
- src: \\"./logo.png\\",
+const _hoisted_13 = /*#__PURE__*/_createElementVNode("img", {
+ src: "./logo.png",
srcset: _hoisted_3
}, null, -1 /* HOISTED */)
-const _hoisted_14 = /*#__PURE__*/_createElementVNode(\\"img\\", {
- src: \\"./logo.png\\",
+const _hoisted_14 = /*#__PURE__*/_createElementVNode("img", {
+ src: "./logo.png",
srcset: _hoisted_4
}, null, -1 /* HOISTED */)
-const _hoisted_15 = /*#__PURE__*/_createElementVNode(\\"img\\", {
- src: \\"./logo.png\\",
+const _hoisted_15 = /*#__PURE__*/_createElementVNode("img", {
+ src: "./logo.png",
srcset: _hoisted_5
}, null, -1 /* HOISTED */)
-const _hoisted_16 = /*#__PURE__*/_createElementVNode(\\"img\\", {
- src: \\"./logo.png\\",
+const _hoisted_16 = /*#__PURE__*/_createElementVNode("img", {
+ src: "./logo.png",
srcset: _hoisted_6
}, null, -1 /* HOISTED */)
-const _hoisted_17 = /*#__PURE__*/_createElementVNode(\\"img\\", {
- src: \\"./logo.png\\",
+const _hoisted_17 = /*#__PURE__*/_createElementVNode("img", {
+ src: "./logo.png",
srcset: _hoisted_7
}, null, -1 /* HOISTED */)
-const _hoisted_18 = /*#__PURE__*/_createElementVNode(\\"img\\", {
- src: \\"/logo.png\\",
+const _hoisted_18 = /*#__PURE__*/_createElementVNode("img", {
+ src: "/logo.png",
srcset: _hoisted_8
}, null, -1 /* HOISTED */)
-const _hoisted_19 = /*#__PURE__*/_createElementVNode(\\"img\\", {
- src: \\"https://example.com/logo.png\\",
- srcset: \\"https://example.com/logo.png, https://example.com/logo.png 2x\\"
+const _hoisted_19 = /*#__PURE__*/_createElementVNode("img", {
+ src: "https://example.com/logo.png",
+ srcset: "https://example.com/logo.png, https://example.com/logo.png 2x"
}, null, -1 /* HOISTED */)
-const _hoisted_20 = /*#__PURE__*/_createElementVNode(\\"img\\", {
- src: \\"/logo.png\\",
+const _hoisted_20 = /*#__PURE__*/_createElementVNode("img", {
+ src: "/logo.png",
srcset: _hoisted_9
}, null, -1 /* HOISTED */)
-const _hoisted_21 = /*#__PURE__*/_createElementVNode(\\"img\\", {
- src: \\"data:image/png;base64,i\\",
- srcset: \\"data:image/png;base64,i 1x, data:image/png;base64,i 2x\\"
+const _hoisted_21 = /*#__PURE__*/_createElementVNode("img", {
+ src: "data:image/png;base64,i",
+ srcset: "data:image/png;base64,i 1x, data:image/png;base64,i 2x"
}, null, -1 /* HOISTED */)
export function render(_ctx, _cache) {
`;
exports[`compiler sfc: transform srcset > transform srcset w/ stringify 1`] = `
-"import { createElementVNode as _createElementVNode, createStaticVNode as _createStaticVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \\"vue\\"
+"import { createElementVNode as _createElementVNode, createStaticVNode as _createStaticVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from "vue"
import _imports_0 from './logo.png'
import _imports_1 from '/logo.png'
const _hoisted_7 = _imports_0 + ', ' + _imports_0 + ' 2x, ' + _imports_0 + ' 3x'
const _hoisted_8 = _imports_1 + ', ' + _imports_1 + ' 2x'
const _hoisted_9 = _imports_1 + ', ' + _imports_0 + ' 2x'
-const _hoisted_10 = /*#__PURE__*/_createStaticVNode(\\"<img src=\\\\\\"./logo.png\\\\\\" srcset=\\\\\\"\\\\\\"><img src=\\\\\\"./logo.png\\\\\\" srcset=\\\\\\"\\" + _hoisted_1 + \\"\\\\\\"><img src=\\\\\\"./logo.png\\\\\\" srcset=\\\\\\"\\" + _hoisted_2 + \\"\\\\\\"><img src=\\\\\\"./logo.png\\\\\\" srcset=\\\\\\"\\" + _hoisted_3 + \\"\\\\\\"><img src=\\\\\\"./logo.png\\\\\\" srcset=\\\\\\"\\" + _hoisted_4 + \\"\\\\\\"><img src=\\\\\\"./logo.png\\\\\\" srcset=\\\\\\"\\" + _hoisted_5 + \\"\\\\\\"><img src=\\\\\\"./logo.png\\\\\\" srcset=\\\\\\"\\" + _hoisted_6 + \\"\\\\\\"><img src=\\\\\\"./logo.png\\\\\\" srcset=\\\\\\"\\" + _hoisted_7 + \\"\\\\\\"><img src=\\\\\\"/logo.png\\\\\\" srcset=\\\\\\"\\" + _hoisted_8 + \\"\\\\\\"><img src=\\\\\\"https://example.com/logo.png\\\\\\" srcset=\\\\\\"https://example.com/logo.png, https://example.com/logo.png 2x\\\\\\"><img src=\\\\\\"/logo.png\\\\\\" srcset=\\\\\\"\\" + _hoisted_9 + \\"\\\\\\"><img src=\\\\\\"data:image/png;base64,i\\\\\\" srcset=\\\\\\"data:image/png;base64,i 1x, data:image/png;base64,i 2x\\\\\\">\\", 12)
+const _hoisted_10 = /*#__PURE__*/_createStaticVNode("<img src=\\"./logo.png\\" srcset=\\"\\"><img src=\\"./logo.png\\" srcset=\\"" + _hoisted_1 + "\\"><img src=\\"./logo.png\\" srcset=\\"" + _hoisted_2 + "\\"><img src=\\"./logo.png\\" srcset=\\"" + _hoisted_3 + "\\"><img src=\\"./logo.png\\" srcset=\\"" + _hoisted_4 + "\\"><img src=\\"./logo.png\\" srcset=\\"" + _hoisted_5 + "\\"><img src=\\"./logo.png\\" srcset=\\"" + _hoisted_6 + "\\"><img src=\\"./logo.png\\" srcset=\\"" + _hoisted_7 + "\\"><img src=\\"/logo.png\\" srcset=\\"" + _hoisted_8 + "\\"><img src=\\"https://example.com/logo.png\\" srcset=\\"https://example.com/logo.png, https://example.com/logo.png 2x\\"><img src=\\"/logo.png\\" srcset=\\"" + _hoisted_9 + "\\"><img src=\\"data:image/png;base64,i\\" srcset=\\"data:image/png;base64,i 1x, data:image/png;base64,i 2x\\">", 12)
const _hoisted_22 = [
_hoisted_10
]
export function render(_ctx, _cache) {
- return (_openBlock(), _createElementBlock(\\"div\\", null, _hoisted_22))
+ return (_openBlock(), _createElementBlock("div", null, _hoisted_22))
}"
`;
export interface Emits { (e: 'foo' | 'bar'): void }
export default /*#__PURE__*/_defineComponent({
- emits: [\\"foo\\", \\"bar\\"],
+ emits: ["foo", "bar"],
setup(__props, { expose: __expose, emit: __emit }) {
__expose();
export type Emits = { (e: 'foo' | 'bar'): void }
export default /*#__PURE__*/_defineComponent({
- emits: [\\"foo\\", \\"bar\\"],
+ emits: ["foo", "bar"],
setup(__props, { expose: __expose, emit: __emit }) {
__expose();
interface Emits extends Base { (e: 'bar'): void }
export default /*#__PURE__*/_defineComponent({
- emits: [\\"bar\\", \\"foo\\"],
+ emits: ["bar", "foo"],
setup(__props, { expose: __expose, emit: __emit }) {
__expose();
interface Emits { (e: 'foo' | 'bar'): void }
export default /*#__PURE__*/_defineComponent({
- emits: [\\"foo\\", \\"bar\\"],
+ emits: ["foo", "bar"],
setup(__props, { expose: __expose, emit: __emit }) {
__expose();
"import { defineComponent as _defineComponent } from 'vue'
export default /*#__PURE__*/_defineComponent({
- emits: [\\"foo:bar\\"],
+ emits: ["foo:bar"],
setup(__props, { expose: __expose, emit: __emit }) {
__expose();
"import { defineComponent as _defineComponent } from 'vue'
export default /*#__PURE__*/_defineComponent({
- emits: [\\"foo\\", \\"bar\\"],
+ emits: ["foo", "bar"],
setup(__props, { expose: __expose, emit: __emit }) {
__expose();
export type Emits = (e: 'foo' | 'bar') => void
export default /*#__PURE__*/_defineComponent({
- emits: [\\"foo\\", \\"bar\\"],
+ emits: ["foo", "bar"],
setup(__props, { expose: __expose, emit: __emit }) {
__expose();
type Emits = (e: 'foo' | 'bar') => void
export default /*#__PURE__*/_defineComponent({
- emits: [\\"foo\\", \\"bar\\"],
+ emits: ["foo", "bar"],
setup(__props, { expose: __expose, emit: __emit }) {
__expose();
type Emits = { (e: 'foo' | 'bar'): void }
export default /*#__PURE__*/_defineComponent({
- emits: [\\"foo\\", \\"bar\\"],
+ emits: ["foo", "bar"],
setup(__props, { expose: __expose, emit: __emit }) {
__expose();
"import { defineComponent as _defineComponent } from 'vue'
export default /*#__PURE__*/_defineComponent({
- emits: [\\"foo\\", \\"bar\\", \\"baz\\"],
+ emits: ["foo", "bar", "baz"],
setup(__props, { expose: __expose, emit: __emit }) {
__expose();
exports[`defineEmits > w/ type (type references in union) 1`] = `
"import { defineComponent as _defineComponent } from 'vue'
-type BaseEmit = \\"change\\"
- type Emit = \\"some\\" | \\"emit\\" | BaseEmit
+type BaseEmit = "change"
+ type Emit = "some" | "emit" | BaseEmit
export default /*#__PURE__*/_defineComponent({
- emits: [\\"some\\", \\"emit\\", \\"change\\", \\"another\\"],
+ emits: ["some", "emit", "change", "another"],
setup(__props, { expose: __expose, emit: __emit }) {
__expose();
"import { defineComponent as _defineComponent } from 'vue'
export default /*#__PURE__*/_defineComponent({
- emits: [\\"foo\\", \\"bar\\", \\"baz\\"],
+ emits: ["foo", "bar", "baz"],
setup(__props, { expose: __expose, emit: __emit }) {
__expose();
"import { defineComponent as _defineComponent } from 'vue'
export default /*#__PURE__*/_defineComponent({
- emits: [\\"foo\\", \\"bar\\"],
+ emits: ["foo", "bar"],
setup(__props, { expose: __expose, emit: __emit }) {
__expose();
export interface Emits { (e: 'foo' | 'bar'): void }
export default /*#__PURE__*/_defineComponent({
- emits: [\\"foo\\", \\"bar\\"],
+ emits: ["foo", "bar"],
setup(__props, { expose: __expose, emit: __emit }) {
__expose();
export default {
props: {
- \\"modelValue\\": { required: true },
- \\"count\\": {},
- \\"toString\\": { type: Function },
+ "modelValue": { required: true },
+ "count": {},
+ "toString": { type: Function },
},
- emits: [\\"update:modelValue\\", \\"update:count\\", \\"update:toString\\"],
+ emits: ["update:modelValue", "update:count", "update:toString"],
setup(__props, { expose: __expose }) {
__expose();
- const modelValue = _useModel(__props, \\"modelValue\\")
- const c = _useModel(__props, \\"count\\")
- const toString = _useModel(__props, \\"toString\\")
+ const modelValue = _useModel(__props, "modelValue")
+ const c = _useModel(__props, "count")
+ const toString = _useModel(__props, "toString")
return { modelValue, c, toString }
}
export default {
props: /*#__PURE__*/_mergeModels(['foo', 'bar'], {
- \\"count\\": {},
+ "count": {},
}),
- emits: [\\"update:count\\"],
+ emits: ["update:count"],
setup(__props, { expose: __expose }) {
__expose();
- const count = _useModel(__props, \\"count\\")
+ const count = _useModel(__props, "count")
return { count }
}
export default {
props: /*#__PURE__*/_mergeModels({ foo: String }, {
- \\"modelValue\\": { default: 0 },
+ "modelValue": { default: 0 },
}),
- emits: /*#__PURE__*/_mergeModels(['change'], [\\"update:modelValue\\"]),
+ emits: /*#__PURE__*/_mergeModels(['change'], ["update:modelValue"]),
setup(__props, { expose: __expose }) {
__expose();
- const count = _useModel(__props, \\"modelValue\\")
+ const count = _useModel(__props, "modelValue")
return { count }
}
export default {
props: {
- \\"modelValue\\": { local: true, default: 1 },
- \\"bar\\": { [key]: true },
- \\"baz\\": { ...x },
- \\"qux\\": x,
- \\"foo2\\": { local: true, ...x },
- \\"hoist\\": { local },
+ "modelValue": { local: true, default: 1 },
+ "bar": { [key]: true },
+ "baz": { ...x },
+ "qux": x,
+ "foo2": { local: true, ...x },
+ "hoist": { local },
},
- emits: [\\"update:modelValue\\", \\"update:bar\\", \\"update:baz\\", \\"update:qux\\", \\"update:foo2\\", \\"update:hoist\\"],
+ emits: ["update:modelValue", "update:bar", "update:baz", "update:qux", "update:foo2", "update:hoist"],
setup(__props, { expose: __expose }) {
__expose();
- const foo = _useModel(__props, \\"modelValue\\", { local: true })
- const bar = _useModel(__props, \\"bar\\", { [key]: true })
- const baz = _useModel(__props, \\"baz\\", { ...x })
- const qux = _useModel(__props, \\"qux\\", x)
+ const foo = _useModel(__props, "modelValue", { local: true })
+ const bar = _useModel(__props, "bar", { [key]: true })
+ const baz = _useModel(__props, "baz", { ...x })
+ const qux = _useModel(__props, "qux", x)
- const foo2 = _useModel(__props, \\"foo2\\", { local: true })
+ const foo2 = _useModel(__props, "foo2", { local: true })
- const hoist = _useModel(__props, \\"hoist\\", { local })
+ const hoist = _useModel(__props, "hoist", { local })
return { foo, bar, baz, qux, foo2, local, hoist }
}
export default /*#__PURE__*/_defineComponent({
props: {
- \\"modelValue\\": { type: [Boolean, String] },
- \\"count\\": { type: Number },
- \\"disabled\\": { type: Number, ...{ required: false } },
- \\"any\\": { type: Boolean, skipCheck: true },
+ "modelValue": { type: [Boolean, String] },
+ "count": { type: Number },
+ "disabled": { type: Number, ...{ required: false } },
+ "any": { type: Boolean, skipCheck: true },
},
- emits: [\\"update:modelValue\\", \\"update:count\\", \\"update:disabled\\", \\"update:any\\"],
+ emits: ["update:modelValue", "update:count", "update:disabled", "update:any"],
setup(__props, { expose: __expose }) {
__expose();
- const modelValue = _useModel(__props, \\"modelValue\\")
- const count = _useModel(__props, \\"count\\")
- const disabled = _useModel(__props, \\"disabled\\")
- const any = _useModel(__props, \\"any\\")
+ const modelValue = _useModel(__props, "modelValue")
+ const count = _useModel(__props, "count")
+ const disabled = _useModel(__props, "disabled")
+ const any = _useModel(__props, "any")
return { modelValue, count, disabled, any }
}
export default /*#__PURE__*/_defineComponent({
props: {
- \\"modelValue\\": { type: Boolean },
- \\"fn\\": {},
- \\"fnWithDefault\\": { type: Function, ...{ default: () => null } },
- \\"str\\": {},
- \\"optional\\": { required: false },
+ "modelValue": { type: Boolean },
+ "fn": {},
+ "fnWithDefault": { type: Function, ...{ default: () => null } },
+ "str": {},
+ "optional": { required: false },
},
- emits: [\\"update:modelValue\\", \\"update:fn\\", \\"update:fnWithDefault\\", \\"update:str\\", \\"update:optional\\"],
+ emits: ["update:modelValue", "update:fn", "update:fnWithDefault", "update:str", "update:optional"],
setup(__props, { expose: __expose }) {
__expose();
- const modelValue = _useModel(__props, \\"modelValue\\")
- const fn = _useModel(__props, \\"fn\\")
- const fnWithDefault = _useModel(__props, \\"fnWithDefault\\")
- const str = _useModel(__props, \\"str\\")
- const optional = _useModel(__props, \\"optional\\")
+ const modelValue = _useModel(__props, "modelValue")
+ const fn = _useModel(__props, "fn")
+ const fnWithDefault = _useModel(__props, "fnWithDefault")
+ const str = _useModel(__props, "str")
+ const optional = _useModel(__props, "optional")
return { modelValue, fn, fnWithDefault, str, optional }
}
export default /*#__PURE__*/_defineComponent({
props: {
- \\"spa ce\\": { type: null, required: true },
- \\"exclamation!mark\\": { type: null, required: true },
- \\"double\\\\\\"quote\\": { type: null, required: true },
- \\"hash#tag\\": { type: null, required: true },
- \\"dollar$sign\\": { type: null, required: true },
- \\"percentage%sign\\": { type: null, required: true },
- \\"amper&sand\\": { type: null, required: true },
- \\"single'quote\\": { type: null, required: true },
- \\"round(brack)ets\\": { type: null, required: true },
- \\"aste*risk\\": { type: null, required: true },
- \\"pl+us\\": { type: null, required: true },
- \\"com,ma\\": { type: null, required: true },
- \\"do.t\\": { type: null, required: true },
- \\"sla/sh\\": { type: null, required: true },
- \\"co:lon\\": { type: null, required: true },
- \\"semi;colon\\": { type: null, required: true },
- \\"angle<brack>ets\\": { type: null, required: true },
- \\"equal=sign\\": { type: null, required: true },
- \\"question?mark\\": { type: null, required: true },
- \\"at@sign\\": { type: null, required: true },
- \\"square[brack]ets\\": { type: null, required: true },
- \\"back\\\\\\\\slash\\": { type: null, required: true },
- \\"ca^ret\\": { type: null, required: true },
- \\"back\`tick\\": { type: null, required: true },
- \\"curly{bra}ces\\": { type: null, required: true },
- \\"pi|pe\\": { type: null, required: true },
- \\"til~de\\": { type: null, required: true },
- \\"da-sh\\": { type: null, required: true }
+ "spa ce": { type: null, required: true },
+ "exclamation!mark": { type: null, required: true },
+ "double\\"quote": { type: null, required: true },
+ "hash#tag": { type: null, required: true },
+ "dollar$sign": { type: null, required: true },
+ "percentage%sign": { type: null, required: true },
+ "amper&sand": { type: null, required: true },
+ "single'quote": { type: null, required: true },
+ "round(brack)ets": { type: null, required: true },
+ "aste*risk": { type: null, required: true },
+ "pl+us": { type: null, required: true },
+ "com,ma": { type: null, required: true },
+ "do.t": { type: null, required: true },
+ "sla/sh": { type: null, required: true },
+ "co:lon": { type: null, required: true },
+ "semi;colon": { type: null, required: true },
+ "angle<brack>ets": { type: null, required: true },
+ "equal=sign": { type: null, required: true },
+ "question?mark": { type: null, required: true },
+ "at@sign": { type: null, required: true },
+ "square[brack]ets": { type: null, required: true },
+ "back\\\\slash": { type: null, required: true },
+ "ca^ret": { type: null, required: true },
+ "back\`tick": { type: null, required: true },
+ "curly{bra}ces": { type: null, required: true },
+ "pi|pe": { type: null, required: true },
+ "til~de": { type: null, required: true },
+ "da-sh": { type: null, required: true }
},
setup(__props: any, { expose: __expose }) {
__expose();
export default /*#__PURE__*/_defineComponent({
props: {
- a: { type: String, required: false, default: \\"a\\" }
+ a: { type: String, required: false, default: "a" }
},
setup(__props: any, { expose: __expose }) {
__expose();
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
exports[`sfc reactive props destructure > aliasing 1`] = `
-"import { toDisplayString as _toDisplayString } from \\"vue\\"
+"import { toDisplayString as _toDisplayString } from "vue"
export default {
`;
exports[`sfc reactive props destructure > basic usage 1`] = `
-"import { toDisplayString as _toDisplayString } from \\"vue\\"
+"import { toDisplayString as _toDisplayString } from "vue"
export default {
`;
exports[`sfc reactive props destructure > computed static key 1`] = `
-"import { toDisplayString as _toDisplayString } from \\"vue\\"
+"import { toDisplayString as _toDisplayString } from "vue"
export default {
export default {
props: /*#__PURE__*/_mergeDefaults(['foo', 'foo:bar'], {
foo: 1,
- \\"foo:bar\\": 'foo-bar'
+ "foo:bar": 'foo-bar'
}),
setup(__props) {
props: {
foo: { type: Number, required: true, default: 1 },
bar: { type: Number, required: true, default: 2 },
- \\"foo:bar\\": { type: String, required: true, default: 'foo-bar' },
- \\"onUpdate:modelValue\\": { type: Function, required: true }
+ "foo:bar": { type: String, required: true, default: 'foo-bar' },
+ "onUpdate:modelValue": { type: Function, required: true }
},
setup(__props: any) {
`;
exports[`sfc reactive props destructure > multiple variable declarations 1`] = `
-"import { toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock } from \\"vue\\"
+"import { toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock } from "vue"
export default {
const bar = 'fish', hello = 'world'
return (_ctx, _cache) => {
- return (_openBlock(), _createElementBlock(\\"div\\", null, _toDisplayString(__props.foo) + \\" \\" + _toDisplayString(hello) + \\" \\" + _toDisplayString(bar), 1 /* TEXT */))
+ return (_openBlock(), _createElementBlock("div", null, _toDisplayString(__props.foo) + " " + _toDisplayString(hello) + " " + _toDisplayString(bar), 1 /* TEXT */))
}
}
`;
exports[`sfc reactive props destructure > non-identifier prop names 1`] = `
-"import { toDisplayString as _toDisplayString } from \\"vue\\"
+"import { toDisplayString as _toDisplayString } from "vue"
export default {
setup(__props) {
- let x = __props[\\"foo.bar\\"]
+ let x = __props["foo.bar"]
return (_ctx, _cache) => {
- return _toDisplayString(__props[\\"foo.bar\\"])
+ return _toDisplayString(__props["foo.bar"])
}
}
props: ['foo', 'bar', 'baz'],
setup(__props) {
- const rest = _createPropsRestProxy(__props, [\\"foo\\",\\"bar\\"])
+ const rest = _createPropsRestProxy(__props, ["foo","bar"])
return () => {}
}
expect(code).toMatchInlineSnapshot(`
".foo {
color: var(--test-color);
- font-size: var(--test-font\\\\.size);
+ font-size: var(--test-font\\.size);
font-weight: var(--test-_φ);
font-size: var(--test-1-字号);
describe('ssr: components', () => {
test('basic', () => {
expect(compile(`<foo id="a" :prop="b" />`).code).toMatchInlineSnapshot(`
- "const { resolveComponent: _resolveComponent, mergeProps: _mergeProps } = require(\\"vue\\")
- const { ssrRenderComponent: _ssrRenderComponent } = require(\\"vue/server-renderer\\")
+ "const { resolveComponent: _resolveComponent, mergeProps: _mergeProps } = require("vue")
+ const { ssrRenderComponent: _ssrRenderComponent } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
- const _component_foo = _resolveComponent(\\"foo\\")
+ const _component_foo = _resolveComponent("foo")
_push(_ssrRenderComponent(_component_foo, _mergeProps({
- id: \\"a\\",
+ id: "a",
prop: _ctx.b
}, _attrs), null, _parent))
}"
// event listeners should still be passed
test('event listeners', () => {
expect(compile(`<foo @click="bar" />`).code).toMatchInlineSnapshot(`
- "const { resolveComponent: _resolveComponent, mergeProps: _mergeProps } = require(\\"vue\\")
- const { ssrRenderComponent: _ssrRenderComponent } = require(\\"vue/server-renderer\\")
+ "const { resolveComponent: _resolveComponent, mergeProps: _mergeProps } = require("vue")
+ const { ssrRenderComponent: _ssrRenderComponent } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
- const _component_foo = _resolveComponent(\\"foo\\")
+ const _component_foo = _resolveComponent("foo")
_push(_ssrRenderComponent(_component_foo, _mergeProps({ onClick: _ctx.bar }, _attrs), null, _parent))
}"
test('dynamic component', () => {
expect(compile(`<component is="foo" prop="b" />`).code)
.toMatchInlineSnapshot(`
- "const { resolveDynamicComponent: _resolveDynamicComponent, mergeProps: _mergeProps, createVNode: _createVNode } = require(\\"vue\\")
- const { ssrRenderVNode: _ssrRenderVNode } = require(\\"vue/server-renderer\\")
+ "const { resolveDynamicComponent: _resolveDynamicComponent, mergeProps: _mergeProps, createVNode: _createVNode } = require("vue")
+ const { ssrRenderVNode: _ssrRenderVNode } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
- _ssrRenderVNode(_push, _createVNode(_resolveDynamicComponent(\\"foo\\"), _mergeProps({ prop: \\"b\\" }, _attrs), null), _parent)
+ _ssrRenderVNode(_push, _createVNode(_resolveDynamicComponent("foo"), _mergeProps({ prop: "b" }, _attrs), null), _parent)
}"
`)
expect(compile(`<component :is="foo" prop="b" />`).code)
.toMatchInlineSnapshot(`
- "const { resolveDynamicComponent: _resolveDynamicComponent, mergeProps: _mergeProps, createVNode: _createVNode } = require(\\"vue\\")
- const { ssrRenderVNode: _ssrRenderVNode } = require(\\"vue/server-renderer\\")
+ "const { resolveDynamicComponent: _resolveDynamicComponent, mergeProps: _mergeProps, createVNode: _createVNode } = require("vue")
+ const { ssrRenderVNode: _ssrRenderVNode } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
- _ssrRenderVNode(_push, _createVNode(_resolveDynamicComponent(_ctx.foo), _mergeProps({ prop: \\"b\\" }, _attrs), null), _parent)
+ _ssrRenderVNode(_push, _createVNode(_resolveDynamicComponent(_ctx.foo), _mergeProps({ prop: "b" }, _attrs), null), _parent)
}"
`)
})
describe('slots', () => {
test('implicit default slot', () => {
expect(compile(`<foo>hello<div/></foo>`).code).toMatchInlineSnapshot(`
- "const { resolveComponent: _resolveComponent, withCtx: _withCtx, createVNode: _createVNode, createTextVNode: _createTextVNode } = require(\\"vue\\")
- const { ssrRenderComponent: _ssrRenderComponent } = require(\\"vue/server-renderer\\")
+ "const { resolveComponent: _resolveComponent, withCtx: _withCtx, createVNode: _createVNode, createTextVNode: _createTextVNode } = require("vue")
+ const { ssrRenderComponent: _ssrRenderComponent } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
- const _component_foo = _resolveComponent(\\"foo\\")
+ const _component_foo = _resolveComponent("foo")
_push(_ssrRenderComponent(_component_foo, _attrs, {
default: _withCtx((_, _push, _parent, _scopeId) => {
_push(\`hello<div\${_scopeId}></div>\`)
} else {
return [
- _createTextVNode(\\"hello\\"),
- _createVNode(\\"div\\")
+ _createTextVNode("hello"),
+ _createVNode("div")
]
}
}),
test('explicit default slot', () => {
expect(compile(`<foo v-slot="{ msg }">{{ msg + outer }}</foo>`).code)
.toMatchInlineSnapshot(`
- "const { resolveComponent: _resolveComponent, withCtx: _withCtx, toDisplayString: _toDisplayString, createTextVNode: _createTextVNode } = require(\\"vue\\")
- const { ssrRenderComponent: _ssrRenderComponent, ssrInterpolate: _ssrInterpolate } = require(\\"vue/server-renderer\\")
+ "const { resolveComponent: _resolveComponent, withCtx: _withCtx, toDisplayString: _toDisplayString, createTextVNode: _createTextVNode } = require("vue")
+ const { ssrRenderComponent: _ssrRenderComponent, ssrInterpolate: _ssrInterpolate } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
- const _component_foo = _resolveComponent(\\"foo\\")
+ const _component_foo = _resolveComponent("foo")
_push(_ssrRenderComponent(_component_foo, _attrs, {
default: _withCtx(({ msg }, _push, _parent, _scopeId) => {
<template v-slot:named>bar</template>
</foo>`).code
).toMatchInlineSnapshot(`
- "const { resolveComponent: _resolveComponent, withCtx: _withCtx, createTextVNode: _createTextVNode } = require(\\"vue\\")
- const { ssrRenderComponent: _ssrRenderComponent } = require(\\"vue/server-renderer\\")
+ "const { resolveComponent: _resolveComponent, withCtx: _withCtx, createTextVNode: _createTextVNode } = require("vue")
+ const { ssrRenderComponent: _ssrRenderComponent } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
- const _component_foo = _resolveComponent(\\"foo\\")
+ const _component_foo = _resolveComponent("foo")
_push(_ssrRenderComponent(_component_foo, _attrs, {
default: _withCtx((_, _push, _parent, _scopeId) => {
_push(\`foo\`)
} else {
return [
- _createTextVNode(\\"foo\\")
+ _createTextVNode("foo")
]
}
}),
_push(\`bar\`)
} else {
return [
- _createTextVNode(\\"bar\\")
+ _createTextVNode("bar")
]
}
}),
<template v-slot:named v-if="ok">foo</template>
</foo>`).code
).toMatchInlineSnapshot(`
- "const { resolveComponent: _resolveComponent, withCtx: _withCtx, createTextVNode: _createTextVNode, createSlots: _createSlots } = require(\\"vue\\")
- const { ssrRenderComponent: _ssrRenderComponent } = require(\\"vue/server-renderer\\")
+ "const { resolveComponent: _resolveComponent, withCtx: _withCtx, createTextVNode: _createTextVNode, createSlots: _createSlots } = require("vue")
+ const { ssrRenderComponent: _ssrRenderComponent } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
- const _component_foo = _resolveComponent(\\"foo\\")
+ const _component_foo = _resolveComponent("foo")
_push(_ssrRenderComponent(_component_foo, _attrs, _createSlots({ _: 2 /* DYNAMIC */ }, [
(_ctx.ok)
? {
- name: \\"named\\",
+ name: "named",
fn: _withCtx((_, _push, _parent, _scopeId) => {
if (_push) {
_push(\`foo\`)
} else {
return [
- _createTextVNode(\\"foo\\")
+ _createTextVNode("foo")
]
}
}),
- key: \\"0\\"
+ key: "0"
}
: undefined
]), _parent))
expect(code).not.toMatch(`_ctx.index`)
expect(code).toMatch(`_ctx.bar`)
expect(code).toMatchInlineSnapshot(`
- "const { resolveComponent: _resolveComponent, withCtx: _withCtx, toDisplayString: _toDisplayString, createTextVNode: _createTextVNode, renderList: _renderList, createSlots: _createSlots } = require(\\"vue\\")
- const { ssrRenderComponent: _ssrRenderComponent, ssrInterpolate: _ssrInterpolate } = require(\\"vue/server-renderer\\")
+ "const { resolveComponent: _resolveComponent, withCtx: _withCtx, toDisplayString: _toDisplayString, createTextVNode: _createTextVNode, renderList: _renderList, createSlots: _createSlots } = require("vue")
+ const { ssrRenderComponent: _ssrRenderComponent, ssrInterpolate: _ssrInterpolate } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
- const _component_foo = _resolveComponent(\\"foo\\")
+ const _component_foo = _resolveComponent("foo")
_push(_ssrRenderComponent(_component_foo, _attrs, _createSlots({ _: 2 /* DYNAMIC */ }, [
_renderList(_ctx.names, (key, index) => {
</template>
</foo>`).code
).toMatchInlineSnapshot(`
- "const { resolveComponent: _resolveComponent, withCtx: _withCtx, renderList: _renderList, Fragment: _Fragment, openBlock: _openBlock, createBlock: _createBlock, createCommentVNode: _createCommentVNode } = require(\\"vue\\")
- const { ssrRenderComponent: _ssrRenderComponent, ssrRenderList: _ssrRenderList } = require(\\"vue/server-renderer\\")
+ "const { resolveComponent: _resolveComponent, withCtx: _withCtx, renderList: _renderList, Fragment: _Fragment, openBlock: _openBlock, createBlock: _createBlock, createCommentVNode: _createCommentVNode } = require("vue")
+ const { ssrRenderComponent: _ssrRenderComponent, ssrRenderList: _ssrRenderList } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
- const _component_foo = _resolveComponent(\\"foo\\")
+ const _component_foo = _resolveComponent("foo")
_push(_ssrRenderComponent(_component_foo, _attrs, {
foo: _withCtx(({ list }, _push, _parent, _scopeId) => {
} else {
return [
(_ctx.ok)
- ? (_openBlock(), _createBlock(\\"div\\", { key: 0 }, [
+ ? (_openBlock(), _createBlock("div", { key: 0 }, [
(_openBlock(true), _createBlock(_Fragment, null, _renderList(list, (i) => {
- return (_openBlock(), _createBlock(\\"span\\"))
+ return (_openBlock(), _createBlock("span"))
}), 256 /* UNKEYED_FRAGMENT */))
]))
- : _createCommentVNode(\\"v-if\\", true)
+ : _createCommentVNode("v-if", true)
]
}
}),
} else {
return [
ok
- ? (_openBlock(), _createBlock(\\"div\\", { key: 0 }, [
+ ? (_openBlock(), _createBlock("div", { key: 0 }, [
(_openBlock(true), _createBlock(_Fragment, null, _renderList(_ctx.list, (i) => {
- return (_openBlock(), _createBlock(\\"span\\"))
+ return (_openBlock(), _createBlock("span"))
}), 256 /* UNKEYED_FRAGMENT */))
]))
- : _createCommentVNode(\\"v-if\\", true)
+ : _createCommentVNode("v-if", true)
]
}
}),
const { code } = compile(`<foo><bar v-once /></foo>`)
expect(code).not.toMatch(`_cache`)
expect(compile(`<foo><bar v-once /></foo>`).code).toMatchInlineSnapshot(`
- "const { resolveComponent: _resolveComponent, withCtx: _withCtx, createVNode: _createVNode } = require(\\"vue\\")
- const { ssrRenderComponent: _ssrRenderComponent } = require(\\"vue/server-renderer\\")
+ "const { resolveComponent: _resolveComponent, withCtx: _withCtx, createVNode: _createVNode } = require("vue")
+ const { ssrRenderComponent: _ssrRenderComponent } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
- const _component_foo = _resolveComponent(\\"foo\\")
- const _component_bar = _resolveComponent(\\"bar\\")
+ const _component_foo = _resolveComponent("foo")
+ const _component_bar = _resolveComponent("bar")
_push(_ssrRenderComponent(_component_foo, _attrs, {
default: _withCtx((_, _push, _parent, _scopeId) => {
test('transition', () => {
expect(compile(`<transition><div/></transition>`).code)
.toMatchInlineSnapshot(`
- "const { ssrRenderAttrs: _ssrRenderAttrs } = require(\\"vue/server-renderer\\")
+ "const { ssrRenderAttrs: _ssrRenderAttrs } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
_push(\`<div\${_ssrRenderAttrs(_attrs)}></div>\`)
test('keep-alive', () => {
expect(compile(`<keep-alive><foo/></keep-alive>`).code)
.toMatchInlineSnapshot(`
- "const { resolveComponent: _resolveComponent } = require(\\"vue\\")
- const { ssrRenderComponent: _ssrRenderComponent } = require(\\"vue/server-renderer\\")
+ "const { resolveComponent: _resolveComponent } = require("vue")
+ const { ssrRenderComponent: _ssrRenderComponent } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
- const _component_foo = _resolveComponent(\\"foo\\")
+ const _component_foo = _resolveComponent("foo")
_push(_ssrRenderComponent(_component_foo, _attrs, null, _parent))
}"
compile(`<foo><transition><div v-if="false"/></transition></foo>`)
.code
).toMatchInlineSnapshot(`
- "const { resolveComponent: _resolveComponent, withCtx: _withCtx, openBlock: _openBlock, createBlock: _createBlock, createCommentVNode: _createCommentVNode, Transition: _Transition, createVNode: _createVNode } = require(\\"vue\\")
- const { ssrRenderComponent: _ssrRenderComponent } = require(\\"vue/server-renderer\\")
+ "const { resolveComponent: _resolveComponent, withCtx: _withCtx, openBlock: _openBlock, createBlock: _createBlock, createCommentVNode: _createCommentVNode, Transition: _Transition, createVNode: _createVNode } = require("vue")
+ const { ssrRenderComponent: _ssrRenderComponent } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
- const _component_foo = _resolveComponent(\\"foo\\")
+ const _component_foo = _resolveComponent("foo")
_push(_ssrRenderComponent(_component_foo, _attrs, {
default: _withCtx((_, _push, _parent, _scopeId) => {
_createVNode(_Transition, null, {
default: _withCtx(() => [
false
- ? (_openBlock(), _createBlock(\\"div\\", { key: 0 }))
- : _createCommentVNode(\\"v-if\\", true)
+ ? (_openBlock(), _createBlock("div", { key: 0 }))
+ : _createCommentVNode("v-if", true)
]),
_: 1 /* STABLE */
})
describe('custom directive', () => {
test('basic', () => {
expect(compile(`<foo v-xxx:x.y="z" />`).code).toMatchInlineSnapshot(`
- "const { resolveComponent: _resolveComponent, resolveDirective: _resolveDirective, mergeProps: _mergeProps } = require(\\"vue\\")
- const { ssrGetDirectiveProps: _ssrGetDirectiveProps, ssrRenderComponent: _ssrRenderComponent } = require(\\"vue/server-renderer\\")
+ "const { resolveComponent: _resolveComponent, resolveDirective: _resolveDirective, mergeProps: _mergeProps } = require("vue")
+ const { ssrGetDirectiveProps: _ssrGetDirectiveProps, ssrRenderComponent: _ssrRenderComponent } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
- const _component_foo = _resolveComponent(\\"foo\\")
- const _directive_xxx = _resolveDirective(\\"xxx\\")
+ const _component_foo = _resolveComponent("foo")
+ const _directive_xxx = _resolveDirective("xxx")
- _push(_ssrRenderComponent(_component_foo, _mergeProps(_attrs, _ssrGetDirectiveProps(_ctx, _directive_xxx, _ctx.z, \\"x\\", { y: true })), null, _parent))
+ _push(_ssrRenderComponent(_component_foo, _mergeProps(_attrs, _ssrGetDirectiveProps(_ctx, _directive_xxx, _ctx.z, "x", { y: true })), null, _parent))
}"
`)
})
test('<textarea> with dynamic v-bind', () => {
expect(compile(`<textarea v-bind="obj">fallback</textarea>`).code)
.toMatchInlineSnapshot(`
- "const { mergeProps: _mergeProps } = require(\\"vue\\")
- const { ssrRenderAttrs: _ssrRenderAttrs, ssrInterpolate: _ssrInterpolate } = require(\\"vue/server-renderer\\")
+ "const { mergeProps: _mergeProps } = require("vue")
+ const { ssrRenderAttrs: _ssrRenderAttrs, ssrInterpolate: _ssrInterpolate } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
let _temp0
_push(\`<textarea\${
- _ssrRenderAttrs(_temp0 = _mergeProps(_ctx.obj, _attrs), \\"textarea\\")
+ _ssrRenderAttrs(_temp0 = _mergeProps(_ctx.obj, _attrs), "textarea")
}>\${
- _ssrInterpolate((\\"value\\" in _temp0) ? _temp0.value : \\"fallback\\")
+ _ssrInterpolate(("value" in _temp0) ? _temp0.value : "fallback")
}</textarea>\`)
}"
`)
expect(
compile(`<div>{{ hello }}<textarea v-bind="a"></textarea></div>`).code
).toMatchInlineSnapshot(`
- "const { ssrRenderAttrs: _ssrRenderAttrs, ssrInterpolate: _ssrInterpolate } = require(\\"vue/server-renderer\\")
+ "const { ssrRenderAttrs: _ssrRenderAttrs, ssrInterpolate: _ssrInterpolate } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
let _temp0
}>\${
_ssrInterpolate(_ctx.hello)
}<textarea\${
- _ssrRenderAttrs(_temp0 = _ctx.a, \\"textarea\\")
+ _ssrRenderAttrs(_temp0 = _ctx.a, "textarea")
}>\${
- _ssrInterpolate((\\"value\\" in _temp0) ? _temp0.value : \\"\\")
+ _ssrInterpolate(("value" in _temp0) ? _temp0.value : "")
}</textarea></div>\`)
}"
`)
isCustomElement: () => true
}).code
).toMatchInlineSnapshot(`
- "const { mergeProps: _mergeProps } = require(\\"vue\\")
- const { ssrRenderAttrs: _ssrRenderAttrs } = require(\\"vue/server-renderer\\")
+ "const { mergeProps: _mergeProps } = require("vue")
+ const { ssrRenderAttrs: _ssrRenderAttrs } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
- _push(\`<my-foo\${_ssrRenderAttrs(_mergeProps(_ctx.obj, _attrs), \\"my-foo\\")}></my-foo>\`)
+ _push(\`<my-foo\${_ssrRenderAttrs(_mergeProps(_ctx.obj, _attrs), "my-foo")}></my-foo>\`)
}"
`)
})
test('static attrs', () => {
expect(
getCompiledString(`<div id="foo" class="bar"></div>`)
- ).toMatchInlineSnapshot('"`<div id=\\"foo\\" class=\\"bar\\"></div>`"')
+ ).toMatchInlineSnapshot(`"\`<div id="foo" class="bar"></div>\`"`)
})
test('ignore static key/ref', () => {
test('v-bind:class', () => {
expect(getCompiledString(`<div id="foo" :class="bar"></div>`))
.toMatchInlineSnapshot(`
- "\`<div id=\\"foo\\" class=\\"\${
+ "\`<div id="foo" class="\${
_ssrRenderClass(_ctx.bar)
- }\\"></div>\`"
+ }"></div>\`"
`)
})
test('static class + v-bind:class', () => {
expect(getCompiledString(`<div class="foo" :class="bar"></div>`))
.toMatchInlineSnapshot(`
- "\`<div class=\\"\${
- _ssrRenderClass([_ctx.bar, \\"foo\\"])
- }\\"></div>\`"
+ "\`<div class="\${
+ _ssrRenderClass([_ctx.bar, "foo"])
+ }"></div>\`"
`)
})
test('v-bind:class + static class', () => {
expect(getCompiledString(`<div :class="bar" class="foo"></div>`))
.toMatchInlineSnapshot(`
- "\`<div class=\\"\${
- _ssrRenderClass([_ctx.bar, \\"foo\\"])
- }\\"></div>\`"
+ "\`<div class="\${
+ _ssrRenderClass([_ctx.bar, "foo"])
+ }"></div>\`"
`)
})
test('v-bind:style', () => {
expect(getCompiledString(`<div id="foo" :style="bar"></div>`))
.toMatchInlineSnapshot(`
- "\`<div id=\\"foo\\" style=\\"\${
+ "\`<div id="foo" style="\${
_ssrRenderStyle(_ctx.bar)
- }\\"></div>\`"
+ }"></div>\`"
`)
})
test('static style + v-bind:style', () => {
expect(getCompiledString(`<div style="color:red;" :style="bar"></div>`))
.toMatchInlineSnapshot(`
- "\`<div style=\\"\${
- _ssrRenderStyle([{\\"color\\":\\"red\\"}, _ctx.bar])
- }\\"></div>\`"
+ "\`<div style="\${
+ _ssrRenderStyle([{"color":"red"}, _ctx.bar])
+ }"></div>\`"
`)
})
test('v-bind:arg (boolean)', () => {
expect(getCompiledString(`<input type="checkbox" :checked="checked">`))
.toMatchInlineSnapshot(`
- "\`<input type=\\"checkbox\\"\${
- (_ssrIncludeBooleanAttr(_ctx.checked)) ? \\" checked\\" : \\"\\"
+ "\`<input type="checkbox"\${
+ (_ssrIncludeBooleanAttr(_ctx.checked)) ? " checked" : ""
}>\`"
`)
})
expect(getCompiledString(`<div :id="id" class="bar"></div>`))
.toMatchInlineSnapshot(`
"\`<div\${
- _ssrRenderAttr(\\"id\\", _ctx.id)
- } class=\\"bar\\"></div>\`"
+ _ssrRenderAttr("id", _ctx.id)
+ } class="bar"></div>\`"
`)
})
expect(getCompiledString(`<div v-bind:[key]="value"></div>`))
.toMatchInlineSnapshot(`
"\`<div\${
- _ssrRenderAttrs({ [_ctx.key || \\"\\"]: _ctx.value })
+ _ssrRenderAttrs({ [_ctx.key || ""]: _ctx.value })
}></div>\`"
`)
.toMatchInlineSnapshot(`
"\`<div\${
_ssrRenderAttrs({
- class: \\"foo\\",
- [_ctx.key || \\"\\"]: _ctx.value
+ class: "foo",
+ [_ctx.key || ""]: _ctx.value
})
}></div>\`"
`)
"\`<div\${
_ssrRenderAttrs({
id: _ctx.id,
- [_ctx.key || \\"\\"]: _ctx.value
+ [_ctx.key || ""]: _ctx.value
})
}></div>\`"
`)
expect(getCompiledString(`<div class="foo" v-bind="obj"></div>`))
.toMatchInlineSnapshot(`
"\`<div\${
- _ssrRenderAttrs(_mergeProps({ class: \\"foo\\" }, _ctx.obj))
+ _ssrRenderAttrs(_mergeProps({ class: "foo" }, _ctx.obj))
}></div>\`"
`)
expect(getCompiledString(`<div :[key]="id" v-bind="obj"></div>`))
.toMatchInlineSnapshot(`
"\`<div\${
- _ssrRenderAttrs(_mergeProps({ [_ctx.key || \\"\\"]: _ctx.id }, _ctx.obj))
+ _ssrRenderAttrs(_mergeProps({ [_ctx.key || ""]: _ctx.id }, _ctx.obj))
}></div>\`"
`)
.toMatchInlineSnapshot(`
"\`<div\${
_ssrRenderAttrs(_mergeProps({
- class: [\\"a\\", _ctx.b]
+ class: ["a", _ctx.b]
}, _ctx.obj))
}></div>\`"
`)
).toMatchInlineSnapshot(`
"\`<div\${
_ssrRenderAttrs(_mergeProps({
- style: [{\\"color\\":\\"red\\"}, _ctx.b]
+ style: [{"color":"red"}, _ctx.b]
}, _ctx.obj))
}></div>\`"
`)
test('should ignore v-on', () => {
expect(
getCompiledString(`<div id="foo" @click="bar"/>`)
- ).toMatchInlineSnapshot('"`<div id=\\"foo\\"></div>`"')
+ ).toMatchInlineSnapshot(`"\`<div id="foo"></div>\`"`)
expect(
getCompiledString(`<div id="foo" v-on="bar"/>`)
- ).toMatchInlineSnapshot('"`<div id=\\"foo\\"></div>`"')
+ ).toMatchInlineSnapshot(`"\`<div id="foo"></div>\`"`)
expect(getCompiledString(`<div v-bind="foo" v-on="bar"/>`))
.toMatchInlineSnapshot(`
"\`<div\${
test('custom dir', () => {
expect(getCompiledString(`<div v-xxx:x.y="z" />`)).toMatchInlineSnapshot(`
"\`<div\${
- _ssrRenderAttrs(_ssrGetDirectiveProps(_ctx, _directive_xxx, _ctx.z, \\"x\\", { y: true }))
+ _ssrRenderAttrs(_ssrGetDirectiveProps(_ctx, _directive_xxx, _ctx.z, "x", { y: true }))
}></div>\`"
`)
})
expect(getCompiledString(`<div class="foo" v-xxx />`))
.toMatchInlineSnapshot(`
"\`<div\${
- _ssrRenderAttrs(_mergeProps({ class: \\"foo\\" }, _ssrGetDirectiveProps(_ctx, _directive_xxx)))
+ _ssrRenderAttrs(_mergeProps({ class: "foo" }, _ssrGetDirectiveProps(_ctx, _directive_xxx)))
}></div>\`"
`)
})
).toMatchInlineSnapshot(`
"\`<div\${
_ssrRenderAttrs(_mergeProps(_ctx.x, {
- class: \\"foo\\",
- title: \\"bar\\"
+ class: "foo",
+ title: "bar"
}, _ssrGetDirectiveProps(_ctx, _directive_xxx)))
}></div>\`"
`)
describe('ssr: attrs fallthrough', () => {
test('basic', () => {
expect(compile(`<div/>`).code).toMatchInlineSnapshot(`
- "const { ssrRenderAttrs: _ssrRenderAttrs } = require(\\"vue/server-renderer\\")
+ "const { ssrRenderAttrs: _ssrRenderAttrs } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
_push(\`<div\${_ssrRenderAttrs(_attrs)}></div>\`)
test('with comments', () => {
expect(compile(`<!--!--><div/>`).code).toMatchInlineSnapshot(`
- "const { ssrRenderAttrs: _ssrRenderAttrs } = require(\\"vue/server-renderer\\")
+ "const { ssrRenderAttrs: _ssrRenderAttrs } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
_push(\`<!--[--><!--!--><div\${_ssrRenderAttrs(_attrs)}></div><!--]-->\`)
test('fallthrough component content (root with comments)', () => {
expect(compile(`<!--root--><transition><div/></transition>`).code)
.toMatchInlineSnapshot(`
- "const { ssrRenderAttrs: _ssrRenderAttrs } = require(\\"vue/server-renderer\\")
+ "const { ssrRenderAttrs: _ssrRenderAttrs } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
_push(\`<!--[--><!--root--><div\${_ssrRenderAttrs(_attrs)}></div><!--]-->\`)
ssrCssVars: `{ color }`
}).code
).toMatchInlineSnapshot(`
- "const { mergeProps: _mergeProps } = require(\\"vue\\")
- const { ssrRenderAttrs: _ssrRenderAttrs } = require(\\"vue/server-renderer\\")
+ "const { mergeProps: _mergeProps } = require("vue")
+ const { ssrRenderAttrs: _ssrRenderAttrs } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
const _cssVars = { style: { color: _ctx.color }}
ssrCssVars: `{ color }`
}).code
).toMatchInlineSnapshot(`
- "const { ssrRenderAttrs: _ssrRenderAttrs } = require(\\"vue/server-renderer\\")
+ "const { ssrRenderAttrs: _ssrRenderAttrs } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
const _cssVars = { style: { color: _ctx.color }}
ssrCssVars: `{ color }`
}).code
).toMatchInlineSnapshot(`
- "const { resolveComponent: _resolveComponent } = require(\\"vue\\")
- const { ssrRenderAttrs: _ssrRenderAttrs, ssrRenderComponent: _ssrRenderComponent } = require(\\"vue/server-renderer\\")
+ "const { resolveComponent: _resolveComponent } = require("vue")
+ const { ssrRenderAttrs: _ssrRenderAttrs, ssrRenderComponent: _ssrRenderComponent } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
- const _component_foo = _resolveComponent(\\"foo\\")
+ const _component_foo = _resolveComponent("foo")
const _cssVars = { style: { color: _ctx.color }}
_push(\`<!--[--><div\${_ssrRenderAttrs(_cssVars)}></div>\`)
ssrCssVars: `{ color }`
}).code
).toMatchInlineSnapshot(`
- "const { mergeProps: _mergeProps } = require(\\"vue\\")
- const { ssrRenderAttrs: _ssrRenderAttrs } = require(\\"vue/server-renderer\\")
+ "const { mergeProps: _mergeProps } = require("vue")
+ const { ssrRenderAttrs: _ssrRenderAttrs } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
const _cssVars = { style: { color: _ctx.color }}
}
).code
).toMatchInlineSnapshot(`
- "const { withCtx: _withCtx } = require(\\"vue\\")
- const { ssrRenderAttrs: _ssrRenderAttrs, ssrRenderSuspense: _ssrRenderSuspense } = require(\\"vue/server-renderer\\")
+ "const { withCtx: _withCtx } = require("vue")
+ const { ssrRenderAttrs: _ssrRenderAttrs, ssrRenderSuspense: _ssrRenderSuspense } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
const _cssVars = { style: { color: _ctx.color }}
expect(result.code).toMatchInlineSnapshot(`
"(_ctx, _push, _parent, _attrs) => {
- const _cssVars = { style: { \\"--hash\\": (_unref(dynamic)) }}
+ const _cssVars = { style: { "--hash": (_unref(dynamic)) }}
_push(\`<div\${_ssrRenderAttrs(_mergeProps(_attrs, _cssVars))}></div>\`)
}"
`)
test('should work', () => {
expect(compile(`<teleport :to="target"><div/></teleport>`).code)
.toMatchInlineSnapshot(`
- "const { ssrRenderTeleport: _ssrRenderTeleport } = require(\\"vue/server-renderer\\")
+ "const { ssrRenderTeleport: _ssrRenderTeleport } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
_ssrRenderTeleport(_push, (_push) => {
test('disabled prop handling', () => {
expect(compile(`<teleport :to="target" disabled><div/></teleport>`).code)
.toMatchInlineSnapshot(`
- "const { ssrRenderTeleport: _ssrRenderTeleport } = require(\\"vue/server-renderer\\")
+ "const { ssrRenderTeleport: _ssrRenderTeleport } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
_ssrRenderTeleport(_push, (_push) => {
expect(
compile(`<teleport :to="target" :disabled="foo"><div/></teleport>`).code
).toMatchInlineSnapshot(`
- "const { ssrRenderTeleport: _ssrRenderTeleport } = require(\\"vue/server-renderer\\")
+ "const { ssrRenderTeleport: _ssrRenderTeleport } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
_ssrRenderTeleport(_push, (_push) => {
mode: 'module'
}).code
).toMatchInlineSnapshot(`
- "import { ssrRenderAttrs as _ssrRenderAttrs } from \\"vue/server-renderer\\"
+ "import { ssrRenderAttrs as _ssrRenderAttrs } from "vue/server-renderer"
export function ssrRender(_ctx, _push, _parent, _attrs) {
_push(\`<div\${_ssrRenderAttrs(_attrs)} data-v-xxxxxxx><span data-v-xxxxxxx>hello</span></div>\`)
mode: 'module'
}).code
).toMatchInlineSnapshot(`
- "import { resolveComponent as _resolveComponent, withCtx as _withCtx, createTextVNode as _createTextVNode } from \\"vue\\"
- import { ssrRenderComponent as _ssrRenderComponent } from \\"vue/server-renderer\\"
+ "import { resolveComponent as _resolveComponent, withCtx as _withCtx, createTextVNode as _createTextVNode } from "vue"
+ import { ssrRenderComponent as _ssrRenderComponent } from "vue/server-renderer"
export function ssrRender(_ctx, _push, _parent, _attrs) {
- const _component_foo = _resolveComponent(\\"foo\\")
+ const _component_foo = _resolveComponent("foo")
_push(_ssrRenderComponent(_component_foo, _attrs, {
default: _withCtx((_, _push, _parent, _scopeId) => {
_push(\`foo\`)
} else {
return [
- _createTextVNode(\\"foo\\")
+ _createTextVNode("foo")
]
}
}),
mode: 'module'
}).code
).toMatchInlineSnapshot(`
- "import { resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode } from \\"vue\\"
- import { ssrRenderComponent as _ssrRenderComponent } from \\"vue/server-renderer\\"
+ "import { resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode } from "vue"
+ import { ssrRenderComponent as _ssrRenderComponent } from "vue/server-renderer"
export function ssrRender(_ctx, _push, _parent, _attrs) {
- const _component_foo = _resolveComponent(\\"foo\\")
+ const _component_foo = _resolveComponent("foo")
_push(_ssrRenderComponent(_component_foo, _attrs, {
default: _withCtx((_, _push, _parent, _scopeId) => {
_push(\`<span data-v-xxxxxxx\${_scopeId}>hello</span>\`)
} else {
return [
- _createVNode(\\"span\\", null, \\"hello\\")
+ _createVNode("span", null, "hello")
]
}
}),
mode: 'module'
}).code
).toMatchInlineSnapshot(`
- "import { resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode } from \\"vue\\"
- import { ssrRenderComponent as _ssrRenderComponent } from \\"vue/server-renderer\\"
+ "import { resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode } from "vue"
+ import { ssrRenderComponent as _ssrRenderComponent } from "vue/server-renderer"
export function ssrRender(_ctx, _push, _parent, _attrs) {
- const _component_foo = _resolveComponent(\\"foo\\")
- const _component_bar = _resolveComponent(\\"bar\\")
+ const _component_foo = _resolveComponent("foo")
+ const _component_bar = _resolveComponent("bar")
_push(_ssrRenderComponent(_component_foo, _attrs, {
default: _withCtx((_, _push, _parent, _scopeId) => {
_push(\`<span data-v-xxxxxxx\${_scopeId}></span>\`)
} else {
return [
- _createVNode(\\"span\\")
+ _createVNode("span")
]
}
}),
}, _parent, _scopeId))
} else {
return [
- _createVNode(\\"span\\", null, \\"hello\\"),
+ _createVNode("span", null, "hello"),
_createVNode(_component_bar, null, {
default: _withCtx(() => [
- _createVNode(\\"span\\")
+ _createVNode("span")
]),
_: 1 /* STABLE */
})
}
).code
).toMatchInlineSnapshot(`
- "import { mergeProps as _mergeProps } from \\"vue\\"
- import { ssrRenderAttrs as _ssrRenderAttrs } from \\"vue/server-renderer\\"
+ "import { mergeProps as _mergeProps } from "vue"
+ import { ssrRenderAttrs as _ssrRenderAttrs } from "vue/server-renderer"
export function ssrRender(_ctx, _push, _parent, _attrs) {
- _push(\`<div\${_ssrRenderAttrs(_mergeProps({ class: \\"red\\" }, _attrs))} data-v-xxxxxxx><span data-v-xxxxxxx>hello</span></div>\`)
+ _push(\`<div\${_ssrRenderAttrs(_mergeProps({ class: "red" }, _attrs))} data-v-xxxxxxx><span data-v-xxxxxxx>hello</span></div>\`)
}"
`)
}
).code
).toMatchInlineSnapshot(`
- "import { mergeProps as _mergeProps } from \\"vue\\"
- import { ssrRenderAttrs as _ssrRenderAttrs } from \\"vue/server-renderer\\"
+ "import { mergeProps as _mergeProps } from "vue"
+ import { ssrRenderAttrs as _ssrRenderAttrs } from "vue/server-renderer"
export function ssrRender(_ctx, _push, _parent, _attrs) {
_push(\`<\${
_ctx.someTag
}\${
- _ssrRenderAttrs(_mergeProps({ class: \\"red\\" }, _attrs))
+ _ssrRenderAttrs(_mergeProps({ class: "red" }, _attrs))
} data-v-xxxxxxx><span data-v-xxxxxxx>hello</span></\${
_ctx.someTag
}>\`)
describe('ssr: <slot>', () => {
test('basic', () => {
expect(compile(`<slot/>`).code).toMatchInlineSnapshot(`
- "const { ssrRenderSlot: _ssrRenderSlot } = require(\\"vue/server-renderer\\")
+ "const { ssrRenderSlot: _ssrRenderSlot } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
- _ssrRenderSlot(_ctx.$slots, \\"default\\", {}, null, _push, _parent)
+ _ssrRenderSlot(_ctx.$slots, "default", {}, null, _push, _parent)
}"
`)
})
test('with name', () => {
expect(compile(`<slot name="foo" />`).code).toMatchInlineSnapshot(`
- "const { ssrRenderSlot: _ssrRenderSlot } = require(\\"vue/server-renderer\\")
+ "const { ssrRenderSlot: _ssrRenderSlot } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
- _ssrRenderSlot(_ctx.$slots, \\"foo\\", {}, null, _push, _parent)
+ _ssrRenderSlot(_ctx.$slots, "foo", {}, null, _push, _parent)
}"
`)
})
test('with dynamic name', () => {
expect(compile(`<slot :name="bar.baz" />`).code).toMatchInlineSnapshot(`
- "const { ssrRenderSlot: _ssrRenderSlot } = require(\\"vue/server-renderer\\")
+ "const { ssrRenderSlot: _ssrRenderSlot } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
_ssrRenderSlot(_ctx.$slots, _ctx.bar.baz, {}, null, _push, _parent)
test('with props', () => {
expect(compile(`<slot name="foo" :p="1" bar="2" />`).code)
.toMatchInlineSnapshot(`
- "const { ssrRenderSlot: _ssrRenderSlot } = require(\\"vue/server-renderer\\")
+ "const { ssrRenderSlot: _ssrRenderSlot } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
- _ssrRenderSlot(_ctx.$slots, \\"foo\\", {
+ _ssrRenderSlot(_ctx.$slots, "foo", {
p: 1,
- bar: \\"2\\"
+ bar: "2"
}, null, _push, _parent)
}"
`)
test('with fallback', () => {
expect(compile(`<slot>some {{ fallback }} content</slot>`).code)
.toMatchInlineSnapshot(`
- "const { ssrRenderSlot: _ssrRenderSlot, ssrInterpolate: _ssrInterpolate } = require(\\"vue/server-renderer\\")
+ "const { ssrRenderSlot: _ssrRenderSlot, ssrInterpolate: _ssrInterpolate } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
- _ssrRenderSlot(_ctx.$slots, \\"default\\", {}, () => {
+ _ssrRenderSlot(_ctx.$slots, "default", {}, () => {
_push(\`some \${_ssrInterpolate(_ctx.fallback)} content\`)
}, _push, _parent)
}"
scopeId: 'hello'
}).code
).toMatchInlineSnapshot(`
- "const { ssrRenderSlot: _ssrRenderSlot } = require(\\"vue/server-renderer\\")
+ "const { ssrRenderSlot: _ssrRenderSlot } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
- _ssrRenderSlot(_ctx.$slots, \\"default\\", {}, null, _push, _parent, \\"hello-s\\")
+ _ssrRenderSlot(_ctx.$slots, "default", {}, null, _push, _parent, "hello-s")
}"
`)
})
slotted: false
}).code
).toMatchInlineSnapshot(`
- "const { ssrRenderSlot: _ssrRenderSlot } = require(\\"vue/server-renderer\\")
+ "const { ssrRenderSlot: _ssrRenderSlot } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
- _ssrRenderSlot(_ctx.$slots, \\"default\\", {}, null, _push, _parent)
+ _ssrRenderSlot(_ctx.$slots, "default", {}, null, _push, _parent)
}"
`)
})
scopeId: 'hello'
}).code
).toMatchInlineSnapshot(`
- "const { resolveComponent: _resolveComponent, withCtx: _withCtx, renderSlot: _renderSlot } = require(\\"vue\\")
- const { ssrRenderSlot: _ssrRenderSlot, ssrRenderComponent: _ssrRenderComponent } = require(\\"vue/server-renderer\\")
+ "const { resolveComponent: _resolveComponent, withCtx: _withCtx, renderSlot: _renderSlot } = require("vue")
+ const { ssrRenderSlot: _ssrRenderSlot, ssrRenderComponent: _ssrRenderComponent } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
- const _component_Comp = _resolveComponent(\\"Comp\\")
+ const _component_Comp = _resolveComponent("Comp")
_push(_ssrRenderComponent(_component_Comp, _attrs, {
default: _withCtx((_, _push, _parent, _scopeId) => {
if (_push) {
- _ssrRenderSlot(_ctx.$slots, \\"default\\", {}, null, _push, _parent, \\"hello-s\\" + _scopeId)
+ _ssrRenderSlot(_ctx.$slots, "default", {}, null, _push, _parent, "hello-s" + _scopeId)
} else {
return [
- _renderSlot(_ctx.$slots, \\"default\\")
+ _renderSlot(_ctx.$slots, "default")
]
}
}),
const { code } = compile(`<transition><slot/></transition>`)
expect(code).toMatch(ssrHelpers[SSR_RENDER_SLOT_INNER])
expect(code).toMatchInlineSnapshot(`
- "const { ssrRenderSlotInner: _ssrRenderSlotInner } = require(\\"vue/server-renderer\\")
+ "const { ssrRenderSlotInner: _ssrRenderSlotInner } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
- _ssrRenderSlotInner(_ctx.$slots, \\"default\\", {}, null, _push, _parent, null, true)
+ _ssrRenderSlotInner(_ctx.$slots, "default", {}, null, _push, _parent, null, true)
}"
`)
})
describe('ssr compile: suspense', () => {
test('implicit default', () => {
expect(compile(`<suspense><foo/></suspense>`).code).toMatchInlineSnapshot(`
- "const { resolveComponent: _resolveComponent, withCtx: _withCtx } = require(\\"vue\\")
- const { ssrRenderComponent: _ssrRenderComponent, ssrRenderSuspense: _ssrRenderSuspense } = require(\\"vue/server-renderer\\")
+ "const { resolveComponent: _resolveComponent, withCtx: _withCtx } = require("vue")
+ const { ssrRenderComponent: _ssrRenderComponent, ssrRenderSuspense: _ssrRenderSuspense } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
- const _component_foo = _resolveComponent(\\"foo\\")
+ const _component_foo = _resolveComponent("foo")
_ssrRenderSuspense(_push, {
default: () => {
</template>
</suspense>`).code
).toMatchInlineSnapshot(`
- "const { resolveComponent: _resolveComponent, withCtx: _withCtx } = require(\\"vue\\")
- const { ssrRenderComponent: _ssrRenderComponent, ssrRenderSuspense: _ssrRenderSuspense } = require(\\"vue/server-renderer\\")
+ "const { resolveComponent: _resolveComponent, withCtx: _withCtx } = require("vue")
+ const { ssrRenderComponent: _ssrRenderComponent, ssrRenderSuspense: _ssrRenderSuspense } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
- const _component_foo = _resolveComponent(\\"foo\\")
+ const _component_foo = _resolveComponent("foo")
_ssrRenderSuspense(_push, {
default: () => {
test('static text with template string special chars', () => {
expect(getCompiledString(`\`\${foo}\``)).toMatchInlineSnapshot(
- '"`\\\\`\\\\${foo}\\\\``"'
+ `"\`\\\`\\\${foo}\\\`\`"`
)
})
// snapshot -> inline snapshot goes through two escapes
// so that makes a total of 3 * 2 * 2 = 12 back slashes
expect(getCompiledString(`\\$foo`)).toMatchInlineSnapshot(
- '"`\\\\\\\\\\\\$foo`"'
+ `"\`\\\\\\$foo\`"`
)
})
test('interpolation', () => {
expect(compile(`foo {{ bar }} baz`).code).toMatchInlineSnapshot(`
- "const { ssrInterpolate: _ssrInterpolate } = require(\\"vue/server-renderer\\")
+ "const { ssrInterpolate: _ssrInterpolate } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
_push(\`foo \${_ssrInterpolate(_ctx.bar)} baz\`)
compile(`<div><span>{{ foo }} bar</span><span>baz {{ qux }}</span></div>`)
.code
).toMatchInlineSnapshot(`
- "const { ssrRenderAttrs: _ssrRenderAttrs, ssrInterpolate: _ssrInterpolate } = require(\\"vue/server-renderer\\")
+ "const { ssrRenderAttrs: _ssrRenderAttrs, ssrInterpolate: _ssrInterpolate } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
_push(\`<div\${
test('basic', () => {
expect(compile(`<transition><div>foo</div></transition>`).code)
.toMatchInlineSnapshot(`
- "const { ssrRenderAttrs: _ssrRenderAttrs } = require(\\"vue/server-renderer\\")
+ "const { ssrRenderAttrs: _ssrRenderAttrs } = require("vue/server-renderer")
- return function ssrRender(_ctx, _push, _parent, _attrs) {
- _push(\`<div\${_ssrRenderAttrs(_attrs)}>foo</div>\`)
- }"
- `)
+ return function ssrRender(_ctx, _push, _parent, _attrs) {
+ _push(\`<div\${_ssrRenderAttrs(_attrs)}>foo</div>\`)
+ }"
+ `)
})
test('with appear', () => {
expect(compile(`<transition appear><div>foo</div></transition>`).code)
.toMatchInlineSnapshot(`
- "const { ssrRenderAttrs: _ssrRenderAttrs } = require(\\"vue/server-renderer\\")
+ "const { ssrRenderAttrs: _ssrRenderAttrs } = require("vue/server-renderer")
- return function ssrRender(_ctx, _push, _parent, _attrs) {
- _push(\`<template><div\${_ssrRenderAttrs(_attrs)}>foo</div></template>\`)
- }"
- `)
+ return function ssrRender(_ctx, _push, _parent, _attrs) {
+ _push(\`<template><div\${_ssrRenderAttrs(_attrs)}>foo</div></template>\`)
+ }"
+ `)
})
})
compile(`<transition-group><div v-for="i in list"/></transition-group>`)
.code
).toMatchInlineSnapshot(`
- "const { ssrRenderList: _ssrRenderList } = require(\\"vue/server-renderer\\")
+ "const { ssrRenderList: _ssrRenderList } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
_push(\`<!--[-->\`)
`<transition-group tag="ul"><div v-for="i in list"/></transition-group>`
).code
).toMatchInlineSnapshot(`
- "const { ssrRenderAttrs: _ssrRenderAttrs, ssrRenderList: _ssrRenderList } = require(\\"vue/server-renderer\\")
+ "const { ssrRenderAttrs: _ssrRenderAttrs, ssrRenderList: _ssrRenderList } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
_push(\`<ul\${_ssrRenderAttrs(_attrs)}>\`)
`<transition-group :tag="someTag"><div v-for="i in list"/></transition-group>`
).code
).toMatchInlineSnapshot(`
- "const { ssrRenderAttrs: _ssrRenderAttrs, ssrRenderList: _ssrRenderList } = require(\\"vue/server-renderer\\")
+ "const { ssrRenderAttrs: _ssrRenderAttrs, ssrRenderList: _ssrRenderList } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
_push(\`<\${
</transition-group>`
).code
).toMatchInlineSnapshot(`
- "const { ssrRenderList: _ssrRenderList } = require(\\"vue/server-renderer\\")
+ "const { ssrRenderList: _ssrRenderList } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
_push(\`<!--[-->\`)
</transition-group>`
).code
).toMatchInlineSnapshot(`
- "const { mergeProps: _mergeProps } = require(\\"vue\\")
- const { ssrRenderAttrs: _ssrRenderAttrs } = require(\\"vue/server-renderer\\")
+ "const { mergeProps: _mergeProps } = require("vue")
+ const { ssrRenderAttrs: _ssrRenderAttrs } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
_push(\`<ul\${_ssrRenderAttrs(_mergeProps({
- class: \\"red\\",
- id: \\"ok\\"
+ class: "red",
+ id: "ok"
}, _attrs))}></ul>\`)
}"
`)
describe('ssr: v-for', () => {
test('basic', () => {
expect(compile(`<div v-for="i in list" />`).code).toMatchInlineSnapshot(`
- "const { ssrRenderList: _ssrRenderList } = require(\\"vue/server-renderer\\")
+ "const { ssrRenderList: _ssrRenderList } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
_push(\`<!--[-->\`)
test('nested content', () => {
expect(compile(`<div v-for="i in list">foo<span>bar</span></div>`).code)
.toMatchInlineSnapshot(`
- "const { ssrRenderList: _ssrRenderList } = require(\\"vue/server-renderer\\")
+ "const { ssrRenderList: _ssrRenderList } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
_push(\`<!--[-->\`)
`</div>`
).code
).toMatchInlineSnapshot(`
- "const { ssrInterpolate: _ssrInterpolate, ssrRenderList: _ssrRenderList } = require(\\"vue/server-renderer\\")
+ "const { ssrInterpolate: _ssrInterpolate, ssrRenderList: _ssrRenderList } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
_push(\`<!--[-->\`)
test('template v-for (text)', () => {
expect(compile(`<template v-for="i in list">{{ i }}</template>`).code)
.toMatchInlineSnapshot(`
- "const { ssrInterpolate: _ssrInterpolate, ssrRenderList: _ssrRenderList } = require(\\"vue/server-renderer\\")
+ "const { ssrInterpolate: _ssrInterpolate, ssrRenderList: _ssrRenderList } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
_push(\`<!--[-->\`)
compile(`<template v-for="i in list"><span>{{ i }}</span></template>`)
.code
).toMatchInlineSnapshot(`
- "const { ssrInterpolate: _ssrInterpolate, ssrRenderList: _ssrRenderList } = require(\\"vue/server-renderer\\")
+ "const { ssrInterpolate: _ssrInterpolate, ssrRenderList: _ssrRenderList } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
_push(\`<!--[-->\`)
`<template v-for="i in list"><span>{{ i }}</span><span>{{ i + 1 }}</span></template>`
).code
).toMatchInlineSnapshot(`
- "const { ssrInterpolate: _ssrInterpolate, ssrRenderList: _ssrRenderList } = require(\\"vue/server-renderer\\")
+ "const { ssrInterpolate: _ssrInterpolate, ssrRenderList: _ssrRenderList } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
_push(\`<!--[-->\`)
expect(code).not.toMatch(`_ctx.foo`)
expect(code).not.toMatch(`_ctx.index`)
expect(code).toMatchInlineSnapshot(`
- "const { ssrInterpolate: _ssrInterpolate, ssrRenderList: _ssrRenderList } = require(\\"vue/server-renderer\\")
+ "const { ssrInterpolate: _ssrInterpolate, ssrRenderList: _ssrRenderList } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
_push(\`<!--[-->\`)
describe('ssr: v-if', () => {
test('basic', () => {
expect(compile(`<div v-if="foo"></div>`).code).toMatchInlineSnapshot(`
- "const { ssrRenderAttrs: _ssrRenderAttrs } = require(\\"vue/server-renderer\\")
+ "const { ssrRenderAttrs: _ssrRenderAttrs } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
if (_ctx.foo) {
test('with nested content', () => {
expect(compile(`<div v-if="foo">hello<span>ok</span></div>`).code)
.toMatchInlineSnapshot(`
- "const { ssrRenderAttrs: _ssrRenderAttrs } = require(\\"vue/server-renderer\\")
+ "const { ssrRenderAttrs: _ssrRenderAttrs } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
if (_ctx.foo) {
test('v-if + v-else', () => {
expect(compile(`<div v-if="foo"/><span v-else/>`).code)
.toMatchInlineSnapshot(`
- "const { ssrRenderAttrs: _ssrRenderAttrs } = require(\\"vue/server-renderer\\")
+ "const { ssrRenderAttrs: _ssrRenderAttrs } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
if (_ctx.foo) {
test('v-if + v-else-if', () => {
expect(compile(`<div v-if="foo"/><span v-else-if="bar"/>`).code)
.toMatchInlineSnapshot(`
- "const { ssrRenderAttrs: _ssrRenderAttrs } = require(\\"vue/server-renderer\\")
+ "const { ssrRenderAttrs: _ssrRenderAttrs } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
if (_ctx.foo) {
test('v-if + v-else-if + v-else', () => {
expect(compile(`<div v-if="foo"/><span v-else-if="bar"/><p v-else/>`).code)
.toMatchInlineSnapshot(`
- "const { ssrRenderAttrs: _ssrRenderAttrs } = require(\\"vue/server-renderer\\")
+ "const { ssrRenderAttrs: _ssrRenderAttrs } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
if (_ctx.foo) {
// single element should not wrap with fragment
expect(compile(`<template v-if="foo"><div>hi</div></template>`).code)
.toMatchInlineSnapshot(`
- "const { ssrRenderAttrs: _ssrRenderAttrs } = require(\\"vue/server-renderer\\")
+ "const { ssrRenderAttrs: _ssrRenderAttrs } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
if (_ctx.foo) {
expect(
compile(`<template v-if="foo"><div v-for="i in list"/></template>`).code
).toMatchInlineSnapshot(`
- "const { ssrRenderList: _ssrRenderList } = require(\\"vue/server-renderer\\")
+ "const { ssrRenderList: _ssrRenderList } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
if (_ctx.foo) {
`<template v-if="foo"><div>hi</div><div>ho</div></template><div v-else/>`
).code
).toMatchInlineSnapshot(`
- "const { ssrRenderAttrs: _ssrRenderAttrs } = require(\\"vue/server-renderer\\")
+ "const { ssrRenderAttrs: _ssrRenderAttrs } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
if (_ctx.foo) {
test('<input> (text types)', () => {
expect(compileWithWrapper(`<input v-model="bar">`).code)
.toMatchInlineSnapshot(`
- "const { ssrRenderAttr: _ssrRenderAttr, ssrRenderAttrs: _ssrRenderAttrs } = require(\\"vue/server-renderer\\")
+ "const { ssrRenderAttr: _ssrRenderAttr, ssrRenderAttrs: _ssrRenderAttrs } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
_push(\`<div\${
_ssrRenderAttrs(_attrs)
}><input\${
- _ssrRenderAttr(\\"value\\", _ctx.bar)
+ _ssrRenderAttr("value", _ctx.bar)
}></div>\`)
}"
`)
expect(compileWithWrapper(`<input type="email" v-model="bar">`).code)
.toMatchInlineSnapshot(`
- "const { ssrRenderAttr: _ssrRenderAttr, ssrRenderAttrs: _ssrRenderAttrs } = require(\\"vue/server-renderer\\")
+ "const { ssrRenderAttr: _ssrRenderAttr, ssrRenderAttrs: _ssrRenderAttrs } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
_push(\`<div\${
_ssrRenderAttrs(_attrs)
- }><input type=\\"email\\"\${
- _ssrRenderAttr(\\"value\\", _ctx.bar)
+ }><input type="email"\${
+ _ssrRenderAttr("value", _ctx.bar)
}></div>\`)
}"
`)
`<select v-model="model"><option value="1"></option></select>`
).code
).toMatchInlineSnapshot(`
- "const { ssrIncludeBooleanAttr: _ssrIncludeBooleanAttr, ssrLooseContain: _ssrLooseContain, ssrLooseEqual: _ssrLooseEqual, ssrRenderAttrs: _ssrRenderAttrs } = require(\\"vue/server-renderer\\")
+ "const { ssrIncludeBooleanAttr: _ssrIncludeBooleanAttr, ssrLooseContain: _ssrLooseContain, ssrLooseEqual: _ssrLooseEqual, ssrRenderAttrs: _ssrRenderAttrs } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
_push(\`<div\${
_ssrRenderAttrs(_attrs)
- }><select><option value=\\"1\\"\${
+ }><select><option value="1"\${
(_ssrIncludeBooleanAttr((Array.isArray(_ctx.model))
- ? _ssrLooseContain(_ctx.model, \\"1\\")
- : _ssrLooseEqual(_ctx.model, \\"1\\"))) ? \\" selected\\" : \\"\\"
+ ? _ssrLooseContain(_ctx.model, "1")
+ : _ssrLooseEqual(_ctx.model, "1"))) ? " selected" : ""
}></option></select></div>\`)
}"
`)
`<select multiple v-model="model"><option value="1" selected></option><option value="2"></option></select>`
).code
).toMatchInlineSnapshot(`
- "const { ssrIncludeBooleanAttr: _ssrIncludeBooleanAttr, ssrLooseContain: _ssrLooseContain, ssrLooseEqual: _ssrLooseEqual, ssrRenderAttrs: _ssrRenderAttrs } = require(\\"vue/server-renderer\\")
+ "const { ssrIncludeBooleanAttr: _ssrIncludeBooleanAttr, ssrLooseContain: _ssrLooseContain, ssrLooseEqual: _ssrLooseEqual, ssrRenderAttrs: _ssrRenderAttrs } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
_push(\`<div\${
_ssrRenderAttrs(_attrs)
- }><select multiple><option value=\\"1\\" selected></option><option value=\\"2\\"\${
+ }><select multiple><option value="1" selected></option><option value="2"\${
(_ssrIncludeBooleanAttr((Array.isArray(_ctx.model))
- ? _ssrLooseContain(_ctx.model, \\"2\\")
- : _ssrLooseEqual(_ctx.model, \\"2\\"))) ? \\" selected\\" : \\"\\"
+ ? _ssrLooseContain(_ctx.model, "2")
+ : _ssrLooseEqual(_ctx.model, "2"))) ? " selected" : ""
}></option></select></div>\`)
}"
`)
compileWithWrapper(`<select multiple v-model="model"><slot/></select>`)
.code
).toMatchInlineSnapshot(`
- "const { ssrRenderSlot: _ssrRenderSlot, ssrRenderAttrs: _ssrRenderAttrs } = require(\\"vue/server-renderer\\")
+ "const { ssrRenderSlot: _ssrRenderSlot, ssrRenderAttrs: _ssrRenderAttrs } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
_push(\`<div\${_ssrRenderAttrs(_attrs)}><select multiple>\`)
- _ssrRenderSlot(_ctx.$slots, \\"default\\", {}, null, _push, _parent)
+ _ssrRenderSlot(_ctx.$slots, "default", {}, null, _push, _parent)
_push(\`</select></div>\`)
}"
`)
</optgroup>
</select>`).code
).toMatchInlineSnapshot(`
- "const { ssrIncludeBooleanAttr: _ssrIncludeBooleanAttr, ssrLooseContain: _ssrLooseContain, ssrLooseEqual: _ssrLooseEqual, ssrRenderAttrs: _ssrRenderAttrs } = require(\\"vue/server-renderer\\")
+ "const { ssrIncludeBooleanAttr: _ssrIncludeBooleanAttr, ssrLooseContain: _ssrLooseContain, ssrLooseEqual: _ssrLooseEqual, ssrRenderAttrs: _ssrRenderAttrs } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
_push(\`<div\${
_ssrRenderAttrs(_attrs)
- }><select multiple><optgroup label=\\"foo\\"><option value=\\"bar\\"\${
+ }><select multiple><optgroup label="foo"><option value="bar"\${
(_ssrIncludeBooleanAttr((Array.isArray(_ctx.model))
- ? _ssrLooseContain(_ctx.model, \\"bar\\")
- : _ssrLooseEqual(_ctx.model, \\"bar\\"))) ? \\" selected\\" : \\"\\"
+ ? _ssrLooseContain(_ctx.model, "bar")
+ : _ssrLooseEqual(_ctx.model, "bar"))) ? " selected" : ""
}>bar</option></optgroup></select></div>\`)
}"
`)
</optgroup>
</select>`).code
).toMatchInlineSnapshot(`
- "const { ssrRenderSlot: _ssrRenderSlot, ssrRenderAttrs: _ssrRenderAttrs } = require(\\"vue/server-renderer\\")
+ "const { ssrRenderSlot: _ssrRenderSlot, ssrRenderAttrs: _ssrRenderAttrs } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
- _push(\`<div\${_ssrRenderAttrs(_attrs)}><select multiple><optgroup label=\\"foo\\">\`)
- _ssrRenderSlot(_ctx.$slots, \\"default\\", {}, null, _push, _parent)
+ _push(\`<div\${_ssrRenderAttrs(_attrs)}><select multiple><optgroup label="foo">\`)
+ _ssrRenderSlot(_ctx.$slots, "default", {}, null, _push, _parent)
_push(\`</optgroup></select></div>\`)
}"
`)
expect(
compileWithWrapper(`<input type="radio" value="foo" v-model="bar">`).code
).toMatchInlineSnapshot(`
- "const { ssrLooseEqual: _ssrLooseEqual, ssrIncludeBooleanAttr: _ssrIncludeBooleanAttr, ssrRenderAttrs: _ssrRenderAttrs } = require(\\"vue/server-renderer\\")
+ "const { ssrLooseEqual: _ssrLooseEqual, ssrIncludeBooleanAttr: _ssrIncludeBooleanAttr, ssrRenderAttrs: _ssrRenderAttrs } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
_push(\`<div\${
_ssrRenderAttrs(_attrs)
- }><input type=\\"radio\\" value=\\"foo\\"\${
- (_ssrIncludeBooleanAttr(_ssrLooseEqual(_ctx.bar, \\"foo\\"))) ? \\" checked\\" : \\"\\"
+ }><input type="radio" value="foo"\${
+ (_ssrIncludeBooleanAttr(_ssrLooseEqual(_ctx.bar, "foo"))) ? " checked" : ""
}></div>\`)
}"
`)
test('<input type="checkbox">', () => {
expect(compileWithWrapper(`<input type="checkbox" v-model="bar">`).code)
.toMatchInlineSnapshot(`
- "const { ssrLooseContain: _ssrLooseContain, ssrIncludeBooleanAttr: _ssrIncludeBooleanAttr, ssrRenderAttrs: _ssrRenderAttrs } = require(\\"vue/server-renderer\\")
+ "const { ssrLooseContain: _ssrLooseContain, ssrIncludeBooleanAttr: _ssrIncludeBooleanAttr, ssrRenderAttrs: _ssrRenderAttrs } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
_push(\`<div\${
_ssrRenderAttrs(_attrs)
- }><input type=\\"checkbox\\"\${
+ }><input type="checkbox"\${
(_ssrIncludeBooleanAttr((Array.isArray(_ctx.bar))
? _ssrLooseContain(_ctx.bar, null)
- : _ctx.bar)) ? \\" checked\\" : \\"\\"
+ : _ctx.bar)) ? " checked" : ""
}></div>\`)
}"
`)
compileWithWrapper(`<input type="checkbox" value="foo" v-model="bar">`)
.code
).toMatchInlineSnapshot(`
- "const { ssrLooseContain: _ssrLooseContain, ssrIncludeBooleanAttr: _ssrIncludeBooleanAttr, ssrRenderAttrs: _ssrRenderAttrs } = require(\\"vue/server-renderer\\")
+ "const { ssrLooseContain: _ssrLooseContain, ssrIncludeBooleanAttr: _ssrIncludeBooleanAttr, ssrRenderAttrs: _ssrRenderAttrs } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
_push(\`<div\${
_ssrRenderAttrs(_attrs)
- }><input type=\\"checkbox\\" value=\\"foo\\"\${
+ }><input type="checkbox" value="foo"\${
(_ssrIncludeBooleanAttr((Array.isArray(_ctx.bar))
- ? _ssrLooseContain(_ctx.bar, \\"foo\\")
- : _ctx.bar)) ? \\" checked\\" : \\"\\"
+ ? _ssrLooseContain(_ctx.bar, "foo")
+ : _ctx.bar)) ? " checked" : ""
}></div>\`)
}"
`)
`<input type="checkbox" :true-value="foo" :false-value="bar" v-model="baz">`
).code
).toMatchInlineSnapshot(`
- "const { ssrLooseEqual: _ssrLooseEqual, ssrIncludeBooleanAttr: _ssrIncludeBooleanAttr, ssrRenderAttrs: _ssrRenderAttrs } = require(\\"vue/server-renderer\\")
+ "const { ssrLooseEqual: _ssrLooseEqual, ssrIncludeBooleanAttr: _ssrIncludeBooleanAttr, ssrRenderAttrs: _ssrRenderAttrs } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
_push(\`<div\${
_ssrRenderAttrs(_attrs)
- }><input type=\\"checkbox\\"\${
- (_ssrIncludeBooleanAttr(_ssrLooseEqual(_ctx.baz, _ctx.foo))) ? \\" checked\\" : \\"\\"
+ }><input type="checkbox"\${
+ (_ssrIncludeBooleanAttr(_ssrLooseEqual(_ctx.baz, _ctx.foo))) ? " checked" : ""
}></div>\`)
}"
`)
`<input type="checkbox" true-value="foo" false-value="bar" v-model="baz">`
).code
).toMatchInlineSnapshot(`
- "const { ssrLooseEqual: _ssrLooseEqual, ssrIncludeBooleanAttr: _ssrIncludeBooleanAttr, ssrRenderAttrs: _ssrRenderAttrs } = require(\\"vue/server-renderer\\")
+ "const { ssrLooseEqual: _ssrLooseEqual, ssrIncludeBooleanAttr: _ssrIncludeBooleanAttr, ssrRenderAttrs: _ssrRenderAttrs } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
_push(\`<div\${
_ssrRenderAttrs(_attrs)
- }><input type=\\"checkbox\\"\${
- (_ssrIncludeBooleanAttr(_ssrLooseEqual(_ctx.baz, \\"foo\\"))) ? \\" checked\\" : \\"\\"
+ }><input type="checkbox"\${
+ (_ssrIncludeBooleanAttr(_ssrLooseEqual(_ctx.baz, "foo"))) ? " checked" : ""
}></div>\`)
}"
`)
test('<textarea>', () => {
expect(compileWithWrapper(`<textarea v-model="foo">bar</textarea>`).code)
.toMatchInlineSnapshot(`
- "const { ssrRenderAttrs: _ssrRenderAttrs, ssrInterpolate: _ssrInterpolate } = require(\\"vue/server-renderer\\")
+ "const { ssrRenderAttrs: _ssrRenderAttrs, ssrInterpolate: _ssrInterpolate } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
_push(\`<div\${
test('<input :type="x">', () => {
expect(compileWithWrapper(`<input :type="x" v-model="foo">`).code)
.toMatchInlineSnapshot(`
- "const { ssrRenderAttr: _ssrRenderAttr, ssrRenderDynamicModel: _ssrRenderDynamicModel, ssrRenderAttrs: _ssrRenderAttrs } = require(\\"vue/server-renderer\\")
+ "const { ssrRenderAttr: _ssrRenderAttr, ssrRenderDynamicModel: _ssrRenderDynamicModel, ssrRenderAttrs: _ssrRenderAttrs } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
_push(\`<div\${
_ssrRenderAttrs(_attrs)
}><input\${
- _ssrRenderAttr(\\"type\\", _ctx.x)
+ _ssrRenderAttr("type", _ctx.x)
}\${
_ssrRenderDynamicModel(_ctx.x, _ctx.foo, null)
}></div>\`)
expect(
compileWithWrapper(`<input :type="x" v-model="foo" value="bar">`).code
).toMatchInlineSnapshot(`
- "const { ssrRenderAttr: _ssrRenderAttr, ssrRenderDynamicModel: _ssrRenderDynamicModel, ssrRenderAttrs: _ssrRenderAttrs } = require(\\"vue/server-renderer\\")
+ "const { ssrRenderAttr: _ssrRenderAttr, ssrRenderDynamicModel: _ssrRenderDynamicModel, ssrRenderAttrs: _ssrRenderAttrs } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
_push(\`<div\${
_ssrRenderAttrs(_attrs)
}><input\${
- _ssrRenderAttr(\\"type\\", _ctx.x)
+ _ssrRenderAttr("type", _ctx.x)
}\${
- _ssrRenderDynamicModel(_ctx.x, _ctx.foo, \\"bar\\")
- } value=\\"bar\\"></div>\`)
+ _ssrRenderDynamicModel(_ctx.x, _ctx.foo, "bar")
+ } value="bar"></div>\`)
}"
`)
expect(
compileWithWrapper(`<input :type="x" v-model="foo" :value="bar">`).code
).toMatchInlineSnapshot(`
- "const { ssrRenderAttr: _ssrRenderAttr, ssrRenderDynamicModel: _ssrRenderDynamicModel, ssrRenderAttrs: _ssrRenderAttrs } = require(\\"vue/server-renderer\\")
+ "const { ssrRenderAttr: _ssrRenderAttr, ssrRenderDynamicModel: _ssrRenderDynamicModel, ssrRenderAttrs: _ssrRenderAttrs } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
_push(\`<div\${
_ssrRenderAttrs(_attrs)
}><input\${
- _ssrRenderAttr(\\"type\\", _ctx.x)
+ _ssrRenderAttr("type", _ctx.x)
}\${
_ssrRenderDynamicModel(_ctx.x, _ctx.foo, _ctx.bar)
}\${
- _ssrRenderAttr(\\"value\\", _ctx.bar)
+ _ssrRenderAttr("value", _ctx.bar)
}></div>\`)
}"
`)
test('<input v-bind="obj">', () => {
expect(compileWithWrapper(`<input v-bind="obj" v-model="foo">`).code)
.toMatchInlineSnapshot(`
- "const { mergeProps: _mergeProps } = require(\\"vue\\")
- const { ssrRenderAttrs: _ssrRenderAttrs, ssrGetDynamicModelProps: _ssrGetDynamicModelProps } = require(\\"vue/server-renderer\\")
+ "const { mergeProps: _mergeProps } = require("vue")
+ const { ssrRenderAttrs: _ssrRenderAttrs, ssrGetDynamicModelProps: _ssrGetDynamicModelProps } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
let _temp0
compileWithWrapper(`<input id="x" v-bind="obj" v-model="foo" class="y">`)
.code
).toMatchInlineSnapshot(`
- "const { mergeProps: _mergeProps } = require(\\"vue\\")
- const { ssrRenderAttrs: _ssrRenderAttrs, ssrGetDynamicModelProps: _ssrGetDynamicModelProps } = require(\\"vue/server-renderer\\")
+ "const { mergeProps: _mergeProps } = require("vue")
+ const { ssrRenderAttrs: _ssrRenderAttrs, ssrGetDynamicModelProps: _ssrGetDynamicModelProps } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
let _temp0
_push(\`<div\${
_ssrRenderAttrs(_attrs)
}><input\${
- _ssrRenderAttrs((_temp0 = _mergeProps({ id: \\"x\\" }, _ctx.obj, { class: \\"y\\" }), _mergeProps(_temp0, _ssrGetDynamicModelProps(_temp0, _ctx.foo))))
+ _ssrRenderAttrs((_temp0 = _mergeProps({ id: "x" }, _ctx.obj, { class: "y" }), _mergeProps(_temp0, _ssrGetDynamicModelProps(_temp0, _ctx.foo))))
}></div>\`)
}"
`)
describe('ssr: v-show', () => {
test('basic as root', () => {
expect(compile(`<div v-show="foo"/>`).code).toMatchInlineSnapshot(`
- "const { mergeProps: _mergeProps } = require(\\"vue\\")
- const { ssrRenderAttrs: _ssrRenderAttrs } = require(\\"vue/server-renderer\\")
+ "const { mergeProps: _mergeProps } = require("vue")
+ const { ssrRenderAttrs: _ssrRenderAttrs } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
_push(\`<div\${_ssrRenderAttrs(_mergeProps({
- style: (_ctx.foo) ? null : { display: \\"none\\" }
+ style: (_ctx.foo) ? null : { display: "none" }
}, _attrs))}></div>\`)
}"
`)
test('basic', () => {
expect(compileWithWrapper(`<div v-show="foo"/>`).code)
.toMatchInlineSnapshot(`
- "const { ssrRenderStyle: _ssrRenderStyle, ssrRenderAttrs: _ssrRenderAttrs } = require(\\"vue/server-renderer\\")
+ "const { ssrRenderStyle: _ssrRenderStyle, ssrRenderAttrs: _ssrRenderAttrs } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
_push(\`<div\${
_ssrRenderAttrs(_attrs)
- }><div style=\\"\${
- _ssrRenderStyle((_ctx.foo) ? null : { display: \\"none\\" })
- }\\"></div></div>\`)
+ }><div style="\${
+ _ssrRenderStyle((_ctx.foo) ? null : { display: "none" })
+ }"></div></div>\`)
}"
`)
})
test('with static style', () => {
expect(compileWithWrapper(`<div style="color:red" v-show="foo"/>`).code)
.toMatchInlineSnapshot(`
- "const { ssrRenderStyle: _ssrRenderStyle, ssrRenderAttrs: _ssrRenderAttrs } = require(\\"vue/server-renderer\\")
+ "const { ssrRenderStyle: _ssrRenderStyle, ssrRenderAttrs: _ssrRenderAttrs } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
_push(\`<div\${
_ssrRenderAttrs(_attrs)
- }><div style=\\"\${
+ }><div style="\${
_ssrRenderStyle([
- {\\"color\\":\\"red\\"},
- (_ctx.foo) ? null : { display: \\"none\\" }
+ {"color":"red"},
+ (_ctx.foo) ? null : { display: "none" }
])
- }\\"></div></div>\`)
+ }"></div></div>\`)
}"
`)
})
expect(
compileWithWrapper(`<div :style="{ color: 'red' }" v-show="foo"/>`).code
).toMatchInlineSnapshot(`
- "const { ssrRenderStyle: _ssrRenderStyle, ssrRenderAttrs: _ssrRenderAttrs } = require(\\"vue/server-renderer\\")
+ "const { ssrRenderStyle: _ssrRenderStyle, ssrRenderAttrs: _ssrRenderAttrs } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
_push(\`<div\${
_ssrRenderAttrs(_attrs)
- }><div style=\\"\${
+ }><div style="\${
_ssrRenderStyle([
{ color: 'red' },
- (_ctx.foo) ? null : { display: \\"none\\" }
+ (_ctx.foo) ? null : { display: "none" }
])
- }\\"></div></div>\`)
+ }"></div></div>\`)
}"
`)
})
`<div style="color:red" :style="{ fontSize: 14 }" v-show="foo"/>`
).code
).toMatchInlineSnapshot(`
- "const { ssrRenderStyle: _ssrRenderStyle, ssrRenderAttrs: _ssrRenderAttrs } = require(\\"vue/server-renderer\\")
+ "const { ssrRenderStyle: _ssrRenderStyle, ssrRenderAttrs: _ssrRenderAttrs } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
_push(\`<div\${
_ssrRenderAttrs(_attrs)
- }><div style=\\"\${
+ }><div style="\${
_ssrRenderStyle([
- {\\"color\\":\\"red\\"},
+ {"color":"red"},
{ fontSize: 14 },
- (_ctx.foo) ? null : { display: \\"none\\" }
+ (_ctx.foo) ? null : { display: "none" }
])
- }\\"></div></div>\`)
+ }"></div></div>\`)
}"
`)
})
`<div v-bind="baz" style="color:red" :style="{ fontSize: 14 }" v-show="foo"/>`
).code
).toMatchInlineSnapshot(`
- "const { mergeProps: _mergeProps } = require(\\"vue\\")
- const { ssrRenderAttrs: _ssrRenderAttrs } = require(\\"vue/server-renderer\\")
+ "const { mergeProps: _mergeProps } = require("vue")
+ const { ssrRenderAttrs: _ssrRenderAttrs } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
_push(\`<div\${
}><div\${
_ssrRenderAttrs(_mergeProps(_ctx.baz, {
style: [
- {\\"color\\":\\"red\\"},
+ {"color":"red"},
{ fontSize: 14 },
- (_ctx.foo) ? null : { display: \\"none\\" }
+ (_ctx.foo) ? null : { display: "none" }
]
}))
}></div></div>\`)
const teleportHtml = ctx.teleports!['#teleport2']
expect(teleportHtml).toMatchInlineSnapshot(
- '"<span>foo</span><span class=\\"foo\\"></span><!--teleport anchor--><span>foo2</span><span class=\\"foo2\\"></span><!--teleport anchor-->"'
+ `"<span>foo</span><span class="foo"></span><!--teleport anchor--><span>foo2</span><span class="foo2"></span><!--teleport anchor-->"`
)
teleportContainer.innerHTML = teleportHtml
msg.value = 'bar'
await nextTick()
expect(teleportContainer.innerHTML).toMatchInlineSnapshot(
- '"<span>bar</span><span class=\\"bar\\"></span><!--teleport anchor--><span>bar2</span><span class=\\"bar2\\"></span><!--teleport anchor-->"'
+ `"<span>bar</span><span class="bar"></span><!--teleport anchor--><span>bar2</span><span class="bar2"></span><!--teleport anchor-->"`
)
})
const ctx: SSRContext = {}
const mainHtml = await renderToString(h(Comp), ctx)
expect(mainHtml).toMatchInlineSnapshot(
- '"<!--[--><div>foo</div><!--teleport start--><span>foo</span><span class=\\"foo\\"></span><!--teleport end--><div class=\\"foo2\\">bar</div><!--]-->"'
+ `"<!--[--><div>foo</div><!--teleport start--><span>foo</span><span class="foo"></span><!--teleport end--><div class="foo2">bar</div><!--]-->"`
)
const teleportHtml = ctx.teleports!['#teleport3']
msg.value = 'bar'
await nextTick()
expect(container.innerHTML).toMatchInlineSnapshot(
- '"<!--[--><div>foo</div><!--teleport start--><span>bar</span><span class=\\"bar\\"></span><!--teleport end--><div class=\\"bar2\\">bar</div><!--]-->"'
+ `"<!--[--><div>foo</div><!--teleport start--><span>bar</span><span class="bar"></span><!--teleport end--><div class="bar2">bar</div><!--]-->"`
)
})
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
exports[`compiler: codeframe > line in middle 1`] = `
-"2 | <template key=\\"one\\"></template>
+"2 | <template key="one"></template>
3 | <ul>
-4 | <li v-for=\\"foobar\\">hi</li>
+4 | <li v-for="foobar">hi</li>
| ^^^^^^^^^^^^^^
5 | </ul>
-6 | <template key=\\"two\\"></template>"
+6 | <template key="two"></template>"
`;
exports[`compiler: codeframe > line near bottom 1`] = `
-"4 | <li v-for=\\"foobar\\">hi</li>
+"4 | <li v-for="foobar">hi</li>
5 | </ul>
-6 | <template key=\\"two\\"></template>
+6 | <template key="two"></template>
| ^^^^^^^^^
7 | </div>"
`;
exports[`compiler: codeframe > line near top 1`] = `
"1 | <div>
-2 | <template key=\\"one\\"></template>
+2 | <template key="one"></template>
| ^^^^^^^^^
3 | <ul>
-4 | <li v-for=\\"foobar\\">hi</li>"
+4 | <li v-for="foobar">hi</li>"
`;
exports[`compiler: codeframe > multi-line highlights 1`] = `
-"1 | <div attr=\\"some
+"1 | <div attr="some
| ^^^^^^^^^^
2 | multiline
| ^^^^^^^^^^^
3 | attr
| ^^^^
-4 | \\">
+4 | ">
| ^"
`;
exports[`compiler: codeframe > newline sequences - unix 1`] = `
-"8 | <input name=\\"email\\" type=\\"text\\"/>
+"8 | <input name="email" type="text"/>
9 | </div>
-10 | <div id=\\"hook\\">
+10 | <div id="hook">
| ^^^^^^^^^^^^^^^
-11 | <label for=\\"password\\">Password</label>
+11 | <label for="password">Password</label>
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-12 | <input name=\\"password\\" type=\\"password\\"/>
+12 | <input name="password" type="password"/>
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
13 | </div>
| ^^^^^^^^^^^^"
`;
exports[`compiler: codeframe > newline sequences - windows 1`] = `
-"8 | <input name=\\"email\\" type=\\"text\\"/>
+"8 | <input name="email" type="text"/>
9 | </div>
-10 | <div id=\\"hook\\">
+10 | <div id="hook">
| ^^^^^^^^^^^^^^^
-11 | <label for=\\"password\\">Password</label>
+11 | <label for="password">Password</label>
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-12 | <input name=\\"password\\" type=\\"password\\"/>
+12 | <input name="password" type="password"/>
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
13 | </div>
| ^^^^^^^^^^^^"
expect(toDisplayString(div)).toMatch('[object HTMLDivElement]')
expect(toDisplayString({ div })).toMatchInlineSnapshot(`
"{
- \\"div\\": \\"[object HTMLDivElement]\\"
+ "div": "[object HTMLDivElement]"
}"
`)
})
expect(toDisplayString(m)).toMatchInlineSnapshot(`
"{
- \\"Map(2)\\": {
- \\"1 =>\\": \\"foo\\",
- \\"[object Object] =>\\": {
- \\"foo\\": \\"bar\\",
- \\"qux\\": 2
+ "Map(2)": {
+ "1 =>": "foo",
+ "[object Object] =>": {
+ "foo": "bar",
+ "qux": 2
}
}
}"
`)
expect(toDisplayString(s)).toMatchInlineSnapshot(`
"{
- \\"Set(3)\\": [
+ "Set(3)": [
1,
{
- \\"foo\\": \\"bar\\"
+ "foo": "bar"
},
{
- \\"Map(2)\\": {
- \\"1 =>\\": \\"foo\\",
- \\"[object Object] =>\\": {
- \\"foo\\": \\"bar\\",
- \\"qux\\": 2
+ "Map(2)": {
+ "1 =>": "foo",
+ "[object Object] =>": {
+ "foo": "bar",
+ "qux": 2
}
}
}
})
).toMatchInlineSnapshot(`
"{
- \\"m\\": {
- \\"Map(2)\\": {
- \\"1 =>\\": \\"foo\\",
- \\"[object Object] =>\\": {
- \\"foo\\": \\"bar\\",
- \\"qux\\": 2
+ "m": {
+ "Map(2)": {
+ "1 =>": "foo",
+ "[object Object] =>": {
+ "foo": "bar",
+ "qux": 2
}
}
},
- \\"s\\": {
- \\"Set(3)\\": [
+ "s": {
+ "Set(3)": [
1,
{
- \\"foo\\": \\"bar\\"
+ "foo": "bar"
},
{
- \\"Map(2)\\": {
- \\"1 =>\\": \\"foo\\",
- \\"[object Object] =>\\": {
- \\"foo\\": \\"bar\\",
- \\"qux\\": 2
+ "Map(2)": {
+ "1 =>": "foo",
+ "[object Object] =>": {
+ "foo": "bar",
+ "qux": 2
}
}
}
expect(vm.$el.querySelector('.inject').textContent).toBe('123')
expect(vm.$el.querySelector('.slot').textContent).toBe('hello')
expect(vm.$el.outerHTML).toMatchInlineSnapshot(
- '"<div id=\\"foo\\" class=\\"foo\\"><div class=\\"inject\\">123</div><div class=\\"slot\\">hello</div></div>"'
+ `"<div id="foo" class="foo"><div class="inject">123</div><div class="slot">hello</div></div>"`
)
expect(
version: 6.13.0(eslint@8.54.0)(typescript@5.2.2)
'@vitest/coverage-istanbul':
specifier: ^0.34.6
- version: 0.34.6(vitest@0.34.6)
+ version: 0.34.6(vitest@1.0.1)
'@vue/consolidate':
specifier: 0.17.3
version: 0.17.3
specifier: ^5.0.0
version: 5.0.0(@types/node@20.10.3)(terser@5.22.0)
vitest:
- specifier: ^0.34.6
- version: 0.34.6(jsdom@22.1.0)(terser@5.22.0)
+ specifier: ^1.0.0
+ version: 1.0.1(@types/node@20.10.3)(jsdom@22.1.0)(terser@5.22.0)
packages/compiler-core:
dependencies:
resolution: {integrity: sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==}
dev: true
- /@types/chai-subset@1.3.4:
- resolution: {integrity: sha512-CCWNXrJYSUIojZ1149ksLl3AN9cmZ5djf+yUoVVV+NuYrtydItQVlL2ZDqyC6M6O9LWRnVf8yYDxbXHO2TfQZg==}
- dependencies:
- '@types/chai': 4.3.9
- dev: true
-
- /@types/chai@4.3.9:
- resolution: {integrity: sha512-69TtiDzu0bcmKQv3yg1Zx409/Kd7r0b5F1PfpYJfSHzLGtB53547V4u+9iqKYsTu/O2ai6KTb0TInNpvuQ3qmg==}
- dev: true
-
/@types/estree@1.0.3:
resolution: {integrity: sha512-CS2rOaoQ/eAgAfcTfq6amKG7bsN+EMcgGY4FAFQdvSj2y1ixvOZTUA9mOtCai7E1SYu283XNw7urKK30nP3wkQ==}
dev: true
vue: link:packages/vue
dev: true
- /@vitest/coverage-istanbul@0.34.6(vitest@0.34.6):
+ /@vitest/coverage-istanbul@0.34.6(vitest@1.0.1):
resolution: {integrity: sha512-5KaBNZPDSk2ybavC3rZ1pWGniw7sJ5usuwVGRUYzJwiBfWvnLpuUer7bjw7qUCRGdKJXrBgb/Dsgif9rkwMX/A==}
peerDependencies:
vitest: '>=0.32.0 <1'
istanbul-reports: 3.1.6
picocolors: 1.0.0
test-exclude: 6.0.0
- vitest: 0.34.6(jsdom@22.1.0)(terser@5.22.0)
+ vitest: 1.0.1(@types/node@20.10.3)(jsdom@22.1.0)(terser@5.22.0)
transitivePeerDependencies:
- supports-color
dev: true
- /@vitest/expect@0.34.6:
- resolution: {integrity: sha512-QUzKpUQRc1qC7qdGo7rMK3AkETI7w18gTCUrsNnyjjJKYiuUB9+TQK3QnR1unhCnWRC0AbKv2omLGQDF/mIjOw==}
+ /@vitest/expect@1.0.1:
+ resolution: {integrity: sha512-3cdrb/eKD/0tygDX75YscuHEHMUJ70u3UoLSq2eqhWks57AyzvsDQbyn53IhZ0tBN7gA8Jj2VhXiOV2lef7thw==}
dependencies:
- '@vitest/spy': 0.34.6
- '@vitest/utils': 0.34.6
+ '@vitest/spy': 1.0.1
+ '@vitest/utils': 1.0.1
chai: 4.3.10
dev: true
- /@vitest/runner@0.34.6:
- resolution: {integrity: sha512-1CUQgtJSLF47NnhN+F9X2ycxUP0kLHQ/JWvNHbeBfwW8CzEGgeskzNnHDyv1ieKTltuR6sdIHV+nmR6kPxQqzQ==}
+ /@vitest/runner@1.0.1:
+ resolution: {integrity: sha512-/+z0vhJ0MfRPT3AyTvAK6m57rzlew/ct8B2a4LMv7NhpPaiI2QLGyOBMB3lcioWdJHjRuLi9aYppfOv0B5aRQA==}
dependencies:
- '@vitest/utils': 0.34.6
- p-limit: 4.0.0
+ '@vitest/utils': 1.0.1
+ p-limit: 5.0.0
pathe: 1.1.1
dev: true
- /@vitest/snapshot@0.34.6:
- resolution: {integrity: sha512-B3OZqYn6k4VaN011D+ve+AA4whM4QkcwcrwaKwAbyyvS/NB1hCWjFIBQxAQQSQir9/RtyAAGuq+4RJmbn2dH4w==}
+ /@vitest/snapshot@1.0.1:
+ resolution: {integrity: sha512-wIPtPDGSxEZ+DpNMc94AsybX6LV6uN6sosf5TojyP1m2QbKwiRuLV/5RSsjt1oWViHsTj8mlcwrQQ1zHGO0fMw==}
dependencies:
magic-string: 0.30.5
pathe: 1.1.1
pretty-format: 29.7.0
dev: true
- /@vitest/spy@0.34.6:
- resolution: {integrity: sha512-xaCvneSaeBw/cz8ySmF7ZwGvL0lBjfvqc1LpQ/vcdHEvpLn3Ff1vAvjw+CoGn0802l++5L/pxb7whwcWAw+DUQ==}
+ /@vitest/spy@1.0.1:
+ resolution: {integrity: sha512-yXwm1uKhBVr/5MhVeSmtNqK+0q2RXIchJt8kokEKdrWLtkPeDgdbZ6SjR1VQGZuNdWL6sSBnLayIyVvcS0qLfA==}
dependencies:
tinyspy: 2.2.0
dev: true
- /@vitest/utils@0.34.6:
- resolution: {integrity: sha512-IG5aDD8S6zlvloDsnzHw0Ut5xczlF+kv2BOTo+iXfPr54Yhi5qbVOgGB1hZaVq4iJ4C/MZ2J0y15IlsV/ZcI0A==}
+ /@vitest/utils@1.0.1:
+ resolution: {integrity: sha512-MGPCHkzXbbAyscrhwGzh8uP1HPrTYLWaj1WTDtWSGrpe2yJWLRN9mF9ooKawr6NMOg9vTBtg2JqWLfuLC7Dknw==}
dependencies:
diff-sequences: 29.6.3
loupe: 2.3.7
acorn: 8.10.0
dev: true
- /acorn-walk@8.2.0:
- resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==}
+ /acorn-walk@8.3.0:
+ resolution: {integrity: sha512-FS7hV565M5l1R08MXqo8odwMTB02C2UqzB17RVgu9EyuYFBqJZ3/ZY97sQD5FewVu1UyDFc1yztUDrAwT0EypA==}
engines: {node: '>=0.4.0'}
dev: true
engines: {node: '>= 12.13.0'}
dev: true
- /local-pkg@0.4.3:
- resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==}
+ /local-pkg@0.5.0:
+ resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==}
engines: {node: '>=14'}
+ dependencies:
+ mlly: 1.4.2
+ pkg-types: 1.0.3
dev: true
/locate-path@6.0.0:
yocto-queue: 1.0.0
dev: true
+ /p-limit@5.0.0:
+ resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==}
+ engines: {node: '>=18'}
+ dependencies:
+ yocto-queue: 1.0.0
+ dev: true
+
/p-locate@5.0.0:
resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
engines: {node: '>=10'}
rollup: 4.1.4
typescript: 5.2.2
optionalDependencies:
- '@babel/code-frame': 7.22.13
+ '@babel/code-frame': 7.23.5
dev: true
/rollup-plugin-esbuild@6.1.0(esbuild@0.19.5)(rollup@4.1.4):
resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==}
dev: true
- /std-env@3.4.3:
- resolution: {integrity: sha512-f9aPhy8fYBuMN+sNfakZV18U39PbalgjXG3lLB9WkaYTxijru61wb57V9wxxNthXM5Sd88ETBWi29qLAsHO52Q==}
+ /std-env@3.6.0:
+ resolution: {integrity: sha512-aFZ19IgVmhdB2uX599ve2kE6BIE3YMnQ6Gp6BURhW/oIzpXGKr878TQfAQZn1+i0Flcc/UKUy1gOlcfaUBCryg==}
dev: true
/streamx@2.15.1:
resolution: {integrity: sha512-65NKvSuAVDP/n4CqH+a9w2kTlLReS9vhsAP06MWx+/89nMinJyB2icyl58RIcqCmIggpojIGeuJGhjU1aGMBSg==}
dev: true
- /tinypool@0.7.0:
- resolution: {integrity: sha512-zSYNUlYSMhJ6Zdou4cJwo/p7w5nmAH17GRfU/ui3ctvjXFErXXkruT4MWW6poDeXgCaIBlGLrfU6TbTXxyGMww==}
+ /tinypool@0.8.1:
+ resolution: {integrity: sha512-zBTCK0cCgRROxvs9c0CGK838sPkeokNGdQVUUwHAbynHFlmyJYj825f/oRs528HaIJ97lo0pLIlDUzwN+IorWg==}
engines: {node: '>=14.0.0'}
dev: true
engines: {node: '>= 0.8'}
dev: true
- /vite-node@0.34.6(@types/node@20.10.3)(terser@5.22.0):
- resolution: {integrity: sha512-nlBMJ9x6n7/Amaz6F3zJ97EBwR2FkzhBRxF5e+jE6LA3yi6Wtc2lyTij1OnDMIr34v5g/tVQtsVAzhT0jc5ygA==}
- engines: {node: '>=v14.18.0'}
+ /vite-node@1.0.1(@types/node@20.10.3)(terser@5.22.0):
+ resolution: {integrity: sha512-Y2Jnz4cr2azsOMMYuVPrQkp3KMnS/0WV8ezZjCy4hU7O5mUHCAVOnFmoEvs1nvix/4mYm74Len8bYRWZJMNP6g==}
+ engines: {node: ^18.0.0 || >=20.0.0}
hasBin: true
dependencies:
cac: 6.7.14
debug: 4.3.4
- mlly: 1.4.2
pathe: 1.1.1
picocolors: 1.0.0
vite: 5.0.0(@types/node@20.10.3)(terser@5.22.0)
fsevents: 2.3.3
dev: true
- /vitest@0.34.6(jsdom@22.1.0)(terser@5.22.0):
- resolution: {integrity: sha512-+5CALsOvbNKnS+ZHMXtuUC7nL8/7F1F2DnHGjSsszX8zCjWSSviphCb/NuS9Nzf4Q03KyyDRBAXhF/8lffME4Q==}
- engines: {node: '>=v14.18.0'}
+ /vitest@1.0.1(@types/node@20.10.3)(jsdom@22.1.0)(terser@5.22.0):
+ resolution: {integrity: sha512-MHsOj079S28hDsvdDvyD1pRj4dcS51EC5Vbe0xvOYX+WryP8soiK2dm8oULi+oA/8Xa/h6GoJEMTmcmBy5YM+Q==}
+ engines: {node: ^18.0.0 || >=20.0.0}
hasBin: true
peerDependencies:
'@edge-runtime/vm': '*'
- '@vitest/browser': '*'
- '@vitest/ui': '*'
+ '@types/node': ^18.0.0 || >=20.0.0
+ '@vitest/browser': ^1.0.0
+ '@vitest/ui': ^1.0.0
happy-dom: '*'
jsdom: '*'
- playwright: '*'
- safaridriver: '*'
- webdriverio: '*'
peerDependenciesMeta:
'@edge-runtime/vm':
optional: true
+ '@types/node':
+ optional: true
'@vitest/browser':
optional: true
'@vitest/ui':
optional: true
jsdom:
optional: true
- playwright:
- optional: true
- safaridriver:
- optional: true
- webdriverio:
- optional: true
dependencies:
- '@types/chai': 4.3.9
- '@types/chai-subset': 1.3.4
'@types/node': 20.10.3
- '@vitest/expect': 0.34.6
- '@vitest/runner': 0.34.6
- '@vitest/snapshot': 0.34.6
- '@vitest/spy': 0.34.6
- '@vitest/utils': 0.34.6
- acorn: 8.10.0
- acorn-walk: 8.2.0
+ '@vitest/expect': 1.0.1
+ '@vitest/runner': 1.0.1
+ '@vitest/snapshot': 1.0.1
+ '@vitest/spy': 1.0.1
+ '@vitest/utils': 1.0.1
+ acorn-walk: 8.3.0
cac: 6.7.14
chai: 4.3.10
debug: 4.3.4
+ execa: 8.0.1
jsdom: 22.1.0
- local-pkg: 0.4.3
+ local-pkg: 0.5.0
magic-string: 0.30.5
pathe: 1.1.1
picocolors: 1.0.0
- std-env: 3.4.3
+ std-env: 3.6.0
strip-literal: 1.3.0
tinybench: 2.5.1
- tinypool: 0.7.0
+ tinypool: 0.8.1
vite: 5.0.0(@types/node@20.10.3)(terser@5.22.0)
- vite-node: 0.34.6(@types/node@20.10.3)(terser@5.22.0)
+ vite-node: 1.0.1(@types/node@20.10.3)(terser@5.22.0)
why-is-node-running: 2.2.2
transitivePeerDependencies:
- less