Skip to content

Commit 85423f9

Browse files
committed
[Tests] upgrade babel-eslint to v10, test on v8 and v9
1 parent 241c38b commit 85423f9

File tree

7 files changed

+50
-23
lines changed

7 files changed

+50
-23
lines changed

.github/workflows/node-4+.yml

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,19 @@ jobs:
3030
- 6
3131
- 5
3232
- 4
33+
babel-eslint:
34+
- 10
35+
- 9
36+
- 8
3337
exclude:
38+
- node-version: 5
39+
babel-eslint: 10
40+
- node-version: 5
41+
babel-eslint: 9
42+
- node-version: 4
43+
babel-eslint: 10
44+
- node-version: 4
45+
babel-eslint: 9
3446
- node-version: 9
3547
eslint: 7
3648
- node-version: 8
@@ -62,7 +74,7 @@ jobs:
6274
name: 'nvm install ${{ matrix.node-version }} && npm install'
6375
with:
6476
node-version: ${{ matrix.node-version }}
65-
after_install: npm install --no-save "eslint@${{ matrix.eslint }}" "@typescript-eslint/parser@${{ matrix.node-version >= 10 && '3' || '2' }}"
77+
after_install: npm install --no-save "eslint@${{ matrix.eslint }}" "@typescript-eslint/parser@${{ matrix.node-version >= 10 && '3' || '2' }}" "babel-eslint@${{ matrix.babel-eslint }}"
6678
skip-ls-check: true
6779
env:
6880
NPM_CONFIG_LEGACY_PEER_DEPS: true

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@
4848
"@types/node": "^14.14.37",
4949
"@typescript-eslint/parser": "^2.34.0 || ^3.10.1",
5050
"aud": "^1.1.5",
51-
"babel-eslint": "^8.2.6",
51+
"babel-eslint": "^8 || ^9 || ^10.1.0",
5252
"eslint": "^3 || ^4 || ^5 || ^6 || ^7",
5353
"eslint-config-airbnb-base": "^14.2.1",
5454
"eslint-plugin-eslint-plugin": "^2.3.0 || ^3.3.1",

tests/lib/rules/forbid-prop-types.js

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,10 @@
88
// Requirements
99
// -----------------------------------------------------------------------------
1010

11+
const babelEslintVersion = require('babel-eslint/package.json').version;
12+
const semver = require('semver');
1113
const RuleTester = require('eslint').RuleTester;
14+
1215
const rule = require('../../../lib/rules/forbid-prop-types');
1316

