@@ -89,19 +89,15 @@ const groups = {
8989 'renderTriggered' , // for Vue.js 3.x
9090 'errorCaptured' // for Vue.js 2.5.0+
9191 ] ,
92- ROUTER_GUARDS : [
93- 'beforeRouteEnter' ,
94- 'beforeRouteUpdate' ,
95- 'beforeRouteLeave'
96- ]
92+ ROUTER_GUARDS : [ 'beforeRouteEnter' , 'beforeRouteUpdate' , 'beforeRouteLeave' ]
9793}
9894
99- function getOrderMap ( order ) {
95+ function getOrderMap ( order ) {
10096 const orderMap = new Map ( )
10197
10298 order . forEach ( ( property , i ) => {
10399 if ( Array . isArray ( property ) ) {
104- property . forEach ( p => orderMap . set ( p , i ) )
100+ property . forEach ( ( p ) => orderMap . set ( p , i ) )
105101 } else {
106102 orderMap . set ( property , i )
107103 }
@@ -110,11 +106,11 @@ function getOrderMap (order) {
110106 return orderMap
111107}
112108
113- function isComma ( node ) {
109+ function isComma ( node ) {
114110 return node . type === 'Punctuator' && node . value === ','
115111}
116112
117- const ARITHMETIC_OPERATORS = [ '+' , '-' , '*' , '/' , '%' , '**' /* es2016 */ ]
113+ const ARITHMETIC_OPERATORS = [ '+' , '-' , '*' , '/' , '%' , '**' /* es2016 */ ]
118114const BITWISE_OPERATORS = [ '&' , '|' , '^' , '~' , '<<' , '>>' , '>>>' ]
119115const COMPARISON_OPERATORS = [ '==' , '!=' , '===' , '!==' , '>' , '>=' , '<' , '<=' ]
120116const RELATIONAL_OPERATORS = [ 'in' , 'instanceof' ]
@@ -124,7 +120,7 @@ const ALL_BINARY_OPERATORS = [].concat(
124120 COMPARISON_OPERATORS ,
125121 RELATIONAL_OPERATORS
126122)
127- const LOGICAL_OPERATORS = [ '&&' , '||' , '??' /* es2020 */ ]
123+ const LOGICAL_OPERATORS = [ '&&' , '||' , '??' /* es2020 */ ]
128124
129125/*
130126 * Result `true` if the node is sure that there are no side effects
@@ -142,12 +138,12 @@ const LOGICAL_OPERATORS = ['&&', '||', '??'/* es2020 */]
142138 * @param {Object } visitorKeys sourceCode.visitorKey
143139 * @returns {Boolean } no side effects
144140 */
145- function isNotSideEffectsNode ( node , visitorKeys ) {
141+ function isNotSideEffectsNode ( node , visitorKeys ) {
146142 let result = true
147143 let skipNode = false
148144 traverseNodes ( node , {
149145 visitorKeys,
150- enterNode ( node ) {
146+ enterNode ( node ) {
151147 if ( ! result || skipNode ) {
152148 return
153149 }
@@ -166,9 +162,12 @@ function isNotSideEffectsNode (node, visitorKeys) {
166162 node . type !== 'Property' &&
167163 node . type !== 'ObjectExpression' &&
168164 node . type !== 'ArrayExpression' &&
169- ( node . type !== 'UnaryExpression' || ! [ '!' , '~' , '+' , '-' , 'typeof' ] . includes ( node . operator ) ) &&
170- ( node . type !== 'BinaryExpression' || ! ALL_BINARY_OPERATORS . includes ( node . operator ) ) &&
171- ( node . type !== 'LogicalExpression' || ! LOGICAL_OPERATORS . includes ( node . operator ) ) &&
165+ ( node . type !== 'UnaryExpression' ||
166+ ! [ '!' , '~' , '+' , '-' , 'typeof' ] . includes ( node . operator ) ) &&
167+ ( node . type !== 'BinaryExpression' ||
168+ ! ALL_BINARY_OPERATORS . includes ( node . operator ) ) &&
169+ ( node . type !== 'LogicalExpression' ||
170+ ! LOGICAL_OPERATORS . includes ( node . operator ) ) &&
172171 node . type !== 'MemberExpression' &&
173172 node . type !== 'ConditionalExpression' &&
174173 // es2015
@@ -179,7 +178,7 @@ function isNotSideEffectsNode (node, visitorKeys) {
179178 result = false
180179 }
181180 } ,
182- leaveNode ( node ) {
181+ leaveNode ( node ) {
183182 if ( skipNode === node ) {
184183 skipNode = null
185184 }
@@ -215,23 +214,25 @@ module.exports = {
215214 ]
216215 } ,
217216
218- create ( context ) {
217+ create ( context ) {
219218 const options = context . options [ 0 ] || { }
220219 const order = options . order || defaultOrder
221- const extendedOrder = order . map ( property => groups [ property ] || property )
220+ const extendedOrder = order . map ( ( property ) => groups [ property ] || property )
222221 const orderMap = getOrderMap ( extendedOrder )
223222 const sourceCode = context . getSourceCode ( )
224223
225- function checkOrder ( propertiesNodes , orderMap ) {
224+ function checkOrder ( propertiesNodes , orderMap ) {
226225 const properties = propertiesNodes
227- . filter ( property => property . type === 'Property' )
228- . map ( property => property . key )
226+ . filter ( ( property ) => property . type === 'Property' )
227+ . map ( ( property ) => property . key )
229228
230229 properties . forEach ( ( property , i ) => {
231230 const propertiesAbove = properties . slice ( 0 , i )
232231 const unorderedProperties = propertiesAbove
233- . filter ( p => orderMap . get ( p . name ) > orderMap . get ( property . name ) )
234- . sort ( ( p1 , p2 ) => orderMap . get ( p1 . name ) > orderMap . get ( p2 . name ) ? 1 : - 1 )
232+ . filter ( ( p ) => orderMap . get ( p . name ) > orderMap . get ( property . name ) )
233+ . sort ( ( p1 , p2 ) =>
234+ orderMap . get ( p1 . name ) > orderMap . get ( p2 . name ) ? 1 : - 1
235+ )
235236
236237 const firstUnorderedProperty = unorderedProperties [ 0 ]
237238
@@ -245,15 +246,18 @@ module.exports = {
245246 firstUnorderedPropertyName : firstUnorderedProperty . name ,
246247 line
247248 } ,
248- fix ( fixer ) {
249+ fix ( fixer ) {
249250 const propertyNode = property . parent
250251 const firstUnorderedPropertyNode = firstUnorderedProperty . parent
251252 const hasSideEffectsPossibility = propertiesNodes
252253 . slice (
253254 propertiesNodes . indexOf ( firstUnorderedPropertyNode ) ,
254255 propertiesNodes . indexOf ( propertyNode ) + 1
255256 )
256- . some ( ( property ) => ! isNotSideEffectsNode ( property , sourceCode . visitorKeys ) )
257+ . some (
258+ ( property ) =>
259+ ! isNotSideEffectsNode ( property , sourceCode . visitorKeys )
260+ )
257261 if ( hasSideEffectsPossibility ) {
258262 return undefined
259263 }
@@ -262,12 +266,20 @@ module.exports = {
262266
263267 const beforeComma = sourceCode . getTokenBefore ( propertyNode )
264268 const codeStart = beforeComma . range [ 1 ] // to include comments
265- const codeEnd = hasAfterComma ? afterComma . range [ 1 ] : propertyNode . range [ 1 ]
266-
267- const propertyCode = sourceCode . text . slice ( codeStart , codeEnd ) + ( hasAfterComma ? '' : ',' )
268- const insertTarget = sourceCode . getTokenBefore ( firstUnorderedPropertyNode )
269-
270- const removeStart = hasAfterComma ? codeStart : beforeComma . range [ 0 ]
269+ const codeEnd = hasAfterComma
270+ ? afterComma . range [ 1 ]
271+ : propertyNode . range [ 1 ]
272+
273+ const propertyCode =
274+ sourceCode . text . slice ( codeStart , codeEnd ) +
275+ ( hasAfterComma ? '' : ',' )
276+ const insertTarget = sourceCode . getTokenBefore (
277+ firstUnorderedPropertyNode
278+ )
279+
280+ const removeStart = hasAfterComma
281+ ? codeStart
282+ : beforeComma . range [ 0 ]
271283
272284 return [
273285 fixer . removeRange ( [ removeStart , codeEnd ] ) ,
0 commit comments