{ "name": "@growi/app", "version": "5.0.9-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", "build:server": "yarn cross-env NODE_ENV=production tsc -p tsconfig.build.server.json && tsc-alias -p tsconfig.build.server.json", "clean": "npx -y shx rm -rf dist transpiled", "prebuild": "yarn cross-env NODE_ENV=production run-p clean resources:*", "postbuild": "npx -y shx mv transpiled/src dist && npx -y shx cp -r src/server/views dist/server/ && npx -y shx rm -rf transpiled", "server": "yarn cross-env NODE_ENV=production node -r dotenv-flow/config dist/server/app.js", "server:ci": "yarn server --ci", "preserver": "yarn cross-env NODE_ENV=production yarn migrate", "migrate": "node -r dotenv-flow/config node_modules/.bin/migrate-mongo up", "//// 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 -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 dev:migrate:up", "dev:migrate-mongo": "yarn cross-env NODE_ENV=development yarn ts-node node_modules/.bin/migrate-mongo", "dev:migrate": "yarn dev:migrate:up", "dev:migrate:create": "yarn dev:migrate-mongo create", "dev:migrate:status": "yarn dev:migrate-mongo status", "dev:migrate:up": "yarn dev:migrate-mongo up", "dev:migrate:down": "yarn dev:migrate-mongo down", "cy:run": "cypress run --browser chrome", "//// for CI": "", "dev:ci": "yarn dev:client:nowatch && yarn dev:server --ci", "predev:ci": "run-p resources:*", "lint:typecheck": "npx -y 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 -- ", "test:ci": "cross-env NODE_ENV=test jest", "prelint:eslint": "yarn resources:plugin", "prelint:swagger2openapi": "yarn openapi:v3", "reg:run": "reg-suit run", "//// 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", "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": { "@aws-sdk/client-s3": "^3.58.0", "@aws-sdk/s3-request-presigner": "^3.58.0", "@browser-bunyan/console-formatted-stream": "^1.6.2", "@elastic/elasticsearch6": "npm:@elastic/elasticsearch@^6.8.8", "@elastic/elasticsearch7": "npm:@elastic/elasticsearch@^7.17.0", "@godaddy/terminus": "^4.9.0", "@google-cloud/storage": "^5.8.5", "@growi/codemirror-textlint": "^5.0.9-RC.0", "@growi/plugin-attachment-refs": "^5.0.9-RC.0", "@growi/plugin-lsx": "^5.0.9-RC.0", "@growi/plugin-pukiwiki-like-linker": "^5.0.9-RC.0", "@growi/slack": "^5.0.9-RC.0", "@promster/express": "^7.0.2", "@promster/server": "^7.0.4", "@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.1044.0", "axios": "^0.24.0", "axios-retry": "^3.2.4", "body-parser": "^1.18.2", "browser-bunyan": "^1.6.3", "bunyan": "^1.8.15", "check-node-version": "^4.1.0", "compression": "^1.7.4", "connect-flash": "~0.1.1", "connect-mongo": "^4.6.0", "connect-redis": "^4.0.4", "cookie-parser": "^1.4.5", "csrf": "^3.1.0", "date-fns": "^2.23.0", "detect-indent": "^7.0.0", "diff": "^5.0.0", "diff_match_patch": "^0.1.1", "entities": "^2.0.0", "esa-node": "^0.2.2", "escape-string-regexp": "=4.0.0", "eslint-plugin-regex": "^1.8.0", "expose-gc": "^1.0.0", "express": "^4.16.1", "express-bunyan-logger": "^1.3.3", "express-mongo-sanitize": "^2.1.0", "express-rate-limit": "^5.3.0", "express-session": "^1.16.1", "express-validator": "^6.14.0", "express-webpack-assets": "^0.1.0", "extensible-custom-error": "^0.0.7", "graceful-fs": "^4.1.11", "helmet": "^4.6.0", "http-errors": "^2.0.0", "i18next": "^20.3.2", "i18next-express-middleware": "^2.0.0", "i18next-node-fs-backend": "^2.1.3", "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.3", "mkdirp": "^1.0.3", "mongoose": "^6.0.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": "^5.1.2", "p-retry": "^4.0.0", "passport": "^0.5.0", "passport-github": "^1.1.0", "passport-google-oauth20": "^2.0.0", "passport-http": "^0.3.0", "passport-ldapauth": "^3.0.1", "passport-local": "^1.0.0", "passport-saml": "^3.2.0", "passport-twitter": "^1.0.4", "prom-client": "^13.0.0", "react-card-flip": "^1.0.10", "react-dnd": "^14.0.5", "react-dnd-html5-backend": "^14.1.0", "react-image-crop": "^8.3.0", "react-multiline-clamp": "^2.0.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": "^6.1.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.7.0", "ws": "^8.3.0", "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.1.4", "@growi/ui": "^5.0.9-RC.0", "@handsontable/react": "=2.1.0", "@types/compression": "^1.7.0", "@types/express": "^4.17.11", "@types/jquery": "^3.5.8", "@types/multer": "^1.4.5", "@types/react-dom": "^17.0.9", "autoprefixer": "^9.0.0", "bootstrap": "^4.5.0", "browser-sync": "^2.27.7", "bunyan-debug": "^2.0.0", "cli": "~1.0.1", "codemirror": "^5.64.0", "colors": "=1.4.0", "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.1.0", "emoji-mart": "npm:panta82-emoji-mart@^3.0.1", "eslint-plugin-cypress": "^2.12.1", "eslint-plugin-regex": "^1.8.0", "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-emoji-mart": "^0.1.1", "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", "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": "^5.2.2", "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": "^4.3.1", "sass": "^1.43.4", "sass-loader": "^10.1.1", "simple-load-script": "^1.0.2", "simplebar-react": "^2.3.6", "socket.io-client": "^4.2.0", "sticky-events": "^3.4.11", "style-loader": "^1.0.0", "styled-components": "^5.0.1", "swagger2openapi": "^5.3.1", "swr": "^1.1.2", "terser-webpack-plugin": "^4.1.0", "throttle-debounce": "^3.0.1", "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.46.0", "webpack-assets-manifest": "^3.1.1", "webpack-bundle-analyzer": "^3.9.0", "webpack-cli": "^4.9.1" } }