package.json 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247
  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. "@vitest/expect": "4.1.5",
  61. "@vitest/mocker": "4.1.5",
  62. "@vitest/pretty-format": "4.1.5",
  63. "@vitest/spy": "4.1.5",
  64. "@vitest/utils": "4.1.5",
  65. "cheerio": "1.0.0-rc.10",
  66. "react": "18.3.1",
  67. "react-dom": "18.3.1",
  68. "sinon-chai": "3.7.0",
  69. "i18next-scanner/i18next": "23.16.8",
  70. "downshift": "9.0.9",
  71. "body-parser@npm:1.20.4": "patch:body-parser@npm%3A1.20.4#~/.yarn/patches/body-parser-npm-1.20.4.patch",
  72. "cypress-multi-reporters": "patch:cypress-multi-reporters@npm%3A2.0.5#~/.yarn/patches/cypress-multi-reporters-npm-2.0.5.patch",
  73. "forwarded@npm:0.2.0": "patch:forwarded@npm%3A0.2.0#~/.yarn/patches/forwarded-npm-0.2.0.patch",
  74. "multer@npm:2.1.1": "patch:multer@npm%3A2.1.1#~/.yarn/patches/multer-npm-2.1.1.patch",
  75. "node-fetch": "patch:node-fetch@npm%3A2.7.0#~/.yarn/patches/node-fetch-npm-2.7.0.patch",
  76. "passport-oauth2": "patch:passport-oauth2@npm%3A1.6.1#~/.yarn/patches/passport-oauth2-npm-1.6.1.patch",
  77. "send": "patch:send@npm%3A0.19.0#~/.yarn/patches/send-npm-0.19.0.patch",
  78. "serve-static": "1.16.2",
  79. "@uppy/xhr-upload": "3.6.0",
  80. "recurly": "4.12.0",
  81. "mongoose": "8.22.1",
  82. "pg": "8.7.1",
  83. "pg-query-stream": "4.7.1",
  84. "@aws-sdk/client-s3": "3.994.0",
  85. "@aws-sdk/client-ses": "3.994.0",
  86. "@aws-sdk/s3-request-presigner": "3.994.0",
  87. "contentful": "10.8.5",
  88. "@contentful/rich-text-html-renderer": "16.0.2",
  89. "@contentful/rich-text-types": "16.0.2",
  90. "i18next": "23.10.0",
  91. "sanitize-html": "2.17.4",
  92. "lodash": "4.18.1",
  93. "express-session": "1.17.2",
  94. "ioredis": "4.27.11",
  95. "knip": "5.64.1",
  96. "eslint-plugin-testing-library": "7.5.3",
  97. "chart.js": "4.0.1",
  98. "mock-fs": "5.2.0",
  99. "@customerio/cdp-analytics-node": "0.3.9",
  100. "@google-cloud/bigquery": "8.1.1",
  101. "moment": "2.29.4",
  102. "sequelize-cli": "6.6.0",
  103. "async": "3.2.5",
  104. "dockerode": "4.0.9",
  105. "tar-fs": "3.1.1",
  106. "cluster-key-slot": "1.1.0",
  107. "@octokit/request": "9.2.2",
  108. "randomstring": "1.2.2",
  109. "vite": "7.3.1",
  110. "isomorphic-git": "1.33.1",
  111. "http-status": "1.5.0",
  112. "knex": "2.4.0",
  113. "utf-8-validate": "5.0.8",
  114. "samlp": "7.0.2",
  115. "compression": "1.7.4",
  116. "cookie-parser": "1.4.6",
  117. "react-cookie": "7.2.0",
  118. "react-dropzone": "14.2.3",
  119. "@babel/core": "7.28.5",
  120. "@babel/preset-env": "7.28.5",
  121. "@babel/register": "7.28.3",
  122. "@vitejs/plugin-react": "4.4.1",
  123. "cssnano": "7.1.4",
  124. "mini-css-extract-plugin": "2.7.6",
  125. "nodemon": "3.0.1",
  126. "postcss": "8.5.8",
  127. "postcss-reporter": "7.0.5",
  128. "zod": "4.1.11",
  129. "zod-validation-error": "4.0.1",
  130. "simple-oauth2": "5.0.0",
  131. "@types/simple-oauth2": "5.0.7",
  132. "@node-oauth/oauth2-server": "5.3.0",
  133. "@phosphor-icons/react": "2.1.7",
  134. "@slack/webhook": "7.0.2",
  135. "@stripe/react-stripe-js": "3.9.0",
  136. "@stripe/stripe-js": "7.7.0",
  137. "cache-flow": "1.9.0",
  138. "focus-trap-react": "11.0.4",
  139. "i18next-http-middleware": "3.5.0",
  140. "jose": "4.15.5",
  141. "nodemailer": "8.0.5",
  142. "on-headers": "1.0.2",
  143. "pug": "3.0.3",
  144. "rate-limiter-flexible": "2.4.1",
  145. "react-hook-form": "7.71.1",
  146. "stripe": "18.4.0",
  147. "@babel/plugin-proposal-decorators": "7.28.0",
  148. "@floating-ui/react": "0.27.16",
  149. "@juggle/resize-observer": "3.3.1",
  150. "@storybook/addon-a11y": "10.3.5",
  151. "@storybook/addon-essentials": "10.3.5",
  152. "@storybook/addon-interactions": "10.3.5",
  153. "@storybook/addon-links": "10.3.5",
  154. "@storybook/cli": "10.3.5",
  155. "@storybook/react": "10.3.5",
  156. "@storybook/react-webpack5": "10.3.5",
  157. "@storybook/theming": "10.3.5",
  158. "@streamdown/cjk": "1.0.2",
  159. "@testing-library/dom": "10.4.0",
  160. "@testing-library/user-event": "14.5.2",
  161. "@types/express": "4.17.23",
  162. "@types/recurly__recurly-js": "4.38.0",
  163. "@types/sanitize-html": "2.16.0",
  164. "@uppy/dashboard": "3.7.1",
  165. "@uppy/drag-drop": "3.0.3",
  166. "@uppy/file-input": "3.0.4",
  167. "@uppy/progress-bar": "3.0.4",
  168. "@uppy/react": "3.2.1",
  169. "autoprefixer": "10.4.16",
  170. "babel-plugin-module-resolver": "5.0.2",
  171. "backbone": "1.6.0",
  172. "dompurify": "3.4.0",
  173. "eventsource-client": "1.1.4",
  174. "fake-indexeddb": "6.0.0",
  175. "formik": "2.2.9",
  176. "katex": "0.16.28",
  177. "match-sorter": "6.3.1",
  178. "micromark": "4.0.0",
  179. "pirates": "4.0.6",
  180. "qrcode": "1.5.0",
  181. "react-chartjs-2": "5.0.1",
  182. "react-i18next": "13.3.1",
  183. "react-resizable-panels": "2.1.1",
  184. "rehype-harden": "1.1.7",
  185. "scroll-into-view-if-needed": "2.2.28",
  186. "storybook": "10.3.5",
  187. "streamdown": "2.2.0",
  188. "tailwindcss": "3.4.17",
  189. "thread-loader": "patch:thread-loader@npm%3A4.0.2#~/.yarn/patches/thread-loader-npm-4.0.2-dab5735f54.patch",
  190. "unist-util-visit": "5.0.0",
  191. "use-stick-to-bottom": "1.1.1",
  192. "zustand": "5.0.8",
  193. "retry-request@npm:^8.0.0": "patch:retry-request@npm%3A8.0.2#~/.yarn/patches/retry-request-npm-8.0.2-448ad084c8.patch",
  194. "retry-request@npm:^7.0.0": "patch:retry-request@npm%3A7.0.2#~/.yarn/patches/retry-request-npm-7.0.2-a41087680c.patch",
  195. "teeny-request@npm:^10.0.0": "patch:teeny-request@npm%3A10.1.0#~/.yarn/patches/teeny-request-npm-10.1.0.patch",
  196. "teeny-request@npm:^9.0.0": "patch:teeny-request@npm%3A9.0.0#~/.yarn/patches/teeny-request-npm-9.0.0-4d571e3c55.patch",
  197. "fast-xml-builder": "1.1.7",
  198. "ip-address": "10.1.1",
  199. "systeminformation": "5.31.6",
  200. "fast-uri": "3.1.2"
  201. },
  202. "scripts": {
  203. "format": "prettier --cache --cache-location ./node_modules/.cache/prettier/.prettier-cache --check",
  204. "format:fix": "prettier --cache --cache-location ./node_modules/.cache/prettier/.prettier-cache --write --check",
  205. "format:styles": "prettier --cache --cache-location ./node_modules/.cache/prettier/.prettier-cache --check '**/*.{css,scss}'",
  206. "format:styles:fix": "prettier --cache --cache-location ./node_modules/.cache/prettier/.prettier-cache --write --check '**/*.{css,scss}'",
  207. "format:pug": "prettier --cache --cache-location ./node_modules/.cache/prettier/.prettier-cache --check '**/*.pug'",
  208. "format:pug:fix": "prettier --cache --cache-location ./node_modules/.cache/prettier/.prettier-cache --write --check '**/*.pug'",
  209. "format:jenkins": "prettier --cache --cache-location ./node_modules/.cache/prettier/.prettier-cache --check '**/Jenkinsfile'",
  210. "format:jenkins:fix": "prettier --cache --cache-location ./node_modules/.cache/prettier/.prettier-cache --write --check '**/Jenkinsfile'",
  211. "format:monorepo-check": "prettier --cache --cache-location ./node_modules/.cache/prettier/.prettier-cache --check '**/Jenkinsfile' '**/*.md' '**/docker-compose.yml' '**/docker-compose.*.yml' '.agents/**/*.js' '.agents/**/*.md'",
  212. "format:monorepo-check:fix": "prettier --cache --cache-location ./node_modules/.cache/prettier/.prettier-cache --write --check '**/Jenkinsfile' '**/*.md' '**/docker-compose.yml' '**/docker-compose.*.yml' '.agents/**/*.js' '.agents/**/*.md'",
  213. "lint": "eslint --cache --cache-location ./node_modules/.cache/eslint/ --max-warnings 0 --format unix .",
  214. "lint:fix": "eslint --cache --cache-location ./node_modules/.cache/eslint/ --fix ."
  215. },
  216. "workspaces": [
  217. "jobs/mirror-documentation",
  218. "libraries/*",
  219. "server-ce/test",
  220. "services/analytics",
  221. "services/chat",
  222. "services/clsi",
  223. "services/clsi-cache",
  224. "services/clsi-perf",
  225. "services/contacts",
  226. "services/docstore",
  227. "services/document-updater",
  228. "services/filestore",
  229. "services/freegeoip",
  230. "services/github-sync",
  231. "services/history-v1",
  232. "services/idp",
  233. "services/latexqc",
  234. "services/notifications",
  235. "services/project-history",
  236. "services/real-time",
  237. "services/templates",
  238. "services/third-party-datastore",
  239. "services/third-party-references",
  240. "services/tpdsworker",
  241. "services/web",
  242. "tools/dependency-management",
  243. "tools/npm-overrides-helper",
  244. "tools/saas-e2e",
  245. "tools/migrations"
  246. ]
  247. }