File tree Expand file tree Collapse file tree 5 files changed +89
-0
lines changed Expand file tree Collapse file tree 5 files changed +89
-0
lines changed Original file line number Diff line number Diff line change @@ -338,6 +338,7 @@ The following rules extend the rules provided by ESLint itself and apply them to
338
338
| [ vue/no-extra-parens] ( ./no-extra-parens.md ) | disallow unnecessary parentheses | :wrench : |
339
339
| [ vue/no-irregular-whitespace] ( ./no-irregular-whitespace.md ) | disallow irregular whitespace | |
340
340
| [ vue/no-restricted-syntax] ( ./no-restricted-syntax.md ) | disallow specified syntax | |
341
+ | [ vue/no-sparse-arrays] ( ./no-sparse-arrays.md ) | disallow sparse arrays | |
341
342
| [ vue/no-useless-concat] ( ./no-useless-concat.md ) | disallow unnecessary concatenation of literals or template literals | |
342
343
| [ vue/object-curly-newline] ( ./object-curly-newline.md ) | enforce consistent line breaks inside braces | :wrench : |
343
344
| [ vue/object-curly-spacing] ( ./object-curly-spacing.md ) | enforce consistent spacing inside braces | :wrench : |
Original file line number Diff line number Diff line change
1
+ ---
2
+ pageClass : rule-details
3
+ sidebarDepth : 0
4
+ title : vue/no-sparse-arrays
5
+ description : disallow sparse arrays
6
+ ---
7
+ # vue/no-sparse-arrays
8
+ > disallow sparse arrays
9
+
10
+ This rule is the same rule as core [ no-sparse-arrays] rule but it applies to the expressions in ` <template> ` .
11
+
12
+ ## :books : Further reading
13
+
14
+ - [ no-sparse-arrays]
15
+
16
+ [ no-sparse-arrays ] : https://eslint.org/docs/rules/no-sparse-arrays
17
+
18
+ ## :mag : Implementation
19
+
20
+ - [ Rule source] ( https://github.com/vuejs/eslint-plugin-vue/blob/master/lib/rules/no-sparse-arrays.js )
21
+ - [ Test source] ( https://github.com/vuejs/eslint-plugin-vue/blob/master/tests/lib/rules/no-sparse-arrays.js )
22
+
23
+ <sup >Taken with ❤️ [ from ESLint core] ( https://eslint.org/docs/rules/no-sparse-arrays ) </sup >
Original file line number Diff line number Diff line change @@ -94,6 +94,7 @@ module.exports = {
94
94
'no-shared-component-data' : require ( './rules/no-shared-component-data' ) ,
95
95
'no-side-effects-in-computed-properties' : require ( './rules/no-side-effects-in-computed-properties' ) ,
96
96
'no-spaces-around-equal-signs-in-attribute' : require ( './rules/no-spaces-around-equal-signs-in-attribute' ) ,
97
+ 'no-sparse-arrays' : require ( './rules/no-sparse-arrays' ) ,
97
98
'no-static-inline-styles' : require ( './rules/no-static-inline-styles' ) ,
98
99
'no-template-key' : require ( './rules/no-template-key' ) ,
99
100
'no-template-shadow' : require ( './rules/no-template-shadow' ) ,
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 ( require ( 'eslint/lib/rules/no-sparse-arrays' ) )
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/no-sparse-arrays' )
8
+
9
+ const tester = new RuleTester ( {
10
+ parser : require . resolve ( 'vue-eslint-parser' ) ,
11
+ parserOptions : { ecmaVersion : 2015 }
12
+ } )
13
+
14
+ tester . run ( 'no-sparse-arrays' , rule , {
15
+ valid : [
16
+ `<template>
17
+ <div :class="['foo', 'bar']" />
18
+ </template>` ,
19
+ `<template>
20
+ <div v-bind:[['foo'][0]]="bar" />
21
+ </template>`
22
+ ] ,
23
+ invalid : [
24
+ {
25
+ code : `
26
+ <template>
27
+ <div :class="[, 'foo', 'bar']" />
28
+ </template>` ,
29
+ errors : [
30
+ {
31
+ message : 'Unexpected comma in middle of array.' ,
32
+ line : 3 ,
33
+ column : 22 ,
34
+ endLine : 3 ,
35
+ endColumn : 38
36
+ }
37
+ ]
38
+ } ,
39
+ {
40
+ code : `
41
+ <template>
42
+ <div v-bind:[[,'foo'][1]]="bar" />
43
+ </template>` ,
44
+ errors : [
45
+ {
46
+ message : 'Unexpected comma in middle of array.' ,
47
+ line : 3 ,
48
+ column : 22 ,
49
+ endLine : 3 ,
50
+ endColumn : 30
51
+ }
52
+ ]
53
+ }
54
+ ]
55
+ } )
You can’t perform that action at this time.
0 commit comments