{
    "name": "freeshow",
    "version": "1.6.5-beta.2",
    "private": true,
    "main": "build/electron/index.js",
    "description": "Show song lyrics and more for free!",
    "repository": "git@github.com:ChurchApps/FreeShow.git",
    "author": "ChurchApps <support@livecs.org>",
    "license": "GPL-3.0",
    "engines": {
        "node": ">=22.12.0"
    },
    "overrides": {
        "shell-quote": "^1.8.4",
        "tmp": "^0.2.7",
        "tar": "^7.5.20"
    },
    "scripts": {
        "postinstall": "electron-builder install-app-deps",
        "rebuild-opus": "electron-rebuild -f -w @discordjs/opus",
        "---DEVELOPMENT---": "",
        "start": "node scripts/start.js",
        "start:old": "npx cross-env NODE_ENV=development npm-run-all -p -r build:frontend:dev start:electron",
        "build:frontend:dev": "npx cross-env NODE_ENV=development vite",
        "start:electron": "npm-run-all -p build:electron:dev:watch start:electron:dev",
        "build:electron:dev:watch": "tsc -w --p config/typescript/tsconfig.electron.json",
        "start:electron:dev": "npm-run-all -s build:electron:dev start:electron:script start:electron:run",
        "build:electron:dev": "tsc --p config/typescript/tsconfig.electron.json",
        "start:electron:script": "node scripts/electronDevPostBuild.js",
        "start:electron:run": "electron .",
        "---PRODUCTION---": "",
        "prebuild": "cross-env NODE_ENV=production node scripts/preBuild.js",
        "build": "cross-env NODE_ENV=production npm-run-all -s build:frontend:prod build:servers:prod build:electron:prod",
        "postbuild": "cross-env NODE_ENV=production node scripts/postBuild.js",
        "build:frontend:prod": "cross-env NODE_ENV=production vite build",
        "build:servers:prod": "cross-env NODE_ENV=production node scripts/vite/createServerFiles.js",
        "build:servers:dev": "cross-env NODE_ENV=development node scripts/vite/createServerFiles.js",
        "build:electron:prod": "cross-env NODE_ENV=production tsc --p config/typescript/tsconfig.electron.prod.json",
        "---RELEASE---": "",
        "prerelease": "npm run build",
        "release": "electron-builder --config config/building/electron-builder.yaml --publish always",
        "postrelease": "node scripts/cleanBuilds.js",
        "prerelease:arm64": "npm run build",
        "release:arm64": "electron-builder --config config/building/electron-builder-lnxarm.yaml --arm64 --publish onTagOrDraft",
        "postrelease:arm64": "node scripts/cleanBuilds.js",
        "prerelease:32bit": "npm run build",
        "release:32bit": "electron-builder --config config/building/electron-builder.yaml --ia32",
        "postrelease:32bit": "node scripts/cleanBuilds.js",
        "pack": "electron-builder --config config/building/electron-builder.yaml --dir",
        "pack:arm64": "electron-builder --config config/building/electron-builder-lnxarm.yaml --dir",
        "replace-electron": "node config/building/electron-replace-lnxarm.js",
        "---CHECKING---": "",
        "test": "npm-run-all -s test:unit test:playwright test:format test:svelte",
        "test:unit": "vitest run --config config/testing/vitest.config.ts",
        "test:playwright": "npx playwright test --config config/testing/playwright.config.ts",
        "test:format": "npx prettier --config config/formatting/.prettierrc.yaml --check src scripts",
        "test:svelte": "svelte-check",
        "format:prettier": "npx prettier --config config/formatting/.prettierrc.yaml --write src scripts",
        "lint": "npm-run-all -s lint:electron lint:frontend lint:svelte lint:styles",
        "lint:electron": "eslint -c config/linting/eslint.electron.json --ext .js,.ts src/electron --fix",
        "lint:frontend": "eslint -c config/linting/eslint.frontend.json --ext .js,.ts src/frontend --fix",
        "lint:svelte": "eslint -c config/linting/eslint.svelte.js --ext .svelte src/frontend --fix",
        "lint:styles": "npx stylelint 'src/frontend/**/*.{css,scss,svelte}' --config config/linting/.stylelintrc.json"
    },
    "devDependencies": {
        "@electron/notarize": "^2.5.0",
        "@mapbox/node-pre-gyp": "^2.0.0",
        "@playwright/test": "^1.56.1",
        "@rollup/plugin-commonjs": "^28.0.6",
        "@rollup/plugin-node-resolve": "^15.3.1",
        "@rollup/plugin-terser": "^1.0.0",
        "@rollup/plugin-typescript": "^12.1.4",
        "@soundtouchjs/audio-worklet": "^1.0.10",
        "@sveltejs/vite-plugin-svelte": "^2.5.3",
        "@tanstack/pacer": "^0.14.0",
        "@tsconfig/svelte": "^2.0.1",
        "@types/better-sqlite3": "^7.6.13",
        "@types/ebml": "^3.0.5",
        "@types/exif": "^0.6.5",
        "@types/express": "^4.17.23",
        "@types/follow-redirects": "^1.14.4",
        "@types/tmp": "^0.2.6",
        "@types/vimeo__player": "^2.18.3",
        "@types/xml2js": "^0.4.14",
        "@types/yauzl": "^2.10.3",
        "@types/yazl": "^3.3.0",
        "@typescript-eslint/eslint-plugin": "^5.62.0",
        "@typescript-eslint/parser": "^5.62.0",
        "@vimeo/player": "^2.29.3",
        "chord-transposer": "^3.0.9",
        "cross-env": "^7.0.3",
        "dayjs": "^1.11.13",
        "electron": "^37.10.3",
        "electron-builder": "^26.0.19",
        "eslint": "^8.57.1",
        "eslint-config-prettier": "^8.10.2",
        "eslint-plugin-jsdoc": "^39.9.1",
        "eslint-plugin-prefer-arrow": "^1.2.3",
        "eslint-plugin-svelte3": "^4.0.0",
        "firebase": "^12.15.0",
        "npm-run-all2": "^9.0.1",
        "pdfjs-dist": "^5.4.296",
        "playwright": "^1.56.1",
        "prettier": "^3.6.2",
        "prettier-plugin-svelte": "^3.4.0",
        "qrcode-generator": "^1.5.2",
        "rollup": "^4.46.2",
        "rollup-plugin-copy": "^3.5.0",
        "rollup-plugin-css-only": "^4.5.2",
        "rollup-plugin-livereload": "^2.0.5",
        "rollup-plugin-serve": "^3.0.0",
        "rollup-plugin-svelte": "^7.2.2",
        "socket.io-client": "^4.8.1",
        "stylelint": "^16.23.1",
        "stylelint-config-html": "^1.1.0",
        "stylelint-use-logical": "^2.1.2",
        "svelte": "^3.59.2",
        "svelte-check": "^2.10.3",
        "svelte-inspector": "github:vassbo/svelte-inspector#78307db",
        "svelte-preprocess": "^4.10.7",
        "tmp": "^0.2.7",
        "tslib": "^2.8.1",
        "typescript": "^4.9.5",
        "vite": "^4.5.14",
        "vitest": "^2.1.9",
        "xml2js": "^0.6.2",
        "youtube-player": "^5.6.0"
    },
    "dependencies": {
        "@discordjs/opus": "^0.10.0",
        "@googleapis/drive": "^8.16.0",
        "@sentry/electron": "^7.3.0",
        "axios": "^1.12.2",
        "better-sqlite3": "^12.4.6",
        "bonjour-service": "^1.3.0",
        "ebml": "^3.0.0",
        "electron-store": "^8.2.0",
        "electron-updater": "^6.6.7",
        "exif": "^0.6.0",
        "express": "^4.21.2",
        "fast-xml-parser": "^5.10.1",
        "genius-lyrics": "^4.4.7",
        "grandiose": "github:ChurchApps/grandiose#4e02dea",
        "json-bible": "^1.1.9",
        "jzz": "^1.9.5",
        "libltc-wrapper": "github:bitfocus/libltc-wrapper#9637e39",
        "macadam": "github:vassbo/macadam#d40f0a3",
        "mdb-reader": "^1.2.1",
        "mp4box": "^0.6.5",
        "music-metadata": "^7.14.0",
        "node-machine-id": "^1.1.12",
        "osc-js": "^2.4.1",
        "pcm-convert": "^1.6.5",
        "protobufjs": "^7.5.3",
        "pusher-js": "^8.5.0",
        "slideshow": "github:vassbo/slideshow#224d50f",
        "socket.io": "^4.8.1",
        "uid": "^2.0.2",
        "upath": "^2.0.1",
        "word-extractor": "^1.0.4",
        "yauzl": "^3.2.0",
        "yazl": "^3.3.1"
    },
    "optionalDependencies": {
        "libspotifyctl": "^0.3.4"
    }
}
