195 lines
6.4 KiB
JSON
195 lines
6.4 KiB
JSON
{
|
|
"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"
|
|
]
|
|
}
|
|
}
|