Skip to content

Commit

Permalink
[eslint] enable eslint-plugin-eslint-plugin
Browse files Browse the repository at this point in the history
  • Loading branch information
golopot committed Oct 20, 2019
1 parent 11dc56b commit 97d7c2d
Show file tree
Hide file tree
Showing 17 changed files with 4 additions and 278 deletions.
3 changes: 2 additions & 1 deletion .eslintrc
@@ -1,6 +1,7 @@
{
"root": true,
"extends": "airbnb-base",
"extends": ["airbnb-base", "plugin:eslint-plugin/recommended"],
"plugins": ["eslint-plugin"],
"env": {
"es6": true,
"node": true
Expand Down
2 changes: 1 addition & 1 deletion lib/rules/jsx-child-element-spacing.js
Expand Up @@ -45,7 +45,7 @@ module.exports = {
recommended: false,
url: docsUrl('jsx-child-element-spacing')
},
fixable: false,
fixable: null,
schema: [
{
type: 'object',
Expand Down
1 change: 1 addition & 0 deletions package.json
Expand Up @@ -28,6 +28,7 @@
"dependencies": {
"array-includes": "^3.0.3",
"doctrine": "^2.1.0",
"eslint-plugin-eslint-plugin": "^2.1.0",
"has": "^1.0.3",
"jsx-ast-utils": "^2.2.1",
"object.entries": "^1.1.0",
Expand Down
56 changes: 0 additions & 56 deletions tests/lib/rules/default-props-match-prop-types.js
Expand Up @@ -252,24 +252,6 @@ ruleTester.run('default-props-match-prop-types', rule, {
'};'
].join('\n')
},
{
code: [
'class Greeting extends React.Component {',
' render() {',
' return (',
' <h1>Hello, {this.props.foo} {this.props.bar}</h1>',
' );',
' }',
'}',
'Greeting.propTypes = {',
' foo: React.PropTypes.string,',
' bar: React.PropTypes.string.isRequired',
'};',
'Greeting.defaultProps = {',
' foo: "foo"',
'};'
].join('\n')
},
{
code: [
'class Greeting extends React.Component {',
Expand Down Expand Up @@ -513,25 +495,6 @@ ruleTester.run('default-props-match-prop-types', rule, {
'};'
].join('\n')
},
{
code: [
'class Greeting extends React.Component {',
' render() {',
' return (',
' <h1>Hello, {this.props.foo} {this.props.bar}</h1>',
' );',
' }',
'}',
'Greeting.propTypes = {',
' foo: React.PropTypes.string,',
' bar: React.PropTypes.string.isRequired',
'};',
'Greeting.defaultProps = {',
' ...defaults,',
' bar: "bar"',
'};'
].join('\n')
},

//
// with Flow annotations
Expand Down Expand Up @@ -1348,25 +1311,6 @@ ruleTester.run('default-props-match-prop-types', rule, {
column: 5
}]
},
{
code: [
'function MyStatelessComponent({ foo, bar }) {',
' return <div>{foo}{bar}</div>;',
'}',
'MyStatelessComponent.propTypes = {',
' foo: React.PropTypes.string,',
' bar: React.PropTypes.string.isRequired',
'};',
'MyStatelessComponent.defaultProps = {',
' baz: "baz"',
'};'
].join('\n'),
errors: [{
message: 'defaultProp "baz" has no corresponding propTypes declaration.',
line: 9,
column: 3
}]
},
{
code: [
'class Greeting extends React.Component {',
Expand Down
25 changes: 0 additions & 25 deletions tests/lib/rules/destructuring-assignment.js
Expand Up @@ -95,31 +95,6 @@ ruleTester.run('destructuring-assignment', rule, {
return <div>{foo}</div>;
}
};`
}, {
code: `const Foo = class extends React.PureComponent {
render() {
const { foo } = this.props;
return <div>{foo}</div>;
}
};`,
options: ['always'],
parser: parsers.BABEL_ESLINT
}, {
code: `const Foo = class extends React.PureComponent {
render() {
const { foo } = this.props;
return <div>{foo}</div>;
}
};`
}, {
code: `const Foo = class extends React.PureComponent {
render() {
const { foo } = this.props;
return <div>{foo}</div>;
}
};`,
options: ['always'],
parser: parsers.BABEL_ESLINT
}, {
code: `const MyComponent = (props) => {
const { h, i } = hi;
Expand Down
6 changes: 0 additions & 6 deletions tests/lib/rules/jsx-curly-brace-presence.js
Expand Up @@ -504,12 +504,6 @@ ruleTester.run('jsx-curly-brace-presence', rule, {
options: [{props: 'always'}],
errors: [{message: missingCurlyMessage}]
},
{
code: `<MyComponent prop="foo 'bar'">foo</MyComponent>`,
output: `<MyComponent prop={"foo 'bar'"}>foo</MyComponent>`,
options: [{props: 'always'}],
errors: [{message: missingCurlyMessage}]
},
{
code: '<MyComponent>foo bar </MyComponent>',
output: `<MyComponent>{"foo bar "}</MyComponent>`,
Expand Down
10 changes: 0 additions & 10 deletions tests/lib/rules/jsx-curly-spacing.js
Expand Up @@ -486,9 +486,6 @@ ruleTester.run('jsx-curly-spacing', rule, {
}, {
code: '<App foo={ bar }>{bar}</App>',
options: [{attributes: {when: 'always'}}]
}, {
code: '<App foo={ bar }>{bar}</App>',
options: [{attributes: {when: 'always'}}]
}, {
code: [
'<App foo={ 42 } { ...bar } baz={{ 4: 2 }}>',
Expand Down Expand Up @@ -624,13 +621,6 @@ ruleTester.run('jsx-curly-spacing', rule, {
'} />;'
].join('\n'),
options: ['always']
}, {
code: [
'<App {',
'...bar',
'} />;'
].join('\n'),
options: ['always']
}, {
code: [
'<App {',
Expand Down
2 changes: 0 additions & 2 deletions tests/lib/rules/jsx-no-undef.js
Expand Up @@ -34,8 +34,6 @@ linter.defineRule('no-undef', require('eslint/lib/rules/no-undef'));
ruleTester.run('jsx-no-undef', rule, {
valid: [{
code: '/*eslint no-undef:1*/ var React, App; React.render(<App />);'
}, {
code: '/*eslint no-undef:1*/ var React, App; React.render(<App />);'
}, {
code: '/*eslint no-undef:1*/ var React; React.render(<img />);'
}, {
Expand Down
31 changes: 0 additions & 31 deletions tests/lib/rules/jsx-one-expression-per-line.js
Expand Up @@ -522,23 +522,6 @@ ruleTester.run('jsx-one-expression-per-line', rule, {
].join('\n'),
errors: [{message: '` bar` must be placed on a new line'}],
parserOptions
}, {
code: [
'<div>',
' foo {"bar"}',
'</div>'
].join('\n'),
output: [
'<div>',
' foo ',
'{\' \'}',
'{"bar"}',
'</div>'
].join('\n'),
errors: [
{message: '`{"bar"}` must be placed on a new line'}
],
parserOptions
}, {
code: [
'<div>',
Expand Down Expand Up @@ -692,20 +675,6 @@ ruleTester.run('jsx-one-expression-per-line', rule, {
].join('\n'),
errors: [{message: '`Foo` must be placed on a new line'}],
parserOptions
}, {
code: [
'<App>',
' <Foo></',
'Foo></App>'
].join('\n'),
output: [
'<App>',
' <Foo></',
'Foo>',
'</App>'
].join('\n'),
errors: [{message: '`Foo` must be placed on a new line'}],
parserOptions
}, {
code: [
'<App>',
Expand Down
2 changes: 0 additions & 2 deletions tests/lib/rules/jsx-pascal-case.js
Expand Up @@ -59,8 +59,6 @@ ruleTester.run('jsx-pascal-case', rule, {
}, {
code: '<IGNORED />',
options: [{ignore: ['IGNORED']}]
}, {
code: '<T />'
}, {
code: '<$ />'
}, {
Expand Down
9 changes: 0 additions & 9 deletions tests/lib/rules/jsx-wrap-multilines.js
Expand Up @@ -1081,15 +1081,6 @@ ruleTester.run('jsx-wrap-multilines', rule, {
{message: PARENS_NEW_LINES},
{message: PARENS_NEW_LINES}
]
}, {
code: DECLARATION_TERNARY_PAREN_FRAGMENT,
parser: parsers.BABEL_ESLINT,
output: addNewLineSymbols(DECLARATION_TERNARY_PAREN_FRAGMENT),
options: [{declaration: 'parens-new-line'}],
errors: [
{message: PARENS_NEW_LINES},
{message: PARENS_NEW_LINES}
]
}, {
code: ASSIGNMENT_TERNARY_NO_PAREN,
output: addNewLineSymbols(ASSIGNMENT_TERNARY_PAREN),
Expand Down
10 changes: 0 additions & 10 deletions tests/lib/rules/no-redundant-should-component-update.js
Expand Up @@ -52,16 +52,6 @@ ruleTester.run('no-redundant-should-component-update', rule, {
parser: parsers.BABEL_ESLINT,
parserOptions
},
{
code: `
class Foo extends React.Component {
shouldComponentUpdate() {
return true;
}
}
`,
parserOptions
},
{
code: `
function Foo() {
Expand Down
45 changes: 0 additions & 45 deletions tests/lib/rules/no-typos.js
Expand Up @@ -333,19 +333,6 @@ ruleTester.run('no-typos', rule, {
`,
parser: parsers.BABEL_ESLINT,
parserOptions
}, {
code: `
import PropTypes from "prop-types";
class Component extends React.Component {};
Component.propTypes = {
a: PropTypes.oneOf([
'hello',
'hi'
])
}
`,
parser: parsers.BABEL_ESLINT,
parserOptions
}, {
code: `
import PropTypes from "prop-types";
Expand Down Expand Up @@ -406,21 +393,6 @@ ruleTester.run('no-typos', rule, {
}
`,
parserOptions
}, {
code: `
import PropTypes from "prop-types";
class Component extends React.Component {};
Component.childContextTypes = {
a: PropTypes.string,
b: PropTypes.string.isRequired,
c: PropTypes.shape({
d: PropTypes.string,
e: PropTypes.number.isRequired,
}).isRequired
}
`,
parser: parsers.BABEL_ESLINT,
parserOptions
}, {
code: `
import PropTypes from "prop-types";
Expand Down Expand Up @@ -1355,23 +1327,6 @@ ruleTester.run('no-typos', rule, {
}, {
message: 'Typo in declared prop type: objectof'
}]
}, {
code: `
import PropTypes from 'prop-types';
class Component extends React.Component {};
Component.propTypes = {
a: PropTypes.string.isrequired,
b: PropTypes.shape({
c: PropTypes.number
}).isrequired
}
`,
parserOptions,
errors: [{
message: 'Typo in prop type chain qualifier: isrequired'
}, {
message: 'Typo in prop type chain qualifier: isrequired'
}]
}, {
code: `
import PropTypes from 'prop-types';
Expand Down
34 changes: 0 additions & 34 deletions tests/lib/rules/no-unused-prop-types.js
Expand Up @@ -5025,40 +5025,6 @@ ruleTester.run('no-unused-prop-types', rule, {
errors: [{
message: '\'lastname\' PropType is defined but prop is never used'
}]
}, {
code: [
'type Person = {',
' ...data,',
' lastname: string',
'};',
'class Hello extends React.Component {',
' props: Person;',
' render () {',
' return <div>Hello {this.props.firstname}</div>;',
' }',
'}'
].join('\n'),
parser: parsers.BABEL_ESLINT,
errors: [{
message: '\'lastname\' PropType is defined but prop is never used'
}]
}, {
code: [
'type Person = {|',
' ...data,',
' lastname: string',
'|};',
'class Hello extends React.Component {',
' props: Person;',
' render () {',
' return <div>Hello {this.props.firstname}</div>;',
' }',
'}'
].join('\n'),
parser: parsers.BABEL_ESLINT,
errors: [{
message: '\'lastname\' PropType is defined but prop is never used'
}]
}, {
code: [
'class Hello extends React.Component {',
Expand Down
9 changes: 0 additions & 9 deletions tests/lib/rules/prop-types.js
Expand Up @@ -1440,15 +1440,6 @@ ruleTester.run('prop-types', rule, {
'});'
].join('\n'),
options: [{skipUndeclared: true}]
}, {
code: [
'var Hello = createReactClass({',
' render: function() {',
' return <div>{this.props.name}</div>;',
' }',
'});'
].join('\n'),
options: [{skipUndeclared: true}]
}, {
code: [
'class Hello extends React.Component {',
Expand Down
1 change: 0 additions & 1 deletion tests/lib/rules/react-in-jsx-scope.js
Expand Up @@ -41,7 +41,6 @@ ruleTester.run('react-in-jsx-scope', rule, {
{code: 'var React; <x-gif />;'},
{code: 'var React, App, a=1; <App attr={a} />;'},
{code: 'var React, App, a=1; function elem() { return <App attr={a} />; }'},
{code: 'var React, App; <App />;'},
{code: '/** @jsx Foo */ var Foo, App; <App />;'},
{code: '/** @jsx Foo.Bar */ var Foo, App; <App />;'},
{
Expand Down

0 comments on commit 97d7c2d

Please sign in to comment.