package.json 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363
  1. {
  2. "name": "@growi/app",
  3. "version": "7.5.0-RC.0",
  4. "license": "MIT",
  5. "private": "true",
  6. "scripts": {
  7. "//// for production": "",
  8. "build": "run-p build:*",
  9. "start": "next start",
  10. "build:client": "next build",
  11. "build:server": "cross-env NODE_ENV=production tspc -p tsconfig.build.server.json",
  12. "postbuild:server": "shx echo \"Listing files under transpiled\" && shx ls transpiled && shx rm -rf dist && shx mv transpiled/src dist && shx rm -rf transpiled",
  13. "clean": "shx rm -rf dist transpiled .next",
  14. "server": "cross-env NODE_ENV=production node -r dotenv-flow/config dist/server/app.js",
  15. "server:ci": "pnpm run server --ci",
  16. "preserver": "cross-env NODE_ENV=production pnpm run migrate",
  17. "pre:styles-commons": "vite build -c vite.vendor-styles-commons.ts",
  18. "pre:styles-components": "vite build --config vite.vendor-styles-components.ts",
  19. "migrate": "node -r dotenv-flow/config node_modules/migrate-mongo/bin/migrate-mongo up -f config/migrate-mongo-config.js",
  20. "//// for development": "",
  21. "dev": "cross-env NODE_ENV=development nodemon --exec pnpm run ts-node --inspect src/server/app.ts",
  22. "dev:pre:styles-commons": "pnpm run pre:styles-commons --mode dev",
  23. "dev:pre:styles-components": "pnpm run pre:styles-components",
  24. "dev:migrate-mongo": "cross-env NODE_ENV=development pnpm run ts-node node_modules/migrate-mongo/bin/migrate-mongo",
  25. "dev:migrate": "pnpm run dev:migrate:status > tmp/cache/migration-status.out && pnpm run dev:migrate:up",
  26. "dev:migrate:status": "pnpm run dev:migrate-mongo status -f config/migrate-mongo-config.js",
  27. "dev:migrate:up": "pnpm run dev:migrate-mongo up -f config/migrate-mongo-config.js",
  28. "dev:migrate:down": "pnpm run dev:migrate-mongo down -f config/migrate-mongo-config.js",
  29. "//// for CI": "",
  30. "launch-dev:ci": "cross-env NODE_ENV=development pnpm run dev:migrate && pnpm run ts-node src/server/app.ts --ci",
  31. "lint:typecheck": "tsgo --noEmit",
  32. "lint:biome": "biome check --diagnostic-level=error",
  33. "lint:styles": "stylelint \"src/**/*.scss\"",
  34. "lint:openapi:apiv3": "node node_modules/swagger2openapi/oas-validate tmp/openapi-spec-apiv3.json",
  35. "lint:openapi:apiv1": "node node_modules/swagger2openapi/oas-validate tmp/openapi-spec-apiv1.json",
  36. "lint": "run-p lint:**",
  37. "prelint:typecheck": "next typegen",
  38. "prelint:openapi:apiv3": "pnpm run openapi:generate-spec:apiv3",
  39. "prelint:openapi:apiv1": "pnpm run openapi:generate-spec:apiv1",
  40. "test": "vitest run",
  41. "test:coverage": "run-p test:coverage:* test:integ",
  42. "test:coverage:unit": "COLUMNS=200 vitest run --coverage --project=app-unit",
  43. "test:coverage:components": "COLUMNS=200 vitest run --coverage --project=app-components",
  44. "test:integ": "vitest run --project=app-integration",
  45. "//// misc": "",
  46. "console": "npm run repl",
  47. "repl": "cross-env NODE_ENV=development npm run ts-node src/server/repl.ts",
  48. "openapi:build:generate-operation-ids": "vite build -c bin/openapi/generate-operation-ids/vite.config.ts",
  49. "openapi:generate-spec:apiv3": "sh bin/openapi/generate-spec-apiv3.sh",
  50. "openapi:generate-spec:apiv1": "sh bin/openapi/generate-spec-apiv1.sh",
  51. "ts-node": "node -r ts-node/register/transpile-only -r tsconfig-paths/register -r dotenv-flow/config",
  52. "version:patch": "pnpm version patch",
  53. "version:prerelease": "pnpm version prerelease --preid=RC",
  54. "version:prepatch": "pnpm version prepatch --preid=RC",
  55. "version:preminor": "pnpm version preminor --preid=RC",
  56. "version:premajor": "pnpm version premajor --preid=RC"
  57. },
  58. "// comments for dependencies": {
  59. "@aws-skd/*": "fix version above 3.186.0 that is required by mongodb@4.16.0",
  60. "@keycloak/keycloak-admin-client": "19.0.0 or above exports only ESM.",
  61. "escape-string-regexp": "5.0.0 or above exports only ESM",
  62. "next-themes": "0.3.0 causes a type error: https://github.com/pacocoursey/next-themes/issues/122",
  63. "string-width": "5.0.0 or above exports only ESM."
  64. },
  65. "dependencies": {
  66. "@akebifiky/remark-simple-plantuml": "^1.0.2",
  67. "@aws-sdk/client-s3": "3.454.0",
  68. "@aws-sdk/s3-request-presigner": "3.454.0",
  69. "@azure/identity": "^4.4.1",
  70. "@azure/openai": "^2.0.0",
  71. "@azure/storage-blob": "^12.16.0",
  72. "@browser-bunyan/console-formatted-stream": "^1.8.0",
  73. "@codemirror/autocomplete": "^6.18.4",
  74. "@codemirror/commands": "^6.8.0",
  75. "@codemirror/lang-markdown": "^6.3.2",
  76. "@codemirror/language": "^6.12.1",
  77. "@codemirror/language-data": "^6.5.1",
  78. "@codemirror/merge": "^6.8.0",
  79. "@codemirror/state": "^6.5.2",
  80. "@codemirror/view": "^6.39.14",
  81. "@cspell/dynamic-import": "^8.15.4",
  82. "@elastic/elasticsearch7": "npm:@elastic/elasticsearch@^7.17.4",
  83. "@elastic/elasticsearch8": "npm:@elastic/elasticsearch@^8.18.2",
  84. "@elastic/elasticsearch9": "npm:@elastic/elasticsearch@^9.0.3",
  85. "@emoji-mart/data": "^1.2.1",
  86. "@emoji-mart/react": "^1.1.1",
  87. "@godaddy/terminus": "^4.9.0",
  88. "@google-cloud/storage": "^5.8.5",
  89. "@growi/core": "workspace:^",
  90. "@growi/pdf-converter-client": "workspace:^",
  91. "@growi/pluginkit": "workspace:^",
  92. "@growi/presentation": "workspace:^",
  93. "@growi/preset-templates": "workspace:^",
  94. "@growi/preset-themes": "workspace:^",
  95. "@growi/remark-attachment-refs": "workspace:^",
  96. "@growi/remark-drawio": "workspace:^",
  97. "@growi/remark-growi-directive": "workspace:^",
  98. "@growi/remark-lsx": "workspace:^",
  99. "@growi/slack": "workspace:^",
  100. "@handsontable/react": "=2.1.0",
  101. "@headless-tree/core": "^1.5.3",
  102. "@headless-tree/react": "^1.5.3",
  103. "@keycloak/keycloak-admin-client": "^18.0.0",
  104. "@lezer/highlight": "^1.2.3",
  105. "@marp-team/marp-core": "^3.9.1",
  106. "@marp-team/marpit": "^2.6.1",
  107. "@opentelemetry/api": "^1.9.0",
  108. "@opentelemetry/auto-instrumentations-node": "^0.60.1",
  109. "@opentelemetry/exporter-metrics-otlp-grpc": "^0.202.0",
  110. "@opentelemetry/exporter-trace-otlp-grpc": "^0.202.0",
  111. "@opentelemetry/resources": "^2.0.1",
  112. "@opentelemetry/sdk-metrics": "^2.0.1",
  113. "@opentelemetry/sdk-node": "^0.202.0",
  114. "@opentelemetry/sdk-trace-node": "^2.0.1",
  115. "@opentelemetry/semantic-conventions": "^1.34.0",
  116. "@replit/codemirror-emacs": "^6.1.0",
  117. "@replit/codemirror-vim": "^6.2.1",
  118. "@replit/codemirror-vscode-keymap": "^6.0.2",
  119. "@slack/web-api": "^6.2.4",
  120. "@slack/webhook": "^6.0.0",
  121. "@tanstack/react-virtual": "^3.13.12",
  122. "@types/async": "^3.2.24",
  123. "@types/multer": "^1.4.12",
  124. "JSONStream": "^1.3.5",
  125. "archiver": "^5.3.0",
  126. "array.prototype.flatmap": "^1.2.2",
  127. "async-canvas-to-blob": "^1.0.3",
  128. "axios": "^1.11.0",
  129. "axios-retry": "^3.2.4",
  130. "babel-plugin-superjson-next": "^0.4.2",
  131. "body-parser": "^1.20.3",
  132. "bootstrap": "=5.3.2",
  133. "browser-bunyan": "^1.8.0",
  134. "bson-objectid": "^2.0.4",
  135. "bunyan": "^1.8.15",
  136. "cm6-theme-basic-light": "^0.2.0",
  137. "codemirror": "^6.0.1",
  138. "compression": "^1.7.4",
  139. "connect-flash": "~0.1.1",
  140. "connect-mongo": "^4.6.0",
  141. "connect-redis": "^4.0.4",
  142. "cookie-parser": "^1.4.5",
  143. "cross-env": "^7.0.0",
  144. "csurf": "^1.11.0",
  145. "csv-to-markdown-table": "^1.4.1",
  146. "date-fns": "^3.6.0",
  147. "dayjs": "^1.11.7",
  148. "detect-indent": "^7.0.0",
  149. "diff": "^5.0.0",
  150. "diff2html": "^3.4.47",
  151. "diff_match_patch": "^0.1.1",
  152. "dotenv-flow": "^3.2.0",
  153. "downshift": "^8.2.3",
  154. "ejs": "^3.1.10",
  155. "escape-string-regexp": "^4.0.0",
  156. "expose-gc": "^1.0.0",
  157. "express": "^4.20.0",
  158. "express-bunyan-logger": "^1.3.3",
  159. "express-mongo-sanitize": "^2.1.0",
  160. "express-session": "^1.16.1",
  161. "express-validator": "^6.14.0",
  162. "extensible-custom-error": "^0.0.7",
  163. "fastest-levenshtein": "^1.0.16",
  164. "form-data": "^4.0.4",
  165. "graceful-fs": "^4.1.11",
  166. "hast-util-sanitize": "^5.0.1",
  167. "hast-util-select": "^6.0.2",
  168. "hastscript": "^8.0.0",
  169. "helmet": "^4.6.0",
  170. "http-errors": "^2.0.0",
  171. "i18next": "^23.16.5",
  172. "i18next-http-backend": "^2.6.2",
  173. "i18next-localstorage-backend": "^4.2.0",
  174. "i18next-resources-to-backend": "^1.2.1",
  175. "is-absolute-url": "^4.0.1",
  176. "is-iso-date": "^0.0.1",
  177. "jotai": "^2.12.3",
  178. "js-cookie": "^3.0.5",
  179. "js-tiktoken": "^1.0.15",
  180. "js-yaml": "^4.1.1",
  181. "jsonrepair": "^3.12.0",
  182. "katex": "^0.16.21",
  183. "ldapjs": "^3.0.2",
  184. "lucene-query-parser": "^1.2.0",
  185. "markdown-table": "^3.0.3",
  186. "md5": "^2.2.1",
  187. "mdast-util-from-markdown": "^2.0.1",
  188. "mdast-util-gfm-table": "^2.0.0",
  189. "mdast-util-wiki-link": "^0.1.2",
  190. "mermaid": "^11.10.0",
  191. "method-override": "^3.0.0",
  192. "micromark-extension-gfm-table": "^2.1.0",
  193. "micromark-extension-wiki-link": "^0.0.4",
  194. "migrate-mongo": "^11.0.0",
  195. "mkdirp": "^1.0.3",
  196. "mongodb": "^4.17.2",
  197. "mongoose": "^6.13.6",
  198. "mongoose-gridfs": "^1.3.0",
  199. "mongoose-paginate-v2": "^1.3.9",
  200. "mongoose-unique-validator": "^2.0.3",
  201. "multer": "~1.4.0",
  202. "multer-autoreap": "^1.0.3",
  203. "mustache": "^4.2.0",
  204. "next": "^16.0.0",
  205. "next-dynamic-loading-props": "^0.1.1",
  206. "next-i18next": "^15.3.1",
  207. "next-themes": "^0.2.1",
  208. "nocache": "^4.0.0",
  209. "node-cron": "^3.0.2",
  210. "nodemailer": "^6.9.15",
  211. "nodemailer-ses-transport": "~1.5.0",
  212. "openai": "^4.96.2",
  213. "openid-client": "^5.4.0",
  214. "p-retry": "^4.0.0",
  215. "pako": "^2.1.0",
  216. "passport": "^0.6.0",
  217. "passport-github": "^1.1.0",
  218. "passport-google-oauth20": "^2.0.0",
  219. "passport-ldapauth": "^3.0.1",
  220. "passport-local": "^1.0.0",
  221. "passport-saml": "^3.2.0",
  222. "pathe": "^2.0.3",
  223. "pretty-bytes": "^6.1.1",
  224. "prop-types": "^15.8.1",
  225. "qs": "^6.14.2",
  226. "rate-limiter-flexible": "^2.3.7",
  227. "react": "^18.2.0",
  228. "react-bootstrap-typeahead": "^6.3.2",
  229. "react-card-flip": "^1.0.10",
  230. "react-copy-to-clipboard": "^5.0.1",
  231. "react-datepicker": "^4.7.0",
  232. "react-disable": "^0.1.1",
  233. "react-dnd": "^14.0.5",
  234. "react-dnd-html5-backend": "^14.1.0",
  235. "react-dom": "^18.2.0",
  236. "react-dropzone": "^14.2.3",
  237. "react-error-boundary": "^3.1.4",
  238. "react-hook-form": "^7.45.4",
  239. "react-i18next": "^15.1.1",
  240. "react-image-crop": "^8.3.0",
  241. "react-input-autosize": "^3.0.0",
  242. "react-markdown": "^9.0.1",
  243. "react-multiline-clamp": "^2.0.0",
  244. "react-scroll": "^1.8.7",
  245. "react-stickynode": "^4.1.1",
  246. "react-syntax-highlighter": "^16.1.0",
  247. "react-toastify": "^9.1.3",
  248. "react-use-ripple": "^1.5.2",
  249. "reactstrap": "^9.2.2",
  250. "reconnecting-websocket": "^4.4.0",
  251. "redis": "^3.0.2",
  252. "rehype-katex": "^7.0.1",
  253. "rehype-meta": "^4.0.1",
  254. "rehype-raw": "^7.0.0",
  255. "rehype-sanitize": "^6.0.0",
  256. "rehype-slug": "^6.0.0",
  257. "rehype-stringify": "^10.0.1",
  258. "rehype-toc": "^3.0.2",
  259. "remark-breaks": "^4.0.0",
  260. "remark-directive": "^3.0.0",
  261. "remark-frontmatter": "^5.0.0",
  262. "remark-gfm": "^4.0.0",
  263. "remark-html": "^16.0.1",
  264. "remark-math": "^6.0.0",
  265. "remark-parse": "^11.0.0",
  266. "remark-rehype": "^11.1.1",
  267. "remark-stringify": "^11.0.0",
  268. "reveal.js": "^4.4.8",
  269. "sanitize-filename": "^1.6.3",
  270. "simplebar-react": "^2.3.6",
  271. "socket.io": "^4.7.5",
  272. "string-width": "=4.2.2",
  273. "superjson": "^2.2.2",
  274. "swagger-jsdoc": "^6.2.8",
  275. "swr": "^2.3.2",
  276. "throttle-debounce": "^5.0.0",
  277. "ts-deepmerge": "^6.2.0",
  278. "tslib": "^2.8.0",
  279. "uglifycss": "^0.0.29",
  280. "uid-safe": "^2.1.5",
  281. "unified": "^11.0.0",
  282. "unist-util-visit": "^5.0.0",
  283. "universal-bunyan": "^0.9.2",
  284. "unstated": "^2.1.1",
  285. "unzip-stream": "^0.3.2",
  286. "url-join": "^4.0.0",
  287. "usehooks-ts": "^2.6.0",
  288. "uuid": "^11.0.3",
  289. "validator": "^13.15.22",
  290. "ws": "^8.17.1",
  291. "xss": "^1.0.15",
  292. "y-codemirror.next": "^0.3.5",
  293. "y-mongodb-provider": "^0.2.0",
  294. "y-socket.io": "^1.1.3",
  295. "yjs": "^13.6.18",
  296. "zod": "^3.24.2"
  297. },
  298. "// comments for defDependencies": {
  299. "bootstrap": "v5.3.3 has a bug. refs: https://github.com/twbs/bootstrap/issues/39798",
  300. "@handsontable/react": "v3 requires handsontable >= 7.0.0.",
  301. "handsontable": "v7.0.0 or above is no loger MIT lisence.",
  302. "mongodb": "mongoose which is used requires mongo@4.16.0."
  303. },
  304. "devDependencies": {
  305. "@apidevtools/swagger-parser": "^10.1.1",
  306. "@growi/core-styles": "workspace:^",
  307. "@growi/custom-icons": "workspace:^",
  308. "@growi/editor": "workspace:^",
  309. "@growi/ui": "workspace:^",
  310. "@popperjs/core": "^2.11.8",
  311. "@testing-library/jest-dom": "^6.5.0",
  312. "@testing-library/user-event": "^14.5.2",
  313. "@types/archiver": "^6.0.2",
  314. "@types/bunyan": "^1.8.11",
  315. "@types/express": "^4.17.21",
  316. "@types/hast": "^3.0.4",
  317. "@types/js-cookie": "^3.0.6",
  318. "@types/ldapjs": "^2.2.5",
  319. "@types/mdast": "^4.0.4",
  320. "@types/node-cron": "^3.0.11",
  321. "@types/nodemailer": "6.4.22",
  322. "@types/react": "^18.2.14",
  323. "@types/react-dom": "^18.2.6",
  324. "@types/react-input-autosize": "^2.2.4",
  325. "@types/react-scroll": "^1.8.4",
  326. "@types/react-stickynode": "^4.0.3",
  327. "@types/supertest": "^6.0.3",
  328. "@types/testing-library__dom": "^7.5.0",
  329. "@types/throttle-debounce": "^5.0.1",
  330. "@types/unist": "^3.0.3",
  331. "@types/unzip-stream": "^0.3.4",
  332. "@types/url-join": "^4.0.2",
  333. "@types/uuid": "^10.0.0",
  334. "@types/ws": "^8.18.1",
  335. "babel-loader": "^8.2.5",
  336. "commander": "^14.0.0",
  337. "connect-browser-sync": "^2.1.0",
  338. "eazy-logger": "^3.1.0",
  339. "fslightbox-react": "^1.7.6",
  340. "handsontable": "=6.2.2",
  341. "happy-dom": "^15.7.4",
  342. "i18next-chained-backend": "^4.6.2",
  343. "jotai-devtools": "^0.11.0",
  344. "load-css-file": "^1.0.0",
  345. "material-icons": "^1.11.3",
  346. "mdast-util-directive": "^3.0.0",
  347. "mdast-util-find-and-replace": "^3.0.1",
  348. "mongodb-connection-string-url": "^7.0.0",
  349. "mongodb-memory-server-core": "^9.1.1",
  350. "morgan": "^1.10.0",
  351. "openapi-typescript": "^7.8.0",
  352. "rehype-rewrite": "^4.0.2",
  353. "remark-github-admonitions-to-directives": "^2.0.0",
  354. "sass": "^1.53.0",
  355. "socket.io-client": "^4.7.5",
  356. "supertest": "^7.1.4",
  357. "swagger2openapi": "^7.0.8",
  358. "tinykeys": "^3.0.0",
  359. "typescript": "~5.0.4",
  360. "unist-util-is": "^6.0.0",
  361. "unist-util-visit-parents": "^6.0.0"
  362. }
  363. }