Skip to content

Commit bca9686

Browse files
authoredNov 24, 2021
feat: support eslint 8 (#59)
drop node 10 support
1 parent 15b93ad commit bca9686

File tree

10 files changed

+80
-49
lines changed

10 files changed

+80
-49
lines changed
 

‎.autod.conf.js

+11-6
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,23 @@ module.exports = {
1111
'docs',
1212
],
1313
dep: [
14+
'@typescript-eslint/eslint-plugin',
15+
'@typescript-eslint/parser',
1416
'babel-eslint',
17+
'eslint-plugin-eggache',
1518
'eslint-plugin-import',
16-
'eslint-plugin-react',
19+
'eslint-plugin-jsdoc',
1720
'eslint-plugin-jsx-a11y',
18-
'eslint-plugin-eggache',
21+
'eslint-plugin-node',
22+
'eslint-plugin-react',
1923
],
2024
devdep: [
2125
'autod',
22-
'eslint',
26+
'coffee',
27+
'egg-bin',
2328
'egg-ci',
24-
],
25-
semver: [
26-
'egg-bin@1',
29+
'eslint',
30+
'git-contributor',
31+
'typescript',
2732
],
2833
};

‎.github/workflows/nodejs.yml

+24-9
Original file line numberDiff line numberDiff line change
@@ -5,27 +5,42 @@ name: Node.js CI
55

66
on:
77
push:
8-
branches: [ master ]
8+
branches:
9+
- main
10+
- master
911
pull_request:
10-
branches: [ master ]
12+
branches:
13+
- main
14+
- master
15+
schedule:
16+
- cron: '0 2 * * *'
1117

1218
jobs:
1319
build:
14-
1520
runs-on: ${{ matrix.os }}
1621

1722
strategy:
23+
fail-fast: false
1824
matrix:
19-
node-version: [10.x, 12.x]
25+
node-version: [12, 14, 16]
2026
os: [ubuntu-latest, windows-latest, macos-latest]
2127

2228
steps:
23-
- uses: actions/checkout@v2
29+
- name: Checkout Git Source
30+
uses: actions/checkout@v2
31+
2432
- name: Use Node.js ${{ matrix.node-version }}
2533
uses: actions/setup-node@v1
2634
with:
2735
node-version: ${{ matrix.node-version }}
28-
- run: npm i -g npminstall && npminstall
29-
- run: npm run ci
30-
env:
31-
CI: true
36+
37+
- name: Install Dependencies
38+
run: npm i -g npminstall && npminstall
39+
40+
- name: Continuous Integration
41+
run: npm run ci
42+
43+
- name: Code Coverage
44+
uses: codecov/codecov-action@v1
45+
with:
46+
token: ${{ secrets.CODECOV_TOKEN }}

‎.travis.yml

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11

22
language: node_js
33
node_js:
4-
- '10'
54
- '12'
5+
- '14'
6+
- '16'
67
before_install:
78
- npm i npminstall -g
89
install:

‎README.md

