{ "name": "@coralproject/talk", "version": "5.3.2", "author": "The Coral Project", "homepage": "https://coralproject.net/", "sideEffects": [ "*.css" ], "repository": { "type": "git", "url": "git://github.com/coralproject/talk.git" }, "engines": { "node": ">=12.0.0", "npm": ">=6.9.0" }, "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", "doctoc": "doctoc --title='## Table of Contents' --github README.md", "docs:events": "ts-node ./scripts/generateEventDocs.ts ./src/core/client/stream/events.ts ./events.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/tenant/schema/schema.graphql", "lint-fix": "npm run lint:server -- --fix && npm run lint:client -- --fix && npm run lint:scripts -- --fix", "test": "node 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", "@metascraper/helpers": "^5.7.21", "abort-controller": "^3.0.0", "akismet-api": "^4.2.0", "apollo-server-express": "^2.8.1", "archiver": "^3.0.3", "basic-auth": "^2.0.1", "bcryptjs": "^2.4.3", "bull": "^3.8.1", "bunyan": "^1.8.12", "cheerio": "^1.0.0-rc.2", "consolidate": "0.14.0", "content-security-policy-builder": "^2.0.0", "convict": "^4.3.1", "cookie": "^0.4.0", "cookie-parser": "^1.4.4", "cors": "^2.8.4", "cron": "^1.7.1", "csv-stringify": "^5.3.0", "dataloader": "^1.4.0", "dompurify": "^2.0.7", "dotenv": "^6.0.0", "dotenv-expand": "^4.2.0", "env-rewrite": "^1.0.2", "express": "^4.16.3", "express-static-gzip": "^0.3.2", "fluent": "^0.10.0", "fluent-dom": "^0.4.1", "fs-extra": "^6.0.1", "graphql": "^0.13.2", "graphql-config": "^2.0.1", "graphql-extensions": "^0.2.1", "graphql-fields": "^1.1.0", "graphql-playground-html": "^1.6.0", "graphql-redis-subscriptions": "^2.1.0", "graphql-subscriptions": "^1.1.0", "graphql-tools": "^3.0.5", "html-minifier": "^3.5.21", "html-to-text": "^4.0.0", "ioredis": "^4.9.0", "joi": "^13.4.0", "jsdom": "^15.0.0", "jsonwebtoken": "^8.3.0", "juice": "^5.2.0", "jwks-rsa": "^1.3.0", "keymaster": "^1.6.2", "linkifyjs": "^2.1.8", "lodash": "^4.17.15", "lru-cache": "^5.1.1", "luxon": "^1.12.0", "metascraper-author": "^5.8.0", "metascraper-description": "^5.8.0", "metascraper-image": "^5.8.0", "metascraper-title": "^5.8.0", "mongodb": "^3.2.7", "mongodb-core": "^3.2.7", "ms": "^2.1.1", "node-fetch": "^2.6.0", "nodemailer": "^4.6.7", "nunjucks": "^3.1.3", "on-finished": "^2.3.0", "passport": "^0.4.0", "passport-facebook": "^2.1.1", "passport-google-oauth2": "^0.1.6", "passport-local": "^1.0.0", "passport-oauth2": "^1.4.0", "passport-strategy": "^1.0.0", "performance-now": "^2.1.0", "permit": "^0.2.4", "prom-client": "^11.3.0", "proxy-agent": "^3.1.1", "querystringify": "^2.1.0", "react-helmet": "^5.2.1", "source-map-support": "^0.5.12", "stack-utils": "^1.0.2", "striptags": "^3.1.1", "throng": "^4.0.0", "tsscmp": "^1.0.6", "url-regex": "^5.0.0", "uuid": "^3.3.3", "verror": "^1.10.0" }, "devDependencies": { "@babel/core": "^7.4.5", "@babel/plugin-syntax-dynamic-import": "^7.2.0", "@babel/plugin-transform-modules-commonjs": "^7.4.4", "@babel/polyfill": "^7.4.4", "@babel/preset-env": "^7.4.5", "@babel/preset-react": "^7.0.0", "@babel/preset-typescript": "^7.3.3", "@coralproject/npm-run-all": "^4.1.5", "@coralproject/rte": "^0.11.0", "@intervolga/optimize-cssnano-plugin": "^1.0.6", "@types/agent-base": "^4.2.0", "@types/archiver": "^3.0.0", "@types/basic-auth": "^1.1.2", "@types/bcryptjs": "^2.4.1", "@types/bull": "^3.5.12", "@types/bunyan": "^1.8.4", "@types/case-sensitive-paths-webpack-plugin": "^2.1.2", "@types/cheerio": "^0.22.8", "@types/classnames": "^2.2.7", "@types/commander": "^2.12.2", "@types/common-tags": "^1.8.0", "@types/compression-webpack-plugin": "^2.0.0", "@types/consolidate": "0.0.34", "@types/convict": "^4.2.0", "@types/cookie": "^0.3.3", "@types/cookie-parser": "^1.4.1", "@types/cors": "^2.8.4", "@types/cron": "^1.7.1", "@types/cross-spawn": "^6.0.0", "@types/dompurify": "0.0.33", "@types/dotenv": "^4.0.3", "@types/enzyme": "^3.1.15", "@types/enzyme-adapter-react-16": "^1.0.3", "@types/eventemitter2": "^4.1.0", "@types/express": "^4.16.0", "@types/flat": "0.0.28", "@types/fs-extra": "^5.0.4", "@types/graphql": "^0.13.3", "@types/html-minifier": "^3.5.2", "@types/html-to-text": "^1.4.31", "@types/html-webpack-plugin": "^3.2.0", "@types/ioredis": "^4.0.10", "@types/jest": "^24.0.13", "@types/joi": "^13.0.8", "@types/jsdom": "^12.2.3", "@types/jsonwebtoken": "^7.2.7", "@types/linkifyjs": "^2.1.1", "@types/lodash": "^4.14.118", "@types/lru-cache": "^5.1.0", "@types/luxon": "^1.12.0", "@types/marked": "^0.6.0", "@types/mini-css-extract-plugin": "^0.2.0", "@types/mongodb": "^3.1.22", "@types/ms": "^0.7.30", "@types/node": "^10.5.2", "@types/node-fetch": "^2.5.3", "@types/nodemailer": "^4.6.2", "@types/nunjucks": "^3.1.1", "@types/object-diff": "0.0.0", "@types/on-finished": "^2.3.1", "@types/passport": "^0.4.6", "@types/passport-facebook": "^2.1.8", "@types/passport-local": "^1.0.33", "@types/passport-oauth2": "^1.4.5", "@types/passport-strategy": "^0.2.33", "@types/permit": "^0.2.1", "@types/prop-types": "^15.5.8", "@types/react": "^16.8.15", "@types/react-axe": "^3.1.0", "@types/react-copy-to-clipboard": "^4.2.6", "@types/react-dom": "^16.8.4", "@types/react-helmet": "^5.0.10", "@types/react-relay": "^1.3.14", "@types/react-responsive": "^3.0.1", "@types/react-test-renderer": "^16.8.1", "@types/react-transition-group": "^2.0.14", "@types/recompose": "^0.26.5", "@types/relay-runtime": "^1.3.12", "@types/sane": "^2.0.0", "@types/shallow-equals": "^1.0.0", "@types/simplemde": "^1.11.7", "@types/sinon": "^7.0.11", "@types/source-map-support": "^0.5.0", "@types/stack-utils": "^1.0.1", "@types/throng": "^4.0.2", "@types/uuid": "^3.4.4", "@types/verror": "^1.10.3", "@types/vinyl": "^2.0.2", "@types/webpack": "^4.4.31", "@types/webpack-assets-manifest": "^3.0.0", "@types/webpack-bundle-analyzer": "^2.13.1", "@types/webpack-dev-server": "^3.1.5", "@types/ws": "^5.1.2", "@typescript-eslint/eslint-plugin": "2.3.3", "@typescript-eslint/eslint-plugin-tslint": "2.3.3", "@typescript-eslint/parser": "2.3.3", "acorn": "^6.1.1", "ansi-styles": "^3.2.0", "autoprefixer": "^9.5.1", "babel-core": "^7.0.0-bridge.0", "babel-jest": "^24.8.0", "babel-loader": "^8.0.5", "babel-plugin-dynamic-import-node": "^2.2.0", "babel-plugin-lodash": "^3.3.4", "babel-plugin-module-resolver": "^3.2.0", "babel-plugin-relay": "^4.0.0", "babel-plugin-use-lodash-es": "^0.2.0", "babel-preset-react-optimize": "^1.0.1", "bowser": "^1.9.4", "case-sensitive-paths-webpack-plugin": "^2.2.0", "chalk": "^2.4.2", "chokidar": "^3.0.0", "classnames": "^2.2.6", "commander": "^2.20.0", "comment-json": "^1.1.3", "common-tags": "^1.8.0", "compression-webpack-plugin": "^2.0.0", "copy-webpack-plugin": "^5.0.3", "cross-spawn": "^6.0.5", "css-loader": "^1.0.1", "del": "^4.1.1", "doctoc": "^1.4.0", "docz": "^0.13.7", "docz-theme-default": "^0.13.7", "enzyme": "^3.9.0", "enzyme-adapter-react-16": "^1.12.1", "enzyme-to-json": "^3.3.5", "eslint": "^6.5.1", "eslint-config-prettier": "^6.3.0", "eslint-plugin-jsdoc": "^15.9.7", "eslint-plugin-jsx-a11y": "^6.2.3", "eslint-plugin-prettier": "^3.1.1", "eslint-plugin-react": "^7.15.1", "eventemitter2": "^5.0.1", "farce": "^0.2.6", "final-form": "4.11.0", "flat": "^4.1.0", "fluent-intl-polyfill": "^0.1.0", "fluent-langneg": "^0.1.1", "fluent-react": "^0.8.4", "fork-ts-checker-webpack-plugin": "^1.5.0", "found": "^0.4.0-alpha.17", "found-relay": "^0.4.0-alpha.8", "graphql-schema-linter": "^0.2.0", "graphql-schema-typescript": "^1.2.9", "gulp": "^4.0.2", "gulp-babel": "^8.0.0", "gulp-cli": "^2.2.0", "gulp-sourcemaps": "^2.6.5", "gulp-typescript": "^5.0.1", "html-webpack-plugin": "^4.0.0-beta.5", "husky": "^2.2.0", "intersection-observer": "^0.6.0", "jest": "^24.8.0", "jest-junit": "^6.4.0", "jest-localstorage-mock": "^2.4.0", "jest-mock-console": "^1.0.0", "lint-staged": "^8.1.6", "loader-utils": "^1.2.3", "lodash-es": "^4.17.14", "marked": "^0.7.0", "material-design-icons": "^3.0.1", "mini-css-extract-plugin": "^0.6.0", "object-diff": "0.0.4", "postcss-advanced-variables": "^3.0.0", "postcss-css-variables": "^0.11.0", "postcss-flexbugs-fixes": "^4.1.0", "postcss-font-magician": "^2.2.1", "postcss-import": "^11.1.0", "postcss-js": "^2.0.1", "postcss-loader": "^3.0.0", "postcss-mixins": "^6.2.1", "postcss-nested": "^4.1.1", "postcss-prepend-imports": "^1.0.1", "postcss-preset-env": "^6.5.0", "prettier": "^1.18.2", "prop-types": "^15.6.2", "pstree.remy": "^1.1.6", "pym.js": "^1.3.2", "raw-loader": "^0.5.1", "react": "^16.9.0-alpha.0", "react-axe": "^3.3.0", "react-copy-to-clipboard": "^5.0.1", "react-dev-utils": "^9.0.0", "react-dom": "^16.9.0-alpha.0", "react-error-overlay": "^5.1.6", "react-final-form": "4.0.2", "react-popper": "^1.3.2", "react-relay": "^4.0.0", "react-relay-network-modern": "^4.0.4", "react-responsive": "^7.0.0", "react-test-renderer": "^16.9.0-alpha.0", "react-timeago": "^4.1.9", "react-transition-group": "^2.9.0", "react-with-state-props": "^2.0.4", "recompose": "0.27.1", "relay-compiler": "^4.0.0", "relay-compiler-language-typescript": "^4.1.0", "relay-local-schema": "^0.8.0", "relay-runtime": "^4.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": "^7.3.2", "sockjs-client": "^1.3.0", "strip-ansi": "^5.2.0", "style-loader": "^0.23.1", "subscriptions-transport-ws": "^0.9.16", "terser-webpack-plugin": "^1.2.3", "thread-loader": "^2.1.2", "timekeeper": "^2.2.0", "ts-jest": "<23.10.0", "ts-loader": "^6.0.0", "ts-node": "^8.1.0", "ts-node-dev": "^1.0.0-pre.37", "tsconfig-paths": "^3.8.0", "tsconfig-paths-webpack-plugin": "^3.2.0", "tslint": "^5.20.0", "typed-css-modules": "^0.4.2", "typeface-manuale": "^0.0.71", "typeface-source-sans-pro": "^0.0.54", "typescript": "3.3.4000", "typescript-snapshots-plugin": "^1.6.0", "wait-for-expect": "^1.1.1", "webpack": "^4.30.0", "webpack-assets-manifest": "^3.1.1", "webpack-bundle-analyzer": "^3.3.2", "webpack-cli": "^3.3.2", "webpack-dev-server": "3.2.1", "whatwg-fetch": "^3.0.0" }, "husky": { "hooks": { "pre-commit": "FAST_LINT=true lint-staged" } }, "lint-staged": { "*.{j,t}s{,x}": [ "eslint" ], "src/core/server/graph/tenant/schema/schema.graphql": [ "graphql-schema-linter" ], "{src/core/client/stream/events.ts,scripts/generateEventDocs.ts,events.md}": [ "npm run docs:events -- --verify" ] }, "bundlesize": [ { "path": "./dist/static/assets/js/embed.js", "maxSize": "15 kB" } ], "graphql-schema-linter": { "rules": [ "types-are-capitalized" ] } }