package.json 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269
  1. {
  2. "name": "@growi/app",
  3. "version": "5.1.7",
  4. "license": "MIT",
  5. "scripts": {
  6. "//// for production": "",
  7. "start": "yarn build && yarn server",
  8. "build": "run-p build:*",
  9. "build:client": "yarn cross-env NODE_ENV=production webpack --config config/webpack.prod.js",
  10. "build:server": "yarn cross-env NODE_ENV=production tsc -p tsconfig.build.server.json && tsc-alias -p tsconfig.build.server.json",
  11. "clean": "npx -y shx rm -rf dist transpiled",
  12. "prebuild": "yarn cross-env NODE_ENV=production run-p clean resources:*",
  13. "postbuild": "npx -y shx mv transpiled/src dist && npx -y shx cp -r transpiled/config/* config && npx -y shx cp -r src/server/views dist/server/ && npx -y shx rm -rf transpiled",
  14. "server": "yarn cross-env NODE_ENV=production node -r dotenv-flow/config dist/server/app.js",
  15. "server:ci": "yarn server --ci",
  16. "preserver": "yarn cross-env NODE_ENV=production yarn migrate",
  17. "migrate": "node -r dotenv-flow/config node_modules/.bin/migrate-mongo up",
  18. "//// for development": "",
  19. "dev": "run-p dev:client dev:server",
  20. "dev:client": "yarn cross-env NODE_ENV=development webpack --config config/webpack.dev.js --progress --watch",
  21. "dev:client:nowatch": "yarn cross-env NODE_ENV=development webpack --config config/webpack.dev.js",
  22. "dev:server": "yarn cross-env NODE_ENV=development ts-node-dev --inspect -r tsconfig-paths/register -r dotenv-flow/config --transpile-only src/server/app.ts",
  23. "predev:client": "yarn cross-env NODE_ENV=development run-p resources:*",
  24. "predev:server": "yarn cross-env NODE_ENV=development yarn dev:migrate:up",
  25. "dev:migrate-mongo": "yarn cross-env NODE_ENV=development yarn ts-node node_modules/.bin/migrate-mongo",
  26. "dev:migrate": "yarn dev:migrate:up",
  27. "dev:migrate:create": "yarn dev:migrate-mongo create",
  28. "dev:migrate:status": "yarn dev:migrate-mongo status",
  29. "dev:migrate:up": "yarn dev:migrate-mongo up",
  30. "dev:migrate:down": "yarn dev:migrate-mongo down",
  31. "cy:run": "cypress run --browser chrome",
  32. "//// for CI": "",
  33. "dev:ci": "yarn dev:client:nowatch && yarn dev:server --ci",
  34. "predev:ci": "run-p resources:*",
  35. "lint:typecheck": "npx -y tsc",
  36. "lint:eslint": "eslint --quiet \"**/*.{js,jsx,ts,tsx}\"",
  37. "lint:styles": "stylelint src/**/*.scss",
  38. "lint:swagger2openapi": "node node_modules/.bin/oas-validate tmp/swagger.json",
  39. "lint": "run-p lint:*",
  40. "test": "cross-env NODE_ENV=test jest --passWithNoTests -- ",
  41. "test:ci": "cross-env NODE_ENV=test jest",
  42. "prelint:eslint": "yarn resources:plugin",
  43. "prelint:swagger2openapi": "yarn openapi:v3",
  44. "reg:run": "reg-suit run",
  45. "//// misc": "",
  46. "console": "yarn cross-env NODE_ENV=development yarn ts-node --experimental-repl-await src/server/console.js",
  47. "swagger-jsdoc": "swagger-jsdoc -o tmp/swagger.json -d config/swagger-definition.js",
  48. "openapi:v3": "yarn cross-env API_VERSION=3 yarn swagger-jsdoc -- \"src/server/routes/apiv3/**/*.js\" \"src/server/models/**/*.js\"",
  49. "openapi:v1": "yarn cross-env API_VERSION=1 yarn swagger-jsdoc -- \"src/server/*/*.js\" \"src/server/models/**/*.js\"",
  50. "resources:plugin": "yarn ts-node bin/generate-plugin-definitions-source.ts",
  51. "resources:dl-resources": "yarn ts-node bin/download-cdn-resources.ts",
  52. "ts-node": "ts-node -r tsconfig-paths/register -r dotenv-flow/config --transpile-only"
  53. },
  54. "// comments for dependencies": {
  55. "openid-client": "Node.js 12 or higher is required for openid-client@3 and above.",
  56. "escape-string-regexp": "5.0.0 or above exports only ESM",
  57. "string-width": "5.0.0 or above exports only ESM."
  58. },
  59. "dependencies": {
  60. "@aws-sdk/client-s3": "^3.58.0",
  61. "@aws-sdk/s3-request-presigner": "^3.58.0",
  62. "@browser-bunyan/console-formatted-stream": "^1.8.0",
  63. "@elastic/elasticsearch6": "npm:@elastic/elasticsearch@^6.8.8",
  64. "@elastic/elasticsearch7": "npm:@elastic/elasticsearch@^7.17.0",
  65. "@godaddy/terminus": "^4.9.0",
  66. "@google-cloud/storage": "^5.8.5",
  67. "@growi/codemirror-textlint": "^5.1.7",
  68. "@growi/core": "^5.1.7",
  69. "@growi/plugin-attachment-refs": "^5.1.7",
  70. "@growi/plugin-lsx": "^5.1.7",
  71. "@growi/plugin-pukiwiki-like-linker": "^5.1.7",
  72. "@growi/slack": "^5.1.7",
  73. "@promster/express": "^7.0.2",
  74. "@promster/server": "^7.0.4",
  75. "@slack/events-api": "^3.0.0",
  76. "@slack/web-api": "^6.2.4",
  77. "@slack/webhook": "^6.0.0",
  78. "JSONStream": "^1.3.5",
  79. "archiver": "^5.3.0",
  80. "array.prototype.flatmap": "^1.2.2",
  81. "async-canvas-to-blob": "^1.0.3",
  82. "aws-sdk": "^2.1044.0",
  83. "axios": "^0.24.0",
  84. "axios-retry": "^3.2.4",
  85. "body-parser": "^1.18.2",
  86. "browser-bunyan": "^1.8.0",
  87. "bunyan": "^1.8.15",
  88. "check-node-version": "^4.1.0",
  89. "compression": "^1.7.4",
  90. "connect-flash": "~0.1.1",
  91. "connect-mongo": "^4.6.0",
  92. "connect-redis": "^4.0.4",
  93. "cookie-parser": "^1.4.5",
  94. "csrf": "^3.1.0",
  95. "date-fns": "^2.23.0",
  96. "detect-indent": "^7.0.0",
  97. "diff": "^5.0.0",
  98. "diff_match_patch": "^0.1.1",
  99. "entities": "^2.0.0",
  100. "esa-node": "^0.2.2",
  101. "escape-string-regexp": "=4.0.0",
  102. "eslint-plugin-regex": "^1.8.0",
  103. "expose-gc": "^1.0.0",
  104. "express": "^4.16.1",
  105. "express-bunyan-logger": "^1.3.3",
  106. "express-mongo-sanitize": "^2.1.0",
  107. "express-session": "^1.16.1",
  108. "express-validator": "^6.14.0",
  109. "express-webpack-assets": "^0.1.0",
  110. "extensible-custom-error": "^0.0.7",
  111. "graceful-fs": "^4.1.11",
  112. "helmet": "^4.6.0",
  113. "http-errors": "^2.0.0",
  114. "i18next": "^20.3.2",
  115. "i18next-express-middleware": "^2.0.0",
  116. "i18next-node-fs-backend": "^2.1.3",
  117. "i18next-sprintf-postprocessor": "^0.2.2",
  118. "is-iso-date": "^0.0.1",
  119. "lucene-query-parser": "^1.2.0",
  120. "md5": "^2.2.1",
  121. "method-override": "^3.0.0",
  122. "migrate-mongo": "^8.2.3",
  123. "mkdirp": "^1.0.3",
  124. "mongoose": "^6.0.13",
  125. "mongoose-gridfs": "^1.2.42",
  126. "mongoose-paginate-v2": "^1.3.9",
  127. "mongoose-unique-validator": "^2.0.3",
  128. "multer": "~1.4.0",
  129. "multer-autoreap": "^1.0.3",
  130. "nocache": "^3.0.1",
  131. "nodemailer": "^6.6.2",
  132. "nodemailer-ses-transport": "~1.5.0",
  133. "openid-client": "^5.1.2",
  134. "p-retry": "^4.0.0",
  135. "passport": "^0.5.0",
  136. "passport-github": "^1.1.0",
  137. "passport-google-oauth20": "^2.0.0",
  138. "passport-http": "^0.3.0",
  139. "passport-ldapauth": "^3.0.1",
  140. "passport-local": "^1.0.0",
  141. "passport-saml": "^3.2.0",
  142. "passport-twitter": "^1.0.4",
  143. "prom-client": "^13.0.0",
  144. "rate-limiter-flexible": "^2.3.7",
  145. "react-card-flip": "^1.0.10",
  146. "react-datepicker": "^4.7.0",
  147. "react-dnd": "^14.0.5",
  148. "react-dnd-html5-backend": "^14.1.0",
  149. "react-image-crop": "^8.3.0",
  150. "react-multiline-clamp": "^2.0.0",
  151. "reconnecting-websocket": "^4.4.0",
  152. "redis": "^3.0.2",
  153. "rimraf": "^3.0.0",
  154. "socket.io": "^4.2.0",
  155. "stream-to-promise": "^3.0.0",
  156. "string-width": "=4.2.2",
  157. "swagger-jsdoc": "^6.1.0",
  158. "swig-templates": "^2.0.2",
  159. "uglifycss": "^0.0.29",
  160. "universal-bunyan": "^0.9.2",
  161. "unzipper": "^0.10.5",
  162. "url-join": "^4.0.0",
  163. "validator": "^13.7.0",
  164. "ws": "^8.3.0",
  165. "xss": "^1.0.6"
  166. },
  167. "// comments for defDependencies": {
  168. "@handsontable/react": "v3 requires handsontable >= 7.0.0.",
  169. "handsontable": "v7.0.0 or above is no loger MIT lisence.",
  170. "ts-loader": "v9 is not compatible with webpack@5",
  171. "ts-node": "v10 occurs 'SyntaxError: Cannot use import statement outside a module' when using migrate-mongo"
  172. },
  173. "devDependencies": {
  174. "@alienfast/i18next-loader": "^1.1.4",
  175. "@growi/ui": "^5.1.7",
  176. "@handsontable/react": "=2.1.0",
  177. "@types/compression": "^1.7.0",
  178. "@types/express": "^4.17.11",
  179. "@types/jquery": "^3.5.8",
  180. "@types/multer": "^1.4.5",
  181. "@types/react-dom": "^17.0.9",
  182. "autoprefixer": "^9.0.0",
  183. "bootstrap": "^4.5.0",
  184. "browser-sync": "^2.27.7",
  185. "bunyan-debug": "^2.0.0",
  186. "cli": "~1.0.1",
  187. "codemirror": "^5.64.0",
  188. "colors": "=1.4.0",
  189. "connect-browser-sync": "^2.1.0",
  190. "core-js": "=2.6.9",
  191. "css-loader": "^3.0.0",
  192. "csv-to-markdown-table": "^1.0.1",
  193. "diff2html": "^3.1.2",
  194. "eazy-logger": "^3.1.0",
  195. "emoji-mart": "npm:panta82-emoji-mart@^3.0.1",
  196. "eslint-plugin-cypress": "^2.12.1",
  197. "eslint-plugin-regex": "^1.8.0",
  198. "file-loader": "^5.0.2",
  199. "handsontable": "=6.2.2",
  200. "hard-source-webpack-plugin": "^0.13.1",
  201. "i18next-browser-languagedetector": "^4.0.1",
  202. "imports-loader": "^0.8.0",
  203. "jquery-slimscroll": "^1.3.8",
  204. "jquery-ui": "^1.12.1",
  205. "jquery.cookie": "~1.4.1",
  206. "jshint": "^2.13.0",
  207. "load-css-file": "^1.0.0",
  208. "lodash-webpack-plugin": "^0.11.5",
  209. "markdown-it": "^10.0.0",
  210. "markdown-it-blockdiag": "^1.1.1",
  211. "markdown-it-drawio-viewer": "^1.4.0",
  212. "markdown-it-emoji": "^1.4.0",
  213. "markdown-it-emoji-mart": "^0.1.1",
  214. "markdown-it-footnote": "^3.0.1",
  215. "markdown-it-mathjax": "^2.0.0",
  216. "markdown-it-named-headers": "^0.0.4",
  217. "markdown-it-plantuml": "^1.3.0",
  218. "markdown-it-task-checkbox": "^1.0.6",
  219. "markdown-it-toc-and-anchor-with-slugid": "^1.1.4",
  220. "markdown-table": "^1.1.1",
  221. "mini-css-extract-plugin": "^0.9.0",
  222. "morgan": "^1.10.0",
  223. "node-dev": "^4.0.0",
  224. "normalize-path": "^3.0.0",
  225. "null-loader": "^3.0.0",
  226. "on-headers": "^1.0.1",
  227. "optimize-css-assets-webpack-plugin": "^5.0.3",
  228. "penpal": "^4.0.0",
  229. "plantuml-encoder": "^1.2.5",
  230. "postcss-loader": "^3.0.0",
  231. "prettier": "^1.19.1",
  232. "react": "^16.8.3",
  233. "react-bootstrap-typeahead": "^5.2.2",
  234. "react-codemirror2": "^6.0.0",
  235. "react-copy-to-clipboard": "^5.0.1",
  236. "react-dom": "^16.8.3",
  237. "react-dropzone": "^11.2.4",
  238. "react-frame-component": "^4.0.0",
  239. "react-hotkeys": "^2.0.0",
  240. "react-i18next": "^11.1.0",
  241. "react-waypoint": "^10.1.0",
  242. "reactstrap": "^8.9.0",
  243. "replacestream": "^4.0.3",
  244. "reveal.js": "^4.3.1",
  245. "sass": "^1.43.4",
  246. "sass-loader": "^10.1.1",
  247. "simple-load-script": "^1.0.2",
  248. "simplebar-react": "^2.3.6",
  249. "socket.io-client": "^4.2.0",
  250. "sticky-events": "^3.4.11",
  251. "style-loader": "^1.0.0",
  252. "styled-components": "^5.0.1",
  253. "swagger2openapi": "^5.3.1",
  254. "swr": "^1.1.2",
  255. "terser-webpack-plugin": "^4.1.0",
  256. "throttle-debounce": "^3.0.1",
  257. "toastr": "^2.1.2",
  258. "ts-loader": "^8.3.0",
  259. "ts-node": "^9.1.1",
  260. "ts-node-dev": "^2.0.0",
  261. "tsc-alias": "^1.2.9",
  262. "tsconfig-paths-webpack-plugin": "^3.5.1",
  263. "unstated": "^2.1.1",
  264. "webpack": "^4.46.0",
  265. "webpack-assets-manifest": "^3.1.1",
  266. "webpack-bundle-analyzer": "^3.9.0",
  267. "webpack-cli": "^4.9.1"
  268. }
  269. }