File tree 6 files changed +129
-1
lines changed
6 files changed +129
-1
lines changed Original file line number Diff line number Diff line change @@ -303,6 +303,7 @@ For example:
303
303
| [ vue/space-infix-ops] ( ./space-infix-ops.md ) | require spacing around infix operators | :wrench : |
304
304
| [ vue/space-unary-ops] ( ./space-unary-ops.md ) | enforce consistent spacing before or after unary operators | :wrench : |
305
305
| [ vue/static-class-names-order] ( ./static-class-names-order.md ) | enforce static class names order | :wrench : |
306
+ | [ vue/template-curly-spacing] ( ./template-curly-spacing.md ) | require or disallow spacing around embedded expressions of template strings | :wrench : |
306
307
| [ vue/v-on-function-call] ( ./v-on-function-call.md ) | enforce or forbid parentheses after method calls without arguments in ` v-on ` directives | :wrench : |
307
308
308
309
## Deprecated
Original file line number Diff line number Diff line change
1
+ ---
2
+ pageClass : rule-details
3
+ sidebarDepth : 0
4
+ title : vue/template-curly-spacing
5
+ description : require or disallow spacing around embedded expressions of template strings
6
+ ---
7
+ # vue/template-curly-spacing
8
+ > require or disallow spacing around embedded expressions of template strings
9
+
10
+ - :wrench : The ` --fix ` option on the [ command line] ( https://eslint.org/docs/user-guide/command-line-interface#fixing-problems ) can automatically fix some of the problems reported by this rule.
11
+
12
+ This rule is the same rule as core [ template-curly-spacing] rule but it applies to the expressions in ` <template> ` .
13
+
14
+ ## :books : Further reading
15
+
16
+ - [ template-curly-spacing]
17
+
18
+ [ template-curly-spacing ] : https://eslint.org/docs/rules/template-curly-spacing
19
+
20
+ ## :mag : Implementation
21
+
22
+ - [ Rule source] ( https://github.com/vuejs/eslint-plugin-vue/blob/master/lib/rules/template-curly-spacing.js )
23
+ - [ Test source] ( https://github.com/vuejs/eslint-plugin-vue/blob/master/tests/lib/rules/template-curly-spacing.js )
Original file line number Diff line number Diff line change @@ -33,6 +33,7 @@ module.exports = {
33
33
'vue/script-indent' : 'off' ,
34
34
'vue/singleline-html-element-content-newline' : 'off' ,
35
35
'vue/space-infix-ops' : 'off' ,
36
- 'vue/space-unary-ops' : 'off'
36
+ 'vue/space-unary-ops' : 'off' ,
37
+ 'vue/template-curly-spacing' : 'off'
37
38
}
38
39
}
Original file line number Diff line number Diff line change @@ -112,6 +112,7 @@ module.exports = {
112
112
'space-infix-ops' : require ( './rules/space-infix-ops' ) ,
113
113
'space-unary-ops' : require ( './rules/space-unary-ops' ) ,
114
114
'static-class-names-order' : require ( './rules/static-class-names-order' ) ,
115
+ 'template-curly-spacing' : require ( './rules/template-curly-spacing' ) ,
115
116
'this-in-template' : require ( './rules/this-in-template' ) ,
116
117
'use-v-on-exact' : require ( './rules/use-v-on-exact' ) ,
117
118
'v-bind-style' : require ( './rules/v-bind-style' ) ,
Original file line number Diff line number Diff line change
1
+ /**
2
+ * @author Yosuke Ota
3
+ */
4
+ 'use strict'
5
+
6
+ const { wrapCoreRule } = require ( '../utils' )
7
+
8
+ // eslint-disable-next-line no-invalid-meta, no-invalid-meta-docs-categories
9
+ module . exports = wrapCoreRule (
10
+ require ( 'eslint/lib/rules/template-curly-spacing' ) ,
11
+ { skipDynamicArguments : true }
12
+ )
Original file line number Diff line number Diff line change
1
+ /**
2
+ * @author Yosuke Ota
3
+ */
4
+ 'use strict'
5
+
6
+ const RuleTester = require ( 'eslint' ) . RuleTester
7
+ const rule = require ( '../../../lib/rules/template-curly-spacing' )
8
+
9
+ const tester = new RuleTester ( {
10
+ parser : require . resolve ( 'vue-eslint-parser' ) ,
11
+ parserOptions : { ecmaVersion : 2020 }
12
+ } )
13
+
14
+ tester . run ( 'template-curly-spacing' , rule , {
15
+ valid : [
16
+ `
17
+ <template>
18
+ <div :class="[\`foo-\${bar}\`]" />
19
+ </template>
20
+ ` ,
21
+ `
22
+ <template>
23
+ <div :[\`foo\${bar}\`]="value" />
24
+ </template>
25
+ ` ,
26
+ {
27
+ code : `
28
+ <template>
29
+ <div :class="[\`foo-\${ bar }\`]" />
30
+ </template>
31
+ ` ,
32
+ options : [ 'always' ]
33
+ } ,
34
+ {
35
+ code : `
36
+ <template>
37
+ <div :[\`foo\${bar}\`]="value" />
38
+ </template>
39
+ ` ,
40
+ options : [ 'always' ]
41
+ }
42
+ ] ,
43
+ invalid : [
44
+ {
45
+ code : `
46
+ <template>
47
+ <div :class="[\`foo-\${ bar }\`]" />
48
+ </template>
49
+ ` ,
50
+ output : `
51
+ <template>
52
+ <div :class="[\`foo-\${bar}\`]" />
53
+ </template>
54
+ ` ,
55
+ errors : [
56
+ {
57
+ message : "Unexpected space(s) after '${'." ,
58
+ line : 3
59
+ } ,
60
+ {
61
+ message : "Unexpected space(s) before '}'." ,
62
+ line : 3
63
+ }
64
+ ]
65
+ } ,
66
+ {
67
+ code : `
68
+ <template>
69
+ <div :class="[\`foo-\${bar}\`]" />
70
+ </template>
71
+ ` ,
72
+ options : [ 'always' ] ,
73
+ output : `
74
+ <template>
75
+ <div :class="[\`foo-\${ bar }\`]" />
76
+ </template>
77
+ ` ,
78
+ errors : [
79
+ {
80
+ message : "Expected space(s) after '${'." ,
81
+ line : 3
82
+ } ,
83
+ {
84
+ message : "Expected space(s) before '}'." ,
85
+ line : 3
86
+ }
87
+ ]
88
+ }
89
+ ]
90
+ } )
You can’t perform that action at this time.
0 commit comments