webapp/package.json
Padreug 327092c022 chore(test): add vitest runner + smoke test
No test runner existed in the repo. Add vitest (node env, *.spec.ts
discovery) with a minimal config mirroring only the `@`→src alias, plus
`test`/`test:watch` scripts and a smoke test as a known-good baseline.

Precursor for the nostr-patterns review fixes (events store coordinate
keying #121, monotonic created_at #122), which ship with unit tests.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 13:25:34 +02:00

158 lines
6 KiB
JSON

{
"name": "aio-shadcn-vite",
"private": true,
"version": "0.0.0",
"type": "module",
"main": "electron/main.cjs",
"scripts": {
"generate-pwa-assets": "node scripts/generate-pwa-assets.mjs",
"dev": "vite --host",
"build": "vue-tsc -b && vite build",
"preview": "vite preview --host",
"analyze": "vite build --mode analyze",
"test": "vitest run",
"test:watch": "vitest",
"dev:events": "vite --host --config vite.events.config.ts",
"build:events": "vue-tsc -b && vite build --config vite.events.config.ts",
"preview:events": "vite preview --host --config vite.events.config.ts",
"dev:libra": "vite --host --config vite.libra.config.ts",
"build:libra": "vue-tsc -b && vite build --config vite.libra.config.ts",
"preview:libra": "vite preview --host --config vite.libra.config.ts",
"dev:wallet": "vite --host --config vite.wallet.config.ts",
"build:wallet": "vue-tsc -b && vite build --config vite.wallet.config.ts",
"preview:wallet": "vite preview --host --config vite.wallet.config.ts",
"dev:chat": "vite --host --config vite.chat.config.ts",
"build:chat": "vue-tsc -b && vite build --config vite.chat.config.ts",
"preview:chat": "vite preview --host --config vite.chat.config.ts",
"dev:market": "vite --host --config vite.market.config.ts",
"build:market": "vue-tsc -b && vite build --config vite.market.config.ts",
"preview:market": "vite preview --host --config vite.market.config.ts",
"dev:tasks": "vite --host --config vite.tasks.config.ts",
"build:tasks": "vue-tsc -b && vite build --config vite.tasks.config.ts",
"preview:tasks": "vite preview --host --config vite.tasks.config.ts",
"dev:forum": "vite --host --config vite.forum.config.ts",
"build:forum": "vue-tsc -b && vite build --config vite.forum.config.ts",
"preview:forum": "vite preview --host --config vite.forum.config.ts",
"dev:restaurant": "vite --host --config vite.restaurant.config.ts",
"build:restaurant": "vue-tsc -b && vite build --config vite.restaurant.config.ts",
"preview:restaurant": "vite preview --host --config vite.restaurant.config.ts",
"dev:all": "concurrently -n hub,libra,events,wallet,chat,forum,market,tasks,restaurant -c blue,magenta,cyan,yellow,green,blue,red,gray,green \"npm:dev\" \"npm:dev:libra\" \"npm:dev:events\" \"npm:dev:wallet\" \"npm:dev:chat\" \"npm:dev:forum\" \"npm:dev:market\" \"npm:dev:tasks\" \"npm:dev:restaurant\"",
"build:demo": "npm run build && VITE_BASE_PATH=/events/ npm run build:events && VITE_BASE_PATH=/libra/ npm run build:libra && VITE_BASE_PATH=/wallet/ npm run build:wallet && VITE_BASE_PATH=/chat/ npm run build:chat && VITE_BASE_PATH=/forum/ npm run build:forum && VITE_BASE_PATH=/market/ npm run build:market && VITE_BASE_PATH=/tasks/ npm run build:tasks && VITE_BASE_PATH=/restaurant/ npm run build:restaurant",
"electron:dev": "concurrently \"vite --host\" \"electron-forge start\"",
"electron:build": "vue-tsc -b && vite build && electron-builder",
"electron:package": "electron-builder",
"start": "electron-forge start",
"package": "electron-forge package",
"make": "electron-forge make"
},
"dependencies": {
"@internationalized/date": "^3.12.1",
"@tanstack/vue-table": "^8.21.3",
"@vee-validate/zod": "^4.15.1",
"@vueuse/components": "^12.5.0",
"@vueuse/core": "^12.8.2",
"@vueuse/integrations": "^13.6.0",
"browser-image-compression": "^2.0.2",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"date-fns": "^4.1.0",
"electron-squirrel-startup": "^1.0.1",
"fuse.js": "^7.0.0",
"leaflet": "^1.9.4",
"light-bolt11-decoder": "^3.2.0",
"lucide-vue-next": "^0.474.0",
"ngeohash": "^0.6.3",
"nostr-tools": "^2.23.3",
"pinia": "^2.3.1",
"qr-scanner": "^1.4.2",
"qrcode": "^1.5.4",
"radix-vue": "^1.9.13",
"reka-ui": "^2.9.7",
"tailwind-merge": "^2.6.0",
"tailwindcss-animate": "^1.0.7",
"unique-names-generator": "^4.7.1",
"vee-validate": "^4.15.1",
"vue": "^3.5.13",
"vue-i18n": "^9.14.2",
"vue-router": "^4.5.0",
"vue-sonner": "^2.0.2",
"zod": "^3.25.76"
},
"devDependencies": {
"@electron-forge/cli": "^7.7.0",
"@electron-forge/maker-deb": "^7.7.0",
"@electron-forge/maker-rpm": "^7.7.0",
"@electron-forge/maker-squirrel": "^7.7.0",
"@electron-forge/maker-zip": "^7.7.0",
"@electron-forge/plugin-auto-unpack-natives": "^7.7.0",
"@electron-forge/plugin-fuses": "^7.7.0",
"@electron/fuses": "^1.8.0",
"@tailwindcss/forms": "^0.5.10",
"@tailwindcss/typography": "^0.5.16",
"@tailwindcss/vite": "^4.0.12",
"@types/leaflet": "^1.9.21",
"@types/ngeohash": "^0.6.8",
"@types/node": "^22.18.1",
"@types/qrcode": "^1.5.5",
"@types/rollup-plugin-visualizer": "^4.2.3",
"@vite-pwa/assets-generator": "^1.0.2",
"@vitejs/plugin-vue": "^5.2.1",
"@vue/tsconfig": "^0.7.0",
"concurrently": "^8.2.2",
"electron": "^30.0.0",
"rollup-plugin-visualizer": "^5.12.0",
"sharp": "^0.33.2",
"svgo": "^3.3.2",
"tailwindcss": "^4.0.12",
"typescript": "~5.6.2",
"vite": "^6.0.5",
"vite-plugin-image-optimizer": "^1.1.7",
"vite-plugin-inspect": "^0.8.3",
"vite-plugin-pwa": "^0.21.1",
"vitest": "^4.1.9",
"vue-tsc": "^2.2.0",
"web-push": "^3.6.7",
"workbox-window": "^7.3.0"
},
"build": {
"appId": "com.yourdomain.aio-shadcn-vite",
"productName": "AIO Shadcn Vite App",
"copyright": "Copyright © 2025",
"linux": {
"target": [
"AppImage",
"deb"
],
"category": "Utility",
"icon": "public/icon.png"
},
"mac": {
"target": [
"dmg"
],
"category": "public.app-category.developer-tools"
},
"win": {
"target": [
"nsis"
]
},
"files": [
"dist/**/*",
"electron/**/*"
],
"directories": {
"output": "dist_electron"
}
},
"packageManager": "pnpm@10.33.0",
"pnpm": {
"onlyBuiltDependencies": [
"electron",
"electron-winstaller",
"esbuild",
"sharp",
"vue-demi"
]
}
}