{
	"name": "fluxer_app",
	"version": "1.0.0",
	"type": "module",
	"private": true,
	"description": "Fluxer is an open-source, independent instant messaging and VoIP platform. Built for friends, groups, and communities.",
	"homepage": "https://fluxer.app",
	"author": "Fluxer Contributors <developers@fluxer.app>",
	"sideEffects": [
		"*.css",
		"**/*.css"
	],
	"scripts": {
		"build": "pnpm wasm:codegen && pnpm generate:colors && pnpm generate:masks && pnpm generate:css-types && tsc --noEmit && pnpm lingui:compile && rm -rf dist && rspack build --mode production && npx tsx scripts/build-sw.mjs",
		"dev": "pnpm wasm:codegen && pnpm generate:colors && pnpm generate:masks && pnpm generate:css-types && pnpm lingui:compile && rm -rf dist && rspack serve",
		"generate:css-types": "tcm src --pattern '**/*.module.css'",
		"electron:build:canary": "BUILD_CHANNEL=canary pnpm electron:compile && BUILD_CHANNEL=canary electron-builder --config electron-builder.canary.yaml",
		"electron:build:stable": "pnpm electron:compile && electron-builder --config electron-builder.yaml",
		"electron:compile": "node scripts/build-electron.mjs",
		"electron:dev": "pnpm electron:compile && electron .",
		"generate:colors": "cd scripts && go run ./cmd/generate-color-system",
		"generate:emoji-sprites": "cd scripts && go run ./cmd/generate-emoji-sprites",
		"generate:masks": "npx tsx scripts/generate-avatar-masks.ts",
		"knip": "knip",
		"lingui": "pnpm lingui:extract && cd scripts && pnpm translate && pnpm lingui:compile",
		"lingui:compile": "lingui compile --strict",
		"lingui:extract": "lingui extract --clean",
		"translate": "cd scripts/cmd/locales-pending && go run . --locales-dir=../../../src/locales",
		"translate:locale": "cd scripts/cmd/locales-pending && go run . --locales-dir=../../../src/locales --locale",
		"translate:qc": "cd scripts/cmd/locales-pending && go run . --locales-dir=../../../src/locales --qc-only --qc-passes 2",
		"translate:reset": "cd scripts/cmd/locales-pending/reset && go run . --locales-dir=../../../../src/locales",
		"set:build-channel": "node scripts/set-build-channel.mjs",
		"test": "vitest run",
		"test:coverage": "vitest run --coverage",
		"test:debug": "vitest run --no-coverage --inspect-brk --threads=false",
		"test:ui": "vitest --ui",
		"test:watch": "vitest",
		"tsc:all": "pnpm wasm:codegen && pnpm tsc -p tsconfig.json && pnpm tsc -p tsconfig.electron.json",
		"wasm:codegen": "cd crates/libfluxcore && wasm-pack build --target web --out-dir ../../pkgs/libfluxcore --release"
	},
	"dependencies": {
		"@dnd-kit/core": "6.3.1",
		"@dnd-kit/modifiers": "9.0.0",
		"@dnd-kit/sortable": "10.0.0",
		"@dnd-kit/utilities": "3.2.2",
		"@electron-webauthn/native": "^0.0.6",
		"@floating-ui/react": "0.27.16",
		"@floating-ui/react-dom": "2.1.6",
		"@hcaptcha/react-hcaptcha": "1.17.2",
		"@lingui/core": "5.7.0",
		"@lingui/react": "5.7.0",
		"@livekit/components-react": "2.9.17",
		"@livekit/track-processors": "0.7.0",
		"@marsidev/react-turnstile": "1.4.0",
		"@mediapipe/tasks-vision": "0.10.14",
		"@phosphor-icons/react": "2.1.10",
		"@radix-ui/react-checkbox": "^1.3.3",
		"@radix-ui/react-radio-group": "1.3.8",
		"@radix-ui/react-switch": "^1.2.6",
		"@sentry/react": "10.32.1",
		"@simplewebauthn/browser": "13.2.2",
		"clsx": "2.1.1",
		"colorjs.io": "0.6.0",
		"combokeys": "3.0.1",
		"electron-squirrel-startup": "^1.0.1",
		"electron-webauthn-mac": "^1.0.0",
		"emoji-regex": "10.6.0",
		"eventemitter3": "5.0.1",
		"favico.js": "0.3.10",
		"framer-motion": "12.23.26",
		"fs-extra": "11.3.3",
		"highlight.js": "11.11.1",
		"idna-uts46-hx": "6.1.0",
		"katex": "0.16.27",
		"livekit-client": "2.16.1",
		"lodash": "4.17.21",
		"lru-cache": "11.2.4",
		"luxon": "3.7.2",
		"match-sorter": "8.2.0",
		"mobx": "6.15.0",
		"mobx-persist-store": "1.1.8",
		"mobx-react-lite": "4.1.1",
		"motion": "12.23.26",
		"node-mac-permissions": "^2.5.0",
		"qrcode": "1.5.4",
		"react": "19.2.3",
		"react-aria-components": "1.14.0",
		"react-dnd": "16.0.1",
		"react-dnd-accessible-backend": "2.1.0",
		"react-dnd-html5-backend": "16.0.1",
		"react-dnd-multi-backend": "9.0.0",
		"react-dom": "19.2.3",
		"react-hook-form": "7.69.0",
		"react-hotkeys-hook": "5.2.1",
		"react-modal-sheet": "5.2.1",
		"react-select": "5.10.2",
		"react-zoom-pan-pinch": "3.7.0",
		"rxjs": "7.8.2",
		"thumbhash": "0.1.1",
		"ua-parser-js": "2.0.7",
		"undici": "7.16.0",
		"unique-names-generator": "4.7.1",
		"update-electron-app": "3.1.2",
		"urlpattern-polyfill": "10.1.0",
		"valibot": "1.2.0",
		"ws": "8.18.3"
	},
	"devDependencies": {
		"@lingui/cli": "5.7.0",
		"@lingui/swc-plugin": "5.9.0",
		"@rspack/cli": "1.6.2",
		"@rspack/core": "1.6.2",
		"@rspack/plugin-react-refresh": "1.5.1",
		"@svgr/core": "^8.1.0",
		"@svgr/plugin-jsx": "^8.1.0",
		"@svgr/plugin-svgo": "^8.1.0",
		"@svgr/webpack": "^8.1.0",
		"@types/combokeys": "2.4.9",
		"@types/electron-squirrel-startup": "^1.0.2",
		"@types/jsdom": "27.0.0",
		"@types/lodash": "4.17.21",
		"@types/luxon": "3.7.1",
		"@types/node": "25.0.3",
		"@types/qrcode": "1.5.6",
		"@types/react": "19.2.7",
		"@types/react-dom": "19.2.3",
		"@types/ws": "^8.18.1",
		"@vitest/coverage-v8": "4.0.16",
		"autoprefixer": "^10.4.23",
		"browserslist": "^4.28.1",
		"chokidar": "^4.0.0",
		"electron": "39.2.7",
		"electron-builder": "26.0.12",
		"electron-builder-squirrel-windows": "^26.0.12",
		"esbuild": "^0.27.2",
		"happy-dom": "20.0.11",
		"jsdom": "27.4.0",
		"knip": "5.78.0",
		"lightningcss": "^1.30.2",
		"node-addon-api": "^8.5.0",
		"postcss": "^8.4.49",
		"postcss-discard-comments": "^7.0.5",
		"postcss-loader": "^8.2.0",
		"postcss-modules": "^6.0.1",
		"postcss-preset-env": "^10.6.0",
		"react-refresh": "^0.14.2",
		"tsx": "4.21.0",
		"typed-css-modules": "^0.9.1",
		"typescript": "5.9.3",
		"vitest": "4.0.16",
		"wasm-pack": "0.13.1"
	},
	"optionalDependencies": {
		"electron-log": "5.4.3",
		"uiohook-napi": "1.5.4"
	},
	"browserslist": [
		"chrome >= 47",
		"edge >= 12",
		"firefox >= 44",
		"safari >= 9",
		"ios >= 9",
		"last 2 versions",
		"not dead",
		"> 0.2%",
		"not op_mini all"
	],
	"packageManager": "pnpm@10.26.0",
	"pnpm": {
		"peerDependencyRules": {
			"allowedVersions": {
				"react": "*"
			},
			"ignoreMissing": [
				"webpack",
				"babel-plugin-macros"
			]
		},
		"overrides": {
			"@rspack/core": "1.6.2",
			"@rspack/cli": "1.6.2",
			"@lingui/swc-plugin": "5.9.0"
		},
		"onlyBuiltDependencies": [
			"core-js",
			"core-js-pure",
			"electron",
			"node-mac-permissions",
			"oxc-resolver",
			"protobufjs",
			"uiohook-napi"
		]
	}
}
