From 6339c16e7905f14cb9f5f47b135979c225a3f5aa Mon Sep 17 00:00:00 2001 From: Alberto Ricart Date: Wed, 29 May 2024 16:53:02 -0500 Subject: [PATCH] [CHANGE] bundle building with @nats-io/nats-core dependency --- index.js | 2 +- package-lock.json | 68 ++++++++++++++++++++++------------------- package.json | 15 ++++----- src/mod.ts | 3 +- src/nats-base-client.ts | 3 +- src/node_transport.ts | 2 +- tsconfig.json | 6 ++-- 7 files changed, 50 insertions(+), 49 deletions(-) diff --git a/index.js b/index.js index bd887602..c9884770 100644 --- a/index.js +++ b/index.js @@ -14,4 +14,4 @@ */ "use strict"; -module.exports = require("./lib/src/mod"); +module.exports = require("./lib/mod"); diff --git a/package-lock.json b/package-lock.json index c8e79dc2..c11ba408 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,9 @@ "version": "2.26.0", "license": "Apache-2.0", "dependencies": { - "nkeys.js": "1.1.0" + "@nats-io/nats-core": "^3.0.0-16", + "nkeys.js": "1.1.0", + "nuid": "^2.0.1-1" }, "devDependencies": { "@types/node": "^20.12.12", @@ -21,7 +23,7 @@ "typescript": "5.4.5" }, "engines": { - "node": ">= 14.0.0" + "node": ">= 16.0.0" } }, "node_modules/@ampproject/remapping": { @@ -534,6 +536,25 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@nats-io/nats-core": { + "version": "3.0.0-16", + "resolved": "https://registry.npmjs.org/@nats-io/nats-core/-/nats-core-3.0.0-16.tgz", + "integrity": "sha512-C4igJLfGZV0JiMygV2DTm8GEdg53ktB+DdI7GkMiNX4IUAMw8BxKcFt63kWrb+kjNKlN6Z3TyscxwApQ5InWKg==", + "dependencies": { + "nkeys.js": "^1.1.0", + "nuid": "^2.0.0", + "shx": "^0.3.4", + "typescript": "^5.4.5" + } + }, + "node_modules/@nats-io/nats-core/node_modules/nuid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/nuid/-/nuid-2.0.0.tgz", + "integrity": "sha512-95Qg/CEz48wQcy+wEIeCfA9ryCB8rJnlwaii4CRks+aD00b1kzux4dNODY+eaR6XAe2lqO3FORH4hRnDGfS1nA==", + "engines": { + "node": ">= 18.x" + } + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -777,8 +798,7 @@ "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "node_modules/binary-extensions": { "version": "2.2.0", @@ -799,7 +819,6 @@ "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -1138,8 +1157,7 @@ "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, "node_modules/concordance": { "version": "5.0.4", @@ -1476,8 +1494,7 @@ "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, "node_modules/fsevents": { "version": "2.3.3", @@ -1497,7 +1514,6 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -1533,7 +1549,6 @@ "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -1624,7 +1639,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", - "dev": true, "dependencies": { "function-bind": "^1.1.2" }, @@ -1681,7 +1695,6 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -1690,14 +1703,12 @@ "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "node_modules/interpret": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", - "dev": true, "engines": { "node": ">= 0.10" } @@ -1727,7 +1738,6 @@ "version": "2.13.1", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", - "dev": true, "dependencies": { "hasown": "^2.0.0" }, @@ -2218,7 +2228,6 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, "dependencies": { "brace-expansion": "^1.1.7" }, @@ -2230,7 +2239,6 @@ "version": "1.2.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -2297,6 +2305,14 @@ "node": ">=0.10.0" } }, + "node_modules/nuid": { + "version": "2.0.1-1", + "resolved": "https://registry.npmjs.org/nuid/-/nuid-2.0.1-1.tgz", + "integrity": "sha512-knMIg5RngzHD9q4MwsI2UZN9AbyPIyRlBt8uKPK45IXzOeUG07CtwrAwGFKfOWhWZZpekZoesfUK4BZuPbyKIQ==", + "engines": { + "node": ">= 18.x" + } + }, "node_modules/nyc": { "version": "15.1.0", "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz", @@ -2534,7 +2550,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, "dependencies": { "wrappy": "1" } @@ -2666,7 +2681,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -2683,8 +2697,7 @@ "node_modules/path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, "node_modules/path-type": { "version": "4.0.0", @@ -2889,7 +2902,6 @@ "version": "0.6.2", "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", - "dev": true, "dependencies": { "resolve": "^1.1.6" }, @@ -2928,7 +2940,6 @@ "version": "1.22.8", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", - "dev": true, "dependencies": { "is-core-module": "^2.13.0", "path-parse": "^1.0.7", @@ -3101,7 +3112,6 @@ "version": "0.8.5", "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", - "dev": true, "dependencies": { "glob": "^7.0.0", "interpret": "^1.0.0", @@ -3118,7 +3128,6 @@ "version": "0.3.4", "resolved": "https://registry.npmjs.org/shx/-/shx-0.3.4.tgz", "integrity": "sha512-N6A9MLVqjxZYcVn8hLmtneQWIJtp8IKzMP4eMnx+nqkvXoqinUPCbUFLp2UcWTEIUONhlk0ewxr/jaVGlc+J+g==", - "dev": true, "dependencies": { "minimist": "^1.2.3", "shelljs": "^0.8.5" @@ -3289,7 +3298,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, "engines": { "node": ">= 0.4" }, @@ -3377,7 +3385,6 @@ "version": "5.4.5", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", - "dev": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -3564,8 +3571,7 @@ "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" }, "node_modules/write-file-atomic": { "version": "5.0.1", diff --git a/package.json b/package.json index b6875bfc..61ced773 100644 --- a/package.json +++ b/package.json @@ -38,19 +38,14 @@ ], "scripts": { "build": "tsc", - "cjs-nbc": "deno run --allow-all ./bin/cjs-fix-imports.ts -o nats-base-client/ ./.deps/nats.deno/nats-base-client", - "cjs-jetstream": "deno run --allow-all ./bin/cjs-fix-imports.ts -o jetstream/ ./.deps/nats.deno/jetstream/", - "cjs": "npm run cjs-nbc && npm run cjs-jetstream", - "clean": "shx rm -Rf ./lib/* ./nats-base-client ./.deps", - "clone-nbc": "shx mkdir -p ./.deps && cd ./.deps && git clone --branch v1.26.0 https://github.com/nats-io/nats.deno.git", + "clean": "shx rm -Rf ./lib/*", "fmt": "deno fmt ./src/ ./examples/ ./test/", - "prepack": "npm run clone-nbc && npm run cjs && npm run check-package && npm run build", + "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", "setup": "curl -fsSL https://deno.land/x/install/install.sh | sh", "setup_win": "choco install deno", - "stage": "npm run clean && npm run clone-nbc && npm run cjs && shx rm -Rf ./deps/ && npm run build", "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", @@ -60,10 +55,12 @@ "bump-release": "npm version patch --no-commit-hooks --no-git-tag-version" }, "engines": { - "node": ">= 14.0.0" + "node": ">= 16.0.0" }, "dependencies": { - "nkeys.js": "1.1.0" + "@nats-io/nats-core": "^3.0.0-16", + "nkeys.js": "1.1.0", + "nuid": "^2.0.1-1" }, "devDependencies": { "@types/node": "^20.12.12", diff --git a/src/mod.ts b/src/mod.ts index 0bec1da4..77dd7d71 100644 --- a/src/mod.ts +++ b/src/mod.ts @@ -38,5 +38,4 @@ if (typeof globalThis.ReadableStream === "undefined") { } export { connect } from "./connect"; -export * from "../nats-base-client/mod"; -export * from "../jetstream/mod"; +export * from "./nats-base-client"; diff --git a/src/nats-base-client.ts b/src/nats-base-client.ts index 81aff147..480a0085 100644 --- a/src/nats-base-client.ts +++ b/src/nats-base-client.ts @@ -12,5 +12,4 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -export * from "../nats-base-client/internal_mod"; -export * from "../jetstream/internal_mod"; +export * from "@nats-io/nats-core/internal"; diff --git a/src/node_transport.ts b/src/node_transport.ts index 343f8259..1f16730b 100644 --- a/src/node_transport.ts +++ b/src/node_transport.ts @@ -24,11 +24,11 @@ import { render, ServerInfo, Transport, + extend, } from "./nats-base-client"; import type { ConnectionOptions } from "./nats-base-client"; import { createConnection, Socket } from "net"; -import { extend } from "../nats-base-client/util"; import { connect as tlsConnect, TlsOptions, TLSSocket } from "tls"; const { resolve } = require("path"); const { readFile, existsSync } = require("fs"); diff --git a/tsconfig.json b/tsconfig.json index a3a7c9ba..14bb398c 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,9 +1,9 @@ { "compilerOptions": { - "target": "ES6", - "module": "CommonJS", + "target": "esnext", + "module": "nodenext", "outDir": "lib/", - "moduleResolution": "node", + "moduleResolution": "nodenext", "sourceMap": true, "declaration": true, "allowJs": true,