{ "name": "prism", "version": "0.1.0", "description": "Open-source audio metering and visualization tool", "main": "./out/main/index.js", "scripts": { "dev": "electron-vite dev", "dev:mac": "env -u ELECTRON_RUN_AS_NODE electron-vite dev", "build": "electron-vite build", "preview": "electron-vite preview", "typecheck": "tsc --noEmit", "test:audio-router": "node scripts/run-audio-router-tests.mjs", "test:audio-store": "node scripts/run-audio-store-tests.mjs", "test:astra": "node scripts/run-astra-integration-tests.mjs", "test:capture-support": "node scripts/run-capture-support-tests.mjs", "test:spotify-provider": "node scripts/run-mac-spotify-provider-tests.mjs", "test:now-playing": "node scripts/run-now-playing-manager-tests.mjs", "test:profiles": "node scripts/run-profile-library-tests.mjs", "test:themes": "node scripts/run-theme-library-tests.mjs", "test:secret-vault": "node scripts/run-secret-vault-tests.mjs", "test:window-state": "node scripts/run-window-state-tests.mjs", "test:renderer-helpers": "node scripts/run-renderer-helper-tests.mjs", "build:native": "cd native && node-gyp rebuild", "rebuild:native": "node -e \"const e=require('electron/package.json').version;const a=process.arch;const{execSync}=require('child_process');execSync('node-gyp rebuild --target='+e+' --arch='+a+' --dist-url=https://electronjs.org/headers',{stdio:'inherit',cwd:'native'})\"", "postinstall": "npm run rebuild:native || echo 'Native build failed, will use JS fallback'", "dist": "npm run build && electron-builder --publish never", "dist:mac": "npm run build && electron-builder --mac --publish never", "dist:win": "npm run build && electron-builder --win --publish never", "dist:linux": "npm run build && electron-builder --linux --publish never" }, "repository": { "type": "git", "url": "https://github.com/Boof2015/prism" }, "author": { "name": "Boof2015", "email": "contact@novaml.ai" }, "license": "GPL-3.0-only", "dependencies": { "@fontsource/inter": "^5.2.8", "@fontsource/jetbrains-mono": "^5.2.8", "node-addon-api": "^8.5.0", "react": "^19.2.3", "react-dom": "^19.2.3", "zustand": "^5.0.10" }, "devDependencies": { "@electron/rebuild": "^3.7.1", "@types/react": "^19.2.9", "@types/react-dom": "^19.2.3", "@vitejs/plugin-react": "^5.1.2", "autoprefixer": "^10.4.23", "electron": "^40.0.0", "electron-builder": "^26.0.0", "electron-vite": "^5.0.0", "node-gyp": "^10.3.1", "postcss": "^8.5.6", "tailwindcss": "^4.1.18", "typescript": "^5.9.3", "vite": "^7.3.1" }, "build": { "appId": "com.astra.prism", "productName": "Prism", "directories": { "output": "dist" }, "fileAssociations": [ { "ext": "prsm", "name": "Prism Profile", "description": "Prism shareable profile", "role": "Editor" }, { "ext": "iro", "name": "Prism Theme", "description": "Prism shareable theme", "role": "Editor" } ], "files": [ "out/**/*", "native/build/Release/*.node" ], "extraResources": [ { "from": "native/build/Release/", "to": "native/", "filter": ["*.node"] } ], "mac": { "target": ["dmg", "zip"], "category": "public.app-category.music", "hardenedRuntime": true, "entitlements": "resources/entitlements.mac.plist", "entitlementsInherit": "resources/entitlements.mac.inherit.plist" }, "win": { "target": [ { "target": "nsis", "arch": ["x64"] }, { "target": "portable", "arch": ["x64"] } ] }, "linux": { "target": ["AppImage", "deb"], "category": "Audio" } } }