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 217e722d0b..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.6",
- "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.6",
- "@polywrap/core-js": "0.10.0-pre.6",
- "@polywrap/tracing-js": "0.10.0-pre.6"
- },
- "devDependencies": {
- "@polywrap/ens-resolver-plugin-js": "0.10.0-pre.6",
- "@polywrap/ethereum-plugin-js": "0.10.0-pre.6",
- "@polywrap/ipfs-plugin-js": "0.10.0-pre.6",
- "@polywrap/test-cases": "0.10.0-pre.6",
- "@polywrap/test-env-js": "0.10.0-pre.6",
- "@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.6",
- "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 bab923c43a..2695bdfa84 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==
@@ -3341,6 +3341,15 @@
"@polywrap/tracing-js" "0.10.0-pre.5"
"@polywrap/wrap-manifest-types-js" "0.10.0-pre.5"
+"@polywrap/react@0.10.0-pre.6":
+ version "0.10.0-pre.6"
+ resolved "https://registry.yarnpkg.com/@polywrap/react/-/react-0.10.0-pre.6.tgz#10bc4aedb0d3ff21ff3dc8100bedaaae06d1c3b4"
+ integrity sha512-FJvKaMhkBb5rhYbJEJ7suEjsxruK+UpqqVg3ZqE3dwfnMGZ3gtN1ieXNdoRTs7ZnlRb/3Mw8TQHdI/kSebbtOg==
+ dependencies:
+ "@polywrap/client-js" "0.10.0-pre.6"
+ "@polywrap/core-js" "0.10.0-pre.6"
+ "@polywrap/tracing-js" "0.10.0-pre.6"
+
"@polywrap/result@0.10.0-pre.5":
version "0.10.0-pre.5"
resolved "https://registry.yarnpkg.com/@polywrap/result/-/result-0.10.0-pre.5.tgz#b703878cf7426dee0edc1a2649f79a06153b403e"
@@ -3494,40 +3503,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"
@@ -3544,11 +3519,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"
@@ -3753,9 +3723,9 @@
integrity sha512-G/AdOadiZhnJp0jXCaBQU449W2h716OW/EoXeYkCytxKL06X1WCXB4DZpp8TpZ8eyIJVS1cw4lrlkkSYU21cDw==
"@types/prettier@^2.0.0", "@types/prettier@^2.6.1":
- version "2.7.1"
- resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.1.tgz#dfd20e2dc35f027cdd6c1908e80a5ddc7499670e"
- integrity sha512-ri0UmynRRvZiiUJdiz38MmIblKK+oH30MztdBVR95dv/Ubw6neWSb8u1XpRb72L4qsZOhz+L+z9JD40SJmfWow==
+ version "2.7.2"
+ resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.2.tgz#6c2324641cc4ba050a8c710b2b251b377581fbf0"
+ integrity sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==
"@types/prop-types@*":
version "15.7.5"
@@ -3767,7 +3737,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==
@@ -3781,14 +3751,16 @@
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==
+"@types/react@*":
+ version "18.0.26"
+ resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.26.tgz#8ad59fc01fef8eaf5c74f4ea392621749f0b7917"
+ integrity sha512-hCR3PJQsAIXyxhTNSiDFY//LhnMZWpNNr5etoCqx/iUfGc5gXWtQR2Phl908jVR6uPXacojQWTg4qRpkxTuGug==
dependencies:
- "@types/react" "*"
+ "@types/prop-types" "*"
+ "@types/scheduler" "*"
+ csstype "^3.0.2"
-"@types/react@*", "@types/react@16.9.0", "@types/react@>=16.9.0":
+"@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==
@@ -3804,6 +3776,11 @@
"@types/glob" "*"
"@types/node" "*"
+"@types/scheduler@*":
+ version "0.16.2"
+ resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39"
+ integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==
+
"@types/semver@7.3.8":
version "7.3.8"
resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.8.tgz#508a27995498d7586dcecd77c25e289bfaf90c59"
@@ -4472,14 +4449,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"
@@ -6656,6 +6625,11 @@ csstype@^2.2.0:
resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.21.tgz#2efb85b7cc55c80017c66a5ad7cbd931fda3a90e"
integrity sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==
+csstype@^3.0.2:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.1.tgz#841b532c45c758ee546a11d5bd7b7b473c8c30b9"
+ integrity sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==
+
csv-stringify@^5.6.2:
version "5.6.5"
resolved "https://registry.yarnpkg.com/csv-stringify/-/csv-stringify-5.6.5.tgz#c6d74badda4b49a79bf4e72f91cce1e33b94de00"
@@ -7057,11 +7031,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"
@@ -8222,11 +8191,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"
@@ -10546,7 +10510,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==
@@ -11812,11 +11776,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"
@@ -12146,9 +12105,9 @@ minimalistic-crypto-utils@^1.0.1:
integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==
minimatch@*:
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.1.tgz#6c9dffcf9927ff2a31e74b5af11adf8b9604b022"
- integrity sha512-362NP+zlprccbEt/SkxKfRMHnNY85V74mVnpUpNyr3F35covl09Kec7/sEFLt3RA4oXmewtoaanoIf67SE5Y5g==
+ version "5.1.2"
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.2.tgz#0939d7d6f0898acbd1508abe534d1929368a8fff"
+ integrity sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg==
dependencies:
brace-expansion "^2.0.1"
@@ -14831,13 +14790,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"