From bf06b73df0a9a3b9a1dbe599d5f1913655670a8a Mon Sep 17 00:00:00 2001 From: Pavel Murygin Date: Fri, 3 Mar 2023 19:19:12 +0400 Subject: [PATCH 01/11] Automate smoke tests --- .../{smoke_node => smoke/node}/.gitignore | 0 .../{smoke_node => smoke/node}/package.json | 2 +- .../{smoke_node => smoke/node}/src/index.ts | 0 .../{smoke_node => smoke/node}/tsconfig.json | 0 .../cra-ts => smoke/web-cra-ts}/.gitignore | 0 .../cra-ts => smoke/web-cra-ts}/README.md | 0 .../cra-ts => smoke/web-cra-ts}/package.json | 0 .../web-cra-ts}/public/favicon.ico | Bin .../web-cra-ts}/public/index.html | 0 .../web-cra-ts}/public/logo192.png | Bin .../web-cra-ts}/public/logo512.png | Bin .../web-cra-ts}/public/manifest.json | 0 .../web-cra-ts}/public/robots.txt | 0 .../cra-ts => smoke/web-cra-ts}/src/App.css | 0 .../web-cra-ts}/src/App.test.tsx_ | 0 .../cra-ts => smoke/web-cra-ts}/src/App.tsx | 0 .../cra-ts => smoke/web-cra-ts}/src/index.css | 0 .../cra-ts => smoke/web-cra-ts}/src/index.tsx | 0 .../cra-ts => smoke/web-cra-ts}/src/logo.svg | 0 .../web-cra-ts}/src/react-app-env.d.ts | 0 .../web-cra-ts}/src/reportWebVitals.ts | 0 .../web-cra-ts}/src/setupTests.ts | 0 .../cra-ts => smoke/web-cra-ts}/tsconfig.json | 0 .../{smoke_web => smoke/web}/.gitignore | 0 .../{smoke_web => smoke/web}/package.json | 14 +- .../web}/public/index.html | 0 .../{smoke_web => smoke/web}/public/index.js | 22 +- packages/@tests/smoke/web/src/index.ts | 37 ++ packages/@tests/test-utils/package.json | 26 + packages/@tests/test-utils/src/index.ts | 23 + packages/@tests/test-utils/tsconfig.json | 7 + pnpm-lock.yaml | 505 +++++++++++++++--- 32 files changed, 555 insertions(+), 81 deletions(-) rename packages/@tests/{smoke_node => smoke/node}/.gitignore (100%) rename packages/@tests/{smoke_node => smoke/node}/package.json (91%) rename packages/@tests/{smoke_node => smoke/node}/src/index.ts (100%) rename packages/@tests/{smoke_node => smoke/node}/tsconfig.json (100%) rename packages/@tests/{frameworks/cra-ts => smoke/web-cra-ts}/.gitignore (100%) rename packages/@tests/{frameworks/cra-ts => smoke/web-cra-ts}/README.md (100%) rename packages/@tests/{frameworks/cra-ts => smoke/web-cra-ts}/package.json (100%) rename packages/@tests/{frameworks/cra-ts => smoke/web-cra-ts}/public/favicon.ico (100%) rename packages/@tests/{frameworks/cra-ts => smoke/web-cra-ts}/public/index.html (100%) rename packages/@tests/{frameworks/cra-ts => smoke/web-cra-ts}/public/logo192.png (100%) rename packages/@tests/{frameworks/cra-ts => smoke/web-cra-ts}/public/logo512.png (100%) rename packages/@tests/{frameworks/cra-ts => smoke/web-cra-ts}/public/manifest.json (100%) rename packages/@tests/{frameworks/cra-ts => smoke/web-cra-ts}/public/robots.txt (100%) rename packages/@tests/{frameworks/cra-ts => smoke/web-cra-ts}/src/App.css (100%) rename packages/@tests/{frameworks/cra-ts => smoke/web-cra-ts}/src/App.test.tsx_ (100%) rename packages/@tests/{frameworks/cra-ts => smoke/web-cra-ts}/src/App.tsx (100%) rename packages/@tests/{frameworks/cra-ts => smoke/web-cra-ts}/src/index.css (100%) rename packages/@tests/{frameworks/cra-ts => smoke/web-cra-ts}/src/index.tsx (100%) rename packages/@tests/{frameworks/cra-ts => smoke/web-cra-ts}/src/logo.svg (100%) rename packages/@tests/{frameworks/cra-ts => smoke/web-cra-ts}/src/react-app-env.d.ts (100%) rename packages/@tests/{frameworks/cra-ts => smoke/web-cra-ts}/src/reportWebVitals.ts (100%) rename packages/@tests/{frameworks/cra-ts => smoke/web-cra-ts}/src/setupTests.ts (100%) rename packages/@tests/{frameworks/cra-ts => smoke/web-cra-ts}/tsconfig.json (100%) rename packages/@tests/{smoke_web => smoke/web}/.gitignore (100%) rename packages/@tests/{smoke_web => smoke/web}/package.json (67%) rename packages/@tests/{smoke_web => smoke/web}/public/index.html (100%) rename packages/@tests/{smoke_web => smoke/web}/public/index.js (87%) create mode 100644 packages/@tests/smoke/web/src/index.ts create mode 100644 packages/@tests/test-utils/package.json create mode 100644 packages/@tests/test-utils/src/index.ts create mode 100644 packages/@tests/test-utils/tsconfig.json diff --git a/packages/@tests/smoke_node/.gitignore b/packages/@tests/smoke/node/.gitignore similarity index 100% rename from packages/@tests/smoke_node/.gitignore rename to packages/@tests/smoke/node/.gitignore diff --git a/packages/@tests/smoke_node/package.json b/packages/@tests/smoke/node/package.json similarity index 91% rename from packages/@tests/smoke_node/package.json rename to packages/@tests/smoke/node/package.json index 7e4903f13..6451dcc7d 100644 --- a/packages/@tests/smoke_node/package.json +++ b/packages/@tests/smoke/node/package.json @@ -11,7 +11,7 @@ "type": "module", "scripts": { "build": "tsc", - "_test": "node --loader ts-node/esm ./src/index.ts" + "test": "node --loader ts-node/esm ./src/index.ts" }, "repository": "https://github.com/fluencelabs/fluence-js", "author": "Fluence Labs", diff --git a/packages/@tests/smoke_node/src/index.ts b/packages/@tests/smoke/node/src/index.ts similarity index 100% rename from packages/@tests/smoke_node/src/index.ts rename to packages/@tests/smoke/node/src/index.ts diff --git a/packages/@tests/smoke_node/tsconfig.json b/packages/@tests/smoke/node/tsconfig.json similarity index 100% rename from packages/@tests/smoke_node/tsconfig.json rename to packages/@tests/smoke/node/tsconfig.json diff --git a/packages/@tests/frameworks/cra-ts/.gitignore b/packages/@tests/smoke/web-cra-ts/.gitignore similarity index 100% rename from packages/@tests/frameworks/cra-ts/.gitignore rename to packages/@tests/smoke/web-cra-ts/.gitignore diff --git a/packages/@tests/frameworks/cra-ts/README.md b/packages/@tests/smoke/web-cra-ts/README.md similarity index 100% rename from packages/@tests/frameworks/cra-ts/README.md rename to packages/@tests/smoke/web-cra-ts/README.md diff --git a/packages/@tests/frameworks/cra-ts/package.json b/packages/@tests/smoke/web-cra-ts/package.json similarity index 100% rename from packages/@tests/frameworks/cra-ts/package.json rename to packages/@tests/smoke/web-cra-ts/package.json diff --git a/packages/@tests/frameworks/cra-ts/public/favicon.ico b/packages/@tests/smoke/web-cra-ts/public/favicon.ico similarity index 100% rename from packages/@tests/frameworks/cra-ts/public/favicon.ico rename to packages/@tests/smoke/web-cra-ts/public/favicon.ico diff --git a/packages/@tests/frameworks/cra-ts/public/index.html b/packages/@tests/smoke/web-cra-ts/public/index.html similarity index 100% rename from packages/@tests/frameworks/cra-ts/public/index.html rename to packages/@tests/smoke/web-cra-ts/public/index.html diff --git a/packages/@tests/frameworks/cra-ts/public/logo192.png b/packages/@tests/smoke/web-cra-ts/public/logo192.png similarity index 100% rename from packages/@tests/frameworks/cra-ts/public/logo192.png rename to packages/@tests/smoke/web-cra-ts/public/logo192.png diff --git a/packages/@tests/frameworks/cra-ts/public/logo512.png b/packages/@tests/smoke/web-cra-ts/public/logo512.png similarity index 100% rename from packages/@tests/frameworks/cra-ts/public/logo512.png rename to packages/@tests/smoke/web-cra-ts/public/logo512.png diff --git a/packages/@tests/frameworks/cra-ts/public/manifest.json b/packages/@tests/smoke/web-cra-ts/public/manifest.json similarity index 100% rename from packages/@tests/frameworks/cra-ts/public/manifest.json rename to packages/@tests/smoke/web-cra-ts/public/manifest.json diff --git a/packages/@tests/frameworks/cra-ts/public/robots.txt b/packages/@tests/smoke/web-cra-ts/public/robots.txt similarity index 100% rename from packages/@tests/frameworks/cra-ts/public/robots.txt rename to packages/@tests/smoke/web-cra-ts/public/robots.txt diff --git a/packages/@tests/frameworks/cra-ts/src/App.css b/packages/@tests/smoke/web-cra-ts/src/App.css similarity index 100% rename from packages/@tests/frameworks/cra-ts/src/App.css rename to packages/@tests/smoke/web-cra-ts/src/App.css diff --git a/packages/@tests/frameworks/cra-ts/src/App.test.tsx_ b/packages/@tests/smoke/web-cra-ts/src/App.test.tsx_ similarity index 100% rename from packages/@tests/frameworks/cra-ts/src/App.test.tsx_ rename to packages/@tests/smoke/web-cra-ts/src/App.test.tsx_ diff --git a/packages/@tests/frameworks/cra-ts/src/App.tsx b/packages/@tests/smoke/web-cra-ts/src/App.tsx similarity index 100% rename from packages/@tests/frameworks/cra-ts/src/App.tsx rename to packages/@tests/smoke/web-cra-ts/src/App.tsx diff --git a/packages/@tests/frameworks/cra-ts/src/index.css b/packages/@tests/smoke/web-cra-ts/src/index.css similarity index 100% rename from packages/@tests/frameworks/cra-ts/src/index.css rename to packages/@tests/smoke/web-cra-ts/src/index.css diff --git a/packages/@tests/frameworks/cra-ts/src/index.tsx b/packages/@tests/smoke/web-cra-ts/src/index.tsx similarity index 100% rename from packages/@tests/frameworks/cra-ts/src/index.tsx rename to packages/@tests/smoke/web-cra-ts/src/index.tsx diff --git a/packages/@tests/frameworks/cra-ts/src/logo.svg b/packages/@tests/smoke/web-cra-ts/src/logo.svg similarity index 100% rename from packages/@tests/frameworks/cra-ts/src/logo.svg rename to packages/@tests/smoke/web-cra-ts/src/logo.svg diff --git a/packages/@tests/frameworks/cra-ts/src/react-app-env.d.ts b/packages/@tests/smoke/web-cra-ts/src/react-app-env.d.ts similarity index 100% rename from packages/@tests/frameworks/cra-ts/src/react-app-env.d.ts rename to packages/@tests/smoke/web-cra-ts/src/react-app-env.d.ts diff --git a/packages/@tests/frameworks/cra-ts/src/reportWebVitals.ts b/packages/@tests/smoke/web-cra-ts/src/reportWebVitals.ts similarity index 100% rename from packages/@tests/frameworks/cra-ts/src/reportWebVitals.ts rename to packages/@tests/smoke/web-cra-ts/src/reportWebVitals.ts diff --git a/packages/@tests/frameworks/cra-ts/src/setupTests.ts b/packages/@tests/smoke/web-cra-ts/src/setupTests.ts similarity index 100% rename from packages/@tests/frameworks/cra-ts/src/setupTests.ts rename to packages/@tests/smoke/web-cra-ts/src/setupTests.ts diff --git a/packages/@tests/frameworks/cra-ts/tsconfig.json b/packages/@tests/smoke/web-cra-ts/tsconfig.json similarity index 100% rename from packages/@tests/frameworks/cra-ts/tsconfig.json rename to packages/@tests/smoke/web-cra-ts/tsconfig.json diff --git a/packages/@tests/smoke_web/.gitignore b/packages/@tests/smoke/web/.gitignore similarity index 100% rename from packages/@tests/smoke_web/.gitignore rename to packages/@tests/smoke/web/.gitignore diff --git a/packages/@tests/smoke_web/package.json b/packages/@tests/smoke/web/package.json similarity index 67% rename from packages/@tests/smoke_web/package.json rename to packages/@tests/smoke/web/package.json index d2bf3aa8d..5e02ab483 100644 --- a/packages/@tests/smoke_web/package.json +++ b/packages/@tests/smoke/web/package.json @@ -8,17 +8,19 @@ "node": ">=10", "pnpm": ">=3" }, + "type": "module", "scripts": { - "build": "pnpm copy-script", - "serve": "http-server public", - "copy-script": "cp ../../client/js-client.web.standalone/dist/js-client.min.js ./public" + "test": "node --loader ts-node/esm ./src/index.ts" }, "repository": "https://github.com/fluencelabs/fluence-js", "author": "Fluence Labs", "license": "Apache-2.0", - "dependencies": {}, - "devDependencies": { + "dependencies": { "@fluencelabs/js-client.web.standalone": "workspace:^", - "http-server": "14.1.1" + "@test/test-utils": "workspace:^" + }, + "devDependencies": { + "http-server": "14.1.1", + "puppeteer": "19.7.2" } } diff --git a/packages/@tests/smoke_web/public/index.html b/packages/@tests/smoke/web/public/index.html similarity index 100% rename from packages/@tests/smoke_web/public/index.html rename to packages/@tests/smoke/web/public/index.html diff --git a/packages/@tests/smoke_web/public/index.js b/packages/@tests/smoke/web/public/index.js similarity index 87% rename from packages/@tests/smoke_web/public/index.js rename to packages/@tests/smoke/web/public/index.js index 8e0f9d4b5..888602f18 100644 --- a/packages/@tests/smoke_web/public/index.js +++ b/packages/@tests/smoke/web/public/index.js @@ -1,4 +1,4 @@ -const peer = globalThis.defaultPeer; +const fluence = globalThis.fluence; const relay = { multiaddr: '/ip4/127.0.0.1/tcp/4310/ws/p2p/12D3KooWKEprYXUXqoV5xSBeyqrWLpQLLH4PXfvVkDJtmcqmh5V3', @@ -51,7 +51,7 @@ const getRelayTime = (relayPeerId) => { }, }, codomain: { - tag: 'unlabeledProduct', + tag: 'unlabeledProduct',defaultClient items: [ { tag: 'scalar', @@ -74,7 +74,7 @@ const getRelayTime = (relayPeerId) => { const config = {}; const args = {}; - return peer.compilerSupport.callFunction({ + return fluence.callFunction({ args, def, config, @@ -82,22 +82,18 @@ const getRelayTime = (relayPeerId) => { }); }; -const main = async () => { +window.main = async () => { console.log('starting fluence...'); - await peer.start({ - connectTo: relay, - }); + await fluence.defaultClient.connect(relay); console.log('started fluence'); console.log('getting relay time...'); - const res = await getRelayTime(relay.peerId); + const relayTime = await getRelayTime(relay.peerId); console.log('got relay time, ', res); console.log('stopping fluence...'); - await peer.stop(); + await fluence.defaultClient.stop(); console.log('stopped fluence...'); -}; -main() - .then(() => console.log('done!')) - .catch((err) => console.error('error: ', err)); + return relayTime; +}; diff --git a/packages/@tests/smoke/web/src/index.ts b/packages/@tests/smoke/web/src/index.ts new file mode 100644 index 000000000..55e958fab --- /dev/null +++ b/packages/@tests/smoke/web/src/index.ts @@ -0,0 +1,37 @@ +import puppeteer from 'puppeteer'; +import path from 'path'; + +import { startCdn, startContentServer, stopCdn } from '@test/test-utils'; + +const port = 3000; +const uri = `http://localhost:${port}/`; +const publicPath = path.join(__dirname, '../public/'); + +const test = async () => { + const cdn = startCdn(); + const localServer = startContentServer(port, publicPath); + + console.log('starting puppeteer...'); + const browser = await puppeteer.launch(); + const page = await browser.newPage(); + + console.log('going to the page in browser...'); + await page.goto(uri); + + console.log('Running smoke test function...'); + const result = await page.evaluate(() => { + // @ts-ignore + return window.main(); + }); + + cdn.close(); + localServer.close(); + + if (!result) { + throw new Error('Smoke test failed!'); + } +}; + +test() + .then(() => console.log('done!')) + .catch((err) => console.error('error: ', err)); diff --git a/packages/@tests/test-utils/package.json b/packages/@tests/test-utils/package.json new file mode 100644 index 000000000..98d394939 --- /dev/null +++ b/packages/@tests/test-utils/package.json @@ -0,0 +1,26 @@ +{ + "name": "@test/test-utils", + "version": "0.1.0", + "description": "Test utils", + "main": "./dist/index.js", + "typings": "./dist/index.d.ts", + "engines": { + "node": ">=10", + "pnpm": ">=3" + }, + "type": "module", + "scripts": { + "build": "tsc" + }, + "repository": "https://github.com/fluencelabs/fluence-js", + "author": "Fluence Labs", + "license": "Apache-2.0", + "dependencies": { + "@fluencelabs/js-client.api": "workspace:^", + "@fluencelabs/js-client.node": "workspace:^", + "express": "4.18.2" + }, + "devDependencies": { + "@types/express": "4.17.17" + } +} diff --git a/packages/@tests/test-utils/src/index.ts b/packages/@tests/test-utils/src/index.ts new file mode 100644 index 000000000..23e95447a --- /dev/null +++ b/packages/@tests/test-utils/src/index.ts @@ -0,0 +1,23 @@ +import express from 'express'; +import type { Server } from 'http'; + +const CDN_PORT = 8765; +const CDN_PUBLIC_PATH = '../../packages/client/js-client.web.standalone/dist'; + +export const startCdn = () => startContentServer(CDN_PORT, CDN_PUBLIC_PATH); + +export const startContentServer = (port: number, publicDir: string): Server => { + const app = express(); + + app.use(express.static(publicDir)); + + return app.listen(port, () => { + console.log(`Server started on port ${port}`); + }); +}; + +export const stopServer = (app: Server): void => { + app.close(() => { + console.log('Server stopped'); + }); +}; diff --git a/packages/@tests/test-utils/tsconfig.json b/packages/@tests/test-utils/tsconfig.json new file mode 100644 index 000000000..8c892f213 --- /dev/null +++ b/packages/@tests/test-utils/tsconfig.json @@ -0,0 +1,7 @@ +{ + "extends": "../../../tsconfig.json", + "compilerOptions": { + "outDir": "./dist" + }, + "exclude": ["node_modules", "dist"] +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9b4a465c6..7969f6d28 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -30,10 +30,33 @@ importers: '@fluencelabs/js-client.api': link:../../client/api base64-js: 1.5.1 devDependencies: - '@fluencelabs/aqua': 0.9.4_jaxubti5gf66xc76fsqhxmuwn4 + '@fluencelabs/aqua': 0.9.4_sxyfz5frysr7cnkewysdljfvwu '@fluencelabs/registry': 0.7.0 - packages/@tests/frameworks/cra-ts: + packages/@tests/smoke/node: + specifiers: + '@fluencelabs/js-client.api': workspace:^ + '@fluencelabs/js-client.node': workspace:^ + '@test/aqua_for_test': workspace:^ + dependencies: + '@fluencelabs/js-client.api': link:../../../client/api + '@fluencelabs/js-client.node': link:../../../client/js-client.node + '@test/aqua_for_test': link:../../aqua + + packages/@tests/smoke/web: + specifiers: + '@fluencelabs/js-client.web.standalone': workspace:^ + '@test/test-utils': workspace:^ + http-server: 14.1.1 + puppeteer: 19.7.2 + dependencies: + '@fluencelabs/js-client.web.standalone': link:../../../client/js-client.web.standalone + '@test/test-utils': link:../../test-utils + devDependencies: + http-server: 14.1.1 + puppeteer: 19.7.2 + + packages/@tests/smoke/web-cra-ts: specifiers: '@fluencelabs/js-client.api': workspace:^ '@test/aqua_for_test': workspace:^ @@ -65,23 +88,18 @@ importers: typescript: 4.9.5 web-vitals: 2.1.4 - packages/@tests/smoke_node: + packages/@tests/test-utils: specifiers: '@fluencelabs/js-client.api': workspace:^ '@fluencelabs/js-client.node': workspace:^ - '@test/aqua_for_test': workspace:^ + '@types/express': 4.17.17 + express: 4.18.2 dependencies: '@fluencelabs/js-client.api': link:../../client/api '@fluencelabs/js-client.node': link:../../client/js-client.node - '@test/aqua_for_test': link:../aqua - - packages/@tests/smoke_web: - specifiers: - '@fluencelabs/js-client.web.standalone': workspace:^ - http-server: 14.1.1 + express: 4.18.2 devDependencies: - '@fluencelabs/js-client.web.standalone': link:../../client/js-client.web.standalone - http-server: 14.1.1 + '@types/express': 4.17.17 packages/client/api: specifiers: @@ -141,10 +159,10 @@ importers: '@types/node': 16.11.59 jest: 28.1.0_@types+node@16.11.59 js-base64: 3.7.5 - ts-jest: 28.0.2_byf75w6xilfwy3ncjzlldwxox4 + ts-jest: 28.0.2_m4pn7vsromlf5ffrouypoapnnq vite: 4.0.4_@types+node@16.11.59 vite-plugin-replace: 0.1.1_vite@4.0.4 - vite-tsconfig-paths: 4.0.3_trrwuuiz4f5khno7hdf3cjz2ky + vite-tsconfig-paths: 4.0.3_egung5nfepmolqa7uavvqho3gq packages/client/tools: specifiers: @@ -233,7 +251,7 @@ importers: uint8arrays: 4.0.3 uuid: 8.3.2 devDependencies: - '@fluencelabs/aqua': 0.7.7-362_cgl6iwuyfzkj3bzihtpi7yfmsi + '@fluencelabs/aqua': 0.7.7-362_4ybkoodcah37urerzfcwvnjsoe '@fluencelabs/aqua-api': 0.9.1-373 '@fluencelabs/aqua-lib': 0.6.0 '@fluencelabs/fluence-network-environment': 1.0.13 @@ -241,7 +259,7 @@ importers: '@types/jest': 29.4.0 '@types/uuid': 8.3.2 jest: 29.4.1 - ts-jest: 29.0.0-next.1_knhdxpg4pvwuf6vrybjt5d2q5i + ts-jest: 29.0.0-next.1_ecv55cdbauq6znr7ci2lzguwra packages: @@ -2037,13 +2055,13 @@ packages: resolution: {integrity: sha512-ifjtCM93KO3LhzPkMxqmXhwLmrg/scjOiyTihEVg7ns5N+BVzaK1eWzdOdqGdl9ZVoah43pdlQUepEo7VdRmsw==} dev: true - /@fluencelabs/aqua/0.7.7-362_cgl6iwuyfzkj3bzihtpi7yfmsi: + /@fluencelabs/aqua/0.7.7-362_4ybkoodcah37urerzfcwvnjsoe: resolution: {integrity: sha512-CwvBc3wKQdvnDM4Zxj6yFE5MR2oeh+EZ++m2hLvENt7OWl3cnZVR4cJQkRxMMLVT0MxRwLiy97UIBwGsPqlSCA==} hasBin: true dependencies: '@fluencelabs/aqua-ipfs': 0.5.5 '@fluencelabs/aqua-lib': 0.5.2 - '@fluencelabs/fluence': 0.26.3-snapshot-4_cgl6iwuyfzkj3bzihtpi7yfmsi + '@fluencelabs/fluence': 0.26.3-snapshot-4_4ybkoodcah37urerzfcwvnjsoe '@fluencelabs/fluence-network-environment': 1.0.13 ipfs-http-client: 50.1.2_node-fetch@3.3.0 transitivePeerDependencies: @@ -2083,13 +2101,13 @@ packages: - utf-8-validate dev: true - /@fluencelabs/aqua/0.9.4_jaxubti5gf66xc76fsqhxmuwn4: + /@fluencelabs/aqua/0.9.4_sxyfz5frysr7cnkewysdljfvwu: resolution: {integrity: sha512-DAy2XT4E4oR4Imgsc9ns8jd14StwxktHcZe3MTaZT1PDo3KdbrXda5MBGWFiuqhZcB/Xr4EruCvH/LscrsKlQg==} hasBin: true dependencies: '@fluencelabs/aqua-ipfs': 0.5.8 '@fluencelabs/aqua-lib': 0.6.0 - '@fluencelabs/fluence': 0.28.0_jaxubti5gf66xc76fsqhxmuwn4 + '@fluencelabs/fluence': 0.28.0_sxyfz5frysr7cnkewysdljfvwu '@fluencelabs/fluence-network-environment': 1.0.13 ipfs-http-client: 50.1.2_node-fetch@3.3.0 transitivePeerDependencies: @@ -2154,7 +2172,7 @@ packages: resolution: {integrity: sha512-lMiH+7obmJW2Q+PMUR/vNAuX6TcVqlKmsWAHvnBogH7s8IeMT+UGN8qrweILWmE57G7MfauB302dIFQowR9tug==} dev: false - /@fluencelabs/fluence/0.26.3-snapshot-4_cgl6iwuyfzkj3bzihtpi7yfmsi: + /@fluencelabs/fluence/0.26.3-snapshot-4_4ybkoodcah37urerzfcwvnjsoe: resolution: {integrity: sha512-M/iQhnViXfMaATj3gFPQXrZe9zSVcyN9F9A9hfJBUn0VLamhmbfeIoSZeheK8VGBxYbRGcrtoqLPTy1vJQVgVw==} engines: {node: '>=10', pnpm: '>=3'} hasBin: true @@ -2163,7 +2181,7 @@ packages: '@fluencelabs/connection': 0.2.0_node-fetch@3.3.0 '@fluencelabs/interfaces': 0.1.0 '@fluencelabs/keypair': 0.2.0 - '@fluencelabs/marine-js': 0.3.18_2g5e7lwqsvuxdxojhdo55sfvve + '@fluencelabs/marine-js': 0.3.18_ddylxr3wxksmlyjpihqkkowegi async: 3.2.3 base64-js: 1.5.1 browser-or-node: 2.1.1 @@ -2228,7 +2246,7 @@ packages: - utf-8-validate dev: true - /@fluencelabs/fluence/0.28.0_jaxubti5gf66xc76fsqhxmuwn4: + /@fluencelabs/fluence/0.28.0_sxyfz5frysr7cnkewysdljfvwu: resolution: {integrity: sha512-SXb2vjTj8m/nw4jEILV0tu9VIFprGo8mNb2nOB5btxdsOI8GzQZkpGzTLrSd/+UagIo2GdxAu0GhBP8dxZXaqg==} engines: {node: '>=10', pnpm: '>=3'} hasBin: true @@ -2237,7 +2255,7 @@ packages: '@fluencelabs/connection': 0.2.0_node-fetch@3.3.0 '@fluencelabs/interfaces': 0.1.0 '@fluencelabs/keypair': 0.2.0 - '@fluencelabs/marine-js': 0.3.37_g4n3hsjlbmz4ag5o32ytojordu + '@fluencelabs/marine-js': 0.3.37_cnngzrja2umb46xxazlucyx2qu async: 3.2.4 base64-js: 1.5.1 browser-or-node: 2.0.0 @@ -2279,7 +2297,7 @@ packages: peer-id: 0.16.0 dev: true - /@fluencelabs/marine-js/0.3.18_2g5e7lwqsvuxdxojhdo55sfvve: + /@fluencelabs/marine-js/0.3.18_ddylxr3wxksmlyjpihqkkowegi: resolution: {integrity: sha512-aNuGtyY910kJvtRwfqmZKjVs+1l3LVWShv5xvkY04faHm65nX3sZLe8UHwughdja/4ixV1IFKlaTUgw2u3Sf5A==} dependencies: '@wasmer/wasi': 0.12.0 @@ -2287,7 +2305,26 @@ packages: browser-or-node: 2.1.1 buffer: 6.0.3 threads: 1.7.0 - ts-jest: 27.1.5_2g5e7lwqsvuxdxojhdo55sfvve + ts-jest: 27.1.5_ddylxr3wxksmlyjpihqkkowegi + transitivePeerDependencies: + - '@babel/core' + - '@types/jest' + - babel-jest + - esbuild + - jest + - supports-color + - typescript + dev: true + + /@fluencelabs/marine-js/0.3.37_cnngzrja2umb46xxazlucyx2qu: + resolution: {integrity: sha512-/Kpu3S+aDOfrOpKBAK1VeWSHKCoD36/dxtHEWHbj3Lsro0GB9zkoaZPHlFFL7rorCB+hyjAJqLDuBGI8f3l/qg==} + dependencies: + '@wasmer/wasi': 0.12.0 + '@wasmer/wasmfs': 0.12.0 + browser-or-node: 2.0.0 + buffer: 6.0.3 + threads: 1.7.0 + ts-jest: 27.1.5_cnngzrja2umb46xxazlucyx2qu transitivePeerDependencies: - '@babel/core' - '@types/jest' @@ -2449,6 +2486,51 @@ packages: - ts-node - utf-8-validate + /@jest/core/27.5.1_ts-node@10.9.1: + resolution: {integrity: sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + '@jest/console': 27.5.1 + '@jest/reporters': 27.5.1 + '@jest/test-result': 27.5.1 + '@jest/transform': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 18.13.0 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + emittery: 0.8.1 + exit: 0.1.2 + graceful-fs: 4.2.10 + jest-changed-files: 27.5.1 + jest-config: 27.5.1_ts-node@10.9.1 + jest-haste-map: 27.5.1 + jest-message-util: 27.5.1 + jest-regex-util: 27.5.1 + jest-resolve: 27.5.1 + jest-resolve-dependencies: 27.5.1 + jest-runner: 27.5.1 + jest-runtime: 27.5.1 + jest-snapshot: 27.5.1 + jest-util: 27.5.1 + jest-validate: 27.5.1 + jest-watcher: 27.5.1 + micromatch: 4.0.5 + rimraf: 3.0.2 + slash: 3.0.0 + strip-ansi: 6.0.1 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - ts-node + - utf-8-validate + dev: true + /@jest/core/28.1.3: resolution: {integrity: sha512-CIKBrlaKOzA7YG19BEqCw3SLIsEwjZkeJzf5bdooVnW4bH5cktqe3JX+G2YV1aK5vP8N9na1IGWFzYaTp6k6NA==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} @@ -2575,7 +2657,6 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: jest-get-type: 29.4.2 - dev: true /@jest/expect/28.1.3: resolution: {integrity: sha512-lzc8CpUbSoE4dqT0U+g1qODQjBRHPpCPXissXD4mS9+sWQdmmpeJ9zSH1rS1HEkrsMN0fb7nKrJ9giAR1d3wBw==} @@ -2786,7 +2867,6 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@sinclair/typebox': 0.25.21 - dev: true /@jest/source-map/27.5.1: resolution: {integrity: sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==} @@ -2972,7 +3052,6 @@ packages: '@types/node': 18.13.0 '@types/yargs': 17.0.22 chalk: 4.1.2 - dev: true /@jridgewell/gen-mapping/0.1.1: resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==} @@ -3760,7 +3839,6 @@ packages: /@sinclair/typebox/0.25.21: resolution: {integrity: sha512-gFukHN4t8K4+wVC+ECqeqwzBDeFeTzBXroBTqE6vcWrQGbEUpHO7LYdG0f4xnvYq4VOEwITSlHlp0JBAIFMS/g==} - dev: true /@sinonjs/commons/1.8.6: resolution: {integrity: sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==} @@ -4107,7 +4185,6 @@ packages: dependencies: '@types/connect': 3.4.35 '@types/node': 18.13.0 - dev: false /@types/bonjour/3.5.10: resolution: {integrity: sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==} @@ -4132,7 +4209,6 @@ packages: resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} dependencies: '@types/node': 18.13.0 - dev: false /@types/eslint-scope/3.7.4: resolution: {integrity: sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==} @@ -4164,7 +4240,6 @@ packages: '@types/node': 18.13.0 '@types/qs': 6.9.7 '@types/range-parser': 1.2.4 - dev: false /@types/express/4.17.17: resolution: {integrity: sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==} @@ -4173,7 +4248,6 @@ packages: '@types/express-serve-static-core': 4.17.33 '@types/qs': 6.9.7 '@types/serve-static': 1.15.0 - dev: false /@types/graceful-fs/4.1.6: resolution: {integrity: sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==} @@ -4222,7 +4296,6 @@ packages: dependencies: expect: 29.4.2 pretty-format: 29.4.2 - dev: true /@types/json-schema/7.0.11: resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} @@ -4238,7 +4311,6 @@ packages: /@types/mime/3.0.1: resolution: {integrity: sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==} - dev: false /@types/minimatch/3.0.5: resolution: {integrity: sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==} @@ -4275,11 +4347,9 @@ packages: /@types/qs/6.9.7: resolution: {integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==} - dev: false /@types/range-parser/1.2.4: resolution: {integrity: sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==} - dev: false /@types/react-dom/18.0.10: resolution: {integrity: sha512-E42GW/JA4Qv15wQdqJq8DL4JhNpB3prJgjgapN3qJT9K2zO5IIAQh4VXvCEDupoqAwnz0cY4RlXeC/ajX5SFHg==} @@ -4326,7 +4396,6 @@ packages: dependencies: '@types/mime': 3.0.1 '@types/node': 18.13.0 - dev: false /@types/sockjs/0.3.33: resolution: {integrity: sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==} @@ -4340,7 +4409,7 @@ packages: /@types/testing-library__jest-dom/5.14.5: resolution: {integrity: sha512-SBwbxYoyPIvxHbeHxTZX2Pe/74F/tX2/D3mMvzabdeJ25bBojfW0TyB8BHrbq/9zaaKICJZjLP+8r6AeZMFCuQ==} dependencies: - '@types/jest': 27.5.2 + '@types/jest': 29.4.0 dev: false /@types/trusted-types/2.0.2: @@ -4370,6 +4439,14 @@ packages: dependencies: '@types/yargs-parser': 21.0.0 + /@types/yauzl/2.10.0: + resolution: {integrity: sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==} + requiresBuild: true + dependencies: + '@types/node': 18.13.0 + dev: true + optional: true + /@typescript-eslint/eslint-plugin/5.51.0_z4swst3wuuqk4hlme4ajzslgh4: resolution: {integrity: sha512-wcAwhEWm1RgNd7dxD/o+nnLW8oH+6RK1OGnmbmkj/GGoDPV1WWMVP0FXYQBivKHdwM1pwii3bt//RC62EriIUQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -4879,7 +4956,6 @@ packages: /argparse/2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - dev: false /aria-query/5.1.3: resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==} @@ -5511,6 +5587,10 @@ packages: dependencies: node-int64: 0.4.0 + /buffer-crc32/0.2.13: + resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} + dev: true + /buffer-es6/4.9.3: resolution: {integrity: sha512-Ibt+oXxhmeYJSsCkODPqNpPmyegefiD8rfutH1NYGhMZQhSp95Rz7haemgnJ6dxa6LT+JLLbtgOMORRluwKktw==} @@ -5668,11 +5748,24 @@ packages: fsevents: 2.3.2 dev: false + /chownr/1.1.4: + resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} + dev: true + /chrome-trace-event/1.0.3: resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==} engines: {node: '>=6.0'} dev: false + /chromium-bidi/0.4.4_6o5gdkn34s2j2m26x63ssheuqa: + resolution: {integrity: sha512-4BX5cSaponuvVT1+SbLYTOAgDoVtX/Khoc9UsbFJ/AsPVUeFAM3RiIDFI6XFhLYMi9WmVJqh1ZH+dRpNKkKwiQ==} + peerDependencies: + devtools-protocol: '*' + dependencies: + devtools-protocol: 0.0.1094867 + mitt: 3.0.0 + dev: true + /ci-info/3.8.0: resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} engines: {node: '>=8'} @@ -5910,10 +6003,28 @@ packages: path-type: 4.0.0 yaml: 1.10.2 + /cosmiconfig/8.0.0: + resolution: {integrity: sha512-da1EafcpH6b/TD8vDRaWV7xFINlHlF6zKsGwS1TsuVJTZRkquaS5HTMq7uq6h31619QjbsYl21gVDOm32KM1vQ==} + engines: {node: '>=14'} + dependencies: + import-fresh: 3.3.0 + js-yaml: 4.1.0 + parse-json: 5.2.0 + path-type: 4.0.0 + dev: true + /create-require/1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} dev: true + /cross-fetch/3.1.5: + resolution: {integrity: sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==} + dependencies: + node-fetch: 2.6.7 + transitivePeerDependencies: + - encoding + dev: true + /cross-spawn/7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} @@ -6352,6 +6463,10 @@ packages: minimist: 1.2.8 dev: false + /devtools-protocol/0.0.1094867: + resolution: {integrity: sha512-pmMDBKiRVjh0uKK6CT1WqZmM3hBVSgD+N2MrgyV1uNizAZMw4tx6i/RTc+/uCsKSCmg0xXx7arCP/OFcIwTsiQ==} + dev: true + /didyoumean/1.2.2: resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} dev: false @@ -6368,7 +6483,6 @@ packages: /diff-sequences/29.4.2: resolution: {integrity: sha512-R6P0Y6PrsH3n4hUXxL3nns0rbRk6Q33js3ygJBeEpbzLzgcNuJ61+u0RXasFpTKISw99TxUzFnumSnRLsjhLaw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true /diff/4.0.2: resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} @@ -7216,7 +7330,6 @@ packages: jest-matcher-utils: 29.4.2 jest-message-util: 29.4.2 jest-util: 29.4.2 - dev: true /express/4.18.2: resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==} @@ -7261,6 +7374,20 @@ packages: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} dev: true + /extract-zip/2.0.1: + resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} + engines: {node: '>= 10.17.0'} + hasBin: true + dependencies: + debug: 4.3.4 + get-stream: 5.2.0 + yauzl: 2.10.0 + optionalDependencies: + '@types/yauzl': 2.10.0 + transitivePeerDependencies: + - supports-color + dev: true + /extsprintf/1.3.0: resolution: {integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==} engines: {'0': node >=0.6.0} @@ -7310,6 +7437,12 @@ packages: dependencies: bser: 2.1.1 + /fd-slicer/1.1.0: + resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} + dependencies: + pend: 1.2.0 + dev: true + /fetch-blob/3.2.0: resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} engines: {node: ^12.20 || >= 14.13} @@ -7617,6 +7750,13 @@ packages: resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} engines: {node: '>=8.0.0'} + /get-stream/5.2.0: + resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} + engines: {node: '>=8'} + dependencies: + pump: 3.0.0 + dev: true + /get-stream/6.0.1: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} engines: {node: '>=10'} @@ -9116,6 +9256,36 @@ packages: - ts-node - utf-8-validate + /jest-cli/27.5.1_ts-node@10.9.1: + resolution: {integrity: sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + '@jest/core': 27.5.1_ts-node@10.9.1 + '@jest/test-result': 27.5.1 + '@jest/types': 27.5.1 + chalk: 4.1.2 + exit: 0.1.2 + graceful-fs: 4.2.10 + import-local: 3.1.0 + jest-config: 27.5.1_ts-node@10.9.1 + jest-util: 27.5.1 + jest-validate: 27.5.1 + prompts: 2.4.2 + yargs: 16.2.0 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - ts-node + - utf-8-validate + dev: true + /jest-cli/28.1.3_@types+node@16.11.59: resolution: {integrity: sha512-roY3kvrv57Azn1yPgdTebPAXvdR2xfezaKKYzVxZ6It/5NCxzJym6tUI5P1zkdWhfUYkxEI9uZWcQdaFLo8mJQ==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} @@ -9211,6 +9381,47 @@ packages: - supports-color - utf-8-validate + /jest-config/27.5.1_ts-node@10.9.1: + resolution: {integrity: sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + peerDependencies: + ts-node: '>=9.0.0' + peerDependenciesMeta: + ts-node: + optional: true + dependencies: + '@babel/core': 7.20.12 + '@jest/test-sequencer': 27.5.1 + '@jest/types': 27.5.1 + babel-jest: 27.5.1_@babel+core@7.20.12 + chalk: 4.1.2 + ci-info: 3.8.0 + deepmerge: 4.3.0 + glob: 7.2.3 + graceful-fs: 4.2.10 + jest-circus: 27.5.1 + jest-environment-jsdom: 27.5.1 + jest-environment-node: 27.5.1 + jest-get-type: 27.5.1 + jest-jasmine2: 27.5.1 + jest-regex-util: 27.5.1 + jest-resolve: 27.5.1 + jest-runner: 27.5.1 + jest-util: 27.5.1 + jest-validate: 27.5.1 + micromatch: 4.0.5 + parse-json: 5.2.0 + pretty-format: 27.5.1 + slash: 3.0.0 + strip-json-comments: 3.1.1 + ts-node: 10.9.1_j777nnsruz44drbtesvg2fqc7y + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - utf-8-validate + dev: true + /jest-config/28.1.3_@types+node@16.11.59: resolution: {integrity: sha512-MG3INjByJ0J4AsNBm7T3hsuxKQqFIiRo/AUqb1q9LRKI5UU6Aar9JHbr9Ivn1TVwfUD9KirRoM/T6u8XlcQPHQ==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} @@ -9393,7 +9604,6 @@ packages: diff-sequences: 29.4.2 jest-get-type: 29.4.2 pretty-format: 29.4.2 - dev: true /jest-docblock/27.5.1: resolution: {integrity: sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==} @@ -9511,7 +9721,6 @@ packages: /jest-get-type/29.4.2: resolution: {integrity: sha512-vERN30V5i2N6lqlFu4ljdTqQAgrkTFMC9xaIIfOPYBw04pufjXRty5RuXBiB1d72tGbURa/UgoiHB90ruOSivg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true /jest-haste-map/27.5.1: resolution: {integrity: sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==} @@ -9644,7 +9853,6 @@ packages: jest-diff: 29.4.2 jest-get-type: 29.4.2 pretty-format: 29.4.2 - dev: true /jest-message-util/27.5.1: resolution: {integrity: sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==} @@ -9687,7 +9895,6 @@ packages: pretty-format: 29.4.2 slash: 3.0.0 stack-utils: 2.0.6 - dev: true /jest-mock/27.5.1: resolution: {integrity: sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==} @@ -10146,7 +10353,6 @@ packages: ci-info: 3.8.0 graceful-fs: 4.2.10 picomatch: 2.3.1 - dev: true /jest-validate/27.5.1: resolution: {integrity: sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==} @@ -10292,6 +10498,27 @@ packages: - ts-node - utf-8-validate + /jest/27.5.1_ts-node@10.9.1: + resolution: {integrity: sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + '@jest/core': 27.5.1_ts-node@10.9.1 + import-local: 3.1.0 + jest-cli: 27.5.1_ts-node@10.9.1 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - ts-node + - utf-8-validate + dev: true + /jest/28.1.0_@types+node@16.11.59: resolution: {integrity: sha512-TZR+tHxopPhzw3c3560IJXZWLNHgpcz1Zh0w5A65vynLGNcg/5pZ+VildAd7+XGOu6jd58XMY/HNn0IkZIXVXg==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} @@ -10357,7 +10584,6 @@ packages: hasBin: true dependencies: argparse: 2.0.1 - dev: false /jsbn/0.1.1: resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==} @@ -11129,6 +11355,14 @@ packages: /minimist/1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + /mitt/3.0.0: + resolution: {integrity: sha512-7dX2/10ITVyqh4aOSVI9gdape+t9l2/8QxHrFmUXu4EEUpdlxl6RudZUPZoc+zuY2hk1j7XxVroIVIan/pD/SQ==} + dev: true + + /mkdirp-classic/0.5.3: + resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} + dev: true + /mkdirp/0.5.6: resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} hasBin: true @@ -11424,6 +11658,18 @@ packages: engines: {node: '>=10.5.0'} dev: true + /node-fetch/2.6.7: + resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + dependencies: + whatwg-url: 5.0.0 + dev: true + /node-fetch/2.6.9: resolution: {integrity: sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==} engines: {node: 4.x || >=6.0.0} @@ -11928,6 +12174,10 @@ packages: asn1.js: 5.4.1 dev: true + /pend/1.2.0: + resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} + dev: true + /performance-now/2.1.0: resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==} @@ -12792,7 +13042,6 @@ packages: '@jest/schemas': 29.4.2 ansi-styles: 5.2.0 react-is: 18.2.0 - dev: true /private-ip/2.3.4: resolution: {integrity: sha512-ts/YFVwfBeLq61f9+KsOhXW6RH0wvY0gU50R6QZYzgFhggyyLK6WDFeYdjfi/HMnBm2hecLvsR3PB3JcRxDk+A==} @@ -12822,6 +13071,11 @@ packages: engines: {node: '>= 0.6.0'} dev: false + /progress/2.0.3: + resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} + engines: {node: '>=0.4.0'} + dev: true + /promise-timeout/1.3.0: resolution: {integrity: sha512-5yANTE0tmi5++POym6OgtFmwfDvOXABD9oj/jLQr5GPEyuNEb7jH4wbbANJceJid49jwhi1RddxnhnEAb/doqg==} dev: true @@ -12909,13 +13163,69 @@ packages: ipaddr.js: 1.9.1 dev: false + /proxy-from-env/1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + dev: true + /psl/1.9.0: resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} + /pump/3.0.0: + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + dev: true + /punycode/2.3.0: resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} engines: {node: '>=6'} + /puppeteer-core/19.7.2: + resolution: {integrity: sha512-PvI+fXqgP0uGJxkyZcX51bnzjFA73MODZOAv0fSD35yR7tvbqwtMV3/Y+hxQ0AMMwzxkEebP6c7po/muqxJvmQ==} + engines: {node: '>=14.1.0'} + peerDependencies: + typescript: '>= 4.7.4' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + chromium-bidi: 0.4.4_6o5gdkn34s2j2m26x63ssheuqa + cross-fetch: 3.1.5 + debug: 4.3.4 + devtools-protocol: 0.0.1094867 + extract-zip: 2.0.1 + https-proxy-agent: 5.0.1 + proxy-from-env: 1.1.0 + rimraf: 3.0.2 + tar-fs: 2.1.1 + unbzip2-stream: 1.4.3 + ws: 8.11.0 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - utf-8-validate + dev: true + + /puppeteer/19.7.2: + resolution: {integrity: sha512-4Lm7Qpe/LU95Svirei/jDLDvR5oMrl9BPGd7HMY5+Q28n+BhvKuW97gKkR+1LlI86bO8J3g8rG/Ll5kv9J1nlQ==} + engines: {node: '>=14.1.0'} + requiresBuild: true + dependencies: + cosmiconfig: 8.0.0 + https-proxy-agent: 5.0.1 + progress: 2.0.3 + proxy-from-env: 1.1.0 + puppeteer-core: 19.7.2 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - typescript + - utf-8-validate + dev: true + /q/1.5.1: resolution: {integrity: sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==} engines: {node: '>=0.6.0', teleport: '>=0.2.0'} @@ -14207,6 +14517,15 @@ packages: engines: {node: '>=6'} dev: false + /tar-fs/2.1.1: + resolution: {integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==} + dependencies: + chownr: 1.1.4 + mkdirp-classic: 0.5.3 + pump: 3.0.0 + tar-stream: 2.2.0 + dev: true + /tar-stream/2.2.0: resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} engines: {node: '>=6'} @@ -14300,6 +14619,10 @@ packages: /throat/6.0.2: resolution: {integrity: sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==} + /through/2.3.8: + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + dev: true + /thunky/1.1.0: resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==} dev: false @@ -14390,7 +14713,40 @@ packages: resolution: {integrity: sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==} dev: false - /ts-jest/27.1.5_2g5e7lwqsvuxdxojhdo55sfvve: + /ts-jest/27.1.5_cnngzrja2umb46xxazlucyx2qu: + resolution: {integrity: sha512-Xv6jBQPoBEvBq/5i2TeSG9tt/nqkbpcurrEG1b+2yfBrcJelOZF9Ml6dmyMh7bcW9JyFbRYpR5rxROSlBLTZHA==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + hasBin: true + peerDependencies: + '@babel/core': '>=7.0.0-beta.0 <8' + '@types/jest': ^27.0.0 + babel-jest: '>=27.0.0 <28' + esbuild: '*' + jest: ^27.0.0 + typescript: '>=3.8 <5.0' + peerDependenciesMeta: + '@babel/core': + optional: true + '@types/jest': + optional: true + babel-jest: + optional: true + esbuild: + optional: true + dependencies: + bs-logger: 0.2.6 + fast-json-stable-stringify: 2.1.0 + jest: 27.5.1 + jest-util: 27.5.1 + json5: 2.2.3 + lodash.memoize: 4.1.2 + make-error: 1.3.6 + semver: 7.3.8 + typescript: 4.9.5 + yargs-parser: 20.2.9 + dev: true + + /ts-jest/27.1.5_ddylxr3wxksmlyjpihqkkowegi: resolution: {integrity: sha512-Xv6jBQPoBEvBq/5i2TeSG9tt/nqkbpcurrEG1b+2yfBrcJelOZF9Ml6dmyMh7bcW9JyFbRYpR5rxROSlBLTZHA==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} hasBin: true @@ -14421,7 +14777,7 @@ packages: lodash.memoize: 4.1.2 make-error: 1.3.6 semver: 7.3.8 - typescript: 4.7.4 + typescript: 4.9.5 yargs-parser: 20.2.9 dev: true @@ -14448,7 +14804,7 @@ packages: dependencies: bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 - jest: 27.5.1 + jest: 27.5.1_ts-node@10.9.1 jest-util: 27.5.1 json5: 2.2.3 lodash.memoize: 4.1.2 @@ -14458,7 +14814,7 @@ packages: yargs-parser: 20.2.9 dev: true - /ts-jest/28.0.2_byf75w6xilfwy3ncjzlldwxox4: + /ts-jest/28.0.2_m4pn7vsromlf5ffrouypoapnnq: resolution: {integrity: sha512-IOZMb3D0gx6IHO9ywPgiQxJ3Zl4ECylEFwoVpENB55aTn5sdO0Ptyx/7noNBxAaUff708RqQL4XBNxxOVjY0vQ==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} hasBin: true @@ -14489,11 +14845,11 @@ packages: lodash.memoize: 4.1.2 make-error: 1.3.6 semver: 7.3.8 - typescript: 4.7.4 + typescript: 4.9.5 yargs-parser: 20.2.9 dev: true - /ts-jest/29.0.0-next.1_knhdxpg4pvwuf6vrybjt5d2q5i: + /ts-jest/29.0.0-next.1_ecv55cdbauq6znr7ci2lzguwra: resolution: {integrity: sha512-bVo2GDuJiV+cWEYB72tdz2Ips4JDKa04bcKikPULxxUHT4fsoY1zB2zvsrJym18qrFpXyVrIdgJFLfEx2YTkbg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -14523,7 +14879,7 @@ packages: lodash.memoize: 4.1.2 make-error: 1.3.6 semver: 7.3.8 - typescript: 4.7.4 + typescript: 4.9.5 yargs-parser: 21.1.1 dev: true @@ -14561,7 +14917,7 @@ packages: /ts-pattern/3.3.3: resolution: {integrity: sha512-Z5EFi6g6wyX3uDFHqxF5W5c5h663oZg9O6aOiAT7fqNu0HPSfCxtHzrQ7SblTy738Mrg2Ezorky8H5aUOm8Pvg==} - /tsconfck/2.0.2_typescript@4.7.4: + /tsconfck/2.0.2_typescript@4.9.5: resolution: {integrity: sha512-H3DWlwKpow+GpVLm/2cpmok72pwRr1YFROV3YzAmvzfGFiC1zEM/mc9b7+1XnrxuXtEbhJ7xUSIqjPFbedp7aQ==} engines: {node: ^14.13.1 || ^16 || >=18, pnpm: ^7.18.0} hasBin: true @@ -14571,7 +14927,7 @@ packages: typescript: optional: true dependencies: - typescript: 4.7.4 + typescript: 4.9.5 dev: true /tsconfig-paths/3.14.1: @@ -14715,6 +15071,13 @@ packages: has-symbols: 1.0.3 which-boxed-primitive: 1.0.2 + /unbzip2-stream/1.4.3: + resolution: {integrity: sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==} + dependencies: + buffer: 5.7.1 + through: 2.3.8 + dev: true + /undici/5.18.0: resolution: {integrity: sha512-1iVwbhonhFytNdg0P4PqyIAXbdlVZVebtPDvuM36m66mRw4OGrCm2MYynJv/UENFLdP13J1nPVQzVE2zTs1OeA==} engines: {node: '>=12.18'} @@ -14898,14 +15261,14 @@ packages: vite: 4.0.4_@types+node@16.11.59 dev: true - /vite-tsconfig-paths/4.0.3_trrwuuiz4f5khno7hdf3cjz2ky: + /vite-tsconfig-paths/4.0.3_egung5nfepmolqa7uavvqho3gq: resolution: {integrity: sha512-gRO2Q/tOkV+9kMht5tz90+IaEKvW2zCnvwJV3tp2ruPNZOTM5rF+yXorJT4ggmAMYEaJ3nyXjx5P5jY5FwiZ+A==} peerDependencies: vite: '>2.0.0-0' dependencies: debug: 4.3.4 globrex: 0.1.2 - tsconfck: 2.0.2_typescript@4.7.4 + tsconfck: 2.0.2_typescript@4.9.5 vite: 4.0.4_@types+node@16.11.59 transitivePeerDependencies: - supports-color @@ -15454,6 +15817,19 @@ packages: utf-8-validate: optional: true + /ws/8.11.0: + resolution: {integrity: sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + dev: true + /ws/8.12.0: resolution: {integrity: sha512-kU62emKIdKVeEIOIKVegvqpXMSTAMLJozpHZaJNDYqBjzlSYXQGviYwN1osDLJ9av68qHd4a2oSjd7yD4pacig==} engines: {node: '>=10.0.0'} @@ -15548,6 +15924,13 @@ packages: yargs-parser: 21.1.1 dev: true + /yauzl/2.10.0: + resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} + dependencies: + buffer-crc32: 0.2.13 + fd-slicer: 1.1.0 + dev: true + /yn/3.1.1: resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} engines: {node: '>=6'} From 1b15925c8eb1aa9ffd0eb8eb31264b9210380d1b Mon Sep 17 00:00:00 2001 From: Pavel Murygin Date: Fri, 3 Mar 2023 19:23:36 +0400 Subject: [PATCH 02/11] fixes --- packages/@tests/smoke/node/tsconfig.json | 2 +- packages/@tests/smoke/web/tsconfig.json | 7 +++++++ packages/core/js-peer/tsconfig.json | 3 +-- 3 files changed, 9 insertions(+), 3 deletions(-) create mode 100644 packages/@tests/smoke/web/tsconfig.json diff --git a/packages/@tests/smoke/node/tsconfig.json b/packages/@tests/smoke/node/tsconfig.json index 8c892f213..32d340ac6 100644 --- a/packages/@tests/smoke/node/tsconfig.json +++ b/packages/@tests/smoke/node/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../../tsconfig.json", + "extends": "../../../../tsconfig.json", "compilerOptions": { "outDir": "./dist" }, diff --git a/packages/@tests/smoke/web/tsconfig.json b/packages/@tests/smoke/web/tsconfig.json new file mode 100644 index 000000000..32d340ac6 --- /dev/null +++ b/packages/@tests/smoke/web/tsconfig.json @@ -0,0 +1,7 @@ +{ + "extends": "../../../../tsconfig.json", + "compilerOptions": { + "outDir": "./dist" + }, + "exclude": ["node_modules", "dist"] +} diff --git a/packages/core/js-peer/tsconfig.json b/packages/core/js-peer/tsconfig.json index 8c5f23b0e..d9ea46454 100644 --- a/packages/core/js-peer/tsconfig.json +++ b/packages/core/js-peer/tsconfig.json @@ -1,8 +1,7 @@ { "extends": "../../../tsconfig.json", "compilerOptions": { - "outDir": "./dist", - "moduleResolution": "nodenext" + "outDir": "./dist" }, "include": ["src/**/*"], "exclude": ["node_modules", "dist"], From 39868419205b0395fc7822de0c1d148001a83a79 Mon Sep 17 00:00:00 2001 From: Pavel Murygin Date: Fri, 3 Mar 2023 19:49:55 +0400 Subject: [PATCH 03/11] fixes --- packages/@tests/smoke/web/package.json | 4 ++- packages/@tests/smoke/web/public/index.html | 10 +++++--- packages/@tests/smoke/web/public/index.js | 28 +++++++++++++-------- packages/@tests/smoke/web/src/index.ts | 21 +++++++++------- 4 files changed, 40 insertions(+), 23 deletions(-) diff --git a/packages/@tests/smoke/web/package.json b/packages/@tests/smoke/web/package.json index 5e02ab483..9e5654af5 100644 --- a/packages/@tests/smoke/web/package.json +++ b/packages/@tests/smoke/web/package.json @@ -10,7 +10,9 @@ }, "type": "module", "scripts": { - "test": "node --loader ts-node/esm ./src/index.ts" + "build": "tsc", + "test": "node --loader ts-node/esm ./src/index.ts", + "serve": "http-server public" }, "repository": "https://github.com/fluencelabs/fluence-js", "author": "Fluence Labs", diff --git a/packages/@tests/smoke/web/public/index.html b/packages/@tests/smoke/web/public/index.html index 984425f7d..b51571abf 100644 --- a/packages/@tests/smoke/web/public/index.html +++ b/packages/@tests/smoke/web/public/index.html @@ -6,14 +6,18 @@ Smoke test for web - - -

Open console f12

+ + + +
+ + +
diff --git a/packages/@tests/smoke/web/public/index.js b/packages/@tests/smoke/web/public/index.js index 888602f18..f69e37b33 100644 --- a/packages/@tests/smoke/web/public/index.js +++ b/packages/@tests/smoke/web/public/index.js @@ -1,11 +1,11 @@ const fluence = globalThis.fluence; const relay = { - multiaddr: '/ip4/127.0.0.1/tcp/4310/ws/p2p/12D3KooWKEprYXUXqoV5xSBeyqrWLpQLLH4PXfvVkDJtmcqmh5V3', - peerId: '12D3KooWKEprYXUXqoV5xSBeyqrWLpQLLH4PXfvVkDJtmcqmh5V3', + multiaddr: '/dns4/kras-01.fluence.dev/tcp/19001/wss/p2p/12D3KooWKnEqMfYo9zvfHmqTLpLdiHXPe4SVqUWcWHDJdFGrSmcA', + peerId: '12D3KooWKnEqMfYo9zvfHmqTLpLdiHXPe4SVqUWcWHDJdFGrSmcA', }; -const getRelayTime = (relayPeerId) => { +const getRelayTime = () => { const script = ` (xor (seq @@ -34,8 +34,7 @@ const getRelayTime = (relayPeerId) => { ) ) (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 3]) - ) - `; + )`; const def = { functionName: 'getRelayTime', @@ -51,7 +50,7 @@ const getRelayTime = (relayPeerId) => { }, }, codomain: { - tag: 'unlabeledProduct',defaultClient + tag: 'unlabeledProduct', items: [ { tag: 'scalar', @@ -74,21 +73,22 @@ const getRelayTime = (relayPeerId) => { const config = {}; const args = {}; - return fluence.callFunction({ + return fluence.callAquaFunction({ args, def, - config, script, + config, + peer: fluence.defaultClient, }); }; -window.main = async () => { +const main = async () => { console.log('starting fluence...'); await fluence.defaultClient.connect(relay); console.log('started fluence'); console.log('getting relay time...'); - const relayTime = await getRelayTime(relay.peerId); + const relayTime = await getRelayTime(); console.log('got relay time, ', res); console.log('stopping fluence...'); @@ -97,3 +97,11 @@ window.main = async () => { return relayTime; }; + +const btn = document.getElementById('btn'); + +btn.addEventListener('click', () => { + main().then((res) => { + document.getElementById('result').innerText = res; + }); +}); diff --git a/packages/@tests/smoke/web/src/index.ts b/packages/@tests/smoke/web/src/index.ts index 55e958fab..fa47b7b55 100644 --- a/packages/@tests/smoke/web/src/index.ts +++ b/packages/@tests/smoke/web/src/index.ts @@ -1,11 +1,13 @@ import puppeteer from 'puppeteer'; -import path from 'path'; +import { dirname, join } from 'path'; +import { fileURLToPath } from 'url'; -import { startCdn, startContentServer, stopCdn } from '@test/test-utils'; +import { startCdn, startContentServer, stopServer } from '@test/test-utils'; const port = 3000; const uri = `http://localhost:${port}/`; -const publicPath = path.join(__dirname, '../public/'); +const __dirname = dirname(fileURLToPath(import.meta.url)); +const publicPath = join(__dirname, '../public/'); const test = async () => { const cdn = startCdn(); @@ -19,13 +21,14 @@ const test = async () => { await page.goto(uri); console.log('Running smoke test function...'); - const result = await page.evaluate(() => { - // @ts-ignore - return window.main(); - }); + // const result = await page.evaluate('window.main()'); + const result = await page.evaluate('globalThis.main()'); - cdn.close(); - localServer.close(); + console.log('received result: ', result); + + await browser.close(); + // stopServer(cdn); + // stopServer(localServer); if (!result) { throw new Error('Smoke test failed!'); From dec2aaad45dd7efc4c4763088a121139edaef145 Mon Sep 17 00:00:00 2001 From: Pavel Murygin Date: Mon, 6 Mar 2023 19:50:22 +0400 Subject: [PATCH 04/11] Better code for CRA test --- packages/@tests/aqua/src/index.ts | 9 ++- packages/@tests/smoke/web-cra-ts/src/App.tsx | 58 +++++++++++++------ .../@tests/smoke/web-cra-ts/src/index.tsx | 3 - 3 files changed, 47 insertions(+), 23 deletions(-) diff --git a/packages/@tests/aqua/src/index.ts b/packages/@tests/aqua/src/index.ts index 7ae3447fb..0976fbe30 100644 --- a/packages/@tests/aqua/src/index.ts +++ b/packages/@tests/aqua/src/index.ts @@ -3,6 +3,7 @@ import { Fluence } from '@fluencelabs/js-client.api'; import { kras, randomKras } from '@fluencelabs/fluence-network-environment'; import { registerHelloWorld, smokeTest } from './_aqua/smoke_test.js'; +// Relay running on local machine // const relay = { // multiaddr: '/ip4/127.0.0.1/tcp/4310/ws/p2p/12D3KooWKEprYXUXqoV5xSBeyqrWLpQLLH4PXfvVkDJtmcqmh5V3', // peerId: '12D3KooWKEprYXUXqoV5xSBeyqrWLpQLLH4PXfvVkDJtmcqmh5V3', @@ -27,7 +28,9 @@ const optsWithRandomKeyPair = () => { } as const; }; -export const main = async () => { +export type TestResult = { res: string | null; errors: string[]; hello: string }; + +export const runTest = async (): Promise => { try { Fluence.onConnectionStateChange((state) => console.info('connection state changed: ', state)); @@ -58,6 +61,8 @@ export const main = async () => { } else { console.log('aqua finished, result', res); } + + return { res, errors, hello }; } finally { console.log('disconnecting from Fluence Network...'); await Fluence.disconnect(); @@ -66,7 +71,7 @@ export const main = async () => { }; export const runMain = () => { - main() + runTest() .then(() => console.log('done!')) .catch((err) => console.error('error: ', err)); }; diff --git a/packages/@tests/smoke/web-cra-ts/src/App.tsx b/packages/@tests/smoke/web-cra-ts/src/App.tsx index a53698aab..2bdd3ca8e 100644 --- a/packages/@tests/smoke/web-cra-ts/src/App.tsx +++ b/packages/@tests/smoke/web-cra-ts/src/App.tsx @@ -1,26 +1,48 @@ +import { runTest } from '@test/aqua_for_test'; import React from 'react'; import logo from './logo.svg'; import './App.css'; function App() { - return ( -
-
- logo -

- Edit src/App.tsx and save to reload. -

- - Learn React - -
-
- ); + const [result, setResult] = React.useState(''); + const [error, setError] = React.useState(''); + + const onButtonClick = () => { + runTest() + .then((res) => { + if (res.errors.length === 0) { + setResult(JSON.stringify(res)); + setError(''); + } else { + setResult(''); + setError(res.errors.toString()); + } + }) + .catch((err) => { + setResult(''); + setError(err.toString()); + }); + }; + + return ( +
+
+ logo +

+ Edit src/App.tsx and save to reload. +

+ + +
{result}
+
{error}
+ + Learn React + +
+
+ ); } export default App; diff --git a/packages/@tests/smoke/web-cra-ts/src/index.tsx b/packages/@tests/smoke/web-cra-ts/src/index.tsx index 84ed4ce1c..bff925e58 100644 --- a/packages/@tests/smoke/web-cra-ts/src/index.tsx +++ b/packages/@tests/smoke/web-cra-ts/src/index.tsx @@ -3,7 +3,6 @@ import ReactDOM from 'react-dom/client'; import './index.css'; import App from './App'; import reportWebVitals from './reportWebVitals'; -import { runMain } from '@test/aqua_for_test'; const root = ReactDOM.createRoot(document.getElementById('root') as HTMLElement); root.render( @@ -16,5 +15,3 @@ root.render( // to log results (for example: reportWebVitals(console.log)) // or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals reportWebVitals(); - -runMain(); From 5fee06d17ef5fcbd0697661489348581fe6b6295 Mon Sep 17 00:00:00 2001 From: Pavel Murygin Date: Mon, 6 Mar 2023 22:10:40 +0400 Subject: [PATCH 05/11] Kinda works with cra --- package.json | 1 + packages/@tests/smoke/web-cra-ts/package.json | 6 +- packages/@tests/smoke/web-cra-ts/src/App.tsx | 12 +-- .../@tests/smoke/web-cra-ts/test/index.ts | 47 ++++++++++ .../@tests/smoke/web-cra-ts/tsconfig.json | 42 ++++----- packages/@tests/smoke/web/package.json | 2 - packages/@tests/test-utils/package.json | 4 +- packages/@tests/test-utils/src/index.ts | 20 +++- pnpm-lock.yaml | 92 ++++++++++++++++--- 9 files changed, 174 insertions(+), 52 deletions(-) create mode 100644 packages/@tests/smoke/web-cra-ts/test/index.ts diff --git a/package.json b/package.json index 6f03aa8b8..38f96612b 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "license": "Apache-2.0", "devDependencies": { "http-server": "14.1.1", + "puppeteer": "19.7.2", "@types/node": "18.13.0", "ts-node": "10.9.1", "typescript": "4.7", diff --git a/packages/@tests/smoke/web-cra-ts/package.json b/packages/@tests/smoke/web-cra-ts/package.json index 455abc766..0b44c83bd 100644 --- a/packages/@tests/smoke/web-cra-ts/package.json +++ b/packages/@tests/smoke/web-cra-ts/package.json @@ -2,6 +2,7 @@ "name": "cra-ts", "version": "0.1.0", "private": true, + "type": "module", "dependencies": { "@fluencelabs/js-client.api": "workspace:^", "@test/aqua_for_test": "workspace:^", @@ -18,8 +19,11 @@ "typescript": "4.9.5", "web-vitals": "2.1.4" }, - "devDependencies": {}, + "devDependencies": { + "@test/test-utils": "workspace:^" + }, "scripts": { + "test": "node --loader ts-node/esm ./test/index.ts", "start": "react-scripts start", "build": "react-scripts build", "_test": "react-scripts test", diff --git a/packages/@tests/smoke/web-cra-ts/src/App.tsx b/packages/@tests/smoke/web-cra-ts/src/App.tsx index 2bdd3ca8e..39654fb3d 100644 --- a/packages/@tests/smoke/web-cra-ts/src/App.tsx +++ b/packages/@tests/smoke/web-cra-ts/src/App.tsx @@ -4,17 +4,17 @@ import logo from './logo.svg'; import './App.css'; function App() { - const [result, setResult] = React.useState(''); - const [error, setError] = React.useState(''); + const [result, setResult] = React.useState(null); + const [error, setError] = React.useState(null); const onButtonClick = () => { runTest() .then((res) => { if (res.errors.length === 0) { setResult(JSON.stringify(res)); - setError(''); + setError(null); } else { - setResult(''); + setResult(null); setError(res.errors.toString()); } }) @@ -35,8 +35,8 @@ function App() { Click to run test -
{result}
-
{error}
+ {result &&
{result}
} + {error &&
{error}
} Learn React diff --git a/packages/@tests/smoke/web-cra-ts/test/index.ts b/packages/@tests/smoke/web-cra-ts/test/index.ts new file mode 100644 index 000000000..45b834382 --- /dev/null +++ b/packages/@tests/smoke/web-cra-ts/test/index.ts @@ -0,0 +1,47 @@ +import puppeteer from 'puppeteer'; +import { dirname, join } from 'path'; +import { fileURLToPath } from 'url'; + +import { startCdn, startContentServer, stopServer } from '@test/test-utils'; + +const port = 3000; +const uri = `http://localhost:${port}/`; +const __dirname = dirname(fileURLToPath(import.meta.url)); +const publicPath = join(__dirname, '../build/'); + +const test = async () => { + const cdn = startCdn(); + const localServer = startContentServer(port, publicPath); + + console.log('starting puppeteer...'); + const browser = await puppeteer.launch(); + const page = await browser.newPage(); + + // uncomment to debug what's happening inside the browser + // page.on('console', (msg) => console.log('// from console: ', msg.text())); + + console.log('going to the page in browser...'); + await page.goto(uri); + + console.log('clicking button...'); + await page.click('#btn'); + + console.log('waiting for result to appear...'); + const elem = await page.waitForSelector('#res'); + + console.log('getting the content of result div...'); + const content = await elem?.evaluate((x) => x.textContent); + console.log('raw result: ', content); + + await browser.close(); + stopServer(cdn); + stopServer(localServer); + + if (!content) { + throw new Error('Smoke test failed!'); + } +}; + +test() + .then(() => console.log('done!')) + .catch((err) => console.error('error: ', err)); diff --git a/packages/@tests/smoke/web-cra-ts/tsconfig.json b/packages/@tests/smoke/web-cra-ts/tsconfig.json index a273b0cfc..65063b6f3 100644 --- a/packages/@tests/smoke/web-cra-ts/tsconfig.json +++ b/packages/@tests/smoke/web-cra-ts/tsconfig.json @@ -1,26 +1,20 @@ { - "compilerOptions": { - "target": "es5", - "lib": [ - "dom", - "dom.iterable", - "esnext" - ], - "allowJs": true, - "skipLibCheck": true, - "esModuleInterop": true, - "allowSyntheticDefaultImports": true, - "strict": true, - "forceConsistentCasingInFileNames": true, - "noFallthroughCasesInSwitch": true, - "module": "esnext", - "moduleResolution": "node", - "resolveJsonModule": true, - "isolatedModules": true, - "noEmit": true, - "jsx": "react-jsx" - }, - "include": [ - "src" - ] + "compilerOptions": { + "target": "es5", + "lib": ["dom", "dom.iterable", "esnext"], + "allowJs": true, + "skipLibCheck": true, + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "strict": true, + "forceConsistentCasingInFileNames": true, + "noFallthroughCasesInSwitch": true, + "module": "esnext", + "moduleResolution": "node", + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx" + }, + "include": ["src", "test"] } diff --git a/packages/@tests/smoke/web/package.json b/packages/@tests/smoke/web/package.json index 9e5654af5..8fa2993c8 100644 --- a/packages/@tests/smoke/web/package.json +++ b/packages/@tests/smoke/web/package.json @@ -22,7 +22,5 @@ "@test/test-utils": "workspace:^" }, "devDependencies": { - "http-server": "14.1.1", - "puppeteer": "19.7.2" } } diff --git a/packages/@tests/test-utils/package.json b/packages/@tests/test-utils/package.json index 98d394939..a92376f55 100644 --- a/packages/@tests/test-utils/package.json +++ b/packages/@tests/test-utils/package.json @@ -18,9 +18,9 @@ "dependencies": { "@fluencelabs/js-client.api": "workspace:^", "@fluencelabs/js-client.node": "workspace:^", - "express": "4.18.2" + "serve-handler": "6.1.5" }, "devDependencies": { - "@types/express": "4.17.17" + "@types/serve-handler": "6.1.1" } } diff --git a/packages/@tests/test-utils/src/index.ts b/packages/@tests/test-utils/src/index.ts index 23e95447a..46faa4543 100644 --- a/packages/@tests/test-utils/src/index.ts +++ b/packages/@tests/test-utils/src/index.ts @@ -1,17 +1,27 @@ -import express from 'express'; +import handler from 'serve-handler'; +import { createServer } from 'http'; import type { Server } from 'http'; +import { dirname, join } from 'path'; +import { fileURLToPath } from 'url'; + +const __dirname = dirname(fileURLToPath(import.meta.url)); + const CDN_PORT = 8765; -const CDN_PUBLIC_PATH = '../../packages/client/js-client.web.standalone/dist'; +const CDN_PUBLIC_PATH = join(__dirname, '../../../client/js-client.web.standalone/dist/'); export const startCdn = () => startContentServer(CDN_PORT, CDN_PUBLIC_PATH); export const startContentServer = (port: number, publicDir: string): Server => { - const app = express(); + const server = createServer((request, response) => { + return handler(request, response, { + public: publicDir, + }); + }); - app.use(express.static(publicDir)); + console.log(publicDir); - return app.listen(port, () => { + return server.listen(port, () => { console.log(`Server started on port ${port}`); }); }; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7969f6d28..93232ba1d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,6 +8,7 @@ importers: '@fluencelabs/aqua-lib': 0.6.0 '@types/node': 18.13.0 http-server: 14.1.1 + puppeteer: 19.7.2 ts-node: 10.9.1 typescript: '4.7' devDependencies: @@ -15,6 +16,7 @@ importers: '@fluencelabs/aqua-lib': 0.6.0 '@types/node': 18.13.0 http-server: 14.1.1 + puppeteer: 19.7.2_typescript@4.7.4 ts-node: 10.9.1_j777nnsruz44drbtesvg2fqc7y typescript: 4.7.4 @@ -47,19 +49,15 @@ importers: specifiers: '@fluencelabs/js-client.web.standalone': workspace:^ '@test/test-utils': workspace:^ - http-server: 14.1.1 - puppeteer: 19.7.2 dependencies: '@fluencelabs/js-client.web.standalone': link:../../../client/js-client.web.standalone '@test/test-utils': link:../../test-utils - devDependencies: - http-server: 14.1.1 - puppeteer: 19.7.2 packages/@tests/smoke/web-cra-ts: specifiers: '@fluencelabs/js-client.api': workspace:^ '@test/aqua_for_test': workspace:^ + '@test/test-utils': workspace:^ '@testing-library/jest-dom': 5.16.5 '@testing-library/react': 13.4.0 '@testing-library/user-event': 13.5.0 @@ -87,19 +85,21 @@ importers: react-scripts: 5.0.1_72im5qx3m2npzev2b5222y6sne typescript: 4.9.5 web-vitals: 2.1.4 + devDependencies: + '@test/test-utils': link:../../test-utils packages/@tests/test-utils: specifiers: '@fluencelabs/js-client.api': workspace:^ '@fluencelabs/js-client.node': workspace:^ - '@types/express': 4.17.17 - express: 4.18.2 + '@types/serve-handler': 6.1.1 + serve-handler: 6.1.5 dependencies: '@fluencelabs/js-client.api': link:../../client/api '@fluencelabs/js-client.node': link:../../client/js-client.node - express: 4.18.2 + serve-handler: 6.1.5 devDependencies: - '@types/express': 4.17.17 + '@types/serve-handler': 6.1.1 packages/client/api: specifiers: @@ -4185,6 +4185,7 @@ packages: dependencies: '@types/connect': 3.4.35 '@types/node': 18.13.0 + dev: false /@types/bonjour/3.5.10: resolution: {integrity: sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==} @@ -4209,6 +4210,7 @@ packages: resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} dependencies: '@types/node': 18.13.0 + dev: false /@types/eslint-scope/3.7.4: resolution: {integrity: sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==} @@ -4240,6 +4242,7 @@ packages: '@types/node': 18.13.0 '@types/qs': 6.9.7 '@types/range-parser': 1.2.4 + dev: false /@types/express/4.17.17: resolution: {integrity: sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==} @@ -4248,6 +4251,7 @@ packages: '@types/express-serve-static-core': 4.17.33 '@types/qs': 6.9.7 '@types/serve-static': 1.15.0 + dev: false /@types/graceful-fs/4.1.6: resolution: {integrity: sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==} @@ -4311,6 +4315,7 @@ packages: /@types/mime/3.0.1: resolution: {integrity: sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==} + dev: false /@types/minimatch/3.0.5: resolution: {integrity: sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==} @@ -4347,9 +4352,11 @@ packages: /@types/qs/6.9.7: resolution: {integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==} + dev: false /@types/range-parser/1.2.4: resolution: {integrity: sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==} + dev: false /@types/react-dom/18.0.10: resolution: {integrity: sha512-E42GW/JA4Qv15wQdqJq8DL4JhNpB3prJgjgapN3qJT9K2zO5IIAQh4VXvCEDupoqAwnz0cY4RlXeC/ajX5SFHg==} @@ -4385,6 +4392,12 @@ packages: resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==} dev: false + /@types/serve-handler/6.1.1: + resolution: {integrity: sha512-bIwSmD+OV8w0t2e7EWsuQYlGoS1o5aEdVktgkXaa43Zm0qVWi21xaSRb3DQA1UXD+DJ5bRq1Rgu14ZczB+CjIQ==} + dependencies: + '@types/node': 18.13.0 + dev: true + /@types/serve-index/1.9.1: resolution: {integrity: sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==} dependencies: @@ -4396,6 +4409,7 @@ packages: dependencies: '@types/mime': 3.0.1 '@types/node': 18.13.0 + dev: false /@types/sockjs/0.3.33: resolution: {integrity: sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==} @@ -5926,6 +5940,11 @@ packages: engines: {node: '>=0.8'} dev: false + /content-disposition/0.5.2: + resolution: {integrity: sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==} + engines: {node: '>= 0.6'} + dev: false + /content-disposition/0.5.4: resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} engines: {node: '>= 0.6'} @@ -7419,6 +7438,12 @@ packages: /fast-levenshtein/2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + /fast-url-parser/1.1.3: + resolution: {integrity: sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==} + dependencies: + punycode: 1.4.1 + dev: false + /fastq/1.15.0: resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} dependencies: @@ -11300,10 +11325,22 @@ packages: braces: 3.0.2 picomatch: 2.3.1 + /mime-db/1.33.0: + resolution: {integrity: sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==} + engines: {node: '>= 0.6'} + dev: false + /mime-db/1.52.0: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} engines: {node: '>= 0.6'} + /mime-types/2.1.18: + resolution: {integrity: sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==} + engines: {node: '>= 0.6'} + dependencies: + mime-db: 1.33.0 + dev: false + /mime-types/2.1.35: resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} engines: {node: '>= 0.6'} @@ -12127,6 +12164,10 @@ packages: resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} engines: {node: '>=0.10.0'} + /path-is-inside/1.0.2: + resolution: {integrity: sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==} + dev: false + /path-key/3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} @@ -12138,6 +12179,10 @@ packages: resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} dev: false + /path-to-regexp/2.2.1: + resolution: {integrity: sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==} + dev: false + /path-type/4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} @@ -13177,11 +13222,15 @@ packages: once: 1.4.0 dev: true + /punycode/1.4.1: + resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==} + dev: false + /punycode/2.3.0: resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} engines: {node: '>=6'} - /puppeteer-core/19.7.2: + /puppeteer-core/19.7.2_typescript@4.7.4: resolution: {integrity: sha512-PvI+fXqgP0uGJxkyZcX51bnzjFA73MODZOAv0fSD35yR7tvbqwtMV3/Y+hxQ0AMMwzxkEebP6c7po/muqxJvmQ==} engines: {node: '>=14.1.0'} peerDependencies: @@ -13199,6 +13248,7 @@ packages: proxy-from-env: 1.1.0 rimraf: 3.0.2 tar-fs: 2.1.1 + typescript: 4.7.4 unbzip2-stream: 1.4.3 ws: 8.11.0 transitivePeerDependencies: @@ -13208,7 +13258,7 @@ packages: - utf-8-validate dev: true - /puppeteer/19.7.2: + /puppeteer/19.7.2_typescript@4.7.4: resolution: {integrity: sha512-4Lm7Qpe/LU95Svirei/jDLDvR5oMrl9BPGd7HMY5+Q28n+BhvKuW97gKkR+1LlI86bO8J3g8rG/Ll5kv9J1nlQ==} engines: {node: '>=14.1.0'} requiresBuild: true @@ -13217,7 +13267,7 @@ packages: https-proxy-agent: 5.0.1 progress: 2.0.3 proxy-from-env: 1.1.0 - puppeteer-core: 19.7.2 + puppeteer-core: 19.7.2_typescript@4.7.4 transitivePeerDependencies: - bufferutil - encoding @@ -13271,6 +13321,11 @@ packages: randombytes: 2.1.0 safe-buffer: 5.2.1 + /range-parser/1.2.0: + resolution: {integrity: sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==} + engines: {node: '>= 0.6'} + dev: false + /range-parser/1.2.1: resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} engines: {node: '>= 0.6'} @@ -14021,6 +14076,19 @@ packages: randombytes: 2.1.0 dev: false + /serve-handler/6.1.5: + resolution: {integrity: sha512-ijPFle6Hwe8zfmBxJdE+5fta53fdIY0lHISJvuikXB3VYFafRjMRpOffSPvCYsbKyBA7pvy9oYr/BT1O3EArlg==} + dependencies: + bytes: 3.0.0 + content-disposition: 0.5.2 + fast-url-parser: 1.1.3 + mime-types: 2.1.18 + minimatch: 3.1.2 + path-is-inside: 1.0.2 + path-to-regexp: 2.2.1 + range-parser: 1.2.0 + dev: false + /serve-index/1.9.1: resolution: {integrity: sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==} engines: {node: '>= 0.8.0'} From eadb9cab692f133f59d2e5905ab3b7522c30163e Mon Sep 17 00:00:00 2001 From: Pavel Murygin Date: Mon, 6 Mar 2023 22:32:12 +0400 Subject: [PATCH 06/11] seems to work in plain js test --- packages/@tests/smoke/web/public/index.html | 2 +- packages/@tests/smoke/web/public/index.js | 9 ++++++--- packages/@tests/smoke/web/src/index.ts | 21 ++++++++++++++------- 3 files changed, 21 insertions(+), 11 deletions(-) diff --git a/packages/@tests/smoke/web/public/index.html b/packages/@tests/smoke/web/public/index.html index b51571abf..8086a0f54 100644 --- a/packages/@tests/smoke/web/public/index.html +++ b/packages/@tests/smoke/web/public/index.html @@ -14,7 +14,7 @@

Open console f12

-
+
diff --git a/packages/@tests/smoke/web/public/index.js b/packages/@tests/smoke/web/public/index.js index f69e37b33..5d00b0663 100644 --- a/packages/@tests/smoke/web/public/index.js +++ b/packages/@tests/smoke/web/public/index.js @@ -72,7 +72,7 @@ const getRelayTime = () => { const config = {}; - const args = {}; + const args = { relayPeerId: relay.peerId }; return fluence.callAquaFunction({ args, def, @@ -89,7 +89,7 @@ const main = async () => { console.log('getting relay time...'); const relayTime = await getRelayTime(); - console.log('got relay time, ', res); + console.log('got relay time, ', relayTime); console.log('stopping fluence...'); await fluence.defaultClient.stop(); @@ -102,6 +102,9 @@ const btn = document.getElementById('btn'); btn.addEventListener('click', () => { main().then((res) => { - document.getElementById('result').innerText = res; + const inner = document.createElement('div'); + inner.id = 'res'; + inner.innerText = 'res'; + document.getElementById('res-placeholder').appendChild(inner); }); }); diff --git a/packages/@tests/smoke/web/src/index.ts b/packages/@tests/smoke/web/src/index.ts index fa47b7b55..618aafbed 100644 --- a/packages/@tests/smoke/web/src/index.ts +++ b/packages/@tests/smoke/web/src/index.ts @@ -17,20 +17,27 @@ const test = async () => { const browser = await puppeteer.launch(); const page = await browser.newPage(); + // uncomment to debug what's happening inside the browser + // page.on('console', (msg) => console.log('// from console: ', msg.text())); + console.log('going to the page in browser...'); await page.goto(uri); - console.log('Running smoke test function...'); - // const result = await page.evaluate('window.main()'); - const result = await page.evaluate('globalThis.main()'); + console.log('clicking button...'); + await page.click('#btn'); + + console.log('waiting for result to appear...'); + const elem = await page.waitForSelector('#res'); - console.log('received result: ', result); + console.log('getting the content of result div...'); + const content = await elem?.evaluate((x) => x.textContent); + console.log('raw result: ', content); await browser.close(); - // stopServer(cdn); - // stopServer(localServer); + stopServer(cdn); + stopServer(localServer); - if (!result) { + if (!content) { throw new Error('Smoke test failed!'); } }; From 51b154a1fc6d41e1896d2f3deccc6c472fe25ab1 Mon Sep 17 00:00:00 2001 From: Pavel Murygin Date: Tue, 7 Mar 2023 13:57:08 +0400 Subject: [PATCH 07/11] Fix failing tests --- .../@tests/smoke/web-cra-ts/public/index.html | 2 +- .../@tests/smoke/web-cra-ts/test/index.ts | 14 ++++++------- packages/@tests/smoke/web/src/index.ts | 12 +++++------ packages/@tests/test-utils/src/index.ts | 21 ++++++++++++------- 4 files changed, 25 insertions(+), 24 deletions(-) diff --git a/packages/@tests/smoke/web-cra-ts/public/index.html b/packages/@tests/smoke/web-cra-ts/public/index.html index 726ab18da..5e5194445 100644 --- a/packages/@tests/smoke/web-cra-ts/public/index.html +++ b/packages/@tests/smoke/web-cra-ts/public/index.html @@ -7,7 +7,7 @@ - +