diff --git a/package.json b/package.json index 3f94100..431d9a5 100644 --- a/package.json +++ b/package.json @@ -31,10 +31,10 @@ "url": "https://github.com/zondax/zemu/issues" }, "dependencies": { - "@grpc/grpc-js": "^1.9.13", + "@grpc/grpc-js": "^1.9.14", "@grpc/proto-loader": "^0.7.10", - "@ledgerhq/hw-transport-http": "^6.29.1", - "axios": "^1.6.5", + "@ledgerhq/hw-transport-http": "^6.29.2", + "axios": "^1.6.6", "axios-retry": "^4.0.0", "dockerode": "^4.0.2", "elfy": "^1.0.0", @@ -44,27 +44,27 @@ "randomstring": "^1.3.0" }, "devDependencies": { - "@ledgerhq/hw-transport": "^6.30.1", + "@ledgerhq/hw-transport": "^6.30.2", "@types/dockerode": "^3.3.23", "@types/fs-extra": "^11.0.4", "@types/jest": "^29.5.11", - "@types/node": "^20.11.0", + "@types/node": "^20.11.6", "@types/pngjs": "^6.0.4", "@types/randomstring": "^1.1.11", - "@typescript-eslint/eslint-plugin": "^6.18.1", - "@typescript-eslint/parser": "^6.18.1", + "@typescript-eslint/eslint-plugin": "^6.19.1", + "@typescript-eslint/parser": "^6.19.1", "@zondax/ledger-substrate": "^0.41.3", "copyfiles": "^2.4.1", "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", - "eslint-config-standard-with-typescript": "^43.0.0", + "eslint-config-standard-with-typescript": "^43.0.1", "eslint-plugin-import": "^2.29.1", "eslint-plugin-n": "^16.6.2", "eslint-plugin-promise": "^6.1.1", "jest": "^29.7.0", - "prettier": "^3.1.1", + "prettier": "^3.2.4", "rimraf": "^5.0.5", - "ts-jest": "^29.1.1", + "ts-jest": "^29.1.2", "ts-node": "^10.9.2", "typescript": "5.2.2" }, diff --git a/src/Zemu.ts b/src/Zemu.ts index a97ad14..b78dd2e 100644 --- a/src/Zemu.ts +++ b/src/Zemu.ts @@ -44,12 +44,13 @@ import { DEFAULT_WAIT_TIMEOUT, DEFAULT_STAX_START_TEXT, DEFAULT_NANO_START_TEXT, + DEFAULT_PENDING_REVIEW_TEXT, } from "./constants"; import EmuContainer from "./emulator"; import GRPCRouter from "./grpc"; -import { scheduleToNavElement, TouchNavigation } from "./actions"; +import { ClickNavigation, scheduleToNavElement, TouchNavigation } from "./actions"; import { dummyButton, tapContinueButton, TouchElements } from "./buttons"; import { ActionKind, @@ -199,11 +200,33 @@ export default class Zemu { this.startOptions.startText = this.startOptions.model === "stax" ? DEFAULT_STAX_START_TEXT : DEFAULT_NANO_START_TEXT; } - await this.waitForText( - this.startOptions.startText, - this.startOptions.startTimeout, - this.startOptions.caseSensitive, - ); + const start = new Date(); + let found = false; + let reviewPendingFound = false; + const flags = !this.startOptions.caseSensitive ? "i" : ""; + const startRegex = new RegExp(this.startOptions.startText, flags); + const reviewPendingRegex = new RegExp(DEFAULT_PENDING_REVIEW_TEXT, flags); + + while (!found) { + const currentTime = new Date(); + const elapsed = currentTime.getTime() - start.getTime(); + if (elapsed > this.startOptions.startTimeout) { + throw new Error( + `Timeout (${this.startOptions.startTimeout}) waiting for text (${this.startOptions.startText})`, + ); + } + const events = await this.getEvents(); + if (!reviewPendingFound && events.some((event: IEvent) => reviewPendingRegex.test(event.text))) { + const nav = + this.startOptions.model === "stax" + ? new TouchNavigation([ButtonKind.ConfirmYesButton]) + : new ClickNavigation([0]); + await this.navigate("", "", nav.schedule, true, false); + reviewPendingFound = true; + } + found = events.some((event: IEvent) => startRegex.test(event.text)); + await Zemu.sleep(); + } this.log(`Get initial snapshot and events`); this.mainMenuSnapshot = await this.snapshot(); diff --git a/src/constants.ts b/src/constants.ts index 2c1f6ac..c071cb3 100644 --- a/src/constants.ts +++ b/src/constants.ts @@ -20,6 +20,7 @@ export const DEFAULT_EMU_IMG = "zondax/builder-zemu:speculos-e262a0ca9d2b37810d0 export const DEFAULT_MODEL = "nanos"; export const DEFAULT_NANO_START_TEXT = "Ready"; export const DEFAULT_STAX_START_TEXT = "This application enables"; +export const DEFAULT_PENDING_REVIEW_TEXT = "Ledger review" export const DEFAULT_START_DELAY = 20000; export const DEFAULT_KEY_DELAY = 250; export const DEFAULT_HOST = "127.0.0.1"; diff --git a/tsconfig.json b/tsconfig.json index a639435..f2d5b6e 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -8,7 +8,7 @@ "declaration": true, "forceConsistentCasingInFileNames": true, "skipLibCheck": true, - "outDir": "./dist" + "outDir": "./dist", }, - "include": ["src"] + "include": ["src"], } diff --git a/yarn.lock b/yarn.lock index fa8e570..fb18ddf 100644 --- a/yarn.lock +++ b/yarn.lock @@ -484,13 +484,13 @@ __metadata: languageName: node linkType: hard -"@grpc/grpc-js@npm:^1.9.13": - version: 1.9.13 - resolution: "@grpc/grpc-js@npm:1.9.13" +"@grpc/grpc-js@npm:^1.9.14": + version: 1.9.14 + resolution: "@grpc/grpc-js@npm:1.9.14" dependencies: "@grpc/proto-loader": "npm:^0.7.8" "@types/node": "npm:>=12.12.47" - checksum: 5a2e5f88fa684e03bbfd13d5e0dffd1ea4eaacc87220bad76f758e85abb12668c1e44656fb2379f88a446f463932087463c8f0715db4f1b1747354fd4beeaa4f + checksum: 921c5a34b4b290555b41291f514658b89c5035926d77bbbedc2e7d408bd7156450539df4f6b8698cd5a6ee7f20109a444efb9ec200a4302c84dda0c6f223b7c0 languageName: node linkType: hard @@ -901,16 +901,16 @@ __metadata: languageName: node linkType: hard -"@ledgerhq/hw-transport-http@npm:^6.29.1": - version: 6.29.1 - resolution: "@ledgerhq/hw-transport-http@npm:6.29.1" +"@ledgerhq/hw-transport-http@npm:^6.29.2": + version: 6.29.2 + resolution: "@ledgerhq/hw-transport-http@npm:6.29.2" dependencies: "@ledgerhq/errors": "npm:^6.16.1" - "@ledgerhq/hw-transport": "npm:^6.30.1" + "@ledgerhq/hw-transport": "npm:^6.30.2" "@ledgerhq/logs": "npm:^6.12.0" axios: "npm:^0.26.1" ws: "npm:^7.5.2" - checksum: 5fb8a2325fd11eef5e9af1196ee116626eff3502a93e37e5bf29c4c579ea413f48d3e5a831b667844947b8c02300d76cc6a96c5c532c82faf76e6e04e9591c4a + checksum: 5ea30263f538c19f918e64d7542511a34fcde4ac0c62e8e85bb2ffd159602acc02fb8d7d3c7f699b6d19f94a7b96a5337ef717779c7fb3bbb7698f5362500c00 languageName: node linkType: hard @@ -925,15 +925,15 @@ __metadata: languageName: node linkType: hard -"@ledgerhq/hw-transport@npm:^6.30.1": - version: 6.30.1 - resolution: "@ledgerhq/hw-transport@npm:6.30.1" +"@ledgerhq/hw-transport@npm:^6.30.2": + version: 6.30.2 + resolution: "@ledgerhq/hw-transport@npm:6.30.2" dependencies: "@ledgerhq/devices": "npm:^8.2.0" "@ledgerhq/errors": "npm:^6.16.1" "@ledgerhq/logs": "npm:^6.12.0" events: "npm:^3.3.0" - checksum: ef53219330296f81f84fc116debd27218ee97da4477aa68a58a1baae9f1d5e0fa220d293a40c0415f60a977634efa7ebe6c8bce84ff817a898b0aa6a7719a8f1 + checksum: 2c3811e8c2a0d1844cb1ed608f0ded074ee15cd8e69dbdaa380d503c70abd4179b67137ea6dd48c78707818f0bc031f63d27d0d074eb0b885431dab884ecfb64 languageName: node linkType: hard @@ -1299,12 +1299,12 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:^20.11.0": - version: 20.11.0 - resolution: "@types/node@npm:20.11.0" +"@types/node@npm:^20.11.6": + version: 20.11.6 + resolution: "@types/node@npm:20.11.6" dependencies: undici-types: "npm:~5.26.4" - checksum: 560aa850dfccb83326f9cba125459f6c3fb0c71ec78f22c61e4d248f1df78bd25fd6792cef573dfbdc49c882f8e38bb1a82ca87e0e28ff2513629c704c2b02af + checksum: 922bc1e78076bb79fd168902c80321b54487181e3be3386e183fc535d102d91c8902da25148eaec841410fab7fb872fd4a93ec9ac9299cedf0ebcbf16b442aa1 languageName: node linkType: hard @@ -1363,15 +1363,15 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:^6.18.1": - version: 6.18.1 - resolution: "@typescript-eslint/eslint-plugin@npm:6.18.1" +"@typescript-eslint/eslint-plugin@npm:^6.19.1": + version: 6.19.1 + resolution: "@typescript-eslint/eslint-plugin@npm:6.19.1" dependencies: "@eslint-community/regexpp": "npm:^4.5.1" - "@typescript-eslint/scope-manager": "npm:6.18.1" - "@typescript-eslint/type-utils": "npm:6.18.1" - "@typescript-eslint/utils": "npm:6.18.1" - "@typescript-eslint/visitor-keys": "npm:6.18.1" + "@typescript-eslint/scope-manager": "npm:6.19.1" + "@typescript-eslint/type-utils": "npm:6.19.1" + "@typescript-eslint/utils": "npm:6.19.1" + "@typescript-eslint/visitor-keys": "npm:6.19.1" debug: "npm:^4.3.4" graphemer: "npm:^1.4.0" ignore: "npm:^5.2.4" @@ -1384,25 +1384,25 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: fbcfae9b92f35ce10212f44f43f93c43f6eb3e28a571da7ed0d424396916aaf080f16ce91a5bffb9e1b42ca2d6003a3e2ad65131b4ef72ed2f94a4bedb35a735 + checksum: 01f1d643219b51bfad76734c6eb19a480309f0e66877ddc00bca89368e5aee3eb907e366977a8d11094c49e807773f5cfba306c861cd690d70044a7925173823 languageName: node linkType: hard -"@typescript-eslint/parser@npm:^6.18.1": - version: 6.18.1 - resolution: "@typescript-eslint/parser@npm:6.18.1" +"@typescript-eslint/parser@npm:^6.19.1": + version: 6.19.1 + resolution: "@typescript-eslint/parser@npm:6.19.1" dependencies: - "@typescript-eslint/scope-manager": "npm:6.18.1" - "@typescript-eslint/types": "npm:6.18.1" - "@typescript-eslint/typescript-estree": "npm:6.18.1" - "@typescript-eslint/visitor-keys": "npm:6.18.1" + "@typescript-eslint/scope-manager": "npm:6.19.1" + "@typescript-eslint/types": "npm:6.19.1" + "@typescript-eslint/typescript-estree": "npm:6.19.1" + "@typescript-eslint/visitor-keys": "npm:6.19.1" debug: "npm:^4.3.4" peerDependencies: eslint: ^7.0.0 || ^8.0.0 peerDependenciesMeta: typescript: optional: true - checksum: 78cf87c49be224a7fc7c9b1580b015b79e6f6b78d3db60843825b9657e6c5b852566ca7fcb9a51e7b781e910a89a73cdc36dfcd180ccb34febc535ad9b5a0be1 + checksum: 442e860fbc4786fe999205528cc74b31d933008e170a707ddaec0c9e2c374f62c36c8d05d3dd446c9ceb802f2b403806d72c78ffd97867cf1672028b754b6262 languageName: node linkType: hard @@ -1424,13 +1424,13 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:6.18.1": - version: 6.18.1 - resolution: "@typescript-eslint/scope-manager@npm:6.18.1" +"@typescript-eslint/scope-manager@npm:6.19.1": + version: 6.19.1 + resolution: "@typescript-eslint/scope-manager@npm:6.19.1" dependencies: - "@typescript-eslint/types": "npm:6.18.1" - "@typescript-eslint/visitor-keys": "npm:6.18.1" - checksum: 66ef86688a2eb69988a15d6c0176e5e1ec3994ab96526ca525226a1815eef63366e10e3e6a041ceb2cd63d1cced27874d2313045b785418330af68a288e50771 + "@typescript-eslint/types": "npm:6.19.1" + "@typescript-eslint/visitor-keys": "npm:6.19.1" + checksum: a81315b4a2888343d3be781fe8d6b4c229c656d7bf1bd74bc44a89bba96bb6a10a0319d301f24ca91adb898374eaadbd38979e6567ac9085b5d7076163794281 languageName: node linkType: hard @@ -1444,12 +1444,12 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:6.18.1": - version: 6.18.1 - resolution: "@typescript-eslint/type-utils@npm:6.18.1" +"@typescript-eslint/type-utils@npm:6.19.1": + version: 6.19.1 + resolution: "@typescript-eslint/type-utils@npm:6.19.1" dependencies: - "@typescript-eslint/typescript-estree": "npm:6.18.1" - "@typescript-eslint/utils": "npm:6.18.1" + "@typescript-eslint/typescript-estree": "npm:6.19.1" + "@typescript-eslint/utils": "npm:6.19.1" debug: "npm:^4.3.4" ts-api-utils: "npm:^1.0.1" peerDependencies: @@ -1457,14 +1457,14 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 5198752a51649afd960205708c4d765e0170a46a1eb96c97e706890fecb2642933a6377337cf3632f9737915da0201607872a46c9c551d1accf9176b0e025023 + checksum: 78c185c64a8c92d7b5f2132ef4880b974a2e07e9ae7913ad53e327972af540a8a8bf75bc319c8aaa82445615e2680f3c85736ee67aa174a5ba91798fe5068f95 languageName: node linkType: hard -"@typescript-eslint/types@npm:6.18.1": - version: 6.18.1 - resolution: "@typescript-eslint/types@npm:6.18.1" - checksum: 58c1a1bcf2403891a4fcb0d21aac643a6f9d06119423230dad74ef2b95adf94201da7cf48617b0c27b51695225b622e48c739cf4186ef5f99294887d2d536557 +"@typescript-eslint/types@npm:6.19.1": + version: 6.19.1 + resolution: "@typescript-eslint/types@npm:6.19.1" + checksum: b8f75df157ca383e5bd6c07276fbeed6ff775e1354260a1653777749c0d71626fb29be5d36c9570e2c5cfaa5db62deaae20aa4be8a2d7d753782ab66d88e007f languageName: node linkType: hard @@ -1475,12 +1475,12 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:6.18.1": - version: 6.18.1 - resolution: "@typescript-eslint/typescript-estree@npm:6.18.1" +"@typescript-eslint/typescript-estree@npm:6.19.1": + version: 6.19.1 + resolution: "@typescript-eslint/typescript-estree@npm:6.19.1" dependencies: - "@typescript-eslint/types": "npm:6.18.1" - "@typescript-eslint/visitor-keys": "npm:6.18.1" + "@typescript-eslint/types": "npm:6.19.1" + "@typescript-eslint/visitor-keys": "npm:6.19.1" debug: "npm:^4.3.4" globby: "npm:^11.1.0" is-glob: "npm:^4.0.3" @@ -1490,7 +1490,7 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 5bca8f58d3134c5296c7e6cbeef512feb3918cdc88b5b22e656a7978277278e7a86187690e7e3be3f3708feb98c952a6ab4d8bbc197fff3826e3afa8bc1e287e + checksum: dec16f873084e9eeb1a696dff82c42164e75908221f7868d900ad7b7fcec6fc62a9a7dddb8bc17c78c19bf35f07acee81b3778b20b9735ffdaeee732ecb643d3 languageName: node linkType: hard @@ -1512,30 +1512,30 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/utils@npm:6.18.1": - version: 6.18.1 - resolution: "@typescript-eslint/utils@npm:6.18.1" +"@typescript-eslint/utils@npm:6.19.1": + version: 6.19.1 + resolution: "@typescript-eslint/utils@npm:6.19.1" dependencies: "@eslint-community/eslint-utils": "npm:^4.4.0" "@types/json-schema": "npm:^7.0.12" "@types/semver": "npm:^7.5.0" - "@typescript-eslint/scope-manager": "npm:6.18.1" - "@typescript-eslint/types": "npm:6.18.1" - "@typescript-eslint/typescript-estree": "npm:6.18.1" + "@typescript-eslint/scope-manager": "npm:6.19.1" + "@typescript-eslint/types": "npm:6.19.1" + "@typescript-eslint/typescript-estree": "npm:6.19.1" semver: "npm:^7.5.4" peerDependencies: eslint: ^7.0.0 || ^8.0.0 - checksum: b9dcb2fa7cc8c46254c22fee190032320a5dd8ce282fb01e99cb35da6c00e33b157f4285b062d841942e9aad1d7ce1a16aaa46dd05ca7d81de706aedbbfff396 + checksum: 5fa58a32722e9915bfe8433fda2f46be894352549e8406acc4e29a04a8ddb0ea5988fddda2a3145f8952129a267cb51b666206b30489d2ff36b7911f540f1d57 languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:6.18.1": - version: 6.18.1 - resolution: "@typescript-eslint/visitor-keys@npm:6.18.1" +"@typescript-eslint/visitor-keys@npm:6.19.1": + version: 6.19.1 + resolution: "@typescript-eslint/visitor-keys@npm:6.19.1" dependencies: - "@typescript-eslint/types": "npm:6.18.1" + "@typescript-eslint/types": "npm:6.19.1" eslint-visitor-keys: "npm:^3.4.1" - checksum: f3dacdd1db7347908ac207968da4fa72efb31e38a6dde652651633c5283f054832045f2ad00b4ca7478e7f2e09fe4ae6e3a32b76580c036b9e5c7b8dd55af9f3 + checksum: b0370a9bc6fd8d243aa8b7ccd1657ec2fbd25ceb7b067aac64322f03aa0f64b97444b13b0946f52a53d6bc5edd43e0b447f72160be4a5b72e073c1d3679b6b4c languageName: node linkType: hard @@ -1577,27 +1577,27 @@ __metadata: version: 0.0.0-use.local resolution: "@zondax/zemu@workspace:." dependencies: - "@grpc/grpc-js": "npm:^1.9.13" + "@grpc/grpc-js": "npm:^1.9.14" "@grpc/proto-loader": "npm:^0.7.10" - "@ledgerhq/hw-transport": "npm:^6.30.1" - "@ledgerhq/hw-transport-http": "npm:^6.29.1" + "@ledgerhq/hw-transport": "npm:^6.30.2" + "@ledgerhq/hw-transport-http": "npm:^6.29.2" "@types/dockerode": "npm:^3.3.23" "@types/fs-extra": "npm:^11.0.4" "@types/jest": "npm:^29.5.11" - "@types/node": "npm:^20.11.0" + "@types/node": "npm:^20.11.6" "@types/pngjs": "npm:^6.0.4" "@types/randomstring": "npm:^1.1.11" - "@typescript-eslint/eslint-plugin": "npm:^6.18.1" - "@typescript-eslint/parser": "npm:^6.18.1" + "@typescript-eslint/eslint-plugin": "npm:^6.19.1" + "@typescript-eslint/parser": "npm:^6.19.1" "@zondax/ledger-substrate": "npm:^0.41.3" - axios: "npm:^1.6.5" + axios: "npm:^1.6.6" axios-retry: "npm:^4.0.0" copyfiles: "npm:^2.4.1" dockerode: "npm:^4.0.2" elfy: "npm:^1.0.0" eslint: "npm:^8.56.0" eslint-config-prettier: "npm:^9.1.0" - eslint-config-standard-with-typescript: "npm:^43.0.0" + eslint-config-standard-with-typescript: "npm:^43.0.1" eslint-plugin-import: "npm:^2.29.1" eslint-plugin-n: "npm:^16.6.2" eslint-plugin-promise: "npm:^6.1.1" @@ -1605,10 +1605,10 @@ __metadata: get-port: "npm:^5.1.1" jest: "npm:^29.7.0" pngjs: "npm:^7.0.0" - prettier: "npm:^3.1.1" + prettier: "npm:^3.2.4" randomstring: "npm:^1.3.0" rimraf: "npm:^5.0.5" - ts-jest: "npm:^29.1.1" + ts-jest: "npm:^29.1.2" ts-node: "npm:^10.9.2" typescript: "npm:5.2.2" languageName: unknown @@ -1890,14 +1890,14 @@ __metadata: languageName: node linkType: hard -"axios@npm:^1.6.5": - version: 1.6.5 - resolution: "axios@npm:1.6.5" +"axios@npm:^1.6.6": + version: 1.6.6 + resolution: "axios@npm:1.6.6" dependencies: follow-redirects: "npm:^1.15.4" form-data: "npm:^4.0.0" proxy-from-env: "npm:^1.1.0" - checksum: aeb9acf87590d8aa67946072ced38e01ca71f5dfe043782c0ccea667e5dd5c45830c08afac9be3d7c894f09684b8ab2a458f497d197b73621233bcf202d9d468 + checksum: 974f54cfade94fd4c0191309122a112c8d233089cecb0070cd8e0904e9bd9c364ac3a6fd0f981c978508077249788950427c565f54b7b2110e5c3426006ff343 languageName: node linkType: hard @@ -2909,9 +2909,9 @@ __metadata: languageName: node linkType: hard -"eslint-config-standard-with-typescript@npm:^43.0.0": - version: 43.0.0 - resolution: "eslint-config-standard-with-typescript@npm:43.0.0" +"eslint-config-standard-with-typescript@npm:^43.0.1": + version: 43.0.1 + resolution: "eslint-config-standard-with-typescript@npm:43.0.1" dependencies: "@typescript-eslint/parser": "npm:^6.4.0" eslint-config-standard: "npm:17.1.0" @@ -2922,7 +2922,7 @@ __metadata: eslint-plugin-n: "^15.0.0 || ^16.0.0 " eslint-plugin-promise: ^6.0.0 typescript: "*" - checksum: e184a7f4a5d753bbc2fb45100e4f1761c7b9fc8dd18c83fd512cf4e811a9dd5a32f6211e612efa746e70e0f5f5637bbd2de4b7e72f9794b71c7f13beba578105 + checksum: e01d9fb0ee5b3a435417926f9356a572f9ba0393a2db4892421c383830aa29308fbe52ecc8395a2e5fc005acfba4465f470d23fcdf4f9c2060238e9907da0d28 languageName: node linkType: hard @@ -5464,12 +5464,12 @@ __metadata: languageName: node linkType: hard -"prettier@npm:^3.1.1": - version: 3.1.1 - resolution: "prettier@npm:3.1.1" +"prettier@npm:^3.2.4": + version: 3.2.4 + resolution: "prettier@npm:3.2.4" bin: prettier: bin/prettier.cjs - checksum: facc944ba20e194ff4db765e830ffbcb642803381f0d2033ed397e79904fa4ccc877dc25ad68f42d36985c01d051c990ca1b905fb83d2d7d65fe69e4386fa1a3 + checksum: 88dfeb78ac6096522c9a5b81f1413d875f568420d9bb6a5e5103527912519b993f2bcdcac311fcff5718d5869671d44e4f85827d3626f3a6ce32b9abc65d88e0 languageName: node linkType: hard @@ -6298,9 +6298,9 @@ __metadata: languageName: node linkType: hard -"ts-jest@npm:^29.1.1": - version: 29.1.1 - resolution: "ts-jest@npm:29.1.1" +"ts-jest@npm:^29.1.2": + version: 29.1.2 + resolution: "ts-jest@npm:29.1.2" dependencies: bs-logger: "npm:0.x" fast-json-stable-stringify: "npm:2.x" @@ -6327,7 +6327,7 @@ __metadata: optional: true bin: ts-jest: cli.js - checksum: 6c45e0aeeff9cc54a64f931c43e1b99f4a1f0ddf44786cc128e7e55603ab7473c8c8f62fd83bd7e51bfe83e3c0c683132152efaeb844516bf7c923f4e92d157d + checksum: c2f51f0241f89d127d41392decbcb83b5dfd5e57ab9d50220aa7b7e2f9b3f3b07ccdbba33311284df1c41941879e4ddfad44b15a9d0da4b74bd1b98702b729df languageName: node linkType: hard