diff --git a/CHANGELOG.fr.md b/CHANGELOG.fr.md index dcc4889553f00bb238fa2f30c64c5e55ae949ccb..4b14306bfbdc4a3ae61d76e24bbdf599400c248a 100644 --- a/CHANGELOG.fr.md +++ b/CHANGELOG.fr.md @@ -15,7 +15,11 @@ et ce projet adhère au [versionnage sémantique](https://semver.org/spec/v2.0.0 ## [Non-publié/Non-Stabilisé] (par [1000i100]) -## [Version 3.3.2] - 2022-09-30 (par [1000i100]) +## [Version 3.3.3] - 2022-11-15 (par [1000i100]) +### Corrections +- les versions 3.3.x antérieur à celle-ci, cherchaient à importer la lib crypto de node depuis le navigateur c'est corrigé. + +## [Version 3.3.2] - 2022-11-12 (par [1000i100]) ### Corrections - export de sha256 pour le rendre utilisable par les clients. @@ -94,8 +98,9 @@ et ce projet adhère au [versionnage sémantique](https://semver.org/spec/v2.0.0 - intégration des librairies de crypto nécessaires - calcul de la clef publique correspondant à chaque combinaison de secrets saisie, et comparaison à la clef publique de référence. -[Non-publié/Non-Stabilisé]: https://git.duniter.org/libs/g1lib.js/-/compare/v3.3.2...master +[Non-publié/Non-Stabilisé]: https://git.duniter.org/libs/g1lib.js/-/compare/v3.3.3...master +[Version 3.3.3]: https://git.duniter.org/libs/g1lib.js/-/compare/v3.3.2...v3.3.3 [Version 3.3.2]: https://git.duniter.org/libs/g1lib.js/-/compare/v3.3.1...v3.3.2 [Version 3.3.1]: https://git.duniter.org/libs/g1lib.js/-/compare/v3.3.0...v3.3.1 [Version 3.3.0]: https://git.duniter.org/libs/g1lib.js/-/compare/v3.2.0...v3.3.0 diff --git a/CI/vendors.js b/CI/vendors.js index fe694c71348c22bd94db8e3be30338e3bbf52137..6efdb66abe270348ae58211b40ba30308e2f437e 100644 --- a/CI/vendors.js +++ b/CI/vendors.js @@ -20,9 +20,16 @@ try { } try { - fs.writeFileSync('generated/vendors/@noble-ed25519.mjs', + fs.writeFileSync('generated/vendors/@noble-ed25519-node.mjs', (fs.readFileSync('node_modules/@noble/ed25519/lib/esm/index.js', 'utf8')) - .replace(`import * as nodeCrypto from 'crypto';`,`let nodeCrypto;\nif(typeof require !== 'undefined') nodeCrypto = require('crypto');`) + , 'utf8'); +} catch (error) { + console.error(error); +} +try { + fs.writeFileSync('generated/vendors/@noble-ed25519-browser.mjs', + (fs.readFileSync('node_modules/@noble/ed25519/lib/esm/index.js', 'utf8')) + .replace(`import * as nodeCrypto from 'crypto';`,`let nodeCrypto;`) , 'utf8'); } catch (error) { console.error(error); diff --git a/npm/package.json b/npm/package.json index 13d812368194d3c6ac6e1a621d0bc27c7c190ba8..3dec726107294b9e8134d8de184b1a0de4aa7887 100644 --- a/npm/package.json +++ b/npm/package.json @@ -1,6 +1,6 @@ { "name": "g1lib", - "version": "3.3.2", + "version": "3.3.3", "description": "An ubiquitous static javascript toolbox lib for Ǧ1 / Duniter ecosystem with reliability in mind.", "main": "nodejs/all.mjs", "browser": "browser/all.mjs", diff --git a/package-lock.json b/package-lock.json index 206ddaef5d000edcf5193b641d41b12df48dddac..52ef04a92aad1ca3976ec880a74bbedd5df3dfa3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,21 +17,21 @@ }, "devDependencies": { "@jscpd/badge-reporter": "^3.4.5", - "ava": "^4.3.3", + "ava": "^5.1.0", "badgen": "^3.2.2", - "browser-ava": "^1.0.0", + "browser-ava": "^1.1.0", "c8": "^7.12.0", "chokidar-cli": "^3.0.0", "es6-plato": "https://github.com/1000i100/es6-plato#master", "eslint-plugin-ava": "^13.2.0", - "eslint-plugin-promise": "^6.1.0", + "eslint-plugin-promise": "^6.1.1", "eslint-plugin-unicorn": "^44.0.2", - "jscpd": "^3.5.0", + "jscpd": "^3.5.1", "mkdirp": "^1.0.4", "npm-run-all": "^4.1.5", - "rollup": "^3.2.3", - "terser": "^5.15.0", - "xo": "^0.52.3" + "rollup": "^3.3.0", + "terser": "^5.15.1", + "xo": "^0.52.4" } }, "node_modules/@babel/code-frame": { @@ -47,9 +47,9 @@ } }, "node_modules/@babel/helper-string-parser": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz", - "integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", + "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", "dev": true, "engines": { "node": ">=6.9.0" @@ -135,9 +135,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.19.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.3.tgz", - "integrity": "sha512-pJ9xOlNWHiy9+FuFP09DEAFbAn4JskgRsVcc169w2xRBC3FRGuQEwjeIMMND9L2zc0iEhO/tGv4Zq+km+hxNpQ==", + "version": "7.20.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.3.tgz", + "integrity": "sha512-OP/s5a94frIPXwjzEcv5S/tpQfc6XhxYUnmWpgdqMWGgYCuErA3SzozaRAMQgSZWKeTJxht9aWAkUY+0UzvOFg==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -147,12 +147,12 @@ } }, "node_modules/@babel/types": { - "version": "7.19.3", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.19.3.tgz", - "integrity": "sha512-hGCaQzIY22DJlDh9CH7NOxgKkFjBk0Cw9xDO1Xmh2151ti7wiGfQ3LauXzL4HP1fmFlTX6XjpRETTpUcv7wQLw==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.2.tgz", + "integrity": "sha512-FnnvsNWgZCr232sqtXggapvlkk/tuwR/qhGzcmxI0GXLCjmPYQPzio2FbdlWuY6y1sHFfQKk+rRbUZ9VStQMog==", "dev": true, "dependencies": { - "@babel/helper-string-parser": "^7.18.10", + "@babel/helper-string-parser": "^7.19.4", "@babel/helper-validator-identifier": "^7.19.1", "to-fast-properties": "^2.0.0" }, @@ -329,13 +329,13 @@ } }, "node_modules/@jscpd/finder": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/@jscpd/finder/-/finder-3.5.0.tgz", - "integrity": "sha512-ad6Ilm749Glc0JUDTMmojOHfSC8DRFJaYZZSlA+OOqsYlnqGL1nENKUL7V1hM4vULEsSae8bW16z9Cb7xYJmGw==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@jscpd/finder/-/finder-3.5.1.tgz", + "integrity": "sha512-9+hpaJkr4W90A4h8coS0ibfvUQRk0VvpwrLLNH0+kAJMKk7uYgqFEj/5Agy1kS0VFZwJEnmkXSvWp8NjFqUhGQ==", "dev": true, "dependencies": { "@jscpd/core": "^3.5.0", - "@jscpd/tokenizer": "^3.5.0", + "@jscpd/tokenizer": "^3.5.1", "blamer": "^1.0.1", "bytes": "^3.1.0", "cli-table3": "^0.6.0", @@ -357,9 +357,9 @@ } }, "node_modules/@jscpd/tokenizer": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/@jscpd/tokenizer/-/tokenizer-3.5.0.tgz", - "integrity": "sha512-5IQC+jEKw+TT+3sQa6JFKPRyQLHPwgBP14yQn1FeKvVZmxT5fihI7jg92NK6DT0k7yrK9v4Z7qagJ63WP4GVXw==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@jscpd/tokenizer/-/tokenizer-3.5.1.tgz", + "integrity": "sha512-Tj8ehnb4AyfdsfR2w1Lp/62e4AwyMKD53NJ7KpLcmh74BqzfwbDgi7QBNfL9L/FJfhovt24uxG3JNOIEYONixw==", "dev": true, "dependencies": { "@jscpd/core": "^3.5.0", @@ -367,6 +367,18 @@ "spark-md5": "^3.0.1" } }, + "node_modules/@koa/cors": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@koa/cors/-/cors-4.0.0.tgz", + "integrity": "sha512-Y4RrbvGTlAaa04DBoPBWJqDR5gPj32OOz827ULXfgB1F7piD1MB/zwn8JR2LAnvdILhxUbXbkXGWuNVsFuVFCQ==", + "dev": true, + "dependencies": { + "vary": "^1.1.2" + }, + "engines": { + "node": ">= 14.0.0" + } + }, "node_modules/@noble/ed25519": { "version": "1.7.1", "resolved": "https://registry.npmjs.org/@noble/ed25519/-/ed25519-1.7.1.tgz", @@ -687,9 +699,9 @@ } }, "node_modules/acorn": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", - "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", + "version": "8.8.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", + "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -808,9 +820,9 @@ } }, "node_modules/ansi-styles": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.1.1.tgz", - "integrity": "sha512-qDOv24WjnYuL+wbwHdlsYZFy+cgPtrYw0Tn7GLORicQp9BkQLzrgI3Pm4VyR9ERZ41YTn7KlMPuL1n05WdZvmg==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "dev": true, "engines": { "node": ">=12" @@ -951,22 +963,22 @@ } }, "node_modules/ava": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/ava/-/ava-4.3.3.tgz", - "integrity": "sha512-9Egq/d9R74ExrWohHeqUlexjDbgZJX5jA1Wq4KCTqc3wIfpGEK79zVy4rBtofJ9YKIxs4PzhJ8BgbW5PlAYe6w==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ava/-/ava-5.1.0.tgz", + "integrity": "sha512-e5VFrSQ0WBPyZJWRXVrO7RFOizFeNM0t2PORwrPvWtApgkORI6cvGnY3GX1G+lzpd0HjqNx5Jus22AhxVnUMNA==", "dev": true, "dependencies": { - "acorn": "^8.7.1", + "acorn": "^8.8.1", "acorn-walk": "^8.2.0", - "ansi-styles": "^6.1.0", + "ansi-styles": "^6.2.1", "arrgv": "^1.0.2", "arrify": "^3.0.0", "callsites": "^4.0.0", "cbor": "^8.1.0", - "chalk": "^5.0.1", + "chalk": "^5.1.2", "chokidar": "^3.5.3", "chunkd": "^2.0.1", - "ci-info": "^3.3.1", + "ci-info": "^3.6.1", "ci-parallel-vars": "^1.0.1", "clean-yaml-object": "^0.1.0", "cli-truncate": "^3.1.0", @@ -975,10 +987,10 @@ "concordance": "^5.0.4", "currently-unhandled": "^0.4.1", "debug": "^4.3.4", - "del": "^6.1.1", - "emittery": "^0.11.0", - "figures": "^4.0.1", - "globby": "^13.1.1", + "del": "^7.0.0", + "emittery": "^1.0.1", + "figures": "^5.0.0", + "globby": "^13.1.2", "ignore-by-default": "^2.1.0", "indent-string": "^5.0.0", "is-error": "^2.2.2", @@ -988,25 +1000,25 @@ "mem": "^9.0.2", "ms": "^2.1.3", "p-event": "^5.0.1", - "p-map": "^5.4.0", + "p-map": "^5.5.0", "picomatch": "^2.3.1", "pkg-conf": "^4.0.0", "plur": "^5.1.0", - "pretty-ms": "^7.0.1", + "pretty-ms": "^8.0.0", "resolve-cwd": "^3.0.0", "slash": "^3.0.0", - "stack-utils": "^2.0.5", + "stack-utils": "^2.0.6", "strip-ansi": "^7.0.1", "supertap": "^3.0.1", - "temp-dir": "^2.0.0", - "write-file-atomic": "^4.0.1", - "yargs": "^17.5.1" + "temp-dir": "^3.0.0", + "write-file-atomic": "^5.0.0", + "yargs": "^17.6.2" }, "bin": { "ava": "entrypoints/cli.mjs" }, "engines": { - "node": ">=12.22 <13 || >=14.17 <15 || >=16.4 <17 || >=18" + "node": ">=14.19 <15 || >=16.15 <17 || >=18" }, "peerDependencies": { "@ava/typescript": "*" @@ -1102,23 +1114,25 @@ } }, "node_modules/browser-ava": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browser-ava/-/browser-ava-1.0.0.tgz", - "integrity": "sha512-gdR+YWG/cTW8v0YiONBF3LJgM/uJfNDg+lRP9gUXTtgPzA7iNRjGx4YmL74dees9qMawsihZmbrY0cO0YLRBaw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/browser-ava/-/browser-ava-1.1.0.tgz", "dev": true, "dependencies": { + "@koa/cors": "^4.0.0", + "chalk": "^5.1.2", "commander": "^9.4.1", "es-module-lexer": "^1.0.5", + "globby": "^13.1.2", "koa": "^2.13.4", "koa-static": "^5.0.0", "playwright": "^1.27.1", - "ws": "^8.9.0" + "ws": "^8.11.0" }, "bin": { "browser-ava": "src/browser-ava-cli.mjs" }, "engines": { - "node": ">=16.18.0" + "node": ">=16.18.1" } }, "node_modules/browser-ava/node_modules/commander": { @@ -1131,9 +1145,9 @@ } }, "node_modules/browser-ava/node_modules/es-module-lexer": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.0.5.tgz", - "integrity": "sha512-oxJ+R1DzAw6j4g1Lx70bIKgfoRCX67C51kH2Mx7J4bS7ZzWxkcivXskFspzgKHUj6JUwUTghQgUPy8zTp6mMBw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.1.0.tgz", + "integrity": "sha512-fJg+1tiyEeS8figV+fPcPpm8WqJEflG3yPU0NOm5xMvrNkuiy7HzX/Ljng4Y0hAoiw4/3hQTCFYw+ub8+a2pRA==", "dev": true }, "node_modules/browserslist": { @@ -1416,9 +1430,9 @@ } }, "node_modules/chalk": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.0.1.tgz", - "integrity": "sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.1.2.tgz", + "integrity": "sha512-E5CkT4jWURs1Vy5qGJye+XwCkNj7Od3Af7CP6SujMetSMkLs8Do2RWJK5yx1wamHV/op8Rz+9rltjaTQWDnEFQ==", "dev": true, "engines": { "node": "^12.17.0 || ^14.13 || >=16.0.0" @@ -1704,10 +1718,13 @@ "dev": true }, "node_modules/ci-info": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.4.0.tgz", - "integrity": "sha512-t5QdPT5jq3o262DOQ8zA6E1tlH2upmUc4Hlvrbx1pGYJuiiHl7O7rvVNI+l8HTVhd/q3Qc9vqimkNk5yiXsAug==", - "dev": true + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.6.1.tgz", + "integrity": "sha512-up5ggbaDqOqJ4UqLKZ2naVkyqSJQgJi5lwD6b6mM748ysrghDBX0bx/qJTUHzw7zu6Mq4gycviSF5hJnwceD8w==", + "dev": true, + "engines": { + "node": ">=8" + } }, "node_modules/ci-parallel-vars": { "version": "1.0.1", @@ -2284,88 +2301,34 @@ } }, "node_modules/del": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz", - "integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/del/-/del-7.0.0.tgz", + "integrity": "sha512-tQbV/4u5WVB8HMJr08pgw0b6nG4RGt/tj+7Numvq+zqcvUFeMaIWWOUFltiU+6go8BSO2/ogsB4EasDaj0y68Q==", "dev": true, "dependencies": { - "globby": "^11.0.1", - "graceful-fs": "^4.2.4", - "is-glob": "^4.0.1", - "is-path-cwd": "^2.2.0", - "is-path-inside": "^3.0.2", - "p-map": "^4.0.0", + "globby": "^13.1.2", + "graceful-fs": "^4.2.10", + "is-glob": "^4.0.3", + "is-path-cwd": "^3.0.0", + "is-path-inside": "^4.0.0", + "p-map": "^5.5.0", "rimraf": "^3.0.2", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/del/node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/del/node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/del/node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" + "slash": "^4.0.0" }, "engines": { - "node": ">=10" + "node": ">=14.16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/del/node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/del/node_modules/p-map": { + "node_modules/del/node_modules/slash": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", "dev": true, - "dependencies": { - "aggregate-error": "^3.0.0" - }, "engines": { - "node": ">=10" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -2455,12 +2418,12 @@ "peer": true }, "node_modules/emittery": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.11.0.tgz", - "integrity": "sha512-S/7tzL6v5i+4iJd627Nhv9cLFIo5weAIlGccqJFpnBoDB8U1TF2k5tez4J/QNuxyyhWuFqHg1L84Kd3m7iXg6g==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-1.0.1.tgz", + "integrity": "sha512-2ID6FdrMD9KDLldGesP6317G78K7km/kMcwItRtVFva7I/cSEOIaLpewaUb+YLXVwdAp3Ctfxh/V5zIl1sj7dQ==", "dev": true, "engines": { - "node": ">=12" + "node": ">=14.16" }, "funding": { "url": "https://github.com/sindresorhus/emittery?sponsor=1" @@ -3729,9 +3692,9 @@ } }, "node_modules/eslint-plugin-promise": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.1.0.tgz", - "integrity": "sha512-NYCfDZF/KHt27p06nFAttgWuFyIDSUMnNaJBIY1FY9GpBFhdT2vMG64HlFguSgcJeyM5by6Yr5csSOuJm60eXQ==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.1.1.tgz", + "integrity": "sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -4131,16 +4094,16 @@ } }, "node_modules/figures": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/figures/-/figures-4.0.1.tgz", - "integrity": "sha512-rElJwkA/xS04Vfg+CaZodpso7VqBknOYbzi6I76hI4X80RUjkSxO2oAyPmGbuXUppywjqndOrQDl817hDnI++w==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-5.0.0.tgz", + "integrity": "sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==", "dev": true, "dependencies": { "escape-string-regexp": "^5.0.0", "is-unicode-supported": "^1.2.0" }, "engines": { - "node": ">=12" + "node": ">=14" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -4347,20 +4310,6 @@ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", "dev": true }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, "node_modules/function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", @@ -5308,21 +5257,27 @@ } }, "node_modules/is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-3.0.0.tgz", + "integrity": "sha512-kyiNFFLU0Ampr6SDZitD/DwUo4Zs1nSdnygUBqsu3LooL00Qvb5j+UnvApUn/TTj1J3OuE6BTdQ5rudKmU2ZaA==", "dev": true, "engines": { - "node": ">=6" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-4.0.0.tgz", + "integrity": "sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==", "dev": true, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/is-plain-obj": { @@ -5625,15 +5580,15 @@ } }, "node_modules/jscpd": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/jscpd/-/jscpd-3.5.0.tgz", - "integrity": "sha512-MjGlN7C6vRTimGU1Ud2cjw8nQ0oYBedeiQZ3tTP/FgO1f/4mboXQf6oXgcXG6p8Br3Dy+thRcUBCTXvPvmHrsg==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/jscpd/-/jscpd-3.5.1.tgz", + "integrity": "sha512-LCeriLcj26jDaQ58K7p9oMaNP1dsqrEPJkbI0LD/OVjceMJLhDMO3GRAf69uzbnHlhHhufOA+EUb+Wuu5Dc1kA==", "dev": true, "dependencies": { "@jscpd/core": "^3.5.0", - "@jscpd/finder": "^3.5.0", + "@jscpd/finder": "^3.5.1", "@jscpd/html-reporter": "^3.5.0", - "@jscpd/tokenizer": "^3.5.0", + "@jscpd/tokenizer": "^3.5.1", "colors": "1.4.0", "commander": "^5.0.0", "fs-extra": "^9.1.0", @@ -7089,12 +7044,15 @@ } }, "node_modules/parse-ms": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-2.1.0.tgz", - "integrity": "sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-3.0.0.tgz", + "integrity": "sha512-Tpb8Z7r7XbbtBTrM9UhpkzzaMrqA2VXMT3YChzYltwV3P3pM6t8wl7TvpMnSTosz1aQAdVib7kdoys7vYOPerw==", "dev": true, "engines": { - "node": ">=6" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/parseurl": { @@ -7396,15 +7354,15 @@ } }, "node_modules/pretty-ms": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-7.0.1.tgz", - "integrity": "sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-8.0.0.tgz", + "integrity": "sha512-ASJqOugUF1bbzI35STMBUpZqdfYKlJugy6JBziGi2EE+AL5JPJGSzvpeVXojxrr0ViUYoToUjb5kjSEGf7Y83Q==", "dev": true, "dependencies": { - "parse-ms": "^2.1.0" + "parse-ms": "^3.0.0" }, "engines": { - "node": ">=10" + "node": ">=14.16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -8059,9 +8017,9 @@ } }, "node_modules/rollup": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.2.3.tgz", - "integrity": "sha512-qfadtkY5kl0F5e4dXVdj2D+GtOdifasXHFMiL1SMf9ADQDv5Eti6xReef9FKj+iQPR2pvtqWna57s/PjARY4fg==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.3.0.tgz", + "integrity": "sha512-wqOV/vUJCYEbWsXvwCkgGWvgaEnsbn4jxBQWKpN816CqsmCimDmCNJI83c6if7QVD4v/zlyRzxN7U2yDT5rfoA==", "dev": true, "bin": { "rollup": "dist/bin/rollup" @@ -8383,9 +8341,9 @@ "dev": true }, "node_modules/stack-utils": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", - "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", "dev": true, "dependencies": { "escape-string-regexp": "^2.0.0" @@ -8706,18 +8664,18 @@ } }, "node_modules/temp-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", - "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-3.0.0.tgz", + "integrity": "sha512-nHc6S/bwIilKHNRgK/3jlhDoIHcp45YgyiwcAk46Tr0LfEqGBVpmiAyuiuxeVE44m3mXnEeVhaipLOEWmH+Njw==", "dev": true, "engines": { - "node": ">=8" + "node": ">=14.16" } }, "node_modules/terser": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.15.0.tgz", - "integrity": "sha512-L1BJiXVmheAQQy+as0oF3Pwtlo4s3Wi1X2zNZ2NxOB4wx9bdS9Vk67XQENLFdLYGCK/Z2di53mTj/hBafR+dTA==", + "version": "5.15.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.15.1.tgz", + "integrity": "sha512-K1faMUvpm/FBxjBXud0LWVAGxmvoPbZbfTCYbSgaaYQaIXI3/TdI7a7ZGA73Zrou6Q8Zmz3oeUTsp/dj+ag2Xw==", "dev": true, "dependencies": { "@jridgewell/source-map": "^0.3.2", @@ -9521,16 +9479,16 @@ } }, "node_modules/write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.0.tgz", + "integrity": "sha512-R7NYMnHSlV42K54lwY9lvW6MnSm1HSJqZL3xiSgi9E7//FYaI74r2G0rd+/X6VAMkHEdzxQaU5HUOXWUz5kA/w==", "dev": true, "dependencies": { "imurmurhash": "^0.1.4", "signal-exit": "^3.0.7" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/write/node_modules/mkdirp": { @@ -9546,9 +9504,9 @@ } }, "node_modules/ws": { - "version": "8.9.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.9.0.tgz", - "integrity": "sha512-Ja7nszREasGaYUYCI2k4lCKIRTt+y7XuqVoHR44YpI49TtryyqbqvDMn5eqfW7e6HzTukDRIsXqzVHScqRcafg==", + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", + "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", "dev": true, "engines": { "node": ">=10.0.0" @@ -9589,9 +9547,9 @@ } }, "node_modules/xo": { - "version": "0.52.3", - "resolved": "https://registry.npmjs.org/xo/-/xo-0.52.3.tgz", - "integrity": "sha512-liCEteZ5z+QRyh3XzsYWQyxedBHBvx8CDlNvvi+BJz74L0E5/ID2v7JtoX3bD541AlMuOy4e/iWif6hhNGBFNw==", + "version": "0.52.4", + "resolved": "https://registry.npmjs.org/xo/-/xo-0.52.4.tgz", + "integrity": "sha512-5K+2bSy+nPO1fE6TS5KydgqhZ5pyXvO1P6Rw98aflxHi2LFWoShLmDpJOCxSpIP5867LVOCdH/WO+7iXk6/WVQ==", "bundleDependencies": [ "@typescript-eslint/eslint-plugin", "@typescript-eslint/parser", @@ -9688,16 +9646,15 @@ "license": "MIT" }, "node_modules/xo/node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.36.1", + "version": "5.39.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "5.36.1", - "@typescript-eslint/type-utils": "5.36.1", - "@typescript-eslint/utils": "5.36.1", + "@typescript-eslint/scope-manager": "5.39.0", + "@typescript-eslint/type-utils": "5.39.0", + "@typescript-eslint/utils": "5.39.0", "debug": "^4.3.4", - "functional-red-black-tree": "^1.0.1", "ignore": "^5.2.0", "regexpp": "^3.2.0", "semver": "^7.3.7", @@ -9721,14 +9678,14 @@ } }, "node_modules/xo/node_modules/@typescript-eslint/parser": { - "version": "5.36.1", + "version": "5.39.0", "dev": true, "inBundle": true, "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/scope-manager": "5.36.1", - "@typescript-eslint/types": "5.36.1", - "@typescript-eslint/typescript-estree": "5.36.1", + "@typescript-eslint/scope-manager": "5.39.0", + "@typescript-eslint/types": "5.39.0", + "@typescript-eslint/typescript-estree": "5.39.0", "debug": "^4.3.4" }, "engines": { @@ -9748,13 +9705,13 @@ } }, "node_modules/xo/node_modules/@typescript-eslint/scope-manager": { - "version": "5.36.1", + "version": "5.39.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "5.36.1", - "@typescript-eslint/visitor-keys": "5.36.1" + "@typescript-eslint/types": "5.39.0", + "@typescript-eslint/visitor-keys": "5.39.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -9765,13 +9722,13 @@ } }, "node_modules/xo/node_modules/@typescript-eslint/type-utils": { - "version": "5.36.1", + "version": "5.39.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "5.36.1", - "@typescript-eslint/utils": "5.36.1", + "@typescript-eslint/typescript-estree": "5.39.0", + "@typescript-eslint/utils": "5.39.0", "debug": "^4.3.4", "tsutils": "^3.21.0" }, @@ -9792,7 +9749,7 @@ } }, "node_modules/xo/node_modules/@typescript-eslint/types": { - "version": "5.36.1", + "version": "5.39.0", "dev": true, "inBundle": true, "license": "MIT", @@ -9805,13 +9762,13 @@ } }, "node_modules/xo/node_modules/@typescript-eslint/typescript-estree": { - "version": "5.36.1", + "version": "5.39.0", "dev": true, "inBundle": true, "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/types": "5.36.1", - "@typescript-eslint/visitor-keys": "5.36.1", + "@typescript-eslint/types": "5.39.0", + "@typescript-eslint/visitor-keys": "5.39.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -9861,15 +9818,15 @@ } }, "node_modules/xo/node_modules/@typescript-eslint/utils": { - "version": "5.36.1", + "version": "5.39.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.36.1", - "@typescript-eslint/types": "5.36.1", - "@typescript-eslint/typescript-estree": "5.36.1", + "@typescript-eslint/scope-manager": "5.39.0", + "@typescript-eslint/types": "5.39.0", + "@typescript-eslint/typescript-estree": "5.39.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" }, @@ -9885,12 +9842,12 @@ } }, "node_modules/xo/node_modules/@typescript-eslint/visitor-keys": { - "version": "5.36.1", + "version": "5.39.0", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "5.36.1", + "@typescript-eslint/types": "5.39.0", "eslint-visitor-keys": "^3.3.0" }, "engines": { @@ -10086,7 +10043,7 @@ } }, "node_modules/xo/node_modules/fast-glob": { - "version": "3.2.11", + "version": "3.2.12", "dev": true, "inBundle": true, "license": "MIT", @@ -10138,12 +10095,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/xo/node_modules/functional-red-black-tree": { - "version": "1.0.1", - "dev": true, - "inBundle": true, - "license": "MIT" - }, "node_modules/xo/node_modules/glob-parent": { "version": "5.1.2", "dev": true, @@ -10481,9 +10432,9 @@ } }, "node_modules/yargs": { - "version": "17.6.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.0.tgz", - "integrity": "sha512-8H/wTDqlSwoSnScvV2N/JHfLWOKuh5MVla9hqLjK3nsfyy6Y4kDSYSvkU5YCUEPOSnRXfIyx3Sq+B/IWudTo4g==", + "version": "17.6.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz", + "integrity": "sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==", "dev": true, "dependencies": { "cliui": "^8.0.1", @@ -10492,7 +10443,7 @@ "require-directory": "^2.1.1", "string-width": "^4.2.3", "y18n": "^5.0.5", - "yargs-parser": "^21.0.0" + "yargs-parser": "^21.1.1" }, "engines": { "node": ">=12" @@ -10599,9 +10550,9 @@ } }, "@babel/helper-string-parser": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz", - "integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", + "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", "dev": true }, "@babel/helper-validator-identifier": { @@ -10665,18 +10616,18 @@ } }, "@babel/parser": { - "version": "7.19.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.3.tgz", - "integrity": "sha512-pJ9xOlNWHiy9+FuFP09DEAFbAn4JskgRsVcc169w2xRBC3FRGuQEwjeIMMND9L2zc0iEhO/tGv4Zq+km+hxNpQ==", + "version": "7.20.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.3.tgz", + "integrity": "sha512-OP/s5a94frIPXwjzEcv5S/tpQfc6XhxYUnmWpgdqMWGgYCuErA3SzozaRAMQgSZWKeTJxht9aWAkUY+0UzvOFg==", "dev": true }, "@babel/types": { - "version": "7.19.3", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.19.3.tgz", - "integrity": "sha512-hGCaQzIY22DJlDh9CH7NOxgKkFjBk0Cw9xDO1Xmh2151ti7wiGfQ3LauXzL4HP1fmFlTX6XjpRETTpUcv7wQLw==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.2.tgz", + "integrity": "sha512-FnnvsNWgZCr232sqtXggapvlkk/tuwR/qhGzcmxI0GXLCjmPYQPzio2FbdlWuY6y1sHFfQKk+rRbUZ9VStQMog==", "dev": true, "requires": { - "@babel/helper-string-parser": "^7.18.10", + "@babel/helper-string-parser": "^7.19.4", "@babel/helper-validator-identifier": "^7.19.1", "to-fast-properties": "^2.0.0" } @@ -10815,13 +10766,13 @@ } }, "@jscpd/finder": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/@jscpd/finder/-/finder-3.5.0.tgz", - "integrity": "sha512-ad6Ilm749Glc0JUDTMmojOHfSC8DRFJaYZZSlA+OOqsYlnqGL1nENKUL7V1hM4vULEsSae8bW16z9Cb7xYJmGw==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@jscpd/finder/-/finder-3.5.1.tgz", + "integrity": "sha512-9+hpaJkr4W90A4h8coS0ibfvUQRk0VvpwrLLNH0+kAJMKk7uYgqFEj/5Agy1kS0VFZwJEnmkXSvWp8NjFqUhGQ==", "dev": true, "requires": { "@jscpd/core": "^3.5.0", - "@jscpd/tokenizer": "^3.5.0", + "@jscpd/tokenizer": "^3.5.1", "blamer": "^1.0.1", "bytes": "^3.1.0", "cli-table3": "^0.6.0", @@ -10843,9 +10794,9 @@ } }, "@jscpd/tokenizer": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/@jscpd/tokenizer/-/tokenizer-3.5.0.tgz", - "integrity": "sha512-5IQC+jEKw+TT+3sQa6JFKPRyQLHPwgBP14yQn1FeKvVZmxT5fihI7jg92NK6DT0k7yrK9v4Z7qagJ63WP4GVXw==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@jscpd/tokenizer/-/tokenizer-3.5.1.tgz", + "integrity": "sha512-Tj8ehnb4AyfdsfR2w1Lp/62e4AwyMKD53NJ7KpLcmh74BqzfwbDgi7QBNfL9L/FJfhovt24uxG3JNOIEYONixw==", "dev": true, "requires": { "@jscpd/core": "^3.5.0", @@ -10853,6 +10804,15 @@ "spark-md5": "^3.0.1" } }, + "@koa/cors": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@koa/cors/-/cors-4.0.0.tgz", + "integrity": "sha512-Y4RrbvGTlAaa04DBoPBWJqDR5gPj32OOz827ULXfgB1F7piD1MB/zwn8JR2LAnvdILhxUbXbkXGWuNVsFuVFCQ==", + "dev": true, + "requires": { + "vary": "^1.1.2" + } + }, "@noble/ed25519": { "version": "1.7.1", "resolved": "https://registry.npmjs.org/@noble/ed25519/-/ed25519-1.7.1.tgz", @@ -11155,9 +11115,9 @@ } }, "acorn": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", - "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", + "version": "8.8.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", + "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==", "dev": true }, "acorn-import-assertions": { @@ -11235,9 +11195,9 @@ "dev": true }, "ansi-styles": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.1.1.tgz", - "integrity": "sha512-qDOv24WjnYuL+wbwHdlsYZFy+cgPtrYw0Tn7GLORicQp9BkQLzrgI3Pm4VyR9ERZ41YTn7KlMPuL1n05WdZvmg==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "dev": true }, "anymatch": { @@ -11336,22 +11296,22 @@ "dev": true }, "ava": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/ava/-/ava-4.3.3.tgz", - "integrity": "sha512-9Egq/d9R74ExrWohHeqUlexjDbgZJX5jA1Wq4KCTqc3wIfpGEK79zVy4rBtofJ9YKIxs4PzhJ8BgbW5PlAYe6w==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ava/-/ava-5.1.0.tgz", + "integrity": "sha512-e5VFrSQ0WBPyZJWRXVrO7RFOizFeNM0t2PORwrPvWtApgkORI6cvGnY3GX1G+lzpd0HjqNx5Jus22AhxVnUMNA==", "dev": true, "requires": { - "acorn": "^8.7.1", + "acorn": "^8.8.1", "acorn-walk": "^8.2.0", - "ansi-styles": "^6.1.0", + "ansi-styles": "^6.2.1", "arrgv": "^1.0.2", "arrify": "^3.0.0", "callsites": "^4.0.0", "cbor": "^8.1.0", - "chalk": "^5.0.1", + "chalk": "^5.1.2", "chokidar": "^3.5.3", "chunkd": "^2.0.1", - "ci-info": "^3.3.1", + "ci-info": "^3.6.1", "ci-parallel-vars": "^1.0.1", "clean-yaml-object": "^0.1.0", "cli-truncate": "^3.1.0", @@ -11360,10 +11320,10 @@ "concordance": "^5.0.4", "currently-unhandled": "^0.4.1", "debug": "^4.3.4", - "del": "^6.1.1", - "emittery": "^0.11.0", - "figures": "^4.0.1", - "globby": "^13.1.1", + "del": "^7.0.0", + "emittery": "^1.0.1", + "figures": "^5.0.0", + "globby": "^13.1.2", "ignore-by-default": "^2.1.0", "indent-string": "^5.0.0", "is-error": "^2.2.2", @@ -11373,19 +11333,19 @@ "mem": "^9.0.2", "ms": "^2.1.3", "p-event": "^5.0.1", - "p-map": "^5.4.0", + "p-map": "^5.5.0", "picomatch": "^2.3.1", "pkg-conf": "^4.0.0", "plur": "^5.1.0", - "pretty-ms": "^7.0.1", + "pretty-ms": "^8.0.0", "resolve-cwd": "^3.0.0", "slash": "^3.0.0", - "stack-utils": "^2.0.5", + "stack-utils": "^2.0.6", "strip-ansi": "^7.0.1", "supertap": "^3.0.1", - "temp-dir": "^2.0.0", - "write-file-atomic": "^4.0.1", - "yargs": "^17.5.1" + "temp-dir": "^3.0.0", + "write-file-atomic": "^5.0.0", + "yargs": "^17.6.2" } }, "babel-walk": { @@ -11458,17 +11418,19 @@ } }, "browser-ava": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browser-ava/-/browser-ava-1.0.0.tgz", - "integrity": "sha512-gdR+YWG/cTW8v0YiONBF3LJgM/uJfNDg+lRP9gUXTtgPzA7iNRjGx4YmL74dees9qMawsihZmbrY0cO0YLRBaw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/browser-ava/-/browser-ava-1.1.0.tgz", "dev": true, "requires": { + "@koa/cors": "^4.0.0", + "chalk": "^5.1.2", "commander": "^9.4.1", "es-module-lexer": "^1.0.5", + "globby": "^13.1.2", "koa": "^2.13.4", "koa-static": "^5.0.0", "playwright": "^1.27.1", - "ws": "^8.9.0" + "ws": "^8.11.0" }, "dependencies": { "commander": { @@ -11478,9 +11440,9 @@ "dev": true }, "es-module-lexer": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.0.5.tgz", - "integrity": "sha512-oxJ+R1DzAw6j4g1Lx70bIKgfoRCX67C51kH2Mx7J4bS7ZzWxkcivXskFspzgKHUj6JUwUTghQgUPy8zTp6mMBw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.1.0.tgz", + "integrity": "sha512-fJg+1tiyEeS8figV+fPcPpm8WqJEflG3yPU0NOm5xMvrNkuiy7HzX/Ljng4Y0hAoiw4/3hQTCFYw+ub8+a2pRA==", "dev": true } } @@ -11680,9 +11642,9 @@ } }, "chalk": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.0.1.tgz", - "integrity": "sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.1.2.tgz", + "integrity": "sha512-E5CkT4jWURs1Vy5qGJye+XwCkNj7Od3Af7CP6SujMetSMkLs8Do2RWJK5yx1wamHV/op8Rz+9rltjaTQWDnEFQ==", "dev": true }, "character-parser": { @@ -11902,9 +11864,9 @@ "dev": true }, "ci-info": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.4.0.tgz", - "integrity": "sha512-t5QdPT5jq3o262DOQ8zA6E1tlH2upmUc4Hlvrbx1pGYJuiiHl7O7rvVNI+l8HTVhd/q3Qc9vqimkNk5yiXsAug==", + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.6.1.tgz", + "integrity": "sha512-up5ggbaDqOqJ4UqLKZ2naVkyqSJQgJi5lwD6b6mM748ysrghDBX0bx/qJTUHzw7zu6Mq4gycviSF5hJnwceD8w==", "dev": true }, "ci-parallel-vars": { @@ -12345,65 +12307,26 @@ } }, "del": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz", - "integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/del/-/del-7.0.0.tgz", + "integrity": "sha512-tQbV/4u5WVB8HMJr08pgw0b6nG4RGt/tj+7Numvq+zqcvUFeMaIWWOUFltiU+6go8BSO2/ogsB4EasDaj0y68Q==", "dev": true, "requires": { - "globby": "^11.0.1", - "graceful-fs": "^4.2.4", - "is-glob": "^4.0.1", - "is-path-cwd": "^2.2.0", - "is-path-inside": "^3.0.2", - "p-map": "^4.0.0", + "globby": "^13.1.2", + "graceful-fs": "^4.2.10", + "is-glob": "^4.0.3", + "is-path-cwd": "^3.0.0", + "is-path-inside": "^4.0.0", + "p-map": "^5.5.0", "rimraf": "^3.0.2", - "slash": "^3.0.0" + "slash": "^4.0.0" }, "dependencies": { - "aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, - "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - } - }, - "clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true - }, - "globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - } - }, - "indent-string": { + "slash": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", "dev": true - }, - "p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dev": true, - "requires": { - "aggregate-error": "^3.0.0" - } } } }, @@ -12476,9 +12399,9 @@ "peer": true }, "emittery": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.11.0.tgz", - "integrity": "sha512-S/7tzL6v5i+4iJd627Nhv9cLFIo5weAIlGccqJFpnBoDB8U1TF2k5tez4J/QNuxyyhWuFqHg1L84Kd3m7iXg6g==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-1.0.1.tgz", + "integrity": "sha512-2ID6FdrMD9KDLldGesP6317G78K7km/kMcwItRtVFva7I/cSEOIaLpewaUb+YLXVwdAp3Ctfxh/V5zIl1sj7dQ==", "dev": true }, "emoji-regex": { @@ -13525,9 +13448,9 @@ } }, "eslint-plugin-promise": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.1.0.tgz", - "integrity": "sha512-NYCfDZF/KHt27p06nFAttgWuFyIDSUMnNaJBIY1FY9GpBFhdT2vMG64HlFguSgcJeyM5by6Yr5csSOuJm60eXQ==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.1.1.tgz", + "integrity": "sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==", "dev": true, "requires": {} }, @@ -13751,9 +13674,9 @@ } }, "figures": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/figures/-/figures-4.0.1.tgz", - "integrity": "sha512-rElJwkA/xS04Vfg+CaZodpso7VqBknOYbzi6I76hI4X80RUjkSxO2oAyPmGbuXUppywjqndOrQDl817hDnI++w==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-5.0.0.tgz", + "integrity": "sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==", "dev": true, "requires": { "escape-string-regexp": "^5.0.0", @@ -13911,13 +13834,6 @@ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", "dev": true }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "optional": true - }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", @@ -14597,15 +14513,15 @@ } }, "is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-3.0.0.tgz", + "integrity": "sha512-kyiNFFLU0Ampr6SDZitD/DwUo4Zs1nSdnygUBqsu3LooL00Qvb5j+UnvApUn/TTj1J3OuE6BTdQ5rudKmU2ZaA==", "dev": true }, "is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-4.0.0.tgz", + "integrity": "sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==", "dev": true }, "is-plain-obj": { @@ -14828,15 +14744,15 @@ } }, "jscpd": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/jscpd/-/jscpd-3.5.0.tgz", - "integrity": "sha512-MjGlN7C6vRTimGU1Ud2cjw8nQ0oYBedeiQZ3tTP/FgO1f/4mboXQf6oXgcXG6p8Br3Dy+thRcUBCTXvPvmHrsg==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/jscpd/-/jscpd-3.5.1.tgz", + "integrity": "sha512-LCeriLcj26jDaQ58K7p9oMaNP1dsqrEPJkbI0LD/OVjceMJLhDMO3GRAf69uzbnHlhHhufOA+EUb+Wuu5Dc1kA==", "dev": true, "requires": { "@jscpd/core": "^3.5.0", - "@jscpd/finder": "^3.5.0", + "@jscpd/finder": "^3.5.1", "@jscpd/html-reporter": "^3.5.0", - "@jscpd/tokenizer": "^3.5.0", + "@jscpd/tokenizer": "^3.5.1", "colors": "1.4.0", "commander": "^5.0.0", "fs-extra": "^9.1.0", @@ -15911,9 +15827,9 @@ } }, "parse-ms": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-2.1.0.tgz", - "integrity": "sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-3.0.0.tgz", + "integrity": "sha512-Tpb8Z7r7XbbtBTrM9UhpkzzaMrqA2VXMT3YChzYltwV3P3pM6t8wl7TvpMnSTosz1aQAdVib7kdoys7vYOPerw==", "dev": true }, "parseurl": { @@ -16105,12 +16021,12 @@ } }, "pretty-ms": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-7.0.1.tgz", - "integrity": "sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-8.0.0.tgz", + "integrity": "sha512-ASJqOugUF1bbzI35STMBUpZqdfYKlJugy6JBziGi2EE+AL5JPJGSzvpeVXojxrr0ViUYoToUjb5kjSEGf7Y83Q==", "dev": true, "requires": { - "parse-ms": "^2.1.0" + "parse-ms": "^3.0.0" } }, "progress": { @@ -16627,9 +16543,9 @@ } }, "rollup": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.2.3.tgz", - "integrity": "sha512-qfadtkY5kl0F5e4dXVdj2D+GtOdifasXHFMiL1SMf9ADQDv5Eti6xReef9FKj+iQPR2pvtqWna57s/PjARY4fg==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.3.0.tgz", + "integrity": "sha512-wqOV/vUJCYEbWsXvwCkgGWvgaEnsbn4jxBQWKpN816CqsmCimDmCNJI83c6if7QVD4v/zlyRzxN7U2yDT5rfoA==", "dev": true, "requires": { "fsevents": "~2.3.2" @@ -16877,9 +16793,9 @@ "dev": true }, "stack-utils": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", - "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", "dev": true, "requires": { "escape-string-regexp": "^2.0.0" @@ -17116,15 +17032,15 @@ "dev": true }, "temp-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", - "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-3.0.0.tgz", + "integrity": "sha512-nHc6S/bwIilKHNRgK/3jlhDoIHcp45YgyiwcAk46Tr0LfEqGBVpmiAyuiuxeVE44m3mXnEeVhaipLOEWmH+Njw==", "dev": true }, "terser": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.15.0.tgz", - "integrity": "sha512-L1BJiXVmheAQQy+as0oF3Pwtlo4s3Wi1X2zNZ2NxOB4wx9bdS9Vk67XQENLFdLYGCK/Z2di53mTj/hBafR+dTA==", + "version": "5.15.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.15.1.tgz", + "integrity": "sha512-K1faMUvpm/FBxjBXud0LWVAGxmvoPbZbfTCYbSgaaYQaIXI3/TdI7a7ZGA73Zrou6Q8Zmz3oeUTsp/dj+ag2Xw==", "dev": true, "requires": { "@jridgewell/source-map": "^0.3.2", @@ -17748,9 +17664,9 @@ } }, "write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.0.tgz", + "integrity": "sha512-R7NYMnHSlV42K54lwY9lvW6MnSm1HSJqZL3xiSgi9E7//FYaI74r2G0rd+/X6VAMkHEdzxQaU5HUOXWUz5kA/w==", "dev": true, "requires": { "imurmurhash": "^0.1.4", @@ -17758,9 +17674,9 @@ } }, "ws": { - "version": "8.9.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.9.0.tgz", - "integrity": "sha512-Ja7nszREasGaYUYCI2k4lCKIRTt+y7XuqVoHR44YpI49TtryyqbqvDMn5eqfW7e6HzTukDRIsXqzVHScqRcafg==", + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", + "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", "dev": true, "requires": {} }, @@ -17781,9 +17697,9 @@ "dev": true }, "xo": { - "version": "0.52.3", - "resolved": "https://registry.npmjs.org/xo/-/xo-0.52.3.tgz", - "integrity": "sha512-liCEteZ5z+QRyh3XzsYWQyxedBHBvx8CDlNvvi+BJz74L0E5/ID2v7JtoX3bD541AlMuOy4e/iWif6hhNGBFNw==", + "version": "0.52.4", + "resolved": "https://registry.npmjs.org/xo/-/xo-0.52.4.tgz", + "integrity": "sha512-5K+2bSy+nPO1fE6TS5KydgqhZ5pyXvO1P6Rw98aflxHi2LFWoShLmDpJOCxSpIP5867LVOCdH/WO+7iXk6/WVQ==", "dev": true, "requires": { "@eslint/eslintrc": "^1.3.0", @@ -17853,15 +17769,14 @@ "dev": true }, "@typescript-eslint/eslint-plugin": { - "version": "5.36.1", + "version": "5.39.0", "bundled": true, "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.36.1", - "@typescript-eslint/type-utils": "5.36.1", - "@typescript-eslint/utils": "5.36.1", + "@typescript-eslint/scope-manager": "5.39.0", + "@typescript-eslint/type-utils": "5.39.0", + "@typescript-eslint/utils": "5.39.0", "debug": "^4.3.4", - "functional-red-black-tree": "^1.0.1", "ignore": "^5.2.0", "regexpp": "^3.2.0", "semver": "^7.3.7", @@ -17869,48 +17784,48 @@ } }, "@typescript-eslint/parser": { - "version": "5.36.1", + "version": "5.39.0", "bundled": true, "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.36.1", - "@typescript-eslint/types": "5.36.1", - "@typescript-eslint/typescript-estree": "5.36.1", + "@typescript-eslint/scope-manager": "5.39.0", + "@typescript-eslint/types": "5.39.0", + "@typescript-eslint/typescript-estree": "5.39.0", "debug": "^4.3.4" } }, "@typescript-eslint/scope-manager": { - "version": "5.36.1", + "version": "5.39.0", "bundled": true, "dev": true, "requires": { - "@typescript-eslint/types": "5.36.1", - "@typescript-eslint/visitor-keys": "5.36.1" + "@typescript-eslint/types": "5.39.0", + "@typescript-eslint/visitor-keys": "5.39.0" } }, "@typescript-eslint/type-utils": { - "version": "5.36.1", + "version": "5.39.0", "bundled": true, "dev": true, "requires": { - "@typescript-eslint/typescript-estree": "5.36.1", - "@typescript-eslint/utils": "5.36.1", + "@typescript-eslint/typescript-estree": "5.39.0", + "@typescript-eslint/utils": "5.39.0", "debug": "^4.3.4", "tsutils": "^3.21.0" } }, "@typescript-eslint/types": { - "version": "5.36.1", + "version": "5.39.0", "bundled": true, "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.36.1", + "version": "5.39.0", "bundled": true, "dev": true, "requires": { - "@typescript-eslint/types": "5.36.1", - "@typescript-eslint/visitor-keys": "5.36.1", + "@typescript-eslint/types": "5.39.0", + "@typescript-eslint/visitor-keys": "5.39.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -17939,24 +17854,24 @@ } }, "@typescript-eslint/utils": { - "version": "5.36.1", + "version": "5.39.0", "bundled": true, "dev": true, "requires": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.36.1", - "@typescript-eslint/types": "5.36.1", - "@typescript-eslint/typescript-estree": "5.36.1", + "@typescript-eslint/scope-manager": "5.39.0", + "@typescript-eslint/types": "5.39.0", + "@typescript-eslint/typescript-estree": "5.39.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" } }, "@typescript-eslint/visitor-keys": { - "version": "5.36.1", + "version": "5.39.0", "bundled": true, "dev": true, "requires": { - "@typescript-eslint/types": "5.36.1", + "@typescript-eslint/types": "5.39.0", "eslint-visitor-keys": "^3.3.0" } }, @@ -18074,7 +17989,7 @@ "dev": true }, "fast-glob": { - "version": "3.2.11", + "version": "3.2.12", "bundled": true, "dev": true, "requires": { @@ -18111,11 +18026,6 @@ "path-exists": "^5.0.0" } }, - "functional-red-black-tree": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, "glob-parent": { "version": "5.1.2", "bundled": true, @@ -18308,9 +18218,9 @@ "dev": true }, "yargs": { - "version": "17.6.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.0.tgz", - "integrity": "sha512-8H/wTDqlSwoSnScvV2N/JHfLWOKuh5MVla9hqLjK3nsfyy6Y4kDSYSvkU5YCUEPOSnRXfIyx3Sq+B/IWudTo4g==", + "version": "17.6.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz", + "integrity": "sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==", "dev": true, "requires": { "cliui": "^8.0.1", @@ -18319,7 +18229,7 @@ "require-directory": "^2.1.1", "string-width": "^4.2.3", "y18n": "^5.0.5", - "yargs-parser": "^21.0.0" + "yargs-parser": "^21.1.1" }, "dependencies": { "ansi-regex": { diff --git a/package.json b/package.json index fa47028dd62361ee6af6fc8c9f7fa0870e9ce264..5531d9977a4c0a1b0cc3b1f96cb239642d29ee05 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "test:production:npm:nodejs:clean": "rm -rf generated/npm/nodejs/*.test*.mjs", "test:browser": "run-s test:browser:**", "test:browser:cp": "cp generated/tmpBrowser/*.test*.mjs generated/npm/browser/", - "test:browser:test": "cd generated/npm/browser/ && browser-ava **.test.mjs --chromium --firefox", + "test:browser:test": "cd generated/npm/browser/ && PORT=8478 browser-ava **.test.mjs --chromium --firefox", "test:browser:test-e2e": "cd generated/npm/browser/ && browser-ava **.test-e2e.mjs --chromium --firefox", "test:browser:clean": "rm -rf generated/npm/browser/*.test*.mjs", "watch": "chokidar src/* -c \"npm run test:dev:runTests\"", @@ -49,21 +49,21 @@ }, "devDependencies": { "@jscpd/badge-reporter": "^3.4.5", - "ava": "^4.3.3", + "ava": "^5.1.0", "badgen": "^3.2.2", - "browser-ava": "^1.0.0", + "browser-ava": "^1.1.0", "c8": "^7.12.0", "chokidar-cli": "^3.0.0", "es6-plato": "https://github.com/1000i100/es6-plato#master", "eslint-plugin-ava": "^13.2.0", - "eslint-plugin-promise": "^6.1.0", + "eslint-plugin-promise": "^6.1.1", "eslint-plugin-unicorn": "^44.0.2", - "jscpd": "^3.5.0", + "jscpd": "^3.5.1", "mkdirp": "^1.0.4", "npm-run-all": "^4.1.5", - "rollup": "^3.2.3", - "terser": "^5.15.0", - "xo": "^0.52.3" + "rollup": "^3.3.0", + "terser": "^5.15.1", + "xo": "^0.52.4" }, "disabledDependenciesTODOAddComplexityQualityCheck": { "ecma-nacl": "^2.5.0", diff --git a/src/context-dependant/generics.mjs b/src/context-dependant/generics.mjs index 56ac2abaf15198bfb3607170ddc5689f3807ea17..f1d617ef1f1779bc30d80628f6c15358dbb899b3 100644 --- a/src/context-dependant/generics.mjs +++ b/src/context-dependant/generics.mjs @@ -1,3 +1,2 @@ -export const fetch = async () => 0; -export const random = async () => 0; -export const sha512 = async () => 0; +import {fetch,random, ed25519} from './only-nodejs.mjs'; +export {fetch,random, ed25519}; diff --git a/src/context-dependant/only-browser.mjs b/src/context-dependant/only-browser.mjs index 6c9ab8bd08f55866212147bbeda78eb87070c307..83a68d63fab795444540d8309786b97c3b3da9d4 100644 --- a/src/context-dependant/only-browser.mjs +++ b/src/context-dependant/only-browser.mjs @@ -1,3 +1,19 @@ -export async function fetch(...args) { - return window.fetch(...args); // eslint-disable-line no-undef +import * as ed25519 from '../../generated/vendors/@noble-ed25519-browser.mjs'; + +const fetch = window.fetch; + +async function random(u8a,bytes){ + if(!u8a && !bytes) return Math.random(); + if(!bytes && typeof u8a === "number"){ + bytes = u8a; + u8a = new Uint8Array(bytes); + } + const QUOTA = 65536; + const n = bytes; + const v = new Uint8Array(bytes); + for (let i = 0; i < n; i += QUOTA) crypto.getRandomValues(v.subarray(i, i + Math.min(n - i, QUOTA))); + for (let i = 0; i < n; i++) u8a[i] = v[i]; + return u8a; } + +export {fetch, random, ed25519} diff --git a/src/context-dependant/only-nodejs.mjs b/src/context-dependant/only-nodejs.mjs index 5f230885920a0eec5e2b75b136463d57a46fcb2b..0f19ea1096487c4ceffee77020327fc1acf64b5a 100644 --- a/src/context-dependant/only-nodejs.mjs +++ b/src/context-dependant/only-nodejs.mjs @@ -1,2 +1,19 @@ import fetch from '../../node_modules/node-fetch/lib/index.mjs'; -export {fetch}; +import * as ed25519 from '../../generated/vendors/@noble-ed25519-node.mjs'; + +//import fetch from '../../node_modules/node-fetch/src/index.js'; +//import fetch from 'node-fetch'; +//import crypto from "crypto"; +export {fetch,random, ed25519}; + +function random(u8a,bytes){ + if(!u8a && !bytes) return Math.random(); + if(!bytes && typeof u8a === "number"){ + bytes = u8a; + u8a = new Uint8Array(bytes); // Buffer pour les vieilles versions de node + } + const n = bytes; + const v = crypto.randomBytes(n); + for (let i = 0; i < n; i++) u8a[i] = v[i]; + return u8a; +} diff --git a/src/crypto.mjs b/src/crypto.mjs index 4ae9c8f504809ccd0502803338f09a195fd012d9..32067a98bdf11a6e67d75d487d40908827e2b56e 100644 --- a/src/crypto.mjs +++ b/src/crypto.mjs @@ -3,10 +3,12 @@ import scrypt from '../generated/vendors/scrypt.mjs'; import sha256 from '../node_modules/js-sha256/src/sha256.mjs'; import nacl from '../generated/vendors/nacl.mjs'; -import * as ed25519 from '../node_modules/@noble/ed25519/lib/esm/index.js'; -import sha from '../node_modules/js-sha256/src/sha256.mjs'; -// Alt import * as ed25519 from '../node_modules/noble-ed25519/index.mjs'; +import {convertPublicKey, convertSecretKey} from '../node_modules/ed2curve/src/index.mjs'; +//import {convertPublicKey} from '../node_modules/ed2curve-esm/dist-src/index.mjs'; import {b58, b64} from './basex.mjs'; +import {random, ed25519} from './context-dependant/generics.mjs'; +nacl.setPRNG(random); +export const mockRandom = nacl.setPRNG; export {b58, b64, sha256}; @@ -124,12 +126,15 @@ export function onlyPubKey(pubKeyWithChecksum){ export function isDuniterPubKey(b58pubKey){ return /^[A-HJ-NP-Za-km-z1-9]{43,44}$/.test(b58pubKey) && b58.decode(b58pubKey).length <=32; } +export function checkEd25519PubKey(b58pubKey){ + const binPubKey = pubKey2bin(b58pubKey); + ed25519.Point.fromHex(binPubKey); + return true; +} export function isEd25519PubKey(b58pubKey){ try{ - const binPubKey = pubKey2bin(b58pubKey); - ed25519.Point.fromHex(binPubKey); + return checkEd25519PubKey(b58pubKey); } catch (e){return false;} - return true; } export function checkKey(pubKey, checkRawPubKey= true) {