Skip to content

Commit

Permalink
[Tests] upgrade babel-eslint to v10, test on v8 and v9
Browse files Browse the repository at this point in the history
  • Loading branch information
ljharb committed Aug 20, 2021
1 parent 241c38b commit 85423f9
Show file tree
Hide file tree
Showing 7 changed files with 50 additions and 23 deletions.
14 changes: 13 additions & 1 deletion .github/workflows/node-4+.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,19 @@ jobs:
- 6
- 5
- 4
babel-eslint:
- 10
- 9
- 8
exclude:
- node-version: 5
babel-eslint: 10
- node-version: 5
babel-eslint: 9
- node-version: 4
babel-eslint: 10
- node-version: 4
babel-eslint: 9
- node-version: 9
eslint: 7
- node-version: 8
Expand Down Expand Up @@ -62,7 +74,7 @@ jobs:
name: 'nvm install ${{ matrix.node-version }} && npm install'
with:
node-version: ${{ matrix.node-version }}
after_install: npm install --no-save "eslint@${{ matrix.eslint }}" "@typescript-eslint/parser@${{ matrix.node-version >= 10 && '3' || '2' }}"
after_install: npm install --no-save "eslint@${{ matrix.eslint }}" "@typescript-eslint/parser@${{ matrix.node-version >= 10 && '3' || '2' }}" "babel-eslint@${{ matrix.babel-eslint }}"
skip-ls-check: true
env:
NPM_CONFIG_LEGACY_PEER_DEPS: true
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@
"@types/node": "^14.14.37",
"@typescript-eslint/parser": "^2.34.0 || ^3.10.1",
"aud": "^1.1.5",
"babel-eslint": "^8.2.6",
"babel-eslint": "^8 || ^9 || ^10.1.0",
"eslint": "^3 || ^4 || ^5 || ^6 || ^7",
"eslint-config-airbnb-base": "^14.2.1",
"eslint-plugin-eslint-plugin": "^2.3.0 || ^3.3.1",
Expand Down
19 changes: 11 additions & 8 deletions tests/lib/rules/forbid-prop-types.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,10 @@
// Requirements
// -----------------------------------------------------------------------------

const babelEslintVersion = require('babel-eslint/package.json').version;
const semver = require('semver');
const RuleTester = require('eslint').RuleTester;

const rule = require('../../../lib/rules/forbid-prop-types');

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

