diff --git a/.circleci/config.yml b/.circleci/config.yml index a742152..6b2834e 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -27,7 +27,7 @@ executors: default-docker: working_directory: &workingDirVar /home/circleci/project docker: - - image: mojaloop/node-20.10.0-builder:0.0.2 + - image: mojaloop/node-20.10.0-builder:0.0.3 default-machine: machine: image: ubuntu-2204:2023.04.2 diff --git a/package-lock.json b/package-lock.json index 56b6fea..be3eeab 100644 --- a/package-lock.json +++ b/package-lock.json @@ -30,39 +30,32 @@ "node": ">=20.10.0" } }, - "node_modules/@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/@ampproject/remapping": { - "version": "2.2.0", + "version": "2.3.0", "dev": true, "license": "Apache-2.0", "dependencies": { - "@jridgewell/gen-mapping": "^0.1.0", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { "node": ">=6.0.0" } }, "node_modules/@babel/code-frame": { - "version": "7.18.6", + "version": "7.24.7", "dev": true, "license": "MIT", "dependencies": { - "@babel/highlight": "^7.18.6" + "@babel/highlight": "^7.24.7", + "picocolors": "^1.0.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/compat-data": { - "version": "7.19.1", + "version": "7.25.4", "dev": true, "license": "MIT", "engines": { @@ -70,25 +63,25 @@ } }, "node_modules/@babel/core": { - "version": "7.19.1", + "version": "7.25.2", "dev": true, "license": "MIT", "dependencies": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.19.0", - "@babel/helper-compilation-targets": "^7.19.1", - "@babel/helper-module-transforms": "^7.19.0", - "@babel/helpers": "^7.19.0", - "@babel/parser": "^7.19.1", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.1", - "@babel/types": "^7.19.0", - "convert-source-map": "^1.7.0", + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.25.0", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-module-transforms": "^7.25.2", + "@babel/helpers": "^7.25.0", + "@babel/parser": "^7.25.0", + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.2", + "@babel/types": "^7.25.2", + "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", - "json5": "^2.2.1", - "semver": "^6.3.0" + "json5": "^2.2.3", + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" @@ -99,7 +92,7 @@ } }, "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.0", + "version": "6.3.1", "dev": true, "license": "ISC", "bin": { @@ -107,118 +100,73 @@ } }, "node_modules/@babel/generator": { - "version": "7.19.0", + "version": "7.25.6", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.19.0", - "@jridgewell/gen-mapping": "^0.3.2", + "@babel/types": "^7.25.6", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^2.5.1" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { - "version": "0.3.2", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.19.1", + "version": "7.25.2", "dev": true, "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.19.1", - "@babel/helper-validator-option": "^7.18.6", - "browserslist": "^4.21.3", - "semver": "^6.3.0" + "@babel/compat-data": "^7.25.2", + "@babel/helper-validator-option": "^7.24.8", + "browserslist": "^4.23.1", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" } }, "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.0", + "version": "6.3.1", "dev": true, "license": "ISC", "bin": { "semver": "bin/semver.js" } }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.18.9", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.19.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/template": "^7.18.10", - "@babel/types": "^7.19.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.18.6", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-module-imports": { - "version": "7.18.6", + "version": "7.24.7", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.18.6" + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.19.0", + "version": "7.25.2", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.18.6", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.0", - "@babel/types": "^7.19.0" + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-simple-access": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7", + "@babel/traverse": "^7.25.2" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.22.5", + "version": "7.24.8", "dev": true, "license": "MIT", "engines": { @@ -226,29 +174,19 @@ } }, "node_modules/@babel/helper-simple-access": { - "version": "7.18.6", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.18.6", + "version": "7.24.7", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.18.6" + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-string-parser": { - "version": "7.19.4", + "version": "7.24.8", "dev": true, "license": "MIT", "engines": { @@ -256,7 +194,7 @@ } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.19.1", + "version": "7.24.7", "dev": true, "license": "MIT", "engines": { @@ -264,7 +202,7 @@ } }, "node_modules/@babel/helper-validator-option": { - "version": "7.18.6", + "version": "7.24.8", "dev": true, "license": "MIT", "engines": { @@ -272,26 +210,26 @@ } }, "node_modules/@babel/helpers": { - "version": "7.19.0", + "version": "7.25.6", "dev": true, "license": "MIT", "dependencies": { - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.0", - "@babel/types": "^7.19.0" + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.18.6", + "version": "7.24.7", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" + "@babel/helper-validator-identifier": "^7.24.7", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" }, "engines": { "node": ">=6.9.0" @@ -362,9 +300,12 @@ } }, "node_modules/@babel/parser": { - "version": "7.21.4", + "version": "7.25.6", "dev": true, "license": "MIT", + "dependencies": { + "@babel/types": "^7.25.6" + }, "bin": { "parser": "bin/babel-parser.js" }, @@ -405,6 +346,34 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.25.6", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-syntax-import-meta": { "version": "7.10.4", "dev": true, @@ -428,11 +397,11 @@ } }, "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.22.5", + "version": "7.24.7", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -507,6 +476,20 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-syntax-top-level-await": { "version": "7.14.5", "dev": true, @@ -522,11 +505,11 @@ } }, "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.22.5", + "version": "7.25.4", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -536,45 +519,50 @@ } }, "node_modules/@babel/template": { - "version": "7.18.10", + "version": "7.25.0", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.18.10", - "@babel/types": "^7.18.10" + "@babel/code-frame": "^7.24.7", + "@babel/parser": "^7.25.0", + "@babel/types": "^7.25.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.19.1", + "version": "7.25.6", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.19.0", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.19.1", - "@babel/types": "^7.19.0", - "debug": "^4.1.0", + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.25.6", + "@babel/parser": "^7.25.6", + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.6", + "debug": "^4.3.1", "globals": "^11.1.0" }, "engines": { "node": ">=6.9.0" } }, + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.12.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, "node_modules/@babel/types": { - "version": "7.21.4", + "version": "7.25.6", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", + "@babel/helper-string-parser": "^7.24.8", + "@babel/helper-validator-identifier": "^7.24.7", "to-fast-properties": "^2.0.0" }, "engines": { @@ -610,7 +598,7 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.10.0", + "version": "4.11.1", "dev": true, "license": "MIT", "engines": { @@ -619,8 +607,6 @@ }, "node_modules/@eslint/eslintrc": { "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", - "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", "dev": true, "license": "MIT", "dependencies": { @@ -641,39 +627,28 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { + "version": "1.1.11", "dev": true, "license": "MIT", "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/@eslint/eslintrc/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "node_modules/@eslint/eslintrc/node_modules/minimatch": { + "version": "3.1.2", "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": "*" } }, "node_modules/@eslint/js": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", - "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", + "version": "8.57.1", "dev": true, "license": "MIT", "engines": { @@ -686,9 +661,7 @@ "license": "MIT" }, "node_modules/@grpc/grpc-js": { - "version": "1.10.10", - "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.10.10.tgz", - "integrity": "sha512-HPa/K5NX6ahMoeBv15njAc/sfF4/jmiXLar9UlC2UfHFKZzsCVLc3wbe7+7qua7w9VPh2/L6EBxyAV7/E8Wftg==", + "version": "1.11.3", "license": "Apache-2.0", "dependencies": { "@grpc/proto-loader": "^0.7.13", @@ -700,8 +673,6 @@ }, "node_modules/@grpc/proto-loader": { "version": "0.7.13", - "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.13.tgz", - "integrity": "sha512-AiXO/bfe9bmxBjxxtYxFAXGZvMaN5s8kO+jBHAJCON8rJoB5YS/D6X7ZNc6XQkuHNmyl4CYaMI1fJ/Gn27RGGw==", "license": "Apache-2.0", "dependencies": { "lodash.camelcase": "^4.3.0", @@ -717,14 +688,11 @@ } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.14", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", - "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", - "deprecated": "Use @eslint/config-array instead", + "version": "0.13.0", "dev": true, "license": "Apache-2.0", "dependencies": { - "@humanwhocodes/object-schema": "^2.0.2", + "@humanwhocodes/object-schema": "^2.0.3", "debug": "^4.3.1", "minimatch": "^3.0.5" }, @@ -732,6 +700,26 @@ "node": ">=10.10.0" } }, + "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", "dev": true, @@ -746,9 +734,6 @@ }, "node_modules/@humanwhocodes/object-schema": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", - "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", - "deprecated": "Use @eslint/object-schema instead", "dev": true, "license": "BSD-3-Clause" }, @@ -769,7 +754,7 @@ } }, "node_modules/@isaacs/cliui/node_modules/ansi-regex": { - "version": "6.0.1", + "version": "6.1.0", "dev": true, "license": "MIT", "engines": { @@ -905,6 +890,11 @@ "node": ">=8" } }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/sprintf-js": { + "version": "1.0.3", + "dev": true, + "license": "BSD-3-Clause" + }, "node_modules/@istanbuljs/schema": { "version": "0.1.3", "dev": true, @@ -929,35 +919,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@jest/console/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/console/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, "node_modules/@jest/core": { "version": "29.7.0", "dev": true, @@ -1004,35 +965,6 @@ } } }, - "node_modules/@jest/core/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/core/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, "node_modules/@jest/environment": { "version": "29.7.0", "dev": true, @@ -1142,50 +1074,6 @@ } } }, - "node_modules/@jest/reporters/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/reporters/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jest/reporters/node_modules/istanbul-lib-instrument": { - "version": "6.0.1", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^7.5.4" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/@jest/schemas": { "version": "29.6.3", "dev": true, @@ -1263,42 +1151,8 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@jest/transform/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/transform/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jest/transform/node_modules/convert-source-map": { - "version": "2.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/@jest/types": { - "version": "29.6.3", + "node_modules/@jest/types": { + "version": "29.6.3", "dev": true, "license": "MIT", "dependencies": { @@ -1313,49 +1167,21 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@jest/types/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/types/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, "node_modules/@jridgewell/gen-mapping": { - "version": "0.1.1", + "version": "0.3.5", "dev": true, "license": "MIT", "dependencies": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", + "version": "3.1.2", "dev": true, "license": "MIT", "engines": { @@ -1363,7 +1189,7 @@ } }, "node_modules/@jridgewell/set-array": { - "version": "1.1.2", + "version": "1.2.1", "dev": true, "license": "MIT", "engines": { @@ -1371,12 +1197,12 @@ } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", + "version": "1.5.0", "dev": true, "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.20", + "version": "0.3.25", "dev": true, "license": "MIT", "dependencies": { @@ -1386,8 +1212,6 @@ }, "node_modules/@js-sdsl/ordered-map": { "version": "4.4.2", - "resolved": "https://registry.npmjs.org/@js-sdsl/ordered-map/-/ordered-map-4.4.2.tgz", - "integrity": "sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw==", "license": "MIT", "funding": { "type": "opencollective", @@ -1396,8 +1220,6 @@ }, "node_modules/@mojaloop/logging-bc-public-types-lib": { "version": "0.5.4", - "resolved": "https://registry.npmjs.org/@mojaloop/logging-bc-public-types-lib/-/logging-bc-public-types-lib-0.5.4.tgz", - "integrity": "sha512-rc6SXTHVdlRs/CYCjZooP3jahSlzEWJzqXbE2iRjPFVhINetux+4DeFJ7kR0CuAJLAPMmi8rs5UoFQBUeci5rA==", "license": "Apache-2.0", "engines": { "node": ">=20.10.0" @@ -1456,7 +1278,7 @@ } }, "node_modules/@npmcli/fs": { - "version": "3.1.0", + "version": "3.1.1", "dev": true, "license": "ISC", "dependencies": { @@ -1484,6 +1306,14 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, + "node_modules/@npmcli/git/node_modules/lru-cache": { + "version": "7.18.3", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, "node_modules/@npmcli/git/node_modules/which": { "version": "3.0.1", "dev": true, @@ -1499,7 +1329,7 @@ } }, "node_modules/@npmcli/installed-package-contents": { - "version": "2.0.2", + "version": "2.1.0", "dev": true, "license": "ISC", "dependencies": { @@ -1507,7 +1337,7 @@ "npm-normalize-package-bin": "^3.0.0" }, "bin": { - "installed-package-contents": "lib/index.js" + "installed-package-contents": "bin/index.js" }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" @@ -1525,6 +1355,17 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, + "node_modules/@npmcli/move-file/node_modules/mkdirp": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/@npmcli/node-gyp": { "version": "3.0.0", "dev": true, @@ -1589,8 +1430,6 @@ }, "node_modules/@opentelemetry/api": { "version": "1.8.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.8.0.tgz", - "integrity": "sha512-I/s6F7yKUDdtMsoBWXJe8Qz40Tui5vsuKCWJEWVL+5q9sSWRzzx6v2KeNsOBEwd94j0eWkpWCH4yB6rZg9Mf0w==", "license": "Apache-2.0", "engines": { "node": ">=8.0.0" @@ -1598,8 +1437,6 @@ }, "node_modules/@opentelemetry/api-logs": { "version": "0.51.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.51.1.tgz", - "integrity": "sha512-E3skn949Pk1z2XtXu/lxf6QAZpawuTM/IUEXcAzpiUkTd73Hmvw26FiN3cJuTmkpM5hZzHwkomVdtrh/n/zzwA==", "license": "Apache-2.0", "dependencies": { "@opentelemetry/api": "^1.0.0" @@ -1610,8 +1447,6 @@ }, "node_modules/@opentelemetry/context-async-hooks": { "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/context-async-hooks/-/context-async-hooks-0.24.0.tgz", - "integrity": "sha512-Db8AgMByBEFKLJGSUBlNq4Un/Tqzj5W0hTxx3hIic8DvBwqbvUvkMGuiQYLKE2Ay21cLYMT01xK4TEKz0OxADw==", "license": "Apache-2.0", "engines": { "node": ">=8.1.0" @@ -1622,8 +1457,6 @@ }, "node_modules/@opentelemetry/core": { "version": "1.24.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.24.1.tgz", - "integrity": "sha512-wMSGfsdmibI88K9wB498zXY04yThPexo8jvwNNlm542HZB7XrrMRBbAyKJqG8qDRJwIBdBrPMi4V9ZPW/sqrcg==", "license": "Apache-2.0", "dependencies": { "@opentelemetry/semantic-conventions": "1.24.1" @@ -1637,8 +1470,6 @@ }, "node_modules/@opentelemetry/exporter-trace-otlp-grpc": { "version": "0.51.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-grpc/-/exporter-trace-otlp-grpc-0.51.1.tgz", - "integrity": "sha512-P9+Hkszih95ITvldGZ+kXvj9HpD1QfS+PwooyHK72GYA+Bgm+yUSAsDkUkDms8+s9HW6poxURv3LcjaMuBBpVQ==", "license": "Apache-2.0", "dependencies": { "@grpc/grpc-js": "^1.7.1", @@ -1657,8 +1488,6 @@ }, "node_modules/@opentelemetry/instrumentation": { "version": "0.51.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.51.1.tgz", - "integrity": "sha512-JIrvhpgqY6437QIqToyozrUG1h5UhwHkaGK/WAX+fkrpyPtc+RO5FkRtUd9BH0MibabHHvqsnBGKfKVijbmp8w==", "license": "Apache-2.0", "dependencies": { "@opentelemetry/api-logs": "0.51.1", @@ -1677,8 +1506,6 @@ }, "node_modules/@opentelemetry/instrumentation-fastify": { "version": "0.36.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-fastify/-/instrumentation-fastify-0.36.1.tgz", - "integrity": "sha512-3Nfm43PI0I+3EX+1YbSy6xbDu276R1Dh1tqAk68yd4yirnIh52Kd5B+nJ8CgHA7o3UKakpBjj6vSzi5vNCzJIA==", "license": "Apache-2.0", "dependencies": { "@opentelemetry/core": "^1.8.0", @@ -1694,8 +1521,6 @@ }, "node_modules/@opentelemetry/instrumentation-http": { "version": "0.51.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-http/-/instrumentation-http-0.51.1.tgz", - "integrity": "sha512-6b3nZnFFEz/3xZ6w8bVxctPUWIPWiXuPQ725530JgxnN1cvYFd8CJ75PrHZNjynmzSSnqBkN3ef4R9N+RpMh8Q==", "license": "Apache-2.0", "dependencies": { "@opentelemetry/core": "1.24.1", @@ -1712,9 +1537,6 @@ }, "node_modules/@opentelemetry/node": { "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/node/-/node-0.24.0.tgz", - "integrity": "sha512-Sy8QooZFOeVUcJIKetw5xsq15/1ivZovWg0RnKWtzURMQrcOxmQ3bGrXPORklOJxOtf5snDHgT37Y7dBgr+c+g==", - "deprecated": "Package renamed to @opentelemetry/sdk-trace-node", "license": "Apache-2.0", "dependencies": { "@opentelemetry/context-async-hooks": "0.24.0", @@ -1733,8 +1555,6 @@ }, "node_modules/@opentelemetry/node/node_modules/@opentelemetry/core": { "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-0.24.0.tgz", - "integrity": "sha512-KpsfxBbFTZT9zaB4Es/fFLbvSzVl9Io/8UUu/TYl4/HgqkmyVInNlWTgRiKyz9nsHzFpGP1kdZJj+YIut0IFsw==", "license": "Apache-2.0", "dependencies": { "@opentelemetry/semantic-conventions": "0.24.0", @@ -1749,8 +1569,6 @@ }, "node_modules/@opentelemetry/node/node_modules/@opentelemetry/semantic-conventions": { "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-0.24.0.tgz", - "integrity": "sha512-a/szuMQV0Quy0/M7kKdglcbRSoorleyyOwbTNNJ32O+RBN766wbQlMTvdimImTmwYWGr+NJOni1EcC242WlRcA==", "license": "Apache-2.0", "engines": { "node": ">=8.0.0" @@ -1758,8 +1576,6 @@ }, "node_modules/@opentelemetry/otlp-exporter-base": { "version": "0.51.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-exporter-base/-/otlp-exporter-base-0.51.1.tgz", - "integrity": "sha512-UYlnOYyDdzo1Gw559EHCzru0RwhvuXCwoH8jGo9J4gO1TE58GjnEmIjomMsKBCym3qWNJfIQXw+9SZCV0DdQNg==", "license": "Apache-2.0", "dependencies": { "@opentelemetry/core": "1.24.1" @@ -1773,8 +1589,6 @@ }, "node_modules/@opentelemetry/otlp-grpc-exporter-base": { "version": "0.51.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-grpc-exporter-base/-/otlp-grpc-exporter-base-0.51.1.tgz", - "integrity": "sha512-ZAS+4pq8o7dsugGTwV9s6JMKSxi+guIHdn0acOv0bqj26e9pWDFx5Ky+bI0aY46uR9Y0JyXqY+KAEYM/SO3DFA==", "license": "Apache-2.0", "dependencies": { "@grpc/grpc-js": "^1.7.1", @@ -1791,8 +1605,6 @@ }, "node_modules/@opentelemetry/otlp-transformer": { "version": "0.51.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-transformer/-/otlp-transformer-0.51.1.tgz", - "integrity": "sha512-OppYOXwV9LQqqtYUCywqoOqX/JT9LQ5/FMuPZ//eTkvuHdUC4ZMwz2c6uSoT2R90GWvvGnF1iEqTGyTT3xAt2Q==", "license": "Apache-2.0", "dependencies": { "@opentelemetry/api-logs": "0.51.1", @@ -1811,8 +1623,6 @@ }, "node_modules/@opentelemetry/propagator-b3": { "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-b3/-/propagator-b3-0.24.0.tgz", - "integrity": "sha512-iV7KSN0LkEAkeVCbhaIJAgTEb7HCnVkprmpgkL6q79rP3vTW4dylwfBYgIwod7y0GT4Ofgomm0NrwwWiuGLbQA==", "license": "Apache-2.0", "dependencies": { "@opentelemetry/core": "0.24.0" @@ -1826,8 +1636,6 @@ }, "node_modules/@opentelemetry/propagator-b3/node_modules/@opentelemetry/core": { "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-0.24.0.tgz", - "integrity": "sha512-KpsfxBbFTZT9zaB4Es/fFLbvSzVl9Io/8UUu/TYl4/HgqkmyVInNlWTgRiKyz9nsHzFpGP1kdZJj+YIut0IFsw==", "license": "Apache-2.0", "dependencies": { "@opentelemetry/semantic-conventions": "0.24.0", @@ -1842,8 +1650,6 @@ }, "node_modules/@opentelemetry/propagator-b3/node_modules/@opentelemetry/semantic-conventions": { "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-0.24.0.tgz", - "integrity": "sha512-a/szuMQV0Quy0/M7kKdglcbRSoorleyyOwbTNNJ32O+RBN766wbQlMTvdimImTmwYWGr+NJOni1EcC242WlRcA==", "license": "Apache-2.0", "engines": { "node": ">=8.0.0" @@ -1851,8 +1657,6 @@ }, "node_modules/@opentelemetry/propagator-jaeger": { "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-jaeger/-/propagator-jaeger-0.24.0.tgz", - "integrity": "sha512-QXCxBwuSka+vXbBZdumtF7YKO84gwTyKy3GelZV5BPlgWoge0AbLR3DfsO9Beu13pmD+4PyuwMw3LfYsgG1+3g==", "license": "Apache-2.0", "dependencies": { "@opentelemetry/core": "0.24.0" @@ -1866,8 +1670,6 @@ }, "node_modules/@opentelemetry/propagator-jaeger/node_modules/@opentelemetry/core": { "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-0.24.0.tgz", - "integrity": "sha512-KpsfxBbFTZT9zaB4Es/fFLbvSzVl9Io/8UUu/TYl4/HgqkmyVInNlWTgRiKyz9nsHzFpGP1kdZJj+YIut0IFsw==", "license": "Apache-2.0", "dependencies": { "@opentelemetry/semantic-conventions": "0.24.0", @@ -1882,8 +1684,6 @@ }, "node_modules/@opentelemetry/propagator-jaeger/node_modules/@opentelemetry/semantic-conventions": { "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-0.24.0.tgz", - "integrity": "sha512-a/szuMQV0Quy0/M7kKdglcbRSoorleyyOwbTNNJ32O+RBN766wbQlMTvdimImTmwYWGr+NJOni1EcC242WlRcA==", "license": "Apache-2.0", "engines": { "node": ">=8.0.0" @@ -1891,8 +1691,6 @@ }, "node_modules/@opentelemetry/resources": { "version": "1.24.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.24.1.tgz", - "integrity": "sha512-cyv0MwAaPF7O86x5hk3NNgenMObeejZFLJJDVuSeSMIsknlsj3oOZzRv3qSzlwYomXsICfBeFFlxwHQte5mGXQ==", "license": "Apache-2.0", "dependencies": { "@opentelemetry/core": "1.24.1", @@ -1907,8 +1705,6 @@ }, "node_modules/@opentelemetry/sdk-logs": { "version": "0.51.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-logs/-/sdk-logs-0.51.1.tgz", - "integrity": "sha512-ULQQtl82b673PpZc5/0EtH4V+BrwVOgKJZEB7tYZnGTG3I98tQVk89S9/JSixomDr++F4ih+LSJTCqIKBz+MQQ==", "license": "Apache-2.0", "dependencies": { "@opentelemetry/core": "1.24.1", @@ -1924,8 +1720,6 @@ }, "node_modules/@opentelemetry/sdk-metrics": { "version": "1.24.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-1.24.1.tgz", - "integrity": "sha512-FrAqCbbGao9iKI+Mgh+OsC9+U2YMoXnlDHe06yH7dvavCKzE3S892dGtX54+WhSFVxHR/TMRVJiK/CV93GR0TQ==", "license": "Apache-2.0", "dependencies": { "@opentelemetry/core": "1.24.1", @@ -1941,8 +1735,6 @@ }, "node_modules/@opentelemetry/sdk-trace-base": { "version": "1.24.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.24.1.tgz", - "integrity": "sha512-zz+N423IcySgjihl2NfjBf0qw1RWe11XIAWVrTNOSSI6dtSPJiVom2zipFB2AEEtJWpv0Iz6DY6+TjnyTV5pWg==", "license": "Apache-2.0", "dependencies": { "@opentelemetry/core": "1.24.1", @@ -1958,8 +1750,6 @@ }, "node_modules/@opentelemetry/semantic-conventions": { "version": "1.24.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.24.1.tgz", - "integrity": "sha512-VkliWlS4/+GHLLW7J/rVBA00uXus1SWvwFvcUDxDwmFxYfg/2VI6ekwdXS28cjI8Qz2ky2BzG8OUHo+WeYIWqw==", "license": "Apache-2.0", "engines": { "node": ">=14" @@ -1967,9 +1757,6 @@ }, "node_modules/@opentelemetry/tracing": { "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/tracing/-/tracing-0.24.0.tgz", - "integrity": "sha512-sTLEs1SIon3xV8vLe53PzfbU0FahoxL9NPY/CYvA1mwGbMu4zHkHAjqy1Tc8JmqRrfa+XrHkmzeSM4hrvloBaA==", - "deprecated": "Package renamed to @opentelemetry/sdk-trace-base", "license": "Apache-2.0", "dependencies": { "@opentelemetry/core": "0.24.0", @@ -1986,8 +1773,6 @@ }, "node_modules/@opentelemetry/tracing/node_modules/@opentelemetry/core": { "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-0.24.0.tgz", - "integrity": "sha512-KpsfxBbFTZT9zaB4Es/fFLbvSzVl9Io/8UUu/TYl4/HgqkmyVInNlWTgRiKyz9nsHzFpGP1kdZJj+YIut0IFsw==", "license": "Apache-2.0", "dependencies": { "@opentelemetry/semantic-conventions": "0.24.0", @@ -2002,8 +1787,6 @@ }, "node_modules/@opentelemetry/tracing/node_modules/@opentelemetry/resources": { "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-0.24.0.tgz", - "integrity": "sha512-uEr2m13IRkjQAjX6fsYqJ21aONCspRvuQunaCl8LbH1NS1Gj82TuRUHF6TM82ulBPK8pU+nrrqXKuky2cMcIzw==", "license": "Apache-2.0", "dependencies": { "@opentelemetry/core": "0.24.0", @@ -2018,8 +1801,6 @@ }, "node_modules/@opentelemetry/tracing/node_modules/@opentelemetry/semantic-conventions": { "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-0.24.0.tgz", - "integrity": "sha512-a/szuMQV0Quy0/M7kKdglcbRSoorleyyOwbTNNJ32O+RBN766wbQlMTvdimImTmwYWGr+NJOni1EcC242WlRcA==", "license": "Apache-2.0", "engines": { "node": ">=8.0.0" @@ -2034,8 +1815,16 @@ "node": ">=14" } }, + "node_modules/@pnpm/config.env-replace": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.22.0" + } + }, "node_modules/@pnpm/network.ca-file": { - "version": "1.0.1", + "version": "1.0.2", "dev": true, "license": "MIT", "dependencies": { @@ -2045,11 +1834,17 @@ "node": ">=12.22.0" } }, + "node_modules/@pnpm/network.ca-file/node_modules/graceful-fs": { + "version": "4.2.10", + "dev": true, + "license": "ISC" + }, "node_modules/@pnpm/npm-conf": { - "version": "1.0.5", + "version": "2.3.1", "dev": true, "license": "MIT", "dependencies": { + "@pnpm/config.env-replace": "^1.1.0", "@pnpm/network.ca-file": "^1.0.1", "config-chain": "^1.1.11" }, @@ -2059,32 +1854,22 @@ }, "node_modules/@protobufjs/aspromise": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", - "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==", "license": "BSD-3-Clause" }, "node_modules/@protobufjs/base64": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", - "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==", "license": "BSD-3-Clause" }, "node_modules/@protobufjs/codegen": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", - "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==", "license": "BSD-3-Clause" }, "node_modules/@protobufjs/eventemitter": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", - "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==", "license": "BSD-3-Clause" }, "node_modules/@protobufjs/fetch": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", - "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", "license": "BSD-3-Clause", "dependencies": { "@protobufjs/aspromise": "^1.1.1", @@ -2093,32 +1878,22 @@ }, "node_modules/@protobufjs/float": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", - "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==", "license": "BSD-3-Clause" }, "node_modules/@protobufjs/inquire": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", - "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==", "license": "BSD-3-Clause" }, "node_modules/@protobufjs/path": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", - "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==", "license": "BSD-3-Clause" }, "node_modules/@protobufjs/pool": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", - "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==", "license": "BSD-3-Clause" }, "node_modules/@protobufjs/utf8": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", - "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==", "license": "BSD-3-Clause" }, "node_modules/@sigstore/bundle": { @@ -2171,7 +1946,7 @@ "license": "MIT" }, "node_modules/@sindresorhus/is": { - "version": "5.3.0", + "version": "5.6.0", "dev": true, "license": "MIT", "engines": { @@ -2182,7 +1957,7 @@ } }, "node_modules/@sinonjs/commons": { - "version": "3.0.0", + "version": "3.0.1", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -2236,30 +2011,8 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@tufjs/models/node_modules/brace-expansion": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@tufjs/models/node_modules/minimatch": { - "version": "9.0.3", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/@types/babel__core": { - "version": "7.20.3", + "version": "7.20.5", "dev": true, "license": "MIT", "dependencies": { @@ -2271,7 +2024,7 @@ } }, "node_modules/@types/babel__generator": { - "version": "7.6.6", + "version": "7.6.8", "dev": true, "license": "MIT", "dependencies": { @@ -2279,7 +2032,7 @@ } }, "node_modules/@types/babel__template": { - "version": "7.4.3", + "version": "7.4.4", "dev": true, "license": "MIT", "dependencies": { @@ -2288,28 +2041,38 @@ } }, "node_modules/@types/babel__traverse": { - "version": "7.20.3", + "version": "7.20.6", "dev": true, "license": "MIT", "dependencies": { "@babel/types": "^7.20.7" } }, + "node_modules/@types/google-protobuf": { + "version": "3.15.12", + "dev": true, + "license": "MIT" + }, "node_modules/@types/graceful-fs": { - "version": "4.1.8", + "version": "4.1.9", "dev": true, "license": "MIT", "dependencies": { "@types/node": "*" } }, + "node_modules/@types/http-cache-semantics": { + "version": "4.0.4", + "dev": true, + "license": "MIT" + }, "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.4", + "version": "2.0.6", "dev": true, "license": "MIT" }, "node_modules/@types/istanbul-lib-report": { - "version": "3.0.0", + "version": "3.0.3", "dev": true, "license": "MIT", "dependencies": { @@ -2317,7 +2080,7 @@ } }, "node_modules/@types/istanbul-reports": { - "version": "3.0.1", + "version": "3.0.4", "dev": true, "license": "MIT", "dependencies": { @@ -2325,9 +2088,7 @@ } }, "node_modules/@types/jest": { - "version": "29.5.12", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.12.tgz", - "integrity": "sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==", + "version": "29.5.13", "dev": true, "license": "MIT", "dependencies": { @@ -2336,34 +2097,28 @@ } }, "node_modules/@types/node": { - "version": "20.14.10", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.10.tgz", - "integrity": "sha512-MdiXf+nDuMvY0gJKxyfZ7/6UFsETO7mGKF54MVD/ekJS6HdFtpZFBgrh6Pseu64XTb2MLyFPlbW6hj8HYRQNOQ==", + "version": "20.16.6", "license": "MIT", "dependencies": { - "undici-types": "~5.26.4" + "undici-types": "~6.19.2" } }, "node_modules/@types/semver-utils": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@types/semver-utils/-/semver-utils-1.1.3.tgz", - "integrity": "sha512-T+YwkslhsM+CeuhYUxyAjWm7mJ5am/K10UX40RuA6k6Lc7eGtq8iY2xOzy7Vq0GOqhl/xZl5l2FwURZMTPTUww==", "dev": true, "license": "MIT" }, "node_modules/@types/shimmer": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/shimmer/-/shimmer-1.0.5.tgz", - "integrity": "sha512-9Hp0ObzwwO57DpLFF0InUjUm/II8GmKAvzbefxQTihCb7KI6yc9yzf0nLc4mVdby5N4DRCgQM2wCup9KTieeww==", + "version": "1.2.0", "license": "MIT" }, "node_modules/@types/stack-utils": { - "version": "2.0.1", + "version": "2.0.3", "dev": true, "license": "MIT" }, "node_modules/@types/yargs": { - "version": "17.0.12", + "version": "17.0.33", "dev": true, "license": "MIT", "dependencies": { @@ -2371,22 +2126,20 @@ } }, "node_modules/@types/yargs-parser": { - "version": "21.0.0", + "version": "21.0.3", "dev": true, "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.15.0.tgz", - "integrity": "sha512-uiNHpyjZtFrLwLDpHnzaDlP3Tt6sGMqTCiqmxaN4n4RP0EfYZDODJyddiFDF44Hjwxr5xAcaYxVKm9QKQFJFLA==", + "version": "7.18.0", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "7.15.0", - "@typescript-eslint/type-utils": "7.15.0", - "@typescript-eslint/utils": "7.15.0", - "@typescript-eslint/visitor-keys": "7.15.0", + "@typescript-eslint/scope-manager": "7.18.0", + "@typescript-eslint/type-utils": "7.18.0", + "@typescript-eslint/utils": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", @@ -2410,16 +2163,14 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.15.0.tgz", - "integrity": "sha512-k9fYuQNnypLFcqORNClRykkGOMOj+pV6V91R4GO/l1FDGwpqmSwoOQrOHo3cGaH63e+D3ZiCAOsuS/D2c99j/A==", + "version": "7.18.0", "dev": true, "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/scope-manager": "7.15.0", - "@typescript-eslint/types": "7.15.0", - "@typescript-eslint/typescript-estree": "7.15.0", - "@typescript-eslint/visitor-keys": "7.15.0", + "@typescript-eslint/scope-manager": "7.18.0", + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/typescript-estree": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", "debug": "^4.3.4" }, "engines": { @@ -2439,14 +2190,12 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.15.0.tgz", - "integrity": "sha512-Q/1yrF/XbxOTvttNVPihxh1b9fxamjEoz2Os/Pe38OHwxC24CyCqXxGTOdpb4lt6HYtqw9HetA/Rf6gDGaMPlw==", + "version": "7.18.0", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "7.15.0", - "@typescript-eslint/visitor-keys": "7.15.0" + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0" }, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -2457,14 +2206,12 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.15.0.tgz", - "integrity": "sha512-SkgriaeV6PDvpA6253PDVep0qCqgbO1IOBiycjnXsszNTVQe5flN5wR5jiczoEoDEnAqYFSFFc9al9BSGVltkg==", + "version": "7.18.0", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "7.15.0", - "@typescript-eslint/utils": "7.15.0", + "@typescript-eslint/typescript-estree": "7.18.0", + "@typescript-eslint/utils": "7.18.0", "debug": "^4.3.4", "ts-api-utils": "^1.3.0" }, @@ -2485,9 +2232,7 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.15.0.tgz", - "integrity": "sha512-aV1+B1+ySXbQH0pLK0rx66I3IkiZNidYobyfn0WFsdGhSXw+P3YOqeTq5GED458SfB24tg+ux3S+9g118hjlTw==", + "version": "7.18.0", "dev": true, "license": "MIT", "engines": { @@ -2499,14 +2244,12 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.15.0.tgz", - "integrity": "sha512-gjyB/rHAopL/XxfmYThQbXbzRMGhZzGw6KpcMbfe8Q3nNQKStpxnUKeXb0KiN/fFDR42Z43szs6rY7eHk0zdGQ==", + "version": "7.18.0", "dev": true, "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/types": "7.15.0", - "@typescript-eslint/visitor-keys": "7.15.0", + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -2527,43 +2270,15 @@ } } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/@typescript-eslint/utils": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.15.0.tgz", - "integrity": "sha512-hfDMDqaqOqsUVGiEPSMLR/AjTSCsmJwjpKkYQRo1FNbmW4tBwBspYDwO9eh7sKSTwMQgBw9/T4DHudPaqshRWA==", + "version": "7.18.0", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "7.15.0", - "@typescript-eslint/types": "7.15.0", - "@typescript-eslint/typescript-estree": "7.15.0" + "@typescript-eslint/scope-manager": "7.18.0", + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/typescript-estree": "7.18.0" }, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -2577,13 +2292,11 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.15.0.tgz", - "integrity": "sha512-Hqgy/ETgpt2L5xueA/zHHIl4fJI2O4XUE9l4+OIfbJIRSnTJb/QscncdqqZzofQegIJugRIF57OJea1khw2SDw==", + "version": "7.18.0", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "7.15.0", + "@typescript-eslint/types": "7.18.0", "eslint-visitor-keys": "^3.4.3" }, "engines": { @@ -2606,8 +2319,6 @@ }, "node_modules/acorn": { "version": "8.12.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", - "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", "license": "MIT", "bin": { "acorn": "bin/acorn" @@ -2618,8 +2329,6 @@ }, "node_modules/acorn-import-attributes": { "version": "1.9.5", - "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", - "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", "license": "MIT", "peerDependencies": { "acorn": "^8" @@ -2627,8 +2336,6 @@ }, "node_modules/acorn-jsx": { "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, "license": "MIT", "peerDependencies": { @@ -2671,8 +2378,6 @@ }, "node_modules/ajv": { "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "license": "MIT", "dependencies": { @@ -2708,6 +2413,17 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/ansi-regex": { "version": "5.0.1", "license": "MIT", @@ -2716,11 +2432,13 @@ } }, "node_modules/ansi-styles": { - "version": "5.2.0", - "dev": true, + "version": "4.3.0", "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { - "node": ">=10" + "node": ">=8" }, "funding": { "url": "https://github.com/chalk/ansi-styles?sponsor=1" @@ -2784,6 +2502,11 @@ "node": ">=8" } }, + "node_modules/async": { + "version": "3.2.6", + "dev": true, + "license": "MIT" + }, "node_modules/babel-jest": { "version": "29.7.0", "dev": true, @@ -2804,50 +2527,44 @@ "@babel/core": "^7.8.0" } }, - "node_modules/babel-jest/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", "dependencies": { - "color-convert": "^2.0.1" + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" }, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/babel-jest/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/babel-plugin-istanbul": { - "version": "6.1.1", + "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": { + "version": "5.2.1", "dev": true, "license": "BSD-3-Clause", "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" }, "engines": { "node": ">=8" } }, + "node_modules/babel-plugin-istanbul/node_modules/semver": { + "version": "6.3.1", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/babel-plugin-jest-hoist": { "version": "29.6.3", "dev": true, @@ -2863,22 +2580,25 @@ } }, "node_modules/babel-preset-current-node-syntax": { - "version": "1.0.1", + "version": "1.1.0", "dev": true, "license": "MIT", "dependencies": { "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-import-attributes": "^7.24.7", + "@babel/plugin-syntax-import-meta": "^7.10.4", "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.8.3" + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5" }, "peerDependencies": { "@babel/core": "^7.0.0" @@ -2916,18 +2636,18 @@ "license": "MIT" }, "node_modules/boxen": { - "version": "7.0.0", + "version": "7.1.1", "dev": true, "license": "MIT", "dependencies": { "ansi-align": "^3.0.1", - "camelcase": "^7.0.0", - "chalk": "^5.0.1", + "camelcase": "^7.0.1", + "chalk": "^5.2.0", "cli-boxes": "^3.0.0", "string-width": "^5.1.2", "type-fest": "^2.13.0", "widest-line": "^4.0.1", - "wrap-ansi": "^8.0.1" + "wrap-ansi": "^8.1.0" }, "engines": { "node": ">=14.16" @@ -2937,7 +2657,7 @@ } }, "node_modules/boxen/node_modules/ansi-regex": { - "version": "6.0.1", + "version": "6.1.0", "dev": true, "license": "MIT", "engines": { @@ -2948,7 +2668,7 @@ } }, "node_modules/boxen/node_modules/camelcase": { - "version": "7.0.0", + "version": "7.0.1", "dev": true, "license": "MIT", "engines": { @@ -2958,6 +2678,17 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/boxen/node_modules/chalk": { + "version": "5.3.0", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, "node_modules/boxen/node_modules/emoji-regex": { "version": "9.2.2", "dev": true, @@ -2980,7 +2711,7 @@ } }, "node_modules/boxen/node_modules/strip-ansi": { - "version": "7.0.1", + "version": "7.1.0", "dev": true, "license": "MIT", "dependencies": { @@ -3005,27 +2736,26 @@ } }, "node_modules/brace-expansion": { - "version": "1.1.11", + "version": "2.0.1", "dev": true, "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "balanced-match": "^1.0.0" } }, "node_modules/braces": { - "version": "3.0.2", + "version": "3.0.3", "dev": true, "license": "MIT", "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" } }, "node_modules/browserslist": { - "version": "4.21.4", + "version": "4.23.3", "dev": true, "funding": [ { @@ -3035,14 +2765,18 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001400", - "electron-to-chromium": "^1.4.251", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.9" + "caniuse-lite": "^1.0.30001646", + "electron-to-chromium": "^1.5.4", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.0" }, "bin": { "browserslist": "cli.js" @@ -3075,14 +2809,6 @@ "dev": true, "license": "MIT" }, - "node_modules/builtins": { - "version": "5.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "semver": "^7.0.0" - } - }, "node_modules/cacache": { "version": "17.1.4", "dev": true, @@ -3105,16 +2831,8 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/cacache/node_modules/brace-expansion": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, "node_modules/cacache/node_modules/foreground-child": { - "version": "3.1.1", + "version": "3.3.0", "dev": true, "license": "ISC", "dependencies": { @@ -3129,42 +2847,34 @@ } }, "node_modules/cacache/node_modules/glob": { - "version": "10.3.10", + "version": "10.4.5", "dev": true, "license": "ISC", "dependencies": { "foreground-child": "^3.1.0", - "jackspeak": "^2.3.5", - "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" }, "bin": { "glob": "dist/esm/bin.mjs" }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/cacache/node_modules/minimatch": { - "version": "9.0.3", + "node_modules/cacache/node_modules/lru-cache": { + "version": "7.18.3", "dev": true, "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=12" } }, "node_modules/cacache/node_modules/minipass": { - "version": "7.0.4", + "version": "7.1.2", "dev": true, "license": "ISC", "engines": { @@ -3183,23 +2893,24 @@ } }, "node_modules/cacheable-lookup": { - "version": "6.1.0", + "version": "7.0.0", "dev": true, "license": "MIT", "engines": { - "node": ">=10.6.0" + "node": ">=14.16" } }, "node_modules/cacheable-request": { - "version": "10.1.2", + "version": "10.2.14", "dev": true, "license": "MIT", "dependencies": { + "@types/http-cache-semantics": "^4.0.2", "get-stream": "^6.0.1", - "http-cache-semantics": "^4.1.0", - "keyv": "^4.5.0", + "http-cache-semantics": "^4.1.1", + "keyv": "^4.5.3", "mimic-response": "^4.0.0", - "normalize-url": "^7.1.0", + "normalize-url": "^8.0.0", "responselike": "^3.0.0" }, "engines": { @@ -3220,6 +2931,28 @@ "node": ">=8" } }, + "node_modules/caching-transform/node_modules/make-dir": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/caching-transform/node_modules/semver": { + "version": "6.3.1", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/caching-transform/node_modules/write-file-atomic": { "version": "3.0.3", "dev": true, @@ -3248,7 +2981,7 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001407", + "version": "1.0.30001663", "dev": true, "funding": [ { @@ -3258,16 +2991,24 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], "license": "CC-BY-4.0" }, "node_modules/chalk": { - "version": "5.3.0", + "version": "4.1.2", "dev": true, "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" + "node": ">=10" }, "funding": { "url": "https://github.com/chalk/chalk?sponsor=1" @@ -3290,12 +3031,21 @@ } }, "node_modules/ci-info": { - "version": "3.4.0", + "version": "3.9.0", "dev": true, - "license": "MIT" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } }, "node_modules/cjs-module-lexer": { - "version": "1.2.3", + "version": "1.4.1", "license": "MIT" }, "node_modules/clean-stack": { @@ -3318,7 +3068,7 @@ } }, "node_modules/cli-table3": { - "version": "0.6.3", + "version": "0.6.5", "dev": true, "license": "MIT", "dependencies": { @@ -3343,19 +3093,6 @@ "node": ">=12" } }, - "node_modules/cliui/node_modules/ansi-styles": { - "version": "4.3.0", - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "node_modules/cliui/node_modules/wrap-ansi": { "version": "7.0.0", "license": "MIT", @@ -3434,6 +3171,11 @@ "proto-list": "~1.2.1" } }, + "node_modules/config-chain/node_modules/ini": { + "version": "1.3.8", + "dev": true, + "license": "ISC" + }, "node_modules/configstore": { "version": "6.0.0", "dev": true, @@ -3469,12 +3211,9 @@ "license": "ISC" }, "node_modules/convert-source-map": { - "version": "1.8.0", + "version": "2.0.0", "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.1" - } + "license": "MIT" }, "node_modules/create-jest": { "version": "29.7.0", @@ -3496,35 +3235,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/create-jest/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/create-jest/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, "node_modules/cross-spawn": { "version": "7.0.3", "dev": true, @@ -3564,10 +3274,10 @@ } }, "node_modules/debug": { - "version": "4.3.4", + "version": "4.3.7", "license": "MIT", "dependencies": { - "ms": "2.1.2" + "ms": "^2.1.3" }, "engines": { "node": ">=6.0" @@ -3612,7 +3322,7 @@ } }, "node_modules/dedent": { - "version": "1.5.1", + "version": "1.5.3", "dev": true, "license": "MIT", "peerDependencies": { @@ -3729,8 +3439,22 @@ "dev": true, "license": "MIT" }, + "node_modules/ejs": { + "version": "3.1.10", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/electron-to-chromium": { - "version": "1.4.255", + "version": "1.5.28", "dev": true, "license": "ISC" }, @@ -3785,7 +3509,7 @@ "license": "MIT" }, "node_modules/escalade": { - "version": "3.1.1", + "version": "3.2.0", "license": "MIT", "engines": { "node": ">=6" @@ -3814,17 +3538,15 @@ } }, "node_modules/eslint": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", - "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", + "version": "8.57.1", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.57.0", - "@humanwhocodes/config-array": "^0.11.14", + "@eslint/js": "8.57.1", + "@humanwhocodes/config-array": "^0.13.0", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "@ungap/structured-clone": "^1.2.0", @@ -3895,64 +3617,28 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/eslint/node_modules/chalk": { - "version": "4.1.2", + "node_modules/eslint/node_modules/brace-expansion": { + "version": "1.1.11", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/eslint/node_modules/globals": { - "version": "13.20.0", + "node_modules/eslint/node_modules/minimatch": { + "version": "3.1.2", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" + "brace-expansion": "^1.1.7" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/type-fest": { - "version": "0.20.2", - "dev": true, - "license": "(MIT OR CC0-1.0)", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "*" } }, "node_modules/espree": { "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -3980,7 +3666,7 @@ } }, "node_modules/esquery": { - "version": "1.5.0", + "version": "1.6.0", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -4068,13 +3754,11 @@ }, "node_modules/fast-deep-equal": { "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true, "license": "MIT" }, "node_modules/fast-glob": { - "version": "3.2.12", + "version": "3.3.2", "dev": true, "license": "MIT", "dependencies": { @@ -4115,7 +3799,7 @@ "license": "MIT" }, "node_modules/fastq": { - "version": "1.13.0", + "version": "1.17.1", "dev": true, "license": "ISC", "dependencies": { @@ -4145,8 +3829,27 @@ "version": "1.0.0", "license": "MIT" }, + "node_modules/filelist": { + "version": "1.0.4", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/fill-range": { - "version": "7.0.1", + "version": "7.1.1", "dev": true, "license": "MIT", "dependencies": { @@ -4172,6 +3875,28 @@ "url": "https://github.com/avajs/find-cache-dir?sponsor=1" } }, + "node_modules/find-cache-dir/node_modules/make-dir": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/find-cache-dir/node_modules/semver": { + "version": "6.3.1", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/find-up": { "version": "5.0.0", "dev": true, @@ -4188,11 +3913,12 @@ } }, "node_modules/flat-cache": { - "version": "3.0.4", + "version": "3.2.0", "dev": true, "license": "MIT", "dependencies": { - "flatted": "^3.1.0", + "flatted": "^3.2.9", + "keyv": "^4.5.3", "rimraf": "^3.0.2" }, "engines": { @@ -4200,7 +3926,7 @@ } }, "node_modules/flatted": { - "version": "3.2.7", + "version": "3.3.1", "dev": true, "license": "ISC" }, @@ -4217,7 +3943,7 @@ } }, "node_modules/form-data-encoder": { - "version": "2.1.2", + "version": "2.1.4", "dev": true, "license": "MIT", "engines": { @@ -4263,7 +3989,7 @@ } }, "node_modules/fs-minipass/node_modules/minipass": { - "version": "7.0.4", + "version": "7.1.2", "dev": true, "license": "ISC", "engines": { @@ -4375,8 +4101,28 @@ "node": ">=10.13.0" } }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/global-dirs": { - "version": "3.0.0", + "version": "3.0.1", "dev": true, "license": "MIT", "dependencies": { @@ -4398,11 +4144,17 @@ } }, "node_modules/globals": { - "version": "11.12.0", + "version": "13.24.0", "dev": true, "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, "engines": { - "node": ">=4" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/globby": { @@ -4424,15 +4176,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/google-protobuf": { + "version": "3.21.4", + "license": "(BSD-3-Clause AND Apache-2.0)" + }, "node_modules/got": { - "version": "12.5.0", + "version": "12.6.1", "dev": true, "license": "MIT", "dependencies": { "@sindresorhus/is": "^5.2.0", "@szmarczak/http-timer": "^5.0.1", - "cacheable-lookup": "^6.0.4", - "cacheable-request": "^10.1.2", + "cacheable-lookup": "^7.0.0", + "cacheable-request": "^10.2.8", "decompress-response": "^6.0.0", "form-data-encoder": "^2.1.2", "get-stream": "^6.0.1", @@ -4449,7 +4205,7 @@ } }, "node_modules/graceful-fs": { - "version": "4.2.10", + "version": "4.2.11", "dev": true, "license": "ISC" }, @@ -4506,7 +4262,7 @@ } }, "node_modules/hasown": { - "version": "2.0.0", + "version": "2.0.2", "license": "MIT", "dependencies": { "function-bind": "^1.1.2" @@ -4526,6 +4282,14 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, + "node_modules/hosted-git-info/node_modules/lru-cache": { + "version": "7.18.3", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, "node_modules/html-escaper": { "version": "2.0.2", "dev": true, @@ -4550,7 +4314,7 @@ } }, "node_modules/http2-wrapper": { - "version": "2.1.11", + "version": "2.2.1", "dev": true, "license": "MIT", "dependencies": { @@ -4590,13 +4354,11 @@ } }, "node_modules/husky": { - "version": "9.0.11", - "resolved": "https://registry.npmjs.org/husky/-/husky-9.0.11.tgz", - "integrity": "sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw==", + "version": "9.1.6", "dev": true, "license": "MIT", "bin": { - "husky": "bin.mjs" + "husky": "bin.js" }, "engines": { "node": ">=18" @@ -4618,9 +4380,7 @@ } }, "node_modules/ignore": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", - "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "version": "5.3.2", "dev": true, "license": "MIT", "engines": { @@ -4628,7 +4388,7 @@ } }, "node_modules/ignore-walk": { - "version": "6.0.3", + "version": "6.0.5", "dev": true, "license": "ISC", "dependencies": { @@ -4638,32 +4398,8 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/ignore-walk/node_modules/brace-expansion": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/ignore-walk/node_modules/minimatch": { - "version": "9.0.3", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/import-fresh": { "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, "license": "MIT", "dependencies": { @@ -4679,8 +4415,6 @@ }, "node_modules/import-in-the-middle": { "version": "1.7.4", - "resolved": "https://registry.npmjs.org/import-in-the-middle/-/import-in-the-middle-1.7.4.tgz", - "integrity": "sha512-Lk+qzWmiQuRPPulGQeK5qq0v32k2bHnWrRPFgqyvhw7Kkov5L6MOLOIU3pcWeujc9W4q54Cp3Q2WV16eQkc7Bg==", "license": "Apache-2.0", "dependencies": { "acorn": "^8.8.2", @@ -4698,7 +4432,7 @@ } }, "node_modules/import-local": { - "version": "3.1.0", + "version": "3.2.0", "dev": true, "license": "MIT", "dependencies": { @@ -4751,14 +4485,24 @@ "license": "ISC" }, "node_modules/ini": { - "version": "1.3.8", + "version": "4.1.3", "dev": true, - "license": "ISC" + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } }, - "node_modules/ip": { - "version": "2.0.0", + "node_modules/ip-address": { + "version": "9.0.5", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "jsbn": "1.1.0", + "sprintf-js": "^1.1.3" + }, + "engines": { + "node": ">= 12" + } }, "node_modules/is-arrayish": { "version": "0.2.1", @@ -4777,10 +4521,13 @@ } }, "node_modules/is-core-module": { - "version": "2.13.1", + "version": "2.15.1", "license": "MIT", "dependencies": { - "hasown": "^2.0.0" + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -4900,7 +4647,7 @@ } }, "node_modules/is-yarn-global": { - "version": "0.4.0", + "version": "0.4.1", "dev": true, "license": "MIT", "engines": { @@ -4913,7 +4660,7 @@ "license": "ISC" }, "node_modules/istanbul-lib-coverage": { - "version": "3.2.0", + "version": "3.2.2", "dev": true, "license": "BSD-3-Clause", "engines": { @@ -4932,26 +4679,18 @@ } }, "node_modules/istanbul-lib-instrument": { - "version": "5.2.1", + "version": "6.0.3", "dev": true, "license": "BSD-3-Clause", "dependencies": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", + "@babel/core": "^7.23.9", + "@babel/parser": "^7.23.9", + "@istanbuljs/schema": "^0.1.3", "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" + "semver": "^7.5.4" }, "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "6.3.0", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "node": ">=10" } }, "node_modules/istanbul-lib-processinfo": { @@ -4982,16 +4721,16 @@ } }, "node_modules/istanbul-lib-report": { - "version": "3.0.0", + "version": "3.0.1", "dev": true, "license": "BSD-3-Clause", "dependencies": { "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", + "make-dir": "^4.0.0", "supports-color": "^7.1.0" }, "engines": { - "node": ">=8" + "node": ">=10" } }, "node_modules/istanbul-lib-source-maps": { @@ -5008,7 +4747,7 @@ } }, "node_modules/istanbul-reports": { - "version": "3.1.5", + "version": "3.1.7", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -5020,15 +4759,12 @@ } }, "node_modules/jackspeak": { - "version": "2.3.6", + "version": "3.4.3", "dev": true, "license": "BlueOak-1.0.0", "dependencies": { "@isaacs/cliui": "^8.0.2" }, - "engines": { - "node": ">=14" - }, "funding": { "url": "https://github.com/sponsors/isaacs" }, @@ -5036,6 +4772,43 @@ "@pkgjs/parseargs": "^0.11.0" } }, + "node_modules/jake": { + "version": "10.9.2", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jake/node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/jake/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/jest": { "version": "29.7.0", "dev": true, @@ -5104,35 +4877,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-circus/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-circus/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, "node_modules/jest-cli": { "version": "29.7.0", "dev": true, @@ -5165,35 +4909,6 @@ } } }, - "node_modules/jest-cli/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-cli/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, "node_modules/jest-config": { "version": "29.7.0", "dev": true, @@ -5238,35 +4953,6 @@ } } }, - "node_modules/jest-config/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-config/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, "node_modules/jest-diff": { "version": "29.7.0", "dev": true, @@ -5281,35 +4967,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-diff/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-diff/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, "node_modules/jest-docblock": { "version": "29.7.0", "dev": true, @@ -5336,35 +4993,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-each/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-each/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, "node_modules/jest-environment-node": { "version": "29.7.0", "dev": true, @@ -5439,35 +5067,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-matcher-utils/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-matcher-utils/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, "node_modules/jest-message-util": { "version": "29.7.0", "dev": true, @@ -5487,35 +5086,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-message-util/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-message-util/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, "node_modules/jest-mock": { "version": "29.7.0", "dev": true, @@ -5584,35 +5154,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-resolve/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-resolve/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, "node_modules/jest-runner": { "version": "29.7.0", "dev": true, @@ -5644,44 +5185,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-runner/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-runner/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-runner/node_modules/source-map-support": { - "version": "0.5.13", - "dev": true, - "license": "MIT", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, "node_modules/jest-runtime": { "version": "29.7.0", "dev": true, @@ -5714,35 +5217,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-runtime/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-runtime/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, "node_modules/jest-snapshot": { "version": "29.7.0", "dev": true, @@ -5765,41 +5239,12 @@ "jest-matcher-utils": "^29.7.0", "jest-message-util": "^29.7.0", "jest-util": "^29.7.0", - "natural-compare": "^1.4.0", - "pretty-format": "^29.7.0", - "semver": "^7.5.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-snapshot/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "natural-compare": "^1.4.0", + "pretty-format": "^29.7.0", + "semver": "^7.5.3" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-util": { @@ -5818,35 +5263,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-util/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-util/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, "node_modules/jest-validate": { "version": "29.7.0", "dev": true, @@ -5863,20 +5279,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-validate/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "node_modules/jest-validate/node_modules/camelcase": { "version": "6.3.0", "dev": true, @@ -5888,21 +5290,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-validate/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, "node_modules/jest-watcher": { "version": "29.7.0", "dev": true, @@ -5921,35 +5308,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-watcher/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-watcher/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, "node_modules/jest-worker": { "version": "29.7.0", "dev": true, @@ -5999,6 +5357,11 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/jsbn": { + "version": "1.1.0", + "dev": true, + "license": "MIT" + }, "node_modules/jsesc": { "version": "2.5.2", "dev": true, @@ -6030,8 +5393,6 @@ }, "node_modules/json-schema-traverse": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true, "license": "MIT" }, @@ -6065,7 +5426,7 @@ "license": "MIT" }, "node_modules/keyv": { - "version": "4.5.0", + "version": "4.5.4", "dev": true, "license": "MIT", "dependencies": { @@ -6140,8 +5501,6 @@ }, "node_modules/lodash.camelcase": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", "license": "MIT" }, "node_modules/lodash.flattendeep": { @@ -6160,8 +5519,6 @@ }, "node_modules/long": { "version": "5.2.3", - "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz", - "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==", "license": "Apache-2.0" }, "node_modules/lowercase-keys": { @@ -6176,35 +5533,27 @@ } }, "node_modules/lru-cache": { - "version": "7.14.1", + "version": "5.1.1", "dev": true, "license": "ISC", - "engines": { - "node": ">=12" + "dependencies": { + "yallist": "^3.0.2" } }, "node_modules/make-dir": { - "version": "3.1.0", + "version": "4.0.0", "dev": true, "license": "MIT", "dependencies": { - "semver": "^6.0.0" + "semver": "^7.5.3" }, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/make-dir/node_modules/semver": { - "version": "6.3.0", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/make-error": { "version": "1.3.6", "dev": true, @@ -6235,6 +5584,14 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, + "node_modules/make-fetch-happen/node_modules/lru-cache": { + "version": "7.18.3", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, "node_modules/makeerror": { "version": "1.0.12", "dev": true, @@ -6257,11 +5614,11 @@ } }, "node_modules/micromatch": { - "version": "4.0.5", + "version": "4.0.8", "dev": true, "license": "MIT", "dependencies": { - "braces": "^3.0.2", + "braces": "^3.0.3", "picomatch": "^2.3.1" }, "engines": { @@ -6288,20 +5645,26 @@ } }, "node_modules/minimatch": { - "version": "3.1.2", + "version": "9.0.5", "dev": true, "license": "ISC", "dependencies": { - "brace-expansion": "^1.1.7" + "brace-expansion": "^2.0.1" }, "engines": { - "node": "*" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/minimist": { - "version": "1.2.6", + "version": "1.2.8", "dev": true, - "license": "MIT" + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/minipass": { "version": "5.0.0", @@ -6333,8 +5696,13 @@ "node": ">=8" } }, + "node_modules/minipass-collect/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, "node_modules/minipass-fetch": { - "version": "3.0.4", + "version": "3.0.5", "dev": true, "license": "MIT", "dependencies": { @@ -6350,7 +5718,7 @@ } }, "node_modules/minipass-fetch/node_modules/minipass": { - "version": "7.0.4", + "version": "7.1.2", "dev": true, "license": "ISC", "engines": { @@ -6379,8 +5747,13 @@ "node": ">=8" } }, + "node_modules/minipass-flush/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, "node_modules/minipass-json-stream": { - "version": "1.0.1", + "version": "1.0.2", "dev": true, "license": "MIT", "dependencies": { @@ -6399,6 +5772,11 @@ "node": ">=8" } }, + "node_modules/minipass-json-stream/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, "node_modules/minipass-pipeline": { "version": "1.2.4", "dev": true, @@ -6421,6 +5799,11 @@ "node": ">=8" } }, + "node_modules/minipass-pipeline/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, "node_modules/minipass-sized": { "version": "1.0.3", "dev": true, @@ -6443,6 +5826,11 @@ "node": ">=8" } }, + "node_modules/minipass-sized/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, "node_modules/minizlib": { "version": "2.1.2", "dev": true, @@ -6466,31 +5854,21 @@ "node": ">=8" } }, - "node_modules/mkdirp": { - "version": "1.0.4", + "node_modules/minizlib/node_modules/yallist": { + "version": "4.0.0", "dev": true, - "license": "MIT", - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } + "license": "ISC" }, "node_modules/module-details-from-path": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/module-details-from-path/-/module-details-from-path-1.0.3.tgz", - "integrity": "sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A==", "license": "MIT" }, "node_modules/ms": { - "version": "2.1.2", + "version": "2.1.3", "license": "MIT" }, "node_modules/nan": { "version": "2.20.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.20.0.tgz", - "integrity": "sha512-bk3gXBZDGILuuo/6sKtr0DQmSThYHLtNCdSdXk9YkxD/jK6X2vmCyyXBBxyqZ4XcnzTyYEAThfX3DCEnLf6igw==", "license": "MIT" }, "node_modules/natural-compare": { @@ -6542,14 +5920,6 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/node-gyp/node_modules/brace-expansion": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, "node_modules/node-gyp/node_modules/cacache": { "version": "16.1.3", "dev": true, @@ -6607,6 +5977,14 @@ "node": ">= 8" } }, + "node_modules/node-gyp/node_modules/lru-cache": { + "version": "7.18.3", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, "node_modules/node-gyp/node_modules/make-fetch-happen": { "version": "10.2.1", "dev": true, @@ -6671,6 +6049,17 @@ "encoding": "^0.1.13" } }, + "node_modules/node-gyp/node_modules/mkdirp": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/node-gyp/node_modules/ssri": { "version": "9.0.1", "dev": true, @@ -6704,6 +6093,11 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, + "node_modules/node-gyp/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, "node_modules/node-int64": { "version": "0.4.0", "dev": true, @@ -6721,9 +6115,7 @@ } }, "node_modules/node-rdkafka": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/node-rdkafka/-/node-rdkafka-3.0.1.tgz", - "integrity": "sha512-USTFu7ylRj+fEiGz0hA92GWSqmX/hu/xSTqtgmInPPmh5zKhjauTciRjDEG3yK5m6yChwyHKQTIgmr56DfhiaQ==", + "version": "v3.0.1", "hasInstallScript": true, "license": "MIT", "dependencies": { @@ -6735,7 +6127,7 @@ } }, "node_modules/node-releases": { - "version": "2.0.6", + "version": "2.0.18", "dev": true, "license": "MIT" }, @@ -6778,6 +6170,14 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, + "node_modules/normalize-package-data/node_modules/lru-cache": { + "version": "7.18.3", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, "node_modules/normalize-path": { "version": "3.0.0", "dev": true, @@ -6787,18 +6187,18 @@ } }, "node_modules/normalize-url": { - "version": "7.1.0", + "version": "8.0.1", "dev": true, "license": "MIT", "engines": { - "node": ">=12.20" + "node": ">=14.16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/npm-bundled": { - "version": "3.0.0", + "version": "3.0.1", "dev": true, "license": "ISC", "dependencies": { @@ -6810,8 +6210,6 @@ }, "node_modules/npm-check-updates": { "version": "16.14.20", - "resolved": "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-16.14.20.tgz", - "integrity": "sha512-sYbIhun4DrjO7NFOTdvs11nCar0etEhZTsEjL47eM0TuiGMhmYughRCxG2SpGRmGAQ7AkwN7bw2lWzoE7q6yOQ==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -6858,7 +6256,7 @@ } }, "node_modules/npm-check-updates/node_modules/ansi-regex": { - "version": "6.0.1", + "version": "6.1.0", "dev": true, "license": "MIT", "engines": { @@ -6868,16 +6266,19 @@ "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/npm-check-updates/node_modules/brace-expansion": { - "version": "2.0.1", + "node_modules/npm-check-updates/node_modules/chalk": { + "version": "5.3.0", "dev": true, "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, "node_modules/npm-check-updates/node_modules/foreground-child": { - "version": "3.1.1", + "version": "3.3.0", "dev": true, "license": "ISC", "dependencies": { @@ -6892,50 +6293,34 @@ } }, "node_modules/npm-check-updates/node_modules/glob": { - "version": "10.3.10", + "version": "10.4.5", "dev": true, "license": "ISC", "dependencies": { "foreground-child": "^3.1.0", - "jackspeak": "^2.3.5", - "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" }, "bin": { "glob": "dist/esm/bin.mjs" }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/npm-check-updates/node_modules/ini": { - "version": "4.1.1", - "dev": true, - "license": "ISC", - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/npm-check-updates/node_modules/minimatch": { - "version": "9.0.3", + "node_modules/npm-check-updates/node_modules/minipass": { + "version": "7.1.2", "dev": true, "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, "engines": { "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" } }, "node_modules/npm-check-updates/node_modules/rimraf": { - "version": "5.0.5", + "version": "5.0.10", "dev": true, "license": "ISC", "dependencies": { @@ -6944,9 +6329,6 @@ "bin": { "rimraf": "dist/esm/bin.mjs" }, - "engines": { - "node": ">=14" - }, "funding": { "url": "https://github.com/sponsors/isaacs" } @@ -6962,6 +6344,15 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/npm-check-updates/node_modules/source-map-support": { + "version": "0.5.21", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, "node_modules/npm-check-updates/node_modules/strip-ansi": { "version": "7.1.0", "dev": true, @@ -7028,7 +6419,15 @@ "lru-cache": "^7.5.1" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-package-arg/node_modules/lru-cache": { + "version": "7.18.3", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" } }, "node_modules/npm-packlist": { @@ -7138,20 +6537,6 @@ "node": ">=8.9" } }, - "node_modules/nyc/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "node_modules/nyc/node_modules/cliui": { "version": "6.0.0", "dev": true, @@ -7162,6 +6547,11 @@ "wrap-ansi": "^6.2.0" } }, + "node_modules/nyc/node_modules/convert-source-map": { + "version": "1.9.0", + "dev": true, + "license": "MIT" + }, "node_modules/nyc/node_modules/find-up": { "version": "4.1.0", "dev": true, @@ -7199,6 +6589,20 @@ "node": ">=8" } }, + "node_modules/nyc/node_modules/make-dir": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/nyc/node_modules/p-limit": { "version": "2.3.0", "dev": true, @@ -7244,7 +6648,7 @@ } }, "node_modules/nyc/node_modules/semver": { - "version": "6.3.0", + "version": "6.3.1", "dev": true, "license": "ISC", "bin": { @@ -7325,16 +6729,16 @@ } }, "node_modules/optionator": { - "version": "0.9.3", + "version": "0.9.4", "dev": true, "license": "MIT", "dependencies": { - "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" }, "engines": { "node": ">= 0.8.0" @@ -7413,7 +6817,7 @@ } }, "node_modules/package-json": { - "version": "8.1.0", + "version": "8.1.1", "dev": true, "license": "MIT", "dependencies": { @@ -7429,6 +6833,11 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/package-json-from-dist": { + "version": "1.0.0", + "dev": true, + "license": "BlueOak-1.0.0" + }, "node_modules/pacote": { "version": "15.2.0", "dev": true, @@ -7462,8 +6871,6 @@ }, "node_modules/parent-module": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, "license": "MIT", "dependencies": { @@ -7474,14 +6881,14 @@ } }, "node_modules/parse-github-url": { - "version": "1.0.2", + "version": "1.0.3", "dev": true, "license": "MIT", "bin": { "parse-github-url": "cli.js" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.10" } }, "node_modules/parse-json": { @@ -7530,27 +6937,24 @@ "license": "MIT" }, "node_modules/path-scurry": { - "version": "1.10.1", + "version": "1.11.1", "dev": true, "license": "BlueOak-1.0.0", "dependencies": { - "lru-cache": "^9.1.1 || ^10.0.0", + "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=16 || 14 >=14.18" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.0.1", + "version": "10.4.3", "dev": true, - "license": "ISC", - "engines": { - "node": "14 || >=16.14" - } + "license": "ISC" }, "node_modules/path-type": { "version": "4.0.0", @@ -7561,7 +6965,7 @@ } }, "node_modules/picocolors": { - "version": "1.0.0", + "version": "1.1.0", "dev": true, "license": "ISC" }, @@ -7577,7 +6981,7 @@ } }, "node_modules/pirates": { - "version": "4.0.5", + "version": "4.0.6", "dev": true, "license": "MIT", "engines": { @@ -7664,6 +7068,17 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, "node_modules/proc-log": { "version": "3.0.0", "dev": true, @@ -7756,9 +7171,7 @@ "license": "ISC" }, "node_modules/protobufjs": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.3.2.tgz", - "integrity": "sha512-RXyHaACeqXeqAKGLDl68rQKbmObRsTIn4TYVUUug1KfS47YWCo5MacGITEryugIgZqORCvJWEk4l449POg5Txg==", + "version": "7.4.0", "hasInstallScript": true, "license": "BSD-3-Clause", "dependencies": { @@ -7779,10 +7192,20 @@ "node": ">=12.0.0" } }, + "node_modules/protoc-gen-ts": { + "version": "0.8.7", + "dev": true, + "license": "MIT", + "bin": { + "protoc-gen-ts": "protoc-gen-ts.js" + }, + "funding": { + "type": "individual", + "url": "https://www.buymeacoffee.com/thesayyn" + } + }, "node_modules/punycode": { "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "dev": true, "license": "MIT", "engines": { @@ -7804,7 +7227,7 @@ } }, "node_modules/pure-rand": { - "version": "6.0.4", + "version": "6.1.0", "dev": true, "funding": [ { @@ -7873,6 +7296,11 @@ "require-from-string": "^2.0.2" } }, + "node_modules/rc/node_modules/ini": { + "version": "1.3.8", + "dev": true, + "license": "ISC" + }, "node_modules/rc/node_modules/strip-json-comments": { "version": "2.0.1", "dev": true, @@ -7882,7 +7310,7 @@ } }, "node_modules/react-is": { - "version": "18.2.0", + "version": "18.3.1", "dev": true, "license": "MIT" }, @@ -7913,23 +7341,15 @@ } }, "node_modules/read-package-json-fast/node_modules/json-parse-even-better-errors": { - "version": "3.0.0", + "version": "3.0.2", "dev": true, "license": "MIT", "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/read-package-json/node_modules/brace-expansion": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, "node_modules/read-package-json/node_modules/foreground-child": { - "version": "3.1.1", + "version": "3.3.0", "dev": true, "license": "ISC", "dependencies": { @@ -7944,46 +7364,38 @@ } }, "node_modules/read-package-json/node_modules/glob": { - "version": "10.3.10", + "version": "10.4.5", "dev": true, "license": "ISC", "dependencies": { "foreground-child": "^3.1.0", - "jackspeak": "^2.3.5", - "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" }, "bin": { "glob": "dist/esm/bin.mjs" }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/read-package-json/node_modules/json-parse-even-better-errors": { - "version": "3.0.0", + "version": "3.0.2", "dev": true, "license": "MIT", "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/read-package-json/node_modules/minimatch": { - "version": "9.0.3", + "node_modules/read-package-json/node_modules/minipass": { + "version": "7.1.2", "dev": true, "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, "engines": { "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" } }, "node_modules/read-package-json/node_modules/signal-exit": { @@ -8011,11 +7423,11 @@ } }, "node_modules/registry-auth-token": { - "version": "5.0.1", + "version": "5.0.2", "dev": true, "license": "MIT", "dependencies": { - "@pnpm/npm-conf": "^1.0.4" + "@pnpm/npm-conf": "^2.1.0" }, "engines": { "node": ">=14" @@ -8070,14 +7482,12 @@ } }, "node_modules/require-in-the-middle": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-7.3.0.tgz", - "integrity": "sha512-nQFEv9gRw6SJAwWD2LrL0NmQvAcO7FBwJbwmr2ttPAacfy0xuiOjE5zt+zM4xDyuyvUaxBi/9gb2SoCyNEVJcw==", + "version": "7.4.0", "license": "MIT", "dependencies": { - "debug": "^4.1.1", + "debug": "^4.3.5", "module-details-from-path": "^1.0.3", - "resolve": "^1.22.1" + "resolve": "^1.22.8" }, "engines": { "node": ">=8.6.0" @@ -8129,8 +7539,6 @@ }, "node_modules/resolve-from": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true, "license": "MIT", "engines": { @@ -8213,8 +7621,22 @@ } }, "node_modules/safe-buffer": { - "version": "5.1.2", + "version": "5.2.1", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "license": "MIT" }, "node_modules/safer-buffer": { @@ -8224,9 +7646,7 @@ "optional": true }, "node_modules/semver": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", - "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "version": "7.6.3", "license": "ISC", "bin": { "semver": "bin/semver.js" @@ -8280,8 +7700,6 @@ }, "node_modules/shimmer": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/shimmer/-/shimmer-1.2.1.tgz", - "integrity": "sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==", "license": "BSD-2-Clause" }, "node_modules/signal-exit": { @@ -8330,15 +7748,15 @@ } }, "node_modules/socks": { - "version": "2.7.1", + "version": "2.8.3", "dev": true, "license": "MIT", "dependencies": { - "ip": "^2.0.0", + "ip-address": "^9.0.5", "smart-buffer": "^4.2.0" }, "engines": { - "node": ">= 10.13.0", + "node": ">= 10.0.0", "npm": ">= 3.0.0" } }, @@ -8364,7 +7782,7 @@ } }, "node_modules/source-map-support": { - "version": "0.5.21", + "version": "0.5.13", "dev": true, "license": "MIT", "dependencies": { @@ -8399,6 +7817,28 @@ "node": ">=8" } }, + "node_modules/spawn-wrap/node_modules/make-dir": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/spawn-wrap/node_modules/semver": { + "version": "6.3.1", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/spdx-correct": { "version": "3.2.0", "dev": true, @@ -8409,7 +7849,7 @@ } }, "node_modules/spdx-exceptions": { - "version": "2.3.0", + "version": "2.5.0", "dev": true, "license": "CC-BY-3.0" }, @@ -8423,17 +7863,17 @@ } }, "node_modules/spdx-license-ids": { - "version": "3.0.16", + "version": "3.0.20", "dev": true, "license": "CC0-1.0" }, "node_modules/sprintf-js": { - "version": "1.0.3", + "version": "1.1.3", "dev": true, "license": "BSD-3-Clause" }, "node_modules/ssri": { - "version": "10.0.5", + "version": "10.0.6", "dev": true, "license": "ISC", "dependencies": { @@ -8444,7 +7884,7 @@ } }, "node_modules/ssri/node_modules/minipass": { - "version": "7.0.4", + "version": "7.1.2", "dev": true, "license": "ISC", "engines": { @@ -8452,7 +7892,7 @@ } }, "node_modules/stack-utils": { - "version": "2.0.5", + "version": "2.0.6", "dev": true, "license": "MIT", "dependencies": { @@ -8478,25 +7918,6 @@ "safe-buffer": "~5.2.0" } }, - "node_modules/string_decoder/node_modules/safe-buffer": { - "version": "5.2.1", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, "node_modules/string-length": { "version": "4.0.2", "dev": true, @@ -8606,7 +8027,7 @@ } }, "node_modules/tar": { - "version": "6.2.0", + "version": "6.2.1", "dev": true, "license": "ISC", "dependencies": { @@ -8643,6 +8064,22 @@ "node": ">=8" } }, + "node_modules/tar/node_modules/mkdirp": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tar/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, "node_modules/tdigest": { "version": "0.1.2", "license": "MIT", @@ -8663,6 +8100,26 @@ "node": ">=8" } }, + "node_modules/test-exclude/node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/test-exclude/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/text-table": { "version": "0.2.0", "dev": true, @@ -8694,8 +8151,6 @@ }, "node_modules/ts-api-utils": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", - "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", "dev": true, "license": "MIT", "engines": { @@ -8706,20 +8161,19 @@ } }, "node_modules/ts-jest": { - "version": "29.1.5", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.5.tgz", - "integrity": "sha512-UuClSYxM7byvvYfyWdFI+/2UxMmwNyJb0NPkZPQE2hew3RurV7l7zURgOHAd/1I1ZdPpe3GUsXNXAcN8TFKSIg==", + "version": "29.2.5", "dev": true, "license": "MIT", "dependencies": { - "bs-logger": "0.x", - "fast-json-stable-stringify": "2.x", + "bs-logger": "^0.2.6", + "ejs": "^3.1.10", + "fast-json-stable-stringify": "^2.1.0", "jest-util": "^29.0.0", "json5": "^2.2.3", - "lodash.memoize": "4.x", - "make-error": "1.x", - "semver": "^7.5.3", - "yargs-parser": "^21.0.1" + "lodash.memoize": "^4.1.2", + "make-error": "^1.3.6", + "semver": "^7.6.3", + "yargs-parser": "^21.1.1" }, "bin": { "ts-jest": "cli.js" @@ -8754,9 +8208,7 @@ } }, "node_modules/tslib": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", - "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", + "version": "2.7.0", "dev": true, "license": "0BSD" }, @@ -8793,7 +8245,7 @@ } }, "node_modules/type-fest": { - "version": "0.21.3", + "version": "0.20.2", "dev": true, "license": "(MIT OR CC0-1.0)", "engines": { @@ -8812,9 +8264,7 @@ } }, "node_modules/typescript": { - "version": "5.5.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.3.tgz", - "integrity": "sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ==", + "version": "5.6.2", "dev": true, "license": "Apache-2.0", "bin": { @@ -8826,7 +8276,7 @@ } }, "node_modules/undici-types": { - "version": "5.26.5", + "version": "6.19.8", "license": "MIT" }, "node_modules/unique-filename": { @@ -8874,7 +8324,7 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.0.9", + "version": "1.1.0", "dev": true, "funding": [ { @@ -8884,15 +8334,19 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], "license": "MIT", "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" + "escalade": "^3.1.2", + "picocolors": "^1.0.1" }, "bin": { - "browserslist-lint": "cli.js" + "update-browserslist-db": "cli.js" }, "peerDependencies": { "browserslist": ">= 4.21.0" @@ -8925,10 +8379,19 @@ "url": "https://github.com/yeoman/update-notifier?sponsor=1" } }, + "node_modules/update-notifier/node_modules/chalk": { + "version": "5.3.0", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, "node_modules/uri-js": { "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -8949,7 +8412,7 @@ } }, "node_modules/v8-to-istanbul": { - "version": "9.1.3", + "version": "9.3.0", "dev": true, "license": "ISC", "dependencies": { @@ -8961,11 +8424,6 @@ "node": ">=10.12.0" } }, - "node_modules/v8-to-istanbul/node_modules/convert-source-map": { - "version": "2.0.0", - "dev": true, - "license": "MIT" - }, "node_modules/validate-npm-package-license": { "version": "3.0.4", "dev": true, @@ -8976,12 +8434,9 @@ } }, "node_modules/validate-npm-package-name": { - "version": "5.0.0", + "version": "5.0.1", "dev": true, "license": "ISC", - "dependencies": { - "builtins": "^5.0.0" - }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } @@ -9036,7 +8491,7 @@ } }, "node_modules/widest-line/node_modules/ansi-regex": { - "version": "6.0.1", + "version": "6.1.0", "dev": true, "license": "MIT", "engines": { @@ -9068,7 +8523,7 @@ } }, "node_modules/widest-line/node_modules/strip-ansi": { - "version": "7.0.1", + "version": "7.1.0", "dev": true, "license": "MIT", "dependencies": { @@ -9081,6 +8536,14 @@ "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, + "node_modules/word-wrap": { + "version": "1.2.5", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/wrap-ansi": { "version": "8.1.0", "dev": true, @@ -9114,22 +8577,8 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "6.0.1", + "version": "6.1.0", "dev": true, "license": "MIT", "engines": { @@ -9140,7 +8589,7 @@ } }, "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "6.1.1", + "version": "6.2.1", "dev": true, "license": "MIT", "engines": { @@ -9172,7 +8621,7 @@ } }, "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "7.0.1", + "version": "7.1.0", "dev": true, "license": "MIT", "dependencies": { @@ -9221,7 +8670,7 @@ } }, "node_modules/yallist": { - "version": "4.0.0", + "version": "3.1.1", "dev": true, "license": "ISC" }, @@ -9261,7 +8710,7 @@ }, "packages/messaging-types-lib": { "name": "@mojaloop/platform-shared-lib-messaging-types-lib", - "version": "0.6.2", + "version": "0.7.1", "license": "Apache-2.0", "devDependencies": { "eslint": "^8.57.0", @@ -9294,12 +8743,15 @@ "dependencies": { "@mojaloop/logging-bc-public-types-lib": "~0.5.4", "@mojaloop/platform-shared-lib-messaging-types-lib": "~0.6.2", + "google-protobuf": "^3.21.4", "node-rdkafka": "~3.0.1" }, "devDependencies": { + "@types/google-protobuf": "^3.15.12", "eslint": "^8.57.0", "jest": "^29.7.0", "npm-check-updates": "^16.14.18", + "protoc-gen-ts": "^0.8.7", "ts-jest": "^29.1.2", "tslib": "^2.6.2", "typescript": "^4.6.4" @@ -9308,6 +8760,13 @@ "node": ">=20.10.0" } }, + "packages/nodejs-kafka-client-lib/node_modules/@mojaloop/platform-shared-lib-messaging-types-lib": { + "version": "0.6.2", + "license": "Apache-2.0", + "engines": { + "node": ">=20.10.0" + } + }, "packages/nodejs-kafka-client-lib/node_modules/typescript": { "version": "4.9.5", "dev": true, @@ -9364,10 +8823,10 @@ }, "packages/public-messages-lib": { "name": "@mojaloop/platform-shared-lib-public-messages-lib", - "version": "0.5.24", + "version": "0.7.3", "license": "Apache-2.0", "dependencies": { - "@mojaloop/platform-shared-lib-messaging-types-lib": "~0.6.2" + "@mojaloop/platform-shared-lib-messaging-types-lib": "~0.7.0" }, "devDependencies": { "eslint": "^8.57.0", diff --git a/packages/nodejs-kafka-client-lib/generate-proto.ts b/packages/nodejs-kafka-client-lib/generate-proto.ts new file mode 100644 index 0000000..8d8fed4 --- /dev/null +++ b/packages/nodejs-kafka-client-lib/generate-proto.ts @@ -0,0 +1,20 @@ +const { execFileSync } = require('child_process'); +const path = require('path'); + +const protoDir = path.resolve(__dirname, 'src/protobuff'); +const protoFile = path.resolve(protoDir, 'messages.proto'); +const outDir = path.resolve(protoDir); + +const command = 'protoc'; +const args = [ + `--ts_out=service=true:${outDir}`, + `--proto_path=${protoDir}`, + protoFile +]; + +try { + execFileSync(command, args, { stdio: 'inherit' }); +} catch (error) { + console.error('Error executing command:', error); + process.exit(1); +} diff --git a/packages/nodejs-kafka-client-lib/package.json b/packages/nodejs-kafka-client-lib/package.json index 305c670..b33a9ce 100644 --- a/packages/nodejs-kafka-client-lib/package.json +++ b/packages/nodejs-kafka-client-lib/package.json @@ -19,7 +19,7 @@ "scripts": { "start": "npm run service", "service": "tsc && node dist/index.js --config ../../.env", - "build": "tsc", + "build": "npm run generate:proto && tsc", "watch": "tsc -w", "clean": "npm run clean:npm; npm run clean:dist", "clean:dist": "rm -rf dist", @@ -34,20 +34,24 @@ "test:coverage-check": "jest --coverage --testMatch **/test/unit/**/*.test.ts", "test:integration": "jest --passWithNoTests --testMatch **/test/integration/**/*.test.ts", "dep:check": "ncu -e 2", - "dep:update": "ncu -u" + "dep:update": "ncu -u", + "generate:proto": "node generate-proto.ts" }, "dependencies": { "@mojaloop/logging-bc-public-types-lib": "~0.5.4", "@mojaloop/platform-shared-lib-messaging-types-lib": "~0.6.2", + "google-protobuf": "^3.21.4", "node-rdkafka": "~3.0.1" }, "devDependencies": { + "@types/google-protobuf": "^3.15.12", "eslint": "^8.57.0", "jest": "^29.7.0", "npm-check-updates": "^16.14.18", + "protoc-gen-ts": "^0.8.7", "ts-jest": "^29.1.2", - "typescript": "^4.6.4", - "tslib": "^2.6.2" + "tslib": "^2.6.2", + "typescript": "^4.6.4" }, "engines": { "node": ">=20.10.0" diff --git a/packages/nodejs-kafka-client-lib/src/index.ts b/packages/nodejs-kafka-client-lib/src/index.ts index 0e26dd0..202c059 100644 --- a/packages/nodejs-kafka-client-lib/src/index.ts +++ b/packages/nodejs-kafka-client-lib/src/index.ts @@ -1,38 +1,41 @@ -/***** - License - -------------- - Copyright © 2017 Bill & Melinda Gates Foundation - The Mojaloop files are made available by the Bill & Melinda Gates Foundation under the Apache License, Version 2.0 (the "License") and you may not use these files except in compliance with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, the Mojaloop files are distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. - - Contributors - -------------- - This is the official list (alphabetical ordering) of the Mojaloop project contributors for this file. - Names of the original copyright holders (individuals or organizations) - should be listed with a '*' in the first column. People who have - contributed from an organization can be listed under the organization - that actually holds the copyright for their contributions (see the - Gates Foundation organization for an example). Those individuals should have - their names indented and be marked with a '-'. Email address can be added - optionally within square brackets . - - * Gates Foundation - - Name Surname - - * Crosslake - - Pedro Sousa Barreto - - -------------- - ******/ - -"use strict"; - -export * from "./rdkafka_json_consumer"; -export * from "./rdkafka_json_producer"; - -export * from "./raw/raw_types"; -export * from "./raw/rdkafka_raw_consumer"; -export * from "./raw/rdkafka_raw_producer"; +/***** + License + -------------- + Copyright © 2017 Bill & Melinda Gates Foundation + The Mojaloop files are made available by the Bill & Melinda Gates Foundation under the Apache License, Version 2.0 (the "License") and you may not use these files except in compliance with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, the Mojaloop files are distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + + Contributors + -------------- + This is the official list (alphabetical ordering) of the Mojaloop project contributors for this file. + Names of the original copyright holders (individuals or organizations) + should be listed with a '*' in the first column. People who have + contributed from an organization can be listed under the organization + that actually holds the copyright for their contributions (see the + Gates Foundation organization for an example). Those individuals should have + their names indented and be marked with a '-'. Email address can be added + optionally within square brackets . + + * Gates Foundation + - Name Surname + + * Crosslake + - Pedro Sousa Barreto + + -------------- + ******/ + +"use strict"; + +export * from "./json/rdkafka_json_consumer"; +export * from "./json/rdkafka_json_producer"; + +export * from "./protobuff/rdkafka_proto_buff_consumer"; +export * from "./protobuff/rdkafka_proto_buff_producer"; + +export * from "./raw/raw_types"; +export * from "./raw/rdkafka_raw_consumer"; +export * from "./raw/rdkafka_raw_producer"; diff --git a/packages/nodejs-kafka-client-lib/src/rdkafka_json_consumer.ts b/packages/nodejs-kafka-client-lib/src/json/rdkafka_json_consumer.ts similarity index 98% rename from packages/nodejs-kafka-client-lib/src/rdkafka_json_consumer.ts rename to packages/nodejs-kafka-client-lib/src/json/rdkafka_json_consumer.ts index b7370aa..68779f0 100644 --- a/packages/nodejs-kafka-client-lib/src/rdkafka_json_consumer.ts +++ b/packages/nodejs-kafka-client-lib/src/json/rdkafka_json_consumer.ts @@ -39,8 +39,8 @@ import { MLKafkaRawConsumer, MLKafkaRawConsumerOutputType, MLKafkaRawConsumerOptions -} from "./raw/rdkafka_raw_consumer"; -import {IRawAuthenticationOptions, IRawMessage} from "./raw/raw_types"; +} from "../raw/rdkafka_raw_consumer"; +import {IRawAuthenticationOptions, IRawMessage} from "../raw/raw_types"; type MLKafkaJsonConsumerEvents = "rebalance"; diff --git a/packages/nodejs-kafka-client-lib/src/rdkafka_json_producer.ts b/packages/nodejs-kafka-client-lib/src/json/rdkafka_json_producer.ts similarity index 96% rename from packages/nodejs-kafka-client-lib/src/rdkafka_json_producer.ts rename to packages/nodejs-kafka-client-lib/src/json/rdkafka_json_producer.ts index 99712e8..d0bb49c 100644 --- a/packages/nodejs-kafka-client-lib/src/rdkafka_json_producer.ts +++ b/packages/nodejs-kafka-client-lib/src/json/rdkafka_json_producer.ts @@ -32,8 +32,8 @@ import { ILogger } from "@mojaloop/logging-bc-public-types-lib"; import { IMessage, IMessageProducer } from "@mojaloop/platform-shared-lib-messaging-types-lib"; -import {MLKafkaRawProducer, MLKafkaRawProducerOptions} from "./raw/rdkafka_raw_producer"; -import {IRawMessage} from "./raw/raw_types"; +import {MLKafkaRawProducer, MLKafkaRawProducerOptions} from "../raw/rdkafka_raw_producer"; +import {IRawMessage} from "../raw/raw_types"; export type MLKafkaJsonProducerOptions = MLKafkaRawProducerOptions; diff --git a/packages/nodejs-kafka-client-lib/src/protobuff/messages.proto b/packages/nodejs-kafka-client-lib/src/protobuff/messages.proto new file mode 100644 index 0000000..bac02a4 --- /dev/null +++ b/packages/nodejs-kafka-client-lib/src/protobuff/messages.proto @@ -0,0 +1,6 @@ +syntax = "proto3"; + +message Envelope { + string type = 1; + bytes event = 2; +} \ No newline at end of file diff --git a/packages/nodejs-kafka-client-lib/src/protobuff/messages.ts b/packages/nodejs-kafka-client-lib/src/protobuff/messages.ts new file mode 100644 index 0000000..865fe4b --- /dev/null +++ b/packages/nodejs-kafka-client-lib/src/protobuff/messages.ts @@ -0,0 +1,96 @@ +/** + * Generated by the protoc-gen-ts. DO NOT EDIT! + * compiler version: 5.27.2 + * source: messages.proto + * git: https://github.com/thesayyn/protoc-gen-ts */ +import * as pb_1 from "google-protobuf"; +export class Envelope extends pb_1.Message { + #one_of_decls: number[][] = []; + constructor(data?: any[] | { + type?: string; + event?: Uint8Array; + }) { + super(); + pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls); + if (!Array.isArray(data) && typeof data == "object") { + if ("type" in data && data.type != undefined) { + this.type = data.type; + } + if ("event" in data && data.event != undefined) { + this.event = data.event; + } + } + } + get type() { + return pb_1.Message.getFieldWithDefault(this, 1, "") as string; + } + set type(value: string) { + pb_1.Message.setField(this, 1, value); + } + get event() { + return pb_1.Message.getFieldWithDefault(this, 2, new Uint8Array(0)) as Uint8Array; + } + set event(value: Uint8Array) { + pb_1.Message.setField(this, 2, value); + } + static fromObject(data: { + type?: string; + event?: Uint8Array; + }): Envelope { + const message = new Envelope({}); + if (data.type != null) { + message.type = data.type; + } + if (data.event != null) { + message.event = data.event; + } + return message; + } + toObject() { + const data: { + type?: string; + event?: Uint8Array; + } = {}; + if (this.type != null) { + data.type = this.type; + } + if (this.event != null) { + data.event = this.event; + } + return data; + } + serialize(): Uint8Array; + serialize(w: pb_1.BinaryWriter): void; + serialize(w?: pb_1.BinaryWriter): Uint8Array | void { + const writer = w || new pb_1.BinaryWriter(); + if (this.type.length) + writer.writeString(1, this.type); + if (this.event.length) + writer.writeBytes(2, this.event); + if (!w) + return writer.getResultBuffer(); + } + static deserialize(bytes: Uint8Array | pb_1.BinaryReader): Envelope { + const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new Envelope(); + while (reader.nextField()) { + if (reader.isEndGroup()) + break; + switch (reader.getFieldNumber()) { + case 1: + message.type = reader.readString(); + break; + case 2: + message.event = reader.readBytes(); + break; + default: reader.skipField(); + } + } + return message; + } + serializeBinary(): Uint8Array { + return this.serialize(); + } + static deserializeBinary(bytes: Uint8Array): Envelope { + return Envelope.deserialize(bytes); + } +} diff --git a/packages/nodejs-kafka-client-lib/src/protobuff/rdkafka_proto_buff_consumer.ts b/packages/nodejs-kafka-client-lib/src/protobuff/rdkafka_proto_buff_consumer.ts new file mode 100644 index 0000000..2514dd9 --- /dev/null +++ b/packages/nodejs-kafka-client-lib/src/protobuff/rdkafka_proto_buff_consumer.ts @@ -0,0 +1,203 @@ +/***** + License + -------------- + Copyright © 2017 Bill & Melinda Gates Foundation + The Mojaloop files are made available by the Bill & Melinda Gates Foundation under the Apache License, Version 2.0 (the "License") and you may not use these files except in compliance with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, the Mojaloop files are distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + + Contributors + -------------- + This is the official list (alphabetical ordering) of the Mojaloop project contributors for this file. + Names of the original copyright holders (individuals or organizations) + should be listed with a '*' in the first column. People who have + contributed from an organization can be listed under the organization + that actually holds the copyright for their contributions (see the + Gates Foundation organization for an example). Those individuals should have + their names indented and be marked with a '-'. Email address can be added + optionally within square brackets . + + * Gates Foundation + - Name Surname + + * Crosslake + - Pedro Sousa Barreto + + -------------- + ******/ + +"use strict"; + +/* eslint-disable @typescript-eslint/no-explicit-any */ + +import {ILogger} from "@mojaloop/logging-bc-public-types-lib"; +import {IMessageConsumer, IMessage} from "@mojaloop/platform-shared-lib-messaging-types-lib"; +import {EventEmitter} from "events"; +import { + MLKafkaRawConsumer, + MLKafkaRawConsumerOutputType, + MLKafkaRawConsumerOptions +} from "../raw/rdkafka_raw_consumer"; +import {IRawAuthenticationOptions, IRawMessage} from "../raw/raw_types"; +import { Envelope } from "./messages"; + + +type MLKafkaProtoBuffConsumerEvents = "rebalance"; +type MLKafkaProtoBuffConsumerEventListenerMap = { + "rebalance": (type: "assign" | "revoke", assignments: { topic: string, partition: number }[]) => void; +} +type MLKafkaProtoBuffConsumerEventListener = K extends keyof MLKafkaProtoBuffConsumerEventListenerMap ? MLKafkaProtoBuffConsumerEventListenerMap[K]:never; + + +export class MLKafkaProtoBuffConsumerOptions { + kafkaBrokerList: string; + kafkaGroupId?: string; + useSyncCommit?: boolean; + autoOffsetReset?: "earliest" | "latest" | "error"; // default is latest + sessionTimeoutMs?: number; //Client group session and failure detection timeout, default is 45 secs + batchSize?: number; + batchTimeoutMs?: number; + authentication?: IRawAuthenticationOptions; +} + +export class MLKafkaProtoBuffConsumer extends EventEmitter implements IMessageConsumer { + private readonly _logger: ILogger | null; + private readonly _kafkaRawConsumer: MLKafkaRawConsumer; + private _handlerCallback: ((message: IMessage) => Promise) | null = null; + private _batchHandlerCallback: ((messages: IMessage[]) => Promise) | null = null; + private _filterFn: (message: IMessage) => boolean; + private _options: MLKafkaProtoBuffConsumerOptions; + + constructor(options: MLKafkaProtoBuffConsumerOptions, logger: ILogger | null = null) { + super(); + this._options = options; + this._logger = logger; + + const rawOptions: MLKafkaRawConsumerOptions = { + ...options, + outputType: MLKafkaRawConsumerOutputType.ProtoBuff + }; + + this._kafkaRawConsumer = new MLKafkaRawConsumer(rawOptions, logger); + + // if (this._options.batchSize && this._options.batchSize > 1) { + // this._kafkaRawConsumer.setBatchCallbackFn(this._internalBatchHandler.bind(this)); + // } else { + // this._kafkaRawConsumer.setCallbackFn(this._internalHandler.bind(this)); + // } + + this._kafkaRawConsumer.eventNames(); + + // hook MLKafkaRawConsumer events we care about + this._kafkaRawConsumer.on("rebalance", (type: "assign" | "revoke", assignments: { topic: string; partition: number }[]) => { + this.emit("rebalance", type, assignments); + }); + + this._logger?.isInfoEnabled() && this._logger.info("MLKafkaProtoBuffConsumer - instance created"); + } + + on(event: MLKafkaProtoBuffConsumerEvents, listener: MLKafkaProtoBuffConsumerEventListener): this { + return super.on(event, listener); + } + + once(event: MLKafkaProtoBuffConsumerEvents, listener: MLKafkaProtoBuffConsumerEventListener): this { + return super.once(event, listener); + } + + private _convertMsg(message: IRawMessage): IMessage{ + const envelope = Envelope.deserializeBinary(message.value as Uint8Array); + const envelopeObj = envelope.toObject(); + + const valueObj = envelopeObj as IMessage; + valueObj.msgPartition = message.partition; + valueObj.msgOffset = message.offset; + valueObj.msgTopic = message.topic; + valueObj.payload = envelopeObj; + + // TODO convert the headers (at least the known ones) + return valueObj; + } + + private async _internalHandler(rawMessage: IRawMessage): Promise { + if(!this._handlerCallback) return; + + // convert raw message to IMessage + const msg = this._convertMsg(rawMessage); + + if (this._filterFn && !this._filterFn(msg)) { + this._logger?.isDebugEnabled() && this._logger.debug("MLKafkaConsumer - ignoring message filtered out by filterFunction"); + return; // this will commit in the base + } + + await this._handlerCallback(msg); + } + + private async _internalBatchHandler(rawMessages: IRawMessage[]): Promise { + if(!this._batchHandlerCallback) return; + + // convert raw message to IMessage and filter + const msgs:IMessage[] = []; + rawMessages.forEach(rawMsg =>{ + const msg = this._convertMsg(rawMsg); + if (this._filterFn && !this._filterFn(msg)) { + this._logger?.isDebugEnabled() && this._logger.debug("MLKafkaConsumer - ignoring message filtered out by filterFunction"); + }else{ + msgs.push(msg); + } + }); + + await this._batchHandlerCallback(msgs); + } + + setCallbackFn(handlerCallback: (message: IMessage) => Promise): void { + this._batchHandlerCallback = null; + this._handlerCallback = handlerCallback; + + this._kafkaRawConsumer.setCallbackFn(this._internalHandler.bind(this)); + } + + setBatchCallbackFn(batchHandlerCallback: (messages: IMessage[]) => Promise): void{ + this._handlerCallback = null; + this._batchHandlerCallback = batchHandlerCallback; + + this._kafkaRawConsumer.setBatchCallbackFn(this._internalBatchHandler.bind(this)); + } + + setFilteringFn(filterFn: (message: IMessage) => boolean): void { + this._filterFn = filterFn; + } + + setTopics(topics: string[]): void { + this._kafkaRawConsumer.setTopics(topics); + } + + setBatchSize(size: number):void{ + this._kafkaRawConsumer.setBatchSize(size); + } + + async destroy(force: boolean): Promise { + return this._kafkaRawConsumer.destroy(force); + } + + async connect(): Promise { + return this._kafkaRawConsumer.connect(); + } + + async disconnect(): Promise { + return this._kafkaRawConsumer.disconnect(); + } + + start(): Promise { + return this._kafkaRawConsumer.start(); + } + + startAndWaitForRebalance(): Promise { + return this._kafkaRawConsumer.startAndWaitForRebalance(); + } + + async stop(): Promise { + return this._kafkaRawConsumer.stop(); + } +} diff --git a/packages/nodejs-kafka-client-lib/src/protobuff/rdkafka_proto_buff_producer.ts b/packages/nodejs-kafka-client-lib/src/protobuff/rdkafka_proto_buff_producer.ts new file mode 100644 index 0000000..4c48e56 --- /dev/null +++ b/packages/nodejs-kafka-client-lib/src/protobuff/rdkafka_proto_buff_producer.ts @@ -0,0 +1,97 @@ +/***** + License + -------------- + Copyright © 2017 Bill & Melinda Gates Foundation + The Mojaloop files are made available by the Bill & Melinda Gates Foundation under the Apache License, Version 2.0 (the "License") and you may not use these files except in compliance with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, the Mojaloop files are distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + + Contributors + -------------- + This is the official list (alphabetical ordering) of the Mojaloop project contributors for this file. + Names of the original copyright holders (individuals or organizations) + should be listed with a '*' in the first column. People who have + contributed from an organization can be listed under the organization + that actually holds the copyright for their contributions (see the + Gates Foundation organization for an example). Those individuals should have + their names indented and be marked with a '-'. Email address can be added + optionally within square brackets . + + * Gates Foundation + - Name Surname + + * Crosslake + - Pedro Sousa Barreto + + -------------- + ******/ + +"use strict"; + +import { ILogger } from "@mojaloop/logging-bc-public-types-lib"; +import { IMessage, IMessageProducer } from "@mojaloop/platform-shared-lib-messaging-types-lib"; +import {MLKafkaRawProducer, MLKafkaRawProducerOptions} from "../raw/rdkafka_raw_producer"; +import {IRawMessage} from "../raw/raw_types"; + +export type MLKafkaProtoBuffProducerOptions = MLKafkaRawProducerOptions; + +export class MLKafkaProtoBuffProducer implements IMessageProducer { + private readonly _logger: ILogger | null; + private readonly _rawKafkaProducer:MLKafkaRawProducer; + + constructor (options: MLKafkaProtoBuffProducerOptions, logger: ILogger | null = null) { + this._logger = logger; + + this._rawKafkaProducer = new MLKafkaRawProducer(options, logger); + + this._logger?.isInfoEnabled() && this._logger.info("MLKafkaProtoBuffProducer - instance created"); + } + + private _convert(message: IMessage | IMessage[]):IRawMessage[]{ + const outpuMsgs: IRawMessage[] = []; + + const inputMsgs: IMessage[] = Array.isArray(message) ? [...message] : [message]; + + for(const msg of inputMsgs){ + outpuMsgs.push({ + topic: msg.msgTopic, + key: msg.msgKey, + timestamp: msg.msgTimestamp, + headers: [], + value: msg, + offset: null, + partition: msg.msgPartition || null + }); + + // TODO: parse headers + } + + return outpuMsgs; + } + + async send (message: IMessage | IMessage[]): Promise { + // TODO fill in missing fields with defaults (id, timestamp, etc) + + const rawMsg: IRawMessage[] = this._convert(message); + return this._rawKafkaProducer.send(rawMsg); + + } + + async disconnect (): Promise { + return this._rawKafkaProducer.disconnect(); + } + + async connect (): Promise { + return this._rawKafkaProducer.connect(); + } + + setDeliveryReportFn(handlerCallback: null | ((topic:string, partition:number, offset:number) => void)): void { + this._rawKafkaProducer.setDeliveryReportFn(handlerCallback); + } + + async destroy (): Promise { + return this._rawKafkaProducer.destroy(); + } +} diff --git a/packages/nodejs-kafka-client-lib/src/raw/raw_types.ts b/packages/nodejs-kafka-client-lib/src/raw/raw_types.ts index 4667dea..e35f0de 100644 --- a/packages/nodejs-kafka-client-lib/src/raw/raw_types.ts +++ b/packages/nodejs-kafka-client-lib/src/raw/raw_types.ts @@ -37,7 +37,7 @@ export interface IRawMessageHeader { } export interface IRawMessage { - value: Buffer | string | object | null; + value: Buffer | Uint8Array | string | object | null; topic: string; key: Buffer | string | null; timestamp: number | null; diff --git a/packages/nodejs-kafka-client-lib/src/raw/rdkafka_raw_consumer.ts b/packages/nodejs-kafka-client-lib/src/raw/rdkafka_raw_consumer.ts index b647669..de7d2fe 100644 --- a/packages/nodejs-kafka-client-lib/src/raw/rdkafka_raw_consumer.ts +++ b/packages/nodejs-kafka-client-lib/src/raw/rdkafka_raw_consumer.ts @@ -44,7 +44,8 @@ import * as crypto from "crypto"; export enum MLKafkaRawConsumerOutputType { Raw, String, - Json + Json, + ProtoBuff } const defaultOptions = { @@ -378,6 +379,8 @@ export class MLKafkaRawConsumer extends EventEmitter implements IRawMessageConsu } } else if (this._options.outputType===MLKafkaRawConsumerOutputType.String) { msg.value = kafkaMsg.value.toString(); + } else if (this._options.outputType===MLKafkaRawConsumerOutputType.ProtoBuff) { + msg.value = kafkaMsg.value; } else { msg.value = kafkaMsg.value; } diff --git a/packages/nodejs-kafka-client-lib/src/raw/rdkafka_raw_producer.ts b/packages/nodejs-kafka-client-lib/src/raw/rdkafka_raw_producer.ts index 794d5fe..e83d695 100644 --- a/packages/nodejs-kafka-client-lib/src/raw/rdkafka_raw_producer.ts +++ b/packages/nodejs-kafka-client-lib/src/raw/rdkafka_raw_producer.ts @@ -37,6 +37,7 @@ import * as RDKafka from "node-rdkafka"; import {ILogger} from "@mojaloop/logging-bc-public-types-lib"; import {NumberNullUndefined} from "node-rdkafka/index"; import {IRawAuthenticationOptions, IRawMessage, IRawMessageHeader, IRawMessageProducer} from "./raw_types"; +import { Envelope } from "../protobuff/messages"; export enum MLKafkaRawProducerCompressionCodecs { NONE = "none", @@ -222,44 +223,65 @@ export class MLKafkaRawProducer extends EventEmitter implements IRawMessageProdu } } - private _toRDKafkaProduceParams(msg: IRawMessage): { topic: string, partition: NumberNullUndefined, message: Buffer, key: Buffer, timestamp: NumberNullUndefined, headers: IRawMessageHeader[] } { + private _toRDKafkaProduceParams(msg: IRawMessage): { topic: string, partition: NumberNullUndefined, message: Buffer | Uint8Array, key: Buffer, timestamp: NumberNullUndefined, headers: IRawMessageHeader[] } { const topic: string = msg.topic; const partition = msg.partition;// ?? -1; // use default from rdkafka const timestamp = msg.timestamp; - - let message: Buffer = Buffer.alloc(0); // default - if (typeof (msg.value)==="string") { + + let message: Buffer | Uint8Array = Buffer.alloc(0); + if (msg.value instanceof Buffer) { + message = msg.value; + } else if (msg.value) { + const protoBuffMessage = msg as IRawMessage & { value: { payload: any } }; + if(protoBuffMessage.value.payload instanceof Uint8Array) { + const protoMessage = protoBuffMessage.value as any; + const eventSerialized = protoBuffMessage.value.payload; + const envelope = new Envelope({ + type: protoMessage.msgName, + event: eventSerialized + }); + message = envelope.serializeBinary(); + } + } else if (typeof msg.value === "string") { message = Buffer.from(msg.value, "utf-8"); - } else if (typeof (msg.value)==="object") { + } else if (typeof msg.value === "object" && msg.value !== null) { try { message = Buffer.from(JSON.stringify(msg.value), "utf-8"); } catch (err) { - /* istanbul ignore next */ this._logger?.isErrorEnabled() && this._logger.error(err, "MLRawKafkaProducer - error parsing message value - JSON.stringify() error"); + message = Buffer.alloc(0); } + } else { + message = Buffer.alloc(0); // default } - - let key: Buffer = Buffer.alloc(0); // default - if (typeof (msg.key)==="string") { + + let key: Buffer; + if (msg.key instanceof Buffer) { + key = msg.key; + // } else if (msg.key instanceof Uint8Array) { + // key = Buffer.from(msg.key); + } else if (typeof msg.key === "string") { key = Buffer.from(msg.key, "utf-8"); - } else if (typeof (msg.key)==="object") { + } else if (typeof msg.key === "object" && msg.key !== null) { try { key = Buffer.from(JSON.stringify(msg.key), "utf-8"); } catch (err) { - /* istanbul ignore next */ this._logger?.isErrorEnabled() && this._logger.error(err, "MLRawKafkaProducer - error parsing key value - JSON.stringify() error"); + key = Buffer.alloc(0); } + } else { + key = Buffer.alloc(0); // default } - + const headers: IRawMessageHeader[] = []; msg.headers?.forEach((header) => { // NOTE: kafka headers are key/value pairs, only one pair will ever exist per header rec for (const key in header) { if (!Object.prototype.hasOwnProperty.call(header, key)) continue; - headers.push({[key]: header[key]}); + headers.push({ [key]: header[key] }); } }); - + return { topic, partition, @@ -269,43 +291,42 @@ export class MLKafkaRawProducer extends EventEmitter implements IRawMessageProdu headers }; } + + - async send(message: IRawMessage | IRawMessage[] | any): Promise { - if(!message || (message instanceof Array && message.length<=0)) return Promise.resolve(); - + async send(message: IRawMessage | IRawMessage[]): Promise { + if (!message || (Array.isArray(message) && message.length <= 0)) return Promise.resolve(); + return new Promise((resolve, reject) => { - const messages: IRawMessage[] = Array.isArray(message) ? message:[message] as IRawMessage[]; - + const messages: IRawMessage[] = Array.isArray(message) ? message : [message]; + let rejected = false; let acksRemaining: number = messages.length; - + messages.forEach((msg: IRawMessage) => { try { const produceParams = this._toRDKafkaProduceParams(msg); this._client.produce( - produceParams.topic, - produceParams.partition, - produceParams.message, - produceParams.key || undefined, - produceParams.timestamp || undefined, - produceParams.headers, - (err: any, offset?: RDKafka.NumberNullUndefined) => { - /* istanbul ignore if */ - if (err!==null) { - this._logger?.isErrorEnabled() && this._logger.error(err, "MLRawKafkaProducer - send - Error getting aks from publisher"); - if (!rejected) { - rejected = true; - reject(err); - } - } else { - //this.emit("deliveryReport", produceParams.topic, produceParams.partition || null, offset || null); - - acksRemaining--; - if (acksRemaining <= 0) { - resolve(); - } + produceParams.topic, + produceParams.partition, + produceParams.message, + produceParams.key || undefined, + produceParams.timestamp || undefined, + produceParams.headers, + (err: any, offset?: RDKafka.NumberNullUndefined) => { + if (err !== null) { + this._logger?.isErrorEnabled() && this._logger.error(err, "MLRawKafkaProducer - send - Error getting acks from publisher"); + if (!rejected) { + rejected = true; + reject(err); + } + } else { + acksRemaining--; + if (acksRemaining <= 0) { + resolve(); } } + } ); } catch (err) { /* istanbul ignore next */