{ "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": "^18.19.0" }, "scripts": { "build": "tsc -p ./tsconfig.build.json", "build:watch": "tsc -p ./tsconfig.build.json -w", "run:watch": "cross-env NODE_ENV=development LOG_PRETTY=true nodemon ./bin/www --watch ./dist --watch ./assets --watch ./bin/www --watch .env -e js,ts,graphql,env,gql", "dev": "concurrently \"npm:build:watch\" \"npm:run:watch\" \"yarn gqlgen:watch\" -n tsc,server,gqlgen", "build:clean": "rimraf ./dist && yarn build", "dev:clean": "yarn build:clean && yarn dev", "dev:server:test": "cross-env DISABLE_NOTIFICATIONS_CONSUMPTION=true NODE_ENV=test LOG_LEVEL=silent LOG_PRETTY=true node ./bin/ts-www", "test": "cross-env NODE_ENV=test LOG_LEVEL=silent LOG_PRETTY=true mocha", "test:coverage": "cross-env NODE_ENV=test LOG_LEVEL=silent LOG_PRETTY=true nyc --reporter lcov mocha", "test:report": "yarn test:coverage -- --reporter mocha-junit-reporter --reporter-options mochaFile=reports/test-results.xml", "lint": "yarn lint:tsc && yarn lint:eslint", "lint:ci": "yarn lint:tsc", "lint:tsc": "tsc --noEmit", "lint:eslint": "eslint .", "cli": "cross-env LOG_LEVEL=debug LOG_PRETTY=true NODE_ENV=development ts-node ./modules/cli/index.js", "cli:download:commit": "cross-env LOG_PRETTY=true LOG_LEVEL=debug yarn cli download commit", "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", "gqlgen:watch": "graphql-codegen --config codegen.yml --watch \"assets/**/*.graphql\"" }, "dependencies": { "@apollo/client": "^3.7.0", "@apollo/server": "^4.11.0", "@aws-sdk/client-s3": "^3.276.0", "@aws-sdk/lib-storage": "^3.100.0", "@godaddy/terminus": "^4.9.0", "@graphql-tools/mock": "^9.0.4", "@graphql-tools/schema": "^10.0.6", "@mailchimp/mailchimp_marketing": "^3.0.80", "@speckle/objectloader": "workspace:^", "@speckle/shared": "workspace:^", "ajv": "^8.12.0", "bcrypt": "^5.0.0", "bull": "^4.8.5", "busboy": "^1.4.0", "compression": "^1.7.4", "connect-redis": "^6.1.1", "cookie-parser": "^1.4.6", "cors": "^2.8.5", "cross-fetch": "^3.1.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.20.0", "express-async-errors": "^3.1.1", "express-prom-bundle": "^6.6.0", "express-session": "^1.17.1", "graphql": "^16.6.0", "graphql-redis-subscriptions": "^2.2.2", "graphql-scalars": "^1.18.0", "graphql-subscriptions": "^2.0.0", "graphql-tag": "^2.12.6", "ioredis": "^5.2.2", "jose": "^5.6.3", "knex": "^2.4.1", "libsodium-wrappers": "^0.7.13", "lodash": "^4.17.21", "mixpanel": "^0.17.0", "mjml": "^4.13.0", "mjml-bullet-list": "^1.2.2", "module-alias": "^2.2.2", "netmask": "^2.0.2", "node-cron": "^3.0.2", "node-machine-id": "^1.1.12", "nodemailer": "^6.5.0", "openid-client": "^5.1.7", "passport": "^0.6.0", "passport-azure-ad": "^4.3.4", "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", "pino-http": "^8.6.1", "pino-pretty": "^9.1.1", "prom-client": "^14.0.1", "rate-limiter-flexible": "^2.4.1", "request": "^2.88.2", "response-time": "^2.3.2", "sanitize-html": "^2.7.1", "sharp": "^0.32.6", "string-pixel-width": "^1.10.0", "subscriptions-transport-ws": "^0.11.0", "ua-parser-js": "^1.0.38", "undici": "^5.28.4", "verror": "^1.10.1", "xml-escape": "^1.1.0", "znv": "^0.4.0", "zod": "^3.22.4", "zod-express": "^0.0.8", "zod-validation-error": "^1.5.0", "zxcvbn": "^4.4.2" }, "devDependencies": { "@apollo/rover": "^0.23.0", "@bull-board/express": "^4.2.2", "@faker-js/faker": "^8.4.1", "@graphql-codegen/cli": "^5.0.2", "@graphql-codegen/typed-document-node": "^5.0.7", "@graphql-codegen/typescript": "^4.0.7", "@graphql-codegen/typescript-operations": "^4.2.1", "@graphql-codegen/typescript-resolvers": "^4.1.0", "@parcel/watcher": "^2.4.1", "@swc/core": "^1.2.222", "@tiptap/core": "^2.0.0-beta.176", "@types/bcrypt": "^5.0.0", "@types/bull": "^3.15.9", "@types/busboy": "^1.5.4", "@types/chai-as-promised": "^7.1.8", "@types/compression": "^1.7.2", "@types/connect-redis": "^0.0.23", "@types/cookie-parser": "^1.4.7", "@types/cors": "^2.8.17", "@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/ioredis-mock": "^8.2.5", "@types/libsodium-wrappers": "^0", "@types/lodash": "^4.14.180", "@types/mailchimp__mailchimp_marketing": "^3.0.9", "@types/mjml": "^4.7.0", "@types/mocha": "^10.0.0", "@types/mock-require": "^2.0.1", "@types/module-alias": "^2.0.1", "@types/netmask": "^2.0.0", "@types/node-cron": "^3.0.2", "@types/nodemailer": "^6.4.5", "@types/passport": "^1.0.16", "@types/passport-azure-ad": "^4.3.6", "@types/passport-github2": "^1.2.9", "@types/passport-google-oauth20": "^2.0.16", "@types/pg": "^8.6.6", "@types/pino-http": "^5.8.4", "@types/request": "^2.48.12", "@types/sanitize-html": "^2.6.2", "@types/string-pixel-width": "^1.10.3", "@types/supertest": "^2.0.12", "@types/ua-parser-js": "^0.7.39", "@types/uuid": "^9.0.0", "@types/verror": "^1.10.6", "@types/xml-escape": "^1.1.3", "@types/yargs": "^17.0.10", "@types/zxcvbn": "^4.4.1", "@typescript-eslint/eslint-plugin": "^5.39.0", "@typescript-eslint/parser": "^5.39.0", "axios": "^1.7.4", "chai": "^4.2.0", "chai-as-promised": "^7.1.2", "chai-http": "^4.3.0", "concurrently": "^7.0.0", "cross-env": "^7.0.3", "deep-equal-in-any-order": "^1.1.15", "enforce-unique": "^1.3.0", "eslint": "^8.11.0", "eslint-config-prettier": "^8.5.0", "http-proxy-middleware": "v3.0.0-beta.0", "ioredis-mock": "^8.9.0", "mocha": "^10.1.0", "mocha-junit-reporter": "^2.0.2", "mock-require": "^3.0.3", "node-mocks-http": "^1.12.1", "nodemon": "^2.0.20", "nyc": "^15.0.1", "prettier": "^2.5.1", "rimraf": "^5.0.7", "supertest": "^4.0.2", "ts-node": "^10.9.1", "tsconfig-paths": "^4.0.0", "type-fest": "^2.19.0", "typescript": "^4.6.4", "typescript-eslint": "^7.12.0", "ws": "^8.17.1", "yargs": "^17.3.1" }, "config": { "commitizen": { "path": "./node_modules/cz-conventional-changelog" } } }