diff --git a/.eslintrc.js b/.eslintrc.js index 26449f93..eeadccf0 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,10 +1,10 @@ module.exports = { - parser: "@babel/eslint-parser", + parser: '@babel/eslint-parser', env: { - node: true, + node: true }, - extends: ["eslint:recommended", "plugin:node/recommended"], + extends: ['eslint:recommended', 'plugin:node/recommended'], rules: { - "node/no-unpublished-require": 0, - }, + 'node/no-unpublished-require': 0 + } }; diff --git a/.github/workflows/gh_pages.yaml b/.github/workflows/gh_pages.yml similarity index 94% rename from .github/workflows/gh_pages.yaml rename to .github/workflows/gh_pages.yml index 78409d83..a26cc262 100644 --- a/.github/workflows/gh_pages.yaml +++ b/.github/workflows/gh_pages.yml @@ -19,10 +19,10 @@ jobs: ref: soroban path: js-stellar-base - - name: Install Node (14.x) + - name: Install Node 16 uses: actions/setup-node@v2 with: - node-version: '14.x' + node-version: 16 - name: Install Dependencies run: yarn install diff --git a/.github/workflows/npm_publish.yml b/.github/workflows/npm_publish.yml index 5c508a62..90e138ba 100644 --- a/.github/workflows/npm_publish.yml +++ b/.github/workflows/npm_publish.yml @@ -13,7 +13,7 @@ jobs: - name: Install Node uses: actions/setup-node@v3 with: - node-version: '14.x' + node-version: 16 registry-url: 'https://registry.npmjs.org' - name: Install Depencencies diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index f9299d8a..a46901fd 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -13,7 +13,7 @@ jobs: fail-fast: false max-parallel: 4 matrix: - node-version: [14, 16, 18] + node-version: [16, 18, 20] steps: - name: Checkout diff --git a/CHANGELOG.md b/CHANGELOG.md index ad3ad7de..0684b8da 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,18 +8,29 @@ A breaking change should be clearly marked in this log. ## Unreleased +## v0.11.0 + +### Fixed +* The `SimulateTransactionResponse`'s error field now has the correct type (that is, `string`: [#123](https://github.com/stellar/js-soroban-client/pull/123)). +* Many irrelevant or unused dependencies have been eliminated (such as `eventsource`, `lodash`, and others), lowering overall bundle size ([#126](https://github.com/stellar/js-soroban-client/pull/126)). + +### Added +* A new `ContractSpec` class to facilitate building native JavaScript structures from custom contract types. Given a specification for the data structure (i.e. `xdr.ScSpecEntry[]`), it will interpret the values via the specified type ([#115](https://github.com/stellar/js-soroban-client/pull/115)). + ### Breaking Changes * The minimum supported NodeJS version is now Node 16. -* `Server.prepareTransaction` now returns a `TransactionBuilder` instance rather than an immutable `Transaction`, in order to facilitate modifying your transaction after assembling it alongside the simulation response ([https://github.com/stellar/js-soroban-client/pull/127](#127)). +* `Server.prepareTransaction` now returns a `TransactionBuilder` instance rather than an immutable `Transaction`, in order to facilitate modifying your transaction after assembling it alongside the simulation response ([#127](https://github.com/stellar/js-soroban-client/pull/127)). - The intent is to avoid cloning the transaction again (via `TransactionBuilder.cloneFrom`) if you need to modify parameters such as the storage access footprint. - To migrate your code, just call `.build()` on the return value. -* The RPC response schemas for simulation (see `Server.simulateTransaction()`) have been upgraded to parse the base64-encoded XDR automatically. The full interface changes are in the pull request ([https://github.com/stellar/js-soroban-client/pull/127](#127)), but succinctly: +* The RPC response schemas for simulation (see `Server.simulateTransaction()`) have been upgraded to parse the base64-encoded XDR automatically. The full interface changes are in the pull request ([#127](https://github.com/stellar/js-soroban-client/pull/127)), but succinctly: - `SimulateTransactionResponse` -> `RawSimulateTransactionResponse` - `SimulateHostFunctionResult` -> `RawSimulateHostFunctionResult` - Now, `SimulateTransactionResponse` and `SimulateHostFunctionResult` include the full, decoded XDR structures instead of raw, base64-encoded strings for the relevant fields (e.g. `SimulateTransactionResponse.transactionData` is now an instance of `SorobanDataBuilder`, `events` is now an `xdr.DiagnosticEvent[]` [try out `humanizeEvents` for a friendlier representation of this field]). - The `SimulateTransactionResponse.results[]` field has been moved to `SimulateTransactionResponse.result?`, since there will always be exactly zero or one result. -* The RPC response schemas for retrieving transaction details (`Server.getTransaction()`) have been upgraded to parse the base64-encoded XDR automatically. The full interface changes are in the pull request ([https://github.com/stellar/js-soroban-client/pull/129](#129)), but succinctly: +* The `GetTransactionStatus` is now an `enum` with actual values rather than a `type` ([#129](https://github.com/stellar/js-soroban-client/pull/129)). +* The RPC response schemas for retrieving transaction details (`Server.getTransaction()`) have been upgraded to parse the base64-encoded XDR automatically. The full interface changes are in the pull request ([#129](https://github.com/stellar/js-soroban-client/pull/129)), but succinctly: - `GetTransactionResponse` -> `RawGetTransactionResponse` + - `GetTransactionResponse` is now one of `GetSuccessfulTransactionResponse | GetFailedTransactionResponse | GetMissingTransactionResponse`, which gives proper typing to the interface depending on the response's `status` field. - All of the `*Xdr` properties are now full, decoded XDR structures. - There is a new `returnValue` field which is a decoded `xdr.ScVal`, present iff the transaction was a successful Soroban function invocation. @@ -29,14 +40,14 @@ Not all schemas have been broken in this manner in order to facilitate user feed ## v0.10.1 ### Fixed -* The `stellar-base` dependency has been upgraded to fix a TypeScript bug ([#665](https://github.com/stellar/js-stellar-base/pull/665)). +* The `stellar-base` dependency has been upgraded to fix a TypeScript bug ([js-stellar-base#665](https://github.com/stellar/js-stellar-base/pull/665)). * Decreased bundle size by refactoring `assembleTransaction` to use new abstractions from `stellar-base` ([#120](https://github.com/stellar/js-soroban-client/pull/120)). ## v0.10.0 ### Breaking Changes -* We have dropped all support for the deprecated hex-encoded contract ID format ([#117](https://github.com/stellar/js-soroban-client/pull/117), [#658](https://github.com/stellar/js-stellar-base/pull/658)). +* We have dropped all support for the deprecated hex-encoded contract ID format ([#117](https://github.com/stellar/js-soroban-client/pull/117), [js-stellar-base#658](https://github.com/stellar/js-stellar-base/pull/658)). You should use the well-supported `C...` strkey format, instead. To migrate, you can do something like diff --git a/README.md b/README.md index 77e591d7..617b8162 100644 --- a/README.md +++ b/README.md @@ -133,16 +133,16 @@ cd js-soroban-client yarn install ``` -3. Install Node 14 +3. Install Node 16 -Because we support the latest maintenance version of Node, please install and develop on Node 14 so you don't get surprised when your code works locally but breaks in CI. +Because we support the latest maintenance version of Node, please install and develop on Node 16 so you don't get surprised when your code works locally but breaks in CI. Here's how to install `nvm` if you haven't: https://github.com/creationix/nvm ```shell nvm install -# if you've never installed 14 before you'll want to re-install yarn +# if you've never installed 16 before you'll want to re-install yarn yarn install -g yarn ``` diff --git a/babel.config.json b/babel.config.json index be37815c..dfc0f3e5 100644 --- a/babel.config.json +++ b/babel.config.json @@ -5,7 +5,8 @@ "@babel/typescript" ], "targets": { - "browsers": [ "> 2%" ] // target modern browsers and ES6 + "browsers": [ "> 2%" ], // target modern browsers and ES6 + "node": 16 }, "env": { "development": { @@ -14,7 +15,7 @@ "production": { "comments": false, "targets": { - "node": 14, + // smaller feature set for prod bundle "browsers": [ "> 2%", "ie 11", diff --git a/karma.conf.js b/karma.conf.js index 45194057..e25dc3d8 100644 --- a/karma.conf.js +++ b/karma.conf.js @@ -1,4 +1,4 @@ -const webpackConfig = require("./webpack.config.browser.js"); +const webpackConfig = require('./webpack.config.browser.js'); delete webpackConfig.output; delete webpackConfig.entry; // karma fills these in @@ -6,33 +6,33 @@ webpackConfig.plugins.shift(); // drop eslinter plugin module.exports = function (config) { config.set({ - frameworks: ["mocha", "sinon-chai"], - browsers: ["FirefoxHeadless", "ChromeHeadless"], + frameworks: ['mocha', 'sinon-chai'], + browsers: ['FirefoxHeadless', 'ChromeHeadless'], files: [ - "./dist/soroban-client.js", // webpack should build this first - "./test/test-browser.js", - "./test/unit/**/*.js", + './dist/soroban-client.js', // webpack should build this first + './test/test-browser.js', + './test/unit/**/*.js' ], preprocessors: { - "./test/**/*.js": ["webpack"], + './test/**/*.js': ['webpack'] }, webpack: webpackConfig, webpackMiddleware: { - noInfo: true, + noInfo: true }, colors: true, singleRun: true, - reporters: ["dots", "coverage"], + reporters: ['dots', 'coverage'], coverageReporter: { - type: "text-summary", + type: 'text-summary', instrumenterOptions: { - istanbul: { noCompact: true }, - }, - }, + istanbul: { noCompact: true } + } + } }); }; diff --git a/package.json b/package.json index bec4221e..3a173d37 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ "_build": "yarn build:node && yarn build:browser", "_babel": "babel --extensions '.ts' --out-dir lib/ src/", "_nyc": "nyc --nycrc-path .nycrc", - "_prettier": "prettier --ignore-path .prettierignore --write './**/*.js'" + "_prettier": "prettier --config prettier.config.js --ignore-path .prettierignore --write './**/*.js'" }, "husky": { "hooks": { @@ -77,26 +77,22 @@ ] }, "devDependencies": { - "@babel/cli": "^7.22.9", - "@babel/core": "^7.22.9", - "@babel/eslint-parser": "^7.22.9", - "@babel/eslint-plugin": "^7.22.5", - "@babel/preset-env": "^7.22.9", + "@babel/cli": "^7.22.10", + "@babel/core": "^7.22.10", + "@babel/eslint-parser": "^7.22.10", + "@babel/eslint-plugin": "^7.22.10", + "@babel/preset-env": "^7.22.10", "@babel/preset-typescript": "^7.22.5", "@babel/register": "^7.22.5", - "@definitelytyped/dtslint": "^0.0.163", + "@definitelytyped/dtslint": "^0.0.166", "@istanbuljs/nyc-config-babel": "3.0.0", "@stellar/tsconfig": "^1.0.2", "@types/chai": "^4.3.5", - "@types/detect-node": "^2.0.0", - "@types/eventsource": "^1.1.2", - "@types/lodash": "^4.14.197", "@types/mocha": "^10.0.1", - "@types/node": "^20.4.2", - "@types/randombytes": "^2.0.0", + "@types/node": "^20.5.1", "@types/sinon": "^10.0.16", "@types/urijs": "^1.19.6", - "@typescript-eslint/parser": "^5.60.1", + "@typescript-eslint/parser": "^6.4.1", "axios-mock-adapter": "^1.21.5", "babel-loader": "^9.1.2", "babel-plugin-istanbul": "^6.1.1", @@ -104,13 +100,13 @@ "chai-as-promised": "^7.1.1", "chai-http": "^4.4.0", "cross-env": "^7.0.3", - "eslint": "^8.45.0", + "eslint": "^8.47.0", "eslint-config-airbnb-base": "^15.0.0", - "eslint-config-prettier": "^8.8.0", - "eslint-plugin-import": "^2.25.2", + "eslint-config-prettier": "^9.0.0", + "eslint-plugin-import": "^2.28.1", "eslint-plugin-node": "^11.1.0", "eslint-plugin-prefer-import": "^0.0.1", - "eslint-plugin-prettier": "^4.2.1", + "eslint-plugin-prettier": "^5.0.0", "eslint-webpack-plugin": "^4.0.1", "ghooks": "^2.0.4", "husky": "^8.0.3", @@ -123,13 +119,12 @@ "karma-mocha": "^2.0.0", "karma-sinon-chai": "^2.0.2", "karma-webpack": "^5.0.0", - "lint-staged": "^13.2.3", + "lint-staged": "^14.0.1", "minami": "^1.1.1", "mocha": "^10.2.0", "node-polyfill-webpack-plugin": "^2.0.1", "nyc": "^15.1.0", - "prettier": "^2.8.8", - "randombytes": "^2.1.0", + "prettier": "^3.0.2", "sinon": "^15.2.0", "sinon-chai": "^3.7.0", "taffydb": "^2.7.3", @@ -144,13 +139,7 @@ "axios": "^1.4.0", "bignumber.js": "^9.1.1", "buffer": "^6.0.3", - "detect-node": "^2.0.4", - "es6-promise": "^4.2.4", - "eventsource": "^2.0.2", - "lodash": "^4.17.21", - "randombytes": "^2.1.0", "stellar-base": "10.0.0-soroban.7", - "toml": "^3.0.0", "urijs": "^1.19.1" } } diff --git a/prettier.config.js b/prettier.config.js new file mode 100644 index 00000000..40f1444d --- /dev/null +++ b/prettier.config.js @@ -0,0 +1,13 @@ +module.exports = { + arrowParens: 'always', + bracketSpacing: true, + bracketSameLine: false, + printWidth: 80, + proseWrap: 'always', + semi: true, + singleQuote: true, + tabWidth: 2, + parser: 'babel', + trailingComma: 'none', + useTabs: false +}; diff --git a/src/.eslintrc.js b/src/.eslintrc.js index 2dff00d7..9d226df1 100644 --- a/src/.eslintrc.js +++ b/src/.eslintrc.js @@ -1,42 +1,42 @@ module.exports = { env: { - es6: true, + es6: true }, - parser: "@babel/eslint-parser", - extends: ["airbnb-base", "prettier"], - plugins: ["prettier", "prefer-import"], + parser: '@babel/eslint-parser', + extends: ['airbnb-base', 'prettier'], + plugins: ['prettier', 'prefer-import'], rules: { // OFF - "import/prefer-default-export": 0, - "node/no-unsupported-features/es-syntax": 0, - "node/no-unsupported-features/es-builtins": 0, + 'import/prefer-default-export': 0, + 'node/no-unsupported-features/es-syntax': 0, + 'node/no-unsupported-features/es-builtins': 0, camelcase: 0, - "class-methods-use-this": 0, - "linebreak-style": 0, - "new-cap": 0, - "no-param-reassign": 0, - "no-underscore-dangle": 0, - "no-use-before-define": 0, - "prefer-destructuring": 0, - "lines-between-class-members": 0, + 'class-methods-use-this': 0, + 'linebreak-style': 0, + 'new-cap': 0, + 'no-param-reassign': 0, + 'no-underscore-dangle': 0, + 'no-use-before-define': 0, + 'prefer-destructuring': 0, + 'lines-between-class-members': 0, // WARN - "prefer-import/prefer-import-over-require": [1], - "no-console": ["warn", { allow: ["assert"] }], - "no-debugger": 1, - "no-unused-vars": 1, - "arrow-body-style": 1, - "valid-jsdoc": [ + 'prefer-import/prefer-import-over-require': [1], + 'no-console': ['warn', { allow: ['assert'] }], + 'no-debugger': 1, + 'no-unused-vars': 1, + 'arrow-body-style': 1, + 'valid-jsdoc': [ 1, { - requireReturnDescription: false, - }, + requireReturnDescription: false + } ], - "prefer-const": 1, - "object-shorthand": 1, - "require-await": 1, + 'prefer-const': 1, + 'object-shorthand': 1, + 'require-await': 1, // ERROR - "no-unused-expressions": [2, { allowTaggedTemplates: true }], - }, + 'no-unused-expressions': [2, { allowTaggedTemplates: true }] + } }; diff --git a/src/index.ts b/src/index.ts index 48d6f096..8bc6dc97 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,8 +1,4 @@ -// tslint:disable-next-line: no-reference -/// - /* tslint:disable:no-var-requires */ -require("es6-promise").polyfill(); const version = require("../package.json").version; // Expose all types diff --git a/src/server.ts b/src/server.ts index b93a8f04..591b5d7b 100644 --- a/src/server.ts +++ b/src/server.ts @@ -1,7 +1,4 @@ /* tslint:disable:variable-name no-namespace */ - -import isEmpty from "lodash/isEmpty"; -import merge from "lodash/merge"; import { Account, Address, @@ -69,11 +66,10 @@ export class Server { if (opts.appVersion) { customHeaders["X-App-Version"] = opts.appVersion; } - if (!isEmpty(customHeaders)) { + if (Object.keys(customHeaders).length === 0) { AxiosClient.interceptors.request.use((config: any) => { - // merge the custom headers with an existing headers - config.headers = merge(customHeaders, config.headers); - + // merge the custom headers into any existing headers + config.headers = Object.assign(config.headers, customHeaders); return config; }); } diff --git a/src/transaction.ts b/src/transaction.ts index 02d5eeb8..04bfff68 100644 --- a/src/transaction.ts +++ b/src/transaction.ts @@ -13,8 +13,10 @@ import { SorobanRpc } from "./soroban_rpc"; * Combines the given raw transaction alongside the simulation results. * * @param raw the initial transaction, w/o simulation applied - * @param networkPassphrase the network this simulation applies to - * @param simulation the Soroban RPC simulation result + * @param networkPassphrase the network this simulation applies to (see + * {@link Networks} for options) + * @param simulation the Soroban RPC simulation result (see + * {@link Server.simulateTransaction}) * * @returns a new, cloned transaction with the proper auth and resource (fee, * footprint) simulation data applied @@ -55,9 +57,8 @@ export function assembleTransaction( throw new Error(`simulation incorrect: ${JSON.stringify(coalesced)}`); } - const classicFeeNum = parseInt(raw.fee); - const minResourceFeeNum = parseInt(coalesced.minResourceFee); - + const classicFeeNum = parseInt(raw.fee) || 0; + const minResourceFeeNum = parseInt(coalesced.minResourceFee) || 0; const txnBuilder = TransactionBuilder.cloneFrom(raw, { // automatically update the tx fee that will be set on the resulting tx to // the sum of 'classic' fee provided from incoming tx.fee and minResourceFee @@ -70,13 +71,13 @@ export function assembleTransaction( fee: (classicFeeNum + minResourceFeeNum).toString(), // apply the pre-built Soroban Tx Data from simulation onto the Tx sorobanData: coalesced.transactionData.build(), + networkPassphrase }); switch (raw.operations[0].type) { case "invokeHostFunction": // In this case, we don't want to clone the operation, so we drop it. - // @ts-ignore hack because `TransactionBuilder.operations` is private - txnBuilder.operations = []; + txnBuilder.clearOperations(); const invokeOp: Operation.InvokeHostFunction = raw.operations[0]; const existingAuth = invokeOp.auth ?? []; diff --git a/test/.eslintrc.js b/test/.eslintrc.js index 2311297a..65751831 100644 --- a/test/.eslintrc.js +++ b/test/.eslintrc.js @@ -1,7 +1,7 @@ module.exports = { - parser: "@babel/eslint-parser", + parser: '@babel/eslint-parser', env: { - mocha: true, + mocha: true }, globals: { AxiosClient: true, @@ -10,9 +10,9 @@ module.exports = { chai: true, expect: true, serverUrl: true, - sinon: true, + sinon: true }, rules: { - "no-unused-vars": 0, - }, + 'no-unused-vars': 0 + } }; diff --git a/test/integration/client_headers_test.js b/test/integration/client_headers_test.js index f82c4d7f..bf76ac20 100644 --- a/test/integration/client_headers_test.js +++ b/test/integration/client_headers_test.js @@ -1,19 +1,19 @@ -const http = require("http"); -const url = require("url"); +const http = require('http'); +const url = require('url'); const port = 3100; -describe("integration tests: client headers", function (done) { - if (typeof window !== "undefined") { +describe('integration tests: client headers', function (done) { + if (typeof window !== 'undefined') { done(); return; } - it("sends client via headers", function (done) { + it('sends client via headers', function (done) { let server; const requestHandler = (request, response) => { - expect(request.headers["x-client-name"]).to.be.equal("js-soroban-client"); - expect(request.headers["x-client-version"]).to.match( + expect(request.headers['x-client-name']).to.be.equal('js-soroban-client'); + expect(request.headers['x-client-version']).to.match( /^[0-9]+\.[0-9]+\.[0-9]+(-[a-z]+(\.[0-9])?)?$/ ); response.end(); @@ -28,7 +28,7 @@ describe("integration tests: client headers", function (done) { } new SorobanClient.Server(`http://localhost:${port}`, { - allowHttp: true, + allowHttp: true }).getHealth(); }); }); diff --git a/test/test-browser.js b/test/test-browser.js index dc99c273..b210a8b5 100644 --- a/test/test-browser.js +++ b/test/test-browser.js @@ -2,4 +2,4 @@ window.axios = SorobanClient.axios; window.AxiosClient = SorobanClient.AxiosClient; -window.serverUrl = "https://horizon-live.stellar.org:1337/api/v1/jsonrpc"; +window.serverUrl = 'https://horizon-live.stellar.org:1337/api/v1/jsonrpc'; diff --git a/test/test-nodejs.js b/test/test-nodejs.js index 76ed74c5..bae20102 100644 --- a/test/test-nodejs.js +++ b/test/test-nodejs.js @@ -1,17 +1,17 @@ /* eslint-disable no-undef */ -require("@babel/register"); -global.SorobanClient = require("../lib/"); +require('@babel/register'); +global.SorobanClient = require('../lib/'); -global.axios = require("axios"); +global.axios = require('axios'); global.AxiosClient = SorobanClient.AxiosClient; -global.serverUrl = "https://horizon-live.stellar.org:1337/api/v1/jsonrpc"; +global.serverUrl = 'https://horizon-live.stellar.org:1337/api/v1/jsonrpc'; -var chaiAsPromised = require("chai-as-promised"); -var chaiHttp = require("chai-http"); -global.chai = require("chai"); +var chaiAsPromised = require('chai-as-promised'); +var chaiHttp = require('chai-http'); +global.chai = require('chai'); global.chai.should(); global.chai.use(chaiAsPromised); global.chai.use(chaiHttp); global.expect = global.chai.expect; -global.sinon = require("sinon"); +global.sinon = require('sinon'); diff --git a/test/unit/browser_test.js b/test/unit/browser_test.js index eea4c482..426573f4 100644 --- a/test/unit/browser_test.js +++ b/test/unit/browser_test.js @@ -1,7 +1,7 @@ -describe("Browser version tests", function () { - it("lodash is not exported globally", function () { - if (typeof window !== "undefined") { - expect(typeof _ === "undefined").to.be.true; +describe('Browser version tests', function () { + it('lodash is not exported globally', function () { + if (typeof window !== 'undefined') { + expect(typeof _ === 'undefined').to.be.true; } }); }); diff --git a/test/unit/horizon_axios_client_test.js b/test/unit/horizon_axios_client_test.js index a9a0275c..a3a9253e 100644 --- a/test/unit/horizon_axios_client_test.js +++ b/test/unit/horizon_axios_client_test.js @@ -1,7 +1,7 @@ const SERVER_TIME_MAP = SorobanClient.SERVER_TIME_MAP; const getCurrentServerTime = SorobanClient.getCurrentServerTime; -describe("getCurrentServerTime", () => { +describe('getCurrentServerTime', () => { let clock; beforeEach(() => { @@ -13,28 +13,28 @@ describe("getCurrentServerTime", () => { clock.restore(); }); - it("returns null when the hostname hasnt been hit", () => { - expect(getCurrentServerTime("host")).to.be.null; + it('returns null when the hostname hasnt been hit', () => { + expect(getCurrentServerTime('host')).to.be.null; }); - it("returns null when no time is available", () => { + it('returns null when no time is available', () => { SERVER_TIME_MAP.host = {}; - expect(getCurrentServerTime("host")).to.be.null; + expect(getCurrentServerTime('host')).to.be.null; }); - it("returns null when the old time is too old", () => { + it('returns null when the old time is too old', () => { SERVER_TIME_MAP.host = { serverTime: 10, - localTimeRecorded: 5, + localTimeRecorded: 5 }; - expect(getCurrentServerTime("host")).to.be.null; + expect(getCurrentServerTime('host')).to.be.null; }); - it("returns the delta between then and now", () => { + it('returns the delta between then and now', () => { SERVER_TIME_MAP.host = { serverTime: 10, - localTimeRecorded: 5005, + localTimeRecorded: 5005 }; - expect(getCurrentServerTime("host")).to.equal(55); + expect(getCurrentServerTime('host')).to.equal(55); }); }); diff --git a/test/unit/server/constructor_test.js b/test/unit/server/constructor_test.js index a528d94a..09741acf 100644 --- a/test/unit/server/constructor_test.js +++ b/test/unit/server/constructor_test.js @@ -1,6 +1,6 @@ -const MockAdapter = require("axios-mock-adapter"); +const MockAdapter = require('axios-mock-adapter'); -describe("Server.constructor", function () { +describe('Server.constructor', function () { beforeEach(function () { this.server = new SorobanClient.Server(serverUrl); this.axiosMock = sinon.mock(AxiosClient); @@ -11,15 +11,15 @@ describe("Server.constructor", function () { this.axiosMock.restore(); }); - let insecureServerUrl = serverUrl.replace("https://", "http://"); + let insecureServerUrl = serverUrl.replace('https://', 'http://'); - it("throws error for insecure server", function () { + it('throws error for insecure server', function () { expect(() => new SorobanClient.Server(insecureServerUrl)).to.throw( /Cannot connect to insecure soroban-rpc server/ ); }); - it("allow insecure server when opts.allowHttp flag is set", function () { + it('allow insecure server when opts.allowHttp flag is set', function () { expect( () => new SorobanClient.Server(insecureServerUrl, { allowHttp: true }) ).to.not.throw(); diff --git a/test/unit/server/get_account_test.js b/test/unit/server/get_account_test.js index 346c588c..28381569 100644 --- a/test/unit/server/get_account_test.js +++ b/test/unit/server/get_account_test.js @@ -1,6 +1,6 @@ -const MockAdapter = require("axios-mock-adapter"); +const MockAdapter = require('axios-mock-adapter'); -describe("Server#getAccount", function () { +describe('Server#getAccount', function () { const { Account, StrKey, xdr } = SorobanClient; beforeEach(function () { @@ -13,27 +13,27 @@ describe("Server#getAccount", function () { this.axiosMock.restore(); }); - it("requests the correct method", function (done) { - const address = "GBZXN7PIRZGNMHGA7MUUUF4GWPY5AYPV6LY4UV2GL6VJGIQRXFDNMADI"; + it('requests the correct method', function (done) { + const address = 'GBZXN7PIRZGNMHGA7MUUUF4GWPY5AYPV6LY4UV2GL6VJGIQRXFDNMADI'; const accountId = xdr.PublicKey.publicKeyTypeEd25519( StrKey.decodeEd25519PublicKey(address) ); this.axiosMock - .expects("post") + .expects('post') .withArgs(serverUrl, { - jsonrpc: "2.0", + jsonrpc: '2.0', id: 1, - method: "getLedgerEntries", + method: 'getLedgerEntries', params: [ [ xdr.LedgerKey.account( new xdr.LedgerKeyAccount({ - accountId, + accountId }) - ).toXDR("base64"), - ], - ], + ).toXDR('base64') + ] + ] }) .returns( Promise.resolve({ @@ -41,15 +41,15 @@ describe("Server#getAccount", function () { result: { entries: [ { - xdr: "AAAAAAAAAABzdv3ojkzWHMD7KUoXhrPx0GH18vHKV0ZfqpMiEblG1g3gtpoE608YAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAQAAAAAY9D8iA", - }, - ], - }, - }, + xdr: 'AAAAAAAAAABzdv3ojkzWHMD7KUoXhrPx0GH18vHKV0ZfqpMiEblG1g3gtpoE608YAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAQAAAAAY9D8iA' + } + ] + } + } }) ); - const expected = new Account(address, "1"); + const expected = new Account(address, '1'); this.server .getAccount(address) .then(function (response) { @@ -59,42 +59,42 @@ describe("Server#getAccount", function () { .catch(done); }); - it("throws a useful error when the account is not found", function (done) { - const address = "GBZXN7PIRZGNMHGA7MUUUF4GWPY5AYPV6LY4UV2GL6VJGIQRXFDNMADI"; + it('throws a useful error when the account is not found', function (done) { + const address = 'GBZXN7PIRZGNMHGA7MUUUF4GWPY5AYPV6LY4UV2GL6VJGIQRXFDNMADI'; const accountId = xdr.PublicKey.publicKeyTypeEd25519( StrKey.decodeEd25519PublicKey(address) ); this.axiosMock - .expects("post") + .expects('post') .withArgs(serverUrl, { - jsonrpc: "2.0", + jsonrpc: '2.0', id: 1, - method: "getLedgerEntries", + method: 'getLedgerEntries', params: [ [ xdr.LedgerKey.account( new xdr.LedgerKeyAccount({ - accountId, + accountId }) - ).toXDR("base64"), - ], - ], + ).toXDR('base64') + ] + ] }) .returns( Promise.resolve({ data: { result: { - entries: null, - }, - }, + entries: null + } + } }) ); this.server .getAccount(address) .then(function (_) { - done(new Error("Expected error to be thrown")); + done(new Error('Expected error to be thrown')); }) .catch(function (err) { done( diff --git a/test/unit/server/get_contract_data_test.js b/test/unit/server/get_contract_data_test.js index a3b014a1..43548259 100644 --- a/test/unit/server/get_contract_data_test.js +++ b/test/unit/server/get_contract_data_test.js @@ -1,8 +1,8 @@ -const MockAdapter = require("axios-mock-adapter"); +const MockAdapter = require('axios-mock-adapter'); const xdr = SorobanClient.xdr; const Address = SorobanClient.Address; -describe("Server#getContractData", function () { +describe('Server#getContractData', function () { beforeEach(function () { this.server = new SorobanClient.Server(serverUrl); this.axiosMock = sinon.mock(AxiosClient); @@ -13,23 +13,23 @@ describe("Server#getContractData", function () { this.axiosMock.restore(); }); - let address = "CCJZ5DGASBWQXR5MPFCJXMBI333XE5U3FSJTNQU7RIKE3P5GN2K2WYD5"; + let address = 'CCJZ5DGASBWQXR5MPFCJXMBI333XE5U3FSJTNQU7RIKE3P5GN2K2WYD5'; let key = SorobanClient.xdr.ScVal.scvVec([ - SorobanClient.xdr.ScVal.scvSymbol("Admin"), + SorobanClient.xdr.ScVal.scvSymbol('Admin') ]); - it("key found", function (done) { + it('key found', function (done) { let result = { id: address, - sequence: "1", + sequence: '1' }; this.axiosMock - .expects("post") + .expects('post') .withArgs(serverUrl, { - jsonrpc: "2.0", + jsonrpc: '2.0', id: 1, - method: "getLedgerEntries", + method: 'getLedgerEntries', params: [ [ xdr.LedgerKey.contractData( @@ -39,24 +39,24 @@ describe("Server#getContractData", function () { .toScAddress(), key, durability: xdr.ContractDataDurability.persistent(), - bodyType: xdr.ContractEntryBodyType.dataEntry(), + bodyType: xdr.ContractEntryBodyType.dataEntry() }) - ).toXDR("base64"), - ], - ], + ).toXDR('base64') + ] + ] }) .returns( Promise.resolve({ data: { result: { - entries: [result], - }, - }, + entries: [result] + } + } }) ); this.server - .getContractData(address, key, "persistent") + .getContractData(address, key, 'persistent') .then(function (response) { expect(response).to.be.deep.equal(result); done(); @@ -66,13 +66,13 @@ describe("Server#getContractData", function () { }); }); - it("key not found", function (done) { + it('key not found', function (done) { this.axiosMock - .expects("post") + .expects('post') .withArgs(serverUrl, { - jsonrpc: "2.0", + jsonrpc: '2.0', id: 1, - method: "getLedgerEntries", + method: 'getLedgerEntries', params: [ [ xdr.LedgerKey.contractData( @@ -82,32 +82,32 @@ describe("Server#getContractData", function () { .toScAddress(), key, durability: xdr.ContractDataDurability.temporary(), - bodyType: xdr.ContractEntryBodyType.dataEntry(), + bodyType: xdr.ContractEntryBodyType.dataEntry() }) - ).toXDR("base64"), - ], - ], + ).toXDR('base64') + ] + ] }) .returns(Promise.resolve({ data: { result: { entries: [] } } })); this.server - .getContractData(address, key, "temporary") + .getContractData(address, key, 'temporary') .then(function (_response) { - done(new Error("Expected error")); + done(new Error('Expected error')); }) .catch(function (err) { done( err.code == 404 ? null - : new Error("Expected error code 404, got: " + err.code) + : new Error('Expected error code 404, got: ' + err.code) ); }); }); - it("fails on hex address (was deprecated now unsupported)", function (done) { - let hexAddress = "0".repeat(63) + "1"; + it('fails on hex address (was deprecated now unsupported)', function (done) { + let hexAddress = '0'.repeat(63) + '1'; this.server - .getContractData(hexAddress, key, "persistent") + .getContractData(hexAddress, key, 'persistent') .then((reply) => done(new Error(`should fail, got: ${reply}`))) .catch((error) => { expect(error).to.contain(/unsupported contract id/i); diff --git a/test/unit/server/get_events_test.js b/test/unit/server/get_events_test.js index c53645e7..97a44cc1 100644 --- a/test/unit/server/get_events_test.js +++ b/test/unit/server/get_events_test.js @@ -1,6 +1,6 @@ -const MockAdapter = require("axios-mock-adapter"); +const MockAdapter = require('axios-mock-adapter'); -describe("Server#getEvents", function () { +describe('Server#getEvents', function () { beforeEach(function () { this.server = new SorobanClient.Server(serverUrl); this.axiosMock = sinon.mock(AxiosClient); @@ -11,14 +11,14 @@ describe("Server#getEvents", function () { this.axiosMock.restore(); }); - it("requests the correct endpoint", function (done) { + it('requests the correct endpoint', function (done) { let result = { events: [] }; setupMock( this.axiosMock, { filters: [], pagination: {}, - startLedger: "1", + startLedger: '1' }, result ); @@ -34,19 +34,19 @@ describe("Server#getEvents", function () { }); }); - it("can build wildcard filters", function (done) { - let result = filterEvents(getEventsResponseFixture, "*/*"); + it('can build wildcard filters', function (done) { + let result = filterEvents(getEventsResponseFixture, '*/*'); setupMock( this.axiosMock, { - startLedger: "1", + startLedger: '1', filters: [ { - topics: [["*", "*"]], - }, + topics: [['*', '*']] + } ], - pagination: {}, + pagination: {} }, result ); @@ -56,9 +56,9 @@ describe("Server#getEvents", function () { startLedger: 1, filters: [ { - topics: [["*", "*"]], - }, - ], + topics: [['*', '*']] + } + ] }) .then(function (response) { expect(response).to.be.deep.equal(result); @@ -67,22 +67,22 @@ describe("Server#getEvents", function () { .catch(done); }); - it("can build matching filters", function (done) { + it('can build matching filters', function (done) { let result = filterEvents( getEventsResponseFixture, - "AAAABQAAAAh0cmFuc2Zlcg==/AAAAAQB6Mcc=" + 'AAAABQAAAAh0cmFuc2Zlcg==/AAAAAQB6Mcc=' ); setupMock( this.axiosMock, { - startLedger: "1", + startLedger: '1', filters: [ { - topics: [["AAAABQAAAAh0cmFuc2Zlcg==", "AAAAAQB6Mcc="]], - }, + topics: [['AAAABQAAAAh0cmFuc2Zlcg==', 'AAAAAQB6Mcc=']] + } ], - pagination: {}, + pagination: {} }, result ); @@ -92,9 +92,9 @@ describe("Server#getEvents", function () { startLedger: 1, filters: [ { - topics: [["AAAABQAAAAh0cmFuc2Zlcg==", "AAAAAQB6Mcc="]], - }, - ], + topics: [['AAAABQAAAAh0cmFuc2Zlcg==', 'AAAAAQB6Mcc=']] + } + ] }) .then(function (response) { expect(response).to.be.deep.equal(result); @@ -103,22 +103,22 @@ describe("Server#getEvents", function () { .catch(done); }); - it("can build mixed filters", function (done) { + it('can build mixed filters', function (done) { let result = filterEventsByLedger( - filterEvents(getEventsResponseFixture, "AAAABQAAAAh0cmFuc2Zlcg==/*"), + filterEvents(getEventsResponseFixture, 'AAAABQAAAAh0cmFuc2Zlcg==/*'), 1 ); setupMock( this.axiosMock, { - startLedger: "1", + startLedger: '1', filters: [ { - topics: [["AAAABQAAAAh0cmFuc2Zlcg==", "*"]], - }, + topics: [['AAAABQAAAAh0cmFuc2Zlcg==', '*']] + } ], - pagination: {}, + pagination: {} }, result ); @@ -128,9 +128,9 @@ describe("Server#getEvents", function () { startLedger: 1, filters: [ { - topics: [["AAAABQAAAAh0cmFuc2Zlcg==", "*"]], - }, - ], + topics: [['AAAABQAAAAh0cmFuc2Zlcg==', '*']] + } + ] }) .then(function (response) { expect(response).to.be.deep.equal(result); @@ -139,9 +139,9 @@ describe("Server#getEvents", function () { .catch(done); }); - it("can paginate", function (done) { + it('can paginate', function (done) { let result = filterEventsByLedger( - filterEvents(getEventsResponseFixture, "*/*"), + filterEvents(getEventsResponseFixture, '*/*'), 1 ); @@ -150,13 +150,13 @@ describe("Server#getEvents", function () { { filters: [ { - topics: [["*", "*"]], - }, + topics: [['*', '*']] + } ], pagination: { limit: 10, - cursor: "0164090849041387521-0000000000", - }, + cursor: '0164090849041387521-0000000000' + } }, result ); @@ -165,11 +165,11 @@ describe("Server#getEvents", function () { .getEvents({ filters: [ { - topics: [["*", "*"]], - }, + topics: [['*', '*']] + } ], - cursor: "0164090849041387521-0000000000", - limit: 10, + cursor: '0164090849041387521-0000000000', + limit: 10 }) .then(function (response) { expect(response).to.be.deep.equal(result); @@ -183,7 +183,7 @@ function filterEvents(events, filter) { return events.filter( (e, i) => e.topic.length == filter.length && - e.topic.every((s, j) => s === filter[j] || s === "*") + e.topic.every((s, j) => s === filter[j] || s === '*') ); } @@ -195,71 +195,71 @@ function filterEventsByLedger(events, start) { function setupMock(axiosMock, params, result) { axiosMock - .expects("post") + .expects('post') .withArgs(serverUrl, { - jsonrpc: "2.0", + jsonrpc: '2.0', id: 1, - method: "getEvents", - params: params, + method: 'getEvents', + params: params }) .returns(Promise.resolve({ data: { result } })); } let getEventsResponseFixture = [ { - type: "system", - ledger: "1", - ledgerClosedAt: "2022-11-16T16:10:41Z", + type: 'system', + ledger: '1', + ledgerClosedAt: '2022-11-16T16:10:41Z', contractId: - "e3e82a76cc316f6289fd1ffbdf315da0f2c6be9582b84b9983a402f02ea0fff7", - id: "0164090849041387521-0000000003", - pagingToken: "164090849041387521-3", - topic: ["AAAABQAAAAh0cmFuc2Zlcg==", "AAAAAQB6Mcc="], + 'e3e82a76cc316f6289fd1ffbdf315da0f2c6be9582b84b9983a402f02ea0fff7', + id: '0164090849041387521-0000000003', + pagingToken: '164090849041387521-3', + topic: ['AAAABQAAAAh0cmFuc2Zlcg==', 'AAAAAQB6Mcc='], inSuccessfulContractCall: true, value: { - xdr: "AAAABQAAAApHaWJNb255UGxzAAA=", - }, + xdr: 'AAAABQAAAApHaWJNb255UGxzAAA=' + } }, { - type: "contract", - ledger: "2", - ledgerClosedAt: "2022-11-16T16:10:41Z", + type: 'contract', + ledger: '2', + ledgerClosedAt: '2022-11-16T16:10:41Z', contractId: - "e3e82a76cc316f6289fd1ffbdf315da0f2c6be9582b84b9983a402f02ea0fff7", - id: "0164090849041387521-0000000003", - pagingToken: "164090849041387521-3", - topic: ["AAAAAQB6Mcc=", "AAAABQAAAAh0cmFuc2Zlcg=="], + 'e3e82a76cc316f6289fd1ffbdf315da0f2c6be9582b84b9983a402f02ea0fff7', + id: '0164090849041387521-0000000003', + pagingToken: '164090849041387521-3', + topic: ['AAAAAQB6Mcc=', 'AAAABQAAAAh0cmFuc2Zlcg=='], inSuccessfulContractCall: true, value: { - xdr: "AAAABQAAAApHaWJNb255UGxzAAA=", - }, + xdr: 'AAAABQAAAApHaWJNb255UGxzAAA=' + } }, { - type: "diagnostic", - ledger: "2", - ledgerClosedAt: "2022-11-16T16:10:41Z", + type: 'diagnostic', + ledger: '2', + ledgerClosedAt: '2022-11-16T16:10:41Z', contractId: - "a3e82a76cc316f6289fd1ffbdf315da0f2c6be9582b84b9983a402f02ea0fff7", - id: "0164090849041387521-0000000003", - pagingToken: "164090849041387521-3", + 'a3e82a76cc316f6289fd1ffbdf315da0f2c6be9582b84b9983a402f02ea0fff7', + id: '0164090849041387521-0000000003', + pagingToken: '164090849041387521-3', inSuccessfulContractCall: true, - topic: ["AAAAAQB6Mcc="], + topic: ['AAAAAQB6Mcc='], value: { - xdr: "AAAABQAAAApHaWJNb255UGxzAAA=", - }, + xdr: 'AAAABQAAAApHaWJNb255UGxzAAA=' + } }, { - type: "contract", - ledger: "3", - ledgerClosedAt: "2022-12-14T01:01:20Z", + type: 'contract', + ledger: '3', + ledgerClosedAt: '2022-12-14T01:01:20Z', contractId: - "6ebe0114ae15f72f187f05d06dcb66b22bd97218755c9b4646b034ab961fc1d5", - id: "0000000171798695936-0000000001", - pagingToken: "0000000171798695936-0000000001", + '6ebe0114ae15f72f187f05d06dcb66b22bd97218755c9b4646b034ab961fc1d5', + id: '0000000171798695936-0000000001', + pagingToken: '0000000171798695936-0000000001', inSuccessfulContractCall: true, - topic: ["AAAABQAAAAdDT1VOVEVSAA==", "AAAABQAAAAlpbmNyZW1lbnQAAAA="], + topic: ['AAAABQAAAAdDT1VOVEVSAA==', 'AAAABQAAAAlpbmNyZW1lbnQAAAA='], value: { - xdr: "AAAAAQAAAAE=", - }, - }, + xdr: 'AAAAAQAAAAE=' + } + } ]; diff --git a/test/unit/server/get_health_test.js b/test/unit/server/get_health_test.js index 4d18c2b2..eb86b030 100644 --- a/test/unit/server/get_health_test.js +++ b/test/unit/server/get_health_test.js @@ -1,6 +1,6 @@ -const MockAdapter = require("axios-mock-adapter"); +const MockAdapter = require('axios-mock-adapter'); -describe("Server#getHealth", function () { +describe('Server#getHealth', function () { beforeEach(function () { this.server = new SorobanClient.Server(serverUrl); this.axiosMock = sinon.mock(AxiosClient); @@ -11,18 +11,18 @@ describe("Server#getHealth", function () { this.axiosMock.restore(); }); - it("requests the correct endpoint", function (done) { + it('requests the correct endpoint', function (done) { let result = { - status: "healthy", + status: 'healthy' }; this.axiosMock - .expects("post") + .expects('post') .withArgs(serverUrl, { - jsonrpc: "2.0", + jsonrpc: '2.0', id: 1, - method: "getHealth", - params: null, + method: 'getHealth', + params: null }) .returns(Promise.resolve({ data: { result } })); diff --git a/test/unit/server/get_latest_ledger_test.js b/test/unit/server/get_latest_ledger_test.js index 6ad072ec..f96e84b6 100644 --- a/test/unit/server/get_latest_ledger_test.js +++ b/test/unit/server/get_latest_ledger_test.js @@ -1,6 +1,6 @@ -const MockAdapter = require("axios-mock-adapter"); +const MockAdapter = require('axios-mock-adapter'); -describe("Server#getLatestLedger", function () { +describe('Server#getLatestLedger', function () { beforeEach(function () { this.server = new SorobanClient.Server(serverUrl); this.axiosMock = sinon.mock(AxiosClient); @@ -11,19 +11,19 @@ describe("Server#getLatestLedger", function () { this.axiosMock.restore(); }); - it("requests the correct method", function (done) { + it('requests the correct method', function (done) { const result = { - id: "hashed_id", + id: 'hashed_id', sequence: 123, - protocolVersion: 20, + protocolVersion: 20 }; this.axiosMock - .expects("post") + .expects('post') .withArgs(serverUrl, { - jsonrpc: "2.0", + jsonrpc: '2.0', id: 1, - method: "getLatestLedger", - params: null, + method: 'getLatestLedger', + params: null }) .returns(Promise.resolve({ data: { result } })); diff --git a/test/unit/server/get_network_test.js b/test/unit/server/get_network_test.js index 0c68333f..ecf9225c 100644 --- a/test/unit/server/get_network_test.js +++ b/test/unit/server/get_network_test.js @@ -1,6 +1,6 @@ -const MockAdapter = require("axios-mock-adapter"); +const MockAdapter = require('axios-mock-adapter'); -describe("Server#getNetwork", function () { +describe('Server#getNetwork', function () { beforeEach(function () { this.server = new SorobanClient.Server(serverUrl); this.axiosMock = sinon.mock(AxiosClient); @@ -11,19 +11,19 @@ describe("Server#getNetwork", function () { this.axiosMock.restore(); }); - it("requests the correct method", function (done) { + it('requests the correct method', function (done) { const result = { - friendbotUrl: "https://friendbot.stellar.org", - passphrase: "Soroban Testnet ; December 2018", - protocolVersion: 20, + friendbotUrl: 'https://friendbot.stellar.org', + passphrase: 'Soroban Testnet ; December 2018', + protocolVersion: 20 }; this.axiosMock - .expects("post") + .expects('post') .withArgs(serverUrl, { - jsonrpc: "2.0", + jsonrpc: '2.0', id: 1, - method: "getNetwork", - params: null, + method: 'getNetwork', + params: null }) .returns(Promise.resolve({ data: { result } })); diff --git a/test/unit/server/get_transaction_test.js b/test/unit/server/get_transaction_test.js index 0eac532c..a0872d6e 100644 --- a/test/unit/server/get_transaction_test.js +++ b/test/unit/server/get_transaction_test.js @@ -5,14 +5,14 @@ const { Server, TransactionBuilder, nativeToScVal, - XdrLargeInt, + XdrLargeInt } = SorobanClient; -describe("Server#getTransaction", function () { +describe('Server#getTransaction', function () { let keypair = Keypair.random(); let account = new SorobanClient.Account( keypair.publicKey(), - "56199647068161" + '56199647068161' ); beforeEach(function () { @@ -21,14 +21,14 @@ describe("Server#getTransaction", function () { let transaction = new TransactionBuilder(account, { fee: 100, networkPassphrase: SorobanClient.Networks.TESTNET, - v1: true, + v1: true }) .addOperation( SorobanClient.Operation.payment({ destination: - "GASOCNHNNLYFNMDJYQ3XFMI7BYHIOCFW3GJEOWRPEGK2TDPGTG2E5EDW", + 'GASOCNHNNLYFNMDJYQ3XFMI7BYHIOCFW3GJEOWRPEGK2TDPGTG2E5EDW', asset: SorobanClient.Asset.native(), - amount: "100.50", + amount: '100.50' }) ) .setTimeout(SorobanClient.TimeoutInfinite) @@ -36,16 +36,16 @@ describe("Server#getTransaction", function () { transaction.sign(keypair); this.transaction = transaction; - this.hash = this.transaction.hash().toString("hex"); - this.blob = transaction.toEnvelope().toXDR().toString("base64"); + this.hash = this.transaction.hash().toString('hex'); + this.blob = transaction.toEnvelope().toXDR().toString('base64'); this.prepareAxios = (result) => { this.axiosMock - .expects("post") + .expects('post') .withArgs(serverUrl, { - jsonrpc: "2.0", + jsonrpc: '2.0', id: 1, - method: "getTransaction", - params: [this.hash], + method: 'getTransaction', + params: [this.hash] }) .returns(Promise.resolve({ data: { id: 1, result } })); }; @@ -56,8 +56,8 @@ describe("Server#getTransaction", function () { this.axiosMock.restore(); }); - it("transaction not found", function (done) { - const result = makeTxResult("NOT_FOUND"); + it('transaction not found', function (done) { + const result = makeTxResult('NOT_FOUND'); this.prepareAxios(result); this.server @@ -69,17 +69,17 @@ describe("Server#getTransaction", function () { .catch((err) => done(err)); }); - it("transaction success", function (done) { - const result = makeTxResult("SUCCESS", true); + it('transaction success', function (done) { + const result = makeTxResult('SUCCESS', true); this.prepareAxios(result); let expected = JSON.parse(JSON.stringify(result)); [ - ["envelopeXdr", xdr.TransactionEnvelope], - ["resultXdr", xdr.TransactionResult], - ["resultMetaXdr", xdr.TransactionMeta], + ['envelopeXdr', xdr.TransactionEnvelope], + ['resultXdr', xdr.TransactionResult], + ['resultMetaXdr', xdr.TransactionMeta] ].forEach(([field, struct]) => { - expected[field] = struct.fromXDR(result[field], "base64"); + expected[field] = struct.fromXDR(result[field], 'base64'); }); expected.returnValue = expected.resultMetaXdr .v3() @@ -91,14 +91,14 @@ describe("Server#getTransaction", function () { .then((resp) => { expect(Object.keys(resp)).to.eql(Object.keys(expected)); expect(resp).to.eql(expected); - expect(resp.returnValue).to.eql(new XdrLargeInt("u64", 1234).toScVal()); + expect(resp.returnValue).to.eql(new XdrLargeInt('u64', 1234).toScVal()); done(); }) .catch((err) => done(err)); }); - xit("non-Soroban transaction success", function (done) { - const result = makeTxResult("SUCCESS", false); + xit('non-Soroban transaction success', function (done) { + const result = makeTxResult('SUCCESS', false); this.prepareAxios(result); this.server @@ -110,8 +110,8 @@ describe("Server#getTransaction", function () { .catch((err) => done(err)); }); - xit("transaction pending", function (done) {}); - xit("transaction error", function (done) {}); + xit('transaction pending', function (done) {}); + xit('transaction error', function (done) {}); }); function makeTxResult(status, addSoroban = true) { @@ -126,8 +126,8 @@ function makeTxResult(status, addSoroban = true) { ext: new xdr.ExtensionPoint(0), events: [], diagnosticEvents: [], - returnValue: nativeToScVal(1234), - }), + returnValue: nativeToScVal(1234) + }) }) ); @@ -141,16 +141,16 @@ function makeTxResult(status, addSoroban = true) { applicationOrder: 2, feeBump: false, envelopeXdr: - "AAAAAgAAAAAT/LQZdYz0FcQ4Xwyg8IM17rkUx3pPCCWLu+SowQ/T+gBLB24poiQa9iwAngAAAAEAAAAAAAAAAAAAAABkwdeeAAAAAAAAAAEAAAABAAAAAC/9E8hDhnktyufVBS5tqA734Yz5XrLX2XNgBgH/YEkiAAAADQAAAAAAAAAAAAA1/gAAAAAv/RPIQ4Z5Lcrn1QUubagO9+GM+V6y19lzYAYB/2BJIgAAAAAAAAAAAAA1/gAAAAQAAAACU0lMVkVSAAAAAAAAAAAAAFDutWuu6S6UPJBrotNSgfmXa27M++63OT7TYn1qjgy+AAAAAVNHWAAAAAAAUO61a67pLpQ8kGui01KB+Zdrbsz77rc5PtNifWqODL4AAAACUEFMTEFESVVNAAAAAAAAAFDutWuu6S6UPJBrotNSgfmXa27M++63OT7TYn1qjgy+AAAAAlNJTFZFUgAAAAAAAAAAAABQ7rVrrukulDyQa6LTUoH5l2tuzPvutzk+02J9ao4MvgAAAAAAAAACwQ/T+gAAAEA+ztVEKWlqHXNnqy6FXJeHr7TltHzZE6YZm5yZfzPIfLaqpp+5cyKotVkj3d89uZCQNsKsZI48uoyERLne+VwL/2BJIgAAAEA7323gPSaezVSa7Vi0J4PqsnklDH1oHLqNBLwi5EWo5W7ohLGObRVQZ0K0+ufnm4hcm9J4Cuj64gEtpjq5j5cM", + 'AAAAAgAAAAAT/LQZdYz0FcQ4Xwyg8IM17rkUx3pPCCWLu+SowQ/T+gBLB24poiQa9iwAngAAAAEAAAAAAAAAAAAAAABkwdeeAAAAAAAAAAEAAAABAAAAAC/9E8hDhnktyufVBS5tqA734Yz5XrLX2XNgBgH/YEkiAAAADQAAAAAAAAAAAAA1/gAAAAAv/RPIQ4Z5Lcrn1QUubagO9+GM+V6y19lzYAYB/2BJIgAAAAAAAAAAAAA1/gAAAAQAAAACU0lMVkVSAAAAAAAAAAAAAFDutWuu6S6UPJBrotNSgfmXa27M++63OT7TYn1qjgy+AAAAAVNHWAAAAAAAUO61a67pLpQ8kGui01KB+Zdrbsz77rc5PtNifWqODL4AAAACUEFMTEFESVVNAAAAAAAAAFDutWuu6S6UPJBrotNSgfmXa27M++63OT7TYn1qjgy+AAAAAlNJTFZFUgAAAAAAAAAAAABQ7rVrrukulDyQa6LTUoH5l2tuzPvutzk+02J9ao4MvgAAAAAAAAACwQ/T+gAAAEA+ztVEKWlqHXNnqy6FXJeHr7TltHzZE6YZm5yZfzPIfLaqpp+5cyKotVkj3d89uZCQNsKsZI48uoyERLne+VwL/2BJIgAAAEA7323gPSaezVSa7Vi0J4PqsnklDH1oHLqNBLwi5EWo5W7ohLGObRVQZ0K0+ufnm4hcm9J4Cuj64gEtpjq5j5cM', resultXdr: - "AAAAAAAAAGQAAAAAAAAAAQAAAAAAAAANAAAAAAAAAAUAAAACZ4W6fmN63uhVqYRcHET+D2NEtJvhCIYflFh9GqtY+AwAAAACU0lMVkVSAAAAAAAAAAAAAFDutWuu6S6UPJBrotNSgfmXa27M++63OT7TYn1qjgy+AAAYW0toL2gAAAAAAAAAAAAANf4AAAACcgyAkXD5kObNTeRYciLh7R6ES/zzKp0n+cIK3Y6TjBkAAAABU0dYAAAAAABQ7rVrrukulDyQa6LTUoH5l2tuzPvutzk+02J9ao4MvgAAGlGnIJrXAAAAAlNJTFZFUgAAAAAAAAAAAABQ7rVrrukulDyQa6LTUoH5l2tuzPvutzk+02J9ao4MvgAAGFtLaC9oAAAAApmc7UgUBInrDvij8HMSridx2n1w3I8TVEn4sLr1LSpmAAAAAlBBTExBRElVTQAAAAAAAABQ7rVrrukulDyQa6LTUoH5l2tuzPvutzk+02J9ao4MvgAAIUz88EqYAAAAAVNHWAAAAAAAUO61a67pLpQ8kGui01KB+Zdrbsz77rc5PtNifWqODL4AABpRpyCa1wAAAAKYUsaaCZ233xB1p+lG7YksShJWfrjsmItbokiR3ifa0gAAAAJTSUxWRVIAAAAAAAAAAAAAUO61a67pLpQ8kGui01KB+Zdrbsz77rc5PtNifWqODL4AABv52PPa5wAAAAJQQUxMQURJVU0AAAAAAAAAUO61a67pLpQ8kGui01KB+Zdrbsz77rc5PtNifWqODL4AACFM/PBKmAAAAAJnhbp+Y3re6FWphFwcRP4PY0S0m+EIhh+UWH0aq1j4DAAAAAAAAAAAAAA9pAAAAAJTSUxWRVIAAAAAAAAAAAAAUO61a67pLpQ8kGui01KB+Zdrbsz77rc5PtNifWqODL4AABv52PPa5wAAAAAv/RPIQ4Z5Lcrn1QUubagO9+GM+V6y19lzYAYB/2BJIgAAAAAAAAAAAAA9pAAAAAA=", - resultMetaXdr: metaV3.toXDR("base64"), + 'AAAAAAAAAGQAAAAAAAAAAQAAAAAAAAANAAAAAAAAAAUAAAACZ4W6fmN63uhVqYRcHET+D2NEtJvhCIYflFh9GqtY+AwAAAACU0lMVkVSAAAAAAAAAAAAAFDutWuu6S6UPJBrotNSgfmXa27M++63OT7TYn1qjgy+AAAYW0toL2gAAAAAAAAAAAAANf4AAAACcgyAkXD5kObNTeRYciLh7R6ES/zzKp0n+cIK3Y6TjBkAAAABU0dYAAAAAABQ7rVrrukulDyQa6LTUoH5l2tuzPvutzk+02J9ao4MvgAAGlGnIJrXAAAAAlNJTFZFUgAAAAAAAAAAAABQ7rVrrukulDyQa6LTUoH5l2tuzPvutzk+02J9ao4MvgAAGFtLaC9oAAAAApmc7UgUBInrDvij8HMSridx2n1w3I8TVEn4sLr1LSpmAAAAAlBBTExBRElVTQAAAAAAAABQ7rVrrukulDyQa6LTUoH5l2tuzPvutzk+02J9ao4MvgAAIUz88EqYAAAAAVNHWAAAAAAAUO61a67pLpQ8kGui01KB+Zdrbsz77rc5PtNifWqODL4AABpRpyCa1wAAAAKYUsaaCZ233xB1p+lG7YksShJWfrjsmItbokiR3ifa0gAAAAJTSUxWRVIAAAAAAAAAAAAAUO61a67pLpQ8kGui01KB+Zdrbsz77rc5PtNifWqODL4AABv52PPa5wAAAAJQQUxMQURJVU0AAAAAAAAAUO61a67pLpQ8kGui01KB+Zdrbsz77rc5PtNifWqODL4AACFM/PBKmAAAAAJnhbp+Y3re6FWphFwcRP4PY0S0m+EIhh+UWH0aq1j4DAAAAAAAAAAAAAA9pAAAAAJTSUxWRVIAAAAAAAAAAAAAUO61a67pLpQ8kGui01KB+Zdrbsz77rc5PtNifWqODL4AABv52PPa5wAAAAAv/RPIQ4Z5Lcrn1QUubagO9+GM+V6y19lzYAYB/2BJIgAAAAAAAAAAAAA9pAAAAAA=', + resultMetaXdr: metaV3.toXDR('base64') }; if (!addSoroban) { // replace the V3 Soroban meta with a "classic" V2 version successInfo.resultMetaXdr = - "AAAAAgAAAAIAAAADAtL5awAAAAAAAAAAS0CFMhOtWUKJWerx66zxkxORaiH6/3RUq7L8zspD5RoAAAAAAcm9QAKVkpMAAHpMAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAwAAAAAC0vi5AAAAAGTB02oAAAAAAAAAAQLS+WsAAAAAAAAAAEtAhTITrVlCiVnq8eus8ZMTkWoh+v90VKuy/M7KQ+UaAAAAAAHJvUAClZKTAAB6TQAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAMAAAAAAtL5awAAAABkwdd1AAAAAAAAAAEAAAAGAAAAAwLS+VQAAAACAAAAAG4cwu71zHNXx3jHCzRGOIthcnfwRgfN2f/AoHFLLMclAAAAAEySDkgAAAAAAAAAAkJVU0lORVNTAAAAAAAAAAC3JfDeo9vreItKNPoe74EkFIqWybeUQNFvLvURhHtskAAAAAAeQtHTL5f6TAAAXH0AAAAAAAAAAAAAAAAAAAABAtL5awAAAAIAAAAAbhzC7vXMc1fHeMcLNEY4i2Fyd/BGB83Z/8CgcUssxyUAAAAATJIOSAAAAAAAAAACQlVTSU5FU1MAAAAAAAAAALcl8N6j2+t4i0o0+h7vgSQUipbJt5RA0W8u9RGEe2yQAAAAAB5C0dNHf4CAAACLCQAAAAAAAAAAAAAAAAAAAAMC0vlUAAAAAQAAAABuHMLu9cxzV8d4xws0RjiLYXJ38EYHzdn/wKBxSyzHJQAAAAJCVVNJTkVTUwAAAAAAAAAAtyXw3qPb63iLSjT6Hu+BJBSKlsm3lEDRby71EYR7bJAAAAAAAABAL3//////////AAAAAQAAAAEAE3H3TnhnuQAAAAAAAAAAAAAAAAAAAAAAAAABAtL5awAAAAEAAAAAbhzC7vXMc1fHeMcLNEY4i2Fyd/BGB83Z/8CgcUssxyUAAAACQlVTSU5FU1MAAAAAAAAAALcl8N6j2+t4i0o0+h7vgSQUipbJt5RA0W8u9RGEe2yQAAAAAAAAQC9//////////wAAAAEAAAABABNx9J6Z4RkAAAAAAAAAAAAAAAAAAAAAAAAAAwLS+WsAAAAAAAAAAG4cwu71zHNXx3jHCzRGOIthcnfwRgfN2f/AoHFLLMclAAAAH37+zXQCXdRTAAASZAAAApIAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAEAAABbBXKIigAAABhZWyiOAAAAAgAAAAAAAAAAAAAAAAAAAAMAAAAAAtL0awAAAABkwbqrAAAAAAAAAAEC0vlrAAAAAAAAAABuHMLu9cxzV8d4xws0RjiLYXJ38EYHzdn/wKBxSyzHJQAAAB9+/s10Al3UUwAAEmQAAAKSAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAABAAAAWwVyiIoAAAAYWVsojgAAAAIAAAAAAAAAAAAAAAAAAAADAAAAAALS9GsAAAAAZMG6qwAAAAAAAAAA"; + 'AAAAAgAAAAIAAAADAtL5awAAAAAAAAAAS0CFMhOtWUKJWerx66zxkxORaiH6/3RUq7L8zspD5RoAAAAAAcm9QAKVkpMAAHpMAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAwAAAAAC0vi5AAAAAGTB02oAAAAAAAAAAQLS+WsAAAAAAAAAAEtAhTITrVlCiVnq8eus8ZMTkWoh+v90VKuy/M7KQ+UaAAAAAAHJvUAClZKTAAB6TQAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAMAAAAAAtL5awAAAABkwdd1AAAAAAAAAAEAAAAGAAAAAwLS+VQAAAACAAAAAG4cwu71zHNXx3jHCzRGOIthcnfwRgfN2f/AoHFLLMclAAAAAEySDkgAAAAAAAAAAkJVU0lORVNTAAAAAAAAAAC3JfDeo9vreItKNPoe74EkFIqWybeUQNFvLvURhHtskAAAAAAeQtHTL5f6TAAAXH0AAAAAAAAAAAAAAAAAAAABAtL5awAAAAIAAAAAbhzC7vXMc1fHeMcLNEY4i2Fyd/BGB83Z/8CgcUssxyUAAAAATJIOSAAAAAAAAAACQlVTSU5FU1MAAAAAAAAAALcl8N6j2+t4i0o0+h7vgSQUipbJt5RA0W8u9RGEe2yQAAAAAB5C0dNHf4CAAACLCQAAAAAAAAAAAAAAAAAAAAMC0vlUAAAAAQAAAABuHMLu9cxzV8d4xws0RjiLYXJ38EYHzdn/wKBxSyzHJQAAAAJCVVNJTkVTUwAAAAAAAAAAtyXw3qPb63iLSjT6Hu+BJBSKlsm3lEDRby71EYR7bJAAAAAAAABAL3//////////AAAAAQAAAAEAE3H3TnhnuQAAAAAAAAAAAAAAAAAAAAAAAAABAtL5awAAAAEAAAAAbhzC7vXMc1fHeMcLNEY4i2Fyd/BGB83Z/8CgcUssxyUAAAACQlVTSU5FU1MAAAAAAAAAALcl8N6j2+t4i0o0+h7vgSQUipbJt5RA0W8u9RGEe2yQAAAAAAAAQC9//////////wAAAAEAAAABABNx9J6Z4RkAAAAAAAAAAAAAAAAAAAAAAAAAAwLS+WsAAAAAAAAAAG4cwu71zHNXx3jHCzRGOIthcnfwRgfN2f/AoHFLLMclAAAAH37+zXQCXdRTAAASZAAAApIAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAEAAABbBXKIigAAABhZWyiOAAAAAgAAAAAAAAAAAAAAAAAAAAMAAAAAAtL0awAAAABkwbqrAAAAAAAAAAEC0vlrAAAAAAAAAABuHMLu9cxzV8d4xws0RjiLYXJ38EYHzdn/wKBxSyzHJQAAAB9+/s10Al3UUwAAEmQAAAKSAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAABAAAAWwVyiIoAAAAYWVsojgAAAAIAAAAAAAAAAAAAAAAAAAADAAAAAALS9GsAAAAAZMG6qwAAAAAAAAAA'; } return { @@ -159,6 +159,6 @@ function makeTxResult(status, addSoroban = true) { latestLedgerCloseTime: 12345, oldestLedger: 50, oldestLedgerCloseTime: 500, - ...(status === "SUCCESS" && successInfo), + ...(status === 'SUCCESS' && successInfo) }; } diff --git a/test/unit/server/request_airdrop_test.js b/test/unit/server/request_airdrop_test.js index 84281242..eed91ad9 100644 --- a/test/unit/server/request_airdrop_test.js +++ b/test/unit/server/request_airdrop_test.js @@ -1,6 +1,6 @@ -const MockAdapter = require("axios-mock-adapter"); +const MockAdapter = require('axios-mock-adapter'); -describe("Server#requestAirdrop", function () { +describe('Server#requestAirdrop', function () { const { Account, StrKey, xdr } = SorobanClient; function accountLedgerEntryData(accountId, sequence) { @@ -9,16 +9,16 @@ describe("Server#requestAirdrop", function () { accountId: xdr.AccountId.publicKeyTypeEd25519( StrKey.decodeEd25519PublicKey(accountId) ), - balance: xdr.Int64.fromString("1"), + balance: xdr.Int64.fromString('1'), seqNum: xdr.SequenceNumber.fromString(sequence), numSubEntries: 0, inflationDest: null, flags: 0, - homeDomain: "", + homeDomain: '', // Taken from a real response. idk. - thresholds: Buffer.from("AQAAAA==", "base64"), + thresholds: Buffer.from('AQAAAA==', 'base64'), signers: [], - ext: new xdr.AccountEntryExt(0), + ext: new xdr.AccountEntryExt(0) }) ); } @@ -32,11 +32,11 @@ describe("Server#requestAirdrop", function () { new xdr.LedgerEntry({ lastModifiedLedgerSeq: 0, data: accountLedgerEntryData(accountId, sequence), - ext: new xdr.LedgerEntryExt(0), + ext: new xdr.LedgerEntryExt(0) }) - ), - ], - }), + ) + ] + }) ]); return meta; } @@ -54,38 +54,38 @@ describe("Server#requestAirdrop", function () { function mockGetNetwork(friendbotUrl) { const result = { friendbotUrl, - passphrase: "Soroban Testnet ; December 2018", - protocolVersion: 20, + passphrase: 'Soroban Testnet ; December 2018', + protocolVersion: 20 }; this.axiosMock - .expects("post") + .expects('post') .withArgs(serverUrl, { - jsonrpc: "2.0", + jsonrpc: '2.0', id: 1, - method: "getNetwork", - params: null, + method: 'getNetwork', + params: null }) .returns(Promise.resolve({ data: { result } })); } - it("returns true when the account is created", function (done) { - const friendbotUrl = "https://friendbot.stellar.org"; + it('returns true when the account is created', function (done) { + const friendbotUrl = 'https://friendbot.stellar.org'; const accountId = - "GBZXN7PIRZGNMHGA7MUUUF4GWPY5AYPV6LY4UV2GL6VJGIQRXFDNMADI"; + 'GBZXN7PIRZGNMHGA7MUUUF4GWPY5AYPV6LY4UV2GL6VJGIQRXFDNMADI'; mockGetNetwork.call(this, friendbotUrl); - const result_meta_xdr = transactionMetaFor(accountId, "1234").toXDR( - "base64" + const result_meta_xdr = transactionMetaFor(accountId, '1234').toXDR( + 'base64' ); this.axiosMock - .expects("post") + .expects('post') .withArgs(`${friendbotUrl}?addr=${accountId}`) .returns(Promise.resolve({ data: { result_meta_xdr } })); this.server .requestAirdrop(accountId) .then(function (response) { - expect(response).to.be.deep.equal(new Account(accountId, "1234")); + expect(response).to.be.deep.equal(new Account(accountId, '1234')); done(); }) .catch(function (err) { @@ -93,42 +93,42 @@ describe("Server#requestAirdrop", function () { }); }); - it("returns false if the account already exists", function (done) { - const friendbotUrl = "https://friendbot.stellar.org"; + it('returns false if the account already exists', function (done) { + const friendbotUrl = 'https://friendbot.stellar.org'; const accountId = - "GBZXN7PIRZGNMHGA7MUUUF4GWPY5AYPV6LY4UV2GL6VJGIQRXFDNMADI"; + 'GBZXN7PIRZGNMHGA7MUUUF4GWPY5AYPV6LY4UV2GL6VJGIQRXFDNMADI'; mockGetNetwork.call(this, friendbotUrl); this.axiosMock - .expects("post") + .expects('post') .withArgs(`${friendbotUrl}?addr=${accountId}`) .returns( Promise.reject({ response: { status: 400, detail: - "createAccountAlreadyExist (AAAAAAAAAGT/////AAAAAQAAAAAAAAAA/////AAAAAA=)", - }, + 'createAccountAlreadyExist (AAAAAAAAAGT/////AAAAAQAAAAAAAAAA/////AAAAAA=)' + } }) ); this.axiosMock - .expects("post") + .expects('post') .withArgs(serverUrl, { - jsonrpc: "2.0", + jsonrpc: '2.0', id: 1, - method: "getLedgerEntries", + method: 'getLedgerEntries', params: [ [ xdr.LedgerKey.account( new xdr.LedgerKeyAccount({ accountId: xdr.PublicKey.publicKeyTypeEd25519( StrKey.decodeEd25519PublicKey(accountId) - ), + ) }) - ).toXDR("base64"), - ], - ], + ).toXDR('base64') + ] + ] }) .returns( Promise.resolve({ @@ -136,20 +136,18 @@ describe("Server#requestAirdrop", function () { result: { entries: [ { - xdr: accountLedgerEntryData(accountId, "1234").toXDR( - "base64" - ), - }, - ], - }, - }, + xdr: accountLedgerEntryData(accountId, '1234').toXDR('base64') + } + ] + } + } }) ); this.server .requestAirdrop(accountId) .then(function (response) { - expect(response).to.be.deep.equal(new Account(accountId, "1234")); + expect(response).to.be.deep.equal(new Account(accountId, '1234')); done(); }) .catch(function (err) { @@ -157,23 +155,23 @@ describe("Server#requestAirdrop", function () { }); }); - it("uses custom friendbotUrl if passed", function (done) { - const friendbotUrl = "https://custom-friendbot.stellar.org"; + it('uses custom friendbotUrl if passed', function (done) { + const friendbotUrl = 'https://custom-friendbot.stellar.org'; const accountId = - "GBZXN7PIRZGNMHGA7MUUUF4GWPY5AYPV6LY4UV2GL6VJGIQRXFDNMADI"; + 'GBZXN7PIRZGNMHGA7MUUUF4GWPY5AYPV6LY4UV2GL6VJGIQRXFDNMADI'; - const result_meta_xdr = transactionMetaFor(accountId, "1234").toXDR( - "base64" + const result_meta_xdr = transactionMetaFor(accountId, '1234').toXDR( + 'base64' ); this.axiosMock - .expects("post") + .expects('post') .withArgs(`${friendbotUrl}?addr=${accountId}`) .returns(Promise.resolve({ data: { result_meta_xdr } })); this.server .requestAirdrop(accountId, friendbotUrl) .then(function (response) { - expect(response).to.be.deep.equal(new Account(accountId, "1234")); + expect(response).to.be.deep.equal(new Account(accountId, '1234')); done(); }) .catch(function (err) { @@ -181,76 +179,76 @@ describe("Server#requestAirdrop", function () { }); }); - it("rejects invalid addresses", function (done) { - const friendbotUrl = "https://friendbot.stellar.org"; - const accountId = "addr&injected=1"; + it('rejects invalid addresses', function (done) { + const friendbotUrl = 'https://friendbot.stellar.org'; + const accountId = 'addr&injected=1'; mockGetNetwork.call(this, friendbotUrl); this.axiosMock - .expects("post") + .expects('post') .withArgs(`${friendbotUrl}?addr=addr%26injected%3D1`) .returns( Promise.reject({ response: { status: 400, - type: "https://stellar.org/horizon-errors/bad_request", - title: "Bad Request", - detail: "The request you sent was invalid in some way.", + type: 'https://stellar.org/horizon-errors/bad_request', + title: 'Bad Request', + detail: 'The request you sent was invalid in some way.', extras: { - invalid_field: "addr", + invalid_field: 'addr', reason: - "base32 decode failed: illegal base32 data at input byte 7", - }, - }, + 'base32 decode failed: illegal base32 data at input byte 7' + } + } }) ); this.server .requestAirdrop(accountId) .then(function (_) { - done(new Error("Should have thrown")); + done(new Error('Should have thrown')); }) .catch(function (err) { - expect(err.response.extras.reason).to.include("base32 decode failed"); + expect(err.response.extras.reason).to.include('base32 decode failed'); done(); }); }); - it("throws if there is no friendbotUrl set", function (done) { - const accountId = "addr&injected=1"; + it('throws if there is no friendbotUrl set', function (done) { + const accountId = 'addr&injected=1'; mockGetNetwork.call(this, undefined); this.server .requestAirdrop(accountId) .then(function (_) { - done(new Error("Should have thrown")); + done(new Error('Should have thrown')); }) .catch(function (err) { expect(err.message).to.be.equal( - "No friendbot URL configured for current network" + 'No friendbot URL configured for current network' ); done(); }); }); - it("throws if the request fails", function (done) { - const friendbotUrl = "https://friendbot.stellar.org"; + it('throws if the request fails', function (done) { + const friendbotUrl = 'https://friendbot.stellar.org'; const accountId = - "GBZXN7PIRZGNMHGA7MUUUF4GWPY5AYPV6LY4UV2GL6VJGIQRXFDNMADI"; + 'GBZXN7PIRZGNMHGA7MUUUF4GWPY5AYPV6LY4UV2GL6VJGIQRXFDNMADI'; mockGetNetwork.call(this, friendbotUrl); this.axiosMock - .expects("post") + .expects('post') .withArgs(`${friendbotUrl}?addr=${accountId}`) - .returns(Promise.reject(new Error("Request failed"))); + .returns(Promise.reject(new Error('Request failed'))); this.server .requestAirdrop(accountId) .then(function (_) { - done(new Error("Should have thrown")); + done(new Error('Should have thrown')); }) .catch(function (err) { - expect(err.message).to.be.equal("Request failed"); + expect(err.message).to.be.equal('Request failed'); done(); }); }); diff --git a/test/unit/server/send_transaction_test.js b/test/unit/server/send_transaction_test.js index 3e387be3..139105c9 100644 --- a/test/unit/server/send_transaction_test.js +++ b/test/unit/server/send_transaction_test.js @@ -1,8 +1,8 @@ -describe("Server#sendTransaction", function () { +describe('Server#sendTransaction', function () { let keypair = SorobanClient.Keypair.random(); let account = new SorobanClient.Account( keypair.publicKey(), - "56199647068161" + '56199647068161' ); beforeEach(function () { @@ -11,14 +11,14 @@ describe("Server#sendTransaction", function () { let transaction = new SorobanClient.TransactionBuilder(account, { fee: 100, networkPassphrase: SorobanClient.Networks.TESTNET, - v1: true, + v1: true }) .addOperation( SorobanClient.Operation.payment({ destination: - "GASOCNHNNLYFNMDJYQ3XFMI7BYHIOCFW3GJEOWRPEGK2TDPGTG2E5EDW", + 'GASOCNHNNLYFNMDJYQ3XFMI7BYHIOCFW3GJEOWRPEGK2TDPGTG2E5EDW', asset: SorobanClient.Asset.native(), - amount: "100.50", + amount: '100.50' }) ) .setTimeout(SorobanClient.TimeoutInfinite) @@ -26,8 +26,8 @@ describe("Server#sendTransaction", function () { transaction.sign(keypair); this.transaction = transaction; - this.hash = this.transaction.hash().toString("hex"); - this.blob = transaction.toEnvelope().toXDR().toString("base64"); + this.hash = this.transaction.hash().toString('hex'); + this.blob = transaction.toEnvelope().toXDR().toString('base64'); }); afterEach(function () { @@ -35,18 +35,18 @@ describe("Server#sendTransaction", function () { this.axiosMock.restore(); }); - it("sends a transaction", function (done) { + it('sends a transaction', function (done) { this.axiosMock - .expects("post") + .expects('post') .withArgs(serverUrl, { - jsonrpc: "2.0", + jsonrpc: '2.0', id: 1, - method: "sendTransaction", - params: [this.blob], + method: 'sendTransaction', + params: [this.blob] }) .returns( Promise.resolve({ - data: { id: 1, result: { id: this.hash, status: "PENDING" } }, + data: { id: 1, result: { id: this.hash, status: 'PENDING' } } }) ); @@ -59,11 +59,11 @@ describe("Server#sendTransaction", function () { done(err); }); }); - xit("adds metadata - tx was too small and was immediately deleted"); - xit("adds metadata, order immediately fills"); - xit("adds metadata, order is open"); - xit("adds metadata, partial fill"); - xit("doesnt add metadata to non-offers"); - xit("adds metadata about offers, even if some ops are not"); - xit("submits fee bump transactions"); + xit('adds metadata - tx was too small and was immediately deleted'); + xit('adds metadata, order immediately fills'); + xit('adds metadata, order is open'); + xit('adds metadata, partial fill'); + xit('doesnt add metadata to non-offers'); + xit('adds metadata about offers, even if some ops are not'); + xit('submits fee bump transactions'); }); diff --git a/test/unit/server/simulate_transaction_test.js b/test/unit/server/simulate_transaction_test.js index f866ef8e..b0462ba9 100644 --- a/test/unit/server/simulate_transaction_test.js +++ b/test/unit/server/simulate_transaction_test.js @@ -1,13 +1,13 @@ const xdr = SorobanClient.xdr; // shorthand -describe("Server#simulateTransaction", function () { +describe('Server#simulateTransaction', function () { let keypair = SorobanClient.Keypair.random(); let account = new SorobanClient.Account( keypair.publicKey(), - "56199647068161" + '56199647068161' ); - let contractId = "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM"; + let contractId = 'CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM'; let contract = new SorobanClient.Contract(contractId); let address = contract.address().toScAddress(); @@ -15,10 +15,10 @@ describe("Server#simulateTransaction", function () { id: 1, events: [], latestLedger: 3, - minResourceFee: "15", + minResourceFee: '15', transactionData: new SorobanClient.SorobanDataBuilder() .build() - .toXDR("base64"), + .toXDR('base64'), results: [ { auth: [ @@ -29,7 +29,7 @@ describe("Server#simulateTransaction", function () { address: address, nonce: new xdr.Int64(1234), signatureExpirationLedger: 1, - signatureArgs: [], + signatureArgs: [] }) ), // Basic fake invocation @@ -38,21 +38,21 @@ describe("Server#simulateTransaction", function () { xdr.SorobanAuthorizedFunction.sorobanAuthorizedFunctionTypeContractFn( new xdr.SorobanAuthorizedContractFunction({ contractAddress: address, - functionName: "test", - args: [], + functionName: 'test', + args: [] }) ), - subInvocations: [], - }), - }).toXDR("base64"), + subInvocations: [] + }) + }).toXDR('base64') ], - xdr: xdr.ScVal.scvU32(0).toXDR("base64"), - }, + xdr: xdr.ScVal.scvU32(0).toXDR('base64') + } ], cost: { - cpuInsns: "0", - memBytes: "0", - }, + cpuInsns: '0', + memBytes: '0' + } }; const parsedSimulationResponse = { @@ -65,30 +65,30 @@ describe("Server#simulateTransaction", function () { ), result: { auth: simulationResponse.results[0].auth.map((entry) => - xdr.SorobanAuthorizationEntry.fromXDR(entry, "base64") + xdr.SorobanAuthorizationEntry.fromXDR(entry, 'base64') ), - retval: xdr.ScVal.fromXDR(simulationResponse.results[0].xdr, "base64"), + retval: xdr.ScVal.fromXDR(simulationResponse.results[0].xdr, 'base64') }, - cost: simulationResponse.cost, + cost: simulationResponse.cost }; beforeEach(function () { this.server = new SorobanClient.Server(serverUrl); this.axiosMock = sinon.mock(AxiosClient); const source = new SorobanClient.Account( - "GBZXN7PIRZGNMHGA7MUUUF4GWPY5AYPV6LY4UV2GL6VJGIQRXFDNMADI", - "1" + 'GBZXN7PIRZGNMHGA7MUUUF4GWPY5AYPV6LY4UV2GL6VJGIQRXFDNMADI', + '1' ); function emptyContractTransaction() { return new SorobanClient.TransactionBuilder(source, { fee: 100, - networkPassphrase: "Test", - v1: true, + networkPassphrase: 'Test', + v1: true }) .addOperation( SorobanClient.Operation.invokeHostFunction({ func: new xdr.HostFunction.hostFunctionTypeInvokeContract([]), - auth: [], + auth: [] }) ) .setTimeout(SorobanClient.TimeoutInfinite) @@ -99,8 +99,8 @@ describe("Server#simulateTransaction", function () { transaction.sign(keypair); this.transaction = transaction; - this.hash = this.transaction.hash().toString("hex"); - this.blob = transaction.toEnvelope().toXDR().toString("base64"); + this.hash = this.transaction.hash().toString('hex'); + this.blob = transaction.toEnvelope().toXDR().toString('base64'); }); afterEach(function () { @@ -108,14 +108,14 @@ describe("Server#simulateTransaction", function () { this.axiosMock.restore(); }); - it("simulates a transaction", function (done) { + it('simulates a transaction', function (done) { this.axiosMock - .expects("post") + .expects('post') .withArgs(serverUrl, { - jsonrpc: "2.0", + jsonrpc: '2.0', id: 1, - method: "simulateTransaction", - params: [this.blob], + method: 'simulateTransaction', + params: [this.blob] }) .returns( Promise.resolve({ data: { id: 1, result: simulationResponse } }) @@ -132,7 +132,7 @@ describe("Server#simulateTransaction", function () { }); }); - it("works when there are no results", function () { + it('works when there are no results', function () { const simResponseCopy = JSON.parse(JSON.stringify(simulationResponse)); delete simResponseCopy.results; @@ -143,7 +143,7 @@ describe("Server#simulateTransaction", function () { expect(parsed).to.deep.equal(parsedCopy); }); - it("works with no auth", function () { + it('works with no auth', function () { const simResponseCopy = JSON.parse(JSON.stringify(simulationResponse)); delete simResponseCopy.results[0].auth; @@ -161,7 +161,7 @@ describe("Server#simulateTransaction", function () { expect(parsed).to.be.deep.equal(parsedCopy); }); - xit("simulates fee bump transactions"); + xit('simulates fee bump transactions'); }); function cloneSimulation(sim) { @@ -177,8 +177,8 @@ function cloneSimulation(sim) { auth: sim.result.auth.map((entry) => xdr.SorobanAuthorizationEntry.fromXDR(entry.toXDR()) ), - retval: xdr.ScVal.fromXDR(sim.result.retval.toXDR()), + retval: xdr.ScVal.fromXDR(sim.result.retval.toXDR()) }, - cost: sim.cost, + cost: sim.cost }; } diff --git a/test/unit/transaction_test.js b/test/unit/transaction_test.js index f0e49e2c..a7e13d53 100644 --- a/test/unit/transaction_test.js +++ b/test/unit/transaction_test.js @@ -1,10 +1,10 @@ const xdr = SorobanClient.xdr; // shorthand -describe("assembleTransaction", () => { - xit("works with keybump transactions"); +describe('assembleTransaction', () => { + xit('works with keybump transactions'); const scAddress = new SorobanClient.Address( - "GBZXN7PIRZGNMHGA7MUUUF4GWPY5AYPV6LY4UV2GL6VJGIQRXFDNMADI" + 'GBZXN7PIRZGNMHGA7MUUUF4GWPY5AYPV6LY4UV2GL6VJGIQRXFDNMADI' ).toScAddress(); const fnAuth = new xdr.SorobanAuthorizationEntry({ @@ -14,7 +14,7 @@ describe("assembleTransaction", () => { address: scAddress, nonce: new xdr.Int64(0), signatureExpirationLedger: 1, - signatureArgs: [], + signatureArgs: [] }) ), // And a basic invocation @@ -23,12 +23,12 @@ describe("assembleTransaction", () => { xdr.SorobanAuthorizedFunction.sorobanAuthorizedFunctionTypeContractFn( new xdr.SorobanAuthorizedContractFunction({ contractAddress: scAddress, - functionName: "fn", - args: [], + functionName: 'fn', + args: [] }) ), - subInvocations: [], - }), + subInvocations: [] + }) }).toXDR(); const sorobanTransactionData = new SorobanClient.SorobanDataBuilder() @@ -36,46 +36,46 @@ describe("assembleTransaction", () => { .build(); const simulationResponse = { - transactionData: sorobanTransactionData.toXDR("base64"), + transactionData: sorobanTransactionData.toXDR('base64'), events: [], - minResourceFee: "115", + minResourceFee: '115', results: [ { auth: [fnAuth], - xdr: xdr.ScVal.scvU32(0).toXDR("base64"), - }, + xdr: xdr.ScVal.scvU32(0).toXDR('base64') + } ], latestLedger: 3, cost: { - cpuInsns: "0", - memBytes: "0", - }, + cpuInsns: '0', + memBytes: '0' + } }; - describe("Transaction", () => { + describe('Transaction', () => { const networkPassphrase = SorobanClient.Networks.TESTNET; const source = new SorobanClient.Account( - "GBZXN7PIRZGNMHGA7MUUUF4GWPY5AYPV6LY4UV2GL6VJGIQRXFDNMADI", - "1" + 'GBZXN7PIRZGNMHGA7MUUUF4GWPY5AYPV6LY4UV2GL6VJGIQRXFDNMADI', + '1' ); function singleContractFnTransaction(auth) { return new SorobanClient.TransactionBuilder(source, { fee: 100, - networkPassphrase: "Test", - v1: true, + networkPassphrase: 'Test', + v1: true }) .addOperation( SorobanClient.Operation.invokeHostFunction({ func: new xdr.HostFunction.hostFunctionTypeInvokeContract([]), - auth: auth ?? [], + auth: auth ?? [] }) ) .setTimeout(SorobanClient.TimeoutInfinite) .build(); } - it("simulate updates the tx data from simulation response", () => { + it('simulate updates the tx data from simulation response', () => { const txn = singleContractFnTransaction(); const result = SorobanClient.assembleTransaction( txn, @@ -93,7 +93,7 @@ describe("assembleTransaction", () => { ); }); - it("simulate adds the auth to the host function in tx operation", () => { + it('simulate adds the auth to the host function in tx operation', () => { const txn = singleContractFnTransaction(); const result = SorobanClient.assembleTransaction( txn, @@ -115,7 +115,7 @@ describe("assembleTransaction", () => { .contractFn() .functionName() .toString() - ).to.equal("fn"); + ).to.equal('fn'); expect( SorobanClient.StrKey.encodeEd25519PublicKey( @@ -133,10 +133,10 @@ describe("assembleTransaction", () => { .accountId() .ed25519() ) - ).to.equal("GBZXN7PIRZGNMHGA7MUUUF4GWPY5AYPV6LY4UV2GL6VJGIQRXFDNMADI"); + ).to.equal('GBZXN7PIRZGNMHGA7MUUUF4GWPY5AYPV6LY4UV2GL6VJGIQRXFDNMADI'); }); - it("simulate ignores non auth from simulation", () => { + it('simulate ignores non auth from simulation', () => { const txn = singleContractFnTransaction(); let simulateResp = JSON.parse(JSON.stringify(simulationResponse)); simulateResp.results[0].auth = null; @@ -158,15 +158,15 @@ describe("assembleTransaction", () => { ).to.have.length(0); }); - it("throws for non-Soroban ops", () => { + it('throws for non-Soroban ops', () => { const txn = new SorobanClient.TransactionBuilder(source, { fee: 100, networkPassphrase, - v1: true, + v1: true }) .addOperation( SorobanClient.Operation.changeTrust({ - asset: SorobanClient.Asset.native(), + asset: SorobanClient.Asset.native() }) ) .setTimeout(SorobanClient.TimeoutInfinite) @@ -176,28 +176,28 @@ describe("assembleTransaction", () => { SorobanClient.assembleTransaction(txn, networkPassphrase, { transactionData: {}, events: [], - minResourceFee: "0", + minResourceFee: '0', results: [], - latestLedger: 3, + latestLedger: 3 }).build(); expect.fail(); }).to.throw(/unsupported transaction/i); }); - it("works for all Soroban ops", function () { + it('works for all Soroban ops', function () { [ SorobanClient.Operation.invokeHostFunction({ - func: xdr.HostFunction.hostFunctionTypeInvokeContract(), + func: xdr.HostFunction.hostFunctionTypeInvokeContract() }), SorobanClient.Operation.bumpFootprintExpiration({ - ledgersToExpire: 27, + ledgersToExpire: 27 }), - SorobanClient.Operation.restoreFootprint(), + SorobanClient.Operation.restoreFootprint() ].forEach((op) => { const txn = new SorobanClient.TransactionBuilder(source, { fee: 100, networkPassphrase, - v1: true, + v1: true }) .setTimeout(SorobanClient.TimeoutInfinite) .addOperation(op) diff --git a/types/dom-monkeypatch.d.ts b/types/dom-monkeypatch.d.ts deleted file mode 100644 index 1a2287ef..00000000 --- a/types/dom-monkeypatch.d.ts +++ /dev/null @@ -1,126 +0,0 @@ -/** - * Problem: stellar-sdk doesn't depend on browser env but the types do. - * Workaround: Copy/paste subset of interfaces from `dom.d.ts` (TS v3.4.5): - * - `MessageEvent` already comes from `eventsource`. - * - `EventListener` used at `src/call_builder.ts`. - * - `EventSource` used at `src/call_builder.ts`. - */ - -interface EventSourceEventMap { - error: Event; - message: MessageEvent; - open: Event; -} - -interface EventSource extends EventTarget { - onerror: ((this: EventSource, ev: Event) => any) | null; - onmessage: ((this: EventSource, ev: MessageEvent) => any) | null; - onopen: ((this: EventSource, ev: Event) => any) | null; - /** - * Returns the state of this EventSource object's connection. It can have the - * values described below. - */ - readonly readyState: number; - /** - * Returns the URL providing the event stream. - */ - readonly url: string; - /** - * Returns true if the credentials mode - * for connection requests to the URL providing the - * event stream is set to "include", and false otherwise. - */ - readonly withCredentials: boolean; - readonly CLOSED: number; - readonly CONNECTING: number; - readonly OPEN: number; - close(): void; - addEventListener( - type: K, - listener: (this: EventSource, ev: EventSourceEventMap[K]) => any, - options?: boolean | AddEventListenerOptions, - ): void; - addEventListener( - type: string, - listener: EventListener | EventListenerObject, - options?: boolean | AddEventListenerOptions, - ): void; - removeEventListener( - type: K, - listener: (this: EventSource, ev: EventSourceEventMap[K]) => any, - options?: boolean | EventListenerOptions, - ): void; - removeEventListener( - type: string, - listener: EventListener | EventListenerObject, - options?: boolean | EventListenerOptions, - ): void; -} - -interface EventListener { - // tslint:disable-next-line: callable-types - (evt: Event): void; -} - -interface EventListenerObject { - handleEvent(evt: Event): void; -} - -interface EventListenerOptions { - capture?: boolean; -} - -interface AddEventListenerOptions extends EventListenerOptions { - once?: boolean; - passive?: boolean; -} - -/** EventTarget is an interface implemented by objects that can receive events and may have listeners for them. */ -interface EventTarget { - /** - * Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched. - * The options argument sets listener-specific options. For compatibility this can be a - * boolean, in which case the method behaves exactly as if the value was specified as options's capture. - * When set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET. - * When set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in §2.8 Observing event listeners. - * When set to true, options's once indicates that the callback will only be invoked once after which the event listener will - * be removed. - * The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture. - */ - addEventListener( - type: string, - listener: EventListener | EventListenerObject | null, - options?: boolean | AddEventListenerOptions, - ): void; - /** - * Dispatches a synthetic event event to target and returns true - * if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise. - */ - dispatchEvent(event: Event): boolean; - /** - * Removes the event listener in target's event listener list with the same type, callback, and options. - */ - removeEventListener( - type: string, - callback: EventListener | EventListenerObject | null, - options?: EventListenerOptions | boolean, - ): void; -} - -/** The Event interface represents any event which takes place in the DOM; some are user-generated (such as mouse or keyboard events), while others are generated by APIs (such as events that indicate an animation has finished running, a video has been paused, and so forth). While events are usually triggered by such "external" sources, they can also be triggered programmatically, such as by calling the HTMLElement.click() method of an element, or by defining the event, then sending it to a specified target using EventTarget.dispatchEvent(). There are many types of events, some of which use other interfaces based on the main Event interface. Event itself contains the properties and methods which are common to all events. */ -interface Event { - // Already partially declared at `@types/eventsource/dom-monkeypatch.d.ts`. - - /** - * Returns the object whose event listener's callback is currently being - * invoked. - */ - readonly currentTarget: EventTarget | null; - /** @deprecated */ - readonly srcElement: EventTarget | null; - /** - * Returns the object to which event is dispatched (its target). - */ - readonly target: EventTarget | null; - composedPath(): EventTarget[]; -} diff --git a/webpack.config.browser.js b/webpack.config.browser.js index a781fc20..94af5c6e 100644 --- a/webpack.config.browser.js +++ b/webpack.config.browser.js @@ -1,49 +1,49 @@ -var path = require("path"); -var webpack = require("webpack"); +var path = require('path'); +var webpack = require('webpack'); -var ESLintPlugin = require("eslint-webpack-plugin"); -var TerserPlugin = require("terser-webpack-plugin"); -var NodePolyfillPlugin = require("node-polyfill-webpack-plugin"); +var ESLintPlugin = require('eslint-webpack-plugin'); +var TerserPlugin = require('terser-webpack-plugin'); +var NodePolyfillPlugin = require('node-polyfill-webpack-plugin'); const config = { - target: "web", + target: 'web', // https://stackoverflow.com/a/34018909 entry: { - "soroban-client": path.resolve(__dirname, "./src/browser.ts"), - "soroban-client.min": path.resolve(__dirname, "./src/browser.ts"), + 'soroban-client': path.resolve(__dirname, './src/browser.ts'), + 'soroban-client.min': path.resolve(__dirname, './src/browser.ts') }, resolve: { fallback: { - crypto: require.resolve("crypto-browserify"), - stream: require.resolve("stream-browserify"), - buffer: require.resolve("buffer"), + crypto: require.resolve('crypto-browserify'), + stream: require.resolve('stream-browserify'), + buffer: require.resolve('buffer') }, - extensions: [".ts", ".js"], + extensions: ['.ts', '.js'] }, output: { clean: true, library: { - name: "SorobanClient", - type: "umd", - umdNamedDefine: true, + name: 'SorobanClient', + type: 'umd', + umdNamedDefine: true }, - path: path.resolve(__dirname, "./dist"), + path: path.resolve(__dirname, './dist') }, - mode: process.env.NODE_ENV ?? "development", - devtool: process.env.NODE_ENV === "production" ? false : "inline-source-map", + mode: process.env.NODE_ENV ?? 'development', + devtool: process.env.NODE_ENV === 'production' ? false : 'inline-source-map', module: { rules: [ { test: /\.m?(ts|js)$/, exclude: /node_modules\/(?!(stellar-base|js-xdr))/, use: { - loader: "babel-loader", + loader: 'babel-loader', options: { - cacheDirectory: true, - }, - }, - }, - ], + cacheDirectory: true + } + } + } + ] }, optimization: { minimize: true, @@ -52,29 +52,29 @@ const config = { include: /\.min\.js$/, terserOptions: { format: { - ascii_only: true, - }, - }, - }), - ], + ascii_only: true + } + } + }) + ] }, plugins: [ // this must be first for karma to work (see line 5 of karma.conf.js) new ESLintPlugin({ - overrideConfigFile: path.resolve(__dirname, ".eslintrc.js"), + overrideConfigFile: path.resolve(__dirname, '.eslintrc.js') }), // Ignore native modules (sodium-native) new webpack.IgnorePlugin({ resourceRegExp: /sodium-native/ }), new NodePolyfillPlugin({ - includeAliases: ["http", "https"], // others aren't needed + includeAliases: ['http', 'https'] // others aren't needed }), new webpack.ProvidePlugin({ - Buffer: ["buffer", "Buffer"], - }), + Buffer: ['buffer', 'Buffer'] + }) ], watchOptions: { - ignored: /(node_modules|coverage|lib|dist)/, - }, + ignored: /(node_modules|coverage|lib|dist)/ + } }; module.exports = config; diff --git a/yarn.lock b/yarn.lock index 4d390142..94a2acf5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -15,10 +15,10 @@ "@jridgewell/gen-mapping" "^0.3.0" "@jridgewell/trace-mapping" "^0.3.9" -"@babel/cli@^7.22.9": - version "7.22.9" - resolved "https://registry.yarnpkg.com/@babel/cli/-/cli-7.22.9.tgz#501b3614aeda7399371f6d5991404f069b059986" - integrity sha512-nb2O7AThqRo7/E53EGiuAkMaRbb7J5Qp3RvN+dmua1U+kydm0oznkhqbTEG15yk26G/C3yL6OdZjzgl+DMXVVA== +"@babel/cli@^7.22.10": + version "7.22.10" + resolved "https://registry.yarnpkg.com/@babel/cli/-/cli-7.22.10.tgz#25e4bbd8d0a0d8b4b389e1b5e2d7a238bd4c1b75" + integrity sha512-rM9ZMmaII630zGvtMtQ3P4GyHs28CHLYE9apLG7L8TgaSqcfoIGrlLSLsh4Q8kDTdZQQEXZm1M0nQtOvU/2heg== dependencies: "@jridgewell/trace-mapping" "^0.3.17" commander "^4.0.1" @@ -31,61 +31,62 @@ "@nicolo-ribaudo/chokidar-2" "2.1.8-no-fsevents.3" chokidar "^3.4.0" -"@babel/code-frame@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.22.5.tgz#234d98e1551960604f1246e6475891a570ad5658" - integrity sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ== +"@babel/code-frame@^7.22.10", "@babel/code-frame@^7.22.5": + version "7.22.10" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.22.10.tgz#1c20e612b768fefa75f6e90d6ecb86329247f0a3" + integrity sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA== dependencies: - "@babel/highlight" "^7.22.5" + "@babel/highlight" "^7.22.10" + chalk "^2.4.2" "@babel/compat-data@^7.22.5", "@babel/compat-data@^7.22.6", "@babel/compat-data@^7.22.9": version "7.22.9" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.22.9.tgz#71cdb00a1ce3a329ce4cbec3a44f9fef35669730" integrity sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ== -"@babel/core@^7.12.3", "@babel/core@^7.22.9", "@babel/core@^7.7.5": - version "7.22.9" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.22.9.tgz#bd96492c68822198f33e8a256061da3cf391f58f" - integrity sha512-G2EgeufBcYw27U4hhoIwFcgc1XU7TlXJ3mv04oOv1WCuo900U/anZSPzEqNjwdjgffkk2Gs0AN0dW1CKVLcG7w== +"@babel/core@^7.12.3", "@babel/core@^7.22.10", "@babel/core@^7.7.5": + version "7.22.10" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.22.10.tgz#aad442c7bcd1582252cb4576747ace35bc122f35" + integrity sha512-fTmqbbUBAwCcre6zPzNngvsI0aNrPZe77AeqvDxWM9Nm+04RrJ3CAmGHA9f7lJQY6ZMhRztNemy4uslDxTX4Qw== dependencies: "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.22.5" - "@babel/generator" "^7.22.9" - "@babel/helper-compilation-targets" "^7.22.9" + "@babel/code-frame" "^7.22.10" + "@babel/generator" "^7.22.10" + "@babel/helper-compilation-targets" "^7.22.10" "@babel/helper-module-transforms" "^7.22.9" - "@babel/helpers" "^7.22.6" - "@babel/parser" "^7.22.7" + "@babel/helpers" "^7.22.10" + "@babel/parser" "^7.22.10" "@babel/template" "^7.22.5" - "@babel/traverse" "^7.22.8" - "@babel/types" "^7.22.5" + "@babel/traverse" "^7.22.10" + "@babel/types" "^7.22.10" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.2" json5 "^2.2.2" semver "^6.3.1" -"@babel/eslint-parser@^7.22.9": - version "7.22.9" - resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.22.9.tgz#75f8aa978d1e76c87cc6f26c1ea16ae58804d390" - integrity sha512-xdMkt39/nviO/4vpVdrEYPwXCsYIXSSAr6mC7WQsNIlGnuxKyKE7GZjalcnbSWiC4OXGNNN3UQPeHfjSC6sTDA== +"@babel/eslint-parser@^7.22.10": + version "7.22.10" + resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.22.10.tgz#bfdf3d1b32ad573fe7c1c3447e0b485e3a41fd09" + integrity sha512-0J8DNPRXQRLeR9rPaUMM3fA+RbixjnVLe/MRMYCkp3hzgsSuxCHQ8NN8xQG1wIHKJ4a1DTROTvFJdW+B5/eOsg== dependencies: "@nicolo-ribaudo/eslint-scope-5-internals" "5.1.1-v1" eslint-visitor-keys "^2.1.0" semver "^6.3.1" -"@babel/eslint-plugin@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/eslint-plugin/-/eslint-plugin-7.22.5.tgz#47407d8c9e527b62ff75ee11e4baa6de3da7cf0e" - integrity sha512-lDXW06rf1sXywWWw+UdS/iYxRjrqhH4AXdPeKE4+fEgEoGBXcdIDQ+uCJOUcvCb0jCTvfwHOSXkwnfd24EAkLQ== +"@babel/eslint-plugin@^7.22.10": + version "7.22.10" + resolved "https://registry.yarnpkg.com/@babel/eslint-plugin/-/eslint-plugin-7.22.10.tgz#b84e0f029b8f78604c3f6797cd6208cad46fbcf5" + integrity sha512-SRZcvo3fnO5h79B9DZSV6LG2vHH7OWsSNp1huFLHsXKyytRG413byQk9zxW1VcPOhnzfx2VIUz+8aGbiE7fOkA== dependencies: eslint-rule-composer "^0.3.0" -"@babel/generator@^7.22.7", "@babel/generator@^7.22.9": - version "7.22.9" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.22.9.tgz#572ecfa7a31002fa1de2a9d91621fd895da8493d" - integrity sha512-KtLMbmicyuK2Ak/FTCJVbDnkN1SlT8/kceFTiuDiiRUUSMnHMidxSCdG4ndkTOHHpoomWe/4xkvHkEOncwjYIw== +"@babel/generator@^7.22.10": + version "7.22.10" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.22.10.tgz#c92254361f398e160645ac58831069707382b722" + integrity sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A== dependencies: - "@babel/types" "^7.22.5" + "@babel/types" "^7.22.10" "@jridgewell/gen-mapping" "^0.3.2" "@jridgewell/trace-mapping" "^0.3.17" jsesc "^2.5.1" @@ -98,16 +99,16 @@ "@babel/types" "^7.22.5" "@babel/helper-builder-binary-assignment-operator-visitor@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.5.tgz#a3f4758efdd0190d8927fcffd261755937c71878" - integrity sha512-m1EP3lVOPptR+2DwD125gziZNcmoNSHGmJROKoy87loWUQyJaVXDgpmruWqDARZSmtYQ+Dl25okU8+qhVzuykw== + version "7.22.10" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.10.tgz#573e735937e99ea75ea30788b57eb52fab7468c9" + integrity sha512-Av0qubwDQxC56DoUReVDeLfMEjYYSN1nZrTUrWkXd7hpU73ymRANkbuDm3yni9npkn+RXy9nNbEJZEzXr7xrfQ== dependencies: - "@babel/types" "^7.22.5" + "@babel/types" "^7.22.10" -"@babel/helper-compilation-targets@^7.22.5", "@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.22.9": - version "7.22.9" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.9.tgz#f9d0a7aaaa7cd32a3f31c9316a69f5a9bcacb892" - integrity sha512-7qYrNM6HjpnPHJbopxmb8hSPoZ0gsX8IvUS32JGVoy+pU9e5N0nLr1VjJoR6kA4d9dmGLxNYOjeB8sUDal2WMw== +"@babel/helper-compilation-targets@^7.22.10", "@babel/helper-compilation-targets@^7.22.5", "@babel/helper-compilation-targets@^7.22.6": + version "7.22.10" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.10.tgz#01d648bbc25dd88f513d862ee0df27b7d4e67024" + integrity sha512-JMSwHD4J7SLod0idLq5PKgI+6g/hLD/iuWBq08ZX49xE14VpVEojJ5rHWptpirV2j020MvypRLAXAO50igCJ5Q== dependencies: "@babel/compat-data" "^7.22.9" "@babel/helper-validator-option" "^7.22.5" @@ -115,10 +116,10 @@ lru-cache "^5.1.1" semver "^6.3.1" -"@babel/helper-create-class-features-plugin@^7.22.5", "@babel/helper-create-class-features-plugin@^7.22.9": - version "7.22.9" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.9.tgz#c36ea240bb3348f942f08b0fbe28d6d979fab236" - integrity sha512-Pwyi89uO4YrGKxL/eNJ8lfEH55DnRloGPOseaA8NFNL6jAUnn+KccaISiFazCj5IolPPDjGSdzQzXVzODVRqUQ== +"@babel/helper-create-class-features-plugin@^7.22.10", "@babel/helper-create-class-features-plugin@^7.22.5": + version "7.22.10" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.10.tgz#dd2612d59eac45588021ac3d6fa976d08f4e95a3" + integrity sha512-5IBb77txKYQPpOEdUdIhBx8VrZyDCQ+H82H0+5dX1TmuscP5vJKEE3cKurjtIw/vFwzbVH48VweE78kVDBrqjA== dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" "@babel/helper-environment-visitor" "^7.22.5" @@ -207,7 +208,7 @@ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295" integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== -"@babel/helper-remap-async-to-generator@^7.22.5": +"@babel/helper-remap-async-to-generator@^7.22.5", "@babel/helper-remap-async-to-generator@^7.22.9": version "7.22.9" resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.9.tgz#53a25b7484e722d7efb9c350c75c032d4628de82" integrity sha512-8WWC4oR4Px+tr+Fp0X3RHDVfINGpF3ad1HIbrc8A77epiR6eMMc6jsgozkzT2uDiOOdoS9cLIQ+XD2XvI2WSmQ== @@ -262,36 +263,36 @@ integrity sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw== "@babel/helper-wrap-function@^7.22.9": - version "7.22.9" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.22.9.tgz#189937248c45b0182c1dcf32f3444ca153944cb9" - integrity sha512-sZ+QzfauuUEfxSEjKFmi3qDSHgLsTPK/pEpoD/qonZKOtTPTLbf59oabPQ4rKekt9lFcj/hTZaOhWwFYrgjk+Q== + version "7.22.10" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.22.10.tgz#d845e043880ed0b8c18bd194a12005cb16d2f614" + integrity sha512-OnMhjWjuGYtdoO3FmsEFWvBStBAe2QOgwOLsLNDjN+aaiMD8InJk1/O3HSD8lkqTjCgg5YI34Tz15KNNA3p+nQ== dependencies: "@babel/helper-function-name" "^7.22.5" "@babel/template" "^7.22.5" - "@babel/types" "^7.22.5" + "@babel/types" "^7.22.10" -"@babel/helpers@^7.22.6": - version "7.22.6" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.22.6.tgz#8e61d3395a4f0c5a8060f309fb008200969b5ecd" - integrity sha512-YjDs6y/fVOYFV8hAf1rxd1QvR9wJe1pDBZ2AREKq/SDayfPzgk0PBnVuTCE5X1acEpMMNOVUqoe+OwiZGJ+OaA== +"@babel/helpers@^7.22.10": + version "7.22.10" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.22.10.tgz#ae6005c539dfbcb5cd71fb51bfc8a52ba63bc37a" + integrity sha512-a41J4NW8HyZa1I1vAndrraTlPZ/eZoga2ZgS7fEr0tZJGVU4xqdE80CEm0CcNjha5EZ8fTBYLKHF0kqDUuAwQw== dependencies: "@babel/template" "^7.22.5" - "@babel/traverse" "^7.22.6" - "@babel/types" "^7.22.5" + "@babel/traverse" "^7.22.10" + "@babel/types" "^7.22.10" -"@babel/highlight@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.22.5.tgz#aa6c05c5407a67ebce408162b7ede789b4d22031" - integrity sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw== +"@babel/highlight@^7.22.10": + version "7.22.10" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.22.10.tgz#02a3f6d8c1cb4521b2fd0ab0da8f4739936137d7" + integrity sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ== dependencies: "@babel/helper-validator-identifier" "^7.22.5" - chalk "^2.0.0" + chalk "^2.4.2" js-tokens "^4.0.0" -"@babel/parser@^7.14.7", "@babel/parser@^7.20.15", "@babel/parser@^7.22.5", "@babel/parser@^7.22.7": - version "7.22.7" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.22.7.tgz#df8cf085ce92ddbdbf668a7f186ce848c9036cae" - integrity sha512-7NF8pOkHP5o2vpmGgNGcfAeCvOYhGLyA3Z4eBQkT1RJlWu47n63bCs93QfJ2hIAFCil7L5P2IWhs1oToVgrL0Q== +"@babel/parser@^7.14.7", "@babel/parser@^7.20.15", "@babel/parser@^7.22.10", "@babel/parser@^7.22.5": + version "7.22.10" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.22.10.tgz#e37634f9a12a1716136c44624ef54283cabd3f55" + integrity sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ== "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.22.5": version "7.22.5" @@ -314,14 +315,6 @@ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz#7844f9289546efa9febac2de4cfe358a050bd703" integrity sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w== -"@babel/plugin-proposal-unicode-property-regex@^7.4.4": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz#af613d2cd5e643643b65cded64207b15c85cb78e" - integrity sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" @@ -470,14 +463,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-async-generator-functions@^7.22.7": - version "7.22.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.22.7.tgz#053e76c0a903b72b573cb1ab7d6882174d460a1b" - integrity sha512-7HmE7pk/Fmke45TODvxvkxRMV9RazV+ZZzhOL9AG8G29TLrr3jkjwF7uJfxZ30EoXpO+LJkq4oA8NjO2DTnEDg== +"@babel/plugin-transform-async-generator-functions@^7.22.10": + version "7.22.10" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.22.10.tgz#45946cd17f915b10e65c29b8ed18a0a50fc648c8" + integrity sha512-eueE8lvKVzq5wIObKK/7dvoeKJ+xc6TvRn6aysIjS6pSCeLy7S/eVi7pEQknZqyqvzaNKdDtem8nUNTBgDVR2g== dependencies: "@babel/helper-environment-visitor" "^7.22.5" "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-remap-async-to-generator" "^7.22.5" + "@babel/helper-remap-async-to-generator" "^7.22.9" "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-transform-async-to-generator@^7.22.5": @@ -496,10 +489,10 @@ dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-block-scoping@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.22.5.tgz#8bfc793b3a4b2742c0983fadc1480d843ecea31b" - integrity sha512-EcACl1i5fSQ6bt+YGuU/XGCeZKStLmyVGytWkpyhCLeQVA0eu6Wtiw92V+I1T/hnezUv7j74dA/Ro69gWcU+hg== +"@babel/plugin-transform-block-scoping@^7.22.10": + version "7.22.10" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.22.10.tgz#88a1dccc3383899eb5e660534a76a22ecee64faa" + integrity sha512-1+kVpGAOOI1Albt6Vse7c8pHzcZQdQKW+wJH+g8mCaszOdDVwRXa/slHPqIw+oJAJANTKDMuM2cBdV0Dg618Vg== dependencies: "@babel/helper-plugin-utils" "^7.22.5" @@ -543,14 +536,14 @@ "@babel/helper-plugin-utils" "^7.22.5" "@babel/template" "^7.22.5" -"@babel/plugin-transform-destructuring@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.22.5.tgz#d3aca7438f6c26c78cdd0b0ba920a336001b27cc" - integrity sha512-GfqcFuGW8vnEqTUBM7UtPd5A4q797LTvvwKxXTgRsFjoqaJiEg9deBG6kWeQYkVEL569NpnmpC0Pkr/8BLKGnQ== +"@babel/plugin-transform-destructuring@^7.22.10": + version "7.22.10" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.22.10.tgz#38e2273814a58c810b6c34ea293be4973c4eb5e2" + integrity sha512-dPJrL0VOyxqLM9sritNbMSGx/teueHF/htMKrPT7DNxccXxRDPYqlgPFFdr8u+F+qUZOkZoXue/6rL5O5GduEw== dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-dotall-regex@^7.22.5", "@babel/plugin-transform-dotall-regex@^7.4.4": +"@babel/plugin-transform-dotall-regex@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz#dbb4f0e45766eb544e193fb00e65a1dd3b2a4165" integrity sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw== @@ -728,10 +721,10 @@ "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" -"@babel/plugin-transform-optional-chaining@^7.22.5", "@babel/plugin-transform-optional-chaining@^7.22.6": - version "7.22.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.22.6.tgz#4bacfe37001fe1901117672875e931d439811564" - integrity sha512-Vd5HiWml0mDVtcLHIoEU5sw6HOUW/Zk0acLs/SAeuLzkGNOPc9DB4nkUajemhCmTIz3eiaKREZn2hQQqF79YTg== +"@babel/plugin-transform-optional-chaining@^7.22.10", "@babel/plugin-transform-optional-chaining@^7.22.5": + version "7.22.10" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.22.10.tgz#076d28a7e074392e840d4ae587d83445bac0372a" + integrity sha512-MMkQqZAZ+MGj+jGTG3OTuhKeBpNcO+0oCEbrGNEaOmiEn+1MzRyQlYsruGiU8RTK3zV6XwrVJTmwiDOyYK6J9g== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" @@ -769,13 +762,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-regenerator@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.5.tgz#cd8a68b228a5f75fa01420e8cc2fc400f0fc32aa" - integrity sha512-rR7KePOE7gfEtNTh9Qw+iO3Q/e4DEsoQ+hdvM6QUDH7JRJ5qxq5AA52ZzBWbI5i9lfNuvySgOGP8ZN7LAmaiPw== +"@babel/plugin-transform-regenerator@^7.22.10": + version "7.22.10" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.10.tgz#8ceef3bd7375c4db7652878b0241b2be5d0c3cca" + integrity sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw== dependencies: "@babel/helper-plugin-utils" "^7.22.5" - regenerator-transform "^0.15.1" + regenerator-transform "^0.15.2" "@babel/plugin-transform-reserved-words@^7.22.5": version "7.22.5" @@ -821,19 +814,19 @@ "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-typescript@^7.22.5": - version "7.22.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.9.tgz#91e08ad1eb1028ecc62662a842e93ecfbf3c7234" - integrity sha512-BnVR1CpKiuD0iobHPaM1iLvcwPYN2uVFAqoLVSpEDKWuOikoCv5HbKLxclhKYUXlWkX86DoZGtqI4XhbOsyrMg== + version "7.22.10" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.10.tgz#aadd98fab871f0bb5717bcc24c31aaaa455af923" + integrity sha512-7++c8I/ymsDo4QQBAgbraXLzIM6jmfao11KgIBEYZRReWzNWH9NtNgJcyrZiXsOPh523FQm6LfpLyy/U5fn46A== dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-create-class-features-plugin" "^7.22.9" + "@babel/helper-create-class-features-plugin" "^7.22.10" "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-typescript" "^7.22.5" -"@babel/plugin-transform-unicode-escapes@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.5.tgz#ce0c248522b1cb22c7c992d88301a5ead70e806c" - integrity sha512-biEmVg1IYB/raUO5wT1tgfacCef15Fbzhkx493D3urBI++6hpJ+RFG4SrWMn0NEZLfvilqKf3QDrRVZHo08FYg== +"@babel/plugin-transform-unicode-escapes@^7.22.10": + version "7.22.10" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.10.tgz#c723f380f40a2b2f57a62df24c9005834c8616d9" + integrity sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg== dependencies: "@babel/helper-plugin-utils" "^7.22.5" @@ -861,13 +854,13 @@ "@babel/helper-create-regexp-features-plugin" "^7.22.5" "@babel/helper-plugin-utils" "^7.22.5" -"@babel/preset-env@^7.22.9": - version "7.22.9" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.22.9.tgz#57f17108eb5dfd4c5c25a44c1977eba1df310ac7" - integrity sha512-wNi5H/Emkhll/bqPjsjQorSykrlfY5OWakd6AulLvMEytpKasMVUpVy8RL4qBIBs5Ac6/5i0/Rv0b/Fg6Eag/g== +"@babel/preset-env@^7.22.10": + version "7.22.10" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.22.10.tgz#3263b9fe2c8823d191d28e61eac60a79f9ce8a0f" + integrity sha512-riHpLb1drNkpLlocmSyEg4oYJIQFeXAK/d7rI6mbD0XsvoTOOweXDmQPG/ErxsEhWk3rl3Q/3F6RFQlVFS8m0A== dependencies: "@babel/compat-data" "^7.22.9" - "@babel/helper-compilation-targets" "^7.22.9" + "@babel/helper-compilation-targets" "^7.22.10" "@babel/helper-plugin-utils" "^7.22.5" "@babel/helper-validator-option" "^7.22.5" "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.22.5" @@ -892,15 +885,15 @@ "@babel/plugin-syntax-top-level-await" "^7.14.5" "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" "@babel/plugin-transform-arrow-functions" "^7.22.5" - "@babel/plugin-transform-async-generator-functions" "^7.22.7" + "@babel/plugin-transform-async-generator-functions" "^7.22.10" "@babel/plugin-transform-async-to-generator" "^7.22.5" "@babel/plugin-transform-block-scoped-functions" "^7.22.5" - "@babel/plugin-transform-block-scoping" "^7.22.5" + "@babel/plugin-transform-block-scoping" "^7.22.10" "@babel/plugin-transform-class-properties" "^7.22.5" "@babel/plugin-transform-class-static-block" "^7.22.5" "@babel/plugin-transform-classes" "^7.22.6" "@babel/plugin-transform-computed-properties" "^7.22.5" - "@babel/plugin-transform-destructuring" "^7.22.5" + "@babel/plugin-transform-destructuring" "^7.22.10" "@babel/plugin-transform-dotall-regex" "^7.22.5" "@babel/plugin-transform-duplicate-keys" "^7.22.5" "@babel/plugin-transform-dynamic-import" "^7.22.5" @@ -923,38 +916,36 @@ "@babel/plugin-transform-object-rest-spread" "^7.22.5" "@babel/plugin-transform-object-super" "^7.22.5" "@babel/plugin-transform-optional-catch-binding" "^7.22.5" - "@babel/plugin-transform-optional-chaining" "^7.22.6" + "@babel/plugin-transform-optional-chaining" "^7.22.10" "@babel/plugin-transform-parameters" "^7.22.5" "@babel/plugin-transform-private-methods" "^7.22.5" "@babel/plugin-transform-private-property-in-object" "^7.22.5" "@babel/plugin-transform-property-literals" "^7.22.5" - "@babel/plugin-transform-regenerator" "^7.22.5" + "@babel/plugin-transform-regenerator" "^7.22.10" "@babel/plugin-transform-reserved-words" "^7.22.5" "@babel/plugin-transform-shorthand-properties" "^7.22.5" "@babel/plugin-transform-spread" "^7.22.5" "@babel/plugin-transform-sticky-regex" "^7.22.5" "@babel/plugin-transform-template-literals" "^7.22.5" "@babel/plugin-transform-typeof-symbol" "^7.22.5" - "@babel/plugin-transform-unicode-escapes" "^7.22.5" + "@babel/plugin-transform-unicode-escapes" "^7.22.10" "@babel/plugin-transform-unicode-property-regex" "^7.22.5" "@babel/plugin-transform-unicode-regex" "^7.22.5" "@babel/plugin-transform-unicode-sets-regex" "^7.22.5" - "@babel/preset-modules" "^0.1.5" - "@babel/types" "^7.22.5" - babel-plugin-polyfill-corejs2 "^0.4.4" - babel-plugin-polyfill-corejs3 "^0.8.2" - babel-plugin-polyfill-regenerator "^0.5.1" + "@babel/preset-modules" "0.1.6-no-external-plugins" + "@babel/types" "^7.22.10" + babel-plugin-polyfill-corejs2 "^0.4.5" + babel-plugin-polyfill-corejs3 "^0.8.3" + babel-plugin-polyfill-regenerator "^0.5.2" core-js-compat "^3.31.0" semver "^6.3.1" -"@babel/preset-modules@^0.1.5": - version "0.1.6" - resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.6.tgz#31bcdd8f19538437339d17af00d177d854d9d458" - integrity sha512-ID2yj6K/4lKfhuU3+EX4UvNbIt7eACFbHmNUjzA+ep+B5971CknnA/9DEWKbRokfbbtblxxxXFJJrH47UEAMVg== +"@babel/preset-modules@0.1.6-no-external-plugins": + version "0.1.6-no-external-plugins" + resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz#ccb88a2c49c817236861fee7826080573b8a923a" + integrity sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA== dependencies: "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" - "@babel/plugin-transform-dotall-regex" "^7.4.4" "@babel/types" "^7.4.4" esutils "^2.0.2" @@ -986,11 +977,11 @@ integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== "@babel/runtime@^7.8.4": - version "7.22.6" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.22.6.tgz#57d64b9ae3cff1d67eb067ae117dac087f5bd438" - integrity sha512-wDb5pWm4WDdF6LFUde3Jl8WzPA+3ZbxYqkC6xAXuD3irdEHN1k0NfTRrJD8ZD378SJ61miMLCqIOXYhd8x+AJQ== + version "7.22.10" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.22.10.tgz#ae3e9631fd947cb7e3610d3e9d8fef5f76696682" + integrity sha512-21t/fkKLMZI4pqP2wlmsQAWnYW1PDyKyyUV4vCi+B25ydmdaYTKXPwCj0BzSUnZf4seIiYvSA3jcZ3gdsMFkLQ== dependencies: - regenerator-runtime "^0.13.11" + regenerator-runtime "^0.14.0" "@babel/template@^7.22.5": version "7.22.5" @@ -1001,26 +992,26 @@ "@babel/parser" "^7.22.5" "@babel/types" "^7.22.5" -"@babel/traverse@^7.22.6", "@babel/traverse@^7.22.8": - version "7.22.8" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.22.8.tgz#4d4451d31bc34efeae01eac222b514a77aa4000e" - integrity sha512-y6LPR+wpM2I3qJrsheCTwhIinzkETbplIgPBbwvqPKc+uljeA5gP+3nP8irdYt1mjQaDnlIcG+dw8OjAco4GXw== +"@babel/traverse@^7.22.10": + version "7.22.10" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.22.10.tgz#20252acb240e746d27c2e82b4484f199cf8141aa" + integrity sha512-Q/urqV4pRByiNNpb/f5OSv28ZlGJiFiiTh+GAHktbIrkPhPbl90+uW6SmpoLyZqutrg9AEaEf3Q/ZBRHBXgxig== dependencies: - "@babel/code-frame" "^7.22.5" - "@babel/generator" "^7.22.7" + "@babel/code-frame" "^7.22.10" + "@babel/generator" "^7.22.10" "@babel/helper-environment-visitor" "^7.22.5" "@babel/helper-function-name" "^7.22.5" "@babel/helper-hoist-variables" "^7.22.5" "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/parser" "^7.22.7" - "@babel/types" "^7.22.5" + "@babel/parser" "^7.22.10" + "@babel/types" "^7.22.10" debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.22.5", "@babel/types@^7.4.4": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.22.5.tgz#cd93eeaab025880a3a47ec881f4b096a5b786fbe" - integrity sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA== +"@babel/types@^7.22.10", "@babel/types@^7.22.5", "@babel/types@^7.4.4": + version "7.22.10" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.22.10.tgz#4a9e76446048f2c66982d1a989dd12b8a2d2dc03" + integrity sha512-obaoigiLrlDZ7TUQln/8m4mSqIW2QFeOrCQc9r+xsaHGNoplVNYlRVpsfE8Vj35GEm2ZH4ZhrNYogs/3fj85kg== dependencies: "@babel/helper-string-parser" "^7.22.5" "@babel/helper-validator-identifier" "^7.22.5" @@ -1038,27 +1029,27 @@ dependencies: "@jridgewell/trace-mapping" "0.3.9" -"@definitelytyped/dts-critic@^0.0.163": - version "0.0.163" - resolved "https://registry.yarnpkg.com/@definitelytyped/dts-critic/-/dts-critic-0.0.163.tgz#51750eddefd781daf481f8e4d4d277b7bd51fc87" - integrity sha512-HsTvylj8x2gQaawsOCcN2Xk2Cx0wgV9kaj83hgsO9SITZSPd7dA0UkHyNRadbMkMwqNDKcnizcmWdz0+0gIo8A== +"@definitelytyped/dts-critic@^0.0.166": + version "0.0.166" + resolved "https://registry.yarnpkg.com/@definitelytyped/dts-critic/-/dts-critic-0.0.166.tgz#b7d9293bc778401135974b752f2bdf48cea06896" + integrity sha512-butxi0w+3sjX/t1SsB9khs3GpF8QCiFm2roDdJhLWU0AiA/PmMFYc2IUz/HJk6fSWT4qSX873HQSwCx9rMst6Q== dependencies: - "@definitelytyped/header-parser" "^0.0.163" + "@definitelytyped/header-parser" "^0.0.166" command-exists "^1.2.8" rimraf "^3.0.2" - semver "^6.2.0" + semver "^7.5.2" tmp "^0.2.1" yargs "^15.3.1" -"@definitelytyped/dtslint@^0.0.163": - version "0.0.163" - resolved "https://registry.yarnpkg.com/@definitelytyped/dtslint/-/dtslint-0.0.163.tgz#d31f7c01f2f829d69ab0b3c46801d5547860236d" - integrity sha512-U0uw7Zu0QdYSuBMYgxvRYjkhkeulTEg8vDgJ7TiYQUv/wODeujSAmGahQn51E5hOlSMYUw7A9utdbUukxE02SQ== +"@definitelytyped/dtslint@^0.0.166": + version "0.0.166" + resolved "https://registry.yarnpkg.com/@definitelytyped/dtslint/-/dtslint-0.0.166.tgz#62ea3323c549c77cf5330ff108cba34c46a93bf2" + integrity sha512-AxqM6gI9qF3H6cJJT4SOEcn+gc0w/gqOwATXaPUFR3ZoSBk2Z+19xt7Nsbsgz+L9sDxxcAAtUZuLez5feV/A+Q== dependencies: - "@definitelytyped/dts-critic" "^0.0.163" - "@definitelytyped/header-parser" "^0.0.163" - "@definitelytyped/typescript-versions" "^0.0.163" - "@definitelytyped/utils" "^0.0.163" + "@definitelytyped/dts-critic" "^0.0.166" + "@definitelytyped/header-parser" "^0.0.166" + "@definitelytyped/typescript-versions" "^0.0.166" + "@definitelytyped/utils" "^0.0.166" "@typescript-eslint/eslint-plugin" "^5.55.0" "@typescript-eslint/parser" "^5.55.0" "@typescript-eslint/types" "^5.56.0" @@ -1071,26 +1062,26 @@ tslint "5.14.0" yargs "^15.1.0" -"@definitelytyped/header-parser@^0.0.163": - version "0.0.163" - resolved "https://registry.yarnpkg.com/@definitelytyped/header-parser/-/header-parser-0.0.163.tgz#fdf5589a048e89b2a2adbd33d5d3d78ecd2a2ec6" - integrity sha512-Jr+/q+ESfc7uWldz/j11BfpjIN/gB4WmwhFENhWaMwM0W/9p0ShF+OiUqGhk2Q3Iz8v/oyWzSsxyxgasg9kCxQ== +"@definitelytyped/header-parser@^0.0.166": + version "0.0.166" + resolved "https://registry.yarnpkg.com/@definitelytyped/header-parser/-/header-parser-0.0.166.tgz#a8b88752c5536444fd65b8efa2fd52f2be185701" + integrity sha512-3Lfb6NEajcgNA7n04HxKmjas9msjysRhsEqQC0ZccqCuGorWkT/0yODlgCiuIxjdX6Z2dv+V5snQPIzPA+FXdA== dependencies: - "@definitelytyped/typescript-versions" "^0.0.163" + "@definitelytyped/typescript-versions" "^0.0.166" "@types/parsimmon" "^1.10.1" parsimmon "^1.13.0" -"@definitelytyped/typescript-versions@^0.0.163": - version "0.0.163" - resolved "https://registry.yarnpkg.com/@definitelytyped/typescript-versions/-/typescript-versions-0.0.163.tgz#b3e018057a0437740102850de2c093c8cddd9e6f" - integrity sha512-+GWtJhC+7UaCUnJ+ZkA7bfGuPd6ZbJKEjbHqh76/gOXsqAUOMEa49ufsLlIPUbkEeQlnDNoTHCegE5X/Q+u+/A== +"@definitelytyped/typescript-versions@^0.0.166": + version "0.0.166" + resolved "https://registry.yarnpkg.com/@definitelytyped/typescript-versions/-/typescript-versions-0.0.166.tgz#befde18fbb81fbb8542aad3cdbeac762fce4c63d" + integrity sha512-USWrVdA3G3jE9ynq/wtxd1aKmy35nFScA+Nz6IMsx/Mrez0fNxhfD8UYCd2sU+nJmoCv8XJbYWPrzIqEiuoXPA== -"@definitelytyped/utils@^0.0.163": - version "0.0.163" - resolved "https://registry.yarnpkg.com/@definitelytyped/utils/-/utils-0.0.163.tgz#1fb26bf5cf22a00c16924fcb115fe76a46817972" - integrity sha512-6MX5TxaQbG/j2RkCWbcbLvv+YNipKqY0eQJafDhwC/RprUocpg+uYVNlH8XzdKRWOGJ0pq7SZOsJD4C3A01ZXg== +"@definitelytyped/utils@^0.0.166": + version "0.0.166" + resolved "https://registry.yarnpkg.com/@definitelytyped/utils/-/utils-0.0.166.tgz#2b8caf80bd5831e057a12a496770e58128e430e7" + integrity sha512-3DAp014B6wImQOUN5IyRW9GIJl0sFO9LpYp8Mpl2HlBPlqaSySCbgVdYrKvP+KC06EGILKPa8jf148RbgQunmQ== dependencies: - "@definitelytyped/typescript-versions" "^0.0.163" + "@definitelytyped/typescript-versions" "^0.0.166" "@qiwi/npm-registry-client" "^8.9.1" "@types/node" "^14.14.35" charm "^1.0.2" @@ -1116,10 +1107,10 @@ resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.6.2.tgz#1816b5f6948029c5eaacb0703b850ee0cb37d8f8" integrity sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw== -"@eslint/eslintrc@^2.1.1": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.1.tgz#18d635e24ad35f7276e8a49d135c7d3ca6a46f93" - integrity sha512-9t7ZA7NGGK8ckelF0PQCfcxIUzs1Md5rrO6U/c+FIQNanea5UZC0wqKXH4vHBccmu4ZJgZ2idtPeW7+Q2npOEA== +"@eslint/eslintrc@^2.1.2": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.2.tgz#c6936b4b328c64496692f76944e755738be62396" + integrity sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g== dependencies: ajv "^6.12.4" debug "^4.3.2" @@ -1131,10 +1122,10 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@^8.46.0": - version "8.46.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.46.0.tgz#3f7802972e8b6fe3f88ed1aabc74ec596c456db6" - integrity sha512-a8TLtmPi8xzPkCbp/OGFUo5yhRkHM2Ko9kOWP4znJr0WAhWyThaw3PnwX4vOTWOAMsV2uRt32PPDcEz63esSaA== +"@eslint/js@^8.47.0": + version "8.47.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.47.0.tgz#5478fdf443ff8158f9de171c704ae45308696c7d" + integrity sha512-P6omY1zv5MItm93kLM8s2vr1HICJH8v0dvddDhysbIuZ+vcjOHg5Zbkf1mTkcmi2JA9oBG2anOkRnW8WJTS8Og== "@humanwhocodes/config-array@^0.11.10": version "0.11.10" @@ -1176,19 +1167,19 @@ resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== -"@jest/schemas@^29.6.0": - version "29.6.0" - resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.6.0.tgz#0f4cb2c8e3dca80c135507ba5635a4fd755b0040" - integrity sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ== +"@jest/schemas@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.6.3.tgz#430b5ce8a4e0044a7e3819663305a7b3091c8e03" + integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== dependencies: "@sinclair/typebox" "^0.27.8" -"@jest/types@^29.6.1": - version "29.6.1" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.6.1.tgz#ae79080278acff0a6af5eb49d063385aaa897bf2" - integrity sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw== +"@jest/types@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.6.3.tgz#1131f8cf634e7e84c5e77bab12f052af585fba59" + integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw== dependencies: - "@jest/schemas" "^29.6.0" + "@jest/schemas" "^29.6.3" "@types/istanbul-lib-coverage" "^2.0.0" "@types/istanbul-reports" "^3.0.0" "@types/node" "*" @@ -1204,12 +1195,7 @@ "@jridgewell/sourcemap-codec" "^1.4.10" "@jridgewell/trace-mapping" "^0.3.9" -"@jridgewell/resolve-uri@3.1.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" - integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== - -"@jridgewell/resolve-uri@^3.0.3": +"@jridgewell/resolve-uri@^3.0.3", "@jridgewell/resolve-uri@^3.1.0": version "3.1.1" resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721" integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== @@ -1227,12 +1213,7 @@ "@jridgewell/gen-mapping" "^0.3.0" "@jridgewell/trace-mapping" "^0.3.9" -"@jridgewell/sourcemap-codec@1.4.14": - version "1.4.14" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" - integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== - -"@jridgewell/sourcemap-codec@^1.4.10": +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": version "1.4.15" resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== @@ -1246,12 +1227,12 @@ "@jridgewell/sourcemap-codec" "^1.4.10" "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": - version "0.3.18" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz#25783b2086daf6ff1dcb53c9249ae480e4dd4cd6" - integrity sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA== + version "0.3.19" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz#f8a3249862f91be48d3127c3cfe992f79b4b8811" + integrity sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw== dependencies: - "@jridgewell/resolve-uri" "3.1.0" - "@jridgewell/sourcemap-codec" "1.4.14" + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" "@jsdoc/salty@^0.2.1": version "0.2.5" @@ -1293,6 +1274,18 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" +"@pkgr/utils@^2.3.1": + version "2.4.2" + resolved "https://registry.yarnpkg.com/@pkgr/utils/-/utils-2.4.2.tgz#9e638bbe9a6a6f165580dc943f138fd3309a2cbc" + integrity sha512-POgTXhjrTfbTV63DiFXav4lBHiICLKKwDeaKn9Nphwj7WH6m0hMMCaJkMyRWjgtPFyRKRVoMXXjczsTQRDEhYw== + dependencies: + cross-spawn "^7.0.3" + fast-glob "^3.3.0" + is-glob "^4.0.3" + open "^9.1.0" + picocolors "^1.0.0" + tslib "^2.6.0" + "@qiwi/npm-registry-client@^8.9.1": version "8.9.1" resolved "https://registry.yarnpkg.com/@qiwi/npm-registry-client/-/npm-registry-client-8.9.1.tgz#1769f6501a436ec39c496ca0a9a2fab9db7718df" @@ -1404,11 +1397,6 @@ dependencies: "@types/node" "*" -"@types/detect-node@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@types/detect-node/-/detect-node-2.0.0.tgz#696e024ddd105c72bbc6a2e3f97902a2886f2c3f" - integrity sha512-+BozjlbPTACYITf1PWf62HLtDV79HbmZosUN1mv1gGrnjDCRwBXkDKka1sf6YQJvspmfPXVcy+X6tFW62KteeQ== - "@types/eslint-scope@^3.7.3": version "3.7.4" resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.4.tgz#37fc1223f0786c39627068a12e94d6e6fc61de16" @@ -1430,11 +1418,6 @@ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.1.tgz#aa22750962f3bf0e79d753d3cc067f010c95f194" integrity sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA== -"@types/eventsource@^1.1.2": - version "1.1.11" - resolved "https://registry.yarnpkg.com/@types/eventsource/-/eventsource-1.1.11.tgz#a2c0bfd0436b7db42ed1b2b2117f7ec2e8478dc7" - integrity sha512-L7wLDZlWm5mROzv87W0ofIYeQP5K2UhoFnnUyEWLKM6UBb0ZNRgAqp98qE5DkgfBXdWfc2kYmw9KZm4NLjRbsw== - "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": version "2.0.4" resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz#8467d4b3c087805d63580480890791277ce35c44" @@ -1469,11 +1452,6 @@ resolved "https://registry.yarnpkg.com/@types/linkify-it/-/linkify-it-3.0.2.tgz#fd2cd2edbaa7eaac7e7f3c1748b52a19143846c9" integrity sha512-HZQYqbiFVWufzCwexrvh694SOim8z2d+xJl5UNamcvQFejLY/2YUtzXHYi3cHdI7PMlS8ejH2slRAOJQ32aNbA== -"@types/lodash@^4.14.197": - version "4.14.197" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.197.tgz#e95c5ddcc814ec3e84c891910a01e0c8a378c54b" - integrity sha512-BMVOiWs0uNxHVlHBgzTIqJYmj+PgCo4euloGF+5m4okL3rEYzM2EEv78mw8zWSMM57dM7kVIgJ2QDvwHSoCI5g== - "@types/markdown-it@^12.2.3": version "12.2.3" resolved "https://registry.yarnpkg.com/@types/markdown-it/-/markdown-it-12.2.3.tgz#0d6f6e5e413f8daaa26522904597be3d6cd93b51" @@ -1492,10 +1470,10 @@ resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-10.0.1.tgz#2f4f65bb08bc368ac39c96da7b2f09140b26851b" integrity sha512-/fvYntiO1GeICvqbQ3doGDIP97vWmvFt83GKguJ6prmQM2iXZfFcq6YE8KteFyRtX2/h5Hf91BYvPodJKFYv5Q== -"@types/node@*", "@types/node@>=10.0.0", "@types/node@^20.4.2": - version "20.4.7" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.4.7.tgz#74d323a93f1391a63477b27b9aec56669c98b2ab" - integrity sha512-bUBrPjEry2QUTsnuEjzjbS7voGWCc30W0qzgMf90GPeDGFRakvrz47ju+oqDAKCXLUCe39u57/ORMl/O/04/9g== +"@types/node@*", "@types/node@>=10.0.0", "@types/node@^20.5.1": + version "20.5.1" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.5.1.tgz#178d58ee7e4834152b0e8b4d30cbfab578b9bb30" + integrity sha512-4tT2UrL5LBqDwoed9wZ6N3umC4Yhz3W3FloMmiiG4JwmUJWpie0c7lcnUNd4gtMKuDEO4wRVS8B6Xa0uMRsMKg== "@types/node@^14.14.35": version "14.18.54" @@ -1507,13 +1485,6 @@ resolved "https://registry.yarnpkg.com/@types/parsimmon/-/parsimmon-1.10.6.tgz#8fcf95990514d2a7624aa5f630c13bf2427f9cdd" integrity sha512-FwAQwMRbkhx0J6YELkwIpciVzCcgEqXEbIrIn3a2P5d3kGEHQ3wVhlN3YdVepYP+bZzCYO6OjmD4o9TGOZ40rA== -"@types/randombytes@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@types/randombytes/-/randombytes-2.0.0.tgz#0087ff5e60ae68023b9bc4398b406fea7ad18304" - integrity sha512-bz8PhAVlwN72vqefzxa14DKNT8jK/mV66CSjwdVQM/k3Th3EPKfUtdMniwZgMedQTFuywAsfjnZsg+pEnltaMA== - dependencies: - "@types/node" "*" - "@types/semver@^7.3.12": version "7.5.0" resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.0.tgz#591c1ce3a702c45ee15f47a42ade72c2fd78978a" @@ -1572,7 +1543,7 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/parser@^5.55.0", "@typescript-eslint/parser@^5.60.1": +"@typescript-eslint/parser@^5.55.0": version "5.62.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.62.0.tgz#1b63d082d849a2fcae8a569248fbe2ee1b8a56c7" integrity sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA== @@ -1582,6 +1553,17 @@ "@typescript-eslint/typescript-estree" "5.62.0" debug "^4.3.4" +"@typescript-eslint/parser@^6.4.1": + version "6.4.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.4.1.tgz#85ad550bf4ac4aa227504f1becb828f8e46c44e3" + integrity sha512-610G6KHymg9V7EqOaNBMtD1GgpAmGROsmfHJPXNLCU9bfIuLrkdOygltK784F6Crboyd5tBFayPB7Sf0McrQwg== + dependencies: + "@typescript-eslint/scope-manager" "6.4.1" + "@typescript-eslint/types" "6.4.1" + "@typescript-eslint/typescript-estree" "6.4.1" + "@typescript-eslint/visitor-keys" "6.4.1" + debug "^4.3.4" + "@typescript-eslint/scope-manager@5.62.0": version "5.62.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz#d9457ccc6a0b8d6b37d0eb252a23022478c5460c" @@ -1590,6 +1572,14 @@ "@typescript-eslint/types" "5.62.0" "@typescript-eslint/visitor-keys" "5.62.0" +"@typescript-eslint/scope-manager@6.4.1": + version "6.4.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.4.1.tgz#4b073a30be2dbe603e44e9ae0cff7e1d3ed19278" + integrity sha512-p/OavqOQfm4/Hdrr7kvacOSFjwQ2rrDVJRPxt/o0TOWdFnjJptnjnZ+sYDR7fi4OimvIuKp+2LCkc+rt9fIW+A== + dependencies: + "@typescript-eslint/types" "6.4.1" + "@typescript-eslint/visitor-keys" "6.4.1" + "@typescript-eslint/type-utils@5.62.0": version "5.62.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz#286f0389c41681376cdad96b309cedd17d70346a" @@ -1605,6 +1595,11 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.62.0.tgz#258607e60effa309f067608931c3df6fed41fd2f" integrity sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ== +"@typescript-eslint/types@6.4.1": + version "6.4.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.4.1.tgz#b2c61159f46dda210fed9f117f5d027f65bb5c3b" + integrity sha512-zAAopbNuYu++ijY1GV2ylCsQsi3B8QvfPHVqhGdDcbx/NK5lkqMnCGU53amAjccSpk+LfeONxwzUhDzArSfZJg== + "@typescript-eslint/typescript-estree@5.62.0", "@typescript-eslint/typescript-estree@^5.55.0": version "5.62.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz#7d17794b77fabcac615d6a48fb143330d962eb9b" @@ -1618,6 +1613,19 @@ semver "^7.3.7" tsutils "^3.21.0" +"@typescript-eslint/typescript-estree@6.4.1": + version "6.4.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.4.1.tgz#91ff88101c710adb0f70a317f2f65efa9441da45" + integrity sha512-xF6Y7SatVE/OyV93h1xGgfOkHr2iXuo8ip0gbfzaKeGGuKiAnzS+HtVhSPx8Www243bwlW8IF7X0/B62SzFftg== + dependencies: + "@typescript-eslint/types" "6.4.1" + "@typescript-eslint/visitor-keys" "6.4.1" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + semver "^7.5.4" + ts-api-utils "^1.0.1" + "@typescript-eslint/utils@5.62.0", "@typescript-eslint/utils@^5.55.0": version "5.62.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.62.0.tgz#141e809c71636e4a75daa39faed2fb5f4b10df86" @@ -1640,6 +1648,14 @@ "@typescript-eslint/types" "5.62.0" eslint-visitor-keys "^3.3.0" +"@typescript-eslint/visitor-keys@6.4.1": + version "6.4.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.4.1.tgz#e3ccf7b8d42e625946ac5094ed92a405fb4115e0" + integrity sha512-y/TyRJsbZPkJIZQXrHfdnxVnxyKegnpEvnRGNam7s3TRR2ykGefEWOhaef00/UUN3IZxizS7BTO3svd3lCOJRQ== + dependencies: + "@typescript-eslint/types" "6.4.1" + eslint-visitor-keys "^3.4.1" + "@webassemblyjs/ast@1.11.6", "@webassemblyjs/ast@^1.11.5": version "1.11.6" resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.6.tgz#db046555d3c413f8966ca50a95176a0e2c642e24" @@ -1873,12 +1889,12 @@ ansi-colors@4.1.1: resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== -ansi-escapes@^4.3.0: - version "4.3.2" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" - integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== +ansi-escapes@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-5.0.0.tgz#b6a0caf0eef0c41af190e9a749e0c00ec04bb2a6" + integrity sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA== dependencies: - type-fest "^0.21.3" + type-fest "^1.0.2" ansi-regex@^2.0.0: version "2.1.1" @@ -1914,7 +1930,7 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0: dependencies: color-convert "^2.0.1" -ansi-styles@^6.0.0: +ansi-styles@^6.0.0, ansi-styles@^6.1.0: version "6.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== @@ -2078,11 +2094,6 @@ assertion-error@^1.1.0: resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== -astral-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" - integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== - asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" @@ -2148,7 +2159,7 @@ babel-plugin-istanbul@^6.1.1: istanbul-lib-instrument "^5.0.4" test-exclude "^6.0.0" -babel-plugin-polyfill-corejs2@^0.4.4: +babel-plugin-polyfill-corejs2@^0.4.5: version "0.4.5" resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.5.tgz#8097b4cb4af5b64a1d11332b6fb72ef5e64a054c" integrity sha512-19hwUH5FKl49JEsvyTcoHakh6BE0wgXLLptIyKZ3PijHc/Ci521wygORCUCCred+E/twuqRyAkE02BAWPmsHOg== @@ -2157,7 +2168,7 @@ babel-plugin-polyfill-corejs2@^0.4.4: "@babel/helper-define-polyfill-provider" "^0.4.2" semver "^6.3.1" -babel-plugin-polyfill-corejs3@^0.8.2: +babel-plugin-polyfill-corejs3@^0.8.3: version "0.8.3" resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.3.tgz#b4f719d0ad9bb8e0c23e3e630c0c8ec6dd7a1c52" integrity sha512-z41XaniZL26WLrvjy7soabMXrfPWARN25PZoriDEiLMxAp50AUW3t35BGQUMg5xK3UrpVTtagIDklxYa+MhiNA== @@ -2165,7 +2176,7 @@ babel-plugin-polyfill-corejs3@^0.8.2: "@babel/helper-define-polyfill-provider" "^0.4.2" core-js-compat "^3.31.0" -babel-plugin-polyfill-regenerator@^0.5.1: +babel-plugin-polyfill-regenerator@^0.5.2: version "0.5.2" resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.2.tgz#80d0f3e1098c080c8b5a65f41e9427af692dc326" integrity sha512-tAlOptU0Xj34V1Y2PNTL4Y0FOJMDB6bZmoW39FeCQIhigGLkqu3Fj6uiXpxIf6Ij274ENdYx64y6Au+ZKlb1IA== @@ -2199,6 +2210,11 @@ bcrypt-pbkdf@^1.0.0: dependencies: tweetnacl "^0.14.3" +big-integer@^1.6.44: + version "1.6.51" + resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.51.tgz#0df92a5d9880560d3ff2d5fd20245c889d130686" + integrity sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg== + bignumber.js@^9.1.1: version "9.1.1" resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.1.1.tgz#c4df7dc496bd849d4c9464344c1aa74228b4dac6" @@ -2251,6 +2267,13 @@ body-parser@^1.19.0: type-is "~1.6.18" unpipe "1.0.0" +bplist-parser@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/bplist-parser/-/bplist-parser-0.2.0.tgz#43a9d183e5bf9d545200ceac3e712f79ebbe8d0e" + integrity sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw== + dependencies: + big-integer "^1.6.44" + brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" @@ -2344,7 +2367,7 @@ browserify-zlib@^0.2.0: dependencies: pako "~1.0.5" -browserslist@^4.14.5, browserslist@^4.21.9: +browserslist@^4.14.5, browserslist@^4.21.10, browserslist@^4.21.9: version "4.21.10" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.10.tgz#dbbac576628c13d3b2231332cb2ec5a46e015bb0" integrity sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ== @@ -2395,6 +2418,13 @@ builtins@^1.0.3: resolved "https://registry.yarnpkg.com/builtins/-/builtins-1.0.3.tgz#cb94faeb61c8696451db36534e1422f94f0aee88" integrity sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ== +bundle-name@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/bundle-name/-/bundle-name-3.0.0.tgz#ba59bcc9ac785fb67ccdbf104a2bf60c099f0e1a" + integrity sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw== + dependencies: + run-applescript "^5.0.0" + bytes@3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" @@ -2434,9 +2464,9 @@ camelcase@^6.0.0: integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== caniuse-lite@^1.0.30001517: - version "1.0.30001519" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001519.tgz#3e7b8b8a7077e78b0eb054d69e6edf5c7df35601" - integrity sha512-0QHgqR+Jv4bxHMp8kZ1Kn8CH55OikjKJ6JmKkZYP1F3D7w+lnFXF70nG5eNfsZS89jadi5Ywy5UCSKLAglIRkg== + version "1.0.30001522" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001522.tgz#44b87a406c901269adcdb834713e23582dd71856" + integrity sha512-TKiyTVZxJGhsTszLuzb+6vUZSjVOAhClszBr2Ta2k9IwtNBT/4dzmL6aywt0HCgEZlmwJzXJd8yNiob6HgwTRg== caseless@~0.12.0: version "0.12.0" @@ -2484,10 +2514,10 @@ chai@^4.3.7: pathval "^1.1.1" type-detect "^4.0.5" -chalk@5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.2.0.tgz#249623b7d66869c673699fb66d65723e54dfcfb3" - integrity sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA== +chalk@5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.3.0.tgz#67c20a7ebef70e7f3970a01f90fa210cb6860385" + integrity sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w== chalk@^1.1.3: version "1.1.3" @@ -2500,7 +2530,7 @@ chalk@^1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" -chalk@^2.0.0, chalk@^2.3.0: +chalk@^2.3.0, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -2577,20 +2607,12 @@ clean-stack@^2.0.0: resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== -cli-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" - integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== - dependencies: - restore-cursor "^3.1.0" - -cli-truncate@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7" - integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== +cli-cursor@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-4.0.0.tgz#3cecfe3734bf4fe02a8361cbdc0f6fe28c6a57ea" + integrity sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg== dependencies: - slice-ansi "^3.0.0" - string-width "^4.2.0" + restore-cursor "^4.0.0" cli-truncate@^3.1.0: version "3.1.0" @@ -2656,7 +2678,7 @@ color-name@~1.1.4: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== -colorette@^2.0.14, colorette@^2.0.19: +colorette@^2.0.14, colorette@^2.0.20: version "2.0.20" resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== @@ -2678,6 +2700,11 @@ command-exists@^1.2.8: resolved "https://registry.yarnpkg.com/command-exists/-/command-exists-1.2.9.tgz#c50725af3808c8ab0260fd60b01fbfa25b954f69" integrity sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w== +commander@11.0.0: + version "11.0.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-11.0.0.tgz#43e19c25dbedc8256203538e8d7e9346877a6f67" + integrity sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ== + commander@2.9.0: version "2.9.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" @@ -2685,7 +2712,7 @@ commander@2.9.0: dependencies: graceful-readlink ">= 1.0.0" -commander@^10.0.0, commander@^10.0.1: +commander@^10.0.1: version "10.0.1" resolved "https://registry.yarnpkg.com/commander/-/commander-10.0.1.tgz#881ee46b4f77d1c1dccc5823433aa39b022cbe06" integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug== @@ -2786,11 +2813,11 @@ cookiejar@^2.1.4: integrity sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw== core-js-compat@^3.31.0: - version "3.32.0" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.32.0.tgz#f41574b6893ab15ddb0ac1693681bd56c8550a90" - integrity sha512-7a9a3D1k4UCVKnLhrgALyFcP7YCsLOQIxPd0dKjf/6GuPcgyiGP70ewWdCGrSK7evyhymi0qO4EqCmSJofDeYw== + version "3.32.1" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.32.1.tgz#55f9a7d297c0761a8eb1d31b593e0f5b6ffae964" + integrity sha512-GSvKDv4wE0bPnQtjklV101juQ85g6H3rm5PDP20mqlS5j0kXF3pP97YvAu5hl+uFHqMictp3b2VxOHljWMAtuA== dependencies: - browserslist "^4.21.9" + browserslist "^4.21.10" core-util-is@1.0.2: version "1.0.2" @@ -2939,6 +2966,24 @@ deep-is@^0.1.3: resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== +default-browser-id@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/default-browser-id/-/default-browser-id-3.0.0.tgz#bee7bbbef1f4e75d31f98f4d3f1556a14cea790c" + integrity sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA== + dependencies: + bplist-parser "^0.2.0" + untildify "^4.0.0" + +default-browser@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/default-browser/-/default-browser-4.0.0.tgz#53c9894f8810bf86696de117a6ce9085a3cbc7da" + integrity sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA== + dependencies: + bundle-name "^3.0.0" + default-browser-id "^3.0.0" + execa "^7.1.1" + titleize "^3.0.0" + default-require-extensions@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-3.0.1.tgz#bfae00feeaeada68c2ae256c62540f60b80625bd" @@ -2946,6 +2991,11 @@ default-require-extensions@^3.0.0: dependencies: strip-bom "^4.0.0" +define-lazy-prop@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz#dbb19adfb746d7fc6d734a06b72f4a00d021255f" + integrity sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg== + define-properties@^1.1.3, define-properties@^1.1.4, define-properties@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.0.tgz#52988570670c9eacedd8064f4a990f2405849bd5" @@ -2982,11 +3032,6 @@ destroy@1.2.0: resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== -detect-node@^2.0.4: - version "2.1.0" - resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" - integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== - dezalgo@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/dezalgo/-/dezalgo-1.0.4.tgz#751235260469084c132157dfa857f386d4c33d81" @@ -3084,9 +3129,9 @@ ee-first@1.1.1: integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== electron-to-chromium@^1.4.477: - version "1.4.485" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.485.tgz#fde3ee9ee8112a3414c0dfa545385ad08ec43408" - integrity sha512-1ndQ5IBNEnFirPwvyud69GHL+31FkE09gH/CJ6m3KCbkx3i0EVOrjwz4UNxRmN9H8OVHbC6vMRZGN1yCvjSs9w== + version "1.4.497" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.497.tgz#b6d19b7c9c9a6aa71309c7df139b413d233e1ef2" + integrity sha512-9cvj6XkrgyxDySKJWYVIyq7p9bOAkH3M3jANgvWNX/F2jIAfbBN4oBNLJg1i68I8wAKVuih2IL4y1n9hqbL3Aw== elliptic@^6.5.3: version "6.5.4" @@ -3252,11 +3297,6 @@ es6-object-assign@^1.1.0: resolved "https://registry.yarnpkg.com/es6-object-assign/-/es6-object-assign-1.1.0.tgz#c2c3582656247c39ea107cb1e6652b6f9f24523c" integrity sha512-MEl9uirslVwqQU369iHNWZXsI8yaZYGg/D65aOgZkeyFJwHYSxilf7rQzXKI7DdDuBPrBXbfk3sl9hJhmd5AUw== -es6-promise@^4.2.4: - version "4.2.8" - resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a" - integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w== - escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" @@ -3292,19 +3332,19 @@ eslint-config-airbnb-base@^15.0.0: object.entries "^1.1.5" semver "^6.3.0" -eslint-config-prettier@^8.8.0: - version "8.10.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz#3a06a662130807e2502fc3ff8b4143d8a0658e11" - integrity sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg== +eslint-config-prettier@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-9.0.0.tgz#eb25485946dd0c66cd216a46232dc05451518d1f" + integrity sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw== eslint-import-resolver-node@^0.3.7: - version "0.3.7" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz#83b375187d412324a1963d84fa664377a23eb4d7" - integrity sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA== + version "0.3.9" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz#d4eaac52b8a2e7c3cd1903eb00f7e053356118ac" + integrity sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g== dependencies: debug "^3.2.7" - is-core-module "^2.11.0" - resolve "^1.22.1" + is-core-module "^2.13.0" + resolve "^1.22.4" eslint-module-utils@^2.8.0: version "2.8.0" @@ -3321,10 +3361,10 @@ eslint-plugin-es@^3.0.0: eslint-utils "^2.0.0" regexpp "^3.0.0" -eslint-plugin-import@^2.25.2: - version "2.28.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.28.0.tgz#8d66d6925117b06c4018d491ae84469eb3cb1005" - integrity sha512-B8s/n+ZluN7sxj9eUf7/pRFERX0r5bnFA2dCaLHy2ZeaQEAz0k+ZZkFWRFHJAqxfxQDx6KLv9LeIki7cFdwW+Q== +eslint-plugin-import@^2.28.1: + version "2.28.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.28.1.tgz#63b8b5b3c409bfc75ebaf8fb206b07ab435482c4" + integrity sha512-9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A== dependencies: array-includes "^3.1.6" array.prototype.findlastindex "^1.2.2" @@ -3335,13 +3375,12 @@ eslint-plugin-import@^2.25.2: eslint-import-resolver-node "^0.3.7" eslint-module-utils "^2.8.0" has "^1.0.3" - is-core-module "^2.12.1" + is-core-module "^2.13.0" is-glob "^4.0.3" minimatch "^3.1.2" object.fromentries "^2.0.6" object.groupby "^1.0.0" object.values "^1.1.6" - resolve "^1.22.3" semver "^6.3.1" tsconfig-paths "^3.14.2" @@ -3362,12 +3401,13 @@ eslint-plugin-prefer-import@^0.0.1: resolved "https://registry.yarnpkg.com/eslint-plugin-prefer-import/-/eslint-plugin-prefer-import-0.0.1.tgz#0df4e117da29109ef561d355ec19f41df0ada6f6" integrity sha512-2OKD3Bjgqkn0BvEGRwpEDhjXPSXvT3CXmWIrIavwafOkQE8FLTvFybEBT9dm7P0kHnjlNGv1AfNsL/i/GNDNHA== -eslint-plugin-prettier@^4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz#651cbb88b1dab98bfd42f017a12fa6b2d993f94b" - integrity sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ== +eslint-plugin-prettier@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-5.0.0.tgz#6887780ed95f7708340ec79acfdf60c35b9be57a" + integrity sha512-AgaZCVuYDXHUGxj/ZGu1u8H8CYgDY3iG6w5kUFw4AzMVXzB7VvbKgYR4nATIN+OvUrghMbiDLeimVjVY5ilq3w== dependencies: prettier-linter-helpers "^1.0.0" + synckit "^0.8.5" eslint-rule-composer@^0.3.0: version "0.3.0" @@ -3407,10 +3447,10 @@ eslint-visitor-keys@^2.1.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== -eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.2: - version "3.4.2" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.2.tgz#8c2095440eca8c933bedcadf16fefa44dbe9ba5f" - integrity sha512-8drBzUEyZ2llkpCA67iYrgEssKDUu68V8ChqqOfFupIaG/LCVPUT+CoGJpT77zJprs4T/W7p07LP7zAIMuweVw== +eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: + version "3.4.3" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" + integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== eslint-webpack-plugin@^4.0.1: version "4.0.1" @@ -3423,15 +3463,15 @@ eslint-webpack-plugin@^4.0.1: normalize-path "^3.0.0" schema-utils "^4.0.0" -eslint@^8.17.0, eslint@^8.45.0: - version "8.46.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.46.0.tgz#a06a0ff6974e53e643acc42d1dcf2e7f797b3552" - integrity sha512-cIO74PvbW0qU8e0mIvk5IV3ToWdCq5FYG6gWPHHkx6gNdjlbAYvtfHmlCMXxjcoVaIdwy/IAt3+mDkZkfvb2Dg== +eslint@^8.17.0, eslint@^8.47.0: + version "8.47.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.47.0.tgz#c95f9b935463fb4fad7005e626c7621052e90806" + integrity sha512-spUQWrdPt+pRVP1TTJLmfRNJJHHZryFmptzcafwSvHsceV81djHOdnEeDmkdotZyLNjDhrOasNK8nikkoG1O8Q== dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@eslint-community/regexpp" "^4.6.1" - "@eslint/eslintrc" "^2.1.1" - "@eslint/js" "^8.46.0" + "@eslint/eslintrc" "^2.1.2" + "@eslint/js" "^8.47.0" "@humanwhocodes/config-array" "^0.11.10" "@humanwhocodes/module-importer" "^1.0.1" "@nodelib/fs.walk" "^1.2.8" @@ -3442,7 +3482,7 @@ eslint@^8.17.0, eslint@^8.45.0: doctrine "^3.0.0" escape-string-regexp "^4.0.0" eslint-scope "^7.2.2" - eslint-visitor-keys "^3.4.2" + eslint-visitor-keys "^3.4.3" espree "^9.6.1" esquery "^1.4.2" esutils "^2.0.2" @@ -3519,16 +3559,16 @@ eventemitter3@^4.0.0: resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== +eventemitter3@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-5.0.1.tgz#53f5ffd0a492ac800721bb42c66b841de96423c4" + integrity sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA== + events@^3.2.0, events@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== -eventsource@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-2.0.2.tgz#76dfcc02930fb2ff339520b6d290da573a9e8508" - integrity sha512-IzUmBGPR3+oUG9dUeXynyNmf91/3zUSJg1lCktzKw47OXuhco54U3r9B7O4XX+Rb1Itm9OZ2b0RkTs10bICOxA== - evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" @@ -3537,7 +3577,7 @@ evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: md5.js "^1.3.4" safe-buffer "^5.1.1" -execa@^7.0.0: +execa@7.2.0, execa@^7.1.1: version "7.2.0" resolved "https://registry.yarnpkg.com/execa/-/execa-7.2.0.tgz#657e75ba984f42a70f38928cedc87d6f2d4fe4e9" integrity sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA== @@ -3552,6 +3592,21 @@ execa@^7.0.0: signal-exit "^3.0.7" strip-final-newline "^3.0.0" +execa@^5.0.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" + integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== + dependencies: + cross-spawn "^7.0.3" + get-stream "^6.0.0" + human-signals "^2.1.0" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.1" + onetime "^5.1.2" + signal-exit "^3.0.3" + strip-final-newline "^2.0.0" + extend@^3.0.0, extend@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" @@ -3577,7 +3632,7 @@ fast-diff@^1.1.2: resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.3.0.tgz#ece407fa550a64d638536cd727e129c61616e0f0" integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw== -fast-glob@^3.2.9: +fast-glob@^3.2.9, fast-glob@^3.3.0: version "3.3.1" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.1.tgz#784b4e897340f3dbbef17413b3f11acf03c874c4" integrity sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg== @@ -3829,9 +3884,9 @@ fs.realpath@^1.0.0: integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== fsevents@~2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" - integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + version "2.3.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== fstream@^1.0.12: version "1.0.12" @@ -3907,7 +3962,7 @@ get-package-type@^0.1.0: resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== -get-stream@^6.0.1: +get-stream@^6.0.0, get-stream@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== @@ -3988,9 +4043,9 @@ globals@^11.1.0: integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== globals@^13.19.0: - version "13.20.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.20.0.tgz#ea276a1e508ffd4f1612888f9d1bad1e2717bf82" - integrity sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ== + version "13.21.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.21.0.tgz#163aae12f34ef502f5153cfbdd3600f36c63c571" + integrity sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg== dependencies: type-fest "^0.20.2" @@ -4196,6 +4251,11 @@ https-browserify@^1.0.0: resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" integrity sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg== +human-signals@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" + integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== + human-signals@^4.3.0: version "4.3.1" resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-4.3.1.tgz#ab7f811e851fca97ffbd2c1fe9a958964de321b2" @@ -4330,10 +4390,10 @@ is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== -is-core-module@^2.11.0, is-core-module@^2.12.0, is-core-module@^2.12.1, is-core-module@^2.5.0: - version "2.12.1" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.12.1.tgz#0c0b6885b6f80011c71541ce15c8d66cf5a4f9fd" - integrity sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg== +is-core-module@^2.13.0, is-core-module@^2.5.0: + version "2.13.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.0.tgz#bb52aa6e2cbd49a30c2ba68c42bf3435ba6072db" + integrity sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ== dependencies: has "^1.0.3" @@ -4349,6 +4409,11 @@ is-docker@^2.0.0: resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== +is-docker@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-3.0.0.tgz#90093aa3106277d8a77a5910dbae71747e15a200" + integrity sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ== + is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" @@ -4385,6 +4450,13 @@ is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: dependencies: is-extglob "^2.1.1" +is-inside-container@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-inside-container/-/is-inside-container-1.0.0.tgz#e81fba699662eb31dbdaf26766a61d4814717ea4" + integrity sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA== + dependencies: + is-docker "^3.0.0" + is-ip@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-ip/-/is-ip-2.0.0.tgz#68eea07e8a0a0a94c2d080dd674c731ab2a461ab" @@ -4615,12 +4687,12 @@ istanbul-reports@^3.0.2, istanbul-reports@^3.0.5: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" -jest-util@^29.6.2: - version "29.6.2" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.6.2.tgz#8a052df8fff2eebe446769fd88814521a517664d" - integrity sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w== +jest-util@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.6.3.tgz#e15c3eac8716440d1ed076f09bc63ace1aebca63" + integrity sha512-QUjna/xSy4B32fzcKTSz1w7YYzgiHrjjJjevdRf61HYk998R5vVMMNmrHESYZVDS5DSWs+1srPLPKxXPkeSDOA== dependencies: - "@jest/types" "^29.6.1" + "@jest/types" "^29.6.3" "@types/node" "*" chalk "^4.0.0" ci-info "^3.2.0" @@ -4637,12 +4709,12 @@ jest-worker@^27.4.5: supports-color "^8.0.0" jest-worker@^29.5.0: - version "29.6.2" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.6.2.tgz#682fbc4b6856ad0aa122a5403c6d048b83f3fb44" - integrity sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ== + version "29.6.3" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.6.3.tgz#7b1a47bbb6559f3c0882d16595938590e63915d5" + integrity sha512-wacANXecZ/GbQakpf2CClrqrlwsYYDSXFd4fIGdL+dXpM2GWoJ+6bhQ7vR3TKi3+gkSfBkjy1/khH/WrYS4Q6g== dependencies: "@types/node" "*" - jest-util "^29.6.2" + jest-util "^29.6.3" merge-stream "^2.0.0" supports-color "^8.0.0" @@ -4910,38 +4982,33 @@ linkify-it@^3.0.1: dependencies: uc.micro "^1.0.1" -lint-staged@^13.2.3: - version "13.2.3" - resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-13.2.3.tgz#f899aad6c093473467e9c9e316e3c2d8a28f87a7" - integrity sha512-zVVEXLuQIhr1Y7R7YAWx4TZLdvuzk7DnmrsTNL0fax6Z3jrpFcas+vKbzxhhvp6TA55m1SQuWkpzI1qbfDZbAg== +lint-staged@^14.0.1: + version "14.0.1" + resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-14.0.1.tgz#57dfa3013a3d60762d9af5d9c83bdb51291a6232" + integrity sha512-Mw0cL6HXnHN1ag0mN/Dg4g6sr8uf8sn98w2Oc1ECtFto9tvRF7nkXGJRbx8gPlHyoR0pLyBr2lQHbWwmUHe1Sw== dependencies: - chalk "5.2.0" - cli-truncate "^3.1.0" - commander "^10.0.0" - debug "^4.3.4" - execa "^7.0.0" + chalk "5.3.0" + commander "11.0.0" + debug "4.3.4" + execa "7.2.0" lilconfig "2.1.0" - listr2 "^5.0.7" - micromatch "^4.0.5" - normalize-path "^3.0.0" - object-inspect "^1.12.3" - pidtree "^0.6.0" - string-argv "^0.3.1" - yaml "^2.2.2" + listr2 "6.6.1" + micromatch "4.0.5" + pidtree "0.6.0" + string-argv "0.3.2" + yaml "2.3.1" -listr2@^5.0.7: - version "5.0.8" - resolved "https://registry.yarnpkg.com/listr2/-/listr2-5.0.8.tgz#a9379ffeb4bd83a68931a65fb223a11510d6ba23" - integrity sha512-mC73LitKHj9w6v30nLNGPetZIlfpUniNSsxxrbaPcWOjDb92SHPzJPi/t+v1YC/lxKz/AJ9egOjww0qUuFxBpA== +listr2@6.6.1: + version "6.6.1" + resolved "https://registry.yarnpkg.com/listr2/-/listr2-6.6.1.tgz#08b2329e7e8ba6298481464937099f4a2cd7f95d" + integrity sha512-+rAXGHh0fkEWdXBmX+L6mmfmXmXvDGEKzkjxO+8mP3+nI/r/CWznVBvsibXdxda9Zz0OW2e2ikphN3OwCT/jSg== dependencies: - cli-truncate "^2.1.0" - colorette "^2.0.19" - log-update "^4.0.0" - p-map "^4.0.0" + cli-truncate "^3.1.0" + colorette "^2.0.20" + eventemitter3 "^5.0.1" + log-update "^5.0.1" rfdc "^1.3.0" - rxjs "^7.8.0" - through "^2.3.8" - wrap-ansi "^7.0.0" + wrap-ansi "^8.1.0" loader-runner@^4.2.0: version "4.3.0" @@ -5027,15 +5094,16 @@ log-symbols@4.1.0: chalk "^4.1.0" is-unicode-supported "^0.1.0" -log-update@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1" - integrity sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg== +log-update@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/log-update/-/log-update-5.0.1.tgz#9e928bf70cb183c1f0c9e91d9e6b7115d597ce09" + integrity sha512-5UtUDQ/6edw4ofyljDNcOVJQ4c7OjDro4h3y8e1GQL5iYElYclVHJ3zeWchylvMaKnDbDilC8irOVyexnA/Slw== dependencies: - ansi-escapes "^4.3.0" - cli-cursor "^3.1.0" - slice-ansi "^4.0.0" - wrap-ansi "^6.2.0" + ansi-escapes "^5.0.0" + cli-cursor "^4.0.0" + slice-ansi "^5.0.0" + strip-ansi "^7.0.1" + wrap-ansi "^8.0.1" log4js@^6.4.1: version "6.9.1" @@ -5156,7 +5224,7 @@ methods@^1.1.2: resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== -micromatch@^4.0.4, micromatch@^4.0.5: +micromatch@4.0.5, micromatch@^4.0.4, micromatch@^4.0.5: version "4.0.5" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== @@ -5415,6 +5483,13 @@ normalize-path@^3.0.0, normalize-path@~3.0.0: semver "^7.3.4" validate-npm-package-name "^3.0.0" +npm-run-path@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + dependencies: + path-key "^3.0.0" + npm-run-path@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-5.1.0.tgz#bc62f7f3f6952d9894bd08944ba011a6ee7b7e00" @@ -5566,7 +5641,7 @@ once@^1.3.0, once@^1.4.0: dependencies: wrappy "1" -onetime@^5.1.0: +onetime@^5.1.0, onetime@^5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== @@ -5580,6 +5655,16 @@ onetime@^6.0.0: dependencies: mimic-fn "^4.0.0" +open@^9.1.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/open/-/open-9.1.0.tgz#684934359c90ad25742f5a26151970ff8c6c80b6" + integrity sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg== + dependencies: + default-browser "^4.0.0" + define-lazy-prop "^3.0.0" + is-inside-container "^1.0.0" + is-wsl "^2.2.0" + opt-cli@1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/opt-cli/-/opt-cli-1.5.1.tgz#04db447b13c96b992eb31685266f4ed0d9736dc2" @@ -5663,13 +5748,6 @@ p-map@^3.0.0: dependencies: aggregate-error "^3.0.0" -p-map@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" - integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== - dependencies: - aggregate-error "^3.0.0" - p-try@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" @@ -5743,7 +5821,7 @@ path-is-absolute@^1.0.0: resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== -path-key@^3.1.0: +path-key@^3.0.0, path-key@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== @@ -5801,7 +5879,7 @@ picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== -pidtree@^0.6.0: +pidtree@0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.6.0.tgz#90ad7b6d42d5841e69e0a2419ef38f8883aa057c" integrity sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g== @@ -5849,10 +5927,10 @@ prettier-linter-helpers@^1.0.0: dependencies: fast-diff "^1.1.2" -prettier@^2.8.8: - version "2.8.8" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" - integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== +prettier@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.0.2.tgz#78fcecd6d870551aa5547437cdae39d4701dca5b" + integrity sha512-o2YR9qtniXvwEZlOKbveKfDQVyqxbEIWn48Z8m3ZJjBjcCmUy3xZGIv+7AkaeuaTr6yPXJjwv07ZWlsWbEy1rQ== process-nextick-args@~2.0.0: version "2.0.1" @@ -6026,15 +6104,15 @@ regenerate@^1.4.2: resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== -regenerator-runtime@^0.13.11: - version "0.13.11" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9" - integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== +regenerator-runtime@^0.14.0: + version "0.14.0" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz#5e19d68eb12d486f797e15a3c6a918f7cec5eb45" + integrity sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA== -regenerator-transform@^0.15.1: - version "0.15.1" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.1.tgz#f6c4e99fc1b4591f780db2586328e4d9a9d8dc56" - integrity sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg== +regenerator-transform@^0.15.2: + version "0.15.2" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.2.tgz#5bbae58b522098ebdf09bca2f83838929001c7a4" + integrity sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg== dependencies: "@babel/runtime" "^7.8.4" @@ -6148,28 +6226,19 @@ resolve-from@^5.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== -resolve@^1.10.1, resolve@^1.14.2, resolve@^1.20.0, resolve@^1.22.1, resolve@^1.3.2: - version "1.22.2" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.2.tgz#0ed0943d4e301867955766c9f3e1ae6d01c6845f" - integrity sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g== - dependencies: - is-core-module "^2.11.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -resolve@^1.22.3: - version "1.22.3" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.3.tgz#4b4055349ffb962600972da1fdc33c46a4eb3283" - integrity sha512-P8ur/gp/AmbEzjr729bZnLjXK5Z+4P0zhIJgBgzqRih7hL7BOukHGtSTA3ACMY467GRFz3duQsi0bDZdR7DKdw== +resolve@^1.10.1, resolve@^1.14.2, resolve@^1.20.0, resolve@^1.22.4, resolve@^1.3.2: + version "1.22.4" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.4.tgz#1dc40df46554cdaf8948a486a10f6ba1e2026c34" + integrity sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg== dependencies: - is-core-module "^2.12.0" + is-core-module "^2.13.0" path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" -restore-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" - integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== +restore-cursor@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-4.0.0.tgz#519560a4318975096def6e609d44100edaa4ccb9" + integrity sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg== dependencies: onetime "^5.1.0" signal-exit "^3.0.2" @@ -6211,6 +6280,13 @@ ripemd160@^2.0.0, ripemd160@^2.0.1: hash-base "^3.0.0" inherits "^2.0.1" +run-applescript@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/run-applescript/-/run-applescript-5.0.0.tgz#e11e1c932e055d5c6b40d98374e0268d9b11899c" + integrity sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg== + dependencies: + execa "^5.0.0" + run-parallel@^1.1.9: version "1.2.0" resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" @@ -6218,13 +6294,6 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" -rxjs@^7.8.0: - version "7.8.1" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.1.tgz#6f6f3d99ea8044291efd92e7c7fcf562c4057543" - integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== - dependencies: - tslib "^2.1.0" - safe-array-concat@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.0.0.tgz#2064223cba3c08d2ee05148eedbc563cd6d84060" @@ -6278,7 +6347,7 @@ schema-utils@^4.0.0: ajv-formats "^2.1.1" ajv-keywords "^5.1.0" -"semver@2 >=2.2.1 || 3.x || 4 || 5 || 7", semver@^7.3.4, semver@^7.3.7, semver@^7.3.8, semver@^7.5.3: +"semver@2 >=2.2.1 || 3.x || 4 || 5 || 7", semver@^7.3.4, semver@^7.3.7, semver@^7.3.8, semver@^7.5.2, semver@^7.5.3, semver@^7.5.4: version "7.5.4" resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== @@ -6290,7 +6359,7 @@ semver@^5.3.0, semver@^5.6.0: resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== -semver@^6.0.0, semver@^6.1.0, semver@^6.2.0, semver@^6.3.0, semver@^6.3.1: +semver@^6.0.0, semver@^6.1.0, semver@^6.3.0, semver@^6.3.1: version "6.3.1" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== @@ -6360,7 +6429,7 @@ side-channel@^1.0.4: get-intrinsic "^1.0.2" object-inspect "^1.9.0" -signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.7: +signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: version "3.0.7" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== @@ -6392,24 +6461,6 @@ slash@^3.0.0: resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== -slice-ansi@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" - integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ== - dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" - -slice-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" - integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== - dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" - slice-ansi@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-5.0.0.tgz#b73063c57aa96f9cd881654b15294d95d285c42a" @@ -6597,7 +6648,7 @@ streamroller@^3.1.5: debug "^4.3.4" fs-extra "^8.1.0" -string-argv@^0.3.1: +string-argv@0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.2.tgz#2b6d0ef24b656274d957d54e0a4bbf6153dc02b6" integrity sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q== @@ -6620,7 +6671,7 @@ string-width@^1.0.1: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" -string-width@^5.0.0: +string-width@^5.0.0, string-width@^5.0.1: version "5.1.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== @@ -6701,6 +6752,11 @@ strip-bom@^4.0.0: resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + strip-final-newline@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd" @@ -6717,9 +6773,9 @@ strip-json-comments@^2.0.1: integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== superagent@^8.0.9: - version "8.0.9" - resolved "https://registry.yarnpkg.com/superagent/-/superagent-8.0.9.tgz#2c6fda6fadb40516515f93e9098c0eb1602e0535" - integrity sha512-4C7Bh5pyHTvU33KpZgwrNKh/VQnvgtCSqPRfJAUdmrtSYePVzVg4E4OzsrbkhJj9O7SO6Bnv75K/F8XVZT8YHA== + version "8.1.2" + resolved "https://registry.yarnpkg.com/superagent/-/superagent-8.1.2.tgz#03cb7da3ec8b32472c9d20f6c2a57c7f3765f30b" + integrity sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA== dependencies: component-emitter "^1.3.0" cookiejar "^2.1.4" @@ -6763,6 +6819,14 @@ supports-preserve-symlinks-flag@^1.0.0: resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== +synckit@^0.8.5: + version "0.8.5" + resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.8.5.tgz#b7f4358f9bb559437f9f167eb6bc46b3c9818fa3" + integrity sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q== + dependencies: + "@pkgr/utils" "^2.3.1" + tslib "^2.5.0" + taffydb@^2.7.3: version "2.7.3" resolved "https://registry.yarnpkg.com/taffydb/-/taffydb-2.7.3.tgz#2ad37169629498fca5bc84243096d3cde0ec3a34" @@ -6831,11 +6895,6 @@ text-table@^0.2.0: resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== -through@^2.3.8: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== - timers-browserify@^2.0.12: version "2.0.12" resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee" @@ -6843,6 +6902,11 @@ timers-browserify@^2.0.12: dependencies: setimmediate "^1.0.4" +titleize@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/titleize/-/titleize-3.0.0.tgz#71c12eb7fdd2558aa8a44b0be83b8a76694acd53" + integrity sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ== + tmp@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14" @@ -6867,11 +6931,6 @@ toidentifier@1.0.1: resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== -toml@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/toml/-/toml-3.0.0.tgz#342160f1af1904ec9d204d03a5d61222d762c5ee" - integrity sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w== - tough-cookie@~2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" @@ -6880,6 +6939,11 @@ tough-cookie@~2.5.0: psl "^1.1.28" punycode "^2.1.1" +ts-api-utils@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.0.2.tgz#7c094f753b6705ee4faee25c3c684ade52d66d99" + integrity sha512-Cbu4nIqnEdd+THNEsBdkolnOXhg0I8XteoHaEKgvsxpsbWda4IsUut2c187HxywQCvveojow0Dgw/amxtSKVkQ== + ts-node@^10.9.1: version "10.9.1" resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b" @@ -6914,10 +6978,10 @@ tslib@^1.8.0, tslib@^1.8.1: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^2.1.0: - version "2.6.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.1.tgz#fd8c9a0ff42590b25703c0acb3de3d3f4ede0410" - integrity sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig== +tslib@^2.5.0, tslib@^2.6.0: + version "2.6.2" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" + integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== tslint@5.14.0: version "5.14.0" @@ -6991,16 +7055,16 @@ type-fest@^0.20.2: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== -type-fest@^0.21.3: - version "0.21.3" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" - integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== - type-fest@^0.8.0: version "0.8.1" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== +type-fest@^1.0.2: + version "1.4.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-1.4.0.tgz#e9fb813fe3bf1744ec359d55d1affefa76f14be1" + integrity sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA== + type-fest@^2.14.0: version "2.19.0" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.19.0.tgz#88068015bb33036a598b952e55e9311a60fd3a9b" @@ -7128,6 +7192,11 @@ unpipe@1.0.0, unpipe@~1.0.0: resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== +untildify@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/untildify/-/untildify-4.0.0.tgz#2bc947b953652487e4600949fb091e3ae8cd919b" + integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw== + update-browserslist-db@^1.0.11: version "1.0.11" resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz#9a2a641ad2907ae7b3616506f4b977851db5b940" @@ -7389,6 +7458,15 @@ wrap-ansi@^7.0.0: string-width "^4.1.0" strip-ansi "^6.0.0" +wrap-ansi@^8.0.1, wrap-ansi@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" + integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== + dependencies: + ansi-styles "^6.1.0" + string-width "^5.0.1" + strip-ansi "^7.0.1" + wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" @@ -7439,7 +7517,7 @@ yallist@^4.0.0: resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== -yaml@^2.2.2: +yaml@2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.1.tgz#02fe0975d23cd441242aa7204e09fc28ac2ac33b" integrity sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==