From 8913b8697e8524f9fac73a7cc1ba9541b13fcb0a Mon Sep 17 00:00:00 2001 From: "vittorio.guerriero" Date: Mon, 25 Dec 2023 10:08:30 +0000 Subject: [PATCH] fix(typescript): add support to typescript 5.3 Replace winston in favour of simple logging implementation Update some dependencies --- package-lock.json | 3284 +++++++++++------ package.json | 31 +- src/create-hydrated-mock.ts | 2 +- src/create-mock-list.ts | 2 +- src/extension/extension.ts | 2 +- src/extension/extensionHandler.ts | 14 +- src/extension/method/extensionMethod.ts | 6 +- src/extension/method/function.ts | 2 +- src/extension/on/on.ts | 2 +- src/logger/consoleLogger.ts | 39 +- src/logger/fileLogger.ts | 54 +- src/logger/logger.ts | 64 +- src/logger/messageFormatter.ts | 5 + src/logger/silentLogger.ts | 10 + src/merge/merge.ts | 6 +- src/options/files.ts | 2 +- src/options/options.ts | 4 +- src/partial/partial.ts | 36 +- src/transformer/array/array.ts | 2 +- src/transformer/base/base.ts | 18 +- src/transformer/custom-transformer.ts | 6 +- .../customFunctions/create-hydrated-mock.ts | 2 +- .../customFunctions/create-mock-list.ts | 2 +- .../customFunctions/create-mock.ts | 2 +- .../helpers/assert-type-argument-presence.ts | 4 +- .../custom-function-with-type-argument.ts | 6 +- .../customFunctions/register-mock.ts | 2 +- .../callExpression/callExpression.ts | 6 +- .../descriptor/class/classDeclaration.ts | 2 +- .../descriptor/constructor/constructorType.ts | 2 +- src/transformer/descriptor/descriptor.ts | 34 +- .../descriptor/enum/enumDeclaration.ts | 6 +- .../expression/expressionWithTypeArguments.ts | 2 +- .../descriptor/getAccessor/getAccessor.ts | 2 +- src/transformer/descriptor/helper/helper.ts | 26 +- .../descriptor/identifier/identifier.ts | 6 +- src/transformer/descriptor/import/import.ts | 2 +- .../descriptor/import/importEquals.ts | 4 +- .../descriptor/indexedAccess/indexedAccess.ts | 16 +- .../interface/interfaceDeclaration.ts | 2 +- .../descriptor/intersection/intersection.ts | 4 +- src/transformer/descriptor/literal/literal.ts | 4 +- src/transformer/descriptor/mapped/mapped.ts | 6 +- .../descriptor/method/bodyReturnType.ts | 6 +- .../descriptor/method/functionAssignment.ts | 4 +- .../descriptor/method/functionReturnType.ts | 2 +- .../descriptor/method/functionType.ts | 2 +- src/transformer/descriptor/method/method.ts | 10 +- .../descriptor/method/methodDeclaration.ts | 4 +- .../descriptor/method/methodSignature.ts | 2 +- src/transformer/descriptor/mock/mockCall.ts | 30 +- src/transformer/descriptor/mock/mockMarker.ts | 8 +- .../descriptor/mock/mockProperties.ts | 18 +- .../mock/mockPropertiesAssignments.ts | 28 +- src/transformer/descriptor/module/module.ts | 31 +- .../descriptor/objectLiteral/objectLiteral.ts | 2 +- .../descriptor/parameter/parameter.ts | 2 +- .../descriptor/parenthesized/parenthesized.ts | 2 +- .../getParenthesizedExpressionDescriptor.ts | 2 +- .../descriptor/properties/properties.ts | 6 +- .../descriptor/property/propertySignature.ts | 2 +- src/transformer/descriptor/random/random.ts | 6 +- .../shorthandPropertyAssignment.ts | 4 +- src/transformer/descriptor/string/string.ts | 2 +- .../descriptor/tsLibs/typecriptLibs.ts | 16 +- src/transformer/descriptor/tuple/tuple.ts | 8 +- src/transformer/descriptor/type/type.ts | 6 +- .../descriptor/typeAlias/typeAlias.ts | 2 +- .../descriptor/typeLiteral/typeLiteral.ts | 2 +- .../typeNode/convertNodeToTypeNode.ts | 6 +- .../descriptor/typeOperator/typeOperator.ts | 4 +- .../descriptor/typeParameter/typeParameter.ts | 50 +- .../descriptor/typeQuery/enumTypeQuery.ts | 13 +- .../descriptor/typeQuery/typeQuery.ts | 28 +- .../descriptor/typeReference/typeReference.ts | 4 +- src/transformer/descriptor/union/union.ts | 6 +- .../descriptor/variable/variable.ts | 10 +- .../genericDeclaration.interface.ts | 4 +- .../genericDeclaration/genericDeclaration.ts | 44 +- .../genericDeclarationSupported.ts | 2 +- src/transformer/helper/import.ts | 2 +- src/transformer/logger/transformerLogger.ts | 28 +- src/transformer/matcher/matcher.ts | 6 +- .../mergeExpression/mergeExpression.ts | 8 +- src/transformer/mock/currentCreateMockNode.ts | 2 +- src/transformer/mock/mock.ts | 46 +- .../mockDefiner/cache/declarationListCache.ts | 4 +- .../mockDefiner/factoryUniqueName.ts | 4 +- src/transformer/mockDefiner/mockDefiner.ts | 98 +- .../modules/moduleImportIdentifierPerFile.ts | 6 +- .../mockFactoryCall/mockFactoryCall.ts | 31 +- src/transformer/printNode.ts | 2 +- src/transformer/transformer.ts | 4 +- src/typescriptFactory/typescriptFactory.ts | 110 +- test/build/build.test.ts | 12 +- test/framework/config.ts | 2 +- test/frameworkContext/context.ts | 2 +- test/frameworkContext/contextDeprecated.ts | 2 +- .../create-mock-list-values.test.ts | 4 +- test/frameworkContext/on.test.ts | 2 +- test/frameworkContext/typings.test.ts | 2 +- test/logs/conditionalType.ts | 16 +- test/logs/createMock.warning.test.ts | 8 +- test/logs/createMockList.warning.test.ts | 8 +- .../indexedAccess.warning.test.ts | 8 +- test/logs/keyof/keyof.warning.test.ts | 8 +- .../missingTypeDefinition.warning.test.ts | 8 +- .../untypedProperty.warning.test.ts | 8 +- test/logs/utils/log.ts | 4 +- test/noTransformer/noTransformer.test.ts | 8 +- .../extensionStrategy.test.ts | 2 +- test/registerMock/generics/generics.test.ts | 4 +- test/registerMock/typeQuery/typeQuery.test.ts | 4 +- .../create-mock-list-values.test.ts | 2 +- .../functions/functionsWithoutTypes.test.ts | 4 +- test/transformer/descriptor/this/this.test.ts | 2 +- .../descriptor/typeQuery/typeQuery.test.ts | 2 +- 117 files changed, 2743 insertions(+), 1841 deletions(-) create mode 100644 src/logger/messageFormatter.ts create mode 100644 src/logger/silentLogger.ts diff --git a/package-lock.json b/package-lock.json index e3d6e92d4..2e571a089 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,8 +10,7 @@ "license": "MIT", "dependencies": { "lodash-es": "4.17.21", - "micromatch": "4.0.5", - "winston": "3.7.2" + "micromatch": "4.0.5" }, "devDependencies": { "@commitlint/cli": "17.3.0", @@ -19,12 +18,12 @@ "@semantic-release/changelog": "6.0.1", "@semantic-release/git": "10.0.1", "@semantic-release/github": "8.0.6", - "@types/jasmine": "4.3.0", + "@types/jasmine": "^5.1.4", "@types/lodash-es": "4.17.7", "@types/micromatch": "4.0.2", "@types/node": "16.18.31", - "@typescript-eslint/eslint-plugin": "5.35.1", - "@typescript-eslint/parser": "5.59.6", + "@typescript-eslint/eslint-plugin": "^6.15.0", + "@typescript-eslint/parser": "^6.15.0", "all-contributors-cli": "6.20.0", "clean-webpack-plugin": "4.0.0", "commitizen": "4.2.5", @@ -32,25 +31,25 @@ "cross-env": "7.0.3", "cross-var": "1.1.0", "cz-customizable": "6.9.2", - "eslint": "8.22.0", - "eslint-config-prettier": "8.8.0", + "eslint": "^8.56.0", + "eslint-config-prettier": "^9.1.0", "eslint-plugin-import": "2.26.0", - "eslint-plugin-prettier": "4.2.1", - "eslint-webpack-plugin": "3.2.0", + "eslint-plugin-prettier": "^5.1.2", + "eslint-webpack-plugin": "^4.0.1", "git-branch-is": "4.0.0", "husky": "8.0.1", - "jasmine": "4.3.0", + "jasmine": "^5.1.0", "jasmine-spec-reporter": "7.0.0", "no-emit-webpack-plugin": "4.0.1", - "prettier": "2.8.8", + "prettier": "^3.1.1", "regenerator-runtime": "0.13.11", "semantic-release": "19.0.5", "semantic-release-slack-bot": "3.5.3", - "ts-loader": "9.3.1", - "ts-node": "10.9.1", - "ts-patch": "^3.0.0-beta3", + "ts-loader": "^9.5.1", + "ts-node": "^10.9.2", + "ts-patch": "^3.1.1", "tsconfig-paths": "4.2.0", - "typescript": "^5.0.4", + "typescript": "^5.3.3", "webpack": "5.76.1", "webpack-cli": "4.10.0", "webpack-merge": "5.8.0", @@ -64,6 +63,15 @@ "typescript": "^5.0.4" } }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/@babel/code-frame": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", @@ -126,6 +134,8 @@ "version": "1.5.0", "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "dev": true, + "optional": true, "engines": { "node": ">=0.1.90" } @@ -563,16 +573,6 @@ "node": ">=12" } }, - "node_modules/@dabh/diagnostics": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.3.tgz", - "integrity": "sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==", - "dependencies": { - "colorspace": "1.1.x", - "enabled": "2.0.x", - "kuler": "^2.0.0" - } - }, "node_modules/@discoveryjs/json-ext": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", @@ -582,56 +582,232 @@ "node": ">=10.0.0" } }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, "node_modules/@eslint/eslintrc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.0.tgz", - "integrity": "sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", "dev": true, "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.3.2", - "globals": "^13.15.0", + "espree": "^9.6.0", + "globals": "^13.19.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", "minimatch": "^3.1.2", "strip-json-comments": "^3.1.1" }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/js": { + "version": "8.56.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.56.0.tgz", + "integrity": "sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==", + "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.4.tgz", - "integrity": "sha512-mXAIHxZT3Vcpg83opl1wGlVZ9xydbfZO3r5YfRSH6Gpp2J/PfdBP0wbDa2sO6/qRbcalpoevVyW6A/fI6LfeMw==", + "version": "0.11.13", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", + "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", "dev": true, "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", + "@humanwhocodes/object-schema": "^2.0.1", "debug": "^4.1.1", - "minimatch": "^3.0.4" + "minimatch": "^3.0.5" }, "engines": { "node": ">=10.10.0" } }, - "node_modules/@humanwhocodes/gitignore-to-minimatch": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz", - "integrity": "sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA==", + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true, + "engines": { + "node": ">=12.22" + }, "funding": { "type": "github", "url": "https://github.com/sponsors/nzakas" } }, "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", + "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", + "dev": true + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", "dev": true }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "dev": true, + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", @@ -691,12 +867,12 @@ } }, "node_modules/@nodelib/fs.scandir": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz", - "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==", + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, "dependencies": { - "@nodelib/fs.stat": "2.0.3", + "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" }, "engines": { @@ -704,21 +880,21 @@ } }, "node_modules/@nodelib/fs.stat": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz", - "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true, "engines": { "node": ">= 8" } }, "node_modules/@nodelib/fs.walk": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz", - "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==", + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, "dependencies": { - "@nodelib/fs.scandir": "2.1.3", + "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" }, "engines": { @@ -897,6 +1073,42 @@ "@octokit/openapi-types": "^12.7.0" } }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@pkgr/utils": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@pkgr/utils/-/utils-2.4.2.tgz", + "integrity": "sha512-POgTXhjrTfbTV63DiFXav4lBHiICLKKwDeaKn9Nphwj7WH6m0hMMCaJkMyRWjgtPFyRKRVoMXXjczsTQRDEhYw==", + "dev": true, + "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" + }, + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "node_modules/@pkgr/utils/node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true + }, "node_modules/@semantic-release/changelog": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/@semantic-release/changelog/-/changelog-6.0.1.tgz", @@ -1138,6 +1350,12 @@ "semantic-release": ">=18.0.0-beta.1" } }, + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, "node_modules/@tootallnate/once": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", @@ -1178,9 +1396,9 @@ "dev": true }, "node_modules/@types/eslint": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.1.tgz", - "integrity": "sha512-GE44+DNEyxxh2Kc6ro/VkIj+9ma0pO0bwv9+uHSyBrikYOHr8zYcdPvnBOp1aw8s+CjRvuSx7CyWqRrNFQ59mA==", + "version": "8.56.0", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.0.tgz", + "integrity": "sha512-FlsN0p4FhuYRjIxpbdXovvHQhtlG05O1GG/RNWvdAxTboR438IOTwmrY/vLA+Xfgg06BTkP045M3vpFwTMv1dg==", "dev": true, "dependencies": { "@types/estree": "*", @@ -1213,16 +1431,40 @@ "@types/node": "*" } }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", + "dev": true + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, "node_modules/@types/jasmine": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-4.3.0.tgz", - "integrity": "sha512-u1jWakf8CWvLfSEZyxmzkgBzOEvXH/szpT0e6G8BTkx5Eu0BhDn7sbc5dz0JBN/6Wwm9rBe+JAsk9tJRyH9ZkA==", + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-5.1.4.tgz", + "integrity": "sha512-px7OMFO/ncXxixDe1zR13V1iycqWae0MxTaw62RpFlksUi5QuNWgQJFkTQjIOvrmutJbI7Fp2Y2N1F6D2R4G6w==", "dev": true }, "node_modules/@types/json-schema": { - "version": "7.0.11", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", "dev": true }, "node_modules/@types/json5": { @@ -1300,38 +1542,61 @@ "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", "dev": true }, + "node_modules/@types/semver": { + "version": "7.5.6", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.6.tgz", + "integrity": "sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==", + "dev": true + }, "node_modules/@types/unist": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz", "integrity": "sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==", "dev": true }, + "node_modules/@types/yargs": { + "version": "17.0.32", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", + "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "dev": true + }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.35.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.35.1.tgz", - "integrity": "sha512-RBZZXZlI4XCY4Wzgy64vB+0slT9+yAPQRjj/HSaRwUot33xbDjF1oN9BLwOLTewoOI0jothIltZRe9uJCHf8gg==", + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.15.0.tgz", + "integrity": "sha512-j5qoikQqPccq9QoBAupOP+CBu8BaJ8BLjaXSioDISeTZkVO3ig7oSIKh3H+rEpee7xCXtWwSB4KIL5l6hWZzpg==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.35.1", - "@typescript-eslint/type-utils": "5.35.1", - "@typescript-eslint/utils": "5.35.1", + "@eslint-community/regexpp": "^4.5.1", + "@typescript-eslint/scope-manager": "6.15.0", + "@typescript-eslint/type-utils": "6.15.0", + "@typescript-eslint/utils": "6.15.0", + "@typescript-eslint/visitor-keys": "6.15.0", "debug": "^4.3.4", - "functional-red-black-tree": "^1.0.1", - "ignore": "^5.2.0", - "regexpp": "^3.2.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "graphemer": "^1.4.0", + "ignore": "^5.2.4", + "natural-compare": "^1.4.0", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha", + "eslint": "^7.0.0 || ^8.0.0" }, "peerDependenciesMeta": { "typescript": { @@ -1339,82 +1604,42 @@ } } }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/scope-manager": { - "version": "5.35.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.35.1.tgz", - "integrity": "sha512-kCYRSAzIW9ByEIzmzGHE50NGAvAP3wFTaZevgWva7GpquDyFPFcmvVkFJGWJJktg/hLwmys/FZwqM9EKr2u24Q==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.35.1", - "@typescript-eslint/visitor-keys": "5.35.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/types": { - "version": "5.35.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.35.1.tgz", - "integrity": "sha512-FDaujtsH07VHzG0gQ6NDkVVhi1+rhq0qEvzHdJAQjysN+LHDCKDKCBRlZFFE0ec0jKxiv0hN63SNfExy0KrbQQ==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/visitor-keys": { - "version": "5.35.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.35.1.tgz", - "integrity": "sha512-cEB1DvBVo1bxbW/S5axbGPE6b7FIMAbo3w+AGq6zNDA7+NYJOIkKj/sInfTv4edxd4PxJSgdN4t6/pbvgA+n5g==", + "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.35.1", - "eslint-visitor-keys": "^3.3.0" + "lru-cache": "^6.0.0" }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "bin": { + "semver": "bin/semver.js" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/eslint-visitor-keys": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", - "dev": true, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=10" } }, "node_modules/@typescript-eslint/parser": { - "version": "5.59.6", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.6.tgz", - "integrity": "sha512-7pCa6al03Pv1yf/dUg/s1pXz/yGMUBAw5EeWqNTFiSueKvRNonze3hma3lhdsOrQcaOXhbk5gKu2Fludiho9VA==", + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.15.0.tgz", + "integrity": "sha512-MkgKNnsjC6QwcMdlNAel24jjkEO/0hQaMDLqP4S9zq5HBAUJNQB6y+3DwLjX7b3l2b37eNAxMPLwb3/kh8VKdA==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.59.6", - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/typescript-estree": "5.59.6", + "@typescript-eslint/scope-manager": "6.15.0", + "@typescript-eslint/types": "6.15.0", + "@typescript-eslint/typescript-estree": "6.15.0", + "@typescript-eslint/visitor-keys": "6.15.0", "debug": "^4.3.4" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "eslint": "^7.0.0 || ^8.0.0" }, "peerDependenciesMeta": { "typescript": { @@ -1423,16 +1648,16 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.59.6", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.6.tgz", - "integrity": "sha512-gLbY3Le9Dxcb8KdpF0+SJr6EQ+hFGYFl6tVY8VxLPFDfUZC7BHFw+Vq7bM5lE9DwWPfx4vMWWTLGXgpc0mAYyQ==", + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.15.0.tgz", + "integrity": "sha512-+BdvxYBltqrmgCNu4Li+fGDIkW9n//NrruzG9X1vBzaNK+ExVXPoGB71kneaVw/Jp+4rH/vaMAGC6JfMbHstVg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/visitor-keys": "5.59.6" + "@typescript-eslint/types": "6.15.0", + "@typescript-eslint/visitor-keys": "6.15.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", @@ -1440,24 +1665,25 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "5.35.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.35.1.tgz", - "integrity": "sha512-8xT8ljvo43Mp7BiTn1vxLXkjpw8wS4oAc00hMSB4L1/jIiYbjjnc3Qp2GAUOG/v8zsNCd1qwcqfCQ0BuishHkw==", + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.15.0.tgz", + "integrity": "sha512-CnmHKTfX6450Bo49hPg2OkIm/D/TVYV7jO1MCfPYGwf6x3GO0VU8YMO5AYMn+u3X05lRRxA4fWCz87GFQV6yVQ==", "dev": true, "dependencies": { - "@typescript-eslint/utils": "5.35.1", + "@typescript-eslint/typescript-estree": "6.15.0", + "@typescript-eslint/utils": "6.15.0", "debug": "^4.3.4", - "tsutils": "^3.21.0" + "ts-api-utils": "^1.0.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "*" + "eslint": "^7.0.0 || ^8.0.0" }, "peerDependenciesMeta": { "typescript": { @@ -1466,12 +1692,12 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "5.59.6", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.6.tgz", - "integrity": "sha512-tH5lBXZI7T2MOUgOWFdVNUILsI02shyQvfzG9EJkoONWugCG77NDDa1EeDGw7oJ5IvsTAAGVV8I3Tk2PNu9QfA==", + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.15.0.tgz", + "integrity": "sha512-yXjbt//E4T/ee8Ia1b5mGlbNj9fB9lJP4jqLbZualwpP2BCQ5is6BcWwxpIsY4XKAhmdv3hrW92GdtJbatC6dQ==", "dev": true, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", @@ -1479,21 +1705,21 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.59.6", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.6.tgz", - "integrity": "sha512-vW6JP3lMAs/Tq4KjdI/RiHaaJSO7IUsbkz17it/Rl9Q+WkQ77EOuOnlbaU8kKfVIOJxMhnRiBG+olE7f3M16DA==", + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.15.0.tgz", + "integrity": "sha512-7mVZJN7Hd15OmGuWrp2T9UvqR2Ecg+1j/Bp1jXUEY2GZKV6FXlOIoqVDmLpBiEiq3katvj/2n2mR0SDwtloCew==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/visitor-keys": "5.59.6", + "@typescript-eslint/types": "6.15.0", + "@typescript-eslint/visitor-keys": "6.15.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", @@ -1534,153 +1760,72 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@typescript-eslint/utils": { - "version": "5.35.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.35.1.tgz", - "integrity": "sha512-v6F8JNXgeBWI4pzZn36hT2HXXzoBBBJuOYvoQiaQaEEjdi5STzux3Yj8v7ODIpx36i/5s8TdzuQ54TPc5AITQQ==", + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, "dependencies": { - "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.35.1", - "@typescript-eslint/types": "5.35.1", - "@typescript-eslint/typescript-estree": "5.35.1", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/scope-manager": { - "version": "5.35.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.35.1.tgz", - "integrity": "sha512-kCYRSAzIW9ByEIzmzGHE50NGAvAP3wFTaZevgWva7GpquDyFPFcmvVkFJGWJJktg/hLwmys/FZwqM9EKr2u24Q==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.35.1", - "@typescript-eslint/visitor-keys": "5.35.1" + "lru-cache": "^6.0.0" }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "bin": { + "semver": "bin/semver.js" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/types": { - "version": "5.35.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.35.1.tgz", - "integrity": "sha512-FDaujtsH07VHzG0gQ6NDkVVhi1+rhq0qEvzHdJAQjysN+LHDCKDKCBRlZFFE0ec0jKxiv0hN63SNfExy0KrbQQ==", - "dev": true, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">=10" } }, - "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/typescript-estree": { - "version": "5.35.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.35.1.tgz", - "integrity": "sha512-JUqE1+VRTGyoXlDWWjm6MdfpBYVq+hixytrv1oyjYIBEOZhBCwtpp5ZSvBt4wIA1MKWlnaC2UXl2XmYGC3BoQA==", + "node_modules/@typescript-eslint/utils": { + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.15.0.tgz", + "integrity": "sha512-eF82p0Wrrlt8fQSRL0bGXzK5nWPRV2dYQZdajcfzOD9+cQz9O7ugifrJxclB+xVOvWvagXfqS4Es7vpLP4augw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.35.1", - "@typescript-eslint/visitor-keys": "5.35.1", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "6.15.0", + "@typescript-eslint/types": "6.15.0", + "@typescript-eslint/typescript-estree": "6.15.0", + "semver": "^7.5.4" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" } }, - "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/visitor-keys": { - "version": "5.35.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.35.1.tgz", - "integrity": "sha512-cEB1DvBVo1bxbW/S5axbGPE6b7FIMAbo3w+AGq6zNDA7+NYJOIkKj/sInfTv4edxd4PxJSgdN4t6/pbvgA+n5g==", + "node_modules/@typescript-eslint/utils/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.35.1", - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "lru-cache": "^6.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/eslint-visitor-keys": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" + "bin": { + "semver": "bin/semver.js" }, "engines": { "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.59.6", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.6.tgz", - "integrity": "sha512-zEfbFLzB9ETcEJ4HZEEsCR9HHeNku5/Qw1jSS5McYJv5BR+ftYXwFFAH5Al+xkGaZEqowMwl7uoJjQb1YSPF8Q==", + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.15.0.tgz", + "integrity": "sha512-1zvtdC1a9h5Tb5jU9x3ADNXO9yjP8rXlaoChu0DQX40vf5ACVpYIVIZhIMZ6d5sDXH7vq4dsZBT1fEGj8D2n2w==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.59.6", - "eslint-visitor-keys": "^3.3.0" + "@typescript-eslint/types": "6.15.0", + "eslint-visitor-keys": "^3.4.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", @@ -1688,9 +1833,9 @@ } }, "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", - "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -1699,6 +1844,12 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true + }, "node_modules/@webassemblyjs/ast": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", @@ -1894,9 +2045,9 @@ "dev": true }, "node_modules/acorn": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", - "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", + "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -2328,7 +2479,8 @@ "node_modules/async": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz", - "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==" + "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==", + "dev": true }, "node_modules/at-least-node": { "version": "1.0.0", @@ -3354,6 +3506,15 @@ "integrity": "sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ==", "dev": true }, + "node_modules/big-integer": { + "version": "1.6.52", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.52.tgz", + "integrity": "sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, "node_modules/bl": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", @@ -3371,6 +3532,18 @@ "integrity": "sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==", "dev": true }, + "node_modules/bplist-parser": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz", + "integrity": "sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==", + "dev": true, + "dependencies": { + "big-integer": "^1.6.44" + }, + "engines": { + "node": ">= 5.10.0" + } + }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -3451,6 +3624,21 @@ "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", "dev": true }, + "node_modules/bundle-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-3.0.0.tgz", + "integrity": "sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==", + "dev": true, + "dependencies": { + "run-applescript": "^5.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/cachedir": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.3.0.tgz", @@ -3662,6 +3850,21 @@ "node": ">=6.0" } }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, "node_modules/clean-stack": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", @@ -3780,19 +3983,11 @@ "node": ">=0.10.0" } }, - "node_modules/color": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", - "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", - "dependencies": { - "color-convert": "^1.9.3", - "color-string": "^1.6.0" - } - }, "node_modules/color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, "dependencies": { "color-name": "1.1.3" } @@ -3800,16 +3995,8 @@ "node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/color-string": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", - "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", - "dependencies": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true }, "node_modules/colorette": { "version": "2.0.16", @@ -3826,15 +4013,6 @@ "node": ">=0.1.90" } }, - "node_modules/colorspace": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.4.tgz", - "integrity": "sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==", - "dependencies": { - "color": "^3.1.3", - "text-hex": "1.0.x" - } - }, "node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", @@ -4469,6 +4647,141 @@ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true }, + "node_modules/default-browser": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-4.0.0.tgz", + "integrity": "sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==", + "dev": true, + "dependencies": { + "bundle-name": "^3.0.0", + "default-browser-id": "^3.0.0", + "execa": "^7.1.1", + "titleize": "^3.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser-id": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-3.0.0.tgz", + "integrity": "sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==", + "dev": true, + "dependencies": { + "bplist-parser": "^0.2.0", + "untildify": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser/node_modules/execa": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz", + "integrity": "sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.1", + "human-signals": "^4.3.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^3.0.7", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": "^14.18.0 || ^16.14.0 || >=18.0.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/default-browser/node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser/node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser/node_modules/npm-run-path": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.2.0.tgz", + "integrity": "sha512-W4/tgAXFqFA0iL7fk0+uQ3g7wkL8xJmx3XdK0VGb4cHW//eZTtKGvFBBoRKVTpY7n6ze4NL9ly7rgXcHufqXKg==", + "dev": true, + "dependencies": { + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser/node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dev": true, + "dependencies": { + "mimic-fn": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser/node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/defaults": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", @@ -4478,6 +4791,18 @@ "clone": "^1.0.2" } }, + "node_modules/define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/define-properties": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", @@ -4623,6 +4948,12 @@ "util-deprecate": "~1.0.1" } }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, "node_modules/editor": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/editor/-/editor-1.0.0.tgz", @@ -4641,11 +4972,6 @@ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, - "node_modules/enabled": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz", - "integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==" - }, "node_modules/enhanced-resolve": { "version": "5.10.0", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz", @@ -4779,50 +5105,49 @@ } }, "node_modules/eslint": { - "version": "8.22.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.22.0.tgz", - "integrity": "sha512-ci4t0sz6vSRKdmkOGmprBo6fmI4PrphDFMy5JEq/fNS0gQkJM3rLmrqcp8ipMcdobH3KtUP40KniAE9W19S4wA==", - "dev": true, - "dependencies": { - "@eslint/eslintrc": "^1.3.0", - "@humanwhocodes/config-array": "^0.10.4", - "@humanwhocodes/gitignore-to-minimatch": "^1.0.2", - "ajv": "^6.10.0", + "version": "8.56.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.56.0.tgz", + "integrity": "sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.56.0", + "@humanwhocodes/config-array": "^0.11.13", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", "debug": "^4.3.2", "doctrine": "^3.0.0", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.1.1", - "eslint-utils": "^3.0.0", - "eslint-visitor-keys": "^3.3.0", - "espree": "^9.3.3", - "esquery": "^1.4.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", "find-up": "^5.0.0", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^6.0.1", - "globals": "^13.15.0", - "globby": "^11.1.0", - "grapheme-splitter": "^1.0.4", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", "ignore": "^5.2.0", - "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "regexpp": "^3.2.0", + "optionator": "^0.9.3", "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" + "text-table": "^0.2.0" }, "bin": { "eslint": "bin/eslint.js" @@ -4835,9 +5160,9 @@ } }, "node_modules/eslint-config-prettier": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz", - "integrity": "sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", + "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", "dev": true, "bin": { "eslint-config-prettier": "bin/cli.js" @@ -5048,21 +5373,30 @@ } }, "node_modules/eslint-plugin-prettier": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz", - "integrity": "sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.1.2.tgz", + "integrity": "sha512-dhlpWc9vOwohcWmClFcA+HjlvUpuyynYs0Rf+L/P6/0iQE6vlHW9l5bkfzN62/Stm9fbq8ku46qzde76T1xlSg==", "dev": true, "dependencies": { - "prettier-linter-helpers": "^1.0.0" + "prettier-linter-helpers": "^1.0.0", + "synckit": "^0.8.6" }, "engines": { - "node": ">=12.0.0" + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint-plugin-prettier" }, "peerDependencies": { - "eslint": ">=7.28.0", - "prettier": ">=2.0.0" + "@types/eslint": ">=8.0.0", + "eslint": ">=8.0.0", + "eslint-config-prettier": "*", + "prettier": ">=3.0.0" }, "peerDependenciesMeta": { + "@types/eslint": { + "optional": true + }, "eslint-config-prettier": { "optional": true } @@ -5081,54 +5415,27 @@ "node": ">=8.0.0" } }, - "node_modules/eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^2.0.0" - }, - "engines": { - "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=5" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, "node_modules/eslint-webpack-plugin": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz", - "integrity": "sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-4.0.1.tgz", + "integrity": "sha512-fUFcXpui/FftGx3NzvWgLZXlLbu+m74sUxGEgxgoxYcUtkIQbS6SdNNZkS99m5ycb23TfoNYrDpp1k/CK5j6Hw==", "dev": true, "dependencies": { - "@types/eslint": "^7.29.0 || ^8.4.1", - "jest-worker": "^28.0.2", + "@types/eslint": "^8.37.0", + "jest-worker": "^29.5.0", "micromatch": "^4.0.5", "normalize-path": "^3.0.0", "schema-utils": "^4.0.0" }, "engines": { - "node": ">= 12.13.0" + "node": ">= 14.15.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0", + "eslint": "^8.0.0", "webpack": "^5.0.0" } }, @@ -5170,17 +5477,18 @@ } }, "node_modules/eslint-webpack-plugin/node_modules/jest-worker": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.1.tgz", - "integrity": "sha512-Au7slXB08C6h+xbJPp7VIb6U0XX5Kc9uel/WFc6/rcTzGiaVCBRngBExSYuXSLFPULPSYU3cJ3ybS988lNFQhQ==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", "dev": true, "dependencies": { "@types/node": "*", + "jest-util": "^29.7.0", "merge-stream": "^2.0.0", "supports-color": "^8.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/eslint-webpack-plugin/node_modules/json-schema-traverse": { @@ -5223,15 +5531,6 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/eslint/node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/eslint/node_modules/escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", @@ -5245,9 +5544,9 @@ } }, "node_modules/eslint/node_modules/eslint-scope": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", - "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dev": true, "dependencies": { "esrecurse": "^4.3.0", @@ -5255,15 +5554,21 @@ }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/eslint/node_modules/eslint-visitor-keys": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/eslint/node_modules/estraverse": { @@ -5291,24 +5596,13 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint/node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "node_modules/eslint/node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", "dev": true, - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, "node_modules/eslint/node_modules/locate-path": { @@ -5357,14 +5651,14 @@ } }, "node_modules/espree": { - "version": "9.3.3", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.3.tgz", - "integrity": "sha512-ORs1Rt/uQTqUKjDdGCyrtYxbazf5umATSf/K4qxjmZHORR6HJk+2s/2Pqe+Kk49HHINC/xNIrGfgh8sZcll0ng==", + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dev": true, "dependencies": { - "acorn": "^8.8.0", + "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.3.0" + "eslint-visitor-keys": "^3.4.1" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -5374,12 +5668,15 @@ } }, "node_modules/espree/node_modules/eslint-visitor-keys": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/esprima": { @@ -5396,9 +5693,9 @@ } }, "node_modules/esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", "dev": true, "dependencies": { "estraverse": "^5.1.0" @@ -5550,9 +5847,9 @@ "dev": true }, "node_modules/fast-glob": { - "version": "3.2.11", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", - "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", "dev": true, "dependencies": { "@nodelib/fs.stat": "^2.0.2", @@ -5586,7 +5883,7 @@ "node_modules/fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true }, "node_modules/fastest-levenshtein": { @@ -5604,11 +5901,6 @@ "reusify": "^1.0.4" } }, - "node_modules/fecha": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz", - "integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==" - }, "node_modules/figures": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", @@ -5752,10 +6044,33 @@ "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==", "dev": true }, - "node_modules/fn.name": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz", - "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==" + "node_modules/foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/foreground-child/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } }, "node_modules/from2": { "version": "2.3.0", @@ -5829,12 +6144,6 @@ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, - "node_modules/functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true - }, "node_modules/get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", @@ -5999,12 +6308,12 @@ } }, "node_modules/glob-parent": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.1.tgz", - "integrity": "sha512-kEVjS71mQazDBHKcsq4E9u/vUzaLcw1A8EtUeydawvIWQCJM0qQ08G1H7/XTjFUulla6XQiDOG6MXSaG0HDKog==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, "dependencies": { - "is-glob": "^4.0.1" + "is-glob": "^4.0.3" }, "engines": { "node": ">=10.13.0" @@ -6059,9 +6368,9 @@ } }, "node_modules/globals": { - "version": "13.15.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.15.0.tgz", - "integrity": "sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==", + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, "dependencies": { "type-fest": "^0.20.2" @@ -6116,10 +6425,10 @@ "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", "dev": true }, - "node_modules/grapheme-splitter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", - "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", "dev": true }, "node_modules/handlebars": { @@ -6315,6 +6624,15 @@ "node": ">= 6" } }, + "node_modules/human-signals": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", + "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", + "dev": true, + "engines": { + "node": ">=14.18.0" + } + }, "node_modules/husky": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/husky/-/husky-8.0.1.tgz", @@ -6363,9 +6681,9 @@ ] }, "node_modules/ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz", + "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==", "dev": true, "engines": { "node": ">= 4" @@ -6470,7 +6788,8 @@ "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true }, "node_modules/ini": { "version": "1.3.8", @@ -6697,6 +7016,21 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "dev": true, + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -6749,6 +7083,24 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "dev": true, + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-interactive": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", @@ -6885,6 +7237,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, "engines": { "node": ">=8" }, @@ -6973,6 +7326,33 @@ "node": ">=0.10.0" } }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-wsl/node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true, + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", @@ -7010,23 +7390,41 @@ "node": ">=10.13" } }, + "node_modules/jackspeak": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "dev": true, + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, "node_modules/jasmine": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-4.3.0.tgz", - "integrity": "sha512-ieBmwkd8L1DXnvSnxx7tecXgA0JDgMXPAwBcqM4lLPedJeI9hTHuWifPynTC+dLe4Y+GkSPSlbqqrmYIgGzYUw==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-5.1.0.tgz", + "integrity": "sha512-prmJlC1dbLhti4nE4XAPDWmfJesYO15sjGXVp7Cs7Ym5I9Xtwa/hUHxxJXjnpfLO72+ySttA0Ztf8g/RiVnUKw==", "dev": true, "dependencies": { - "glob": "^7.1.6", - "jasmine-core": "^4.3.0" + "glob": "^10.2.2", + "jasmine-core": "~5.1.0" }, "bin": { "jasmine": "bin/jasmine.js" } }, "node_modules/jasmine-core": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.3.0.tgz", - "integrity": "sha512-qybtBUesniQdW6n+QIHMng2vDOHscIC/dEXjW+JzO9+LoAZMb03RCUC5xFOv/btSKPm1xL42fn+RjlU4oB42Lg==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-5.1.1.tgz", + "integrity": "sha512-UrzO3fL7nnxlQXlvTynNAenL+21oUQRlzqQFsA2U11ryb4+NLOCOePZ70PTojEaUKhiFugh7dG0Q+I58xlPdWg==", "dev": true }, "node_modules/jasmine-spec-reporter": { @@ -7038,6 +7436,52 @@ "colors": "1.4.0" } }, + "node_modules/jasmine/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/jasmine/node_modules/glob": { + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/jasmine/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/java-properties": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/java-properties/-/java-properties-1.0.2.tgz", @@ -7047,6 +7491,23 @@ "node": ">= 0.6.0" } }, + "node_modules/jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, "node_modules/jest-worker": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", @@ -7214,11 +7675,6 @@ "node": ">=0.10.0" } }, - "node_modules/kuler": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz", - "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==" - }, "node_modules/levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", @@ -7428,23 +7884,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/logform": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/logform/-/logform-2.4.0.tgz", - "integrity": "sha512-CPSJw4ftjf517EhXZGGvTHHkYobo7ZCc0kvwUoOYcjfR2UVrI66RHj8MCrfAdEitdmFqbu2BYdYs8FHHZSb6iw==", - "dependencies": { - "@colors/colors": "1.5.0", - "fecha": "^4.2.0", - "ms": "^2.1.1", - "safe-stable-stringify": "^2.3.1", - "triple-beam": "^1.3.0" - } - }, - "node_modules/logform/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - }, "node_modules/longest": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/longest/-/longest-2.0.1.tgz", @@ -7892,17 +8331,6 @@ "node": ">=8.6" } }, - "node_modules/micromatch/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, "node_modules/mime": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", @@ -7986,6 +8414,15 @@ "node": ">= 6" } }, + "node_modules/minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, "node_modules/mkdirp": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", @@ -10772,14 +11209,6 @@ "wrappy": "1" } }, - "node_modules/one-time": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz", - "integrity": "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==", - "dependencies": { - "fn.name": "1.x.x" - } - }, "node_modules/onetime": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", @@ -10795,18 +11224,36 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/open": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/open/-/open-9.1.0.tgz", + "integrity": "sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==", + "dev": true, + "dependencies": { + "default-browser": "^4.0.0", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", "dev": true, "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" + "type-check": "^0.4.0" }, "engines": { "node": ">= 0.8.0" @@ -11049,6 +11496,31 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, + "node_modules/path-scurry": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", + "dev": true, + "dependencies": { + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.1.0.tgz", + "integrity": "sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==", + "dev": true, + "engines": { + "node": "14 || >=16.14" + } + }, "node_modules/path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", @@ -11077,10 +11549,9 @@ "dev": true }, "node_modules/picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", - "dev": true, + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "engines": { "node": ">=8.6" }, @@ -11208,15 +11679,15 @@ } }, "node_modules/prettier": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.1.1.tgz", + "integrity": "sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw==", "dev": true, "bin": { - "prettier": "bin-prettier.js" + "prettier": "bin/prettier.cjs" }, "engines": { - "node": ">=10.13.0" + "node": ">=14" }, "funding": { "url": "https://github.com/prettier/prettier?sponsor=1" @@ -11274,6 +11745,26 @@ "teleport": ">=0.2.0" } }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, "node_modules/quick-lru": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", @@ -11397,6 +11888,7 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -11454,25 +11946,13 @@ }, "node_modules/regenerator-transform": { "version": "0.10.1", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", - "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", - "dev": true, - "dependencies": { - "babel-runtime": "^6.18.0", - "babel-types": "^6.19.0", - "private": "^0.1.6" - } - }, - "node_modules/regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", + "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", + "dev": true, + "dependencies": { + "babel-runtime": "^6.18.0", + "babel-types": "^6.19.0", + "private": "^0.1.6" } }, "node_modules/regexpu-core": { @@ -11708,6 +12188,21 @@ "rimraf": "bin.js" } }, + "node_modules/run-applescript": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-5.0.0.tgz", + "integrity": "sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==", + "dev": true, + "dependencies": { + "execa": "^5.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/run-async": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", @@ -11718,9 +12213,9 @@ } }, "node_modules/run-parallel": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.10.tgz", - "integrity": "sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "dev": true, "funding": [ { @@ -11735,7 +12230,10 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } }, "node_modules/rxjs": { "version": "6.6.2", @@ -11752,15 +12250,8 @@ "node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/safe-stable-stringify": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.3.1.tgz", - "integrity": "sha512-kYBSfT+troD9cDA85VDnHZ1rpHC50O0g1e6WlGHVCz/g+JS+9WKLj+XwFYyR8UbrZN8ll9HUpDAAddY58MGisg==", - "engines": { - "node": ">=10" - } + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true }, "node_modules/safer-buffer": { "version": "2.1.2", @@ -12024,19 +12515,6 @@ "node": ">=4" } }, - "node_modules/simple-swizzle": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", - "dependencies": { - "is-arrayish": "^0.3.1" - } - }, - "node_modules/simple-swizzle/node_modules/is-arrayish": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" - }, "node_modules/slackify-markdown": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/slackify-markdown/-/slackify-markdown-4.3.1.tgz", @@ -12147,14 +12625,6 @@ "readable-stream": "^3.0.0" } }, - "node_modules/stack-trace": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", - "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=", - "engines": { - "node": "*" - } - }, "node_modules/stream-combiner2": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", @@ -12184,6 +12654,7 @@ "version": "1.1.1", "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, "dependencies": { "safe-buffer": "~5.1.0" } @@ -12202,6 +12673,30 @@ "node": ">=8" } }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/string-width/node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", @@ -12249,6 +12744,19 @@ "node": ">=8" } }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/strip-bom": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", @@ -12349,6 +12857,28 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/synckit": { + "version": "0.8.6", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.6.tgz", + "integrity": "sha512-laHF2savN6sMeHCjLRkheIU4wo3Zg9Ln5YOjOo7sZ5dVQW8yF5pPE5SIw1dsPhq3TRp1jisKRCdPhfs/1WMqDA==", + "dev": true, + "dependencies": { + "@pkgr/utils": "^2.4.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "node_modules/synckit/node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true + }, "node_modules/tapable": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.0.tgz", @@ -12589,11 +13119,6 @@ "node": ">=0.10" } }, - "node_modules/text-hex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz", - "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==" - }, "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", @@ -12615,6 +13140,18 @@ "readable-stream": "3" } }, + "node_modules/titleize": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/titleize/-/titleize-3.0.0.tgz", + "integrity": "sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", @@ -12677,11 +13214,6 @@ "node": ">=0.10.0" } }, - "node_modules/triple-beam": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.3.0.tgz", - "integrity": "sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==" - }, "node_modules/trough": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz", @@ -12692,16 +13224,29 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/ts-api-utils": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.3.tgz", + "integrity": "sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==", + "dev": true, + "engines": { + "node": ">=16.13.0" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, "node_modules/ts-loader": { - "version": "9.3.1", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.3.1.tgz", - "integrity": "sha512-OkyShkcZTsTwyS3Kt7a4rsT/t2qvEVQuKCTg4LJmpj9fhFR7ukGdZwV6Qq3tRUkqcXtfGpPR7+hFKHCG/0d3Lw==", + "version": "9.5.1", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz", + "integrity": "sha512-rNH3sK9kGZcH9dYzC7CewQm4NtxJTjSEVRJ2DyBZR7f8/wcta+iV44UPCXc5+nzDzivKtlzV6c9P4e+oFhDLYg==", "dev": true, "dependencies": { "chalk": "^4.1.0", "enhanced-resolve": "^5.0.0", "micromatch": "^4.0.0", - "semver": "^7.3.4" + "semver": "^7.3.4", + "source-map": "^0.7.4" }, "engines": { "node": ">=12.0.0" @@ -12711,10 +13256,19 @@ "webpack": "^5.0.0" } }, + "node_modules/ts-loader/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, "node_modules/ts-node": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", - "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", + "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", "dev": true, "dependencies": { "@cspotcode/source-map-support": "^0.8.0", @@ -12755,16 +13309,16 @@ } }, "node_modules/ts-patch": { - "version": "3.0.0-beta3", - "resolved": "https://registry.npmjs.org/ts-patch/-/ts-patch-3.0.0-beta3.tgz", - "integrity": "sha512-WAuauq0u3jPWJLJRVQi4tz01XQ1KHi05sPxUrzjGx4xUweoCzYtpLHaTlbcBVw0u7iptQQ8hPZNCS36C6Uu8vw==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/ts-patch/-/ts-patch-3.1.1.tgz", + "integrity": "sha512-ReGYz9jQYC80PFafBx25TC0UI9cSgmUBtpT+WIy8IrhpLVzEHf430k03XQYOMldQMyZDBbzn5fBPELgtIl65cA==", "dev": true, "dependencies": { "chalk": "^4.1.2", "global-prefix": "^3.0.0", "minimist": "^1.2.8", "resolve": "^1.22.2", - "semver": "^7.3.8", + "semver": "^7.5.4", "strip-ansi": "^6.0.1" }, "bin": { @@ -12796,9 +13350,9 @@ } }, "node_modules/ts-patch/node_modules/semver": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz", - "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -12839,21 +13393,6 @@ "integrity": "sha512-tTSkux6IGPnUGUd1XAZHcpu85MOkIl5zX49pO+jfsie3eP0B6pyhOlLXm3cAC6T7s+euSDDUUV+Acop5WmtkVg==", "dev": true }, - "node_modules/tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dev": true, - "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" - } - }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -12879,16 +13418,16 @@ } }, "node_modules/typescript": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz", - "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==", + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", + "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", "dev": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" }, "engines": { - "node": ">=12.20" + "node": ">=14.17" } }, "node_modules/uglify-js": { @@ -13038,6 +13577,15 @@ "node": ">= 10.0.0" } }, + "node_modules/untildify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", + "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/uri-js": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", @@ -13068,12 +13616,7 @@ "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "node_modules/v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true }, "node_modules/v8-compile-cache-lib": { @@ -13352,39 +13895,6 @@ "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", "dev": true }, - "node_modules/winston": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/winston/-/winston-3.7.2.tgz", - "integrity": "sha512-QziIqtojHBoyzUOdQvQiar1DH0Xp9nF1A1y7NVy2DGEsz82SBDtOalS0ulTRGVT14xPX3WRWkCsdcJKqNflKng==", - "dependencies": { - "@dabh/diagnostics": "^2.0.2", - "async": "^3.2.3", - "is-stream": "^2.0.0", - "logform": "^2.4.0", - "one-time": "^1.0.0", - "readable-stream": "^3.4.0", - "safe-stable-stringify": "^2.3.1", - "stack-trace": "0.0.x", - "triple-beam": "^1.3.0", - "winston-transport": "^4.5.0" - }, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/winston-transport": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.5.0.tgz", - "integrity": "sha512-YpZzcUzBedhlTAfJg6vJDlyEai/IFMIVcaEZZyl3UXIl4gmqRpU7AE89AHLkbzLUsv0NVmw7ts+iztqKxxPW1Q==", - "dependencies": { - "logform": "^2.3.2", - "readable-stream": "^3.6.0", - "triple-beam": "^1.3.0" - }, - "engines": { - "node": ">= 6.4.0" - } - }, "node_modules/word-wrap": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.4.tgz", @@ -13417,6 +13927,57 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "node_modules/wrap-ansi/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -13549,6 +14110,12 @@ } }, "dependencies": { + "@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true + }, "@babel/code-frame": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", @@ -13600,7 +14167,9 @@ "@colors/colors": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", - "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==" + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "dev": true, + "optional": true }, "@commitlint/cli": { "version": "17.3.0", @@ -13935,32 +14504,45 @@ "@jridgewell/trace-mapping": "0.3.9" } }, - "@dabh/diagnostics": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.3.tgz", - "integrity": "sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==", - "requires": { - "colorspace": "1.1.x", - "enabled": "2.0.x", - "kuler": "^2.0.0" - } - }, "@discoveryjs/json-ext": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", "dev": true }, + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.3.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true + } + } + }, + "@eslint-community/regexpp": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", + "dev": true + }, "@eslint/eslintrc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.0.tgz", - "integrity": "sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", "dev": true, "requires": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.3.2", - "globals": "^13.15.0", + "espree": "^9.6.0", + "globals": "^13.19.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", @@ -13968,29 +14550,123 @@ "strip-json-comments": "^3.1.1" } }, + "@eslint/js": { + "version": "8.56.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.56.0.tgz", + "integrity": "sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==", + "dev": true + }, "@humanwhocodes/config-array": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.4.tgz", - "integrity": "sha512-mXAIHxZT3Vcpg83opl1wGlVZ9xydbfZO3r5YfRSH6Gpp2J/PfdBP0wbDa2sO6/qRbcalpoevVyW6A/fI6LfeMw==", + "version": "0.11.13", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", + "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", "dev": true, "requires": { - "@humanwhocodes/object-schema": "^1.2.1", + "@humanwhocodes/object-schema": "^2.0.1", "debug": "^4.1.1", - "minimatch": "^3.0.4" + "minimatch": "^3.0.5" } }, - "@humanwhocodes/gitignore-to-minimatch": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz", - "integrity": "sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA==", + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true }, "@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", + "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", "dev": true }, + "@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "requires": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true + }, + "ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true + }, + "emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "requires": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + } + }, + "strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "requires": { + "ansi-regex": "^6.0.1" + } + }, + "wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "requires": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + } + } + } + }, + "@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "dev": true, + "requires": { + "@sinclair/typebox": "^0.27.8" + } + }, + "@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "dev": true, + "requires": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + } + }, "@jridgewell/gen-mapping": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", @@ -14041,28 +14717,28 @@ } }, "@nodelib/fs.scandir": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz", - "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==", + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, "requires": { - "@nodelib/fs.stat": "2.0.3", + "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" } }, "@nodelib/fs.stat": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz", - "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true }, "@nodelib/fs.walk": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz", - "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==", + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, "requires": { - "@nodelib/fs.scandir": "2.1.3", + "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" } }, @@ -14217,6 +14893,35 @@ "@octokit/openapi-types": "^12.7.0" } }, + "@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true + }, + "@pkgr/utils": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@pkgr/utils/-/utils-2.4.2.tgz", + "integrity": "sha512-POgTXhjrTfbTV63DiFXav4lBHiICLKKwDeaKn9Nphwj7WH6m0hMMCaJkMyRWjgtPFyRKRVoMXXjczsTQRDEhYw==", + "dev": true, + "requires": { + "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" + }, + "dependencies": { + "tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true + } + } + }, "@semantic-release/changelog": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/@semantic-release/changelog/-/changelog-6.0.1.tgz", @@ -14403,6 +15108,12 @@ "read-pkg-up": "^7.0.0" } }, + "@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, "@tootallnate/once": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", @@ -14440,9 +15151,9 @@ "dev": true }, "@types/eslint": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.1.tgz", - "integrity": "sha512-GE44+DNEyxxh2Kc6ro/VkIj+9ma0pO0bwv9+uHSyBrikYOHr8zYcdPvnBOp1aw8s+CjRvuSx7CyWqRrNFQ59mA==", + "version": "8.56.0", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.0.tgz", + "integrity": "sha512-FlsN0p4FhuYRjIxpbdXovvHQhtlG05O1GG/RNWvdAxTboR438IOTwmrY/vLA+Xfgg06BTkP045M3vpFwTMv1dg==", "dev": true, "requires": { "@types/estree": "*", @@ -14475,16 +15186,40 @@ "@types/node": "*" } }, + "@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", + "dev": true + }, + "@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-report": "*" + } + }, "@types/jasmine": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-4.3.0.tgz", - "integrity": "sha512-u1jWakf8CWvLfSEZyxmzkgBzOEvXH/szpT0e6G8BTkx5Eu0BhDn7sbc5dz0JBN/6Wwm9rBe+JAsk9tJRyH9ZkA==", + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-5.1.4.tgz", + "integrity": "sha512-px7OMFO/ncXxixDe1zR13V1iycqWae0MxTaw62RpFlksUi5QuNWgQJFkTQjIOvrmutJbI7Fp2Y2N1F6D2R4G6w==", "dev": true }, "@types/json-schema": { - "version": "7.0.11", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", "dev": true }, "@types/json5": { @@ -14562,115 +15297,117 @@ "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", "dev": true }, + "@types/semver": { + "version": "7.5.6", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.6.tgz", + "integrity": "sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==", + "dev": true + }, "@types/unist": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz", "integrity": "sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==", "dev": true }, + "@types/yargs": { + "version": "17.0.32", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", + "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "dev": true + }, "@typescript-eslint/eslint-plugin": { - "version": "5.35.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.35.1.tgz", - "integrity": "sha512-RBZZXZlI4XCY4Wzgy64vB+0slT9+yAPQRjj/HSaRwUot33xbDjF1oN9BLwOLTewoOI0jothIltZRe9uJCHf8gg==", + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.15.0.tgz", + "integrity": "sha512-j5qoikQqPccq9QoBAupOP+CBu8BaJ8BLjaXSioDISeTZkVO3ig7oSIKh3H+rEpee7xCXtWwSB4KIL5l6hWZzpg==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.35.1", - "@typescript-eslint/type-utils": "5.35.1", - "@typescript-eslint/utils": "5.35.1", + "@eslint-community/regexpp": "^4.5.1", + "@typescript-eslint/scope-manager": "6.15.0", + "@typescript-eslint/type-utils": "6.15.0", + "@typescript-eslint/utils": "6.15.0", + "@typescript-eslint/visitor-keys": "6.15.0", "debug": "^4.3.4", - "functional-red-black-tree": "^1.0.1", - "ignore": "^5.2.0", - "regexpp": "^3.2.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "graphemer": "^1.4.0", + "ignore": "^5.2.4", + "natural-compare": "^1.4.0", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" }, "dependencies": { - "@typescript-eslint/scope-manager": { - "version": "5.35.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.35.1.tgz", - "integrity": "sha512-kCYRSAzIW9ByEIzmzGHE50NGAvAP3wFTaZevgWva7GpquDyFPFcmvVkFJGWJJktg/hLwmys/FZwqM9EKr2u24Q==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.35.1", - "@typescript-eslint/visitor-keys": "5.35.1" - } - }, - "@typescript-eslint/types": { - "version": "5.35.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.35.1.tgz", - "integrity": "sha512-FDaujtsH07VHzG0gQ6NDkVVhi1+rhq0qEvzHdJAQjysN+LHDCKDKCBRlZFFE0ec0jKxiv0hN63SNfExy0KrbQQ==", - "dev": true - }, - "@typescript-eslint/visitor-keys": { - "version": "5.35.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.35.1.tgz", - "integrity": "sha512-cEB1DvBVo1bxbW/S5axbGPE6b7FIMAbo3w+AGq6zNDA7+NYJOIkKj/sInfTv4edxd4PxJSgdN4t6/pbvgA+n5g==", + "semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, "requires": { - "@typescript-eslint/types": "5.35.1", - "eslint-visitor-keys": "^3.3.0" + "lru-cache": "^6.0.0" } - }, - "eslint-visitor-keys": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", - "dev": true } } }, "@typescript-eslint/parser": { - "version": "5.59.6", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.6.tgz", - "integrity": "sha512-7pCa6al03Pv1yf/dUg/s1pXz/yGMUBAw5EeWqNTFiSueKvRNonze3hma3lhdsOrQcaOXhbk5gKu2Fludiho9VA==", + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.15.0.tgz", + "integrity": "sha512-MkgKNnsjC6QwcMdlNAel24jjkEO/0hQaMDLqP4S9zq5HBAUJNQB6y+3DwLjX7b3l2b37eNAxMPLwb3/kh8VKdA==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.59.6", - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/typescript-estree": "5.59.6", + "@typescript-eslint/scope-manager": "6.15.0", + "@typescript-eslint/types": "6.15.0", + "@typescript-eslint/typescript-estree": "6.15.0", + "@typescript-eslint/visitor-keys": "6.15.0", "debug": "^4.3.4" } }, "@typescript-eslint/scope-manager": { - "version": "5.59.6", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.6.tgz", - "integrity": "sha512-gLbY3Le9Dxcb8KdpF0+SJr6EQ+hFGYFl6tVY8VxLPFDfUZC7BHFw+Vq7bM5lE9DwWPfx4vMWWTLGXgpc0mAYyQ==", + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.15.0.tgz", + "integrity": "sha512-+BdvxYBltqrmgCNu4Li+fGDIkW9n//NrruzG9X1vBzaNK+ExVXPoGB71kneaVw/Jp+4rH/vaMAGC6JfMbHstVg==", "dev": true, "requires": { - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/visitor-keys": "5.59.6" + "@typescript-eslint/types": "6.15.0", + "@typescript-eslint/visitor-keys": "6.15.0" } }, "@typescript-eslint/type-utils": { - "version": "5.35.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.35.1.tgz", - "integrity": "sha512-8xT8ljvo43Mp7BiTn1vxLXkjpw8wS4oAc00hMSB4L1/jIiYbjjnc3Qp2GAUOG/v8zsNCd1qwcqfCQ0BuishHkw==", + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.15.0.tgz", + "integrity": "sha512-CnmHKTfX6450Bo49hPg2OkIm/D/TVYV7jO1MCfPYGwf6x3GO0VU8YMO5AYMn+u3X05lRRxA4fWCz87GFQV6yVQ==", "dev": true, "requires": { - "@typescript-eslint/utils": "5.35.1", + "@typescript-eslint/typescript-estree": "6.15.0", + "@typescript-eslint/utils": "6.15.0", "debug": "^4.3.4", - "tsutils": "^3.21.0" + "ts-api-utils": "^1.0.1" } }, "@typescript-eslint/types": { - "version": "5.59.6", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.6.tgz", - "integrity": "sha512-tH5lBXZI7T2MOUgOWFdVNUILsI02shyQvfzG9EJkoONWugCG77NDDa1EeDGw7oJ5IvsTAAGVV8I3Tk2PNu9QfA==", + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.15.0.tgz", + "integrity": "sha512-yXjbt//E4T/ee8Ia1b5mGlbNj9fB9lJP4jqLbZualwpP2BCQ5is6BcWwxpIsY4XKAhmdv3hrW92GdtJbatC6dQ==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.59.6", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.6.tgz", - "integrity": "sha512-vW6JP3lMAs/Tq4KjdI/RiHaaJSO7IUsbkz17it/Rl9Q+WkQ77EOuOnlbaU8kKfVIOJxMhnRiBG+olE7f3M16DA==", + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.15.0.tgz", + "integrity": "sha512-7mVZJN7Hd15OmGuWrp2T9UvqR2Ecg+1j/Bp1jXUEY2GZKV6FXlOIoqVDmLpBiEiq3katvj/2n2mR0SDwtloCew==", "dev": true, "requires": { - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/visitor-keys": "5.59.6", + "@typescript-eslint/types": "6.15.0", + "@typescript-eslint/visitor-keys": "6.15.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" }, "dependencies": { "array-union": { @@ -14692,110 +15429,68 @@ "merge2": "^1.4.1", "slash": "^3.0.0" } + }, + "semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } } } }, "@typescript-eslint/utils": { - "version": "5.35.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.35.1.tgz", - "integrity": "sha512-v6F8JNXgeBWI4pzZn36hT2HXXzoBBBJuOYvoQiaQaEEjdi5STzux3Yj8v7ODIpx36i/5s8TdzuQ54TPc5AITQQ==", + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.15.0.tgz", + "integrity": "sha512-eF82p0Wrrlt8fQSRL0bGXzK5nWPRV2dYQZdajcfzOD9+cQz9O7ugifrJxclB+xVOvWvagXfqS4Es7vpLP4augw==", "dev": true, "requires": { - "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.35.1", - "@typescript-eslint/types": "5.35.1", - "@typescript-eslint/typescript-estree": "5.35.1", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0" + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "6.15.0", + "@typescript-eslint/types": "6.15.0", + "@typescript-eslint/typescript-estree": "6.15.0", + "semver": "^7.5.4" }, "dependencies": { - "@typescript-eslint/scope-manager": { - "version": "5.35.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.35.1.tgz", - "integrity": "sha512-kCYRSAzIW9ByEIzmzGHE50NGAvAP3wFTaZevgWva7GpquDyFPFcmvVkFJGWJJktg/hLwmys/FZwqM9EKr2u24Q==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.35.1", - "@typescript-eslint/visitor-keys": "5.35.1" - } - }, - "@typescript-eslint/types": { - "version": "5.35.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.35.1.tgz", - "integrity": "sha512-FDaujtsH07VHzG0gQ6NDkVVhi1+rhq0qEvzHdJAQjysN+LHDCKDKCBRlZFFE0ec0jKxiv0hN63SNfExy0KrbQQ==", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "5.35.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.35.1.tgz", - "integrity": "sha512-JUqE1+VRTGyoXlDWWjm6MdfpBYVq+hixytrv1oyjYIBEOZhBCwtpp5ZSvBt4wIA1MKWlnaC2UXl2XmYGC3BoQA==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.35.1", - "@typescript-eslint/visitor-keys": "5.35.1", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/visitor-keys": { - "version": "5.35.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.35.1.tgz", - "integrity": "sha512-cEB1DvBVo1bxbW/S5axbGPE6b7FIMAbo3w+AGq6zNDA7+NYJOIkKj/sInfTv4edxd4PxJSgdN4t6/pbvgA+n5g==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.35.1", - "eslint-visitor-keys": "^3.3.0" - } - }, - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true - }, - "eslint-visitor-keys": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", - "dev": true - }, - "globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" + "lru-cache": "^6.0.0" } } } }, "@typescript-eslint/visitor-keys": { - "version": "5.59.6", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.6.tgz", - "integrity": "sha512-zEfbFLzB9ETcEJ4HZEEsCR9HHeNku5/Qw1jSS5McYJv5BR+ftYXwFFAH5Al+xkGaZEqowMwl7uoJjQb1YSPF8Q==", + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.15.0.tgz", + "integrity": "sha512-1zvtdC1a9h5Tb5jU9x3ADNXO9yjP8rXlaoChu0DQX40vf5ACVpYIVIZhIMZ6d5sDXH7vq4dsZBT1fEGj8D2n2w==", "dev": true, "requires": { - "@typescript-eslint/types": "5.59.6", - "eslint-visitor-keys": "^3.3.0" + "@typescript-eslint/types": "6.15.0", + "eslint-visitor-keys": "^3.4.1" }, "dependencies": { "eslint-visitor-keys": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", - "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true } } }, + "@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true + }, "@webassemblyjs/ast": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", @@ -14978,9 +15673,9 @@ "dev": true }, "acorn": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", - "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", + "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", "dev": true }, "acorn-import-assertions": { @@ -15309,7 +16004,8 @@ "async": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz", - "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==" + "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==", + "dev": true }, "at-least-node": { "version": "1.0.0", @@ -16284,6 +16980,12 @@ "integrity": "sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ==", "dev": true }, + "big-integer": { + "version": "1.6.52", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.52.tgz", + "integrity": "sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==", + "dev": true + }, "bl": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", @@ -16301,6 +17003,15 @@ "integrity": "sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==", "dev": true }, + "bplist-parser": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz", + "integrity": "sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==", + "dev": true, + "requires": { + "big-integer": "^1.6.44" + } + }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -16348,6 +17059,15 @@ "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", "dev": true }, + "bundle-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-3.0.0.tgz", + "integrity": "sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==", + "dev": true, + "requires": { + "run-applescript": "^5.0.0" + } + }, "cachedir": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.3.0.tgz", @@ -16490,6 +17210,12 @@ "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", "dev": true }, + "ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "dev": true + }, "clean-stack": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", @@ -16575,19 +17301,11 @@ } } }, - "color": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", - "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", - "requires": { - "color-convert": "^1.9.3", - "color-string": "^1.6.0" - } - }, "color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, "requires": { "color-name": "1.1.3" } @@ -16595,16 +17313,8 @@ "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "color-string": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", - "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", - "requires": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true }, "colorette": { "version": "2.0.16", @@ -16618,15 +17328,6 @@ "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", "dev": true }, - "colorspace": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.4.tgz", - "integrity": "sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==", - "requires": { - "color": "^3.1.3", - "text-hex": "1.0.x" - } - }, "commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", @@ -17127,6 +17828,89 @@ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true }, + "default-browser": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-4.0.0.tgz", + "integrity": "sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==", + "dev": true, + "requires": { + "bundle-name": "^3.0.0", + "default-browser-id": "^3.0.0", + "execa": "^7.1.1", + "titleize": "^3.0.0" + }, + "dependencies": { + "execa": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz", + "integrity": "sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.1", + "human-signals": "^4.3.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^3.0.7", + "strip-final-newline": "^3.0.0" + } + }, + "is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true + }, + "mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true + }, + "npm-run-path": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.2.0.tgz", + "integrity": "sha512-W4/tgAXFqFA0iL7fk0+uQ3g7wkL8xJmx3XdK0VGb4cHW//eZTtKGvFBBoRKVTpY7n6ze4NL9ly7rgXcHufqXKg==", + "dev": true, + "requires": { + "path-key": "^4.0.0" + } + }, + "onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dev": true, + "requires": { + "mimic-fn": "^4.0.0" + } + }, + "path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true + }, + "strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true + } + } + }, + "default-browser-id": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-3.0.0.tgz", + "integrity": "sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==", + "dev": true, + "requires": { + "bplist-parser": "^0.2.0", + "untildify": "^4.0.0" + } + }, "defaults": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", @@ -17136,6 +17920,12 @@ "clone": "^1.0.2" } }, + "define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "dev": true + }, "define-properties": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", @@ -17255,6 +18045,12 @@ } } }, + "eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, "editor": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/editor/-/editor-1.0.0.tgz", @@ -17273,11 +18069,6 @@ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, - "enabled": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz", - "integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==" - }, "enhanced-resolve": { "version": "5.10.0", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz", @@ -17381,58 +18172,51 @@ "dev": true }, "eslint": { - "version": "8.22.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.22.0.tgz", - "integrity": "sha512-ci4t0sz6vSRKdmkOGmprBo6fmI4PrphDFMy5JEq/fNS0gQkJM3rLmrqcp8ipMcdobH3KtUP40KniAE9W19S4wA==", - "dev": true, - "requires": { - "@eslint/eslintrc": "^1.3.0", - "@humanwhocodes/config-array": "^0.10.4", - "@humanwhocodes/gitignore-to-minimatch": "^1.0.2", - "ajv": "^6.10.0", + "version": "8.56.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.56.0.tgz", + "integrity": "sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.56.0", + "@humanwhocodes/config-array": "^0.11.13", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", "debug": "^4.3.2", "doctrine": "^3.0.0", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.1.1", - "eslint-utils": "^3.0.0", - "eslint-visitor-keys": "^3.3.0", - "espree": "^9.3.3", - "esquery": "^1.4.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", "find-up": "^5.0.0", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^6.0.1", - "globals": "^13.15.0", - "globby": "^11.1.0", - "grapheme-splitter": "^1.0.4", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", "ignore": "^5.2.0", - "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "regexpp": "^3.2.0", + "optionator": "^0.9.3", "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" + "text-table": "^0.2.0" }, "dependencies": { - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true - }, "escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", @@ -17440,9 +18224,9 @@ "dev": true }, "eslint-scope": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", - "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dev": true, "requires": { "esrecurse": "^4.3.0", @@ -17450,9 +18234,9 @@ } }, "eslint-visitor-keys": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true }, "estraverse": { @@ -17471,19 +18255,11 @@ "path-exists": "^4.0.0" } }, - "globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - } + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true }, "locate-path": { "version": "6.0.0", @@ -17515,9 +18291,9 @@ } }, "eslint-config-prettier": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz", - "integrity": "sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", + "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", "dev": true, "requires": {} }, @@ -17693,12 +18469,13 @@ } }, "eslint-plugin-prettier": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz", - "integrity": "sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.1.2.tgz", + "integrity": "sha512-dhlpWc9vOwohcWmClFcA+HjlvUpuyynYs0Rf+L/P6/0iQE6vlHW9l5bkfzN62/Stm9fbq8ku46qzde76T1xlSg==", "dev": true, "requires": { - "prettier-linter-helpers": "^1.0.0" + "prettier-linter-helpers": "^1.0.0", + "synckit": "^0.8.6" } }, "eslint-scope": { @@ -17711,29 +18488,14 @@ "estraverse": "^4.1.1" } }, - "eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^2.0.0" - } - }, - "eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true - }, "eslint-webpack-plugin": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz", - "integrity": "sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-4.0.1.tgz", + "integrity": "sha512-fUFcXpui/FftGx3NzvWgLZXlLbu+m74sUxGEgxgoxYcUtkIQbS6SdNNZkS99m5ycb23TfoNYrDpp1k/CK5j6Hw==", "dev": true, "requires": { - "@types/eslint": "^7.29.0 || ^8.4.1", - "jest-worker": "^28.0.2", + "@types/eslint": "^8.37.0", + "jest-worker": "^29.5.0", "micromatch": "^4.0.5", "normalize-path": "^3.0.0", "schema-utils": "^4.0.0" @@ -17767,12 +18529,13 @@ "dev": true }, "jest-worker": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.1.tgz", - "integrity": "sha512-Au7slXB08C6h+xbJPp7VIb6U0XX5Kc9uel/WFc6/rcTzGiaVCBRngBExSYuXSLFPULPSYU3cJ3ybS988lNFQhQ==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", "dev": true, "requires": { "@types/node": "*", + "jest-util": "^29.7.0", "merge-stream": "^2.0.0", "supports-color": "^8.0.0" } @@ -17807,20 +18570,20 @@ } }, "espree": { - "version": "9.3.3", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.3.tgz", - "integrity": "sha512-ORs1Rt/uQTqUKjDdGCyrtYxbazf5umATSf/K4qxjmZHORR6HJk+2s/2Pqe+Kk49HHINC/xNIrGfgh8sZcll0ng==", + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dev": true, "requires": { - "acorn": "^8.8.0", + "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.3.0" + "eslint-visitor-keys": "^3.4.1" }, "dependencies": { "eslint-visitor-keys": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true } } @@ -17832,9 +18595,9 @@ "dev": true }, "esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", "dev": true, "requires": { "estraverse": "^5.1.0" @@ -17953,9 +18716,9 @@ "dev": true }, "fast-glob": { - "version": "3.2.11", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", - "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", "dev": true, "requires": { "@nodelib/fs.stat": "^2.0.2", @@ -17985,7 +18748,7 @@ "fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true }, "fastest-levenshtein": { @@ -18003,11 +18766,6 @@ "reusify": "^1.0.4" } }, - "fecha": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz", - "integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==" - }, "figures": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", @@ -18111,17 +18869,30 @@ } } }, - "flatted": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz", - "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==", - "dev": true - }, - "fn.name": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz", - "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==" - }, + "flatted": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz", + "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==", + "dev": true + }, + "foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "dependencies": { + "signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true + } + } + }, "from2": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", @@ -18179,12 +18950,6 @@ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true - }, "get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", @@ -18313,12 +19078,12 @@ } }, "glob-parent": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.1.tgz", - "integrity": "sha512-kEVjS71mQazDBHKcsq4E9u/vUzaLcw1A8EtUeydawvIWQCJM0qQ08G1H7/XTjFUulla6XQiDOG6MXSaG0HDKog==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, "requires": { - "is-glob": "^4.0.1" + "is-glob": "^4.0.3" } }, "glob-to-regexp": { @@ -18361,9 +19126,9 @@ } }, "globals": { - "version": "13.15.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.15.0.tgz", - "integrity": "sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==", + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, "requires": { "type-fest": "^0.20.2" @@ -18404,10 +19169,10 @@ "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", "dev": true }, - "grapheme-splitter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", - "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", + "graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", "dev": true }, "handlebars": { @@ -18546,6 +19311,12 @@ "debug": "4" } }, + "human-signals": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", + "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", + "dev": true + }, "husky": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/husky/-/husky-8.0.1.tgz", @@ -18568,9 +19339,9 @@ "dev": true }, "ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz", + "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==", "dev": true }, "import-fresh": { @@ -18643,7 +19414,8 @@ "inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true }, "ini": { "version": "1.3.8", @@ -18804,6 +19576,12 @@ "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==", "dev": true }, + "is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "dev": true + }, "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -18837,6 +19615,15 @@ "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==", "dev": true }, + "is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "dev": true, + "requires": { + "is-docker": "^3.0.0" + } + }, "is-interactive": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", @@ -18927,7 +19714,8 @@ "is-stream": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true }, "is-string": { "version": "1.0.7", @@ -18983,6 +19771,23 @@ "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", "dev": true }, + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "requires": { + "is-docker": "^2.0.0" + }, + "dependencies": { + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true + } + } + }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", @@ -19014,20 +19819,63 @@ "lodash.uniqby": "^4.7.0" } }, + "jackspeak": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "dev": true, + "requires": { + "@isaacs/cliui": "^8.0.2", + "@pkgjs/parseargs": "^0.11.0" + } + }, "jasmine": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-4.3.0.tgz", - "integrity": "sha512-ieBmwkd8L1DXnvSnxx7tecXgA0JDgMXPAwBcqM4lLPedJeI9hTHuWifPynTC+dLe4Y+GkSPSlbqqrmYIgGzYUw==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-5.1.0.tgz", + "integrity": "sha512-prmJlC1dbLhti4nE4XAPDWmfJesYO15sjGXVp7Cs7Ym5I9Xtwa/hUHxxJXjnpfLO72+ySttA0Ztf8g/RiVnUKw==", "dev": true, "requires": { - "glob": "^7.1.6", - "jasmine-core": "^4.3.0" + "glob": "^10.2.2", + "jasmine-core": "~5.1.0" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "glob": { + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "dev": true, + "requires": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + } + }, + "minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + } } }, "jasmine-core": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.3.0.tgz", - "integrity": "sha512-qybtBUesniQdW6n+QIHMng2vDOHscIC/dEXjW+JzO9+LoAZMb03RCUC5xFOv/btSKPm1xL42fn+RjlU4oB42Lg==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-5.1.1.tgz", + "integrity": "sha512-UrzO3fL7nnxlQXlvTynNAenL+21oUQRlzqQFsA2U11ryb4+NLOCOePZ70PTojEaUKhiFugh7dG0Q+I58xlPdWg==", "dev": true }, "jasmine-spec-reporter": { @@ -19045,6 +19893,20 @@ "integrity": "sha512-qjdpeo2yKlYTH7nFdK0vbZWuTCesk4o63v5iVOlhMQPfuIZQfW/HI35SjfhA+4qpg36rnFSvUK5b1m+ckIblQQ==", "dev": true }, + "jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "dev": true, + "requires": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, "jest-worker": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", @@ -19173,11 +20035,6 @@ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true }, - "kuler": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz", - "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==" - }, "levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", @@ -19362,25 +20219,6 @@ "is-unicode-supported": "^0.1.0" } }, - "logform": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/logform/-/logform-2.4.0.tgz", - "integrity": "sha512-CPSJw4ftjf517EhXZGGvTHHkYobo7ZCc0kvwUoOYcjfR2UVrI66RHj8MCrfAdEitdmFqbu2BYdYs8FHHZSb6iw==", - "requires": { - "@colors/colors": "1.5.0", - "fecha": "^4.2.0", - "ms": "^2.1.1", - "safe-stable-stringify": "^2.3.1", - "triple-beam": "^1.3.0" - }, - "dependencies": { - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - } - } - }, "longest": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/longest/-/longest-2.0.1.tgz", @@ -19689,13 +20527,6 @@ "requires": { "braces": "^3.0.2", "picomatch": "^2.3.1" - }, - "dependencies": { - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" - } } }, "mime": { @@ -19757,6 +20588,12 @@ "kind-of": "^6.0.3" } }, + "minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "dev": true + }, "mkdirp": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", @@ -21707,14 +22544,6 @@ "wrappy": "1" } }, - "one-time": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz", - "integrity": "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==", - "requires": { - "fn.name": "1.x.x" - } - }, "onetime": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", @@ -21724,18 +22553,30 @@ "mimic-fn": "^2.1.0" } }, + "open": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/open/-/open-9.1.0.tgz", + "integrity": "sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==", + "dev": true, + "requires": { + "default-browser": "^4.0.0", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "is-wsl": "^2.2.0" + } + }, "optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", "dev": true, "requires": { + "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" + "type-check": "^0.4.0" } }, "ora": { @@ -21905,6 +22746,24 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, + "path-scurry": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", + "dev": true, + "requires": { + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.1.0.tgz", + "integrity": "sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==", + "dev": true + } + } + }, "path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", @@ -21924,10 +22783,9 @@ "dev": true }, "picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", - "dev": true + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" }, "pify": { "version": "4.0.1", @@ -22018,9 +22876,9 @@ "dev": true }, "prettier": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.1.1.tgz", + "integrity": "sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw==", "dev": true }, "prettier-linter-helpers": { @@ -22062,6 +22920,12 @@ "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", "dev": true }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, "quick-lru": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", @@ -22164,6 +23028,7 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -22221,12 +23086,6 @@ "private": "^0.1.6" } }, - "regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true - }, "regexpu-core": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", @@ -22399,6 +23258,15 @@ "glob": "^7.0.5" } }, + "run-applescript": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-5.0.0.tgz", + "integrity": "sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==", + "dev": true, + "requires": { + "execa": "^5.0.0" + } + }, "run-async": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", @@ -22406,10 +23274,13 @@ "dev": true }, "run-parallel": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.10.tgz", - "integrity": "sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw==", - "dev": true + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } }, "rxjs": { "version": "6.6.2", @@ -22423,12 +23294,8 @@ "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "safe-stable-stringify": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.3.1.tgz", - "integrity": "sha512-kYBSfT+troD9cDA85VDnHZ1rpHC50O0g1e6WlGHVCz/g+JS+9WKLj+XwFYyR8UbrZN8ll9HUpDAAddY58MGisg==" + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true }, "safer-buffer": { "version": "2.1.2", @@ -22636,21 +23503,6 @@ } } }, - "simple-swizzle": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", - "requires": { - "is-arrayish": "^0.3.1" - }, - "dependencies": { - "is-arrayish": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" - } - } - }, "slackify-markdown": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/slackify-markdown/-/slackify-markdown-4.3.1.tgz", @@ -22751,11 +23603,6 @@ "readable-stream": "^3.0.0" } }, - "stack-trace": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", - "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=" - }, "stream-combiner2": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", @@ -22787,6 +23634,7 @@ "version": "1.1.1", "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, "requires": { "safe-buffer": "~5.1.0" } @@ -22810,6 +23658,25 @@ } } }, + "string-width-cjs": { + "version": "npm:string-width@4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + } + } + }, "string.prototype.trimend": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", @@ -22839,6 +23706,15 @@ "ansi-regex": "^5.0.1" } }, + "strip-ansi-cjs": { + "version": "npm:strip-ansi@6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, "strip-bom": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", @@ -22908,6 +23784,24 @@ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true }, + "synckit": { + "version": "0.8.6", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.6.tgz", + "integrity": "sha512-laHF2savN6sMeHCjLRkheIU4wo3Zg9Ln5YOjOo7sZ5dVQW8yF5pPE5SIw1dsPhq3TRp1jisKRCdPhfs/1WMqDA==", + "dev": true, + "requires": { + "@pkgr/utils": "^2.4.2", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true + } + } + }, "tapable": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.0.tgz", @@ -23066,11 +23960,6 @@ "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==", "dev": true }, - "text-hex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz", - "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==" - }, "text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", @@ -23092,6 +23981,12 @@ "readable-stream": "3" } }, + "titleize": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/titleize/-/titleize-3.0.0.tgz", + "integrity": "sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==", + "dev": true + }, "tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", @@ -23139,33 +24034,44 @@ "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", "dev": true }, - "triple-beam": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.3.0.tgz", - "integrity": "sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==" - }, "trough": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz", "integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==", "dev": true }, + "ts-api-utils": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.3.tgz", + "integrity": "sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==", + "dev": true, + "requires": {} + }, "ts-loader": { - "version": "9.3.1", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.3.1.tgz", - "integrity": "sha512-OkyShkcZTsTwyS3Kt7a4rsT/t2qvEVQuKCTg4LJmpj9fhFR7ukGdZwV6Qq3tRUkqcXtfGpPR7+hFKHCG/0d3Lw==", + "version": "9.5.1", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz", + "integrity": "sha512-rNH3sK9kGZcH9dYzC7CewQm4NtxJTjSEVRJ2DyBZR7f8/wcta+iV44UPCXc5+nzDzivKtlzV6c9P4e+oFhDLYg==", "dev": true, "requires": { "chalk": "^4.1.0", "enhanced-resolve": "^5.0.0", "micromatch": "^4.0.0", - "semver": "^7.3.4" + "semver": "^7.3.4", + "source-map": "^0.7.4" + }, + "dependencies": { + "source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true + } } }, "ts-node": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", - "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", + "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", "dev": true, "requires": { "@cspotcode/source-map-support": "^0.8.0", @@ -23184,16 +24090,16 @@ } }, "ts-patch": { - "version": "3.0.0-beta3", - "resolved": "https://registry.npmjs.org/ts-patch/-/ts-patch-3.0.0-beta3.tgz", - "integrity": "sha512-WAuauq0u3jPWJLJRVQi4tz01XQ1KHi05sPxUrzjGx4xUweoCzYtpLHaTlbcBVw0u7iptQQ8hPZNCS36C6Uu8vw==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/ts-patch/-/ts-patch-3.1.1.tgz", + "integrity": "sha512-ReGYz9jQYC80PFafBx25TC0UI9cSgmUBtpT+WIy8IrhpLVzEHf430k03XQYOMldQMyZDBbzn5fBPELgtIl65cA==", "dev": true, "requires": { "chalk": "^4.1.2", "global-prefix": "^3.0.0", "minimist": "^1.2.8", "resolve": "^1.22.2", - "semver": "^7.3.8", + "semver": "^7.5.4", "strip-ansi": "^6.0.1" }, "dependencies": { @@ -23215,9 +24121,9 @@ "dev": true }, "semver": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz", - "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -23250,15 +24156,6 @@ "integrity": "sha512-tTSkux6IGPnUGUd1XAZHcpu85MOkIl5zX49pO+jfsie3eP0B6pyhOlLXm3cAC6T7s+euSDDUUV+Acop5WmtkVg==", "dev": true }, - "tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dev": true, - "requires": { - "tslib": "^1.8.1" - } - }, "type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -23275,9 +24172,9 @@ "dev": true }, "typescript": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz", - "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==", + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", + "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", "dev": true }, "uglify-js": { @@ -23387,6 +24284,12 @@ "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", "dev": true }, + "untildify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", + "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", + "dev": true + }, "uri-js": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", @@ -23414,12 +24317,7 @@ "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true }, "v8-compile-cache-lib": { @@ -23624,33 +24522,6 @@ "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", "dev": true }, - "winston": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/winston/-/winston-3.7.2.tgz", - "integrity": "sha512-QziIqtojHBoyzUOdQvQiar1DH0Xp9nF1A1y7NVy2DGEsz82SBDtOalS0ulTRGVT14xPX3WRWkCsdcJKqNflKng==", - "requires": { - "@dabh/diagnostics": "^2.0.2", - "async": "^3.2.3", - "is-stream": "^2.0.0", - "logform": "^2.4.0", - "one-time": "^1.0.0", - "readable-stream": "^3.4.0", - "safe-stable-stringify": "^2.3.1", - "stack-trace": "0.0.x", - "triple-beam": "^1.3.0", - "winston-transport": "^4.5.0" - } - }, - "winston-transport": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.5.0.tgz", - "integrity": "sha512-YpZzcUzBedhlTAfJg6vJDlyEai/IFMIVcaEZZyl3UXIl4gmqRpU7AE89AHLkbzLUsv0NVmw7ts+iztqKxxPW1Q==", - "requires": { - "logform": "^2.3.2", - "readable-stream": "^3.6.0", - "triple-beam": "^1.3.0" - } - }, "word-wrap": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.4.tgz", @@ -23700,6 +24571,43 @@ } } }, + "wrap-ansi-cjs": { + "version": "npm:wrap-ansi@7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + } + } + }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", diff --git a/package.json b/package.json index a926fc394..de86798af 100644 --- a/package.json +++ b/package.json @@ -33,7 +33,7 @@ "ts-check:src": "tsc --noEmit", "eslint": "eslint ./src/**/*.ts ./test/**/*.ts", "eslint:fix": "eslint --fix ./src/**/*.ts ./test/**/*.ts", - "prettier": "node node_modules/prettier/bin-prettier.js --check **/*.{ts,json}", + "prettier": "prettier --check **/*.{ts,json}", "prettier:fix": "npm run prettier -- --write", "release": "npm run dist:collect && semantic-release", "postversion": "cp -r package.json ../ && cp -r package-lock.json ../", @@ -61,12 +61,12 @@ "@semantic-release/changelog": "6.0.1", "@semantic-release/git": "10.0.1", "@semantic-release/github": "8.0.6", - "@types/jasmine": "4.3.0", + "@types/jasmine": "^5.1.4", "@types/lodash-es": "4.17.7", "@types/micromatch": "4.0.2", "@types/node": "16.18.31", - "@typescript-eslint/eslint-plugin": "5.35.1", - "@typescript-eslint/parser": "5.59.6", + "@typescript-eslint/eslint-plugin": "^6.15.0", + "@typescript-eslint/parser": "^6.15.0", "all-contributors-cli": "6.20.0", "clean-webpack-plugin": "4.0.0", "commitizen": "4.2.5", @@ -74,25 +74,25 @@ "cross-env": "7.0.3", "cross-var": "1.1.0", "cz-customizable": "6.9.2", - "eslint": "8.22.0", - "eslint-config-prettier": "8.8.0", + "eslint": "^8.56.0", + "eslint-config-prettier": "^9.1.0", "eslint-plugin-import": "2.26.0", - "eslint-plugin-prettier": "4.2.1", - "eslint-webpack-plugin": "3.2.0", + "eslint-plugin-prettier": "^5.1.2", + "eslint-webpack-plugin": "^4.0.1", "git-branch-is": "4.0.0", "husky": "8.0.1", - "jasmine": "4.3.0", + "jasmine": "^5.1.0", "jasmine-spec-reporter": "7.0.0", "no-emit-webpack-plugin": "4.0.1", - "prettier": "2.8.8", + "prettier": "^3.1.1", "regenerator-runtime": "0.13.11", "semantic-release": "19.0.5", "semantic-release-slack-bot": "3.5.3", - "ts-loader": "9.3.1", - "ts-node": "10.9.1", - "ts-patch": "^3.0.0-beta3", + "ts-loader": "^9.5.1", + "ts-node": "^10.9.2", + "ts-patch": "^3.1.1", "tsconfig-paths": "4.2.0", - "typescript": "^5.0.4", + "typescript": "^5.3.3", "webpack": "5.76.1", "webpack-cli": "4.10.0", "webpack-merge": "5.8.0", @@ -100,8 +100,7 @@ }, "dependencies": { "lodash-es": "4.17.21", - "micromatch": "4.0.5", - "winston": "3.7.2" + "micromatch": "4.0.5" }, "peerDependencies": { "typescript": "^5.0.4" diff --git a/src/create-hydrated-mock.ts b/src/create-hydrated-mock.ts index f15043f2b..72f1574dc 100644 --- a/src/create-hydrated-mock.ts +++ b/src/create-hydrated-mock.ts @@ -3,7 +3,7 @@ import { NoTransformerError } from './errors/no-transformer.error'; import { PartialDeep } from './partial/partial'; export function createHydratedMock( - _values?: PartialDeep + _values?: PartialDeep, ): T { throw new Error(NoTransformerError); } diff --git a/src/create-mock-list.ts b/src/create-mock-list.ts index 113bf768e..c63d6aefb 100644 --- a/src/create-mock-list.ts +++ b/src/create-mock-list.ts @@ -5,7 +5,7 @@ export function createMockList( // eslint-disable-next-line @typescript-eslint/no-unused-vars quantity: number, // eslint-disable-next-line @typescript-eslint/no-unused-vars - iterator?: (index: number) => PartialDeep + iterator?: (index: number) => PartialDeep, ): T[] { throw new Error(NoTransformerError); } diff --git a/src/extension/extension.ts b/src/extension/extension.ts index a6e00f17c..108787c93 100644 --- a/src/extension/extension.ts +++ b/src/extension/extension.ts @@ -1,3 +1,3 @@ export type Extension = ( - mock: TMock + mock: TMock, ) => TRequestedOverriddenMock; diff --git a/src/extension/extensionHandler.ts b/src/extension/extensionHandler.ts index 3cd3ba780..a22776cfc 100644 --- a/src/extension/extensionHandler.ts +++ b/src/extension/extensionHandler.ts @@ -4,11 +4,11 @@ import { isFunction } from './method/function'; type AsMockedPropertyHandler< TMockedPropertyHandler, TMock, - TPropName extends keyof TMock + TPropName extends keyof TMock, > = ( prop: TMock[TPropName], mock: TMock, - propName: TPropName + propName: TPropName, ) => TMockedPropertyHandler; export class ExtensionHandler { @@ -24,10 +24,10 @@ export class ExtensionHandler { TMockedPropertyHandler, TMock, TPropName - > + >, ): TMockedPropertyHandler; public get( - extension: Extension + extension: Extension, ): TMockedPropertyHandler; public get( extensionOrPropertyName: @@ -37,7 +37,7 @@ export class ExtensionHandler { TMockedPropertyHandler, TMock, TPropName - > + >, ): TMockedPropertyHandler { if (isFunction(extensionOrPropertyName)) { return extensionOrPropertyName(this._mock); @@ -47,14 +47,14 @@ export class ExtensionHandler { throw new Error( `It looks like you are trying to get an extension for ${ extensionOrPropertyName as string - } without specifying the handler.` + } without specifying the handler.`, ); } return maybePropertyHandler( this._mock[extensionOrPropertyName], this._mock, - extensionOrPropertyName + extensionOrPropertyName, ); } } diff --git a/src/extension/method/extensionMethod.ts b/src/extension/method/extensionMethod.ts index 9a02f2522..a88185eaf 100644 --- a/src/extension/method/extensionMethod.ts +++ b/src/extension/method/extensionMethod.ts @@ -5,16 +5,16 @@ import { isString } from './string'; type FunctionReturn = () => TR; export function method( - target: keyof TMock + target: keyof TMock, ): Extension>; export function method( - cb: (mock: TMock) => FunctionReturn | Function + cb: (mock: TMock) => FunctionReturn | Function, ): Extension>; export function method( // eslint-disable-next-line @typescript-eslint/no-explicit-any - cbOrTarget: any + cbOrTarget: any, ): Extension> { if (isString(cbOrTarget)) { return (mock: TMock): Method => diff --git a/src/extension/method/function.ts b/src/extension/method/function.ts index e03313af0..99cd39db9 100644 --- a/src/extension/method/function.ts +++ b/src/extension/method/function.ts @@ -1,5 +1,5 @@ export function isFunction( - functionToCheck: unknown + functionToCheck: unknown, ): functionToCheck is Function { return ( !!functionToCheck && diff --git a/src/extension/on/on.ts b/src/extension/on/on.ts index 518a1f2f6..d1d373204 100644 --- a/src/extension/on/on.ts +++ b/src/extension/on/on.ts @@ -6,7 +6,7 @@ export function On(mock: U): ExtensionHandler { // @ts-ignore if (!mock[Marker.instance.get()]) { throw new Error( - 'The provided mock is not valid. Please create a mock first with createMock' + 'The provided mock is not valid. Please create a mock first with createMock', ); } return new ExtensionHandler(mock); diff --git a/src/logger/consoleLogger.ts b/src/logger/consoleLogger.ts index 10204c3cd..8a9cc78fd 100644 --- a/src/logger/consoleLogger.ts +++ b/src/logger/consoleLogger.ts @@ -1,22 +1,21 @@ -import { Format, TransformableInfo } from 'logform'; -import * as winston from 'winston'; -import { ConsoleTransportInstance } from 'winston/lib/winston/transports'; +import { ILogger } from './logger.interface'; +import { MessageFormatter } from './logger'; -export function ConsoleLogger(): ConsoleTransportInstance { - const customFormat: Format = winston.format.printf( - (info: TransformableInfo) => `${info.level}: ${info.message}` - ); - - return new winston.transports.Console({ - level: 'error', - format: winston.format.combine( - winston.format((info: TransformableInfo) => { - info.level = info.level.toUpperCase(); - return info; - })(), - winston.format.colorize(), - winston.format.simple(), - customFormat - ), - }); +/* eslint-disable no-console */ +export function ConsoleLogger( + messageFormatter: MessageFormatter, + service: string, +): ILogger { + return { + info: (message: string): void => { + console.log(messageFormatter(service, 'info', message)); + }, + warning: (message: string): void => { + console.log(messageFormatter(service, 'warning', message)); + }, + error: (message: string): void => { + console.log(messageFormatter(service, 'error', message)); + }, + }; } +/* eslint-enable no-console */ diff --git a/src/logger/fileLogger.ts b/src/logger/fileLogger.ts index a276a7889..9a87dc8ef 100644 --- a/src/logger/fileLogger.ts +++ b/src/logger/fileLogger.ts @@ -1,29 +1,31 @@ -import { TransformableInfo } from 'logform'; -import * as winston from 'winston'; -import { FileTransportInstance } from 'winston/lib/winston/transports'; +import fs from 'fs'; +import { ILogger } from './logger.interface'; +import { MessageFormatter } from './messageFormatter'; -let winstonFileLogger: FileTransportInstance; +export function FileLogger( + messageFormatter: MessageFormatter, + service: string, +): ILogger { + const filePath: string = 'tsAutoMock.log'; -export function FileLogger(): FileTransportInstance { - return ( - winstonFileLogger || - (winstonFileLogger = new winston.transports.File({ - filename: 'tsAutoMock.log', - options: { flags: 'w' }, - level: 'error', - format: winston.format.combine( - winston.format((info: TransformableInfo) => { - info.level = info.level.toUpperCase(); - return info; - })(), - winston.format.simple(), - winston.format.timestamp(), - winston.format.printf( - (info: TransformableInfo) => - // eslint-disable-next-line @typescript-eslint/restrict-template-expressions - `${info.timestamp} - ${info.level}: ${info.message}` - ) - ), - })) - ); + const writeData: (data: string) => void = (data: string) => { + fs.writeFileSync(filePath, data, { + flag: 'a', + }); + }; + + return { + info: (message: string): void => { + writeData(messageFormatter(service, 'info', message)); + writeData('\n'); + }, + warning: (message: string): void => { + writeData(messageFormatter(service, 'warning', message)); + writeData('\n'); + }, + error: (message: string): void => { + writeData(messageFormatter(service, 'error', message)); + writeData('\n'); + }, + }; } diff --git a/src/logger/logger.ts b/src/logger/logger.ts index 0cc379850..927cb9c6c 100644 --- a/src/logger/logger.ts +++ b/src/logger/logger.ts @@ -1,60 +1,36 @@ -import * as winston from 'winston'; -import { AbstractConfigSet } from 'winston/lib/winston/config'; import { GetTsAutoMockDebugOptions, TsAutoMockDebugOptions, } from '../options/debug'; import { ConsoleLogger } from './consoleLogger'; -import { FileLogger } from './fileLogger'; import { ILogger } from './logger.interface'; +import { SilentLogger } from './silentLogger'; +import { FileLogger } from './fileLogger'; -function LoggerConfig(): AbstractConfigSet { - return { - levels: { - info: 0, - warning: 1, - error: 2, - }, - colors: { - info: 'green', - warning: 'yellow', - error: 'red', - }, - }; -} - -export function Logger(service: string): ILogger { - const config: AbstractConfigSet = LoggerConfig(); - - const winstonLogger: winston.Logger = winston.createLogger({ - levels: config.levels, - }); +const now: () => string = () => new Date().toISOString(); - winston.addColors(config.colors); +export type MessageFormatter = ( + service: string, + level: string, + message: string, +) => string; - winstonLogger.silent = true; +const formatter: MessageFormatter = ( + service: string, + level: string, + message: string, +) => `${now()}-${level.toUpperCase()}: ${service} - ${message}`; +export function Logger(service: string): ILogger { const options: TsAutoMockDebugOptions = GetTsAutoMockDebugOptions(); - if (options) { - winstonLogger.silent = false; + if (!options) { + return SilentLogger(); + } - if (options === 'file') { - winstonLogger.add(FileLogger()); - } else { - winstonLogger.add(ConsoleLogger()); - } + if (options === 'file') { + return FileLogger(formatter, service); } - return { - info: (message: string): void => { - winstonLogger.info(`${service} - ${message}`); - }, - warning: (message: string): void => { - winstonLogger.warning(`${service} - ${message}`); - }, - error: (message: string): void => { - winstonLogger.error(`${service} - ${message}`); - }, - }; + return ConsoleLogger(formatter, service); } diff --git a/src/logger/messageFormatter.ts b/src/logger/messageFormatter.ts new file mode 100644 index 000000000..43f6c85eb --- /dev/null +++ b/src/logger/messageFormatter.ts @@ -0,0 +1,5 @@ +export type MessageFormatter = ( + service: string, + level: string, + message: string, +) => string; diff --git a/src/logger/silentLogger.ts b/src/logger/silentLogger.ts new file mode 100644 index 000000000..414e7287c --- /dev/null +++ b/src/logger/silentLogger.ts @@ -0,0 +1,10 @@ +import { ILogger } from './logger.interface'; +/* eslint-disable @typescript-eslint/no-empty-function */ +export function SilentLogger(): ILogger { + return { + info: (_: string): void => {}, + warning: (_: string): void => {}, + error: (_: string): void => {}, + }; +} +/* eslint-enable @typescript-eslint/no-empty-function */ diff --git a/src/merge/merge.ts b/src/merge/merge.ts index d6ae00f1c..e91ac3405 100644 --- a/src/merge/merge.ts +++ b/src/merge/merge.ts @@ -12,7 +12,7 @@ export class Merge { srcValue: unknown, oneLevelPath: string, objContainer: object, - srcContainer: object + srcContainer: object, ) => { // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore @@ -26,14 +26,14 @@ export class Merge { ) { set(objContainer, [oneLevelPath], undefined); } - } + }, ); } public static mergeIterator( a: T, b: (index: number) => PartialDeep, - index: number + index: number, ): T { return Merge.merge(a, b(index)); } diff --git a/src/options/files.ts b/src/options/files.ts index bc4dd3206..bb03894a5 100644 --- a/src/options/files.ts +++ b/src/options/files.ts @@ -5,7 +5,7 @@ import { GetOptionByKey } from './options'; export type TsAutoMockFilesOption = string | string[] | undefined; export function GetIsFilesExcludedFromOptions(): ( - sourceFile: ts.SourceFile + sourceFile: ts.SourceFile, ) => boolean { const filesOption: string | string[] | undefined = GetOptionByKey('files'); diff --git a/src/options/options.ts b/src/options/options.ts index 37c61e3ba..c729e1cea 100644 --- a/src/options/options.ts +++ b/src/options/options.ts @@ -14,7 +14,7 @@ export interface TsAutoMockOptions { let tsAutoMockOptions: TsAutoMockOptions = defaultOptions; export function SetTsAutoMockOptions( - options: Partial + options: Partial, ): void { tsAutoMockOptions = { ...defaultOptions, @@ -23,7 +23,7 @@ export function SetTsAutoMockOptions( } export function GetOptionByKey( - optionKey: T + optionKey: T, ): TsAutoMockOptions[T] { return tsAutoMockOptions[optionKey]; } diff --git a/src/partial/partial.ts b/src/partial/partial.ts index 8f2e02c92..5f8616530 100644 --- a/src/partial/partial.ts +++ b/src/partial/partial.ts @@ -3,24 +3,24 @@ import type { BuiltIns } from './internal'; export type PartialDeep = T extends BuiltIns ? T : T extends Map - ? PartialMapDeep - : T extends Set - ? PartialSetDeep - : T extends ReadonlyMap - ? PartialReadonlyMapDeep - : T extends ReadonlySet - ? PartialReadonlySetDeep - : T extends (...args: any[]) => unknown // eslint-disable-line @typescript-eslint/no-explicit-any - ? T | undefined - : T extends object - ? T extends ReadonlyArray // Test for arrays/tuples, per https://github.com/microsoft/TypeScript/issues/35156 - ? ItemType[] extends T // Test for arrays (non-tuples) specifically - ? readonly ItemType[] extends T // Differentiate readonly and mutable arrays - ? ReadonlyArray> - : Array> - : PartialObjectDeep - : PartialObjectDeep - : unknown; + ? PartialMapDeep + : T extends Set + ? PartialSetDeep + : T extends ReadonlyMap + ? PartialReadonlyMapDeep + : T extends ReadonlySet + ? PartialReadonlySetDeep + : T extends (...args: any[]) => unknown // eslint-disable-line @typescript-eslint/no-explicit-any + ? T | undefined + : T extends object + ? T extends ReadonlyArray // Test for arrays/tuples, per https://github.com/microsoft/TypeScript/issues/35156 + ? ItemType[] extends T // Test for arrays (non-tuples) specifically + ? readonly ItemType[] extends T // Differentiate readonly and mutable arrays + ? ReadonlyArray> + : Array> + : PartialObjectDeep + : PartialObjectDeep + : unknown; type PartialMapDeep = {} & Map< PartialDeep, diff --git a/src/transformer/array/array.ts b/src/transformer/array/array.ts index 4ec8bb4b5..152aab460 100644 --- a/src/transformer/array/array.ts +++ b/src/transformer/array/array.ts @@ -24,7 +24,7 @@ export namespace ArrayHelper { export function ArrayFromLength(length: number): Array { return Array.from( Array(length), - (value: undefined, index: number) => index + (value: undefined, index: number) => index, ); } } diff --git a/src/transformer/base/base.ts b/src/transformer/base/base.ts index d7479914f..e24b37cc4 100644 --- a/src/transformer/base/base.ts +++ b/src/transformer/base/base.ts @@ -10,14 +10,14 @@ import { InitCore, core } from '../core/core'; export function baseTransformer( customFunctions: CustomFunction[], - typescript: typeof ts + typescript: typeof ts, ): ( program: ts.Program, - options?: Partial + options?: Partial, ) => ts.TransformerFactory { return ( program: ts.Program, - options?: Partial + options?: Partial, ): ts.TransformerFactory => { if (options) { SetTsAutoMockOptions(options); @@ -30,7 +30,7 @@ export function baseTransformer( GetIsFilesExcludedFromOptions(); return ( - context: ts.TransformationContext + context: ts.TransformationContext, ): ((file: ts.SourceFile) => ts.SourceFile) => (file: ts.SourceFile): ts.SourceFile => { if (isFileExcluded(file)) { @@ -41,7 +41,7 @@ export function baseTransformer( let sourceFile: ts.SourceFile = visitNodeAndChildren( file, context, - customFunctions + customFunctions, ); sourceFile = updateSourceFileNode(sourceFile, [ @@ -57,23 +57,23 @@ export function baseTransformer( function visitNodeAndChildren( node: ts.SourceFile, context: ts.TransformationContext, - customFunctions: CustomFunction[] + customFunctions: CustomFunction[], ): ts.SourceFile; function visitNodeAndChildren( node: ts.Node, context: ts.TransformationContext, - customFunctions: CustomFunction[] + customFunctions: CustomFunction[], ): ts.Node; function visitNodeAndChildren( node: ts.Node, context: ts.TransformationContext, - customFunctions: CustomFunction[] + customFunctions: CustomFunction[], ): ts.Node { return core.ts.visitEachChild( visitNode(node, customFunctions), (childNode: ts.Node) => visitNodeAndChildren(childNode, context, customFunctions), - context + context, ); } diff --git a/src/transformer/custom-transformer.ts b/src/transformer/custom-transformer.ts index f38884a1c..1a38d78e3 100644 --- a/src/transformer/custom-transformer.ts +++ b/src/transformer/custom-transformer.ts @@ -10,12 +10,12 @@ interface CustomTransformerConfig { export const customTransformer: ( program: ts.Program, - config: CustomTransformerConfig + config: CustomTransformerConfig, ) => ts.TransformerFactory = ( program: ts.Program, - config: CustomTransformerConfig + config: CustomTransformerConfig, ) => baseTransformer(customFunctions, config.typescript)( program, - config.transformerOptions + config.transformerOptions, ); diff --git a/src/transformer/customFunctions/create-hydrated-mock.ts b/src/transformer/customFunctions/create-hydrated-mock.ts index 3b7e4bf13..6146dbf71 100644 --- a/src/transformer/customFunctions/create-hydrated-mock.ts +++ b/src/transformer/customFunctions/create-hydrated-mock.ts @@ -12,7 +12,7 @@ export const createHydratedMockCustomFunction: CustomFunction = nodeToMock, hydrated: true, defaultValues: getDefaultValues(node), - }) + }), ); function getDefaultValues(node: ts.CallExpression): ts.Expression | undefined { diff --git a/src/transformer/customFunctions/create-mock-list.ts b/src/transformer/customFunctions/create-mock-list.ts index ad18a7676..2b658f432 100644 --- a/src/transformer/customFunctions/create-mock-list.ts +++ b/src/transformer/customFunctions/create-mock-list.ts @@ -20,7 +20,7 @@ export const createMockListCustomFunction: CustomFunction = amount: lengthExpression, defaultValues: getDefaultValues(node), }); - } + }, ); function getDefaultValues(node: ts.CallExpression): ts.Expression | undefined { diff --git a/src/transformer/customFunctions/create-mock.ts b/src/transformer/customFunctions/create-mock.ts index 00b6eb2cc..1be4b58ab 100644 --- a/src/transformer/customFunctions/create-mock.ts +++ b/src/transformer/customFunctions/create-mock.ts @@ -11,7 +11,7 @@ export const createMockCustomFunction: CustomFunction = getMock(node, { nodeToMock, defaultValues: getDefaultValues(node), - }) + }), ); function getDefaultValues(node: ts.CallExpression): ts.Expression | undefined { diff --git a/src/transformer/customFunctions/helpers/assert-type-argument-presence.ts b/src/transformer/customFunctions/helpers/assert-type-argument-presence.ts index f04b67f57..bea6d7978 100644 --- a/src/transformer/customFunctions/helpers/assert-type-argument-presence.ts +++ b/src/transformer/customFunctions/helpers/assert-type-argument-presence.ts @@ -2,7 +2,7 @@ import type * as ts from 'typescript'; import { TypescriptHelper } from '../../descriptor/helper/helper'; export function assertTypeArgumentPresence( - node: ts.CallExpression + node: ts.CallExpression, ): asserts node is ts.CallExpression & { typeArguments: ts.NodeArray; } { @@ -12,7 +12,7 @@ export function assertTypeArgumentPresence( throw new Error( `It seems you've called \`${mockFunction}' without specifying a type argument to mock. Please refer to the documentation on how to use \`${mockFunction}': - https://github.com/Typescript-TDD/ts-auto-mock#quick-overview` + https://github.com/Typescript-TDD/ts-auto-mock#quick-overview`, ); } } diff --git a/src/transformer/customFunctions/helpers/custom-function-with-type-argument.ts b/src/transformer/customFunctions/helpers/custom-function-with-type-argument.ts index f84ea6eae..9ceab53b1 100644 --- a/src/transformer/customFunctions/helpers/custom-function-with-type-argument.ts +++ b/src/transformer/customFunctions/helpers/custom-function-with-type-argument.ts @@ -4,7 +4,7 @@ import { assertTypeArgumentPresence } from './assert-type-argument-presence'; function isDeclarationWithName( declaration: ts.SignatureDeclaration, - declarationName: string + declarationName: string, ): boolean { return declaration.name?.getText() === declarationName; } @@ -12,14 +12,14 @@ function isDeclarationWithName( export function customFunctionWithTypeArgument( sourceName: string, declarationName: string, - run: (node: ts.CallExpression, typeArgument: ts.TypeNode) => ts.Node + run: (node: ts.CallExpression, typeArgument: ts.TypeNode) => ts.Node, ): CustomFunction { return { sourceDts: sourceName, sourceUrl: `../${sourceName}`, isHandledFunction( node: ts.CallExpression, - declaration: ts.SignatureDeclaration + declaration: ts.SignatureDeclaration, ): boolean { return isDeclarationWithName(declaration, declarationName); }, diff --git a/src/transformer/customFunctions/register-mock.ts b/src/transformer/customFunctions/register-mock.ts index c4e0226d8..b76d1d96f 100644 --- a/src/transformer/customFunctions/register-mock.ts +++ b/src/transformer/customFunctions/register-mock.ts @@ -8,5 +8,5 @@ export const registerMockCustomFunction: CustomFunction = 'register-mock.d.ts', 'registerMock', (node: ts.CallExpression, nodeToMock: ts.TypeNode): ts.Node => - storeRegisterMock(nodeToMock, node) + storeRegisterMock(nodeToMock, node), ); diff --git a/src/transformer/descriptor/callExpression/callExpression.ts b/src/transformer/descriptor/callExpression/callExpression.ts index 7b1ca85e7..630967885 100644 --- a/src/transformer/descriptor/callExpression/callExpression.ts +++ b/src/transformer/descriptor/callExpression/callExpression.ts @@ -11,14 +11,14 @@ import { GetNullDescriptor } from '../null/null'; export function GetCallExpressionDescriptor( node: ts.CallExpression, - scope: Scope + scope: Scope, ): ts.Expression { return GetDescriptor(GetCallExpressionType(node), scope); } export function GetCallExpressionType(node: ts.CallExpression): ts.Node { const declaration: ts.Declaration = TypescriptHelper.GetDeclarationFromNode( - node.expression + node.expression, ); return GetFinalFunctionTypeFromDeclaration(node, declaration); @@ -26,7 +26,7 @@ export function GetCallExpressionType(node: ts.CallExpression): ts.Node { function GetFinalFunctionTypeFromDeclaration( initialNode: ts.Node, - node: ts.Node + node: ts.Node, ): ts.Node { if (core.ts.isFunctionLike(node)) { return GetFunctionReturnType(node as FunctionLikeDeclaration); diff --git a/src/transformer/descriptor/class/classDeclaration.ts b/src/transformer/descriptor/class/classDeclaration.ts index 52d313835..f7ddd3a07 100644 --- a/src/transformer/descriptor/class/classDeclaration.ts +++ b/src/transformer/descriptor/class/classDeclaration.ts @@ -4,7 +4,7 @@ import { GetProperties } from '../properties/properties'; export function GetClassDeclarationDescriptor( node: ts.ClassDeclaration, - scope: Scope + scope: Scope, ): ts.Expression { return GetProperties(node, scope); } diff --git a/src/transformer/descriptor/constructor/constructorType.ts b/src/transformer/descriptor/constructor/constructorType.ts index b23b68129..497044dd8 100644 --- a/src/transformer/descriptor/constructor/constructorType.ts +++ b/src/transformer/descriptor/constructor/constructorType.ts @@ -5,7 +5,7 @@ import { createFunctionExpressionReturn } from '../../../typescriptFactory/types export function GetConstructorTypeDescriptor( node: ts.ConstructorTypeNode, - scope: Scope + scope: Scope, ): ts.Expression { return createFunctionExpressionReturn(GetDescriptor(node.type, scope)); } diff --git a/src/transformer/descriptor/descriptor.ts b/src/transformer/descriptor/descriptor.ts index 3daaf2f99..d117d91f1 100644 --- a/src/transformer/descriptor/descriptor.ts +++ b/src/transformer/descriptor/descriptor.ts @@ -52,20 +52,20 @@ export function GetDescriptor(node: ts.Node, scope: Scope): ts.Expression { case core.ts.SyntaxKind.ShorthandPropertyAssignment: return GetShorthandPropertyAssignmentDescriptor( node as ts.ShorthandPropertyAssignment, - scope + scope, ); case core.ts.SyntaxKind.VariableDeclaration: return GetVariableDeclarationDescriptor( node as ts.VariableDeclaration, - scope + scope, ); case core.ts.SyntaxKind.Parameter: return GetParameterDescriptor(node as ts.ParameterDeclaration, scope); case core.ts.SyntaxKind.ParenthesizedExpression: return GetParenthesizedExpressionDescriptor( node as ts.ParenthesizedExpression, - scope + scope, ); case core.ts.SyntaxKind.TypeAliasDeclaration: return GetTypeAliasDescriptor(node as ts.TypeAliasDeclaration, scope); @@ -76,7 +76,7 @@ export function GetDescriptor(node: ts.Node, scope: Scope): ts.Expression { case core.ts.SyntaxKind.InterfaceDeclaration: return GetInterfaceDeclarationDescriptor( node as ts.InterfaceDeclaration, - scope + scope, ); case core.ts.SyntaxKind.ClassDeclaration: return GetClassDeclarationDescriptor(node as ts.ClassDeclaration, scope); @@ -90,14 +90,14 @@ export function GetDescriptor(node: ts.Node, scope: Scope): ts.Expression { case core.ts.SyntaxKind.ExpressionWithTypeArguments: return GetExpressionWithTypeArgumentsDescriptor( node as ts.ExpressionWithTypeArguments, - scope + scope, ); case core.ts.SyntaxKind.Identifier: return GetIdentifierDescriptor(node as ts.Identifier, scope); case core.ts.SyntaxKind.ThisType: if (!scope.currentMockKey) { throw new Error( - `The transformer attempted to look up a mock factory call for \`${node.getText()}' without a mock key.` + `The transformer attempted to look up a mock factory call for \`${node.getText()}' without a mock key.`, ); } @@ -107,7 +107,7 @@ export function GetDescriptor(node: ts.Node, scope: Scope): ts.Expression { case core.ts.SyntaxKind.TypeParameter: return GetTypeParameterDescriptor( node as ts.TypeParameterDeclaration, - scope + scope, ); case core.ts.SyntaxKind.ImportClause: return GetImportDescriptor(node as ts.ImportClause, scope); @@ -116,29 +116,29 @@ export function GetDescriptor(node: ts.Node, scope: Scope): ts.Expression { case core.ts.SyntaxKind.GetAccessor: return GetGetAccessorDeclarationDescriptor( node as ts.GetAccessorDeclaration, - scope + scope, ); case core.ts.SyntaxKind.FunctionDeclaration: return GetMethodDeclarationDescriptor( node as ts.FunctionDeclaration, - scope + scope, ); case core.ts.SyntaxKind.MethodDeclaration: return GetMethodDeclarationDescriptor( node as ts.MethodDeclaration, - scope + scope, ); case core.ts.SyntaxKind.FunctionType: return GetFunctionTypeDescriptor(node as ts.FunctionTypeNode, scope); case core.ts.SyntaxKind.ConstructSignature: return GetFunctionTypeDescriptor( node as ts.ConstructSignatureDeclaration, - scope + scope, ); case core.ts.SyntaxKind.CallSignature: return GetFunctionTypeDescriptor( node as ts.CallSignatureDeclaration, - scope + scope, ); case core.ts.SyntaxKind.ArrowFunction: case core.ts.SyntaxKind.FunctionExpression: @@ -146,7 +146,7 @@ export function GetDescriptor(node: ts.Node, scope: Scope): ts.Expression { case core.ts.SyntaxKind.ConstructorType: return GetConstructorTypeDescriptor( node as ts.ConstructorTypeNode, - scope + scope, ); case core.ts.SyntaxKind.TypeQuery: return GetTypeQueryDescriptor(node as ts.TypeQueryNode, scope); @@ -161,7 +161,7 @@ export function GetDescriptor(node: ts.Node, scope: Scope): ts.Expression { case core.ts.SyntaxKind.ParenthesizedType: return GetParenthesizedDescriptor( node as ts.ParenthesizedTypeNode, - scope + scope, ); case core.ts.SyntaxKind.ArrayType: return GetArrayDescriptor(); @@ -181,12 +181,12 @@ export function GetDescriptor(node: ts.Node, scope: Scope): ts.Expression { case core.ts.SyntaxKind.ObjectLiteralExpression: return GetObjectLiteralDescriptor( node as ts.ObjectLiteralExpression, - scope + scope, ); case core.ts.SyntaxKind.IndexedAccessType: return GetIndexedAccessTypeDescriptor( node as ts.IndexedAccessTypeNode, - scope + scope, ); case core.ts.SyntaxKind.BooleanKeyword: case core.ts.SyntaxKind.TypePredicate: @@ -199,7 +199,7 @@ export function GetDescriptor(node: ts.Node, scope: Scope): ts.Expression { case core.ts.SyntaxKind.ImportEqualsDeclaration: return GetImportEqualsDescriptor( node as ts.ImportEqualsDeclaration, - scope + scope, ); case core.ts.SyntaxKind.TypeOperator: return GetTypeOperatorDescriptor(node as ts.TypeOperatorNode, scope); diff --git a/src/transformer/descriptor/enum/enumDeclaration.ts b/src/transformer/descriptor/enum/enumDeclaration.ts index 933525f6b..8551bcbfa 100644 --- a/src/transformer/descriptor/enum/enumDeclaration.ts +++ b/src/transformer/descriptor/enum/enumDeclaration.ts @@ -9,14 +9,14 @@ import { } from '../../../typescriptFactory/typescriptFactory'; export function GetEnumDeclarationDescriptor( - node: ts.EnumDeclaration + node: ts.EnumDeclaration, ): ts.Expression { const typeChecker: ts.TypeChecker = core.typeChecker; if (IsTsAutoMockRandomEnabled()) { const nodesList: ts.Expression[] = node.members.map( (member: ts.EnumMember, index: number) => - getEnumMemberValue(typeChecker, member, index) + getEnumMemberValue(typeChecker, member, index), ); return createCall(RandomPropertyAccessor('enumValue'), nodesList); @@ -28,7 +28,7 @@ export function GetEnumDeclarationDescriptor( function getEnumMemberValue( typeChecker: ts.TypeChecker, member: ts.EnumMember, - defaultValue: string | number = 0 + defaultValue: string | number = 0, ): ts.Expression { const value: string | number = typeChecker.getConstantValue(member) || defaultValue; diff --git a/src/transformer/descriptor/expression/expressionWithTypeArguments.ts b/src/transformer/descriptor/expression/expressionWithTypeArguments.ts index 8d87cb37c..fbd9cb987 100644 --- a/src/transformer/descriptor/expression/expressionWithTypeArguments.ts +++ b/src/transformer/descriptor/expression/expressionWithTypeArguments.ts @@ -4,7 +4,7 @@ import { GetDescriptor } from '../descriptor'; export function GetExpressionWithTypeArgumentsDescriptor( node: ts.ExpressionWithTypeArguments, - scope: Scope + scope: Scope, ): ts.Expression { return GetDescriptor(node.expression, scope); } diff --git a/src/transformer/descriptor/getAccessor/getAccessor.ts b/src/transformer/descriptor/getAccessor/getAccessor.ts index 120bd2e8e..dd2c18bf0 100644 --- a/src/transformer/descriptor/getAccessor/getAccessor.ts +++ b/src/transformer/descriptor/getAccessor/getAccessor.ts @@ -6,7 +6,7 @@ import { PropertySignatureCache } from '../property/cache'; export function GetGetAccessorDeclarationDescriptor( node: ts.GetAccessorDeclaration, - scope: Scope + scope: Scope, ): ts.Expression { PropertySignatureCache.instance.set(node.name); const returnTypeNode: ts.Node = GetFunctionReturnType(node); diff --git a/src/transformer/descriptor/helper/helper.ts b/src/transformer/descriptor/helper/helper.ts index 679ec0a9b..90f2b47e6 100644 --- a/src/transformer/descriptor/helper/helper.ts +++ b/src/transformer/descriptor/helper/helper.ts @@ -30,7 +30,7 @@ export namespace TypescriptHelper { if (!symbol) { throw new Error( `The type checker failed to look up a symbol for \`${node.getText()}'. - Perhaps, the checker was searching an outdated source.` + Perhaps, the checker was searching an outdated source.`, ); } @@ -42,7 +42,7 @@ export namespace TypescriptHelper { if (!declarations) { throw new Error( - `Failed to look up declarations for \`${symbol.getName()}'.` + `Failed to look up declarations for \`${symbol.getName()}'.`, ); } @@ -56,13 +56,13 @@ export namespace TypescriptHelper { } export function GetConcreteDeclarationFromSymbol( - symbol: ts.Symbol + symbol: ts.Symbol, ): ts.Declaration { const declarations: ts.Declaration[] | undefined = symbol.declarations; if (!declarations) { throw new Error( - `Failed to look up declarations for \`${symbol.getName()}'.` + `Failed to look up declarations for \`${symbol.getName()}'.`, ); } @@ -76,7 +76,7 @@ export namespace TypescriptHelper { } export function GetDeclarationForImport( - node: ImportDeclaration + node: ImportDeclaration, ): ts.Declaration { const declarations: ts.Declaration[] = GetDeclarationsForImport(node); @@ -84,7 +84,7 @@ export namespace TypescriptHelper { } export function GetConcreteDeclarationForImport( - node: ImportDeclaration + node: ImportDeclaration, ): ts.Declaration { const declarations: ts.Declaration[] = GetDeclarationsForImport(node); @@ -92,7 +92,7 @@ export namespace TypescriptHelper { } export function GetParameterOfNode( - node: ts.EntityName + node: ts.EntityName, ): ts.NodeArray { const declaration: ts.Declaration = GetDeclarationFromNode(node); @@ -103,7 +103,7 @@ export namespace TypescriptHelper { } export function GetTypeParameterOwnerMock( - declaration: ts.Declaration + declaration: ts.Declaration, ): ts.Declaration | undefined { const typeDeclaration: ts.Declaration | undefined = core.ts.getTypeParameterOwner(declaration); @@ -134,7 +134,7 @@ export namespace TypescriptHelper { if (!symbol) { throw new Error( - `The type checker failed to look up symbol for property: ${propertyName.getText()}.` + `The type checker failed to look up symbol for property: ${propertyName.getText()}.`, ); } @@ -146,7 +146,7 @@ export namespace TypescriptHelper { } export function getSignatureOfCallExpression( - node: ts.CallExpression + node: ts.CallExpression, ): ts.Signature | undefined { return core.typeChecker.getResolvedSignature(node); } @@ -158,14 +158,14 @@ export namespace TypescriptHelper { } function GetFirstValidDeclaration( - declarations: ts.Declaration[] + declarations: ts.Declaration[], ): ts.Declaration { return ( declarations.find( (declaration: ts.Declaration) => !core.ts.isVariableDeclaration(declaration) && !core.ts.isFunctionDeclaration(declaration) && - !core.ts.isModuleDeclaration(declaration) + !core.ts.isModuleDeclaration(declaration), ) || declarations[0] ); } @@ -178,7 +178,7 @@ export namespace TypescriptHelper { } function isImportExportDeclaration( - declaration: ts.Declaration + declaration: ts.Declaration, ): declaration is ImportDeclaration { return ( core.ts.isImportEqualsDeclaration(declaration) || diff --git a/src/transformer/descriptor/identifier/identifier.ts b/src/transformer/descriptor/identifier/identifier.ts index 409d401ed..9e60aaccf 100644 --- a/src/transformer/descriptor/identifier/identifier.ts +++ b/src/transformer/descriptor/identifier/identifier.ts @@ -7,11 +7,11 @@ import { core } from '../../core/core'; export function GetIdentifierDescriptor( node: ts.Identifier, - scope: Scope + scope: Scope, ): ts.Expression { if ( - node.originalKeywordKind && - node.originalKeywordKind === core.ts.SyntaxKind.UndefinedKeyword + core.ts.identifierToKeywordKind(node) === + core.ts.SyntaxKind?.UndefinedKeyword ) { return GetUndefinedDescriptor(); } diff --git a/src/transformer/descriptor/import/import.ts b/src/transformer/descriptor/import/import.ts index 034a20c4a..6ff6a6267 100644 --- a/src/transformer/descriptor/import/import.ts +++ b/src/transformer/descriptor/import/import.ts @@ -5,7 +5,7 @@ import { GetTypeImport, ImportNode } from '../type/typeImport'; export function GetImportDescriptor( node: ImportNode, - scope: Scope + scope: Scope, ): ts.Expression { const type: ts.Node = GetTypeImport(node); return GetDescriptor(type, scope); diff --git a/src/transformer/descriptor/import/importEquals.ts b/src/transformer/descriptor/import/importEquals.ts index 12982cba0..d641bf919 100644 --- a/src/transformer/descriptor/import/importEquals.ts +++ b/src/transformer/descriptor/import/importEquals.ts @@ -5,10 +5,10 @@ import { TypescriptHelper } from '../helper/helper'; export function GetImportEqualsDescriptor( node: ts.ImportEqualsDeclaration, - scope: Scope + scope: Scope, ): ts.Expression { const declaration: ts.Declaration = TypescriptHelper.GetDeclarationFromNode( - node.moduleReference + node.moduleReference, ); return GetDescriptor(declaration, scope); } diff --git a/src/transformer/descriptor/indexedAccess/indexedAccess.ts b/src/transformer/descriptor/indexedAccess/indexedAccess.ts index c0e6a97b8..ca69fac07 100644 --- a/src/transformer/descriptor/indexedAccess/indexedAccess.ts +++ b/src/transformer/descriptor/indexedAccess/indexedAccess.ts @@ -9,7 +9,7 @@ import { PropertySignatureCache } from '../property/cache'; export function GetIndexedAccessTypeDescriptor( node: ts.IndexedAccessTypeNode, - scope: Scope + scope: Scope, ): ts.Expression { let propertyName: string | null = null; @@ -17,7 +17,7 @@ export function GetIndexedAccessTypeDescriptor( case core.ts.SyntaxKind.TypeReference: const declaration: ts.Declaration = TypescriptHelper.GetDeclarationFromNode( - (node.indexType as ts.TypeReferenceNode).typeName + (node.indexType as ts.TypeReferenceNode).typeName, ); switch (declaration.kind) { @@ -25,7 +25,7 @@ export function GetIndexedAccessTypeDescriptor( const propertyNameIdentifier: ts.PropertyName = PropertySignatureCache.instance.get(); propertyName = TypescriptHelper.GetStringPropertyName( - propertyNameIdentifier + propertyNameIdentifier, ); break; case core.ts.SyntaxKind.TypeAliasDeclaration: @@ -41,7 +41,7 @@ export function GetIndexedAccessTypeDescriptor( `IndexedAccess of TypeReference of ${ core.ts.SyntaxKind[declaration.kind] }`, - declaration + declaration, ); break; } @@ -54,7 +54,7 @@ export function GetIndexedAccessTypeDescriptor( default: TransformerLogger().typeNotSupported( `IndexedAccess of ${core.ts.SyntaxKind[node.indexType.kind]}`, - node.indexType + node.indexType, ); break; } @@ -63,7 +63,7 @@ export function GetIndexedAccessTypeDescriptor( const propertySymbol: ts.Symbol | undefined = core.typeChecker.getPropertyOfType( core.typeChecker.getTypeFromTypeNode(node.objectType), - propertyName + propertyName, ); if (!propertySymbol) { @@ -72,14 +72,14 @@ export function GetIndexedAccessTypeDescriptor( TransformerLogger().indexedAccessTypeFailed( propertyName, node.getText(), - node + node, ); return GetNullDescriptor(); } return GetDescriptor( TypescriptHelper.GetDeclarationFromSymbol(propertySymbol), - scope + scope, ); } diff --git a/src/transformer/descriptor/interface/interfaceDeclaration.ts b/src/transformer/descriptor/interface/interfaceDeclaration.ts index 8952edd76..3d7a9c19c 100644 --- a/src/transformer/descriptor/interface/interfaceDeclaration.ts +++ b/src/transformer/descriptor/interface/interfaceDeclaration.ts @@ -4,7 +4,7 @@ import { GetProperties } from '../properties/properties'; export function GetInterfaceDeclarationDescriptor( node: ts.InterfaceDeclaration, - scope: Scope + scope: Scope, ): ts.Expression { return GetProperties(node, scope); } diff --git a/src/transformer/descriptor/intersection/intersection.ts b/src/transformer/descriptor/intersection/intersection.ts index fc0236de0..cf6bab1da 100644 --- a/src/transformer/descriptor/intersection/intersection.ts +++ b/src/transformer/descriptor/intersection/intersection.ts @@ -8,14 +8,14 @@ import { GetUndefinedDescriptor } from '../undefined/undefined'; export function GetIntersectionDescriptor( intersectionTypeNode: ts.IntersectionTypeNode, - scope: Scope + scope: Scope, ): ts.Expression { const nodes: ts.Node[] = GetTypes(intersectionTypeNode.types, scope); const hasInvalidIntersections: boolean = nodes.some( (node: ts.Node) => TypescriptHelper.IsLiteralOrPrimitive(node) || - core.ts.isTypeQueryNode(node) + core.ts.isTypeQueryNode(node), ); if (hasInvalidIntersections) { diff --git a/src/transformer/descriptor/literal/literal.ts b/src/transformer/descriptor/literal/literal.ts index b0172dc6b..d030725e1 100644 --- a/src/transformer/descriptor/literal/literal.ts +++ b/src/transformer/descriptor/literal/literal.ts @@ -10,7 +10,7 @@ import { export function GetLiteralDescriptor( node: ts.LiteralTypeNode, - scope: Scope + scope: Scope, ): ts.Expression { const type: ts.Type = core.typeChecker.getTypeAtLocation(node); const literalType: ts.LiteralType = type as ts.LiteralType; @@ -26,7 +26,7 @@ export function GetLiteralDescriptor( } function GetLiteralTokenDescriptor( - node: ts.LiteralTypeNode + node: ts.LiteralTypeNode, ): ts.StringLiteral | ts.NumericLiteral { // eslint-disable-next-line @typescript-eslint/no-explicit-any const nodeToken: any = node as any; diff --git a/src/transformer/descriptor/mapped/mapped.ts b/src/transformer/descriptor/mapped/mapped.ts index ad1177756..9b44894e3 100644 --- a/src/transformer/descriptor/mapped/mapped.ts +++ b/src/transformer/descriptor/mapped/mapped.ts @@ -10,7 +10,7 @@ import { export function GetMappedDescriptor( node: ts.MappedTypeNode, - scope: Scope + scope: Scope, ): ts.Expression { const typeParameter: ts.TypeNode | undefined = node.typeParameter.constraint; @@ -26,7 +26,7 @@ export function GetMappedDescriptor( if (core.ts.isLiteralTypeNode(possibleType)) { const property: ts.PropertyDeclaration = createProperty( (possibleType.literal as ts.StringLiteral).text, - node.type + node.type, ); acc.push(property); return acc; @@ -41,7 +41,7 @@ export function GetMappedDescriptor( return acc; }, - [] + [], ); return GetMockPropertiesFromDeclarations(properties, [], scope); diff --git a/src/transformer/descriptor/method/bodyReturnType.ts b/src/transformer/descriptor/method/bodyReturnType.ts index 2b6f55612..edb292b2e 100644 --- a/src/transformer/descriptor/method/bodyReturnType.ts +++ b/src/transformer/descriptor/method/bodyReturnType.ts @@ -12,13 +12,13 @@ export function GetReturnTypeFromBodyDescriptor( | ts.FunctionExpression | ts.MethodDeclaration | ts.FunctionDeclaration, - scope: Scope + scope: Scope, ): ts.Expression { return GetDescriptor(GetReturnNodeFromBody(node), scope); } export function GetReturnNodeFromBody( - node: ts.FunctionLikeDeclaration + node: ts.FunctionLikeDeclaration, ): ts.Node { const functionBody: ts.ConciseBody | undefined = node.body; @@ -61,6 +61,6 @@ export function GetReturnNodeFromBody( function GetReturnStatement(body: ts.FunctionBody): ts.ReturnStatement { return body.statements.find( (statement: ts.Statement) => - statement.kind === core.ts.SyntaxKind.ReturnStatement + statement.kind === core.ts.SyntaxKind.ReturnStatement, ) as ts.ReturnStatement; } diff --git a/src/transformer/descriptor/method/functionAssignment.ts b/src/transformer/descriptor/method/functionAssignment.ts index 835abe48a..9014643b2 100644 --- a/src/transformer/descriptor/method/functionAssignment.ts +++ b/src/transformer/descriptor/method/functionAssignment.ts @@ -8,12 +8,12 @@ type FunctionAssignment = ts.ArrowFunction | ts.FunctionExpression; export function GetFunctionAssignmentDescriptor( node: FunctionAssignment, - scope: Scope + scope: Scope, ): ts.Expression { const property: ts.PropertyName = PropertySignatureCache.instance.get(); const returnValue: ts.Expression = GetReturnTypeFromBodyDescriptor( node, - scope + scope, ); return GetMethodDescriptor(property, returnValue); diff --git a/src/transformer/descriptor/method/functionReturnType.ts b/src/transformer/descriptor/method/functionReturnType.ts index 08aa70fba..149ec03a2 100644 --- a/src/transformer/descriptor/method/functionReturnType.ts +++ b/src/transformer/descriptor/method/functionReturnType.ts @@ -2,7 +2,7 @@ import type * as ts from 'typescript'; import { GetReturnNodeFromBody } from './bodyReturnType'; export function GetFunctionReturnType( - node: ts.FunctionLikeDeclaration + node: ts.FunctionLikeDeclaration, ): ts.Node { let returnType: ts.Node; diff --git a/src/transformer/descriptor/method/functionType.ts b/src/transformer/descriptor/method/functionType.ts index 7de0e37f1..6a4560c42 100644 --- a/src/transformer/descriptor/method/functionType.ts +++ b/src/transformer/descriptor/method/functionType.ts @@ -10,7 +10,7 @@ export function GetFunctionTypeDescriptor( | ts.FunctionTypeNode | ts.CallSignatureDeclaration | ts.ConstructSignatureDeclaration, - scope: Scope + scope: Scope, ): ts.Expression { const property: ts.PropertyName = PropertySignatureCache.instance.get(); diff --git a/src/transformer/descriptor/method/method.ts b/src/transformer/descriptor/method/method.ts index 17d80418d..4861b8d35 100644 --- a/src/transformer/descriptor/method/method.ts +++ b/src/transformer/descriptor/method/method.ts @@ -14,7 +14,7 @@ import { export function GetMethodDescriptor( propertyName: ts.PropertyName, - returnValue: ts.Expression + returnValue: ts.Expression, ): ts.Expression { const providerGetMethod: ts.PropertyAccessExpression = CreateProviderGetMethod(); @@ -25,7 +25,7 @@ export function GetMethodDescriptor( createStringLiteral(propertyNameString); const propertyValueFunction: ts.ArrowFunction = createArrowFunction( - createBlock([createReturnStatement(returnValue)], true) + createBlock([createReturnStatement(returnValue)], true), ); return createCall(providerGetMethod, [ @@ -39,10 +39,10 @@ function CreateProviderGetMethod(): ts.PropertyAccessExpression { createPropertyAccess( createPropertyAccess( MockDefiner.instance.getCurrentModuleIdentifier(ModuleName.Extension), - createIdentifier('Provider') + createIdentifier('Provider'), ), - createIdentifier('instance') + createIdentifier('instance'), ), - createIdentifier('getMethod') + createIdentifier('getMethod'), ); } diff --git a/src/transformer/descriptor/method/methodDeclaration.ts b/src/transformer/descriptor/method/methodDeclaration.ts index bfb95a0f8..345d4a21d 100644 --- a/src/transformer/descriptor/method/methodDeclaration.ts +++ b/src/transformer/descriptor/method/methodDeclaration.ts @@ -6,14 +6,14 @@ import { GetMethodDescriptor } from './method'; export function GetMethodDeclarationDescriptor( node: ts.MethodDeclaration | ts.FunctionDeclaration, - scope: Scope + scope: Scope, ): ts.Expression { const returnTypeNode: ts.Node = GetFunctionReturnType(node); const returnType: ts.Expression = GetDescriptor(returnTypeNode, scope); if (!node.name) { throw new Error( - `The transformer couldn't determine the name of ${node.getText()}. Please report this incident.` + `The transformer couldn't determine the name of ${node.getText()}. Please report this incident.`, ); } diff --git a/src/transformer/descriptor/method/methodSignature.ts b/src/transformer/descriptor/method/methodSignature.ts index 832a2fa96..7d09e0950 100644 --- a/src/transformer/descriptor/method/methodSignature.ts +++ b/src/transformer/descriptor/method/methodSignature.ts @@ -6,7 +6,7 @@ import { GetMethodDescriptor } from './method'; export function GetMethodSignatureDescriptor( node: ts.MethodSignature, - scope: Scope + scope: Scope, ): ts.Expression { let returnType: ts.Expression; diff --git a/src/transformer/descriptor/mock/mockCall.ts b/src/transformer/descriptor/mock/mockCall.ts index 5b9ffb6f9..0eb0ee1da 100644 --- a/src/transformer/descriptor/mock/mockCall.ts +++ b/src/transformer/descriptor/mock/mockCall.ts @@ -21,7 +21,7 @@ import { PropertyAssignments } from './mockPropertiesAssignments'; export function GetMockCall( properties: PropertyAssignments, - signature: ts.Expression | null + signature: ts.Expression | null, ): ts.CallExpression { const mockObjectReturnValueName: ts.Identifier = Identifiers.MockIdentifierObjectReturnValue; @@ -29,11 +29,11 @@ export function GetMockCall( createVariableStatement([ createVariableDeclaration( Identifiers.MockIdentifierInternalValues, - createObjectLiteral() + createObjectLiteral(), ), createVariableDeclaration( mockObjectReturnValueName, - signature || createObjectLiteral(properties.literals) + signature || createObjectLiteral(properties.literals), ), ]), ]; @@ -45,7 +45,7 @@ export function GetMockCall( // tslint:disable-next-line:no-conditional-assignment while ((literalProperty = properties.literals[index++])) { statements.push( - AssignLiteralPropertyTo(mockObjectReturnValueName, literalProperty) + AssignLiteralPropertyTo(mockObjectReturnValueName, literalProperty), ); } } @@ -68,30 +68,30 @@ export function GetMockCall( function AssignVariableTo( variable: ts.Expression, - expression: ts.Expression + expression: ts.Expression, ): ts.ExpressionStatement { const binaryExpression: ts.BinaryExpression = createBinaryExpression( variable, core.ts.SyntaxKind.EqualsToken, - expression + expression, ); return createExpressionStatement(binaryExpression); } function AssignLiteralPropertyTo( mockObjectReturnValueName: ts.Identifier, - literalProperty: ts.PropertyAssignment + literalProperty: ts.PropertyAssignment, ): ts.ExpressionStatement { const propertyAccess: ts.ElementAccessExpression = createElementAccessExpression( mockObjectReturnValueName, - literalProperty.name as ts.StringLiteral + literalProperty.name as ts.StringLiteral, ); return AssignVariableTo(propertyAccess, literalProperty.initializer); } function AssignMockMarkerPropertyTo( - identifier: ts.Identifier + identifier: ts.Identifier, ): ts.ExpressionStatement { const mockMarkerProperty: Property = GetMockMarkerProperty(); @@ -106,33 +106,33 @@ function AssignMockMarkerPropertyTo( const objectDefineProperty: ts.PropertyAccessExpression = createPropertyAccess( createIdentifier('Object'), - createIdentifier('defineProperty') + createIdentifier('defineProperty'), ); const objectDefinePropertyCall: ts.CallExpression = createCall( objectDefineProperty, - argumentsDefineProperty + argumentsDefineProperty, ); return createExpressionStatement(objectDefinePropertyCall); } function AssignPropertiesTo( properties: ts.PropertyAssignment[], - uniqueVariable: ts.Identifier + uniqueVariable: ts.Identifier, ): ts.ExpressionStatement { const propertiesObject: ts.ObjectLiteralExpression = createObjectLiteral( properties, - true + true, ); const propertyAccessExpression: ts.PropertyAccessExpression = createPropertyAccess( createIdentifier('Object'), - createIdentifier('defineProperties') + createIdentifier('defineProperties'), ); const callToObjectDefineProperties: ts.CallExpression = createCall( propertyAccessExpression, - [uniqueVariable, propertiesObject] + [uniqueVariable, propertiesObject], ); return createExpressionStatement(callToObjectDefineProperties); } diff --git a/src/transformer/descriptor/mock/mockMarker.ts b/src/transformer/descriptor/mock/mockMarker.ts index e9b8eeabd..11109f236 100644 --- a/src/transformer/descriptor/mock/mockMarker.ts +++ b/src/transformer/descriptor/mock/mockMarker.ts @@ -20,16 +20,16 @@ export function GetMockMarkerProperty(): Property { createPropertyAccess( createPropertyAccess( MockDefiner.instance.getCurrentModuleIdentifier(ModuleName.Extension), - PrivateIdentifier('Marker') + PrivateIdentifier('Marker'), ), - createIdentifier('instance') + createIdentifier('instance'), ), - createIdentifier('get') + createIdentifier('get'), ); const mockMarkerCall: ts.CallExpression = createCall( propertyAccessExpression, - [] + [], ); return { diff --git a/src/transformer/descriptor/mock/mockProperties.ts b/src/transformer/descriptor/mock/mockProperties.ts index 8f90ee1b9..8c6b6330c 100644 --- a/src/transformer/descriptor/mock/mockProperties.ts +++ b/src/transformer/descriptor/mock/mockProperties.ts @@ -15,33 +15,33 @@ import { SignatureLike } from './signatureLike'; export function GetMockPropertiesFromSymbol( propertiesSymbol: ts.Symbol[], signatures: ReadonlyArray, - scope: Scope + scope: Scope, ): ts.Expression { const properties: PropertyLike[] = propertiesSymbol .filter((prop: ts.Symbol) => !!prop.declarations) // Dynamically generated properties (mapped types) do not have declarations .map( (prop: ts.Symbol) => prop.declarations?.filter( - (declaration: ts.Declaration) => !core.ts.isSetAccessor(declaration) - )[0] + (declaration: ts.Declaration) => !core.ts.isSetAccessor(declaration), + )[0], ) .filter(Boolean) as PropertyLike[]; const signaturesDeclarations: SignatureLike[] = signatures.map( - (signature: ts.Signature) => signature.declaration + (signature: ts.Signature) => signature.declaration, ) as SignatureLike[]; return GetMockPropertiesFromDeclarations( properties, signaturesDeclarations, - scope + scope, ); } export function GetMockPropertiesFromDeclarations( list: ReadonlyArray, signatures: ReadonlyArray, - scope: Scope + scope: Scope, ): ts.CallExpression { const propertiesFilter: PropertyLike[] = list.filter( (member: PropertyLike) => { @@ -71,15 +71,15 @@ export function GetMockPropertiesFromDeclarations( return ( modifiers.filter( (modifier: ts.Modifier) => - modifier.kind === core.ts.SyntaxKind.PrivateKeyword + modifier.kind === core.ts.SyntaxKind.PrivateKeyword, ).length === 0 ); - } + }, ); const accessorDeclaration: PropertyAssignments = GetMockPropertiesAssignments( propertiesFilter, - scope + scope, ); const signaturesDescriptor: ts.Expression | null = signatures.length diff --git a/src/transformer/descriptor/mock/mockPropertiesAssignments.ts b/src/transformer/descriptor/mock/mockPropertiesAssignments.ts index faa6e9ea5..ccd3daeef 100644 --- a/src/transformer/descriptor/mock/mockPropertiesAssignments.ts +++ b/src/transformer/descriptor/mock/mockPropertiesAssignments.ts @@ -30,7 +30,7 @@ export interface PropertyAssignments { export function GetMockPropertiesAssignments( properties: PropertyLike[], - scope: Scope + scope: Scope, ): PropertyAssignments { return properties.reduce( (acc: PropertyAssignments, member: PropertyLike): PropertyAssignments => { @@ -44,30 +44,30 @@ export function GetMockPropertiesAssignments( return acc; }, - { lazy: [], literals: [] } + { lazy: [], literals: [] }, ); } function GetLiteralMockProperty( descriptor: ts.Expression, - member: PropertyLike + member: PropertyLike, ): ts.PropertyAssignment { const propertyName: string = TypescriptHelper.GetStringPropertyName( - member.name + member.name, ); return createPropertyAssignment( createStringLiteral(propertyName), - descriptor + descriptor, ); } function GetLazyMockProperty( descriptor: ts.Expression, - member: PropertyLike + member: PropertyLike, ): ts.PropertyAssignment { const propertyName: string = TypescriptHelper.GetStringPropertyName( - member.name + member.name, ); const stringPropertyName: ts.StringLiteral = @@ -75,7 +75,7 @@ function GetLazyMockProperty( const variableDeclarationName: ts.ElementAccessExpression = createElementAccess( Identifiers.MockIdentifierInternalValues, - stringPropertyName + stringPropertyName, ); const setVariableParameterName: ts.Identifier = Identifiers.MockIdentifierSetParameterName; @@ -83,15 +83,15 @@ function GetLazyMockProperty( const expressionGetAssignment: ts.BinaryExpression = createBinaryExpression( variableDeclarationName, core.ts.SyntaxKind.EqualsToken, - descriptor + descriptor, ); const hasOwnProperty: ts.Expression = createCall( createPropertyAccess( Identifiers.MockIdentifierInternalValues, - 'hasOwnProperty' + 'hasOwnProperty', ), - [stringPropertyName] + [stringPropertyName], ); const getExpressionBody: ts.Expression = createConditional( @@ -99,12 +99,12 @@ function GetLazyMockProperty( createPunctuationToken(core.ts.SyntaxKind.QuestionToken), variableDeclarationName, createPunctuationToken(core.ts.SyntaxKind.ColonToken), - expressionGetAssignment + expressionGetAssignment, ); const setExpressionBody: ts.BinaryExpression = createBinaryExpression( variableDeclarationName, core.ts.SyntaxKind.EqualsToken, - setVariableParameterName + setVariableParameterName, ); const returnGetStatement: ts.ReturnStatement = @@ -124,7 +124,7 @@ function GetLazyMockProperty( set, createPropertyAssignment( createIdentifier('enumerable'), - GetBooleanTrueDescriptor() + GetBooleanTrueDescriptor(), ), ]); diff --git a/src/transformer/descriptor/module/module.ts b/src/transformer/descriptor/module/module.ts index c89de0b13..aea83422d 100644 --- a/src/transformer/descriptor/module/module.ts +++ b/src/transformer/descriptor/module/module.ts @@ -16,22 +16,22 @@ type ExternalSource = ts.SourceFile | ts.ModuleDeclaration; export function GetModuleDescriptor( node: ts.NamedDeclaration, - scope: Scope + scope: Scope, ): ts.Expression { if (!node.name) { throw new Error( - `Cannot look up symbol for a node without a name: ${node.getText()}.` + `Cannot look up symbol for a node without a name: ${node.getText()}.`, ); } const typeChecker: ts.TypeChecker = core.typeChecker; const symbolAlias: ts.Symbol | undefined = typeChecker.getSymbolAtLocation( - node.name + node.name, ); if (!symbolAlias) { throw new Error( - `The type checker failed to look up symbol for \`${node.name.getText()}'.` + `The type checker failed to look up symbol for \`${node.name.getText()}'.`, ); } @@ -43,13 +43,13 @@ export function GetModuleDescriptor( return GetPropertiesFromSourceFileOrModuleDeclarationDescriptor( externalModuleDeclaration, symbol, - scope + scope, ); } return GetTypeQueryDescriptorFromDeclaration( externalModuleDeclaration, - scope + scope, ); } @@ -63,12 +63,12 @@ function isExternalSource(declaration: ts.Node): declaration is ExternalSource { function GetPropertiesFromSourceFileOrModuleDeclarationDescriptor( sourceFile: ExternalSource, symbol: ts.Symbol, - scope: Scope + scope: Scope, ): ts.Expression { return GetMockPropertiesFromDeclarations( GetPropertiesFromSourceFileOrModuleDeclaration(symbol, scope), [], - scope + scope, ); } @@ -79,7 +79,7 @@ interface ModuleExportsDeclarations { export function GetPropertiesFromSourceFileOrModuleDeclaration( symbol: ts.Symbol, - scope: Scope + scope: Scope, ): ts.PropertySignature[] { const typeChecker: ts.TypeChecker = core.typeChecker; const moduleExports: ts.Symbol[] = typeChecker.getExportsOfModule(symbol); @@ -98,13 +98,14 @@ export function GetPropertiesFromSourceFileOrModuleDeclaration( }; }) .filter( - (d: ModuleExportsDeclarations) => !!d.originalDeclaration && d.declaration + (d: ModuleExportsDeclarations) => + !!d.originalDeclaration && d.declaration, ) .map((d: ModuleExportsDeclarations): ts.PropertySignature => { if (core.ts.isExportAssignment(d.declaration)) { return createPropertySignature( 'default', - createTypeQueryNode(d.originalDeclaration.name as ts.Identifier) + createTypeQueryNode(d.originalDeclaration.name as ts.Identifier), ); } @@ -117,7 +118,7 @@ export function GetPropertiesFromSourceFileOrModuleDeclaration( if (!exportSpecifierSymbol) { throw new Error( - `The type checker failed to look up symbol for \`${d.declaration.name.getText()}'.` + `The type checker failed to look up symbol for \`${d.declaration.name.getText()}'.`, ); } @@ -126,10 +127,10 @@ export function GetPropertiesFromSourceFileOrModuleDeclaration( const exportSpecifierProperties: ts.PropertySignature[] = GetPropertiesFromSourceFileOrModuleDeclaration( exportSpecifierAliasSymbol, - scope + scope, ); const propertyType: ts.TypeLiteralNode = createTypeLiteralNode( - exportSpecifierProperties + exportSpecifierProperties, ); return createPropertySignature(d.declaration.name, propertyType); @@ -138,7 +139,7 @@ export function GetPropertiesFromSourceFileOrModuleDeclaration( return createPropertySignature( (d.originalDeclaration.name as ts.Identifier) || createIdentifier('default'), - createTypeQueryNode(d.originalDeclaration.name as ts.Identifier) + createTypeQueryNode(d.originalDeclaration.name as ts.Identifier), ); }); } diff --git a/src/transformer/descriptor/objectLiteral/objectLiteral.ts b/src/transformer/descriptor/objectLiteral/objectLiteral.ts index 46d8aadfa..f77e8b2b4 100644 --- a/src/transformer/descriptor/objectLiteral/objectLiteral.ts +++ b/src/transformer/descriptor/objectLiteral/objectLiteral.ts @@ -5,7 +5,7 @@ import { GetMockPropertiesFromSymbol } from '../mock/mockProperties'; export function GetObjectLiteralDescriptor( node: ts.ObjectLiteralExpression, - scope: Scope + scope: Scope, ): ts.Expression { const typeChecker: ts.TypeChecker = core.typeChecker; const type: ts.Type = typeChecker.getTypeAtLocation(node); diff --git a/src/transformer/descriptor/parameter/parameter.ts b/src/transformer/descriptor/parameter/parameter.ts index e3420920b..307a0239f 100644 --- a/src/transformer/descriptor/parameter/parameter.ts +++ b/src/transformer/descriptor/parameter/parameter.ts @@ -5,7 +5,7 @@ import { GetDescriptor } from '../descriptor'; export const GetParameterDescriptor: ( node: ts.ParameterDeclaration, - scope: Scope + scope: Scope, ) => ts.Expression = (node: ts.ParameterDeclaration, scope: Scope) => { if (node.type) { return GetDescriptor(node.type, scope); diff --git a/src/transformer/descriptor/parenthesized/parenthesized.ts b/src/transformer/descriptor/parenthesized/parenthesized.ts index b9b8e8440..c53bb1020 100644 --- a/src/transformer/descriptor/parenthesized/parenthesized.ts +++ b/src/transformer/descriptor/parenthesized/parenthesized.ts @@ -4,7 +4,7 @@ import { GetProperties } from '../properties/properties'; export function GetParenthesizedDescriptor( node: ts.ParenthesizedTypeNode, - scope: Scope + scope: Scope, ): ts.Expression { return GetProperties(node.type, scope); } diff --git a/src/transformer/descriptor/parenthesizedExpression/getParenthesizedExpressionDescriptor.ts b/src/transformer/descriptor/parenthesizedExpression/getParenthesizedExpressionDescriptor.ts index 0c35658cc..f542eea19 100644 --- a/src/transformer/descriptor/parenthesizedExpression/getParenthesizedExpressionDescriptor.ts +++ b/src/transformer/descriptor/parenthesizedExpression/getParenthesizedExpressionDescriptor.ts @@ -4,6 +4,6 @@ import { GetDescriptor } from '../descriptor'; export const GetParenthesizedExpressionDescriptor: ( node: ts.ParenthesizedExpression, - scope: Scope + scope: Scope, ) => ts.Expression = (node: ts.ParenthesizedExpression, scope: Scope) => GetDescriptor(node.expression, scope); diff --git a/src/transformer/descriptor/properties/properties.ts b/src/transformer/descriptor/properties/properties.ts index b922b35c1..9eab74e38 100644 --- a/src/transformer/descriptor/properties/properties.ts +++ b/src/transformer/descriptor/properties/properties.ts @@ -20,11 +20,11 @@ export function GetProperties(node: ts.Node, scope: Scope): ts.Expression { Array.prototype.push.apply( signatures, - typeChecker.getSignaturesOfType(type, core.ts.SignatureKind.Call) + typeChecker.getSignaturesOfType(type, core.ts.SignatureKind.Call), ); Array.prototype.push.apply( signatures, - typeChecker.getSignaturesOfType(type, core.ts.SignatureKind.Construct) + typeChecker.getSignaturesOfType(type, core.ts.SignatureKind.Construct), ); return GetMockPropertiesFromSymbol(symbols, signatures, scope); @@ -33,7 +33,7 @@ export function GetProperties(node: ts.Node, scope: Scope): ts.Expression { export function GetPropertiesFromMembers( node: ts.TypeLiteralNode, - scope: Scope + scope: Scope, ): ts.Expression { const members: ts.NodeArray = node.members; const signatures: Array = []; diff --git a/src/transformer/descriptor/property/propertySignature.ts b/src/transformer/descriptor/property/propertySignature.ts index b2bb6c3ea..1be5d4def 100644 --- a/src/transformer/descriptor/property/propertySignature.ts +++ b/src/transformer/descriptor/property/propertySignature.ts @@ -10,7 +10,7 @@ type PropertyNode = ts.PropertySignature | ts.PropertyDeclaration; export function GetPropertyDescriptor( node: PropertyNode, - scope: Scope + scope: Scope, ): ts.Expression { PropertySignatureCache.instance.set(node.name); if (node.type) { diff --git a/src/transformer/descriptor/random/random.ts b/src/transformer/descriptor/random/random.ts index 8961df42e..a41b12494 100644 --- a/src/transformer/descriptor/random/random.ts +++ b/src/transformer/descriptor/random/random.ts @@ -8,13 +8,13 @@ import { } from '../../../typescriptFactory/typescriptFactory'; export function RandomPropertyAccessor( - methodName: string + methodName: string, ): ts.PropertyAccessExpression { return createPropertyAccess( createPropertyAccess( MockDefiner.instance.getCurrentModuleIdentifier(ModuleName.Random), - PrivateIdentifier('Random') + PrivateIdentifier('Random'), ), - createIdentifier(methodName) + createIdentifier(methodName), ); } diff --git a/src/transformer/descriptor/shorthandPropertyAssignment/shorthandPropertyAssignment.ts b/src/transformer/descriptor/shorthandPropertyAssignment/shorthandPropertyAssignment.ts index cff4bd48d..a9a4b66b5 100644 --- a/src/transformer/descriptor/shorthandPropertyAssignment/shorthandPropertyAssignment.ts +++ b/src/transformer/descriptor/shorthandPropertyAssignment/shorthandPropertyAssignment.ts @@ -6,7 +6,7 @@ import { GetDescriptor } from '../descriptor'; export const GetShorthandPropertyAssignmentDescriptor: ( node: ts.ShorthandPropertyAssignment, - scope: Scope + scope: Scope, ) => ts.Expression = (node: ts.ShorthandPropertyAssignment, scope) => { const typeChecker: ts.TypeChecker = core.typeChecker; @@ -16,7 +16,7 @@ export const GetShorthandPropertyAssignmentDescriptor: ( if (!symbol) { throw new Error( `The type checker failed to look up a symbol for \`${node.getText()}'. - Perhaps, the checker was searching an outdated source.` + Perhaps, the checker was searching an outdated source.`, ); } diff --git a/src/transformer/descriptor/string/string.ts b/src/transformer/descriptor/string/string.ts index f70e52657..dce6e8f16 100644 --- a/src/transformer/descriptor/string/string.ts +++ b/src/transformer/descriptor/string/string.ts @@ -11,7 +11,7 @@ import { export function GetStringDescriptor(): ts.Expression { if (IsTsAutoMockRandomEnabled()) { const propertyName: string = TypescriptHelper.GetStringPropertyName( - PropertySignatureCache.instance.get() + PropertySignatureCache.instance.get(), ); const prefix: ts.StringLiteral = createStringLiteral(propertyName); return createCall(RandomPropertyAccessor('string'), [prefix]); diff --git a/src/transformer/descriptor/tsLibs/typecriptLibs.ts b/src/transformer/descriptor/tsLibs/typecriptLibs.ts index 9de29d4ae..6d729a321 100644 --- a/src/transformer/descriptor/tsLibs/typecriptLibs.ts +++ b/src/transformer/descriptor/tsLibs/typecriptLibs.ts @@ -30,11 +30,11 @@ export function IsTypescriptType(node: ts.Node): boolean { export function GetTypescriptTypeDescriptor( node: ts.TypeReferenceNode, - scope: Scope + scope: Scope, ): ts.Expression { const typeChecker: ts.TypeChecker = core.typeChecker; const symbol: ts.Symbol | undefined = typeChecker.getSymbolAtLocation( - node.typeName + node.typeName, ); const typeScriptType: TypescriptLibsTypes = symbol?.name && TypescriptLibsTypes[symbol.name]; @@ -46,22 +46,22 @@ export function GetTypescriptTypeDescriptor( case TypescriptLibsTypes.Number: return GetDescriptor( createTypeNode(core.ts.SyntaxKind.NumberKeyword), - scope + scope, ); case TypescriptLibsTypes.String: return GetDescriptor( createTypeNode(core.ts.SyntaxKind.StringKeyword), - scope + scope, ); case TypescriptLibsTypes.Boolean: return GetDescriptor( createTypeNode(core.ts.SyntaxKind.BooleanKeyword), - scope + scope, ); case TypescriptLibsTypes.Object: return GetDescriptor( createTypeNode(core.ts.SyntaxKind.ObjectKeyword), - scope + scope, ); case TypescriptLibsTypes.Function: const functionNode: ts.KeywordTypeNode = @@ -75,7 +75,7 @@ export function GetTypescriptTypeDescriptor( const promiseAccess: ts.PropertyAccessExpression = createPropertyAccess( createIdentifier('Promise'), - createIdentifier('resolve') + createIdentifier('resolve'), ); return createCall(promiseAccess, [dataResolved]); @@ -88,7 +88,7 @@ export function GetTypescriptTypeDescriptor( default: return GetDescriptor( createTypeNode(core.ts.SyntaxKind.UndefinedKeyword), - scope + scope, ); } } diff --git a/src/transformer/descriptor/tuple/tuple.ts b/src/transformer/descriptor/tuple/tuple.ts index 0262eafad..d742e3356 100644 --- a/src/transformer/descriptor/tuple/tuple.ts +++ b/src/transformer/descriptor/tuple/tuple.ts @@ -5,7 +5,7 @@ import { createArrayLiteral } from '../../../typescriptFactory/typescriptFactory export function GetTupleDescriptor( node: ts.TupleTypeNode, - scope: Scope + scope: Scope, ): ts.Expression { return createArrayLiteral( getDescriptorFromTypeNodes( @@ -15,14 +15,14 @@ export function GetTupleDescriptor( // this casting is needed. // eslint-disable-next-line @typescript-eslint/no-explicit-any ((node as any).elements as ts.NodeArray), - scope - ) + scope, + ), ); } function getDescriptorFromTypeNodes( nodes: ts.NodeArray, - scope: Scope + scope: Scope, ): ts.Expression[] { return nodes.map((e: ts.TypeNode) => GetDescriptor(e, scope)); } diff --git a/src/transformer/descriptor/type/type.ts b/src/transformer/descriptor/type/type.ts index 6a21b6bbe..e6faa3724 100644 --- a/src/transformer/descriptor/type/type.ts +++ b/src/transformer/descriptor/type/type.ts @@ -7,7 +7,7 @@ import { GetTypeImport } from './typeImport'; export function GetTypes( nodes: ts.NodeArray, - scope: Scope + scope: Scope, ): ts.Node[] { let newNodes: ts.Node[] = []; @@ -22,7 +22,7 @@ export function GetTypes( const hasLiteralOrPrimitive: boolean = intersectionTypes.some( (intersectionType: ts.Node) => - TypescriptHelper.IsLiteralOrPrimitive(intersectionType) + TypescriptHelper.IsLiteralOrPrimitive(intersectionType), ); if (!hasLiteralOrPrimitive) { @@ -39,7 +39,7 @@ export function GetTypes( export function GetType(node: ts.Node, scope: Scope): ts.Node { if (core.ts.isTypeReferenceNode(node)) { const declaration: ts.Declaration = TypescriptHelper.GetDeclarationFromNode( - node.typeName + node.typeName, ); const type: ts.Node = GetType(declaration, scope); diff --git a/src/transformer/descriptor/typeAlias/typeAlias.ts b/src/transformer/descriptor/typeAlias/typeAlias.ts index 6e16d03b8..d36b6e885 100644 --- a/src/transformer/descriptor/typeAlias/typeAlias.ts +++ b/src/transformer/descriptor/typeAlias/typeAlias.ts @@ -4,7 +4,7 @@ import { GetDescriptor } from '../descriptor'; export function GetTypeAliasDescriptor( node: ts.TypeAliasDeclaration, - scope: Scope + scope: Scope, ): ts.Expression { return GetDescriptor(node.type, scope); } diff --git a/src/transformer/descriptor/typeLiteral/typeLiteral.ts b/src/transformer/descriptor/typeLiteral/typeLiteral.ts index c69b41aa4..5861399a7 100644 --- a/src/transformer/descriptor/typeLiteral/typeLiteral.ts +++ b/src/transformer/descriptor/typeLiteral/typeLiteral.ts @@ -4,7 +4,7 @@ import { GetProperties } from '../properties/properties'; export function GetTypeLiteralDescriptor( node: ts.TypeLiteralNode, - scope: Scope + scope: Scope, ): ts.Expression { return GetProperties(node, scope); } diff --git a/src/transformer/descriptor/typeNode/convertNodeToTypeNode.ts b/src/transformer/descriptor/typeNode/convertNodeToTypeNode.ts index dd62dd629..e294aaec9 100644 --- a/src/transformer/descriptor/typeNode/convertNodeToTypeNode.ts +++ b/src/transformer/descriptor/typeNode/convertNodeToTypeNode.ts @@ -4,7 +4,7 @@ import { TransformerLogger } from '../../logger/transformerLogger'; import { GetNullDescriptor } from '../null/null'; export function convertNodeToTypeNode( - node: ts.Node + node: ts.Node, ): ts.TypeNode | ts.Expression { const typeChecker: ts.TypeChecker = core.typeChecker; @@ -13,7 +13,7 @@ export function convertNodeToTypeNode( const typeNode: ts.TypeNode | undefined = typeChecker.typeToTypeNode( typeAtLocation, undefined, - undefined + undefined, ); if (!typeNode) { @@ -30,7 +30,7 @@ export function convertNodeToTypeNode( } const canTypeBeChecked: (type: ts.TypeNode) => boolean = ( - type: ts.TypeNode + type: ts.TypeNode, ): boolean => [ core.ts.SyntaxKind.BigIntKeyword, diff --git a/src/transformer/descriptor/typeOperator/typeOperator.ts b/src/transformer/descriptor/typeOperator/typeOperator.ts index c6a9cb5c0..f1334f3ab 100644 --- a/src/transformer/descriptor/typeOperator/typeOperator.ts +++ b/src/transformer/descriptor/typeOperator/typeOperator.ts @@ -7,7 +7,7 @@ import { TransformerLogger } from '../../logger/transformerLogger'; export function GetTypeOperatorDescriptor( node: ts.TypeOperatorNode, - scope: Scope + scope: Scope, ): ts.Expression { switch (node.operator) { case core.ts.SyntaxKind.ReadonlyKeyword: @@ -17,7 +17,7 @@ export function GetTypeOperatorDescriptor( default: TransformerLogger().typeNotSupported( `TypeOperator of ${core.ts.SyntaxKind[node.operator]}`, - node + node, ); return GetNullDescriptor(); } diff --git a/src/transformer/descriptor/typeParameter/typeParameter.ts b/src/transformer/descriptor/typeParameter/typeParameter.ts index 407bde051..fe275b249 100644 --- a/src/transformer/descriptor/typeParameter/typeParameter.ts +++ b/src/transformer/descriptor/typeParameter/typeParameter.ts @@ -28,7 +28,7 @@ import GetDeclarationFromSymbol = TypescriptHelper.GetDeclarationFromSymbol; export function GetTypeParameterDescriptor( node: ts.TypeParameterDeclaration, - scope: Scope + scope: Scope, ): ts.Expression { const type: ts.TypeParameter = core.typeChecker.getTypeAtLocation(node); @@ -42,25 +42,25 @@ export function GetTypeParameterDescriptor( if (!typeDeclaration) { throw new Error( - `Failed to determine the owner (parent) of the type parameter: \`${declaration.getText()}'.` + `Failed to determine the owner (parent) of the type parameter: \`${declaration.getText()}'.`, ); } const genericKey: string = MockDefiner.instance.getDeclarationKeyMapBasedOnScope( typeDeclaration, - scope + scope, ); return createFunctionToAccessToGenericValue( genericKey + node.name.escapedText.toString(), - descriptor + descriptor, ); } function createFunctionToAccessToGenericValue( key: string, - descriptor: ts.Expression + descriptor: ts.Expression, ): ts.CallExpression { const returnWhenGenericDoesNotExist: ts.ReturnStatement = createReturnStatement(descriptor); @@ -76,8 +76,8 @@ function createFunctionToAccessToGenericValue( return createIIFE( createBlock( [generic, expressionWhenGenericExist, returnWhenGenericDoesNotExist], - true - ) + true, + ), ); } @@ -85,7 +85,7 @@ function createFindGeneric(genericKey: string): ts.CallExpression { return createCall( createPropertyAccess( Identifiers.MockIdentifierGenericParameter, - createIdentifier('find') + createIdentifier('find'), ), [ createArrowFunction( @@ -97,35 +97,35 @@ function createFindGeneric(genericKey: string): ts.CallExpression { createPropertyAccess( createPropertyAccess( createIdentifier('generic'), - Identifiers.MockIdentifierGenericParameterIds + Identifiers.MockIdentifierGenericParameterIds, ), - createIdentifier('indexOf') + createIdentifier('indexOf'), ), - [createStringLiteral(genericKey)] + [createStringLiteral(genericKey)], ), createPunctuationToken( - core.ts.SyntaxKind.GreaterThanEqualsToken + core.ts.SyntaxKind.GreaterThanEqualsToken, ), - createNumericLiteral('0') - ) + createNumericLiteral('0'), + ), ), ], - true + true, ), - [createParameter('generic')] + [createParameter('generic')], ), - ] + ], ); } function assignGenericConstToCall( - call: ts.CallExpression + call: ts.CallExpression, ): ts.VariableStatement { return createVariableStatement( createVariableDeclarationList( [createVariableDeclaration(createIdentifier('generic'), call)], - core.ts.NodeFlags.Const - ) + core.ts.NodeFlags.Const, + ), ); } @@ -138,13 +138,13 @@ function getValueFromGenericIfExist(): ts.IfStatement { createCall( createPropertyAccess( createIdentifier('generic'), - Identifiers.MockIdentifierGenericParameterValue + Identifiers.MockIdentifierGenericParameterValue, ), - [] - ) + [], + ), ), ], - true - ) + true, + ), ); } diff --git a/src/transformer/descriptor/typeQuery/enumTypeQuery.ts b/src/transformer/descriptor/typeQuery/enumTypeQuery.ts index e5db46e03..fea771a7f 100644 --- a/src/transformer/descriptor/typeQuery/enumTypeQuery.ts +++ b/src/transformer/descriptor/typeQuery/enumTypeQuery.ts @@ -4,13 +4,16 @@ import { createBlock, createReturn, } from '../../../typescriptFactory/typescriptFactory'; -/* eslint-disable dot-notation,@typescript-eslint/ban-ts-comment */ +import { core } from '../../core/core'; export function GetTypeofEnumDescriptor( - enumDeclaration: ts.EnumDeclaration + enumDeclaration: ts.EnumDeclaration, ): ts.Expression { - // @ts-ignore - enumDeclaration['modifiers'] = undefined; + const declaration = core.ts.factory.createEnumDeclaration( + undefined, + enumDeclaration.name, + enumDeclaration.members, + ); return createArrowFunction( - createBlock([enumDeclaration, createReturn(enumDeclaration.name)], true) + createBlock([declaration, createReturn(enumDeclaration.name)], true), ); } diff --git a/src/transformer/descriptor/typeQuery/typeQuery.ts b/src/transformer/descriptor/typeQuery/typeQuery.ts index 4f96d672e..bbca0efbe 100644 --- a/src/transformer/descriptor/typeQuery/typeQuery.ts +++ b/src/transformer/descriptor/typeQuery/typeQuery.ts @@ -22,7 +22,7 @@ import { export function GetTypeQueryDescriptor( node: ts.TypeQueryNode, - scope: Scope + scope: Scope, ): ts.Expression { const symbol: ts.Symbol | undefined = getTypeQuerySymbol(node); @@ -38,7 +38,7 @@ export function GetTypeQueryDescriptor( export function GetTypeQueryDescriptorFromDeclaration( declaration: ts.NamedDeclaration, - scope: Scope + scope: Scope, ): ts.Expression { const typeChecker: ts.TypeChecker = core.typeChecker; @@ -47,14 +47,14 @@ export function GetTypeQueryDescriptorFromDeclaration( return createFunctionExpressionReturn( GetTypeReferenceDescriptor( createTypeReferenceNode(declaration.name as ts.Identifier), - scope - ) + scope, + ), ); case core.ts.SyntaxKind.TypeAliasDeclaration: case core.ts.SyntaxKind.InterfaceDeclaration: return GetTypeReferenceDescriptor( createTypeReferenceNode(declaration.name as ts.Identifier), - scope + scope, ); // NamespaceImport, ImportEqualsDeclaration and ModuleDeclaration cannot be used in a typeof // but to test definitely typed this is the only way, eventually we should move this code in the definitely typed folder @@ -67,10 +67,10 @@ export function GetTypeQueryDescriptorFromDeclaration( GetPropertiesFromSourceFileOrModuleDeclaration( // eslint-disable-next-line @typescript-eslint/no-explicit-any (declaration as any).symbol as ts.Symbol, - scope + scope, ), [], - scope + scope, ); case core.ts.SyntaxKind.EnumDeclaration: // TODO: Use following two lines when issue #17552 on typescript github is resolved (https://github.com/microsoft/TypeScript/issues/17552) @@ -78,13 +78,13 @@ export function GetTypeQueryDescriptorFromDeclaration( // return node.exprName as ts.Identifier; return GetMockFactoryCallTypeofEnum( declaration as ts.EnumDeclaration, - scope + scope, ); case core.ts.SyntaxKind.FunctionDeclaration: case core.ts.SyntaxKind.MethodSignature: return GetMethodDeclarationDescriptor( declaration as ts.FunctionDeclaration, - scope + scope, ); case core.ts.SyntaxKind.VariableDeclaration: const variable: ts.VariableDeclaration = @@ -96,7 +96,7 @@ export function GetTypeQueryDescriptorFromDeclaration( if (!variable.initializer) { throw new Error( - `The transformer cannot determine a value for \`${variable.getText()}' without a specified type or no initializer value.` + `The transformer cannot determine a value for \`${variable.getText()}' without a specified type or no initializer value.`, ); } @@ -110,7 +110,7 @@ export function GetTypeQueryDescriptorFromDeclaration( return GetTypeQueryDescriptorFromDeclaration( inferredTypeDeclaration, - scope + scope, ); } else { return GetDescriptor(inferredType, scope); @@ -118,7 +118,7 @@ export function GetTypeQueryDescriptorFromDeclaration( default: TransformerLogger().typeNotSupported( `TypeQuery of ${core.ts.SyntaxKind[declaration.kind]}`, - declaration + declaration, ); return GetNullDescriptor(); } @@ -129,13 +129,13 @@ function getTypeQuerySymbol(node: ts.TypeQueryNode): ts.Symbol | undefined { } function getTypeQueryDeclarationFromSymbol( - symbol: ts.Symbol + symbol: ts.Symbol, ): ts.NamedDeclaration { const declaration: ts.Declaration | undefined = symbol.declarations?.[0]; if (!declaration) { throw new Error( - `Failed to look up declaration for \`${symbol.getName()}'.` + `Failed to look up declaration for \`${symbol.getName()}'.`, ); } diff --git a/src/transformer/descriptor/typeReference/typeReference.ts b/src/transformer/descriptor/typeReference/typeReference.ts index e378ef976..77b9cba3a 100644 --- a/src/transformer/descriptor/typeReference/typeReference.ts +++ b/src/transformer/descriptor/typeReference/typeReference.ts @@ -17,10 +17,10 @@ import { export function GetTypeReferenceDescriptor( node: ts.TypeReferenceNode, - scope: Scope + scope: Scope, ): ts.Expression { const declaration: ts.Declaration = TypescriptHelper.GetDeclarationFromNode( - node.typeName + node.typeName, ); if (!declaration) { diff --git a/src/transformer/descriptor/union/union.ts b/src/transformer/descriptor/union/union.ts index 282aef76d..b21a5a7e6 100644 --- a/src/transformer/descriptor/union/union.ts +++ b/src/transformer/descriptor/union/union.ts @@ -7,13 +7,13 @@ import { GetUndefinedDescriptor } from '../undefined/undefined'; export function GetUnionDescriptor( node: ts.UnionTypeNode, - scope: Scope + scope: Scope, ): ts.Expression { const findNodes: ts.Node[] = GetTypes(node.types, scope); if (scope.hydrated) { const removeUndefinedNodes: ts.Node[] = findNodes.filter( - (typeNode: ts.TypeNode) => !isNotDefinedType(typeNode) + (typeNode: ts.TypeNode) => !isNotDefinedType(typeNode), ); if (removeUndefinedNodes.length) { @@ -24,7 +24,7 @@ export function GetUnionDescriptor( } const notDefinedType: ts.Node[] = findNodes.filter((typeNode: ts.TypeNode) => - isNotDefinedType(typeNode) + isNotDefinedType(typeNode), ); if (notDefinedType.length) { diff --git a/src/transformer/descriptor/variable/variable.ts b/src/transformer/descriptor/variable/variable.ts index e19d17c4a..48475875a 100644 --- a/src/transformer/descriptor/variable/variable.ts +++ b/src/transformer/descriptor/variable/variable.ts @@ -7,7 +7,7 @@ import { GetDescriptor } from '../descriptor'; export const GetVariableDeclarationDescriptor: ( node: ts.VariableDeclaration, - scope: Scope + scope: Scope, ) => ts.Expression = (node: ts.VariableDeclaration, scope: Scope) => { const typeChecker: ts.TypeChecker = core.typeChecker; const coreTs: typeof core.ts = core.ts; @@ -16,13 +16,13 @@ export const GetVariableDeclarationDescriptor: ( } const symbol: ts.Symbol | undefined = typeChecker.getSymbolAtLocation( - node.name + node.name, ); if (!symbol) { throw new Error( `The type checker failed to look up a symbol for \`${node.getText()}'. - Perhaps, the checker was searching an outdated source.` + Perhaps, the checker was searching an outdated source.`, ); } @@ -30,13 +30,13 @@ export const GetVariableDeclarationDescriptor: ( const typeToNode: ts.TypeNode | undefined = typeChecker.typeToTypeNode( type, undefined, - undefined + undefined, ); if (!typeToNode) { throw new Error( `The type checker failed to look up a node for \`${node.getText()}'. - Perhaps, the checker was searching an outdated source.` + Perhaps, the checker was searching an outdated source.`, ); } diff --git a/src/transformer/genericDeclaration/genericDeclaration.interface.ts b/src/transformer/genericDeclaration/genericDeclaration.interface.ts index 10dc0e48c..d73d01c1c 100644 --- a/src/transformer/genericDeclaration/genericDeclaration.interface.ts +++ b/src/transformer/genericDeclaration/genericDeclaration.interface.ts @@ -4,13 +4,13 @@ import { GenericDeclarationSupported } from './genericDeclarationSupported'; export interface IGenericDeclaration { addFromTypeReferenceNode( node: ts.TypeReferenceNode, - declarationKey: string + declarationKey: string, ): void; addFromDeclarationExtension( declarationKey: string, extensionDeclaration: GenericDeclarationSupported, extensionDeclarationKey: string, - extension: ts.ExpressionWithTypeArguments + extension: ts.ExpressionWithTypeArguments, ): void; getExpressionForAllGenerics(): ts.ObjectLiteralExpression[]; } diff --git a/src/transformer/genericDeclaration/genericDeclaration.ts b/src/transformer/genericDeclaration/genericDeclaration.ts index 0a06f1320..b3fb8c18a 100644 --- a/src/transformer/genericDeclaration/genericDeclaration.ts +++ b/src/transformer/genericDeclaration/genericDeclaration.ts @@ -23,7 +23,7 @@ export function GenericDeclaration(scope: Scope): IGenericDeclaration { const generics: GenericParameter[] = []; function isGenericProvided< - T extends ts.TypeReferenceNode | ts.ExpressionWithTypeArguments + T extends ts.TypeReferenceNode | ts.ExpressionWithTypeArguments, >(node: T, index: number): node is T & Required { return !!node.typeArguments && !!node.typeArguments[index]; } @@ -31,7 +31,7 @@ export function GenericDeclaration(scope: Scope): IGenericDeclaration { function getGenericNode( node: ts.TypeReferenceNode | ts.ExpressionWithTypeArguments, nodeDeclaration: ts.TypeParameterDeclaration, - index: number + index: number, ): ts.Node { if (isGenericProvided(node, index)) { return node.typeArguments[index]; @@ -44,7 +44,7 @@ export function GenericDeclaration(scope: Scope): IGenericDeclaration { ownerParameterDeclaration: ts.TypeParameterDeclaration, typeParameterDeclaration: ts.TypeParameterDeclaration, declarationKey: string, - extensionDeclarationKey: string + extensionDeclarationKey: string, ): void { const existingUniqueName: string = declarationKey + typeParameterDeclaration.name.escapedText.toString(); @@ -54,7 +54,7 @@ export function GenericDeclaration(scope: Scope): IGenericDeclaration { const parameterToAdd: GenericParameter | undefined = generics.find( (genericParameter: GenericParameter) => - genericParameter.ids.includes(existingUniqueName) + genericParameter.ids.includes(existingUniqueName), ); if (parameterToAdd?.ids) { @@ -65,12 +65,12 @@ export function GenericDeclaration(scope: Scope): IGenericDeclaration { function createGenericParameter( ownerKey: string, nodeOwnerParameter: ts.TypeParameterDeclaration, - genericDescriptor: ts.Expression + genericDescriptor: ts.Expression, ): GenericParameter { const uniqueName: string = ownerKey + nodeOwnerParameter.name.escapedText.toString(); const genericFunction: ts.FunctionExpression = createFunctionExpression( - createBlock([createReturnStatement(genericDescriptor)]) + createBlock([createReturnStatement(genericDescriptor)]), ); return { @@ -82,7 +82,7 @@ export function GenericDeclaration(scope: Scope): IGenericDeclaration { return { addFromTypeReferenceNode( node: ts.TypeReferenceNode, - declarationKey: string + declarationKey: string, ): void { const typeParameterDeclarations: ts.NodeArray = TypescriptHelper.GetParameterOfNode(node.typeName); @@ -98,18 +98,18 @@ export function GenericDeclaration(scope: Scope): IGenericDeclaration { const genericParameter: GenericParameter = createGenericParameter( declarationKey, typeParameterDeclarations[index], - GetDescriptor(genericNode, scope) + GetDescriptor(genericNode, scope), ); generics.push(genericParameter); - } + }, ); }, addFromDeclarationExtension( declarationKey: string, extensionDeclaration: GenericDeclarationSupported, extensionDeclarationKey: string, - extension: ts.ExpressionWithTypeArguments + extension: ts.ExpressionWithTypeArguments, ): void { const extensionDeclarationTypeParameters: | ts.NodeArray @@ -123,12 +123,12 @@ export function GenericDeclaration(scope: Scope): IGenericDeclaration { ( acc: GenericParameter[], declaration: ts.TypeParameterDeclaration, - index: number + index: number, ) => { const genericNode: ts.Node = getGenericNode( extension, declaration, - index + index, ); if (core.ts.isTypeReferenceNode(genericNode)) { @@ -138,7 +138,7 @@ export function GenericDeclaration(scope: Scope): IGenericDeclaration { const typeParameterDeclarationKey: string = MockDefiner.instance.getDeclarationKeyMapBasedOnScope( typeParameterDeclaration, - scope + scope, ); const isExtendingItself: boolean = @@ -148,7 +148,7 @@ export function GenericDeclaration(scope: Scope): IGenericDeclaration { // https://github.com/Typescript-TDD/ts-auto-mock/pull/312 for more // details. TransformerLogger().circularGenericNotSupported( - genericNode.getText() + genericNode.getText(), ); return acc; } @@ -158,7 +158,7 @@ export function GenericDeclaration(scope: Scope): IGenericDeclaration { extensionDeclarationTypeParameters[index], typeParameterDeclaration, declarationKey, - extensionDeclarationKey + extensionDeclarationKey, ); return acc; @@ -168,14 +168,14 @@ export function GenericDeclaration(scope: Scope): IGenericDeclaration { const genericParameter: GenericParameter = createGenericParameter( extensionDeclarationKey, extensionDeclarationTypeParameters[index], - GetDescriptor(genericNode, scope) + GetDescriptor(genericNode, scope), ); acc.push(genericParameter); return acc; }, - generics + generics, ); }, getExpressionForAllGenerics(): ts.ObjectLiteralExpression[] { @@ -186,16 +186,16 @@ export function GenericDeclaration(scope: Scope): IGenericDeclaration { Identifiers.MockIdentifierGenericParameterIds, createArrayLiteral( s.ids.map((arr: string) => createStringLiteral(arr)), - false - ) + false, + ), ), createPropertyAssignment( Identifiers.MockIdentifierGenericParameterValue, - s.value + s.value, ), ], - true - ) + true, + ), ); }, }; diff --git a/src/transformer/genericDeclaration/genericDeclarationSupported.ts b/src/transformer/genericDeclaration/genericDeclarationSupported.ts index f78ac947d..6e5f3a817 100644 --- a/src/transformer/genericDeclaration/genericDeclarationSupported.ts +++ b/src/transformer/genericDeclaration/genericDeclarationSupported.ts @@ -5,7 +5,7 @@ import { core } from '../core/core'; export type GenericDeclarationSupported = InterfaceOrClassDeclaration; export function extensionExpressionSupported( - expression: ts.LeftHandSideExpression + expression: ts.LeftHandSideExpression, ): expression is ts.Identifier { // This check is to prevent extends function() to die. // We don't have to support call expression in heritage extends because it will never have generics. diff --git a/src/transformer/helper/import.ts b/src/transformer/helper/import.ts index 1706c35b3..f65d67470 100644 --- a/src/transformer/helper/import.ts +++ b/src/transformer/helper/import.ts @@ -3,7 +3,7 @@ import { createImportAllAs } from '../../typescriptFactory/typescriptFactory'; export function createImportOnIdentifier( filenameToImportFrom: string, - importIdentifier: ts.Identifier + importIdentifier: ts.Identifier, ): ts.ImportDeclaration { return createImportAllAs(importIdentifier, filenameToImportFrom); } diff --git a/src/transformer/logger/transformerLogger.ts b/src/transformer/logger/transformerLogger.ts index addbfa22a..588417d8e 100644 --- a/src/transformer/logger/transformerLogger.ts +++ b/src/transformer/logger/transformerLogger.ts @@ -23,27 +23,27 @@ export interface TransformerLogger { indexedAccessTypeFailed( propertyName: string, nodeText: string, - currentNode: ts.Node + currentNode: ts.Node, ): void; } const notSupportedTypeMessage: ( type: string, createMockFileUrl: string, - currentNodeFileUrl: string + currentNodeFileUrl: string, ) => string = ( type: string, createMockFileUrl: string, - currentNodeFileUrl: string + currentNodeFileUrl: string, ) => `Not supported type: ${type} - it will convert to null ${warningPositionLog(createMockFileUrl, currentNodeFileUrl)}`; const warningPositionLog: ( createMockFileUrl: string, - currentNodeFileUrl: string + currentNodeFileUrl: string, ) => string = ( createMockFileUrl: string, - currentNodeFileUrl: string + currentNodeFileUrl: string, ) => `created ${createMockFileUrl} used by ${currentNodeFileUrl}`; @@ -62,7 +62,7 @@ export function TransformerLogger(): TransformerLogger { circularGenericNotSupported(nodeName: string): void { logger.warning( `Found a circular generic of \`${nodeName}' and such generics are currently not supported. - The generated mock will be incomplete.` + The generated mock will be incomplete.`, ); }, unexpectedCreateMock(mockFileName: string, expectedFileName: string): void { @@ -77,12 +77,12 @@ export function TransformerLogger(): TransformerLogger { const currentNodeFileUrl: string = getNodeFileUrl(currentNode); logger.warning( - notSupportedTypeMessage(type, createMockFileUrl, currentNodeFileUrl) + notSupportedTypeMessage(type, createMockFileUrl, currentNodeFileUrl), ); }, typeOfFunctionCallNotFound(node: string): void { logger.warning( - `Cannot find type of function call: ${node} - it will convert to null` + `Cannot find type of function call: ${node} - it will convert to null`, ); }, typeOfPropertyNotFound(node: ts.Node): void { @@ -93,13 +93,13 @@ export function TransformerLogger(): TransformerLogger { logger.warning( `The transformer could not determine a property value for ${node.getText()} without a specified type nor an initializer value - it will convert to null -${warningPositionLog(createMockFileUrl, currentNodeFileUrl)}` +${warningPositionLog(createMockFileUrl, currentNodeFileUrl)}`, ); }, indexedAccessTypeFailed( propertyName: string, nodeText: string, - currentNode: ts.Node + currentNode: ts.Node, ): void { const createMockNode: ts.Node = GetCurrentCreateMock(); @@ -108,7 +108,7 @@ ${warningPositionLog(createMockFileUrl, currentNodeFileUrl)}` logger.warning( `IndexedAccessType transformation failed: cannot find property ${propertyName} of - ${nodeText} -${warningPositionLog(createMockFileUrl, currentNodeFileUrl)}` +${warningPositionLog(createMockFileUrl, currentNodeFileUrl)}`, ); }, missingTypeDefinition(node: ts.Node): void { @@ -119,7 +119,7 @@ ${warningPositionLog(createMockFileUrl, currentNodeFileUrl)}` logger.warning( `Type definition for type reference ${node.getText()} not found - it will convert to null -${warningPositionLog(createMockFileUrl, currentNodeFileUrl)}` +${warningPositionLog(createMockFileUrl, currentNodeFileUrl)}`, ); }, missingReturnFromFunctionLike(node: ts.Node): void { @@ -130,7 +130,7 @@ ${warningPositionLog(createMockFileUrl, currentNodeFileUrl)}` logger.warning( `Node body or return type for type reference ${node.getText()} not found - it will convert to null -${warningPositionLog(createMockFileUrl, currentNodeFileUrl)}` +${warningPositionLog(createMockFileUrl, currentNodeFileUrl)}`, ); }, typeCannotBeChecked(node: ts.Node): void { @@ -141,7 +141,7 @@ ${warningPositionLog(createMockFileUrl, currentNodeFileUrl)}` logger.warning( `the type to type node conversion returned a type that will fail to convert because it cannot be analyzed ${node.getText()} not found - it will convert to null -${warningPositionLog(createMockFileUrl, currentNodeFileUrl)}` +${warningPositionLog(createMockFileUrl, currentNodeFileUrl)}`, ); }, }; diff --git a/src/transformer/matcher/matcher.ts b/src/transformer/matcher/matcher.ts index bf687045f..3cf371d1e 100644 --- a/src/transformer/matcher/matcher.ts +++ b/src/transformer/matcher/matcher.ts @@ -9,13 +9,13 @@ export interface CustomFunction { isHandledFunction( node: ts.CallExpression, - declaration: ts.SignatureDeclaration + declaration: ts.SignatureDeclaration, ): boolean; run(node: ts.CallExpression): ts.Node; } function isHandledDeclarationType( - declaration: ts.Declaration + declaration: ts.Declaration, ): declaration is ts.FunctionDeclaration | ts.MethodSignature { return ( declaration && @@ -27,7 +27,7 @@ function isHandledDeclarationType( export function getMatchingCustomFunction( node: ts.CallExpression, declaration: ts.Declaration, - customFunctions: CustomFunction[] + customFunctions: CustomFunction[], ): CustomFunction | void { if (!isHandledDeclarationType(declaration)) { return; diff --git a/src/transformer/mergeExpression/mergeExpression.ts b/src/transformer/mergeExpression/mergeExpression.ts index 48fff8c47..01c52f3b4 100644 --- a/src/transformer/mergeExpression/mergeExpression.ts +++ b/src/transformer/mergeExpression/mergeExpression.ts @@ -9,20 +9,20 @@ import { } from '../../typescriptFactory/typescriptFactory'; export function mergePropertyAccessor( - methodName: string + methodName: string, ): ts.PropertyAccessExpression { return createPropertyAccess( createPropertyAccess( MockDefiner.instance.getCurrentModuleIdentifier(ModuleName.Merge), - PrivateIdentifier('Merge') + PrivateIdentifier('Merge'), ), - createIdentifier(methodName) + createIdentifier(methodName), ); } export function getMockMergeExpression( nodeMocked: ts.Expression, - defaultValues: ts.Expression + defaultValues: ts.Expression, ): ts.Expression { return createCall(mergePropertyAccessor('merge'), [ nodeMocked, diff --git a/src/transformer/mock/currentCreateMockNode.ts b/src/transformer/mock/currentCreateMockNode.ts index ad4296c10..bc504e4ae 100644 --- a/src/transformer/mock/currentCreateMockNode.ts +++ b/src/transformer/mock/currentCreateMockNode.ts @@ -5,7 +5,7 @@ let currentCreateMock: ts.Node; export const GetCurrentCreateMock: () => ts.Node = () => currentCreateMock; export const SetCurrentCreateMock: (node: ts.Node) => void = ( - node: ts.Node + node: ts.Node, ) => { currentCreateMock = node; }; diff --git a/src/transformer/mock/mock.ts b/src/transformer/mock/mock.ts index 78f0cccac..7b90d9d14 100644 --- a/src/transformer/mock/mock.ts +++ b/src/transformer/mock/mock.ts @@ -40,7 +40,7 @@ export interface CreateMockOptions { export function getMock( node: ts.CallExpression, - options: CreateMockOptions + options: CreateMockOptions, ): ts.Expression { SetCurrentCreateMock(node); const mockExpression: ts.Expression = getMockExpression(options); @@ -48,7 +48,7 @@ export function getMock( if (!!options.amount) { return getListOfMocks( mockExpression, - options as CreateMockOptions & { amount: ts.Expression } + options as CreateMockOptions & { amount: ts.Expression }, ); } @@ -57,7 +57,7 @@ export function getMock( export function storeRegisterMock( typeToMock: ts.TypeNode, - node: ts.CallExpression + node: ts.CallExpression, ): ts.Node { SetCurrentCreateMock(node); if (core.ts.isTypeReferenceNode(typeToMock)) { @@ -65,11 +65,11 @@ export function storeRegisterMock( .arguments[0] as ts.FunctionExpression; return MockDefiner.instance.registerMockFor( TypescriptHelper.GetDeclarationFromNode(typeToMock.typeName), - factory + factory, ); } else { Logger('RegisterMock').error( - 'registerMock can be used only to mock type references.' + 'registerMock can be used only to mock type references.', ); return createOmittedExpression(); } @@ -77,7 +77,7 @@ export function storeRegisterMock( function getSingleMock( options: CreateMockOptions, - mockExpression: ts.Expression + mockExpression: ts.Expression, ): ts.Expression { if (!!options.defaultValues) { return getMockMergeExpression(mockExpression, options.defaultValues); @@ -95,7 +95,7 @@ function getMockExpression(options: CreateMockOptions): ts.Expression { function getListOfMocks( mock: ts.Expression, - options: CreateMockOptions & { amount: ts.Expression } + options: CreateMockOptions & { amount: ts.Expression }, ): ts.Expression { if (!!options.defaultValues) { return getListCallMock( @@ -104,7 +104,7 @@ function getListOfMocks( mock, options.defaultValues, Identifiers.MockCreateMockListLoopStep, - ]) + ]), ); } @@ -113,7 +113,7 @@ function getListOfMocks( function getListCallMock( expression: ts.Expression, - mockExpr: ts.Expression + mockExpr: ts.Expression, ): ts.CallExpression { return createIIFE( createBlock( @@ -123,30 +123,30 @@ function getListCallMock( [ createVariableDeclaration( Identifiers.MockCreateMockListLoopArray, - createArrayLiteral([], false) + createArrayLiteral([], false), ), ], - core.ts.NodeFlags.Const - ) + core.ts.NodeFlags.Const, + ), ), createForStatement( createVariableDeclarationList( [ createVariableDeclaration( Identifiers.MockCreateMockListLoopStep, - createNumericLiteral('0') + createNumericLiteral('0'), ), ], - core.ts.NodeFlags.Let + core.ts.NodeFlags.Let, ), createBinaryExpression( Identifiers.MockCreateMockListLoopStep, createPunctuationToken(core.ts.SyntaxKind.LessThanToken), - expression + expression, ), createPostfix( Identifiers.MockCreateMockListLoopStep, - core.ts.SyntaxKind.PlusPlusToken + core.ts.SyntaxKind.PlusPlusToken, ), createBlock( [ @@ -154,18 +154,18 @@ function getListCallMock( createCall( createPropertyAccess( Identifiers.MockCreateMockListLoopArray, - createIdentifier('push') + createIdentifier('push'), ), - [mockExpr] - ) + [mockExpr], + ), ), ], - true - ) + true, + ), ), createReturn(Identifiers.MockCreateMockListLoopArray), ], - true - ) + true, + ), ); } diff --git a/src/transformer/mockDefiner/cache/declarationListCache.ts b/src/transformer/mockDefiner/cache/declarationListCache.ts index c5aa4d963..22ec559d7 100644 --- a/src/transformer/mockDefiner/cache/declarationListCache.ts +++ b/src/transformer/mockDefiner/cache/declarationListCache.ts @@ -29,10 +29,10 @@ export class DeclarationListCache { } private _find( - declarations: ts.Declaration[] + declarations: ts.Declaration[], ): DeclarationListCacheElement | undefined { return this._cache.find((intersection: DeclarationListCacheElement) => - ArrayHelper.AreEqual(declarations, intersection.declarations) + ArrayHelper.AreEqual(declarations, intersection.declarations), ); } } diff --git a/src/transformer/mockDefiner/factoryUniqueName.ts b/src/transformer/mockDefiner/factoryUniqueName.ts index 6b4179c9f..80fef7fa8 100644 --- a/src/transformer/mockDefiner/factoryUniqueName.ts +++ b/src/transformer/mockDefiner/factoryUniqueName.ts @@ -20,7 +20,7 @@ export class FactoryUniqueName { declaration.name; return this._createUniqueName( - declarationNameIdentifier && declarationNameIdentifier.text + declarationNameIdentifier && declarationNameIdentifier.text, ); } @@ -41,7 +41,7 @@ export class FactoryUniqueName { return acc; }, - '' + '', ); return this._createUniqueName(nameOfDeclarations); diff --git a/src/transformer/mockDefiner/mockDefiner.ts b/src/transformer/mockDefiner/mockDefiner.ts index 6c7fbda36..bb179f50d 100644 --- a/src/transformer/mockDefiner/mockDefiner.ts +++ b/src/transformer/mockDefiner/mockDefiner.ts @@ -128,7 +128,7 @@ export class MockDefiner { const descriptor: ts.Expression = GetDescriptor( declaration, - Scope.fromScope(scope, key) + Scope.fromScope(scope, key), ); const mockGenericParameter: ts.ParameterDeclaration = @@ -136,7 +136,7 @@ export class MockDefiner { const factory: ts.FunctionExpression = createFunctionExpressionReturn( descriptor, - [mockGenericParameter] + [mockGenericParameter], ); this._hydratedFactoryRegistrationsPerFile[thisFileName].push({ key: declaration, @@ -150,7 +150,7 @@ export class MockDefiner { const descriptor: ts.Expression = GetDescriptor( declaration, - Scope.fromScope(scope, key) + Scope.fromScope(scope, key), ); const mockGenericParameter: ts.ParameterDeclaration = @@ -158,7 +158,7 @@ export class MockDefiner { const factory: ts.FunctionExpression = createFunctionExpressionReturn( descriptor, - [mockGenericParameter] + [mockGenericParameter], ); this._factoryRegistrationsPerFile[thisFileName].push({ @@ -170,7 +170,7 @@ export class MockDefiner { public getMockFactoryTypeofEnum( declaration: ts.EnumDeclaration, - scope: Scope + scope: Scope, ): ts.Expression { const key: string = this._getMockFactoryIdForTypeofEnum(declaration, scope); @@ -180,12 +180,12 @@ export class MockDefiner { public getMockFactoryIntersection( declarations: ts.Declaration[], type: ts.IntersectionTypeNode, - scope: Scope + scope: Scope, ): ts.Expression { const key: string = this._getMockFactoryIdForIntersections( declarations, type, - scope + scope, ); return this.getMockFactoryByKey(key); @@ -199,7 +199,7 @@ export class MockDefiner { public getDeclarationKeyMapBasedOnScope( declaration: ts.Declaration, - scope: Scope + scope: Scope, ): string { if (scope.hydrated) { return this._getHydratedDeclarationKeyMap(declaration); @@ -210,7 +210,7 @@ export class MockDefiner { public registerMockFor( declaration: ts.Declaration, - factory: ts.FunctionExpression + factory: ts.FunctionExpression, ): ts.Node { const key: string = this._getDeclarationKeyMap(declaration); const hydratedKey: string = this._getHydratedDeclarationKeyMap(declaration); @@ -224,25 +224,25 @@ export class MockDefiner { this._getCallRegisterMock( this._fileName, hydratedKey, - this._wrapRegisterMockFactory(factory) - ) + this._wrapRegisterMockFactory(factory), + ), ), createExpressionStatement( this._getCallRegisterMock( this._fileName, key, - this._wrapRegisterMockFactory(factory) - ) + this._wrapRegisterMockFactory(factory), + ), ), ], - true - ) + true, + ), ); } public hasMockForDeclaration( declaration: ts.Declaration, - scope: Scope + scope: Scope, ): boolean { if (scope.hydrated) { return ( @@ -262,8 +262,8 @@ export class MockDefiner { this._declarationCache.set( declaration, this._factoryUniqueName.createForDeclaration( - declaration as PossibleDeclaration - ) + declaration as PossibleDeclaration, + ), ); } @@ -276,8 +276,8 @@ export class MockDefiner { this._hydratedDeclarationCache.set( declaration, this._factoryUniqueName.createForDeclaration( - declaration as PossibleDeclaration - ) + declaration as PossibleDeclaration, + ), ); } @@ -288,25 +288,25 @@ export class MockDefiner { private _mockRepositoryAccess(filename: string): ts.Expression { const repository: ts.Identifier = this._getModuleIdentifier( filename, - ModuleName.Repository + ModuleName.Repository, ); return createPropertyAccess( createPropertyAccess(repository, PrivateIdentifier('Repository')), - createIdentifier('instance') + createIdentifier('instance'), ); } private _getModuleIdentifier( fileName: string, - module: ModuleName + module: ModuleName, ): ts.Identifier { return this._moduleImportIdentifierPerFile.getModule(fileName, module); } private _getMockFactoryIdForTypeofEnum( declaration: ts.EnumDeclaration, - scope: Scope + scope: Scope, ): string { const thisFileName: string = this._fileName; @@ -318,7 +318,7 @@ export class MockDefiner { const key: string = MockDefiner.instance.getDeclarationKeyMapBasedOnScope( declaration, - scope + scope, ); this._factoryCache.set(declaration, key); @@ -339,7 +339,7 @@ export class MockDefiner { private _getMockFactoryIdForIntersections( declarations: ts.Declaration[], intersectionTypeNode: ts.IntersectionTypeNode, - scope: Scope + scope: Scope, ): string { const thisFileName: string = this._fileName; @@ -358,7 +358,7 @@ export class MockDefiner { const descriptor: ts.Expression = GetProperties( intersectionTypeNode, - Scope.fromScope(scope, key) + Scope.fromScope(scope, key), ); const mockGenericParameter: ts.ParameterDeclaration = @@ -366,7 +366,7 @@ export class MockDefiner { const factory: ts.FunctionExpression = createFunctionExpressionReturn( descriptor, - [mockGenericParameter] + [mockGenericParameter], ); this._factoryIntersectionsRegistrationsPerFile[thisFileName].push({ @@ -398,9 +398,9 @@ export class MockDefiner { return this._createRegistration( sourceFile.fileName, key, - reg.factory + reg.factory, ); - } + }, ); } @@ -408,7 +408,7 @@ export class MockDefiner { } private _getHydratedExportsToAddInFile( - sourceFile: ts.SourceFile + sourceFile: ts.SourceFile, ): ts.Statement[] { if (this._hydratedFactoryRegistrationsPerFile[sourceFile.fileName]) { return this._hydratedFactoryRegistrationsPerFile[sourceFile.fileName].map( @@ -422,9 +422,9 @@ export class MockDefiner { return this._createRegistration( sourceFile.fileName, key, - reg.factory + reg.factory, ); - } + }, ); } @@ -432,7 +432,7 @@ export class MockDefiner { } private _getExportsIntersectionToAddInFile( - sourceFile: ts.SourceFile + sourceFile: ts.SourceFile, ): ts.Statement[] { if (this._factoryIntersectionsRegistrationsPerFile[sourceFile.fileName]) { return this._factoryIntersectionsRegistrationsPerFile[ @@ -454,10 +454,10 @@ export class MockDefiner { private _createRegistration( fileName: string, key: string, - factory: ts.Expression + factory: ts.Expression, ): ts.Statement { return createExpressionStatement( - this._getCallRegisterMock(fileName, key, factory) + this._getCallRegisterMock(fileName, key, factory), ); } @@ -468,38 +468,38 @@ export class MockDefiner { createCall( createPropertyAccess( createIdentifier('generics'), - createIdentifier('map') + createIdentifier('map'), ), [ createArrowFunction( createCall( createPropertyAccess( createIdentifier('g'), - Identifiers.MockIdentifierGenericParameterValue + Identifiers.MockIdentifierGenericParameterValue, ), - [] + [], ), - [createParameter('g')] + [createParameter('g')], ), - ] - ) + ], + ), ), ]), - [createParameter('generics')] + [createParameter('generics')], ); } private _getCallRegisterMock( fileName: string, key: string, - factory: ts.Expression + factory: ts.Expression, ): ts.CallExpression { return createCall( createPropertyAccess( this._mockRepositoryAccess(fileName), - createIdentifier('registerFactory') + createIdentifier('registerFactory'), ), - [createStringLiteral(key), factory] + [createStringLiteral(key), factory], ); } @@ -507,15 +507,15 @@ export class MockDefiner { return createCall( createPropertyAccess( this._mockRepositoryAccess(this._fileName), - createIdentifier('getFactory') + createIdentifier('getFactory'), ), - [createStringLiteral(key)] + [createStringLiteral(key)], ); } private _getMockGenericParameter(): ts.ParameterDeclaration { return createParameterFromIdentifier( - Identifiers.MockIdentifierGenericParameter + Identifiers.MockIdentifierGenericParameter, ); } } diff --git a/src/transformer/mockDefiner/modules/moduleImportIdentifierPerFile.ts b/src/transformer/mockDefiner/modules/moduleImportIdentifierPerFile.ts index 880f0bf28..aaaeba500 100644 --- a/src/transformer/mockDefiner/modules/moduleImportIdentifierPerFile.ts +++ b/src/transformer/mockDefiner/modules/moduleImportIdentifierPerFile.ts @@ -30,7 +30,7 @@ export class ModuleImportIdentifierPerFile { (key: ModuleName) => ({ moduleUrl: ModulesImportUrl[key], identifier: this._modulesNameIdentifierPerFile[fileName][key], - }) + }), ); } @@ -43,8 +43,8 @@ export class ModuleImportIdentifierPerFile { (moduleIdentifier: ModuleNameIdentifier) => createImportOnIdentifier( moduleIdentifier.moduleUrl, - moduleIdentifier.identifier - ) + moduleIdentifier.identifier, + ), ); } } diff --git a/src/transformer/mockFactoryCall/mockFactoryCall.ts b/src/transformer/mockFactoryCall/mockFactoryCall.ts index 1eb53ed07..8ff617c4d 100644 --- a/src/transformer/mockFactoryCall/mockFactoryCall.ts +++ b/src/transformer/mockFactoryCall/mockFactoryCall.ts @@ -18,7 +18,7 @@ import { core } from '../core/core'; export function GetMockFactoryCall( typeReferenceNode: ts.TypeReferenceNode, declaration: ts.Declaration, - scope: Scope + scope: Scope, ): ts.Expression { return getDeclarationMockFactoryCall(declaration, typeReferenceNode, scope); } @@ -26,7 +26,7 @@ export function GetMockFactoryCall( export function CreateMockFactory( typeReferenceNode: ts.TypeReferenceNode, declaration: ts.Declaration, - scope: Scope + scope: Scope, ): ts.Expression { MockDefiner.instance.createMockFactory(declaration, scope); @@ -35,7 +35,7 @@ export function CreateMockFactory( export function GetMockFactoryCallIntersection( intersection: ts.IntersectionTypeNode, - scope: Scope + scope: Scope, ): ts.Expression { const genericDeclaration: IGenericDeclaration = GenericDeclaration(scope); @@ -47,7 +47,7 @@ export function GetMockFactoryCallIntersection( const declarationKey: string = MockDefiner.instance.getDeclarationKeyMapBasedOnScope( declaration, - scope + scope, ); genericDeclaration.addFromTypeReferenceNode(type, declarationKey); @@ -56,7 +56,7 @@ export function GetMockFactoryCallIntersection( declaration as GenericDeclarationSupported, declarationKey, genericDeclaration, - scope + scope, ); return declaration; @@ -70,7 +70,7 @@ export function GetMockFactoryCallIntersection( MockDefiner.instance.getMockFactoryIntersection( declarations, intersection, - scope + scope, ); return createCall(mockFactoryCall, [ @@ -80,11 +80,10 @@ export function GetMockFactoryCallIntersection( export function GetMockFactoryCallTypeofEnum( declaration: ts.EnumDeclaration, - scope: Scope + scope: Scope, ): ts.Expression { const mockFactoryCall: ts.Expression = MockDefiner.instance.getMockFactoryTypeofEnum(declaration, scope); - return createCall(mockFactoryCall, []); } @@ -100,14 +99,14 @@ export function GetMockFactoryCallForThis(mockKey: string): ts.Expression { function getDeclarationMockFactoryCall( declaration: ts.Declaration, typeReferenceNode: ts.TypeReferenceNode, - scope: Scope + scope: Scope, ): ts.Expression { const declarationKey: string = MockDefiner.instance.getDeclarationKeyMapBasedOnScope(declaration, scope); if (!declarationKey) { throw new Error( - `Failed to look up declaration key in MockDefiner for \`${declaration.getText()}'.` + `Failed to look up declaration key in MockDefiner for \`${declaration.getText()}'.`, ); } @@ -117,14 +116,14 @@ function getDeclarationMockFactoryCall( genericDeclaration.addFromTypeReferenceNode( typeReferenceNode, - declarationKey + declarationKey, ); addFromDeclarationExtensions( declaration as GenericDeclarationSupported, declarationKey, genericDeclaration, - scope + scope, ); const genericsParametersExpression: ts.ObjectLiteralExpression[] = @@ -139,7 +138,7 @@ function addFromDeclarationExtensions( declaration: GenericDeclarationSupported, declarationKey: string, genericDeclaration: IGenericDeclaration, - scope: Scope + scope: Scope, ): void { if (declaration.heritageClauses) { declaration.heritageClauses.forEach((clause: ts.HeritageClause) => { @@ -154,21 +153,21 @@ function addFromDeclarationExtensions( const extensionDeclarationKey: string = MockDefiner.instance.getDeclarationKeyMapBasedOnScope( extensionDeclaration, - scope + scope, ); genericDeclaration.addFromDeclarationExtension( declarationKey, extensionDeclaration as GenericDeclarationSupported, extensionDeclarationKey, - extension + extension, ); addFromDeclarationExtensions( extensionDeclaration as GenericDeclarationSupported, extensionDeclarationKey, genericDeclaration, - scope + scope, ); }); }); diff --git a/src/transformer/printNode.ts b/src/transformer/printNode.ts index fc1e9bd82..1ca30a432 100644 --- a/src/transformer/printNode.ts +++ b/src/transformer/printNode.ts @@ -9,7 +9,7 @@ export function NodeToString(node: ts.Node): string { '', core.ts.ScriptTarget.Latest, /* setParentNodes*/ false, - core.ts.ScriptKind.TS + core.ts.ScriptKind.TS, ); const printer: ts.Printer = core.ts.createPrinter({ newLine: core.ts.NewLineKind.LineFeed, diff --git a/src/transformer/transformer.ts b/src/transformer/transformer.ts index aba69b724..ae1364f5d 100644 --- a/src/transformer/transformer.ts +++ b/src/transformer/transformer.ts @@ -5,8 +5,8 @@ import { customFunctions } from './customFunctions/custom-functions'; export const transformer: ( program: ts.Program, - options?: Partial + options?: Partial, ) => ts.TransformerFactory = baseTransformer( customFunctions, - ts + ts, ); diff --git a/src/typescriptFactory/typescriptFactory.ts b/src/typescriptFactory/typescriptFactory.ts index 8e317f13f..fa091743b 100644 --- a/src/typescriptFactory/typescriptFactory.ts +++ b/src/typescriptFactory/typescriptFactory.ts @@ -63,20 +63,20 @@ import { core } from '../transformer/core/core'; export function createArrayLiteral( elements?: readonly Expression[], - multiLine?: boolean + multiLine?: boolean, ): ArrayLiteralExpression { return core.ts.factory.createArrayLiteralExpression(elements, multiLine); } export function createVariableStatement( - declarationList: VariableDeclarationList | readonly VariableDeclaration[] + declarationList: VariableDeclarationList | readonly VariableDeclaration[], ): VariableStatement { return core.ts.factory.createVariableStatement(undefined, declarationList); } export function createVariableDeclarationList( declarations: readonly VariableDeclaration[], - flags?: NodeFlags + flags?: NodeFlags, ): VariableDeclarationList { return core.ts.factory.createVariableDeclarationList(declarations, flags); } @@ -87,14 +87,14 @@ export function createIdentifier(text: string): Identifier { export function createNumericLiteral( value: string | number, - numericLiteralFlags?: TokenFlags + numericLiteralFlags?: TokenFlags, ): NumericLiteral { return core.ts.factory.createNumericLiteral(value, numericLiteralFlags); } export function createArrowFunction( block: ts.ConciseBody, - parameter: ReadonlyArray = [] + parameter: ReadonlyArray = [], ): ts.ArrowFunction { return core.ts.factory.createArrowFunction( undefined, @@ -102,13 +102,13 @@ export function createArrowFunction( parameter, undefined, core.ts.factory.createToken(core.ts.SyntaxKind.EqualsGreaterThanToken), - block + block, ); } export function createFunctionExpression( block: Block, - parameter: ReadonlyArray = [] + parameter: ReadonlyArray = [], ): FunctionExpression { return core.ts.factory.createFunctionExpression( undefined, @@ -117,13 +117,13 @@ export function createFunctionExpression( undefined, parameter, undefined, - block + block, ); } export function createFunctionExpressionReturn( descriptorToReturn: Expression, - parameter: ReadonlyArray = [] + parameter: ReadonlyArray = [], ): FunctionExpression { const block: Block = core.ts.factory.createBlock([ core.ts.factory.createReturnStatement(descriptorToReturn), @@ -136,31 +136,31 @@ export function createFunctionExpressionReturn( undefined, parameter, undefined, - block + block, ); } export function createBlock( statements: readonly Statement[], - multiLine?: boolean | undefined + multiLine?: boolean | undefined, ): Block { return core.ts.factory.createBlock(statements, multiLine); } export function createReturnStatement( - expression?: Expression + expression?: Expression, ): ReturnStatement { return core.ts.factory.createReturnStatement(expression); } export function createCall( expression: Expression, - argumentExpressions: Expression[] + argumentExpressions: Expression[], ): CallExpression { return core.ts.factory.createCallExpression( expression, undefined, - argumentExpressions + argumentExpressions, ); } @@ -174,10 +174,10 @@ export function createIIFE(block: Block): CallExpression { undefined, [], undefined, - block - ) + block, + ), ), - [] + [], ); } @@ -187,26 +187,26 @@ export function createEmptyProperty(): PropertyDeclaration { export function createProperty( propertyName: string | PropertyName, - type: TypeNode | undefined + type: TypeNode | undefined, ): PropertyDeclaration { return core.ts.factory.createPropertyDeclaration( undefined, propertyName, undefined, type, - undefined + undefined, ); } export function createPropertySignature( propertyName: string | PropertyName, - type: TypeNode + type: TypeNode, ): PropertySignature { return core.ts.factory.createPropertySignature( [], propertyName, undefined, - type + type, ); } @@ -216,26 +216,26 @@ export function createParameter(parameterName: string): ParameterDeclaration { return core.ts.factory.createParameterDeclaration( modifiers, dotDotDotToken, - createIdentifier(parameterName) + createIdentifier(parameterName), ); } export function createParameterFromIdentifier( - identifier: Identifier + identifier: Identifier, ): ParameterDeclaration { const modifiers: undefined = undefined; const dotDotDotToken: undefined = undefined; return core.ts.factory.createParameterDeclaration( modifiers, dotDotDotToken, - identifier + identifier, ); } export function createMethod( methodName: string, body: Block, - parameterNames: Identifier[] = [] + parameterNames: Identifier[] = [], ): MethodDeclaration { const parameters: ParameterDeclaration[] = parameterNames.map( (parameterName: Identifier) => @@ -245,8 +245,8 @@ export function createMethod( parameterName, undefined, undefined, - undefined - ) + undefined, + ), ); const modifiers: undefined = undefined; const asteriskToken: undefined = undefined; @@ -261,25 +261,25 @@ export function createMethod( typeParameters, parameters, type, - body + body, ); } export function createVariableDeclaration( variableIdentifier: Identifier, - initializer: Expression + initializer: Expression, ): VariableDeclaration { return core.ts.factory.createVariableDeclaration( variableIdentifier, undefined, undefined, - initializer + initializer, ); } export function createPropertyAccess( expression: Expression, - name: string | Identifier | PrivateIdentifier + name: string | Identifier | PrivateIdentifier, ): PropertyAccessExpression { return core.ts.factory.createPropertyAccessExpression(expression, name); } @@ -297,7 +297,7 @@ export function createLogicalNot(operand: Expression): PrefixUnaryExpression { } export function createLiteral( - type: LiteralType + type: LiteralType, ): StringLiteral | NumericLiteral | BigIntLiteral { if (typeof type.value === 'string') { return createStringLiteral(type.value); @@ -312,19 +312,19 @@ export function createLiteral( export function createNodeArray( elements?: readonly T[], - hasTrailingComma?: boolean + hasTrailingComma?: boolean, ): NodeArray { return core.ts.factory.createNodeArray(elements, hasTrailingComma); } export function createArrayTypeNode(): Node { return core.ts.factory.createArrayTypeNode( - core.ts.factory.createKeywordTypeNode(core.ts.SyntaxKind.AnyKeyword) + core.ts.factory.createKeywordTypeNode(core.ts.SyntaxKind.AnyKeyword), ); } export function createTypeNode( - kind: TKind + kind: TKind, ): KeywordTypeNode { return core.ts.factory.createKeywordTypeNode(kind); } @@ -335,7 +335,7 @@ export function createFunctionTypeNode(typeNode: TypeNode): FunctionTypeNode { export function createObjectLiteral( properties?: readonly ObjectLiteralElementLike[], - multiLine?: boolean + multiLine?: boolean, ): ObjectLiteralExpression { return core.ts.factory.createObjectLiteralExpression(properties, multiLine); } @@ -343,20 +343,20 @@ export function createObjectLiteral( export function createBinaryExpression( left: Expression, operator: BinaryOperator | BinaryOperatorToken, - right: Expression + right: Expression, ): BinaryExpression { return core.ts.factory.createBinaryExpression(left, operator, right); } export function createPunctuationToken( - token: TKind + token: TKind, ): PunctuationToken { return core.ts.factory.createToken(token); } export function createIfStatement( expression: Expression, - block: Block + block: Block, ): IfStatement { return core.ts.factory.createIfStatement(expression, block, undefined); } @@ -366,31 +366,31 @@ export function createReturn(expression: Expression): ReturnStatement { } export function createExpressionStatement( - binaryExpression: Expression + binaryExpression: Expression, ): ExpressionStatement { return core.ts.factory.createExpressionStatement(binaryExpression); } export function createElementAccessExpression( identifier: Identifier, - literalProperty: StringLiteral + literalProperty: StringLiteral, ): ElementAccessExpression { return core.ts.factory.createElementAccessExpression( identifier, - literalProperty + literalProperty, ); } export function createPropertyAssignment( name: string | PropertyName, - expression: ts.Expression + expression: ts.Expression, ): PropertyAssignment { return core.ts.factory.createPropertyAssignment(name, expression); } export function createElementAccess( expression: Expression, - index: number | Expression + index: number | Expression, ): ElementAccessExpression { return core.ts.factory.createElementAccessExpression(expression, index); } @@ -400,36 +400,36 @@ export function createConditional( questionToken: QuestionToken | undefined, whenTrue: Expression, colonToken: ColonToken | undefined, - whenFalse: Expression + whenFalse: Expression, ): ConditionalExpression { return core.ts.factory.createConditionalExpression( condition, questionToken, whenTrue, colonToken, - whenFalse + whenFalse, ); } export function updateSourceFileNode( node: SourceFile, - statements: readonly Statement[] + statements: readonly Statement[], ): SourceFile { return core.ts.factory.updateSourceFile(node, statements); } export function createImportAllAs( moduleName: ts.Identifier, - filenameToImportFrom: string + filenameToImportFrom: string, ): ImportDeclaration { return core.ts.factory.createImportDeclaration( [], core.ts.factory.createImportClause( false, undefined, - core.ts.factory.createNamespaceImport(moduleName) + core.ts.factory.createNamespaceImport(moduleName), ), - core.ts.factory.createStringLiteral(filenameToImportFrom) + core.ts.factory.createStringLiteral(filenameToImportFrom), ); } @@ -437,19 +437,19 @@ export function createForStatement( initializer: Expression | VariableDeclarationList | undefined, condition: Expression | undefined, incrementor: Expression | undefined, - statement: Statement + statement: Statement, ): ForStatement { return core.ts.factory.createForStatement( initializer, condition, incrementor, - statement + statement, ); } export function createPostfix( operand: Expression, - operator: PostfixUnaryOperator + operator: PostfixUnaryOperator, ): PostfixUnaryExpression { return core.ts.factory.createPostfixUnaryExpression(operand, operator); } @@ -459,7 +459,7 @@ export function createOmittedExpression(): OmittedExpression { } export function createTypeReferenceNode( - identifier: Identifier + identifier: Identifier, ): TypeReferenceNode { return core.ts.factory.createTypeReferenceNode(identifier, undefined); } @@ -477,7 +477,7 @@ export function createTypeQueryNode(identifier: Identifier): TypeQueryNode { } export function createTypeLiteralNode( - typeElements: readonly TypeElement[] + typeElements: readonly TypeElement[], ): TypeLiteralNode { return core.ts.factory.createTypeLiteralNode(typeElements); } diff --git a/test/build/build.test.ts b/test/build/build.test.ts index 4d1afe82d..b33394028 100644 --- a/test/build/build.test.ts +++ b/test/build/build.test.ts @@ -35,7 +35,7 @@ describe('build', () => { // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion,@typescript-eslint/no-non-null-assertion statsAsJson! .errors!.map((statErr: StatsError) => JSON.stringify(statErr)) - .join('\n') + .join('\n'), ); } @@ -46,23 +46,23 @@ describe('build', () => { 1, `Only one transformer.ts should import typescript, but found:\n${modulesImportingTypescript .map((m: StatsModuleReason) => m.module) - .join(', ')}` + .join(', ')}`, ); expect(modulesImportingTypescript[0].module).toBe( - './src/transformer/transformer.ts' + './src/transformer/transformer.ts', ); done(); }); }); function getModulesImportingTypescript( - statsAsJson: StatsCompilation + statsAsJson: StatsCompilation, ): StatsModuleReason[] { return flatMap( statsAsJson.modules?.filter( - (x: StatsModule) => x.identifier === 'external commonjs "typescript"' + (x: StatsModule) => x.identifier === 'external commonjs "typescript"', ) || [], - (x: StatsModule) => x.reasons || [] + (x: StatsModule) => x.reasons || [], ); } diff --git a/test/framework/config.ts b/test/framework/config.ts index 3130de5a6..f12214304 100644 --- a/test/framework/config.ts +++ b/test/framework/config.ts @@ -3,5 +3,5 @@ import { Provider } from 'ts-auto-mock/extension'; Provider.instance.provideMethodWithDeferredValue( // eslint-disable-next-line @typescript-eslint/no-explicit-any (name: string, value: () => any) => - jasmine.createSpy(name).and.callFake(value) + jasmine.createSpy(name).and.callFake(value), ); diff --git a/test/frameworkContext/context.ts b/test/frameworkContext/context.ts index 3130de5a6..f12214304 100644 --- a/test/frameworkContext/context.ts +++ b/test/frameworkContext/context.ts @@ -3,5 +3,5 @@ import { Provider } from 'ts-auto-mock/extension'; Provider.instance.provideMethodWithDeferredValue( // eslint-disable-next-line @typescript-eslint/no-explicit-any (name: string, value: () => any) => - jasmine.createSpy(name).and.callFake(value) + jasmine.createSpy(name).and.callFake(value), ); diff --git a/test/frameworkContext/contextDeprecated.ts b/test/frameworkContext/contextDeprecated.ts index bba04093e..7720af016 100644 --- a/test/frameworkContext/contextDeprecated.ts +++ b/test/frameworkContext/contextDeprecated.ts @@ -2,5 +2,5 @@ import { Provider } from 'ts-auto-mock/extension'; // eslint-disable-next-line @typescript-eslint/no-explicit-any Provider.instance.provideMethod((name: string, value: any) => - jasmine.createSpy(name).and.returnValue(value) + jasmine.createSpy(name).and.returnValue(value), ); diff --git a/test/frameworkContext/create-mock-list-values.test.ts b/test/frameworkContext/create-mock-list-values.test.ts index 412a47f52..302c954d7 100644 --- a/test/frameworkContext/create-mock-list-values.test.ts +++ b/test/frameworkContext/create-mock-list-values.test.ts @@ -16,7 +16,7 @@ describe('create-mock-list-values', () => { property: { a: index * 2, }, - }) + }), ); properties[0].method(); properties[2].method(); @@ -42,7 +42,7 @@ describe('create-mock-list-values', () => { property: { a: index * 2, }, - }) + }), ); expect(mockList.length).toBe(2); }); diff --git a/test/frameworkContext/on.test.ts b/test/frameworkContext/on.test.ts index bc2e2598e..666ebad8c 100644 --- a/test/frameworkContext/on.test.ts +++ b/test/frameworkContext/on.test.ts @@ -9,7 +9,7 @@ describe('On', () => { it('should return an ExtensionHandler when used with a mock', () => { expect(On(createMock<{ prop: () => void }>())).toEqual( - jasmine.any(ExtensionHandler) + jasmine.any(ExtensionHandler), ); }); }); diff --git a/test/frameworkContext/typings.test.ts b/test/frameworkContext/typings.test.ts index b9e987f42..b278970d7 100644 --- a/test/frameworkContext/typings.test.ts +++ b/test/frameworkContext/typings.test.ts @@ -18,7 +18,7 @@ describe('when creating a mock', () => { const mock: Interface = createMock(); const spy: jasmine.Spy = On(mock).get( - method((x: Interface) => x.methodExpectJasmineExtension) + method((x: Interface) => x.methodExpectJasmineExtension), ); spy.and.returnValue(''); // mock.arrayExpectGenerateMethod.generateList(3); //TODO Implements functionality diff --git a/test/logs/conditionalType.ts b/test/logs/conditionalType.ts index 635257c7d..b8b914aaa 100644 --- a/test/logs/conditionalType.ts +++ b/test/logs/conditionalType.ts @@ -1,11 +1,11 @@ export type ConditionalType = T extends string ? 'string' : T extends number - ? 'number' - : T extends boolean - ? 'boolean' - : T extends undefined - ? 'undefined' - : T extends Function - ? 'function' - : 'object'; + ? 'number' + : T extends boolean + ? 'boolean' + : T extends undefined + ? 'undefined' + : T extends Function + ? 'function' + : 'object'; diff --git a/test/logs/createMock.warning.test.ts b/test/logs/createMock.warning.test.ts index 01cd64be2..051f254f3 100644 --- a/test/logs/createMock.warning.test.ts +++ b/test/logs/createMock.warning.test.ts @@ -5,7 +5,7 @@ import { getLogsByCreateMockFileName, UnsupportedTypeLog } from './utils/log'; describe('Create Mock Warning', () => { it('should log an unsupported type warning', async () => { const logs: UnsupportedTypeLog[] = await getLogsByCreateMockFileName( - 'createMock.warning.test.ts' + 'createMock.warning.test.ts', ); interface InterfaceWithConditionalType { conditional: ConditionalType; @@ -15,13 +15,13 @@ describe('Create Mock Warning', () => { expect(logs.length).toBe(1); expect(logs[0].header).toContain( - 'WARNING: Transformer - Not supported type: ConditionalType - it will convert to null' + 'WARNING: Transformer - Not supported type: ConditionalType - it will convert to null', ); expect(logs[0].created).toMatch( - /created file:\/\/.*createMock.warning\.test\.ts:[0-9]*:[0-9]*/ + /created file:\/\/.*createMock.warning\.test\.ts:[0-9]*:[0-9]*/, ); expect(logs[0].usedBy).toMatch( - /used by file:\/\/.*conditionalType\.ts:[0-9]*:[0-9]*/ + /used by file:\/\/.*conditionalType\.ts:[0-9]*:[0-9]*/, ); }); }); diff --git a/test/logs/createMockList.warning.test.ts b/test/logs/createMockList.warning.test.ts index 1dfd720e1..1c0d30d53 100644 --- a/test/logs/createMockList.warning.test.ts +++ b/test/logs/createMockList.warning.test.ts @@ -5,7 +5,7 @@ import { getLogsByCreateMockFileName, UnsupportedTypeLog } from './utils/log'; describe('Create Mock List Warning', () => { it('should log an unsupported type warning', async () => { const logs: UnsupportedTypeLog[] = await getLogsByCreateMockFileName( - 'createMockList.warning.test.ts' + 'createMockList.warning.test.ts', ); interface InterfaceWithConditionalType { conditional: ConditionalType; @@ -15,13 +15,13 @@ describe('Create Mock List Warning', () => { expect(logs.length).toBe(1); expect(logs[0].header).toContain( - 'WARNING: Transformer - Not supported type: ConditionalType - it will convert to null' + 'WARNING: Transformer - Not supported type: ConditionalType - it will convert to null', ); expect(logs[0].created).toMatch( - /created file:\/\/.*createMockList.warning\.test\.ts:[0-9]*:[0-9]*/ + /created file:\/\/.*createMockList.warning\.test\.ts:[0-9]*:[0-9]*/, ); expect(logs[0].usedBy).toMatch( - /used by file:\/\/.*conditionalType\.ts:[0-9]*:[0-9]*/ + /used by file:\/\/.*conditionalType\.ts:[0-9]*:[0-9]*/, ); }); }); diff --git a/test/logs/indexedAccess/indexedAccess.warning.test.ts b/test/logs/indexedAccess/indexedAccess.warning.test.ts index c889d98ed..46ac4c109 100644 --- a/test/logs/indexedAccess/indexedAccess.warning.test.ts +++ b/test/logs/indexedAccess/indexedAccess.warning.test.ts @@ -9,18 +9,18 @@ describe('IndexedAccess Warning', () => { expect(mock.prop<'[]'>()).toBeNull(); const logs: UnsupportedTypeLog[] = await getLogsByCreateMockFileName( - 'indexedAccess.warning.test.ts' + 'indexedAccess.warning.test.ts', ); expect(logs.length).toBe(1); expect(logs[0].header).toContain( - 'WARNING: Transformer - IndexedAccessType transformation failed: cannot find property [] of - this[K]' + 'WARNING: Transformer - IndexedAccessType transformation failed: cannot find property [] of - this[K]', ); expect(logs[0].created).toMatch( - /created file:\/\/.*indexedAccess\.warning\.test\.ts:[0-9]*:[0-9]*/ + /created file:\/\/.*indexedAccess\.warning\.test\.ts:[0-9]*:[0-9]*/, ); expect(logs[0].usedBy).toMatch( - /used by file:\/\/.*indexedAccess\.warning\.type\.ts:[0-9]*:[0-9]*/ + /used by file:\/\/.*indexedAccess\.warning\.type\.ts:[0-9]*:[0-9]*/, ); }); }); diff --git a/test/logs/keyof/keyof.warning.test.ts b/test/logs/keyof/keyof.warning.test.ts index f93a43baf..bce03827e 100644 --- a/test/logs/keyof/keyof.warning.test.ts +++ b/test/logs/keyof/keyof.warning.test.ts @@ -5,20 +5,20 @@ import { KeyOfType } from './keyof.warning.type'; describe('KeyOf Warning', () => { it('should log an unsupported type warning', async () => { const logs: UnsupportedTypeLog[] = await getLogsByCreateMockFileName( - 'keyof.warning.test.ts' + 'keyof.warning.test.ts', ); createMock(); expect(logs.length).toBe(1); expect(logs[0].header).toContain( - 'WARNING: Transformer - Not supported type: TypeOperator of KeyOfKeyword - it will convert to null' + 'WARNING: Transformer - Not supported type: TypeOperator of KeyOfKeyword - it will convert to null', ); expect(logs[0].created).toMatch( - /created file:\/\/.*keyof\.warning\.test\.ts:[0-9]*:[0-9]*/ + /created file:\/\/.*keyof\.warning\.test\.ts:[0-9]*:[0-9]*/, ); expect(logs[0].usedBy).toMatch( - /used by file:\/\/.*keyof\.warning\.type\.ts:[0-9]*:[0-9]*/ + /used by file:\/\/.*keyof\.warning\.type\.ts:[0-9]*:[0-9]*/, ); }); }); diff --git a/test/logs/missingTypeDefinition/missingTypeDefinition.warning.test.ts b/test/logs/missingTypeDefinition/missingTypeDefinition.warning.test.ts index 99a2246a9..a8544496e 100644 --- a/test/logs/missingTypeDefinition/missingTypeDefinition.warning.test.ts +++ b/test/logs/missingTypeDefinition/missingTypeDefinition.warning.test.ts @@ -5,20 +5,20 @@ import { WrapperOfNotExistingType } from './missingTypeDefinition.warning.type'; describe('Missing type definition', () => { it('should log a warning and apply null', async () => { const logs: UnsupportedTypeLog[] = await getLogsByCreateMockFileName( - 'missingTypeDefinition.warning.test.ts' + 'missingTypeDefinition.warning.test.ts', ); createMock(); expect(logs.length).toBe(1); expect(logs[0].header).toContain( - 'WARNING: Transformer - Type definition for type reference NotExistingType not found - it will convert to null' + 'WARNING: Transformer - Type definition for type reference NotExistingType not found - it will convert to null', ); expect(logs[0].created).toMatch( - /created file:\/\/.*missingTypeDefinition\.warning\.test\.ts:[0-9]*:[0-9]*/ + /created file:\/\/.*missingTypeDefinition\.warning\.test\.ts:[0-9]*:[0-9]*/, ); expect(logs[0].usedBy).toMatch( - /used by file:\/\/.*missingTypeDefinition\.warning\.type\.ts:[0-9]*:[0-9]*/ + /used by file:\/\/.*missingTypeDefinition\.warning\.type\.ts:[0-9]*:[0-9]*/, ); }); }); diff --git a/test/logs/untypedProperty/untypedProperty.warning.test.ts b/test/logs/untypedProperty/untypedProperty.warning.test.ts index 11109c145..c76754ed6 100644 --- a/test/logs/untypedProperty/untypedProperty.warning.test.ts +++ b/test/logs/untypedProperty/untypedProperty.warning.test.ts @@ -5,7 +5,7 @@ import { InterfacePropFallbackAny } from './untypedProperty.warning.type'; describe('Untyped property Warning', () => { it('should log a warning and apply null to the property', async () => { const logs: UnsupportedTypeLog[] = await getLogsByCreateMockFileName( - 'untypedProperty.warning.test.ts' + 'untypedProperty.warning.test.ts', ); createMock(); @@ -14,13 +14,13 @@ describe('Untyped property Warning', () => { expect(logs[0].header).toContain( 'WARNING: Transformer - The transformer could not determine' + ' a property value for prop; ' + - 'without a specified type nor an initializer value - it will convert to null' + 'without a specified type nor an initializer value - it will convert to null', ); expect(logs[0].created).toMatch( - /created file:\/\/.*untypedProperty\.warning\.test\.ts:[0-9]*:[0-9]*/ + /created file:\/\/.*untypedProperty\.warning\.test\.ts:[0-9]*:[0-9]*/, ); expect(logs[0].usedBy).toMatch( - /used by file:\/\/.*untypedProperty\.warning\.type\.ts:[0-9]*:[0-9]*/ + /used by file:\/\/.*untypedProperty\.warning\.type\.ts:[0-9]*:[0-9]*/, ); }); }); diff --git a/test/logs/utils/log.ts b/test/logs/utils/log.ts index 4c436d9f8..cb805de0f 100644 --- a/test/logs/utils/log.ts +++ b/test/logs/utils/log.ts @@ -7,7 +7,7 @@ export interface UnsupportedTypeLog { } export const getLogsByCreateMockFileName: ( - fileName: string + fileName: string, ) => Promise = async (fileName: string) => { const logErrorFile: string = await ensureGetLogFileContent(); const logs: UnsupportedTypeLog[] = []; @@ -24,7 +24,7 @@ export const getLogsByCreateMockFileName: ( } return logs.filter( - (log: UnsupportedTypeLog) => log.created.indexOf(fileName) > -1 + (log: UnsupportedTypeLog) => log.created.indexOf(fileName) > -1, ); }; diff --git a/test/noTransformer/noTransformer.test.ts b/test/noTransformer/noTransformer.test.ts index 6180d579f..a50ecc196 100644 --- a/test/noTransformer/noTransformer.test.ts +++ b/test/noTransformer/noTransformer.test.ts @@ -8,15 +8,15 @@ interface MyInterface { describe('when using placeholder functions without installing the transformer', () => { it('should throw an error linking the installation guide', () => { expect(() => createMock()).toThrowError( - /https:\/\/typescript-tdd\.github\.io\/ts-auto-mock\/installation/ + /https:\/\/typescript-tdd\.github\.io\/ts-auto-mock\/installation/, ); expect(() => createMockList(2)).toThrowError( - /https:\/\/typescript-tdd\.github\.io\/ts-auto-mock\/installation/ + /https:\/\/typescript-tdd\.github\.io\/ts-auto-mock\/installation/, ); expect(() => - registerMock(() => ({ a: '', b: 4 })) + registerMock(() => ({ a: '', b: 4 })), ).toThrowError( - /https:\/\/typescript-tdd\.github\.io\/ts-auto-mock\/installation/ + /https:\/\/typescript-tdd\.github\.io\/ts-auto-mock\/installation/, ); }); }); diff --git a/test/registerMock/extensionStrategy/extensionStrategy.test.ts b/test/registerMock/extensionStrategy/extensionStrategy.test.ts index 49940c92e..9a35adc24 100644 --- a/test/registerMock/extensionStrategy/extensionStrategy.test.ts +++ b/test/registerMock/extensionStrategy/extensionStrategy.test.ts @@ -5,7 +5,7 @@ import { FakePromise } from '../fakePromise'; function asFakePromise< T, TProp extends Promise, - TFake extends FakePromise + TFake extends FakePromise, >(prop: Promise): FakePromise { return prop as unknown as FakePromise; } diff --git a/test/registerMock/generics/generics.test.ts b/test/registerMock/generics/generics.test.ts index d5d345fbd..6cb3b861d 100644 --- a/test/registerMock/generics/generics.test.ts +++ b/test/registerMock/generics/generics.test.ts @@ -30,7 +30,7 @@ describe('registerMock of type with generics', () => { (genericNumber: unknown, genericString: unknown) => ({ internalProp: (genericNumber as number) + 5, internalProp2: (genericString as object).toString() + '-mocked', - }) + }), ); registerMock>( @@ -40,7 +40,7 @@ describe('registerMock of type with generics', () => { internalProp: (genericString as object).toString() + '-mocked', internalProp2: genericObject, }; - } + }, ); const mock: AParentInterface = createMock(); diff --git a/test/registerMock/typeQuery/typeQuery.test.ts b/test/registerMock/typeQuery/typeQuery.test.ts index b3e88d50b..2393450f6 100644 --- a/test/registerMock/typeQuery/typeQuery.test.ts +++ b/test/registerMock/typeQuery/typeQuery.test.ts @@ -52,8 +52,8 @@ describe('registerMock of typeQuery', () => { class Some { public prop: string; }, - { C: 'something' } - ) + { C: 'something' }, + ), ); const mock1: typeof MyClass = createMock(); diff --git a/test/transformer/create-mock-list-values.test.ts b/test/transformer/create-mock-list-values.test.ts index 2e5ee5a96..8c67f9f93 100644 --- a/test/transformer/create-mock-list-values.test.ts +++ b/test/transformer/create-mock-list-values.test.ts @@ -11,7 +11,7 @@ describe('create-mock-list-values', () => { 2, (index: number) => ({ property: `sss${index}`, - }) + }), ); expect(properties[0].property).toBe('sss0'); diff --git a/test/transformer/descriptor/functions/functionsWithoutTypes.test.ts b/test/transformer/descriptor/functions/functionsWithoutTypes.test.ts index ad02bcf2e..753e867cd 100644 --- a/test/transformer/descriptor/functions/functionsWithoutTypes.test.ts +++ b/test/transformer/descriptor/functions/functionsWithoutTypes.test.ts @@ -172,8 +172,8 @@ describe('functions without types defined', () => { getObjectKeyValues( type({ test: 'hello', - }) - ) + }), + ), ).toEqual({ param: null, }); diff --git a/test/transformer/descriptor/this/this.test.ts b/test/transformer/descriptor/this/this.test.ts index 8343ae275..8e854b71f 100644 --- a/test/transformer/descriptor/this/this.test.ts +++ b/test/transformer/descriptor/this/this.test.ts @@ -159,7 +159,7 @@ describe('This', () => { expect(properties.getThisAfter.typeLiteral.a).toBe(''); expect(properties.getThisBefore.typeLiteral.a).toBe(''); expect( - properties.getThisAfter.getThisBefore.getThisAfter.typeLiteral.a + properties.getThisAfter.getThisBefore.getThisAfter.typeLiteral.a, ).toBe(''); }); }); diff --git a/test/transformer/descriptor/typeQuery/typeQuery.test.ts b/test/transformer/descriptor/typeQuery/typeQuery.test.ts index 608ea52bf..05541d652 100644 --- a/test/transformer/descriptor/typeQuery/typeQuery.test.ts +++ b/test/transformer/descriptor/typeQuery/typeQuery.test.ts @@ -281,7 +281,7 @@ describe('typeQuery', () => { it('should work for function call of a variable with no explicit return type of function', () => { // eslint-disable-next-line @typescript-eslint/explicit-function-return-type,@typescript-eslint/typedef const testExplicitType: (value: boolean) => { prop: string } = ( - value: boolean + value: boolean, ) => { if (value) { return { prop: 'asd' };