diff --git a/apps/app/jest.config.js b/apps/app/jest.config.js index b669ab6..ff2b403 100644 --- a/apps/app/jest.config.js +++ b/apps/app/jest.config.js @@ -1,25 +1,33 @@ -let jestConfigObject = { +module.exports = { displayName: 'app', preset: '../../jest.preset.js', testEnvironment: 'node', transform: { - '^.+\\.[tj]s$': ['ts-jest', { tsconfig: '/tsconfig.spec.json' }] - }, - moduleFileExtensions: ['ts', 'js', 'html'], - coverageDirectory: '../../coverage/apps/my-nutri' -} - -if (process.env.NODE_ENV === 'CI' || process.env.CI === 'true') { - jestConfigObject.transform = { '^.+\\.[tj]s$': [ - 'ts-jest', + '@swc/jest', { - tsconfig: '/tsconfig.spec.json', - isolatedModules: true, - diagnostics: false + sourceMaps: true, + module: { + type: 'commonjs', + strict: true, + strictMode: true + }, + jsc: { + parser: { + syntax: 'typescript', + decorators: true, + dynamicImport: true + }, + transform: { + legacyDecorator: true, + decoratorMetadata: true + }, + target: 'es2021' + }, + minify: false } ] - } + }, + moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'], + coverageDirectory: '../../coverage/apps/app' } - -module.exports = jestConfigObject diff --git a/apps/app/tsconfig.spec.json b/apps/app/tsconfig.spec.json index c49cfea..f824371 100644 --- a/apps/app/tsconfig.spec.json +++ b/apps/app/tsconfig.spec.json @@ -3,7 +3,14 @@ "compilerOptions": { "outDir": "../../dist/out-tsc", "module": "commonjs", - "types": ["jest", "node"] + "types": ["jest", "node"], + "target": "es2021", + "lib": ["es2021"], + "sourceMap": true, + "esModuleInterop": true, + "skipLibCheck": true, + "experimentalDecorators": true, + "emitDecoratorMetadata": true }, "include": [ "jest.config.js", @@ -11,4 +18,4 @@ "src/**/*.spec.ts", "src/**/*.d.ts" ] -} +} \ No newline at end of file diff --git a/package.json b/package.json index 275203c..c574c81 100644 --- a/package.json +++ b/package.json @@ -38,6 +38,7 @@ "@swc/cli": "^0.3.12", "@swc/core": "^1.5.24", "@swc/helpers": "^0.5.11", + "@swc/jest": "^0.2.36", "@types/jest": "^29.5.12", "@types/node": "~20.14.0", "@typescript-eslint/eslint-plugin": "^7.12.0", diff --git a/yarn.lock b/yarn.lock index 5955322..c7833b1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1234,6 +1234,13 @@ slash "^3.0.0" strip-ansi "^6.0.0" +"@jest/create-cache-key-function@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/create-cache-key-function/-/create-cache-key-function-29.7.0.tgz#793be38148fab78e65f40ae30c36785f4ad859f0" + integrity sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA== + dependencies: + "@jest/types" "^29.6.3" + "@jest/environment@^29.7.0": version "29.7.0" resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-29.7.0.tgz#24d61f54ff1f786f3cd4073b4b94416383baf2a7" @@ -2061,6 +2068,15 @@ dependencies: tslib "^2.4.0" +"@swc/jest@^0.2.36": + version "0.2.36" + resolved "https://registry.yarnpkg.com/@swc/jest/-/jest-0.2.36.tgz#2797450a30d28b471997a17e901ccad946fe693e" + integrity sha512-8X80dp81ugxs4a11z1ka43FPhP+/e+mJNXJSxiNYk8gIX/jPBtY4gQTrKu/KIoco8bzKuPI5lUxjfLiGsfvnlw== + dependencies: + "@jest/create-cache-key-function" "^29.7.0" + "@swc/counter" "^0.1.3" + jsonc-parser "^3.2.0" + "@swc/types@^0.1.7": version "0.1.7" resolved "https://registry.yarnpkg.com/@swc/types/-/types-0.1.7.tgz#ea5d658cf460abff51507ca8d26e2d391bafb15e" @@ -6235,7 +6251,7 @@ jsonc-parser@3.2.0: resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.2.0.tgz#31ff3f4c2b9793f89c67212627c51c6394f88e76" integrity sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w== -jsonc-parser@3.2.1: +jsonc-parser@3.2.1, jsonc-parser@^3.2.0: version "3.2.1" resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.2.1.tgz#031904571ccf929d7670ee8c547545081cb37f1a" integrity sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==