From f523383216f54098736d73662b98990963b9ec20 Mon Sep 17 00:00:00 2001 From: Jaco Greeff Date: Wed, 27 Jun 2018 12:43:07 +0200 Subject: [PATCH] Add TSLint (#106) --- package.json | 4 +- packages/app-accounts/src/Address.tsx | 4 +- packages/app-accounts/src/Creator.tsx | 2 +- packages/app-accounts/src/Editor.tsx | 2 +- packages/app-accounts/src/index.tsx | 2 +- packages/app-addresses/src/Creator.tsx | 2 +- packages/app-addresses/src/Editor.tsx | 2 +- packages/app-addresses/src/index.tsx | 2 +- packages/app-explorer/package.json | 5 +- packages/app-explorer/src/BestHash.tsx | 2 +- .../app-explorer/src/BlockHeader/index.tsx | 3 +- packages/app-extrinsics/package.json | 2 +- packages/app-extrinsics/src/Account.tsx | 2 +- packages/app-extrinsics/src/Extrinsic.tsx | 4 +- .../app-extrinsics/src/Params/Extrinsic.tsx | 2 +- packages/app-rpc/src/Account.tsx | 4 +- packages/app-rpc/src/Selection.tsx | 2 +- packages/app-storage/src/index.tsx | 2 +- packages/app-toolbox/src/Sign.tsx | 3 - packages/app-toolbox/src/Unlock.tsx | 4 +- packages/app-toolbox/src/index.tsx | 2 +- packages/app-vanitygen/src/Match.tsx | 2 +- packages/app-vanitygen/src/generator/cli.ts | 2 +- packages/app-vanitygen/src/generator/sort.ts | 2 +- packages/app-vanitygen/src/index.tsx | 2 +- packages/apps/src/SideBar/index.tsx | 2 +- packages/apps/src/index.tsx | 3 +- packages/ui-app/package.json | 4 +- packages/ui-app/src/CopyButton.tsx | 2 +- packages/ui-app/src/Dropdown.tsx | 2 +- packages/ui-app/src/Input.tsx | 2 +- packages/ui-app/src/InputAddress/index.tsx | 4 +- packages/ui-app/src/Labelled.tsx | 4 +- .../ui-app/src/Params/Param/BaseBytes.tsx | 2 +- packages/ui-app/src/Params/Param/File.tsx | 12 +- packages/ui-app/src/Params/Param/KeyValue.tsx | 6 +- packages/ui-app/src/Params/Param/String.tsx | 2 +- packages/ui-app/src/Params/Param/index.tsx | 2 +- packages/ui-app/src/Params/initValue.ts | 5 +- packages/ui-app/src/Params/valueToText.ts | 9 +- packages/ui-app/src/Password.tsx | 2 +- packages/ui-app/src/index.tsx | 2 +- packages/ui-identicon/package.json | 2 +- packages/ui-identicon/src/colors.ts | 2 +- packages/ui-identicon/src/container.ts | 2 +- packages/ui-identicon/src/index.ts | 2 +- packages/ui-identicon/src/seeder.ts | 2 +- packages/ui-identicon/src/shape/circle.ts | 2 +- packages/ui-identicon/src/shape/square.ts | 2 +- packages/ui-identicon/src/svg/circle.ts | 2 +- packages/ui-identicon/src/svg/element.ts | 2 +- packages/ui-identicon/src/svg/rect.ts | 2 +- packages/ui-keyring/package.json | 2 +- packages/ui-keyring/src/address/meta.ts | 2 +- packages/ui-react-rx/package.json | 6 +- .../ui-react-rx/src/util/triggerChange.ts | 4 +- packages/ui-react-rx/src/with/api.tsx | 2 +- packages/ui-react-rx/src/with/apiCall.tsx | 12 +- packages/ui-react-rx/src/with/observable.tsx | 2 +- packages/ui-react-rx/src/with/storage.tsx | 20 +- packages/ui-react/package.json | 2 +- packages/ui-signer/package.json | 2 +- packages/ui-signer/src/Extrinsic.tsx | 2 +- packages/ui-signer/src/Modal.tsx | 14 +- packages/ui-signer/src/Status.tsx | 4 +- packages/ui-signer/src/Unlock.tsx | 6 +- packages/ui-signer/src/index.tsx | 2 +- packages/ui-signer/src/sign.ts | 4 +- packages/ui-signer/src/submit.ts | 7 +- tslint.json | 3 + yarn.lock | 300 ++++++++++-------- 71 files changed, 288 insertions(+), 258 deletions(-) create mode 100644 tslint.json diff --git a/package.json b/package.json index d0af81ef90..703b83c1f4 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,7 @@ ], "scripts": { "build": "polkadot-dev-build-ts", - "check": "tsc --noEmit", + "check": "tslint --project . && tsc --noEmit", "clean": "polkadot-dev-clean-build", "postinstall": "polkadot-dev-yarn-only", "test": "jest --coverage", @@ -23,7 +23,7 @@ "start": "cd packages/apps && webpack-serve --config webpack.config.js --port 3000" }, "devDependencies": { - "@polkadot/dev-react": "^0.20.7", + "@polkadot/dev-react": "^0.20.8", "@polkadot/ts": "^0.1.3", "autoprefixer": "^8.6.2", "gh-pages": "^1.1.0", diff --git a/packages/app-accounts/src/Address.tsx b/packages/app-accounts/src/Address.tsx index 6414fde6d2..d2b8531cf1 100644 --- a/packages/app-accounts/src/Address.tsx +++ b/packages/app-accounts/src/Address.tsx @@ -16,14 +16,14 @@ import addressEncode from '@polkadot/util-keyring/address/encode'; type Props = BareProps & { value: string; -} +}; type State = { address: string, isValid: boolean, publicKey: Uint8Array | null, shortValue: string -} +}; const DEFAULT_ADDR = '5'.padEnd(16, 'x'); const DEFAULT_SHORT = `${DEFAULT_ADDR.slice(0, 7)}…${DEFAULT_ADDR.slice(-7)}`; diff --git a/packages/app-accounts/src/Creator.tsx b/packages/app-accounts/src/Creator.tsx index a49606a38d..5219ca8099 100644 --- a/packages/app-accounts/src/Creator.tsx +++ b/packages/app-accounts/src/Creator.tsx @@ -35,7 +35,7 @@ type State = { name: string, password: string, seed: string -} +}; function formatSeed (seed: string): Uint8Array { return isHex(seed) diff --git a/packages/app-accounts/src/Editor.tsx b/packages/app-accounts/src/Editor.tsx index e7435e647c..7d07cd1247 100644 --- a/packages/app-accounts/src/Editor.tsx +++ b/packages/app-accounts/src/Editor.tsx @@ -25,7 +25,7 @@ type State = { defaultValue?: string, editedName: string, isEdited: boolean -} +}; class Editor extends React.PureComponent { state: State; diff --git a/packages/app-accounts/src/index.tsx b/packages/app-accounts/src/index.tsx index f982cf34b5..7294d43f67 100644 --- a/packages/app-accounts/src/index.tsx +++ b/packages/app-accounts/src/index.tsx @@ -21,7 +21,7 @@ type Actions = 'create' | 'edit'; type State = { action: Actions -} +}; // FIXME React-router would probably be the best route, not home-grown const Components: { [index: string]: React.ComponentType } = { diff --git a/packages/app-addresses/src/Creator.tsx b/packages/app-addresses/src/Creator.tsx index 466d7d586a..649f26137d 100644 --- a/packages/app-addresses/src/Creator.tsx +++ b/packages/app-addresses/src/Creator.tsx @@ -26,7 +26,7 @@ type State = { isNameValid: boolean, isValid: boolean, name: string -} +}; class Creator extends React.PureComponent { state: State; diff --git a/packages/app-addresses/src/Editor.tsx b/packages/app-addresses/src/Editor.tsx index 28d1b8b34d..cea12135ef 100644 --- a/packages/app-addresses/src/Editor.tsx +++ b/packages/app-addresses/src/Editor.tsx @@ -25,7 +25,7 @@ type State = { defaultValue?: string, editedName: string, isEdited: boolean -} +}; class Editor extends React.PureComponent { state: State; diff --git a/packages/app-addresses/src/index.tsx b/packages/app-addresses/src/index.tsx index 8988a7eb73..30da459f8f 100644 --- a/packages/app-addresses/src/index.tsx +++ b/packages/app-addresses/src/index.tsx @@ -21,7 +21,7 @@ type Actions = 'create' | 'edit'; type State = { action: Actions -} +}; // FIXME React-router would probably be the best route, not home-grown const Components: { [index: string]: React.ComponentType } = { diff --git a/packages/app-explorer/package.json b/packages/app-explorer/package.json index 4b6a9c47bc..457bab656d 100644 --- a/packages/app-explorer/package.json +++ b/packages/app-explorer/package.json @@ -16,9 +16,8 @@ }, "dependencies": { "@babel/runtime": "^7.0.0-beta.51", - "@polkadot/primitives-codec": "^0.20.3", - "@polkadot/primitives-json": "^0.20.3", + "@polkadot/primitives": "^0.26.6", "@polkadot/ui-app": "^0.18.3", - "@polkadot/util-crypto": "^0.24.9" + "@polkadot/util-crypto": "^0.26.6" } } diff --git a/packages/app-explorer/src/BestHash.tsx b/packages/app-explorer/src/BestHash.tsx index 0683d361bd..9441ba06a2 100644 --- a/packages/app-explorer/src/BestHash.tsx +++ b/packages/app-explorer/src/BestHash.tsx @@ -4,7 +4,7 @@ import { Header } from '@polkadot/primitives/header'; -import headerHash from '@polkadot/primitives-codec/header/hash'; +import headerHash from '@polkadot/primitives/codec/header/hash'; import withApiDiv from '@polkadot/ui-react-rx/with/apiDiv'; import u8aToHex from '@polkadot/util/u8a/toHex'; diff --git a/packages/app-explorer/src/BlockHeader/index.tsx b/packages/app-explorer/src/BlockHeader/index.tsx index 83806b2d9d..599548bc74 100644 --- a/packages/app-explorer/src/BlockHeader/index.tsx +++ b/packages/app-explorer/src/BlockHeader/index.tsx @@ -9,7 +9,7 @@ import './BlockHeader.css'; import React from 'react'; -import headerHash from '@polkadot/primitives-codec/header/hash'; +import headerHash from '@polkadot/primitives/codec/header/hash'; import classes from '@polkadot/ui-app/util/classes'; import numberFormat from '@polkadot/ui-react-rx/util/numberFormat'; import u8aToHex from '@polkadot/util/u8a/toHex'; @@ -26,6 +26,7 @@ function BlockHeader ({ className, value, style }: Props) { } const hash = headerHash(value); + // tslint:disable-next-line:variable-name const { extrinsicsRoot, number, parentHash, stateRoot } = value; return ( diff --git a/packages/app-extrinsics/package.json b/packages/app-extrinsics/package.json index 4bc3687fb7..a8d5f88aa4 100644 --- a/packages/app-extrinsics/package.json +++ b/packages/app-extrinsics/package.json @@ -16,7 +16,7 @@ }, "dependencies": { "@babel/runtime": "^7.0.0-beta.51", - "@polkadot/extrinsics-codec": "^0.20.3", + "@polkadot/extrinsics": "^0.26.6", "@polkadot/ui-app": "^0.18.3", "@polkadot/ui-signer": "^0.18.3", "react-dropzone": "^4.2.9" diff --git a/packages/app-extrinsics/src/Account.tsx b/packages/app-extrinsics/src/Account.tsx index 9b69ba9e05..295c14cb56 100644 --- a/packages/app-extrinsics/src/Account.tsx +++ b/packages/app-extrinsics/src/Account.tsx @@ -84,7 +84,7 @@ class Account extends React.PureComponent { this.setState({ publicKey }, () => onChange(publicKey) ); - }; + } } export default translate(Account); diff --git a/packages/app-extrinsics/src/Extrinsic.tsx b/packages/app-extrinsics/src/Extrinsic.tsx index b05cf7674f..c81571f5a8 100644 --- a/packages/app-extrinsics/src/Extrinsic.tsx +++ b/packages/app-extrinsics/src/Extrinsic.tsx @@ -11,7 +11,7 @@ import { EncodedMessage } from '@polkadot/ui-signer/types'; import React from 'react'; -import encode from '@polkadot/extrinsics-codec/encode/extrinsic'; +import encode from '@polkadot/extrinsics/codec/encode/extrinsic'; import InputExtrinsic from '@polkadot/ui-app/InputExtrinsic'; import Params from '@polkadot/ui-app/Params'; import classes from '@polkadot/ui-app/util/classes'; @@ -101,7 +101,7 @@ class Extrinsic extends React.PureComponent { onChangeExtrinsic = (extrinsic: SectionItem): void => { this.nextState({ extrinsic } as State); - }; + } onChangeValues = (values: Array): void => { this.nextState({ values } as State); diff --git a/packages/app-extrinsics/src/Params/Extrinsic.tsx b/packages/app-extrinsics/src/Params/Extrinsic.tsx index 080d50ebcc..cafdf502d3 100644 --- a/packages/app-extrinsics/src/Params/Extrinsic.tsx +++ b/packages/app-extrinsics/src/Params/Extrinsic.tsx @@ -20,7 +20,7 @@ type Props = I18nProps & { isPrivate: boolean, label: string, onChange: RawParam$OnChange, - withLabel?: boolean, + withLabel?: boolean }; class Extrinsic extends React.PureComponent { diff --git a/packages/app-rpc/src/Account.tsx b/packages/app-rpc/src/Account.tsx index e6b2ecc97a..b5dbd95bce 100644 --- a/packages/app-rpc/src/Account.tsx +++ b/packages/app-rpc/src/Account.tsx @@ -92,7 +92,7 @@ class Account extends React.PureComponent { this.setState({ publicKey }, () => onChange(publicKey, this.state.nonce) ); - }; + } onChangeNonce = (nonce: BN): void => { const { onChange } = this.props; @@ -100,7 +100,7 @@ class Account extends React.PureComponent { this.setState({ nonce }, () => onChange(this.state.publicKey, nonce) ); - }; + } } export default translate(Account); diff --git a/packages/app-rpc/src/Selection.tsx b/packages/app-rpc/src/Selection.tsx index 0681a6767a..0d145200f9 100644 --- a/packages/app-rpc/src/Selection.tsx +++ b/packages/app-rpc/src/Selection.tsx @@ -33,7 +33,7 @@ type State = { publicKey?: Uint8Array | null, rpc: SectionItem, values: Array -} +}; const defaultMethod = rpc.author.public.submitExtrinsic; diff --git a/packages/app-storage/src/index.tsx b/packages/app-storage/src/index.tsx index 403346253d..2b7d9217b2 100644 --- a/packages/app-storage/src/index.tsx +++ b/packages/app-storage/src/index.tsx @@ -19,7 +19,7 @@ type Props = I18nProps & {}; type State = { queue: Array -} +}; class StorageApp extends React.PureComponent { state: State = { diff --git a/packages/app-toolbox/src/Sign.tsx b/packages/app-toolbox/src/Sign.tsx index 4df7bb77d7..efdff36bd6 100644 --- a/packages/app-toolbox/src/Sign.tsx +++ b/packages/app-toolbox/src/Sign.tsx @@ -229,9 +229,6 @@ class Sign extends React.PureComponent { this.nextState({ data, isHexData } as State); } - - onUnlock = (): void => { - } } export default translate(Sign); diff --git a/packages/app-toolbox/src/Unlock.tsx b/packages/app-toolbox/src/Unlock.tsx index 9b6caa438b..c94a81669b 100644 --- a/packages/app-toolbox/src/Unlock.tsx +++ b/packages/app-toolbox/src/Unlock.tsx @@ -24,7 +24,7 @@ type Props = I18nProps & { type UnlockI18n = { key: string, value: any // I18Next$Translate$Config -} +}; type State = { address: string, @@ -176,7 +176,7 @@ class Unlock extends React.PureComponent { } onClose(); - }; + } } export default translate(Unlock); diff --git a/packages/app-toolbox/src/index.tsx b/packages/app-toolbox/src/index.tsx index 973d141808..bac98f8882 100644 --- a/packages/app-toolbox/src/index.tsx +++ b/packages/app-toolbox/src/index.tsx @@ -22,7 +22,7 @@ type Props = I18nProps & {}; type State = { action: Actions -} +}; // FIXME React-router would probably be the best route, not home-grown const Components: { [index: string]: React.ComponentType } = { // Actions diff --git a/packages/app-vanitygen/src/Match.tsx b/packages/app-vanitygen/src/Match.tsx index 13577af96d..d5f7514394 100644 --- a/packages/app-vanitygen/src/Match.tsx +++ b/packages/app-vanitygen/src/Match.tsx @@ -18,7 +18,7 @@ type Props = BareProps & { offset: number; onRemove: (address: string) => void, seed: Uint8Array; -} +}; type State = { hexSeed: string diff --git a/packages/app-vanitygen/src/generator/cli.ts b/packages/app-vanitygen/src/generator/cli.ts index 04dd6c7789..d1811e9406 100644 --- a/packages/app-vanitygen/src/generator/cli.ts +++ b/packages/app-vanitygen/src/generator/cli.ts @@ -16,7 +16,7 @@ type Best = { count: number, offset: number, seed?: Uint8Array -} +}; const { match, withCase } = yargs .option('match', { diff --git a/packages/app-vanitygen/src/generator/sort.ts b/packages/app-vanitygen/src/generator/sort.ts index 2b9cae38b3..256e5a35d4 100644 --- a/packages/app-vanitygen/src/generator/sort.ts +++ b/packages/app-vanitygen/src/generator/sort.ts @@ -28,4 +28,4 @@ export default function sort (a: Generator$Match, b: Generator$Match): number { } return a.address.localeCompare(b.address); -}; +} diff --git a/packages/app-vanitygen/src/index.tsx b/packages/app-vanitygen/src/index.tsx index 7b811071e6..a30edc0e98 100644 --- a/packages/app-vanitygen/src/index.tsx +++ b/packages/app-vanitygen/src/index.tsx @@ -33,7 +33,7 @@ type State = { matches: Generator$Matches, startAt: number, withCase: boolean -} +}; const DEFAULT_MATCH = 'Some'; const BOOL_OPTIONS = [ diff --git a/packages/apps/src/SideBar/index.tsx b/packages/apps/src/SideBar/index.tsx index d8f53e7168..3b9c11b0ce 100644 --- a/packages/apps/src/SideBar/index.tsx +++ b/packages/apps/src/SideBar/index.tsx @@ -17,7 +17,7 @@ import translate from '../translate'; import Item from './Item'; type Props = I18nProps & { - children?: any, // React$Node + children?: any // React$Node }; function SideBar ({ children, className, style, t }: Props) { diff --git a/packages/apps/src/index.tsx b/packages/apps/src/index.tsx index 2b444a9e71..283d20131e 100644 --- a/packages/apps/src/index.tsx +++ b/packages/apps/src/index.tsx @@ -37,7 +37,8 @@ function App ({ className, style }: Props) { } createApp(App, { - url: process.env.WS_URL === null || process.env.WS_URL === '' + // tslint:disable-next-line + url: (process.env.WS_URL === null) || (process.env.WS_URL === '') ? undefined : process.env.WS_URL }); diff --git a/packages/ui-app/package.json b/packages/ui-app/package.json index 05085710c3..833a27f448 100644 --- a/packages/ui-app/package.json +++ b/packages/ui-app/package.json @@ -16,8 +16,8 @@ }, "dependencies": { "@babel/runtime": "^7.0.0-beta.51", - "@polkadot/extrinsics": "^0.20.3", - "@polkadot/storage": "^0.20.3", + "@polkadot/extrinsics": "^0.26.6", + "@polkadot/storage": "^0.26.6", "@polkadot/ui-keyring": "^0.18.3", "@polkadot/ui-react": "^0.18.3", "@polkadot/ui-react-rx": "^0.18.3", diff --git a/packages/ui-app/src/CopyButton.tsx b/packages/ui-app/src/CopyButton.tsx index 59bb086a13..a64ff09830 100644 --- a/packages/ui-app/src/CopyButton.tsx +++ b/packages/ui-app/src/CopyButton.tsx @@ -16,7 +16,7 @@ type Props = BareProps & { isPrimary?: boolean, size?: Button$Sizes, value?: any -} +}; export default function CopyButton ({ className, icon = 'copy', isCircular = true, isPrimary = true, size = 'tiny', style, value }: Props) { return ( diff --git a/packages/ui-app/src/Dropdown.tsx b/packages/ui-app/src/Dropdown.tsx index 0ea3f30717..b3c3568627 100644 --- a/packages/ui-app/src/Dropdown.tsx +++ b/packages/ui-app/src/Dropdown.tsx @@ -21,7 +21,7 @@ type Props