From 900f535f0d897d803364b21045c94137c74f644c Mon Sep 17 00:00:00 2001 From: krisbitney Date: Mon, 19 Dec 2022 22:25:24 +0530 Subject: [PATCH] removed @polywrap/react package from toolchain repo --- package.json | 8 +- packages/js/react/README.md | 6 - packages/js/react/jest.config.js | 10 - packages/js/react/package.json | 51 --- .../react/src/__tests__/app/SimpleStorage.tsx | 96 ------ packages/js/react/src/__tests__/config.ts | 51 --- packages/js/react/src/__tests__/env/index.ts | 16 - .../react/src/__tests__/integration.spec.tsx | 81 ----- .../src/__tests__/usePolywrapClient.spec.tsx | 75 ----- .../src/__tests__/usePolywrapInvoke.spec.tsx | 224 ------------- .../src/__tests__/usePolywrapQuery.spec.tsx | 306 ------------------ packages/js/react/src/client.tsx | 32 -- packages/js/react/src/index.tsx | 4 - packages/js/react/src/invoke.tsx | 65 ---- packages/js/react/src/provider.tsx | 87 ----- packages/js/react/src/query.tsx | 59 ---- packages/js/react/src/state.ts | 22 -- packages/js/react/tsconfig.build.json | 5 - packages/js/react/tsconfig.json | 11 - yarn.lock | 97 +----- 20 files changed, 17 insertions(+), 1289 deletions(-) delete mode 100644 packages/js/react/README.md delete mode 100644 packages/js/react/jest.config.js delete mode 100644 packages/js/react/package.json delete mode 100644 packages/js/react/src/__tests__/app/SimpleStorage.tsx delete mode 100644 packages/js/react/src/__tests__/config.ts delete mode 100644 packages/js/react/src/__tests__/env/index.ts delete mode 100644 packages/js/react/src/__tests__/integration.spec.tsx delete mode 100644 packages/js/react/src/__tests__/usePolywrapClient.spec.tsx delete mode 100644 packages/js/react/src/__tests__/usePolywrapInvoke.spec.tsx delete mode 100644 packages/js/react/src/__tests__/usePolywrapQuery.spec.tsx delete mode 100644 packages/js/react/src/client.tsx delete mode 100644 packages/js/react/src/index.tsx delete mode 100644 packages/js/react/src/invoke.tsx delete mode 100644 packages/js/react/src/provider.tsx delete mode 100644 packages/js/react/src/query.tsx delete mode 100644 packages/js/react/src/state.ts delete mode 100644 packages/js/react/tsconfig.build.json delete mode 100644 packages/js/react/tsconfig.json diff --git a/package.json b/package.json index 5e1fc536e8..b11160c283 100644 --- a/package.json +++ b/package.json @@ -26,13 +26,13 @@ "dependencies:install": "cd dependencies && yarn", "preinstall": "yarn dependencies:install", "build": "yarn build:core && yarn build:interfaces && yarn link:schema && yarn build:plugins && yarn build:resolver:plugins && yarn build:config && yarn build:core:client && yarn build:client && yarn build:test-env && yarn build:cli", - "build:core": "lerna run build --no-private --ignore @polywrap/*-plugin-js --ignore @polywrap/client-config-builder-js --ignore polywrap --ignore @polywrap/core-client-js --ignore @polywrap/client-js --ignore @polywrap/react --ignore @polywrap/test-env-js --ignore @polywrap/*-interface", + "build:core": "lerna run build --no-private --ignore @polywrap/*-plugin-js --ignore @polywrap/client-config-builder-js --ignore polywrap --ignore @polywrap/core-client-js --ignore @polywrap/client-js --ignore @polywrap/test-env-js --ignore @polywrap/*-interface", "build:interfaces": "lerna run build --scope @polywrap/*-interface", "build:plugins": "lerna run build --scope @polywrap/*-plugin-js --ignore @polywrap/*-resolver-plugin-js", "build:resolver:plugins": "lerna run build --scope @polywrap/*-resolver-plugin-js", "build:config": "lerna run build --scope @polywrap/client-config-builder-js", "build:core:client": "lerna run build --scope @polywrap/core-client-js", - "build:client": "lerna run build --scope @polywrap/client-js --scope @polywrap/react", + "build:client": "lerna run build --scope @polywrap/client-js", "build:test-env": "lerna run build --scope @polywrap/test-env-js", "build:cli": "lerna run build --scope polywrap", "link:interface:deps": "yarn link:manifests && yarn link:schema", @@ -70,9 +70,5 @@ "lerna": "4.0.0", "prettier": "2.2.1", "rimraf": "3.0.2" - }, - "resolutions": { - "@types/react": "16.9.0", - "@types/react-dom": "16.9.0" } } diff --git a/packages/js/react/README.md b/packages/js/react/README.md deleted file mode 100644 index 5662c80879..0000000000 --- a/packages/js/react/README.md +++ /dev/null @@ -1,6 +0,0 @@ -# @polywrap/react - -A React library that simplifies the integration of Polywrap wrappers into React applications. Instantiates the Polywrap Client, send WRAP invocations, and renders the results. - -## Documentation -https://docs.polywrap.io/reference/clients/js/libraries/react diff --git a/packages/js/react/jest.config.js b/packages/js/react/jest.config.js deleted file mode 100644 index 0fccb3e0d0..0000000000 --- a/packages/js/react/jest.config.js +++ /dev/null @@ -1,10 +0,0 @@ -module.exports = { - collectCoverage: true, - preset: "ts-jest", - testMatch: ["**/?(*.)+(spec|test).[jt]s?(x)"], - globals: { - "ts-jest": { - diagnostics: false, - }, - }, -}; diff --git a/packages/js/react/package.json b/packages/js/react/package.json deleted file mode 100644 index 956faa65e7..0000000000 --- a/packages/js/react/package.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "name": "@polywrap/react", - "description": "Polywrap React Integration", - "version": "0.10.0-pre.5", - "license": "MIT", - "repository": { - "type": "git", - "url": "https://github.com/polywrap/monorepo.git" - }, - "main": "build/index.js", - "files": [ - "build" - ], - "scripts": { - "build": "rimraf ./build && tsc --project tsconfig.build.json", - "lint": "eslint --color -c ../../../.eslintrc.js src/", - "test:ci": "yarn test", - "test": "jest --passWithNoTests --runInBand --verbose --env=./src/__tests__/env/index.ts", - "test:watch": "yarn test --watch" - }, - "dependencies": { - "@polywrap/client-js": "0.10.0-pre.5", - "@polywrap/core-js": "0.10.0-pre.5", - "@polywrap/tracing-js": "0.10.0-pre.5" - }, - "devDependencies": { - "@polywrap/ens-resolver-plugin-js": "0.10.0-pre.5", - "@polywrap/ethereum-plugin-js": "0.10.0-pre.5", - "@polywrap/ipfs-plugin-js": "0.10.0-pre.5", - "@polywrap/test-cases": "0.10.0-pre.5", - "@polywrap/test-env-js": "0.10.0-pre.5", - "@testing-library/react": "11.2.5", - "@testing-library/react-hooks": "5.1.0", - "@types/jest": "26.0.8", - "@types/prettier": "2.6.0", - "@types/react": "16.9.0", - "@types/react-dom": "16.9.0", - "jest": "26.6.3", - "jest-environment-jsdom": "^26.0.1", - "polywrap": "0.10.0-pre.5", - "rimraf": "3.0.2", - "typescript": "4.1.6" - }, - "peerDependencies": { - "react": ">=16.9.x" - }, - "gitHead": "7346adaf5adb7e6bbb70d9247583e995650d390a", - "publishConfig": { - "access": "public" - } -} diff --git a/packages/js/react/src/__tests__/app/SimpleStorage.tsx b/packages/js/react/src/__tests__/app/SimpleStorage.tsx deleted file mode 100644 index e9787d1ed2..0000000000 --- a/packages/js/react/src/__tests__/app/SimpleStorage.tsx +++ /dev/null @@ -1,96 +0,0 @@ -import { - usePolywrapQuery, - PolywrapProvider, - usePolywrapClient, - createPolywrapProvider, -} from "@polywrap/react"; -// eslint-disable-next-line import/no-extraneous-dependencies -import React from "react"; -import { Env, IUriPackage, Uri } from "@polywrap/core-js"; - -const SimpleStorage = ({ uri }: { uri: string }) => { - const { execute: deployContract, data: deployData } = usePolywrapQuery<{ - deployContract: string; - }>({ - uri, - query: `mutation { - deployContract( - connection: { - networkNameOrChainId: "testnet" - } - ) - }`, - }); - - const { execute: setData } = usePolywrapQuery({ - uri, - query: `mutation { - setData( - address: $address - value: $value - connection: { - networkNameOrChainId: "testnet" - } - ) - }`, - variables: { - value: 5, - address: deployData?.deployContract, - }, - }); - - const { execute: getStorageData, data: currentStorage } = usePolywrapQuery({ - uri, - query: `query { - getData( - address: "${deployData?.deployContract}" - connection: { - networkNameOrChainId: "testnet" - } - ) - }`, - }); - - const client1 = usePolywrapClient(); - const client2 = usePolywrapClient({ provider: "custom" }); - - const updateStorageData = async () => { - await setData(); - await getStorageData(); - }; - - return ( - <> - {!deployData ? ( - - ) : ( - <> -

