{ "name": "@coralproject/talk", "version": "6.1.0", "author": "The Coral Project", "homepage": "https://coralproject.net/", "sideEffects": [ "*.css.ts", "*.css" ], "repository": { "type": "git", "url": "git://github.com/coralproject/talk.git" }, "engines": { "node": "^12", "npm": "^6" }, "bugs": "https://github.com/coralproject/talk/issues", "contributors": [ "https://github.com/coralproject/talk/graphs/contributors" ], "description": "A better commenting experience from Mozilla, The Washington Post, and The New York Times.", "scripts": { "build": "NODE_ENV=production npm-run-all generate-persist --parallel build:client build:server", "build:development": "NODE_ENV=development npm-run-all generate --parallel build:client build:server", "build:client": "ts-node --transpile-only ./scripts/build.ts", "build:server": "gulp server", "migration:create": "ts-node --transpile-only ./scripts/migration/create.ts", "docs:events": "ts-node ./scripts/generateEventDocs.ts ./src/core/client/stream/events.ts ./CLIENT_EVENTS.md", "doctoc": "doctoc --maxlevel=3 --title '## Table of Contents' README.md CLIENT_EVENTS.md CONTRIBUTING.md WEBHOOKS.md", "generate": "npm-run-all generate:css-types generate:schema generate:relay", "generate-persist": "npm-run-all generate:css-types generate:schema generate:relay-persist", "generate:css-types": "tcm src/core/client/", "generate:relay": "npm-run-all --parallel generate:relay:*", "generate:relay-persist": "npm-run-all --parallel 'generate:relay:* -- --persist'", "generate:relay:stream": "ts-node --transpile-only ./scripts/compileRelay --src ./src/core/client/stream --schema tenant", "generate:relay:account": "ts-node --transpile-only ./scripts/compileRelay --src ./src/core/client/account --schema tenant", "generate:relay:auth": "ts-node --transpile-only ./scripts/compileRelay --src ./src/core/client/auth --schema tenant", "generate:relay:install": "ts-node --transpile-only ./scripts/compileRelay --src ./src/core/client/install --schema tenant", "generate:relay:admin": "ts-node --transpile-only ./scripts/compileRelay --src ./src/core/client/admin --schema tenant", "generate:schema": "node ./scripts/generateSchemaTypes.js", "docz": "docz", "start": "NODE_ENV=production node dist/index.js", "start:development": "NODE_ENV=development CONCURRENCY=${CONCURRENCY:-1} TS_NODE_PROJECT=./src/tsconfig.json ts-node-dev --inspect --transpile-only --no-notify -r tsconfig-paths/register ./src/index.ts", "start:webpackDevServer": "ts-node --transpile-only ./scripts/start.ts", "lint": "npm-run-all --parallel lint:* tscheck:*", "lint:server": "eslint 'src/**/*.{js,ts,tsx}' --ignore-pattern 'src/core/client/**'", "lint:client": "eslint 'src/core/client/**/*.{js,ts,tsx}'", "lint:scripts": "eslint 'scripts/**/*.{js,ts,tsx}'", "lint:graphql": "graphql-schema-linter src/core/server/graph/schema/schema.graphql", "lint-fix": "npm run lint:server -- --fix && npm run lint:client -- --fix && npm run lint:scripts -- --fix", "test": "node --trace-warnings scripts/test.js --env=jsdom", "tscheck": "npm-run-all --parallel tscheck:*", "tscheck:server": "tsc --project ./src/tsconfig.json --noEmit", "tscheck:client": "tsc --project ./src/core/client/tsconfig.json --noEmit", "tscheck:scripts": "tsc --project ./tsconfig.json --noEmit", "watch": "NODE_ENV=development ts-node --transpile-only ./scripts/watcher/bin/watcher.ts --config ./config/watcher.ts" }, "license": "Apache-2.0", "dependencies": { "@coralproject/bunyan-prettystream": "^0.1.4", "@emotion/core": "^10.0.28", "@fluent/bundle": "^0.15.0", "@fluent/dom": "^0.6.0", "@hapi/joi": "^17.1.1", "@metascraper/helpers": "^5.11.6", "abort-controller": "^3.0.0", "akismet-api": "^5.0.0", "apollo-server-express": "^2.11.0", "archiver": "^3.1.1", "basic-auth": "^2.0.1", "bcryptjs": "^2.4.3", "bull": "^3.13.0", "bunyan": "^1.8.12", "cheerio": "^1.0.0-rc.3", "consolidate": "0.14.0", "content-security-policy-builder": "^2.1.0", "convict": "^5.2.0", "cookie": "^0.4.0", "cookie-parser": "^1.4.5", "cors": "^2.8.5", "cron": "^1.8.2", "csv-stringify": "^5.3.6", "dataloader": "1.4.0", "dompurify": "^2.0.8", "dotenv": "^8.2.0", "env-rewrite": "^1.0.2", "express": "^4.17.1", "express-enforces-ssl": "^1.1.0", "express-static-gzip": "^2.0.6", "fs-extra": "^8.1.0", "graphql": "^14.6.0", "graphql-config": "^2.2.2", "graphql-extensions": "^0.11.0", "graphql-fields": "2.0.3", "graphql-import": "^0.7.1", "graphql-playground-html": "^1.6.13", "graphql-redis-subscriptions": "^2.2.1", "graphql-subscriptions": "^1.1.0", "graphql-tools": "^4.0.7", "helmet": "^3.22.0", "html-minifier": "^4.0.0", "html-to-text": "^5.1.1", "ioredis": "^4.16.1", "jsdom": "^16.2.2", "jsonwebtoken": "^8.5.1", "juice": "^6.0.0", "jwks-rsa": "^1.7.0", "linkifyjs": "^2.1.9", "lodash": "^4.17.15", "lru-cache": "^5.1.1", "luxon": "^1.22.2", "metascraper-author": "^5.11.6", "metascraper-description": "^5.11.6", "metascraper-image": "^5.11.6", "metascraper-title": "^5.11.6", "mongodb": "^3.5.5", "mongodb-core": "^3.2.7", "ms": "^2.1.2", "node-fetch": "^2.6.0", "nodemailer": "^6.4.6", "nunjucks": "^3.2.1", "on-finished": "^2.3.0", "passport": "^0.4.1", "passport-facebook": "^3.0.0", "passport-google-oauth2": "^0.2.0", "passport-local": "^1.0.0", "passport-oauth2": "^1.5.0", "passport-strategy": "^1.0.0", "permit": "^0.2.4", "prom-client": "^12.0.0", "proxy-agent": "^3.1.1", "querystringify": "^2.1.1", "source-map-support": "^0.5.16", "stack-utils": "^2.0.1", "striptags": "^3.1.1", "throng": "^4.0.0", "tsscmp": "^1.0.6", "url-regex": "^5.0.0", "uuid": "^7.0.3", "verror": "^1.10.0", "xregexp": "^4.3.0" }, "devDependencies": { "@babel/core": "^7.9.0", "@babel/preset-env": "^7.9.0", "@babel/preset-react": "^7.9.4", "@babel/preset-typescript": "^7.9.0", "@babel/runtime-corejs3": "^7.9.2", "@coralproject/npm-run-all": "^4.1.5", "@coralproject/rte": "^0.11.1", "@fluent/react": "^0.11.1", "@intervolga/optimize-cssnano-plugin": "^1.0.6", "@types/archiver": "^3.1.0", "@types/basic-auth": "^1.1.3", "@types/bcryptjs": "^2.4.2", "@types/bull": "^3.12.1", "@types/bunyan": "^1.8.6", "@types/case-sensitive-paths-webpack-plugin": "^2.1.4", "@types/cheerio": "^0.22.17", "@types/classnames": "^2.2.10", "@types/common-tags": "^1.8.0", "@types/compression-webpack-plugin": "^2.0.1", "@types/consolidate": "0.14.0", "@types/convict": "^4.2.1", "@types/cookie": "^0.3.3", "@types/cookie-parser": "^1.4.2", "@types/cors": "^2.8.6", "@types/cron": "^1.7.2", "@types/cross-spawn": "^6.0.1", "@types/dompurify": "^2.0.1", "@types/enzyme": "^3.10.5", "@types/enzyme-adapter-react-16": "^1.0.6", "@types/eventemitter2": "^4.1.0", "@types/express": "^4.17.4", "@types/express-enforces-ssl": "^1.1.1", "@types/express-serve-static-core": "^4.17.3", "@types/flat": "^5.0.0", "@types/fs-extra": "^8.1.0", "@types/hapi__joi": "^16.0.12", "@types/helmet": "^0.0.45", "@types/html-minifier": "^3.5.3", "@types/html-minifier-terser": "^5.0.0", "@types/html-to-text": "^1.4.31", "@types/html-webpack-plugin": "^3.2.2", "@types/ioredis": "^4.14.9", "@types/jest": "^25.1.4", "@types/jest-axe": "^3.2.1", "@types/jsdom": "^16.2.0", "@types/jsonwebtoken": "^8.3.8", "@types/linkifyjs": "^2.1.3", "@types/lodash": "^4.14.149", "@types/lru-cache": "^5.1.0", "@types/luxon": "^1.22.0", "@types/marked": "^0.7.3", "@types/mini-css-extract-plugin": "^0.9.1", "@types/mongodb": "3.1.22", "@types/ms": "^0.7.31", "@types/node": "^12.12.34", "@types/node-fetch": "^2.5.5", "@types/nodemailer": "^6.4.0", "@types/nunjucks": "^3.1.3", "@types/on-finished": "^2.3.1", "@types/passport": "^1.0.3", "@types/passport-facebook": "^2.1.9", "@types/passport-local": "^1.0.33", "@types/passport-oauth2": "^1.4.8", "@types/passport-strategy": "^0.2.35", "@types/permit": "^0.2.1", "@types/prettier": "^1.19.1", "@types/react": "^16.9.31", "@types/react-axe": "^3.1.0", "@types/react-copy-to-clipboard": "^4.3.0", "@types/react-dom": "^16.9.6", "@types/react-helmet": "^5.0.15", "@types/react-relay": "^7.0.3", "@types/react-responsive": "^8.0.2", "@types/react-test-renderer": "^16.9.2", "@types/react-transition-group": "^4.2.4", "@types/recompose": "^0.30.7", "@types/relay-runtime": "^8.0.7", "@types/sane": "^2.0.0", "@types/shallow-equals": "^1.0.0", "@types/simplemde": "^1.11.7", "@types/sinon": "^7.5.2", "@types/source-map-support": "^0.5.1", "@types/stack-trace": "0.0.29", "@types/stack-utils": "^1.0.1", "@types/throng": "^4.0.2", "@types/uuid": "^7.0.2", "@types/verror": "^1.10.3", "@types/vinyl": "^2.0.4", "@types/webpack": "^4.41.10", "@types/webpack-assets-manifest": "^3.0.0", "@types/webpack-bundle-analyzer": "^2.13.3", "@types/webpack-dev-server": "^3.10.1", "@types/ws": "^7.2.3", "@types/xregexp": "^4.3.0", "@typescript-eslint/eslint-plugin": "^2.26.0", "@typescript-eslint/eslint-plugin-tslint": "^2.26.0", "@typescript-eslint/parser": "^2.26.0", "autoprefixer": "^9.7.5", "babel-core": "^7.0.0-bridge.0", "babel-jest": "^25.2.4", "babel-loader": "^8.1.0", "babel-plugin-lodash": "^3.3.4", "babel-plugin-module-resolver": "^4.0.0", "babel-plugin-relay": "^9.0.0", "babel-plugin-use-lodash-es": "^0.2.0", "bowser": "^2.9.0", "case-sensitive-paths-webpack-plugin": "^2.3.0", "chalk": "^3.0.0", "chokidar": "^3.3.1", "classnames": "^2.2.6", "commander": "^5.0.0", "comment-json": "^3.0.2", "common-tags": "^1.8.0", "compression-webpack-plugin": "^3.1.0", "core-js": "^3.6.4", "cross-spawn": "^7.0.1", "css-loader": "^3.4.2", "css-vars-ponyfill": "^2.2.1", "del": "^5.1.0", "doctoc": "^1.4.0", "docz": "^v2.3.0-alpha.14", "enzyme": "^3.11.0", "enzyme-adapter-react-16": "^1.15.2", "enzyme-to-json": "^3.4.4", "eslint": "^6.8.0", "eslint-config-prettier": "^6.10.1", "eslint-plugin-jsdoc": "^22.1.0", "eslint-plugin-jsx-a11y": "^6.2.3", "eslint-plugin-prettier": "^3.1.2", "eslint-plugin-react": "^7.19.0", "eventemitter2": "^6.3.1", "farce": "^0.2.8", "final-form": "4.18.6", "final-form-arrays": "^3.0.2", "flat": "^5.0.0", "fluent-intl-polyfill": "^0.1.0", "fork-ts-checker-webpack-plugin": "^4.1.2", "found": "^0.4.10", "found-relay": "^0.7.0", "graphql-schema-linter": "^0.2.4", "graphql-schema-typescript": "^1.3.2", "gulp": "^4.0.2", "gulp-babel": "^8.0.0", "gulp-cli": "^2.2.0", "gulp-sourcemaps": "^2.6.5", "gulp-typescript": "^6.0.0-alpha.1", "html-webpack-plugin": "^4.0.4", "husky": "^4.2.3", "intersection-observer": "^0.7.0", "jest": "^25.2.4", "jest-axe": "^3.4.0", "jest-junit": "^10.0.0", "jest-localstorage-mock": "^2.4.0", "jest-mock-console": "^1.0.0", "keymaster": "^1.6.2", "lint-staged": "^10.1.1", "loader-utils": "^2.0.0", "lodash-es": "^4.17.15", "marked": "^0.8.2", "material-design-icons": "^3.0.1", "mini-css-extract-plugin": "^0.9.0", "postcss-advanced-variables": "^3.0.1", "postcss-calc-function": "^1.1.0", "postcss-flexbugs-fixes": "^4.2.0", "postcss-font-magician": "^2.3.1", "postcss-import": "^12.0.1", "postcss-js": "^2.0.3", "postcss-loader": "^3.0.0", "postcss-mixins": "^6.2.3", "postcss-nested": "^4.2.1", "postcss-prepend-imports": "^1.0.1", "postcss-preset-env": "^6.7.0", "prettier": "^2.0.2", "proxy-polyfill": "^0.3.1", "pstree.remy": "^1.1.7", "pym.js": "^1.3.2", "raw-loader": "^4.0.0", "react": "^16.13.1", "react-axe": "^3.4.1", "react-copy-to-clipboard": "^5.0.2", "react-dev-utils": "^10.2.1", "react-dom": "^16.13.1", "react-error-overlay": "^6.0.7", "react-final-form": "6.3.0", "react-final-form-arrays": "^3.1.1", "react-helmet": "^5.2.1", "react-popper": "^1.3.7", "react-relay": "^9.0.0", "react-relay-network-modern": "^4.6.1", "react-responsive": "^8.0.3", "react-test-renderer": "^16.13.1", "react-timeago": "^4.4.0", "react-transition-group": "^4.3.0", "recompose": "^0.30.0", "regenerator-runtime": "^0.13.5", "relay-compiler": "^9.0.0", "relay-compiler-language-typescript": "^12.0.0", "relay-local-schema": "^0.8.0", "relay-runtime": "^9.0.0", "resize-observer-polyfill": "^1.5.1", "sane": "^4.1.0", "shallow-equals": "^1.0.0", "simplemde": "^1.11.2", "simulant": "^0.2.2", "sinon": "^9.0.1", "sockjs-client": "^1.4.0", "stack-trace": "^0.0.10", "strip-ansi": "^6.0.0", "style-loader": "^1.1.3", "subscriptions-transport-ws": "^0.9.16", "terser-webpack-plugin": "^2.3.5", "thread-loader": "^2.1.3", "timekeeper": "^2.2.0", "ts-jest": "^25.3.0", "ts-loader": "^6.2.2", "ts-node": "^8.8.1", "ts-node-dev": "^1.0.0-pre.44", "tsconfig-paths": "^3.9.0", "tsconfig-paths-webpack-plugin": "^3.2.0", "tslint": "^6.1.0", "typed-css-modules": "^0.6.3", "typeface-manuale": "^1.1.4", "typeface-nunito": "^1.1.3", "typeface-open-sans": "^0.0.75", "typeface-source-sans-pro": "^1.1.5", "typescript": "^3.8.3", "typescript-snapshots-plugin": "^1.7.0", "wait-for-expect": "^1.3.0", "webpack": "^4.42.1", "webpack-assets-manifest": "^3.1.1", "webpack-bundle-analyzer": "^3.6.1", "webpack-cli": "^3.3.11", "webpack-dev-server": "^3.10.3", "whatwg-fetch": "^3.0.0" }, "dependencies-pins-documentation": { "wait-for-expect@1.x.x": [ "Newer versions breaks the use of jest fake timers" ], "consolidate@14.0.0": [ "Newer versions has problems with using nunjucks.", "Update when the following issue is resolved:", "https://github.com/tj/consolidate.js/issues/244" ], "final-form@4.18.6": [ "Newer versions has problems with resetting forms.", "Update when the following issue is resolved:", "https://github.com/final-form/final-form/issues/317" ], "react-final-form@6.3.0": [ "Newer versions has problems with radio and checkbox fields.", "Update when the following issue is resolved:", "https://github.com/final-form/react-final-form/issues/683" ] }, "husky": { "hooks": { "pre-commit": "FAST_LINT=true lint-staged" } }, "lint-staged": { "*.{j,t}s{,x}": [ "eslint" ], "src/core/server/graph/schema/schema.graphql": [ "graphql-schema-linter" ], "{src/core/client/stream/events.ts,scripts/generateEventDocs.ts,CLIENT_EVENTS.md}": [ "npm run docs:events -- --verify" ], "{README,CLIENT_EVENTS,CONTRIBUTING,WEBHOOKS}.md": [ "npm run doctoc" ] }, "bundlesize": [ { "path": "./dist/static/assets/js/embed.js", "maxSize": "15 kB" } ], "graphql-schema-linter": { "rules": [ "types-are-capitalized" ] }, "browsers": [ ">1%", "last 4 versions", "Firefox ESR", "IE 11", "not dead" ] }