diff --git a/docs/wallet/index.md b/docs/wallet/index.md index 17c067e8..d7fa61e2 100644 --- a/docs/wallet/index.md +++ b/docs/wallet/index.md @@ -53,4 +53,11 @@ wallet.mints = choosenMints; wallet.publishReplaceable(); ``` -## \ No newline at end of file +## Receiving ecash +To receive ecash just call the `receiveToken` method on the wallet. + +```ts +const tokenEvent = await wallet.receiveToken(token); +``` + +This will swap the tokens in the right mint and add them to the wallet. Note that if the mint of this token is not one of the ones in the wallet you will need to move them to the mint you want manually. \ No newline at end of file diff --git a/ndk-wallet/CHANGELOG.md b/ndk-wallet/CHANGELOG.md index a611cd58..65ebf016 100644 --- a/ndk-wallet/CHANGELOG.md +++ b/ndk-wallet/CHANGELOG.md @@ -1,5 +1,11 @@ # @nostr-dev-kit/ndk-cache-redis +## 0.3.5 + +### Patch Changes + +- receive cashu + ## 0.3.4 ### Patch Changes diff --git a/ndk-wallet/package.json b/ndk-wallet/package.json index 5d795312..d57bbe0a 100644 --- a/ndk-wallet/package.json +++ b/ndk-wallet/package.json @@ -1,6 +1,6 @@ { "name": "@nostr-dev-kit/ndk-wallet", - "version": "0.3.4", + "version": "0.3.5", "description": "NDK Wallet", "main": "./dist/index.js", "module": "./dist/index.mjs", @@ -38,7 +38,7 @@ }, "homepage": "https://github.com/nostr-dev-kit/ndk", "dependencies": { - "@cashu/cashu-ts": "1.1.0", + "@cashu/cashu-ts": "1.2.1", "@getalby/sdk": "^3.6.1", "@nostr-dev-kit/ndk": "workspace:*", "debug": "^4.3.4", diff --git a/ndk-wallet/src/cashu/wallet.ts b/ndk-wallet/src/cashu/wallet.ts index cffaf59c..de361dea 100644 --- a/ndk-wallet/src/cashu/wallet.ts +++ b/ndk-wallet/src/cashu/wallet.ts @@ -15,7 +15,7 @@ import createDebug from "debug"; import type { MintUrl } from "./mint/utils.js"; import { NDKCashuPay } from "./pay.js"; import type { Proof } from "@cashu/cashu-ts"; -import { CashuMint, CashuWallet } from "@cashu/cashu-ts"; +import { CashuMint, CashuWallet, getDecodedToken } from "@cashu/cashu-ts"; import { NDKWalletChange } from "./history.js"; import { checkTokenProofs } from "./validate.js"; import { NDKWallet, NDKWalletBalance, NDKWalletEvents, NDKWalletStatus } from "../wallet/index.js"; @@ -309,6 +309,26 @@ export class NDKCashuWallet extends EventEmitter implements NDK return deposit; } + /** + * Receives a token and adds it to the wallet + * @param token + * @returns the token event that was created + */ + public async receiveToken(token: string) { + const mint = getDecodedToken(token).token[0].mint + const wallet = new CashuWallet(new CashuMint(mint)); + const proofs = await wallet.receive(token); + await this.saveProofs(proofs, mint); + + const tokenEvent = new NDKCashuToken(this.event.ndk); + tokenEvent.proofs = proofs; + tokenEvent.mint = mint; + await tokenEvent.publish(this.relaySet); + this.addToken(tokenEvent); + + return tokenEvent; + } + public async addHistoryItem( direction: "in" | "out", amount: number, @@ -405,14 +425,16 @@ export class NDKCashuWallet extends EventEmitter implements NDK console.error("failed to publish token", e, tokenEvent.rawEvent()); }); + const historyEvent = new NDKWalletChange(this.event.ndk); + historyEvent.tag(this.event); + if (nutzap) { - const historyEvent = new NDKWalletChange(this.event.ndk); historyEvent.addRedeemedNutzap(nutzap); - historyEvent.tag(this.event); - historyEvent.tag(tokenEvent, NDKWalletChange.MARKERS.CREATED); - await historyEvent.sign(); - historyEvent.publish(this.relaySet); } + + historyEvent.tag(tokenEvent, NDKWalletChange.MARKERS.CREATED); + await historyEvent.sign(); + historyEvent.publish(this.relaySet); return tokenEvent; } diff --git a/package.json b/package.json index e2340678..6739577a 100755 --- a/package.json +++ b/package.json @@ -18,7 +18,7 @@ "@changesets/cli": "^2.22.0", "@nostr-dev-kit/eslint-config-custom": "workspace:*", "@nostr-dev-kit/tsconfig": "workspace:*", - "eslint": "^9.12.0", + "eslint": "^9.13.0", "mermaid": "^10.9.1", "prettier": "^3.0.3", "turbo": "^1.10.14", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6b41e5dd..d5615da7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -21,8 +21,8 @@ importers: specifier: workspace:* version: link:packages/tsconfig eslint: - specifier: ^9.12.0 - version: 9.12.0(jiti@1.21.6) + specifier: ^9.13.0 + version: 9.13.0(jiti@1.21.6) mermaid: specifier: ^10.9.1 version: 10.9.1 @@ -250,7 +250,7 @@ importers: version: 3.3.3 ts-jest: specifier: ^29.2.5 - version: 29.2.5(@babel/core@7.25.2)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.2))(esbuild@0.23.1)(jest@29.7.0(@types/node@22.6.1))(typescript@5.5.4) + version: 29.2.5(@babel/core@7.25.2)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.2))(jest@29.7.0(@types/node@22.6.1))(typescript@5.5.4) tsup: specifier: ^8.3.0 version: 8.3.0(jiti@1.21.6)(postcss@8.4.47)(typescript@5.5.4)(yaml@2.5.1) @@ -538,8 +538,8 @@ importers: ndk-wallet: dependencies: '@cashu/cashu-ts': - specifier: 1.1.0 - version: 1.1.0 + specifier: 1.2.1 + version: 1.2.1 '@getalby/sdk': specifier: ^3.6.1 version: 3.7.1(typescript@5.5.3) @@ -597,19 +597,19 @@ importers: dependencies: '@typescript-eslint/eslint-plugin': specifier: ^6.7.2 - version: 6.21.0(@typescript-eslint/parser@6.21.0(eslint@9.12.0(jiti@1.21.6))(typescript@5.2.2))(eslint@9.12.0(jiti@1.21.6))(typescript@5.2.2) + version: 6.21.0(@typescript-eslint/parser@6.21.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.2.2))(eslint@9.13.0(jiti@1.21.6))(typescript@5.2.2) '@typescript-eslint/parser': specifier: ^6.7.2 - version: 6.21.0(eslint@9.12.0(jiti@1.21.6))(typescript@5.2.2) + version: 6.21.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.2.2) eslint-config-prettier: specifier: ^9.0.0 - version: 9.0.0(eslint@9.12.0(jiti@1.21.6)) + version: 9.0.0(eslint@9.13.0(jiti@1.21.6)) eslint-config-turbo: specifier: latest - version: 2.2.3(eslint@9.12.0(jiti@1.21.6)) + version: 2.2.3(eslint@9.13.0(jiti@1.21.6)) eslint-plugin-svelte: specifier: ^2.33.2 - version: 2.33.2(eslint@9.12.0(jiti@1.21.6))(svelte@4.2.19)(ts-node@10.9.2(@types/node@22.6.1)(typescript@5.2.2)) + version: 2.33.2(eslint@9.13.0(jiti@1.21.6))(svelte@4.2.19)(ts-node@10.9.2(@types/node@22.6.1)(typescript@5.2.2)) typescript: specifier: ^5.2.2 version: 5.2.2 @@ -1464,8 +1464,8 @@ packages: '@braintree/sanitize-url@7.1.0': resolution: {integrity: sha512-o+UlMLt49RvtCASlOMW0AkHnabN9wR9rwCCherxO0yG4Npy34GkvrAqdXQvrhNs+jh+gkK8gB8Lf05qL/O7KWg==} - '@cashu/cashu-ts@1.1.0': - resolution: {integrity: sha512-zdMKOHx3l+gzCRbK2R+dPaui78Kq3f4C1pz+ya7polbpzqPGU+NlT3Y3V9uKjwLJUp1G0lumKKU0lj4/Ywczpg==} + '@cashu/cashu-ts@1.2.1': + resolution: {integrity: sha512-B0+e02S8DQA8KBt2FgKHgGYvtHQokXJ3sZcTyAdHqvb0T0jfo1zF7nHn19eU9iYcfk8VSWf5xNBTocpTfj1aNg==} '@cashu/crypto@0.2.7': resolution: {integrity: sha512-1aaDfUjiHNXoJqg8nW+341TLWV9W28DsVNXJUKcHL0yAmwLs5+56SSnb8LLDJzPamLVoYL0U0bda91klAzptig==} @@ -2258,20 +2258,26 @@ packages: peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + '@eslint-community/eslint-utils@4.4.1': + resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + '@eslint-community/regexpp@4.11.0': resolution: {integrity: sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint-community/regexpp@4.11.1': - resolution: {integrity: sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==} + '@eslint-community/regexpp@4.12.1': + resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} '@eslint/config-array@0.18.0': resolution: {integrity: sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/core@0.6.0': - resolution: {integrity: sha512-8I2Q8ykA4J0x0o7cg67FPVnehcqWTBehu/lmY+bolPFHGjh49YzGBMXTvpqVgEbBdvNCSxj6iFgiIyHzf03lzg==} + '@eslint/core@0.7.0': + resolution: {integrity: sha512-xp5Jirz5DyPYlPiKat8jaq0EmYvDXKKpzTbxXMpT9eqlRJkRKIz9AGMdlvYjih+im+QlhWrpvVjl8IPC/lHlUw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/eslintrc@1.4.1': @@ -2282,16 +2288,16 @@ packages: resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@9.12.0': - resolution: {integrity: sha512-eohesHH8WFRUprDNyEREgqP6beG6htMeUYeCpkEgBCieCMme5r9zFWjzAJp//9S+Kub4rqE+jXe9Cp1a7IYIIA==} + '@eslint/js@9.13.0': + resolution: {integrity: sha512-IFLyoY4d72Z5y/6o/BazFBezupzI/taV8sGumxTAVw3lXG9A6md1Dc34T9s1FoD/an9pJH8RHbAxsaEbBed9lA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/object-schema@2.1.4': resolution: {integrity: sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/plugin-kit@0.2.0': - resolution: {integrity: sha512-vH9PiIMMwvhCx31Af3HiGzsVNULDbyVkHXwlemn/B0TFj/00ho3y55efXrUZTfQipxoHC5u4xq6zblww1zm1Ig==} + '@eslint/plugin-kit@0.2.1': + resolution: {integrity: sha512-HFZ4Mp26nbWk9d/BpvP0YNL6W4UoZF0VFcTw/aPPA8RpOxeFQgK+ClABGgAUXs9Y/RGX/l1vOmrqz1MQt9MNuw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@fal-works/esbuild-plugin-global-externals@2.1.2': @@ -2316,12 +2322,12 @@ packages: resolution: {integrity: sha512-fn/JrnH7NvD4Hu9REXQ8TLQVPN/BYnv0QcCO7L5M6gQg2Clndoj7JHn7CY/fX5BQq7d9jvfujeNrXgBJkEklnw==} engines: {node: '>=14'} - '@humanfs/core@0.19.0': - resolution: {integrity: sha512-2cbWIHbZVEweE853g8jymffCA+NCMiuqeECeBBLm8dg2oFdjuGJhgN4UAbI+6v0CKbbhvtXA4qV8YR5Ji86nmw==} + '@humanfs/core@0.19.1': + resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} engines: {node: '>=18.18.0'} - '@humanfs/node@0.16.5': - resolution: {integrity: sha512-KSPA4umqSG4LHYRodq31VDwKAvaTF4xmVlzM8Aeh4PlU1JQ3IG0wiA8C25d3RQ9nJyM3mBHyI53K06VVL/oFFg==} + '@humanfs/node@0.16.6': + resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==} engines: {node: '>=18.18.0'} '@humanwhocodes/config-array@0.9.5': @@ -3385,9 +3391,6 @@ packages: '@types/eslint@7.29.0': resolution: {integrity: sha512-VNcvioYDH8/FxaeTKkM4/TiTwt6pBV9E3OfGmvaw8tPl0rrHCJ4Ll15HRT+pMiFAf/MLQvAzC+6RzUMEL9Ceng==} - '@types/estree@1.0.2': - resolution: {integrity: sha512-VeiPZ9MMwXjO32/Xu7+OwflfmeoRwkE/qzndw42gGtgJwZopBnzy2gD//NN1+go1mADzkDcqf/KnFRSjTJ8xJA==} - '@types/estree@1.0.5': resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} @@ -3439,9 +3442,6 @@ packages: '@types/jest@29.5.5': resolution: {integrity: sha512-ebylz2hnsWR9mYvmBFbXJXr+33UPc4+ZdxyDXh5w0FlPBTfCVN3wPL+kuOiQt3xvrK419v7XWeAs+AeOksafXg==} - '@types/json-schema@7.0.13': - resolution: {integrity: sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ==} - '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} @@ -3802,8 +3802,8 @@ packages: engines: {node: '>=0.4.0'} hasBin: true - acorn@8.12.1: - resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} + acorn@8.14.0: + resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} engines: {node: '>=0.4.0'} hasBin: true @@ -5021,8 +5021,8 @@ packages: deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. hasBin: true - eslint@9.12.0: - resolution: {integrity: sha512-UVIOlTEWxwIopRL1wgSQYdnVDcEvs2wyaO6DGo5mXqe3r16IoCNWkR29iHhyaP4cICWjbgbmFUGAhh0GJRuGZw==} + eslint@9.13.0: + resolution: {integrity: sha512-EYZK6SX6zjFHST/HRytOdA/zE72Cq/bfw45LSyuwrdvcclb/gqV8RRQxywOBEWO2+WDpva6UZa4CcDeJKzUCFA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true peerDependencies: @@ -5224,16 +5224,16 @@ packages: find-yarn-workspace-root2@1.2.16: resolution: {integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==} - flat-cache@3.1.0: - resolution: {integrity: sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew==} - engines: {node: '>=12.0.0'} + flat-cache@3.2.0: + resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} + engines: {node: ^10.12.0 || >=12.0.0} flat-cache@4.0.1: resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} engines: {node: '>=16'} - flatted@3.2.9: - resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} + flatted@3.3.1: + resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} flow-parser@0.217.0: resolution: {integrity: sha512-hEa5n0dta1RcaDwJDWbnyelw07PK7+Vx0f9kDht28JOt2hXgKdKGaT3wM45euWV2DxOXtzDSTaUgGSD/FPvC2Q==} @@ -6046,9 +6046,6 @@ packages: resolution: {integrity: sha512-RQrI8rlHY92OLf3rho/Ts8i/XvjgguEjOkO1BEXcU3N8BqPpSzBNwV/G0Ukr+P/l3ivvJUE/Fa/CwbS6HesGNQ==} hasBin: true - keyv@4.5.3: - resolution: {integrity: sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==} - keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} @@ -7152,8 +7149,8 @@ packages: resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==} engines: {node: '>=6'} - punycode@2.3.0: - resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} puppeteer-core@2.1.1: @@ -9863,7 +9860,7 @@ snapshots: '@braintree/sanitize-url@7.1.0': {} - '@cashu/cashu-ts@1.1.0': + '@cashu/cashu-ts@1.2.1': dependencies: '@cashu/crypto': 0.2.7 '@noble/curves': 1.6.0 @@ -10414,19 +10411,24 @@ snapshots: '@esbuild/win32-x64@0.24.0': optional: true - '@eslint-community/eslint-utils@4.4.0(eslint@8.4.1)': + '@eslint-community/eslint-utils@4.4.0(eslint@9.13.0(jiti@1.21.6))': + dependencies: + eslint: 9.13.0(jiti@1.21.6) + eslint-visitor-keys: 3.4.3 + + '@eslint-community/eslint-utils@4.4.1(eslint@8.4.1)': dependencies: eslint: 8.4.1 eslint-visitor-keys: 3.4.3 - '@eslint-community/eslint-utils@4.4.0(eslint@9.12.0(jiti@1.21.6))': + '@eslint-community/eslint-utils@4.4.1(eslint@9.13.0(jiti@1.21.6))': dependencies: - eslint: 9.12.0(jiti@1.21.6) + eslint: 9.13.0(jiti@1.21.6) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.11.0': {} - '@eslint-community/regexpp@4.11.1': {} + '@eslint-community/regexpp@4.12.1': {} '@eslint/config-array@0.18.0': dependencies: @@ -10436,7 +10438,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/core@0.6.0': {} + '@eslint/core@0.7.0': {} '@eslint/eslintrc@1.4.1': dependencies: @@ -10466,11 +10468,11 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@9.12.0': {} + '@eslint/js@9.13.0': {} '@eslint/object-schema@2.1.4': {} - '@eslint/plugin-kit@0.2.0': + '@eslint/plugin-kit@0.2.1': dependencies: levn: 0.4.1 @@ -10500,11 +10502,11 @@ snapshots: transitivePeerDependencies: - typescript - '@humanfs/core@0.19.0': {} + '@humanfs/core@0.19.1': {} - '@humanfs/node@0.16.5': + '@humanfs/node@0.16.6': dependencies: - '@humanfs/core': 0.19.0 + '@humanfs/core': 0.19.1 '@humanwhocodes/retry': 0.3.1 '@humanwhocodes/config-array@0.9.5': @@ -12245,8 +12247,6 @@ snapshots: '@types/estree': 1.0.6 '@types/json-schema': 7.0.15 - '@types/estree@1.0.2': {} - '@types/estree@1.0.5': {} '@types/estree@1.0.6': {} @@ -12311,8 +12311,6 @@ snapshots: expect: 29.7.0 pretty-format: 29.7.0 - '@types/json-schema@7.0.13': {} - '@types/json-schema@7.0.15': {} '@types/linkify-it@5.0.0': {} @@ -12456,16 +12454,16 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@9.12.0(jiti@1.21.6))(typescript@5.2.2))(eslint@9.12.0(jiti@1.21.6))(typescript@5.2.2)': + '@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.2.2))(eslint@9.13.0(jiti@1.21.6))(typescript@5.2.2)': dependencies: '@eslint-community/regexpp': 4.11.0 - '@typescript-eslint/parser': 6.21.0(eslint@9.12.0(jiti@1.21.6))(typescript@5.2.2) + '@typescript-eslint/parser': 6.21.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.2.2) '@typescript-eslint/scope-manager': 6.21.0 - '@typescript-eslint/type-utils': 6.21.0(eslint@9.12.0(jiti@1.21.6))(typescript@5.2.2) - '@typescript-eslint/utils': 6.21.0(eslint@9.12.0(jiti@1.21.6))(typescript@5.2.2) + '@typescript-eslint/type-utils': 6.21.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.2.2) + '@typescript-eslint/utils': 6.21.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.2.2) '@typescript-eslint/visitor-keys': 6.21.0 debug: 4.3.7 - eslint: 9.12.0(jiti@1.21.6) + eslint: 9.13.0(jiti@1.21.6) graphemer: 1.4.0 ignore: 5.3.1 natural-compare: 1.4.0 @@ -12489,14 +12487,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@6.21.0(eslint@9.12.0(jiti@1.21.6))(typescript@5.2.2)': + '@typescript-eslint/parser@6.21.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.2.2)': dependencies: '@typescript-eslint/scope-manager': 6.21.0 '@typescript-eslint/types': 6.21.0 '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.2.2) '@typescript-eslint/visitor-keys': 6.21.0 debug: 4.3.7 - eslint: 9.12.0(jiti@1.21.6) + eslint: 9.13.0(jiti@1.21.6) optionalDependencies: typescript: 5.2.2 transitivePeerDependencies: @@ -12524,12 +12522,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/type-utils@6.21.0(eslint@9.12.0(jiti@1.21.6))(typescript@5.2.2)': + '@typescript-eslint/type-utils@6.21.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.2.2)': dependencies: '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.2.2) - '@typescript-eslint/utils': 6.21.0(eslint@9.12.0(jiti@1.21.6))(typescript@5.2.2) + '@typescript-eslint/utils': 6.21.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.2.2) debug: 4.3.7 - eslint: 9.12.0(jiti@1.21.6) + eslint: 9.13.0(jiti@1.21.6) ts-api-utils: 1.0.3(typescript@5.2.2) optionalDependencies: typescript: 5.2.2 @@ -12586,8 +12584,8 @@ snapshots: '@typescript-eslint/utils@5.62.0(eslint@8.4.1)(typescript@5.5.4)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.4.1) - '@types/json-schema': 7.0.13 + '@eslint-community/eslint-utils': 4.4.1(eslint@8.4.1) + '@types/json-schema': 7.0.15 '@types/semver': 7.5.2 '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 @@ -12601,8 +12599,8 @@ snapshots: '@typescript-eslint/utils@6.21.0(eslint@8.4.1)(typescript@5.5.4)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.4.1) - '@types/json-schema': 7.0.13 + '@eslint-community/eslint-utils': 4.4.1(eslint@8.4.1) + '@types/json-schema': 7.0.15 '@types/semver': 7.5.2 '@typescript-eslint/scope-manager': 6.21.0 '@typescript-eslint/types': 6.21.0 @@ -12613,15 +12611,15 @@ snapshots: - supports-color - typescript - '@typescript-eslint/utils@6.21.0(eslint@9.12.0(jiti@1.21.6))(typescript@5.2.2)': + '@typescript-eslint/utils@6.21.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.2.2)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.12.0(jiti@1.21.6)) - '@types/json-schema': 7.0.13 + '@eslint-community/eslint-utils': 4.4.1(eslint@9.13.0(jiti@1.21.6)) + '@types/json-schema': 7.0.15 '@types/semver': 7.5.2 '@typescript-eslint/scope-manager': 6.21.0 '@typescript-eslint/types': 6.21.0 '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.2.2) - eslint: 9.12.0(jiti@1.21.6) + eslint: 9.13.0(jiti@1.21.6) semver: 7.5.4 transitivePeerDependencies: - supports-color @@ -12772,9 +12770,9 @@ snapshots: dependencies: acorn: 8.11.3 - acorn-jsx@5.3.2(acorn@8.12.1): + acorn-jsx@5.3.2(acorn@8.14.0): dependencies: - acorn: 8.12.1 + acorn: 8.14.0 acorn-walk@8.2.0: {} @@ -12782,7 +12780,7 @@ snapshots: acorn@8.11.3: {} - acorn@8.12.1: {} + acorn@8.14.0: {} address@1.2.2: {} @@ -13279,7 +13277,7 @@ snapshots: code-red@1.0.4: dependencies: '@jridgewell/sourcemap-codec': 1.4.15 - '@types/estree': 1.0.2 + '@types/estree': 1.0.5 acorn: 8.10.0 estree-walker: 3.0.3 periscopic: 3.1.0 @@ -14226,14 +14224,14 @@ snapshots: escape-string-regexp@5.0.0: {} - eslint-config-prettier@9.0.0(eslint@9.12.0(jiti@1.21.6)): + eslint-config-prettier@9.0.0(eslint@9.13.0(jiti@1.21.6)): dependencies: - eslint: 9.12.0(jiti@1.21.6) + eslint: 9.13.0(jiti@1.21.6) - eslint-config-turbo@2.2.3(eslint@9.12.0(jiti@1.21.6)): + eslint-config-turbo@2.2.3(eslint@9.13.0(jiti@1.21.6)): dependencies: - eslint: 9.12.0(jiti@1.21.6) - eslint-plugin-turbo: 2.2.3(eslint@9.12.0(jiti@1.21.6)) + eslint: 9.13.0(jiti@1.21.6) + eslint-plugin-turbo: 2.2.3(eslint@9.13.0(jiti@1.21.6)) eslint-formatter-pretty@4.1.0: dependencies: @@ -14257,12 +14255,12 @@ snapshots: - supports-color - typescript - eslint-plugin-svelte@2.33.2(eslint@9.12.0(jiti@1.21.6))(svelte@4.2.19)(ts-node@10.9.2(@types/node@22.6.1)(typescript@5.2.2)): + eslint-plugin-svelte@2.33.2(eslint@9.13.0(jiti@1.21.6))(svelte@4.2.19)(ts-node@10.9.2(@types/node@22.6.1)(typescript@5.2.2)): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.12.0(jiti@1.21.6)) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.13.0(jiti@1.21.6)) '@jridgewell/sourcemap-codec': 1.4.15 debug: 4.3.7 - eslint: 9.12.0(jiti@1.21.6) + eslint: 9.13.0(jiti@1.21.6) esutils: 2.0.3 known-css-properties: 0.28.0 postcss: 8.4.47 @@ -14277,10 +14275,10 @@ snapshots: - supports-color - ts-node - eslint-plugin-turbo@2.2.3(eslint@9.12.0(jiti@1.21.6)): + eslint-plugin-turbo@2.2.3(eslint@9.13.0(jiti@1.21.6)): dependencies: dotenv: 16.0.3 - eslint: 9.12.0(jiti@1.21.6) + eslint: 9.13.0(jiti@1.21.6) eslint-rule-docs@1.1.235: {} @@ -14324,7 +14322,7 @@ snapshots: eslint-scope: 7.2.2 eslint-utils: 3.0.0(eslint@8.4.1) eslint-visitor-keys: 3.4.3 - espree: 9.6.1 + espree: 9.2.0 esquery: 1.6.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 @@ -14353,16 +14351,16 @@ snapshots: transitivePeerDependencies: - supports-color - eslint@9.12.0(jiti@1.21.6): + eslint@9.13.0(jiti@1.21.6): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.12.0(jiti@1.21.6)) - '@eslint-community/regexpp': 4.11.1 + '@eslint-community/eslint-utils': 4.4.1(eslint@9.13.0(jiti@1.21.6)) + '@eslint-community/regexpp': 4.12.1 '@eslint/config-array': 0.18.0 - '@eslint/core': 0.6.0 + '@eslint/core': 0.7.0 '@eslint/eslintrc': 3.1.0 - '@eslint/js': 9.12.0 - '@eslint/plugin-kit': 0.2.0 - '@humanfs/node': 0.16.5 + '@eslint/js': 9.13.0 + '@eslint/plugin-kit': 0.2.1 + '@humanfs/node': 0.16.6 '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.3.1 '@types/estree': 1.0.6 @@ -14413,14 +14411,14 @@ snapshots: espree@10.2.0: dependencies: - acorn: 8.12.1 - acorn-jsx: 5.3.2(acorn@8.12.1) + acorn: 8.14.0 + acorn-jsx: 5.3.2(acorn@8.14.0) eslint-visitor-keys: 4.1.0 espree@9.2.0: dependencies: - acorn: 8.12.1 - acorn-jsx: 5.3.2(acorn@8.12.1) + acorn: 8.14.0 + acorn-jsx: 5.3.2(acorn@8.14.0) eslint-visitor-keys: 3.4.3 espree@9.6.1: @@ -14447,7 +14445,7 @@ snapshots: estree-walker@3.0.3: dependencies: - '@types/estree': 1.0.2 + '@types/estree': 1.0.5 esutils@2.0.3: {} @@ -14586,7 +14584,7 @@ snapshots: file-entry-cache@6.0.1: dependencies: - flat-cache: 3.1.0 + flat-cache: 3.2.0 file-entry-cache@8.0.0: dependencies: @@ -14652,18 +14650,18 @@ snapshots: micromatch: 4.0.5 pkg-dir: 4.2.0 - flat-cache@3.1.0: + flat-cache@3.2.0: dependencies: - flatted: 3.2.9 - keyv: 4.5.3 + flatted: 3.3.1 + keyv: 4.5.4 rimraf: 3.0.2 flat-cache@4.0.1: dependencies: - flatted: 3.2.9 + flatted: 3.3.1 keyv: 4.5.4 - flatted@3.2.9: {} + flatted@3.3.1: {} flow-parser@0.217.0: {} @@ -15170,7 +15168,7 @@ snapshots: is-reference@3.0.2: dependencies: - '@types/estree': 1.0.6 + '@types/estree': 1.0.5 is-regex@1.1.4: dependencies: @@ -15260,7 +15258,7 @@ snapshots: istanbul-lib-source-maps@4.0.1: dependencies: - debug: 4.3.7 + debug: 4.3.6 istanbul-lib-coverage: 3.2.0 source-map: 0.6.1 transitivePeerDependencies: @@ -16118,10 +16116,6 @@ snapshots: dependencies: commander: 8.3.0 - keyv@4.5.3: - dependencies: - json-buffer: 3.0.1 - keyv@4.5.4: dependencies: json-buffer: 3.0.1 @@ -17151,7 +17145,7 @@ snapshots: periscopic@3.1.0: dependencies: - '@types/estree': 1.0.2 + '@types/estree': 1.0.5 estree-walker: 3.0.3 is-reference: 3.0.2 @@ -17382,7 +17376,7 @@ snapshots: punycode.js@2.3.1: {} - punycode@2.3.0: {} + punycode@2.3.1: {} puppeteer-core@2.1.1(bufferutil@4.0.7)(utf-8-validate@5.0.10): dependencies: @@ -18325,7 +18319,7 @@ snapshots: tr46@1.0.1: dependencies: - punycode: 2.3.0 + punycode: 2.3.1 tree-kill@1.2.2: {} @@ -18403,12 +18397,12 @@ snapshots: babel-jest: 29.7.0(@babel/core@7.25.2) esbuild: 0.17.19 - ts-jest@29.2.5(@babel/core@7.25.2)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.2))(esbuild@0.23.1)(jest@29.7.0(@types/node@22.6.1))(typescript@5.5.4): + ts-jest@29.2.5(@babel/core@7.25.2)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.2))(esbuild@0.24.0)(jest@29.7.0(@types/node@22.6.1)(ts-node@10.9.2(@types/node@22.6.1)(typescript@5.5.4)))(typescript@5.5.4): dependencies: bs-logger: 0.2.6 ejs: 3.1.10 fast-json-stable-stringify: 2.1.0 - jest: 29.7.0(@types/node@22.6.1) + jest: 29.7.0(@types/node@22.6.1)(ts-node@10.9.2(@types/node@22.6.1)(typescript@5.5.4)) jest-util: 29.7.0 json5: 2.2.3 lodash.memoize: 4.1.2 @@ -18421,40 +18415,39 @@ snapshots: '@jest/transform': 29.7.0 '@jest/types': 29.6.3 babel-jest: 29.7.0(@babel/core@7.25.2) - esbuild: 0.23.1 + esbuild: 0.24.0 - ts-jest@29.2.5(@babel/core@7.25.2)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.2))(esbuild@0.24.0)(jest@29.7.0(@types/node@22.6.1)(ts-node@10.9.2(@types/node@22.6.1)(typescript@5.5.4)))(typescript@5.5.4): + ts-jest@29.2.5(@babel/core@7.25.2)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.2))(jest@29.7.0(@types/node@18.17.19)(ts-node@10.9.2(@types/node@18.17.19)(typescript@5.5.3)))(typescript@5.5.3): dependencies: bs-logger: 0.2.6 ejs: 3.1.10 fast-json-stable-stringify: 2.1.0 - jest: 29.7.0(@types/node@22.6.1)(ts-node@10.9.2(@types/node@22.6.1)(typescript@5.5.4)) + jest: 29.7.0(@types/node@18.17.19)(ts-node@10.9.2(@types/node@18.17.19)(typescript@5.5.3)) jest-util: 29.7.0 json5: 2.2.3 lodash.memoize: 4.1.2 make-error: 1.3.6 semver: 7.6.3 - typescript: 5.5.4 + typescript: 5.5.3 yargs-parser: 21.1.1 optionalDependencies: '@babel/core': 7.25.2 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 babel-jest: 29.7.0(@babel/core@7.25.2) - esbuild: 0.24.0 - ts-jest@29.2.5(@babel/core@7.25.2)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.2))(jest@29.7.0(@types/node@18.17.19)(ts-node@10.9.2(@types/node@18.17.19)(typescript@5.5.3)))(typescript@5.5.3): + ts-jest@29.2.5(@babel/core@7.25.2)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.2))(jest@29.7.0(@types/node@22.6.1))(typescript@5.5.4): dependencies: bs-logger: 0.2.6 ejs: 3.1.10 fast-json-stable-stringify: 2.1.0 - jest: 29.7.0(@types/node@18.17.19)(ts-node@10.9.2(@types/node@18.17.19)(typescript@5.5.3)) + jest: 29.7.0(@types/node@22.6.1) jest-util: 29.7.0 json5: 2.2.3 lodash.memoize: 4.1.2 make-error: 1.3.6 semver: 7.6.3 - typescript: 5.5.3 + typescript: 5.5.4 yargs-parser: 21.1.1 optionalDependencies: '@babel/core': 7.25.2 @@ -19004,7 +18997,7 @@ snapshots: unplugin@1.5.0: dependencies: - acorn: 8.12.1 + acorn: 8.14.0 chokidar: 3.5.3 webpack-sources: 3.2.3 webpack-virtual-modules: 0.5.0 @@ -19025,7 +19018,7 @@ snapshots: uri-js@4.4.1: dependencies: - punycode: 2.3.0 + punycode: 2.3.1 use-callback-ref@1.3.0(@types/react@18.2.22)(react@18.3.1): dependencies: