package.json 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. {
  2. "browserslist": {
  3. "production": [
  4. ">0.2%",
  5. "not dead",
  6. "not ie <= 11",
  7. "not op_mini all",
  8. "not safari < 12",
  9. "not kaios <= 2.5",
  10. "not edge < 79",
  11. "not chrome < 70",
  12. "not and_uc < 13",
  13. "not samsung < 10"
  14. ],
  15. "development": [
  16. "last 1 chrome version",
  17. "last 1 firefox version",
  18. "last 1 safari version"
  19. ]
  20. },
  21. "dependencies": {
  22. "@sentry/browser": "5.15.4",
  23. "@sentry/integrations": "5.15.4",
  24. "browser-nativefs": "0.6.0",
  25. "i18next-browser-languagedetector": "4.0.2",
  26. "nanoid": "2.1.11",
  27. "open-color": "1.7.0",
  28. "pwacompat": "2.0.11",
  29. "react": "16.13.1",
  30. "react-dom": "16.13.1",
  31. "react-scripts": "3.4.1",
  32. "roughjs": "4.1.4",
  33. "socket.io-client": "2.3.0"
  34. },
  35. "devDependencies": {
  36. "@testing-library/jest-dom": "5.5.0",
  37. "@testing-library/react": "10.0.2",
  38. "@types/jest": "25.2.1",
  39. "@types/nanoid": "2.1.0",
  40. "@types/react": "16.9.34",
  41. "@types/react-dom": "16.9.6",
  42. "@types/socket.io-client": "1.4.32",
  43. "asar": "3.0.3",
  44. "eslint": "6.8.0",
  45. "eslint-config-prettier": "6.10.1",
  46. "eslint-plugin-prettier": "3.1.3",
  47. "husky": "4.2.5",
  48. "jest-canvas-mock": "2.2.0",
  49. "lint-staged": "10.1.3",
  50. "node-sass": "4.13.1",
  51. "pepjs": "0.5.2",
  52. "prettier": "2.0.4",
  53. "rewire": "5.0.0",
  54. "typescript": "3.8.3"
  55. },
  56. "engines": {
  57. "node": ">=12.0.0"
  58. },
  59. "eslintConfig": {
  60. "extends": [
  61. "prettier",
  62. "react-app"
  63. ],
  64. "plugins": [
  65. "prettier"
  66. ],
  67. "rules": {
  68. "curly": "warn",
  69. "no-console": [
  70. "warn",
  71. {
  72. "allow": [
  73. "warn",
  74. "error",
  75. "info"
  76. ]
  77. }
  78. ],
  79. "no-else-return": "warn",
  80. "no-useless-return": "warn",
  81. "prefer-const": [
  82. "warn",
  83. {
  84. "destructuring": "all"
  85. }
  86. ],
  87. "prefer-template": "warn",
  88. "prettier/prettier": "warn",
  89. "no-restricted-syntax": [
  90. "warn",
  91. {
  92. "selector": "JSXText[value=/\\w/]",
  93. "message": "Use 't(...)' instead of literal text in JSX"
  94. }
  95. ]
  96. }
  97. },
  98. "homepage": ".",
  99. "husky": {
  100. "hooks": {
  101. "pre-commit": "lint-staged"
  102. }
  103. },
  104. "jest": {
  105. "transformIgnorePatterns": [
  106. "node_modules/(?!(roughjs|browser-nativefs)/)"
  107. ]
  108. },
  109. "private": true,
  110. "scripts": {
  111. "build": "npm run build:app && npm run build:zip",
  112. "build-node": "node ./scripts/build-node.js",
  113. "build:app": "REACT_APP_GIT_SHA=$NOW_GITHUB_COMMIT_SHA react-scripts build",
  114. "build:zip": "node ./scripts/build-version.js",
  115. "eject": "react-scripts eject",
  116. "fix": "npm run fix:other && npm run fix:code",
  117. "fix:code": "npm run test:code -- --fix",
  118. "fix:other": "npm run prettier -- --write",
  119. "prettier": "prettier \"**/*.{css,scss,json,md,html,yml}\" --ignore-path=.eslintignore",
  120. "start": "react-scripts start",
  121. "test": "npm run test:app",
  122. "test:all": "npm run test:typecheck && npm run test:code && npm run test:other && npm run test:app -- --watchAll=false",
  123. "test:update": "npm run test:app -- --updateSnapshot --watchAll=false",
  124. "test:app": "react-scripts test --env=jsdom --passWithNoTests",
  125. "test:code": "eslint --max-warnings=0 --ignore-path .gitignore --ext .js,.ts,.tsx .",
  126. "test:debug": "react-scripts --inspect-brk test --runInBand --no-cache",
  127. "test:other": "npm run prettier -- --list-different",
  128. "test:typecheck": "tsc"
  129. }
  130. }