{
  "name": "metahkg-web",
  "homepage": "https://metahkg.org",
  "repository": "https://gitlab.com/metahkg/metahkg-web.git",
  "version": "3.4.0",
  "main": "dist/main.js",
  "author": "wcyat <wcyat@wcyat.me>",
  "license": "AGPL-3.0-or-later",
  "keywords": [
    "forum",
    "react"
  ],
  "dependencies": {
    "@dhaiwat10/react-link-preview": "^1.14.2",
    "@emotion/react": "^11.9.3",
    "@emotion/styled": "^11.9.3",
    "@loadable/component": "^5.15.2",
    "@metahkg/api": "^3.4.7",
    "@mui/icons-material": "^5.8.4",
    "@mui/material": "^5.9.2",
    "@tinymce/tinymce-react": "^4.1.0",
    "@types/date-and-time": "^0.13.0",
    "@types/humanize-duration": "^3.27.1",
    "@types/loadable__component": "^5.13.4",
    "@types/lodash": "^4.14.182",
    "@types/prismjs": "^1.26.0",
    "@types/react-dom": "^18.0.6",
    "@types/react-google-recaptcha": "^2.1.5",
    "@types/react-redux": "^7.1.24",
    "@types/react-swipeable-views": "^0.13.1",
    "@types/react-swipeable-views-utils": "^0.13.3",
    "@wc-yat/csstojson": "^3.0.0",
    "axios": "^0.27.2",
    "babel-loader": "^8.2.5",
    "babel-plugin-prismjs": "^2.1.0",
    "css-to-react-native": "^3.0.0",
    "customize-cra": "^1.0.0",
    "date-and-time": "^2.4.1",
    "email-validator": "^2.0.4",
    "hash.js": "^1.1.7",
    "html-react-parser": "^3.0.1",
    "humanize-duration": "^3.27.2",
    "is-sn-integer": "^0.3.0",
    "jwt-decode": "^3.1.2",
    "lodash": "^4.17.21",
    "metahkg-css": "1.1.0",
    "prettier": "^2.7.1",
    "prismjs": "^1.28.0",
    "query-string": "^7.1.1",
    "react": "^18.2.0",
    "react-app-rewired": "^2.2.1",
    "react-device-detect": "^2.2.2",
    "react-dom": "^18.2.0",
    "react-google-recaptcha": "^2.1.0",
    "react-image": "^4.0.3",
    "react-photo-view": "^1.2.2",
    "react-player": "^2.10.1",
    "react-router-dom": "^6.2.2",
    "react-scripts": "^5.0.1",
    "react-social-media-embed": "^2.2.2",
    "react-swipeable-views": "^0.14.0",
    "react-swipeable-views-utils": "^0.14.0",
    "react-twitter-embed": "^4.0.4",
    "react-visibility-sensor": "^5.1.1",
    "screenfull": "^6.0.2",
    "serve": "^14.0.1",
    "typescript": "^4.7.4",
    "webpack": "^5.74.0"
  },
  "devDependencies": {
    "@testing-library/jest-dom": "^5.16.4",
    "@testing-library/react": "^13.3.0",
    "@types/jest": "^28.1.6",
    "eslint": "^8.20.0",
    "eslint-config-react-app": "^7.0.1",
    "husky": "^8.0.1",
    "lint-staged": "^13.0.3"
  },
  "scripts": {
    "start": "serve -s",
    "start:react": ". ./scripts/prebuild.sh; npx react-app-rewired start",
    "build": ". ./scripts/prebuild.sh; npx react-app-rewired build",
    "build:module": ". ./scripts/prebuild.sh; tsc src/main.tsx --outDir ./dist --declaration --sourceMap --jsx react-jsx --target es2017 --module esnext --lib dom,dom.iterable,esnext --moduleResolution node --esModuleInterop --skipLibCheck --removeComments && cp -r src/css dist",
    "test": "react-scripts test || echo \"no tests\"",
    "eject": "react-scripts eject",
    "docker": "docker build -t metahkg/metahkg-web .",
    "deploy": "yarn build && yarn start",
    "dev": "yarn deploy",
    "prepare": "husky install",
    "lint": "eslint --cache --fix src && (prettier --check src || prettier --write src)"
  },
  "eslintConfig": {
    "extends": [
      "react-app",
      "react-app/jest"
    ]
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  },
  "lint-staged": {
    "*.{js,jsx,tsx,ts}": "eslint --cache --fix",
    "*.{js,css,md,jsx,tsx,ts}": "prettier --write"
  }
}
