Skip to content
This repository was archived by the owner on Sep 6, 2022. It is now read-only.

Commit a2b631a

Browse files
authored
Merge pull request #61 from rajatkantinandi/feat/tslint-to-eslint
Remove tslint & configure to use eslint
2 parents adadd55 + c99fedd commit a2b631a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

63 files changed

+896
-361
lines changed

.all-contributorsrc

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,17 @@
168168
"contributions": [
169169
"code"
170170
]
171+
},
172+
{
173+
"login": "rajatkantinandi",
174+
"name": "Rajat Kanti Nandi",
175+
"avatar_url": "https://avatars1.githubusercontent.com/u/17743895?v=4",
176+
"profile": "https://twitter.com/rajatkantinandi",
177+
"contributions": [
178+
"tool"
179+
]
171180
}
172181
],
173-
"contributorsPerLine": 8
182+
"contributorsPerLine": 8,
183+
"commitConvention": "none"
174184
}

.eslintignore

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
internals/scripts
2+
internals/generators
3+
internals/templates
4+
server/
5+
**/types.d.ts
6+
*.html
7+
node_modules
8+
coverage
9+
build
10+
node_modules

.eslintrc.js

Lines changed: 40 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ const prettierOptions = JSON.parse(
66
);
77

88
module.exports = {
9-
parser: 'babel-eslint',
10-
extends: ['airbnb', 'prettier', 'prettier/react'],
11-
plugins: ['prettier', 'redux-saga', 'react', 'react-hooks', 'jsx-a11y'],
9+
parser: '@typescript-eslint/parser',
10+
extends: ['airbnb-typescript', 'prettier', 'prettier/react'],
11+
plugins: ['prettier', 'redux-saga', 'react', 'react-hooks', 'jsx-a11y', '@typescript-eslint'],
1212
env: {
1313
jest: true,
1414
browser: true,
@@ -21,11 +21,37 @@ module.exports = {
2121
ecmaFeatures: {
2222
jsx: true,
2323
},
24+
project: './tsconfig.eslint.json',
2425
},
2526
rules: {
27+
'jsx-no-lambda': 0,
28+
'semi': [2, 'always'],
29+
'@typescript-eslint/interface-name-prefix': 0,
30+
'@typescript-eslint/no-empty-interface': 0,
31+
'object-shorthand': [0, 'never'],
32+
'quotes': [2, 'single'],
33+
'@typescript-eslint/no-var-requires': 0,
34+
'member-ordering': 0,
35+
'object-literal-sort-keys': 0,
36+
'no-shadowed-variable': 0,
37+
'no-consecutive-blank-lines': 0,
38+
'no-string-literal': 0,
39+
'jsx-no-multiline-js': 0,
40+
'jsx-boolean-value': 0,
41+
'arrow-parens': 0,
42+
'no-implicit-dependencies': 0,
43+
'no-submodule-imports': 0,
44+
'no-case-declarations': 1,
45+
'@typescript-eslint/no-empty-function': 0,
46+
'@typescript-eslint/ban-ts-ignore': 1,
47+
'@typescript-eslint/indent': 0,
48+
'jsx-alignment': 0,
49+
'jsx-wrap-multiline': 0,
50+
'@typescript-eslint/camelcase': 0,
2651
'prettier/prettier': ['error', prettierOptions],
2752
'arrow-body-style': [2, 'as-needed'],
2853
'class-methods-use-this': 0,
54+
'import/order': 0,
2955
'import/imports-first': 0,
3056
'import/newline-after-import': 0,
3157
'import/no-dynamic-require': 0,
@@ -34,6 +60,8 @@ module.exports = {
3460
'import/no-unresolved': 2,
3561
'import/no-webpack-loader-syntax': 0,
3662
'import/prefer-default-export': 0,
63+
'import/no-cycle': 1,
64+
'no-param-reassign': 1,
3765
indent: [
3866
2,
3967
2,
@@ -60,7 +88,6 @@ module.exports = {
6088
'newline-per-chained-call': 0,
6189
'no-confusing-arrow': 0,
6290
'no-console': 1,
63-
'no-unused-vars': 2,
6491
'no-use-before-define': 0,
6592
'prefer-template': 2,
6693
'react/destructuring-assignment': 0,
@@ -70,7 +97,9 @@ module.exports = {
7097
'react/jsx-first-prop-new-line': [2, 'multiline'],
7198
'react/jsx-filename-extension': 0,
7299
'react/jsx-no-target-blank': 0,
100+
'react/jsx-props-no-spreading': 0,
73101
'react/jsx-uses-vars': 2,
102+
'react/prop-types': 0,
74103
'react/require-default-props': 0,
75104
'react/require-extension': 0,
76105
'react/self-closing-comp': 0,
@@ -80,10 +109,17 @@ module.exports = {
80109
'require-yield': 0,
81110
},
82111
settings: {
112+
'import/parsers': {
113+
'@typescript-eslint/parser': ['.ts', '.tsx'],
114+
},
83115
'import/resolver': {
84116
webpack: {
85117
config: './internals/webpack/webpack.prod.babel.js',
86118
},
119+
'typescript': {
120+
'alwaysTryTypes': true, // always try to resolve types under `<root>@types` directory even it doesn't contain any source code, like `@types/unist`
121+
'directory': './tsconfig.json',
122+
},
87123
},
88124
},
89125
};

README.md

Lines changed: 30 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -148,9 +148,36 @@ Now you're ready to rumble!
148148
Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
149149

150150
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
151-
<!-- prettier-ignore -->
152-
<table><tr><td align="center"><a href="https://mxstbr.com"><img src="https://avatars0.githubusercontent.com/u/7525670?v=4" width="80px;" alt="Max Stoiber"/><br /><sub><b>Max Stoiber</b></sub></a><br /><a href="https://github.com/react-boilerplate/react-boilerplate/commits?author=mxstbr" title="Code">💻</a> <a href="https://github.com/react-boilerplate/react-boilerplate/commits?author=mxstbr" title="Documentation">📖</a> <a href="#ideas-mxstbr" title="Ideas, Planning, & Feedback">🤔</a> <a href="#review-mxstbr" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/react-boilerplate/react-boilerplate/commits?author=mxstbr" title="Tests">⚠️</a></td><td align="center"><a href="https://julien.engineering/"><img src="https://avatars2.githubusercontent.com/u/8948127?v=4" width="80px;" alt="Julien Benchetrit"/><br /><sub><b>Julien Benchetrit</b></sub></a><br /><a href="https://github.com/react-boilerplate/react-boilerplate/commits?author=julienben" title="Code">💻</a> <a href="#question-julienben" title="Answering Questions">💬</a> <a href="https://github.com/react-boilerplate/react-boilerplate/commits?author=julienben" title="Documentation">📖</a> <a href="#review-julienben" title="Reviewed Pull Requests">👀</a> <a href="#maintenance-julienben" title="Maintenance">🚧</a></td><td align="center"><a href="http://sarafederi.co"><img src="https://avatars1.githubusercontent.com/u/15176096?v=4" width="80px;" alt="Sara Federico"/><br /><sub><b>Sara Federico</b></sub></a><br /><a href="https://github.com/react-boilerplate/react-boilerplate/commits?author=gretzky" title="Code">💻</a> <a href="#review-gretzky" title="Reviewed Pull Requests">👀</a> <a href="#question-gretzky" title="Answering Questions">💬</a> <a href="https://github.com/react-boilerplate/react-boilerplate/commits?author=gretzky" title="Documentation">📖</a> <a href="#maintenance-gretzky" title="Maintenance">🚧</a></td><td align="center"><a href="https://justingreenberg.com"><img src="https://avatars1.githubusercontent.com/u/1539088?v=4" width="80px;" alt="Justin Greenberg"/><br /><sub><b>Justin Greenberg</b></sub></a><br /><a href="https://github.com/react-boilerplate/react-boilerplate/commits?author=justingreenberg" title="Code">💻</a> <a href="#review-justingreenberg" title="Reviewed Pull Requests">👀</a></td><td align="center"><a href="https://github.com/jwinn"><img src="https://avatars3.githubusercontent.com/u/891726?v=4" width="80px;" alt="Jon Winn"/><br /><sub><b>Jon Winn</b></sub></a><br /><a href="https://github.com/react-boilerplate/react-boilerplate/commits?author=jwinn" title="Code">💻</a> <a href="#review-jwinn" title="Reviewed Pull Requests">👀</a></td><td align="center"><a href="https://meester-johan.info/"><img src="https://avatars2.githubusercontent.com/u/474743?v=4" width="80px;" alt="Johan Meester"/><br /><sub><b>Johan Meester</b></sub></a><br /><a href="https://github.com/react-boilerplate/react-boilerplate/commits?author=Mensae" title="Code">💻</a> <a href="https://github.com/react-boilerplate/react-boilerplate/commits?author=Mensae" title="Tests">⚠️</a> <a href="https://github.com/react-boilerplate/react-boilerplate/commits?author=Mensae" title="Documentation">📖</a></td><td align="center"><a href="https://github.com/Dattaya"><img src="https://avatars3.githubusercontent.com/u/387256?v=4" width="80px;" alt="Yaroslav Kiliba"/><br /><sub><b>Yaroslav Kiliba</b></sub></a><br /><a href="https://github.com/react-boilerplate/react-boilerplate/commits?author=Dattaya" title="Code">💻</a></td><td align="center"><a href="https://github.com/gihrig"><img src="https://avatars2.githubusercontent.com/u/1481063?v=4" width="80px;" alt="Glen Ihrig"/><br /><sub><b>Glen Ihrig</b></sub></a><br /><a href="https://github.com/react-boilerplate/react-boilerplate/commits?author=gihrig" title="Code">💻</a></td></tr><tr><td align="center"><a href="https://github.com/somus"><img src="https://avatars3.githubusercontent.com/u/1802828?v=4" width="80px;" alt="Somasundaram Ayyappan"/><br /><sub><b>Somasundaram Ayyappan</b></sub></a><br /><a href="https://github.com/react-boilerplate/react-boilerplate/commits?author=somus" title="Code">💻</a></td><td align="center"><a href="https://www.codedsignal.co.uk/"><img src="https://avatars0.githubusercontent.com/u/21795?v=4" width="80px;" alt="Oliver Turner"/><br /><sub><b>Oliver Turner</b></sub></a><br /><a href="https://github.com/react-boilerplate/react-boilerplate/commits?author=oliverturner" title="Code">💻</a></td><td align="center"><a href="https://github.com/samit4me"><img src="https://avatars3.githubusercontent.com/u/3248531?v=4" width="80px;" alt="Samuel Sharpe"/><br /><sub><b>Samuel Sharpe</b></sub></a><br /><a href="https://github.com/react-boilerplate/react-boilerplate/commits?author=samit4me" title="Code">💻</a></td><td align="center"><a href="https://karandikarmihir.github.io/"><img src="https://avatars3.githubusercontent.com/u/17466938?v=4" width="80px;" alt="Mihir Karandikar"/><br /><sub><b>Mihir Karandikar</b></sub></a><br /><a href="https://github.com/react-boilerplate/react-boilerplate/commits?author=KarandikarMihir" title="Code">💻</a></td><td align="center"><a href="http://www.vverma.net"><img src="https://avatars2.githubusercontent.com/u/627846?v=4" width="80px;" alt="Vaibhav Verma"/><br /><sub><b>Vaibhav Verma</b></sub></a><br /><a href="https://github.com/react-boilerplate/react-boilerplate/commits?author=v" title="Code">💻</a></td><td align="center"><a href="https://imagineclarity.com"><img src="https://avatars1.githubusercontent.com/u/4217871?v=4" width="80px;" alt="Sébastien Dubois"/><br /><sub><b>Sébastien Dubois</b></sub></a><br /><a href="https://github.com/react-boilerplate/react-boilerplate/commits?author=sedubois" title="Code">💻</a></td><td align="center"><a href="https://www.chaintng.com"><img src="https://avatars2.githubusercontent.com/u/2979072?v=4" width="80px;" alt="Chainarong Tangsurakit"/><br /><sub><b>Chainarong Tangsurakit</b></sub></a><br /><a href="https://github.com/react-boilerplate/react-boilerplate/commits?author=chaintng" title="Code">💻</a></td><td align="center"><a href="https://amilajack.com"><img src="https://avatars1.githubusercontent.com/u/6374832?v=4" width="80px;" alt="Amila Welihinda"/><br /><sub><b>Amila Welihinda</b></sub></a><br /><a href="https://github.com/react-boilerplate/react-boilerplate/commits?author=amilajack" title="Code">💻</a></td></tr></table>
153-
151+
<!-- prettier-ignore-start -->
152+
<!-- markdownlint-disable -->
153+
<table>
154+
<tr>
155+
<td align="center"><a href="https://mxstbr.com"><img src="https://avatars0.githubusercontent.com/u/7525670?v=4" width="80px;" alt=""/><br /><sub><b>Max Stoiber</b></sub></a><br /><a href="https://github.com/react-boilerplate/react-boilerplate/commits?author=mxstbr" title="Code">💻</a> <a href="https://github.com/react-boilerplate/react-boilerplate/commits?author=mxstbr" title="Documentation">📖</a> <a href="#ideas-mxstbr" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/react-boilerplate/react-boilerplate/pulls?q=is%3Apr+reviewed-by%3Amxstbr" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/react-boilerplate/react-boilerplate/commits?author=mxstbr" title="Tests">⚠️</a></td>
156+
<td align="center"><a href="https://julien.engineering/"><img src="https://avatars2.githubusercontent.com/u/8948127?v=4" width="80px;" alt=""/><br /><sub><b>Julien Benchetrit</b></sub></a><br /><a href="https://github.com/react-boilerplate/react-boilerplate/commits?author=julienben" title="Code">💻</a> <a href="#question-julienben" title="Answering Questions">💬</a> <a href="https://github.com/react-boilerplate/react-boilerplate/commits?author=julienben" title="Documentation">📖</a> <a href="https://github.com/react-boilerplate/react-boilerplate/pulls?q=is%3Apr+reviewed-by%3Ajulienben" title="Reviewed Pull Requests">👀</a> <a href="#maintenance-julienben" title="Maintenance">🚧</a></td>
157+
<td align="center"><a href="http://sarafederi.co"><img src="https://avatars1.githubusercontent.com/u/15176096?v=4" width="80px;" alt=""/><br /><sub><b>Sara Federico</b></sub></a><br /><a href="https://github.com/react-boilerplate/react-boilerplate/commits?author=gretzky" title="Code">💻</a> <a href="https://github.com/react-boilerplate/react-boilerplate/pulls?q=is%3Apr+reviewed-by%3Agretzky" title="Reviewed Pull Requests">👀</a> <a href="#question-gretzky" title="Answering Questions">💬</a> <a href="https://github.com/react-boilerplate/react-boilerplate/commits?author=gretzky" title="Documentation">📖</a> <a href="#maintenance-gretzky" title="Maintenance">🚧</a></td>
158+
<td align="center"><a href="https://justingreenberg.com"><img src="https://avatars1.githubusercontent.com/u/1539088?v=4" width="80px;" alt=""/><br /><sub><b>Justin Greenberg</b></sub></a><br /><a href="https://github.com/react-boilerplate/react-boilerplate/commits?author=justingreenberg" title="Code">💻</a> <a href="https://github.com/react-boilerplate/react-boilerplate/pulls?q=is%3Apr+reviewed-by%3Ajustingreenberg" title="Reviewed Pull Requests">👀</a></td>
159+
<td align="center"><a href="https://github.com/jwinn"><img src="https://avatars3.githubusercontent.com/u/891726?v=4" width="80px;" alt=""/><br /><sub><b>Jon Winn</b></sub></a><br /><a href="https://github.com/react-boilerplate/react-boilerplate/commits?author=jwinn" title="Code">💻</a> <a href="https://github.com/react-boilerplate/react-boilerplate/pulls?q=is%3Apr+reviewed-by%3Ajwinn" title="Reviewed Pull Requests">👀</a></td>
160+
<td align="center"><a href="https://meester-johan.info/"><img src="https://avatars2.githubusercontent.com/u/474743?v=4" width="80px;" alt=""/><br /><sub><b>Johan Meester</b></sub></a><br /><a href="https://github.com/react-boilerplate/react-boilerplate/commits?author=Mensae" title="Code">💻</a> <a href="https://github.com/react-boilerplate/react-boilerplate/commits?author=Mensae" title="Tests">⚠️</a> <a href="https://github.com/react-boilerplate/react-boilerplate/commits?author=Mensae" title="Documentation">📖</a></td>
161+
<td align="center"><a href="https://github.com/Dattaya"><img src="https://avatars3.githubusercontent.com/u/387256?v=4" width="80px;" alt=""/><br /><sub><b>Yaroslav Kiliba</b></sub></a><br /><a href="https://github.com/react-boilerplate/react-boilerplate/commits?author=Dattaya" title="Code">💻</a></td>
162+
<td align="center"><a href="https://github.com/gihrig"><img src="https://avatars2.githubusercontent.com/u/1481063?v=4" width="80px;" alt=""/><br /><sub><b>Glen Ihrig</b></sub></a><br /><a href="https://github.com/react-boilerplate/react-boilerplate/commits?author=gihrig" title="Code">💻</a></td>
163+
</tr>
164+
<tr>
165+
<td align="center"><a href="https://github.com/somus"><img src="https://avatars3.githubusercontent.com/u/1802828?v=4" width="80px;" alt=""/><br /><sub><b>Somasundaram Ayyappan</b></sub></a><br /><a href="https://github.com/react-boilerplate/react-boilerplate/commits?author=somus" title="Code">💻</a></td>
166+
<td align="center"><a href="https://www.codedsignal.co.uk/"><img src="https://avatars0.githubusercontent.com/u/21795?v=4" width="80px;" alt=""/><br /><sub><b>Oliver Turner</b></sub></a><br /><a href="https://github.com/react-boilerplate/react-boilerplate/commits?author=oliverturner" title="Code">💻</a></td>
167+
<td align="center"><a href="https://github.com/samit4me"><img src="https://avatars3.githubusercontent.com/u/3248531?v=4" width="80px;" alt=""/><br /><sub><b>Samuel Sharpe</b></sub></a><br /><a href="https://github.com/react-boilerplate/react-boilerplate/commits?author=samit4me" title="Code">💻</a></td>
168+
<td align="center"><a href="https://karandikarmihir.github.io/"><img src="https://avatars3.githubusercontent.com/u/17466938?v=4" width="80px;" alt=""/><br /><sub><b>Mihir Karandikar</b></sub></a><br /><a href="https://github.com/react-boilerplate/react-boilerplate/commits?author=KarandikarMihir" title="Code">💻</a></td>
169+
<td align="center"><a href="http://www.vverma.net"><img src="https://avatars2.githubusercontent.com/u/627846?v=4" width="80px;" alt=""/><br /><sub><b>Vaibhav Verma</b></sub></a><br /><a href="https://github.com/react-boilerplate/react-boilerplate/commits?author=v" title="Code">💻</a></td>
170+
<td align="center"><a href="https://imagineclarity.com"><img src="https://avatars1.githubusercontent.com/u/4217871?v=4" width="80px;" alt=""/><br /><sub><b>Sébastien Dubois</b></sub></a><br /><a href="https://github.com/react-boilerplate/react-boilerplate/commits?author=sedubois" title="Code">💻</a></td>
171+
<td align="center"><a href="https://www.chaintng.com"><img src="https://avatars2.githubusercontent.com/u/2979072?v=4" width="80px;" alt=""/><br /><sub><b>Chainarong Tangsurakit</b></sub></a><br /><a href="https://github.com/react-boilerplate/react-boilerplate/commits?author=chaintng" title="Code">💻</a></td>
172+
<td align="center"><a href="https://amilajack.com"><img src="https://avatars1.githubusercontent.com/u/6374832?v=4" width="80px;" alt=""/><br /><sub><b>Amila Welihinda</b></sub></a><br /><a href="https://github.com/react-boilerplate/react-boilerplate/commits?author=amilajack" title="Code">💻</a></td>
173+
</tr>
174+
<tr>
175+
<td align="center"><a href="https://twitter.com/rajatkantinandi"><img src="https://avatars1.githubusercontent.com/u/17743895?v=4" width="80px;" alt=""/><br /><sub><b>Rajat Kanti Nandi</b></sub></a><br /><a href="#tool-rajatkantinandi" title="Tools">🔧</a></td>
176+
</tr>
177+
</table>
178+
179+
<!-- markdownlint-enable -->
180+
<!-- prettier-ignore-end -->
154181
<!-- ALL-CONTRIBUTORS-LIST:END -->
155182

156183
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!

app/app.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,10 @@ import LanguageProvider from 'containers/LanguageProvider';
2727
import '!file-loader?name=[name].[ext]!./images/favicon.ico';
2828
import 'file-loader?name=.htaccess!./.htaccess';
2929

30+
import { translationMessages } from 'i18n';
3031
import configureStore from './configureStore';
3132

3233
// Import i18n messages
33-
import { translationMessages } from 'i18n';
3434

3535
// Observe loading of Open Sans (to remove open sans, remove the <link> tag in
3636
// the index.html file and this observer)
@@ -48,7 +48,6 @@ const MOUNT_NODE = document.getElementById('app') as HTMLElement;
4848

4949
const render = (messages: any, Component = App) => {
5050
ReactDOM.render(
51-
// tslint:disable-next-line:jsx-wrap-multiline
5251
<Provider store={store}>
5352
<LanguageProvider messages={messages}>
5453
<ConnectedRouter history={history}>
@@ -63,7 +62,7 @@ const render = (messages: any, Component = App) => {
6362
if (module.hot) {
6463
module.hot.accept(['./i18n', './containers/App'], () => {
6564
ReactDOM.unmountComponentAtNode(MOUNT_NODE);
66-
// tslint:disable-next-line:max-line-length
65+
// eslint-disable-next-line
6766
const App = require('./containers/App').default; // https://github.com/webpack/webpack-dev-server/issues/100
6867
render(translationMessages, App);
6968
});
@@ -91,5 +90,6 @@ if (!(window as any).Intl) {
9190
// it's not most important operation and if main code fails,
9291
// we do not want it installed
9392
if (process.env.NODE_ENV === 'production') {
93+
// eslint-disable-next-line global-require
9494
require('offline-plugin/runtime').install();
9595
}

app/components/A/tests/index.test.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,9 @@ const href = 'http://mxstbr.com/';
1111
const children = <h1>Test</h1>;
1212
const renderComponent = (props = {}) => {
1313
const utils = render(
14-
<A href={href} {...props}>{children}</A>,
14+
<A href={href} {...props}>
15+
{children}
16+
</A>,
1517
);
1618
const link = utils.container.querySelector('a')!;
1719
return { ...utils, link };

app/components/Footer/index.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ function Footer() {
1313
<FormattedMessage {...messages.licenseMessage} />
1414
</section>
1515
<section>
16-
<LocaleToggle/>
16+
<LocaleToggle />
1717
</section>
1818
<section>
1919
<FormattedMessage

app/components/Img/index.tsx

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,13 @@ interface Props {
1313
className?: string;
1414
}
1515
function Img(props: Props) {
16-
return <img className={props.className} src={props.src as string} alt={props.alt} />;
16+
return (
17+
<img
18+
className={props.className}
19+
src={props.src as string}
20+
alt={props.alt}
21+
/>
22+
);
1723
}
1824

1925
export default Img;

0 commit comments

Comments
 (0)