diff --git a/package-lock.json b/package-lock.json index 820b1cc..8a60ea0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,32 +1,28 @@ { "name": "@hazae41/cadenas", - "version": "0.0.1", + "version": "0.0.3", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@hazae41/cadenas", - "version": "0.0.1", + "version": "0.0.3", "license": "MIT", "dependencies": { - "@hazae41/asn1": "^1.0.15", - "@hazae41/binary": "^1.1.2", - "@hazae41/x509": "^1.0.15", - "tslib": "^2.4.1" + "@hazae41/asn1": "^1.0.17", + "@hazae41/binary": "^1.1.7", + "@hazae41/x509": "^1.0.18" }, "devDependencies": { - "@hazae41/phobos": "^1.0.7", + "@hazae41/phobos": "^1.0.10", "@rollup/plugin-inject": "^5.0.3", "@rollup/plugin-typescript": "^11.0.0", "@types/node": "^18.11.18", - "rimraf": "^3.0.2", - "rollup": "^3.9.1", + "rimraf": "^4.1.1", + "rollup": "^3.10.0", "rollup-plugin-dts": "^5.1.1", - "rollup-plugin-node-externals": "^5.0.3", - "ts-node": "^10.9.1", - "ttypescript": "^1.5.15", - "typescript": "^4.9.4", - "typescript-transform-paths": "^3.4.6" + "rollup-plugin-node-externals": "^5.1.0", + "typescript": "^4.9.4" } }, "node_modules/@babel/code-frame": { @@ -67,60 +63,31 @@ "node": ">=6.9.0" } }, - "node_modules/@cspotcode/source-map-support": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", - "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "0.3.9" - }, - "engines": { - "node": ">=12" - } - }, "node_modules/@hazae41/asn1": { - "version": "1.0.15", - "resolved": "https://registry.npmjs.org/@hazae41/asn1/-/asn1-1.0.15.tgz", - "integrity": "sha512-asttwopJPXve1UYfs6Mc7nsAZgDIQ5FITgbBlEaYnIxWISGhX58rWekvatcy5/ZKZpeacznHyY1MyZyiLTNTHg==", + "version": "1.0.17", + "resolved": "https://registry.npmjs.org/@hazae41/asn1/-/asn1-1.0.17.tgz", + "integrity": "sha512-TU/iGNS2xPyQbiHgtiFN2gKBuiiXRq8Ntwm/q6hpdH0jbSjGkeQWLiMxSLXh01T+xG7emSh2jkQ3uG4Iku9D0A==", "dependencies": { - "@hazae41/binary": "^1.1.2", - "tslib": "^2.4.1" + "@hazae41/binary": "^1.1.7" } }, "node_modules/@hazae41/binary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@hazae41/binary/-/binary-1.1.2.tgz", - "integrity": "sha512-guTHNpPdncxGJaEFxM8v3ZOMbdgDGmaPasUaJY8y11DikNeTIn5J5HNoMnmge6tQskSRho5JdB4ds0YBCyf/zg==", - "dependencies": { - "tslib": "^2.4.1" - } + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/@hazae41/binary/-/binary-1.1.7.tgz", + "integrity": "sha512-6LL7yMJygePfoRb00E3cb6gGWcGh743m4JLXOwIphyo3mRZ4JSDrVhXm7IDV5xssL84eKunc/e6rbBKTvrip8Q==" }, "node_modules/@hazae41/phobos": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@hazae41/phobos/-/phobos-1.0.7.tgz", - "integrity": "sha512-yF62YrGkV0wufxDK6UL748ncjP7bEhJ0w7jGMvkhB4qbhk5WgdaeVmu7I77G2VWAZu+Undj28V80IbrEAwS7HA==", - "dev": true, - "dependencies": { - "tslib": "^2.4.1" - } + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/@hazae41/phobos/-/phobos-1.0.10.tgz", + "integrity": "sha512-ZCZx2YXnRAmMxQhBSg1/GW3wll8UVXGJm8ADWaGk9sJRnXE0zISAHz1mRZIHXHAq+MUBOQF7d6AeCAckc2xYlQ==", + "dev": true }, "node_modules/@hazae41/x509": { - "version": "1.0.15", - "resolved": "https://registry.npmjs.org/@hazae41/x509/-/x509-1.0.15.tgz", - "integrity": "sha512-+fwozMo60LrPho6RZuJhU6wMJqZBfz+dixJHVP5MZtozQQC803nmfum2rP4862gMnoey4fmJ/lwJdq7cz+0tqQ==", + "version": "1.0.18", + "resolved": "https://registry.npmjs.org/@hazae41/x509/-/x509-1.0.18.tgz", + "integrity": "sha512-/pf+UyCEzzsnU6JYR5VJ8s9B2ODa0rv9ulVIPAyL94yv+wZZYVmBXcMbI5cBOKT0gLDEqOOu9S1ZGrwj+0pOPg==", "dependencies": { - "@hazae41/asn1": "^1.0.15", - "tslib": "^2.4.1" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "dev": true, - "engines": { - "node": ">=6.0.0" + "@hazae41/asn1": "^1.0.17" } }, "node_modules/@jridgewell/sourcemap-codec": { @@ -129,16 +96,6 @@ "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", "dev": true }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", - "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, "node_modules/@rollup/plugin-inject": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/@rollup/plugin-inject/-/plugin-inject-5.0.3.tgz", @@ -209,30 +166,6 @@ } } }, - "node_modules/@tsconfig/node10": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", - "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", - "dev": true - }, - "node_modules/@tsconfig/node12": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", - "dev": true - }, - "node_modules/@tsconfig/node14": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", - "dev": true - }, - "node_modules/@tsconfig/node16": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz", - "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==", - "dev": true - }, "node_modules/@types/estree": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz", @@ -245,27 +178,6 @@ "integrity": "sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==", "dev": true }, - "node_modules/acorn": { - "version": "8.8.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", - "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", @@ -279,18 +191,6 @@ "node": ">=4" } }, - "node_modules/arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, "node_modules/chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", @@ -323,27 +223,6 @@ "dev": true, "optional": true }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "node_modules/create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "dev": true - }, - "node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true, - "engines": { - "node": ">=0.3.1" - } - }, "node_modules/escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", @@ -360,12 +239,6 @@ "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", "dev": true }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, "node_modules/fsevents": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", @@ -408,22 +281,6 @@ "node": ">=4" } }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, "node_modules/is-core-module": { "version": "2.11.0", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", @@ -455,30 +312,6 @@ "node": ">=12" } }, - "node_modules/make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", @@ -515,66 +348,24 @@ } }, "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-4.1.1.tgz", + "integrity": "sha512-Z4Y81w8atcvaJuJuBB88VpADRH66okZAuEm+Jtaufa+s7rZmIz+Hik2G53kGaNytE7lsfXyWktTmfVz0H9xuDg==", "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rimraf/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/rimraf/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "rimraf": "dist/cjs/src/bin.js" }, "engines": { - "node": "*" + "node": ">=14" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/rimraf/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/rollup": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.9.1.tgz", - "integrity": "sha512-GswCYHXftN8ZKGVgQhTFUJB/NBXxrRGgO2NCy6E8s1rwEJ4Q9/VttNqcYfEvx4dTo4j58YqdC3OVztPzlKSX8w==", + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.10.0.tgz", + "integrity": "sha512-JmRYz44NjC1MjVF2VKxc0M1a97vn+cDxeqWmnwyAF4FvpjK8YFdHpaqvQB+3IxCvX05vJxKZkoMDU8TShhmJVA==", "dev": true, "bin": { "rollup": "dist/bin/rollup" @@ -610,9 +401,9 @@ } }, "node_modules/rollup-plugin-node-externals": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/rollup-plugin-node-externals/-/rollup-plugin-node-externals-5.0.3.tgz", - "integrity": "sha512-2hehUFt243Lra6tf1cJyRMz5OlTf+kn8zYyl8wR4MLkUiX+X96YVhfer7qsn2X30mnuGVvpY/oyFlJ86i9DF3Q==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-node-externals/-/rollup-plugin-node-externals-5.1.0.tgz", + "integrity": "sha512-3kBlflgq7X7xZJCskDz3PRmnuVptEal/VHOmYCozqncVRHXp9986fwyQdsFpzaQljjF2WOdlLMZLyNBxbA5hww==", "dev": true, "engines": { "node": ">=14.0.0" @@ -646,70 +437,13 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/ts-node": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", - "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", - "dev": true, - "dependencies": { - "@cspotcode/source-map-support": "^0.8.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.1", - "yn": "3.1.1" - }, - "bin": { - "ts-node": "dist/bin.js", - "ts-node-cwd": "dist/bin-cwd.js", - "ts-node-esm": "dist/bin-esm.js", - "ts-node-script": "dist/bin-script.js", - "ts-node-transpile-only": "dist/bin-transpile.js", - "ts-script": "dist/bin-script-deprecated.js" - }, - "peerDependencies": { - "@swc/core": ">=1.2.50", - "@swc/wasm": ">=1.2.50", - "@types/node": "*", - "typescript": ">=2.7" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "@swc/wasm": { - "optional": true - } - } - }, "node_modules/tslib": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", - "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==" - }, - "node_modules/ttypescript": { - "version": "1.5.15", - "resolved": "https://registry.npmjs.org/ttypescript/-/ttypescript-1.5.15.tgz", - "integrity": "sha512-48ykDNHzFnPMnv4hYX1P8Q84TvCZyL1QlFxeuxsuZ48X2+ameBgPenvmCkHJtoOSxpoWTWi8NcgNrRnVDOmfSg==", + "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==", "dev": true, - "dependencies": { - "resolve": ">=1.9.0" - }, - "bin": { - "ttsc": "bin/tsc", - "ttsserver": "bin/tsserver" - }, - "peerDependencies": { - "ts-node": ">=8.0.2", - "typescript": ">=3.2.2" - } + "optional": true, + "peer": true }, "node_modules/typescript": { "version": "4.9.4", @@ -723,61 +457,6 @@ "engines": { "node": ">=4.2.0" } - }, - "node_modules/typescript-transform-paths": { - "version": "3.4.6", - "resolved": "https://registry.npmjs.org/typescript-transform-paths/-/typescript-transform-paths-3.4.6.tgz", - "integrity": "sha512-qdgpCk9oRHkIBhznxaHAapCFapJt5e4FbFik7Y4qdqtp6VyC3smAIPoDEIkjZ2eiF7x5+QxUPYNwJAtw0thsTw==", - "dev": true, - "dependencies": { - "minimatch": "^3.0.4" - }, - "peerDependencies": { - "typescript": ">=3.6.5" - } - }, - "node_modules/typescript-transform-paths/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/typescript-transform-paths/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/v8-compile-cache-lib": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", - "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", - "dev": true - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, - "node_modules/yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true, - "engines": { - "node": ">=6" - } } }, "dependencies": { @@ -810,72 +489,39 @@ "js-tokens": "^4.0.0" } }, - "@cspotcode/source-map-support": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", - "dev": true, - "requires": { - "@jridgewell/trace-mapping": "0.3.9" - } - }, "@hazae41/asn1": { - "version": "1.0.15", - "resolved": "https://registry.npmjs.org/@hazae41/asn1/-/asn1-1.0.15.tgz", - "integrity": "sha512-asttwopJPXve1UYfs6Mc7nsAZgDIQ5FITgbBlEaYnIxWISGhX58rWekvatcy5/ZKZpeacznHyY1MyZyiLTNTHg==", + "version": "1.0.17", + "resolved": "https://registry.npmjs.org/@hazae41/asn1/-/asn1-1.0.17.tgz", + "integrity": "sha512-TU/iGNS2xPyQbiHgtiFN2gKBuiiXRq8Ntwm/q6hpdH0jbSjGkeQWLiMxSLXh01T+xG7emSh2jkQ3uG4Iku9D0A==", "requires": { - "@hazae41/binary": "^1.1.2", - "tslib": "^2.4.1" + "@hazae41/binary": "^1.1.7" } }, "@hazae41/binary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@hazae41/binary/-/binary-1.1.2.tgz", - "integrity": "sha512-guTHNpPdncxGJaEFxM8v3ZOMbdgDGmaPasUaJY8y11DikNeTIn5J5HNoMnmge6tQskSRho5JdB4ds0YBCyf/zg==", - "requires": { - "tslib": "^2.4.1" - } + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/@hazae41/binary/-/binary-1.1.7.tgz", + "integrity": "sha512-6LL7yMJygePfoRb00E3cb6gGWcGh743m4JLXOwIphyo3mRZ4JSDrVhXm7IDV5xssL84eKunc/e6rbBKTvrip8Q==" }, "@hazae41/phobos": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@hazae41/phobos/-/phobos-1.0.7.tgz", - "integrity": "sha512-yF62YrGkV0wufxDK6UL748ncjP7bEhJ0w7jGMvkhB4qbhk5WgdaeVmu7I77G2VWAZu+Undj28V80IbrEAwS7HA==", - "dev": true, - "requires": { - "tslib": "^2.4.1" - } + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/@hazae41/phobos/-/phobos-1.0.10.tgz", + "integrity": "sha512-ZCZx2YXnRAmMxQhBSg1/GW3wll8UVXGJm8ADWaGk9sJRnXE0zISAHz1mRZIHXHAq+MUBOQF7d6AeCAckc2xYlQ==", + "dev": true }, "@hazae41/x509": { - "version": "1.0.15", - "resolved": "https://registry.npmjs.org/@hazae41/x509/-/x509-1.0.15.tgz", - "integrity": "sha512-+fwozMo60LrPho6RZuJhU6wMJqZBfz+dixJHVP5MZtozQQC803nmfum2rP4862gMnoey4fmJ/lwJdq7cz+0tqQ==", + "version": "1.0.18", + "resolved": "https://registry.npmjs.org/@hazae41/x509/-/x509-1.0.18.tgz", + "integrity": "sha512-/pf+UyCEzzsnU6JYR5VJ8s9B2ODa0rv9ulVIPAyL94yv+wZZYVmBXcMbI5cBOKT0gLDEqOOu9S1ZGrwj+0pOPg==", "requires": { - "@hazae41/asn1": "^1.0.15", - "tslib": "^2.4.1" + "@hazae41/asn1": "^1.0.17" } }, - "@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "dev": true - }, "@jridgewell/sourcemap-codec": { "version": "1.4.14", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", "dev": true }, - "@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", - "dev": true, - "requires": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, "@rollup/plugin-inject": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/@rollup/plugin-inject/-/plugin-inject-5.0.3.tgz", @@ -908,30 +554,6 @@ "picomatch": "^2.3.1" } }, - "@tsconfig/node10": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", - "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", - "dev": true - }, - "@tsconfig/node12": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", - "dev": true - }, - "@tsconfig/node14": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", - "dev": true - }, - "@tsconfig/node16": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz", - "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==", - "dev": true - }, "@types/estree": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz", @@ -944,18 +566,6 @@ "integrity": "sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==", "dev": true }, - "acorn": { - "version": "8.8.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", - "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==", - "dev": true - }, - "acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", - "dev": true - }, "ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", @@ -966,18 +576,6 @@ "color-convert": "^1.9.0" } }, - "arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, "chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", @@ -1007,24 +605,6 @@ "dev": true, "optional": true }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "dev": true - }, - "diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true - }, "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", @@ -1038,12 +618,6 @@ "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", "dev": true }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, "fsevents": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", @@ -1073,22 +647,6 @@ "dev": true, "optional": true }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, "is-core-module": { "version": "2.11.0", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", @@ -1114,27 +672,6 @@ "@jridgewell/sourcemap-codec": "^1.4.13" } }, - "make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true - }, "path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", @@ -1159,53 +696,15 @@ } }, "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } - } + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-4.1.1.tgz", + "integrity": "sha512-Z4Y81w8atcvaJuJuBB88VpADRH66okZAuEm+Jtaufa+s7rZmIz+Hik2G53kGaNytE7lsfXyWktTmfVz0H9xuDg==", + "dev": true }, "rollup": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.9.1.tgz", - "integrity": "sha512-GswCYHXftN8ZKGVgQhTFUJB/NBXxrRGgO2NCy6E8s1rwEJ4Q9/VttNqcYfEvx4dTo4j58YqdC3OVztPzlKSX8w==", + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.10.0.tgz", + "integrity": "sha512-JmRYz44NjC1MjVF2VKxc0M1a97vn+cDxeqWmnwyAF4FvpjK8YFdHpaqvQB+3IxCvX05vJxKZkoMDU8TShhmJVA==", "dev": true, "requires": { "fsevents": "~2.3.2" @@ -1222,9 +721,9 @@ } }, "rollup-plugin-node-externals": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/rollup-plugin-node-externals/-/rollup-plugin-node-externals-5.0.3.tgz", - "integrity": "sha512-2hehUFt243Lra6tf1cJyRMz5OlTf+kn8zYyl8wR4MLkUiX+X96YVhfer7qsn2X30mnuGVvpY/oyFlJ86i9DF3Q==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-node-externals/-/rollup-plugin-node-externals-5.1.0.tgz", + "integrity": "sha512-3kBlflgq7X7xZJCskDz3PRmnuVptEal/VHOmYCozqncVRHXp9986fwyQdsFpzaQljjF2WOdlLMZLyNBxbA5hww==", "dev": true, "requires": {} }, @@ -1244,94 +743,19 @@ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true }, - "ts-node": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", - "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", - "dev": true, - "requires": { - "@cspotcode/source-map-support": "^0.8.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.1", - "yn": "3.1.1" - } - }, "tslib": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", - "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==" - }, - "ttypescript": { - "version": "1.5.15", - "resolved": "https://registry.npmjs.org/ttypescript/-/ttypescript-1.5.15.tgz", - "integrity": "sha512-48ykDNHzFnPMnv4hYX1P8Q84TvCZyL1QlFxeuxsuZ48X2+ameBgPenvmCkHJtoOSxpoWTWi8NcgNrRnVDOmfSg==", + "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==", "dev": true, - "requires": { - "resolve": ">=1.9.0" - } + "optional": true, + "peer": true }, "typescript": { "version": "4.9.4", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz", "integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==", "dev": true - }, - "typescript-transform-paths": { - "version": "3.4.6", - "resolved": "https://registry.npmjs.org/typescript-transform-paths/-/typescript-transform-paths-3.4.6.tgz", - "integrity": "sha512-qdgpCk9oRHkIBhznxaHAapCFapJt5e4FbFik7Y4qdqtp6VyC3smAIPoDEIkjZ2eiF7x5+QxUPYNwJAtw0thsTw==", - "dev": true, - "requires": { - "minimatch": "^3.0.4" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "v8-compile-cache-lib": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", - "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", - "dev": true - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, - "yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true } } } diff --git a/package.json b/package.json index 889f070..f4a7870 100644 --- a/package.json +++ b/package.json @@ -22,24 +22,20 @@ "prepare": "npm run build" }, "dependencies": { - "@hazae41/asn1": "^1.0.15", - "@hazae41/binary": "^1.1.2", - "@hazae41/x509": "^1.0.15", - "tslib": "^2.4.1" + "@hazae41/asn1": "^1.0.17", + "@hazae41/binary": "^1.1.7", + "@hazae41/x509": "^1.0.18" }, "devDependencies": { - "@hazae41/phobos": "^1.0.7", + "@hazae41/phobos": "^1.0.10", "@rollup/plugin-inject": "^5.0.3", "@rollup/plugin-typescript": "^11.0.0", "@types/node": "^18.11.18", - "rimraf": "^3.0.2", - "rollup": "^3.9.1", + "rimraf": "^4.1.1", + "rollup": "^3.10.0", "rollup-plugin-dts": "^5.1.1", - "rollup-plugin-node-externals": "^5.0.3", - "ts-node": "^10.9.1", - "ttypescript": "^1.5.15", - "typescript": "^4.9.4", - "typescript-transform-paths": "^3.4.6" + "rollup-plugin-node-externals": "^5.1.0", + "typescript": "^4.9.4" }, "exports": { ".": { diff --git a/rollup.config.js b/rollup.config.js index 7542c46..9445ec9 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -1,8 +1,7 @@ -import inject from '@rollup/plugin-inject'; +import inject from "@rollup/plugin-inject"; import ts from "@rollup/plugin-typescript"; import dts from "rollup-plugin-dts"; import externals from "rollup-plugin-node-externals"; -import typescript from "ttypescript"; export const config = [ { @@ -22,7 +21,7 @@ export const config = [ sourcemap: true, entryFileNames: "[name].cjs", }], - plugins: [externals(), ts({ typescript })] + plugins: [externals(), ts()] }, { input: "./src/index.ts", @@ -34,7 +33,7 @@ export const config = [ sourcemap: false, entryFileNames: "[name].d.ts", }], - plugins: [externals(), ts({ typescript }), dts()] + plugins: [externals(), ts(), dts()] }, { input: "./src/index.test.ts", @@ -44,10 +43,9 @@ export const config = [ exports: "named", preserveModules: true, sourcemap: true, - entryFileNames: "[name].mjs" + entryFileNames: "[name].mjs", }], - plugins: [externals(), ts({ typescript }), inject({ crypto: "node:crypto" })], - external: ["@hazae41/phobos"] + plugins: [externals({ devDeps: true }), ts(), inject({ crypto: "node:crypto" })], }, ] diff --git a/src/libs/events/close.ts b/src/libs/events/close.ts new file mode 100644 index 0000000..a6db481 --- /dev/null +++ b/src/libs/events/close.ts @@ -0,0 +1,11 @@ +export interface CloseEvent extends Event { + readonly code?: number; + readonly reason?: string; + readonly wasClean?: boolean; +} + +export class CloseEvent extends Event { + constructor(type: string, eventInitDict: CloseEventInit) { + super(type, eventInitDict) + } +} \ No newline at end of file diff --git a/src/libs/events/error.ts b/src/libs/events/error.ts new file mode 100644 index 0000000..befbf96 --- /dev/null +++ b/src/libs/events/error.ts @@ -0,0 +1,9 @@ +export interface ErrorEvent extends Event { + readonly error?: any +} + +export class ErrorEvent extends Event { + constructor(type: string, eventInitDict: ErrorEventInit) { + super(type, eventInitDict) + } +} \ No newline at end of file diff --git a/src/mods/binary/records/generic_ciphers/block/block.ts b/src/mods/binary/records/generic_ciphers/block/block.ts index cbe5761..8a2f8a0 100644 --- a/src/mods/binary/records/generic_ciphers/block/block.ts +++ b/src/mods/binary/records/generic_ciphers/block/block.ts @@ -72,6 +72,7 @@ export class GenericBlockCipher { // console.log("-> plaintext", plaintext.length, Bytes.toHex(plaintext)) // console.log("-> content", content.length, Bytes.toHex(content)) // console.log("-> mac", mac.length, Bytes.toHex(mac)) + // console.log("-> ciphertext", ciphertext.length, ciphertext) return new this(iv, ciphertext) } @@ -82,7 +83,7 @@ export class GenericBlockCipher { const content = plaintext.subarray(0, -20) const mac = plaintext.subarray(-20) - // console.log("<- content", raw.length, Bytes.toHex(raw)) + // console.log("<- content", content.length, Bytes.toHex(content)) // console.log("<- mac", mac.length, Bytes.toHex(mac)) return new Opaque(content) diff --git a/src/mods/tls.ts b/src/mods/tls.ts index 2c875d1..dc3aa01 100644 --- a/src/mods/tls.ts +++ b/src/mods/tls.ts @@ -2,6 +2,8 @@ import { Binary } from "@hazae41/binary" import { Certificate, X509 } from "@hazae41/x509" import { BigMath } from "libs/bigmath/index.js" import { Bytes } from "libs/bytes/bytes.js" +import { CloseEvent } from "libs/events/close.js" +import { ErrorEvent } from "libs/events/error.js" import { Future } from "libs/futures/future.js" import { PRF } from "mods/algorithms/prf/prf.js" import { Number16, Number24 } from "mods/binary/number.js" @@ -182,6 +184,9 @@ export class TlsStream extends EventTarget { readonly readable: ReadableStream readonly writable: WritableStream + readonly read = new EventTarget() + readonly write = new EventTarget() + private state: State = { type: "none", client_encrypted: false, server_encrypted: false } private _input?: TransformStreamDefaultController @@ -229,6 +234,11 @@ export class TlsStream extends EventTarget { rtrashable .pipeTo(trash, { signal }) .catch(this.onReadError.bind(this)) + + const onError = this.onError.bind(this) + + this.read.addEventListener("error", onError, { passive: true }) + this.write.addEventListener("error", onError, { passive: true }) } get input() { @@ -241,17 +251,17 @@ export class TlsStream extends EventTarget { private async onReadClose() { const event = new CloseEvent("close", {}) - if (!this.dispatchEvent(event)) return + if (!this.read.dispatchEvent(event)) return } private async onWriteClose() { const event = new CloseEvent("close", {}) - if (!this.dispatchEvent(event)) return + if (!this.write.dispatchEvent(event)) return } private async onReadError(error?: unknown) { const event = new ErrorEvent("error", { error }) - if (!this.dispatchEvent(event)) return + if (!this.read.dispatchEvent(event)) return try { this.input.error(error) } catch (e: unknown) { } try { this.output.error(error) } catch (e: unknown) { } @@ -259,12 +269,17 @@ export class TlsStream extends EventTarget { private async onWriteError(error?: unknown) { const event = new ErrorEvent("error", { error }) - if (!this.dispatchEvent(event)) return + if (!this.write.dispatchEvent(event)) return try { this.input.error(error) } catch (e: unknown) { } try { this.output.error(error) } catch (e: unknown) { } } + private async onError(error?: unknown) { + const event = new ErrorEvent("error", { error }) + if (!this.dispatchEvent(event)) return + } + private async onReadStart(controller: TransformStreamDefaultController) { this._input = controller } @@ -292,14 +307,14 @@ export class TlsStream extends EventTarget { const finished = new Future() try { + this.read.addEventListener("close", finished.err, { passive: true }) this.addEventListener("error", finished.err, { passive: true }) - this.addEventListener("close", finished.err, { passive: true }) this.addEventListener("finished", finished.ok, { passive: true }) await finished.promise } finally { + this.read.removeEventListener("close", finished.err) this.removeEventListener("error", finished.err) - this.removeEventListener("close", finished.err) this.removeEventListener("finished", finished.ok) } } @@ -436,7 +451,7 @@ export class TlsStream extends EventTarget { const handshake = Handshake.from(header, fragment) if (handshake.subtype !== Handshake.types.hello_request) - this.state.messages.push(record.fragment.bytes) + this.state.messages.push(new Uint8Array(record.fragment.bytes)) if (handshake.subtype === ServerHello2.type) return this.onServerHello(handshake, this.state) diff --git a/src/mods/transports/websocket.ts b/src/mods/transports/websocket.ts index 5d9dba5..afd7599 100644 --- a/src/mods/transports/websocket.ts +++ b/src/mods/transports/websocket.ts @@ -63,7 +63,7 @@ export class WebSocketSource implements UnderlyingSource { async start(controller: ReadableStreamController) { const onMessage = (e: MessageEvent) => { const chunk = new Uint8Array(e.data satisfies ArrayBuffer) - controller.enqueue(chunk) + try { controller.enqueue(chunk) } catch (e: unknown) { } } const onError = (e: Event) => { diff --git a/test/website/pages/index.tsx b/test/website/pages/index.tsx index 10c3a87..62032b1 100644 --- a/test/website/pages/index.tsx +++ b/test/website/pages/index.tsx @@ -28,7 +28,7 @@ export default function Home() { const onClick = useCallback(async () => { const ws = await createWebSocketStream() - const ciphers = [Ciphers.TLS_DHE_RSA_WITH_AES_128_GCM_SHA256] + const ciphers = [Ciphers.TLS_DHE_RSA_WITH_AES_256_CBC_SHA] const tls = new TlsStream(ws, { ciphers }) diff --git a/tools/tcp.ts b/tools/tcp.ts index 9b7c44d..4733078 100644 --- a/tools/tcp.ts +++ b/tools/tcp.ts @@ -30,7 +30,7 @@ async function onconn(conn: Deno.Conn) { async function onsocket(socket: WebSocket) { socket.binaryType = "arraybuffer" - const target = await Deno.connect({ hostname: "127.0.0.1", port: 44330, transport: "tcp" }) + const target = await Deno.connect({ hostname: "127.0.0.1", port: 9001, transport: "tcp" }) socket.addEventListener("message", async e => { try { diff --git a/tsconfig.json b/tsconfig.json index f93c49d..c1f53d2 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,13 +1,13 @@ { "compilerOptions": { - "target": "ES2016", + "target": "ESNext", "baseUrl": "./src", "module": "NodeNext", "moduleResolution": "NodeNext", "strict": true, "downlevelIteration": true, "lib": [ - "dom", + "DOM", "ESNext" ], "paths": { @@ -17,20 +17,11 @@ "libs/*": [ "libs/*" ], - }, - "plugins": [ - { - "transform": "typescript-transform-paths" - }, - { - "transform": "typescript-transform-paths", - "afterDeclarations": true - } - ] + "tests/*": [ + "tests/*" + ], + } }, - "exclude": [ - "node_modules" - ], "include": [ "./src/index.ts", "./src/index.test.ts"