SimpleStorage Contract: {deployData.deployContract}

- - -
{currentStorage?.getData}
-
{client1 ? "Client1 Found" : ""}
-
{client2 ? "Client2 Found" : ""}
- - )} - - ); -}; - -const CustomProvider = createPolywrapProvider("custom"); - -export const SimpleStorageContainer = ({ - envs, - packages, - ensUri, -}: { - envs: Env[]; - packages: IUriPackage[]; - ensUri: string; -}) => ( - - - - - -); diff --git a/packages/js/react/src/__tests__/config.ts b/packages/js/react/src/__tests__/config.ts deleted file mode 100644 index 7f41c9be99..0000000000 --- a/packages/js/react/src/__tests__/config.ts +++ /dev/null @@ -1,51 +0,0 @@ -import { Env, IUriPackage, Uri } from "@polywrap/core-js"; -import { plugin as ensResolverPlugin } from "@polywrap/ens-resolver-plugin-js"; -import { - Connection, - Connections, - plugin as ethereumPlugin, -} from "@polywrap/ethereum-plugin-js"; -import { plugin as ipfsPlugin } from "@polywrap/ipfs-plugin-js"; -import { defaultIpfsProviders } from "@polywrap/client-config-builder-js"; - -export function createPlugins( - ensAddress: string, - ethereumProvider: string -): IUriPackage[] { - return [ - { - uri: "wrap://ens/ethereum.polywrap.eth", - package: ethereumPlugin({ - connections: new Connections({ - networks: { - testnet: new Connection({ provider: ethereumProvider }), - }, - }), - }), - }, - { - uri: "wrap://ens/ipfs.polywrap.eth", - package: ipfsPlugin({}), - }, - { - uri: "wrap://ens/ens-resolver.polywrap.eth", - package: ensResolverPlugin({ - addresses: { - testnet: ensAddress, - }, - }), - }, - ]; -} - -export function createEnvs(ipfsProvider: string): Env[] { - return [ - { - uri: "wrap://ens/ipfs.polywrap.eth", - env: { - provider: ipfsProvider, - fallbackProviders: defaultIpfsProviders, - }, - }, - ]; -} diff --git a/packages/js/react/src/__tests__/env/index.ts b/packages/js/react/src/__tests__/env/index.ts deleted file mode 100644 index d135db6a35..0000000000 --- a/packages/js/react/src/__tests__/env/index.ts +++ /dev/null @@ -1,16 +0,0 @@ -const Environment = require("jest-environment-jsdom"); - -/** - * A custom environment to set the TextEncoder that is required by ../core/src/wasm/WasmWrapper.ts. - */ -module.exports = class CustomTestEnvironment extends Environment { - async setup() { - await super.setup(); - this.global.XMLHttpRequest = undefined; - if (!this.global.TextEncoder || !this.global.TextDecoder) { - const { TextEncoder, TextDecoder } = require("util"); - this.global.TextEncoder = TextEncoder; - this.global.TextDecoder = TextDecoder; - } - } -}; diff --git a/packages/js/react/src/__tests__/integration.spec.tsx b/packages/js/react/src/__tests__/integration.spec.tsx deleted file mode 100644 index 8cfcc13c51..0000000000 --- a/packages/js/react/src/__tests__/integration.spec.tsx +++ /dev/null @@ -1,81 +0,0 @@ -import { createPolywrapProvider } from ".."; -import { SimpleStorageContainer } from "./app/SimpleStorage"; -import { createEnvs, createPlugins } from "./config"; - -import { - initTestEnvironment, - stopTestEnvironment, - buildAndDeployWrapper, - ensAddresses, - providers, -} from "@polywrap/test-env-js"; -import { GetPathToTestWrappers } from "@polywrap/test-cases"; -import { Env, IUriPackage, Uri } from "@polywrap/core-js"; - -// eslint-disable-next-line import/no-extraneous-dependencies -import React from "react"; -import { render, fireEvent, screen, waitFor } from "@testing-library/react"; -jest.setTimeout(360000); - -describe("Polywrap React Integration", () => { - let envs: Env[]; - let packages: IUriPackage[]; - let ensUri: string; - let wrapper: { - ensDomain: string; - ipfsCid: string; - }; - - beforeAll(async () => { - await initTestEnvironment(); - - envs = createEnvs(providers.ipfs); - - packages = createPlugins(ensAddresses.ensAddress, providers.ethereum); - - wrapper = await buildAndDeployWrapper({ - wrapperAbsPath: `${GetPathToTestWrappers()}/wasm-as/simple-storage`, - ipfsProvider: providers.ipfs, - ethereumProvider: providers.ethereum, - }); - - ensUri = `ens/testnet/${wrapper.ensDomain}`; - }); - - afterAll(async () => { - await stopTestEnvironment(); - }); - - it("Deploys, read and write on Smart Contract ", async () => { - render( - - ); - - fireEvent.click(screen.getByText("Deploy")); - await waitFor(() => screen.getByText(/0x/), { timeout: 30000 }); - expect(screen.getByText(/0x/)).toBeTruthy(); - - // check storage is 0 - fireEvent.click(screen.getByText("Check storage")); - await waitFor(() => screen.getByText("0"), { timeout: 30000 }); - expect(screen.getByText("0")).toBeTruthy(); - - // update storage to five and check it - fireEvent.click(screen.getByText("Set the storage to 5!")); - await waitFor(() => screen.getByText("5"), { timeout: 30000 }); - expect(screen.getByText("5")).toBeTruthy(); - - // check for both clients (custom & default) - expect(screen.getByText("Client1 Found")).toBeTruthy(); - expect(screen.getByText("Client2 Found")).toBeTruthy(); - }); - - it("Should throw error because two providers with same key has been rendered ", () => { - // @ts-ignore - const CustomPolywrapProvider = createPolywrapProvider("test"); - - expect(() => createPolywrapProvider("test")).toThrowError( - /A Polywrap provider already exists with the name \"test\"/ - ); - }); -}); diff --git a/packages/js/react/src/__tests__/usePolywrapClient.spec.tsx b/packages/js/react/src/__tests__/usePolywrapClient.spec.tsx deleted file mode 100644 index 074340d0c6..0000000000 --- a/packages/js/react/src/__tests__/usePolywrapClient.spec.tsx +++ /dev/null @@ -1,75 +0,0 @@ -import { UsePolywrapClientProps } from '../client'; -import { - PolywrapProvider, - createPolywrapProvider, - usePolywrapClient -} from ".."; -import { createPlugins, createEnvs } from "./config"; - -import { Env, IUriPackage, Uri } from "@polywrap/core-js"; -import { - ensAddresses, - providers, - initTestEnvironment, - stopTestEnvironment, -} from "@polywrap/test-env-js"; - -import { renderHook, RenderHookOptions } from "@testing-library/react-hooks"; - -jest.setTimeout(360000); - -describe("usePolywrapClient hook", () => { - let envs: Env[]; - let packages: IUriPackage[]; - let WrapperProvider: RenderHookOptions; - - beforeAll(async () => { - await initTestEnvironment(); - - envs = createEnvs(providers.ipfs); - - packages = createPlugins(ensAddresses.ensAddress, providers.ethereum); - - WrapperProvider = { - wrapper: PolywrapProvider, - initialProps: { - envs, - packages, - }, - }; - }); - - afterAll(async () => { - await stopTestEnvironment(); - }); - - it("Should throw error because there's no provider with expected key ", async () => { - const props: UsePolywrapClientProps = { - provider: "Non existent Polywrap Provider", - }; - - const hook = () => usePolywrapClient(props); - - const { result } = renderHook(hook, WrapperProvider); - - expect(result.error?.message).toMatch( - /You are trying to use usePolywrapClient with provider \"Non existent Polywrap Provider\"/ - ); - }); - - it("Should throw error if provider is not within the DOM hierarchy", async () => { - createPolywrapProvider("other"); - - const props: UsePolywrapClientProps = { - provider: "other", - }; - - const hook = () => usePolywrapClient(props); - - const { result } = renderHook(hook, WrapperProvider); - - expect(result.error?.message).toMatch( - /The requested PolywrapProvider \"other\" was not found within the DOM hierarchy/ - ); - }); -}); diff --git a/packages/js/react/src/__tests__/usePolywrapInvoke.spec.tsx b/packages/js/react/src/__tests__/usePolywrapInvoke.spec.tsx deleted file mode 100644 index a5fbbf5aa6..0000000000 --- a/packages/js/react/src/__tests__/usePolywrapInvoke.spec.tsx +++ /dev/null @@ -1,224 +0,0 @@ -import { - usePolywrapInvoke, - PolywrapProvider, - createPolywrapProvider, -} from ".."; -import { UsePolywrapInvokeProps } from "../invoke"; -import { createPlugins, createEnvs } from "./config"; - -import { Env, IUriPackage, Uri } from "@polywrap/core-js"; -import { - initTestEnvironment, - stopTestEnvironment, - ensAddresses, - providers, - buildWrapper, -} from "@polywrap/test-env-js"; -import { GetPathToTestWrappers } from "@polywrap/test-cases"; - -import { - renderHook, - act, - RenderHookOptions, - cleanup, -} from "@testing-library/react-hooks"; - -jest.setTimeout(360000); - -describe("usePolywrapInvoke hook", () => { - let uri: string; - let envs: Env[]; - let packages: IUriPackage[]; - let WrapperProvider: RenderHookOptions; - - beforeAll(async () => { - await initTestEnvironment(); - - const simpleStoragePath = `${GetPathToTestWrappers()}/wasm-as/simple-storage`; - await buildWrapper(simpleStoragePath); - uri = `fs/${simpleStoragePath}/build`; - - envs = createEnvs(providers.ipfs); - packages = createPlugins(ensAddresses.ensAddress, providers.ethereum); - WrapperProvider = { - wrapper: PolywrapProvider, - initialProps: { - envs, - packages, - }, - }; - }); - - afterAll(async () => { - await stopTestEnvironment(); - }); - - async function sendQuery(options: UsePolywrapInvokeProps) { - const hook = () => usePolywrapInvoke(options); - - const { result: hookResult } = renderHook(hook, WrapperProvider); - - await act(async () => { - await hookResult.current.execute(); - }); - - const result = hookResult.current; - cleanup(); - return result; - } - - async function sendQueryWithExecVariables( - options: UsePolywrapInvokeProps - ) { - const hook = () => - usePolywrapInvoke({ - uri: options.uri, - method: options.method, - provider: options.provider, - }); - - const { result: hookResult } = renderHook(hook, WrapperProvider); - - await act(async () => { - await hookResult.current.execute(options.args); - }); - - const result = hookResult.current; - cleanup(); - return result; - } - - it("Should update storage data to five", async () => { - const deployInvoke: UsePolywrapInvokeProps = { - uri, - method: "deployContract", - args: { - connection: { - networkNameOrChainId: "testnet", - }, - }, - }; - - const { data: address } = await sendQuery(deployInvoke); - - const setStorageInvocation: UsePolywrapInvokeProps = { - uri, - method: "setData", - args: { - address: address, - value: 5, - connection: { - networkNameOrChainId: "testnet", - }, - }, - }; - - const result = await sendQuery(setStorageInvocation); - expect(result.error).toBeFalsy(); - expect(result.data).toMatch(/0x/); - - const getStorageDataInvocation: UsePolywrapInvokeProps = { - uri, - method: "getData", - args: { - address: address, - connection: { - networkNameOrChainId: "testnet", - }, - }, - }; - - const { data: getDataData } = await sendQuery( - getStorageDataInvocation - ); - expect(getDataData).toBe(5); - }); - - it("Should throw error because there's no provider with expected key ", async () => { - const getStorageDataInvocation: UsePolywrapInvokeProps = { - provider: "Non existent Polywrap Provider", - uri, - method: "getData", - args: { - address: "foo", - }, - }; - - const getDataStorageHook = () => - usePolywrapInvoke(getStorageDataInvocation); - const { result } = renderHook(getDataStorageHook); - - expect(result.error?.message).toMatch( - /You are trying to use usePolywrapClient with provider \"Non existent Polywrap Provider\"/ - ); - }); - - it("Should throw error if provider is not within the DOM hierarchy", async () => { - createPolywrapProvider("other"); - - const getStorageDataInvocation: UsePolywrapInvokeProps = { - provider: "other", - uri, - method: "getData", - args: { - address: "foo", - }, - }; - - const getDataStorageHook = () => - usePolywrapInvoke(getStorageDataInvocation); - const { result } = renderHook(getDataStorageHook, WrapperProvider); - - expect(result.error?.message).toMatch( - /The requested PolywrapProvider \"other\" was not found within the DOM hierarchy/ - ); - }); - - it("Should update storage data to three by setting value through variables passed to exec", async () => { - const deployInvoke: UsePolywrapInvokeProps = { - uri, - method: "deployContract", - args: { - connection: { - networkNameOrChainId: "testnet", - }, - }, - }; - - const { data: address } = await sendQueryWithExecVariables( - deployInvoke - ); - - const setStorageInvocation: UsePolywrapInvokeProps = { - uri, - method: "setData", - args: { - address: address, - value: 3, - connection: { - networkNameOrChainId: "testnet", - }, - }, - }; - - const result = await sendQueryWithExecVariables(setStorageInvocation); - expect(result.error).toBeFalsy(); - expect(result.data).toMatch(/0x/); - - const getStorageDataInvocation: UsePolywrapInvokeProps = { - uri, - method: "getData", - args: { - address: address, - connection: { - networkNameOrChainId: "testnet", - }, - }, - }; - - const { data: getDataData } = await sendQueryWithExecVariables( - getStorageDataInvocation - ); - expect(getDataData).toBe(3); - }); -}); diff --git a/packages/js/react/src/__tests__/usePolywrapQuery.spec.tsx b/packages/js/react/src/__tests__/usePolywrapQuery.spec.tsx deleted file mode 100644 index f81ae3d7c2..0000000000 --- a/packages/js/react/src/__tests__/usePolywrapQuery.spec.tsx +++ /dev/null @@ -1,306 +0,0 @@ -import { - usePolywrapQuery, - PolywrapProvider, - createPolywrapProvider -} from ".."; -import { - UsePolywrapQueryProps -} from "../query" -import { createPlugins, createEnvs } from "./config"; - -import { Env, IUriPackage, Uri } from "@polywrap/core-js"; -import { - initTestEnvironment, - stopTestEnvironment, - ensAddresses, - providers, - buildWrapper, -} from "@polywrap/test-env-js"; -import { GetPathToTestWrappers } from "@polywrap/test-cases"; - -import { - renderHook, - act, - RenderHookOptions, - cleanup, -} from "@testing-library/react-hooks"; - -jest.setTimeout(360000); - -describe("usePolywrapQuery hook", () => { - let uri: string; - let envs: Env[]; - let packages: IUriPackage[]; - let WrapperProvider: RenderHookOptions; - - beforeAll(async () => { - await initTestEnvironment(); - - const simpleStoragePath = `${GetPathToTestWrappers()}/wasm-as/simple-storage`; - await buildWrapper(simpleStoragePath); - uri = `fs/${simpleStoragePath}/build`; - - const simpleEnvPath = `${GetPathToTestWrappers()}/wasm-as/simple-env-types`; - await buildWrapper(simpleEnvPath); - - envs = createEnvs(providers.ipfs); - packages = createPlugins(ensAddresses.ensAddress, providers.ethereum); - WrapperProvider = { - wrapper: PolywrapProvider, - initialProps: { - envs, - packages, - }, - }; - }); - - afterAll(async () => { - await stopTestEnvironment(); - }); - - async function sendQuery>( - options: UsePolywrapQueryProps - ) { - const hook = () => usePolywrapQuery(options); - - const { result: hookResult } = renderHook(hook, WrapperProvider); - - await act(async () => { - await hookResult.current.execute(); - }); - - const result = hookResult.current; - cleanup(); - return result; - } - - async function sendQueryWithExecVariables< - TData extends Record - >(options: UsePolywrapQueryProps) { - const hook = () => - usePolywrapQuery({ - uri: options.uri, - query: options.query, - provider: options.provider, - }); - - const { result: hookResult } = renderHook(hook, WrapperProvider); - - await act(async () => { - await hookResult.current.execute(options.variables); - }); - - const result = hookResult.current; - cleanup(); - return result; - } - - it("Should update storage data to five with hard coded value", async () => { - const deployQuery: UsePolywrapQueryProps = { - uri, - query: `mutation { - deployContract ( - connection: { - networkNameOrChainId: "testnet" - } - ) - }`, - }; - - const { data } = await sendQuery<{ - deployContract: string; - }>(deployQuery); - - const setStorageDataQuery: UsePolywrapQueryProps = { - uri, - query: ` - mutation { - setData( - address: "${data?.deployContract}" - value: 5 - connection: { - networkNameOrChainId: "testnet" - } - ) - } - `, - }; - - const result = await sendQuery(setStorageDataQuery); - expect(result.errors).toBeFalsy(); - expect(result.data?.setData).toMatch(/0x/); - - const getStorageDataQuery: UsePolywrapQueryProps = { - uri, - query: ` - query { - getData( - address: "${data?.deployContract}" - connection: { - networkNameOrChainId: "testnet" - } - ) - } - `, - }; - - const { data: getDataData } = await sendQuery<{ - getData: number; - }>(getStorageDataQuery); - expect(getDataData?.getData).toBe(5); - }); - - it("Should update storage data to five by setting value through variables", async () => { - const deployQuery: UsePolywrapQueryProps = { - uri, - query: `mutation { - deployContract( - connection: { - networkNameOrChainId: "testnet" - } - ) - }`, - }; - - const { data } = await sendQuery<{ - deployContract: string; - }>(deployQuery); - - const setStorageDataQuery: UsePolywrapQueryProps = { - uri, - query: ` - mutation { - setData( - address: "${data?.deployContract}" - value: $value - connection: { - networkNameOrChainId: "testnet" - } - ) - } - `, - variables: { - value: 5, - }, - }; - - const result = await sendQuery(setStorageDataQuery); - expect(result.errors).toBeFalsy(); - expect(result.data?.setData).toMatch(/0x/); - - const getStorageDataQuery: UsePolywrapQueryProps = { - uri, - query: ` - query { - getData( - address: "${data?.deployContract}" - connection: { - networkNameOrChainId: "testnet" - } - ) - } - `, - }; - - const { data: getDataData } = await sendQuery(getStorageDataQuery); - expect(getDataData?.getData).toBe(5); - }); - - it("Should throw error because there's no provider with expected key ", async () => { - const getStorageDataQuery: UsePolywrapQueryProps = { - provider: "Non existent Polywrap Provider", - uri, - query: `query { - getData( - address: "foo" - ) - }`, - }; - - const getDataStorageHook = () => usePolywrapQuery(getStorageDataQuery); - const { result } = renderHook(getDataStorageHook); - - expect(result.error?.message).toMatch( - /You are trying to use usePolywrapClient with provider \"Non existent Polywrap Provider\"/ - ); - }); - - it("Should throw error if provider is not within the DOM hierarchy", async () => { - createPolywrapProvider("other"); - - const getStorageDataQuery: UsePolywrapQueryProps = { - provider: "other", - uri, - query: `query { - getData( - address: "foo" - ) - }`, - }; - - const getDataStorageHook = () => usePolywrapQuery(getStorageDataQuery); - const { result } = renderHook(getDataStorageHook, WrapperProvider); - - expect(result.error?.message).toMatch( - /The requested PolywrapProvider \"other\" was not found within the DOM hierarchy/ - ); - }); - - it("Should update storage data to three by setting value through variables passed to exec", async () => { - const deployQuery: UsePolywrapQueryProps = { - uri, - query: `mutation { - deployContract( - connection: { - networkNameOrChainId: "testnet" - } - ) - }`, - }; - - const { data } = await sendQueryWithExecVariables<{ - deployContract: string; - }>(deployQuery); - - const setStorageDataQuery: UsePolywrapQueryProps = { - uri, - query: ` - mutation { - setData( - address: "${data?.deployContract}" - value: $value - connection: { - networkNameOrChainId: "testnet" - } - ) - } - `, - variables: { - value: 3, - }, - }; - - const result = await sendQueryWithExecVariables(setStorageDataQuery); - expect(result.errors).toBeFalsy(); - expect(result.data?.setData).toMatch(/0x/); - - const getStorageDataQuery: UsePolywrapQueryProps = { - uri, - query: ` - query { - getData( - address: "${data?.deployContract}" - connection: { - networkNameOrChainId: "testnet" - } - ) - } - `, - }; - - const { data: getDataData } = await sendQueryWithExecVariables( - getStorageDataQuery - ); - expect(getDataData?.getData).toBe(3); - }); -}); \ No newline at end of file diff --git a/packages/js/react/src/client.tsx b/packages/js/react/src/client.tsx deleted file mode 100644 index 35979d58ae..0000000000 --- a/packages/js/react/src/client.tsx +++ /dev/null @@ -1,32 +0,0 @@ -import { PROVIDERS, PRIMARY_PROVIDER } from "./provider"; - -// eslint-disable-next-line import/no-extraneous-dependencies -import React from "react"; -import { PolywrapClient } from "@polywrap/client-js"; - -export interface UsePolywrapClientProps { - provider?: string; -} - -export function usePolywrapClient(props?: UsePolywrapClientProps): PolywrapClient { - const provider = props?.provider ?? PRIMARY_PROVIDER; - - if (!PROVIDERS[provider]) { - throw new Error( - `You are trying to use usePolywrapClient with provider "${provider}" and it doesn't exists. To create a new provider, use createPolywrapProvider` - ); - } - - // Get the PolywrapClient from the provider in our DOM hierarchy - const client = React.useContext( - PROVIDERS[provider].ClientContext - ); - - if (!client || Object.keys(client).length === 0) { - throw new Error( - `The requested PolywrapProvider \"${provider}\" was not found within the DOM hierarchy. We could not get the PolywrapClient through the provider context.` - ) - } - - return client; -} \ No newline at end of file diff --git a/packages/js/react/src/index.tsx b/packages/js/react/src/index.tsx deleted file mode 100644 index f6ec32c2d8..0000000000 --- a/packages/js/react/src/index.tsx +++ /dev/null @@ -1,4 +0,0 @@ -export { createPolywrapProvider, PolywrapProvider } from "./provider" -export { usePolywrapClient } from "./client"; -export { usePolywrapQuery } from "./query"; -export { usePolywrapInvoke } from "./invoke"; diff --git a/packages/js/react/src/invoke.tsx b/packages/js/react/src/invoke.tsx deleted file mode 100644 index 7b75ccf4b0..0000000000 --- a/packages/js/react/src/invoke.tsx +++ /dev/null @@ -1,65 +0,0 @@ -import { usePolywrapClient } from "./client"; -import { useStateReducer } from "./state"; - -import { InvokeOptions, isBuffer, InvokeResult } from "@polywrap/core-js"; - -export interface UsePolywrapInvokeState { - data?: TData; - error?: Error - loading: boolean; -} - -export const INITIAL_QUERY_STATE: UsePolywrapInvokeState = { - data: undefined, - error: undefined, - loading: false, -}; - -export interface UsePolywrapInvokeProps extends InvokeOptions { - provider?: string; -} - -/* -Note that the initial values passed into the usePolywrapInvoke hook will be -ignored when an Uint8Array is passed into execute(...). -*/ -export interface UsePolywrapInvoke - extends UsePolywrapInvokeState { - execute: ( - args?: Record | Uint8Array - ) => Promise>; -} - -export function usePolywrapInvoke< - TData = unknown ->(props: UsePolywrapInvokeProps | InvokeOptions): UsePolywrapInvoke { - const provider = "provider" in props ? props.provider : undefined; - const client = usePolywrapClient({ provider }); - - // Initialize the UsePolywrapQueryState - const { state, dispatch } = useStateReducer>( - INITIAL_QUERY_STATE as UsePolywrapInvokeState - ); - - const execute = async (args?: Record | Uint8Array) => { - dispatch({ loading: true }); - const result = await client.invoke({ - ...props, - args: isBuffer(args) ? args : { - ...props.args, - ...args, - }, - }); - if (result.ok) { - dispatch({ data: result.value, loading: false }); - } else { - dispatch({ error: result.error, loading: false }); - } - return result; - }; - - return { - ...state, - execute, - }; -} diff --git a/packages/js/react/src/provider.tsx b/packages/js/react/src/provider.tsx deleted file mode 100644 index 79800dcda2..0000000000 --- a/packages/js/react/src/provider.tsx +++ /dev/null @@ -1,87 +0,0 @@ -// eslint-disable-next-line import/no-extraneous-dependencies -import React from "react"; -import { PolywrapClient, PolywrapClientConfig } from "@polywrap/client-js"; - -type ClientContext = React.Context - -interface PolywrapProviderState { - ClientContext: ClientContext; - client?: PolywrapClient; -} - -interface PolywrapProviderMap { - [name: string]: PolywrapProviderState; -} - -export const PROVIDERS: PolywrapProviderMap = {}; - -interface PolywrapProviderProps extends Partial { } - -export type PolywrapProviderFC = React.FC; - -export function createPolywrapProvider( - name: string -): PolywrapProviderFC { - - // Make sure the provider isn't already set - if (!!PROVIDERS[name]) { - throw new Error(`A Polywrap provider already exists with the name "${name}"`); - } - - // Reserve the provider slot - PROVIDERS[name] = { - ClientContext: React.createContext({} as PolywrapClient) - }; - - return ({ - envs, - redirects, - wrappers, - packages, - interfaces, - tracerConfig, - children, - }) => { - const [clientCreated, setClientCreated] = React.useState(false); - - React.useEffect(() => { - // If the client has already been set for this provider - if (PROVIDERS[name].client) { - throw Error( - `Duplicate PolywrapProvider detected. Please use "createPolywrapProvider("provider-name")".` - ); - } - - // Instantiate the client - PROVIDERS[name].client = new PolywrapClient({ - redirects, - wrappers, - packages, - interfaces, - envs, - tracerConfig, - }); - - setClientCreated(true); - - // Unset the client in the global state when - // this provider is unmounted - return function cleanup() { - PROVIDERS[name].client = undefined; - }; - }); - - // Get the provider's context - const ClientProvider = PROVIDERS[name].ClientContext.Provider; - - return clientCreated ? ( - - {children} - - ) : null; - }; -} - -export const PRIMARY_PROVIDER = "PRIMARY_PROVIDER"; - -export const PolywrapProvider = createPolywrapProvider(PRIMARY_PROVIDER); diff --git a/packages/js/react/src/query.tsx b/packages/js/react/src/query.tsx deleted file mode 100644 index 750b0441ab..0000000000 --- a/packages/js/react/src/query.tsx +++ /dev/null @@ -1,59 +0,0 @@ -import { usePolywrapClient } from "./client"; -import { useStateReducer } from "./state"; - -import { QueryResult, QueryOptions } from "@polywrap/core-js"; - -export interface UsePolywrapQueryState< - TData extends Record = Record - > extends QueryResult { - loading: boolean; -} - -export const INITIAL_QUERY_STATE: UsePolywrapQueryState = { - data: undefined, - errors: undefined, - loading: false, -}; - -export interface UsePolywrapQueryProps< - TVariables extends Record = Record - > extends QueryOptions { - provider?: string; -} - -export interface UsePolywrapQuery< - TData extends Record = Record - > extends UsePolywrapQueryState { - execute: ( - variables?: Record - ) => Promise>; -} - -export function usePolywrapQuery< - TData extends Record = Record - >(props: UsePolywrapQueryProps): UsePolywrapQuery { - const client = usePolywrapClient({ provider: props.provider }); - - // Initialize the UsePolywrapQueryState - const { state, dispatch } = useStateReducer>( - INITIAL_QUERY_STATE as UsePolywrapQueryState - ); - - const execute = async (variables?: Record) => { - dispatch({ loading: true }); - const { data, errors } = await client.query({ - ...props, - variables: { - ...props.variables, - ...variables, - }, - }); - dispatch({ data, errors, loading: false }); - return { data, errors }; - }; - - return { - ...state, - execute, - }; -} diff --git a/packages/js/react/src/state.ts b/packages/js/react/src/state.ts deleted file mode 100644 index 3fe692bb85..0000000000 --- a/packages/js/react/src/state.ts +++ /dev/null @@ -1,22 +0,0 @@ -// eslint-disable-next-line import/no-extraneous-dependencies -import { useReducer, useMemo } from "react"; - -const stateReducer = () => ( - state: TState, - newState: Partial -): TState => ({ - ...state, - ...newState, -}); - -export const useStateReducer = ( - initialState: TState -): { - state: TState; - dispatch: React.Dispatch>; -} => { - const [state, dispatch] = useReducer(stateReducer(), initialState); - return useMemo<{ state: TState; dispatch: typeof dispatch }>(() => { - return { state, dispatch }; - }, [state, dispatch]); -}; diff --git a/packages/js/react/tsconfig.build.json b/packages/js/react/tsconfig.build.json deleted file mode 100644 index 9b3c6c4e82..0000000000 --- a/packages/js/react/tsconfig.build.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "extends": "./tsconfig.json", - "include": ["./src/**/*.tsx"], - "exclude": ["./src/**/__tests__"] -} diff --git a/packages/js/react/tsconfig.json b/packages/js/react/tsconfig.json deleted file mode 100644 index fc76d6b9ff..0000000000 --- a/packages/js/react/tsconfig.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "extends": "../../../tsconfig", - "compilerOptions": { - "outDir": "build", - "jsx": "react", - "target": "es5", - "allowSyntheticDefaultImports": true - }, - "include": ["./src/**/*.tsx"], - "exclude": [] -} diff --git a/yarn.lock b/yarn.lock index f1ebe84a09..300188ad44 100644 --- a/yarn.lock +++ b/yarn.lock @@ -117,7 +117,7 @@ dependencies: "@babel/highlight" "^7.8.3" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.18.6", "@babel/code-frame@^7.8.3": +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.18.6", "@babel/code-frame@^7.8.3": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== @@ -1257,7 +1257,7 @@ "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-transform-typescript" "^7.9.0" -"@babel/runtime-corejs3@^7.10.2", "@babel/runtime-corejs3@^7.12.1": +"@babel/runtime-corejs3@^7.12.1": version "7.20.6" resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.20.6.tgz#63dae945963539ab0ad578efbf3eff271e7067ae" integrity sha512-tqeujPiuEfcH067mx+7otTQWROVMKHXEaOQcAeNV5dDdbPWvPcFA8/W9LXw2NfjNmOetqLl03dfnG2WALPlsRQ== @@ -1272,7 +1272,7 @@ dependencies: regenerator-runtime "^0.13.4" -"@babel/runtime@^7.0.0", "@babel/runtime@^7.10.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4": +"@babel/runtime@^7.0.0", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4": version "7.20.6" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.6.tgz#facf4879bfed9b5326326273a64220f099b0fce3" integrity sha512-Q+8MqP7TiHMWzSfwiJwXCjyf4GYA4Dgw3emg/7xmwsdLJOZUp+nMqcOwOzzYheuM1rhDu8FSj2l0aoMygEuXuA== @@ -3312,6 +3312,15 @@ "@polywrap/core-js" "0.10.0-pre.5" "@polywrap/plugin-js" "0.10.0-pre.5" +"@polywrap/react@0.10.0-pre.5": + version "0.10.0-pre.5" + resolved "https://registry.yarnpkg.com/@polywrap/react/-/react-0.10.0-pre.5.tgz#cc5f87cd75d854dad33c77c042b07ca408adc0b9" + integrity sha512-fayNLu16ZLUZ+rP/jg2NkAkW/F10MMeTCB8Ma4PTUwmWMeSQpkFFujy7OBfJzAyYalM4+vxWwGH8T7h9Gk043Q== + dependencies: + "@polywrap/client-js" "0.10.0-pre.5" + "@polywrap/core-js" "0.10.0-pre.5" + "@polywrap/tracing-js" "0.10.0-pre.5" + "@polywrap/wrap-manifest-schemas@0.9.3": version "0.9.3" resolved "https://registry.yarnpkg.com/@polywrap/wrap-manifest-schemas/-/wrap-manifest-schemas-0.9.3.tgz#cdf950bb8951fba72afd8300aaf9a0a8159d7c37" @@ -3439,40 +3448,6 @@ "@svgr/plugin-svgo" "^4.3.1" loader-utils "^1.2.3" -"@testing-library/dom@^7.28.1": - version "7.31.2" - resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-7.31.2.tgz#df361db38f5212b88555068ab8119f5d841a8c4a" - integrity sha512-3UqjCpey6HiTZT92vODYLPxTBWlM8ZOOjr3LX5F37/VRipW2M1kX6I/Cm4VXzteZqfGfagg8yXywpcOgQBlNsQ== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/runtime" "^7.12.5" - "@types/aria-query" "^4.2.0" - aria-query "^4.2.2" - chalk "^4.1.0" - dom-accessibility-api "^0.5.6" - lz-string "^1.4.4" - pretty-format "^26.6.2" - -"@testing-library/react-hooks@5.1.0": - version "5.1.0" - resolved "https://registry.yarnpkg.com/@testing-library/react-hooks/-/react-hooks-5.1.0.tgz#6014b7536d0e9427a1e73ce1d073c49a6af5fb3b" - integrity sha512-ChRyyA14e0CeVkWGp24v8q/IiWUqH+B8daRx4lGZme4dsudmMNWz+Qo2Q2NzbD2O5rAVXh2hSbS/KTKeqHYhkw== - dependencies: - "@babel/runtime" "^7.12.5" - "@types/react" ">=16.9.0" - "@types/react-dom" ">=16.9.0" - "@types/react-test-renderer" ">=16.9.0" - filter-console "^0.1.1" - react-error-boundary "^3.1.0" - -"@testing-library/react@11.2.5": - version "11.2.5" - resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-11.2.5.tgz#ae1c36a66c7790ddb6662c416c27863d87818eb9" - integrity sha512-yEx7oIa/UWLe2F2dqK0FtMF9sJWNXD+2PPtp39BvE0Kh9MJ9Kl0HrZAgEuhUJR+Lx8Di6Xz+rKwSdEPY2UV8ZQ== - dependencies: - "@babel/runtime" "^7.12.5" - "@testing-library/dom" "^7.28.1" - "@tootallnate/once@1": version "1.1.2" resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" @@ -3489,11 +3464,6 @@ mkdirp "^1.0.4" multimatch "^5.0.0" -"@types/aria-query@^4.2.0": - version "4.2.2" - resolved "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-4.2.2.tgz#ed4e0ad92306a704f9fb132a0cfcf77486dbe2bc" - integrity sha512-HnYpAE1Y6kRyKM/XkEuiRQhTHvkzMBurTHnpFLYLBGPIylZNPs9jJcuOOYWxPLJCSEtmZT0Y8rHDokKN7rRTig== - "@types/babel__core@^7.0.0", "@types/babel__core@^7.1.0", "@types/babel__core@^7.1.7": version "7.1.20" resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.20.tgz#e168cdd612c92a2d335029ed62ac94c95b362359" @@ -3712,7 +3682,7 @@ resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.5.tgz#75a2a8e7d8ab4b230414505d92335d1dcb53a6df" integrity sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ== -"@types/react-dom@16.9.0", "@types/react-dom@>=16.9.0": +"@types/react-dom@16.9.0": version "16.9.0" resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.9.0.tgz#ba6ddb00bf5de700b0eb91daa452081ffccbfdea" integrity sha512-OL2lk7LYGjxn4b0efW3Pvf2KBVP0y1v3wip1Bp7nA79NkOpElH98q3WdCEdDj93b2b0zaeBG9DvriuKjIK5xDA== @@ -3726,14 +3696,7 @@ dependencies: "@types/react" "*" -"@types/react-test-renderer@>=16.9.0": - version "18.0.0" - resolved "https://registry.yarnpkg.com/@types/react-test-renderer/-/react-test-renderer-18.0.0.tgz#7b7f69ca98821ea5501b21ba24ea7b6139da2243" - integrity sha512-C7/5FBJ3g3sqUahguGi03O79b8afNeSD6T8/GU50oQrJCU0bVCCGQHaGKUbg2Ce8VQEEqTw8/HiS6lXHHdgkdQ== - dependencies: - "@types/react" "*" - -"@types/react@*", "@types/react@16.9.0", "@types/react@>=16.9.0": +"@types/react@*", "@types/react@16.9.0": version "16.9.0" resolved "https://registry.yarnpkg.com/@types/react/-/react-16.9.0.tgz#27434f16d889a335eb4626d1f1e67eda54039e5b" integrity sha512-eOct1hyZI9YZf/eqNlYu7jxA9qyTw1EGXruAJhHhBDBpc00W0C1vwlnh+hkOf7UFZkNK+UxnFBpwAZe3d7XJhQ== @@ -4417,14 +4380,6 @@ aria-query@^3.0.0: ast-types-flow "0.0.7" commander "^2.11.0" -aria-query@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-4.2.2.tgz#0d2ca6c9aceb56b8977e9fed6aed7e15bbd2f83b" - integrity sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA== - dependencies: - "@babel/runtime" "^7.10.2" - "@babel/runtime-corejs3" "^7.10.2" - arity-n@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/arity-n/-/arity-n-1.0.4.tgz#d9e76b11733e08569c0847ae7b39b2860b30b745" @@ -7002,11 +6957,6 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" -dom-accessibility-api@^0.5.6: - version "0.5.14" - resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.14.tgz#56082f71b1dc7aac69d83c4285eef39c15d93f56" - integrity sha512-NMt+m9zFMPZe0JcY9gN224Qvk6qLIdqex29clBvc/y75ZBX9YA9wNK3frsYvu2DI1xcCIwxwnX+TlsJ2DSOADg== - dom-converter@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" @@ -8167,11 +8117,6 @@ fill-range@^7.0.1: dependencies: to-regex-range "^5.0.1" -filter-console@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/filter-console/-/filter-console-0.1.1.tgz#6242be28982bba7415bcc6db74a79f4a294fa67c" - integrity sha512-zrXoV1Uaz52DqPs+qEwNJWJFAWZpYJ47UNmpN9q4j+/EYsz85uV0DC9k8tRND5kYmoVzL0W+Y75q4Rg8sRJCdg== - filter-obj@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/filter-obj/-/filter-obj-1.1.0.tgz#9b311112bc6c6127a16e016c6c5d7f19e0805c5b" @@ -10491,7 +10436,7 @@ jest-environment-jsdom@^24.9.0: jest-util "^24.9.0" jsdom "^11.5.1" -jest-environment-jsdom@^26.0.1, jest-environment-jsdom@^26.6.2: +jest-environment-jsdom@^26.6.2: version "26.6.2" resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz#78d09fe9cf019a357009b9b7e1f101d23bd1da3e" integrity sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q== @@ -11757,11 +11702,6 @@ lru-queue@^0.1.0: dependencies: es5-ext "~0.10.2" -lz-string@^1.4.4: - version "1.4.4" - resolved "https://registry.yarnpkg.com/lz-string/-/lz-string-1.4.4.tgz#c0d8eaf36059f705796e1e344811cf4c498d3a26" - integrity sha512-0ckx7ZHRPqb0oUm8zNr+90mtf9DQB60H1wMCjBtfi62Kl3a7JbHob6gA2bC+xRvZoOL+1hzUK8jeuEIQE8svEQ== - mafmt@^7.1.0: version "7.1.0" resolved "https://registry.yarnpkg.com/mafmt/-/mafmt-7.1.0.tgz#4126f6d0eded070ace7dbbb6fb04977412d380b5" @@ -14776,13 +14716,6 @@ react-dom@16.13.1: prop-types "^15.6.2" scheduler "^0.19.1" -react-error-boundary@^3.1.0: - version "3.1.4" - resolved "https://registry.yarnpkg.com/react-error-boundary/-/react-error-boundary-3.1.4.tgz#255db92b23197108757a888b01e5b729919abde0" - integrity sha512-uM9uPzZJTF6wRQORmSrvOIgt4lJ9MC1sNgEOj2XGsDTRE4kmpWxg7ENK9EWNKJRMAOY9z0MuF4yIfl6gp4sotA== - dependencies: - "@babel/runtime" "^7.12.5" - react-error-overlay@^6.0.7: version "6.0.11" resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.11.tgz#92835de5841c5cf08ba00ddd2d677b6d17ff9adb"