{
  "name": "pl-fe",
  "displayName": "pl-fe",
  "version": "3.2.0",
  "type": "module",
  "description": "Web-based federated social media client, a fork of Soapbox",
  "homepage": "https://github.com/mkljczk/pl-fe",
  "repository": {
    "type": "git",
    "url": "https://github.com/mkljczk/pl-fe"
  },
  "keywords": [
    "fediverse",
    "pleroma"
  ],
  "bugs": {
    "url": "https://github.com/mkljczk/pl-fe/issues"
  },
  "scripts": {
    "start": "npx vite serve",
    "dev": "${npm_execpath} run start",
    "build": "npx vite build --emptyOutDir",
    "preview": "npx vite preview",
    "audit:fix": "npx yarn-audit-fix",
    "i18n": "npx formatjs extract 'src/**/*.{ts,tsx}' --ignore '**/*.d.ts' --out-file build/messages.json && npx formatjs compile build/messages.json --out-file src/locales/en.json",
    "test": "npx vitest",
    "test:coverage": "${npm_execpath} run test --coverage",
    "test:all": "${npm_execpath} run test:coverage && ${npm_execpath} run lint",
    "lint": "${npm_execpath} run lint:js && ${npm_execpath} run lint:sass",
    "lint:js": "npx eslint --ext .js,.jsx,.cjs,.mjs,.ts,.tsx . --cache",
    "lint:sass": "npx stylelint src/styles/**/*.scss",
    "prepare": "husky install",
    "precommit": "npx lint-staged"
  },
  "license": "AGPL-3.0-or-later",
  "browserslist": [
    "> 0.5%",
    "last 2 versions",
    "not dead"
  ],
  "dependencies": {
    "@akryum/flexsearch-es": "^0.7.32",
    "@babel/plugin-transform-react-inline-elements": "^7.22.5",
    "@babel/plugin-transform-runtime": "^7.22.15",
    "@babel/preset-env": "^7.22.15",
    "@babel/preset-react": "^7.22.15",
    "@babel/preset-typescript": "^7.22.15",
    "@emoji-mart/data": "^1.1.2",
    "@floating-ui/react": "^0.26.0",
    "@fontsource/inter": "^5.0.0",
    "@fontsource/noto-sans-javanese": "^5.0.16",
    "@fontsource/roboto-mono": "^5.0.0",
    "@fontsource/tajawal": "^5.0.8",
    "@lexical/clipboard": "^0.14.5",
    "@lexical/code": "^0.14.5",
    "@lexical/hashtag": "^0.14.5",
    "@lexical/link": "^0.14.5",
    "@lexical/list": "^0.14.5",
    "@lexical/react": "^0.14.5",
    "@lexical/rich-text": "^0.14.5",
    "@lexical/selection": "^0.14.5",
    "@lexical/utils": "^0.14.5",
    "@mkljczk/lexical-remark": "^0.4.0",
    "@mkljczk/react-hotkeys": "^1.2.2",
    "@popperjs/core": "^2.11.5",
    "@reach/combobox": "^0.18.0",
    "@reach/menu-button": "^0.18.0",
    "@reach/popover": "^0.18.0",
    "@reach/rect": "^0.18.0",
    "@reach/tabs": "^0.18.0",
    "@reduxjs/toolkit": "^2.0.1",
    "@sentry/browser": "^7.74.1",
    "@sentry/react": "^7.74.1",
    "@tabler/icons": "^3.1.0",
    "@tailwindcss/aspect-ratio": "^0.4.2",
    "@tailwindcss/forms": "^0.5.7",
    "@tailwindcss/typography": "^0.5.10",
    "@tanstack/react-query": "^5.0.0",
    "@types/escape-html": "^1.0.1",
    "@types/http-link-header": "^1.0.3",
    "@types/leaflet": "^1.8.0",
    "@types/lodash": "^4.14.180",
    "@types/object-assign": "^4.0.30",
    "@types/path-browserify": "^1.0.0",
    "@types/react": "^18.0.26",
    "@types/react-color": "^3.0.6",
    "@types/react-datepicker": "^4.4.2",
    "@types/react-dom": "^18.0.10",
    "@types/react-helmet": "^6.1.5",
    "@types/react-motion": "^0.0.40",
    "@types/react-router-dom": "^5.3.3",
    "@types/react-sparklines": "^1.7.2",
    "@types/react-swipeable-views": "^0.13.1",
    "@types/redux-mock-store": "^1.0.6",
    "@types/semver": "^7.3.9",
    "@types/uuid": "^9.0.0",
    "@vitejs/plugin-react": "^4.0.4",
    "@webbtc/webln-types": "^3.0.0",
    "autoprefixer": "^10.4.15",
    "babel-plugin-formatjs": "^10.5.6",
    "babel-plugin-preval": "^5.1.0",
    "blurhash": "^2.0.0",
    "bowser": "^2.11.0",
    "browserslist": "^4.16.6",
    "clsx": "^2.0.0",
    "core-js": "^3.27.2",
    "cryptocurrency-icons": "^0.18.1",
    "cssnano": "^6.0.0",
    "detect-passive-events": "^2.0.0",
    "dotenv": "^16.0.0",
    "emoji-datasource": "14.0.0",
    "emoji-mart": "^5.5.2",
    "escape-html": "^1.0.3",
    "eslint-plugin-formatjs": "^4.12.2",
    "exifr": "^7.1.3",
    "fasttext.wasm.js": "^1.0.0",
    "fuzzysort": "^3.0.0",
    "graphemesplit": "^2.4.4",
    "html-react-parser": "^5.0.0",
    "http-link-header": "^1.0.2",
    "immer": "^10.0.0",
    "immutable": "^4.3.7",
    "intersection-observer": "^0.12.2",
    "intl-messageformat": "10.5.11",
    "intl-pluralrules": "^2.0.0",
    "isomorphic-dompurify": "^2.3.0",
    "leaflet": "^1.8.0",
    "lexical": "^0.14.5",
    "line-awesome": "^1.3.0",
    "localforage": "^1.10.0",
    "lodash": "^4.7.11",
    "mini-css-extract-plugin": "^2.6.0",
    "multiselect-react-dropdown": "^2.0.25",
    "object-to-formdata": "^4.5.1",
    "path-browserify": "^1.0.1",
    "pl-api": "^0.0.22",
    "postcss": "^8.4.29",
    "process": "^0.11.10",
    "punycode": "^2.1.1",
    "qrcode.react": "^3.1.0",
    "query-string": "^9.0.0",
    "react": "^18.0.0",
    "react-color": "^2.19.3",
    "react-datepicker": "^4.8.0",
    "react-dom": "^18.0.0",
    "react-error-boundary": "^4.0.11",
    "react-helmet": "^6.1.0",
    "react-hot-toast": "^2.4.0",
    "react-immutable-pure-component": "^2.2.2",
    "react-inlinesvg": "^4.0.0",
    "react-intl": "^6.0.0",
    "react-motion": "^0.5.2",
    "react-overlays": "^0.9.0",
    "react-popper": "^2.3.0",
    "react-redux": "^9.0.4",
    "react-router-dom": "^5.3.4",
    "react-router-dom-v5-compat": "^6.24.1",
    "react-router-scroll-4": "^1.0.0-beta.2",
    "react-simple-pull-to-refresh": "^1.3.3",
    "react-sparklines": "^1.7.0",
    "react-sticky-box": "^2.0.0",
    "react-swipeable-views": "^0.14.0",
    "react-virtuoso": "^4.7.13",
    "redux": "^5.0.0",
    "redux-immutable": "^4.0.0",
    "redux-thunk": "^3.1.0",
    "reselect": "^5.0.0",
    "resize-observer-polyfill": "^1.5.1",
    "sass": "^1.69.5",
    "semver": "^7.3.8",
    "stringz": "^2.0.0",
    "tiny-queue": "^0.2.1",
    "tslib": "^2.3.1",
    "twemoji": "https://github.com/twitter/twemoji#v14.0.2",
    "type-fest": "^4.0.0",
    "typescript": "^5.4.5",
    "util": "^0.12.5",
    "uuid": "^9.0.0",
    "vite": "^5.0.10",
    "vite-plugin-compile-time": "^0.2.1",
    "vite-plugin-html": "^3.2.0",
    "vite-plugin-require": "^1.1.10",
    "vite-plugin-static-copy": "^1.0.0",
    "wicg-inert": "^3.1.1",
    "zod": "^3.23.8"
  },
  "devDependencies": {
    "@formatjs/cli": "^6.2.0",
    "@gitbeaker/node": "^35.8.0",
    "@jedmao/redux-mock-store": "^3.0.5",
    "@testing-library/jest-dom": "^6.1.3",
    "@testing-library/react": "^14.0.0",
    "@testing-library/react-hooks": "^8.0.1",
    "@testing-library/user-event": "^14.5.1",
    "@typescript-eslint/eslint-plugin": "^7.0.0",
    "@typescript-eslint/parser": "^7.0.0",
    "babel-plugin-transform-require-context": "^0.1.1",
    "cross-env": "^7.0.3",
    "eslint": "^8.49.0",
    "eslint-import-resolver-typescript": "^3.6.0",
    "eslint-plugin-compat": "^4.2.0",
    "eslint-plugin-import": "^2.28.1",
    "eslint-plugin-jsdoc": "^48.0.0",
    "eslint-plugin-jsx-a11y": "^6.7.1",
    "eslint-plugin-promise": "^6.0.0",
    "eslint-plugin-react": "^7.33.2",
    "eslint-plugin-react-hooks": "^4.6.0",
    "eslint-plugin-tailwindcss": "^3.13.0",
    "fake-indexeddb": "^5.0.0",
    "husky": "^9.0.0",
    "jsdom": "^24.0.0",
    "lint-staged": ">=10",
    "react-intl-translations-manager": "^5.0.3",
    "react-refresh": "^0.14.0",
    "rollup-plugin-visualizer": "^5.9.2",
    "stylelint": "^16.0.2",
    "stylelint-config-standard-scss": "^12.0.0",
    "tailwindcss": "^3.4.0",
    "vite-plugin-checker": "^0.6.2",
    "vite-plugin-pwa": "^0.17.0",
    "vitest": "^1.0.0"
  },
  "resolutions": {
    "@types/react": "^18.0.26",
    "@types/react-dom": "^18.0.10",
    "glob-parent": "^6.0.1",
    "jsonwebtoken": "^9.0.0",
    "loader-utils": "^2.0.3"
  },
  "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
}
