Files
outline/package.json
Tom Moor 33afa2f029 Plugin architecture (#4861)
* wip

* Refactor, tasks, processors, routes loading

* Move Slack settings config to plugin

* Fix translations in plugins

* Move Slack auth to plugin

* test

* Move other slack-related files into plugin

* Forgot to save

* refactor
2023-02-12 10:11:30 -08:00

363 lines
12 KiB
JSON

{
"name": "outline",
"private": true,
"license": "Business Source License 1.1",
"main": "index.js",
"scripts": {
"clean": "rimraf build",
"copy:i18n": "mkdir -p ./build/shared/i18n && cp -R ./shared/i18n/locales ./build/shared/i18n",
"build:i18n": "i18next --silent '{shared,app,server,plugins}/**/*.{ts,tsx}' && yarn copy:i18n",
"build:server": "./build.sh",
"build:webpack": "webpack --config webpack.config.prod.js",
"build": "yarn clean && yarn build:webpack && yarn build:i18n && yarn build:server",
"start": "node ./build/server/index.js",
"dev": "NODE_ENV=development yarn concurrently -n api,collaboration -c \"blue,magenta\" \"node --inspect=0.0.0.0 build/server/index.js --services=collaboration,websockets,admin,web,worker\"",
"dev:watch": "nodemon --exec \"yarn build:server && yarn dev\" -e js,ts,tsx --ignore build/ --ignore app/ --ignore shared/editor",
"lint": "eslint app server shared",
"prepare": "husky install",
"postinstall": "rimraf node_modules/prosemirror-view/dist/index.d.ts",
"heroku-postbuild": "yarn build && yarn db:migrate",
"db:create-migration": "sequelize migration:create",
"db:create": "sequelize db:create",
"db:migrate": "sequelize db:migrate",
"db:rollback": "sequelize db:migrate:undo",
"db:reset": "sequelize db:drop && sequelize db:create && sequelize db:migrate",
"upgrade": "git fetch && git pull && yarn install && yarn heroku-postbuild",
"test": "jest --config=.jestconfig.json --forceExit",
"test:app": "jest --config=.jestconfig.json --selectProjects app",
"test:shared": "jest --config=.jestconfig.json --selectProjects shared-node shared-jsdom",
"test:server": "jest --config=.jestconfig.json --selectProjects server"
},
"funding": {
"type": "GitHub Sponsors ❤",
"url": "https://github.com/sponsors/outline"
},
"engines": {
"node": ">= 14 <=16"
},
"repository": {
"type": "git",
"url": "git+ssh://git@github.com/outline/outline.git"
},
"browserslist": [
"> 0.25%, not dead"
],
"dependencies": {
"@babel/core": "^7.18.6",
"@babel/plugin-proposal-decorators": "^7.18.10",
"@babel/plugin-transform-destructuring": "^7.20.2",
"@babel/plugin-transform-regenerator": "^7.10.4",
"@babel/preset-env": "^7.16.0",
"@babel/preset-react": "^7.18.6",
"@benrbray/prosemirror-math": "^0.2.2",
"@bull-board/api": "^4.2.2",
"@bull-board/koa": "^4.6.2",
"@dnd-kit/core": "^6.0.5",
"@dnd-kit/modifiers": "^6.0.0",
"@dnd-kit/sortable": "^7.0.1",
"@getoutline/y-prosemirror": "^1.0.18",
"@hocuspocus/provider": "^1.0.0-beta.6",
"@hocuspocus/server": "^1.0.0-beta.6",
"@joplin/turndown-plugin-gfm": "^1.0.45",
"@juggle/resize-observer": "^3.4.0",
"@outlinewiki/koa-passport": "^4.2.1",
"@outlinewiki/passport-azure-ad-oauth2": "^0.1.0",
"@renderlesskit/react": "^0.11.0",
"@sentry/node": "^7.24.2",
"@sentry/react": "^7.24.2",
"@sentry/tracing": "^7.24.2",
"@tippyjs/react": "^4.2.6",
"@tommoor/remove-markdown": "^0.3.2",
"@types/mermaid": "^9.1.0",
"autotrack": "^2.4.1",
"aws-sdk": "^2.1290.0",
"babel-plugin-lodash": "^3.3.4",
"babel-plugin-styled-components": "^2.0.7",
"babel-plugin-transform-class-properties": "^6.24.1",
"body-scroll-lock": "^4.0.0-beta.0",
"bull": "^4.10.2",
"cancan": "3.1.0",
"chalk": "^4.1.0",
"class-validator": "^0.14.0",
"compressorjs": "^1.1.1",
"copy-to-clipboard": "^3.3.3",
"core-js": "^3.26.1",
"crypto-js": "^4.1.1",
"datadog-metrics": "^0.10.2",
"date-fns": "^2.25.0",
"dd-trace": "^3.9.3",
"dotenv": "^4.0.0",
"email-providers": "^1.13.1",
"emoji-regex": "^10.0.0",
"es6-error": "^4.1.1",
"exports-loader": "^1.1.1",
"fetch-retry": "^5.0.3",
"fetch-with-proxy": "^3.0.1",
"file-loader": "^1.1.6",
"focus-visible": "^5.2.0",
"fractional-index": "^1.0.0",
"framer-motion": "^4.1.17",
"fs-extra": "^4.0.2",
"fuzzy-search": "^3.2.1",
"gemoji": "6.x",
"glob": "^8.1.0",
"http-errors": "2.0.0",
"i18next": "^22.4.8",
"i18next-fs-backend": "^2.1.1",
"i18next-http-backend": "^2.1.1",
"immutable": "^4.2.4",
"inline-css": "^4.0.1",
"invariant": "^2.2.4",
"ioredis": "^5.0.0",
"is-printable-key-event": "^1.0.0",
"jsdom": "^21.0.0",
"json-loader": "0.5.7",
"jsonwebtoken": "^9.0.0",
"jszip": "^3.10.1",
"katex": "^0.16.4",
"kbar": "0.1.0-beta.40",
"koa": "^2.13.4",
"koa-body": "^4.2.0",
"koa-compress": "^5.1.0",
"koa-convert": "^2.0.0",
"koa-helmet": "^6.1.0",
"koa-logger": "^3.2.1",
"koa-mount": "^3.0.0",
"koa-router": "7.4.0",
"koa-send": "5.0.1",
"koa-sslify": "5.0.1",
"koa-useragent": "^4.1.0",
"lodash": "^4.17.21",
"mammoth": "^1.4.19",
"markdown-it": "^13.0.1",
"markdown-it-container": "^3.0.0",
"markdown-it-emoji": "^2.0.0",
"mermaid": "9.1.7",
"mime-types": "^2.1.35",
"mobx": "^4.15.4",
"mobx-react": "^6.3.1",
"mobx-utils": "^4.0.1",
"natural-sort": "^1.0.0",
"node-fetch": "2.6.7",
"node-htmldiff": "^0.9.4",
"nodemailer": "^6.6.1",
"outline-icons": "^1.46.0",
"oy-vey": "^0.12.0",
"passport": "^0.6.0",
"passport-google-oauth2": "^0.2.0",
"passport-oauth2": "^1.6.1",
"passport-slack-oauth2": "^1.1.1",
"pg": "^8.8.0",
"pg-hstore": "^2.3.4",
"pg-tsquery": "^8.4.0",
"polished": "^4.2.2",
"prosemirror-commands": "1.2.2",
"prosemirror-dropcursor": "^1.6.1",
"prosemirror-gapcursor": "^1.3.1",
"prosemirror-history": "^1.2.0",
"prosemirror-inputrules": "^1.1.3",
"prosemirror-keymap": "^1.1.5",
"prosemirror-markdown": "^1.9.3",
"prosemirror-model": "1.16.1",
"prosemirror-schema-list": "1.1.4",
"prosemirror-state": "1.3.4",
"prosemirror-tables": "^1.1.1",
"prosemirror-transform": "1.2.5",
"prosemirror-utils": "^0.9.6",
"prosemirror-view": "1.26.5",
"query-string": "^7.1.1",
"quoted-printable": "^1.0.1",
"randomstring": "1.2.3",
"rate-limiter-flexible": "^2.4.1",
"raw-loader": "^0.5.1",
"react": "^17.0.2",
"react-avatar-editor": "^13.0.0",
"react-color": "^2.17.3",
"react-dnd": "^16.0.1",
"react-dnd-html5-backend": "^16.0.1",
"react-dom": "^17.0.2",
"react-dropzone": "^11.3.2",
"react-helmet": "^6.1.0",
"react-hook-form": "^7.41.5",
"react-i18next": "^12.1.1",
"react-merge-refs": "^2.0.1",
"react-portal": "^4.2.0",
"react-router-dom": "^5.2.0",
"react-table": "^7.7.0",
"react-virtualized-auto-sizer": "^1.0.5",
"react-waypoint": "^10.1.0",
"react-window": "^1.8.7",
"reakit": "^1.3.11",
"reflect-metadata": "^0.1.13",
"refractor": "^3.6.0",
"regenerator-runtime": "^0.13.7",
"request-filtering-agent": "^1.1.2",
"semver": "^7.3.7",
"sequelize": "^6.20.1",
"sequelize-cli": "^6.4.1",
"sequelize-encrypted": "^1.0.0",
"sequelize-typescript": "^2.1.5",
"slate": "0.45.0",
"slate-md-serializer": "5.5.4",
"slug": "^5.3.0",
"slugify": "^1.6.5",
"smooth-scroll-into-view-if-needed": "^1.1.32",
"socket.io": "^4.5.4",
"socket.io-client": "^4.5.4",
"socket.io-redis": "^6.1.1",
"stoppable": "^1.1.0",
"string-replace-to-array": "^2.1.0",
"styled-components": "^5.2.3",
"styled-components-breakpoint": "^2.1.1",
"styled-normalize": "^8.0.4",
"throng": "^5.0.0",
"tiny-cookie": "^2.4.0",
"tmp": "^0.2.1",
"turndown": "^7.1.1",
"utf8": "^3.0.0",
"utility-types": "^3.10.0",
"uuid": "^8.3.2",
"validator": "13.7.0",
"winston": "^3.3.3",
"ws": "^7.5.3",
"y-indexeddb": "^9.0.9",
"y-protocols": "^1.0.5",
"yjs": "^13.5.39",
"zod": "^3.20.2"
},
"devDependencies": {
"@babel/cli": "^7.10.5",
"@babel/preset-typescript": "^7.18.6",
"@getoutline/jest-runner-serial": "^2.0.0",
"@pmmmwh/react-refresh-webpack-plugin": "^0.5.10",
"@relative-ci/agent": "^3.0.0",
"@types/body-scroll-lock": "^3.1.0",
"@types/crypto-js": "^4.1.1",
"@types/datadog-metrics": "^0.6.2",
"@types/emoji-regex": "^9.2.0",
"@types/enzyme": "^3.10.12",
"@types/enzyme-adapter-react-16": "^1.0.6",
"@types/express-useragent": "^1.0.2",
"@types/formidable": "^2.0.5",
"@types/fs-extra": "^9.0.13",
"@types/fuzzy-search": "^2.1.2",
"@types/glob": "^8.0.1",
"@types/google.analytics": "^0.0.42",
"@types/inline-css": "^3.0.1",
"@types/invariant": "^2.2.35",
"@types/jest": "^28.1.6",
"@types/jsonwebtoken": "^8.5.8",
"@types/katex": "^0.14.0",
"@types/koa": "^2.13.4",
"@types/koa-compress": "^4.0.3",
"@types/koa-helmet": "^6.0.4",
"@types/koa-logger": "^3.1.2",
"@types/koa-mount": "^4.0.1",
"@types/koa-router": "^7.4.4",
"@types/koa-send": "^4.1.3",
"@types/koa-sslify": "^4.0.3",
"@types/koa-useragent": "^2.1.2",
"@types/markdown-it": "^12.2.3",
"@types/markdown-it-container": "^2.0.5",
"@types/markdown-it-emoji": "^2.0.2",
"@types/mime-types": "^2.1.1",
"@types/natural-sort": "^0.0.21",
"@types/node": "18.0.6",
"@types/node-fetch": "^2.6.2",
"@types/nodemailer": "^6.4.4",
"@types/passport-oauth2": "^1.4.11",
"@types/prosemirror-commands": "^1.0.4",
"@types/prosemirror-dropcursor": "^1.5.0",
"@types/prosemirror-gapcursor": "^1.3.0",
"@types/prosemirror-history": "^1.0.1",
"@types/prosemirror-inputrules": "^1.0.2",
"@types/prosemirror-keymap": "^1.0.1",
"@types/prosemirror-markdown": "^1.0.3",
"@types/prosemirror-model": "^1.7.2",
"@types/prosemirror-schema-list": "^1.0.3",
"@types/prosemirror-state": "^1.2.4",
"@types/prosemirror-view": "^1.11.4",
"@types/quoted-printable": "^1.0.0",
"@types/randomstring": "^1.1.8",
"@types/react": "^17.0.34",
"@types/react-avatar-editor": "^13.0.0",
"@types/react-color": "^3.0.6",
"@types/react-dom": "^17.0.11",
"@types/react-helmet": "^6.1.6",
"@types/react-portal": "^4.0.4",
"@types/react-router-dom": "^5.3.2",
"@types/react-table": "^7.7.9",
"@types/react-virtualized-auto-sizer": "^1.0.1",
"@types/react-window": "^1.8.5",
"@types/redis-info": "^3.0.0",
"@types/refractor": "^3.0.2",
"@types/semver": "^7.3.10",
"@types/sequelize": "^4.28.10",
"@types/slug": "^5.0.3",
"@types/stoppable": "^1.1.1",
"@types/styled-components": "^5.1.15",
"@types/throng": "^5.0.3",
"@types/tmp": "^0.2.2",
"@types/turndown": "^5.0.1",
"@types/utf8": "^3.0.1",
"@types/validator": "^13.7.10",
"@typescript-eslint/eslint-plugin": "^5.40.0",
"@typescript-eslint/parser": "^5.48.1",
"babel-eslint": "^10.1.0",
"babel-jest": "^29.3.1",
"babel-loader": "^8.1.0",
"babel-plugin-transform-inline-environment-variables": "^0.4.4",
"babel-plugin-transform-typescript-metadata": "^0.3.2",
"babel-plugin-tsconfig-paths-module-resolver": "^1.0.3",
"concurrently": "^7.4.0",
"css-loader": "5.2.6",
"enzyme": "^3.11.0",
"enzyme-adapter-react-16": "^1.15.6",
"eslint": "^7.32.0",
"eslint-config-prettier": "^8.5.0",
"eslint-import-resolver-typescript": "^3.5.2",
"eslint-plugin-es": "^4.1.0",
"eslint-plugin-import": "^2.26.0",
"eslint-plugin-jsx-a11y": "^6.1.0",
"eslint-plugin-node": "^11.1.0",
"eslint-plugin-prettier": "^4.2.1",
"eslint-plugin-react": "^7.20.0",
"eslint-plugin-react-hooks": "^4.1.0",
"fetch-test-server": "^1.1.0",
"html-webpack-plugin": "4.5.2",
"husky": "^8.0.2",
"i18next-parser": "^7.1.0",
"jest-cli": "^29.4.1",
"jest-environment-jsdom": "^28.1.3",
"jest-fetch-mock": "^3.0.3",
"koa-webpack-dev-middleware": "^1.4.5",
"koa-webpack-hot-middleware": "^1.0.3",
"lint-staged": "^13.1.0",
"nodemon": "^2.0.20",
"prettier": "^2.0.5",
"react-refresh": "^0.14.0",
"rimraf": "^2.5.4",
"style-loader": "2.0.0",
"terser-webpack-plugin": "^4.1.0",
"typescript": "^4.7.4",
"url-loader": "^4.1.1",
"webpack": "4.46.0",
"webpack-cli": "^4.10.0",
"webpack-manifest-plugin": "^3.0.0",
"webpack-pwa-manifest": "^4.3.0",
"workbox-webpack-plugin": "^6.5.3",
"yarn-deduplicate": "^6.0.1"
},
"resolutions": {
"body-scroll-lock": "^4.0.0-beta.0",
"d3": "^7.0.0",
"node-fetch": "^2.6.7",
"prosemirror-transform": "1.2.5",
"dot-prop": "^5.2.0",
"js-yaml": "^3.14.1",
"jpeg-js": "0.4.4",
"qs": "6.9.7"
},
"version": "0.67.2"
}