package.json 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248
  1. {
  2. "name": "overleaf",
  3. "private": true,
  4. "packageManager": "yarn@4.14.1",
  5. "devDependencies": {
  6. "@overleaf/eslint-plugin": "workspace:*",
  7. "@prettier/plugin-pug": "^3.4.0",
  8. "@types/chai": "^4.3.0",
  9. "@types/chai-as-promised": "^7.1.8",
  10. "@types/mocha": "^10.0.6",
  11. "@types/multer": "^2.1.0",
  12. "@typescript-eslint/eslint-plugin": "8.50.0",
  13. "@typescript-eslint/parser": "^8.50.0",
  14. "@vitest/eslint-plugin": "^1.5.0",
  15. "eslint": "^8.15.0",
  16. "eslint-config-prettier": "^8.5.0",
  17. "eslint-config-standard": "^17.0.0",
  18. "eslint-plugin-chai-expect": "^3.0.0",
  19. "eslint-plugin-chai-friendly": "^0.7.2",
  20. "eslint-plugin-cypress": "^2.15.1",
  21. "eslint-plugin-import": "^2.26.0",
  22. "eslint-plugin-mocha": "^10.1.0",
  23. "eslint-plugin-n": "^15.7.0",
  24. "eslint-plugin-prettier": "^4.0.0",
  25. "eslint-plugin-promise": "^6.0.0",
  26. "eslint-plugin-unicorn": "^56.0.0",
  27. "prettier": "3.7.4",
  28. "prettier-plugin-groovy": "0.2.1",
  29. "typescript": "^5.9.3"
  30. },
  31. "engines": {
  32. "node": ">=20.0.0"
  33. },
  34. "resolutions": {
  35. "sandboxed-module": "patch:sandboxed-module@npm%3A2.0.4#~/.yarn/patches/sandboxed-module-npm-2.0.4-f8b45aacc9.patch",
  36. "request/tough-cookie": "5.1.2",
  37. "request/form-data": "2.5.5",
  38. "request/qs": "6.14.1",
  39. "@cypress/request/qs": "6.14.1",
  40. "@opentelemetry/api": "1.9.0",
  41. "mocha/serialize-javascript": "7.0.5",
  42. "pprof/protobufjs": "7.5.5",
  43. "@google-cloud/profiler/protobufjs": "7.5.5",
  44. "mocha-multi-reporters": "patch:mocha-multi-reporters@npm%3A1.5.1#~/.yarn/patches/mocha-multi-reporters-npm-1.5.1-0a1088aed5.patch",
  45. "pdfjs-dist": "patch:pdfjs-dist@npm%3A5.1.91#~/.yarn/patches/pdfjs-dist-npm-5.1.91.patch",
  46. "referer-parser": "patch:referer-parser@npm%3A0.0.3#~/.yarn/patches/referer-parser-npm-0.0.3.patch",
  47. "sass": "1.77.1",
  48. "@codemirror/autocomplete": "patch:@codemirror/autocomplete@npm%3A6.18.4#~/.yarn/patches/@codemirror-autocomplete-npm-6.18.4.patch",
  49. "@codemirror/commands": "6.10.1",
  50. "@codemirror/language": "6.12.1",
  51. "@codemirror/lint": "6.9.2",
  52. "@codemirror/search": "patch:@codemirror/search@npm%3A6.5.8#~/.yarn/patches/@codemirror-search-npm-6.5.8.patch",
  53. "@codemirror/state": "6.5.4",
  54. "@codemirror/view": "6.38.6",
  55. "@lezer/common": "1.5.0",
  56. "@lezer/highlight": "1.2.3",
  57. "@lezer/lr": "1.4.7",
  58. "@types/react": "18.3.28",
  59. "@types/react-dom": "18.3.7",
  60. "cheerio": "1.0.0-rc.10",
  61. "react": "18.3.1",
  62. "react-dom": "18.3.1",
  63. "sinon-chai": "3.7.0",
  64. "vitest": "4.0.18",
  65. "@vitest/coverage-istanbul": "4.0.18",
  66. "@vitest/expect": "4.0.18",
  67. "@vitest/mocker": "4.0.18",
  68. "@vitest/pretty-format": "4.0.18",
  69. "@vitest/runner": "4.0.18",
  70. "@vitest/snapshot": "4.0.18",
  71. "@vitest/spy": "4.0.18",
  72. "@vitest/utils": "4.0.18",
  73. "i18next-scanner/i18next": "23.16.8",
  74. "downshift": "9.0.9",
  75. "body-parser@npm:1.20.4": "patch:body-parser@npm%3A1.20.4#~/.yarn/patches/body-parser-npm-1.20.4.patch",
  76. "cypress-multi-reporters": "patch:cypress-multi-reporters@npm%3A2.0.5#~/.yarn/patches/cypress-multi-reporters-npm-2.0.5.patch",
  77. "forwarded@npm:0.2.0": "patch:forwarded@npm%3A0.2.0#~/.yarn/patches/forwarded-npm-0.2.0.patch",
  78. "multer@npm:2.1.1": "patch:multer@npm%3A2.1.1#~/.yarn/patches/multer-npm-2.1.1.patch",
  79. "node-fetch": "patch:node-fetch@npm%3A2.7.0#~/.yarn/patches/node-fetch-npm-2.7.0.patch",
  80. "passport-oauth2": "patch:passport-oauth2@npm%3A1.6.1#~/.yarn/patches/passport-oauth2-npm-1.6.1.patch",
  81. "send": "patch:send@npm%3A0.19.0#~/.yarn/patches/send-npm-0.19.0.patch",
  82. "serve-static": "1.16.2",
  83. "@uppy/xhr-upload": "3.6.0",
  84. "recurly": "4.12.0",
  85. "mongoose": "8.9.5",
  86. "pg": "8.7.1",
  87. "pg-query-stream": "4.7.1",
  88. "@aws-sdk/client-s3": "3.994.0",
  89. "@aws-sdk/client-ses": "3.994.0",
  90. "@aws-sdk/s3-request-presigner": "3.994.0",
  91. "contentful": "10.8.5",
  92. "@contentful/rich-text-html-renderer": "16.0.2",
  93. "@contentful/rich-text-types": "16.0.2",
  94. "i18next": "23.10.0",
  95. "sanitize-html": "2.12.1",
  96. "lodash": "4.18.1",
  97. "express-session": "1.17.2",
  98. "ioredis": "4.27.11",
  99. "knip": "5.64.1",
  100. "eslint-plugin-testing-library": "7.5.3",
  101. "chart.js": "4.0.1",
  102. "mock-fs": "5.2.0",
  103. "@customerio/cdp-analytics-node": "0.3.9",
  104. "@google-cloud/bigquery": "8.1.1",
  105. "moment": "2.29.4",
  106. "sequelize-cli": "6.6.0",
  107. "async": "3.2.5",
  108. "dockerode": "4.0.9",
  109. "tar-fs": "3.1.1",
  110. "cluster-key-slot": "1.1.0",
  111. "@octokit/request": "9.2.2",
  112. "randomstring": "1.2.2",
  113. "vite": "7.3.1",
  114. "isomorphic-git": "1.33.1",
  115. "http-status": "1.5.0",
  116. "knex": "2.4.0",
  117. "utf-8-validate": "5.0.8",
  118. "samlp": "7.0.2",
  119. "compression": "1.7.4",
  120. "cookie-parser": "1.4.6",
  121. "react-cookie": "7.2.0",
  122. "react-dropzone": "14.2.3",
  123. "@babel/core": "7.28.5",
  124. "@babel/preset-env": "7.28.5",
  125. "@babel/register": "7.28.3",
  126. "@vitejs/plugin-react": "4.4.1",
  127. "cssnano": "7.1.4",
  128. "mini-css-extract-plugin": "2.7.6",
  129. "nodemon": "3.0.1",
  130. "postcss": "8.5.8",
  131. "postcss-reporter": "7.0.5",
  132. "zod": "4.1.11",
  133. "zod-validation-error": "4.0.1",
  134. "simple-oauth2": "5.0.0",
  135. "@types/simple-oauth2": "5.0.7",
  136. "@node-oauth/oauth2-server": "5.3.0",
  137. "@phosphor-icons/react": "2.1.7",
  138. "@slack/webhook": "7.0.2",
  139. "@stripe/react-stripe-js": "3.9.0",
  140. "@stripe/stripe-js": "7.7.0",
  141. "cache-flow": "1.9.0",
  142. "focus-trap-react": "11.0.4",
  143. "i18next-http-middleware": "3.5.0",
  144. "jose": "4.15.5",
  145. "nodemailer": "8.0.5",
  146. "on-headers": "1.0.2",
  147. "pug": "3.0.3",
  148. "rate-limiter-flexible": "2.4.1",
  149. "react-hook-form": "7.71.1",
  150. "stripe": "18.4.0",
  151. "@babel/plugin-proposal-decorators": "7.28.0",
  152. "@floating-ui/react": "0.27.16",
  153. "@juggle/resize-observer": "3.3.1",
  154. "@storybook/addon-a11y": "10.3.5",
  155. "@storybook/addon-essentials": "10.3.5",
  156. "@storybook/addon-interactions": "10.3.5",
  157. "@storybook/addon-links": "10.3.5",
  158. "@storybook/cli": "10.3.5",
  159. "@storybook/react": "10.3.5",
  160. "@storybook/react-webpack5": "10.3.5",
  161. "@storybook/theming": "10.3.5",
  162. "@streamdown/cjk": "1.0.2",
  163. "@testing-library/dom": "10.4.0",
  164. "@testing-library/user-event": "14.5.2",
  165. "@types/express": "4.17.23",
  166. "@types/recurly__recurly-js": "4.38.0",
  167. "@types/sanitize-html": "2.16.0",
  168. "@uppy/dashboard": "3.7.1",
  169. "@uppy/drag-drop": "3.0.3",
  170. "@uppy/file-input": "3.0.4",
  171. "@uppy/progress-bar": "3.0.4",
  172. "@uppy/react": "3.2.1",
  173. "autoprefixer": "10.4.16",
  174. "babel-plugin-module-resolver": "5.0.2",
  175. "backbone": "1.6.0",
  176. "dompurify": "3.4.0",
  177. "eventsource-client": "1.1.4",
  178. "fake-indexeddb": "6.0.0",
  179. "formik": "2.2.9",
  180. "katex": "0.16.28",
  181. "match-sorter": "6.3.1",
  182. "micromark": "4.0.0",
  183. "pirates": "4.0.6",
  184. "qrcode": "1.5.0",
  185. "react-chartjs-2": "5.0.1",
  186. "react-i18next": "13.3.1",
  187. "react-resizable-panels": "2.1.1",
  188. "rehype-harden": "1.1.7",
  189. "scroll-into-view-if-needed": "2.2.28",
  190. "storybook": "10.3.5",
  191. "streamdown": "2.2.0",
  192. "tailwindcss": "3.4.17",
  193. "thread-loader": "patch:thread-loader@npm%3A4.0.2#~/.yarn/patches/thread-loader-npm-4.0.2-dab5735f54.patch",
  194. "unist-util-visit": "5.0.0",
  195. "use-stick-to-bottom": "1.1.1",
  196. "zustand": "5.0.8",
  197. "retry-request@npm:^8.0.0": "patch:retry-request@npm%3A8.0.2#~/.yarn/patches/retry-request-npm-8.0.2-448ad084c8.patch",
  198. "retry-request@npm:^7.0.0": "patch:retry-request@npm%3A7.0.2#~/.yarn/patches/retry-request-npm-7.0.2-a41087680c.patch",
  199. "teeny-request@npm:^10.0.0": "patch:teeny-request@npm%3A10.1.0#~/.yarn/patches/teeny-request-npm-10.1.0.patch",
  200. "teeny-request@npm:^9.0.0": "patch:teeny-request@npm%3A9.0.0#~/.yarn/patches/teeny-request-npm-9.0.0-4d571e3c55.patch",
  201. "ip-address": "10.1.1"
  202. },
  203. "scripts": {
  204. "format": "prettier --cache --cache-location ./node_modules/.cache/prettier/.prettier-cache --check",
  205. "format:fix": "prettier --cache --cache-location ./node_modules/.cache/prettier/.prettier-cache --write --check",
  206. "format:styles": "prettier --cache --cache-location ./node_modules/.cache/prettier/.prettier-cache --check '**/*.{css,scss}'",
  207. "format:styles:fix": "prettier --cache --cache-location ./node_modules/.cache/prettier/.prettier-cache --write --check '**/*.{css,scss}'",
  208. "format:pug": "prettier --cache --cache-location ./node_modules/.cache/prettier/.prettier-cache --check '**/*.pug'",
  209. "format:pug:fix": "prettier --cache --cache-location ./node_modules/.cache/prettier/.prettier-cache --write --check '**/*.pug'",
  210. "format:jenkins": "prettier --cache --cache-location ./node_modules/.cache/prettier/.prettier-cache --check '**/Jenkinsfile'",
  211. "format:jenkins:fix": "prettier --cache --cache-location ./node_modules/.cache/prettier/.prettier-cache --write --check '**/Jenkinsfile'",
  212. "format:monorepo-check": "prettier --cache --cache-location ./node_modules/.cache/prettier/.prettier-cache --check '**/Jenkinsfile' '**/*.md' '**/docker-compose.yml' '**/docker-compose.*.yml'",
  213. "format:monorepo-check:fix": "prettier --cache --cache-location ./node_modules/.cache/prettier/.prettier-cache --write --check '**/Jenkinsfile' '**/*.md' '**/docker-compose.yml' '**/docker-compose.*.yml'",
  214. "lint": "eslint --cache --cache-location ./node_modules/.cache/eslint/ --max-warnings 0 --format unix .",
  215. "lint:fix": "eslint --cache --cache-location ./node_modules/.cache/eslint/ --fix ."
  216. },
  217. "workspaces": [
  218. "jobs/mirror-documentation",
  219. "libraries/*",
  220. "server-ce/test",
  221. "services/analytics",
  222. "services/chat",
  223. "services/clsi",
  224. "services/clsi-cache",
  225. "services/clsi-perf",
  226. "services/contacts",
  227. "services/docstore",
  228. "services/document-updater",
  229. "services/filestore",
  230. "services/freegeoip",
  231. "services/github-sync",
  232. "services/history-v1",
  233. "services/idp",
  234. "services/latexqc",
  235. "services/notifications",
  236. "services/project-history",
  237. "services/real-time",
  238. "services/templates",
  239. "services/third-party-datastore",
  240. "services/third-party-references",
  241. "services/tpdsworker",
  242. "services/web",
  243. "tools/dependency-management",
  244. "tools/npm-overrides-helper",
  245. "tools/saas-e2e",
  246. "tools/migrations"
  247. ]
  248. }