From 62adaab941b80eb376991088be939262553f1427 Mon Sep 17 00:00:00 2001 From: Lizaveta Miasayedava Date: Mon, 8 Sep 2025 16:32:31 +0100 Subject: [PATCH 1/4] feat: knip setup + cleanup --- knip.json | 5 + package.json | 11 +- pnpm-lock.yaml | 349 ++++++++++++++++++- src/core/EVM/EVMStepExecutor.ts | 2 +- src/core/EVM/checkAllowance.ts | 4 +- src/core/EVM/checkPermitSupport.ts | 2 +- src/core/EVM/permits/getNativePermit.ts | 4 +- src/core/EVM/permits/signPermit2Message.ts | 2 +- src/core/Solana/connection.ts | 2 +- src/core/Solana/getSNSAddress.ts | 1 - src/core/Solana/sendAndConfirmTransaction.ts | 2 +- src/core/StatusManager.ts | 2 +- src/core/Sui/suiClient.ts | 11 +- src/core/UTXO/UTXOStepExecutor.ts | 2 +- src/core/execution.unit.mock.ts | 2 +- src/core/executionState.ts | 6 +- src/core/provider.ts | 12 - src/core/rpc.ts | 5 - src/createConfig.ts | 2 +- src/utils/errors.ts | 0 src/utils/getTransactionMessage.ts | 30 -- src/utils/withDedupe.ts | 4 +- 22 files changed, 363 insertions(+), 97 deletions(-) create mode 100644 knip.json delete mode 100644 src/core/provider.ts delete mode 100644 src/utils/errors.ts diff --git a/knip.json b/knip.json new file mode 100644 index 00000000..7232990c --- /dev/null +++ b/knip.json @@ -0,0 +1,5 @@ +{ + "ignore": ["examples/**", "scripts/**", "src/core/EVM/permits/**", "src/errors/constants.ts"], + "ignoreDependencies": ["bech32", "@types/fs-extra", "fs-extra", "@types/ws"] +} + \ No newline at end of file diff --git a/package.json b/package.json index 778764b2..5b0f8767 100644 --- a/package.json +++ b/package.json @@ -86,11 +86,15 @@ "watch": "tsc -w -p ./tsconfig.json", "prepare": "husky", "link:bigmi": "pnpm link @bigmi/core", - "unlink:bigmi": "pnpm unlink @bigmi/core" + "unlink:bigmi": "pnpm unlink @bigmi/core", + "knip:all": "knip", + "knip:check": "knip --dependencies --exports --files --no-config-hints --exclude binaries", + "knip:write": "pnpm knip:check --fix" }, "lint-staged": { "src/**/*.{ts,tsx}": [ - "pnpm check:write" + "pnpm check:write", + "bash -c 'pnpm knip:check'" ] }, "dependencies": { @@ -113,16 +117,17 @@ "@commitlint/config-conventional": "^19.8.1", "@lifi/data-types": "^6.35.1", "@types/fs-extra": "^11.0.4", + "@types/node": "^24.3.1", "@types/ws": "^8.18.1", "@vitest/coverage-v8": "^3.2.4", "fs-extra": "^11.3.1", "husky": "^9.1.7", + "knip": "^5.63.1", "lint-staged": "^16.1.6", "madge": "^8.0.0", "msw": "^2.11.1", "pinst": "^3.0.0", "standard-version": "^9.5.0", - "ts-node": "^10.9.2", "typescript": "^5.9.2", "vitest": "^3.2.4" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 034b16e6..e51ce5ef 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -16,7 +16,7 @@ importers: version: 1.2.0 '@lifi/types': specifier: ^17.36.0 - version: 17.36.0(bufferutil@4.0.9)(typescript@5.9.2)(utf-8-validate@5.0.10) + version: 17.36.0(bufferutil@4.0.9)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76) '@mysten/sui': specifier: ^1.37.6 version: 1.37.6(typescript@5.9.2) @@ -27,10 +27,10 @@ importers: specifier: ^1.9.7 version: 1.9.7 '@solana/wallet-adapter-base': - specifier: ^0.9.27 + specifier: ^0.9.0 version: 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.0.9)(typescript@5.9.2)(utf-8-validate@5.0.10)) '@solana/web3.js': - specifier: ^1.98.4 + specifier: ^1.98.0 version: 1.98.4(bufferutil@4.0.9)(typescript@5.9.2)(utf-8-validate@5.0.10) bech32: specifier: ^2.0.0 @@ -42,8 +42,8 @@ importers: specifier: ^6.0.0 version: 6.0.0 viem: - specifier: ^2.37.4 - version: 2.37.4(bufferutil@4.0.9)(typescript@5.9.2)(utf-8-validate@5.0.10) + specifier: ^2.21.0 + version: 2.37.4(bufferutil@4.0.9)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76) devDependencies: '@biomejs/biome': specifier: ^2.2.3 @@ -56,10 +56,13 @@ importers: version: 19.8.1 '@lifi/data-types': specifier: ^6.35.1 - version: 6.35.1(bufferutil@4.0.9)(typescript@5.9.2)(utf-8-validate@5.0.10) + version: 6.35.1(bufferutil@4.0.9)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76) '@types/fs-extra': specifier: ^11.0.4 version: 11.0.4 + '@types/node': + specifier: ^24.3.1 + version: 24.3.1 '@types/ws': specifier: ^8.18.1 version: 8.18.1 @@ -72,6 +75,9 @@ importers: husky: specifier: ^9.1.7 version: 9.1.7 + knip: + specifier: ^5.63.1 + version: 5.63.1(@types/node@24.3.1)(typescript@5.9.2) lint-staged: specifier: ^16.1.6 version: 16.1.6 @@ -293,6 +299,15 @@ packages: resolution: {integrity: sha512-Y6+WUMsTFWE5jb20IFP4YGa5IrGY/+a/FbOSjDF/wz9gepU2hwCYSXRHP/vPwBvwcY3SVMASt4yXxbXNXigmZQ==} engines: {node: '>=18'} + '@emnapi/core@1.5.0': + resolution: {integrity: sha512-sbP8GzB1WDzacS8fgNPpHlp6C9VZe+SJP3F90W9rLemaQj2PzIuTEl1qDOYQf58YIpyjViI24y9aPWCjEzY2cg==} + + '@emnapi/runtime@1.5.0': + resolution: {integrity: sha512-97/BJ3iXHww3djw6hYIfErCZFee7qCtrneuLa20UXFCOTCfBM2cvQHjWJ2EG0s0MtdNwInarqCTz35i4wWXHsQ==} + + '@emnapi/wasi-threads@1.1.0': + resolution: {integrity: sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==} + '@esbuild/aix-ppc64@0.25.9': resolution: {integrity: sha512-OaGtL73Jck6pBKjNIe24BnFE6agGl+6KxDtTfHhy1HmhthfKouEcOhqpSL64K4/0WCtbKFLOdzD/44cJ4k9opA==} engines: {node: '>=18'} @@ -555,6 +570,9 @@ packages: '@mysten/wallet-standard@0.16.14': resolution: {integrity: sha512-LJoDQUD+217RdRbkQLiKYYjkNtN6GhGpIN/X3wboUf3w5pdvBc4k/vS1Yi6GFv5xbgl/ge7wzC4Ac+h3orY2oQ==} + '@napi-rs/wasm-runtime@1.0.3': + resolution: {integrity: sha512-rZxtMsLwjdXkMUGC3WwsPwLNVqVqnTJT6MNIB6e+5fhMcSCPP0AOsNWuMQ5mdCq6HNjs/ZeWAEchpqeprqBD2Q==} + '@noble/ciphers@1.3.0': resolution: {integrity: sha512-2I0gnIVPtfnMw9ee9h1dJG7tp81+8Ob3OJb3Mv37rx5L40/b0i7djjCVvGOVqc9AEIQyvyu1i6ypKdFw8R8gQw==} engines: {node: ^14.21.3 || >=16} @@ -592,6 +610,101 @@ packages: '@open-draft/until@2.1.0': resolution: {integrity: sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg==} + '@oxc-resolver/binding-android-arm-eabi@11.7.1': + resolution: {integrity: sha512-K0gF1mD6CYMAuX0dMWe6XW1Js00xCOBh/+ZAAJReQMa4+jmAk3bIeitsc8VnDthDbzOOKp3riizP3o/tBvNpgw==} + cpu: [arm] + os: [android] + + '@oxc-resolver/binding-android-arm64@11.7.1': + resolution: {integrity: sha512-O1XEX/KxKX7baPgYHahP+3vT+9f4gasPA0px4DYrjy1mN9wWQqJPLLo/PO3cBw3qI3qRaaiAGT3eJSs8rKu8mA==} + cpu: [arm64] + os: [android] + + '@oxc-resolver/binding-darwin-arm64@11.7.1': + resolution: {integrity: sha512-OSCJlXUTvGoal5dTMkdacmXL2R3YQ+97R7NMSdjkUVnh3TxvGBhoF9OebqY3PR7w2gQaY5LX+Ju+dYeHGBCGgw==} + cpu: [arm64] + os: [darwin] + + '@oxc-resolver/binding-darwin-x64@11.7.1': + resolution: {integrity: sha512-d0jKwK4r4Yw19xSijyt7wHZT77xh3v4GnJSbvEiPavLms27zqc//BqYJUSp9XgOTOkyFQ+oHno47JNiLTnsSnQ==} + cpu: [x64] + os: [darwin] + + '@oxc-resolver/binding-freebsd-x64@11.7.1': + resolution: {integrity: sha512-oNch5OpAnxFjukDZ5GJkuEDEPPYDirm10q2cJcbK0SETVM0rY+ou1cLqJAJC9R/dULbqGKC9fv2kuyuw9M6Fig==} + cpu: [x64] + os: [freebsd] + + '@oxc-resolver/binding-linux-arm-gnueabihf@11.7.1': + resolution: {integrity: sha512-ldUPUfV/0L56fTSfzUo86Bmgov8SAfau8Q4Y3WiAiQi6WHLA239abTZZViLZuXvrC+4RQF/kD0ySqKfBjW/X9g==} + cpu: [arm] + os: [linux] + + '@oxc-resolver/binding-linux-arm-musleabihf@11.7.1': + resolution: {integrity: sha512-M+ORXlPV0dXCHleqOYLjKHwxn9kDmcJqnJ7zGZ07vggaxOCnpM6zqyGS92YTTyeYre2AqO3Xrx1D4rnUeozI8g==} + cpu: [arm] + os: [linux] + + '@oxc-resolver/binding-linux-arm64-gnu@11.7.1': + resolution: {integrity: sha512-ukHZp9Vm07AlxqdOLFf8Bj4inzpt+ISbbODvwwHxX32GfcMLWYYJGAYWc13IGhWoElvWnI7D1M9ifDGyTNRGzg==} + cpu: [arm64] + os: [linux] + + '@oxc-resolver/binding-linux-arm64-musl@11.7.1': + resolution: {integrity: sha512-atkZ1OIt6t90kjQz1iqq6cN3OpfPG5zUJlO64Vd1ieYeqHRkOFeRgnWEobTePUHi34NlYr7mNZqIaAg7gjPUFg==} + cpu: [arm64] + os: [linux] + + '@oxc-resolver/binding-linux-ppc64-gnu@11.7.1': + resolution: {integrity: sha512-HGgV4z3JwVF4Qvg2a1GhDnqn8mKLihy5Gp4rMfqNIAlERPSyIxo8oPQIL1XQKLYyyrkEEO99uwM+4cQGwhtbpQ==} + cpu: [ppc64] + os: [linux] + + '@oxc-resolver/binding-linux-riscv64-gnu@11.7.1': + resolution: {integrity: sha512-+vCO7iOR1s6VGefV02R2a702IASNWhSNm/MrR8RcWjKChmU0G+d1iC0oToUrGC4ovAEfstx2/O8EkROnfcLgrA==} + cpu: [riscv64] + os: [linux] + + '@oxc-resolver/binding-linux-riscv64-musl@11.7.1': + resolution: {integrity: sha512-3folNmS5gYNFy/9HYzLcdeThqAGvDJU0gQKrhHn7RPWQa58yZ0ZPpBMk6KRSSO61+wkchkL+0sdcLsoe5wZW8g==} + cpu: [riscv64] + os: [linux] + + '@oxc-resolver/binding-linux-s390x-gnu@11.7.1': + resolution: {integrity: sha512-Ceo4z6g8vqPUKADROFL0b7MoyXlUdOBYCxTDu/fhd/5I3Ydk2S6bxkjJdzpBdlu+h2Z+eS9lTHFvkwkaORMPzw==} + cpu: [s390x] + os: [linux] + + '@oxc-resolver/binding-linux-x64-gnu@11.7.1': + resolution: {integrity: sha512-QyFW5e43imQLxiBpCImhOiP4hY9coWGjroEm8elDqGNNaA7vXooaMQS2N3avMQawSaKhsb/3RemxaZ852XG38Q==} + cpu: [x64] + os: [linux] + + '@oxc-resolver/binding-linux-x64-musl@11.7.1': + resolution: {integrity: sha512-JhuCqCqktqQyQVc37V+eDiP3buCIuyCLpb92tUEyAP8nY3dy2b/ojMrH1ZNnJUlfY/67AqoZPL6nQGAB2WA3Sg==} + cpu: [x64] + os: [linux] + + '@oxc-resolver/binding-wasm32-wasi@11.7.1': + resolution: {integrity: sha512-sMXm5Z2rfBwkCUespZBJCPhCVbgh/fpYQ23BQs0PmnvWoXrGQHWvnvg1p/GYmleN+nwe8strBjfutirZFiC5lA==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + + '@oxc-resolver/binding-win32-arm64-msvc@11.7.1': + resolution: {integrity: sha512-C/Sam1RJi/h/F618IB/H3pCOhTf+2ArdTqrqQolN8ARV35iWTSezgy6qPjQGj7aWn/9M5vgtCInfS2SwnkBJ4w==} + cpu: [arm64] + os: [win32] + + '@oxc-resolver/binding-win32-ia32-msvc@11.7.1': + resolution: {integrity: sha512-iNRgJxOkfmxeq9DiF9S4jtw3vq5kkAm6dsP4RPxoAO/WsShPPHOSlTpOqyB8bSj5Bt9DBLRoI43XcNfDKgM+jA==} + cpu: [ia32] + os: [win32] + + '@oxc-resolver/binding-win32-x64-msvc@11.7.1': + resolution: {integrity: sha512-MXS81efp8pu2MkjEPu+nDhgoyHwdWUygXYSzIh3gV2A8/qF0PVEzH+EpmKR7Pl8dEZIaG1YXA+CO6bmNZT8oSw==} + cpu: [x64] + os: [win32] + '@pkgjs/parseargs@0.11.0': resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} @@ -777,6 +890,9 @@ packages: '@tsconfig/node16@1.0.4': resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} + '@tybys/wasm-util@0.10.0': + resolution: {integrity: sha512-VyyPYFlOMNylG45GoAe0xDoLwWuowvf92F9kySqzYh8vmYm7D2u4iUJKa1tOUpS70Ku13ASrOkS4ScXFsTaCNQ==} + '@types/chai@5.2.2': resolution: {integrity: sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==} @@ -1533,6 +1649,9 @@ packages: fastq@1.19.1: resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} + fd-package-json@2.0.0: + resolution: {integrity: sha512-jKmm9YtsNXN789RS/0mSzOC1NUq9mkVd65vbSSVsKdjGvYXBuE4oWe2QOEoFeRmJg+lPuZxpmrfFclNhoRMneQ==} + fdir@6.5.0: resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} engines: {node: '>=12.0.0'} @@ -1579,6 +1698,11 @@ packages: resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} engines: {node: '>=14'} + formatly@0.3.0: + resolution: {integrity: sha512-9XNj/o4wrRFyhSMJOvsuyMwy8aUfBaZ1VrqHVfohyXf0Sw0e+yfKG+xZaY3arGCOMdwFsqObtzVOc1gU9KiT9w==} + engines: {node: '>=18.3.0'} + hasBin: true + fs-extra@11.3.1: resolution: {integrity: sha512-eXvGGwZ5CL17ZSwHWd3bbgk7UUpF6IFHtP57NYYakPvHOs8GDgDe5KJI36jIJzDkJ6eJjuzRA8eBQb6SkKue0g==} engines: {node: '>=14.14'} @@ -1895,6 +2019,14 @@ packages: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} + knip@5.63.1: + resolution: {integrity: sha512-wSznedUAzcU4o9e0O2WPqDnP7Jttu8cesq/R23eregRY8QYQ9NLJ3aGt9fadJfRzPBoU4tRyutwVQu6chhGDlA==} + engines: {node: '>=18.18.0'} + hasBin: true + peerDependencies: + '@types/node': '>=18' + typescript: '>=5.0.4' + lilconfig@3.1.3: resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} engines: {node: '>=14'} @@ -2103,6 +2235,11 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true + napi-postinstall@0.3.3: + resolution: {integrity: sha512-uTp172LLXSxuSYHv/kou+f6KW3SMppU9ivthaVTXian9sOt3XM/zHYHpRZiLgQoxeWfYUnslNWQHF1+G71xcow==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + hasBin: true + neo-async@2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} @@ -2156,6 +2293,9 @@ packages: typescript: optional: true + oxc-resolver@11.7.1: + resolution: {integrity: sha512-PzbEnD6NKTCFVKkUZtmQcX69ajdfM33RqI5kyb8mH9EdIqEUS00cWSXN0lsgYrtdTMzwo0EKKoH7hnGg6EDraQ==} + p-limit@1.3.0: resolution: {integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==} engines: {node: '>=4'} @@ -2477,6 +2617,10 @@ packages: resolution: {integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==} engines: {node: '>=18'} + smol-toml@1.4.2: + resolution: {integrity: sha512-rInDH6lCNiEyn3+hH8KVGFdbjc099j47+OSgbMrfDYX1CmXLfdKd7qi6IfcWj2wFxvSVkuI46M+wPGYfEOEj6g==} + engines: {node: '>= 18'} + source-map-js@1.2.1: resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} @@ -2584,6 +2728,10 @@ packages: resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} engines: {node: '>=0.10.0'} + strip-json-comments@5.0.2: + resolution: {integrity: sha512-4X2FR3UwhNUE9G49aIsJW5hRRR3GXGTBTZRMfv568O60ojM8HcWjV/VxAxCDW3SUND33O6ZY66ZuRcdkj73q2g==} + engines: {node: '>=14.16'} + strip-literal@3.0.0: resolution: {integrity: sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==} @@ -2878,6 +3026,10 @@ packages: jsdom: optional: true + walk-up-path@4.0.0: + resolution: {integrity: sha512-3hu+tD8YzSLGuFYtPRb48vdhKMi0KQV5sn+uWr8+7dMEq/2G/dtLrdDinkLjqq5TIbIBjYJ4Ax/n3YiaW7QM8A==} + engines: {node: 20 || >=22} + walkdir@0.4.1: resolution: {integrity: sha512-3eBwRyEln6E1MSzcxcVpQIhRG8Q1jLvEqRmCZqS3dsfXEDR/AhOF4d+jHg1qvDCpYaVRZjENPQyrVxAkQqxPgQ==} engines: {node: '>=6.0.0'} @@ -2995,6 +3147,15 @@ packages: resolution: {integrity: sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==} engines: {node: '>=18'} + zod-validation-error@3.5.3: + resolution: {integrity: sha512-OT5Y8lbUadqVZCsnyFaTQ4/O2mys4tj7PqhdbBCp7McPwvIEKfPtdA6QfPeFQK2/Rz5LgwmAXRJTugBNBi0btw==} + engines: {node: '>=18.0.0'} + peerDependencies: + zod: ^3.25.0 || ^4.0.0 + + zod@3.25.76: + resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==} + zustand@5.0.8: resolution: {integrity: sha512-gyPKpIaxY9XcO2vSMrLbiER7QMAMGOQZVRdJ6Zi782jkbzZygq5GI9nG8g+sMgitRtndwaBSl7uiqC49o1SSiw==} engines: {node: '>=12.20.0'} @@ -3236,6 +3397,22 @@ snapshots: gonzales-pe: 4.3.0 node-source-walk: 7.0.1 + '@emnapi/core@1.5.0': + dependencies: + '@emnapi/wasi-threads': 1.1.0 + tslib: 2.8.1 + optional: true + + '@emnapi/runtime@1.5.0': + dependencies: + tslib: 2.8.1 + optional: true + + '@emnapi/wasi-threads@1.1.0': + dependencies: + tslib: 2.8.1 + optional: true + '@esbuild/aix-ppc64@0.25.9': optional: true @@ -3389,18 +3566,18 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.5 - '@lifi/data-types@6.35.1(bufferutil@4.0.9)(typescript@5.9.2)(utf-8-validate@5.0.10)': + '@lifi/data-types@6.35.1(bufferutil@4.0.9)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76)': dependencies: - '@lifi/types': 17.36.0(bufferutil@4.0.9)(typescript@5.9.2)(utf-8-validate@5.0.10) + '@lifi/types': 17.36.0(bufferutil@4.0.9)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76) transitivePeerDependencies: - bufferutil - typescript - utf-8-validate - zod - '@lifi/types@17.36.0(bufferutil@4.0.9)(typescript@5.9.2)(utf-8-validate@5.0.10)': + '@lifi/types@17.36.0(bufferutil@4.0.9)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76)': dependencies: - viem: 2.37.4(bufferutil@4.0.9)(typescript@5.9.2)(utf-8-validate@5.0.10) + viem: 2.37.4(bufferutil@4.0.9)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76) transitivePeerDependencies: - bufferutil - typescript @@ -3453,6 +3630,13 @@ snapshots: - '@gql.tada/vue-support' - typescript + '@napi-rs/wasm-runtime@1.0.3': + dependencies: + '@emnapi/core': 1.5.0 + '@emnapi/runtime': 1.5.0 + '@tybys/wasm-util': 0.10.0 + optional: true + '@noble/ciphers@1.3.0': {} '@noble/curves@1.9.1': @@ -3486,6 +3670,65 @@ snapshots: '@open-draft/until@2.1.0': {} + '@oxc-resolver/binding-android-arm-eabi@11.7.1': + optional: true + + '@oxc-resolver/binding-android-arm64@11.7.1': + optional: true + + '@oxc-resolver/binding-darwin-arm64@11.7.1': + optional: true + + '@oxc-resolver/binding-darwin-x64@11.7.1': + optional: true + + '@oxc-resolver/binding-freebsd-x64@11.7.1': + optional: true + + '@oxc-resolver/binding-linux-arm-gnueabihf@11.7.1': + optional: true + + '@oxc-resolver/binding-linux-arm-musleabihf@11.7.1': + optional: true + + '@oxc-resolver/binding-linux-arm64-gnu@11.7.1': + optional: true + + '@oxc-resolver/binding-linux-arm64-musl@11.7.1': + optional: true + + '@oxc-resolver/binding-linux-ppc64-gnu@11.7.1': + optional: true + + '@oxc-resolver/binding-linux-riscv64-gnu@11.7.1': + optional: true + + '@oxc-resolver/binding-linux-riscv64-musl@11.7.1': + optional: true + + '@oxc-resolver/binding-linux-s390x-gnu@11.7.1': + optional: true + + '@oxc-resolver/binding-linux-x64-gnu@11.7.1': + optional: true + + '@oxc-resolver/binding-linux-x64-musl@11.7.1': + optional: true + + '@oxc-resolver/binding-wasm32-wasi@11.7.1': + dependencies: + '@napi-rs/wasm-runtime': 1.0.3 + optional: true + + '@oxc-resolver/binding-win32-arm64-msvc@11.7.1': + optional: true + + '@oxc-resolver/binding-win32-ia32-msvc@11.7.1': + optional: true + + '@oxc-resolver/binding-win32-x64-msvc@11.7.1': + optional: true + '@pkgjs/parseargs@0.11.0': optional: true @@ -3649,13 +3892,18 @@ snapshots: '@tsconfig/node16@1.0.4': {} + '@tybys/wasm-util@0.10.0': + dependencies: + tslib: 2.8.1 + optional: true + '@types/chai@5.2.2': dependencies: '@types/deep-eql': 4.0.2 '@types/connect@3.4.38': dependencies: - '@types/node': 12.20.55 + '@types/node': 24.3.1 '@types/conventional-commits-parser@5.0.1': dependencies: @@ -3692,7 +3940,7 @@ snapshots: '@types/ws@7.4.7': dependencies: - '@types/node': 12.20.55 + '@types/node': 24.3.1 '@types/ws@8.18.1': dependencies: @@ -3860,9 +4108,10 @@ snapshots: jsonparse: 1.3.1 through: 2.3.8 - abitype@1.1.0(typescript@5.9.2): + abitype@1.1.0(typescript@5.9.2)(zod@3.25.76): optionalDependencies: typescript: 5.9.2 + zod: 3.25.76 acorn-walk@8.3.4: dependencies: @@ -4491,6 +4740,10 @@ snapshots: dependencies: reusify: 1.1.0 + fd-package-json@2.0.0: + dependencies: + walk-up-path: 4.0.0 + fdir@6.5.0(picomatch@4.0.3): optionalDependencies: picomatch: 4.0.3 @@ -4546,6 +4799,10 @@ snapshots: cross-spawn: 7.0.6 signal-exit: 4.1.0 + formatly@0.3.0: + dependencies: + fd-package-json: 2.0.0 + fs-extra@11.3.1: dependencies: graceful-fs: 4.2.11 @@ -4843,6 +5100,24 @@ snapshots: kind-of@6.0.3: {} + knip@5.63.1(@types/node@24.3.1)(typescript@5.9.2): + dependencies: + '@nodelib/fs.walk': 1.2.8 + '@types/node': 24.3.1 + fast-glob: 3.3.3 + formatly: 0.3.0 + jiti: 2.5.1 + js-yaml: 4.1.0 + minimist: 1.2.8 + oxc-resolver: 11.7.1 + picocolors: 1.1.1 + picomatch: 4.0.3 + smol-toml: 1.4.2 + strip-json-comments: 5.0.2 + typescript: 5.9.2 + zod: 3.25.76 + zod-validation-error: 3.5.3(zod@3.25.76) + lilconfig@3.1.3: {} lines-and-columns@1.2.4: {} @@ -5076,6 +5351,8 @@ snapshots: nanoid@3.3.11: {} + napi-postinstall@0.3.3: {} + neo-async@2.6.2: {} node-fetch@2.7.0: @@ -5129,7 +5406,7 @@ snapshots: outvariant@1.4.3: {} - ox@0.9.3(typescript@5.9.2): + ox@0.9.3(typescript@5.9.2)(zod@3.25.76): dependencies: '@adraffy/ens-normalize': 1.11.0 '@noble/ciphers': 1.3.0 @@ -5137,13 +5414,37 @@ snapshots: '@noble/hashes': 1.8.0 '@scure/bip32': 1.7.0 '@scure/bip39': 1.6.0 - abitype: 1.1.0(typescript@5.9.2) + abitype: 1.1.0(typescript@5.9.2)(zod@3.25.76) eventemitter3: 5.0.1 optionalDependencies: typescript: 5.9.2 transitivePeerDependencies: - zod + oxc-resolver@11.7.1: + dependencies: + napi-postinstall: 0.3.3 + optionalDependencies: + '@oxc-resolver/binding-android-arm-eabi': 11.7.1 + '@oxc-resolver/binding-android-arm64': 11.7.1 + '@oxc-resolver/binding-darwin-arm64': 11.7.1 + '@oxc-resolver/binding-darwin-x64': 11.7.1 + '@oxc-resolver/binding-freebsd-x64': 11.7.1 + '@oxc-resolver/binding-linux-arm-gnueabihf': 11.7.1 + '@oxc-resolver/binding-linux-arm-musleabihf': 11.7.1 + '@oxc-resolver/binding-linux-arm64-gnu': 11.7.1 + '@oxc-resolver/binding-linux-arm64-musl': 11.7.1 + '@oxc-resolver/binding-linux-ppc64-gnu': 11.7.1 + '@oxc-resolver/binding-linux-riscv64-gnu': 11.7.1 + '@oxc-resolver/binding-linux-riscv64-musl': 11.7.1 + '@oxc-resolver/binding-linux-s390x-gnu': 11.7.1 + '@oxc-resolver/binding-linux-x64-gnu': 11.7.1 + '@oxc-resolver/binding-linux-x64-musl': 11.7.1 + '@oxc-resolver/binding-wasm32-wasi': 11.7.1 + '@oxc-resolver/binding-win32-arm64-msvc': 11.7.1 + '@oxc-resolver/binding-win32-ia32-msvc': 11.7.1 + '@oxc-resolver/binding-win32-x64-msvc': 11.7.1 + p-limit@1.3.0: dependencies: p-try: 1.0.0 @@ -5466,6 +5767,8 @@ snapshots: ansi-styles: 6.2.1 is-fullwidth-code-point: 5.1.0 + smol-toml@1.4.2: {} + source-map-js@1.2.1: {} source-map@0.6.1: {} @@ -5581,6 +5884,8 @@ snapshots: strip-json-comments@2.0.1: {} + strip-json-comments@5.0.2: {} + strip-literal@3.0.0: dependencies: js-tokens: 9.0.1 @@ -5751,15 +6056,15 @@ snapshots: dependencies: uint8array-tools: 0.0.8 - viem@2.37.4(bufferutil@4.0.9)(typescript@5.9.2)(utf-8-validate@5.0.10): + viem@2.37.4(bufferutil@4.0.9)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76): dependencies: '@noble/curves': 1.9.1 '@noble/hashes': 1.8.0 '@scure/bip32': 1.7.0 '@scure/bip39': 1.6.0 - abitype: 1.1.0(typescript@5.9.2) + abitype: 1.1.0(typescript@5.9.2)(zod@3.25.76) isows: 1.0.7(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10)) - ox: 0.9.3(typescript@5.9.2) + ox: 0.9.3(typescript@5.9.2)(zod@3.25.76) ws: 8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) optionalDependencies: typescript: 5.9.2 @@ -5844,6 +6149,8 @@ snapshots: - tsx - yaml + walk-up-path@4.0.0: {} + walkdir@0.4.1: {} wcwidth@1.0.1: @@ -5944,4 +6251,10 @@ snapshots: yoctocolors-cjs@2.1.3: {} + zod-validation-error@3.5.3(zod@3.25.76): + dependencies: + zod: 3.25.76 + + zod@3.25.76: {} + zustand@5.0.8: {} diff --git a/src/core/EVM/EVMStepExecutor.ts b/src/core/EVM/EVMStepExecutor.ts index 559b892b..db0436a0 100644 --- a/src/core/EVM/EVMStepExecutor.ts +++ b/src/core/EVM/EVMStepExecutor.ts @@ -59,7 +59,7 @@ import { waitForBatchTransactionReceipt } from './waitForBatchTransactionReceipt import { waitForRelayedTransactionReceipt } from './waitForRelayedTransactionReceipt.js' import { waitForTransactionReceipt } from './waitForTransactionReceipt.js' -export interface EVMStepExecutorOptions extends StepExecutorOptions { +interface EVMStepExecutorOptions extends StepExecutorOptions { client: Client } diff --git a/src/core/EVM/checkAllowance.ts b/src/core/EVM/checkAllowance.ts index 18a09341..7f955bd8 100644 --- a/src/core/EVM/checkAllowance.ts +++ b/src/core/EVM/checkAllowance.ts @@ -20,7 +20,7 @@ import { setAllowance } from './setAllowance.js' import type { Call } from './types.js' import { waitForTransactionReceipt } from './waitForTransactionReceipt.js' -export type CheckAllowanceParams = { +type CheckAllowanceParams = { checkClient( step: LiFiStepExtended, process: Process, @@ -36,7 +36,7 @@ export type CheckAllowanceParams = { disableMessageSigning?: boolean } -export type AllowanceResult = +type AllowanceResult = | { status: 'ACTION_REQUIRED' } diff --git a/src/core/EVM/checkPermitSupport.ts b/src/core/EVM/checkPermitSupport.ts index 4a552f0e..9be2bb6d 100644 --- a/src/core/EVM/checkPermitSupport.ts +++ b/src/core/EVM/checkPermitSupport.ts @@ -8,7 +8,7 @@ import { getNativePermit } from './permits/getNativePermit.js' import { getPublicClient } from './publicClient.js' import type { EVMProvider } from './types.js' -export type PermitSupport = { +type PermitSupport = { /** Whether the token supports EIP-2612 native permits */ nativePermitSupported: boolean /** Whether Permit2 is available and has sufficient allowance */ diff --git a/src/core/EVM/permits/getNativePermit.ts b/src/core/EVM/permits/getNativePermit.ts index 88ef3221..d168c26d 100644 --- a/src/core/EVM/permits/getNativePermit.ts +++ b/src/core/EVM/permits/getNativePermit.ts @@ -20,7 +20,7 @@ import { } from './constants.js' import type { NativePermitData } from './types.js' -export type GetNativePermitParams = { +type GetNativePermitParams = { chainId: number tokenAddress: Address spenderAddress: Address @@ -271,7 +271,7 @@ const getEIP712DomainData = async ( } } -export const getContractData = async ( +const getContractData = async ( client: Client, chainId: number, tokenAddress: Address diff --git a/src/core/EVM/permits/signPermit2Message.ts b/src/core/EVM/permits/signPermit2Message.ts index 3f6234f7..6918ede4 100644 --- a/src/core/EVM/permits/signPermit2Message.ts +++ b/src/core/EVM/permits/signPermit2Message.ts @@ -6,7 +6,7 @@ import { getAction } from 'viem/utils' import { getPermitTransferFromValues } from './getPermitTransferFromValues.js' import { getPermitData } from './signatureTransfer.js' -export interface SignPermit2MessageParams { +interface SignPermit2MessageParams { client: Client chain: ExtendedChain tokenAddress: Address diff --git a/src/core/Solana/connection.ts b/src/core/Solana/connection.ts index 48bd1858..062e1a4f 100644 --- a/src/core/Solana/connection.ts +++ b/src/core/Solana/connection.ts @@ -8,7 +8,7 @@ const connections = new Map() * Initializes the Solana connections if they haven't been initialized yet. * @returns - Promise that resolves when connections are initialized. */ -export const ensureConnections = async (): Promise => { +const ensureConnections = async (): Promise => { const rpcUrls = await getRpcUrls(ChainId.SOL) for (const rpcUrl of rpcUrls) { if (!connections.get(rpcUrl)) { diff --git a/src/core/Solana/getSNSAddress.ts b/src/core/Solana/getSNSAddress.ts index 137c2270..4a8bfae6 100644 --- a/src/core/Solana/getSNSAddress.ts +++ b/src/core/Solana/getSNSAddress.ts @@ -12,7 +12,6 @@ export const getSNSAddress = async (name: string) => { if (!name.endsWith('.sol')) { return } - // const rpcUrl = await getRpcUrl(ChainId.SOL) const snsWorkerUrl = `https://sns-sdk-proxy.bonfida.workers.dev/resolve/${name}` const response: Response = await fetch(snsWorkerUrl) if (!response.ok) { diff --git a/src/core/Solana/sendAndConfirmTransaction.ts b/src/core/Solana/sendAndConfirmTransaction.ts index c14d9586..37d450ac 100644 --- a/src/core/Solana/sendAndConfirmTransaction.ts +++ b/src/core/Solana/sendAndConfirmTransaction.ts @@ -7,7 +7,7 @@ import bs58 from 'bs58' import { sleep } from '../../utils/sleep.js' import { getSolanaConnections } from './connection.js' -export type ConfirmedTransactionResult = { +type ConfirmedTransactionResult = { signatureResult: SignatureResult | null txSignature: string } diff --git a/src/core/StatusManager.ts b/src/core/StatusManager.ts index 64d45b85..0f8c400a 100644 --- a/src/core/StatusManager.ts +++ b/src/core/StatusManager.ts @@ -10,7 +10,7 @@ import type { ProcessType, } from './types.js' -export type FindOrCreateProcessProps = { +type FindOrCreateProcessProps = { step: LiFiStepExtended type: ProcessType chainId?: ChainId diff --git a/src/core/Sui/suiClient.ts b/src/core/Sui/suiClient.ts index a32d11da..0fa186c2 100644 --- a/src/core/Sui/suiClient.ts +++ b/src/core/Sui/suiClient.ts @@ -8,7 +8,7 @@ const clients = new Map() * Initializes the Sui clients if they haven't been initialized yet. * @returns - Promise that resolves when clients are initialized. */ -export const ensureClients = async (): Promise => { +const ensureClients = async (): Promise => { const rpcUrls = await getRpcUrls(ChainId.SUI) for (const rpcUrl of rpcUrls) { if (!clients.get(rpcUrl)) { @@ -18,15 +18,6 @@ export const ensureClients = async (): Promise => { } } -/** - * Wrapper around getting the client (RPC provider) for Sui - * @returns - Sui RPC clients - */ -export const getSuiClients = async (): Promise => { - await ensureClients() - return Array.from(clients.values()) -} - /** * Calls a function on the SuiClient instances with retry logic. * @param fn - The function to call, which receives a SuiClient instance. diff --git a/src/core/UTXO/UTXOStepExecutor.ts b/src/core/UTXO/UTXOStepExecutor.ts index bf757fd8..0da117be 100644 --- a/src/core/UTXO/UTXOStepExecutor.ts +++ b/src/core/UTXO/UTXOStepExecutor.ts @@ -27,7 +27,7 @@ import { getUTXOPublicClient } from './getUTXOPublicClient.js' import { parseUTXOErrors } from './parseUTXOErrors.js' import { isPsbtFinalized, toXOnly } from './utils.js' -export interface UTXOStepExecutorOptions extends StepExecutorOptions { +interface UTXOStepExecutorOptions extends StepExecutorOptions { client: Client } diff --git a/src/core/execution.unit.mock.ts b/src/core/execution.unit.mock.ts index 774152e9..3fd2665b 100644 --- a/src/core/execution.unit.mock.ts +++ b/src/core/execution.unit.mock.ts @@ -46,7 +46,7 @@ export const mockChainsResponse = [ }, ] -export const mockTransactionRequest = { +const mockTransactionRequest = { transactionRequest: { data: '0xdata', to: '0x1231DEB6f5749EF6cE6943a275A1D3E7486F4EaE', diff --git a/src/core/executionState.ts b/src/core/executionState.ts index 9e315155..aae66930 100644 --- a/src/core/executionState.ts +++ b/src/core/executionState.ts @@ -1,15 +1,15 @@ import type { ExecutionOptions, RouteExtended, StepExecutor } from './types.js' -export interface ExecutionData { +interface ExecutionData { route: RouteExtended executors: StepExecutor[] executionOptions?: ExecutionOptions promise?: Promise } -export type ExecutionStateParams = Omit +type ExecutionStateParams = Omit -export interface ExecutionState { +interface ExecutionState { state: Partial> get(routeId: string): ExecutionData | undefined create(params: ExecutionStateParams): ExecutionData diff --git a/src/core/provider.ts b/src/core/provider.ts deleted file mode 100644 index 76f213fe..00000000 --- a/src/core/provider.ts +++ /dev/null @@ -1,12 +0,0 @@ -import type { ChainType } from '@lifi/types' -import { config } from '../config.js' - -export const getProvider = (type: ChainType): T => { - const provider = config - .get() - .providers.find((provider) => provider.type === type) as T - if (!provider) { - throw new Error(`${type} provider not found.`) - } - return provider -} diff --git a/src/core/rpc.ts b/src/core/rpc.ts index 6f986f89..035d1b36 100644 --- a/src/core/rpc.ts +++ b/src/core/rpc.ts @@ -1,11 +1,6 @@ import type { ChainId } from '@lifi/types' import { config } from '../config.js' -export const getRpcUrl = async (chainId: ChainId): Promise => { - const rpcUrls = await getRpcUrls(chainId) - return rpcUrls[0] -} - export const getRpcUrls = async (chainId: ChainId): Promise => { const rpcUrls = (await config.getRPCUrls())[chainId] if (!rpcUrls?.length) { diff --git a/src/createConfig.ts b/src/createConfig.ts index df0d23f7..0452c1fd 100644 --- a/src/createConfig.ts +++ b/src/createConfig.ts @@ -18,7 +18,7 @@ function createBaseConfig(options: SDKConfig) { return _config } -export async function createChainsConfig() { +async function createChainsConfig() { config.loading = getChains({ chainTypes: [ChainType.EVM, ChainType.SVM, ChainType.UTXO, ChainType.MVM], }) diff --git a/src/utils/errors.ts b/src/utils/errors.ts deleted file mode 100644 index e69de29b..00000000 diff --git a/src/utils/getTransactionMessage.ts b/src/utils/getTransactionMessage.ts index 4ec46cd5..8e5a764a 100644 --- a/src/utils/getTransactionMessage.ts +++ b/src/utils/getTransactionMessage.ts @@ -1,35 +1,5 @@ import type { LiFiStep } from '@lifi/types' -import { formatUnits } from 'viem' import { config } from '../config.js' -import type { Process } from '../core/types.js' - -export const getTransactionNotSentMessage = async ( - step?: LiFiStep, - process?: Process -): Promise => { - let transactionNotSend = - 'Transaction was not sent, your funds are still in your wallet' - - // add information about funds if available - if (step) { - const chain = await config.getChainById(step.action.fromChainId) - - transactionNotSend += ` (${formatUnits( - BigInt(step.action.fromAmount), - step.action.fromToken.decimals - )} ${step.action.fromToken.symbol} on ${chain.name})` - } - - transactionNotSend += - ", please retry.
If it still doesn't work, it is safe to delete this transfer and start a new one." - - // add transaction explorer link if available - transactionNotSend += process?.txLink - ? `
You can check the failed transaction here.` - : '' - - return transactionNotSend -} export const getTransactionFailedMessage = async ( step: LiFiStep, diff --git a/src/utils/withDedupe.ts b/src/utils/withDedupe.ts index ba906c39..12fe73c3 100644 --- a/src/utils/withDedupe.ts +++ b/src/utils/withDedupe.ts @@ -3,7 +3,7 @@ * * https://en.wikipedia.org/wiki/Cache_replacement_policies#LRU */ -export class LruMap extends Map { +class LruMap extends Map { maxSize: number constructor(size: number) { @@ -21,7 +21,7 @@ export class LruMap extends Map { } /** @internal */ -export const promiseCache = /*#__PURE__*/ new LruMap>(8192) +const promiseCache = /*#__PURE__*/ new LruMap>(8192) type WithDedupeOptions = { enabled?: boolean | undefined From ec9b4ca0393ede113779c70e11ffc685127c7927 Mon Sep 17 00:00:00 2001 From: Lizaveta Miasayedava Date: Mon, 8 Sep 2025 16:53:13 +0100 Subject: [PATCH 2/4] fix: regenerate lock --- package.json | 1 - pnpm-lock.yaml | 127 ++----------------------------------------------- 2 files changed, 3 insertions(+), 125 deletions(-) diff --git a/package.json b/package.json index 5b0f8767..ef220404 100644 --- a/package.json +++ b/package.json @@ -117,7 +117,6 @@ "@commitlint/config-conventional": "^19.8.1", "@lifi/data-types": "^6.35.1", "@types/fs-extra": "^11.0.4", - "@types/node": "^24.3.1", "@types/ws": "^8.18.1", "@vitest/coverage-v8": "^3.2.4", "fs-extra": "^11.3.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e51ce5ef..d12ab6f8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -27,10 +27,10 @@ importers: specifier: ^1.9.7 version: 1.9.7 '@solana/wallet-adapter-base': - specifier: ^0.9.0 + specifier: ^0.9.27 version: 0.9.27(@solana/web3.js@1.98.4(bufferutil@4.0.9)(typescript@5.9.2)(utf-8-validate@5.0.10)) '@solana/web3.js': - specifier: ^1.98.0 + specifier: ^1.98.4 version: 1.98.4(bufferutil@4.0.9)(typescript@5.9.2)(utf-8-validate@5.0.10) bech32: specifier: ^2.0.0 @@ -42,7 +42,7 @@ importers: specifier: ^6.0.0 version: 6.0.0 viem: - specifier: ^2.21.0 + specifier: ^2.37.4 version: 2.37.4(bufferutil@4.0.9)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76) devDependencies: '@biomejs/biome': @@ -60,9 +60,6 @@ importers: '@types/fs-extra': specifier: ^11.0.4 version: 11.0.4 - '@types/node': - specifier: ^24.3.1 - version: 24.3.1 '@types/ws': specifier: ^8.18.1 version: 8.18.1 @@ -93,9 +90,6 @@ importers: standard-version: specifier: ^9.5.0 version: 9.5.0 - ts-node: - specifier: ^10.9.2 - version: 10.9.2(@types/node@24.3.1)(typescript@5.9.2) typescript: specifier: ^5.9.2 version: 5.9.2 @@ -291,10 +285,6 @@ packages: resolution: {integrity: sha512-/yCrWGCoA1SVKOks25EGadP9Pnj0oAIHGpl2wH2M2Y46dPM2ueb8wyCVOD7O3WCTkaJ0IkKvzhl1JY7+uCT2Dw==} engines: {node: '>=v18'} - '@cspotcode/source-map-support@0.8.1': - resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} - engines: {node: '>=12'} - '@dependents/detective-less@5.0.1': resolution: {integrity: sha512-Y6+WUMsTFWE5jb20IFP4YGa5IrGY/+a/FbOSjDF/wz9gepU2hwCYSXRHP/vPwBvwcY3SVMASt4yXxbXNXigmZQ==} engines: {node: '>=18'} @@ -544,9 +534,6 @@ packages: '@jridgewell/trace-mapping@0.3.30': resolution: {integrity: sha512-GQ7Nw5G2lTu/BtHTKfXhKHok2WGetd4XYcVKGx00SjAk8GMwgJM3zr6zORiPGuOE+/vkc90KtTosSSvaCjKb2Q==} - '@jridgewell/trace-mapping@0.3.9': - resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} - '@lifi/data-types@6.35.1': resolution: {integrity: sha512-Ep+N3J5qqpjkJNNMOo7FlUS+mMfo4zbahAAeGd5Cih8A3D0NKgMDPI5HqGzRcHojc0dM/9UNqIM3yYMd6CWXUg==} @@ -878,18 +865,6 @@ packages: resolution: {integrity: sha512-w071DSzP94YfN6XiWhOxnLpYT3uqtxJBDYdh6Jdjzt+Ce6DNspJsPQgpC7rbts/B8tEkq0LHoYuIF/O5Jh5rPg==} engines: {node: '>=18'} - '@tsconfig/node10@1.0.11': - resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} - - '@tsconfig/node12@1.0.11': - resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} - - '@tsconfig/node14@1.0.3': - resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} - - '@tsconfig/node16@1.0.4': - resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} - '@tybys/wasm-util@0.10.0': resolution: {integrity: sha512-VyyPYFlOMNylG45GoAe0xDoLwWuowvf92F9kySqzYh8vmYm7D2u4iUJKa1tOUpS70Ku13ASrOkS4ScXFsTaCNQ==} @@ -1060,15 +1035,6 @@ packages: zod: optional: true - acorn-walk@8.3.4: - resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} - engines: {node: '>=0.4.0'} - - acorn@8.15.0: - resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} - engines: {node: '>=0.4.0'} - hasBin: true - add-stream@1.0.0: resolution: {integrity: sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==} @@ -1113,9 +1079,6 @@ packages: app-module-path@2.2.0: resolution: {integrity: sha512-gkco+qxENJV+8vFcDiiFhuoSvRXb2a/QPqpSoWhVz829VNJfOTnELbBmPmNKFxf3xdNnw4DWCkzkDaavcX/1YQ==} - arg@4.1.3: - resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} - argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} @@ -1423,9 +1386,6 @@ packages: typescript: optional: true - create-require@1.1.1: - resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} - cross-spawn@7.0.6: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} @@ -1529,10 +1489,6 @@ packages: peerDependencies: typescript: ^5.4.4 - diff@4.0.2: - resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} - engines: {node: '>=0.3.1'} - dot-prop@5.3.0: resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} engines: {node: '>=8'} @@ -2138,9 +2094,6 @@ packages: resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} engines: {node: '>=10'} - make-error@1.3.6: - resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} - map-obj@1.0.1: resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} engines: {node: '>=0.10.0'} @@ -2841,20 +2794,6 @@ packages: resolution: {integrity: sha512-XyLVuhBVvdJTJr2FJJV2L1pc4MwSjMhcunRVgDE9k4wbb2ee7ORYnPewxMWUav12vxyfUM686MSGsqnVRIInuw==} engines: {node: '>=18'} - ts-node@10.9.2: - resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} - hasBin: true - peerDependencies: - '@swc/core': '>=1.2.50' - '@swc/wasm': '>=1.2.50' - '@types/node': '*' - typescript: '>=2.7' - peerDependenciesMeta: - '@swc/core': - optional: true - '@swc/wasm': - optional: true - tsconfig-paths@4.2.0: resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} engines: {node: '>=6'} @@ -2925,9 +2864,6 @@ packages: resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} hasBin: true - v8-compile-cache-lib@3.0.1: - resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} - valibot@0.36.0: resolution: {integrity: sha512-CjF1XN4sUce8sBK9TixrDqFM7RwNkuXdJu174/AwmQUB62QbCQADg5lLe8ldBalFgtj1uKj+pKwDJiNo4Mn+eQ==} @@ -3131,10 +3067,6 @@ packages: resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} engines: {node: '>=12'} - yn@3.1.1: - resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} - engines: {node: '>=6'} - yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} @@ -3388,10 +3320,6 @@ snapshots: '@types/conventional-commits-parser': 5.0.1 chalk: 5.6.0 - '@cspotcode/source-map-support@0.8.1': - dependencies: - '@jridgewell/trace-mapping': 0.3.9 - '@dependents/detective-less@5.0.1': dependencies: gonzales-pe: 4.3.0 @@ -3561,11 +3489,6 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.5 - '@jridgewell/trace-mapping@0.3.9': - dependencies: - '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.5.5 - '@lifi/data-types@6.35.1(bufferutil@4.0.9)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76)': dependencies: '@lifi/types': 17.36.0(bufferutil@4.0.9)(typescript@5.9.2)(utf-8-validate@5.0.10)(zod@3.25.76) @@ -3884,14 +3807,6 @@ snapshots: '@ts-graphviz/ast': 2.0.7 '@ts-graphviz/common': 2.1.5 - '@tsconfig/node10@1.0.11': {} - - '@tsconfig/node12@1.0.11': {} - - '@tsconfig/node14@1.0.3': {} - - '@tsconfig/node16@1.0.4': {} - '@tybys/wasm-util@0.10.0': dependencies: tslib: 2.8.1 @@ -4113,12 +4028,6 @@ snapshots: typescript: 5.9.2 zod: 3.25.76 - acorn-walk@8.3.4: - dependencies: - acorn: 8.15.0 - - acorn@8.15.0: {} - add-stream@1.0.0: {} agentkeepalive@4.6.0: @@ -4158,8 +4067,6 @@ snapshots: app-module-path@2.2.0: {} - arg@4.1.3: {} - argparse@2.0.1: {} array-ify@1.0.0: {} @@ -4515,8 +4422,6 @@ snapshots: optionalDependencies: typescript: 5.9.2 - create-require@1.1.1: {} - cross-spawn@7.0.6: dependencies: path-key: 3.1.1 @@ -4619,8 +4524,6 @@ snapshots: transitivePeerDependencies: - supports-color - diff@4.0.2: {} - dot-prop@5.3.0: dependencies: is-obj: 2.0.0 @@ -5251,8 +5154,6 @@ snapshots: dependencies: semver: 7.7.2 - make-error@1.3.6: {} - map-obj@1.0.1: {} map-obj@4.3.0: {} @@ -5977,24 +5878,6 @@ snapshots: '@ts-graphviz/common': 2.1.5 '@ts-graphviz/core': 2.0.7 - ts-node@10.9.2(@types/node@24.3.1)(typescript@5.9.2): - dependencies: - '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.11 - '@tsconfig/node12': 1.0.11 - '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.4 - '@types/node': 24.3.1 - acorn: 8.15.0 - acorn-walk: 8.3.4 - arg: 4.1.3 - create-require: 1.1.1 - diff: 4.0.2 - make-error: 1.3.6 - typescript: 5.9.2 - v8-compile-cache-lib: 3.0.1 - yn: 3.1.1 - tsconfig-paths@4.2.0: dependencies: json5: 2.2.3 @@ -6039,8 +5922,6 @@ snapshots: uuid@8.3.2: {} - v8-compile-cache-lib@3.0.1: {} - valibot@0.36.0: {} valibot@0.38.0(typescript@5.9.2): @@ -6243,8 +6124,6 @@ snapshots: y18n: 5.0.8 yargs-parser: 21.1.1 - yn@3.1.1: {} - yocto-queue@0.1.0: {} yocto-queue@1.2.1: {} From b24748ad2db52a049fef7695258811c52d43f828 Mon Sep 17 00:00:00 2001 From: Lizaveta Miasayedava Date: Mon, 8 Sep 2025 17:28:43 +0100 Subject: [PATCH 3/4] refactor: update knip command --- package.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index ef220404..30ad4ede 100644 --- a/package.json +++ b/package.json @@ -93,7 +93,9 @@ }, "lint-staged": { "src/**/*.{ts,tsx}": [ - "pnpm check:write", + "pnpm check:write" + ], + "*": [ "bash -c 'pnpm knip:check'" ] }, From 2e75c83b14c2180aec06217732a15f84b8b84094 Mon Sep 17 00:00:00 2001 From: Lizaveta Miasayedava Date: Mon, 8 Sep 2025 17:51:20 +0100 Subject: [PATCH 4/4] refactor: do not check exports on precommit --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 30ad4ede..73c1b372 100644 --- a/package.json +++ b/package.json @@ -88,7 +88,7 @@ "link:bigmi": "pnpm link @bigmi/core", "unlink:bigmi": "pnpm unlink @bigmi/core", "knip:all": "knip", - "knip:check": "knip --dependencies --exports --files --no-config-hints --exclude binaries", + "knip:check": "knip --dependencies --files --no-config-hints --exclude binaries", "knip:write": "pnpm knip:check --fix" }, "lint-staged": {