+15-13
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ npm i eslint eslint-config-egg --save-dev
1515
```json
1616
{
1717
"devDependencies": {
18-
"eslint-config-egg": "7",
19-
"eslint": "4"
18+
"eslint-config-egg": "10",
19+
"eslint": "8"
2020
}
2121
}
2222
```
@@ -36,8 +36,8 @@ module.exports = {
3636
```json
3737
{
3838
"devDependencies": {
39-
"eslint-config-egg": "7",
40-
"typescript": "^3.5.3"
39+
"eslint-config-egg": "8",
40+
"typescript": "^4.5.2"
4141
}
4242
}
4343
```
@@ -81,16 +81,17 @@ module.exports = {
8181

8282
### Use with Experimental Features
8383

84-
If you want to use eslint-config-egg with experimental features such as `async function`, you should use `babel-eslint` parser:
84+
If you want to use eslint-config-egg with experimental features such as `async function`, you should use `@babel/eslint-parser` parser:
8585

8686
- `package.json`
8787

8888
```json
8989
{
9090
"devDependencies": {
91-
"eslint-config-egg": "7",
92-
"eslint": "4",
93-
"babel-eslint": "8"
91+
"eslint-config-egg": "10",
92+
"eslint": "8",
93+
"@babel/core": "7",
94+
"@babel/eslint-parser": "7"
9495
}
9596
}
9697
```
@@ -101,7 +102,7 @@ If you want to use eslint-config-egg with experimental features such as `async f
101102
module.exports = {
102103
extends: 'eslint-config-egg',
103104
// for experimental features support
104-
parser: 'babel-eslint',
105+
parser: '@babel/eslint-parser',
105106
rules: {
106107
// see https://github.com/eslint/eslint/issues/6274
107108
'generator-star-spacing': 'off',
@@ -119,9 +120,10 @@ If you want to use eslint-config-egg with react, jsx and es6 modules:
119120
```json
120121
{
121122
"devDependencies": {
122-
"eslint-config-egg": "7",
123-
"eslint": "4",
124-
"babel-eslint": "8",
123+
"eslint-config-egg": "10",
124+
"eslint": "8",
125+
"@babel/core": "7",
126+
"@babel/eslint-parser": "7",
125127
"eslint-plugin-react": "7"
126128
}
127129
}
@@ -133,7 +135,7 @@ If you want to use eslint-config-egg with react, jsx and es6 modules:
133135
module.exports = {
134136
extends: 'eslint-config-egg',
135137
// for experimental features support
136-
parser: 'babel-eslint',
138+
parser: '@babel/eslint-parser',
137139
parserOptions: {
138140
// for es6 module
139141
sourceType: 'module',

‎appveyor.yml

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
environment:
22
matrix:
3-
- nodejs_version: '10'
43
- nodejs_version: '12'
4+
- nodejs_version: '14'
5+
- nodejs_version: '16'
56

67
install:
78
- ps: Install-Product node $env:nodejs_version

‎package.json

+18-16
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "eslint-config-egg",
3-
"version": "9.0.0",
3+
"version": "10.0.0",
44
"description": "Node Style Guide for Egg.",
55
"main": "index",
66
"files": [
@@ -12,24 +12,26 @@
1212
"lib"
1313
],
1414
"dependencies": {
15-
"@typescript-eslint/eslint-plugin": "^3.0.0",
16-
"@typescript-eslint/parser": "^3.0.0",
17-
"babel-eslint": "^8.2.6",
15+
"@babel/core": "^7.16.0",
16+
"@babel/eslint-parser": "^7.16.3",
17+
"@typescript-eslint/eslint-plugin": "^5.4.0",
18+
"@typescript-eslint/parser": "^5.4.0",
1819
"eslint-plugin-eggache": "^1.0.0",
19-
"eslint-plugin-import": "^2.14.0",
20-
"eslint-plugin-jsdoc": "^4.1.1",
21-
"eslint-plugin-jsx-a11y": "^6.1.1",
20+
"eslint-plugin-import": "^2.25.3",
21+
"eslint-plugin-jsdoc": "^37.0.3",
22+
"eslint-plugin-jsx-a11y": "^6.5.1",
2223
"eslint-plugin-node": "^11.1.0",
23-
"eslint-plugin-react": "^7.11.1"
24+
"eslint-plugin-react": "^7.27.1"
2425
},
2526
"devDependencies": {
26-
"autod": "^3.0.1",
27-
"coffee": "^5.1.0",
28-
"egg-bin": "^1.0.0",
29-
"egg-ci": "^1.8.0",
30-
"eslint": "^6.6.0",
27+
"@babel/preset-react": "^7.16.0",
28+
"autod": "^3.1.2",
29+
"coffee": "^5.4.0",
30+
"egg-bin": "^4.16.4",
31+
"egg-ci": "^1.19.0",
32+
"eslint": "^8.3.0",
3133
"git-contributor": "^1.0.10",
32-
"typescript": "^3.5.3"
34+
"typescript": "^4.5.2"
3335
},
3436
"repository": {
3537
"type": "git",
@@ -45,9 +47,9 @@
4547
"contributor": "git-contributor"
4648
},
4749
"engines": {
48-
"node": ">=10.0.0"
50+
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
4951
},
5052
"ci": {
51-
"version": "10, 12"
53+
"version": "12, 14, 16"
5254
}
5355
}

‎react.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ module.exports = {
88
'./lib/rules/react',
99
'./lib/rules/react-a11y',
1010
].map(require.resolve),
11-
parser: 'babel-eslint',
11+
parser: '@babel/eslint-parser',
1212
rules: {},
1313
parserOptions: {
1414
ecmaFeatures: {
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"presets": [
3+
"@babel/preset-react"
4+
]
5+
}
+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
interface Foo {
1+
export interface Foo {
22
bar;
33
baz;
44
}

‎test/fixtures/ts-app/align/members.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
interface Foo {
1+
export interface Foo {
22
bar;
33
baz;
44
}

0 commit comments

Comments
 (0)
Please sign in to comment.