diff --git a/jest.config.js b/jest.config.js new file mode 100644 index 00000000..1c2430cc --- /dev/null +++ b/jest.config.js @@ -0,0 +1,3 @@ +module.exports = { + projects: ['/server/jest.config.js'], +}; diff --git a/package-lock.json b/package-lock.json index da70e886..5b1c95c1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4535,6 +4535,15 @@ "node-releases": "^1.1.61" } }, + "bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "dev": true, + "requires": { + "fast-json-stable-stringify": "2.x" + } + }, "bser": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", @@ -19866,6 +19875,45 @@ "utf8-byte-length": "^1.0.1" } }, + "ts-jest": { + "version": "26.4.1", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-26.4.1.tgz", + "integrity": "sha512-F4aFq01aS6mnAAa0DljNmKr/Kk9y4HVZ1m6/rtJ0ED56cuxINGq3Q9eVAh+z5vcYKe5qnTMvv90vE8vUMFxomg==", + "dev": true, + "requires": { + "@types/jest": "26.x", + "bs-logger": "0.x", + "buffer-from": "1.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^26.1.0", + "json5": "2.x", + "lodash.memoize": "4.x", + "make-error": "1.x", + "mkdirp": "1.x", + "semver": "7.x", + "yargs-parser": "20.x" + }, + "dependencies": { + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + }, + "semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", + "dev": true + }, + "yargs-parser": { + "version": "20.2.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.1.tgz", + "integrity": "sha512-yYsjuSkjbLMBp16eaOt7/siKTjNVjMm3SoJnIg3sEh/JsvqVVDyjRKmaJV4cl+lNIgq6QEco2i3gDebJl7/vLA==", + "dev": true + } + } + }, "ts-node": { "version": "8.10.2", "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.10.2.tgz", diff --git a/package.json b/package.json index 895c636d..6ce2de8c 100644 --- a/package.json +++ b/package.json @@ -168,6 +168,7 @@ "supertest": "^5.0.0", "tar-stream": "^2.1.4", "terser-webpack-plugin": "^4.2.1", + "ts-jest": "^26.4.1", "ts-node-dev": "^1.0.0-pre.63", "typed-css-modules": "^0.6.4", "typed-emitter": "^1.3.1", diff --git a/server/jest.config.js b/server/jest.config.js new file mode 100644 index 00000000..9cc44c50 --- /dev/null +++ b/server/jest.config.js @@ -0,0 +1,6 @@ +module.exports = { + preset: 'ts-jest', + transform: { + '^.+\\.js?$': 'babel-jest', + }, +}; diff --git a/server/tsconfig.json b/server/tsconfig.json index 602b1ab1..8012c8e5 100644 --- a/server/tsconfig.json +++ b/server/tsconfig.json @@ -1,11 +1,19 @@ { - "extends": "../tsconfig.json", "compilerOptions": { "target": "es2019", + "moduleResolution": "node", + "allowJs": true, "module": "commonjs", - "noEmit": false, "sourceMap": false, + "strict": true, + "isolatedModules": true, + "esModuleInterop": true, + "baseUrl": "../", + "paths": { + "@shared/*": ["shared/*"] + }, "outDir": "../dist" }, - "include": ["./**/*.ts", "./**/*.tsx", "../shared/**/*.ts", "../config.ts"] + "include": ["./**/*.ts", "../shared/**/*.ts", "../config.js", "../config.ts"], + "exclude": ["node_modules", "**/*.spec.ts", "**/*.test.ts"] } diff --git a/tsconfig.json b/tsconfig.json index a00fec48..98e9fcc2 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -17,5 +17,5 @@ } }, "include": ["./client/**/*.ts", "./client/**/*.tsx", "./server/**/*.ts", "./server/**/*.tsx", "./custom.d.ts"], - "exclude": ["node_modules", "**/*.spec.ts"] + "exclude": ["node_modules"] }