{
  "name": "synapse-admin",
  "version": "0.10.3",
  "description": "Admin GUI for the Matrix.org server Synapse",
  "type": "module",
  "author": "etke.cc (originally by Awesome Technologies Innovationslabor GmbH)",
  "license": "Apache-2.0",
  "homepage": ".",
  "repository": {
    "type": "git",
    "url": "https://github.com/etkecc/synapse-admin"
  },
  "devDependencies": {
    "@eslint/js": "^9.7.0",
    "@testing-library/dom": "^10.0.0",
    "@testing-library/jest-dom": "^6.6.2",
    "@testing-library/react": "^16.0.0",
    "@testing-library/user-event": "^14.5.2",
    "@types/jest": "^29.5.13",
    "@types/lodash": "^4.17.7",
    "@types/node": "^22.7.7",
    "@types/papaparse": "^5.3.15",
    "@types/react": "^18.3.3",
    "@typescript-eslint/eslint-plugin": "^8.10.0",
    "@typescript-eslint/parser": "^8.10.0",
    "@vitejs/plugin-react": "^4.3.2",
    "eslint": "^8.57.0",
    "eslint-config-prettier": "^9.1.0",
    "eslint-plugin-import": "^2.31.0",
    "eslint-plugin-jsx-a11y": "^6.9.0",
    "eslint-plugin-prettier": "^5.2.1",
    "eslint-plugin-unused-imports": "^3.2.0",
    "eslint-plugin-yaml": "^1.0.3",
    "jest": "^29.7.0",
    "jest-environment-jsdom": "^29.7.0",
    "jest-fetch-mock": "^3.0.3",
    "prettier": "^3.3.3",
    "react-test-renderer": "^18.3.1",
    "ts-jest": "^29.2.5",
    "ts-node": "^10.9.2",
    "typescript": "^5.6.3",
    "typescript-eslint": "^8.10.0",
    "vite": "^5.4.6",
    "vite-plugin-version-mark": "^0.1.2"
  },
  "dependencies": {
    "@emotion/react": "^11.13.0",
    "@emotion/styled": "^11.13.0",
    "@haleos/ra-language-german": "^1.0.0",
    "@haxqer/ra-language-chinese": "^4.16.2",
    "@mui/icons-material": "^6.1.1",
    "@mui/material": "^6.1.1",
    "@mui/utils": "^5.16.6",
    "@tanstack/react-query": "^5.56.2",
    "history": "^5.3.0",
    "lodash": "^4.17.21",
    "papaparse": "^5.4.1",
    "ra-core": "^5.3.0",
    "ra-i18n-polyglot": "^5.3.0",
    "ra-language-english": "^5.3.0",
    "ra-language-farsi": "^5.0.0",
    "ra-language-french": "^5.2.0",
    "ra-language-italian": "^3.13.1",
    "ra-language-russian": "^4.14.2",
    "react": "^18.3.1",
    "react-admin": "^5.3.0",
    "react-dom": "^18.3.1",
    "react-hook-form": "^7.53.1",
    "react-is": "^18.3.1",
    "react-router": "^6.26.2",
    "react-router-dom": "^6.27.0"
  },
  "scripts": {
    "start": "vite serve",
    "build": "vite build",
    "lint": "eslint --ignore-path .gitignore --ext .ts,.tsx,.yml,.yaml .",
    "fix": "yarn lint --fix",
    "test": "yarn jest",
    "test:watch": "yarn jest --watch"
  },
  "eslintConfig": {
    "env": {
      "browser": true
    },
    "plugins": [
      "import",
      "prettier",
      "unused-imports",
      "@typescript-eslint",
      "yaml"
    ],
    "extends": [
      "eslint:recommended",
      "plugin:@typescript-eslint/recommended",
      "plugin:@typescript-eslint/stylistic",
      "plugin:import/typescript",
      "plugin:yaml/legacy"
    ],
    "parser": "@typescript-eslint/parser",
    "parserOptions": {
      "project": "./tsconfig.eslint.json"
    },
    "root": true,
    "rules": {
      "prettier/prettier": "error",
      "import/no-extraneous-dependencies": [
        "error",
        {
          "devDependencies": [
            "**/vite.config.ts",
            "**/jest.setup.ts",
            "**/*.test.ts",
            "**/*.test.tsx"
          ]
        }
      ],
      "import/order": [
        "error",
        {
          "alphabetize": {
            "order": "asc",
            "caseInsensitive": false
          },
          "newlines-between": "always",
          "groups": [
            "external",
            "builtin",
            "internal",
            [
              "parent",
              "sibling",
              "index"
            ]
          ]
        }
      ],
      "unused-imports/no-unused-imports-ts": 2
    }
  },
  "prettier": {
    "printWidth": 120,
    "tabWidth": 2,
    "useTabs": false,
    "semi": true,
    "singleQuote": false,
    "trailingComma": "es5",
    "bracketSpacing": true,
    "arrowParens": "avoid"
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  }
}
