Skip to content

Commit 9da315c

Browse files
mysticateamichalsnik
authored andcommitted
Chore: rewrite 'npm run update' (vuejs#332)
1 parent f3c609d commit 9da315c

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

72 files changed

+695
-517
lines changed

.eslintignore

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
11
node_modules
2-
lib/*-rules.js
32
coverage
43
.nyc_output

README.md

+65-69
Original file line numberDiff line numberDiff line change
@@ -103,111 +103,107 @@ Rules are grouped by priority to help you understand their purpose. The `--fix`
103103

104104
Enforce all the rules in this category, as well as all higher priority rules, with:
105105

106-
``` json
107-
"extends": "plugin:vue/base"
106+
```json
107+
{
108+
"extends": "plugin:vue/base"
109+
}
108110
```
109111

110112
| | Rule ID | Description |
111113
|:---|:--------|:------------|
112-
| | [comment-directive](./docs/rules/comment-directive.md) | support comment-directives in `<template>` |
113-
| | [jsx-uses-vars](./docs/rules/jsx-uses-vars.md) | prevent variables used in JSX to be marked as unused |
114-
114+
| | [vue/comment-directive](./docs/rules/comment-directive.md) | support comment-directives in `<template>` |
115+
| | [vue/jsx-uses-vars](./docs/rules/jsx-uses-vars.md) | prevent variables used in JSX to be marked as unused |
115116

116117
### Priority A: Essential (Error Prevention)
117118

118119
Enforce all the rules in this category, as well as all higher priority rules, with:
119120

120-
``` json
121-
"extends": "plugin:vue/essential"
121+
```json
122+
{
123+
"extends": "plugin:vue/essential"
124+
}
122125
```
123126

124127
| | Rule ID | Description |
125128
|:---|:--------|:------------|
126-
| | [no-async-in-computed-properties](./docs/rules/no-async-in-computed-properties.md) | disallow asynchronous actions in computed properties |
127-
| | [no-dupe-keys](./docs/rules/no-dupe-keys.md) | disallow duplication of field names |
128-
| | [no-duplicate-attributes](./docs/rules/no-duplicate-attributes.md) | disallow duplication of attributes |
129-
| | [no-parsing-error](./docs/rules/no-parsing-error.md) | disallow parsing errors in `<template>` |
130-
| | [no-reserved-keys](./docs/rules/no-reserved-keys.md) | disallow overwriting reserved keys |
131-
| :wrench: | [no-shared-component-data](./docs/rules/no-shared-component-data.md) | enforce component's data property to be a function |
132-
| | [no-side-effects-in-computed-properties](./docs/rules/no-side-effects-in-computed-properties.md) | disallow side effects in computed properties |
133-
| | [no-template-key](./docs/rules/no-template-key.md) | disallow `key` attribute on `<template>` |
134-
| | [no-textarea-mustache](./docs/rules/no-textarea-mustache.md) | disallow mustaches in `<textarea>` |
135-
| | [no-unused-vars](./docs/rules/no-unused-vars.md) | disallow unused variable definitions of v-for directives or scope attributes |
136-
| | [require-component-is](./docs/rules/require-component-is.md) | require `v-bind:is` of `<component>` elements |
137-
| | [require-render-return](./docs/rules/require-render-return.md) | enforce render function to always return value |
138-
| | [require-v-for-key](./docs/rules/require-v-for-key.md) | require `v-bind:key` with `v-for` directives |
139-
| | [require-valid-default-prop](./docs/rules/require-valid-default-prop.md) | enforce props default values to be valid |
140-
| | [return-in-computed-property](./docs/rules/return-in-computed-property.md) | enforce that a return statement is present in computed property |
141-
| | [valid-template-root](./docs/rules/valid-template-root.md) | enforce valid template root |
142-
| | [valid-v-bind](./docs/rules/valid-v-bind.md) | enforce valid `v-bind` directives |
143-
| | [valid-v-cloak](./docs/rules/valid-v-cloak.md) | enforce valid `v-cloak` directives |
144-
| | [valid-v-else-if](./docs/rules/valid-v-else-if.md) | enforce valid `v-else-if` directives |
145-
| | [valid-v-else](./docs/rules/valid-v-else.md) | enforce valid `v-else` directives |
146-
| | [valid-v-for](./docs/rules/valid-v-for.md) | enforce valid `v-for` directives |
147-
| | [valid-v-html](./docs/rules/valid-v-html.md) | enforce valid `v-html` directives |
148-
| | [valid-v-if](./docs/rules/valid-v-if.md) | enforce valid `v-if` directives |
149-
| | [valid-v-model](./docs/rules/valid-v-model.md) | enforce valid `v-model` directives |
150-
| | [valid-v-on](./docs/rules/valid-v-on.md) | enforce valid `v-on` directives |
151-
| | [valid-v-once](./docs/rules/valid-v-once.md) | enforce valid `v-once` directives |
152-
| | [valid-v-pre](./docs/rules/valid-v-pre.md) | enforce valid `v-pre` directives |
153-
| | [valid-v-show](./docs/rules/valid-v-show.md) | enforce valid `v-show` directives |
154-
| | [valid-v-text](./docs/rules/valid-v-text.md) | enforce valid `v-text` directives |
155-
129+
| | [vue/no-async-in-computed-properties](./docs/rules/no-async-in-computed-properties.md) | disallow asynchronous actions in computed properties |
130+
| | [vue/no-dupe-keys](./docs/rules/no-dupe-keys.md) | disallow duplication of field names |
131+
| | [vue/no-duplicate-attributes](./docs/rules/no-duplicate-attributes.md) | disallow duplication of attributes |
132+
| | [vue/no-parsing-error](./docs/rules/no-parsing-error.md) | disallow parsing errors in `<template>` |
133+
| | [vue/no-reserved-keys](./docs/rules/no-reserved-keys.md) | disallow overwriting reserved keys |
134+
| :wrench: | [vue/no-shared-component-data](./docs/rules/no-shared-component-data.md) | enforce component's data property to be a function |
135+
| | [vue/no-side-effects-in-computed-properties](./docs/rules/no-side-effects-in-computed-properties.md) | disallow side effects in computed properties |
136+
| | [vue/no-template-key](./docs/rules/no-template-key.md) | disallow `key` attribute on `<template>` |
137+
| | [vue/no-textarea-mustache](./docs/rules/no-textarea-mustache.md) | disallow mustaches in `<textarea>` |
138+
| | [vue/no-unused-vars](./docs/rules/no-unused-vars.md) | disallow unused variable definitions of v-for directives or scope attributes |
139+
| | [vue/require-component-is](./docs/rules/require-component-is.md) | require `v-bind:is` of `<component>` elements |
140+
| | [vue/require-render-return](./docs/rules/require-render-return.md) | enforce render function to always return value |
141+
| | [vue/require-v-for-key](./docs/rules/require-v-for-key.md) | require `v-bind:key` with `v-for` directives |
142+
| | [vue/require-valid-default-prop](./docs/rules/require-valid-default-prop.md) | enforce props default values to be valid |
143+
| | [vue/return-in-computed-property](./docs/rules/return-in-computed-property.md) | enforce that a return statement is present in computed property |
144+
| | [vue/valid-template-root](./docs/rules/valid-template-root.md) | enforce valid template root |
145+
| | [vue/valid-v-bind](./docs/rules/valid-v-bind.md) | enforce valid `v-bind` directives |
146+
| | [vue/valid-v-cloak](./docs/rules/valid-v-cloak.md) | enforce valid `v-cloak` directives |
147+
| | [vue/valid-v-else-if](./docs/rules/valid-v-else-if.md) | enforce valid `v-else-if` directives |
148+
| | [vue/valid-v-else](./docs/rules/valid-v-else.md) | enforce valid `v-else` directives |
149+
| | [vue/valid-v-for](./docs/rules/valid-v-for.md) | enforce valid `v-for` directives |
150+
| | [vue/valid-v-html](./docs/rules/valid-v-html.md) | enforce valid `v-html` directives |
151+
| | [vue/valid-v-if](./docs/rules/valid-v-if.md) | enforce valid `v-if` directives |
152+
| | [vue/valid-v-model](./docs/rules/valid-v-model.md) | enforce valid `v-model` directives |
153+
| | [vue/valid-v-on](./docs/rules/valid-v-on.md) | enforce valid `v-on` directives |
154+
| | [vue/valid-v-once](./docs/rules/valid-v-once.md) | enforce valid `v-once` directives |
155+
| | [vue/valid-v-pre](./docs/rules/valid-v-pre.md) | enforce valid `v-pre` directives |
156+
| | [vue/valid-v-show](./docs/rules/valid-v-show.md) | enforce valid `v-show` directives |
157+
| | [vue/valid-v-text](./docs/rules/valid-v-text.md) | enforce valid `v-text` directives |
156158

157159
### Priority B: Strongly Recommended (Improving Readability)
158160

159161
Enforce all the rules in this category, as well as all higher priority rules, with:
160162

161-
``` json
162-
"extends": "plugin:vue/strongly-recommended"
163+
```json
164+
{
165+
"extends": "plugin:vue/strongly-recommended"
166+
}
163167
```
164168

165169
| | Rule ID | Description |
166170
|:---|:--------|:------------|
167-
| :wrench: | [attribute-hyphenation](./docs/rules/attribute-hyphenation.md) | enforce attribute naming style in template |
168-
| :wrench: | [html-end-tags](./docs/rules/html-end-tags.md) | enforce end tag style |
169-
| :wrench: | [html-indent](./docs/rules/html-indent.md) | enforce consistent indentation in `<template>` |
170-
| :wrench: | [html-self-closing](./docs/rules/html-self-closing.md) | enforce self-closing style |
171-
| | [max-attributes-per-line](./docs/rules/max-attributes-per-line.md) | enforce the maximum number of attributes per line |
172-
| :wrench: | [mustache-interpolation-spacing](./docs/rules/mustache-interpolation-spacing.md) | enforce unified spacing in mustache interpolations |
173-
| :wrench: | [name-property-casing](./docs/rules/name-property-casing.md) | enforce specific casing for the name property in Vue components |
174-
| :wrench: | [no-multi-spaces](./docs/rules/no-multi-spaces.md) | disallow multiple spaces |
175-
| | [require-default-prop](./docs/rules/require-default-prop.md) | require default value for props |
176-
| | [require-prop-types](./docs/rules/require-prop-types.md) | require type definitions in props |
177-
| :wrench: | [v-bind-style](./docs/rules/v-bind-style.md) | enforce `v-bind` directive style |
178-
| :wrench: | [v-on-style](./docs/rules/v-on-style.md) | enforce `v-on` directive style |
179-
171+
| :wrench: | [vue/attribute-hyphenation](./docs/rules/attribute-hyphenation.md) | enforce attribute naming style in template |
172+
| :wrench: | [vue/html-end-tags](./docs/rules/html-end-tags.md) | enforce end tag style |
173+
| :wrench: | [vue/html-indent](./docs/rules/html-indent.md) | enforce consistent indentation in `<template>` |
174+
| :wrench: | [vue/html-self-closing](./docs/rules/html-self-closing.md) | enforce self-closing style |
175+
| | [vue/max-attributes-per-line](./docs/rules/max-attributes-per-line.md) | enforce the maximum number of attributes per line |
176+
| :wrench: | [vue/mustache-interpolation-spacing](./docs/rules/mustache-interpolation-spacing.md) | enforce unified spacing in mustache interpolations |
177+
| :wrench: | [vue/name-property-casing](./docs/rules/name-property-casing.md) | enforce specific casing for the name property in Vue components |
178+
| :wrench: | [vue/no-multi-spaces](./docs/rules/no-multi-spaces.md) | disallow multiple spaces |
179+
| | [vue/require-default-prop](./docs/rules/require-default-prop.md) | require default value for props |
180+
| | [vue/require-prop-types](./docs/rules/require-prop-types.md) | require type definitions in props |
181+
| :wrench: | [vue/v-bind-style](./docs/rules/v-bind-style.md) | enforce `v-bind` directive style |
182+
| :wrench: | [vue/v-on-style](./docs/rules/v-on-style.md) | enforce `v-on` directive style |
180183

181184
### Priority C: Recommended (Minimizing Arbitrary Choices and Cognitive Overhead)
182185

183186
Enforce all the rules in this category, as well as all higher priority rules, with:
184187

185-
``` json
186-
"extends": "plugin:vue/recommended"
188+
```json
189+
{
190+
"extends": "plugin:vue/recommended"
191+
}
187192
```
188193

189194
| | Rule ID | Description |
190195
|:---|:--------|:------------|
191-
| :wrench: | [html-quotes](./docs/rules/html-quotes.md) | enforce quotes style of HTML attributes |
192-
| | [no-confusing-v-for-v-if](./docs/rules/no-confusing-v-for-v-if.md) | disallow confusing `v-for` and `v-if` on the same element |
193-
| | [order-in-components](./docs/rules/order-in-components.md) | enforce order of properties in components |
194-
| | [this-in-template](./docs/rules/this-in-template.md) | enforce usage of `this` in template |
195-
196-
197-
### Uncategorized
198-
199-
| | Rule ID | Description |
200-
|:---|:--------|:------------|
201-
| :wrench: | [html-closing-bracket-newline](./docs/rules/html-closing-bracket-newline.md) | require or disallow a line break before tag's closing brackets |
202-
| :wrench: | [html-closing-bracket-spacing](./docs/rules/html-closing-bracket-spacing.md) | require or disallow a space before tag's closing brackets |
203-
196+
| :wrench: | [vue/html-quotes](./docs/rules/html-quotes.md) | enforce quotes style of HTML attributes |
197+
| | [vue/no-confusing-v-for-v-if](./docs/rules/no-confusing-v-for-v-if.md) | disallow confusing `v-for` and `v-if` on the same element |
198+
| | [vue/order-in-components](./docs/rules/order-in-components.md) | enforce order of properties in components |
199+
| | [vue/this-in-template](./docs/rules/this-in-template.md) | enforce usage of `this` in template |
204200

205201
### Uncategorized
206202

207203
| | Rule ID | Description |
208204
|:---|:--------|:------------|
209-
| :wrench: | [html-closing-bracket-newline](./docs/rules/html-closing-bracket-newline.md) | require or disallow a line break before tag's closing brackets |
210-
| :wrench: | [html-closing-bracket-spacing](./docs/rules/html-closing-bracket-spacing.md) | require or disallow a space before tag's closing brackets |
205+
| :wrench: | [vue/html-closing-bracket-newline](./docs/rules/html-closing-bracket-newline.md) | require or disallow a line break before tag's closing brackets |
206+
| :wrench: | [vue/html-closing-bracket-spacing](./docs/rules/html-closing-bracket-spacing.md) | require or disallow a space before tag's closing brackets |
211207

212208
<!--RULES_TABLE_END-->
213209

docs/rules/attribute-hyphenation.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
# enforce attribute naming style in template (attribute-hyphenation)
1+
# enforce attribute naming style in template (vue/attribute-hyphenation)
22

3+
- :gear: This rule is included in `"plugin:vue/strongly-recommended"` and `"plugin:vue/recommended"`.
34
- :wrench: The `--fix` option on the [command line](http://eslint.org/docs/user-guide/command-line-interface#fix) can automatically fix some of the problems reported by this rule.
45

56
## :wrench: Options

docs/rules/comment-directive.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
# support comment-directives in `<template>` (comment-directive)
1+
# support comment-directives in `<template>` (vue/comment-directive)
2+
3+
- :gear: This rule is included in all of `"plugin:vue/base"`, `"plugin:vue/essential"`, `"plugin:vue/strongly-recommended"` and `"plugin:vue/recommended"`.
24

35
Sole purpose of this rule is to provide `eslint-disable` functionality in `<template>`.
46
It supports usage of the following comments:

docs/rules/html-closing-bracket-newline.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# require or disallow a line break before tag's closing brackets (html-closing-bracket-newline)
1+
# require or disallow a line break before tag's closing brackets (vue/html-closing-bracket-newline)
22

33
- :wrench: The `--fix` option on the [command line](http://eslint.org/docs/user-guide/command-line-interface#fix) can automatically fix some of the problems reported by this rule.
44

docs/rules/html-closing-bracket-spacing.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# require or disallow a space before tag's closing brackets (html-closing-bracket-spacing)
1+
# require or disallow a space before tag's closing brackets (vue/html-closing-bracket-spacing)
22

33
- :wrench: The `--fix` option on the [command line](http://eslint.org/docs/user-guide/command-line-interface#fix) can automatically fix some of the problems reported by this rule.
44

docs/rules/html-end-tags.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
# enforce end tag style (html-end-tags)
1+
# enforce end tag style (vue/html-end-tags)
22

3+
- :gear: This rule is included in `"plugin:vue/strongly-recommended"` and `"plugin:vue/recommended"`.
34
- :wrench: The `--fix` option on the [command line](http://eslint.org/docs/user-guide/command-line-interface#fix) can automatically fix some of the problems reported by this rule.
45

56
## :book: Rule Details

docs/rules/html-indent.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
# enforce consistent indentation in `<template>` (html-indent)
1+
# enforce consistent indentation in `<template>` (vue/html-indent)
22

3+
- :gear: This rule is included in `"plugin:vue/strongly-recommended"` and `"plugin:vue/recommended"`.
34
- :wrench: The `--fix` option on the [command line](http://eslint.org/docs/user-guide/command-line-interface#fix) can automatically fix some of the problems reported by this rule.
45

56
## :book: Rule Details

docs/rules/html-quotes.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
# enforce quotes style of HTML attributes (html-quotes)
1+
# enforce quotes style of HTML attributes (vue/html-quotes)
22

3+
- :gear: This rule is included in `"plugin:vue/recommended"`.
34
- :wrench: The `--fix` option on the [command line](http://eslint.org/docs/user-guide/command-line-interface#fix) can automatically fix some of the problems reported by this rule.
45

56
You can choose quotes of HTML attributes from:

docs/rules/html-self-closing.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
# enforce self-closing style (html-self-closing)
1+
# enforce self-closing style (vue/html-self-closing)
22

3+
- :gear: This rule is included in `"plugin:vue/strongly-recommended"` and `"plugin:vue/recommended"`.
34
- :wrench: The `--fix` option on the [command line](http://eslint.org/docs/user-guide/command-line-interface#fix) can automatically fix some of the problems reported by this rule.
45

56
In Vue.js template, we can use either two styles for elements which don't have their content.

docs/rules/jsx-uses-vars.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
# prevent variables used in JSX to be marked as unused (jsx-uses-vars)
1+
# prevent variables used in JSX to be marked as unused (vue/jsx-uses-vars)
2+
3+
- :gear: This rule is included in all of `"plugin:vue/base"`, `"plugin:vue/essential"`, `"plugin:vue/strongly-recommended"` and `"plugin:vue/recommended"`.
24

35
Since 0.17.0 the ESLint `no-unused-vars` rule does not detect variables used in JSX ([see details](http://eslint.org/blog/2015/03/eslint-0.17.0-released#changes-to-jsxreact-handling)).
46
This rule will find variables used in JSX and mark them as used.

docs/rules/max-attributes-per-line.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
# enforce the maximum number of attributes per line (max-attributes-per-line)
1+
# enforce the maximum number of attributes per line (vue/max-attributes-per-line)
2+
3+
- :gear: This rule is included in `"plugin:vue/strongly-recommended"` and `"plugin:vue/recommended"`.
24

35
Limits the maximum number of attributes/properties per line to improve readability.
46

docs/rules/mustache-interpolation-spacing.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
# enforce unified spacing in mustache interpolations (mustache-interpolation-spacing)
1+
# enforce unified spacing in mustache interpolations (vue/mustache-interpolation-spacing)
22

3+
- :gear: This rule is included in `"plugin:vue/strongly-recommended"` and `"plugin:vue/recommended"`.
34
- :wrench: The `--fix` option on the [command line](http://eslint.org/docs/user-guide/command-line-interface#fix) can automatically fix some of the problems reported by this rule.
45

56
## :book: Rule Details

docs/rules/name-property-casing.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
# enforce specific casing for the name property in Vue components (name-property-casing)
1+
# enforce specific casing for the name property in Vue components (vue/name-property-casing)
22

3+
- :gear: This rule is included in `"plugin:vue/strongly-recommended"` and `"plugin:vue/recommended"`.
34
- :wrench: The `--fix` option on the [command line](http://eslint.org/docs/user-guide/command-line-interface#fix) can automatically fix some of the problems reported by this rule.
45

56
Define a style for the `name` property casing for consistency purposes.

docs/rules/no-async-in-computed-properties.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
# disallow asynchronous actions in computed properties (no-async-in-computed-properties)
1+
# disallow asynchronous actions in computed properties (vue/no-async-in-computed-properties)
2+
3+
- :gear: This rule is included in all of `"plugin:vue/essential"`, `"plugin:vue/strongly-recommended"` and `"plugin:vue/recommended"`.
24

35
Computed properties should be synchronous. Asynchronous actions inside them may not work as expected and can lead to an unexpected behaviour, that's why you should avoid them.
46
If you need async computed properties you might want to consider using additional plugin [vue-async-computed]

docs/rules/no-confusing-v-for-v-if.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
# disallow confusing `v-for` and `v-if` on the same element (no-confusing-v-for-v-if)
1+
# disallow confusing `v-for` and `v-if` on the same element (vue/no-confusing-v-for-v-if)
2+
3+
- :gear: This rule is included in `"plugin:vue/recommended"`.
24

35
> When they exist on the same node, `v-for` has a higher priority than `v-if`. That means the `v-if` will be run on each iteration of the loop separately.
46
>

docs/rules/no-dupe-keys.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
# disallow duplication of field names (no-dupe-keys)
1+
# disallow duplication of field names (vue/no-dupe-keys)
2+
3+
- :gear: This rule is included in all of `"plugin:vue/essential"`, `"plugin:vue/strongly-recommended"` and `"plugin:vue/recommended"`.
24

35
This rule prevents to use duplicated names.
46

docs/rules/no-duplicate-attributes.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
# disallow duplication of attributes (no-duplicate-attributes)
1+
# disallow duplication of attributes (vue/no-duplicate-attributes)
2+
3+
- :gear: This rule is included in all of `"plugin:vue/essential"`, `"plugin:vue/strongly-recommended"` and `"plugin:vue/recommended"`.
24

35
When duplicate arguments exist, only the last one is valid.
46
It's possibly mistakes.

0 commit comments

Comments
 (0)