fluxer/fluxer_app/package.json
2026-01-01 21:05:54 +00:00

195 lines
6.3 KiB
JSON

{
"name": "fluxer_app",
"version": "1.0.0",
"type": "module",
"private": true,
"description": "Fluxer desktop client. Chat that puts you first.",
"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"
]
}
}