{
  "name": "prism",
  "version": "0.2.0-beta",
  "description": "Open-source audio metering and visualization tool",
  "main": "./out/main/index.js",
  "scripts": {
    "dev": "node ./scripts/build/writeAppBuildMetadata.cjs && electron-vite dev",
    "dev:mac": "node ./scripts/build/writeAppBuildMetadata.cjs && env -u ELECTRON_RUN_AS_NODE electron-vite dev",
    "build": "electron-vite build && node ./scripts/build/writeAppBuildMetadata.cjs",
    "preview": "electron-vite preview",
    "typecheck": "tsc --noEmit",
    "build:icons": "node scripts/build/generate-prism-icons.mjs",
    "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",
    "test:build-metadata": "node scripts/run-build-metadata-tests.mjs",
    "test:updates": "node scripts/run-update-tests.mjs",
    "plugin-ui:dev": "vite --config vite.plugin-ui.config.ts",
    "plugin-ui:build": "vite build --config vite.plugin-ui.config.ts",
    "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"
      }
    ],
    "files": [
      "out/**/*",
      "native/build/Release/*.node"
    ],
    "extraResources": [
      {
        "from": "native/build/Release/",
        "to": "native/",
        "filter": ["*.node"]
      },
      {
        "from": "resources/icon.png",
        "to": "icon.png"
      }
    ],
    "mac": {
      "target": ["dmg", "zip"],
      "icon": "resources/icon.icns",
      "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"] }
      ],
      "icon": "resources/icon.ico"
    },
    "linux": {
      "target": ["AppImage", "deb"],
      "icon": "resources/icon.png",
      "category": "Audio"
    }
  }
}
