From f4fc0648d87972f5f04919381f8df3f594ae5c5a Mon Sep 17 00:00:00 2001 From: Amaury Martiny Date: Wed, 3 Jul 2019 11:21:02 +0200 Subject: [PATCH] Upgrade api to use MetadataV6 (#1354) * Upgrade to latest api * Add polkadot/keyring * Rename StorageEtnry --- package.json | 6 +- packages/app-contracts/package.json | 2 +- packages/app-storage/src/Query.tsx | 4 +- .../app-storage/src/Selection/Modules.tsx | 6 +- packages/app-storage/src/types.ts | 4 +- packages/ui-api/package.json | 2 +- packages/ui-app/package.json | 1 + .../ui-app/src/InputStorage/SelectKey.tsx | 8 +- .../ui-app/src/InputStorage/SelectSection.tsx | 6 +- packages/ui-app/src/InputStorage/index.tsx | 12 +- .../ui-app/src/InputStorage/options/key.tsx | 4 +- yarn.lock | 109 +++++++++--------- 12 files changed, 85 insertions(+), 79 deletions(-) diff --git a/package.json b/package.json index 81c5921603..a18aff1c5b 100644 --- a/package.json +++ b/package.json @@ -10,10 +10,10 @@ "packages/*" ], "resolutions": { - "@polkadot/api": "^0.82.0-beta.18", - "@polkadot/api-contract": "^0.82.0-beta.18", + "@polkadot/api": "^0.82.0-beta.25", + "@polkadot/api-contract": "^0.82.0-beta.25", "@polkadot/keyring": "^0.94.0-beta.4", - "@polkadot/types": "^0.82.0-beta.18", + "@polkadot/types": "^0.82.0-beta.25", "@polkadot/util": "^0.94.0-beta.4", "@polkadot/util-crypto": "^0.94.0-beta.4", "@types/styled-components": "4.1.8", diff --git a/packages/app-contracts/package.json b/packages/app-contracts/package.json index 7a65c0c5a4..bd3cd1701a 100644 --- a/packages/app-contracts/package.json +++ b/packages/app-contracts/package.json @@ -11,7 +11,7 @@ "license": "Apache-2.0", "dependencies": { "@babel/runtime": "^7.4.5", - "@polkadot/api-contract": "^0.82.0-beta.18", + "@polkadot/api-contract": "^0.82.0-beta.25", "@polkadot/ui-app": "^0.34.0-beta.39" } } diff --git a/packages/app-storage/src/Query.tsx b/packages/app-storage/src/Query.tsx index 536215686d..e38274dd9d 100644 --- a/packages/app-storage/src/Query.tsx +++ b/packages/app-storage/src/Query.tsx @@ -2,7 +2,7 @@ // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. -import { StorageFunction } from '@polkadot/types/primitive/StorageKey'; +import { StorageEntry } from '@polkadot/types/primitive/StorageKey'; import { I18nProps } from '@polkadot/ui-app/types'; import { QueryTypes, StorageModuleQuery } from './types'; @@ -170,7 +170,7 @@ class Query extends React.PureComponent { return buttons; } - private keyToName (key: Uint8Array | StorageFunction): string { + private keyToName (key: Uint8Array | StorageEntry): string { if (isU8a(key)) { const u8a = Compact.stripLengthPrefix(key); diff --git a/packages/app-storage/src/Selection/Modules.tsx b/packages/app-storage/src/Selection/Modules.tsx index cc37191d5a..a063f2de57 100644 --- a/packages/app-storage/src/Selection/Modules.tsx +++ b/packages/app-storage/src/Selection/Modules.tsx @@ -3,7 +3,7 @@ // of the Apache-2.0 license. See the LICENSE file for details. import { TypeDef, getTypeDef } from '@polkadot/types'; -import { StorageFunction } from '@polkadot/types/primitive/StorageKey'; +import { StorageEntry } from '@polkadot/types/primitive/StorageKey'; import { I18nProps } from '@polkadot/ui-app/types'; import { RawParams } from '@polkadot/ui-params/types'; import { ApiProps } from '@polkadot/ui-api/types'; @@ -21,7 +21,7 @@ type Props = ComponentProps & ApiProps & I18nProps; type State = { isValid: boolean, - key: StorageFunction, + key: StorageEntry, values: RawParams, params: Array<{ type: TypeDef }> }; @@ -116,7 +116,7 @@ class Modules extends TxComponent { }); } - private onChangeKey = (key: StorageFunction): void => { + private onChangeKey = (key: StorageEntry): void => { this.nextState({ isValid: false, key, diff --git a/packages/app-storage/src/types.ts b/packages/app-storage/src/types.ts index 57cb98776b..700d2c9172 100644 --- a/packages/app-storage/src/types.ts +++ b/packages/app-storage/src/types.ts @@ -2,7 +2,7 @@ // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. -import { StorageFunction } from '@polkadot/types/primitive/StorageKey'; +import { StorageEntry } from '@polkadot/types/primitive/StorageKey'; import { RawParams } from '@polkadot/ui-params/types'; type IdQuery = { @@ -10,7 +10,7 @@ type IdQuery = { }; export type PartialModuleQuery = { - key: StorageFunction, + key: StorageEntry, params: RawParams }; diff --git a/packages/ui-api/package.json b/packages/ui-api/package.json index e133887abf..4f7f436690 100644 --- a/packages/ui-api/package.json +++ b/packages/ui-api/package.json @@ -31,7 +31,7 @@ "homepage": "https://github.com/polkadot-js/ui/tree/master/packages/ui-reactive#readme", "dependencies": { "@babel/runtime": "^7.4.5", - "@polkadot/api": "^0.82.0-beta.18", + "@polkadot/api": "^0.82.0-beta.25", "@polkadot/extension-dapp": "^0.1.1-beta.28", "rxjs-compat": "^6.4.0" } diff --git a/packages/ui-app/package.json b/packages/ui-app/package.json index d8f08fad99..7c3f81b5fd 100644 --- a/packages/ui-app/package.json +++ b/packages/ui-app/package.json @@ -11,6 +11,7 @@ "license": "Apache-2.0", "dependencies": { "@babel/runtime": "^7.4.5", + "@polkadot/keyring": "^0.94.0-beta.4", "@polkadot/ui-api": "^0.34.0-beta.39", "@polkadot/ui-identicon": "^0.42.0-beta.2", "@polkadot/ui-keyring": "^0.42.0-beta.2", diff --git a/packages/ui-app/src/InputStorage/SelectKey.tsx b/packages/ui-app/src/InputStorage/SelectKey.tsx index a225c208c3..2337da59e1 100644 --- a/packages/ui-app/src/InputStorage/SelectKey.tsx +++ b/packages/ui-app/src/InputStorage/SelectKey.tsx @@ -7,7 +7,7 @@ import { DropdownOptions } from '../util/types'; import { BareProps } from '../types'; import React from 'react'; -import { StorageFunction } from '@polkadot/types/primitive/StorageKey'; +import { StorageEntry } from '@polkadot/types/primitive/StorageKey'; import { withApi } from '@polkadot/ui-api'; import Dropdown from '../Dropdown'; @@ -15,9 +15,9 @@ import { classes } from '../util'; type Props = ApiProps & BareProps & { isError?: boolean, - onChange: (value: StorageFunction) => void, + onChange: (value: StorageEntry) => void, options: DropdownOptions, - value: StorageFunction + value: StorageEntry }; class SelectKey extends React.PureComponent { @@ -28,7 +28,7 @@ class SelectKey extends React.PureComponent { return null; } - const transform = (method: string): StorageFunction => + const transform = (method: string): StorageEntry => api.query[value.section][method] as any; return ( diff --git a/packages/ui-app/src/InputStorage/SelectSection.tsx b/packages/ui-app/src/InputStorage/SelectSection.tsx index 052e2d67e0..61453ee708 100644 --- a/packages/ui-app/src/InputStorage/SelectSection.tsx +++ b/packages/ui-app/src/InputStorage/SelectSection.tsx @@ -2,7 +2,7 @@ // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. -import { StorageFunction } from '@polkadot/types/primitive/StorageKey'; +import { StorageEntry } from '@polkadot/types/primitive/StorageKey'; import { DropdownOptions } from '../util/types'; import { BareProps } from '../types'; @@ -12,11 +12,11 @@ import Dropdown from '../Dropdown'; import { classes } from '../util'; type Props = BareProps & { - defaultValue?: StorageFunction, + defaultValue?: StorageEntry, isError?: boolean, onChange: (value: string) => void, options: DropdownOptions, - value: StorageFunction + value: StorageEntry }; export default class SelectSection extends React.PureComponent { diff --git a/packages/ui-app/src/InputStorage/index.tsx b/packages/ui-app/src/InputStorage/index.tsx index c84c2a6713..9e63cd2f01 100644 --- a/packages/ui-app/src/InputStorage/index.tsx +++ b/packages/ui-app/src/InputStorage/index.tsx @@ -4,7 +4,7 @@ // TODO: We have a lot shared between this and InputExtrinsic -import { StorageFunction } from '@polkadot/types/primitive/StorageKey'; +import { StorageEntry } from '@polkadot/types/primitive/StorageKey'; import { ApiProps } from '@polkadot/ui-api/types'; import { DropdownOptions } from '../util/types'; import { I18nProps } from '../types'; @@ -22,18 +22,18 @@ import keyOptions from './options/key'; import sectionOptions from './options/section'; type Props = ApiProps & I18nProps & { - defaultValue: StorageFunction, + defaultValue: StorageEntry, help?: React.ReactNode, isError?: boolean, label: React.ReactNode, - onChange?: (value: StorageFunction) => void, + onChange?: (value: StorageEntry) => void, withLabel?: boolean }; type State = { optionsMethod: DropdownOptions, optionsSection: DropdownOptions, - value: StorageFunction + value: StorageEntry }; class InputStorage extends React.PureComponent { @@ -84,7 +84,7 @@ class InputStorage extends React.PureComponent { ); } - private onKeyChange = (newValue: StorageFunction): void => { + private onKeyChange = (newValue: StorageEntry): void => { const { onChange } = this.props; const { value } = this.state; @@ -109,7 +109,7 @@ class InputStorage extends React.PureComponent { const newValue = api.query[newSection][optionsMethod[0].value]; this.setState({ optionsMethod }, () => - this.onKeyChange(newValue as any as StorageFunction) + this.onKeyChange(newValue as any as StorageEntry) ); } } diff --git a/packages/ui-app/src/InputStorage/options/key.tsx b/packages/ui-app/src/InputStorage/options/key.tsx index cd5b228bbb..7fec309874 100644 --- a/packages/ui-app/src/InputStorage/options/key.tsx +++ b/packages/ui-app/src/InputStorage/options/key.tsx @@ -2,7 +2,7 @@ // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. -import { StorageFunction } from '@polkadot/types/primitive/StorageKey'; +import { StorageEntry } from '@polkadot/types/primitive/StorageKey'; import { DropdownOptions } from '../../util/types'; import React from 'react'; @@ -19,7 +19,7 @@ export default function createOptions (api: ApiPromise, sectionName: string): Dr .keys(section) .sort() .map((value) => { - const method = section[value] as any as StorageFunction; + const method = section[value] as any as StorageEntry; const type = method.meta.type; let input = type.isMap ? type.asMap.key.toString() diff --git a/yarn.lock b/yarn.lock index 6e8e4c89c0..f0dbfbff87 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1842,37 +1842,37 @@ universal-user-agent "^2.0.0" url-template "^2.0.8" -"@polkadot/api-contract@^0.82.0-beta.18": - version "0.82.0-beta.18" - resolved "https://registry.yarnpkg.com/@polkadot/api-contract/-/api-contract-0.82.0-beta.18.tgz#0861474e26056c1e583976ef5d92f736c660ebb5" - integrity sha512-7+SrGaTRC3qM20dCUmlYnWLEpp6CVLE+B6d4CCjs+AQ994GREXutIRKZmAJpdV7JnDAku0iCT1oO74n5F+XpSw== +"@polkadot/api-contract@^0.82.0-beta.25": + version "0.82.0-beta.25" + resolved "https://registry.yarnpkg.com/@polkadot/api-contract/-/api-contract-0.82.0-beta.25.tgz#5644f580a407f00da028609354308808814a640b" + integrity sha512-nmgtMM9WH+JP3n7bbTFZLc0j0jr/tR2l0jFxzfrlxamNFE7T/NO4w5t4Y8aa7WyfpissXXSyUZMjcZkyYoCZGw== dependencies: "@babel/runtime" "^7.4.5" - "@polkadot/types" "^0.82.0-beta.18" + "@polkadot/types" "^0.82.0-beta.25" -"@polkadot/api-derive@^0.82.0-beta.18": - version "0.82.0-beta.18" - resolved "https://registry.yarnpkg.com/@polkadot/api-derive/-/api-derive-0.82.0-beta.18.tgz#c1d773c1143120ff97f4db050a58de5ab2acaeb2" - integrity sha512-USX+PBsc3OSjOGI3afXiwYdxxNq96qYmNB2DW7LbL5MTPkZEp3ph/L2UEEVesdzhOyAAb8TTFwUQhuKkAwE1sQ== +"@polkadot/api-derive@^0.82.0-beta.25": + version "0.82.0-beta.25" + resolved "https://registry.yarnpkg.com/@polkadot/api-derive/-/api-derive-0.82.0-beta.25.tgz#e98eaacd8628726871868c33b575148469318aeb" + integrity sha512-T2nxdX0S3a7mCkNsb0uSi0uzsUiuQf+0pgEuOwrc8TTzn0Qy3Xvsa5lF57uCpPa1isTCUpNsRB662tdE9PPAlg== dependencies: "@babel/runtime" "^7.4.5" - "@polkadot/api" "^0.82.0-beta.18" - "@polkadot/types" "^0.82.0-beta.18" + "@polkadot/api" "^0.82.0-beta.25" + "@polkadot/types" "^0.82.0-beta.25" "@types/memoizee" "^0.4.2" memoizee "^0.4.14" -"@polkadot/api@^0.82.0-beta.18": - version "0.82.0-beta.18" - resolved "https://registry.yarnpkg.com/@polkadot/api/-/api-0.82.0-beta.18.tgz#a5c60b32b2dd0d8fbd9939610042b21b624a50aa" - integrity sha512-52CjKnUkFLhoecRRCBoH09fXPVrOf+mJW58EihDfD/3H3cN48+bzXJq/ZOKlehq4meTWNWDI7cwBtDrNjJIw4g== +"@polkadot/api@^0.82.0-beta.25": + version "0.82.0-beta.25" + resolved "https://registry.yarnpkg.com/@polkadot/api/-/api-0.82.0-beta.25.tgz#1c8c78c2b86cc2d2fc446ebb33e9229a2b9a8960" + integrity sha512-8ArEFkh8IlSXDM9H3J08UtNvHVsDzhZnaAcu2ehO73r6h1vPsecqOnPvcuqCFeCaHVoJSJJHh9sNeguXTlLC9g== dependencies: "@babel/runtime" "^7.4.5" - "@polkadot/api-derive" "^0.82.0-beta.18" - "@polkadot/extrinsics" "^0.82.0-beta.18" - "@polkadot/rpc-core" "^0.82.0-beta.18" - "@polkadot/rpc-provider" "^0.82.0-beta.18" - "@polkadot/storage" "^0.82.0-beta.18" - "@polkadot/types" "^0.82.0-beta.18" + "@polkadot/api-derive" "^0.82.0-beta.25" + "@polkadot/extrinsics" "^0.82.0-beta.25" + "@polkadot/rpc-core" "^0.82.0-beta.25" + "@polkadot/rpc-provider" "^0.82.0-beta.25" + "@polkadot/storage" "^0.82.0-beta.25" + "@polkadot/types" "^0.82.0-beta.25" "@polkadot/util-crypto" "^0.94.0-beta.4" "@polkadot/dev-react@^0.30.0-beta.16": @@ -1962,19 +1962,19 @@ resolved "https://registry.yarnpkg.com/@polkadot/extension-dapp/-/extension-dapp-0.1.1-beta.28.tgz#40099c41d35e5cb79321b0eb4945804b76e65a4c" integrity sha512-yb8V8hidRrCIlrbS+jkFyZ7C01J1EmsYTv18+hxBKARhU6FbLtLlVGC8Y2xGQ1MSzPlTFrnAzrxcpZoitedOVw== -"@polkadot/extrinsics@^0.82.0-beta.18": - version "0.82.0-beta.18" - resolved "https://registry.yarnpkg.com/@polkadot/extrinsics/-/extrinsics-0.82.0-beta.18.tgz#c90d486a31c5aff24806432bad2d72fd79587766" - integrity sha512-YpySOkdhczp1R6t+IhloP/jeuCAvfqSFaVYJS5gLqMqrwMG+rHT0OEEnFa1JtJ/5Qkoz7HkA0P/d4Yn2rcFprw== +"@polkadot/extrinsics@^0.82.0-beta.25": + version "0.82.0-beta.25" + resolved "https://registry.yarnpkg.com/@polkadot/extrinsics/-/extrinsics-0.82.0-beta.25.tgz#89678a6ffc330e85dbdefa389ff0fb4bbb513de3" + integrity sha512-AXVCSUnC1+vKCVunFk8Ia2DdizI/W6vAeK68JJGmMcNV6J1Wo5khRzQvmg5TagxeFee6pebFW277nRZKYjKIag== dependencies: "@babel/runtime" "^7.4.5" - "@polkadot/types" "^0.82.0-beta.18" + "@polkadot/types" "^0.82.0-beta.25" "@polkadot/util" "^0.94.0-beta.4" -"@polkadot/jsonrpc@^0.82.0-beta.18": - version "0.82.0-beta.18" - resolved "https://registry.yarnpkg.com/@polkadot/jsonrpc/-/jsonrpc-0.82.0-beta.18.tgz#402b041819aea42c77b3067d82a45f0e0c3dc2fe" - integrity sha512-WdG4VDflnzQND9lIGeYl1K93acXoW/DXusUacRbHiKnq9loreygKQ+gMAJnODfYJlj1JqsPGEvsPDSPmWToltg== +"@polkadot/jsonrpc@^0.82.0-beta.25": + version "0.82.0-beta.25" + resolved "https://registry.yarnpkg.com/@polkadot/jsonrpc/-/jsonrpc-0.82.0-beta.25.tgz#2f04a497dadb8fabdd9f524335217d0a464e547b" + integrity sha512-bfK0+tkgexFLETT7O6zvHkNRIgraeuy3OXsuwq8agRmjAk2C6M2+CEJlqOzSOc6u086Zn4ojYA9OCEx+gxjkVQ== dependencies: "@babel/runtime" "^7.4.5" @@ -1987,26 +1987,26 @@ "@polkadot/util" "^0.94.0-beta.4" "@polkadot/util-crypto" "^0.94.0-beta.4" -"@polkadot/rpc-core@^0.82.0-beta.18": - version "0.82.0-beta.18" - resolved "https://registry.yarnpkg.com/@polkadot/rpc-core/-/rpc-core-0.82.0-beta.18.tgz#e216fed929bc44369e6c4ea4c42354565b39b3cc" - integrity sha512-gpyWYcvm8ufFPhlh6bcZCEjQUYgWe7ez+/3b9LLwstRNO6Qktm6G+aXACzK3w803ynOhEj9yM4YLwdwMBopBIA== +"@polkadot/rpc-core@^0.82.0-beta.25": + version "0.82.0-beta.25" + resolved "https://registry.yarnpkg.com/@polkadot/rpc-core/-/rpc-core-0.82.0-beta.25.tgz#d0da0fddcf0c64930bd4b2c24d79402e2606c66e" + integrity sha512-a5z7SjmguH9EoXHfKx45I6V5Glyrh9A3zaO9jTN9cBlA623RO2Bpi6twenk5y2A4JHfaWwhpFrqRCXyF4HBA9Q== dependencies: "@babel/runtime" "^7.4.5" - "@polkadot/jsonrpc" "^0.82.0-beta.18" - "@polkadot/rpc-provider" "^0.82.0-beta.18" - "@polkadot/types" "^0.82.0-beta.18" + "@polkadot/jsonrpc" "^0.82.0-beta.25" + "@polkadot/rpc-provider" "^0.82.0-beta.25" + "@polkadot/types" "^0.82.0-beta.25" "@polkadot/util" "^0.94.0-beta.4" memoizee "^0.4.14" rxjs "^6.5.2" -"@polkadot/rpc-provider@^0.82.0-beta.18": - version "0.82.0-beta.18" - resolved "https://registry.yarnpkg.com/@polkadot/rpc-provider/-/rpc-provider-0.82.0-beta.18.tgz#7c26e2ac1cb497a59c2fa283f87e0b4efe5bbc86" - integrity sha512-Kl0XLCbPMyzSYS+U4/+srPava3q/cN2inWiqEpnh9Pcv9SmaCIpbyBrYP8d2u5oRa3EqiRgKPoUwPxn6g3jkig== +"@polkadot/rpc-provider@^0.82.0-beta.25": + version "0.82.0-beta.25" + resolved "https://registry.yarnpkg.com/@polkadot/rpc-provider/-/rpc-provider-0.82.0-beta.25.tgz#22ee32498505510e19b49ab0db3ca656e16cc773" + integrity sha512-1Q5zvqiYO7fm/qf8lgUatQ5UvG1Uix7M9CGYYSbBEsSHmuTsfSzZf5gIsNwMvfY1hyv7m/fmcRc6UFppSBVo8g== dependencies: "@babel/runtime" "^7.4.5" - "@polkadot/storage" "^0.82.0-beta.18" + "@polkadot/storage" "^0.82.0-beta.25" "@polkadot/util" "^0.94.0-beta.4" "@polkadot/util-crypto" "^0.94.0-beta.4" "@types/nock" "^10.0.3" @@ -2014,13 +2014,13 @@ isomorphic-fetch "^2.2.1" websocket "^1.0.28" -"@polkadot/storage@^0.82.0-beta.18": - version "0.82.0-beta.18" - resolved "https://registry.yarnpkg.com/@polkadot/storage/-/storage-0.82.0-beta.18.tgz#ee8e1235805bbbfd9e8ad1394b6e8e08d098a740" - integrity sha512-hRU9SPiUflWhW1kKfq4XNvKyXke6veX7Ic8w6k5QDbdXhGktRVeP3AujrfpN/xLJvlXcxkDYc9HmxBZKHdSbFQ== +"@polkadot/storage@^0.82.0-beta.25": + version "0.82.0-beta.25" + resolved "https://registry.yarnpkg.com/@polkadot/storage/-/storage-0.82.0-beta.25.tgz#870bd1e516ef000416a7e59af15252017fa12899" + integrity sha512-CmFsLm4XK3yBquD/Etl4FXoVl3Agd9KuoVphcir16YplbDb27hm0hbGVYDE34u8Uu2i+UO+xilFV893G151XSg== dependencies: "@babel/runtime" "^7.4.5" - "@polkadot/types" "^0.82.0-beta.18" + "@polkadot/types" "^0.82.0-beta.25" "@polkadot/util" "^0.94.0-beta.4" "@polkadot/util-crypto" "^0.94.0-beta.4" @@ -2031,10 +2031,10 @@ dependencies: "@types/chrome" "^0.0.86" -"@polkadot/types@^0.82.0-beta.18": - version "0.82.0-beta.18" - resolved "https://registry.yarnpkg.com/@polkadot/types/-/types-0.82.0-beta.18.tgz#c9209a506d4c3013bdd9d487f91abb2252b2f2e6" - integrity sha512-id3III23V0MKkI3WxNttZivOSN7zdWSEBZAxj2wfCMBon4zbztZ5xjvj+fPrFB3j/OWiB77z42sQJkBzLefuaQ== +"@polkadot/types@^0.82.0-beta.25": + version "0.82.0-beta.25" + resolved "https://registry.yarnpkg.com/@polkadot/types/-/types-0.82.0-beta.25.tgz#c71cfc3f9fc7b9a40aa39cd97c64b53138f6a15d" + integrity sha512-IRTklPqqungcfYJEGzEItBuIo/9k4M4YDqlvhoCi+rnPV8YXuvRVqv8DSHnS+R/iwj0wEGXaummIyNZp47o82A== dependencies: "@babel/runtime" "^7.4.5" "@polkadot/util" "^0.94.0-beta.4" @@ -13913,7 +13913,12 @@ typedoc@^0.14.2: typedoc-default-themes "^0.5.0" typescript "3.2.x" -typescript@3.2.x, typescript@^3.5.2: +typescript@3.2.x: + version "3.2.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.2.4.tgz#c585cb952912263d915b462726ce244ba510ef3d" + integrity sha512-0RNDbSdEokBeEAkgNbxJ+BLwSManFy9TeXz8uW+48j/xhEXv1ePME60olyzw2XzUqUBNAYFeJadIqAgNqIACwg== + +typescript@^3.5.2: version "3.5.2" resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.5.2.tgz#a09e1dc69bc9551cadf17dba10ee42cf55e5d56c" integrity sha512-7KxJovlYhTX5RaRbUdkAXN1KUZ8PwWlTzQdHV6xNqvuFOs7+WBo10TQUqT19Q/Jz2hk5v9TQDIhyLhhJY4p5AA==