// Jest Snapshot v1, https://goo.gl/fbAQLP
+exports[`SFC compile <script setup> <script> and <script setup> co-usage script first 1`] = `
+"import { x } from './x'
+
+ export const n = 1
+
+export default {
+ expose: [],
+ setup(__props) {
+
+ x()
+
+return { x }
+}
+
+}"
+`;
+
+exports[`SFC compile <script setup> <script> and <script setup> co-usage script setup first 1`] = `
+"import { x } from './x'
+
+export default {
+ expose: [],
+ setup(__props) {
+
+ x()
+
+return { x }
+}
+
+}
+ export const n = 1"
+`;
+
exports[`SFC compile <script setup> defineOptions() 1`] = `
"export default {
expose: [],
emit: ['a', 'b'],`)
})
+ describe('<script> and <script setup> co-usage', () => {
+ test('script first', () => {
+ const { content } = compile(`
+ <script>
+ export const n = 1
+ </script>
+ <script setup>
+ import { x } from './x'
+ x()
+ </script>
+ `)
+ assertCode(content)
+ })
+
+ test('script setup first', () => {
+ const { content } = compile(`
+ <script setup>
+ import { x } from './x'
+ x()
+ </script>
+ <script>
+ export const n = 1
+ </script>
+ `)
+ assertCode(content)
+ })
+ })
+
describe('imports', () => {
test('should hoist and expose imports', () => {
assertCode(
hasAwait ? `async ` : ``
}setup(${args}) {\n`
)
- s.append(`})`)
+ s.appendRight(endOffset, `})`)
} else {
if (defaultExport) {
// can't rely on spread operator in non ts mode
`\nexport default {${runtimeOptions}\n ` +
`${hasAwait ? `async ` : ``}setup(${args}) {\n`
)
- s.append(`}`)
+ s.appendRight(endOffset, `}`)
}
}