package.json 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  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. "cross-env": "7.0.3",
  35. "eslint-plugin-react": "7.32.2",
  36. "fake-indexeddb": "3.1.7",
  37. "firebase": "8.3.3",
  38. "i18next-browser-languagedetector": "6.1.4",
  39. "idb-keyval": "6.0.3",
  40. "image-blob-reduce": "3.0.1",
  41. "jotai": "1.13.1",
  42. "lodash.throttle": "4.1.1",
  43. "nanoid": "3.3.3",
  44. "open-color": "1.9.1",
  45. "pako": "1.0.11",
  46. "perfect-freehand": "1.2.0",
  47. "pica": "7.1.1",
  48. "png-chunk-text": "1.0.0",
  49. "png-chunks-encode": "1.0.0",
  50. "png-chunks-extract": "1.0.0",
  51. "points-on-curve": "0.2.0",
  52. "pwacompat": "2.0.17",
  53. "react": "18.2.0",
  54. "react-dom": "18.2.0",
  55. "roughjs": "4.5.2",
  56. "sass": "1.51.0",
  57. "socket.io-client": "2.3.1",
  58. "tunnel-rat": "0.1.2"
  59. },
  60. "devDependencies": {
  61. "@excalidraw/eslint-config": "1.0.3",
  62. "@excalidraw/prettier-config": "1.0.2",
  63. "@types/chai": "4.3.0",
  64. "@types/jest": "27.4.0",
  65. "@types/lodash.throttle": "4.1.7",
  66. "@types/pako": "1.0.3",
  67. "@types/pica": "5.1.3",
  68. "@types/react": "18.0.15",
  69. "@types/react-dom": "18.0.6",
  70. "@types/resize-observer-browser": "0.1.7",
  71. "@types/socket.io-client": "1.4.36",
  72. "@vitejs/plugin-react": "3.1.0",
  73. "@vitest/ui": "0.32.2",
  74. "chai": "4.3.6",
  75. "dotenv": "16.0.1",
  76. "eslint-config-prettier": "8.5.0",
  77. "eslint-config-react-app": "7.0.1",
  78. "eslint-plugin-prettier": "3.3.1",
  79. "http-server": "14.1.1",
  80. "husky": "7.0.4",
  81. "jsdom": "22.1.0",
  82. "lint-staged": "12.3.7",
  83. "pepjs": "0.5.3",
  84. "prettier": "2.6.2",
  85. "rewire": "6.0.0",
  86. "typescript": "4.9.4",
  87. "vite": "4.4.2",
  88. "vite-plugin-ejs": "1.6.4",
  89. "vite-plugin-eslint": "1.8.1",
  90. "vite-plugin-pwa": "0.16.4",
  91. "vite-plugin-svgr": "2.4.0",
  92. "vitest": "0.32.2",
  93. "vitest-canvas-mock": "0.3.2"
  94. },
  95. "engines": {
  96. "node": ">=18.0.0"
  97. },
  98. "homepage": ".",
  99. "name": "excalidraw",
  100. "prettier": "@excalidraw/prettier-config",
  101. "private": true,
  102. "scripts": {
  103. "build-node": "node ./scripts/build-node.js",
  104. "build:app:docker": "cross-env REACT_APP_DISABLE_SENTRY=true REACT_APP_DISABLE_TRACKING=true vite build",
  105. "build:app": "cross-env REACT_APP_GIT_SHA=$VERCEL_GIT_COMMIT_SHA vite build",
  106. "build:version": "node ./scripts/build-version.js",
  107. "build": "yarn build:app && yarn build:version",
  108. "fix:code": "yarn test:code --fix",
  109. "fix:other": "yarn prettier --write",
  110. "fix": "yarn fix:other && yarn fix:code",
  111. "locales-coverage": "node scripts/build-locales-coverage.js",
  112. "locales-coverage:description": "node scripts/locales-coverage-description.js",
  113. "prepare": "husky install",
  114. "prettier": "prettier \"**/*.{css,scss,json,md,html,yml}\" --ignore-path=.eslintignore",
  115. "start": "vite --port 3000",
  116. "start:production": "npm run build && npx http-server build -a localhost -p 5001 -o",
  117. "test:all": "yarn test:typecheck && yarn test:code && yarn test:other && yarn test:app --watchAll=false",
  118. "test:app": "vitest --config vitest.config.ts",
  119. "test:code": "eslint --max-warnings=0 --ext .js,.ts,.tsx .",
  120. "test:other": "yarn prettier --list-different",
  121. "test:typecheck": "tsc",
  122. "test:update": "yarn test:app --update --watch=false",
  123. "test": "yarn test:app",
  124. "test:coverage": "vitest --coverage --watchAll",
  125. "test:ui": "yarn test --ui",
  126. "autorelease": "node scripts/autorelease.js",
  127. "prerelease": "node scripts/prerelease.js",
  128. "build:preview": "yarn build && vite preview --port 5000",
  129. "release": "node scripts/release.js"
  130. }
  131. }