package.json 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  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. "@dwelle/tunnel-rat": "0.1.1",
  23. "@sentry/browser": "6.2.5",
  24. "@sentry/integrations": "6.2.5",
  25. "@testing-library/jest-dom": "5.16.2",
  26. "@testing-library/react": "12.1.5",
  27. "@tldraw/vec": "1.7.1",
  28. "browser-fs-access": "0.29.1",
  29. "clsx": "1.1.1",
  30. "cross-env": "7.0.3",
  31. "fake-indexeddb": "3.1.7",
  32. "firebase": "8.3.3",
  33. "i18next-browser-languagedetector": "6.1.4",
  34. "idb-keyval": "6.0.3",
  35. "image-blob-reduce": "3.0.1",
  36. "jotai": "1.6.4",
  37. "lodash.throttle": "4.1.1",
  38. "nanoid": "3.3.3",
  39. "open-color": "1.9.1",
  40. "pako": "1.0.11",
  41. "perfect-freehand": "1.2.0",
  42. "pica": "7.1.1",
  43. "png-chunk-text": "1.0.0",
  44. "png-chunks-encode": "1.0.0",
  45. "png-chunks-extract": "1.0.0",
  46. "points-on-curve": "0.2.0",
  47. "pwacompat": "2.0.17",
  48. "react": "18.2.0",
  49. "react-dom": "18.2.0",
  50. "react-scripts": "5.0.1",
  51. "roughjs": "4.5.2",
  52. "sass": "1.51.0",
  53. "socket.io-client": "2.3.1",
  54. "tunnel-rat": "0.1.0",
  55. "workbox-background-sync": "^6.5.4",
  56. "workbox-broadcast-update": "^6.5.4",
  57. "workbox-cacheable-response": "^6.5.4",
  58. "workbox-core": "^6.5.4",
  59. "workbox-expiration": "^6.5.4",
  60. "workbox-google-analytics": "^6.5.4",
  61. "workbox-navigation-preload": "^6.5.4",
  62. "workbox-precaching": "^6.5.4",
  63. "workbox-range-requests": "^6.5.4",
  64. "workbox-routing": "^6.5.4",
  65. "workbox-strategies": "^6.5.4",
  66. "workbox-streams": "^6.5.4"
  67. },
  68. "devDependencies": {
  69. "@excalidraw/eslint-config": "1.0.0",
  70. "@excalidraw/prettier-config": "1.0.2",
  71. "@types/chai": "4.3.0",
  72. "@types/jest": "27.4.0",
  73. "@types/lodash.throttle": "4.1.7",
  74. "@types/pako": "1.0.3",
  75. "@types/pica": "5.1.3",
  76. "@types/react": "18.0.15",
  77. "@types/react-dom": "18.0.6",
  78. "@types/resize-observer-browser": "0.1.7",
  79. "@types/socket.io-client": "1.4.36",
  80. "chai": "4.3.6",
  81. "dotenv": "16.0.1",
  82. "eslint-config-prettier": "8.5.0",
  83. "eslint-plugin-prettier": "3.3.1",
  84. "http-server": "14.1.1",
  85. "husky": "7.0.4",
  86. "jest-canvas-mock": "2.4.0",
  87. "lint-staged": "12.3.7",
  88. "pepjs": "0.5.3",
  89. "prettier": "2.6.2",
  90. "rewire": "6.0.0",
  91. "typescript": "4.9.4"
  92. },
  93. "engines": {
  94. "node": ">=14.0.0"
  95. },
  96. "homepage": ".",
  97. "jest": {
  98. "transformIgnorePatterns": [
  99. "node_modules/(?!(roughjs|points-on-curve|path-data-parser|points-on-path|browser-fs-access)/)"
  100. ],
  101. "resetMocks": false
  102. },
  103. "name": "excalidraw",
  104. "prettier": "@excalidraw/prettier-config",
  105. "private": true,
  106. "scripts": {
  107. "build-node": "node ./scripts/build-node.js",
  108. "build:app:docker": "cross-env REACT_APP_DISABLE_SENTRY=true REACT_APP_DISABLE_TRACKING=true react-scripts build",
  109. "build:app": "cross-env REACT_APP_GIT_SHA=$VERCEL_GIT_COMMIT_SHA react-scripts build",
  110. "build:version": "node ./scripts/build-version.js",
  111. "build": "yarn build:app && yarn build:version",
  112. "eject": "react-scripts eject",
  113. "fix:code": "yarn test:code --fix",
  114. "fix:other": "yarn prettier --write",
  115. "fix": "yarn fix:other && yarn fix:code",
  116. "locales-coverage": "node scripts/build-locales-coverage.js",
  117. "locales-coverage:description": "node scripts/locales-coverage-description.js",
  118. "prepare": "husky install",
  119. "prettier": "prettier \"**/*.{css,scss,json,md,html,yml}\" --ignore-path=.eslintignore",
  120. "start": "react-scripts start",
  121. "start:production": "npm run build && npx http-server build -a localhost -p 5001 -o",
  122. "test:all": "yarn test:typecheck && yarn test:code && yarn test:other && yarn test:app --watchAll=false",
  123. "test:app": "react-scripts test --passWithNoTests",
  124. "test:code": "eslint --max-warnings=0 --ext .js,.ts,.tsx .",
  125. "test:debug": "react-scripts --inspect-brk test --runInBand --no-cache",
  126. "test:other": "yarn prettier --list-different",
  127. "test:typecheck": "tsc",
  128. "test:update": "yarn test:app --updateSnapshot --watchAll=false",
  129. "test": "yarn test:app",
  130. "autorelease": "node scripts/autorelease.js",
  131. "prerelease": "node scripts/prerelease.js",
  132. "release": "node scripts/release.js"
  133. }
  134. }