1417
const parsers = require('../../helpers/parsers');
@@ -28,7 +31,7 @@ const parserOptions = {
2831
const ruleTester = new RuleTester({parserOptions});
2932
ruleTester.run('forbid-prop-types', rule, {
3033

31-
valid: [{
34+
valid: [].concat({
3235
code: [
3336
'var First = createReactClass({',
3437
' render: function() {',
@@ -137,7 +140,7 @@ ruleTester.run('forbid-prop-types', rule, {
137140
'};'
138141
].join('\n'),
139142
parser: parsers.BABEL_ESLINT
140-
}, {
143+
}, semver.satisfies(babelEslintVersion, '< 9') ? {
141144
// Invalid code, should not be validated
142145
code: [
143146
'class Component extends React.Component {',
@@ -152,7 +155,7 @@ ruleTester.run('forbid-prop-types', rule, {
152155
'}'
153156
].join('\n'),
154157
parser: parsers.BABEL_ESLINT
155-
}, {
158+
} : [], {
156159
code: [
157160
'var Hello = createReactClass({',
158161
' render: function() {',
@@ -306,7 +309,7 @@ ruleTester.run('forbid-prop-types', rule, {
306309
].join('\n'),
307310
parser: parsers.BABEL_ESLINT,
308311
options: [{checkContextTypes: true}]
309-
}, {
312+
}, semver.satisfies(babelEslintVersion, '< 9') ? {
310313
// Invalid code, should not be validated
311314
code: [
312315
'class Component extends React.Component {',
@@ -322,7 +325,7 @@ ruleTester.run('forbid-prop-types', rule, {
322325
].join('\n'),
323326
parser: parsers.BABEL_ESLINT,
324327
options: [{checkContextTypes: true}]
325-
}, {
328+
} : [], {
326329
code: [
327330
'var Hello = createReactClass({',
328331
' render: function() {',
@@ -480,7 +483,7 @@ ruleTester.run('forbid-prop-types', rule, {
480483
].join('\n'),
481484
parser: parsers.BABEL_ESLINT,
482485
options: [{checkChildContextTypes: true}]
483-
}, {
486+
}, semver.satisfies(babelEslintVersion, '< 9') ? {
484487
// Invalid code, should not be validated
485488
code: [
486489
'class Component extends React.Component {',
@@ -496,7 +499,7 @@ ruleTester.run('forbid-prop-types', rule, {
496499
].join('\n'),
497500
parser: parsers.BABEL_ESLINT,
498501
options: [{checkChildContextTypes: true}]
499-
}, {
502+
} : [], {
500503
code: [
501504
'var Hello = createReactClass({',
502505
' render: function() {',
@@ -577,7 +580,7 @@ ruleTester.run('forbid-prop-types', rule, {
577580
' bar: PropTypes.shape(Foo),',
578581
'};'
579582
].join('\n')
580-
}],
583+
}),
581584

582585
invalid: [{
583586
code: [

tests/lib/rules/jsx-sort-default-props.js

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,10 @@
99
// Requirements
1010
// -----------------------------------------------------------------------------
1111

12+
const babelEslintVersion = require('babel-eslint/package.json').version;
13+
const semver = require('semver');
1214
const RuleTester = require('eslint').RuleTester;
15+
1316
const rule = require('../../../lib/rules/jsx-sort-default-props');
1417

1518
const parsers = require('../../helpers/parsers');
@@ -28,7 +31,7 @@ const parserOptions = {
2831

2932
const ruleTester = new RuleTester({parserOptions});
3033
ruleTester.run('jsx-sort-default-props', rule, {
31-
valid: [{
34+
valid: [].concat({
3235
code: [
3336
'var First = createReactClass({',
3437
' render: function() {',
@@ -194,7 +197,7 @@ ruleTester.run('jsx-sort-default-props', rule, {
194197
options: [{
195198
ignoreCase: true
196199
}]
197-
}, {
200+
}, semver.satisfies(babelEslintVersion, '< 9') ? {
198201
// Invalid code, should not be validated
199202
code: [
200203
'class Component extends React.Component {',
@@ -214,7 +217,7 @@ ruleTester.run('jsx-sort-default-props', rule, {
214217
'}'
215218
].join('\n'),
216219
parser: parsers.BABEL_ESLINT
217-
}, {
220+
} : [], {
218221
code: [
219222
'var Hello = createReactClass({',
220223
' render: function() {',
@@ -346,7 +349,7 @@ ruleTester.run('jsx-sort-default-props', rule, {
346349
'First.propTypes = propTypes;',
347350
'First.defaultProps = defaultProps;'
348351
].join('\n')
349-
}],
352+
}),
350353

351354
invalid: [{
352355
code: [

tests/lib/rules/no-unused-prop-types.js

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,10 @@
99
// Requirements
1010
// ------------------------------------------------------------------------------
1111

12+
const babelEslintVersion = require('babel-eslint/package.json').version;
13+
const semver = require('semver');
1214
const RuleTester = require('eslint').RuleTester;
15+
1316
const rule = require('../../../lib/rules/no-unused-prop-types');
1417

1518
const parsers = require('../../helpers/parsers');
@@ -4452,7 +4455,7 @@ ruleTester.run('no-unused-prop-types', rule, {
44524455
code: [
44534456
'class Hello extends React.Component {',
44544457
' props: {',
4455-
' unused: PropTypes.string',
4458+
' unused: string',
44564459
' };',
44574460
' render () {',
44584461
' return <div>Hello {this.props.name}</div>;',
@@ -4463,7 +4466,7 @@ ruleTester.run('no-unused-prop-types', rule, {
44634466
errors: [
44644467
{message: '\'unused\' PropType is defined but prop is never used'}
44654468
]
4466-
}, {
4469+
}, semver.satisfies(babelEslintVersion, '< 9') ? [{
44674470
code: [
44684471
'class Hello extends React.Component {',
44694472
' props: {',
@@ -4478,7 +4481,7 @@ ruleTester.run('no-unused-prop-types', rule, {
44784481
errors: [
44794482
{message: '\'unused\' PropType is defined but prop is never used'}
44804483
]
4481-
}, {
4484+
}] : [], {
44824485
code: [
44834486
'type Props = {unused: Object;};',
44844487
'class Hello extends React.Component {',

tests/lib/rules/prop-types.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,10 @@
99
// Requirements
1010
// ------------------------------------------------------------------------------
1111

12+
const babelEslintVersion = require('babel-eslint/package.json').version;
13+
const semver = require('semver');
1214
const RuleTester = require('eslint').RuleTester;
15+
1316
const rule = require('../../../lib/rules/prop-types');
1417

1518
const parsers = require('../../helpers/parsers');
@@ -3508,7 +3511,7 @@ ruleTester.run('prop-types', rule, {
35083511
messageId: 'missingPropType',
35093512
data: {name: 'lastname'}
35103513
}]
3511-
}, {
3514+
}, semver.satisfies(babelEslintVersion, '< 9') ? {
35123515
code: [
35133516
'class Hello extends React.Component {',
35143517
' static propTypes: { ',
@@ -3524,7 +3527,7 @@ ruleTester.run('prop-types', rule, {
35243527
messageId: 'missingPropType',
35253528
data: {name: 'firstname'}
35263529
}]
3527-
}, {
3530+
} : [], {
35283531
code: [
35293532
'class Hello extends React.Component {',
35303533
' render() {',

tests/lib/rules/sort-prop-types.js

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,10 @@
88
// Requirements
99
// -----------------------------------------------------------------------------
1010

11+
const babelEslintVersion = require('babel-eslint/package.json').version;
12+
const semver = require('semver');
1113
const RuleTester = require('eslint').RuleTester;
14+
1215
const rule = require('../../../lib/rules/sort-prop-types');
1316

1417
const parsers = require('../../helpers/parsers');
@@ -28,7 +31,7 @@ const parserOptions = {
2831
const ruleTester = new RuleTester({parserOptions});
2932
ruleTester.run('sort-prop-types', rule, {
3033

31-
valid: [{
34+
valid: [].concat({
3235
code: [
3336
'var First = createReactClass({',
3437
' render: function() {',
@@ -155,7 +158,7 @@ ruleTester.run('sort-prop-types', rule, {
155158
options: [{
156159
ignoreCase: true
157160
}]
158-
}, {
161+
}, semver.satisfies(babelEslintVersion, '< 9') ? {
159162
// Invalid code, should not be validated
160163
code: [
161164
'class Component extends React.Component {',
@@ -170,7 +173,7 @@ ruleTester.run('sort-prop-types', rule, {
170173
'}'
171174
].join('\n'),
172175
parser: parsers.BABEL_ESLINT
173-
}, {
176+
} : [], {
174177
code: [
175178
'var Hello = createReactClass({',
176179
' render: function() {',
@@ -463,7 +466,7 @@ ruleTester.run('sort-prop-types', rule, {
463466
options: [{
464467
sortShapeProp: true
465468
}]
466-
}],
469+
}),
467470

468471
invalid: [{
469472
code: [

0 commit comments

Comments
 (0)