valid: [{
valid: [].concat({
code: [
'var First = createReactClass({',
' render: function() {',
Expand Down Expand Up @@ -137,7 +140,7 @@ ruleTester.run('forbid-prop-types', rule, {
'};'
].join('\n'),
parser: parsers.BABEL_ESLINT
}, {
}, semver.satisfies(babelEslintVersion, '< 9') ? {
// Invalid code, should not be validated
code: [
'class Component extends React.Component {',
Expand All @@ -152,7 +155,7 @@ ruleTester.run('forbid-prop-types', rule, {
'}'
].join('\n'),
parser: parsers.BABEL_ESLINT
}, {
} : [], {
code: [
'var Hello = createReactClass({',
' render: function() {',
Expand Down Expand Up @@ -306,7 +309,7 @@ ruleTester.run('forbid-prop-types', rule, {
].join('\n'),
parser: parsers.BABEL_ESLINT,
options: [{checkContextTypes: true}]
}, {
}, semver.satisfies(babelEslintVersion, '< 9') ? {
// Invalid code, should not be validated
code: [
'class Component extends React.Component {',
Expand All @@ -322,7 +325,7 @@ ruleTester.run('forbid-prop-types', rule, {
].join('\n'),
parser: parsers.BABEL_ESLINT,
options: [{checkContextTypes: true}]
}, {
} : [], {
code: [
'var Hello = createReactClass({',
' render: function() {',
Expand Down Expand Up @@ -480,7 +483,7 @@ ruleTester.run('forbid-prop-types', rule, {
].join('\n'),
parser: parsers.BABEL_ESLINT,
options: [{checkChildContextTypes: true}]
}, {
}, semver.satisfies(babelEslintVersion, '< 9') ? {
// Invalid code, should not be validated
code: [
'class Component extends React.Component {',
Expand All @@ -496,7 +499,7 @@ ruleTester.run('forbid-prop-types', rule, {
].join('\n'),
parser: parsers.BABEL_ESLINT,
options: [{checkChildContextTypes: true}]
}, {
} : [], {
code: [
'var Hello = createReactClass({',
' render: function() {',
Expand Down Expand Up @@ -577,7 +580,7 @@ ruleTester.run('forbid-prop-types', rule, {
' bar: PropTypes.shape(Foo),',
'};'
].join('\n')
}],
}),

invalid: [{
code: [
Expand Down
11 changes: 7 additions & 4 deletions tests/lib/rules/jsx-sort-default-props.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,10 @@
// Requirements
// -----------------------------------------------------------------------------

const babelEslintVersion = require('babel-eslint/package.json').version;
const semver = require('semver');
const RuleTester = require('eslint').RuleTester;

const rule = require('../../../lib/rules/jsx-sort-default-props');

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

const ruleTester = new RuleTester({parserOptions});
ruleTester.run('jsx-sort-default-props', rule, {
valid: [{
valid: [].concat({
code: [
'var First = createReactClass({',
' render: function() {',
Expand Down Expand Up @@ -194,7 +197,7 @@ ruleTester.run('jsx-sort-default-props', rule, {
options: [{
ignoreCase: true
}]
}, {
}, semver.satisfies(babelEslintVersion, '< 9') ? {
// Invalid code, should not be validated
code: [
'class Component extends React.Component {',
Expand All @@ -214,7 +217,7 @@ ruleTester.run('jsx-sort-default-props', rule, {
'}'
].join('\n'),
parser: parsers.BABEL_ESLINT
}, {
} : [], {
code: [
'var Hello = createReactClass({',
' render: function() {',
Expand Down Expand Up @@ -346,7 +349,7 @@ ruleTester.run('jsx-sort-default-props', rule, {
'First.propTypes = propTypes;',
'First.defaultProps = defaultProps;'
].join('\n')
}],
}),

invalid: [{
code: [
Expand Down
9 changes: 6 additions & 3 deletions tests/lib/rules/no-unused-prop-types.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,10 @@
// Requirements
// ------------------------------------------------------------------------------

const babelEslintVersion = require('babel-eslint/package.json').version;
const semver = require('semver');
const RuleTester = require('eslint').RuleTester;

const rule = require('../../../lib/rules/no-unused-prop-types');

const parsers = require('../../helpers/parsers');
Expand Down Expand Up @@ -4452,7 +4455,7 @@ ruleTester.run('no-unused-prop-types', rule, {
code: [
'class Hello extends React.Component {',
' props: {',
' unused: PropTypes.string',
' unused: string',
' };',
' render () {',
' return <div>Hello {this.props.name}</div>;',
Expand All @@ -4463,7 +4466,7 @@ ruleTester.run('no-unused-prop-types', rule, {
errors: [
{message: '\'unused\' PropType is defined but prop is never used'}
]
}, {
}, semver.satisfies(babelEslintVersion, '< 9') ? [{
code: [
'class Hello extends React.Component {',
' props: {',
Expand All @@ -4478,7 +4481,7 @@ ruleTester.run('no-unused-prop-types', rule, {
errors: [
{message: '\'unused\' PropType is defined but prop is never used'}
]
}, {
}] : [], {
code: [
'type Props = {unused: Object;};',
'class Hello extends React.Component {',
Expand Down
7 changes: 5 additions & 2 deletions tests/lib/rules/prop-types.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,10 @@
// Requirements
// ------------------------------------------------------------------------------

const babelEslintVersion = require('babel-eslint/package.json').version;
const semver = require('semver');
const RuleTester = require('eslint').RuleTester;

const rule = require('../../../lib/rules/prop-types');

const parsers = require('../../helpers/parsers');
Expand Down Expand Up @@ -3508,7 +3511,7 @@ ruleTester.run('prop-types', rule, {
messageId: 'missingPropType',
data: {name: 'lastname'}
}]
}, {
}, semver.satisfies(babelEslintVersion, '< 9') ? {
code: [
'class Hello extends React.Component {',
' static propTypes: { ',
Expand All @@ -3524,7 +3527,7 @@ ruleTester.run('prop-types', rule, {
messageId: 'missingPropType',
data: {name: 'firstname'}
}]
}, {
} : [], {
code: [
'class Hello extends React.Component {',
' render() {',
Expand Down
11 changes: 7 additions & 4 deletions tests/lib/rules/sort-prop-types.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,10 @@
// Requirements
// -----------------------------------------------------------------------------

const babelEslintVersion = require('babel-eslint/package.json').version;
const semver = require('semver');
const RuleTester = require('eslint').RuleTester;

const rule = require('../../../lib/rules/sort-prop-types');

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

valid: [{
valid: [].concat({
code: [
'var First = createReactClass({',
' render: function() {',
Expand Down Expand Up @@ -155,7 +158,7 @@ ruleTester.run('sort-prop-types', rule, {
options: [{
ignoreCase: true
}]
}, {
}, semver.satisfies(babelEslintVersion, '< 9') ? {
// Invalid code, should not be validated
code: [
'class Component extends React.Component {',
Expand All @@ -170,7 +173,7 @@ ruleTester.run('sort-prop-types', rule, {
'}'
].join('\n'),
parser: parsers.BABEL_ESLINT
}, {
} : [], {
code: [
'var Hello = createReactClass({',
' render: function() {',
Expand Down Expand Up @@ -463,7 +466,7 @@ ruleTester.run('sort-prop-types', rule, {
options: [{
sortShapeProp: true
}]
}],
}),

invalid: [{
code: [
Expand Down

0 comments on commit 85423f9

Please sign in to comment.