diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 7eb2722..fba5787 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -22,14 +22,20 @@ jobs: run: npm install - name: Compile code - run: sh scripts/build + run: npm run build + + - name: Copy README to build + run: cp README.md build/README.md + + - name: Copy LICENSE to build + run: cp LICENSE.md build/LICENSE.md - name: Automatic GitHub Release uses: justincy/github-action-npm-release@2.0.1 id: release - name: Publish to NPM Registry - run: npm publish --access public + run: cd build && npm publish --access public if: steps.release.outputs.released == 'true' env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c3c4814..77b212c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -43,7 +43,7 @@ jobs: run: npm run test:coverage - name: Test code compilation - run: sh scripts/build + run: npm run build windows: runs-on: windows-latest @@ -66,4 +66,4 @@ jobs: run: npm run test:coverage - name: Test code compilation - run: sh scripts/build + run: npm run build diff --git a/bin/test.ts b/bin/test.ts index a4a9cf8..4e77211 100644 --- a/bin/test.ts +++ b/bin/test.ts @@ -7,53 +7,12 @@ * file that was distributed with this source code. */ -import { assert } from '@japa/assert' -import { Importer } from '@athenna/test' -import { specReporter } from '@japa/spec-reporter' -import { configure, processCliArgs, run } from '@japa/runner' +import { Runner, assert, specReporter } from '@athenna/test' -/* -|-------------------------------------------------------------------------- -| Set IS_TS env. -|-------------------------------------------------------------------------- -| -| Set the IS_TS environement variable to true. Very useful when using the -| Path helper. -*/ - -process.env.IS_TS = 'true' - -/* -|-------------------------------------------------------------------------- -| Configure tests -|-------------------------------------------------------------------------- -| -| The configure method accepts the configuration to configure the Japa -| tests runner. -| -| The first method call "processCliArgs" process the command line arguments -| and turns them into a config object. Using this method is not mandatory. -| -| Please consult japa.dev/runner-config for the config docs. -*/ - -configure({ - ...processCliArgs(process.argv.slice(2)), - ...{ - files: ['tests/**/*Test.ts'], - plugins: [assert()], - reporters: [specReporter()], - importer: Importer.import, - }, -}) - -/* -|-------------------------------------------------------------------------- -| Run tests -|-------------------------------------------------------------------------- -| -| The following "run" method is required to execute all the tests. -| -*/ - -run() +await Runner.setTsEnv() + .addPlugin(assert()) + .addReporter(specReporter()) + .addPath('tests/unit/**/*.ts') + .setCliArgs(process.argv.slice(2)) + .setGlobalTimeout(5000) + .run() diff --git a/bin/tsconfig.build.json b/bin/tsconfig.build.json new file mode 100644 index 0000000..88ef64e --- /dev/null +++ b/bin/tsconfig.build.json @@ -0,0 +1,5 @@ +{ + "extends": "../tsconfig.json", + "include": ["../src", "../templates", "../configurer", "../package.json"], + "exclude": ["../bin", "../build", "../tests", "../node_modules"] +} diff --git a/node b/node index 137c3e9..5a47d02 100755 --- a/node +++ b/node @@ -17,6 +17,6 @@ # sh node --inspect bin/test.ts # Node.js executable with all arguments required to run the application. -node="node --loader ts-node/esm --experimental-import-meta-resolve --no-warnings" +node="node --loader=ts-node/esm --experimental-import-meta-resolve --no-warnings" -$node $@ +$node "$@" diff --git a/package-lock.json b/package-lock.json index 60d5a0f..066aff0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,22 +1,21 @@ { "name": "@athenna/view", - "version": "3.3.0", + "version": "4.0.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@athenna/view", - "version": "3.3.0", + "version": "4.0.0", "license": "MIT", "dependencies": { "edge.js": "^5.5.1" }, "devDependencies": { - "@athenna/common": "^3.6.0", - "@athenna/config": "^3.6.0", - "@athenna/ioc": "^3.4.0", - "@athenna/test": "^3.6.0", - "@swc/core": "^1.3.27", + "@athenna/common": "^4.2.0", + "@athenna/config": "^4.2.0", + "@athenna/ioc": "^4.0.0", + "@athenna/test": "^4.2.0", "@typescript-eslint/eslint-plugin": "^5.56.0", "@typescript-eslint/parser": "^5.56.0", "c8": "^7.12.0", @@ -39,9 +38,9 @@ } }, "node_modules/@apidevtools/json-schema-ref-parser": { - "version": "9.0.9", - "resolved": "https://registry.npmjs.org/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-9.0.9.tgz", - "integrity": "sha512-GBD2Le9w2+lVFoc4vswGI/TjkNIZSVp7+9xPf+X3uidBfWnAeUWmquteSyt0+VCrhNMWj/FTABISQrD3Z/YA+w==", + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-9.1.2.tgz", + "integrity": "sha512-r1w81DpR+KyRWd3f+rk6TNqMgedmAxZP5v5KWlXQWlgMUUtyEJch0DKEci1SorPMiSeM8XPl7MZ3miJ60JIpQg==", "dev": true, "dependencies": { "@jsdevtools/ono": "^7.1.3", @@ -66,9 +65,9 @@ "dev": true }, "node_modules/@athenna/common": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/@athenna/common/-/common-3.6.0.tgz", - "integrity": "sha512-5/KAJ2wE1PVyp/lqV+Pf+gXnzrGyncl4jdL/2fcoq8xOx1etVwh9FtekxhSqHce/OjuHuCzd+4IO7/h31WhvhQ==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@athenna/common/-/common-4.2.0.tgz", + "integrity": "sha512-NT7lrNpW2WqKT6TyXJAysfFT3w6IfyaRdivDRzsSk6/lz0nq8pjZhITP9EUK10mdhmjBYTBcMCVO1JR3j1GZ4w==", "dev": true, "dependencies": { "@fastify/formbody": "^7.4.0", @@ -76,10 +75,9 @@ "callsite": "^1.0.0", "chalk": "^5.2.0", "change-case": "^4.1.2", - "collect.js": "^4.34.3", - "debug": "^4.3.4", - "fastify": "^4.15.0", - "got": "^12.6.0", + "collect.js": "^4.36.1", + "fastify": "^4.16.3", + "got": "^12.6.1", "http-status-codes": "^2.2.0", "is-wsl": "^2.2.0", "kind-of": "^6.0.3", @@ -157,37 +155,37 @@ } }, "node_modules/@athenna/config": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/@athenna/config/-/config-3.6.0.tgz", - "integrity": "sha512-MzTc3hrt0pbCdfYHjUAp2Izk1m9kmJdAIvVlRl1Y/nTic9wfRfo2WvfGrlvKOhApFZhV+Oy9GhosP4LVfGrJRA==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@athenna/config/-/config-4.2.0.tgz", + "integrity": "sha512-hUeoIZp7NnigATnhgNqDUjf73TbIKo5+mLQdN0WIUZWmtBMFy7c8NiNDEgxp4ZQNCCt2N3jgtqOE2BsiRaNPPw==", "dev": true, "dependencies": { - "dotenv": "^16.0.3", - "magicast": "^0.2.1", + "dotenv": "^16.3.1", + "magicast": "^0.2.9", "syntax-error": "^1.4.0" } }, "node_modules/@athenna/ioc": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@athenna/ioc/-/ioc-3.4.0.tgz", - "integrity": "sha512-/uPH0VH1Pcw3tIsL8Ep6NhmcTzJFTiWZFQPA/CK9+FOy7UKAacv1QQODDmDsZvOkKgX7sJJ1tqWq705GhIohEQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@athenna/ioc/-/ioc-4.0.0.tgz", + "integrity": "sha512-/akqOOOa++OE8fwESt113IcdWjauoWI0w7kv+COnk0zijSHsNkIxtBqJPOBo/8JJhj5iBHnzM67ZM4af9ae4TQ==", "dev": true, "dependencies": { "awilix": "^7.0.3" } }, "node_modules/@athenna/test": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/@athenna/test/-/test-3.6.0.tgz", - "integrity": "sha512-1LeasmDMfQaKGN5Pc066WDTlFmYFUU90vyYZWsuMeO379sbosNntAUuTJ0+w/MN3q+4AfzaKQICr+5Th+rZv3A==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@athenna/test/-/test-4.2.0.tgz", + "integrity": "sha512-PgyXCK+sQ1ZwsgfzEGuQmuMmfN1GpLuHguSTUE/MbkiHgZFkbl30I+E1lheIJ7KwWMTwtG3/4k+1T7U9UFuOnA==", "dev": true, "dependencies": { - "@japa/assert": "^1.3.6", + "@japa/assert": "^1.4.1", "@japa/run-failed-tests": "^1.1.0", "@japa/runner": "^2.2.2", - "@japa/spec-reporter": "^1.3.2", - "@types/sinon": "^10.0.13", - "sinon": "^15.0.1" + "@japa/spec-reporter": "^1.3.3", + "@types/sinon": "^10.0.15", + "sinon": "^15.1.0" } }, "node_modules/@babel/code-frame": { @@ -203,18 +201,18 @@ } }, "node_modules/@babel/helper-string-parser": { - "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==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", + "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", "dev": true, "engines": { "node": ">=6.9.0" @@ -291,9 +289,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.4.tgz", - "integrity": "sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==", + "version": "7.22.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.7.tgz", + "integrity": "sha512-7NF8pOkHP5o2vpmGgNGcfAeCvOYhGLyA3Z4eBQkT1RJlWu47n63bCs93QfJ2hIAFCil7L5P2IWhs1oToVgrL0Q==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -303,13 +301,13 @@ } }, "node_modules/@babel/types": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.4.tgz", - "integrity": "sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz", + "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", "dev": true, "dependencies": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", "to-fast-properties": "^2.0.0" }, "engines": { @@ -532,18 +530,18 @@ "dev": true }, "node_modules/@fastify/error": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@fastify/error/-/error-3.2.0.tgz", - "integrity": "sha512-KAfcLa+CnknwVi5fWogrLXgidLic+GXnLjijXdpl8pvkvbXU5BGa37iZO9FGvsh9ZL4y+oFi5cbHBm5UOG+dmQ==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@fastify/error/-/error-3.3.0.tgz", + "integrity": "sha512-dj7vjIn1Ar8sVXj2yAXiMNCJDmS9MQ9XMlIecX2dIzzhjSHCyKo4DdXjXMs7wKW2kj6yvVRSpuQjOZ3YLrh56w==", "dev": true }, "node_modules/@fastify/fast-json-stringify-compiler": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@fastify/fast-json-stringify-compiler/-/fast-json-stringify-compiler-4.2.0.tgz", - "integrity": "sha512-ypZynRvXA3dibfPykQN3RB5wBdEUgSGgny8Qc6k163wYPLD4mEGEDkACp+00YmqkGvIm8D/xYoHajwyEdWD/eg==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@fastify/fast-json-stringify-compiler/-/fast-json-stringify-compiler-4.3.0.tgz", + "integrity": "sha512-aZAXGYo6m22Fk1zZzEUKBvut/CIIQe/BapEORnxiD5Qr0kPHqqI69NtEMCme74h+at72sPhbkb4ZrLd1W3KRLA==", "dev": true, "dependencies": { - "fast-json-stringify": "^5.0.0" + "fast-json-stringify": "^5.7.0" } }, "node_modules/@fastify/formbody": { @@ -599,32 +597,29 @@ } }, "node_modules/@japa/assert": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/@japa/assert/-/assert-1.3.6.tgz", - "integrity": "sha512-aFyCRdLAgYR4P45CayMY7MlzHKLp+oKr2fGj34jObWqmNZOWgFJuEcwBGoqbr+ApL/9Qhkcq0hoFL2FyfFJ7Jw==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@japa/assert/-/assert-1.4.1.tgz", + "integrity": "sha512-IyacnyaGzHqKTUbnOproPluHGWybt0ix0UsISAnjK62aTlDS4pOYPXkCDexk21/iReXNLtFgKM/RrDPDAUfrqA==", "dev": true, "dependencies": { - "@types/chai": "^4.3.3", + "@types/chai": "^4.3.4", "api-contract-validator": "^2.2.8", - "chai": "^4.3.6", - "macroable": "^7.0.1" + "chai": "^4.3.7", + "macroable": "^7.0.2" }, "peerDependencies": { "@japa/runner": "^2.1.1" } }, "node_modules/@japa/base-reporter": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@japa/base-reporter/-/base-reporter-1.1.0.tgz", - "integrity": "sha512-svEQ3OlzhrnCGTgP61UfFt1WsnQuLSOJ3m79E6Q44ynoG26V0RiwFA5m078JkoTl22bD1/aK8LJSleHopUjQTg==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@japa/base-reporter/-/base-reporter-1.1.2.tgz", + "integrity": "sha512-6MYs/EsXjouFPNUQL3VGllryZ5enI5rqhvQbY2Dzh3Zmhu22DWw6v9d2pxucrFptDTtQ38MBPVL/BIeZAafmOw==", "dev": true, "dependencies": { - "@japa/errors-printer": "^2.0.1", - "@poppinss/cliui": "^3.0.4", + "@japa/errors-printer": "^2.1.0", + "@poppinss/cliui": "^3.0.5", "ms": "^2.1.3" - }, - "peerDependencies": { - "@japa/core": "^7.0.0" } }, "node_modules/@japa/core": { @@ -641,15 +636,15 @@ } }, "node_modules/@japa/errors-printer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@japa/errors-printer/-/errors-printer-2.0.1.tgz", - "integrity": "sha512-6ngqHgvgDzVVz2zMd+vCziAfVoAyDxOXvgvHNNVAddAtbmd62eyFexG0hfTUZnkY8EthVG7o8lv6XpcsJL1kxA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@japa/errors-printer/-/errors-printer-2.1.0.tgz", + "integrity": "sha512-iZUrB58e29jbRxb7lxocz5uHt9mQ1q7iojs8Gh1kIKmvaPx0KMqce77JDtqYzu2+95WjmppAvM6au1l1WYJmpw==", "dev": true, "dependencies": { - "@poppinss/cliui": "^3.0.2", - "jest-diff": "^29.0.2", - "youch": "^3.2.2", - "youch-terminal": "^2.1.5" + "@poppinss/cliui": "^3.0.5", + "jest-diff": "^29.4.1", + "youch": "^3.2.3", + "youch-terminal": "^2.2.0" } }, "node_modules/@japa/run-failed-tests": { @@ -696,29 +691,57 @@ } }, "node_modules/@japa/spec-reporter": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@japa/spec-reporter/-/spec-reporter-1.3.2.tgz", - "integrity": "sha512-XfJaw1dHjBfZfpKt+k2T1mPGlgZa3I0ZujmB0D0SFoHqus0yCCaiPeocoeHYPtuGETqxHdsNz3yQBX0cyOMxHQ==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@japa/spec-reporter/-/spec-reporter-1.3.3.tgz", + "integrity": "sha512-EOOjvQVmmWZDKxmO+f0v/BSNeKzKkeJSrNwEldkF40zZWdHX2J3Jb2MJowE5DgSOQCiG/OG2UFen0I+XLnPoxQ==", "dev": true, "dependencies": { - "@japa/base-reporter": "^1.1.0", - "@japa/errors-printer": "^2.0.1", - "@poppinss/cliui": "^3.0.4", + "@japa/base-reporter": "^1.1.1", + "@japa/errors-printer": "^2.1.0", + "@poppinss/cliui": "^3.0.5", "ms": "^2.1.3" } }, "node_modules/@jest/schemas": { - "version": "29.0.0", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.0.0.tgz", - "integrity": "sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA==", + "version": "29.6.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", + "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", "dev": true, "dependencies": { - "@sinclair/typebox": "^0.24.1" + "@sinclair/typebox": "^0.27.8" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/@jest/types": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz", + "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@jest/types/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/@jridgewell/resolve-uri": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.6.tgz", @@ -857,15 +880,15 @@ } }, "node_modules/@sinclair/typebox": { - "version": "0.24.51", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", - "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==", + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", "dev": true }, "node_modules/@sindresorhus/is": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.3.0.tgz", - "integrity": "sha512-CX6t4SYQ37lzxicAqsBtxA3OseeoVrh9cSJ5PFYam0GksYlupRfy1A+Q4aYD3zvcfECLc0zO2u+ZnR2UYKvCrw==", + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.6.0.tgz", + "integrity": "sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==", "dev": true, "engines": { "node": ">=14.16" @@ -884,27 +907,18 @@ } }, "node_modules/@sinonjs/fake-timers": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.0.2.tgz", - "integrity": "sha512-SwUDyjWnah1AaNl7kxsa7cfLhlTYoiyhDAIgyh+El30YvXs/o7OLXpYH88Zdhyx9JExKrmHDJ+10bwIcY80Jmw==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^2.0.0" - } - }, - "node_modules/@sinonjs/fake-timers/node_modules/@sinonjs/commons": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", - "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", "dev": true, "dependencies": { - "type-detect": "4.0.8" + "@sinonjs/commons": "^3.0.0" } }, "node_modules/@sinonjs/samsam": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-7.0.1.tgz", - "integrity": "sha512-zsAk2Jkiq89mhZovB2LLOdTCxJF4hqqTToGP0ASWlhp4I1hqOjcfmZGafXntCN7MDC6yySH0mFHrYtHceOeLmw==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-8.0.0.tgz", + "integrity": "sha512-Bp8KUVlLp8ibJZrnvq2foVhP0IVX2CIprMJPK0vqGqgrDa0OHVKeZyBykqskkrdxV6yKBPmGasO8LVjAKR3Gew==", "dev": true, "dependencies": { "@sinonjs/commons": "^2.0.0", @@ -933,6 +947,8 @@ "integrity": "sha512-praRNgpeYGvwDIm/Cl6JU+yHMvwVraL0U6ejMgGyzvpcm1FVsZd1/EYXGqzbBJ0ALv7Gx4eK56h4GnwV6d4L0w==", "dev": true, "hasInstallScript": true, + "optional": true, + "peer": true, "engines": { "node": ">=10" }, @@ -965,6 +981,7 @@ "os": [ "darwin" ], + "peer": true, "engines": { "node": ">=10" } @@ -981,6 +998,7 @@ "os": [ "darwin" ], + "peer": true, "engines": { "node": ">=10" } @@ -997,6 +1015,7 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=10" } @@ -1013,6 +1032,7 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=10" } @@ -1029,6 +1049,7 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=10" } @@ -1045,6 +1066,7 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=10" } @@ -1061,6 +1083,7 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=10" } @@ -1077,6 +1100,7 @@ "os": [ "win32" ], + "peer": true, "engines": { "node": ">=10" } @@ -1093,6 +1117,7 @@ "os": [ "win32" ], + "peer": true, "engines": { "node": ">=10" } @@ -1109,6 +1134,7 @@ "os": [ "win32" ], + "peer": true, "engines": { "node": ">=10" } @@ -1155,9 +1181,9 @@ "integrity": "sha512-lOGyCnw+2JVPKU3wIV0srU0NyALwTBJlVSx5DfMQOFuuohA8y9S8orImpuIQikZ0uIQ8gehrRjxgQC1rLRi11w==" }, "node_modules/@types/chai": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.4.tgz", - "integrity": "sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw==", + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.5.tgz", + "integrity": "sha512-mEo1sAde+UCE6b2hxn332f1g1E8WfYRu6p5SvTKr2ZKC1f7gFJXk4h5PyGP9Dt6gCaG8y8XhwnXWC6Iy2cmBng==", "dev": true }, "node_modules/@types/he": { @@ -1186,6 +1212,16 @@ "@types/istanbul-lib-coverage": "*" } }, + "node_modules/@types/istanbul-reports": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", + "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" + } + }, "node_modules/@types/json-schema": { "version": "7.0.11", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", @@ -1224,9 +1260,9 @@ "dev": true }, "node_modules/@types/sinon": { - "version": "10.0.13", - "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-10.0.13.tgz", - "integrity": "sha512-UVjDqJblVNQYvVNUsj0PuYYw0ELRmgt1Nt5Vk0pT5f16ROGfcKJY8o1HVuMOJOpD727RrGB9EGvoaTQE5tgxZQ==", + "version": "10.0.15", + "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-10.0.15.tgz", + "integrity": "sha512-3lrFNQG0Kr2LDzvjyjB6AMJk4ge+8iYhQfdnSwIwlG88FUOV43kPcQqDZkDa/h3WSZy6i8Fr0BSjfQtB1B3xuQ==", "dev": true, "dependencies": { "@types/sinonjs__fake-timers": "*" @@ -1238,6 +1274,15 @@ "integrity": "sha512-9GcLXF0/v3t80caGs5p2rRfkB+a8VBGLJZVih6CNFkx8IZ994wiKKLSRs9nuFwk1HevWs/1mnUmkApGrSGsShA==", "dev": true }, + "node_modules/@types/yargs": { + "version": "15.0.15", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.15.tgz", + "integrity": "sha512-IziEYMU9XoVj8hWg7k+UJrXALkGFjWJhn5QFEv9q4p+v40oZhSuC135M38st8XPjICL7Ey4TV64ferBGUoJhBg==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, "node_modules/@types/yargs-parser": { "version": "21.0.0", "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", @@ -1726,40 +1771,6 @@ "node": ">=8" } }, - "node_modules/api-contract-validator/node_modules/@jest/types": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz", - "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^15.0.0", - "chalk": "^3.0.0" - }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/api-contract-validator/node_modules/@types/istanbul-reports": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", - "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "*", - "@types/istanbul-lib-report": "*" - } - }, - "node_modules/api-contract-validator/node_modules/@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, "node_modules/api-contract-validator/node_modules/chalk": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", @@ -1806,21 +1817,6 @@ "node": ">= 8.3" } }, - "node_modules/api-contract-validator/node_modules/jest-matcher-utils": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-25.5.0.tgz", - "integrity": "sha512-VWI269+9JS5cpndnpCwm7dy7JtGQT30UHfrnM3mXl22gHGt/b7NkjBqXfbhZ8V4B7ANUsjK18PlSBmG0YH7gjw==", - "dev": true, - "dependencies": { - "chalk": "^3.0.0", - "jest-diff": "^25.5.0", - "jest-get-type": "^25.2.6", - "pretty-format": "^25.5.0" - }, - "engines": { - "node": ">= 8.3" - } - }, "node_modules/api-contract-validator/node_modules/pretty-format": { "version": "25.5.0", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", @@ -1996,9 +1992,9 @@ } }, "node_modules/ast-types": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.15.2.tgz", - "integrity": "sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==", + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.16.1.tgz", + "integrity": "sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==", "dev": true, "dependencies": { "tslib": "^2.0.1" @@ -2285,9 +2281,9 @@ } }, "node_modules/cacheable-request": { - "version": "10.2.9", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-10.2.9.tgz", - "integrity": "sha512-CaAMr53AS1Tb9evO1BIWFnZjSr8A4pbXofpsNVWPMDZZj3ZQKHwsQG9BrTqQ4x5ZYJXz1T2b8LLtTZODxSpzbg==", + "version": "10.2.12", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-10.2.12.tgz", + "integrity": "sha512-qtWGB5kn2OLjx47pYUkWicyOpK1vy9XZhq8yRTXOy+KAmjjESSRLx6SiExnnaGGUP1NM6/vmygMu0fGylNh9tw==", "dev": true, "dependencies": { "@types/http-cache-semantics": "^4.0.1", @@ -2337,9 +2333,9 @@ } }, "node_modules/call-me-maybe": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", - "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.2.tgz", + "integrity": "sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==", "dev": true }, "node_modules/caller-callsite": { @@ -2413,14 +2409,14 @@ } }, "node_modules/chai": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.6.tgz", - "integrity": "sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q==", + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz", + "integrity": "sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==", "dev": true, "dependencies": { "assertion-error": "^1.1.0", "check-error": "^1.0.2", - "deep-eql": "^3.0.1", + "deep-eql": "^4.1.2", "get-func-name": "^2.0.0", "loupe": "^2.3.1", "pathval": "^1.1.1", @@ -2474,7 +2470,7 @@ "node_modules/charenc": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", - "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=", + "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==", "dev": true, "engines": { "node": "*" @@ -2483,7 +2479,7 @@ "node_modules/check-error": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", + "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==", "dev": true, "engines": { "node": "*" @@ -2627,7 +2623,7 @@ "node_modules/clone": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", "dev": true, "engines": { "node": ">=0.8" @@ -2648,9 +2644,9 @@ } }, "node_modules/collect.js": { - "version": "4.34.3", - "resolved": "https://registry.npmjs.org/collect.js/-/collect.js-4.34.3.tgz", - "integrity": "sha512-aFr67xDazPwthsGm729mnClgNuh15JEagU6McKBKqxuHOkWL7vMFzGbhsXDdPZ+H6ia5QKIMGYuGOMENBHnVpg==", + "version": "4.36.1", + "resolved": "https://registry.npmjs.org/collect.js/-/collect.js-4.36.1.tgz", + "integrity": "sha512-jd97xWPKgHn6uvK31V6zcyPd40lUJd7gpYxbN2VOVxGWO4tyvS9Li4EpsFjXepGTo2tYcOTC4a8YsbQXMJ4XUw==", "dev": true }, "node_modules/color-convert": { @@ -2874,7 +2870,7 @@ "node_modules/crypt": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", - "integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=", + "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==", "dev": true, "engines": { "node": "*" @@ -2965,7 +2961,7 @@ "node_modules/dag-map": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/dag-map/-/dag-map-1.0.2.tgz", - "integrity": "sha1-6DefBBAA7VYfxRVHXB7SyF7s6Nc=", + "integrity": "sha512-+LSAiGFwQ9dRnRdOeaj7g47ZFJcOUPukAP8J3A3fuZ1g9Y44BG+P1sgApjLXTQPOzC4+7S9Wr8kXsfpINM4jpw==", "dev": true }, "node_modules/data-uri-to-buffer": { @@ -2998,9 +2994,9 @@ "dev": true }, "node_modules/decimal.js": { - "version": "10.3.1", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz", - "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==", + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", "dev": true }, "node_modules/decompress-response": { @@ -3037,15 +3033,15 @@ "dev": true }, "node_modules/deep-eql": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", - "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", + "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", "dev": true, "dependencies": { "type-detect": "^4.0.0" }, "engines": { - "node": ">=0.12" + "node": ">=6" } }, "node_modules/deep-is": { @@ -3125,9 +3121,9 @@ } }, "node_modules/diff-sequences": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.3.1.tgz", - "integrity": "sha512-hlM3QR272NXCi4pq+N4Kok4kOp6EsgOM3ZSpJI7Da3UAs+Ttsi8MRmB6trM/lhyzUxGfOgnpkHtgqm5Q/CTcfQ==", + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.4.3.tgz", + "integrity": "sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==", "dev": true, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -3167,12 +3163,15 @@ } }, "node_modules/dotenv": { - "version": "16.0.3", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", - "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==", + "version": "16.3.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.3.1.tgz", + "integrity": "sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==", "dev": true, "engines": { "node": ">=12" + }, + "funding": { + "url": "https://github.com/motdotla/dotenv?sponsor=1" } }, "node_modules/eastasianwidth": { @@ -4059,9 +4058,9 @@ } }, "node_modules/fast-redact": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/fast-redact/-/fast-redact-3.1.2.tgz", - "integrity": "sha512-+0em+Iya9fKGfEQGcd62Yv6onjBmmhV1uh86XVfOU8VwAe6kaFdQCWI9s0/Nnugx5Vd9tdbZ7e6gE2tR9dzXdw==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/fast-redact/-/fast-redact-3.2.0.tgz", + "integrity": "sha512-zaTadChr+NekyzallAMXATXLOR8MNx3zqpZ0MUF2aGf4EathnG0f32VLODNlY8IuGY3HoRO2L6/6fSzNsLaHIw==", "dev": true, "engines": { "node": ">=6" @@ -4074,26 +4073,27 @@ "dev": true }, "node_modules/fastify": { - "version": "4.15.0", - "resolved": "https://registry.npmjs.org/fastify/-/fastify-4.15.0.tgz", - "integrity": "sha512-m/CaRN8nf5uyYdrDe2qqq+0z3oGyE+A++qlKQoLJTI4WI0nWK9D6R3FxXQ3MVwt/md977GMR4F43pE9oqrS2zw==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/fastify/-/fastify-4.20.0.tgz", + "integrity": "sha512-zWWi5KGAb1YZ6fyrnFnA1CA1EZHkGM6YuELgB3QpS3l4lLRy14W1cc16b4KGPH/zQ98WCSdS+T41JkHY3eq1oA==", "dev": true, "dependencies": { "@fastify/ajv-compiler": "^3.5.0", - "@fastify/error": "^3.0.0", - "@fastify/fast-json-stringify-compiler": "^4.2.0", + "@fastify/error": "^3.2.0", + "@fastify/fast-json-stringify-compiler": "^4.3.0", "abstract-logging": "^2.0.1", - "avvio": "^8.2.0", + "avvio": "^8.2.1", "fast-content-type-parse": "^1.0.0", + "fast-json-stringify": "^5.7.0", "find-my-way": "^7.6.0", - "light-my-request": "^5.6.1", - "pino": "^8.5.0", - "process-warning": "^2.0.0", + "light-my-request": "^5.9.1", + "pino": "^8.12.0", + "process-warning": "^2.2.0", "proxy-addr": "^2.0.7", "rfdc": "^1.3.0", "secure-json-parse": "^2.5.0", - "semver": "^7.3.7", - "tiny-lru": "^10.0.0" + "semver": "^7.5.0", + "tiny-lru": "^11.0.1" } }, "node_modules/fastify-plugin": { @@ -4103,9 +4103,9 @@ "dev": true }, "node_modules/fastify/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -4192,9 +4192,9 @@ } }, "node_modules/find-my-way": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/find-my-way/-/find-my-way-7.6.0.tgz", - "integrity": "sha512-H7berWdHJ+5CNVr4ilLWPai4ml7Y2qAsxjw3pfeBxPigZmaDTzF0wjJLj90xRCmGcWYcyt050yN+34OZDJm1eQ==", + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/find-my-way/-/find-my-way-7.6.2.tgz", + "integrity": "sha512-0OjHn1b1nCX3eVbm9ByeEHiscPYiHLfhei1wOUU9qffQkk98wE0Lo8VrVYfSGMgnSnDh86DxedduAnBf4nwUEw==", "dev": true, "dependencies": { "fast-deep-equal": "^3.1.3", @@ -4390,7 +4390,7 @@ "node_modules/get-func-name": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", + "integrity": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==", "dev": true, "engines": { "node": "*" @@ -4613,9 +4613,9 @@ } }, "node_modules/got": { - "version": "12.6.0", - "resolved": "https://registry.npmjs.org/got/-/got-12.6.0.tgz", - "integrity": "sha512-WTcaQ963xV97MN3x0/CbAriXFZcXCfgxVp91I+Ze6pawQOa7SgzwSx2zIJJsX+kTajMnVs0xcFD1TxZKFqhdnQ==", + "version": "12.6.1", + "resolved": "https://registry.npmjs.org/got/-/got-12.6.1.tgz", + "integrity": "sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==", "dev": true, "dependencies": { "@sindresorhus/is": "^5.2.0", @@ -5345,7 +5345,7 @@ "node_modules/is-invalid-path": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/is-invalid-path/-/is-invalid-path-0.1.0.tgz", - "integrity": "sha1-MHqFWzzxqTi0TqcNLGEQYFNxTzQ=", + "integrity": "sha512-aZMG0T3F34mTg4eTdszcGXx54oiZ4NtHSft3hWNJMGJXUUqdIj3cOZuHcU0nCWWcY3jd7yRe/3AEm3vSNTpBGQ==", "dev": true, "dependencies": { "is-glob": "^2.0.0" @@ -5357,7 +5357,7 @@ "node_modules/is-invalid-path/node_modules/is-extglob": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "integrity": "sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==", "dev": true, "engines": { "node": ">=0.10.0" @@ -5366,7 +5366,7 @@ "node_modules/is-invalid-path/node_modules/is-glob": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "integrity": "sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==", "dev": true, "dependencies": { "is-extglob": "^1.0.0" @@ -5555,7 +5555,7 @@ "node_modules/is-valid-path": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-valid-path/-/is-valid-path-0.1.1.tgz", - "integrity": "sha1-EQ+f90w39mPh7HkV60UfLbk6yd8=", + "integrity": "sha512-+kwPrVDu9Ms03L90Qaml+79+6DZHqHyRoANI6IsZJ/g8frhnfchDOBCa0RbQ6/kdHt5CS5OeIEyrYznNuVN+8A==", "dev": true, "dependencies": { "is-invalid-path": "^0.1.0" @@ -5612,7 +5612,7 @@ "node_modules/isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", "dev": true, "engines": { "node": ">=0.10.0" @@ -5655,29 +5655,111 @@ } }, "node_modules/jest-diff": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.3.1.tgz", - "integrity": "sha512-vU8vyiO7568tmin2lA3r2DP8oRvzhvRcD4DjpXc6uGveQodyk7CKLhQlCSiwgx3g0pFaE88/KLZ0yaTWMc4Uiw==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.6.1.tgz", + "integrity": "sha512-FsNCvinvl8oVxpNLttNQX7FAq7vR+gMDGj90tiP7siWw1UdakWUGqrylpsYrpvj908IYckm5Y0Q7azNAozU1Kg==", "dev": true, "dependencies": { "chalk": "^4.0.0", - "diff-sequences": "^29.3.1", - "jest-get-type": "^29.2.0", - "pretty-format": "^29.3.1" + "diff-sequences": "^29.4.3", + "jest-get-type": "^29.4.3", + "pretty-format": "^29.6.1" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-get-type": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.2.0.tgz", - "integrity": "sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA==", + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.4.3.tgz", + "integrity": "sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==", "dev": true, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/jest-matcher-utils": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-25.5.0.tgz", + "integrity": "sha512-VWI269+9JS5cpndnpCwm7dy7JtGQT30UHfrnM3mXl22gHGt/b7NkjBqXfbhZ8V4B7ANUsjK18PlSBmG0YH7gjw==", + "dev": true, + "dependencies": { + "chalk": "^3.0.0", + "jest-diff": "^25.5.0", + "jest-get-type": "^25.2.6", + "pretty-format": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-matcher-utils/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-matcher-utils/node_modules/diff-sequences": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.6.tgz", + "integrity": "sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==", + "dev": true, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-matcher-utils/node_modules/jest-diff": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.5.0.tgz", + "integrity": "sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==", + "dev": true, + "dependencies": { + "chalk": "^3.0.0", + "diff-sequences": "^25.2.6", + "jest-get-type": "^25.2.6", + "pretty-format": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-matcher-utils/node_modules/jest-get-type": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", + "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", + "dev": true, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-matcher-utils/node_modules/pretty-format": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", + "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-matcher-utils/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true + }, "node_modules/js-sdsl": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.2.0.tgz", @@ -5791,9 +5873,9 @@ "dev": true }, "node_modules/keyv": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.2.tgz", - "integrity": "sha512-5MHbFaKn8cNSmVW7BYnijeAVlE4cYA/SVkifVgrh7yotnfhKmjuXpDKjrABLnT0SfHWV21P8ow07OGfRrNDg8g==", + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.3.tgz", + "integrity": "sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==", "dev": true, "dependencies": { "json-buffer": "3.0.1" @@ -5830,9 +5912,9 @@ } }, "node_modules/light-my-request": { - "version": "5.9.1", - "resolved": "https://registry.npmjs.org/light-my-request/-/light-my-request-5.9.1.tgz", - "integrity": "sha512-UT7pUk8jNCR1wR7w3iWfIjx32DiB2f3hFdQSOwy3/EPQ3n3VocyipUxcyRZR0ahoev+fky69uA+GejPa9KuHKg==", + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/light-my-request/-/light-my-request-5.10.0.tgz", + "integrity": "sha512-ZU2D9GmAcOUculTTdH9/zryej6n8TzT+fNGdNtm6SDp5MMMpHrJJkvAdE3c6d8d2chE9i+a//dS9CWZtisknqA==", "dev": true, "dependencies": { "cookie": "^0.5.0", @@ -6046,19 +6128,19 @@ "node_modules/lodash.flatten": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", - "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=", + "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==", "dev": true }, "node_modules/lodash.get": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", + "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", "dev": true }, "node_modules/lodash.isequal": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", - "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=", + "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==", "dev": true }, "node_modules/lodash.map": { @@ -6076,7 +6158,7 @@ "node_modules/lodash.set": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz", - "integrity": "sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM=", + "integrity": "sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg==", "dev": true }, "node_modules/log-symbols": { @@ -6163,9 +6245,9 @@ } }, "node_modules/loupe": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.4.tgz", - "integrity": "sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ==", + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz", + "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==", "dev": true, "dependencies": { "get-func-name": "^2.0.0" @@ -6209,14 +6291,14 @@ "integrity": "sha512-QS9p+Q20YBxpE0dJBnF6CPURP7p1GUsxnhTxTWH5nG3A1F5w8Rg3T4Xyh5UlrFSbHp88oOciVP/0agsNLhkHdQ==" }, "node_modules/magicast": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.2.2.tgz", - "integrity": "sha512-geqE0Cdrj/5YvlLo3CUtOFXhVAbox90bEQkHi3kkSB85+Vt9aMPFZpEkjTr6d2SJwRJ+3fE0bAUyfhpZjPVT+w==", + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.2.9.tgz", + "integrity": "sha512-S1WBXLSVKa34X+Bv7pfA8Umqc1BoglsqzWaQcyuexDc0cjgnERaFTSHbne2OfT27lXYxt/B/sV/2Kh0HaSQkfg==", "dev": true, "dependencies": { - "@babel/parser": "^7.21.4", - "@babel/types": "^7.21.4", - "recast": "^0.22.0" + "@babel/parser": "^7.22.4", + "@babel/types": "^7.22.4", + "recast": "^0.23.2" } }, "node_modules/make-dir": { @@ -6243,7 +6325,7 @@ "node_modules/md5": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/md5/-/md5-2.2.1.tgz", - "integrity": "sha1-U6s41f48iJG6RlMp6iP6wFQBJvk=", + "integrity": "sha512-PlGG4z5mBANDGCKsYQe0CaUYHdZYZt8ZPZLmEt+Urf0W4GlpTX4HescwHU+dc9+Z/G/vZKYZYFrwgm9VxK6QOQ==", "dev": true, "dependencies": { "charenc": "~0.0.1", @@ -6254,7 +6336,7 @@ "node_modules/memory-cache": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/memory-cache/-/memory-cache-0.2.0.tgz", - "integrity": "sha1-eJCwHVLADI68nVM+H46xfjA0hxo=", + "integrity": "sha512-OcjA+jzjOYzKmKS6IQVALHLVz+rNTMPoJvCztFaZxwG14wtAW7VRZjwTQu06vKCYOxh4jVnik7ya0SXTB0W+xA==", "dev": true }, "node_modules/merge": { @@ -6875,9 +6957,9 @@ } }, "node_modules/pino": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/pino/-/pino-8.11.0.tgz", - "integrity": "sha512-Z2eKSvlrl2rH8p5eveNUnTdd4AjJk8tAsLkHYZQKGHP4WTh2Gi1cOSOs3eWPqaj+niS3gj4UkoreoaWgF3ZWYg==", + "version": "8.14.1", + "resolved": "https://registry.npmjs.org/pino/-/pino-8.14.1.tgz", + "integrity": "sha512-8LYNv7BKWXSfS+k6oEc6occy5La+q2sPwU3q2ljTX5AZk7v+5kND2o5W794FyRaqha6DJajmkNRsWtPpFyMUdw==", "dev": true, "dependencies": { "atomic-sleep": "^1.0.0", @@ -6931,24 +7013,25 @@ } }, "node_modules/pino-abstract-transport/node_modules/readable-stream": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.3.0.tgz", - "integrity": "sha512-MuEnA0lbSi7JS8XM+WNJlWZkHAAdm7gETHdFK//Q/mChGyj2akEFtdLZh32jSdkWGbRwCW9pn6g3LWDdDeZnBQ==", + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.4.2.tgz", + "integrity": "sha512-Lk/fICSyIhodxy1IDK2HazkeGjSmezAWX2egdtJnYhtzKEsBPJowlI6F6LPb5tqIQILrMbx22S5o3GuJavPusA==", "dev": true, "dependencies": { "abort-controller": "^3.0.0", "buffer": "^6.0.3", "events": "^3.3.0", - "process": "^0.11.10" + "process": "^0.11.10", + "string_decoder": "^1.3.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, "node_modules/pino-std-serializers": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-6.1.0.tgz", - "integrity": "sha512-KO0m2f1HkrPe9S0ldjx7za9BJjeHqBku5Ch8JyxETxT8dEFGz1PwgrHaOQupVYitpzbFSYm7nnljxD8dik2c+g==", + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-6.2.2.tgz", + "integrity": "sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==", "dev": true }, "node_modules/pkg-dir": { @@ -7090,12 +7173,12 @@ } }, "node_modules/pretty-format": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.3.1.tgz", - "integrity": "sha512-FyLnmb1cYJV8biEIiRyzRFvs2lry7PPIvOqKVe1GCUEYg4YGmlx1qG9EJNMxArYm7piII4qb8UV1Pncq5dxmcg==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.1.tgz", + "integrity": "sha512-7jRj+yXO0W7e4/tSJKoR7HRIHLPPjtNaUGG2xxKQnGvPNRkgWcQ0AZX6P4KBRJN4FcTBWb3sa7DVUJmocYuoog==", "dev": true, "dependencies": { - "@jest/schemas": "^29.0.0", + "@jest/schemas": "^29.6.0", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" }, @@ -7269,13 +7352,13 @@ } }, "node_modules/recast": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/recast/-/recast-0.22.0.tgz", - "integrity": "sha512-5AAx+mujtXijsEavc5lWXBPQqrM4+Dl5qNH96N2aNeuJFUzpiiToKPsxQD/zAIJHspz7zz0maX0PCtCTFVlixQ==", + "version": "0.23.3", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.23.3.tgz", + "integrity": "sha512-HbCVFh2ANP6a09nzD4lx7XthsxMOJWKX5pIcUwtLrmeEIl3I0DwjCoVXDE0Aobk+7k/mS3H50FK4iuYArpcT6Q==", "dev": true, "dependencies": { "assert": "^2.0.0", - "ast-types": "0.15.2", + "ast-types": "^0.16.1", "esprima": "~4.0.0", "source-map": "~0.6.1", "tslib": "^2.0.1" @@ -7667,14 +7750,14 @@ "dev": true }, "node_modules/sinon": { - "version": "15.0.2", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-15.0.2.tgz", - "integrity": "sha512-PCVP63XZkg0/LOqQH5rEU4LILuvTFMb5tNxTHfs6VUMNnZz2XrnGSTZbAGITjzwQWbl/Bl/8hi4G3zZWjyBwHg==", + "version": "15.2.0", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-15.2.0.tgz", + "integrity": "sha512-nPS85arNqwBXaIsFCkolHjGIkFo+Oxu9vbgmBJizLAhqe6P2o3Qmj3KCUoRkfhHtvgDhZdWD3risLHAUJ8npjw==", "dev": true, "dependencies": { "@sinonjs/commons": "^3.0.0", - "@sinonjs/fake-timers": "^10.0.2", - "@sinonjs/samsam": "^7.0.1", + "@sinonjs/fake-timers": "^10.3.0", + "@sinonjs/samsam": "^8.0.0", "diff": "^5.1.0", "nise": "^5.1.4", "supports-color": "^7.2.0" @@ -8033,16 +8116,16 @@ } }, "node_modules/swagger-parser/node_modules/openapi-types": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/openapi-types/-/openapi-types-11.0.0.tgz", - "integrity": "sha512-GB+QO6o1hAtKsb8tP3/FTD5jpkdKrf42L4Gel9UySngMurzr+Q9pO+dtnmySQCzoCEfJr39IH6bveEn71xNcVg==", + "version": "12.1.3", + "resolved": "https://registry.npmjs.org/openapi-types/-/openapi-types-12.1.3.tgz", + "integrity": "sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw==", "dev": true, "peer": true }, "node_modules/swagger-schema-official": { "version": "2.0.0-bab6bed", "resolved": "https://registry.npmjs.org/swagger-schema-official/-/swagger-schema-official-2.0.0-bab6bed.tgz", - "integrity": "sha1-cAcEaNbSl3ylI3suUZyn0Gouo/0=", + "integrity": "sha512-rCC0NWGKr/IJhtRuPq/t37qvZHI/mH4I4sxflVM+qgVe5Z2uOCivzWaVbuioJaB61kvm5UvB7b49E+oBY0M8jA==", "dev": true }, "node_modules/syntax-error": { @@ -8152,9 +8235,9 @@ } }, "node_modules/tiny-lru": { - "version": "10.4.1", - "resolved": "https://registry.npmjs.org/tiny-lru/-/tiny-lru-10.4.1.tgz", - "integrity": "sha512-buLIzw7ppqymuO3pt10jHk/6QMeZLbidihMQU+N6sogF6EnBzG0qtDWIHuhw1x3dyNgVL/KTGIZsTK81+yCzLg==", + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/tiny-lru/-/tiny-lru-11.0.1.tgz", + "integrity": "sha512-iNgFugVuQgBKrqeO/mpiTTgmBsTP0WL6yeuLfLs/Ctf0pI/ixGqIRm8sDCwMcXGe9WWvt2sGXI5mNqZbValmJg==", "dev": true, "engines": { "node": ">=12" @@ -8194,10 +8277,13 @@ } }, "node_modules/traverse": { - "version": "0.6.6", - "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz", - "integrity": "sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc=", - "dev": true + "version": "0.6.7", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.7.tgz", + "integrity": "sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/truncatise": { "version": "0.0.8", @@ -8463,7 +8549,7 @@ "node_modules/valid-url": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/valid-url/-/valid-url-1.0.9.tgz", - "integrity": "sha1-HBRHm0DxOXp1eC8RXkCGRHQzogA=", + "integrity": "sha512-QQDsV8OnSf5Uc30CKSwG9lnhMPe6exHtTXLRYX8uMwKENy640pU+2BgBL0LRbDh/eYRahNCS7aewCx0wf3NYVA==", "dev": true }, "node_modules/validate-npm-package-license": { @@ -8477,9 +8563,9 @@ } }, "node_modules/validator": { - "version": "13.7.0", - "resolved": "https://registry.npmjs.org/validator/-/validator-13.7.0.tgz", - "integrity": "sha512-nYXQLCBkpJ8X6ltALua9dRrZDHVYxjJ1wgskNt1lH9fzGjs3tgojGSCBjmEPwkWS1y29+DrizMTW19Pr9uB2nw==", + "version": "13.9.0", + "resolved": "https://registry.npmjs.org/validator/-/validator-13.9.0.tgz", + "integrity": "sha512-B+dGG8U3fdtM0/aNK4/X8CXq/EcxU2WPrPEkJGslb47qyHsxmbggTWK0yEA4qnYVNF+nxNlN88o14hIcPmSIEA==", "dev": true, "engines": { "node": ">= 0.10" @@ -8657,9 +8743,9 @@ } }, "node_modules/z-schema": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/z-schema/-/z-schema-5.0.3.tgz", - "integrity": "sha512-sGvEcBOTNum68x9jCpCVGPFJ6mWnkD0YxOcddDlJHRx3tKdB2q8pCHExMVZo/AV/6geuVJXG7hljDaWG8+5GDw==", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/z-schema/-/z-schema-5.0.5.tgz", + "integrity": "sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==", "dev": true, "dependencies": { "lodash.get": "^4.4.2", @@ -8673,22 +8759,15 @@ "node": ">=8.0.0" }, "optionalDependencies": { - "commander": "^2.20.3" + "commander": "^9.4.1" } - }, - "node_modules/z-schema/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true, - "optional": true } }, "dependencies": { "@apidevtools/json-schema-ref-parser": { - "version": "9.0.9", - "resolved": "https://registry.npmjs.org/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-9.0.9.tgz", - "integrity": "sha512-GBD2Le9w2+lVFoc4vswGI/TjkNIZSVp7+9xPf+X3uidBfWnAeUWmquteSyt0+VCrhNMWj/FTABISQrD3Z/YA+w==", + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-9.1.2.tgz", + "integrity": "sha512-r1w81DpR+KyRWd3f+rk6TNqMgedmAxZP5v5KWlXQWlgMUUtyEJch0DKEci1SorPMiSeM8XPl7MZ3miJ60JIpQg==", "dev": true, "requires": { "@jsdevtools/ono": "^7.1.3", @@ -8710,9 +8789,9 @@ "dev": true }, "@athenna/common": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/@athenna/common/-/common-3.6.0.tgz", - "integrity": "sha512-5/KAJ2wE1PVyp/lqV+Pf+gXnzrGyncl4jdL/2fcoq8xOx1etVwh9FtekxhSqHce/OjuHuCzd+4IO7/h31WhvhQ==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@athenna/common/-/common-4.2.0.tgz", + "integrity": "sha512-NT7lrNpW2WqKT6TyXJAysfFT3w6IfyaRdivDRzsSk6/lz0nq8pjZhITP9EUK10mdhmjBYTBcMCVO1JR3j1GZ4w==", "dev": true, "requires": { "@fastify/formbody": "^7.4.0", @@ -8720,10 +8799,9 @@ "callsite": "^1.0.0", "chalk": "^5.2.0", "change-case": "^4.1.2", - "collect.js": "^4.34.3", - "debug": "^4.3.4", - "fastify": "^4.15.0", - "got": "^12.6.0", + "collect.js": "^4.36.1", + "fastify": "^4.16.3", + "got": "^12.6.1", "http-status-codes": "^2.2.0", "is-wsl": "^2.2.0", "kind-of": "^6.0.3", @@ -8782,37 +8860,37 @@ } }, "@athenna/config": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/@athenna/config/-/config-3.6.0.tgz", - "integrity": "sha512-MzTc3hrt0pbCdfYHjUAp2Izk1m9kmJdAIvVlRl1Y/nTic9wfRfo2WvfGrlvKOhApFZhV+Oy9GhosP4LVfGrJRA==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@athenna/config/-/config-4.2.0.tgz", + "integrity": "sha512-hUeoIZp7NnigATnhgNqDUjf73TbIKo5+mLQdN0WIUZWmtBMFy7c8NiNDEgxp4ZQNCCt2N3jgtqOE2BsiRaNPPw==", "dev": true, "requires": { - "dotenv": "^16.0.3", - "magicast": "^0.2.1", + "dotenv": "^16.3.1", + "magicast": "^0.2.9", "syntax-error": "^1.4.0" } }, "@athenna/ioc": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@athenna/ioc/-/ioc-3.4.0.tgz", - "integrity": "sha512-/uPH0VH1Pcw3tIsL8Ep6NhmcTzJFTiWZFQPA/CK9+FOy7UKAacv1QQODDmDsZvOkKgX7sJJ1tqWq705GhIohEQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@athenna/ioc/-/ioc-4.0.0.tgz", + "integrity": "sha512-/akqOOOa++OE8fwESt113IcdWjauoWI0w7kv+COnk0zijSHsNkIxtBqJPOBo/8JJhj5iBHnzM67ZM4af9ae4TQ==", "dev": true, "requires": { "awilix": "^7.0.3" } }, "@athenna/test": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/@athenna/test/-/test-3.6.0.tgz", - "integrity": "sha512-1LeasmDMfQaKGN5Pc066WDTlFmYFUU90vyYZWsuMeO379sbosNntAUuTJ0+w/MN3q+4AfzaKQICr+5Th+rZv3A==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@athenna/test/-/test-4.2.0.tgz", + "integrity": "sha512-PgyXCK+sQ1ZwsgfzEGuQmuMmfN1GpLuHguSTUE/MbkiHgZFkbl30I+E1lheIJ7KwWMTwtG3/4k+1T7U9UFuOnA==", "dev": true, "requires": { - "@japa/assert": "^1.3.6", + "@japa/assert": "^1.4.1", "@japa/run-failed-tests": "^1.1.0", "@japa/runner": "^2.2.2", - "@japa/spec-reporter": "^1.3.2", - "@types/sinon": "^10.0.13", - "sinon": "^15.0.1" + "@japa/spec-reporter": "^1.3.3", + "@types/sinon": "^10.0.15", + "sinon": "^15.1.0" } }, "@babel/code-frame": { @@ -8825,15 +8903,15 @@ } }, "@babel/helper-string-parser": { - "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==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", "dev": true }, "@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", + "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", "dev": true }, "@babel/highlight": { @@ -8891,19 +8969,19 @@ } }, "@babel/parser": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.4.tgz", - "integrity": "sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==", + "version": "7.22.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.7.tgz", + "integrity": "sha512-7NF8pOkHP5o2vpmGgNGcfAeCvOYhGLyA3Z4eBQkT1RJlWu47n63bCs93QfJ2hIAFCil7L5P2IWhs1oToVgrL0Q==", "dev": true }, "@babel/types": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.4.tgz", - "integrity": "sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz", + "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", "dev": true, "requires": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", "to-fast-properties": "^2.0.0" } }, @@ -9077,18 +9155,18 @@ "dev": true }, "@fastify/error": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@fastify/error/-/error-3.2.0.tgz", - "integrity": "sha512-KAfcLa+CnknwVi5fWogrLXgidLic+GXnLjijXdpl8pvkvbXU5BGa37iZO9FGvsh9ZL4y+oFi5cbHBm5UOG+dmQ==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@fastify/error/-/error-3.3.0.tgz", + "integrity": "sha512-dj7vjIn1Ar8sVXj2yAXiMNCJDmS9MQ9XMlIecX2dIzzhjSHCyKo4DdXjXMs7wKW2kj6yvVRSpuQjOZ3YLrh56w==", "dev": true }, "@fastify/fast-json-stringify-compiler": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@fastify/fast-json-stringify-compiler/-/fast-json-stringify-compiler-4.2.0.tgz", - "integrity": "sha512-ypZynRvXA3dibfPykQN3RB5wBdEUgSGgny8Qc6k163wYPLD4mEGEDkACp+00YmqkGvIm8D/xYoHajwyEdWD/eg==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@fastify/fast-json-stringify-compiler/-/fast-json-stringify-compiler-4.3.0.tgz", + "integrity": "sha512-aZAXGYo6m22Fk1zZzEUKBvut/CIIQe/BapEORnxiD5Qr0kPHqqI69NtEMCme74h+at72sPhbkb4ZrLd1W3KRLA==", "dev": true, "requires": { - "fast-json-stringify": "^5.0.0" + "fast-json-stringify": "^5.7.0" } }, "@fastify/formbody": { @@ -9131,25 +9209,25 @@ "dev": true }, "@japa/assert": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/@japa/assert/-/assert-1.3.6.tgz", - "integrity": "sha512-aFyCRdLAgYR4P45CayMY7MlzHKLp+oKr2fGj34jObWqmNZOWgFJuEcwBGoqbr+ApL/9Qhkcq0hoFL2FyfFJ7Jw==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@japa/assert/-/assert-1.4.1.tgz", + "integrity": "sha512-IyacnyaGzHqKTUbnOproPluHGWybt0ix0UsISAnjK62aTlDS4pOYPXkCDexk21/iReXNLtFgKM/RrDPDAUfrqA==", "dev": true, "requires": { - "@types/chai": "^4.3.3", + "@types/chai": "^4.3.4", "api-contract-validator": "^2.2.8", - "chai": "^4.3.6", - "macroable": "^7.0.1" + "chai": "^4.3.7", + "macroable": "^7.0.2" } }, "@japa/base-reporter": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@japa/base-reporter/-/base-reporter-1.1.0.tgz", - "integrity": "sha512-svEQ3OlzhrnCGTgP61UfFt1WsnQuLSOJ3m79E6Q44ynoG26V0RiwFA5m078JkoTl22bD1/aK8LJSleHopUjQTg==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@japa/base-reporter/-/base-reporter-1.1.2.tgz", + "integrity": "sha512-6MYs/EsXjouFPNUQL3VGllryZ5enI5rqhvQbY2Dzh3Zmhu22DWw6v9d2pxucrFptDTtQ38MBPVL/BIeZAafmOw==", "dev": true, "requires": { - "@japa/errors-printer": "^2.0.1", - "@poppinss/cliui": "^3.0.4", + "@japa/errors-printer": "^2.1.0", + "@poppinss/cliui": "^3.0.5", "ms": "^2.1.3" } }, @@ -9167,15 +9245,15 @@ } }, "@japa/errors-printer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@japa/errors-printer/-/errors-printer-2.0.1.tgz", - "integrity": "sha512-6ngqHgvgDzVVz2zMd+vCziAfVoAyDxOXvgvHNNVAddAtbmd62eyFexG0hfTUZnkY8EthVG7o8lv6XpcsJL1kxA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@japa/errors-printer/-/errors-printer-2.1.0.tgz", + "integrity": "sha512-iZUrB58e29jbRxb7lxocz5uHt9mQ1q7iojs8Gh1kIKmvaPx0KMqce77JDtqYzu2+95WjmppAvM6au1l1WYJmpw==", "dev": true, "requires": { - "@poppinss/cliui": "^3.0.2", - "jest-diff": "^29.0.2", - "youch": "^3.2.2", - "youch-terminal": "^2.1.5" + "@poppinss/cliui": "^3.0.5", + "jest-diff": "^29.4.1", + "youch": "^3.2.3", + "youch-terminal": "^2.2.0" } }, "@japa/run-failed-tests": { @@ -9218,24 +9296,48 @@ } }, "@japa/spec-reporter": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@japa/spec-reporter/-/spec-reporter-1.3.2.tgz", - "integrity": "sha512-XfJaw1dHjBfZfpKt+k2T1mPGlgZa3I0ZujmB0D0SFoHqus0yCCaiPeocoeHYPtuGETqxHdsNz3yQBX0cyOMxHQ==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@japa/spec-reporter/-/spec-reporter-1.3.3.tgz", + "integrity": "sha512-EOOjvQVmmWZDKxmO+f0v/BSNeKzKkeJSrNwEldkF40zZWdHX2J3Jb2MJowE5DgSOQCiG/OG2UFen0I+XLnPoxQ==", "dev": true, "requires": { - "@japa/base-reporter": "^1.1.0", - "@japa/errors-printer": "^2.0.1", - "@poppinss/cliui": "^3.0.4", + "@japa/base-reporter": "^1.1.1", + "@japa/errors-printer": "^2.1.0", + "@poppinss/cliui": "^3.0.5", "ms": "^2.1.3" } }, "@jest/schemas": { - "version": "29.0.0", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.0.0.tgz", - "integrity": "sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA==", + "version": "29.6.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", + "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", + "dev": true, + "requires": { + "@sinclair/typebox": "^0.27.8" + } + }, + "@jest/types": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz", + "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==", "dev": true, "requires": { - "@sinclair/typebox": "^0.24.1" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0" + }, + "dependencies": { + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } } }, "@jridgewell/resolve-uri": { @@ -9361,15 +9463,15 @@ } }, "@sinclair/typebox": { - "version": "0.24.51", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", - "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==", + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", "dev": true }, "@sindresorhus/is": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.3.0.tgz", - "integrity": "sha512-CX6t4SYQ37lzxicAqsBtxA3OseeoVrh9cSJ5PFYam0GksYlupRfy1A+Q4aYD3zvcfECLc0zO2u+ZnR2UYKvCrw==", + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.6.0.tgz", + "integrity": "sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==", "dev": true }, "@sinonjs/commons": { @@ -9382,29 +9484,18 @@ } }, "@sinonjs/fake-timers": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.0.2.tgz", - "integrity": "sha512-SwUDyjWnah1AaNl7kxsa7cfLhlTYoiyhDAIgyh+El30YvXs/o7OLXpYH88Zdhyx9JExKrmHDJ+10bwIcY80Jmw==", + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", "dev": true, "requires": { - "@sinonjs/commons": "^2.0.0" - }, - "dependencies": { - "@sinonjs/commons": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", - "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", - "dev": true, - "requires": { - "type-detect": "4.0.8" - } - } + "@sinonjs/commons": "^3.0.0" } }, "@sinonjs/samsam": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-7.0.1.tgz", - "integrity": "sha512-zsAk2Jkiq89mhZovB2LLOdTCxJF4hqqTToGP0ASWlhp4I1hqOjcfmZGafXntCN7MDC6yySH0mFHrYtHceOeLmw==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-8.0.0.tgz", + "integrity": "sha512-Bp8KUVlLp8ibJZrnvq2foVhP0IVX2CIprMJPK0vqGqgrDa0OHVKeZyBykqskkrdxV6yKBPmGasO8LVjAKR3Gew==", "dev": true, "requires": { "@sinonjs/commons": "^2.0.0", @@ -9434,6 +9525,8 @@ "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.3.27.tgz", "integrity": "sha512-praRNgpeYGvwDIm/Cl6JU+yHMvwVraL0U6ejMgGyzvpcm1FVsZd1/EYXGqzbBJ0ALv7Gx4eK56h4GnwV6d4L0w==", "dev": true, + "optional": true, + "peer": true, "requires": { "@swc/core-darwin-arm64": "1.3.27", "@swc/core-darwin-x64": "1.3.27", @@ -9452,70 +9545,80 @@ "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.27.tgz", "integrity": "sha512-IKlxkhEy99CnP9nduaf5IJWIFcr6D5cZCjYmCs7nWkjMV+aAieyDO9AX4LT8AcHy6CF7ByOX7SKoqk+gVMAaKw==", "dev": true, - "optional": true + "optional": true, + "peer": true }, "@swc/core-darwin-x64": { "version": "1.3.27", "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.3.27.tgz", "integrity": "sha512-MtabZIhFf/dL3vs6UMbd+vJsjIkm2NaFqulGV0Jofy2bfVZPTj/b5pXeOlUsTWy7JcH1uixjdx4RvJRyvqJxQA==", "dev": true, - "optional": true + "optional": true, + "peer": true }, "@swc/core-linux-arm-gnueabihf": { "version": "1.3.27", "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.27.tgz", "integrity": "sha512-XELMoGcUTAkk+G4buwIIhu6AIr1U418Odt22HUW8+ZvV+Wty2ICgR/myOIhM3xMb6U2L8ay+evMqoVNMQ0RRTg==", "dev": true, - "optional": true + "optional": true, + "peer": true }, "@swc/core-linux-arm64-gnu": { "version": "1.3.27", "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.27.tgz", "integrity": "sha512-O6vtT6bnrVR9PzEIuA5U7tIfYo7bv97H9K9Vqy2oyHNeGN0H36DKwS4UqPreHtziXNF5+7ubdUYUkrG/j8UnUQ==", "dev": true, - "optional": true + "optional": true, + "peer": true }, "@swc/core-linux-arm64-musl": { "version": "1.3.27", "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.27.tgz", "integrity": "sha512-Oa0E1i7dOTWpaEZumKoNbTE/Ap+da6nlhqKVUdYrFDrOBi25tz76SdxZIyvAszzmgY89b5yd1naourKmkPXpww==", "dev": true, - "optional": true + "optional": true, + "peer": true }, "@swc/core-linux-x64-gnu": { "version": "1.3.27", "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.27.tgz", "integrity": "sha512-S3v9H8oL2a8Ur6AjQyhkC6HfBVPOxKMdBhcZmdNuVgEUHbHdbf/Lka85F9IOYXEarMn0FtQw3ywowS22O9L5Uw==", "dev": true, - "optional": true + "optional": true, + "peer": true }, "@swc/core-linux-x64-musl": { "version": "1.3.27", "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.27.tgz", "integrity": "sha512-6DDkdXlOADpwICFZTRphCR+cIeS8aEYh4NlyzBito0mOWwIIdfCgALzhkTQOzTOkcD42bP97CIoZ97hqV/puOg==", "dev": true, - "optional": true + "optional": true, + "peer": true }, "@swc/core-win32-arm64-msvc": { "version": "1.3.27", "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.27.tgz", "integrity": "sha512-baxfH4AbEcaTNo08wxV0W6hiMXwVCxPS4qc0amHpXPti92unvSqeDR1W3C9GjHqzXlWtmCRsq8Ww1pal6ZVLrw==", "dev": true, - "optional": true + "optional": true, + "peer": true }, "@swc/core-win32-ia32-msvc": { "version": "1.3.27", "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.27.tgz", "integrity": "sha512-7iLJnH71k5qCwxv9NcM/P7nIEzTsC7r1sIiQW6bu+CpC8qZvwl0PS+XvQRlLly2gCZM+Le98tksYG14MEh+Hrw==", "dev": true, - "optional": true + "optional": true, + "peer": true }, "@swc/core-win32-x64-msvc": { "version": "1.3.27", "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.27.tgz", "integrity": "sha512-mFM907PDw/jrQ44+TRjIVGEOy2Mu06mMMz0HPMFuRsBzl5t0Kajp3vmn8FkkpS9wH5982VPi6hPYVTb7QJo5Qg==", "dev": true, - "optional": true + "optional": true, + "peer": true }, "@szmarczak/http-timer": { "version": "5.0.1", @@ -9556,9 +9659,9 @@ "integrity": "sha512-lOGyCnw+2JVPKU3wIV0srU0NyALwTBJlVSx5DfMQOFuuohA8y9S8orImpuIQikZ0uIQ8gehrRjxgQC1rLRi11w==" }, "@types/chai": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.4.tgz", - "integrity": "sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw==", + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.5.tgz", + "integrity": "sha512-mEo1sAde+UCE6b2hxn332f1g1E8WfYRu6p5SvTKr2ZKC1f7gFJXk4h5PyGP9Dt6gCaG8y8XhwnXWC6Iy2cmBng==", "dev": true }, "@types/he": { @@ -9587,6 +9690,16 @@ "@types/istanbul-lib-coverage": "*" } }, + "@types/istanbul-reports": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", + "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" + } + }, "@types/json-schema": { "version": "7.0.11", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", @@ -9625,9 +9738,9 @@ "dev": true }, "@types/sinon": { - "version": "10.0.13", - "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-10.0.13.tgz", - "integrity": "sha512-UVjDqJblVNQYvVNUsj0PuYYw0ELRmgt1Nt5Vk0pT5f16ROGfcKJY8o1HVuMOJOpD727RrGB9EGvoaTQE5tgxZQ==", + "version": "10.0.15", + "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-10.0.15.tgz", + "integrity": "sha512-3lrFNQG0Kr2LDzvjyjB6AMJk4ge+8iYhQfdnSwIwlG88FUOV43kPcQqDZkDa/h3WSZy6i8Fr0BSjfQtB1B3xuQ==", "dev": true, "requires": { "@types/sinonjs__fake-timers": "*" @@ -9639,6 +9752,15 @@ "integrity": "sha512-9GcLXF0/v3t80caGs5p2rRfkB+a8VBGLJZVih6CNFkx8IZ994wiKKLSRs9nuFwk1HevWs/1mnUmkApGrSGsShA==", "dev": true }, + "@types/yargs": { + "version": "15.0.15", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.15.tgz", + "integrity": "sha512-IziEYMU9XoVj8hWg7k+UJrXALkGFjWJhn5QFEv9q4p+v40oZhSuC135M38st8XPjICL7Ey4TV64ferBGUoJhBg==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, "@types/yargs-parser": { "version": "21.0.0", "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", @@ -9962,37 +10084,6 @@ "uri-js": "^4.4.1" }, "dependencies": { - "@jest/types": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz", - "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^15.0.0", - "chalk": "^3.0.0" - } - }, - "@types/istanbul-reports": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", - "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "*", - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, "chalk": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", @@ -10027,18 +10118,6 @@ "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", "dev": true }, - "jest-matcher-utils": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-25.5.0.tgz", - "integrity": "sha512-VWI269+9JS5cpndnpCwm7dy7JtGQT30UHfrnM3mXl22gHGt/b7NkjBqXfbhZ8V4B7ANUsjK18PlSBmG0YH7gjw==", - "dev": true, - "requires": { - "chalk": "^3.0.0", - "jest-diff": "^25.5.0", - "jest-get-type": "^25.2.6", - "pretty-format": "^25.5.0" - } - }, "pretty-format": { "version": "25.5.0", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", @@ -10185,9 +10264,9 @@ "dev": true }, "ast-types": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.15.2.tgz", - "integrity": "sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==", + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.16.1.tgz", + "integrity": "sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==", "dev": true, "requires": { "tslib": "^2.0.1" @@ -10396,9 +10475,9 @@ "dev": true }, "cacheable-request": { - "version": "10.2.9", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-10.2.9.tgz", - "integrity": "sha512-CaAMr53AS1Tb9evO1BIWFnZjSr8A4pbXofpsNVWPMDZZj3ZQKHwsQG9BrTqQ4x5ZYJXz1T2b8LLtTZODxSpzbg==", + "version": "10.2.12", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-10.2.12.tgz", + "integrity": "sha512-qtWGB5kn2OLjx47pYUkWicyOpK1vy9XZhq8yRTXOy+KAmjjESSRLx6SiExnnaGGUP1NM6/vmygMu0fGylNh9tw==", "dev": true, "requires": { "@types/http-cache-semantics": "^4.0.1", @@ -10435,9 +10514,9 @@ } }, "call-me-maybe": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", - "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.2.tgz", + "integrity": "sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==", "dev": true }, "caller-callsite": { @@ -10498,14 +10577,14 @@ } }, "chai": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.6.tgz", - "integrity": "sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q==", + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz", + "integrity": "sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==", "dev": true, "requires": { "assertion-error": "^1.1.0", "check-error": "^1.0.2", - "deep-eql": "^3.0.1", + "deep-eql": "^4.1.2", "get-func-name": "^2.0.0", "loupe": "^2.3.1", "pathval": "^1.1.1", @@ -10550,13 +10629,13 @@ "charenc": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", - "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=", + "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==", "dev": true }, "check-error": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", + "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==", "dev": true }, "ci-info": { @@ -10649,7 +10728,7 @@ "clone": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", "dev": true }, "clone-deep": { @@ -10664,9 +10743,9 @@ } }, "collect.js": { - "version": "4.34.3", - "resolved": "https://registry.npmjs.org/collect.js/-/collect.js-4.34.3.tgz", - "integrity": "sha512-aFr67xDazPwthsGm729mnClgNuh15JEagU6McKBKqxuHOkWL7vMFzGbhsXDdPZ+H6ia5QKIMGYuGOMENBHnVpg==", + "version": "4.36.1", + "resolved": "https://registry.npmjs.org/collect.js/-/collect.js-4.36.1.tgz", + "integrity": "sha512-jd97xWPKgHn6uvK31V6zcyPd40lUJd7gpYxbN2VOVxGWO4tyvS9Li4EpsFjXepGTo2tYcOTC4a8YsbQXMJ4XUw==", "dev": true }, "color-convert": { @@ -10845,7 +10924,7 @@ "crypt": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", - "integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=", + "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==", "dev": true }, "cuid": { @@ -10914,7 +10993,7 @@ "dag-map": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/dag-map/-/dag-map-1.0.2.tgz", - "integrity": "sha1-6DefBBAA7VYfxRVHXB7SyF7s6Nc=", + "integrity": "sha512-+LSAiGFwQ9dRnRdOeaj7g47ZFJcOUPukAP8J3A3fuZ1g9Y44BG+P1sgApjLXTQPOzC4+7S9Wr8kXsfpINM4jpw==", "dev": true }, "data-uri-to-buffer": { @@ -10941,9 +11020,9 @@ } }, "decimal.js": { - "version": "10.3.1", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz", - "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==", + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", "dev": true }, "decompress-response": { @@ -10970,9 +11049,9 @@ "dev": true }, "deep-eql": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", - "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", + "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", "dev": true, "requires": { "type-detect": "^4.0.0" @@ -11036,9 +11115,9 @@ "dev": true }, "diff-sequences": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.3.1.tgz", - "integrity": "sha512-hlM3QR272NXCi4pq+N4Kok4kOp6EsgOM3ZSpJI7Da3UAs+Ttsi8MRmB6trM/lhyzUxGfOgnpkHtgqm5Q/CTcfQ==", + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.4.3.tgz", + "integrity": "sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==", "dev": true }, "dir-glob": { @@ -11069,9 +11148,9 @@ } }, "dotenv": { - "version": "16.0.3", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", - "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==", + "version": "16.3.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.3.1.tgz", + "integrity": "sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==", "dev": true }, "eastasianwidth": { @@ -11759,9 +11838,9 @@ } }, "fast-redact": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/fast-redact/-/fast-redact-3.1.2.tgz", - "integrity": "sha512-+0em+Iya9fKGfEQGcd62Yv6onjBmmhV1uh86XVfOU8VwAe6kaFdQCWI9s0/Nnugx5Vd9tdbZ7e6gE2tR9dzXdw==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/fast-redact/-/fast-redact-3.2.0.tgz", + "integrity": "sha512-zaTadChr+NekyzallAMXATXLOR8MNx3zqpZ0MUF2aGf4EathnG0f32VLODNlY8IuGY3HoRO2L6/6fSzNsLaHIw==", "dev": true }, "fast-uri": { @@ -11771,32 +11850,33 @@ "dev": true }, "fastify": { - "version": "4.15.0", - "resolved": "https://registry.npmjs.org/fastify/-/fastify-4.15.0.tgz", - "integrity": "sha512-m/CaRN8nf5uyYdrDe2qqq+0z3oGyE+A++qlKQoLJTI4WI0nWK9D6R3FxXQ3MVwt/md977GMR4F43pE9oqrS2zw==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/fastify/-/fastify-4.20.0.tgz", + "integrity": "sha512-zWWi5KGAb1YZ6fyrnFnA1CA1EZHkGM6YuELgB3QpS3l4lLRy14W1cc16b4KGPH/zQ98WCSdS+T41JkHY3eq1oA==", "dev": true, "requires": { "@fastify/ajv-compiler": "^3.5.0", - "@fastify/error": "^3.0.0", - "@fastify/fast-json-stringify-compiler": "^4.2.0", + "@fastify/error": "^3.2.0", + "@fastify/fast-json-stringify-compiler": "^4.3.0", "abstract-logging": "^2.0.1", - "avvio": "^8.2.0", + "avvio": "^8.2.1", "fast-content-type-parse": "^1.0.0", + "fast-json-stringify": "^5.7.0", "find-my-way": "^7.6.0", - "light-my-request": "^5.6.1", - "pino": "^8.5.0", - "process-warning": "^2.0.0", + "light-my-request": "^5.9.1", + "pino": "^8.12.0", + "process-warning": "^2.2.0", "proxy-addr": "^2.0.7", "rfdc": "^1.3.0", "secure-json-parse": "^2.5.0", - "semver": "^7.3.7", - "tiny-lru": "^10.0.0" + "semver": "^7.5.0", + "tiny-lru": "^11.0.1" }, "dependencies": { "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -11866,9 +11946,9 @@ } }, "find-my-way": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/find-my-way/-/find-my-way-7.6.0.tgz", - "integrity": "sha512-H7berWdHJ+5CNVr4ilLWPai4ml7Y2qAsxjw3pfeBxPigZmaDTzF0wjJLj90xRCmGcWYcyt050yN+34OZDJm1eQ==", + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/find-my-way/-/find-my-way-7.6.2.tgz", + "integrity": "sha512-0OjHn1b1nCX3eVbm9ByeEHiscPYiHLfhei1wOUU9qffQkk98wE0Lo8VrVYfSGMgnSnDh86DxedduAnBf4nwUEw==", "dev": true, "requires": { "fast-deep-equal": "^3.1.3", @@ -12022,7 +12102,7 @@ "get-func-name": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", + "integrity": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==", "dev": true }, "get-intrinsic": { @@ -12187,9 +12267,9 @@ } }, "got": { - "version": "12.6.0", - "resolved": "https://registry.npmjs.org/got/-/got-12.6.0.tgz", - "integrity": "sha512-WTcaQ963xV97MN3x0/CbAriXFZcXCfgxVp91I+Ze6pawQOa7SgzwSx2zIJJsX+kTajMnVs0xcFD1TxZKFqhdnQ==", + "version": "12.6.1", + "resolved": "https://registry.npmjs.org/got/-/got-12.6.1.tgz", + "integrity": "sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==", "dev": true, "requires": { "@sindresorhus/is": "^5.2.0", @@ -12716,7 +12796,7 @@ "is-invalid-path": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/is-invalid-path/-/is-invalid-path-0.1.0.tgz", - "integrity": "sha1-MHqFWzzxqTi0TqcNLGEQYFNxTzQ=", + "integrity": "sha512-aZMG0T3F34mTg4eTdszcGXx54oiZ4NtHSft3hWNJMGJXUUqdIj3cOZuHcU0nCWWcY3jd7yRe/3AEm3vSNTpBGQ==", "dev": true, "requires": { "is-glob": "^2.0.0" @@ -12725,13 +12805,13 @@ "is-extglob": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "integrity": "sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==", "dev": true }, "is-glob": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "integrity": "sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==", "dev": true, "requires": { "is-extglob": "^1.0.0" @@ -12856,7 +12936,7 @@ "is-valid-path": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-valid-path/-/is-valid-path-0.1.1.tgz", - "integrity": "sha1-EQ+f90w39mPh7HkV60UfLbk6yd8=", + "integrity": "sha512-+kwPrVDu9Ms03L90Qaml+79+6DZHqHyRoANI6IsZJ/g8frhnfchDOBCa0RbQ6/kdHt5CS5OeIEyrYznNuVN+8A==", "dev": true, "requires": { "is-invalid-path": "^0.1.0" @@ -12901,7 +12981,7 @@ "isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", "dev": true }, "istanbul-lib-coverage": { @@ -12932,23 +13012,89 @@ } }, "jest-diff": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.3.1.tgz", - "integrity": "sha512-vU8vyiO7568tmin2lA3r2DP8oRvzhvRcD4DjpXc6uGveQodyk7CKLhQlCSiwgx3g0pFaE88/KLZ0yaTWMc4Uiw==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.6.1.tgz", + "integrity": "sha512-FsNCvinvl8oVxpNLttNQX7FAq7vR+gMDGj90tiP7siWw1UdakWUGqrylpsYrpvj908IYckm5Y0Q7azNAozU1Kg==", "dev": true, "requires": { "chalk": "^4.0.0", - "diff-sequences": "^29.3.1", - "jest-get-type": "^29.2.0", - "pretty-format": "^29.3.1" + "diff-sequences": "^29.4.3", + "jest-get-type": "^29.4.3", + "pretty-format": "^29.6.1" } }, "jest-get-type": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.2.0.tgz", - "integrity": "sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA==", + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.4.3.tgz", + "integrity": "sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==", "dev": true }, + "jest-matcher-utils": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-25.5.0.tgz", + "integrity": "sha512-VWI269+9JS5cpndnpCwm7dy7JtGQT30UHfrnM3mXl22gHGt/b7NkjBqXfbhZ8V4B7ANUsjK18PlSBmG0YH7gjw==", + "dev": true, + "requires": { + "chalk": "^3.0.0", + "jest-diff": "^25.5.0", + "jest-get-type": "^25.2.6", + "pretty-format": "^25.5.0" + }, + "dependencies": { + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "diff-sequences": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.6.tgz", + "integrity": "sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==", + "dev": true + }, + "jest-diff": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.5.0.tgz", + "integrity": "sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==", + "dev": true, + "requires": { + "chalk": "^3.0.0", + "diff-sequences": "^25.2.6", + "jest-get-type": "^25.2.6", + "pretty-format": "^25.5.0" + } + }, + "jest-get-type": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", + "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", + "dev": true + }, + "pretty-format": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", + "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", + "dev": true, + "requires": { + "@jest/types": "^25.5.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" + } + }, + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true + } + } + }, "js-sdsl": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.2.0.tgz", @@ -13047,9 +13193,9 @@ "dev": true }, "keyv": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.2.tgz", - "integrity": "sha512-5MHbFaKn8cNSmVW7BYnijeAVlE4cYA/SVkifVgrh7yotnfhKmjuXpDKjrABLnT0SfHWV21P8ow07OGfRrNDg8g==", + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.3.tgz", + "integrity": "sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==", "dev": true, "requires": { "json-buffer": "3.0.1" @@ -13077,9 +13223,9 @@ } }, "light-my-request": { - "version": "5.9.1", - "resolved": "https://registry.npmjs.org/light-my-request/-/light-my-request-5.9.1.tgz", - "integrity": "sha512-UT7pUk8jNCR1wR7w3iWfIjx32DiB2f3hFdQSOwy3/EPQ3n3VocyipUxcyRZR0ahoev+fky69uA+GejPa9KuHKg==", + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/light-my-request/-/light-my-request-5.10.0.tgz", + "integrity": "sha512-ZU2D9GmAcOUculTTdH9/zryej6n8TzT+fNGdNtm6SDp5MMMpHrJJkvAdE3c6d8d2chE9i+a//dS9CWZtisknqA==", "dev": true, "requires": { "cookie": "^0.5.0", @@ -13229,19 +13375,19 @@ "lodash.flatten": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", - "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=", + "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==", "dev": true }, "lodash.get": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", + "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", "dev": true }, "lodash.isequal": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", - "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=", + "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==", "dev": true }, "lodash.map": { @@ -13259,7 +13405,7 @@ "lodash.set": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz", - "integrity": "sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM=", + "integrity": "sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg==", "dev": true }, "log-symbols": { @@ -13321,9 +13467,9 @@ "dev": true }, "loupe": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.4.tgz", - "integrity": "sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ==", + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz", + "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==", "dev": true, "requires": { "get-func-name": "^2.0.0" @@ -13358,14 +13504,14 @@ "integrity": "sha512-QS9p+Q20YBxpE0dJBnF6CPURP7p1GUsxnhTxTWH5nG3A1F5w8Rg3T4Xyh5UlrFSbHp88oOciVP/0agsNLhkHdQ==" }, "magicast": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.2.2.tgz", - "integrity": "sha512-geqE0Cdrj/5YvlLo3CUtOFXhVAbox90bEQkHi3kkSB85+Vt9aMPFZpEkjTr6d2SJwRJ+3fE0bAUyfhpZjPVT+w==", + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.2.9.tgz", + "integrity": "sha512-S1WBXLSVKa34X+Bv7pfA8Umqc1BoglsqzWaQcyuexDc0cjgnERaFTSHbne2OfT27lXYxt/B/sV/2Kh0HaSQkfg==", "dev": true, "requires": { - "@babel/parser": "^7.21.4", - "@babel/types": "^7.21.4", - "recast": "^0.22.0" + "@babel/parser": "^7.22.4", + "@babel/types": "^7.22.4", + "recast": "^0.23.2" } }, "make-dir": { @@ -13386,7 +13532,7 @@ "md5": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/md5/-/md5-2.2.1.tgz", - "integrity": "sha1-U6s41f48iJG6RlMp6iP6wFQBJvk=", + "integrity": "sha512-PlGG4z5mBANDGCKsYQe0CaUYHdZYZt8ZPZLmEt+Urf0W4GlpTX4HescwHU+dc9+Z/G/vZKYZYFrwgm9VxK6QOQ==", "dev": true, "requires": { "charenc": "~0.0.1", @@ -13397,7 +13543,7 @@ "memory-cache": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/memory-cache/-/memory-cache-0.2.0.tgz", - "integrity": "sha1-eJCwHVLADI68nVM+H46xfjA0hxo=", + "integrity": "sha512-OcjA+jzjOYzKmKS6IQVALHLVz+rNTMPoJvCztFaZxwG14wtAW7VRZjwTQu06vKCYOxh4jVnik7ya0SXTB0W+xA==", "dev": true }, "merge": { @@ -13868,9 +14014,9 @@ "dev": true }, "pino": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/pino/-/pino-8.11.0.tgz", - "integrity": "sha512-Z2eKSvlrl2rH8p5eveNUnTdd4AjJk8tAsLkHYZQKGHP4WTh2Gi1cOSOs3eWPqaj+niS3gj4UkoreoaWgF3ZWYg==", + "version": "8.14.1", + "resolved": "https://registry.npmjs.org/pino/-/pino-8.14.1.tgz", + "integrity": "sha512-8LYNv7BKWXSfS+k6oEc6occy5La+q2sPwU3q2ljTX5AZk7v+5kND2o5W794FyRaqha6DJajmkNRsWtPpFyMUdw==", "dev": true, "requires": { "atomic-sleep": "^1.0.0", @@ -13907,23 +14053,24 @@ } }, "readable-stream": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.3.0.tgz", - "integrity": "sha512-MuEnA0lbSi7JS8XM+WNJlWZkHAAdm7gETHdFK//Q/mChGyj2akEFtdLZh32jSdkWGbRwCW9pn6g3LWDdDeZnBQ==", + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.4.2.tgz", + "integrity": "sha512-Lk/fICSyIhodxy1IDK2HazkeGjSmezAWX2egdtJnYhtzKEsBPJowlI6F6LPb5tqIQILrMbx22S5o3GuJavPusA==", "dev": true, "requires": { "abort-controller": "^3.0.0", "buffer": "^6.0.3", "events": "^3.3.0", - "process": "^0.11.10" + "process": "^0.11.10", + "string_decoder": "^1.3.0" } } } }, "pino-std-serializers": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-6.1.0.tgz", - "integrity": "sha512-KO0m2f1HkrPe9S0ldjx7za9BJjeHqBku5Ch8JyxETxT8dEFGz1PwgrHaOQupVYitpzbFSYm7nnljxD8dik2c+g==", + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-6.2.2.tgz", + "integrity": "sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==", "dev": true }, "pkg-dir": { @@ -14025,12 +14172,12 @@ } }, "pretty-format": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.3.1.tgz", - "integrity": "sha512-FyLnmb1cYJV8biEIiRyzRFvs2lry7PPIvOqKVe1GCUEYg4YGmlx1qG9EJNMxArYm7piII4qb8UV1Pncq5dxmcg==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.1.tgz", + "integrity": "sha512-7jRj+yXO0W7e4/tSJKoR7HRIHLPPjtNaUGG2xxKQnGvPNRkgWcQ0AZX6P4KBRJN4FcTBWb3sa7DVUJmocYuoog==", "dev": true, "requires": { - "@jest/schemas": "^29.0.0", + "@jest/schemas": "^29.6.0", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" }, @@ -14155,13 +14302,13 @@ "dev": true }, "recast": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/recast/-/recast-0.22.0.tgz", - "integrity": "sha512-5AAx+mujtXijsEavc5lWXBPQqrM4+Dl5qNH96N2aNeuJFUzpiiToKPsxQD/zAIJHspz7zz0maX0PCtCTFVlixQ==", + "version": "0.23.3", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.23.3.tgz", + "integrity": "sha512-HbCVFh2ANP6a09nzD4lx7XthsxMOJWKX5pIcUwtLrmeEIl3I0DwjCoVXDE0Aobk+7k/mS3H50FK4iuYArpcT6Q==", "dev": true, "requires": { "assert": "^2.0.0", - "ast-types": "0.15.2", + "ast-types": "^0.16.1", "esprima": "~4.0.0", "source-map": "~0.6.1", "tslib": "^2.0.1" @@ -14445,14 +14592,14 @@ "dev": true }, "sinon": { - "version": "15.0.2", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-15.0.2.tgz", - "integrity": "sha512-PCVP63XZkg0/LOqQH5rEU4LILuvTFMb5tNxTHfs6VUMNnZz2XrnGSTZbAGITjzwQWbl/Bl/8hi4G3zZWjyBwHg==", + "version": "15.2.0", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-15.2.0.tgz", + "integrity": "sha512-nPS85arNqwBXaIsFCkolHjGIkFo+Oxu9vbgmBJizLAhqe6P2o3Qmj3KCUoRkfhHtvgDhZdWD3risLHAUJ8npjw==", "dev": true, "requires": { "@sinonjs/commons": "^3.0.0", - "@sinonjs/fake-timers": "^10.0.2", - "@sinonjs/samsam": "^7.0.1", + "@sinonjs/fake-timers": "^10.3.0", + "@sinonjs/samsam": "^8.0.0", "diff": "^5.1.0", "nise": "^5.1.4", "supports-color": "^7.2.0" @@ -14723,9 +14870,9 @@ } }, "openapi-types": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/openapi-types/-/openapi-types-11.0.0.tgz", - "integrity": "sha512-GB+QO6o1hAtKsb8tP3/FTD5jpkdKrf42L4Gel9UySngMurzr+Q9pO+dtnmySQCzoCEfJr39IH6bveEn71xNcVg==", + "version": "12.1.3", + "resolved": "https://registry.npmjs.org/openapi-types/-/openapi-types-12.1.3.tgz", + "integrity": "sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw==", "dev": true, "peer": true } @@ -14734,7 +14881,7 @@ "swagger-schema-official": { "version": "2.0.0-bab6bed", "resolved": "https://registry.npmjs.org/swagger-schema-official/-/swagger-schema-official-2.0.0-bab6bed.tgz", - "integrity": "sha1-cAcEaNbSl3ylI3suUZyn0Gouo/0=", + "integrity": "sha512-rCC0NWGKr/IJhtRuPq/t37qvZHI/mH4I4sxflVM+qgVe5Z2uOCivzWaVbuioJaB61kvm5UvB7b49E+oBY0M8jA==", "dev": true }, "syntax-error": { @@ -14821,9 +14968,9 @@ } }, "tiny-lru": { - "version": "10.4.1", - "resolved": "https://registry.npmjs.org/tiny-lru/-/tiny-lru-10.4.1.tgz", - "integrity": "sha512-buLIzw7ppqymuO3pt10jHk/6QMeZLbidihMQU+N6sogF6EnBzG0qtDWIHuhw1x3dyNgVL/KTGIZsTK81+yCzLg==", + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/tiny-lru/-/tiny-lru-11.0.1.tgz", + "integrity": "sha512-iNgFugVuQgBKrqeO/mpiTTgmBsTP0WL6yeuLfLs/Ctf0pI/ixGqIRm8sDCwMcXGe9WWvt2sGXI5mNqZbValmJg==", "dev": true }, "tmp": { @@ -14851,9 +14998,9 @@ } }, "traverse": { - "version": "0.6.6", - "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz", - "integrity": "sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc=", + "version": "0.6.7", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.7.tgz", + "integrity": "sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg==", "dev": true }, "truncatise": { @@ -15058,7 +15205,7 @@ "valid-url": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/valid-url/-/valid-url-1.0.9.tgz", - "integrity": "sha1-HBRHm0DxOXp1eC8RXkCGRHQzogA=", + "integrity": "sha512-QQDsV8OnSf5Uc30CKSwG9lnhMPe6exHtTXLRYX8uMwKENy640pU+2BgBL0LRbDh/eYRahNCS7aewCx0wf3NYVA==", "dev": true }, "validate-npm-package-license": { @@ -15072,9 +15219,9 @@ } }, "validator": { - "version": "13.7.0", - "resolved": "https://registry.npmjs.org/validator/-/validator-13.7.0.tgz", - "integrity": "sha512-nYXQLCBkpJ8X6ltALua9dRrZDHVYxjJ1wgskNt1lH9fzGjs3tgojGSCBjmEPwkWS1y29+DrizMTW19Pr9uB2nw==", + "version": "13.9.0", + "resolved": "https://registry.npmjs.org/validator/-/validator-13.9.0.tgz", + "integrity": "sha512-B+dGG8U3fdtM0/aNK4/X8CXq/EcxU2WPrPEkJGslb47qyHsxmbggTWK0yEA4qnYVNF+nxNlN88o14hIcPmSIEA==", "dev": true }, "validator-brazil": { @@ -15210,24 +15357,15 @@ } }, "z-schema": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/z-schema/-/z-schema-5.0.3.tgz", - "integrity": "sha512-sGvEcBOTNum68x9jCpCVGPFJ6mWnkD0YxOcddDlJHRx3tKdB2q8pCHExMVZo/AV/6geuVJXG7hljDaWG8+5GDw==", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/z-schema/-/z-schema-5.0.5.tgz", + "integrity": "sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==", "dev": true, "requires": { - "commander": "^2.20.3", + "commander": "^9.4.1", "lodash.get": "^4.4.2", "lodash.isequal": "^4.5.0", "validator": "^13.7.0" - }, - "dependencies": { - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true, - "optional": true - } } } } diff --git a/package.json b/package.json index b096982..0055334 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@athenna/view", - "version": "3.3.0", + "version": "4.0.0", "description": "The Athenna template engine. Built on top of Edge.", "license": "MIT", "author": "João Lenon ", @@ -15,9 +15,10 @@ "template" ], "scripts": { + "build": "rimraf build && tsc --project bin/tsconfig.build.json", "lint:fix": "eslint \"{bin,src,tests}/**/*.ts\" --fix", "test": "npm run --silent lint:fix && sh node bin/test.ts", - "test:debug": "cross-env DEBUG=api:* sh node --inspect bin/test.ts", + "test:debug": "cross-env NODE_DEBUG=athenna:* sh node --inspect bin/test.ts", "test:coverage": "c8 npm run --silent test" }, "files": [ @@ -32,7 +33,9 @@ "types": "./src/index.d.ts", "exports": { ".": "./src/index.js", - "./providers/ViewProvider": "./src/Providers/ViewProvider.js" + "./types": "./src/types/index.js", + "./package.json": "./package.json", + "./providers/ViewProvider": "./src/providers/ViewProvider.js" }, "imports": { "#bin/*": "./bin/*.js", @@ -46,11 +49,10 @@ "edge.js": "^5.5.1" }, "devDependencies": { - "@athenna/common": "^3.6.0", - "@athenna/config": "^3.6.0", - "@athenna/ioc": "^3.4.0", - "@athenna/test": "^3.6.0", - "@swc/core": "^1.3.27", + "@athenna/common": "^4.2.0", + "@athenna/config": "^4.2.0", + "@athenna/ioc": "^4.0.0", + "@athenna/test": "^4.2.0", "@typescript-eslint/eslint-plugin": "^5.56.0", "@typescript-eslint/parser": "^5.56.0", "c8": "^7.12.0", @@ -81,7 +83,7 @@ "text-summary", "html" ], - "report-dir": "./tests/Coverage", + "report-dir": "./tests/coverage", "check-coverage": true }, "husky": { diff --git a/scripts/build b/scripts/build deleted file mode 100644 index 9b777fa..0000000 --- a/scripts/build +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/bash - -sh scripts/clean - -./node_modules/.bin/tsc --project scripts/tsconfig.build.json diff --git a/scripts/clean b/scripts/clean deleted file mode 100644 index ef17386..0000000 --- a/scripts/clean +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash - -find src -name "*.js" -type f -delete -find src -name "*.d.ts" -type f -delete diff --git a/scripts/tsconfig.build.json b/scripts/tsconfig.build.json deleted file mode 100644 index 5418b51..0000000 --- a/scripts/tsconfig.build.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "extends": "../tsconfig.json", - "include": ["../**/*"], - "exclude": ["../bin", "../tests", "../scripts", "../node_modules"] -} diff --git a/src/debug/index.ts b/src/debug/index.ts new file mode 100644 index 0000000..6e42435 --- /dev/null +++ b/src/debug/index.ts @@ -0,0 +1,12 @@ +/** + * @athenna/view + * + * (c) João Lenon + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +import { debuglog } from 'node:util' + +export const debug = debuglog('athenna:view') diff --git a/src/Exceptions/AlreadyExistComponentException.ts b/src/exceptions/AlreadyExistComponentException.ts similarity index 54% rename from src/Exceptions/AlreadyExistComponentException.ts rename to src/exceptions/AlreadyExistComponentException.ts index 56f2604..2f7c737 100644 --- a/src/Exceptions/AlreadyExistComponentException.ts +++ b/src/exceptions/AlreadyExistComponentException.ts @@ -15,7 +15,7 @@ export class AlreadyExistComponentException extends Exception { status: 500, code: 'E_EXIST_COMPONENT', message: `The component ${name} already exists.`, - help: `This exception is throwed when trying to create a component with a name that is already is use, in this case "${name}". Try to create your component with a different name or remove the other component first using the "View.removeComponent('${name}')" method. Also, "View.createTemplate('${name}', 'your-component-value')" will automatically remove the other component for you.`, + help: `This exception is thrown when trying to create a component with a name that is already is use, in this case "${name}". Try to create your component with a different name or remove the other component first using the "View.removeComponent('${name}')" method. Also, "View.createTemplate('${name}', 'your-component-value')" will automatically remove the other component for you.`, }) } } diff --git a/src/Exceptions/EmptyComponentException.ts b/src/exceptions/EmptyComponentException.ts similarity index 70% rename from src/Exceptions/EmptyComponentException.ts rename to src/exceptions/EmptyComponentException.ts index 78c20fd..e70ec83 100644 --- a/src/Exceptions/EmptyComponentException.ts +++ b/src/exceptions/EmptyComponentException.ts @@ -15,7 +15,7 @@ export class EmptyComponentException extends Exception { status: 500, code: 'E_EMPTY_COMPONENT', message: `The component ${name} cannot be registered with "null" or "undefined" value.`, - help: `This exception is throwed when trying to create a component with a "null" or "undefined" value. Try to set at least an empty string when using the "View.createComponent('${name}', '')" method.`, + help: `This exception is thrown when trying to create a component with a "null" or "undefined" value. Try to set at least an empty string when using the "View.createComponent('${name}', '')" method.`, }) } } diff --git a/src/Exceptions/NotFoundTemplateException.ts b/src/exceptions/NotFoundTemplateException.ts similarity index 61% rename from src/Exceptions/NotFoundTemplateException.ts rename to src/exceptions/NotFoundTemplateException.ts index 29dedae..b1aed24 100644 --- a/src/Exceptions/NotFoundTemplateException.ts +++ b/src/exceptions/NotFoundTemplateException.ts @@ -15,7 +15,7 @@ export class NotFoundTemplateException extends Exception { status: 500, code: 'E_NOT_FOUND', message: `The view or component ${name} cannot be found.`, - help: `This exception is throwed when trying to render a view or a component that has not been registered. Try to create your template or your disk it using the "View.createTemplate('${name}', 'your-template-content')", or "View.createViewDisk('${name}', 'your-view-disk-path')" methods.`, + help: `This exception is thrown when trying to render a view or a component that has not been registered. Try to create your template or your disk it using the "View.createTemplate('${name}', 'your-template-content')", or "View.createViewDisk('${name}', 'your-view-disk-path')" methods.`, }) } } diff --git a/src/Facades/View.ts b/src/facades/View.ts similarity index 86% rename from src/Facades/View.ts rename to src/facades/View.ts index e5eb0f9..3f159bc 100644 --- a/src/Facades/View.ts +++ b/src/facades/View.ts @@ -8,6 +8,6 @@ */ import { Facade } from '@athenna/ioc' -import { ViewImpl } from '#src/Views/ViewImpl' +import { ViewImpl } from '#src/views/ViewImpl' export const View = Facade.createFor('Athenna/Core/View') diff --git a/src/index.ts b/src/index.ts index c664fb4..867a3b8 100644 --- a/src/index.ts +++ b/src/index.ts @@ -7,6 +7,6 @@ * file that was distributed with this source code. */ -export * from './Facades/View.js' -export * from './Views/ViewImpl.js' -export * from './Providers/ViewProvider.js' +export * from '#src/facades/View' +export * from '#src/views/ViewImpl' +export * from '#src/providers/ViewProvider' diff --git a/src/Providers/ViewProvider.ts b/src/providers/ViewProvider.ts similarity index 91% rename from src/Providers/ViewProvider.ts rename to src/providers/ViewProvider.ts index 221593a..7728195 100644 --- a/src/Providers/ViewProvider.ts +++ b/src/providers/ViewProvider.ts @@ -7,7 +7,7 @@ * file that was distributed with this source code. */ -import { ViewImpl } from '#src/Views/ViewImpl' +import { ViewImpl } from '#src/views/ViewImpl' import { ServiceProvider } from '@athenna/ioc' export class ViewProvider extends ServiceProvider { diff --git a/src/Views/ViewImpl.ts b/src/views/ViewImpl.ts similarity index 86% rename from src/Views/ViewImpl.ts rename to src/views/ViewImpl.ts index 26666ed..8f08cdc 100644 --- a/src/Views/ViewImpl.ts +++ b/src/views/ViewImpl.ts @@ -9,11 +9,12 @@ import { Edge } from 'edge.js' import { Config } from '@athenna/config' +import { debug } from '#src/debug/index' import { File, Is } from '@athenna/common' import { resolve, isAbsolute } from 'node:path' -import { EmptyComponentException } from '#src/Exceptions/EmptyComponentException' -import { NotFoundTemplateException } from '#src/Exceptions/NotFoundTemplateException' -import { AlreadyExistComponentException } from '#src/Exceptions/AlreadyExistComponentException' +import { EmptyComponentException } from '#src/exceptions/EmptyComponentException' +import { NotFoundTemplateException } from '#src/exceptions/NotFoundTemplateException' +import { AlreadyExistComponentException } from '#src/exceptions/AlreadyExistComponentException' export class ViewImpl { /** @@ -58,7 +59,7 @@ export class ViewImpl { } /** - * Render some raw edge content with optional data included. + * Render some raw-edge content with optional data included. * * @example * ```ts @@ -70,7 +71,7 @@ export class ViewImpl { } /** - * Render some raw edge content asynchronously with optional + * Render some raw-edge content asynchronously with optional * data included. * * @example @@ -145,10 +146,21 @@ export class ViewImpl { */ public createViewDisk(name: string, path: string): ViewImpl { if (this.hasViewDisk(name)) { + debug('View disk %s already exists and will be removed first.', name) + this.removeViewDisk(name) } + debug('Creating view disk %s for path %s.', name, path) + if (!isAbsolute(path)) { + debug( + 'Path %s for view disk %s is not absolute and is going to be resolved using cwd %s.', + path, + name, + Path.pwd(), + ) + path = resolve(Path.pwd(), path) } @@ -170,9 +182,13 @@ export class ViewImpl { */ public removeViewDisk(name: string): ViewImpl { if (!this.hasViewDisk(name)) { + debug('View disk %s does not exist, skipping removing operation.', name) + return this } + debug('Removing view disk %s.', name) + this.edge.unmount(name) return this @@ -197,16 +213,12 @@ export class ViewImpl { } catch (err) { const has = this.edge.loader.mounted[name] - if (has) { - return true - } - - return false + return !!has } } /** - * Create a in-memory component. + * Create an in-memory component. * * @example * ```ts @@ -232,6 +244,8 @@ export class ViewImpl { throw new AlreadyExistComponentException(name) } + debug('Registering component %s.', name) + this.edge.registerTemplate(name, { template: component }) return this @@ -259,6 +273,8 @@ export class ViewImpl { * .removeComponent('testing') */ public removeComponent(name: string): ViewImpl { + debug('Removing component %s.', name) + this.edge.removeTemplate(name) return this @@ -287,9 +303,13 @@ export class ViewImpl { */ public createTemplate(name: string, template: string): ViewImpl { if (this.hasTemplate(name)) { + debug('Template %s already exists and will be removed first.', name) + this.removeTemplate(name) } + debug('Creating template %s.', name) + return this.createComponent(name, template) } @@ -338,9 +358,16 @@ export class ViewImpl { */ public removeTemplate(name: string): ViewImpl { if (!this.hasTemplate(name)) { + debug( + 'Template %s does not exist and removing operation will be skipped.', + name, + ) + return this } + debug('Removing template %s.', name) + return this.removeComponent(name) } diff --git a/tests/Stubs/config/view.ts b/tests/Stubs/config/view.ts deleted file mode 100644 index 121247b..0000000 --- a/tests/Stubs/config/view.ts +++ /dev/null @@ -1,46 +0,0 @@ -import { Path } from '@athenna/common' - -export default { - /* - |-------------------------------------------------------------------------- - | Disks - |-------------------------------------------------------------------------- - | - | Most templating systems load templates from disk. Here you may specify - | a key value map that will have the disk name pointing to the respective - | path that should be checked to load all the views inside. - | - */ - - disks: { - admin: Path.stubs('views/admin'), - component: Path.stubs('views/components'), - }, - - /* - |-------------------------------------------------------------------------- - | Edge options - |-------------------------------------------------------------------------- - | - | Athenna uses the Edge.js template engine to render templates. You can set - | all Edge supported options here. - | - */ - - edge: { - /* - |-------------------------------------------------------------------------- - | Cache - |-------------------------------------------------------------------------- - | - | Compiling a template to a JavaScript function is a time-consuming process, - | and hence it is recommended to cache the compiled templates in production. - | - | You can control the template caching using this options. Just make sure - | to set the value to true in the production environment. - | - */ - - cache: false, - }, -} diff --git a/tests/stubs/config/view.ts b/tests/stubs/config/view.ts new file mode 100644 index 0000000..21b4b03 --- /dev/null +++ b/tests/stubs/config/view.ts @@ -0,0 +1,12 @@ +import { Path } from '@athenna/common' + +export default { + disks: { + admin: Path.stubs('views/admin'), + component: Path.stubs('views/components'), + }, + + edge: { + cache: false, + }, +} diff --git a/tests/Stubs/views/admin/listUsers.edge b/tests/stubs/views/admin/listUsers.edge similarity index 100% rename from tests/Stubs/views/admin/listUsers.edge rename to tests/stubs/views/admin/listUsers.edge diff --git a/tests/Stubs/views/command.edge b/tests/stubs/views/command.edge similarity index 100% rename from tests/Stubs/views/command.edge rename to tests/stubs/views/command.edge diff --git a/tests/Stubs/views/components/copyright.edge b/tests/stubs/views/components/copyright.edge similarity index 100% rename from tests/Stubs/views/components/copyright.edge rename to tests/stubs/views/components/copyright.edge diff --git a/tests/Stubs/views/components/footer.edge b/tests/stubs/views/components/footer.edge similarity index 100% rename from tests/Stubs/views/components/footer.edge rename to tests/stubs/views/components/footer.edge diff --git a/tests/Stubs/views/components/header.edge b/tests/stubs/views/components/header.edge similarity index 100% rename from tests/Stubs/views/components/header.edge rename to tests/stubs/views/components/header.edge diff --git a/tests/Unit/ViewTest.ts b/tests/unit/ViewTest.ts similarity index 86% rename from tests/Unit/ViewTest.ts rename to tests/unit/ViewTest.ts index 65f4acd..d1296f1 100644 --- a/tests/Unit/ViewTest.ts +++ b/tests/unit/ViewTest.ts @@ -10,11 +10,12 @@ import { Ioc } from '@athenna/ioc' import { Config } from '@athenna/config' import { View, ViewProvider } from '#src' +import type { Context } from '@athenna/test/types' import { File, Folder, Path } from '@athenna/common' -import { AfterEach, BeforeEach, Test, TestContext } from '@athenna/test' -import { EmptyComponentException } from '#src/Exceptions/EmptyComponentException' -import { NotFoundTemplateException } from '#src/Exceptions/NotFoundTemplateException' -import { AlreadyExistComponentException } from '#src/Exceptions/AlreadyExistComponentException' +import { AfterEach, BeforeEach, Test } from '@athenna/test' +import { EmptyComponentException } from '#src/exceptions/EmptyComponentException' +import { NotFoundTemplateException } from '#src/exceptions/NotFoundTemplateException' +import { AlreadyExistComponentException } from '#src/exceptions/AlreadyExistComponentException' export default class ViewTest { @BeforeEach() @@ -30,7 +31,7 @@ export default class ViewTest { } @Test() - public async shouldBeAbleToRenderHtmlViewsWithComponentsIncluded({ assert }: TestContext) { + public async shouldBeAbleToRenderHtmlViewsWithComponentsIncluded({ assert }: Context) { await Config.load(Path.stubs('config/view.ts')) new ViewProvider().register() @@ -42,7 +43,7 @@ export default class ViewTest { } @Test() - public async shouldBeAbleToRenderRawEdgeContent({ assert }: TestContext) { + public async shouldBeAbleToRenderRawEdgeContent({ assert }: Context) { await Config.load(Path.stubs('config/view.ts')) new ViewProvider().register() @@ -57,7 +58,7 @@ export default class ViewTest { } @Test() - public async shouldBeAbleToAddAndRemoveGlobalPropertiesInViews({ assert }: TestContext) { + public async shouldBeAbleToAddAndRemoveGlobalPropertiesInViews({ assert }: Context) { await Config.load(Path.stubs('config/view.ts')) new ViewProvider().register() @@ -69,7 +70,7 @@ export default class ViewTest { } @Test() - public async shouldNotThrowsErrorsWhenTryingToRemoveAGlobalPropertyThatDoesNotExists({ assert }: TestContext) { + public async shouldNotThrowsErrorsWhenTryingToRemoveAGlobalPropertyThatDoesNotExists({ assert }: Context) { await Config.load(Path.stubs('config/view.ts')) new ViewProvider().register() @@ -77,7 +78,7 @@ export default class ViewTest { } @Test() - public async shouldBeAbleToAddAndRemoveViewDisks({ assert }: TestContext) { + public async shouldBeAbleToAddAndRemoveViewDisks({ assert }: Context) { await Config.load(Path.stubs('config/view.ts')) new ViewProvider().register() @@ -91,7 +92,7 @@ export default class ViewTest { } @Test() - public async shouldThrowAnExceptionWhenTryingToRenderViewsThatAreNotRegistered({ assert }: TestContext) { + public async shouldThrowAnExceptionWhenTryingToRenderViewsThatAreNotRegistered({ assert }: Context) { await Config.load(Path.stubs('config/view.ts')) new ViewProvider().register() @@ -100,7 +101,7 @@ export default class ViewTest { } @Test() - public async shouldBeAbleToUpdateAlreadyMountedViewDisks({ assert }: TestContext) { + public async shouldBeAbleToUpdateAlreadyMountedViewDisks({ assert }: Context) { await Config.load(Path.stubs('config/view.ts')) new ViewProvider().register() @@ -114,7 +115,7 @@ export default class ViewTest { } @Test() - public async shouldNotThrowsAnyErrorsWhenTryingToRemoveAViewDiskThatDoesNotExists({ assert }: TestContext) { + public async shouldNotThrowsAnyErrorsWhenTryingToRemoveAViewDiskThatDoesNotExists({ assert }: Context) { await Config.load(Path.stubs('config/view.ts')) new ViewProvider().register() @@ -122,7 +123,7 @@ export default class ViewTest { } @Test() - public async shouldBeAbleToCreateAndRemoveComponents({ assert }: TestContext) { + public async shouldBeAbleToCreateAndRemoveComponents({ assert }: Context) { await Config.load(Path.stubs('config/view.ts')) new ViewProvider().register() @@ -136,7 +137,7 @@ export default class ViewTest { } @Test() - public async shouldThrowAnExceptionWhenTryingToCreateAUndefinedComponent({ assert }: TestContext) { + public async shouldThrowAnExceptionWhenTryingToCreateAUndefinedComponent({ assert }: Context) { await Config.load(Path.stubs('config/view.ts')) new ViewProvider().register() @@ -144,7 +145,7 @@ export default class ViewTest { } @Test() - public async shouldThrowAnExceptionWhenTryingToCreateAComponentWithANameThatAlreadyExists({ assert }: TestContext) { + public async shouldThrowAnExceptionWhenTryingToCreateAComponentWithANameThatAlreadyExists({ assert }: Context) { await Config.load(Path.stubs('config/view.ts')) new ViewProvider().register() @@ -155,7 +156,7 @@ export default class ViewTest { } @Test() - public async shouldBeAbleToAutomaticallyRemoveTheComponentIfNameIsAlreadyIsUse({ assert }: TestContext) { + public async shouldBeAbleToAutomaticallyRemoveTheComponentIfNameIsAlreadyIsUse({ assert }: Context) { await Config.load(Path.stubs('config/view.ts')) new ViewProvider().register() @@ -169,7 +170,7 @@ export default class ViewTest { } @Test() - public async shouldNotThrowErrorsIfTryingToRemoveAComponentThatDoesNotExists({ assert }: TestContext) { + public async shouldNotThrowErrorsIfTryingToRemoveAComponentThatDoesNotExists({ assert }: Context) { await Config.load(Path.stubs('config/view.ts')) new ViewProvider().register() @@ -177,7 +178,7 @@ export default class ViewTest { } @Test() - public async shouldNotThrowErrorsIfTryingToRemoveATemplateThatDoesNotExists({ assert }: TestContext) { + public async shouldNotThrowErrorsIfTryingToRemoveATemplateThatDoesNotExists({ assert }: Context) { await Config.load(Path.stubs('config/view.ts')) new ViewProvider().register() @@ -185,7 +186,7 @@ export default class ViewTest { } @Test() - public async shouldNotRegisterTemplateIfViewTemplatesRegisterIsFalse({ assert }: TestContext) { + public async shouldNotRegisterTemplateIfViewTemplatesRegisterIsFalse({ assert }: Context) { await Config.load(Path.stubs('config/view.ts')) Config.set('view.templates.register', false) @@ -195,7 +196,7 @@ export default class ViewTest { } @Test() - public async shouldBeAbleToRegisterCustomTemplate({ assert }: TestContext) { + public async shouldBeAbleToRegisterCustomTemplate({ assert }: Context) { const templatePath = Path.resources('templates/command.edge') await Config.load(Path.stubs('config/view.ts')) await new File(templatePath, Buffer.from('Hello')).load() diff --git a/tsconfig.json b/tsconfig.json index 3ec8d69..5a20cac 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,26 +1,31 @@ { "ts-node": { "esm": true, - "swc": true + "transpileOnly": true, + "ignoreDiagnostics": [5104] }, "compilerOptions": { "strict": false, "rootDir": ".", "baseUrl": ".", - "outDir": ".", + "outDir": "build", "module": "NodeNext", "target": "ESNext", + "moduleResolution": "NodeNext", "declaration": true, "skipLibCheck": true, "esModuleInterop": true, "removeComments": false, "resolveJsonModule": true, "experimentalDecorators": true, - "moduleResolution": "nodenext", + "useDefineForClassFields": false, + "verbatimModuleSyntax": true, + "forceConsistentCasingInFileNames": true, "paths": { "#bin/*": ["./bin/*.ts"], "#src/*": ["./src/*.ts"], - "#tests/*": ["./tests/*.ts"] + "#tests/*": ["./tests/*.ts"], + "#src/types": ["./src/types/index.ts"] } }, "include": ["./**/*"],