- {metadata.image && (
+ {metadata?.image && (
{
+ // Hide the image div if it fails to load
+ (e.target as HTMLDivElement).style.display = 'none';
+ }}
/>
)}
-
-
{metadata.title}
-
{metadata.description}
+
+
{metadata?.title}
+ {metadata?.description && (
+
{metadata.description}
+ )}
- {metadata.domain}
+ {metadata?.domain}
diff --git a/src/components/NoteContent.tsx b/src/components/NoteContent.tsx
index f92500e6..3a4a4993 100644
--- a/src/components/NoteContent.tsx
+++ b/src/components/NoteContent.tsx
@@ -1,5 +1,5 @@
import { useState, useEffect, useCallback } from 'react';
-import type { NostrEvent } from '@nostrify/nostrify';
+import type { NostrEvent } from '@jsr/nostrify__nostrify';
import { Link } from 'react-router-dom';
import { nip19 } from 'nostr-tools';
import { useAuthor } from '@/hooks/useAuthor';
@@ -314,7 +314,32 @@ export function NoteContent({
// We need to determine the link URL first before processing text content
const allMediaUrls = [...extractedImages, ...extractedVideos, ...extractedAudios];
const firstUrl = getFirstUrl(event.content);
- const determinedLinkUrl = firstUrl && !allMediaUrls.includes(firstUrl) ? firstUrl : null;
+
+ // Only create link preview for certain types of URLs (avoid API/data URLs)
+ const shouldCreateLinkPreview = (url: string): boolean => {
+ // Skip preview for these domains/URL patterns
+ const skipPatterns = [
+ 'api.', // API endpoint
+ 'data:', // Data URL
+ '.json', // JSON file
+ '.csv', // CSV file
+ '.pdf', // PDF file
+ '.xml', // XML file
+ 'localhost', // Local development
+ '127.0.0.1', // Local IP
+ 'blockstream.info' // Bitcoin explorer (often used for transaction links)
+ ];
+
+ // Skip preview if the URL is already displayed as media
+ if (allMediaUrls.includes(url)) return false;
+
+ // Skip if it matches any of the patterns
+ if (skipPatterns.some(pattern => url.includes(pattern))) return false;
+
+ return true;
+ };
+
+ const determinedLinkUrl = firstUrl && shouldCreateLinkPreview(firstUrl) ? firstUrl : null;
// Process the content and update state in one go to prevent multiple renders
const processed = processTextContent(event.content, extractedImages, extractedVideos, extractedAudios, determinedLinkUrl);
From 558a31da0ec4383027a26f78f33878b13d061e14 Mon Sep 17 00:00:00 2001
From: Liz Sweigart <127434495+NotThatKindOfDrLiz@users.noreply.github.com>
Date: Fri, 6 Jun 2025 11:17:59 -0500
Subject: [PATCH 11/12] Update JSR package imports across all files
---
package-lock.json | 205 +++++++++++++-----
src/App.tsx | 2 +-
src/components/EditProfileForm.tsx | 2 +-
src/components/LinkPreviewDemo.tsx | 2 +-
src/components/NostrProvider.tsx | 4 +-
src/components/groups/GroupNutzapList.tsx | 2 +-
src/components/groups/MemberManagement.tsx | 2 +-
src/components/groups/PendingRepliesList.tsx | 2 +-
src/components/groups/ReplyForm.tsx | 2 +-
src/components/groups/ReplyList.tsx | 2 +-
src/components/profile/CommonGroupsList.tsx | 2 +-
.../profile/CommonGroupsListImproved.tsx | 2 +-
src/hooks/useApprovedMembers.ts | 2 +-
src/hooks/useAuthor.ts | 4 +-
src/hooks/useBannedUsers.ts | 2 +-
src/hooks/useCashuWallet.ts | 2 +-
src/hooks/useCurrentUser.ts | 6 +-
src/hooks/useFilterDeletedGroups.ts | 2 +-
src/hooks/useFollowList.ts | 2 +-
src/hooks/useGroup.ts | 2 +-
src/hooks/useGroupDeletionRequests.ts | 2 +-
src/hooks/useGroupMembership.ts | 2 +-
src/hooks/useGroupReports.ts | 2 +-
src/hooks/useGroupStats.ts | 2 +-
src/hooks/useLoggedInAccounts.ts | 6 +-
src/hooks/useLoginActions.ts | 4 +-
src/hooks/useNostr.ts | 4 +-
src/hooks/useNostrPublish.ts | 4 +-
src/hooks/useNotifications.ts | 2 +-
src/hooks/usePendingReplies.ts | 2 +-
src/hooks/usePostById.ts | 2 +-
src/hooks/useProfileSync.ts | 4 +-
src/hooks/useReliableGroupMembership.ts | 2 +-
src/hooks/useReplies.ts | 4 +-
src/hooks/useReplyApprovals.ts | 4 +-
src/hooks/useReportActions.ts | 2 +-
src/hooks/useTrendingHashtags.ts | 2 +-
src/hooks/useUpdateApprovedMembers.ts | 2 +-
src/hooks/useUploadFile.ts | 2 +-
src/hooks/useUserGroups.ts | 2 +-
src/hooks/useUserGroupsFiltered.ts | 2 +-
src/pages/GroupPostsFeed.tsx | 2 +-
src/pages/GroupSettings.tsx | 2 +-
src/pages/Groups.tsx | 2 +-
src/pages/Hashtag.tsx | 2 +-
src/pages/Index.tsx | 2 +-
src/pages/Profile.tsx | 2 +-
47 files changed, 208 insertions(+), 113 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 47726af4..8a7252ed 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -11,8 +11,8 @@
"@cashu/cashu-ts": "^2.5.2",
"@cashu/crypto": "^0.3.4",
"@hookform/resolvers": "^3.9.0",
- "@nostrify/nostrify": "npm:@jsr/nostrify__nostrify@^0.46.2",
- "@nostrify/react": "npm:@jsr/nostrify__react@^0.2.6",
+ "@jsr/nostrify__nostrify": "^0.46.2",
+ "@jsr/nostrify__react": "^0.2.6",
"@radix-ui/react-accordion": "^1.2.0",
"@radix-ui/react-alert-dialog": "^1.1.1",
"@radix-ui/react-aspect-ratio": "^1.1.0",
@@ -94,6 +94,7 @@
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz",
"integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==",
+ "dev": true,
"engines": {
"node": ">=10"
},
@@ -782,6 +783,7 @@
"version": "8.0.2",
"resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
"integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==",
+ "dev": true,
"dependencies": {
"string-width": "^5.1.2",
"string-width-cjs": "npm:string-width@^4.2.0",
@@ -798,6 +800,7 @@
"version": "0.3.8",
"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz",
"integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==",
+ "dev": true,
"dependencies": {
"@jridgewell/set-array": "^1.2.1",
"@jridgewell/sourcemap-codec": "^1.4.10",
@@ -811,6 +814,7 @@
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
"integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
+ "dev": true,
"engines": {
"node": ">=6.0.0"
}
@@ -819,6 +823,7 @@
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
"integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
+ "dev": true,
"engines": {
"node": ">=6.0.0"
}
@@ -826,21 +831,23 @@
"node_modules/@jridgewell/sourcemap-codec": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
- "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ=="
+ "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==",
+ "dev": true
},
"node_modules/@jridgewell/trace-mapping": {
"version": "0.3.25",
"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
"integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
+ "dev": true,
"dependencies": {
"@jridgewell/resolve-uri": "^3.1.0",
"@jridgewell/sourcemap-codec": "^1.4.14"
}
},
"node_modules/@jsr/nostrify__nostrify": {
- "version": "0.46.2",
- "resolved": "https://npm.jsr.io/~/11/@jsr/nostrify__nostrify/0.46.2.tgz",
- "integrity": "sha512-V85/eL9mGDbg1Wt4JiLMcnOU5KgucQDlY8TyGYYJV+bD/ez+BwX9tAIyA3Zc7/B4JQPUIrpafO6jA+xM6ScIeA==",
+ "version": "0.46.3",
+ "resolved": "https://npm.jsr.io/~/11/@jsr/nostrify__nostrify/0.46.3.tgz",
+ "integrity": "sha512-zJpOrD8bbrJroLRJjESAJZX/ZKFCaGfoz5fSfLP+gIcTiPo8JpzlrFBF6mvaDI/Mdd+1WTBwlCcW9On8rUVH7w==",
"dependencies": {
"@jsr/nostrify__types": "^0.36.0",
"@jsr/scure__base": "^1.2.4",
@@ -851,6 +858,16 @@
"zod": "^3.23.8"
}
},
+ "node_modules/@jsr/nostrify__react": {
+ "version": "0.2.7",
+ "resolved": "https://npm.jsr.io/~/11/@jsr/nostrify__react/0.2.7.tgz",
+ "integrity": "sha512-36fAOOymf34KR2OfE4jXBojbZnPsrIzQDAXzE7dko8/Qj+0s8iKnZoZKg9DVIT2F6Lxhr6SUiTze8xBxuJbf1A==",
+ "dependencies": {
+ "@jsr/nostrify__nostrify": "^0.46.3",
+ "nostr-tools": "^2.13.0",
+ "react": "^18.0.0"
+ }
+ },
"node_modules/@jsr/nostrify__types": {
"version": "0.36.0",
"resolved": "https://npm.jsr.io/~/11/@jsr/nostrify__types/0.36.0.tgz",
@@ -903,6 +920,7 @@
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
"integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
+ "dev": true,
"dependencies": {
"@nodelib/fs.stat": "2.0.5",
"run-parallel": "^1.1.9"
@@ -915,6 +933,7 @@
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
"integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
+ "dev": true,
"engines": {
"node": ">= 8"
}
@@ -923,6 +942,7 @@
"version": "1.2.8",
"resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
"integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
+ "dev": true,
"dependencies": {
"@nodelib/fs.scandir": "2.1.5",
"fastq": "^1.6.0"
@@ -931,37 +951,11 @@
"node": ">= 8"
}
},
- "node_modules/@nostrify/nostrify": {
- "name": "@jsr/nostrify__nostrify",
- "version": "0.46.2",
- "resolved": "https://npm.jsr.io/~/11/@jsr/nostrify__nostrify/0.46.2.tgz",
- "integrity": "sha512-V85/eL9mGDbg1Wt4JiLMcnOU5KgucQDlY8TyGYYJV+bD/ez+BwX9tAIyA3Zc7/B4JQPUIrpafO6jA+xM6ScIeA==",
- "dependencies": {
- "@jsr/nostrify__types": "^0.36.0",
- "@jsr/scure__base": "^1.2.4",
- "@jsr/std__encoding": "^0.224.1",
- "lru-cache": "^10.2.0",
- "nostr-tools": "^2.13.0",
- "websocket-ts": "^2.2.1",
- "zod": "^3.23.8"
- }
- },
- "node_modules/@nostrify/react": {
- "name": "@jsr/nostrify__react",
- "version": "0.2.6",
- "resolved": "https://npm.jsr.io/~/11/@jsr/nostrify__react/0.2.6.tgz",
- "integrity": "sha512-s4QDCTC/uLk0JU0enwCDKqH9B3p/zY30KBoMf+3uCpy/K6XwPf3EDggZQZHVLYXVpru2UNlJaQ3KPvx4gID5bg==",
- "dependencies": {
- "@jsr/nostrify__nostrify": "^0.46.2",
- "@jsr/nostrify__types": "^0.36.0",
- "nostr-tools": "^2.13.0",
- "react": "^18.0.0"
- }
- },
"node_modules/@pkgjs/parseargs": {
"version": "0.11.0",
"resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
"integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==",
+ "dev": true,
"optional": true,
"engines": {
"node": ">=14"
@@ -2904,13 +2898,13 @@
"version": "15.7.14",
"resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.14.tgz",
"integrity": "sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==",
- "devOptional": true
+ "dev": true
},
"node_modules/@types/react": {
"version": "18.3.22",
"resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.22.tgz",
"integrity": "sha512-vUhG0YmQZ7kL/tmKLrD3g5zXbXXreZXB3pmROW8bg3CnLnpjkRVwUlLne7Ufa2r9yJ8+/6B73RzhAek5TBKh2Q==",
- "devOptional": true,
+ "dev": true,
"dependencies": {
"@types/prop-types": "*",
"csstype": "^3.0.2"
@@ -2920,7 +2914,7 @@
"version": "18.3.7",
"resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.7.tgz",
"integrity": "sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==",
- "devOptional": true,
+ "dev": true,
"peerDependencies": {
"@types/react": "^18.0.0"
}
@@ -3228,6 +3222,7 @@
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz",
"integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==",
+ "dev": true,
"engines": {
"node": ">=12"
},
@@ -3239,6 +3234,7 @@
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
"dependencies": {
"color-convert": "^2.0.1"
},
@@ -3252,12 +3248,14 @@
"node_modules/any-promise": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
- "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A=="
+ "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==",
+ "dev": true
},
"node_modules/anymatch": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
"integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
+ "dev": true,
"dependencies": {
"normalize-path": "^3.0.0",
"picomatch": "^2.0.4"
@@ -3269,7 +3267,8 @@
"node_modules/arg": {
"version": "5.0.2",
"resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz",
- "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg=="
+ "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==",
+ "dev": true
},
"node_modules/argparse": {
"version": "2.0.1",
@@ -3328,7 +3327,8 @@
"node_modules/balanced-match": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
+ "dev": true
},
"node_modules/base64-js": {
"version": "1.5.1",
@@ -3353,6 +3353,7 @@
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz",
"integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==",
+ "dev": true,
"engines": {
"node": ">=8"
},
@@ -3394,6 +3395,7 @@
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
+ "dev": true,
"dependencies": {
"fill-range": "^7.1.1"
},
@@ -3507,6 +3509,7 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz",
"integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==",
+ "dev": true,
"engines": {
"node": ">= 6"
}
@@ -3551,6 +3554,7 @@
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
"integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
+ "dev": true,
"dependencies": {
"anymatch": "~3.1.2",
"braces": "~3.0.2",
@@ -3574,6 +3578,7 @@
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "dev": true,
"dependencies": {
"is-glob": "^4.0.1"
},
@@ -3619,6 +3624,7 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
"dependencies": {
"color-name": "~1.1.4"
},
@@ -3629,12 +3635,14 @@
"node_modules/color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
},
"node_modules/commander": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
"integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
+ "dev": true,
"engines": {
"node": ">= 6"
}
@@ -3688,6 +3696,7 @@
"version": "7.0.6",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
"integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
+ "dev": true,
"dependencies": {
"path-key": "^3.1.0",
"shebang-command": "^2.0.0",
@@ -3701,6 +3710,7 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
"integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
+ "dev": true,
"bin": {
"cssesc": "bin/cssesc"
},
@@ -3877,12 +3887,14 @@
"node_modules/didyoumean": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz",
- "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw=="
+ "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==",
+ "dev": true
},
"node_modules/dlv": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz",
- "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA=="
+ "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==",
+ "dev": true
},
"node_modules/dom-helpers": {
"version": "5.2.1",
@@ -3910,7 +3922,8 @@
"node_modules/eastasianwidth": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
- "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA=="
+ "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==",
+ "dev": true
},
"node_modules/ee-first": {
"version": "1.1.1",
@@ -3966,7 +3979,8 @@
"node_modules/emoji-regex": {
"version": "9.2.2",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
- "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="
+ "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
+ "dev": true
},
"node_modules/encodeurl": {
"version": "2.0.0",
@@ -4316,6 +4330,7 @@
"version": "3.3.3",
"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz",
"integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==",
+ "dev": true,
"dependencies": {
"@nodelib/fs.stat": "^2.0.2",
"@nodelib/fs.walk": "^1.2.3",
@@ -4331,6 +4346,7 @@
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "dev": true,
"dependencies": {
"is-glob": "^4.0.1"
},
@@ -4354,6 +4370,7 @@
"version": "1.19.1",
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz",
"integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==",
+ "dev": true,
"dependencies": {
"reusify": "^1.0.4"
}
@@ -4374,6 +4391,7 @@
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
+ "dev": true,
"dependencies": {
"to-regex-range": "^5.0.1"
},
@@ -4442,6 +4460,7 @@
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz",
"integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==",
+ "dev": true,
"dependencies": {
"cross-spawn": "^7.0.6",
"signal-exit": "^4.0.1"
@@ -4488,6 +4507,7 @@
"version": "2.3.3",
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
"integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
+ "dev": true,
"hasInstallScript": true,
"optional": true,
"os": [
@@ -4501,6 +4521,7 @@
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
"integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
+ "dev": true,
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
@@ -4554,6 +4575,7 @@
"version": "10.4.5",
"resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz",
"integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==",
+ "dev": true,
"dependencies": {
"foreground-child": "^3.1.0",
"jackspeak": "^3.1.2",
@@ -4573,6 +4595,7 @@
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
"integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
+ "dev": true,
"dependencies": {
"is-glob": "^4.0.3"
},
@@ -4584,6 +4607,7 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dev": true,
"dependencies": {
"balanced-match": "^1.0.0"
}
@@ -4592,6 +4616,7 @@
"version": "9.0.5",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
+ "dev": true,
"dependencies": {
"brace-expansion": "^2.0.1"
},
@@ -4657,6 +4682,7 @@
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
"integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
+ "dev": true,
"dependencies": {
"function-bind": "^1.1.2"
},
@@ -4781,6 +4807,7 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
"integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+ "dev": true,
"dependencies": {
"binary-extensions": "^2.0.0"
},
@@ -4792,6 +4819,7 @@
"version": "2.16.1",
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz",
"integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==",
+ "dev": true,
"dependencies": {
"hasown": "^2.0.2"
},
@@ -4806,6 +4834,7 @@
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
"integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+ "dev": true,
"engines": {
"node": ">=0.10.0"
}
@@ -4814,6 +4843,7 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
"integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "dev": true,
"engines": {
"node": ">=8"
}
@@ -4822,6 +4852,7 @@
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
"integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "dev": true,
"dependencies": {
"is-extglob": "^2.1.1"
},
@@ -4833,6 +4864,7 @@
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "dev": true,
"engines": {
"node": ">=0.12.0"
}
@@ -4846,12 +4878,14 @@
"node_modules/isexe": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+ "dev": true
},
"node_modules/jackspeak": {
"version": "3.4.3",
"resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz",
"integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==",
+ "dev": true,
"dependencies": {
"@isaacs/cliui": "^8.0.2"
},
@@ -4866,6 +4900,7 @@
"version": "1.21.7",
"resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz",
"integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==",
+ "dev": true,
"bin": {
"jiti": "bin/jiti.js"
}
@@ -4931,6 +4966,7 @@
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz",
"integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==",
+ "dev": true,
"engines": {
"node": ">=14"
},
@@ -4941,7 +4977,8 @@
"node_modules/lines-and-columns": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
- "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg=="
+ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
+ "dev": true
},
"node_modules/locate-path": {
"version": "6.0.0",
@@ -5050,6 +5087,7 @@
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
"integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
+ "dev": true,
"engines": {
"node": ">= 8"
}
@@ -5058,6 +5096,7 @@
"version": "4.0.8",
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
"integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
+ "dev": true,
"dependencies": {
"braces": "^3.0.3",
"picomatch": "^2.3.1"
@@ -5103,6 +5142,7 @@
"version": "7.1.2",
"resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
"integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
+ "dev": true,
"engines": {
"node": ">=16 || 14 >=14.17"
}
@@ -5117,6 +5157,7 @@
"version": "2.7.0",
"resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz",
"integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==",
+ "dev": true,
"dependencies": {
"any-promise": "^1.0.0",
"object-assign": "^4.0.1",
@@ -5127,6 +5168,7 @@
"version": "3.3.11",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",
"integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==",
+ "dev": true,
"funding": [
{
"type": "github",
@@ -5174,6 +5216,7 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
"integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+ "dev": true,
"engines": {
"node": ">=0.10.0"
}
@@ -5309,6 +5352,7 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz",
"integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==",
+ "dev": true,
"engines": {
"node": ">= 6"
}
@@ -5396,7 +5440,8 @@
"node_modules/package-json-from-dist": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz",
- "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw=="
+ "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==",
+ "dev": true
},
"node_modules/parent-module": {
"version": "1.0.1",
@@ -5432,6 +5477,7 @@
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
"integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+ "dev": true,
"engines": {
"node": ">=8"
}
@@ -5439,12 +5485,14 @@
"node_modules/path-parse": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
- "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="
+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
+ "dev": true
},
"node_modules/path-scurry": {
"version": "1.11.1",
"resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz",
"integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==",
+ "dev": true,
"dependencies": {
"lru-cache": "^10.2.0",
"minipass": "^5.0.0 || ^6.0.2 || ^7.0.0"
@@ -5468,12 +5516,14 @@
"node_modules/picocolors": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
- "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="
+ "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
+ "dev": true
},
"node_modules/picomatch": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+ "dev": true,
"engines": {
"node": ">=8.6"
},
@@ -5485,6 +5535,7 @@
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
"integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
+ "dev": true,
"engines": {
"node": ">=0.10.0"
}
@@ -5493,6 +5544,7 @@
"version": "4.0.7",
"resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz",
"integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==",
+ "dev": true,
"engines": {
"node": ">= 6"
}
@@ -5501,6 +5553,7 @@
"version": "8.5.3",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz",
"integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==",
+ "dev": true,
"funding": [
{
"type": "opencollective",
@@ -5528,6 +5581,7 @@
"version": "15.1.0",
"resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz",
"integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==",
+ "dev": true,
"dependencies": {
"postcss-value-parser": "^4.0.0",
"read-cache": "^1.0.0",
@@ -5544,6 +5598,7 @@
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz",
"integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==",
+ "dev": true,
"dependencies": {
"camelcase-css": "^2.0.1"
},
@@ -5562,6 +5617,7 @@
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz",
"integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==",
+ "dev": true,
"funding": [
{
"type": "opencollective",
@@ -5596,6 +5652,7 @@
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz",
"integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==",
+ "dev": true,
"funding": [
{
"type": "opencollective",
@@ -5620,6 +5677,7 @@
"version": "6.1.2",
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz",
"integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==",
+ "dev": true,
"dependencies": {
"cssesc": "^3.0.0",
"util-deprecate": "^1.0.2"
@@ -5644,7 +5702,8 @@
"node_modules/postcss-value-parser": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
- "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ=="
+ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
+ "dev": true
},
"node_modules/prelude-ls": {
"version": "1.2.1",
@@ -5719,6 +5778,7 @@
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
"integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
+ "dev": true,
"funding": [
{
"type": "github",
@@ -5964,6 +6024,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
"integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==",
+ "dev": true,
"dependencies": {
"pify": "^2.3.0"
}
@@ -5972,6 +6033,7 @@
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
"integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
+ "dev": true,
"dependencies": {
"picomatch": "^2.2.1"
},
@@ -6018,6 +6080,7 @@
"version": "1.22.10",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz",
"integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==",
+ "dev": true,
"dependencies": {
"is-core-module": "^2.16.0",
"path-parse": "^1.0.7",
@@ -6046,6 +6109,7 @@
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz",
"integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==",
+ "dev": true,
"engines": {
"iojs": ">=1.0.0",
"node": ">=0.10.0"
@@ -6110,6 +6174,7 @@
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
"integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
+ "dev": true,
"funding": [
{
"type": "github",
@@ -6221,6 +6286,7 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
"integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+ "dev": true,
"dependencies": {
"shebang-regex": "^3.0.0"
},
@@ -6232,6 +6298,7 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
"integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+ "dev": true,
"engines": {
"node": ">=8"
}
@@ -6312,6 +6379,7 @@
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
"integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
+ "dev": true,
"engines": {
"node": ">=14"
},
@@ -6332,6 +6400,7 @@
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
"integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
+ "dev": true,
"engines": {
"node": ">=0.10.0"
}
@@ -6349,6 +6418,7 @@
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
"integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
+ "dev": true,
"dependencies": {
"eastasianwidth": "^0.2.0",
"emoji-regex": "^9.2.2",
@@ -6366,6 +6436,7 @@
"version": "4.2.3",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
"dependencies": {
"emoji-regex": "^8.0.0",
"is-fullwidth-code-point": "^3.0.0",
@@ -6379,6 +6450,7 @@
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true,
"engines": {
"node": ">=8"
}
@@ -6386,12 +6458,14 @@
"node_modules/string-width-cjs/node_modules/emoji-regex": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "dev": true
},
"node_modules/string-width-cjs/node_modules/strip-ansi": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
"dependencies": {
"ansi-regex": "^5.0.1"
},
@@ -6403,6 +6477,7 @@
"version": "7.1.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
"integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
+ "dev": true,
"dependencies": {
"ansi-regex": "^6.0.1"
},
@@ -6418,6 +6493,7 @@
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
"dependencies": {
"ansi-regex": "^5.0.1"
},
@@ -6429,6 +6505,7 @@
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true,
"engines": {
"node": ">=8"
}
@@ -6449,6 +6526,7 @@
"version": "3.35.0",
"resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz",
"integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==",
+ "dev": true,
"dependencies": {
"@jridgewell/gen-mapping": "^0.3.2",
"commander": "^4.0.0",
@@ -6482,6 +6560,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
"integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
+ "dev": true,
"engines": {
"node": ">= 0.4"
},
@@ -6502,6 +6581,7 @@
"version": "3.4.17",
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.17.tgz",
"integrity": "sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==",
+ "dev": true,
"dependencies": {
"@alloc/quick-lru": "^5.2.0",
"arg": "^5.0.2",
@@ -6546,6 +6626,7 @@
"version": "6.1.2",
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz",
"integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==",
+ "dev": true,
"dependencies": {
"cssesc": "^3.0.0",
"util-deprecate": "^1.0.2"
@@ -6558,6 +6639,7 @@
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz",
"integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==",
+ "dev": true,
"dependencies": {
"any-promise": "^1.0.0"
}
@@ -6566,6 +6648,7 @@
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz",
"integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==",
+ "dev": true,
"dependencies": {
"thenify": ">= 3.1.0 < 4"
},
@@ -6624,6 +6707,7 @@
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dev": true,
"dependencies": {
"is-number": "^7.0.0"
},
@@ -6663,7 +6747,8 @@
"node_modules/ts-interface-checker": {
"version": "0.1.13",
"resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz",
- "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA=="
+ "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==",
+ "dev": true
},
"node_modules/tslib": {
"version": "2.8.1",
@@ -6700,7 +6785,7 @@
"version": "5.8.3",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz",
"integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==",
- "devOptional": true,
+ "dev": true,
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
@@ -6837,7 +6922,8 @@
"node_modules/util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
+ "dev": true
},
"node_modules/uuid": {
"version": "11.1.0",
@@ -7002,6 +7088,7 @@
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
"integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
"dependencies": {
"isexe": "^2.0.0"
},
@@ -7025,6 +7112,7 @@
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
"integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
+ "dev": true,
"dependencies": {
"ansi-styles": "^6.1.0",
"string-width": "^5.0.1",
@@ -7042,6 +7130,7 @@
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
"integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "dev": true,
"dependencies": {
"ansi-styles": "^4.0.0",
"string-width": "^4.1.0",
@@ -7058,6 +7147,7 @@
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true,
"engines": {
"node": ">=8"
}
@@ -7065,12 +7155,14 @@
"node_modules/wrap-ansi-cjs/node_modules/emoji-regex": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "dev": true
},
"node_modules/wrap-ansi-cjs/node_modules/string-width": {
"version": "4.2.3",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
"dependencies": {
"emoji-regex": "^8.0.0",
"is-fullwidth-code-point": "^3.0.0",
@@ -7084,6 +7176,7 @@
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
"dependencies": {
"ansi-regex": "^5.0.1"
},
@@ -7095,6 +7188,7 @@
"version": "6.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
"integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
+ "dev": true,
"engines": {
"node": ">=12"
},
@@ -7112,6 +7206,7 @@
"version": "2.8.0",
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.0.tgz",
"integrity": "sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==",
+ "dev": true,
"bin": {
"yaml": "bin.mjs"
},
diff --git a/src/App.tsx b/src/App.tsx
index 16f5ccf3..68d413c8 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -6,7 +6,7 @@ import { Toaster } from "@/components/ui/toaster";
import { Toaster as Sonner } from "@/components/ui/sonner";
import { TooltipProvider } from "@/components/ui/tooltip";
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
-import { NostrLoginProvider } from '@nostrify/react/login';
+import { NostrLoginProvider } from '@jsr/nostrify__react/login';
import AppRouter from './AppRouter';
import { useSystemTheme } from '@/hooks/useSystemTheme';
import { JoinDialogProvider } from '@/components/groups/JoinDialogProvider';
diff --git a/src/components/EditProfileForm.tsx b/src/components/EditProfileForm.tsx
index ddcd3045..a88eef64 100644
--- a/src/components/EditProfileForm.tsx
+++ b/src/components/EditProfileForm.tsx
@@ -17,7 +17,7 @@ import {
import { Input } from "@/components/ui/input";
import { Textarea } from "@/components/ui/textarea";
import { ArrowLeft, Loader2, Upload } from "lucide-react";
-import { NSchema as n, type NostrMetadata } from "@nostrify/nostrify";
+import { NSchema as n, type NostrMetadata } from "@jsr/nostrify__nostrify";
import { useQueryClient } from "@tanstack/react-query";
import { useUploadFile } from "@/hooks/useUploadFile";
import { useNavigate } from "react-router-dom";
diff --git a/src/components/LinkPreviewDemo.tsx b/src/components/LinkPreviewDemo.tsx
index bd733e6d..d47e8e0d 100644
--- a/src/components/LinkPreviewDemo.tsx
+++ b/src/components/LinkPreviewDemo.tsx
@@ -4,7 +4,7 @@ import { Input } from '@/components/ui/input';
import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card';
import { LinkPreview } from './LinkPreview';
import { NoteContent } from './NoteContent';
-import type { NostrEvent } from '@nostrify/nostrify';
+import type { NostrEvent } from '@jsr/nostrify__nostrify';
export function LinkPreviewDemo() {
const [url, setUrl] = useState('https://github.com/nostr-protocol/nips');
diff --git a/src/components/NostrProvider.tsx b/src/components/NostrProvider.tsx
index 437d0b27..002633b1 100644
--- a/src/components/NostrProvider.tsx
+++ b/src/components/NostrProvider.tsx
@@ -1,5 +1,5 @@
-import { NostrEvent, NPool, NRelay1 } from "@nostrify/nostrify";
-import { NostrContext } from "@nostrify/react";
+import { NostrEvent, NPool, NRelay1 } from "@jsr/nostrify__nostrify";
+import { NostrContext } from "@jsr/nostrify__react";
import React, { useRef } from "react";
import { storeEventTimestamp } from "@/lib/nostrTimestamps";
diff --git a/src/components/groups/GroupNutzapList.tsx b/src/components/groups/GroupNutzapList.tsx
index 43af8221..f4547d91 100644
--- a/src/components/groups/GroupNutzapList.tsx
+++ b/src/components/groups/GroupNutzapList.tsx
@@ -9,7 +9,7 @@ import { Zap, DollarSign, Bitcoin, ArrowLeftRight } from "lucide-react";
import { Link } from "react-router-dom";
import { useState, useEffect, useRef } from "react";
import { useCurrencyDisplayStore } from "@/stores/currencyDisplayStore";
-import { NostrEvent } from "@nostrify/nostrify";
+import { NostrEvent } from "@jsr/nostrify__nostrify";
interface GroupNutzapListProps {
groupId: string;
diff --git a/src/components/groups/MemberManagement.tsx b/src/components/groups/MemberManagement.tsx
index 2990ba45..342df176 100644
--- a/src/components/groups/MemberManagement.tsx
+++ b/src/components/groups/MemberManagement.tsx
@@ -13,7 +13,7 @@ import { Skeleton } from "@/components/ui/skeleton";
import { useAuthor } from "@/hooks/useAuthor";
import { toast } from "sonner";
import { UserPlus, Users, CheckCircle, XCircle, UserX, Ban } from "lucide-react";
-import { NostrEvent } from "@nostrify/nostrify";
+import { NostrEvent } from "@jsr/nostrify__nostrify";
import { Link, useLocation } from "react-router-dom";
import { KINDS } from "@/lib/nostr-kinds";
import { useApprovedMembers } from "@/hooks/useApprovedMembers";
diff --git a/src/components/groups/PendingRepliesList.tsx b/src/components/groups/PendingRepliesList.tsx
index 353023e2..ac785a9a 100644
--- a/src/components/groups/PendingRepliesList.tsx
+++ b/src/components/groups/PendingRepliesList.tsx
@@ -12,7 +12,7 @@ import { NoteContent } from "../NoteContent";
import { Link } from "react-router-dom";
import { CheckCircle, AlertCircle, MessageSquare, ArrowUpRight } from "lucide-react";
import { toast } from "sonner";
-import { NostrEvent } from "@nostrify/nostrify";
+import { NostrEvent } from "@jsr/nostrify__nostrify";
import { KINDS } from "@/lib/nostr-kinds";
interface PendingRepliesListProps {
diff --git a/src/components/groups/ReplyForm.tsx b/src/components/groups/ReplyForm.tsx
index a55aad67..e50fcbce 100644
--- a/src/components/groups/ReplyForm.tsx
+++ b/src/components/groups/ReplyForm.tsx
@@ -9,7 +9,7 @@ import { Textarea } from "@/components/ui/textarea";
import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar";
import { toast } from "sonner";
import { Loader2, Send, AlertTriangle, Image, Mic, Square, XCircle } from "lucide-react";
-import { NostrEvent } from "@nostrify/nostrify";
+import { NostrEvent } from "@jsr/nostrify__nostrify";
import { Link } from "react-router-dom";
import { KINDS } from "@/lib/nostr-kinds";
diff --git a/src/components/groups/ReplyList.tsx b/src/components/groups/ReplyList.tsx
index 4e475597..c3dce3fc 100644
--- a/src/components/groups/ReplyList.tsx
+++ b/src/components/groups/ReplyList.tsx
@@ -1,5 +1,5 @@
import { useState } from "react";
-import { NostrEvent } from "@nostrify/nostrify";
+import { NostrEvent } from "@jsr/nostrify__nostrify";
import { useReplies, useNestedReplies } from "@/hooks/useReplies";
import { useAuthor } from "@/hooks/useAuthor";
import { useCurrentUser } from "@/hooks/useCurrentUser";
diff --git a/src/components/profile/CommonGroupsList.tsx b/src/components/profile/CommonGroupsList.tsx
index 8d627921..b6c21cbc 100644
--- a/src/components/profile/CommonGroupsList.tsx
+++ b/src/components/profile/CommonGroupsList.tsx
@@ -7,7 +7,7 @@ import { Skeleton } from "@/components/ui/skeleton";
import { Badge } from "@/components/ui/badge";
import { RichText } from "@/components/ui/RichText";
import { Users, Crown, Shield, User } from "lucide-react";
-import type { NostrEvent } from "@nostrify/nostrify";
+import type { NostrEvent } from "@jsr/nostrify__nostrify";
import { parseNostrAddress } from "@/lib/nostr-utils";
import { KINDS } from "@/lib/nostr-kinds";
diff --git a/src/components/profile/CommonGroupsListImproved.tsx b/src/components/profile/CommonGroupsListImproved.tsx
index f4b0ca67..7936bfc0 100644
--- a/src/components/profile/CommonGroupsListImproved.tsx
+++ b/src/components/profile/CommonGroupsListImproved.tsx
@@ -7,7 +7,7 @@ import { Skeleton } from "@/components/ui/skeleton";
import { Badge } from "@/components/ui/badge";
import { RichText } from "@/components/ui/RichText";
import { Users, Crown, Shield, User, ArrowRight } from "lucide-react";
-import type { NostrEvent } from "@nostrify/nostrify";
+import type { NostrEvent } from "@jsr/nostrify__nostrify";
import { parseNostrAddress } from "@/lib/nostr-utils";
import { useAuthor } from "@/hooks/useAuthor";
import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar";
diff --git a/src/hooks/useApprovedMembers.ts b/src/hooks/useApprovedMembers.ts
index cba0da8f..2bb4a340 100644
--- a/src/hooks/useApprovedMembers.ts
+++ b/src/hooks/useApprovedMembers.ts
@@ -1,4 +1,4 @@
-import { useNostr } from "@nostrify/react";
+import { useNostr } from "@jsr/nostrify__react";
import { useQuery } from "@tanstack/react-query";
import { parseNostrAddress } from "@/lib/nostr-utils";
import { KINDS } from "@/lib/nostr-kinds";
diff --git a/src/hooks/useAuthor.ts b/src/hooks/useAuthor.ts
index 79ebbfea..f5167271 100644
--- a/src/hooks/useAuthor.ts
+++ b/src/hooks/useAuthor.ts
@@ -1,5 +1,5 @@
-import { type NostrEvent, type NostrMetadata, NSchema as n } from '@nostrify/nostrify';
-import { useNostr } from '@nostrify/react';
+import { type NostrEvent, type NostrMetadata, NSchema as n } from '@jsr/nostrify__nostrify';
+import { useNostr } from '@jsr/nostrify__react';
import { useQuery } from '@tanstack/react-query';
import { KINDS } from "@/lib/nostr-kinds";
diff --git a/src/hooks/useBannedUsers.ts b/src/hooks/useBannedUsers.ts
index 954c1aaa..e94844fa 100644
--- a/src/hooks/useBannedUsers.ts
+++ b/src/hooks/useBannedUsers.ts
@@ -3,7 +3,7 @@ import { useNostrPublish } from "@/hooks/useNostrPublish";
import { useQuery, useQueryClient } from "@tanstack/react-query";
import { toast } from "sonner";
import { KINDS } from "@/lib/nostr-kinds";
-import { NostrFilter } from "@nostrify/nostrify";
+import { NostrFilter } from "@jsr/nostrify__nostrify";
import { useGroup } from "./useGroup";
/**
diff --git a/src/hooks/useCashuWallet.ts b/src/hooks/useCashuWallet.ts
index f8722d56..fc614488 100644
--- a/src/hooks/useCashuWallet.ts
+++ b/src/hooks/useCashuWallet.ts
@@ -6,7 +6,7 @@ import { NostrEvent, getPublicKey } from 'nostr-tools';
import { useCashuStore, Nip60TokenEvent } from '@/stores/cashuStore';
import { Proof } from '@cashu/cashu-ts';
import { getLastEventTimestamp } from '@/lib/nostrTimestamps';
-import { NSchema as n } from '@nostrify/nostrify';
+import { NSchema as n } from '@jsr/nostrify__nostrify';
import { z } from 'zod';
import { useNutzaps } from '@/hooks/useNutzaps';
import { hexToBytes } from '@noble/hashes/utils';
diff --git a/src/hooks/useCurrentUser.ts b/src/hooks/useCurrentUser.ts
index 7e47e3f8..601a7e0b 100644
--- a/src/hooks/useCurrentUser.ts
+++ b/src/hooks/useCurrentUser.ts
@@ -1,7 +1,7 @@
-import { type NLoginType, NUser, useNostrLogin } from '@nostrify/react/login';
-import { useNostr } from '@nostrify/react';
+import { type NLoginType, NUser, useNostrLogin } from '@jsr/nostrify__react/login';
+import { useNostr } from '@jsr/nostrify__react';
import { useCallback, useMemo } from 'react';
-import type { NostrEvent } from '@nostrify/nostrify';
+import type { NostrEvent } from '@jsr/nostrify__nostrify';
import { useAuthor } from './useAuthor.ts';
import { useLoggedInAccounts } from './useLoggedInAccounts.ts';
diff --git a/src/hooks/useFilterDeletedGroups.ts b/src/hooks/useFilterDeletedGroups.ts
index 009c321b..d5eaf344 100644
--- a/src/hooks/useFilterDeletedGroups.ts
+++ b/src/hooks/useFilterDeletedGroups.ts
@@ -1,6 +1,6 @@
import { useMemo } from "react";
import { useGroupDeletionRequests } from "./useGroupDeletionRequests";
-import type { NostrEvent } from "@nostrify/nostrify";
+import type { NostrEvent } from "@jsr/nostrify__nostrify";
import { KINDS } from "@/lib/nostr-kinds";
// Helper function to get a unique community ID
diff --git a/src/hooks/useFollowList.ts b/src/hooks/useFollowList.ts
index 081ea7b3..94b7f41f 100644
--- a/src/hooks/useFollowList.ts
+++ b/src/hooks/useFollowList.ts
@@ -3,7 +3,7 @@ import { useNostrPublish } from '@/hooks/useNostrPublish';
import { useCurrentUser } from '@/hooks/useCurrentUser';
import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';
import { toast } from 'sonner';
-import { NostrEvent } from '@nostrify/nostrify';
+import { NostrEvent } from '@jsr/nostrify__nostrify';
import { KINDS } from "@/lib/nostr-kinds";
export function useFollowList(pubkey?: string) {
diff --git a/src/hooks/useGroup.ts b/src/hooks/useGroup.ts
index d40eeaa3..c6407656 100644
--- a/src/hooks/useGroup.ts
+++ b/src/hooks/useGroup.ts
@@ -1,4 +1,4 @@
-import { useNostr } from "@nostrify/react";
+import { useNostr } from "@jsr/nostrify__react";
import { useQuery } from "@tanstack/react-query";
import { KINDS } from "@/lib/nostr-kinds";
import { parseNostrAddress } from "@/lib/nostr-utils";
diff --git a/src/hooks/useGroupDeletionRequests.ts b/src/hooks/useGroupDeletionRequests.ts
index 37ffada2..00331189 100644
--- a/src/hooks/useGroupDeletionRequests.ts
+++ b/src/hooks/useGroupDeletionRequests.ts
@@ -1,7 +1,7 @@
import { useQuery } from "@tanstack/react-query";
import { useNostr } from "@/hooks/useNostr";
import { KINDS } from "@/lib/nostr-kinds";
-import type { NostrEvent } from "@nostrify/nostrify";
+import type { NostrEvent } from "@jsr/nostrify__nostrify";
interface GroupDeletionRequest {
deletionEvent: NostrEvent;
diff --git a/src/hooks/useGroupMembership.ts b/src/hooks/useGroupMembership.ts
index 3847e512..0c394072 100644
--- a/src/hooks/useGroupMembership.ts
+++ b/src/hooks/useGroupMembership.ts
@@ -1,4 +1,4 @@
-import { useNostr } from "@nostrify/react";
+import { useNostr } from "@jsr/nostrify__react";
import { useQuery } from "@tanstack/react-query";
import { useCurrentUser } from "./useCurrentUser";
import { KINDS } from "@/lib/nostr-kinds";
diff --git a/src/hooks/useGroupReports.ts b/src/hooks/useGroupReports.ts
index 1d62da6c..107529e9 100644
--- a/src/hooks/useGroupReports.ts
+++ b/src/hooks/useGroupReports.ts
@@ -1,6 +1,6 @@
import { useNostr } from "@/hooks/useNostr";
import { useQuery } from "@tanstack/react-query";
-import { NostrEvent } from "@nostrify/nostrify";
+import { NostrEvent } from "@jsr/nostrify__nostrify";
import { KINDS } from "@/lib/nostr-kinds";
export interface Report extends NostrEvent {
diff --git a/src/hooks/useGroupStats.ts b/src/hooks/useGroupStats.ts
index f35b9479..6c0054a2 100644
--- a/src/hooks/useGroupStats.ts
+++ b/src/hooks/useGroupStats.ts
@@ -1,6 +1,6 @@
import { useNostr } from "@/hooks/useNostr";
import { useQuery } from "@tanstack/react-query";
-import { NostrEvent } from "@nostrify/nostrify";
+import { NostrEvent } from "@jsr/nostrify__nostrify";
import { KINDS } from "@/lib/nostr-kinds";
export interface GroupStats {
diff --git a/src/hooks/useLoggedInAccounts.ts b/src/hooks/useLoggedInAccounts.ts
index af45bf5e..30670450 100644
--- a/src/hooks/useLoggedInAccounts.ts
+++ b/src/hooks/useLoggedInAccounts.ts
@@ -1,7 +1,7 @@
-import { useNostr } from '@nostrify/react';
-import { useNostrLogin } from '@nostrify/react/login';
+import { useNostr } from '@jsr/nostrify__react';
+import { useNostrLogin } from '@jsr/nostrify__react/login';
import { useQuery } from '@tanstack/react-query';
-import { NSchema as n, NostrEvent, NostrMetadata } from '@nostrify/nostrify';
+import { NSchema as n, NostrEvent, NostrMetadata } from '@jsr/nostrify__nostrify';
import { KINDS } from "@/lib/nostr-kinds";
export interface Account {
diff --git a/src/hooks/useLoginActions.ts b/src/hooks/useLoginActions.ts
index 54ba1a64..0f986eb8 100644
--- a/src/hooks/useLoginActions.ts
+++ b/src/hooks/useLoginActions.ts
@@ -1,5 +1,5 @@
-import { useNostr } from '@nostrify/react';
-import { NLogin, useNostrLogin } from '@nostrify/react/login';
+import { useNostr } from '@jsr/nostrify__react';
+import { NLogin, useNostrLogin } from '@jsr/nostrify__react/login';
// NOTE: This file should not be edited except for adding new login methods.
diff --git a/src/hooks/useNostr.ts b/src/hooks/useNostr.ts
index 68db5406..81c6f889 100644
--- a/src/hooks/useNostr.ts
+++ b/src/hooks/useNostr.ts
@@ -1,6 +1,6 @@
// This file exists because LLMs get confused and try to create this file if it doesn't exist.
-// The `useNostr` hook should be imported directly from `@nostrify/react`, not from this file.
+// The `useNostr` hook should be imported directly from `@jsr/nostrify__react`, not from this file.
// This file SHOULD NOT be edited or removed.
-export { useNostr } from "@nostrify/react";
+export { useNostr } from "@jsr/nostrify__react";
diff --git a/src/hooks/useNostrPublish.ts b/src/hooks/useNostrPublish.ts
index efa6f664..369b54fa 100644
--- a/src/hooks/useNostrPublish.ts
+++ b/src/hooks/useNostrPublish.ts
@@ -1,5 +1,5 @@
-import { NKinds } from "@nostrify/nostrify";
-import { useNostr } from "@nostrify/react";
+import { NKinds } from "@jsr/nostrify__nostrify";
+import { useNostr } from "@jsr/nostrify__react";
import { useMutation, useQueryClient } from "@tanstack/react-query";
import { useCurrentUser } from "./useCurrentUser";
import { getPostExpirationTimestamp } from "../lib/utils";
diff --git a/src/hooks/useNotifications.ts b/src/hooks/useNotifications.ts
index 9285d7c1..166ede3f 100644
--- a/src/hooks/useNotifications.ts
+++ b/src/hooks/useNotifications.ts
@@ -2,7 +2,7 @@ import { useNostr } from '@/hooks/useNostr';
import { useCurrentUser } from '@/hooks/useCurrentUser';
import { useQuery, useQueryClient } from '@tanstack/react-query';
import { useUserGroups } from '@/hooks/useUserGroups';
-import { NostrEvent } from '@nostrify/nostrify';
+import { NostrEvent } from '@jsr/nostrify__nostrify';
import { KINDS } from '@/lib/nostr-kinds';
export interface Notification {
diff --git a/src/hooks/usePendingReplies.ts b/src/hooks/usePendingReplies.ts
index 08f33f2f..264eb3df 100644
--- a/src/hooks/usePendingReplies.ts
+++ b/src/hooks/usePendingReplies.ts
@@ -1,6 +1,6 @@
import { useNostr } from "@/hooks/useNostr";
import { useQuery } from "@tanstack/react-query";
-import { NostrEvent } from "@nostrify/nostrify";
+import { NostrEvent } from "@jsr/nostrify__nostrify";
import { useApprovedMembers } from "./useApprovedMembers";
import { useReplyApprovals } from "./useReplyApprovals";
import { parseNostrAddress } from "@/lib/nostr-utils";
diff --git a/src/hooks/usePostById.ts b/src/hooks/usePostById.ts
index 6873e68b..e8ec96f0 100644
--- a/src/hooks/usePostById.ts
+++ b/src/hooks/usePostById.ts
@@ -1,6 +1,6 @@
import { useNostr } from "@/hooks/useNostr";
import { useQuery } from "@tanstack/react-query";
-import { NostrEvent } from "@nostrify/nostrify";
+import { NostrEvent } from "@jsr/nostrify__nostrify";
/**
* Hook to fetch a post by its ID
diff --git a/src/hooks/useProfileSync.ts b/src/hooks/useProfileSync.ts
index c08e496b..466ce650 100644
--- a/src/hooks/useProfileSync.ts
+++ b/src/hooks/useProfileSync.ts
@@ -1,6 +1,6 @@
-import { useNostr } from '@nostrify/react';
+import { useNostr } from '@jsr/nostrify__react';
import { useCallback } from 'react';
-import { NostrEvent, NRelay1 } from '@nostrify/nostrify';
+import { NostrEvent, NRelay1 } from '@jsr/nostrify__nostrify';
const PRIMARY_RELAY = 'wss://relay.chorus.community/';
const FALLBACK_RELAYS = [
diff --git a/src/hooks/useReliableGroupMembership.ts b/src/hooks/useReliableGroupMembership.ts
index 8e98aff2..7fe0597a 100644
--- a/src/hooks/useReliableGroupMembership.ts
+++ b/src/hooks/useReliableGroupMembership.ts
@@ -1,4 +1,4 @@
-import { useNostr } from "@nostrify/react";
+import { useNostr } from "@jsr/nostrify__react";
import { useQuery } from "@tanstack/react-query";
import { useCurrentUser } from "./useCurrentUser";
import { parseNostrAddress } from "@/lib/nostr-utils";
diff --git a/src/hooks/useReplies.ts b/src/hooks/useReplies.ts
index 41507cac..9aff039b 100644
--- a/src/hooks/useReplies.ts
+++ b/src/hooks/useReplies.ts
@@ -1,6 +1,6 @@
-import { useNostr } from "@nostrify/react";
+import { useNostr } from "@jsr/nostrify__react";
import { useQuery } from "@tanstack/react-query";
-import { NostrEvent } from "@nostrify/nostrify";
+import { NostrEvent } from "@jsr/nostrify__nostrify";
import { KINDS } from "@/lib/nostr-kinds";
/**
diff --git a/src/hooks/useReplyApprovals.ts b/src/hooks/useReplyApprovals.ts
index 53a2299e..ee74cc7c 100644
--- a/src/hooks/useReplyApprovals.ts
+++ b/src/hooks/useReplyApprovals.ts
@@ -1,6 +1,6 @@
-import { useNostr } from "@nostrify/react";
+import { useNostr } from "@jsr/nostrify__react";
import { useQuery } from "@tanstack/react-query";
-import { NostrEvent } from "@nostrify/nostrify";
+import { NostrEvent } from "@jsr/nostrify__nostrify";
import { KINDS } from "@/lib/nostr-kinds";
/**
diff --git a/src/hooks/useReportActions.ts b/src/hooks/useReportActions.ts
index 95144182..aa775306 100644
--- a/src/hooks/useReportActions.ts
+++ b/src/hooks/useReportActions.ts
@@ -3,7 +3,7 @@ import { useCurrentUser } from "@/hooks/useCurrentUser";
import { toast } from "sonner";
import { useBannedUsers } from "@/hooks/useBannedUsers";
import { useNostr } from "@/hooks/useNostr";
-import { NostrEvent } from "@nostrify/nostrify";
+import { NostrEvent } from "@jsr/nostrify__nostrify";
import { useUpdateApprovedMembers } from "@/hooks/useUpdateApprovedMembers";
import { KINDS } from "@/lib/nostr-kinds";
diff --git a/src/hooks/useTrendingHashtags.ts b/src/hooks/useTrendingHashtags.ts
index f461ad89..7dfe3faf 100644
--- a/src/hooks/useTrendingHashtags.ts
+++ b/src/hooks/useTrendingHashtags.ts
@@ -1,5 +1,5 @@
import { useQuery } from '@tanstack/react-query';
-import { useNostr } from '@nostrify/react';
+import { useNostr } from '@jsr/nostrify__react';
import { KINDS } from "@/lib/nostr-kinds";
export interface TrendingHashtag {
diff --git a/src/hooks/useUpdateApprovedMembers.ts b/src/hooks/useUpdateApprovedMembers.ts
index bb97505f..e76f0669 100644
--- a/src/hooks/useUpdateApprovedMembers.ts
+++ b/src/hooks/useUpdateApprovedMembers.ts
@@ -2,7 +2,7 @@ import { useNostr } from "@/hooks/useNostr";
import { useNostrPublish } from "@/hooks/useNostrPublish";
import { useQueryClient } from "@tanstack/react-query";
import { toast } from "sonner";
-import { NostrEvent } from "@nostrify/nostrify";
+import { NostrEvent } from "@jsr/nostrify__nostrify";
import { KINDS } from "@/lib/nostr-kinds";
/**
diff --git a/src/hooks/useUploadFile.ts b/src/hooks/useUploadFile.ts
index f1cbcaf2..cf88a871 100644
--- a/src/hooks/useUploadFile.ts
+++ b/src/hooks/useUploadFile.ts
@@ -1,5 +1,5 @@
import { useMutation } from "@tanstack/react-query";
-import { BlossomUploader } from '@nostrify/nostrify/uploaders';
+import { BlossomUploader } from '@jsr/nostrify__nostrify/uploaders';
import { useCurrentUser } from "./useCurrentUser";
diff --git a/src/hooks/useUserGroups.ts b/src/hooks/useUserGroups.ts
index 04b81317..87327249 100644
--- a/src/hooks/useUserGroups.ts
+++ b/src/hooks/useUserGroups.ts
@@ -1,7 +1,7 @@
import { useNostr } from "./useNostr";
import { useCurrentUser } from "./useCurrentUser";
import { useQuery } from "@tanstack/react-query";
-import type { NostrEvent, NostrFilter } from "@nostrify/nostrify";
+import type { NostrEvent, NostrFilter } from "@jsr/nostrify__nostrify";
import { usePinnedGroups } from "./usePinnedGroups";
import { KINDS } from "@/lib/nostr-kinds";
import { useGroupDeletionRequests } from "./useGroupDeletionRequests";
diff --git a/src/hooks/useUserGroupsFiltered.ts b/src/hooks/useUserGroupsFiltered.ts
index 745fd2ca..e7bd3f06 100644
--- a/src/hooks/useUserGroupsFiltered.ts
+++ b/src/hooks/useUserGroupsFiltered.ts
@@ -1,7 +1,7 @@
import { useMemo } from "react";
import { useUserGroups } from "./useUserGroups";
import { useGroupDeletionRequests } from "./useGroupDeletionRequests";
-import type { NostrEvent } from "@nostrify/nostrify";
+import type { NostrEvent } from "@jsr/nostrify__nostrify";
import { KINDS } from "@/lib/nostr-kinds";
// Helper function to get a unique community ID
diff --git a/src/pages/GroupPostsFeed.tsx b/src/pages/GroupPostsFeed.tsx
index ebdb76e6..fabfbd6f 100644
--- a/src/pages/GroupPostsFeed.tsx
+++ b/src/pages/GroupPostsFeed.tsx
@@ -9,7 +9,7 @@ import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs";
import { Card, CardContent, CardHeader, CardDescription, CardTitle } from "@/components/ui/card";
import { parseNostrAddress } from "@/lib/nostr-utils";
import { KINDS } from "@/lib/nostr-kinds";
-import { NostrEvent } from "@nostrify/nostrify";
+import { NostrEvent } from "@jsr/nostrify__nostrify";
import { GroupPostItem } from "@/components/groups/GroupPostItem";
import { Button } from "@/components/ui/button";
import { Link } from "react-router-dom";
diff --git a/src/pages/GroupSettings.tsx b/src/pages/GroupSettings.tsx
index 8f1b0f20..4c7d2468 100644
--- a/src/pages/GroupSettings.tsx
+++ b/src/pages/GroupSettings.tsx
@@ -20,7 +20,7 @@ import { usePendingJoinRequests } from "@/hooks/usePendingJoinRequests";
import { toast } from "sonner";
import { ArrowLeft, Save, UserPlus, Users, Shield, Trash2, FileWarning, Upload, Loader2 } from "lucide-react";
import { parseNostrAddress } from "@/lib/nostr-utils";
-import type { NostrEvent } from "@nostrify/nostrify";
+import type { NostrEvent } from "@jsr/nostrify__nostrify";
import Header from "@/components/ui/Header";
import { ReportsList } from "@/components/groups/ReportsList";
import { MemberManagement } from "@/components/groups/MemberManagement";
diff --git a/src/pages/Groups.tsx b/src/pages/Groups.tsx
index 329db554..10e38298 100644
--- a/src/pages/Groups.tsx
+++ b/src/pages/Groups.tsx
@@ -15,7 +15,7 @@ import { useUserPendingJoinRequests } from "@/hooks/useUserPendingJoinRequests";
import { GroupCard } from "@/components/groups/GroupCard";
import { PWAInstallBanner } from "@/components/PWAInstallBanner";
import { PWAInstallInstructions } from "@/components/PWAInstallInstructions";
-import type { NostrEvent } from "@nostrify/nostrify";
+import type { NostrEvent } from "@jsr/nostrify__nostrify";
import type { UserRole } from "@/hooks/useUserRole";
import { KINDS } from "@/lib/nostr-kinds";
import { useCashuWallet } from "@/hooks/useCashuWallet";
diff --git a/src/pages/Hashtag.tsx b/src/pages/Hashtag.tsx
index bca3378e..34af0673 100644
--- a/src/pages/Hashtag.tsx
+++ b/src/pages/Hashtag.tsx
@@ -15,7 +15,7 @@ import { formatRelativeTime } from "@/lib/utils";
import { ArrowLeft, Hash, MessageSquare, MoreVertical, Flag, Share2, Users, TrendingUp } from "lucide-react";
import { Link } from "react-router-dom";
import { useMemo, useState } from "react";
-import type { NostrEvent } from "@nostrify/nostrify";
+import type { NostrEvent } from "@jsr/nostrify__nostrify";
import { nip19 } from "nostr-tools";
import { shareContent } from "@/lib/share";
import { ReplyList } from "@/components/groups/ReplyList";
diff --git a/src/pages/Index.tsx b/src/pages/Index.tsx
index 3b8016c8..454d417a 100644
--- a/src/pages/Index.tsx
+++ b/src/pages/Index.tsx
@@ -5,7 +5,7 @@ import LoginDialog from "@/components/auth/LoginDialog";
import { useLoggedInAccounts } from "@/hooks/useLoggedInAccounts";
import { EditProfileForm } from "@/components/EditProfileForm";
import { generateFakeName } from "@/lib/utils";
-import { useNostrLogin, NLogin } from "@nostrify/react/login";
+import { useNostrLogin, NLogin } from "@jsr/nostrify__react/login";
import { useNostrPublish } from "@/hooks/useNostrPublish";
import { generateSecretKey, nip19 } from "nostr-tools";
import { toast } from "@/hooks/useToast";
diff --git a/src/pages/Profile.tsx b/src/pages/Profile.tsx
index e2043251..b29661db 100644
--- a/src/pages/Profile.tsx
+++ b/src/pages/Profile.tsx
@@ -38,7 +38,7 @@ import {
Timer
} from "lucide-react";
import { toast } from "sonner";
-import type { NostrEvent } from "@nostrify/nostrify";
+import type { NostrEvent } from "@jsr/nostrify__nostrify";
import { parseNostrAddress } from "@/lib/nostr-utils";
import Header from "@/components/ui/Header";
import { VerifiedNip05 } from "@/components/VerifiedNip05";
From 366ad6dab56e40ec489008d4199340e67c85e1e5 Mon Sep 17 00:00:00 2001
From: Alex Gleason
Date: Mon, 9 Jun 2025 16:54:59 -0500
Subject: [PATCH 12/12] Restore Nostrify JSR imports
---
.npmrc | 12 +-
package-lock.json | 205 +++++-------------
package.json | 18 +-
src/App.tsx | 2 +-
src/components/EditProfileForm.tsx | 2 +-
src/components/LinkPreviewDemo.tsx | 2 +-
src/components/NostrProvider.tsx | 4 +-
src/components/NoteContent.tsx | 2 +-
src/components/groups/GroupCard.tsx | 2 +-
src/components/groups/GroupNutzapList.tsx | 2 +-
src/components/groups/GroupPostItem.tsx | 2 +-
src/components/groups/MemberManagement.tsx | 2 +-
src/components/groups/PendingRepliesList.tsx | 2 +-
src/components/groups/PostList.tsx | 2 +-
src/components/groups/ReplyForm.tsx | 2 +-
src/components/groups/ReplyList.tsx | 2 +-
src/components/profile/CommonGroupsList.tsx | 2 +-
.../profile/CommonGroupsListImproved.tsx | 2 +-
src/hooks/useApprovedMembers.ts | 2 +-
src/hooks/useAuthor.ts | 4 +-
src/hooks/useBannedUsers.ts | 2 +-
src/hooks/useCashuWallet.ts | 2 +-
src/hooks/useCurrentUser.ts | 6 +-
src/hooks/useFilterDeletedGroups.ts | 2 +-
src/hooks/useFollowList.ts | 2 +-
src/hooks/useGroup.ts | 2 +-
src/hooks/useGroupDeletionRequests.ts | 2 +-
src/hooks/useGroupMembership.ts | 2 +-
src/hooks/useGroupReports.ts | 2 +-
src/hooks/useGroupStats.ts | 2 +-
src/hooks/useLoggedInAccounts.ts | 6 +-
src/hooks/useLoginActions.ts | 4 +-
src/hooks/useNostr.ts | 4 +-
src/hooks/useNostrPublish.ts | 4 +-
src/hooks/useNotifications.ts | 2 +-
src/hooks/usePendingReplies.ts | 2 +-
src/hooks/usePostById.ts | 2 +-
src/hooks/useProfileSync.ts | 4 +-
src/hooks/useReliableGroupMembership.ts | 2 +-
src/hooks/useReplies.ts | 4 +-
src/hooks/useReplyApprovals.ts | 4 +-
src/hooks/useReportActions.ts | 2 +-
src/hooks/useTrendingHashtags.ts | 2 +-
src/hooks/useUpdateApprovedMembers.ts | 2 +-
src/hooks/useUploadFile.ts | 2 +-
src/hooks/useUserGroups.ts | 2 +-
src/hooks/useUserGroupsFiltered.ts | 2 +-
src/pages/GroupDetail.tsx | 2 +-
src/pages/GroupPostsFeed.tsx | 2 +-
src/pages/GroupSettings.tsx | 2 +-
src/pages/Groups.tsx | 2 +-
src/pages/Hashtag.tsx | 2 +-
src/pages/Index.tsx | 2 +-
src/pages/Profile.tsx | 2 +-
vite.config.ts | 4 +-
55 files changed, 129 insertions(+), 236 deletions(-)
diff --git a/.npmrc b/.npmrc
index b4e6736c..41583e36 100644
--- a/.npmrc
+++ b/.npmrc
@@ -1,11 +1 @@
-fetch-timeout=600000
-fetch-retries=5
-fetch-retry-factor=2
-fetch-retry-mintimeout=20000
-fetch-retry-maxtimeout=120000
-network-timeout=600000
-registry=https://registry.npmjs.org/
-@jsr:registry=https://npm.jsr.io/
-node-linker=hoisted
-legacy-peer-deps=true
-prefer-offline=true
\ No newline at end of file
+@jsr:registry=https://npm.jsr.io
diff --git a/package-lock.json b/package-lock.json
index 8a7252ed..47726af4 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -11,8 +11,8 @@
"@cashu/cashu-ts": "^2.5.2",
"@cashu/crypto": "^0.3.4",
"@hookform/resolvers": "^3.9.0",
- "@jsr/nostrify__nostrify": "^0.46.2",
- "@jsr/nostrify__react": "^0.2.6",
+ "@nostrify/nostrify": "npm:@jsr/nostrify__nostrify@^0.46.2",
+ "@nostrify/react": "npm:@jsr/nostrify__react@^0.2.6",
"@radix-ui/react-accordion": "^1.2.0",
"@radix-ui/react-alert-dialog": "^1.1.1",
"@radix-ui/react-aspect-ratio": "^1.1.0",
@@ -94,7 +94,6 @@
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz",
"integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==",
- "dev": true,
"engines": {
"node": ">=10"
},
@@ -783,7 +782,6 @@
"version": "8.0.2",
"resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
"integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==",
- "dev": true,
"dependencies": {
"string-width": "^5.1.2",
"string-width-cjs": "npm:string-width@^4.2.0",
@@ -800,7 +798,6 @@
"version": "0.3.8",
"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz",
"integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==",
- "dev": true,
"dependencies": {
"@jridgewell/set-array": "^1.2.1",
"@jridgewell/sourcemap-codec": "^1.4.10",
@@ -814,7 +811,6 @@
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
"integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
- "dev": true,
"engines": {
"node": ">=6.0.0"
}
@@ -823,7 +819,6 @@
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
"integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
- "dev": true,
"engines": {
"node": ">=6.0.0"
}
@@ -831,23 +826,21 @@
"node_modules/@jridgewell/sourcemap-codec": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
- "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==",
- "dev": true
+ "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ=="
},
"node_modules/@jridgewell/trace-mapping": {
"version": "0.3.25",
"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
"integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
- "dev": true,
"dependencies": {
"@jridgewell/resolve-uri": "^3.1.0",
"@jridgewell/sourcemap-codec": "^1.4.14"
}
},
"node_modules/@jsr/nostrify__nostrify": {
- "version": "0.46.3",
- "resolved": "https://npm.jsr.io/~/11/@jsr/nostrify__nostrify/0.46.3.tgz",
- "integrity": "sha512-zJpOrD8bbrJroLRJjESAJZX/ZKFCaGfoz5fSfLP+gIcTiPo8JpzlrFBF6mvaDI/Mdd+1WTBwlCcW9On8rUVH7w==",
+ "version": "0.46.2",
+ "resolved": "https://npm.jsr.io/~/11/@jsr/nostrify__nostrify/0.46.2.tgz",
+ "integrity": "sha512-V85/eL9mGDbg1Wt4JiLMcnOU5KgucQDlY8TyGYYJV+bD/ez+BwX9tAIyA3Zc7/B4JQPUIrpafO6jA+xM6ScIeA==",
"dependencies": {
"@jsr/nostrify__types": "^0.36.0",
"@jsr/scure__base": "^1.2.4",
@@ -858,16 +851,6 @@
"zod": "^3.23.8"
}
},
- "node_modules/@jsr/nostrify__react": {
- "version": "0.2.7",
- "resolved": "https://npm.jsr.io/~/11/@jsr/nostrify__react/0.2.7.tgz",
- "integrity": "sha512-36fAOOymf34KR2OfE4jXBojbZnPsrIzQDAXzE7dko8/Qj+0s8iKnZoZKg9DVIT2F6Lxhr6SUiTze8xBxuJbf1A==",
- "dependencies": {
- "@jsr/nostrify__nostrify": "^0.46.3",
- "nostr-tools": "^2.13.0",
- "react": "^18.0.0"
- }
- },
"node_modules/@jsr/nostrify__types": {
"version": "0.36.0",
"resolved": "https://npm.jsr.io/~/11/@jsr/nostrify__types/0.36.0.tgz",
@@ -920,7 +903,6 @@
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
"integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
- "dev": true,
"dependencies": {
"@nodelib/fs.stat": "2.0.5",
"run-parallel": "^1.1.9"
@@ -933,7 +915,6 @@
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
"integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
- "dev": true,
"engines": {
"node": ">= 8"
}
@@ -942,7 +923,6 @@
"version": "1.2.8",
"resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
"integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
- "dev": true,
"dependencies": {
"@nodelib/fs.scandir": "2.1.5",
"fastq": "^1.6.0"
@@ -951,11 +931,37 @@
"node": ">= 8"
}
},
+ "node_modules/@nostrify/nostrify": {
+ "name": "@jsr/nostrify__nostrify",
+ "version": "0.46.2",
+ "resolved": "https://npm.jsr.io/~/11/@jsr/nostrify__nostrify/0.46.2.tgz",
+ "integrity": "sha512-V85/eL9mGDbg1Wt4JiLMcnOU5KgucQDlY8TyGYYJV+bD/ez+BwX9tAIyA3Zc7/B4JQPUIrpafO6jA+xM6ScIeA==",
+ "dependencies": {
+ "@jsr/nostrify__types": "^0.36.0",
+ "@jsr/scure__base": "^1.2.4",
+ "@jsr/std__encoding": "^0.224.1",
+ "lru-cache": "^10.2.0",
+ "nostr-tools": "^2.13.0",
+ "websocket-ts": "^2.2.1",
+ "zod": "^3.23.8"
+ }
+ },
+ "node_modules/@nostrify/react": {
+ "name": "@jsr/nostrify__react",
+ "version": "0.2.6",
+ "resolved": "https://npm.jsr.io/~/11/@jsr/nostrify__react/0.2.6.tgz",
+ "integrity": "sha512-s4QDCTC/uLk0JU0enwCDKqH9B3p/zY30KBoMf+3uCpy/K6XwPf3EDggZQZHVLYXVpru2UNlJaQ3KPvx4gID5bg==",
+ "dependencies": {
+ "@jsr/nostrify__nostrify": "^0.46.2",
+ "@jsr/nostrify__types": "^0.36.0",
+ "nostr-tools": "^2.13.0",
+ "react": "^18.0.0"
+ }
+ },
"node_modules/@pkgjs/parseargs": {
"version": "0.11.0",
"resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
"integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==",
- "dev": true,
"optional": true,
"engines": {
"node": ">=14"
@@ -2898,13 +2904,13 @@
"version": "15.7.14",
"resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.14.tgz",
"integrity": "sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==",
- "dev": true
+ "devOptional": true
},
"node_modules/@types/react": {
"version": "18.3.22",
"resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.22.tgz",
"integrity": "sha512-vUhG0YmQZ7kL/tmKLrD3g5zXbXXreZXB3pmROW8bg3CnLnpjkRVwUlLne7Ufa2r9yJ8+/6B73RzhAek5TBKh2Q==",
- "dev": true,
+ "devOptional": true,
"dependencies": {
"@types/prop-types": "*",
"csstype": "^3.0.2"
@@ -2914,7 +2920,7 @@
"version": "18.3.7",
"resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.7.tgz",
"integrity": "sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==",
- "dev": true,
+ "devOptional": true,
"peerDependencies": {
"@types/react": "^18.0.0"
}
@@ -3222,7 +3228,6 @@
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz",
"integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==",
- "dev": true,
"engines": {
"node": ">=12"
},
@@ -3234,7 +3239,6 @@
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
"dependencies": {
"color-convert": "^2.0.1"
},
@@ -3248,14 +3252,12 @@
"node_modules/any-promise": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
- "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==",
- "dev": true
+ "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A=="
},
"node_modules/anymatch": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
"integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
- "dev": true,
"dependencies": {
"normalize-path": "^3.0.0",
"picomatch": "^2.0.4"
@@ -3267,8 +3269,7 @@
"node_modules/arg": {
"version": "5.0.2",
"resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz",
- "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==",
- "dev": true
+ "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg=="
},
"node_modules/argparse": {
"version": "2.0.1",
@@ -3327,8 +3328,7 @@
"node_modules/balanced-match": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
- "dev": true
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
},
"node_modules/base64-js": {
"version": "1.5.1",
@@ -3353,7 +3353,6 @@
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz",
"integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==",
- "dev": true,
"engines": {
"node": ">=8"
},
@@ -3395,7 +3394,6 @@
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
- "dev": true,
"dependencies": {
"fill-range": "^7.1.1"
},
@@ -3509,7 +3507,6 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz",
"integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==",
- "dev": true,
"engines": {
"node": ">= 6"
}
@@ -3554,7 +3551,6 @@
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
"integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
- "dev": true,
"dependencies": {
"anymatch": "~3.1.2",
"braces": "~3.0.2",
@@ -3578,7 +3574,6 @@
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "dev": true,
"dependencies": {
"is-glob": "^4.0.1"
},
@@ -3624,7 +3619,6 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
"dependencies": {
"color-name": "~1.1.4"
},
@@ -3635,14 +3629,12 @@
"node_modules/color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
},
"node_modules/commander": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
"integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
- "dev": true,
"engines": {
"node": ">= 6"
}
@@ -3696,7 +3688,6 @@
"version": "7.0.6",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
"integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
- "dev": true,
"dependencies": {
"path-key": "^3.1.0",
"shebang-command": "^2.0.0",
@@ -3710,7 +3701,6 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
"integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
- "dev": true,
"bin": {
"cssesc": "bin/cssesc"
},
@@ -3887,14 +3877,12 @@
"node_modules/didyoumean": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz",
- "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==",
- "dev": true
+ "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw=="
},
"node_modules/dlv": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz",
- "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==",
- "dev": true
+ "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA=="
},
"node_modules/dom-helpers": {
"version": "5.2.1",
@@ -3922,8 +3910,7 @@
"node_modules/eastasianwidth": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
- "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==",
- "dev": true
+ "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA=="
},
"node_modules/ee-first": {
"version": "1.1.1",
@@ -3979,8 +3966,7 @@
"node_modules/emoji-regex": {
"version": "9.2.2",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
- "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
- "dev": true
+ "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="
},
"node_modules/encodeurl": {
"version": "2.0.0",
@@ -4330,7 +4316,6 @@
"version": "3.3.3",
"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz",
"integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==",
- "dev": true,
"dependencies": {
"@nodelib/fs.stat": "^2.0.2",
"@nodelib/fs.walk": "^1.2.3",
@@ -4346,7 +4331,6 @@
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "dev": true,
"dependencies": {
"is-glob": "^4.0.1"
},
@@ -4370,7 +4354,6 @@
"version": "1.19.1",
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz",
"integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==",
- "dev": true,
"dependencies": {
"reusify": "^1.0.4"
}
@@ -4391,7 +4374,6 @@
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
- "dev": true,
"dependencies": {
"to-regex-range": "^5.0.1"
},
@@ -4460,7 +4442,6 @@
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz",
"integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==",
- "dev": true,
"dependencies": {
"cross-spawn": "^7.0.6",
"signal-exit": "^4.0.1"
@@ -4507,7 +4488,6 @@
"version": "2.3.3",
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
"integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
- "dev": true,
"hasInstallScript": true,
"optional": true,
"os": [
@@ -4521,7 +4501,6 @@
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
"integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
- "dev": true,
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
@@ -4575,7 +4554,6 @@
"version": "10.4.5",
"resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz",
"integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==",
- "dev": true,
"dependencies": {
"foreground-child": "^3.1.0",
"jackspeak": "^3.1.2",
@@ -4595,7 +4573,6 @@
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
"integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
- "dev": true,
"dependencies": {
"is-glob": "^4.0.3"
},
@@ -4607,7 +4584,6 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
- "dev": true,
"dependencies": {
"balanced-match": "^1.0.0"
}
@@ -4616,7 +4592,6 @@
"version": "9.0.5",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
- "dev": true,
"dependencies": {
"brace-expansion": "^2.0.1"
},
@@ -4682,7 +4657,6 @@
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
"integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
- "dev": true,
"dependencies": {
"function-bind": "^1.1.2"
},
@@ -4807,7 +4781,6 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
"integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
- "dev": true,
"dependencies": {
"binary-extensions": "^2.0.0"
},
@@ -4819,7 +4792,6 @@
"version": "2.16.1",
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz",
"integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==",
- "dev": true,
"dependencies": {
"hasown": "^2.0.2"
},
@@ -4834,7 +4806,6 @@
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
"integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
- "dev": true,
"engines": {
"node": ">=0.10.0"
}
@@ -4843,7 +4814,6 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
"integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true,
"engines": {
"node": ">=8"
}
@@ -4852,7 +4822,6 @@
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
"integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
- "dev": true,
"dependencies": {
"is-extglob": "^2.1.1"
},
@@ -4864,7 +4833,6 @@
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "dev": true,
"engines": {
"node": ">=0.12.0"
}
@@ -4878,14 +4846,12 @@
"node_modules/isexe": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
- "dev": true
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="
},
"node_modules/jackspeak": {
"version": "3.4.3",
"resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz",
"integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==",
- "dev": true,
"dependencies": {
"@isaacs/cliui": "^8.0.2"
},
@@ -4900,7 +4866,6 @@
"version": "1.21.7",
"resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz",
"integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==",
- "dev": true,
"bin": {
"jiti": "bin/jiti.js"
}
@@ -4966,7 +4931,6 @@
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz",
"integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==",
- "dev": true,
"engines": {
"node": ">=14"
},
@@ -4977,8 +4941,7 @@
"node_modules/lines-and-columns": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
- "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
- "dev": true
+ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg=="
},
"node_modules/locate-path": {
"version": "6.0.0",
@@ -5087,7 +5050,6 @@
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
"integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
- "dev": true,
"engines": {
"node": ">= 8"
}
@@ -5096,7 +5058,6 @@
"version": "4.0.8",
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
"integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
- "dev": true,
"dependencies": {
"braces": "^3.0.3",
"picomatch": "^2.3.1"
@@ -5142,7 +5103,6 @@
"version": "7.1.2",
"resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
"integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
- "dev": true,
"engines": {
"node": ">=16 || 14 >=14.17"
}
@@ -5157,7 +5117,6 @@
"version": "2.7.0",
"resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz",
"integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==",
- "dev": true,
"dependencies": {
"any-promise": "^1.0.0",
"object-assign": "^4.0.1",
@@ -5168,7 +5127,6 @@
"version": "3.3.11",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",
"integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==",
- "dev": true,
"funding": [
{
"type": "github",
@@ -5216,7 +5174,6 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
"integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
- "dev": true,
"engines": {
"node": ">=0.10.0"
}
@@ -5352,7 +5309,6 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz",
"integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==",
- "dev": true,
"engines": {
"node": ">= 6"
}
@@ -5440,8 +5396,7 @@
"node_modules/package-json-from-dist": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz",
- "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==",
- "dev": true
+ "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw=="
},
"node_modules/parent-module": {
"version": "1.0.1",
@@ -5477,7 +5432,6 @@
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
"integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
- "dev": true,
"engines": {
"node": ">=8"
}
@@ -5485,14 +5439,12 @@
"node_modules/path-parse": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
- "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
- "dev": true
+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="
},
"node_modules/path-scurry": {
"version": "1.11.1",
"resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz",
"integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==",
- "dev": true,
"dependencies": {
"lru-cache": "^10.2.0",
"minipass": "^5.0.0 || ^6.0.2 || ^7.0.0"
@@ -5516,14 +5468,12 @@
"node_modules/picocolors": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
- "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
- "dev": true
+ "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="
},
"node_modules/picomatch": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
- "dev": true,
"engines": {
"node": ">=8.6"
},
@@ -5535,7 +5485,6 @@
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
"integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
- "dev": true,
"engines": {
"node": ">=0.10.0"
}
@@ -5544,7 +5493,6 @@
"version": "4.0.7",
"resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz",
"integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==",
- "dev": true,
"engines": {
"node": ">= 6"
}
@@ -5553,7 +5501,6 @@
"version": "8.5.3",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz",
"integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==",
- "dev": true,
"funding": [
{
"type": "opencollective",
@@ -5581,7 +5528,6 @@
"version": "15.1.0",
"resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz",
"integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==",
- "dev": true,
"dependencies": {
"postcss-value-parser": "^4.0.0",
"read-cache": "^1.0.0",
@@ -5598,7 +5544,6 @@
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz",
"integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==",
- "dev": true,
"dependencies": {
"camelcase-css": "^2.0.1"
},
@@ -5617,7 +5562,6 @@
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz",
"integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==",
- "dev": true,
"funding": [
{
"type": "opencollective",
@@ -5652,7 +5596,6 @@
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz",
"integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==",
- "dev": true,
"funding": [
{
"type": "opencollective",
@@ -5677,7 +5620,6 @@
"version": "6.1.2",
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz",
"integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==",
- "dev": true,
"dependencies": {
"cssesc": "^3.0.0",
"util-deprecate": "^1.0.2"
@@ -5702,8 +5644,7 @@
"node_modules/postcss-value-parser": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
- "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
- "dev": true
+ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ=="
},
"node_modules/prelude-ls": {
"version": "1.2.1",
@@ -5778,7 +5719,6 @@
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
"integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
- "dev": true,
"funding": [
{
"type": "github",
@@ -6024,7 +5964,6 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
"integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==",
- "dev": true,
"dependencies": {
"pify": "^2.3.0"
}
@@ -6033,7 +5972,6 @@
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
"integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
- "dev": true,
"dependencies": {
"picomatch": "^2.2.1"
},
@@ -6080,7 +6018,6 @@
"version": "1.22.10",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz",
"integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==",
- "dev": true,
"dependencies": {
"is-core-module": "^2.16.0",
"path-parse": "^1.0.7",
@@ -6109,7 +6046,6 @@
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz",
"integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==",
- "dev": true,
"engines": {
"iojs": ">=1.0.0",
"node": ">=0.10.0"
@@ -6174,7 +6110,6 @@
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
"integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
- "dev": true,
"funding": [
{
"type": "github",
@@ -6286,7 +6221,6 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
"integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
- "dev": true,
"dependencies": {
"shebang-regex": "^3.0.0"
},
@@ -6298,7 +6232,6 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
"integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
- "dev": true,
"engines": {
"node": ">=8"
}
@@ -6379,7 +6312,6 @@
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
"integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
- "dev": true,
"engines": {
"node": ">=14"
},
@@ -6400,7 +6332,6 @@
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
"integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
- "dev": true,
"engines": {
"node": ">=0.10.0"
}
@@ -6418,7 +6349,6 @@
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
"integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
- "dev": true,
"dependencies": {
"eastasianwidth": "^0.2.0",
"emoji-regex": "^9.2.2",
@@ -6436,7 +6366,6 @@
"version": "4.2.3",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dev": true,
"dependencies": {
"emoji-regex": "^8.0.0",
"is-fullwidth-code-point": "^3.0.0",
@@ -6450,7 +6379,6 @@
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "dev": true,
"engines": {
"node": ">=8"
}
@@ -6458,14 +6386,12 @@
"node_modules/string-width-cjs/node_modules/emoji-regex": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "dev": true
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
},
"node_modules/string-width-cjs/node_modules/strip-ansi": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "dev": true,
"dependencies": {
"ansi-regex": "^5.0.1"
},
@@ -6477,7 +6403,6 @@
"version": "7.1.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
"integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
- "dev": true,
"dependencies": {
"ansi-regex": "^6.0.1"
},
@@ -6493,7 +6418,6 @@
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "dev": true,
"dependencies": {
"ansi-regex": "^5.0.1"
},
@@ -6505,7 +6429,6 @@
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "dev": true,
"engines": {
"node": ">=8"
}
@@ -6526,7 +6449,6 @@
"version": "3.35.0",
"resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz",
"integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==",
- "dev": true,
"dependencies": {
"@jridgewell/gen-mapping": "^0.3.2",
"commander": "^4.0.0",
@@ -6560,7 +6482,6 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
"integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
- "dev": true,
"engines": {
"node": ">= 0.4"
},
@@ -6581,7 +6502,6 @@
"version": "3.4.17",
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.17.tgz",
"integrity": "sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==",
- "dev": true,
"dependencies": {
"@alloc/quick-lru": "^5.2.0",
"arg": "^5.0.2",
@@ -6626,7 +6546,6 @@
"version": "6.1.2",
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz",
"integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==",
- "dev": true,
"dependencies": {
"cssesc": "^3.0.0",
"util-deprecate": "^1.0.2"
@@ -6639,7 +6558,6 @@
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz",
"integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==",
- "dev": true,
"dependencies": {
"any-promise": "^1.0.0"
}
@@ -6648,7 +6566,6 @@
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz",
"integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==",
- "dev": true,
"dependencies": {
"thenify": ">= 3.1.0 < 4"
},
@@ -6707,7 +6624,6 @@
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "dev": true,
"dependencies": {
"is-number": "^7.0.0"
},
@@ -6747,8 +6663,7 @@
"node_modules/ts-interface-checker": {
"version": "0.1.13",
"resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz",
- "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==",
- "dev": true
+ "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA=="
},
"node_modules/tslib": {
"version": "2.8.1",
@@ -6785,7 +6700,7 @@
"version": "5.8.3",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz",
"integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==",
- "dev": true,
+ "devOptional": true,
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
@@ -6922,8 +6837,7 @@
"node_modules/util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
- "dev": true
+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
},
"node_modules/uuid": {
"version": "11.1.0",
@@ -7088,7 +7002,6 @@
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
"integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "dev": true,
"dependencies": {
"isexe": "^2.0.0"
},
@@ -7112,7 +7025,6 @@
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
"integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
- "dev": true,
"dependencies": {
"ansi-styles": "^6.1.0",
"string-width": "^5.0.1",
@@ -7130,7 +7042,6 @@
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
"integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
- "dev": true,
"dependencies": {
"ansi-styles": "^4.0.0",
"string-width": "^4.1.0",
@@ -7147,7 +7058,6 @@
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "dev": true,
"engines": {
"node": ">=8"
}
@@ -7155,14 +7065,12 @@
"node_modules/wrap-ansi-cjs/node_modules/emoji-regex": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "dev": true
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
},
"node_modules/wrap-ansi-cjs/node_modules/string-width": {
"version": "4.2.3",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dev": true,
"dependencies": {
"emoji-regex": "^8.0.0",
"is-fullwidth-code-point": "^3.0.0",
@@ -7176,7 +7084,6 @@
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "dev": true,
"dependencies": {
"ansi-regex": "^5.0.1"
},
@@ -7188,7 +7095,6 @@
"version": "6.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
"integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
- "dev": true,
"engines": {
"node": ">=12"
},
@@ -7206,7 +7112,6 @@
"version": "2.8.0",
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.0.tgz",
"integrity": "sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==",
- "dev": true,
"bin": {
"yaml": "bin.mjs"
},
diff --git a/package.json b/package.json
index 3cdc4162..382eb90c 100644
--- a/package.json
+++ b/package.json
@@ -4,12 +4,12 @@
"version": "0.0.0",
"type": "module",
"scripts": {
- "dev": "npm i --fetch-timeout=300000 && vite",
- "build": "npm i --fetch-timeout=300000 && vite build && cp dist/index.html dist/404.html",
- "build:dev": "npm i --fetch-timeout=300000 && vite build --mode development",
- "ci": "npm i --fetch-timeout=300000 && tsc -p tsconfig.app.json --noEmit && eslint && vite build",
- "lint": "npm i --fetch-timeout=300000 && eslint .",
- "preview": "npm i --fetch-timeout=300000 && vite preview",
+ "dev": "npm i && vite",
+ "build": "npm i && vite build && cp dist/index.html dist/404.html",
+ "build:dev": "npm i && vite build --mode development",
+ "ci": "npm i && tsc -p tsconfig.app.json --noEmit && eslint && vite build",
+ "lint": "npm i && eslint .",
+ "preview": "npm i && vite preview",
"deploy": "npm run build && npx -y surge@latest dist",
"dev:https": "vite --config vite.config.https.js"
},
@@ -17,8 +17,8 @@
"@cashu/cashu-ts": "^2.5.2",
"@cashu/crypto": "^0.3.4",
"@hookform/resolvers": "^3.9.0",
- "@jsr/nostrify__nostrify": "^0.46.2",
- "@jsr/nostrify__react": "^0.2.6",
+ "@nostrify/nostrify": "npm:@jsr/nostrify__nostrify@^0.46.2",
+ "@nostrify/react": "npm:@jsr/nostrify__react@^0.2.6",
"@radix-ui/react-accordion": "^1.2.0",
"@radix-ui/react-alert-dialog": "^1.1.1",
"@radix-ui/react-aspect-ratio": "^1.1.0",
@@ -95,4 +95,4 @@
"typescript-eslint": "^8.0.1",
"vite": "^6.3.5"
}
-}
\ No newline at end of file
+}
diff --git a/src/App.tsx b/src/App.tsx
index 68d413c8..16f5ccf3 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -6,7 +6,7 @@ import { Toaster } from "@/components/ui/toaster";
import { Toaster as Sonner } from "@/components/ui/sonner";
import { TooltipProvider } from "@/components/ui/tooltip";
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
-import { NostrLoginProvider } from '@jsr/nostrify__react/login';
+import { NostrLoginProvider } from '@nostrify/react/login';
import AppRouter from './AppRouter';
import { useSystemTheme } from '@/hooks/useSystemTheme';
import { JoinDialogProvider } from '@/components/groups/JoinDialogProvider';
diff --git a/src/components/EditProfileForm.tsx b/src/components/EditProfileForm.tsx
index a88eef64..ddcd3045 100644
--- a/src/components/EditProfileForm.tsx
+++ b/src/components/EditProfileForm.tsx
@@ -17,7 +17,7 @@ import {
import { Input } from "@/components/ui/input";
import { Textarea } from "@/components/ui/textarea";
import { ArrowLeft, Loader2, Upload } from "lucide-react";
-import { NSchema as n, type NostrMetadata } from "@jsr/nostrify__nostrify";
+import { NSchema as n, type NostrMetadata } from "@nostrify/nostrify";
import { useQueryClient } from "@tanstack/react-query";
import { useUploadFile } from "@/hooks/useUploadFile";
import { useNavigate } from "react-router-dom";
diff --git a/src/components/LinkPreviewDemo.tsx b/src/components/LinkPreviewDemo.tsx
index d47e8e0d..bd733e6d 100644
--- a/src/components/LinkPreviewDemo.tsx
+++ b/src/components/LinkPreviewDemo.tsx
@@ -4,7 +4,7 @@ import { Input } from '@/components/ui/input';
import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card';
import { LinkPreview } from './LinkPreview';
import { NoteContent } from './NoteContent';
-import type { NostrEvent } from '@jsr/nostrify__nostrify';
+import type { NostrEvent } from '@nostrify/nostrify';
export function LinkPreviewDemo() {
const [url, setUrl] = useState('https://github.com/nostr-protocol/nips');
diff --git a/src/components/NostrProvider.tsx b/src/components/NostrProvider.tsx
index 002633b1..437d0b27 100644
--- a/src/components/NostrProvider.tsx
+++ b/src/components/NostrProvider.tsx
@@ -1,5 +1,5 @@
-import { NostrEvent, NPool, NRelay1 } from "@jsr/nostrify__nostrify";
-import { NostrContext } from "@jsr/nostrify__react";
+import { NostrEvent, NPool, NRelay1 } from "@nostrify/nostrify";
+import { NostrContext } from "@nostrify/react";
import React, { useRef } from "react";
import { storeEventTimestamp } from "@/lib/nostrTimestamps";
diff --git a/src/components/NoteContent.tsx b/src/components/NoteContent.tsx
index 3a4a4993..79898837 100644
--- a/src/components/NoteContent.tsx
+++ b/src/components/NoteContent.tsx
@@ -1,5 +1,5 @@
import { useState, useEffect, useCallback } from 'react';
-import type { NostrEvent } from '@jsr/nostrify__nostrify';
+import type { NostrEvent } from '@nostrify/nostrify';
import { Link } from 'react-router-dom';
import { nip19 } from 'nostr-tools';
import { useAuthor } from '@/hooks/useAuthor';
diff --git a/src/components/groups/GroupCard.tsx b/src/components/groups/GroupCard.tsx
index b64b3a00..c249eb13 100644
--- a/src/components/groups/GroupCard.tsx
+++ b/src/components/groups/GroupCard.tsx
@@ -14,7 +14,7 @@ import { useCurrentUser } from "@/hooks/useCurrentUser";
import { useOpenReportsCount } from "@/hooks/useOpenReportsCount";
import { usePendingJoinRequests } from "@/hooks/usePendingJoinRequests";
import { toast } from "sonner";
-import type { NostrEvent } from "@jsr/nostrify__nostrify";
+import type { NostrEvent } from "@nostrify/nostrify";
import {
DropdownMenu,
DropdownMenuContent,
diff --git a/src/components/groups/GroupNutzapList.tsx b/src/components/groups/GroupNutzapList.tsx
index f4547d91..43af8221 100644
--- a/src/components/groups/GroupNutzapList.tsx
+++ b/src/components/groups/GroupNutzapList.tsx
@@ -9,7 +9,7 @@ import { Zap, DollarSign, Bitcoin, ArrowLeftRight } from "lucide-react";
import { Link } from "react-router-dom";
import { useState, useEffect, useRef } from "react";
import { useCurrencyDisplayStore } from "@/stores/currencyDisplayStore";
-import { NostrEvent } from "@jsr/nostrify__nostrify";
+import { NostrEvent } from "@nostrify/nostrify";
interface GroupNutzapListProps {
groupId: string;
diff --git a/src/components/groups/GroupPostItem.tsx b/src/components/groups/GroupPostItem.tsx
index f56a036d..3549d0e0 100644
--- a/src/components/groups/GroupPostItem.tsx
+++ b/src/components/groups/GroupPostItem.tsx
@@ -2,7 +2,7 @@ import { useState, useEffect } from "react";
import { useNostr } from "@/hooks/useNostr";
import { Link } from "react-router-dom";
import { Badge } from "@/components/ui/badge";
-import { NostrEvent } from "@jsr/nostrify__nostrify";
+import { NostrEvent } from "@nostrify/nostrify";
import { parseNostrAddress } from "@/lib/nostr-utils";
import { KINDS } from "@/lib/nostr-kinds";
import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar";
diff --git a/src/components/groups/MemberManagement.tsx b/src/components/groups/MemberManagement.tsx
index 342df176..2990ba45 100644
--- a/src/components/groups/MemberManagement.tsx
+++ b/src/components/groups/MemberManagement.tsx
@@ -13,7 +13,7 @@ import { Skeleton } from "@/components/ui/skeleton";
import { useAuthor } from "@/hooks/useAuthor";
import { toast } from "sonner";
import { UserPlus, Users, CheckCircle, XCircle, UserX, Ban } from "lucide-react";
-import { NostrEvent } from "@jsr/nostrify__nostrify";
+import { NostrEvent } from "@nostrify/nostrify";
import { Link, useLocation } from "react-router-dom";
import { KINDS } from "@/lib/nostr-kinds";
import { useApprovedMembers } from "@/hooks/useApprovedMembers";
diff --git a/src/components/groups/PendingRepliesList.tsx b/src/components/groups/PendingRepliesList.tsx
index ac785a9a..353023e2 100644
--- a/src/components/groups/PendingRepliesList.tsx
+++ b/src/components/groups/PendingRepliesList.tsx
@@ -12,7 +12,7 @@ import { NoteContent } from "../NoteContent";
import { Link } from "react-router-dom";
import { CheckCircle, AlertCircle, MessageSquare, ArrowUpRight } from "lucide-react";
import { toast } from "sonner";
-import { NostrEvent } from "@jsr/nostrify__nostrify";
+import { NostrEvent } from "@nostrify/nostrify";
import { KINDS } from "@/lib/nostr-kinds";
interface PendingRepliesListProps {
diff --git a/src/components/groups/PostList.tsx b/src/components/groups/PostList.tsx
index 8d955c8d..4bd2d1d5 100644
--- a/src/components/groups/PostList.tsx
+++ b/src/components/groups/PostList.tsx
@@ -16,7 +16,7 @@ import { MessageSquare, Share2, CheckCircle, XCircle, MoreVertical, Ban, Chevron
import { EmojiReactionButton } from "@/components/EmojiReactionButton";
import { NutzapButton } from "@/components/groups/NutzapButton";
import { NutzapInterface } from "@/components/groups/NutzapInterface";
-import { NostrEvent } from "@jsr/nostrify__nostrify";
+import { NostrEvent } from "@nostrify/nostrify";
import { nip19 } from 'nostr-tools';
import { NoteContent } from "../NoteContent";
import { Link } from "react-router-dom";
diff --git a/src/components/groups/ReplyForm.tsx b/src/components/groups/ReplyForm.tsx
index e50fcbce..a55aad67 100644
--- a/src/components/groups/ReplyForm.tsx
+++ b/src/components/groups/ReplyForm.tsx
@@ -9,7 +9,7 @@ import { Textarea } from "@/components/ui/textarea";
import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar";
import { toast } from "sonner";
import { Loader2, Send, AlertTriangle, Image, Mic, Square, XCircle } from "lucide-react";
-import { NostrEvent } from "@jsr/nostrify__nostrify";
+import { NostrEvent } from "@nostrify/nostrify";
import { Link } from "react-router-dom";
import { KINDS } from "@/lib/nostr-kinds";
diff --git a/src/components/groups/ReplyList.tsx b/src/components/groups/ReplyList.tsx
index c3dce3fc..4e475597 100644
--- a/src/components/groups/ReplyList.tsx
+++ b/src/components/groups/ReplyList.tsx
@@ -1,5 +1,5 @@
import { useState } from "react";
-import { NostrEvent } from "@jsr/nostrify__nostrify";
+import { NostrEvent } from "@nostrify/nostrify";
import { useReplies, useNestedReplies } from "@/hooks/useReplies";
import { useAuthor } from "@/hooks/useAuthor";
import { useCurrentUser } from "@/hooks/useCurrentUser";
diff --git a/src/components/profile/CommonGroupsList.tsx b/src/components/profile/CommonGroupsList.tsx
index b6c21cbc..8d627921 100644
--- a/src/components/profile/CommonGroupsList.tsx
+++ b/src/components/profile/CommonGroupsList.tsx
@@ -7,7 +7,7 @@ import { Skeleton } from "@/components/ui/skeleton";
import { Badge } from "@/components/ui/badge";
import { RichText } from "@/components/ui/RichText";
import { Users, Crown, Shield, User } from "lucide-react";
-import type { NostrEvent } from "@jsr/nostrify__nostrify";
+import type { NostrEvent } from "@nostrify/nostrify";
import { parseNostrAddress } from "@/lib/nostr-utils";
import { KINDS } from "@/lib/nostr-kinds";
diff --git a/src/components/profile/CommonGroupsListImproved.tsx b/src/components/profile/CommonGroupsListImproved.tsx
index 7936bfc0..f4b0ca67 100644
--- a/src/components/profile/CommonGroupsListImproved.tsx
+++ b/src/components/profile/CommonGroupsListImproved.tsx
@@ -7,7 +7,7 @@ import { Skeleton } from "@/components/ui/skeleton";
import { Badge } from "@/components/ui/badge";
import { RichText } from "@/components/ui/RichText";
import { Users, Crown, Shield, User, ArrowRight } from "lucide-react";
-import type { NostrEvent } from "@jsr/nostrify__nostrify";
+import type { NostrEvent } from "@nostrify/nostrify";
import { parseNostrAddress } from "@/lib/nostr-utils";
import { useAuthor } from "@/hooks/useAuthor";
import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar";
diff --git a/src/hooks/useApprovedMembers.ts b/src/hooks/useApprovedMembers.ts
index 2bb4a340..cba0da8f 100644
--- a/src/hooks/useApprovedMembers.ts
+++ b/src/hooks/useApprovedMembers.ts
@@ -1,4 +1,4 @@
-import { useNostr } from "@jsr/nostrify__react";
+import { useNostr } from "@nostrify/react";
import { useQuery } from "@tanstack/react-query";
import { parseNostrAddress } from "@/lib/nostr-utils";
import { KINDS } from "@/lib/nostr-kinds";
diff --git a/src/hooks/useAuthor.ts b/src/hooks/useAuthor.ts
index f5167271..79ebbfea 100644
--- a/src/hooks/useAuthor.ts
+++ b/src/hooks/useAuthor.ts
@@ -1,5 +1,5 @@
-import { type NostrEvent, type NostrMetadata, NSchema as n } from '@jsr/nostrify__nostrify';
-import { useNostr } from '@jsr/nostrify__react';
+import { type NostrEvent, type NostrMetadata, NSchema as n } from '@nostrify/nostrify';
+import { useNostr } from '@nostrify/react';
import { useQuery } from '@tanstack/react-query';
import { KINDS } from "@/lib/nostr-kinds";
diff --git a/src/hooks/useBannedUsers.ts b/src/hooks/useBannedUsers.ts
index e94844fa..954c1aaa 100644
--- a/src/hooks/useBannedUsers.ts
+++ b/src/hooks/useBannedUsers.ts
@@ -3,7 +3,7 @@ import { useNostrPublish } from "@/hooks/useNostrPublish";
import { useQuery, useQueryClient } from "@tanstack/react-query";
import { toast } from "sonner";
import { KINDS } from "@/lib/nostr-kinds";
-import { NostrFilter } from "@jsr/nostrify__nostrify";
+import { NostrFilter } from "@nostrify/nostrify";
import { useGroup } from "./useGroup";
/**
diff --git a/src/hooks/useCashuWallet.ts b/src/hooks/useCashuWallet.ts
index fc614488..f8722d56 100644
--- a/src/hooks/useCashuWallet.ts
+++ b/src/hooks/useCashuWallet.ts
@@ -6,7 +6,7 @@ import { NostrEvent, getPublicKey } from 'nostr-tools';
import { useCashuStore, Nip60TokenEvent } from '@/stores/cashuStore';
import { Proof } from '@cashu/cashu-ts';
import { getLastEventTimestamp } from '@/lib/nostrTimestamps';
-import { NSchema as n } from '@jsr/nostrify__nostrify';
+import { NSchema as n } from '@nostrify/nostrify';
import { z } from 'zod';
import { useNutzaps } from '@/hooks/useNutzaps';
import { hexToBytes } from '@noble/hashes/utils';
diff --git a/src/hooks/useCurrentUser.ts b/src/hooks/useCurrentUser.ts
index 601a7e0b..7e47e3f8 100644
--- a/src/hooks/useCurrentUser.ts
+++ b/src/hooks/useCurrentUser.ts
@@ -1,7 +1,7 @@
-import { type NLoginType, NUser, useNostrLogin } from '@jsr/nostrify__react/login';
-import { useNostr } from '@jsr/nostrify__react';
+import { type NLoginType, NUser, useNostrLogin } from '@nostrify/react/login';
+import { useNostr } from '@nostrify/react';
import { useCallback, useMemo } from 'react';
-import type { NostrEvent } from '@jsr/nostrify__nostrify';
+import type { NostrEvent } from '@nostrify/nostrify';
import { useAuthor } from './useAuthor.ts';
import { useLoggedInAccounts } from './useLoggedInAccounts.ts';
diff --git a/src/hooks/useFilterDeletedGroups.ts b/src/hooks/useFilterDeletedGroups.ts
index d5eaf344..009c321b 100644
--- a/src/hooks/useFilterDeletedGroups.ts
+++ b/src/hooks/useFilterDeletedGroups.ts
@@ -1,6 +1,6 @@
import { useMemo } from "react";
import { useGroupDeletionRequests } from "./useGroupDeletionRequests";
-import type { NostrEvent } from "@jsr/nostrify__nostrify";
+import type { NostrEvent } from "@nostrify/nostrify";
import { KINDS } from "@/lib/nostr-kinds";
// Helper function to get a unique community ID
diff --git a/src/hooks/useFollowList.ts b/src/hooks/useFollowList.ts
index 94b7f41f..081ea7b3 100644
--- a/src/hooks/useFollowList.ts
+++ b/src/hooks/useFollowList.ts
@@ -3,7 +3,7 @@ import { useNostrPublish } from '@/hooks/useNostrPublish';
import { useCurrentUser } from '@/hooks/useCurrentUser';
import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';
import { toast } from 'sonner';
-import { NostrEvent } from '@jsr/nostrify__nostrify';
+import { NostrEvent } from '@nostrify/nostrify';
import { KINDS } from "@/lib/nostr-kinds";
export function useFollowList(pubkey?: string) {
diff --git a/src/hooks/useGroup.ts b/src/hooks/useGroup.ts
index c6407656..d40eeaa3 100644
--- a/src/hooks/useGroup.ts
+++ b/src/hooks/useGroup.ts
@@ -1,4 +1,4 @@
-import { useNostr } from "@jsr/nostrify__react";
+import { useNostr } from "@nostrify/react";
import { useQuery } from "@tanstack/react-query";
import { KINDS } from "@/lib/nostr-kinds";
import { parseNostrAddress } from "@/lib/nostr-utils";
diff --git a/src/hooks/useGroupDeletionRequests.ts b/src/hooks/useGroupDeletionRequests.ts
index 00331189..37ffada2 100644
--- a/src/hooks/useGroupDeletionRequests.ts
+++ b/src/hooks/useGroupDeletionRequests.ts
@@ -1,7 +1,7 @@
import { useQuery } from "@tanstack/react-query";
import { useNostr } from "@/hooks/useNostr";
import { KINDS } from "@/lib/nostr-kinds";
-import type { NostrEvent } from "@jsr/nostrify__nostrify";
+import type { NostrEvent } from "@nostrify/nostrify";
interface GroupDeletionRequest {
deletionEvent: NostrEvent;
diff --git a/src/hooks/useGroupMembership.ts b/src/hooks/useGroupMembership.ts
index 0c394072..3847e512 100644
--- a/src/hooks/useGroupMembership.ts
+++ b/src/hooks/useGroupMembership.ts
@@ -1,4 +1,4 @@
-import { useNostr } from "@jsr/nostrify__react";
+import { useNostr } from "@nostrify/react";
import { useQuery } from "@tanstack/react-query";
import { useCurrentUser } from "./useCurrentUser";
import { KINDS } from "@/lib/nostr-kinds";
diff --git a/src/hooks/useGroupReports.ts b/src/hooks/useGroupReports.ts
index 107529e9..1d62da6c 100644
--- a/src/hooks/useGroupReports.ts
+++ b/src/hooks/useGroupReports.ts
@@ -1,6 +1,6 @@
import { useNostr } from "@/hooks/useNostr";
import { useQuery } from "@tanstack/react-query";
-import { NostrEvent } from "@jsr/nostrify__nostrify";
+import { NostrEvent } from "@nostrify/nostrify";
import { KINDS } from "@/lib/nostr-kinds";
export interface Report extends NostrEvent {
diff --git a/src/hooks/useGroupStats.ts b/src/hooks/useGroupStats.ts
index 6c0054a2..f35b9479 100644
--- a/src/hooks/useGroupStats.ts
+++ b/src/hooks/useGroupStats.ts
@@ -1,6 +1,6 @@
import { useNostr } from "@/hooks/useNostr";
import { useQuery } from "@tanstack/react-query";
-import { NostrEvent } from "@jsr/nostrify__nostrify";
+import { NostrEvent } from "@nostrify/nostrify";
import { KINDS } from "@/lib/nostr-kinds";
export interface GroupStats {
diff --git a/src/hooks/useLoggedInAccounts.ts b/src/hooks/useLoggedInAccounts.ts
index 30670450..af45bf5e 100644
--- a/src/hooks/useLoggedInAccounts.ts
+++ b/src/hooks/useLoggedInAccounts.ts
@@ -1,7 +1,7 @@
-import { useNostr } from '@jsr/nostrify__react';
-import { useNostrLogin } from '@jsr/nostrify__react/login';
+import { useNostr } from '@nostrify/react';
+import { useNostrLogin } from '@nostrify/react/login';
import { useQuery } from '@tanstack/react-query';
-import { NSchema as n, NostrEvent, NostrMetadata } from '@jsr/nostrify__nostrify';
+import { NSchema as n, NostrEvent, NostrMetadata } from '@nostrify/nostrify';
import { KINDS } from "@/lib/nostr-kinds";
export interface Account {
diff --git a/src/hooks/useLoginActions.ts b/src/hooks/useLoginActions.ts
index 0f986eb8..54ba1a64 100644
--- a/src/hooks/useLoginActions.ts
+++ b/src/hooks/useLoginActions.ts
@@ -1,5 +1,5 @@
-import { useNostr } from '@jsr/nostrify__react';
-import { NLogin, useNostrLogin } from '@jsr/nostrify__react/login';
+import { useNostr } from '@nostrify/react';
+import { NLogin, useNostrLogin } from '@nostrify/react/login';
// NOTE: This file should not be edited except for adding new login methods.
diff --git a/src/hooks/useNostr.ts b/src/hooks/useNostr.ts
index 81c6f889..68db5406 100644
--- a/src/hooks/useNostr.ts
+++ b/src/hooks/useNostr.ts
@@ -1,6 +1,6 @@
// This file exists because LLMs get confused and try to create this file if it doesn't exist.
-// The `useNostr` hook should be imported directly from `@jsr/nostrify__react`, not from this file.
+// The `useNostr` hook should be imported directly from `@nostrify/react`, not from this file.
// This file SHOULD NOT be edited or removed.
-export { useNostr } from "@jsr/nostrify__react";
+export { useNostr } from "@nostrify/react";
diff --git a/src/hooks/useNostrPublish.ts b/src/hooks/useNostrPublish.ts
index 369b54fa..efa6f664 100644
--- a/src/hooks/useNostrPublish.ts
+++ b/src/hooks/useNostrPublish.ts
@@ -1,5 +1,5 @@
-import { NKinds } from "@jsr/nostrify__nostrify";
-import { useNostr } from "@jsr/nostrify__react";
+import { NKinds } from "@nostrify/nostrify";
+import { useNostr } from "@nostrify/react";
import { useMutation, useQueryClient } from "@tanstack/react-query";
import { useCurrentUser } from "./useCurrentUser";
import { getPostExpirationTimestamp } from "../lib/utils";
diff --git a/src/hooks/useNotifications.ts b/src/hooks/useNotifications.ts
index 166ede3f..9285d7c1 100644
--- a/src/hooks/useNotifications.ts
+++ b/src/hooks/useNotifications.ts
@@ -2,7 +2,7 @@ import { useNostr } from '@/hooks/useNostr';
import { useCurrentUser } from '@/hooks/useCurrentUser';
import { useQuery, useQueryClient } from '@tanstack/react-query';
import { useUserGroups } from '@/hooks/useUserGroups';
-import { NostrEvent } from '@jsr/nostrify__nostrify';
+import { NostrEvent } from '@nostrify/nostrify';
import { KINDS } from '@/lib/nostr-kinds';
export interface Notification {
diff --git a/src/hooks/usePendingReplies.ts b/src/hooks/usePendingReplies.ts
index 264eb3df..08f33f2f 100644
--- a/src/hooks/usePendingReplies.ts
+++ b/src/hooks/usePendingReplies.ts
@@ -1,6 +1,6 @@
import { useNostr } from "@/hooks/useNostr";
import { useQuery } from "@tanstack/react-query";
-import { NostrEvent } from "@jsr/nostrify__nostrify";
+import { NostrEvent } from "@nostrify/nostrify";
import { useApprovedMembers } from "./useApprovedMembers";
import { useReplyApprovals } from "./useReplyApprovals";
import { parseNostrAddress } from "@/lib/nostr-utils";
diff --git a/src/hooks/usePostById.ts b/src/hooks/usePostById.ts
index e8ec96f0..6873e68b 100644
--- a/src/hooks/usePostById.ts
+++ b/src/hooks/usePostById.ts
@@ -1,6 +1,6 @@
import { useNostr } from "@/hooks/useNostr";
import { useQuery } from "@tanstack/react-query";
-import { NostrEvent } from "@jsr/nostrify__nostrify";
+import { NostrEvent } from "@nostrify/nostrify";
/**
* Hook to fetch a post by its ID
diff --git a/src/hooks/useProfileSync.ts b/src/hooks/useProfileSync.ts
index 466ce650..c08e496b 100644
--- a/src/hooks/useProfileSync.ts
+++ b/src/hooks/useProfileSync.ts
@@ -1,6 +1,6 @@
-import { useNostr } from '@jsr/nostrify__react';
+import { useNostr } from '@nostrify/react';
import { useCallback } from 'react';
-import { NostrEvent, NRelay1 } from '@jsr/nostrify__nostrify';
+import { NostrEvent, NRelay1 } from '@nostrify/nostrify';
const PRIMARY_RELAY = 'wss://relay.chorus.community/';
const FALLBACK_RELAYS = [
diff --git a/src/hooks/useReliableGroupMembership.ts b/src/hooks/useReliableGroupMembership.ts
index 7fe0597a..8e98aff2 100644
--- a/src/hooks/useReliableGroupMembership.ts
+++ b/src/hooks/useReliableGroupMembership.ts
@@ -1,4 +1,4 @@
-import { useNostr } from "@jsr/nostrify__react";
+import { useNostr } from "@nostrify/react";
import { useQuery } from "@tanstack/react-query";
import { useCurrentUser } from "./useCurrentUser";
import { parseNostrAddress } from "@/lib/nostr-utils";
diff --git a/src/hooks/useReplies.ts b/src/hooks/useReplies.ts
index 9aff039b..41507cac 100644
--- a/src/hooks/useReplies.ts
+++ b/src/hooks/useReplies.ts
@@ -1,6 +1,6 @@
-import { useNostr } from "@jsr/nostrify__react";
+import { useNostr } from "@nostrify/react";
import { useQuery } from "@tanstack/react-query";
-import { NostrEvent } from "@jsr/nostrify__nostrify";
+import { NostrEvent } from "@nostrify/nostrify";
import { KINDS } from "@/lib/nostr-kinds";
/**
diff --git a/src/hooks/useReplyApprovals.ts b/src/hooks/useReplyApprovals.ts
index ee74cc7c..53a2299e 100644
--- a/src/hooks/useReplyApprovals.ts
+++ b/src/hooks/useReplyApprovals.ts
@@ -1,6 +1,6 @@
-import { useNostr } from "@jsr/nostrify__react";
+import { useNostr } from "@nostrify/react";
import { useQuery } from "@tanstack/react-query";
-import { NostrEvent } from "@jsr/nostrify__nostrify";
+import { NostrEvent } from "@nostrify/nostrify";
import { KINDS } from "@/lib/nostr-kinds";
/**
diff --git a/src/hooks/useReportActions.ts b/src/hooks/useReportActions.ts
index aa775306..95144182 100644
--- a/src/hooks/useReportActions.ts
+++ b/src/hooks/useReportActions.ts
@@ -3,7 +3,7 @@ import { useCurrentUser } from "@/hooks/useCurrentUser";
import { toast } from "sonner";
import { useBannedUsers } from "@/hooks/useBannedUsers";
import { useNostr } from "@/hooks/useNostr";
-import { NostrEvent } from "@jsr/nostrify__nostrify";
+import { NostrEvent } from "@nostrify/nostrify";
import { useUpdateApprovedMembers } from "@/hooks/useUpdateApprovedMembers";
import { KINDS } from "@/lib/nostr-kinds";
diff --git a/src/hooks/useTrendingHashtags.ts b/src/hooks/useTrendingHashtags.ts
index 7dfe3faf..f461ad89 100644
--- a/src/hooks/useTrendingHashtags.ts
+++ b/src/hooks/useTrendingHashtags.ts
@@ -1,5 +1,5 @@
import { useQuery } from '@tanstack/react-query';
-import { useNostr } from '@jsr/nostrify__react';
+import { useNostr } from '@nostrify/react';
import { KINDS } from "@/lib/nostr-kinds";
export interface TrendingHashtag {
diff --git a/src/hooks/useUpdateApprovedMembers.ts b/src/hooks/useUpdateApprovedMembers.ts
index e76f0669..bb97505f 100644
--- a/src/hooks/useUpdateApprovedMembers.ts
+++ b/src/hooks/useUpdateApprovedMembers.ts
@@ -2,7 +2,7 @@ import { useNostr } from "@/hooks/useNostr";
import { useNostrPublish } from "@/hooks/useNostrPublish";
import { useQueryClient } from "@tanstack/react-query";
import { toast } from "sonner";
-import { NostrEvent } from "@jsr/nostrify__nostrify";
+import { NostrEvent } from "@nostrify/nostrify";
import { KINDS } from "@/lib/nostr-kinds";
/**
diff --git a/src/hooks/useUploadFile.ts b/src/hooks/useUploadFile.ts
index cf88a871..f1cbcaf2 100644
--- a/src/hooks/useUploadFile.ts
+++ b/src/hooks/useUploadFile.ts
@@ -1,5 +1,5 @@
import { useMutation } from "@tanstack/react-query";
-import { BlossomUploader } from '@jsr/nostrify__nostrify/uploaders';
+import { BlossomUploader } from '@nostrify/nostrify/uploaders';
import { useCurrentUser } from "./useCurrentUser";
diff --git a/src/hooks/useUserGroups.ts b/src/hooks/useUserGroups.ts
index 87327249..04b81317 100644
--- a/src/hooks/useUserGroups.ts
+++ b/src/hooks/useUserGroups.ts
@@ -1,7 +1,7 @@
import { useNostr } from "./useNostr";
import { useCurrentUser } from "./useCurrentUser";
import { useQuery } from "@tanstack/react-query";
-import type { NostrEvent, NostrFilter } from "@jsr/nostrify__nostrify";
+import type { NostrEvent, NostrFilter } from "@nostrify/nostrify";
import { usePinnedGroups } from "./usePinnedGroups";
import { KINDS } from "@/lib/nostr-kinds";
import { useGroupDeletionRequests } from "./useGroupDeletionRequests";
diff --git a/src/hooks/useUserGroupsFiltered.ts b/src/hooks/useUserGroupsFiltered.ts
index e7bd3f06..745fd2ca 100644
--- a/src/hooks/useUserGroupsFiltered.ts
+++ b/src/hooks/useUserGroupsFiltered.ts
@@ -1,7 +1,7 @@
import { useMemo } from "react";
import { useUserGroups } from "./useUserGroups";
import { useGroupDeletionRequests } from "./useGroupDeletionRequests";
-import type { NostrEvent } from "@jsr/nostrify__nostrify";
+import type { NostrEvent } from "@nostrify/nostrify";
import { KINDS } from "@/lib/nostr-kinds";
// Helper function to get a unique community ID
diff --git a/src/pages/GroupDetail.tsx b/src/pages/GroupDetail.tsx
index 85d2e1e2..95c5b47b 100644
--- a/src/pages/GroupDetail.tsx
+++ b/src/pages/GroupDetail.tsx
@@ -34,7 +34,7 @@ import { MemberManagement } from "@/components/groups/MemberManagement";
import { ReportsList } from "@/components/groups/ReportsList";
import { useAuthor } from "@/hooks/useAuthor";
import { toast } from "sonner";
-import { NostrEvent } from "@jsr/nostrify__nostrify";
+import { NostrEvent } from "@nostrify/nostrify";
import { useNostrPublish } from "@/hooks/useNostrPublish";
import { QRCodeModal } from "@/components/QRCodeModal";
diff --git a/src/pages/GroupPostsFeed.tsx b/src/pages/GroupPostsFeed.tsx
index fabfbd6f..ebdb76e6 100644
--- a/src/pages/GroupPostsFeed.tsx
+++ b/src/pages/GroupPostsFeed.tsx
@@ -9,7 +9,7 @@ import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs";
import { Card, CardContent, CardHeader, CardDescription, CardTitle } from "@/components/ui/card";
import { parseNostrAddress } from "@/lib/nostr-utils";
import { KINDS } from "@/lib/nostr-kinds";
-import { NostrEvent } from "@jsr/nostrify__nostrify";
+import { NostrEvent } from "@nostrify/nostrify";
import { GroupPostItem } from "@/components/groups/GroupPostItem";
import { Button } from "@/components/ui/button";
import { Link } from "react-router-dom";
diff --git a/src/pages/GroupSettings.tsx b/src/pages/GroupSettings.tsx
index 4c7d2468..8f1b0f20 100644
--- a/src/pages/GroupSettings.tsx
+++ b/src/pages/GroupSettings.tsx
@@ -20,7 +20,7 @@ import { usePendingJoinRequests } from "@/hooks/usePendingJoinRequests";
import { toast } from "sonner";
import { ArrowLeft, Save, UserPlus, Users, Shield, Trash2, FileWarning, Upload, Loader2 } from "lucide-react";
import { parseNostrAddress } from "@/lib/nostr-utils";
-import type { NostrEvent } from "@jsr/nostrify__nostrify";
+import type { NostrEvent } from "@nostrify/nostrify";
import Header from "@/components/ui/Header";
import { ReportsList } from "@/components/groups/ReportsList";
import { MemberManagement } from "@/components/groups/MemberManagement";
diff --git a/src/pages/Groups.tsx b/src/pages/Groups.tsx
index 10e38298..329db554 100644
--- a/src/pages/Groups.tsx
+++ b/src/pages/Groups.tsx
@@ -15,7 +15,7 @@ import { useUserPendingJoinRequests } from "@/hooks/useUserPendingJoinRequests";
import { GroupCard } from "@/components/groups/GroupCard";
import { PWAInstallBanner } from "@/components/PWAInstallBanner";
import { PWAInstallInstructions } from "@/components/PWAInstallInstructions";
-import type { NostrEvent } from "@jsr/nostrify__nostrify";
+import type { NostrEvent } from "@nostrify/nostrify";
import type { UserRole } from "@/hooks/useUserRole";
import { KINDS } from "@/lib/nostr-kinds";
import { useCashuWallet } from "@/hooks/useCashuWallet";
diff --git a/src/pages/Hashtag.tsx b/src/pages/Hashtag.tsx
index 34af0673..bca3378e 100644
--- a/src/pages/Hashtag.tsx
+++ b/src/pages/Hashtag.tsx
@@ -15,7 +15,7 @@ import { formatRelativeTime } from "@/lib/utils";
import { ArrowLeft, Hash, MessageSquare, MoreVertical, Flag, Share2, Users, TrendingUp } from "lucide-react";
import { Link } from "react-router-dom";
import { useMemo, useState } from "react";
-import type { NostrEvent } from "@jsr/nostrify__nostrify";
+import type { NostrEvent } from "@nostrify/nostrify";
import { nip19 } from "nostr-tools";
import { shareContent } from "@/lib/share";
import { ReplyList } from "@/components/groups/ReplyList";
diff --git a/src/pages/Index.tsx b/src/pages/Index.tsx
index 454d417a..3b8016c8 100644
--- a/src/pages/Index.tsx
+++ b/src/pages/Index.tsx
@@ -5,7 +5,7 @@ import LoginDialog from "@/components/auth/LoginDialog";
import { useLoggedInAccounts } from "@/hooks/useLoggedInAccounts";
import { EditProfileForm } from "@/components/EditProfileForm";
import { generateFakeName } from "@/lib/utils";
-import { useNostrLogin, NLogin } from "@jsr/nostrify__react/login";
+import { useNostrLogin, NLogin } from "@nostrify/react/login";
import { useNostrPublish } from "@/hooks/useNostrPublish";
import { generateSecretKey, nip19 } from "nostr-tools";
import { toast } from "@/hooks/useToast";
diff --git a/src/pages/Profile.tsx b/src/pages/Profile.tsx
index b29661db..e2043251 100644
--- a/src/pages/Profile.tsx
+++ b/src/pages/Profile.tsx
@@ -38,7 +38,7 @@ import {
Timer
} from "lucide-react";
import { toast } from "sonner";
-import type { NostrEvent } from "@jsr/nostrify__nostrify";
+import type { NostrEvent } from "@nostrify/nostrify";
import { parseNostrAddress } from "@/lib/nostr-utils";
import Header from "@/components/ui/Header";
import { VerifiedNip05 } from "@/components/VerifiedNip05";
diff --git a/vite.config.ts b/vite.config.ts
index b9648c73..6dafad49 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -12,8 +12,6 @@ export default defineConfig(() => ({
resolve: {
alias: {
"@": path.resolve(__dirname, "./src"),
- "@nostrify/nostrify": "@jsr/nostrify__nostrify",
- "@nostrify/react": "@jsr/nostrify__react"
},
},
-}));
\ No newline at end of file
+}));