package.json 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  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. "@braintree/sanitize-url": "6.0.2",
  23. "@excalidraw/random-username": "1.0.0",
  24. "@radix-ui/react-popover": "1.0.3",
  25. "@radix-ui/react-tabs": "1.0.2",
  26. "@sentry/browser": "6.2.5",
  27. "@sentry/integrations": "6.2.5",
  28. "@testing-library/jest-dom": "5.16.2",
  29. "@testing-library/react": "12.1.5",
  30. "@tldraw/vec": "1.7.1",
  31. "browser-fs-access": "0.29.1",
  32. "canvas-roundrect-polyfill": "0.0.1",
  33. "clsx": "1.1.1",
  34. "copyfiles": "2.4.1",
  35. "cross-env": "7.0.3",
  36. "eslint-plugin-react": "7.32.2",
  37. "fake-indexeddb": "3.1.7",
  38. "firebase": "8.3.3",
  39. "i18next-browser-languagedetector": "6.1.4",
  40. "idb-keyval": "6.0.3",
  41. "image-blob-reduce": "3.0.1",
  42. "jotai": "1.13.1",
  43. "lodash.throttle": "4.1.1",
  44. "mathjax-full": "https://github.com/MathJax/MathJax-src#develop",
  45. "nanoid": "3.3.3",
  46. "open-color": "1.9.1",
  47. "pako": "1.0.11",
  48. "patch-package": "8.0.0",
  49. "perfect-freehand": "1.2.0",
  50. "pica": "7.1.1",
  51. "png-chunk-text": "1.0.0",
  52. "png-chunks-encode": "1.0.0",
  53. "png-chunks-extract": "1.0.0",
  54. "points-on-curve": "0.2.0",
  55. "postinstall-postinstall": "2.1.0",
  56. "pwacompat": "2.0.17",
  57. "react": "18.2.0",
  58. "react-dom": "18.2.0",
  59. "replace-in-file": "7.0.1",
  60. "roughjs": "4.5.2",
  61. "sass": "1.51.0",
  62. "socket.io-client": "2.3.1",
  63. "tunnel-rat": "0.1.2"
  64. },
  65. "devDependencies": {
  66. "@excalidraw/eslint-config": "1.0.3",
  67. "@excalidraw/prettier-config": "1.0.2",
  68. "@types/chai": "4.3.0",
  69. "@types/jest": "27.4.0",
  70. "@types/lodash.throttle": "4.1.7",
  71. "@types/pako": "1.0.3",
  72. "@types/pica": "5.1.3",
  73. "@types/react": "18.0.15",
  74. "@types/react-dom": "18.0.6",
  75. "@types/resize-observer-browser": "0.1.7",
  76. "@types/socket.io-client": "1.4.36",
  77. "@vitejs/plugin-react": "3.1.0",
  78. "@vitest/coverage-v8": "0.33.0",
  79. "@vitest/ui": "0.32.2",
  80. "chai": "4.3.6",
  81. "dotenv": "16.0.1",
  82. "eslint-config-prettier": "8.5.0",
  83. "eslint-config-react-app": "7.0.1",
  84. "eslint-plugin-prettier": "3.3.1",
  85. "http-server": "14.1.1",
  86. "husky": "7.0.4",
  87. "jsdom": "22.1.0",
  88. "lint-staged": "12.3.7",
  89. "pepjs": "0.5.3",
  90. "prettier": "2.6.2",
  91. "rewire": "6.0.0",
  92. "typescript": "4.9.4",
  93. "vite": "4.4.2",
  94. "vite-plugin-checker": "0.6.1",
  95. "vite-plugin-ejs": "1.6.4",
  96. "vite-plugin-pwa": "0.16.4",
  97. "vite-plugin-svgr": "2.4.0",
  98. "vitest": "0.34.1",
  99. "vitest-canvas-mock": "0.3.2"
  100. },
  101. "engines": {
  102. "node": ">=18.0.0"
  103. },
  104. "homepage": ".",
  105. "name": "excalidraw",
  106. "prettier": "@excalidraw/prettier-config",
  107. "private": true,
  108. "scripts": {
  109. "build-node": "node ./scripts/build-node.js",
  110. "build:app:docker": "cross-env VITE_APP_DISABLE_SENTRY=true VITE_APP_DISABLE_TRACKING=true vite build",
  111. "build:app": "cross-env VITE_APP_GIT_SHA=$VERCEL_GIT_COMMIT_SHA vite build",
  112. "build:version": "node ./scripts/build-version.js",
  113. "build": "yarn build:app && yarn build:version",
  114. "fix:code": "yarn test:code --fix",
  115. "fix:other": "yarn prettier --write",
  116. "fix": "yarn fix:other && yarn fix:code",
  117. "locales-coverage": "node scripts/build-locales-coverage.js",
  118. "locales-coverage:description": "node scripts/locales-coverage-description.js",
  119. "postinstall": "patch-package && yarn --cwd node_modules/mathjax-full compile-mjs && node scripts/beta-mathjax-import-paths.js",
  120. "prepare": "husky install",
  121. "prettier": "prettier \"**/*.{css,scss,json,md,html,yml}\" --ignore-path=.eslintignore",
  122. "start": "vite",
  123. "start:production": "npm run build && npx http-server build -a localhost -p 5001 -o",
  124. "test:all": "yarn test:typecheck && yarn test:code && yarn test:other && yarn test:app --watch=false",
  125. "test:app": "vitest --config vitest.config.ts",
  126. "test:code": "eslint --max-warnings=0 --ext .js,.ts,.tsx .",
  127. "test:other": "yarn prettier --list-different",
  128. "test:typecheck": "tsc",
  129. "test:update": "yarn test:app --update --watch=false",
  130. "test": "yarn test:app",
  131. "test:coverage": "vitest --coverage",
  132. "test:coverage:watch": "vitest --coverage --watch",
  133. "test:ui": "yarn test --ui",
  134. "autorelease": "node scripts/autorelease.js",
  135. "prerelease": "node scripts/prerelease.js",
  136. "build:preview": "yarn build && vite preview --port 5000",
  137. "release": "node scripts/release.js"
  138. }
  139. }