Skip to content

Commit 158c10b

Browse files
committed
chore: update ESLint to v6
1 parent 082c03d commit 158c10b

File tree

73 files changed

+113
-102
lines changed

Some content is hidden

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

73 files changed

+113
-102
lines changed

.circleci/config.yml

+14-9
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@ workflows:
22
version: 2
33
node-multi-build:
44
jobs:
5-
- node-v6
65
- node-v8
76
- node-v10
8-
- node-v10-minimal
7+
- node-v12
8+
- node-v12-minimal
99

1010
version: 2
1111
jobs:
@@ -31,10 +31,6 @@ jobs:
3131
name: Test
3232
command: npm test
3333

34-
node-v6:
35-
<<: *node-base
36-
docker:
37-
- image: node:6
3834
node-v8:
3935
<<: *node-base
4036
docker:
@@ -43,9 +39,14 @@ jobs:
4339
<<: *node-base
4440
docker:
4541
- image: node:10
46-
node-v10-minimal:
42+
node-v12:
43+
<<: *node-base
4744
docker:
48-
- image: node:10
45+
- image: node:12
46+
47+
node-v12-minimal:
48+
docker:
49+
- image: node:12
4950
steps:
5051
- run:
5152
name: Versions
@@ -59,7 +60,11 @@ jobs:
5960
command: npm install
6061
- run:
6162
name: Install eslint 5
62-
command: npm install [email protected] --no-save
63+
command: |
64+
# We need to execute this command twice because of npm's bug.
65+
# See also: https://npm.community/t/error-node-modules-staging-eslint-e7cf6846-node-modules-eslint
66+
npm install [email protected] --no-save
67+
npm install [email protected] --no-save
6368
- run:
6469
name: Test
6570
command: npm test

.eslintrc.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
'use strict'
22

