{ "name": "ferdium", "productName": "Ferdium", "desktopName": "ferdium.desktop", "appId": "org.ferdium.ferdium-app", "version": "6.7.2-nightly.4", "description": "Messaging app for WhatsApp, Slack, Telegram, Hangouts and many many more.", "author": "Ferdium Contributors (https://ferdium.org/)", "license": "Apache-2.0", "copyright": "org.ferdium", "main": "index.js", "homepage": "https://github.com/ferdium/ferdium-app", "repository": "https://github.com/ferdium/ferdium-app.git", "private": true, "engines": { "node": "20.11.1", "pnpm": "8.15.3" }, "engine-strict": true, "volta": { "node": "20.11.1", "pnpm": "8.15.3" }, "packageManager": "pnpm@8.15.3", "scripts": { "prepare": "is-ci || husky install", "start": "electron ./build", "start:local": "cross-env USE_LOCAL_API=1 pnpm start", "start:live": "cross-env USE_LIVE_API=1 pnpm start", "start:all-dev": "concurrently \"pnpm dev\" \"wait-on http-get://127.0.0.1:8080 && pnpm start\"", "dev": "node esbuild.mjs --watch", "test": "jest", "test:watch": "jest --watch", "typecheck": "tsc --noEmit", "lint": "eslint \"{src,test,scripts}/**/*.{js,jsx,mjs,ts,tsx}\" --quiet", "lint:fix": "pnpm lint --cache --fix", "biome:check": "pnpm biome check .", "biome:check:fix": "pnpm biome:check --apply-unsafe", "extract": "formatjs extract \"src/**/*.{js,jsx,mjs,ts,tsx}\" --ignore=\"**/*.d.ts\" --out-file temp.json --flatten --id-interpolation-pattern '[sha512:contenthash:base64:6]' --preserve-whitespace", "compile": "formatjs compile \"temp.json\" --out-file src/i18n/locales/en-US.json", "manage-translations": "pnpm extract && pnpm compile && rimraf temp.json", "build": "preval-build-info-cli && node esbuild.mjs && electron-builder", "contributors": "all-contributors", "reformat-files": "prettier --ignore-path .eslintignore --write --cache \"**/*.{js,jsx,mjs,ts,tsx,scss}\"", "prepare-code": "pnpm typecheck && pnpm lint:fix && pnpm biome:check:fix && pnpm reformat-files && pnpm manage-translations", "link-readme": "ts-node scripts/link-readme.ts", "minify-images": "./scripts/minify-images.sh", "start:server": "ts-node src/internal-server/test.ts", "add-crowdin-contributors": "ts-node scripts/add-crowdin-contributors.ts", "debug": "cross-env-shell DEBUG_COLORS=1 DEBUG=Ferdium:* pnpm start:all-dev" }, "keywords": [], "dependencies": { "@adonisjs/ace": "5.1.0", "@adonisjs/auth": "3.2.0", "@adonisjs/bodyparser": "2.3.0", "@adonisjs/cors": "1.0.7", "@adonisjs/drive": "1.0.4", "@adonisjs/fold": "4.1.0", "@adonisjs/framework": "5.0.13", "@adonisjs/ignitor": "2.0.8", "@adonisjs/lucid": "6.3.0", "@adonisjs/session": "1.1.0", "@adonisjs/shield": "1.1.0", "@adonisjs/validator": "5.1.0", "@electron/remote": "2.1.2", "@emotion/react": "11.11.4", "@emotion/styled": "11.11.0", "@krisdages/electron-process-manager": "3.0.0", "@mdi/js": "7.4.47", "@mdi/react": "1.6.1", "@mui/icons-material": "5.15.14", "@mui/material": "5.15.14", "@octokit/core": "5.1.0", "@sentry/electron": "4.14.0", "@superwf/mobx-react-router": "7.4.0", "auto-launch": "5.0.6", "classnames": "2.5.1", "color": "4.2.3", "csstype": "3.1.3", "darkreader": "4.9.80", "dbus-next": "0.10.2", "debug": "4.3.4", "electron-dl": "3.5.2", "electron-find": "1.0.7", "electron-react-titlebar": "1.2.1", "electron-updater": "6.1.8", "electron-window-state": "5.0.3", "fast-folder-size": "2.2.0", "fs-extra": "11.2.0", "google-translate-api-x": "10.6.8", "history": "5.3.0", "immutable": "4.3.2", "jsonwebtoken": "9.0.2", "jss": "10.10.0", "languagedetect": "2.0.0", "lodash": "4.17.21", "macos-version": "5.2.1", "markdown-to-jsx": "7.4.4", "minimist": "1.2.8", "mobx": "6.12.0", "mobx-localstorage": "1.2.0", "mobx-react": "7.6.0", "mobx-react-form": "6.9.4", "moment": "2.30.1", "ms": "2.1.3", "normalize-url": "6.1.0", "os-name": "4.0.1", "pretty-bytes": "5.6.0", "prop-types": "15.8.1", "rc-progress": "3.5.1", "react": "18.2.0", "react-color": "2.19.3", "react-confetti": "6.1.0", "react-dom": "18.2.0", "react-dropzone": "14.2.3", "react-electron-web-view": "2.0.1", "react-intl": "6.6.2", "react-jss": "10.10.0", "react-loader-spinner": "5.4.5", "react-modal": "3.16.1", "react-router-dom": "6.22.3", "react-sortable-hoc": "2.0.0", "react-tooltip": "5.26.3", "react-topbar-progress-indicator": "4.1.1", "react-transition-group": "4.4.5", "route-parser": "0.0.5", "sanitize-filename": "1.6.3", "semver": "7.6.0", "sqlite3": "5.1.6", "tar": "6.2.0", "tslib": "2.6.2", "useragent-generator": "1.1.1-amkt-22079-finish.0", "uuid": "9.0.1", "validator": "13.11.0" }, "devDependencies": { "@biomejs/biome": "1.6.1", "@commitlint/cli": "19.2.1", "@commitlint/config-conventional": "19.1.0", "@electron/notarize": "1.2.3", "@formatjs/cli": "6.2.7", "@jest/types": "29.6.3", "@types/auto-launch": "5.0.5", "@types/color": "3.0.6", "@types/fs-extra": "11.0.4", "@types/jest": "29.5.12", "@types/lodash": "4.17.0", "@types/minimist": "1.2.5", "@types/ms": "0.7.34", "@types/node": "20.11.30", "@types/prop-types": "15.7.11", "@types/react": "18.2.67", "@types/react-color": "3.0.12", "@types/react-dom": "18.2.22", "@types/react-transition-group": "4.4.10", "@types/route-parser": "0.1.7", "@types/semver": "7.5.8", "@types/tar": "6.1.11", "@types/uuid": "9.0.8", "@types/validator": "13.11.9", "@typescript-eslint/eslint-plugin": "7.3.1", "@typescript-eslint/parser": "7.3.1", "all-contributors-cli": "6.26.1", "chalk": "5.3.0", "concurrently": "8.2.2", "cross-env": "7.0.3", "electron": "29.1.5", "electron-builder": "24.13.3", "esbuild": "0.16.17", "esbuild-plugin-copy": "2.1.1", "esbuild-runner": "2.2.2", "esbuild-sass-plugin": "2.16.1", "eslint": "8.57.0", "eslint-config-airbnb": "19.0.4", "eslint-config-airbnb-typescript": "18.0.0", "eslint-config-prettier": "9.1.0", "eslint-plugin-import": "2.29.1", "eslint-plugin-jest": "27.9.0", "eslint-plugin-jsx-a11y": "6.8.0", "eslint-plugin-prettier": "5.1.3", "eslint-plugin-react": "7.34.1", "eslint-plugin-react-hooks": "4.6.0", "eslint-plugin-sonar": "0.13.2", "eslint-plugin-unicorn": "51.0.1", "gulp-livereload": "4.0.2", "husky": "9.0.11", "is-ci": "3.0.1", "jest": "29.7.0", "prettier": "3.2.5", "preval-build-info": "1.0.3", "rimraf": "5.0.5", "simple-git": "3.23.0", "tiny-glob": "0.2.9", "ts-node": "10.9.2", "typescript": "5.4.3", "wait-on": "7.2.0" }, "pnpm": { "overrides": { "usocket": "_EXCLUDED_" }, "peerDependencyRules": { "allowedVersions": { "@typescript-eslint/parser": "^7.0.0", "esbuild-sass-plugin>esbuild": "^0.16.7", "react-electron-web-view>react": "^18.0.0", "react-electron-web-view>react-dom": "^18.0.0", "react-sortable-hoc>react": "^18.0.0", "react-sortable-hoc>react-dom": "^18.0.0" } }, "allowedDeprecatedVersions": { "kleur": "2.0.2", "set-value": "1.0.0", "request": "2.88.2", "har-validator": "5.1.5", "uuid": "3.4.0", "@sinonjs/fake-timers": "10.2.0", "@npmcli/move-file": "1.1.2 || 2.0.1", "source-map-resolve": "0.5.3", "source-map-url": "0.4.1", "resolve-url": "0.2.1", "urix": "0.1.0" } }, "overrides": { "usocket": "_EXCLUDED_" }, "optionalDependencies": { "macos-notification-state": "github:ferdium/macos-notification-state#e0e78c3aff1a9d2362709dff70d01d3eaef4ee6a", "node-mac-permissions": "2.3.0" }, "browserslist": [ "last 2 Chrome versions" ], "autoload": { "App": "./src/internal-server/app" } }