Skip to content

Commit e8edcfa

Browse files
committed
migrate from tslint to eslint
1 parent 4d928a0 commit e8edcfa

File tree

14 files changed

+1616
-1001
lines changed

14 files changed

+1616
-1001
lines changed

.eslintrc.js

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
module.exports = {
2+
parser: '@typescript-eslint/parser',
3+
extends: [
4+
'plugin:@typescript-eslint/recommended',
5+
'prettier/@typescript-eslint',
6+
'plugin:prettier/recommended',
7+
'plugin:react/recommended',
8+
'plugin:jsx-a11y/recommended'
9+
],
10+
parserOptions: {
11+
ecmaVersion: 2018,
12+
sourceType: 'module',
13+
ecmaFeatures: {
14+
jsx: true
15+
}
16+
},
17+
plugins: ['@typescript-eslint', 'react', 'jsx-a11y'],
18+
settings: {
19+
react: {
20+
version: 'detect'
21+
}
22+
},
23+
rules: {
24+
'@typescript-eslint/explicit-function-return-type': 0,
25+
'@typescript-eslint/no-non-null-assertion': 0,
26+
'react/no-find-dom-node': 0
27+
}
28+
};

.github/ISSUE_TEMPLATE.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
<!--
2+
Thanks for your interest in contributing to react-popper-tooltip!
3+
4+
Do you want to report a bug?
5+
Please, make sure to fill all the sections of the template before submitting any issue.
6+
7+
If your issue is a feature request please feel free to delete the template and describe it.
8+
9+
Want your issue to be fixed earlier? Create a PR that introduces a CI test that fails
10+
because of the bug you found!
11+
-->
12+
13+
### Reproduction demo
14+
15+
<!--
16+
Fork and/or modify this CodeSandbox template to allow the contributors to easily reproduce your problem.
17+
If the problem can't be reproduced using these templates, explain why in this section.
18+
19+
https://codesandbox.io/s/pykkz77z5j
20+
-->
21+
22+
### Steps to reproduce the problem
23+
24+
1.
25+
2.
26+
3.
27+
28+
### What is the expected behavior?
29+
30+
<!-- Describe what you would have expected. -->
31+
32+
### What went wrong?
33+
34+
<!-- Describe what went wrong. -->
35+
36+
### Any other comments?
37+
38+
<!-- Any additional information. -->
39+
40+
### Packages versions
41+
42+
- react-popper:
43+
- react-popper-tooltip:

