From 97c24918d84b34e7ac58337838dc8343cbd44b19 Mon Sep 17 00:00:00 2001 From: Akim <59872966+akim-bow@users.noreply.github.com> Date: Fri, 25 Aug 2023 00:15:49 +0700 Subject: [PATCH] feat!: Unify all packages (#327) * * Separate marine worker as a package * Trying to fix tests * Finalizing test fixes * fix: rename back to Fluence CLI (#320) chore: rename back to Fluence CLI * fix(deps): update dependency @fluencelabs/avm to v0.43.1 (#322) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore: release master (#324) * chore: release master * chore: Regenerate pnpm lock file * feat: use marine-js 0.7.2 (#321) * use marine-js 0.5.0 * increace some timeouts * increace some timeouts * use latest marine + remove larger timeouts * propagate CallParameters type * use marine 0.7.2 * Temp use node 18 and 20 * Comment out node 20.x --------- Co-authored-by: Anatoly Laskaris * chore: Fix test with node 18/20 error message (#323) * Fix test with node 18/20 error message * Run tests on node 18 and 20 * Enhance description * Fix type and obj property --------- Co-authored-by: Anatoly Laskaris * * Separate marine worker as a package * Trying to fix tests * Finalizing test fixes * * Refactoring packages. * Using CDN to load .wasm deps. * Setting up tests for new architecture * Fix almost all tests * Fix last strange test * Remove package specific packages * Remove avm class as it looks excessive * marine worker new version * misc refactoring/remove console.log's * Rename package js-peer to js-client * Move service info to marine worker * Change CDN path * Fix worker race confition * Remove buffer type * Remove turned off headless mode in platform tests * Remove async keyword to make tests pass * Remove util package * Make js-client.api package just reexport interface from js-client main package * Update package info in CI * Fix review comments * Remove test entry from marine-worker package * Misc fixes * Fix worker type * Add fetchers * Specify correct versions for js-client package * Set first ver for js-client * Update libp2p and related dep versions to the latest * Build all deps into package itself * Fix review * Refine package * Fix comment * Update packages/core/js-client/src/fetchers/browser.ts * Update packages/core/js-client/src/fetchers/index.ts * Update packages/core/js-client/src/fetchers/node.ts * Update packages/core/js-client/src/jsPeer/FluencePeer.ts * Update packages/core/js-client/src/keypair/__test__/KeyPair.spec.ts * Update packages/core/js-client/src/jsPeer/FluencePeer.ts Co-authored-by: shamsartem * Delete outdated file * Need types for build to work * Inline func call * Add comments to replacement lines. P.S. we can remove some of them after update libp2p --------- Co-authored-by: shamsartem Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: fluencebot <116741523+fluencebot@users.noreply.github.com> Co-authored-by: Valery Antopol Co-authored-by: Anatoly Laskaris --- .github/release-please/config.json | 7 +- .github/release-please/manifest.json | 9 +- .github/workflows/e2e.yml | 2 +- packages/@tests/aqua/package.json | 1 + packages/@tests/aqua/src/index.ts | 4 +- packages/@tests/smoke/node/package.json | 8 +- packages/@tests/smoke/node/src/index.ts | 2 +- .../@tests/smoke/web-cra-ts/public/index.html | 3 +- .../@tests/smoke/web-cra-ts/test/index.ts | 14 +- packages/@tests/smoke/web/package.json | 4 +- packages/@tests/smoke/web/public/index.html | 4 +- packages/@tests/smoke/web/public/index.js | 4 +- packages/@tests/smoke/web/src/index.ts | 12 +- packages/@tests/test-utils/package.json | 2 - packages/@tests/test-utils/src/index.ts | 13 +- packages/client/api/README.md | 5 + packages/client/api/package.json | 11 +- packages/client/api/src/index.ts | 117 +- packages/client/js-client.node/.gitignore | 21 - packages/client/js-client.node/.npmignore | 0 packages/client/js-client.node/CHANGELOG.md | 169 - packages/client/js-client.node/README.md | 11 - packages/client/js-client.node/package.json | 34 - packages/client/js-client.node/src/index.ts | 80 - .../js-client.web.standalone/.gitignore | 1 - .../js-client.web.standalone/CHANGELOG.md | 170 - .../client/js-client.web.standalone/README.md | 11 - .../client/js-client.web.standalone/build.ts | 127 - .../js-client.web.standalone/package.json | 37 - .../js-client.web.standalone/src/index.ts | 44 - .../js-client.web.standalone/tsconfig.json | 8 - packages/client/js-client.web/.gitignore | 21 - packages/client/js-client.web/CHANGELOG.md | 69 - packages/client/js-client.web/README.md | 11 - packages/client/js-client.web/package.json | 28 - packages/client/js-client.web/src/index.ts | 50 - packages/client/js-client.web/tsconfig.json | 7 - packages/client/tools/.gitignore | 21 - packages/client/tools/.prettierignore | 1 - packages/client/tools/CHANGELOG.md | 19 - packages/client/tools/README.md | 11 - packages/client/tools/package.json | 24 - packages/client/tools/src/copyMarine.ts | 46 - packages/client/tools/tsconfig.json | 7 - .../core/{js-peer => js-client}/.gitignore | 0 .../tools => core/js-client}/.npmignore | 0 .../js-client}/.prettierignore | 0 .../core/{js-peer => js-client}/CHANGELOG.md | 0 .../tools => core/js-client}/CONTRIBUTING.md | 0 .../core/{js-peer => js-client}/README.md | 0 .../aqua/node-utils.aqua | 0 .../{js-peer => js-client}/aqua/services.aqua | 0 .../aqua/single-module-srv.aqua | 0 .../{js-peer => js-client}/aqua/tracing.aqua | 0 .../aqua_test/marine-js.aqua | 0 .../aqua_test/sigService.aqua | 0 .../{js-peer => js-client}/aqua_test/srv.aqua | 0 packages/core/js-client/build.ts | 102 + .../data_for_test/greeting-record.wasm | Bin .../data_for_test/greeting.wasm | Bin packages/core/js-client/package.json | 70 + .../js-client/src/api.ts} | 25 +- .../src/clientPeer/ClientPeer.ts | 3 +- .../src/clientPeer/__test__/client.spec.ts | 0 .../src/clientPeer/__test__/connection.ts | 0 .../src/clientPeer/checkConnection.ts | 0 .../src/compilerSupport/__test__/v3.spec.ts | 0 .../src/compilerSupport/callFunction.ts | 0 .../src/compilerSupport/conversions.ts | 0 .../src/compilerSupport/registerService.ts | 0 .../src/compilerSupport/services.ts | 0 .../src/connection/RelayConnection.ts | 6 +- .../src/connection/interfaces.ts | 0 .../src/ephemeral/__test__/ephemeral.spec.ts | 0 .../src/ephemeral/client.ts | 6 +- .../src/ephemeral/network.ts | 10 +- .../core/js-client/src/fetchers/browser.ts | 19 + packages/core/js-client/src/fetchers/index.ts | 30 + packages/core/js-client/src/fetchers/node.ts | 44 + packages/core/js-client/src/index.ts | 165 + .../src/jsPeer/FluencePeer.ts | 23 +- .../src/jsPeer/__test__/avm.spec.ts | 0 .../src/jsPeer/__test__/parseAst.spec.ts | 0 .../src/jsPeer/__test__/peer.spec.ts | 0 .../src/jsServiceHost/JsServiceHost.ts | 0 .../src/jsServiceHost/interfaces.ts | 0 .../src/jsServiceHost/serviceUtils.ts | 0 .../src/keypair/__test__/KeyPair.spec.ts | 3 +- .../src/keypair/index.ts | 4 +- .../src/marine/__test__/marine-js.spec.ts | 0 .../src/marine/deps-loader/common.ts | 0 .../src/marine/deps-loader/node.ts | 0 .../src/marine/deps-loader/web.ts | 0 .../src/marine/interfaces.ts | 9 +- .../src/marine/worker-script/workerLoader.ts | 2 +- .../src/marine/worker/index.ts | 61 +- .../src/particle/Particle.ts | 0 .../src/particle/interfaces.ts | 0 .../src/services/NodeUtils.ts | 15 +- .../src/services/Sig.ts | 0 .../src/services/SingleModuleSrv.ts | 4 +- .../src/services/Tracing.ts | 0 .../services/__test__/builtInHandler.spec.ts | 0 .../src/services/__test__/jsonBuiltin.spec.ts | 0 .../src/services/__test__/sigService.spec.ts | 0 .../src/services/__test__/srv.spec.ts | 0 .../src/services/_aqua/node-utils.ts | 0 .../src/services/_aqua/services.ts | 0 .../src/services/_aqua/single-module-srv.ts | 0 .../src/services/_aqua/tracing.ts | 0 .../src/services/builtins.ts | 0 .../src/services/securityGuard.ts | 0 .../src/util/commonTypes.ts | 0 .../src/util/libp2pUtils.ts | 0 .../js-client/src/util/loadClient.ts} | 1 + .../{js-peer => js-client}/src/util/logger.ts | 0 .../src/util/testUtils.ts | 13 +- .../{js-peer => js-client}/src/util/utils.ts | 0 .../core/{js-peer => js-client}/tsconfig.json | 6 +- packages/core/js-peer/.npmignore | 12 - packages/core/js-peer/.prettierignore | 1 - packages/core/js-peer/CONTRIBUTING.md | 13 - .../js-peer/copy-worker-script-workaround.mjs | 3 - packages/core/js-peer/package.json | 59 - packages/core/js-peer/src/jsPeer/avm.ts | 51 - packages/core/marine-worker/build.ts | 68 + packages/core/marine-worker/package.json | 51 + .../src}/index.ts | 55 +- .../marine-worker}/tsconfig.json | 3 +- pnpm-lock.yaml | 4282 ++++++++++------- 130 files changed, 3350 insertions(+), 3119 deletions(-) delete mode 100644 packages/client/js-client.node/.gitignore delete mode 100644 packages/client/js-client.node/.npmignore delete mode 100644 packages/client/js-client.node/CHANGELOG.md delete mode 100644 packages/client/js-client.node/README.md delete mode 100644 packages/client/js-client.node/package.json delete mode 100644 packages/client/js-client.node/src/index.ts delete mode 100644 packages/client/js-client.web.standalone/.gitignore delete mode 100644 packages/client/js-client.web.standalone/CHANGELOG.md delete mode 100644 packages/client/js-client.web.standalone/README.md delete mode 100644 packages/client/js-client.web.standalone/build.ts delete mode 100644 packages/client/js-client.web.standalone/package.json delete mode 100644 packages/client/js-client.web.standalone/src/index.ts delete mode 100644 packages/client/js-client.web.standalone/tsconfig.json delete mode 100644 packages/client/js-client.web/.gitignore delete mode 100644 packages/client/js-client.web/CHANGELOG.md delete mode 100644 packages/client/js-client.web/README.md delete mode 100644 packages/client/js-client.web/package.json delete mode 100644 packages/client/js-client.web/src/index.ts delete mode 100644 packages/client/js-client.web/tsconfig.json delete mode 100644 packages/client/tools/.gitignore delete mode 100644 packages/client/tools/.prettierignore delete mode 100644 packages/client/tools/CHANGELOG.md delete mode 100644 packages/client/tools/README.md delete mode 100644 packages/client/tools/package.json delete mode 100644 packages/client/tools/src/copyMarine.ts delete mode 100644 packages/client/tools/tsconfig.json rename packages/core/{js-peer => js-client}/.gitignore (100%) rename packages/{client/tools => core/js-client}/.npmignore (100%) rename packages/{client/js-client.web.standalone => core/js-client}/.prettierignore (100%) rename packages/core/{js-peer => js-client}/CHANGELOG.md (100%) rename packages/{client/tools => core/js-client}/CONTRIBUTING.md (100%) rename packages/core/{js-peer => js-client}/README.md (100%) rename packages/core/{js-peer => js-client}/aqua/node-utils.aqua (100%) rename packages/core/{js-peer => js-client}/aqua/services.aqua (100%) rename packages/core/{js-peer => js-client}/aqua/single-module-srv.aqua (100%) rename packages/core/{js-peer => js-client}/aqua/tracing.aqua (100%) rename packages/core/{js-peer => js-client}/aqua_test/marine-js.aqua (100%) rename packages/core/{js-peer => js-client}/aqua_test/sigService.aqua (100%) rename packages/core/{js-peer => js-client}/aqua_test/srv.aqua (100%) create mode 100644 packages/core/js-client/build.ts rename packages/core/{js-peer => js-client}/data_for_test/greeting-record.wasm (100%) rename packages/core/{js-peer => js-client}/data_for_test/greeting.wasm (100%) create mode 100644 packages/core/js-client/package.json rename packages/{client/api/src/compilerSupport/implementation.ts => core/js-client/src/api.ts} (91%) rename packages/core/{js-peer => js-client}/src/clientPeer/ClientPeer.ts (98%) rename packages/core/{js-peer => js-client}/src/clientPeer/__test__/client.spec.ts (100%) rename packages/core/{js-peer => js-client}/src/clientPeer/__test__/connection.ts (100%) rename packages/core/{js-peer => js-client}/src/clientPeer/checkConnection.ts (100%) rename packages/core/{js-peer => js-client}/src/compilerSupport/__test__/v3.spec.ts (100%) rename packages/core/{js-peer => js-client}/src/compilerSupport/callFunction.ts (100%) rename packages/core/{js-peer => js-client}/src/compilerSupport/conversions.ts (100%) rename packages/core/{js-peer => js-client}/src/compilerSupport/registerService.ts (100%) rename packages/core/{js-peer => js-client}/src/compilerSupport/services.ts (100%) rename packages/core/{js-peer => js-client}/src/connection/RelayConnection.ts (95%) rename packages/core/{js-peer => js-client}/src/connection/interfaces.ts (100%) rename packages/core/{js-peer => js-client}/src/ephemeral/__test__/ephemeral.spec.ts (100%) rename packages/core/{js-peer => js-client}/src/ephemeral/client.ts (88%) rename packages/core/{js-peer => js-client}/src/ephemeral/network.ts (96%) create mode 100644 packages/core/js-client/src/fetchers/browser.ts create mode 100644 packages/core/js-client/src/fetchers/index.ts create mode 100644 packages/core/js-client/src/fetchers/node.ts create mode 100644 packages/core/js-client/src/index.ts rename packages/core/{js-peer => js-client}/src/jsPeer/FluencePeer.ts (96%) rename packages/core/{js-peer => js-client}/src/jsPeer/__test__/avm.spec.ts (100%) rename packages/core/{js-peer => js-client}/src/jsPeer/__test__/parseAst.spec.ts (100%) rename packages/core/{js-peer => js-client}/src/jsPeer/__test__/peer.spec.ts (100%) rename packages/core/{js-peer => js-client}/src/jsServiceHost/JsServiceHost.ts (100%) rename packages/core/{js-peer => js-client}/src/jsServiceHost/interfaces.ts (100%) rename packages/core/{js-peer => js-client}/src/jsServiceHost/serviceUtils.ts (100%) rename packages/core/{js-peer => js-client}/src/keypair/__test__/KeyPair.spec.ts (97%) rename packages/core/{js-peer => js-client}/src/keypair/index.ts (96%) rename packages/core/{js-peer => js-client}/src/marine/__test__/marine-js.spec.ts (100%) rename packages/core/{js-peer => js-client}/src/marine/deps-loader/common.ts (100%) rename packages/core/{js-peer => js-client}/src/marine/deps-loader/node.ts (100%) rename packages/core/{js-peer => js-client}/src/marine/deps-loader/web.ts (100%) rename packages/core/{js-peer => js-client}/src/marine/interfaces.ts (90%) rename packages/core/{js-peer => js-client}/src/marine/worker-script/workerLoader.ts (88%) rename packages/core/{js-peer => js-client}/src/marine/worker/index.ts (65%) rename packages/core/{js-peer => js-client}/src/particle/Particle.ts (100%) rename packages/core/{js-peer => js-client}/src/particle/interfaces.ts (100%) rename packages/core/{js-peer => js-client}/src/services/NodeUtils.ts (82%) rename packages/core/{js-peer => js-client}/src/services/Sig.ts (100%) rename packages/core/{js-peer => js-client}/src/services/SingleModuleSrv.ts (95%) rename packages/core/{js-peer => js-client}/src/services/Tracing.ts (100%) rename packages/core/{js-peer => js-client}/src/services/__test__/builtInHandler.spec.ts (100%) rename packages/core/{js-peer => js-client}/src/services/__test__/jsonBuiltin.spec.ts (100%) rename packages/core/{js-peer => js-client}/src/services/__test__/sigService.spec.ts (100%) rename packages/core/{js-peer => js-client}/src/services/__test__/srv.spec.ts (100%) rename packages/core/{js-peer => js-client}/src/services/_aqua/node-utils.ts (100%) rename packages/core/{js-peer => js-client}/src/services/_aqua/services.ts (100%) rename packages/core/{js-peer => js-client}/src/services/_aqua/single-module-srv.ts (100%) rename packages/core/{js-peer => js-client}/src/services/_aqua/tracing.ts (100%) rename packages/core/{js-peer => js-client}/src/services/builtins.ts (100%) rename packages/core/{js-peer => js-client}/src/services/securityGuard.ts (100%) rename packages/core/{js-peer => js-client}/src/util/commonTypes.ts (100%) rename packages/core/{js-peer => js-client}/src/util/libp2pUtils.ts (100%) rename packages/{client/api/src/util.ts => core/js-client/src/util/loadClient.ts} (99%) rename packages/core/{js-peer => js-client}/src/util/logger.ts (100%) rename packages/core/{js-peer => js-client}/src/util/testUtils.ts (92%) rename packages/core/{js-peer => js-client}/src/util/utils.ts (100%) rename packages/core/{js-peer => js-client}/tsconfig.json (52%) delete mode 100644 packages/core/js-peer/.npmignore delete mode 100644 packages/core/js-peer/.prettierignore delete mode 100644 packages/core/js-peer/CONTRIBUTING.md delete mode 100644 packages/core/js-peer/copy-worker-script-workaround.mjs delete mode 100644 packages/core/js-peer/package.json delete mode 100644 packages/core/js-peer/src/jsPeer/avm.ts create mode 100644 packages/core/marine-worker/build.ts create mode 100644 packages/core/marine-worker/package.json rename packages/core/{js-peer/src/marine/worker-script => marine-worker/src}/index.ts (66%) rename packages/{client/js-client.node => core/marine-worker}/tsconfig.json (65%) diff --git a/.github/release-please/config.json b/.github/release-please/config.json index e784263a..c2a5ab5a 100644 --- a/.github/release-please/config.json +++ b/.github/release-please/config.json @@ -9,11 +9,8 @@ ], "packages": { "packages/client/api": {}, - "packages/client/js-client.node": {}, - "packages/client/js-client.web": {}, - "packages/client/js-client.web.standalone": {}, - "packages/client/tools": {}, + "packages/core/js-client": {}, "packages/core/interfaces": {}, - "packages/core/js-peer": {} + "packages/core/marine-worker": {} } } diff --git a/.github/release-please/manifest.json b/.github/release-please/manifest.json index c02b07de..f3478059 100644 --- a/.github/release-please/manifest.json +++ b/.github/release-please/manifest.json @@ -1,9 +1,6 @@ { "packages/client/api": "0.12.1", - "packages/client/js-client.node": "0.7.1", - "packages/client/js-client.web": "0.2.5", - "packages/client/js-client.web.standalone": "0.14.1", - "packages/client/tools": "0.2.1", - "packages/core/interfaces": "0.8.1", - "packages/core/js-peer": "0.9.1" + "packages/core/js-client": "0.0.10", + "packages/core/marine-worker": "0.2.10", + "packages/core/interfaces": "0.8.1" } diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index cc3e8fb0..37addaa7 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -51,4 +51,4 @@ jobs: uses: fluencelabs/flox/.github/workflows/tests.yml@main with: js-client-snapshots: "${{ needs.js-client.outputs.js-client-snapshots }}" - nox-image: "fluencelabs/nox:unstable_minimal" \ No newline at end of file + nox-image: "fluencelabs/nox:unstable_minimal" diff --git a/packages/@tests/aqua/package.json b/packages/@tests/aqua/package.json index d212af8f..18334f43 100644 --- a/packages/@tests/aqua/package.json +++ b/packages/@tests/aqua/package.json @@ -18,6 +18,7 @@ "license": "Apache-2.0", "dependencies": { "@fluencelabs/js-client.api": "workspace:^", + "@fluencelabs/js-client": "workspace:^", "base64-js": "1.5.1" }, "devDependencies": { diff --git a/packages/@tests/aqua/src/index.ts b/packages/@tests/aqua/src/index.ts index 92588e95..dbdc0482 100644 --- a/packages/@tests/aqua/src/index.ts +++ b/packages/@tests/aqua/src/index.ts @@ -1,6 +1,6 @@ import { fromByteArray } from 'base64-js'; -import { Fluence } from '@fluencelabs/js-client.api'; -import type { ClientConfig } from '@fluencelabs/js-client.api'; +import { Fluence } from '@fluencelabs/js-client'; +import type { ClientConfig } from '@fluencelabs/js-client'; import { registerHelloWorld, helloTest, marineTest, resourceTest } from './_aqua/smoke_test.js'; import { wasm } from './wasmb64.js'; diff --git a/packages/@tests/smoke/node/package.json b/packages/@tests/smoke/node/package.json index 88bf67a4..14b223b9 100644 --- a/packages/@tests/smoke/node/package.json +++ b/packages/@tests/smoke/node/package.json @@ -17,9 +17,7 @@ "author": "Fluence Labs", "license": "Apache-2.0", "dependencies": { - "@fluencelabs/js-client.api": "workspace:^", - "@fluencelabs/js-client.node": "workspace:^", - "@test/aqua_for_test": "workspace:^" - }, - "devDependencies": {} + "@fluencelabs/js-client": "workspace:*", + "@test/aqua_for_test": "workspace:../../aqua" + } } diff --git a/packages/@tests/smoke/node/src/index.ts b/packages/@tests/smoke/node/src/index.ts index 7cd822d8..3040537d 100644 --- a/packages/@tests/smoke/node/src/index.ts +++ b/packages/@tests/smoke/node/src/index.ts @@ -1,4 +1,4 @@ -import '@fluencelabs/js-client.node'; +import '@fluencelabs/js-client'; import { runTest } from '@test/aqua_for_test'; runTest().then(() => console.log('Smoke tests succeed!')); diff --git a/packages/@tests/smoke/web-cra-ts/public/index.html b/packages/@tests/smoke/web-cra-ts/public/index.html index 5e519444..d830de49 100644 --- a/packages/@tests/smoke/web-cra-ts/public/index.html +++ b/packages/@tests/smoke/web-cra-ts/public/index.html @@ -7,7 +7,8 @@ - + +