From 88b455ffaf5041c96ec937d49634d7602f2261c4 Mon Sep 17 00:00:00 2001 From: Alberto Ricart Date: Mon, 8 Jul 2024 11:28:04 -0500 Subject: [PATCH] [REFACTOR] moved content into transport-deno in preparation of monorepo --- .gitignore => transport-node/.gitignore | 2 +- .npmignore => transport-node/.npmignore | 0 .../CODE-OF-CONDUCT.md | 0 GOVERNANCE.md => transport-node/GOVERNANCE.md | 0 LICENSE => transport-node/LICENSE | 0 .../MAINTAINERS.md | 0 README.md => transport-node/README.md | 4 +- TODO => transport-node/TODO | 0 .../bin}/check-bundle-version.ts | 0 .../bin}/cjs-fix-imports.ts | 0 .../bin}/update-transport-version.ts | 0 .../dependencies.md | 0 .../examples}/bench.js | 2 +- .../examples}/nats-events.js | 2 +- .../examples}/nats-pub.js | 2 +- .../examples}/nats-rep.js | 2 +- .../examples}/nats-req.js | 2 +- .../examples}/nats-sub.js | 2 +- {examples => transport-node/examples}/util.js | 0 index.js => transport-node/index.js | 0 migration.md => transport-node/migration.md | 0 .../package-lock.json | 69 ++++++++++++++++--- package.json => transport-node/package.json | 19 ++--- {src => transport-node/src}/connect.ts | 0 {src => transport-node/src}/mod.ts | 0 .../src}/nats-base-client.ts | 0 {src => transport-node/src}/node_transport.ts | 2 +- {test => transport-node/test}/auth.js | 10 ++- {test => transport-node/test}/autounsub.js | 2 +- {test => transport-node/test}/basics.js | 10 +-- {test => transport-node/test}/certs/ca.pem | 0 .../test}/certs/client-cert.pem | 0 .../test}/certs/client-key.pem | 0 {test => transport-node/test}/certs/key.pem | 0 .../test}/certs/key_noip.pem | 0 .../test}/certs/server.pem | 0 .../test}/certs/server_noip.pem | 0 {test => transport-node/test}/clobber.js | 4 +- {test => transport-node/test}/heartbeats.js | 2 +- .../test}/helpers/delay.js | 0 .../test}/helpers/jsutil.js | 0 .../test}/helpers/launcher.d.ts | 0 .../test}/helpers/launcher.js | 0 {test => transport-node/test}/helpers/lock.js | 0 {test => transport-node/test}/jetstream.js | 47 ++++++------- {test => transport-node/test}/msgheaders.js | 0 {test => transport-node/test}/noiptls.js | 2 +- {test => transport-node/test}/parser.js | 0 {test => transport-node/test}/queues.js | 2 +- {test => transport-node/test}/reconnect.js | 2 +- {test => transport-node/test}/tls.js | 2 +- tsconfig.json => transport-node/tsconfig.json | 4 +- 52 files changed, 125 insertions(+), 70 deletions(-) rename .gitignore => transport-node/.gitignore (92%) rename .npmignore => transport-node/.npmignore (100%) rename CODE-OF-CONDUCT.md => transport-node/CODE-OF-CONDUCT.md (100%) rename GOVERNANCE.md => transport-node/GOVERNANCE.md (100%) rename LICENSE => transport-node/LICENSE (100%) rename MAINTAINERS.md => transport-node/MAINTAINERS.md (100%) rename README.md => transport-node/README.md (99%) rename TODO => transport-node/TODO (100%) rename {bin => transport-node/bin}/check-bundle-version.ts (100%) rename {bin => transport-node/bin}/cjs-fix-imports.ts (100%) rename {bin => transport-node/bin}/update-transport-version.ts (100%) rename dependencies.md => transport-node/dependencies.md (100%) rename {examples => transport-node/examples}/bench.js (98%) rename {examples => transport-node/examples}/nats-events.js (95%) rename {examples => transport-node/examples}/nats-pub.js (99%) rename {examples => transport-node/examples}/nats-rep.js (99%) rename {examples => transport-node/examples}/nats-req.js (99%) rename {examples => transport-node/examples}/nats-sub.js (99%) rename {examples => transport-node/examples}/util.js (100%) rename index.js => transport-node/index.js (100%) rename migration.md => transport-node/migration.md (100%) rename package-lock.json => transport-node/package-lock.json (98%) rename package.json => transport-node/package.json (85%) rename {src => transport-node/src}/connect.ts (100%) rename {src => transport-node/src}/mod.ts (100%) rename {src => transport-node/src}/nats-base-client.ts (100%) rename {src => transport-node/src}/node_transport.ts (99%) rename {test => transport-node/test}/auth.js (99%) rename {test => transport-node/test}/autounsub.js (99%) rename {test => transport-node/test}/basics.js (99%) rename {test => transport-node/test}/certs/ca.pem (100%) rename {test => transport-node/test}/certs/client-cert.pem (100%) rename {test => transport-node/test}/certs/client-key.pem (100%) rename {test => transport-node/test}/certs/key.pem (100%) rename {test => transport-node/test}/certs/key_noip.pem (100%) rename {test => transport-node/test}/certs/server.pem (100%) rename {test => transport-node/test}/certs/server_noip.pem (100%) rename {test => transport-node/test}/clobber.js (96%) rename {test => transport-node/test}/heartbeats.js (99%) rename {test => transport-node/test}/helpers/delay.js (100%) rename {test => transport-node/test}/helpers/jsutil.js (100%) rename {test => transport-node/test}/helpers/launcher.d.ts (100%) rename {test => transport-node/test}/helpers/launcher.js (100%) rename {test => transport-node/test}/helpers/lock.js (100%) rename {test => transport-node/test}/jetstream.js (93%) rename {test => transport-node/test}/msgheaders.js (100%) rename {test => transport-node/test}/noiptls.js (99%) rename {test => transport-node/test}/parser.js (100%) rename {test => transport-node/test}/queues.js (99%) rename {test => transport-node/test}/reconnect.js (99%) rename {test => transport-node/test}/tls.js (99%) rename tsconfig.json => transport-node/tsconfig.json (87%) diff --git a/.gitignore b/transport-node/.gitignore similarity index 92% rename from .gitignore rename to transport-node/.gitignore index baabae09..7edaf459 100644 --- a/.gitignore +++ b/transport-node/.gitignore @@ -1,6 +1,6 @@ .deps/ .DS_Store -.idea +../.idea .nyc_output/ benchmark/ coverage/ diff --git a/.npmignore b/transport-node/.npmignore similarity index 100% rename from .npmignore rename to transport-node/.npmignore diff --git a/CODE-OF-CONDUCT.md b/transport-node/CODE-OF-CONDUCT.md similarity index 100% rename from CODE-OF-CONDUCT.md rename to transport-node/CODE-OF-CONDUCT.md diff --git a/GOVERNANCE.md b/transport-node/GOVERNANCE.md similarity index 100% rename from GOVERNANCE.md rename to transport-node/GOVERNANCE.md diff --git a/LICENSE b/transport-node/LICENSE similarity index 100% rename from LICENSE rename to transport-node/LICENSE diff --git a/MAINTAINERS.md b/transport-node/MAINTAINERS.md similarity index 100% rename from MAINTAINERS.md rename to transport-node/MAINTAINERS.md diff --git a/README.md b/transport-node/README.md similarity index 99% rename from README.md rename to transport-node/README.md index b97eb82e..568aa91d 100644 --- a/README.md +++ b/transport-node/README.md @@ -2,7 +2,7 @@ A Node.js client for the [NATS messaging system](https://nats.io). -[![License](https://img.shields.io/badge/Licence-Apache%202.0-blue.svg)](./LICENSE) +[![License](https://img.shields.io/badge/Licence-Apache%202.0-blue.svg)](LICENSE) ![NATS.js CI](https://github.com/nats-io/nats.js/workflows/NATS.js%20CI/badge.svg) [![npm](https://img.shields.io/npm/v/nats.svg)](https://www.npmjs.com/package/nats) [![npm](https://img.shields.io/npm/dt/nats.svg)](https://www.npmjs.com/package/nats) @@ -137,7 +137,7 @@ const sub = nc.subscribe("hello"); nc.publish("hello", sc.encode("world")); nc.publish("hello", sc.encode("again")); -// we want to insure that messages that are in flight +// we want to ensure that messages that are in flight // get processed, so we are going to drain the // connection. Drain is the same as close, but makes // sure that all messages in flight get seen diff --git a/TODO b/transport-node/TODO similarity index 100% rename from TODO rename to transport-node/TODO diff --git a/bin/check-bundle-version.ts b/transport-node/bin/check-bundle-version.ts similarity index 100% rename from bin/check-bundle-version.ts rename to transport-node/bin/check-bundle-version.ts diff --git a/bin/cjs-fix-imports.ts b/transport-node/bin/cjs-fix-imports.ts similarity index 100% rename from bin/cjs-fix-imports.ts rename to transport-node/bin/cjs-fix-imports.ts diff --git a/bin/update-transport-version.ts b/transport-node/bin/update-transport-version.ts similarity index 100% rename from bin/update-transport-version.ts rename to transport-node/bin/update-transport-version.ts diff --git a/dependencies.md b/transport-node/dependencies.md similarity index 100% rename from dependencies.md rename to transport-node/dependencies.md diff --git a/examples/bench.js b/transport-node/examples/bench.js similarity index 98% rename from examples/bench.js rename to transport-node/examples/bench.js index ce0f89a1..24a5ffc2 100755 --- a/examples/bench.js +++ b/transport-node/examples/bench.js @@ -1,7 +1,7 @@ #!/usr/bin/env node const parse = require("minimist"); -const { Nuid, connect } = require("../"); +const { Nuid, connect } = require("../index"); const { Bench, Metric } = require("../lib/nats-base-client/bench"); const defaults = { diff --git a/examples/nats-events.js b/transport-node/examples/nats-events.js similarity index 95% rename from examples/nats-events.js rename to transport-node/examples/nats-events.js index 1ac988f9..58b5d267 100755 --- a/examples/nats-events.js +++ b/transport-node/examples/nats-events.js @@ -1,7 +1,7 @@ #!/usr/bin/env node const parse = require("minimist"); -const { connect } = require("../"); +const { connect } = require("../index"); const argv = parse( process.argv.slice(2), diff --git a/examples/nats-pub.js b/transport-node/examples/nats-pub.js similarity index 99% rename from examples/nats-pub.js rename to transport-node/examples/nats-pub.js index 1d8fb2e4..aaa0b03b 100755 --- a/examples/nats-pub.js +++ b/transport-node/examples/nats-pub.js @@ -1,7 +1,7 @@ #!/usr/bin/env node const parse = require("minimist"); -const { connect, StringCodec, headers, credsAuthenticator } = require("../"); +const { connect, StringCodec, headers, credsAuthenticator } = require("../index"); const { delay } = require("./util"); const fs = require("fs"); diff --git a/examples/nats-rep.js b/transport-node/examples/nats-rep.js similarity index 99% rename from examples/nats-rep.js rename to transport-node/examples/nats-rep.js index 67d233cb..4cbb1b44 100755 --- a/examples/nats-rep.js +++ b/transport-node/examples/nats-rep.js @@ -1,7 +1,7 @@ #!/usr/bin/env node const parse = require("minimist"); -const { connect, StringCodec, headers, credsAuthenticator } = require("../"); +const { connect, StringCodec, headers, credsAuthenticator } = require("../index"); const fs = require("fs"); const argv = parse( diff --git a/examples/nats-req.js b/transport-node/examples/nats-req.js similarity index 99% rename from examples/nats-req.js rename to transport-node/examples/nats-req.js index 721817ee..409b30e9 100755 --- a/examples/nats-req.js +++ b/transport-node/examples/nats-req.js @@ -1,7 +1,7 @@ #!/usr/bin/env node const parse = require("minimist"); -const { connect, StringCodec, headers, credsAuthenticator } = require("../"); +const { connect, StringCodec, headers, credsAuthenticator } = require("../index"); const { delay } = require("./util"); const fs = require("fs"); diff --git a/examples/nats-sub.js b/transport-node/examples/nats-sub.js similarity index 99% rename from examples/nats-sub.js rename to transport-node/examples/nats-sub.js index 9fde8210..a43132ff 100755 --- a/examples/nats-sub.js +++ b/transport-node/examples/nats-sub.js @@ -1,7 +1,7 @@ #!/usr/bin/env node const parse = require("minimist"); -const { connect, StringCodec, credsAuthenticator } = require("../"); +const { connect, StringCodec, credsAuthenticator } = require("../index"); const fs = require("fs"); const argv = parse( diff --git a/examples/util.js b/transport-node/examples/util.js similarity index 100% rename from examples/util.js rename to transport-node/examples/util.js diff --git a/index.js b/transport-node/index.js similarity index 100% rename from index.js rename to transport-node/index.js diff --git a/migration.md b/transport-node/migration.md similarity index 100% rename from migration.md rename to transport-node/migration.md diff --git a/package-lock.json b/transport-node/package-lock.json similarity index 98% rename from package-lock.json rename to transport-node/package-lock.json index d4429fb3..f53cdf0e 100644 --- a/package-lock.json +++ b/transport-node/package-lock.json @@ -10,10 +10,13 @@ "license": "Apache-2.0", "dependencies": { "@nats-io/nats-core": "^3.0.0-17", - "nkeys.js": "^1.2.0-4", - "nuid": "^2.0.1-2" + "@nats-io/nkeys": "^1.2.0-4", + "@nats-io/nuid": "^2.0.1-2" }, "devDependencies": { + "@nats-io/jetstream": "^3.0.0-3", + "@nats-io/kv": "^3.0.0-2", + "@nats-io/obj": "^3.0.0-1", "@types/node": "^20.12.12", "ava": "^5.3.x", "minimist": "^1.2.8", @@ -536,6 +539,25 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@nats-io/jetstream": { + "version": "3.0.0-3", + "resolved": "https://registry.npmjs.org/@nats-io/jetstream/-/jetstream-3.0.0-3.tgz", + "integrity": "sha512-7TQ1PsiiwrKEsCOCI/ypBpi0T3Hj86rIomF3JzaJECApVGUr8GwZzhhrREet3WfodjHo6hvGEhEpZVfqRYRwEg==", + "dev": true, + "dependencies": { + "@nats-io/nats-core": "3.0.0-17" + } + }, + "node_modules/@nats-io/kv": { + "version": "3.0.0-2", + "resolved": "https://registry.npmjs.org/@nats-io/kv/-/kv-3.0.0-2.tgz", + "integrity": "sha512-f995XTMOkkVSokSyc4pNZm4nHvu0BXQ/aIAFf4wrI1sqAknpwAkNBWhQYwr12H/wW2svlgKTh1qrpBMXsosN/Q==", + "dev": true, + "dependencies": { + "@nats-io/jetstream": "3.0.0-3", + "@nats-io/nats-core": "3.0.0-17" + } + }, "node_modules/@nats-io/nats-core": { "version": "3.0.0-17", "resolved": "https://registry.npmjs.org/@nats-io/nats-core/-/nats-core-3.0.0-17.tgz", @@ -547,6 +569,35 @@ "typescript": "^5.4.5" } }, + "node_modules/@nats-io/nkeys": { + "version": "1.2.0-4", + "resolved": "https://registry.npmjs.org/@nats-io/nkeys/-/nkeys-1.2.0-4.tgz", + "integrity": "sha512-61R4SO9059AyZBhoZRECHobHsY6mBOGwB5ewBrbnDKVtTehnFwyMNaORHhksFmu9K0zyUtwBWyffzKpibp2Cew==", + "dependencies": { + "tweetnacl": "1.0.3" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@nats-io/nuid": { + "version": "2.0.1-2", + "resolved": "https://registry.npmjs.org/@nats-io/nuid/-/nuid-2.0.1-2.tgz", + "integrity": "sha512-oXJiWXH87FjcPAXVVkoY+o7z9YFuOvsVlUlvB4h/QsoC1hp63lB18YOMHmKxVNO7BzvwzJh3SKLlIlsQrEwaxg==", + "engines": { + "node": ">= 18.x" + } + }, + "node_modules/@nats-io/obj": { + "version": "3.0.0-1", + "resolved": "https://registry.npmjs.org/@nats-io/obj/-/obj-3.0.0-1.tgz", + "integrity": "sha512-y4z6rVQ7jCSXWB36cSvpzOHS2a/nflC/QZfRklZgDcTQaAZ/2zsHqHfovwaP03LnsvyuK9OU7dORPubf1hTrHw==", + "dev": true, + "dependencies": { + "@nats-io/jetstream": "3.0.0-3", + "@nats-io/nats-core": "3.0.0-17" + } + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -817,12 +868,12 @@ } }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" @@ -1409,9 +1460,9 @@ } }, "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, "dependencies": { "to-regex-range": "^5.0.1" diff --git a/package.json b/transport-node/package.json similarity index 85% rename from package.json rename to transport-node/package.json index bc392018..f8b3e96b 100644 --- a/package.json +++ b/transport-node/package.json @@ -30,7 +30,7 @@ "types": "lib/src/mod.d.ts", "files": [ "lib/", - "examples/", + "transport-node/examples/", "OWNERS.md", "CODE-OF-CONDUCT.md", "LICENSE", @@ -39,17 +39,17 @@ "scripts": { "build": "tsc", "clean": "shx rm -Rf ./lib/*", - "fmt": "deno fmt ./src/ ./examples/ ./test/", + "fmt": "deno fmt src transport-node/examples/ transport-node/test/", "prepack": "npm run check-package && npm run build", "ava": "nyc ava --verbose -T 60000", "test": "npm run check-package && npm run build && npm run ava", - "debug-test": "node node_modules/.bin/ava --verbose -T 6500000 --match", + "debug-test": "node ../node_modules/.bin/ava --verbose -T 6500000 --match", "setup": "curl -fsSL https://deno.land/x/install/install.sh | sh", "setup_win": "choco install deno", - "cover:html": "nyc report --reporter=html && open coverage/index.html", + "cover:html": "/nyc report --reporter=html && open coverage/index.html", "coveralls": "shx mkdir -p ./coverage && nyc report --reporter=text-lcov > ./coverage/lcov.info", "check-package": "deno run --allow-all bin/check-bundle-version.ts", - "version": "deno run -A bin/update-transport-version.ts && git add src/node_transport.ts", + "version": "deno run -A bin/update-transport-version.ts && git add transport-node/src/node_transport.ts", "postversion": "git push && git push --tags", "bump-qualifier": "npm version prerelease --no-commit-hooks --no-git-tag-version", "bump-release": "npm version patch --no-commit-hooks --no-git-tag-version" @@ -59,8 +59,8 @@ }, "dependencies": { "@nats-io/nats-core": "^3.0.0-17", - "nkeys.js": "^1.2.0-4", - "nuid": "^2.0.1-2" + "@nats-io/nkeys": "^1.2.0-4", + "@nats-io/nuid": "^2.0.1-2" }, "devDependencies": { "@types/node": "^20.12.12", @@ -69,7 +69,10 @@ "nats-jwt": "^0.0.9", "nyc": "^15.1.0", "shx": "^0.3.3", - "typescript": "5.4.5" + "typescript": "5.4.5", + "@nats-io/jetstream": "^3.0.0-3", + "@nats-io/kv": "^3.0.0-2", + "@nats-io/obj": "^3.0.0-1" }, "typings": "./lib/src/mod.d.ts", "ava": { diff --git a/src/connect.ts b/transport-node/src/connect.ts similarity index 100% rename from src/connect.ts rename to transport-node/src/connect.ts diff --git a/src/mod.ts b/transport-node/src/mod.ts similarity index 100% rename from src/mod.ts rename to transport-node/src/mod.ts diff --git a/src/nats-base-client.ts b/transport-node/src/nats-base-client.ts similarity index 100% rename from src/nats-base-client.ts rename to transport-node/src/nats-base-client.ts diff --git a/src/node_transport.ts b/transport-node/src/node_transport.ts similarity index 99% rename from src/node_transport.ts rename to transport-node/src/node_transport.ts index 1f16730b..9db1d6bf 100644 --- a/src/node_transport.ts +++ b/transport-node/src/node_transport.ts @@ -18,13 +18,13 @@ import { Deferred, deferred, ErrorCode, + extend, extractProtocolMessage, INFO, NatsError, render, ServerInfo, Transport, - extend, } from "./nats-base-client"; import type { ConnectionOptions } from "./nats-base-client"; diff --git a/test/auth.js b/transport-node/test/auth.js similarity index 99% rename from test/auth.js rename to transport-node/test/auth.js index ca3c08ff..50825c69 100644 --- a/test/auth.js +++ b/transport-node/test/auth.js @@ -13,6 +13,7 @@ * limitations under the License. */ const test = require("ava"); + const { credsAuthenticator, deferred, @@ -20,12 +21,9 @@ const { Events, jwtAuthenticator, nkeyAuthenticator, -} = require( - "@nats-io/nats-core/internal", -); - -const {connect} = require("../src/mod.ts"); -const { nkeys } = require("nkeys.js"); + nkeys, +} = require("@nats-io/nats-core"); +const { connect } = require("../index") const { NatsServer } = require("./helpers/launcher"); const { createOperator, diff --git a/test/autounsub.js b/transport-node/test/autounsub.js similarity index 99% rename from test/autounsub.js rename to transport-node/test/autounsub.js index d4131c1e..a2b3b4e8 100644 --- a/test/autounsub.js +++ b/transport-node/test/autounsub.js @@ -14,7 +14,7 @@ */ const test = require("ava"); const { connect, ErrorCode, createInbox, Empty } = require( - "../", + "../index", ); const { Lock } = require("./helpers/lock"); diff --git a/test/basics.js b/transport-node/test/basics.js similarity index 99% rename from test/basics.js rename to transport-node/test/basics.js index d27c4be2..5cea7191 100644 --- a/test/basics.js +++ b/transport-node/test/basics.js @@ -20,10 +20,12 @@ const { StringCodec, Empty, jwtAuthenticator, - AckPolicy, } = require( - "../lib/src/mod", + "../lib/mod", ); + +const {AckPolicy, jetstream, jetstreamManager} = require("@nats-io/jetstream"); + const net = require("net"); const { deferred, delay, nuid } = require( @@ -765,7 +767,7 @@ test("basics - js fetch on stopped server doesn't close", async (t) => { } })().then(); - const jsm = await nc.jetstreamManager(); + const jsm = await jetstreamManager(nc); const si = await jsm.streams.add({ name: nuid.next(), subjects: ["test"] }); const { name: stream } = si.config; await jsm.consumers.add(stream, { @@ -773,7 +775,7 @@ test("basics - js fetch on stopped server doesn't close", async (t) => { ack_policy: AckPolicy.Explicit, }); - const js = nc.jetstream(); + const js = jetstream(nc); setTimeout(() => { ns.stop(); }, 2000); diff --git a/test/certs/ca.pem b/transport-node/test/certs/ca.pem similarity index 100% rename from test/certs/ca.pem rename to transport-node/test/certs/ca.pem diff --git a/test/certs/client-cert.pem b/transport-node/test/certs/client-cert.pem similarity index 100% rename from test/certs/client-cert.pem rename to transport-node/test/certs/client-cert.pem diff --git a/test/certs/client-key.pem b/transport-node/test/certs/client-key.pem similarity index 100% rename from test/certs/client-key.pem rename to transport-node/test/certs/client-key.pem diff --git a/test/certs/key.pem b/transport-node/test/certs/key.pem similarity index 100% rename from test/certs/key.pem rename to transport-node/test/certs/key.pem diff --git a/test/certs/key_noip.pem b/transport-node/test/certs/key_noip.pem similarity index 100% rename from test/certs/key_noip.pem rename to transport-node/test/certs/key_noip.pem diff --git a/test/certs/server.pem b/transport-node/test/certs/server.pem similarity index 100% rename from test/certs/server.pem rename to transport-node/test/certs/server.pem diff --git a/test/certs/server_noip.pem b/transport-node/test/certs/server_noip.pem similarity index 100% rename from test/certs/server_noip.pem rename to transport-node/test/certs/server_noip.pem diff --git a/test/clobber.js b/transport-node/test/clobber.js similarity index 96% rename from test/clobber.js rename to transport-node/test/clobber.js index 9dad5738..f1254e99 100644 --- a/test/clobber.js +++ b/transport-node/test/clobber.js @@ -15,9 +15,9 @@ const test = require("ava"); const { createInbox, -} = require("../"); +} = require("../index"); const { NatsServer } = require("./helpers/launcher"); -const { connect } = require("../"); +const { connect } = require("../index"); const { DataBuffer } = require("@nats-io/nats-core/internal"); function makeBuffer(N) { diff --git a/test/heartbeats.js b/transport-node/test/heartbeats.js similarity index 99% rename from test/heartbeats.js rename to transport-node/test/heartbeats.js index f93de2f4..c4da78c9 100644 --- a/test/heartbeats.js +++ b/transport-node/test/heartbeats.js @@ -14,7 +14,7 @@ */ const test = require("ava"); // install globals -require("../"); +require("../index"); const { deferred, delay, DebugEvents, Heartbeat } = require( "@nats-io/nats-core/internal", ); diff --git a/test/helpers/delay.js b/transport-node/test/helpers/delay.js similarity index 100% rename from test/helpers/delay.js rename to transport-node/test/helpers/delay.js diff --git a/test/helpers/jsutil.js b/transport-node/test/helpers/jsutil.js similarity index 100% rename from test/helpers/jsutil.js rename to transport-node/test/helpers/jsutil.js diff --git a/test/helpers/launcher.d.ts b/transport-node/test/helpers/launcher.d.ts similarity index 100% rename from test/helpers/launcher.d.ts rename to transport-node/test/helpers/launcher.d.ts diff --git a/test/helpers/launcher.js b/transport-node/test/helpers/launcher.js similarity index 100% rename from test/helpers/launcher.js rename to transport-node/test/helpers/launcher.js diff --git a/test/helpers/lock.js b/transport-node/test/helpers/lock.js similarity index 100% rename from test/helpers/lock.js rename to transport-node/test/helpers/lock.js diff --git a/test/jetstream.js b/transport-node/test/jetstream.js similarity index 93% rename from test/jetstream.js rename to transport-node/test/jetstream.js index 62e55b13..c7fb65d6 100644 --- a/test/jetstream.js +++ b/transport-node/test/jetstream.js @@ -20,20 +20,21 @@ const { nuid, StringCodec, } = require( - "../", + "../index", ); -const { AckPolicy, consumerOpts } = require("../lib/src/mod"); -const { delay } = require("../lib/nats-base-client/internal_mod"); +const { AckPolicy, consumerOpts, jetstream, jetstreamManager } = require("@nats-io/jetstream"); +const { delay, DataBuffer } = require("@nats-io/nats-core/internal"); const { NatsServer } = require("./helpers/launcher"); const { jetstreamServerConf } = require("./helpers/jsutil"); -const { DataBuffer } = require("../lib/nats-base-client/databuffer"); const { setTimeout } = require("timers"); +const { Kvm } = require("@nats-io/kv"); +const { Objm } = require("@nats-io/obj"); test("jetstream - jsm", async (t) => { const ns = await NatsServer.start(jetstreamServerConf()); const nc = await connect({ port: ns.port }); - const jsm = await nc.jetstreamManager(); + const jsm = await jetstreamManager(nc); const ai = await jsm.getAccountInfo(); // we made one api call, so t.is(ai.api.total, 1); @@ -126,14 +127,14 @@ test("jetstream - pull", async (t) => { const ns = await NatsServer.start(jetstreamServerConf()); const nc = await connect({ port: ns.port }); - const jsm = await nc.jetstreamManager(); + const jsm = await jetstreamManager(nc); await jsm.streams.add({ name: "stream", subjects: ["hello.>"] }); await jsm.consumers.add("stream", { durable_name: "me", ack_policy: AckPolicy.Explicit, }); - const js = nc.jetstream(); + const js = jetstream(nc); await t.throwsAsync(async () => { await js.pull("stream", "me"); }, { message: /no messages$/ }); @@ -164,14 +165,14 @@ test("jetstream - fetch", async (t) => { const ns = await NatsServer.start(jetstreamServerConf()); const nc = await connect({ port: ns.port }); - const jsm = await nc.jetstreamManager(); + const jsm = await jetstreamManager(nc); await jsm.streams.add({ name: "stream", subjects: ["hello.>"] }); await jsm.consumers.add("stream", { durable_name: "me", ack_policy: AckPolicy.Explicit, }); - const js = nc.jetstream(); + const js = jetstream(nc); let iter = await js.fetch("stream", "me", { no_wait: true }); await (async () => { for await (const m of iter) { @@ -222,10 +223,10 @@ test("jetstream - jetstream sub", async (t) => { const ns = await NatsServer.start(jetstreamServerConf()); const nc = await connect({ port: ns.port }); - const jsm = await nc.jetstreamManager(); + const jsm = await jetstreamManager(nc); await jsm.streams.add({ name: "stream", subjects: ["hello.>"] }); - const js = nc.jetstream(); + const js = jetstream(nc); let pa = await js.publish("hello.world", Empty, { expect: { lastSequence: 0 }, }); @@ -257,10 +258,10 @@ test("jetstream - jetstream pullsub", async (t) => { const ns = await NatsServer.start(jetstreamServerConf()); let nc = await connect({ port: ns.port }); - const jsm = await nc.jetstreamManager(); + const jsm = await jetstreamManager(nc); await jsm.streams.add({ name: "stream", subjects: ["hello.>"] }); - let js = nc.jetstream(); + let js = jetstream(nc); let pa = await js.publish("hello.world", Empty); t.is(pa.seq, 1); pa = await js.publish("hello.world", Empty); @@ -302,12 +303,12 @@ test("jetstream - jetstream pullsub", async (t) => { test("jetstream - qsub ackall", async (t) => { const ns = await NatsServer.start(jetstreamServerConf()); let nc = await connect({ port: ns.port }); - const jsm = await nc.jetstreamManager(); + const jsm = await jetstreamManager(nc); const stream = nuid.next(); const subj = nuid.next(); await jsm.streams.add({ name: stream, subjects: [subj] }); - const js = nc.jetstream(); + const js = jetstream(nc); const opts = consumerOpts(); opts.queue("q"); @@ -342,9 +343,9 @@ test("jetstream - qsub ackall", async (t) => { test("jetstream - kv basics", async (t) => { const ns = await NatsServer.start(jetstreamServerConf()); const nc = await connect({ port: ns.port }); - const js = nc.jetstream(); + const kvm = new Kvm(nc); - const kv = await js.views.kv("test"); + const kv = await kvm.create("test"); const sc = StringCodec(); await kv.put("a", sc.encode("hello")); const v = await kv.get("a"); @@ -392,9 +393,9 @@ test("jetstream - os basics", async (t) => { } const ns = await NatsServer.start(jetstreamServerConf()); const nc = await connect({ port: ns.port }); - const js = nc.jetstream(); - const os = await js.views.os("test"); + const objm = new Objm(nc); + const os = await objm.create("test"); const sc = StringCodec(); await os.put({ name: "a" }, readableStreamFrom(sc.encode("hello"))); @@ -412,7 +413,7 @@ test("jetstream - os basics", async (t) => { test("jetstream - consumer basics", async (t) => { const ns = await NatsServer.start(jetstreamServerConf()); const nc = await connect({ port: ns.port }); - const js = nc.jetstream(); + const js = jetstream(nc); await t.throwsAsync(async () => { await js.consumers.get("stream", "a"); @@ -422,7 +423,7 @@ test("jetstream - consumer basics", async (t) => { await js.streams.get("stream"); }, { message: "stream not found" }); - const jsm = await nc.jetstreamManager(); + const jsm = await jetstreamManager(nc); await jsm.streams.add({ name: "stream", subjects: ["hello.>"] }); const s = await js.streams.get("stream"); @@ -502,9 +503,9 @@ test("jetstream - consumer basics", async (t) => { test("jetstream - ordered consumer basics", async (t) => { const ns = await NatsServer.start(jetstreamServerConf()); const nc = await connect({ port: ns.port }); - const js = nc.jetstream(); + const js = jetstream(nc); - const jsm = await nc.jetstreamManager(); + const jsm = await jetstreamManager(nc); await jsm.streams.add({ name: "stream", subjects: ["hello.>"] }); const s = await js.streams.get("stream"); diff --git a/test/msgheaders.js b/transport-node/test/msgheaders.js similarity index 100% rename from test/msgheaders.js rename to transport-node/test/msgheaders.js diff --git a/test/noiptls.js b/transport-node/test/noiptls.js similarity index 99% rename from test/noiptls.js rename to transport-node/test/noiptls.js index b4b737ff..88823ec3 100644 --- a/test/noiptls.js +++ b/transport-node/test/noiptls.js @@ -17,7 +17,7 @@ const { connect, Events, } = require( - "../", + "../index", ); const { resolve, join } = require("path"); diff --git a/test/parser.js b/transport-node/test/parser.js similarity index 100% rename from test/parser.js rename to transport-node/test/parser.js diff --git a/test/queues.js b/transport-node/test/queues.js similarity index 99% rename from test/queues.js rename to transport-node/test/queues.js index d762c669..6768bbf2 100644 --- a/test/queues.js +++ b/transport-node/test/queues.js @@ -14,7 +14,7 @@ */ const test = require("ava"); const { connect, createInbox } = require( - "../", + "../index", ); const u = "demo.nats.io:4222"; diff --git a/test/reconnect.js b/transport-node/test/reconnect.js similarity index 99% rename from test/reconnect.js rename to transport-node/test/reconnect.js index 4dc5a10f..ff3fd4d2 100644 --- a/test/reconnect.js +++ b/transport-node/test/reconnect.js @@ -15,7 +15,7 @@ const test = require("ava"); const { connect, -} = require("../"); +} = require("../index"); const { NatsServer } = require("./helpers/launcher"); const { createInbox, diff --git a/test/tls.js b/transport-node/test/tls.js similarity index 99% rename from test/tls.js rename to transport-node/test/tls.js index 760504b0..8aeceeab 100644 --- a/test/tls.js +++ b/transport-node/test/tls.js @@ -17,7 +17,7 @@ const { connect, ErrorCode, } = require( - "../", + "../index", ); const { resolve, join } = require("path"); const { readFileSync } = require("fs"); diff --git a/tsconfig.json b/transport-node/tsconfig.json similarity index 87% rename from tsconfig.json rename to transport-node/tsconfig.json index 14bb398c..0b3f2543 100644 --- a/tsconfig.json +++ b/transport-node/tsconfig.json @@ -10,10 +10,10 @@ "removeComments": false }, "include": [ - "src", + "src" ], "exclude": [ - "test/**/*", + "transport-node/test/**/*", "lib/**/*" ] }