.size-snapshot.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
{
22
"dist/cjs/react-popper-tooltip.js": {
3-
"bundled": 15320,
3+
"bundled": 15447,
44
"minified": 8206,
55
"gzipped": 2346
66
},
77
"dist/esm/react-popper-tooltip.js": {
8-
"bundled": 15268,
8+
"bundled": 15395,
99
"minified": 8173,
1010
"gzipped": 2343,
1111
"treeshaked": {

docs/examples/BasicTooltipTrigger.tsx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
import React, {memo} from 'react';
22
import TooltipTrigger from '../../src';
33
import '../../src/styles.css';
4-
import {IChildrenArg, ITooltipArg} from '../../src/types';
5-
import {IBasicTooltipTriggerProps} from './types';
4+
import {ChildrenArg, TooltipArg} from '../../src/types';
5+
import {BasicTooltipTriggerProps} from './types';
66

77
const Trigger = (children: React.ReactNode) => ({
88
triggerRef,
99
getTriggerProps
10-
}: IChildrenArg) => (
10+
}: ChildrenArg) => (
1111
<span
1212
{...getTriggerProps({
1313
ref: triggerRef
@@ -23,7 +23,7 @@ const Tooltip = (tooltip: React.ReactNode, hideArrow?: boolean) => ({
2323
getArrowProps,
2424
getTooltipProps,
2525
placement
26-
}: ITooltipArg) => (
26+
}: TooltipArg) => (
2727
<div
2828
{...getTooltipProps({
2929
className: 'tooltip-container',
@@ -44,7 +44,7 @@ const Tooltip = (tooltip: React.ReactNode, hideArrow?: boolean) => ({
4444
);
4545

4646
const BasicTooltipTrigger = memo(
47-
({tooltip, children, hideArrow, ...props}: IBasicTooltipTriggerProps) => (
47+
({tooltip, children, hideArrow, ...props}: BasicTooltipTriggerProps) => (
4848
<TooltipTrigger {...props} tooltip={Tooltip(tooltip, hideArrow)}>
4949
{Trigger(children)}
5050
</TooltipTrigger>

docs/examples/types.ts

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,24 @@
11
import React from 'react';
22

3-
export interface IBasicTooltipTriggerProps {
3+
export interface BasicTooltipTriggerProps {
44
tooltip: React.ReactNode;
55
children: React.ReactNode;
66
hideArrow?: boolean;
77
[key: string]: any;
88
}
99

10-
export interface IStateContainerProps {
11-
children: (
12-
{
13-
on,
14-
set,
15-
toggle
16-
}: {on: boolean; set: (on: boolean) => void; toggle: () => void}
17-
) => React.ReactNode;
10+
export interface StateContainerProps {
11+
children: ({
12+
on,
13+
set,
14+
toggle
15+
}: {
16+
on: boolean;
17+
set: (on: boolean) => void;
18+
toggle: () => void;
19+
}) => React.ReactNode;
1820
}
1921

20-
export interface IStateContainerState {
22+
export interface StateContainerState {
2123
on: boolean;
2224
}

docs/examples/utils.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
import React from 'react';
2-
import {IStateContainerProps, IStateContainerState} from './types';
2+
import {StateContainerProps, StateContainerState} from './types';
33

44
class StateContainer extends React.Component<
5-
IStateContainerProps,
6-
IStateContainerState
5+
StateContainerProps,
6+
StateContainerState
77
> {
8-
public state: IStateContainerState = {
8+
public state: StateContainerState = {
99
on: false
1010
};
1111

package.json

Lines changed: 22 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
"docs:build": "docz build",
2525
"docs:deploy": "yarn docs:build && cp .docz/dist/index.html .docz/dist/404.html && gh-pages -d .docz/dist",
2626
"typecheck": "tsc --noEmit",
27-
"lint": "tslint -p .",
27+
"lint": "eslint src/**/*.{ts,tsx}",
2828
"test": "jest"
2929
},
3030
"pre-commit": [
@@ -47,39 +47,41 @@
4747
"react-dom": "^16.6.0"
4848
},
4949
"dependencies": {
50-
"@babel/runtime": "^7.3.4",
50+
"@babel/runtime": "^7.4.2",
5151
"react-popper": "^1.3.3"
5252
},
5353
"devDependencies": {
5454
"@babel/cli": "^7.2.3",
55-
"@babel/core": "^7.3.4",
56-
"@babel/plugin-proposal-class-properties": "^7.3.4",
57-
"@babel/plugin-transform-runtime": "^7.3.4",
58-
"@babel/preset-env": "^7.3.4",
55+
"@babel/core": "^7.4.0",
56+
"@babel/plugin-proposal-class-properties": "^7.4.0",
57+
"@babel/plugin-transform-runtime": "^7.4.0",
58+
"@babel/preset-env": "^7.4.2",
5959
"@babel/preset-react": "^7.0.0",
6060
"@babel/preset-typescript": "^7.3.3",
61-
"@types/jest": "^24.0.9",
62-
"@types/react": "^16.8.6",
63-
"@types/react-dom": "^16.8.2",
61+
"@types/jest": "^24.0.11",
62+
"@types/react": "^16.8.8",
63+
"@types/react-dom": "^16.8.3",
64+
"@typescript-eslint/eslint-plugin": "^1.5.0",
65+
"@typescript-eslint/parser": "^1.5.0",
6466
"docz": "^0.13.7",
6567
"docz-plugin-css": "^0.11.0",
6668
"docz-theme-default": "^0.13.7",
69+
"eslint": "^5.15.3",
70+
"eslint-config-prettier": "^4.1.0",
71+
"eslint-plugin-jsx-a11y": "^6.2.1",
72+
"eslint-plugin-prettier": "^3.0.1",
73+
"eslint-plugin-react": "^7.12.4",
6774
"gh-pages": "^2.0.1",
68-
"jest": "^24.1.0",
75+
"jest": "^24.5.0",
6976
"pre-commit": "^1.2.2",
7077
"prettier": "^1.16.4",
71-
"react": "^16.8.3",
72-
"react-dom": "^16.8.3",
73-
"react-testing-library": "^6.0.0",
74-
"rollup": "^1.4.1",
78+
"react": "^16.8.5",
79+
"react-dom": "^16.8.5",
80+
"react-testing-library": "^6.0.3",
81+
"rollup": "^1.7.3",
7582
"rollup-plugin-babel": "^4.3.2",
7683
"rollup-plugin-node-resolve": "^4.0.1",
7784
"rollup-plugin-size-snapshot": "^0.8.0",
78-
"tslint": "^5.13.1",
79-
"tslint-config-prettier": "^1.18.0",
80-
"tslint-eslint-rules": "^5.4.0",
81-
"tslint-plugin-prettier": "^2.0.1",
82-
"tslint-react": "^3.6.0",
83-
"typescript": "^3.3.3333"
85+
"typescript": "^3.3.4000"
8486
}
8587
}

src/Tooltip.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
import React, {Component} from 'react';
22
import {findDOMNode} from 'react-dom';
3-
import {IGetArrowPropsArg, IGetTooltipPropsArg, ITooltipProps} from './types';
3+
import {GetArrowPropsArg, GetTooltipPropsArg, TooltipProps} from './types';
44
import {callAll, TooltipContext} from './utils';
55

66
const MUTATION_OBSERVER_CONFIG: MutationObserverInit = {
77
childList: true,
88
subtree: true
99
};
1010

11-
class Tooltip extends Component<ITooltipProps> {
11+
class Tooltip extends Component<TooltipProps> {
1212
private mounted?: boolean;
1313
private observer?: MutationObserver;
1414

@@ -143,12 +143,12 @@ class Tooltip extends Component<ITooltipProps> {
143143
private removeOutsideRightClickHandler = () =>
144144
document.removeEventListener('contextmenu', this.handleOutsideRightClick!);
145145

146-
private getArrowProps = (props: IGetArrowPropsArg = {}) => ({
146+
private getArrowProps = (props: GetArrowPropsArg = {}) => ({
147147
...props,
148148
style: {...props.style, ...this.props.arrowProps.style}
149149
});
150150

151-
private getTooltipProps = (props: IGetTooltipPropsArg = {}) => {
151+
private getTooltipProps = (props: GetTooltipPropsArg = {}) => {
152152
const isHoverTriggered = this.props.trigger === 'hover';
153153

154154
return {

src/TooltipTrigger.tsx

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ import {createPortal} from 'react-dom';
77
import {Manager, Popper, Reference} from 'react-popper';
88
import Tooltip from './Tooltip';
99
import {
10-
IGetTriggerPropsArg,
11-
ITooltipTriggerProps,
12-
ITooltipTriggerState
10+
GetTriggerPropsArg,
11+
TooltipTriggerProps,
12+
TooltipTriggerState
1313
} from './types';
1414
import {callAll, canUseDOM, noop, TooltipContext} from './utils';
1515

@@ -20,8 +20,8 @@ const DEFAULT_MODIFIERS: PopperJS.Modifiers = {
2020
};
2121

2222
class TooltipTrigger extends Component<
23-
ITooltipTriggerProps,
24-
ITooltipTriggerState
23+
TooltipTriggerProps,
24+
TooltipTriggerState
2525
> {
2626
public static defaultProps = {
2727
closeOnOutOfBoundaries: true,
@@ -38,7 +38,7 @@ class TooltipTrigger extends Component<
3838

3939
public static contextType = TooltipContext;
4040

41-
public state: ITooltipTriggerState = {
41+
public state: TooltipTriggerState = {
4242
tooltipShown: this.props.defaultTooltipShown
4343
};
4444

@@ -166,7 +166,7 @@ class TooltipTrigger extends Component<
166166
: this.state.tooltipShown;
167167
}
168168

169-
private setTooltipState = (state: ITooltipTriggerState) => {
169+
private setTooltipState = (state: TooltipTriggerState) => {
170170
const cb = () => this.props.onVisibilityChange(state.tooltipShown);
171171
this.isControlled() ? cb() : this.setState(state, cb);
172172
};
@@ -178,7 +178,7 @@ class TooltipTrigger extends Component<
178178

179179
private showTooltip = ({pageX, pageY}: {pageX: number; pageY: number}) => {
180180
this.clearScheduled();
181-
let state: ITooltipTriggerState = {
181+
let state: TooltipTriggerState = {
182182
tooltipShown: true
183183
};
184184
if (this.props.followCursor) {
@@ -222,7 +222,7 @@ class TooltipTrigger extends Component<
222222
this[action]({pageX, pageY});
223223
};
224224

225-
private getTriggerProps = (props: IGetTriggerPropsArg = {}) => {
225+
private getTriggerProps = (props: GetTriggerPropsArg = {}) => {
226226
const {trigger, followCursor} = this.props;
227227
const isClickTriggered = trigger === 'click';
228228
const isHoverTriggered = trigger === 'hover';

0 commit comments

Comments
 (0)