{
  "name": "@growi/app",
  "version": "4.4.6-RC.0",
  "license": "MIT",
  "scripts": {
    "//// for production": "",
    "start": "yarn build && yarn server",
    "build": "run-p build:*",
    "build:client": "yarn cross-env NODE_ENV=production webpack --config config/webpack.prod.js --profile --bail",
    "build:server": "yarn cross-env NODE_ENV=production tsc -p tsconfig.build.server.json && tsc-alias -p tsconfig.build.server.json",
    "clean": "npx shx rm -rf dist transpiled",
    "prebuild": "yarn cross-env NODE_ENV=production run-p clean resources:*",
    "postbuild": "npx shx mv transpiled/src dist && npx shx cp -r src/server/views dist/server/ && npx shx rm -rf transpiled",
    "server": "yarn cross-env NODE_ENV=production node -r dotenv-flow/config --expose_gc dist/server/app.js",
    "server:ci": "yarn server --ci",
    "preserver": "yarn cross-env NODE_ENV=production yarn migrate",
    "//// for development": "",
    "dev": "run-p dev:client dev:server",
    "dev:client": "yarn cross-env NODE_ENV=development webpack --config config/webpack.dev.js --progress --watch",
    "dev:client:nowatch": "yarn cross-env NODE_ENV=development webpack --config config/webpack.dev.js",
    "dev:server": "yarn cross-env NODE_ENV=development ts-node-dev --inspect --expose-gc -r tsconfig-paths/register -r dotenv-flow/config --transpile-only src/server/app.ts",
    "predev:client": "yarn cross-env NODE_ENV=development run-p resources:*",
    "predev:server": "yarn cross-env NODE_ENV=development yarn migrate",
    "//// for CI": "",
    "dev:ci": "yarn dev:client:nowatch && yarn dev:server --ci",
    "predev:ci": "run-p resources:*",
    "lint:typecheck": "npx tsc",
    "lint:eslint": "eslint --quiet \"**/*.{js,jsx,ts,tsx}\"",
    "lint:styles": "stylelint src/**/*.scss",
    "lint:swagger2openapi": "node node_modules/.bin/oas-validate tmp/swagger.json",
    "lint": "run-p lint:*",
    "test": "cross-env NODE_ENV=test jest --passWithNoTests -- ",
    "prelint:eslint": "yarn resources:plugin",
    "prelint:swagger2openapi": "yarn openapi:v3",
    "//// misc": "",
    "console": "yarn cross-env NODE_ENV=development yarn ts-node --experimental-repl-await src/server/console.js",
    "swagger-jsdoc": "swagger-jsdoc -o tmp/swagger.json -d config/swagger-definition.js",
    "openapi:v3": "yarn cross-env API_VERSION=3 yarn swagger-jsdoc -- \"src/server/routes/apiv3/**/*.js\" \"src/server/models/**/*.js\"",
    "openapi:v1": "yarn cross-env API_VERSION=1 yarn swagger-jsdoc -- \"src/server/*/*.js\" \"src/server/models/**/*.js\"",
    "resources:plugin": "yarn ts-node bin/generate-plugin-definitions-source.ts",
    "resources:dl-resources": "yarn ts-node bin/download-cdn-resources.ts",
    "migrate": "yarn migrate:up",
    "migrate:create": "yarn ts-node node_modules/.bin/migrate-mongo create -f config/migrate.js",
    "migrate:status": "yarn ts-node node_modules/.bin/migrate-mongo status -f config/migrate.js",
    "migrate:up": "yarn ts-node node_modules/.bin/migrate-mongo up -f config/migrate.js",
    "migrate:down": "yarn ts-node node_modules/.bin/migrate-mongo down -f config/migrate.js",
    "ts-node": "ts-node -r tsconfig-paths/register -r dotenv-flow/config --transpile-only"
  },
  "// comments for dependencies": {
    "openid-client": "Node.js 12 or higher is required for openid-client@3 and above.",
    "escape-string-regexp": "5.0.0 or above exports only ESM",
    "string-width": "5.0.0 or above exports only ESM."
  },
  "dependencies": {
    "@browser-bunyan/console-formatted-stream": "^1.6.2",
    "@google-cloud/storage": "^5.8.5",
    "@growi/codemirror-textlint": "^4.4.6-RC.0",
    "@growi/plugin-attachment-refs": "^4.4.6-RC.0",
    "@growi/plugin-pukiwiki-like-linker": "^4.4.6-RC.0",
    "@growi/plugin-lsx": "^4.4.6-RC.0",
    "@growi/slack": "^4.4.6-RC.0",
    "@promster/express": "^5.1.0",
    "@promster/server": "^6.0.3",
    "@slack/events-api": "^3.0.0",
    "@slack/web-api": "^6.2.4",
    "@slack/webhook": "^6.0.0",
    "JSONStream": "^1.3.5",
    "archiver": "^5.3.0",
    "array.prototype.flatmap": "^1.2.2",
    "async-canvas-to-blob": "^1.0.3",
    "aws-sdk": "^2.88.0",
    "axios": "^0.21.1",
    "body-parser": "^1.18.2",
    "browser-bunyan": "^1.6.3",
    "bunyan": "^1.8.15",
    "check-node-version": "^4.1.0",
    "connect-flash": "~0.1.1",
    "connect-mongo": "^4.4.1",
    "connect-redis": "^4.0.4",
    "cookie-parser": "^1.4.5",
    "csrf": "^3.1.0",
    "date-fns": "^2.23.0",
    "detect-indent": "^6.0.0",
    "diff": "^5.0.0",
    "elasticsearch": "^16.0.0",
    "entities": "^2.0.0",
    "esa-nodejs": "^0.0.7",
    "escape-string-regexp": "=4.0.0",
    "express": "^4.16.1",
    "express-bunyan-logger": "^1.3.3",
    "express-form": "~0.12.0",
    "express-mongo-sanitize": "^2.1.0",
    "express-rate-limit": "^5.3.0",
    "express-session": "^1.16.1",
    "express-validator": "^6.1.1",
    "express-webpack-assets": "^0.1.0",
    "graceful-fs": "^4.1.11",
    "growi-commons": "^5.0.4",
    "helmet": "^4.6.0",
    "http-errors": "~1.8.0",
    "i18next": "^20.3.2",
    "i18next-express-middleware": "^2.0.0",
    "i18next-node-fs-backend": "^2.1.0",
    "i18next-sprintf-postprocessor": "^0.2.2",
    "is-iso-date": "^0.0.1",
    "lucene-query-parser": "^1.2.0",
    "md5": "^2.2.1",
    "method-override": "^3.0.0",
    "migrate-mongo": "^8.2.2",
    "mkdirp": "^1.0.3",
    "mongoose": "5.12.13",
    "mongoose-gridfs": "^1.2.42",
    "mongoose-paginate-v2": "^1.3.9",
    "mongoose-unique-validator": "^2.0.3",
    "multer": "~1.4.0",
    "multer-autoreap": "^1.0.3",
    "nocache": "^3.0.1",
    "nodemailer": "^6.6.2",
    "nodemailer-ses-transport": "~1.5.0",
    "openid-client": "=2.5.0",
    "passport": "^0.4.0",
    "passport-github": "^1.1.0",
    "passport-google-oauth20": "^2.0.0",
    "passport-http": "^0.3.0",
    "passport-ldapauth": "^2.0.0",
    "passport-local": "^1.0.0",
    "passport-saml": "^2.2.0",
    "passport-twitter": "^1.0.4",
    "prom-client": "^13.0.0",
    "react-card-flip": "^1.0.10",
    "react-image-crop": "^8.3.0",
    "reconnecting-websocket": "^4.4.0",
    "redis": "^3.0.2",
    "rimraf": "^3.0.0",
    "socket.io": "^4.2.0",
    "stream-to-promise": "^3.0.0",
    "string-width": "=4.2.2",
    "swagger-jsdoc": "^3.4.0",
    "swig-templates": "^2.0.2",
    "uglifycss": "^0.0.29",
    "universal-bunyan": "^0.9.2",
    "unzipper": "^0.10.5",
    "url-join": "^4.0.0",
    "validator": "^13.6.0",
    "ws": "^7.4.6",
    "xss": "^1.0.6"
  },
  "// comments for defDependencies": {
    "@handsontable/react": "v3 requires handsontable >= 7.0.0.",
    "handsontable": "v7.0.0 or above is no loger MIT lisence.",
    "ts-loader": "v9 is not compatible with webpack@5"
  },
  "devDependencies": {
    "@alienfast/i18next-loader": "^1.0.16",
    "@atlaskit/drawer": "^5.3.7",
    "@atlaskit/navigation-next": "^8.0.5",
    "@growi/ui": "^4.4.6-RC.0",
    "@handsontable/react": "=2.1.0",
    "@types/compression": "^1.7.0",
    "@types/express": "^4.17.11",
    "@types/multer": "^1.4.5",
    "@types/react-dom": "^17.0.9",
    "autoprefixer": "^9.0.0",
    "bootstrap": "^4.5.0",
    "browser-sync": "^2.26.3",
    "bunyan-debug": "^2.0.0",
    "cli": "~1.0.1",
    "codemirror": "^5.63.0",
    "colors": "^1.2.5",
    "connect-browser-sync": "^2.1.0",
    "core-js": "=2.6.9",
    "css-loader": "^3.0.0",
    "csv-to-markdown-table": "^1.0.1",
    "diff2html": "^3.1.2",
    "eazy-logger": "^3.0.2",
    "file-loader": "^5.0.2",
    "handsontable": "=6.2.2",
    "hard-source-webpack-plugin": "^0.13.1",
    "i18next-browser-languagedetector": "^4.0.1",
    "imports-loader": "^0.8.0",
    "jquery-slimscroll": "^1.3.8",
    "jquery-ui": "^1.12.1",
    "jquery.cookie": "~1.4.1",
    "jshint": "^2.13.0",
    "load-css-file": "^1.0.0",
    "lodash-webpack-plugin": "^0.11.5",
    "markdown-it": "^10.0.0",
    "markdown-it-blockdiag": "^1.1.1",
    "markdown-it-drawio-viewer": "^1.3.1",
    "markdown-it-emoji": "^1.4.0",
    "markdown-it-footnote": "^3.0.1",
    "markdown-it-mathjax": "^2.0.0",
    "markdown-it-named-headers": "^0.0.4",
    "markdown-it-plantuml": "^1.3.0",
    "markdown-it-task-checkbox": "^1.0.6",
    "markdown-it-toc-and-anchor-with-slugid": "^1.1.4",
    "markdown-table": "^1.1.1",
    "mini-css-extract-plugin": "^0.9.0",
    "morgan": "^1.10.0",
    "node-dev": "^4.0.0",
    "node-sass": "^4.14.1",
    "normalize-path": "^3.0.0",
    "null-loader": "^3.0.0",
    "on-headers": "^1.0.1",
    "optimize-css-assets-webpack-plugin": "^5.0.3",
    "penpal": "^4.0.0",
    "plantuml-encoder": "^1.2.5",
    "postcss-loader": "^3.0.0",
    "prettier": "^1.19.1",
    "react": "^16.8.3",
    "react-bootstrap-typeahead": "^3.4.7",
    "react-codemirror2": "^6.0.0",
    "react-copy-to-clipboard": "^5.0.1",
    "react-dom": "^16.8.3",
    "react-dropzone": "^11.2.4",
    "react-frame-component": "^4.0.0",
    "react-hotkeys": "^2.0.0",
    "react-i18next": "^11.1.0",
    "react-waypoint": "^10.1.0",
    "reactstrap": "^8.9.0",
    "replacestream": "^4.0.3",
    "reveal.js": "^3.5.0",
    "sass-loader": "^8.0.0",
    "simple-load-script": "^1.0.2",
    "socket.io-client": "^4.2.0",
    "sticky-events": "^3.1.3",
    "style-loader": "^1.0.0",
    "styled-components": "^5.0.1",
    "stylelint": "^13.2.0",
    "stylelint-config-recess-order": "^2.0.1",
    "swagger2openapi": "^5.3.1",
    "terser-webpack-plugin": "^4.1.0",
    "throttle-debounce": "^2.0.0",
    "toastr": "^2.1.2",
    "ts-loader": "^8.3.0",
    "ts-node-dev": "^1.1.6",
    "tsc-alias": "^1.2.9",
    "tsconfig-paths-webpack-plugin": "^3.5.1",
    "unstated": "^2.1.1",
    "webpack": "^4.39.3",
    "webpack-assets-manifest": "^3.1.1",
    "webpack-bundle-analyzer": "^3.0.2",
    "webpack-cli": "^3.3.7",
    "webpack-merge": "^4.2.2"
  }
}
