{
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not ie <= 11",
      "not op_mini all",
      "not safari < 12",
      "not kaios <= 2.5",
      "not edge < 79",
      "not chrome < 70",
      "not and_uc < 13",
      "not samsung < 10"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  },
  "dependencies": {
    "@sentry/browser": "6.2.5",
    "@sentry/integrations": "6.2.1",
    "@testing-library/jest-dom": "5.11.10",
    "@testing-library/react": "11.2.5",
    "@types/jest": "26.0.22",
    "@types/react": "17.0.3",
    "@types/react-dom": "17.0.2",
    "@types/socket.io-client": "1.4.36",
    "browser-fs-access": "0.16.2",
    "clsx": "1.1.1",
    "firebase": "8.2.10",
    "i18next-browser-languagedetector": "6.0.1",
    "lodash.throttle": "4.1.1",
    "nanoid": "3.1.22",
    "open-color": "1.8.0",
    "pako": "1.0.11",
    "png-chunk-text": "1.0.0",
    "png-chunks-encode": "1.0.0",
    "png-chunks-extract": "1.0.0",
    "points-on-curve": "0.2.0",
    "pwacompat": "2.0.17",
    "react": "17.0.2",
    "react-dom": "17.0.2",
    "react-scripts": "4.0.3",
    "roughjs": "4.3.1",
    "sass": "1.32.8",
    "socket.io-client": "2.3.1",
    "typescript": "4.2.3"
  },
  "devDependencies": {
    "@excalidraw/eslint-config": "1.0.0",
    "@excalidraw/prettier-config": "1.0.2",
    "@types/lodash.throttle": "4.1.6",
    "@types/pako": "1.0.1",
    "@types/resize-observer-browser": "0.1.5",
    "eslint-config-prettier": "8.1.0",
    "eslint-plugin-prettier": "3.3.1",
    "firebase-tools": "9.6.1",
    "husky": "4.3.8",
    "jest-canvas-mock": "2.3.1",
    "lint-staged": "10.5.4",
    "pepjs": "0.5.3",
    "prettier": "2.2.1",
    "rewire": "5.0.0"
  },
  "engines": {
    "node": ">=14.0.0"
  },
  "homepage": ".",
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged"
    }
  },
  "jest": {
    "transformIgnorePatterns": [
      "node_modules/(?!(roughjs|points-on-curve|path-data-parser|points-on-path|browser-fs-access)/)"
    ],
    "resetMocks": false
  },
  "name": "excalidraw",
  "prettier": "@excalidraw/prettier-config",
  "private": true,
  "scripts": {
    "build-node": "node ./scripts/build-node.js",
    "build:app:docker": "REACT_APP_DISABLE_SENTRY=true react-scripts build",
    "build:app": "REACT_APP_GIT_SHA=$VERCEL_GIT_COMMIT_SHA react-scripts build",
    "build:version": "node ./scripts/build-version.js",
    "build": "yarn build:app && yarn build:version",
    "eject": "react-scripts eject",
    "fix:code": "yarn test:code --fix",
    "fix:other": "yarn prettier --write",
    "fix": "yarn fix:other && yarn fix:code",
    "locales-coverage": "node scripts/build-locales-coverage.js",
    "locales-coverage:description": "node scripts/locales-coverage-description.js",
    "prettier": "prettier \"**/*.{css,scss,json,md,html,yml}\" --ignore-path=.eslintignore",
    "start": "react-scripts start",
    "test:all": "yarn test:typecheck && yarn test:code && yarn test:other && yarn test:app --watchAll=false",
    "test:app": "react-scripts test --passWithNoTests",
    "test:code": "eslint --max-warnings=0 --ext .js,.ts,.tsx .",
    "test:debug": "react-scripts --inspect-brk test --runInBand --no-cache",
    "test:other": "yarn prettier --list-different",
    "test:typecheck": "tsc",
    "test:update": "yarn test:app --updateSnapshot --watchAll=false",
    "test": "yarn test:app"
  }
}