Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions lib/rules/no-export-in-script-setup.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ module.exports = {
categories: ['vue3-essential', 'vue2-essential'],
url: 'https://eslint.vuejs.org/rules/no-export-in-script-setup.html'
},
fixable: null,
fixable: 'code',
schema: [],
messages: {
forbidden: '`<script setup>` cannot contain ES module exports.'
Expand All @@ -46,7 +46,11 @@ module.exports = {
}
context.report({
node,
messageId: 'forbidden'
loc: node.loc,
messageId: 'forbidden',
fix(fixer) {
return fixer.remove(node)
}
})
}

Expand Down
24 changes: 24 additions & 0 deletions tests/lib/rules/no-export-in-script-setup.js
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,13 @@ ruleTester.run('no-export-in-script-setup', rule, {
export * from 'foo'
export default {}
export class A {}
</script>
`,
output: `
<script setup>



</script>
`,
errors: [
Expand Down Expand Up @@ -119,6 +126,16 @@ ruleTester.run('no-export-in-script-setup', rule, {
export * from 'foo'
export default {}
export class A {}
</script>
`,
output: `
<script>
let foo;
</script>
<script setup>



</script>
`,
errors: [
Expand All @@ -143,6 +160,13 @@ ruleTester.run('no-export-in-script-setup', rule, {
export const Foo = {}
export enum Bar {}
export {}
</script>
`,
output: `
<script setup lang="ts">



</script>
`,
languageOptions: {
Expand Down
Loading