9
9
// ------------------------------------------------------------------------------
10
10
11
11
const utils = require ( '../utils' )
12
+ const casing = require ( '../utils/casing' )
12
13
13
14
// ------------------------------------------------------------------------------
14
15
// Helpers
@@ -20,8 +21,8 @@ function isSinglelineElement (element) {
20
21
21
22
function parseOptions ( options ) {
22
23
return Object . assign ( {
23
- ' ignores' : [ 'pre' , 'textarea' ] ,
24
- ' ignoreWhenNoAttributes' : true
24
+ ignores : [ 'pre' , 'textarea' ] ,
25
+ ignoreWhenNoAttributes : true
25
26
} , options )
26
27
}
27
28
@@ -53,10 +54,10 @@ module.exports = {
53
54
schema : [ {
54
55
type : 'object' ,
55
56
properties : {
56
- ' ignoreWhenNoAttributes' : {
57
+ ignoreWhenNoAttributes : {
57
58
type : 'boolean'
58
59
} ,
59
- ' ignores' : {
60
+ ignores : {
60
61
type : 'array' ,
61
62
items : { type : 'string' } ,
62
63
uniqueItems : true ,
@@ -80,12 +81,18 @@ module.exports = {
80
81
81
82
let inIgnoreElement
82
83
84
+ function isIgnoredElement ( node ) {
85
+ return ignores . includes ( node . name ) ||
86
+ ignores . includes ( casing . pascalCase ( node . rawName ) ) ||
87
+ ignores . includes ( casing . kebabCase ( node . rawName ) )
88
+ }
89
+
83
90
return utils . defineTemplateBodyVisitor ( context , {
84
91
'VElement' ( node ) {
85
92
if ( inIgnoreElement ) {
86
93
return
87
94
}
88
- if ( ignores . indexOf ( node . name ) >= 0 ) {
95
+ if ( isIgnoredElement ( node ) ) {
89
96
// ignore element name
90
97
inIgnoreElement = node
91
98
return
@@ -114,7 +121,7 @@ module.exports = {
114
121
} ,
115
122
messageId : 'unexpectedAfterClosingBracket' ,
116
123
data : {
117
- name : node . name
124
+ name : node . rawName
118
125
} ,
119
126
fix ( fixer ) {
120
127
const range = [ node . startTag . range [ 1 ] , contentFirst . range [ 0 ] ]
@@ -134,7 +141,7 @@ module.exports = {
134
141
} ,
135
142
messageId : 'unexpectedBeforeOpeningBracket' ,
136
143
data : {
137
- name : node . name
144
+ name : node . rawName
138
145
} ,
139
146
fix ( fixer ) {
140
147
const range = [ contentLast . range [ 1 ] , node . endTag . range [ 0 ] ]
0 commit comments