From 530122482df6b7bd841a255c7b2cc467b7ba73ec Mon Sep 17 00:00:00 2001 From: Jaco Greeff Date: Tue, 15 Dec 2020 11:58:47 +0100 Subject: [PATCH] RxJs/memoizee dep cleanups (use from util) (#4212) * RxJs/memoizee dep cleanups (use from util) * Remove 4K runtimeChunk --- package.json | 1 + .../src/api/bundle/spec/equilibrium.ts | 7 +- packages/apps/webpack.base.config.js | 3 +- .../page-generic-asset/src/assetsRegistry.tsx | 2 +- packages/react-api/package.json | 9 +- packages/react-api/src/hoc/observable.tsx | 5 +- .../react-api/src/util/intervalObservable.ts | 3 +- packages/react-hooks/package.json | 14 +-- packages/react-hooks/src/memo.ts | 12 --- packages/react-query/package.json | 8 -- yarn.lock | 95 +------------------ 11 files changed, 17 insertions(+), 142 deletions(-) delete mode 100644 packages/react-hooks/src/memo.ts diff --git a/package.json b/package.json index 13816dae12..1a6dee6a13 100644 --- a/package.json +++ b/package.json @@ -20,6 +20,7 @@ "@polkadot/util": "^5.0.1", "@polkadot/util-crypto": "^5.0.1", "@polkadot/wasm-crypto": "^3.0.1", + "@polkadot/x-rxjs": "^3.0.1", "babel-core": "^7.0.0-bridge.0", "styled-components": "^5.2.0", "typescript": "^4.1.2" diff --git a/packages/apps-config/src/api/bundle/spec/equilibrium.ts b/packages/apps-config/src/api/bundle/spec/equilibrium.ts index bd36460043..1e1c6e3891 100644 --- a/packages/apps-config/src/api/bundle/spec/equilibrium.ts +++ b/packages/apps-config/src/api/bundle/spec/equilibrium.ts @@ -1,16 +1,15 @@ // Copyright 2017-2020 @polkadot/apps-config authors & contributors // SPDX-License-Identifier: Apache-2.0 -import type { Observable } from 'rxjs'; import type { ApiInterfaceRx } from '@polkadot/api/types'; import type { Enum, Struct } from '@polkadot/types'; import type { Option } from '@polkadot/types/codec'; import type { AccountId, AccountIndex, AccountInfo, Address, Balance, BlockNumber, Index } from '@polkadot/types/interfaces'; - -import { combineLatest, of } from 'rxjs'; -import { map, switchMap } from 'rxjs/operators'; +import type { Observable } from '@polkadot/x-rxjs'; import { memo } from '@polkadot/api-derive/util/memo'; +import { combineLatest, of } from '@polkadot/x-rxjs'; +import { map, switchMap } from '@polkadot/x-rxjs/operators'; interface VestingInfo extends Struct { readonly locked: Balance; diff --git a/packages/apps/webpack.base.config.js b/packages/apps/webpack.base.config.js index fcf0678442..5c5199d571 100644 --- a/packages/apps/webpack.base.config.js +++ b/packages/apps/webpack.base.config.js @@ -145,7 +145,6 @@ function createWebpack (ENV, context) { __filename: false }, optimization: { - runtimeChunk: 'single', splitChunks: { cacheGroups: { ...mapChunks('robohash', [ @@ -163,7 +162,7 @@ function createWebpack (ENV, context) { /* 01 */ /node_modules\/(@emotion|@semantic-ui-react|@stardust|classnames|chart\.js|codeflask|copy-to-clipboard|file-selector|file-saver|hoist-non-react|i18next|jdenticon|keyboard-key|mini-create-react|popper\.js|prop-types|qrcode-generator|react|remark-parse|semantic-ui|styled-components)/ ]), ...mapChunks('other', [ - /* 00 */ /node_modules\/(@babel|ansi-styles|asn1|browserify|buffer|history|html-parse|inherit|lodash|memoizee|object|path-|parse-asn1|pbkdf2|process|public-encrypt|query-string|readable-stream|regenerator-runtime|repeat|rtcpeerconnection-shim|safe-buffer|stream-browserify|store|tslib|unified|unist-util|util|vfile|vm-browserify|webrtc-adapter|whatwg-fetch)/, + /* 00 */ /node_modules\/(@babel|ansi-styles|asn1|browserify|buffer|history|html-parse|inherit|lodash|object|path-|parse-asn1|pbkdf2|process|public-encrypt|query-string|readable-stream|regenerator-runtime|repeat|rtcpeerconnection-shim|safe-buffer|stream-browserify|store|tslib|unified|unist-util|util|vfile|vm-browserify|webrtc-adapter|whatwg-fetch)/, /* 01 */ /node_modules\/(attr|brorand|camelcase|core|chalk|color|create|cuint|decode-uri|deep-equal|define-properties|detect-browser|es|event|evp|ext|function-bind|has-symbols|ieee754|ip|is|lru|markdown|minimalistic-|moment|next-tick|node-libs-browser|random|regexp|resolve|rxjs|scheduler|sdp|setimmediate|timers-browserify|trough)/, /* 03 */ /node_modules\/(base-x|base64-js|blakejs|bip|bn\.js|cipher-base|crypto|des\.js|diffie-hellman|elliptic|hash|hmac|js-sha3|md5|miller-rabin|ripemd160|secp256k1|scryptsy|sha\.js|xxhashjs)/ ]) diff --git a/packages/page-generic-asset/src/assetsRegistry.tsx b/packages/page-generic-asset/src/assetsRegistry.tsx index f076764cb4..5bf1533613 100644 --- a/packages/page-generic-asset/src/assetsRegistry.tsx +++ b/packages/page-generic-asset/src/assetsRegistry.tsx @@ -1,7 +1,7 @@ // Copyright 2019 @polkadot/app-generic-asset authors & contributors // SPDX-License-Identifier: Apache-2.0 -import { BehaviorSubject } from 'rxjs'; +import { BehaviorSubject } from '@polkadot/x-rxjs'; const ASSETS_KEY = 'polkadot-app-generic-asset-assets'; diff --git a/packages/react-api/package.json b/packages/react-api/package.json index 0e62cdcff3..e64ab81d96 100644 --- a/packages/react-api/package.json +++ b/packages/react-api/package.json @@ -3,11 +3,6 @@ "version": "0.71.3-3", "description": "A collection of RxJs React components the Polkadot JS API", "main": "index.js", - "keywords": [ - "Polkadot", - "React", - "RxJs" - ], "author": "Jaco Greeff ", "maintainers": [], "contributors": [], @@ -22,7 +17,7 @@ "@babel/runtime": "^7.12.5", "@polkadot/api": "^3.0.1", "@polkadot/extension-dapp": "^0.35.2-12", - "fflate": "^0.4.2", - "rxjs-compat": "^6.6.3" + "@polkadot/x-rxjs": "^3.0.1", + "fflate": "^0.4.2" } } diff --git a/packages/react-api/src/hoc/observable.tsx b/packages/react-api/src/hoc/observable.tsx index d34d9f2031..ea94359dea 100644 --- a/packages/react-api/src/hoc/observable.tsx +++ b/packages/react-api/src/hoc/observable.tsx @@ -7,8 +7,9 @@ import type { CallState } from '../types'; import type { DefaultProps, HOC, Options, RenderFn } from './types'; import React from 'react'; -import { Observable, of } from 'rxjs'; -import { catchError, map } from 'rxjs/operators'; + +import { Observable, of } from '@polkadot/x-rxjs'; +import { catchError, map } from '@polkadot/x-rxjs/operators'; import echoTransform from '../transform/echo'; import { intervalObservable, isEqual, triggerChange } from '../util'; diff --git a/packages/react-api/src/util/intervalObservable.ts b/packages/react-api/src/util/intervalObservable.ts index ad365a670b..554726ecd2 100644 --- a/packages/react-api/src/util/intervalObservable.ts +++ b/packages/react-api/src/util/intervalObservable.ts @@ -3,8 +3,7 @@ import type { CallState } from '../types'; -import { Subscription } from 'rxjs'; -import { interval } from 'rxjs/observable/interval'; +import { interval, Subscription } from '@polkadot/x-rxjs'; const interval$ = interval(500); diff --git a/packages/react-hooks/package.json b/packages/react-hooks/package.json index d84c5a3b09..6022668366 100644 --- a/packages/react-hooks/package.json +++ b/packages/react-hooks/package.json @@ -3,26 +3,14 @@ "version": "0.71.3-3", "description": "A collection of React hooks the Polkadot JS Apps UI", "main": "index.js", - "keywords": [ - "Polkadot", - "React", - "RxJs" - ], "author": "Jaco Greeff ", "maintainers": [], "contributors": [], "license": "Apache-2.0", - "engines": { - "node": ">=8.0" - }, "repository": "github:polkadot-js/apps", "bugs": "https://github.com/polkadot-js/apps/issues", "homepage": "https://github.com/polkadot-js/apps/tree/master/packages/react-hooks#readme", "dependencies": { - "@babel/runtime": "^7.12.5", - "memoizee": "^0.4.14" - }, - "devDependencies": { - "@types/memoizee": "^0.4.5" + "@babel/runtime": "^7.12.5" } } diff --git a/packages/react-hooks/src/memo.ts b/packages/react-hooks/src/memo.ts deleted file mode 100644 index de977af681..0000000000 --- a/packages/react-hooks/src/memo.ts +++ /dev/null @@ -1,12 +0,0 @@ -// Copyright 2017-2020 @polkadot/react-hooks authors & contributors -// SPDX-License-Identifier: Apache-2.0 - -import createMemo from 'memoizee'; - -// Normalize via JSON.stringify, allow e.g. AccountId -> ss58 -// eslint-disable-next-line @typescript-eslint/unbound-method -const normalizer = JSON.stringify; - -export default function memo any> (inner: T): T { - return createMemo(inner, { normalizer }); -} diff --git a/packages/react-query/package.json b/packages/react-query/package.json index ca47dd7472..505f986e69 100644 --- a/packages/react-query/package.json +++ b/packages/react-query/package.json @@ -3,18 +3,10 @@ "version": "0.71.3-3", "description": "A collection of RxJs React components the Polkadot JS API", "main": "index.js", - "keywords": [ - "Polkadot", - "React", - "RxJs" - ], "author": "Jaco Greeff ", "maintainers": [], "contributors": [], "license": "Apache-2.0", - "engines": { - "node": ">=8.0" - }, "repository": "github:polkadot-js/apps", "bugs": "https://github.com/polkadot-js/apps/issues", "homepage": "https://github.com/polkadot-js/apps/tree/master/packages/react-query#readme", diff --git a/yarn.lock b/yarn.lock index d6069efc18..1f5710d5ac 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2504,8 +2504,8 @@ __metadata: "@babel/runtime": ^7.12.5 "@polkadot/api": ^3.0.1 "@polkadot/extension-dapp": ^0.35.2-12 + "@polkadot/x-rxjs": ^3.0.1 fflate: ^0.4.2 - rxjs-compat: ^6.6.3 languageName: unknown linkType: soft @@ -2557,8 +2557,6 @@ __metadata: resolution: "@polkadot/react-hooks@workspace:packages/react-hooks" dependencies: "@babel/runtime": ^7.12.5 - "@types/memoizee": ^0.4.5 - memoizee: ^0.4.14 languageName: unknown linkType: soft @@ -2860,7 +2858,7 @@ __metadata: languageName: node linkType: hard -"@polkadot/x-rxjs@npm:3.0.1, @polkadot/x-rxjs@npm:^3.0.1": +"@polkadot/x-rxjs@npm:^3.0.1": version: 3.0.1 resolution: "@polkadot/x-rxjs@npm:3.0.1" dependencies: @@ -3396,13 +3394,6 @@ __metadata: languageName: node linkType: hard -"@types/memoizee@npm:^0.4.5": - version: 0.4.5 - resolution: "@types/memoizee@npm:0.4.5" - checksum: 8e5891a0ef7bc485751312ded849a0439c62551fb62e1440e358bcf78ea79db2f578b63591b828269bac8b34d0f5a24663ce9c58703be1bcafe9467fe8ce0483 - languageName: node - linkType: hard - "@types/minimatch@npm:*": version: 3.0.3 resolution: "@types/minimatch@npm:3.0.3" @@ -7932,7 +7923,7 @@ __metadata: languageName: node linkType: hard -"es5-ext@npm:^0.10.35, es5-ext@npm:^0.10.45, es5-ext@npm:^0.10.46, es5-ext@npm:^0.10.50, es5-ext@npm:~0.10.14, es5-ext@npm:~0.10.2, es5-ext@npm:~0.10.46": +"es5-ext@npm:^0.10.35, es5-ext@npm:^0.10.50": version: 0.10.53 resolution: "es5-ext@npm:0.10.53" dependencies: @@ -7950,7 +7941,7 @@ __metadata: languageName: node linkType: hard -"es6-iterator@npm:^2.0.3, es6-iterator@npm:~2.0.3": +"es6-iterator@npm:~2.0.3": version: 2.0.3 resolution: "es6-iterator@npm:2.0.3" dependencies: @@ -7971,18 +7962,6 @@ __metadata: languageName: node linkType: hard -"es6-weak-map@npm:^2.0.2": - version: 2.0.3 - resolution: "es6-weak-map@npm:2.0.3" - dependencies: - d: 1 - es5-ext: ^0.10.46 - es6-iterator: ^2.0.3 - es6-symbol: ^3.1.1 - checksum: 8dfd50b2919e16cf246ea9d5f9271eef466924248bc98a48a718cc149d0f67b708628c8e4bd32fa945a813c7780f94270f21ac16fff33c854a348db7e19f084d - languageName: node - linkType: hard - "escalade@npm:^3.1.0, escalade@npm:^3.1.1": version: 3.1.1 resolution: "escalade@npm:3.1.1" @@ -8369,16 +8348,6 @@ __metadata: languageName: node linkType: hard -"event-emitter@npm:^0.3.5": - version: 0.3.5 - resolution: "event-emitter@npm:0.3.5" - dependencies: - d: 1 - es5-ext: ~0.10.14 - checksum: 92107b89703222355070b8c49208baf9426ce015d54b646a80f6652d348ab6064c5e13f1756ae20c750d8368f4b3cde48bafc56484667ba0e12d07c50b645f21 - languageName: node - linkType: hard - "eventemitter2@npm:^5.0.1": version: 5.0.1 resolution: "eventemitter2@npm:5.0.1" @@ -11002,13 +10971,6 @@ fsevents@~2.1.2: languageName: node linkType: hard -"is-promise@npm:^2.1": - version: 2.2.2 - resolution: "is-promise@npm:2.2.2" - checksum: 6fe84293b8750d3604a909979a7517a38b1618817f1fbbfdaf4d6138642117c85fbee12927b4d51349a5bcd9bdf8d1bf181f09145ede2d7eb41f4b394ab2ce7d - languageName: node - linkType: hard - "is-promise@npm:^4.0.0": version: 4.0.0 resolution: "is-promise@npm:4.0.0" @@ -12527,15 +12489,6 @@ fsevents@~2.1.2: languageName: node linkType: hard -"lru-queue@npm:0.1": - version: 0.1.0 - resolution: "lru-queue@npm:0.1.0" - dependencies: - es5-ext: ~0.10.2 - checksum: 2eab98cdfb3101dab91ef6b8b50fce616440fa29d27ef1a1b99aa6be13422d03d6ebee15c1eb4873971c34baee27d64376aebc64560aecb37a328c82e3f40169 - languageName: node - linkType: hard - "lunr@npm:^2.3.9": version: 2.3.9 resolution: "lunr@npm:2.3.9" @@ -12776,22 +12729,6 @@ fsevents@~2.1.2: languageName: node linkType: hard -"memoizee@npm:^0.4.14": - version: 0.4.14 - resolution: "memoizee@npm:0.4.14" - dependencies: - d: 1 - es5-ext: ^0.10.45 - es6-weak-map: ^2.0.2 - event-emitter: ^0.3.5 - is-promise: ^2.1 - lru-queue: 0.1 - next-tick: 1 - timers-ext: ^0.1.5 - checksum: 89530bbed2a59f20dd115d743f17159e0f857bd83186e5ffcfa6a4b88f47a6173472f351c7ae2219c4993c2888103e3ac348959356a104b74aba195c2db47ee6 - languageName: node - linkType: hard - "memory-fs@npm:^0.4.1": version: 0.4.1 resolution: "memory-fs@npm:0.4.1" @@ -13369,13 +13306,6 @@ fsevents@~2.1.2: languageName: node linkType: hard -"next-tick@npm:1": - version: 1.1.0 - resolution: "next-tick@npm:1.1.0" - checksum: 586cc85dcd8ec759b03269b39c8e3d899a27dbe49c472e7fb2b6a98b14a5b46d8c3b1b9a5fae29eb22881d9efa6d882d44617c51268b49d92e98ba8f20d42000 - languageName: node - linkType: hard - "next-tick@npm:~1.0.0": version: 1.0.0 resolution: "next-tick@npm:1.0.0" @@ -16222,13 +16152,6 @@ fsevents@~2.1.2: languageName: node linkType: hard -"rxjs-compat@npm:^6.6.3": - version: 6.6.3 - resolution: "rxjs-compat@npm:6.6.3" - checksum: 487a948df603706a165642f97d0554924461d5cd35d2a7c390cb74c2acbab18d63b319579c7d8a6cd7bf8dbb79daebbbc0ee737f693fc9796ba85c6ef247d5de - languageName: node - linkType: hard - "rxjs@npm:^6.5.2, rxjs@npm:^6.6.0, rxjs@npm:^6.6.3": version: 6.6.3 resolution: "rxjs@npm:6.6.3" @@ -17969,16 +17892,6 @@ fsevents@~2.1.2: languageName: node linkType: hard -"timers-ext@npm:^0.1.5": - version: 0.1.7 - resolution: "timers-ext@npm:0.1.7" - dependencies: - es5-ext: ~0.10.46 - next-tick: 1 - checksum: 4593b57c397934fc7ddf7b240a8ff8468cdd7006407a442ec48c291bd85dcb7268858b72d1132bc55309e29d8eeae796f9edf378b0b45feff56b51f350e723b6 - languageName: node - linkType: hard - "tiny-emitter@npm:^2.0.0": version: 2.1.0 resolution: "tiny-emitter@npm:2.1.0"