33
module.exports = {
4-
root: true,
4+
// https://github.com/eslint/eslint/issues/11888
5+
root: false,
56
parserOptions: {
67
ecmaVersion: 6
78
},

docs/user-guide/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ If you installed [@vue/cli-plugin-eslint](https://github.com/vuejs/vue-cli/tree/
6767

6868
#### How to use custom parser?
6969

70-
If you want to use custom parsers such as [babel-eslint](https://www.npmjs.com/package/babel-eslint) or [typescript-eslint-parser](https://www.npmjs.com/package/typescript-eslint-parser), you have to use `parserOptions.parser` option instead of `parser` option. Because this plugin requires [vue-eslint-parser](https://www.npmjs.com/package/vue-eslint-parser) to parse `.vue` files, so this plugin doesn't work if you overwrote `parser` option.
70+
If you want to use custom parsers such as [babel-eslint](https://www.npmjs.com/package/babel-eslint) or [@typescript-eslint/parser](https://www.npmjs.com/package/@typescript-eslint/parser), you have to use `parserOptions.parser` option instead of `parser` option. Because this plugin requires [vue-eslint-parser](https://www.npmjs.com/package/vue-eslint-parser) to parse `.vue` files, so this plugin doesn't work if you overwrote `parser` option.
7171

7272
```diff
7373
- "parser": "babel-eslint",

package.json

+5-4
Original file line numberDiff line numberDiff line change
@@ -50,18 +50,19 @@
5050
},
5151
"devDependencies": {
5252
"@types/node": "^4.2.16",
53-
"babel-eslint": "^8.2.2",
53+
"@typescript-eslint/parser": "^1.11.0",
54+
"babel-eslint": "^10.0.2",
5455
"chai": "^4.1.0",
55-
"eslint": "^5.11.1",
56+
"eslint": "^6.0.0",
5657
"eslint-plugin-eslint-plugin": "^2.0.1",
5758
"eslint-plugin-vue-libs": "^3.0.0",
59+
"eslint-plugin-vue": "file:.",
5860
"eslint4b": "^5.1.0",
5961
"lodash": "^4.17.4",
6062
"mocha": "^5.2.0",
6163
"nyc": "^12.0.2",
6264
"semver": "^5.6.0",
63-
"typescript": "^3.1.3",
64-
"typescript-eslint-parser": "^20.0.0",
65+
"typescript": "^3.5.2",
6566
"vue-eslint-editor": "^0.1.4",
6667
"vuepress": "^0.14.5"
6768
}

tests/lib/autofix.js

+2
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
'use strict'
66

77
const Linter = require('eslint').Linter
8+
const parser = require('vue-eslint-parser')
89
const chai = require('chai')
910

1011
const rules = require('../..').rules
@@ -24,6 +25,7 @@ const baseConfig = {
2425

2526
describe('Complex autofix test cases', () => {
2627
const linter = new Linter()
28+
linter.defineParser('vue-eslint-parser', parser)
2729
for (const key of Object.keys(rules)) {
2830
const ruleId = `vue/${key}`
2931
linter.defineRule(ruleId, rules[key])

tests/lib/rules-without-vue-eslint-parser.js

+2
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
'use strict'
66

77
const Linter = require('eslint').Linter
8+
const parser = require('babel-eslint')
89
const rules = require('../..').rules
910

1011
describe("Don't crash even if without vue-eslint-parser.", () => {
@@ -22,6 +23,7 @@ describe("Don't crash even if without vue-eslint-parser.", () => {
2223
[ruleId]: 'error'
2324
}
2425
}
26+
linter.defineParser('babel-eslint', parser)
2527
linter.defineRule(ruleId, rules[key])
2628
linter.verifyAndFix(code, config, 'test.vue')
2729
})

tests/lib/rules/array-bracket-spacing.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ const RuleTester = require('eslint').RuleTester
77
const rule = require('../../../lib/rules/array-bracket-spacing')
88

99
const tester = new RuleTester({
10-
parser: 'vue-eslint-parser',
10+
parser: require.resolve('vue-eslint-parser'),
1111
parserOptions: { ecmaVersion: 2015 }
1212
})
1313

tests/lib/rules/arrow-spacing.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ const RuleTester = require('eslint').RuleTester
77
const rule = require('../../../lib/rules/arrow-spacing')
88

99
const tester = new RuleTester({
10-
parser: 'vue-eslint-parser',
10+
parser: require.resolve('vue-eslint-parser'),
1111
parserOptions: { ecmaVersion: 2015 }
1212
})
1313

tests/lib/rules/attribute-hyphenation.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ const RuleTester = require('eslint').RuleTester
1717
// ------------------------------------------------------------------------------
1818

1919
const ruleTester = new RuleTester({
20-
parser: 'vue-eslint-parser',
20+
parser: require.resolve('vue-eslint-parser'),
2121
parserOptions: { ecmaVersion: 2015 }
2222
})
2323

tests/lib/rules/attributes-order.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ var RuleTester = require('eslint').RuleTester
1616
// ------------------------------------------------------------------------------
1717

1818
var tester = new RuleTester({
19-
parser: 'vue-eslint-parser',
19+
parser: require.resolve('vue-eslint-parser'),
2020
parserOptions: { ecmaVersion: 2015 }
2121
})
2222
tester.run('attributes-order', rule, {

tests/lib/rules/block-spacing.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ const RuleTester = require('eslint').RuleTester
77
const rule = require('../../../lib/rules/block-spacing')
88

99
const tester = new RuleTester({
10-
parser: 'vue-eslint-parser',
10+
parser: require.resolve('vue-eslint-parser'),
1111
parserOptions: { ecmaVersion: 2015 }
1212
})
1313

tests/lib/rules/brace-style.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ const RuleTester = require('eslint').RuleTester
77
const rule = require('../../../lib/rules/brace-style')
88

99
const tester = new RuleTester({
10-
parser: 'vue-eslint-parser',
10+
parser: require.resolve('vue-eslint-parser'),
1111
parserOptions: { ecmaVersion: 2015 }
1212
})
1313

tests/lib/rules/camelcase.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ const RuleTester = require('eslint').RuleTester
77
const rule = require('../../../lib/rules/camelcase')
88

99
const tester = new RuleTester({
10-
parser: 'vue-eslint-parser',
10+
parser: require.resolve('vue-eslint-parser'),
1111
parserOptions: { ecmaVersion: 2015 }
1212
})
1313

tests/lib/rules/comma-dangle.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ const RuleTester = require('eslint').RuleTester
77
const rule = require('../../../lib/rules/comma-dangle')
88

99
const tester = new RuleTester({
10-
parser: 'vue-eslint-parser',
10+
parser: require.resolve('vue-eslint-parser'),
1111
parserOptions: { ecmaVersion: 2018 }
1212
})
1313

tests/lib/rules/comment-directive.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ const eslint = require('eslint')
2020

2121
// Initialize linter.
2222
const linter = new eslint.CLIEngine({
23-
parser: 'vue-eslint-parser',
23+
parser: require.resolve('vue-eslint-parser'),
2424
parserOptions: {
2525
ecmaVersion: 2015
2626
},

tests/lib/rules/component-name-in-template-casing.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ const RuleTester = require('eslint').RuleTester
1515
// ------------------------------------------------------------------------------
1616

1717
const tester = new RuleTester({
18-
parser: 'vue-eslint-parser',
18+
parser: require.resolve('vue-eslint-parser'),
1919
parserOptions: {
2020
ecmaVersion: 2018,
2121
sourceType: 'module'

tests/lib/rules/eqeqeq.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ const RuleTester = require('eslint').RuleTester
77
const rule = require('../../../lib/rules/eqeqeq')
88

99
const tester = new RuleTester({
10-
parser: 'vue-eslint-parser',
10+
parser: require.resolve('vue-eslint-parser'),
1111
parserOptions: { ecmaVersion: 2015 }
1212
})
1313

tests/lib/rules/html-closing-bracket-newline.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ const RuleTester = require('eslint').RuleTester
1717
// ------------------------------------------------------------------------------
1818

1919
const tester = new RuleTester({
20-
parser: 'vue-eslint-parser',
20+
parser: require.resolve('vue-eslint-parser'),
2121
parserOptions: {
2222
ecmaVersion: 2015
2323
}

tests/lib/rules/html-closing-bracket-spacing.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ const rule = require('../../../lib/rules/html-closing-bracket-spacing')
1616
// -----------------------------------------------------------------------------
1717

1818
var ruleTester = new RuleTester({
19-
parser: 'vue-eslint-parser',
19+
parser: require.resolve('vue-eslint-parser'),
2020
parserOptions: {
2121
ecmaVersion: 2015
2222
}

tests/lib/rules/html-end-tags.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ const rule = require('../../../lib/rules/html-end-tags')
1717
// ------------------------------------------------------------------------------
1818

1919
const tester = new RuleTester({
20-
parser: 'vue-eslint-parser',
20+
parser: require.resolve('vue-eslint-parser'),
2121
parserOptions: { ecmaVersion: 2015 }
2222
})
2323

tests/lib/rules/html-indent.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ function unIndent (strings) {
9595
// ------------------------------------------------------------------------------
9696

9797
const tester = new RuleTester({
98-
parser: 'vue-eslint-parser',
98+
parser: require.resolve('vue-eslint-parser'),
9999
parserOptions: {
100100
ecmaVersion: 2017,
101101
ecmaFeatures: {

tests/lib/rules/html-quotes.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ const rule = require('../../../lib/rules/html-quotes')
1717
// ------------------------------------------------------------------------------
1818

1919
const tester = new RuleTester({
20-
parser: 'vue-eslint-parser',
20+
parser: require.resolve('vue-eslint-parser'),
2121
parserOptions: { ecmaVersion: 2015 }
2222
})
2323

tests/lib/rules/html-self-closing.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ const RuleTester = require('eslint').RuleTester
1717
// ------------------------------------------------------------------------------
1818

1919
const tester = new RuleTester({
20-
parser: 'vue-eslint-parser'
20+
parser: require.resolve('vue-eslint-parser')
2121
})
2222

2323
const ALL_CODE = `<template>

tests/lib/rules/key-spacing.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ const RuleTester = require('eslint').RuleTester
77
const rule = require('../../../lib/rules/key-spacing')
88

99
const tester = new RuleTester({
10-
parser: 'vue-eslint-parser',
10+
parser: require.resolve('vue-eslint-parser'),
1111
parserOptions: { ecmaVersion: 2015 }
1212
})
1313

tests/lib/rules/match-component-file-name.js

+11-11
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ ruleTester.run('match-component-file-name', rule, {
128128
}
129129
</script>
130130
`,
131-
parser: 'vue-eslint-parser',
131+
parser: require.resolve('vue-eslint-parser'),
132132
parserOptions // options default to [['jsx']]
133133
},
134134
{
@@ -142,7 +142,7 @@ ruleTester.run('match-component-file-name', rule, {
142142
</script>
143143
`,
144144
options: [{ extensions: ['jsx'] }], // missing jsx in options
145-
parser: 'vue-eslint-parser',
145+
parser: require.resolve('vue-eslint-parser'),
146146
parserOptions
147147
},
148148
{
@@ -155,7 +155,7 @@ ruleTester.run('match-component-file-name', rule, {
155155
</script>
156156
`,
157157
options: [{ extensions: ['vue'] }],
158-
parser: 'vue-eslint-parser',
158+
parser: require.resolve('vue-eslint-parser'),
159159
parserOptions
160160
},
161161
{
@@ -166,7 +166,7 @@ ruleTester.run('match-component-file-name', rule, {
166166
</template>
167167
`,
168168
options: [{ extensions: ['vue'] }],
169-
parser: 'vue-eslint-parser',
169+
parser: require.resolve('vue-eslint-parser'),
170170
parserOptions
171171
},
172172
{
@@ -180,7 +180,7 @@ ruleTester.run('match-component-file-name', rule, {
180180
</script>
181181
`,
182182
options: [{ extensions: ['vue'] }],
183-
parser: 'vue-eslint-parser',
183+
parser: require.resolve('vue-eslint-parser'),
184184
parserOptions
185185
},
186186
{
@@ -194,7 +194,7 @@ ruleTester.run('match-component-file-name', rule, {
194194
</script>
195195
`,
196196
options: [{ extensions: ['vue'] }],
197-
parser: 'vue-eslint-parser',
197+
parser: require.resolve('vue-eslint-parser'),
198198
parserOptions
199199
},
200200
{
@@ -208,7 +208,7 @@ ruleTester.run('match-component-file-name', rule, {
208208
</script>
209209
`,
210210
options: [{ extensions: ['vue'] }],
211-
parser: 'vue-eslint-parser',
211+
parser: require.resolve('vue-eslint-parser'),
212212
parserOptions
213213
},
214214
{
@@ -222,7 +222,7 @@ ruleTester.run('match-component-file-name', rule, {
222222
</script>
223223
`,
224224
options: [{ extensions: ['vue'] }],
225-
parser: 'vue-eslint-parser',
225+
parser: require.resolve('vue-eslint-parser'),
226226
parserOptions
227227
},
228228
{
@@ -236,7 +236,7 @@ ruleTester.run('match-component-file-name', rule, {
236236
</script>
237237
`,
238238
options: [{ extensions: ['vue'] }],
239-
parser: 'vue-eslint-parser',
239+
parser: require.resolve('vue-eslint-parser'),
240240
parserOptions
241241
},
242242

@@ -590,7 +590,7 @@ ruleTester.run('match-component-file-name', rule, {
590590
</script>
591591
`,
592592
options: [{ extensions: ['vue'] }],
593-
parser: 'vue-eslint-parser',
593+
parser: require.resolve('vue-eslint-parser'),
594594
parserOptions,
595595
errors: [{
596596
message: 'Component name `MComponent` should match file name `MyComponent`.'
@@ -607,7 +607,7 @@ ruleTester.run('match-component-file-name', rule, {
607607
</script>
608608
`,
609609
options: [{ extensions: ['vue'] }],
610-
parser: 'vue-eslint-parser',
610+
parser: require.resolve('vue-eslint-parser'),
611611
parserOptions,
612612
errors: [{
613613
message: 'Component name `MComponent` should match file name `MyComponent`.'

tests/lib/rules/max-attributes-per-line.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ const rule = require('../../../lib/rules/max-attributes-per-line')
1616
// ------------------------------------------------------------------------------
1717

1818
const ruleTester = new RuleTester({
19-
parser: 'vue-eslint-parser',
19+
parser: require.resolve('vue-eslint-parser'),
2020
parserOptions: { ecmaVersion: 2015 }
2121
})
2222

0 commit comments

Comments
 (0)