Mirror of https://github.com/roostorg/coop
github.com/roostorg/coop
1{
2 "name": "server",
3 "version": "1.0.0",
4 "description": "",
5 "type": "module",
6 "scripts": {
7 "build": "tsc && npm run copy-assets",
8 "copy-assets": "copyfiles \"lib/**/*.lua\" transpiled/",
9 "start": "tsc-watch --onSuccess \"node --trace-warnings --require dotenv/config ./transpiled/bin/www.js\"",
10 "start:trace": "tsc-watch --onSuccess \"node --trace-warnings --require dotenv/config --require ../nodejs-instrumentation/transpiled/autoinstrumentation.js ./transpiled/bin/www.js\"",
11 "test": "npm run test:local",
12 "test:local": "NODE_OPTIONS=\"--no-warnings --loader ts-node/esm --require dotenv/config\" jest --watch --detectOpenHandles",
13 "test:prepush": "NODE_OPTIONS=\"--no-warnings --loader ts-node/esm --require dotenv/config\" jest --detectOpenHandles --no-cache --forceExit",
14 "test:ci": "NODE_OPTIONS=\"--loader ts-node/esm\" jest --ci --reporters=default --silent=false --reporters=jest-junit --no-cache --forceExit --runInBand",
15 "test:integ": "NODE_OPTIONS=\"--loader ts-node/esm\" jest --ci --reporters=default --silent=false --reporters=jest-junit --detectOpenHandles --no-cache --forceExit --config jest.integ.config.cjs",
16 "typecheck": "tsc --noEmit",
17 "check:prepush": "npm run typecheck && npm run test:prepush",
18 "lint": "eslint \"./**/*.{ts,tsx,js}\"",
19 "runWorkerOrJob": "node --loader ts-node/esm --require dotenv/config bin/run-worker-or-job.ts",
20 "create-org": "node --loader ts-node/esm --require dotenv/config bin/create-org-and-user.ts",
21 "get-invite": "node --loader ts-node/esm --require dotenv/config bin/get-invite-token.ts"
22 },
23 "author": "Roostorg",
24 "license": "ISC",
25 "dependencies": {
26 "@apollo/server": "^5.5.0",
27 "@as-integrations/express5": "^1.1.2",
28 "@aws-sdk/client-s3": "^3.1017.0",
29 "@aws-sdk/client-secrets-manager": "^3.1017.0",
30 "@aws-sdk/client-ses": "^3.1017.0",
31 "@clickhouse/client": "^1.13.0",
32 "@ethanresnick/bottlejs": "^2.0.4",
33 "@google-cloud/translate": "^9.3.0",
34 "@googlemaps/google-maps-services-js": "^3.3.16",
35 "@graphql-tools/merge": "^8.2.10",
36 "@graphql-tools/schema": "^8.5.1",
37 "@graphql-tools/utils": "^9.2.1",
38 "@node-saml/passport-saml": "^5.1.0",
39 "@opentelemetry/api": "^1.8.0",
40 "@opentelemetry/semantic-conventions": "^1.22.0",
41 "@roostorg/coop-integration-example": "^2.0.0",
42 "@roostorg/types": "^2.0.0",
43 "@sendgrid/mail": "^8.1.6",
44 "@stdlib/stats-binomial-test": "^0.0.7",
45 "@total-typescript/ts-reset": "^0.3.7",
46 "@types/bcryptjs": "^2.4.2",
47 "@types/connect-pg-simple": "^7.0.0",
48 "@types/cookie-parser": "^1.4.2",
49 "@types/debug": "^4.1.5",
50 "@types/express": "^5.0.3",
51 "@types/express-session": "^1.17.4",
52 "@types/jsonwebtoken": "^9.0.10",
53 "@types/lodash": "^4.14.179",
54 "@types/morgan": "^1.9.3",
55 "@types/node": "^18.11.9",
56 "@types/passport": "^1.0.7",
57 "@types/pg-cursor": "^2.7.0",
58 "@types/validator": "^13.7.0",
59 "@types/yargs": "^17.0.32",
60 "ajv": "^8.18.0",
61 "ajv-draft-04": "^1.0.0",
62 "bcryptjs": "^2.4.3",
63 "bullmq": "^5.0.0",
64 "cassandra-driver": "^4.8.0",
65 "cls-hooked": "^4.2.2",
66 "connect-pg-simple": "^7.0.0",
67 "cors": "^2.8.5",
68 "dataloader": "^2.1.0",
69 "date-fns": "^2.30.0",
70 "eslint-plugin-switch-statement": "^0.0.11",
71 "express": "^5.1.0",
72 "express-session": "^1.17.2",
73 "fast-check": "^4.6.0",
74 "form-data": "^4.0.0",
75 "form-data-encoder": "^4.0.2",
76 "formdata-node": "^6.0.3",
77 "fuzzball": "^2.1.2",
78 "generic-pool": "^3.8.2",
79 "graphql": "^16.13.2",
80 "graphql-depth-limit": "^1.1.0",
81 "graphql-passport": "^0.6.4",
82 "graphql-scalars": "^1.19.0",
83 "helmet": "^8.1.0",
84 "ioredis": "^5.2.4",
85 "jsonwebtoken": "^9.0.3",
86 "kysely": "^0.28.16",
87 "latlon-geohash": "^2.0.0",
88 "lodash": "^4.18.1",
89 "lru_map": "^0.4.1",
90 "node-worker-threads-pool": "^1.5.1",
91 "normalize-text": "^2.4.1",
92 "openai": "^4.24.0",
93 "p-limit": "^4.0.0",
94 "passport": "^0.7.0",
95 "pg": "^8.8.0",
96 "pg-cursor": "^2.7.4",
97 "pipeline-segment": "^0.0.6",
98 "safe-stable-stringify": "^2.4.2",
99 "sequelize": "^6.37.8",
100 "size-limited-map": "^2.0.0",
101 "stream-json": "^1.8.0",
102 "stream-to-async-iterator": "^1.0.0",
103 "stream-to-blob": "^2.0.1",
104 "ts-pattern": "^5.0.5",
105 "type-fest": "^4.3.2",
106 "uid": "^2.0.1",
107 "undici": "^7.24.0",
108 "unhomoglyph": "^1.0.6",
109 "uuid": "^14.0.0",
110 "uuid-apikey": "^1.5.3",
111 "validator": "^13.15.35",
112 "xml-js": "^1.6.11",
113 "yargs": "^17.7.2"
114 },
115 "devDependencies": {
116 "@eslint/compat": "^2.0.3",
117 "@eslint/eslintrc": "^3.3.5",
118 "@eslint/js": "^9.39.4",
119 "@faker-js/faker": "^7.5.0",
120 "@types/cls-hooked": "^4.3.3",
121 "@types/cors": "^2.8.19",
122 "@types/express-serve-static-core": "^5.1.1",
123 "@types/graphql-depth-limit": "^1.1.6",
124 "@types/jest": "^29.2.4",
125 "@types/js-yaml": "^4.0.5",
126 "@types/stream-json": "^1.7.7",
127 "@types/supertest": "^2.0.11",
128 "@typescript-eslint/eslint-plugin": "^8.57.2",
129 "@typescript-eslint/parser": "^8.57.2",
130 "copyfiles": "^2.4.1",
131 "dotenv": "^10.0.0",
132 "eslint": "^9.39.4",
133 "eslint-import-resolver-typescript": "^3.6.0",
134 "eslint-plugin-functional": "^9.0.4",
135 "eslint-plugin-import": "^2.28.1",
136 "eslint-plugin-jsdoc": "^62.5.4",
137 "eslint-plugin-node": "^11.1.0",
138 "eslint-plugin-promise": "^7.2.1",
139 "eslint-plugin-security": "^1.7.1",
140 "jest": "^29.3.1",
141 "jest-junit": "^16.0.0",
142 "jest-light-runner": "^0.4.1",
143 "js-yaml": "^4.1.0",
144 "jsonpath-plus": "^10.4.0",
145 "supertest": "^6.2.2",
146 "ts-node": "^10.9.1",
147 "tsc-watch": "^4.6.0",
148 "typescript": "^5.5.2",
149 "typescript-eslint": "^8.57.2"
150 },
151 "jest-junit": {
152 "outputDirectory": "reports",
153 "outputName": "jest-junit.xml",
154 "ancestorSeparator": " › ",
155 "uniqueOutputName": "false",
156 "suiteNameTemplate": "{filepath}",
157 "classNameTemplate": "{classname}",
158 "titleTemplate": "{title}"
159 },
160 "//": "Use an override to remove the @types/restify dependency, b/c it conflicts w/ pino-http. And a fork of retry-axios that has fixed type defs for TS's new module resolution algorithm. Also pin @types/express to v5 across the dep tree so transitive deps (e.g. @node-saml/passport-saml) don't drag in v4 types alongside our v5 types.",
161 "overrides": {
162 "@types/restify": "npm:pino@8.6.0",
163 "@types/express": "$@types/express",
164 "@googlemaps/google-maps-services-js@^3.3.16": {
165 "retry-axios": "npm:@ethanresnick/retry-axios@2.6.1"
166 },
167 "uuid": "^14.0.0",
168 "fast-xml-parser": "^5.7.0"
169 }
170}