diff --git a/.eslintrc.cjs b/.eslintrc.cjs index 0d53840..05b00a2 100644 --- a/.eslintrc.cjs +++ b/.eslintrc.cjs @@ -1,21 +1,19 @@ /* eslint-env node */ module.exports = { - parser: '@typescript-eslint/parser', - plugins: ["@typescript-eslint"], - overrides: [ - { - files: ['*.ts', '*.tsx'], - extends: [ - 'plugin:@typescript-eslint/recommended', - 'plugin:@typescript-eslint/recommended-requiring-type-checking', - ], - - parserOptions: { - project: ['./tsconfig.json'], // Specify it only for TypeScript files - }, - }, + parserOptions: { + parser: '@typescript-eslint/parser', + sourceType: 'module', + tsconfigRootDir: __dirname, + project: 'tsconfig.json', + }, + plugins: ['@typescript-eslint/eslint-plugin'], + extends: [ + 'eslint:recommended', + 'plugin:@typescript-eslint/recommended-type-checked', + 'plugin:@typescript-eslint/stylistic-type-checked', ], - "rules": { + ignorePatterns: ['node_modules', 'dist'], + rules: { "@typescript-eslint/no-explicit-any": "warn" } -} \ No newline at end of file +}; \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 5f833f6..0db1125 100644 --- a/package-lock.json +++ b/package-lock.json @@ -35,10 +35,10 @@ "@types/cors": "^2.8.13", "@types/express": "^4.17.17", "@types/node": "^20.4.5", - "@typescript-eslint/eslint-plugin": "^6.2.0", - "@typescript-eslint/parser": "^6.2.0", + "@typescript-eslint/eslint-plugin": "^6.2.1", + "@typescript-eslint/parser": "^6.2.1", "concurrently": "^8.2.0", - "eslint": "^8.45.0", + "eslint": "^8.46.0", "nodemon": "^3.0.1", "prisma": "^5.0.0", "rollup": "^3.26.2", @@ -115,9 +115,9 @@ } }, "node_modules/@eslint/eslintrc": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.0.tgz", - "integrity": "sha512-Lj7DECXqIVCqnqjjHMPna4vn6GJcMgul/wuS0je9OZ9gsL0zzDpKPVtcG1HaDVc+9y+qgXneTeUMbCqXJNpH1A==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.1.tgz", + "integrity": "sha512-9t7ZA7NGGK8ckelF0PQCfcxIUzs1Md5rrO6U/c+FIQNanea5UZC0wqKXH4vHBccmu4ZJgZ2idtPeW7+Q2npOEA==", "dev": true, "dependencies": { "ajv": "^6.12.4", @@ -161,9 +161,9 @@ "dev": true }, "node_modules/@eslint/js": { - "version": "8.44.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.44.0.tgz", - "integrity": "sha512-Ag+9YM4ocKQx9AarydN0KY2j0ErMHNIocPDrVo8zAE44xLTjEtz81OdR68/cydGtk6m6jDb5Za3r2useMzYmSw==", + "version": "8.46.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.46.0.tgz", + "integrity": "sha512-a8TLtmPi8xzPkCbp/OGFUo5yhRkHM2Ko9kOWP4znJr0WAhWyThaw3PnwX4vOTWOAMsV2uRt32PPDcEz63esSaA==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -949,16 +949,16 @@ } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.2.0.tgz", - "integrity": "sha512-rClGrMuyS/3j0ETa1Ui7s6GkLhfZGKZL3ZrChLeAiACBE/tRc1wq8SNZESUuluxhLj9FkUefRs2l6bCIArWBiQ==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.2.1.tgz", + "integrity": "sha512-iZVM/ALid9kO0+I81pnp1xmYiFyqibAHzrqX4q5YvvVEyJqY+e6rfTXSCsc2jUxGNqJqTfFSSij/NFkZBiBzLw==", "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.2.0", - "@typescript-eslint/type-utils": "6.2.0", - "@typescript-eslint/utils": "6.2.0", - "@typescript-eslint/visitor-keys": "6.2.0", + "@typescript-eslint/scope-manager": "6.2.1", + "@typescript-eslint/type-utils": "6.2.1", + "@typescript-eslint/utils": "6.2.1", + "@typescript-eslint/visitor-keys": "6.2.1", "debug": "^4.3.4", "graphemer": "^1.4.0", "ignore": "^5.2.4", @@ -1008,15 +1008,15 @@ "dev": true }, "node_modules/@typescript-eslint/parser": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.2.0.tgz", - "integrity": "sha512-igVYOqtiK/UsvKAmmloQAruAdUHihsOCvplJpplPZ+3h4aDkC/UKZZNKgB6h93ayuYLuEymU3h8nF1xMRbh37g==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.2.1.tgz", + "integrity": "sha512-Ld+uL1kYFU8e6btqBFpsHkwQ35rw30IWpdQxgOqOh4NfxSDH6uCkah1ks8R/RgQqI5hHPXMaLy9fbFseIe+dIg==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "6.2.0", - "@typescript-eslint/types": "6.2.0", - "@typescript-eslint/typescript-estree": "6.2.0", - "@typescript-eslint/visitor-keys": "6.2.0", + "@typescript-eslint/scope-manager": "6.2.1", + "@typescript-eslint/types": "6.2.1", + "@typescript-eslint/typescript-estree": "6.2.1", + "@typescript-eslint/visitor-keys": "6.2.1", "debug": "^4.3.4" }, "engines": { @@ -1059,13 +1059,13 @@ "dev": true }, "node_modules/@typescript-eslint/scope-manager": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.2.0.tgz", - "integrity": "sha512-1ZMNVgm5nnHURU8ZSJ3snsHzpFeNK84rdZjluEVBGNu7jDymfqceB3kdIZ6A4xCfEFFhRIB6rF8q/JIqJd2R0Q==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.2.1.tgz", + "integrity": "sha512-UCqBF9WFqv64xNsIEPfBtenbfodPXsJ3nPAr55mGPkQIkiQvgoWNo+astj9ZUfJfVKiYgAZDMnM6dIpsxUMp3Q==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.2.0", - "@typescript-eslint/visitor-keys": "6.2.0" + "@typescript-eslint/types": "6.2.1", + "@typescript-eslint/visitor-keys": "6.2.1" }, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -1076,13 +1076,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.2.0.tgz", - "integrity": "sha512-DnGZuNU2JN3AYwddYIqrVkYW0uUQdv0AY+kz2M25euVNlujcN2u+rJgfJsBFlUEzBB6OQkUqSZPyuTLf2bP5mw==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.2.1.tgz", + "integrity": "sha512-fTfCgomBMIgu2Dh2Or3gMYgoNAnQm3RLtRp+jP7A8fY+LJ2+9PNpi5p6QB5C4RSP+U3cjI0vDlI3mspAkpPVbQ==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "6.2.0", - "@typescript-eslint/utils": "6.2.0", + "@typescript-eslint/typescript-estree": "6.2.1", + "@typescript-eslint/utils": "6.2.1", "debug": "^4.3.4", "ts-api-utils": "^1.0.1" }, @@ -1126,9 +1126,9 @@ "dev": true }, "node_modules/@typescript-eslint/types": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.2.0.tgz", - "integrity": "sha512-1nRRaDlp/XYJQLvkQJG5F3uBTno5SHPT7XVcJ5n1/k2WfNI28nJsvLakxwZRNY5spuatEKO7d5nZWsQpkqXwBA==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.2.1.tgz", + "integrity": "sha512-528bGcoelrpw+sETlyM91k51Arl2ajbNT9L4JwoXE2dvRe1yd8Q64E4OL7vHYw31mlnVsf+BeeLyAZUEQtqahQ==", "dev": true, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -1139,13 +1139,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.2.0.tgz", - "integrity": "sha512-Mts6+3HQMSM+LZCglsc2yMIny37IhUgp1Qe8yJUYVyO6rHP7/vN0vajKu3JvHCBIy8TSiKddJ/Zwu80jhnGj1w==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.2.1.tgz", + "integrity": "sha512-G+UJeQx9AKBHRQBpmvr8T/3K5bJa485eu+4tQBxFq0KoT22+jJyzo1B50JDT9QdC1DEmWQfdKsa8ybiNWYsi0Q==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.2.0", - "@typescript-eslint/visitor-keys": "6.2.0", + "@typescript-eslint/types": "6.2.1", + "@typescript-eslint/visitor-keys": "6.2.1", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -1189,17 +1189,17 @@ "dev": true }, "node_modules/@typescript-eslint/utils": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.2.0.tgz", - "integrity": "sha512-RCFrC1lXiX1qEZN8LmLrxYRhOkElEsPKTVSNout8DMzf8PeWoQG7Rxz2SadpJa3VSh5oYKGwt7j7X/VRg+Y3OQ==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.2.1.tgz", + "integrity": "sha512-eBIXQeupYmxVB6S7x+B9SdBeB6qIdXKjgQBge2J+Ouv8h9Cxm5dHf/gfAZA6dkMaag+03HdbVInuXMmqFB/lKQ==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "@types/json-schema": "^7.0.12", "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.2.0", - "@typescript-eslint/types": "6.2.0", - "@typescript-eslint/typescript-estree": "6.2.0", + "@typescript-eslint/scope-manager": "6.2.1", + "@typescript-eslint/types": "6.2.1", + "@typescript-eslint/typescript-estree": "6.2.1", "semver": "^7.5.4" }, "engines": { @@ -1214,12 +1214,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.2.0.tgz", - "integrity": "sha512-QbaYUQVKKo9bgCzpjz45llCfwakyoxHetIy8CAvYCtd16Zu1KrpzNHofwF8kGkpPOxZB2o6kz+0nqH8ZkIzuoQ==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.2.1.tgz", + "integrity": "sha512-iTN6w3k2JEZ7cyVdZJTVJx2Lv7t6zFA8DCrJEHD2mwfc16AEvvBWVhbFh34XyG2NORCd0viIgQY1+u7kPI0WpA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.2.0", + "@typescript-eslint/types": "6.2.1", "eslint-visitor-keys": "^3.4.1" }, "engines": { @@ -2053,27 +2053,27 @@ } }, "node_modules/eslint": { - "version": "8.45.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.45.0.tgz", - "integrity": "sha512-pd8KSxiQpdYRfYa9Wufvdoct3ZPQQuVuU5O6scNgMuOMYuxvH0IGaYK0wUFjo4UYYQQCUndlXiMbnxopwvvTiw==", + "version": "8.46.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.46.0.tgz", + "integrity": "sha512-cIO74PvbW0qU8e0mIvk5IV3ToWdCq5FYG6gWPHHkx6gNdjlbAYvtfHmlCMXxjcoVaIdwy/IAt3+mDkZkfvb2Dg==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.4.0", - "@eslint/eslintrc": "^2.1.0", - "@eslint/js": "8.44.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.1", + "@eslint/js": "^8.46.0", "@humanwhocodes/config-array": "^0.11.10", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.10.0", + "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", "debug": "^4.3.2", "doctrine": "^3.0.0", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.0", - "eslint-visitor-keys": "^3.4.1", - "espree": "^9.6.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.2", + "espree": "^9.6.1", "esquery": "^1.4.2", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", @@ -2107,9 +2107,9 @@ } }, "node_modules/eslint-scope": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.1.tgz", - "integrity": "sha512-CvefSOsDdaYYvxChovdrPo/ZGt8d5lrJWleAc1diXRKhHGiTYEI26cvo8Kle/wGnsizoCJjK73FMg1/IkIwiNA==", + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dev": true, "dependencies": { "esrecurse": "^4.3.0", @@ -2123,9 +2123,9 @@ } }, "node_modules/eslint-visitor-keys": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", - "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.2.tgz", + "integrity": "sha512-8drBzUEyZ2llkpCA67iYrgEssKDUu68V8ChqqOfFupIaG/LCVPUT+CoGJpT77zJprs4T/W7p07LP7zAIMuweVw==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" diff --git a/package.json b/package.json index 9b2a0ca..be6ef95 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,8 @@ "start": "node dist/server.cjs", "watch": "rollup --config rollup.config.mjs --watch", "serve": "nodemon -q dist/server.jcs", - "dev": "concurrently \"npm run watch\" \"npm run serve\"" + "dev": "concurrently \"npm run watch\" \"npm run serve\"", + "lint": "eslint ." }, "engines": { "node": "18.x.x" @@ -47,10 +48,10 @@ "@types/cors": "^2.8.13", "@types/express": "^4.17.17", "@types/node": "^20.4.5", - "@typescript-eslint/eslint-plugin": "^6.2.0", - "@typescript-eslint/parser": "^6.2.0", + "@typescript-eslint/eslint-plugin": "^6.2.1", + "@typescript-eslint/parser": "^6.2.1", "concurrently": "^8.2.0", - "eslint": "^8.45.0", + "eslint": "^8.46.0", "nodemon": "^3.0.1", "prisma": "^5.0.0", "rollup": "^3.26.2", diff --git a/prisma/seed.js b/prisma/seed.js deleted file mode 100644 index da5318c..0000000 --- a/prisma/seed.js +++ /dev/null @@ -1,45 +0,0 @@ -import { PrismaClient } from '@prisma/client'; -import { genId } from 'discreetly-interfaces'; -import { generateClaimCodes } from 'discreetly-claimcodes'; -const prisma = new PrismaClient(); -const idc = genId(0n, "First User").toString(); -const idc2 = genId(0n, "Second User").toString(); -const claimCodes = generateClaimCodes(10); -// console.log(claimCodes); -let codeArr = []; -claimCodes.forEach(code => { - codeArr.push({ claimcode: code.code }); -}); -const seedData = { - where: { - roomId: genId(0n, "First Room").toString() - }, - update: {}, - create: { - roomId: genId(0n, "First Room").toString(), - name: "First Room", - identities: [idc, idc2], - claimCodes: { - create: codeArr - } - } -}; -async function main() { - await prisma.rooms.upsert(seedData); - await prisma.rooms.upsert({ - where: { - roomId: genId(0n, "Room Two").toString() - }, - update: {}, - create: { - roomId: genId(0n, "Room Two").toString(), - name: "Room Two", - identities: [idc], - claimCodes: { - create: codeArr - } - } - }); - console.log(seedData); -} -main(); diff --git a/src/data/db.ts b/src/data/db.ts index 0f2060a..c53fc01 100644 --- a/src/data/db.ts +++ b/src/data/db.ts @@ -75,10 +75,10 @@ export function getRoomsByIdentity(identity: string): RoomI[] { */ export function createRoom( name: string, - rateLimit: number = 1000, - userMessageLimit: number = 1, - numClaimCodes: number = 0, - approxNumMockUsers: number = 20 + rateLimit = 1000, + userMessageLimit = 1, + numClaimCodes = 0, + approxNumMockUsers = 20 ): boolean { function genMockUsers(numMockUsers: number): string[] { // Generates random number of mock users between 0.5 x numMockusers and 2 x numMockUsers diff --git a/src/data/messages.ts b/src/data/messages.ts index 82cb70b..56b8c25 100644 --- a/src/data/messages.ts +++ b/src/data/messages.ts @@ -4,7 +4,7 @@ import { MessageI } from 'discreetly-interfaces'; const prisma = new PrismaClient(); -function updateRoom(roomId: string, message: MessageI): Promise { +function updateRoom(roomId: string, message: MessageI, epoch: number): Promise { return prisma.rooms.update({ where: { roomId: roomId @@ -12,11 +12,11 @@ function updateRoom(roomId: string, message: MessageI): Promise { data: { epochs: { create: { - epoch: +message.epoch.toString(), + epoch: epoch, messages: { create: { - message: message.message, - messageId: message.messageId, + message: message.message ? message.message.toString() : '', + messageId: message.messageId ? message.messageId.toString() : '', proof: JSON.stringify(message.proof), roomId: roomId } diff --git a/src/endpoints/index.ts b/src/endpoints/index.ts index 0e98784..fd4e1d5 100644 --- a/src/endpoints/index.ts +++ b/src/endpoints/index.ts @@ -1,4 +1,3 @@ -/* eslint-disable @typescript-eslint/no-unsafe-assignment */ import type { Express, RequestHandler } from 'express'; import { PrismaClient } from '@prisma/client'; import { serverConfig } from '../config/serverConfig'; @@ -42,29 +41,33 @@ export function initEndpoints(app: Express, adminAuth: RequestHandler) { }); app.post('/join', (req, res) => { - const { code, idc }: { code: string; idc: string } = req.body; + interface JoinData { + code: string; + idc: string; + } + const { code, idc } = req.body as JoinData; findClaimCode(code) .then((codeStatus) => { if (codeStatus && codeStatus.claimed === false) { return updateClaimCode(code).then((claimCode) => { - const roomIds = claimCode.roomIds.map((room) => room); + const roomIds = claimCode.roomIds.map((room) => room.roomId); return updateRoomIdentities(idc, roomIds).then(() => { return findUpdatedRooms(roomIds).then((updatedRooms: RoomI[]) => { return res.status(200).json({ status: 'valid', - roomIds: updatedRooms.map((room) => room.roomId as string) + roomIds: updatedRooms.map((room: RoomI) => room.roomId) }); }); }); }); } else { - res.status(400).json({ message: 'Claim code already used' }); + return res.status(400).json({ message: 'Claim code already used' }); } }) .catch((err: Error) => { console.error(err); - res.status(500).json({ error: 'Internal Server Error' }); + return res.status(500).json({ error: 'Internal Server Error' }); }); }); diff --git a/src/endpoints/utils.ts b/src/endpoints/utils.ts index 9467f60..a8c9b95 100644 --- a/src/endpoints/utils.ts +++ b/src/endpoints/utils.ts @@ -4,7 +4,7 @@ export function listEndpoints(app) { const table = []; for (const r of app._router.stack) { - if (r.route && r.route.path) { + if (r.route?.path) { const methods = Object.keys(r.route.methods).join(', ').toUpperCase(); table.push({ Path: r.route.path, diff --git a/src/types/index.ts b/src/types/index.ts index 1127d40..2ab1a20 100644 --- a/src/types/index.ts +++ b/src/types/index.ts @@ -1,3 +1 @@ -export interface userCountI { - [key: string]: number; -} +export type userCountI = Record; diff --git a/src/utils.ts b/src/utils.ts index 0a99329..2ed5906 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -37,13 +37,14 @@ export const pp = (str: any, level = 'log') => { break; case 'assert': console.assert(str); + break; default: console.log(str); } }; // from: https://stackoverflow.com/a/49434653/957648 -export function randn_bm(min: number, max: number, skew: number = 1) { +export function randn_bm(min: number, max: number, skew = 1) { let u = 0, v = 0; while (u === 0) u = Math.random(); //Converting [0,1) to (0,1) diff --git a/src/websockets/index.ts b/src/websockets/index.ts index 2500cf9..b575499 100644 --- a/src/websockets/index.ts +++ b/src/websockets/index.ts @@ -5,9 +5,7 @@ import { getRoomByID } from '../data/db'; import { pp } from '../utils'; import { createMessage } from '../data/messages'; -const userCount: { - [key: string]: number; -} = {}; +const userCount: Record = {}; export function websocketSetup(io: SocketIOServer) { io.on('connection', (socket: Socket) => { diff --git a/tsconfig.json b/tsconfig.json index 272e3e5..df3d110 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -7,6 +7,8 @@ "module": "ES2022", "esModuleInterop": true, "allowSyntheticDefaultImports": true, + "allowJs": true, + "strictNullChecks": true }, "ts-node": { "esm": true, @@ -16,7 +18,7 @@ "./src/server.ts" ], "include": [ - "./src/**/*", - "./src/types/index.ts" + "src/**/*.ts", + "prisma/**/*.ts" ] } \ No newline at end of file