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>
158 lines
6 KiB
JSON
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"
|
|
]
|
|
}
|
|
}
|