@@ -14,27 +14,28 @@ since: v6.1.0
14
14
15
15
## :book : Rule Details
16
16
17
- This rule warns about the order of the ` <script> ` , ` <template> ` & ` <style> ` tags.
17
+ This rule warns about the order of the ` <script> ` , ` <script setup> ` , ` < template>` & ` <style> ` tags.
18
18
19
19
## :wrench : Options
20
20
21
21
``` json
22
22
{
23
23
"vue/component-tags-order" : [" error" , {
24
- "order" : [ [ " script" , " template" ], " style" ]
24
+ "order" : [ [ " script" , " script/setup " , " template" ], " style" ]
25
25
}]
26
26
}
27
27
```
28
28
29
- - ` order ` (` (string|string[])[] ` ) ... The order of top-level element names. default ` [ [ "script", "template" ], "style" ] ` .
29
+ - ` order ` (` (string|string[])[] ` ) ... The order of top-level element names. default ` [ [ "script", "script/setup", " template" ], "style" ] ` .
30
30
31
- ### ` { "order": [ [ "script", "template" ], "style" ] } ` (default)
31
+ ### ` { "order": [ [ "script", "script/setup", " template" ], "style" ] } ` (default)
32
32
33
33
<eslint-code-block fix :rules =" {'vue/component-tags-order': ['error']} " >
34
34
35
35
``` vue
36
36
<!-- ✓ GOOD -->
37
37
<script>/* ... */</script>
38
+ <script setup>/* ... */</script>
38
39
<template>...</template>
39
40
<style>/* ... */</style>
40
41
```
@@ -47,6 +48,7 @@ This rule warns about the order of the `<script>`, `<template>` & `<style>` tags
47
48
<!-- ✓ GOOD -->
48
49
<template>...</template>
49
50
<script>/* ... */</script>
51
+ <script setup>/* ... */</script>
50
52
<style>/* ... */</style>
51
53
```
52
54
@@ -57,6 +59,7 @@ This rule warns about the order of the `<script>`, `<template>` & `<style>` tags
57
59
``` vue
58
60
<!-- ✗ BAD -->
59
61
<style>/* ... */</style>
62
+ <script setup>/* ... */</script>
60
63
<script>/* ... */</script>
61
64
<template>...</template>
62
65
```
@@ -65,48 +68,52 @@ This rule warns about the order of the `<script>`, `<template>` & `<style>` tags
65
68
66
69
### ` { "order": ["template", "script", "style"] } `
67
70
68
- <eslint-code-block fix :rules =" {'vue/component-tags-order': ['error', { 'order': ['template', 'script', 'style'] }]} " >
71
+ <eslint-code-block fix :rules =" {'vue/component-tags-order': ['error', { 'order': ['template', 'script', 'script/setup', ' style'] }]} " >
69
72
70
73
``` vue
71
74
<!-- ✓ GOOD -->
72
75
<template>...</template>
76
+ <script setup>/* ... */</script>
73
77
<script>/* ... */</script>
74
78
<style>/* ... */</style>
75
79
```
76
80
77
81
</eslint-code-block >
78
82
79
- <eslint-code-block fix :rules =" {'vue/component-tags-order': ['error', { 'order': ['template', 'script', 'style'] }]} " >
83
+ <eslint-code-block fix :rules =" {'vue/component-tags-order': ['error', { 'order': ['template', 'script', 'script/setup', ' style'] }]} " >
80
84
81
85
``` vue
82
86
<!-- ✗ BAD -->
87
+ <script setup>/* ... */</script>
83
88
<script>/* ... */</script>
84
89
<template>...</template>
85
90
<style>/* ... */</style>
86
91
```
87
92
88
93
</eslint-code-block >
89
94
90
- ### ` { "order": ["docs", "template", "script", "style"] } `
95
+ ### ` { "order": ["docs", "template", "script", "script/setup", " style"] } `
91
96
92
- <eslint-code-block fix :rules =" {'vue/component-tags-order': ['error', { 'order': ['docs', 'template', 'script', 'style'] }]} " >
97
+ <eslint-code-block fix :rules =" {'vue/component-tags-order': ['error', { 'order': ['docs', 'template', 'script', 'script/setup', ' style'] }]} " >
93
98
94
99
``` vue
95
100
<!-- ✓ GOOD -->
96
101
<docs> documentation </docs>
97
102
<template>...</template>
98
103
<script>/* ... */</script>
104
+ <script setup>/* ... */</script>
99
105
<style>/* ... */</style>
100
106
```
101
107
102
108
</eslint-code-block >
103
109
104
- <eslint-code-block fix :rules =" {'vue/component-tags-order': ['error', { 'order': ['docs', 'template', 'script', 'style'] }]} " >
110
+ <eslint-code-block fix :rules =" {'vue/component-tags-order': ['error', { 'order': ['docs', 'template', 'script', 'script/setup', ' style'] }]} " >
105
111
106
112
``` vue
107
113
<!-- ✗ BAD -->
108
114
<template>...</template>
109
115
<script>/* ... */</script>
116
+ <script setup>/* ... */</script>
110
117
<docs> documentation </docs>
111
118
<style>/* ... */</style>
112
119
```
0 commit comments