You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

179 lines
5.7 KiB

{
"name": "imwald",
"version": "22.5.0",
"description": "Imwald — a user-friendly Nostr client focused on relay feed browsing, publications, and relay discovery",
"private": true,
"type": "module",
"main": "electron/main.cjs",
"author": "Silberengel",
"license": "MIT",
"repository": {
"type": "git",
"url": "git+https://github.com/Silberengel/jumble"
},
"homepage": "https://github.com/Silberengel/jumble",
"scripts": {
"dev": "vite --host",
"dev:refresh": "rm -rf node_modules/.vite && vite --host",
"build": "tsc -b && vite build",
"lint": "eslint .",
"knip": "npx --yes knip@5",
"format": "prettier --write .",
"preview": "vite preview",
"test": "vitest",
"test:run": "vitest run",
"i18n:sync": "npx tsx scripts/sync-i18n-locales.ts && prettier --write \"src/i18n/locales/*.ts\"",
"i18n:audit": "npx tsx scripts/i18n-audit.ts",
"i18n:gaps": "npx tsx scripts/export-en-parity-gaps.ts",
"i18n:translate-de": "PYTHONUNBUFFERED=1 .venv-i18n/bin/python scripts/auto_translate_i18n.py de",
"electron:dev": "concurrently -k -n vite,electron -c blue,green \"vite --host\" \"wait-on http://127.0.0.1:5173 && cross-env NODE_ENV=development electron .\"",
"build:electron": "tsc -b && vite build --base ./",
"electron:pack": "npm run build:electron && electron-builder",
"og:image": "node scripts/generate-og-png.mjs"
},
"dependencies": {
"@asciidoctor/core": "^3.0.4",
"@dnd-kit/core": "^6.3.1",
"@dnd-kit/modifiers": "^9.0.0",
"@dnd-kit/sortable": "^10.0.0",
"@dnd-kit/utilities": "^3.2.2",
"@getalby/bitcoin-connect-react": "^3.10.0",
"@getalby/lightning-tools": "^6.1.0",
"@noble/hashes": "^1.6.1",
"@radix-ui/react-alert-dialog": "^1.1.4",
"@radix-ui/react-avatar": "^1.1.2",
"@radix-ui/react-checkbox": "^1.3.3",
"@radix-ui/react-collapsible": "^1.1.12",
"@radix-ui/react-dialog": "^1.1.4",
"@radix-ui/react-dropdown-menu": "^2.1.4",
"@radix-ui/react-hover-card": "^1.1.4",
"@radix-ui/react-label": "^2.1.1",
"@radix-ui/react-popover": "^1.1.4",
"@radix-ui/react-radio-group": "^1.3.8",
"@radix-ui/react-scroll-area": "1.2.0",
"@radix-ui/react-select": "^2.1.4",
"@radix-ui/react-separator": "^1.1.1",
"@radix-ui/react-slider": "^1.3.5",
"@radix-ui/react-slot": "^1.2.3",
"@radix-ui/react-switch": "^1.1.2",
"@radix-ui/react-tabs": "^1.1.2",
"@scure/base": "^2.0.0",
"@tailwindcss/typography": "^0.5.16",
"@tiptap/core": "^2.12.0",
"@tiptap/extension-document": "^2.12.0",
"@tiptap/extension-emoji": "^2.26.1",
"@tiptap/extension-hard-break": "^2.12.0",
"@tiptap/extension-history": "^2.12.0",
"@tiptap/extension-mention": "^2.12.0",
"@tiptap/extension-paragraph": "^2.12.0",
"@tiptap/extension-placeholder": "^2.12.0",
"@tiptap/extension-text": "^2.12.0",
"@tiptap/pm": "^2.12.0",
"@tiptap/react": "^2.12.0",
"@tiptap/suggestion": "^2.12.0",
"@webbtc/webln-types": "^3.0.0",
"blossom-client-sdk": "^4.1.0",
"blurhash": "^2.0.5",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"dataloader": "^2.2.3",
"dayjs": "^1.11.13",
"embla-carousel-react": "^8.6.0",
"embla-carousel-wheel-gestures": "^8.1.0",
"emoji-picker-element": "^1.29.1",
"flexsearch": "^0.7.43",
"highlight.js": "^11.9.0",
"hls.js": "^1.6.15",
"i18next": "^24.2.0",
"i18next-browser-languagedetector": "^8.0.4",
"katex": "^0.16.25",
"lamejs": "^1.2.1",
"lru-cache": "^11.0.2",
"lucide-react": "^0.469.0",
"marked": "^17.0.5",
"nostr-tools": "^2.17.0",
"nstart-modal": "^2.0.0",
"path-to-regexp": "^8.3.0",
"prosemirror-state": "^1.4.3",
"qr-code-styling": "^1.9.2",
"qr-scanner": "^1.4.2",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-i18next": "^15.2.0",
"react-simple-pull-to-refresh": "^1.3.3",
"sonner": "^2.0.5",
"tailwind-merge": "^2.5.5",
"tailwindcss-animate": "^1.0.7",
"tippy.js": "^6.3.7",
"vaul": "^1.1.2",
"yet-another-react-lightbox": "^3.21.7",
"zod": "^3.24.1"
},
"devDependencies": {
"@eslint/js": "^9.17.0",
"@testing-library/jest-dom": "^6.9.1",
"@testing-library/react": "^16.3.0",
"@types/node": "^22.10.2",
"@types/react": "^18.3.17",
"@types/react-dom": "^18.3.5",
"@vitejs/plugin-react": "^4.3.4",
"autoprefixer": "^10.4.20",
"concurrently": "^9.1.2",
"cross-env": "^7.0.3",
"eslint": "^9.17.0",
"eslint-plugin-react-hooks": "^5.0.0",
"eslint-plugin-react-refresh": "^0.4.16",
"globals": "^15.13.0",
"jsdom": "^27.1.0",
"opentype.js": "^1.3.4",
"postcss": "^8.4.49",
"prettier": "3.4.2",
"tailwindcss": "^3.4.17",
"typescript": "~5.6.2",
"typescript-eslint": "^8.18.1",
"vite": "^6.0.3",
"vite-plugin-pwa": "^0.21.1",
"vitest": "^4.0.8",
"wait-on": "^8.0.1"
},
"optionalDependencies": {
"electron": "^41.1.1",
"electron-builder": "^26.8.1"
},
"build": {
"appId": "eu.imwald.app",
"productName": "Imwald",
"copyright": "Copyright © Silberengel",
"directories": {
"output": "release"
},
"files": [
"dist/**/*",
"electron/**/*",
"package.json"
],
"linux": {
"target": [
"AppImage",
"deb"
],
"category": "Network",
"maintainer": "Silberengel",
"icon": "public/pwa-512x512.png"
}
},
"overrides": {
"sucrase": {
"glob": "^11.1.0"
},
"minimatch": "^10.0.1",
"lodash": "^4.18.1",
"vite-plugin-pwa": {
"workbox-build": {
"@rollup/plugin-terser": {
"serialize-javascript": "7.0.5"
}
}
}
}
}