84cb74e8b3
* each log line is a json object * structured logging allows logs to be ingested by machines and the logs to be indexed and queried addresses #1105 * structured logging allows arbitrary properties to be appended to each log line, and ingestion of logs to remain robust * Structured logging provided by `pino` library * Add `express-pino-logger` dependency * Remove `debug`, `morgan`, and `morgan-debug` and replace with structured logging * `console.log` & `console.error` replaced with structured logging in backend * Remove `DEBUG` environment variable and replace with `LOG_LEVEL` - Note that there is a test which reads from a logged line on `stdout`. This is not robust, it would be better to use the childProcess.pid to look up the port number. * Log errors at points we explicitly send error to Sentry * Amend indentation of a couple of log messages to align indentation with others
153 lines
4.9 KiB
JSON
153 lines
4.9 KiB
JSON
{
|
|
"name": "@speckle/server",
|
|
"version": "2.5.4",
|
|
"private": true,
|
|
"description": "",
|
|
"homepage": "https://github.com/specklesystems/server",
|
|
"author": "AEC Systems",
|
|
"license": "SEE LICENSE IN readme.md",
|
|
"main": "./bin/www",
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://github.com/specklesystems/Server.git"
|
|
},
|
|
"engines": {
|
|
"node": "^16.0.0"
|
|
},
|
|
"scripts": {
|
|
"build": "tsc -p ./tsconfig.build.json",
|
|
"build:watch": "tsc -p ./tsconfig.build.json -w",
|
|
"run:watch": "cross-env NODE_ENV=development nodemon ./bin/www --watch ./dist --watch ./assets --watch ./bin/www -e js,ts,graphql,env,gql",
|
|
"dev": "concurrently -r \"npm:build:watch\" \"npm:run:watch\"",
|
|
"dev:server:test": "cross-env DISABLE_NOTIFICATIONS_CONSUMPTION=true NODE_ENV=test node ./bin/ts-www",
|
|
"test": "cross-env NODE_ENV=test mocha",
|
|
"test:coverage": "cross-env NODE_ENV=test nyc --reporter lcov mocha",
|
|
"test:report": "yarn test:coverage -- --reporter mocha-junit-reporter --reporter-options mochaFile=reports/test-results.xml",
|
|
"lint": "eslint . --ext .js,.ts",
|
|
"lint:tsc": "tsc --noEmit",
|
|
"cli": "cross-env NODE_ENV=development ts-node ./modules/cli/index.js",
|
|
"migrate": "yarn cli db migrate",
|
|
"migrate:test": "cross-env NODE_ENV=test ts-node ./modules/cli/index.js db migrate",
|
|
"gqlgen": "graphql-codegen --config codegen.yml"
|
|
},
|
|
"dependencies": {
|
|
"@aws-sdk/client-s3": "^3.100.0",
|
|
"@aws-sdk/lib-storage": "^3.100.0",
|
|
"@godaddy/terminus": "^4.9.0",
|
|
"@graphql-tools/schema": "^9.0.4",
|
|
"@sentry/node": "^6.17.9",
|
|
"@sentry/tracing": "^6.17.9",
|
|
"@speckle/shared": "workspace:^",
|
|
"@types/express-pino-logger": "^4.0.3",
|
|
"apollo-server-express": "^3.10.2",
|
|
"bcrypt": "^5.0.0",
|
|
"bull": "^4.8.5",
|
|
"busboy": "^1.4.0",
|
|
"compression": "^1.7.4",
|
|
"connect-redis": "^6.1.1",
|
|
"cors": "^2.8.5",
|
|
"crypto-random-string": "^3.2.0",
|
|
"dataloader": "^2.0.0",
|
|
"dayjs": "^1.11.5",
|
|
"dotenv": "^8.2.0",
|
|
"ejs": "^3.1.8",
|
|
"eventemitter2": "^6.4.7",
|
|
"express": "^4.17.3",
|
|
"express-async-errors": "^3.1.1",
|
|
"express-pino-logger": "^7.0.0",
|
|
"express-session": "^1.17.1",
|
|
"graphql": "^15",
|
|
"graphql-redis-subscriptions": "^2.2.2",
|
|
"graphql-scalars": "^1.18.0",
|
|
"graphql-subscriptions": "^2.0.0",
|
|
"ioredis": "^5.2.2",
|
|
"knex": "^2.0.0",
|
|
"lodash": "^4.17.21",
|
|
"mjml": "^4.13.0",
|
|
"module-alias": "^2.2.2",
|
|
"node-cron": "^3.0.2",
|
|
"node-machine-id": "^1.1.12",
|
|
"nodemailer": "^6.5.0",
|
|
"passport": "^0.4.1",
|
|
"passport-azure-ad": "^4.3.0",
|
|
"passport-github2": "^0.1.12",
|
|
"passport-google-oauth2": "^0.2.0",
|
|
"passport-google-oauth20": "^2.0.0",
|
|
"pg": "^8.7.3",
|
|
"pg-query-stream": "^4.2.3",
|
|
"pino": "^8.7.0",
|
|
"prom-client": "^14.0.1",
|
|
"redis": "^3.1.1",
|
|
"request": "^2.88.2",
|
|
"response-time": "^2.3.2",
|
|
"sanitize-html": "^2.7.0",
|
|
"sharp": "^0.29.3",
|
|
"string-pixel-width": "^1.10.0",
|
|
"subscriptions-transport-ws": "^0.11.0",
|
|
"undici": "^5.8.2",
|
|
"verror": "^1.10.1",
|
|
"xml-escape": "^1.1.0",
|
|
"zxcvbn": "^4.4.2"
|
|
},
|
|
"devDependencies": {
|
|
"@apollo/client": "^3.7.0",
|
|
"@bull-board/express": "^4.2.2",
|
|
"@faker-js/faker": "^7.1.0",
|
|
"@graphql-codegen/cli": "2.11.3",
|
|
"@graphql-codegen/typescript": "2.7.2",
|
|
"@graphql-codegen/typescript-operations": "^2.5.2",
|
|
"@graphql-codegen/typescript-resolvers": "2.7.2",
|
|
"@speckle/objectloader": "workspace:^",
|
|
"@swc/core": "^1.2.222",
|
|
"@tiptap/core": "^2.0.0-beta.176",
|
|
"@types/bull": "^3.15.9",
|
|
"@types/compression": "^1.7.2",
|
|
"@types/debug": "^4.1.7",
|
|
"@types/deep-equal-in-any-order": "^1.0.1",
|
|
"@types/ejs": "^3.1.1",
|
|
"@types/express": "^4.17.13",
|
|
"@types/lodash": "^4.14.180",
|
|
"@types/mjml": "^4.7.0",
|
|
"@types/mocha": "^10.0.0",
|
|
"@types/mock-require": "^2.0.1",
|
|
"@types/module-alias": "^2.0.1",
|
|
"@types/node-cron": "^3.0.2",
|
|
"@types/nodemailer": "^6.4.5",
|
|
"@types/sanitize-html": "^2.6.2",
|
|
"@types/supertest": "^2.0.12",
|
|
"@types/verror": "^1.10.6",
|
|
"@types/yargs": "^17.0.10",
|
|
"@types/zxcvbn": "^4.4.1",
|
|
"@typescript-eslint/eslint-plugin": "^5.39.0",
|
|
"@typescript-eslint/parser": "^5.39.0",
|
|
"axios": "^0.25.0",
|
|
"chai": "^4.2.0",
|
|
"chai-http": "^4.3.0",
|
|
"concurrently": "^7.0.0",
|
|
"cross-env": "^7.0.3",
|
|
"cross-fetch": "^3.1.5",
|
|
"deep-equal-in-any-order": "^1.1.15",
|
|
"eslint": "^8.11.0",
|
|
"eslint-config-prettier": "^8.5.0",
|
|
"http-proxy-middleware": "^1.0.6",
|
|
"mocha": "^10.1.0",
|
|
"mocha-junit-reporter": "^2.0.2",
|
|
"mock-require": "^3.0.3",
|
|
"nodemon": "^2.0.6",
|
|
"nyc": "^15.0.1",
|
|
"prettier": "^2.5.1",
|
|
"supertest": "^4.0.2",
|
|
"ts-node": "^10.9.1",
|
|
"tsconfig-paths": "^4.0.0",
|
|
"type-fest": "^2.19.0",
|
|
"typescript": "^4.6.4",
|
|
"ws": "^7.5.7",
|
|
"yargs": "^17.3.1"
|
|
},
|
|
"config": {
|
|
"commitizen": {
|
|
"path": "./node_modules/cz-conventional-changelog"
|
|
}
|
|
}
|
|
}
|