From ccdf560a793951232c54267da5e53eb437c18401 Mon Sep 17 00:00:00 2001 From: erdemcaygor Date: Fri, 2 Jan 2026 12:16:45 +0300 Subject: [PATCH] core lib vitest config added --- npm/ng-packs/package.json | 1 + npm/ng-packs/packages/core/jest.config.ts | 23 ------------------- npm/ng-packs/packages/core/project.json | 7 ++++++ npm/ng-packs/packages/core/src/test-setup.ts | 15 ++++++++++-- npm/ng-packs/packages/core/tsconfig.spec.json | 4 ++-- npm/ng-packs/packages/core/vite.config.ts | 18 +++++++++++++++ 6 files changed, 41 insertions(+), 27 deletions(-) delete mode 100644 npm/ng-packs/packages/core/jest.config.ts create mode 100644 npm/ng-packs/packages/core/vite.config.ts diff --git a/npm/ng-packs/package.json b/npm/ng-packs/package.json index 80b1ea7f33..22267e0956 100644 --- a/npm/ng-packs/package.json +++ b/npm/ng-packs/package.json @@ -82,6 +82,7 @@ "@nx/jest": "~22.2.0", "@nx/js": "~22.2.0", "@nx/plugin": "~22.2.0", + "@nx/vitest": "^22.3.3", "@nx/web": "~22.2.0", "@nx/workspace": "~22.2.0", "@popperjs/core": "~2.11.0", diff --git a/npm/ng-packs/packages/core/jest.config.ts b/npm/ng-packs/packages/core/jest.config.ts deleted file mode 100644 index 3dda0ce769..0000000000 --- a/npm/ng-packs/packages/core/jest.config.ts +++ /dev/null @@ -1,23 +0,0 @@ -/* eslint-disable */ -export default { - displayName: 'core', - preset: '../../jest.preset.js', - setupFilesAfterEnv: ['/src/test-setup.ts'], - globals: {}, - coverageDirectory: '../../coverage/packages/core', - transform: { - '^.+.(ts|mjs|js|html)$': [ - 'jest-preset-angular', - { - tsconfig: '/tsconfig.spec.json', - stringifyContentPathRegex: '\\.(html|svg)$', - }, - ], - }, - transformIgnorePatterns: ['node_modules/(?!.*.mjs$)'], - snapshotSerializers: [ - 'jest-preset-angular/build/serializers/no-ng-attributes', - 'jest-preset-angular/build/serializers/ng-snapshot', - 'jest-preset-angular/build/serializers/html-comment', - ], -}; diff --git a/npm/ng-packs/packages/core/project.json b/npm/ng-packs/packages/core/project.json index d2719c392a..3f742c2f0b 100644 --- a/npm/ng-packs/packages/core/project.json +++ b/npm/ng-packs/packages/core/project.json @@ -22,6 +22,13 @@ }, "defaultConfiguration": "production" }, + "test": { + "executor": "@nx/vitest:test", + "outputs": ["{workspaceRoot}/coverage/packages/core"], + "options": { + "config": "packages/core/vite.config.ts" + } + }, "lint": { "executor": "@nx/eslint:lint", "outputs": ["{options.outputFile}"] diff --git a/npm/ng-packs/packages/core/src/test-setup.ts b/npm/ng-packs/packages/core/src/test-setup.ts index 13874ec714..77b53f9e0e 100644 --- a/npm/ng-packs/packages/core/src/test-setup.ts +++ b/npm/ng-packs/packages/core/src/test-setup.ts @@ -1,5 +1,16 @@ -import { setupZoneTestEnv } from 'jest-preset-angular/setup-env/zone'; -setupZoneTestEnv(); +import 'zone.js'; +import 'zone.js/testing'; +import { getTestBed } from '@angular/core/testing'; +import { + BrowserDynamicTestingModule, + platformBrowserDynamicTesting, +} from '@angular/platform-browser-dynamic/testing'; + +// Initialize Angular testing environment +getTestBed().initTestEnvironment( + BrowserDynamicTestingModule, + platformBrowserDynamicTesting(), +); // Mock window.location for test environment Object.defineProperty(window, 'location', { diff --git a/npm/ng-packs/packages/core/tsconfig.spec.json b/npm/ng-packs/packages/core/tsconfig.spec.json index be72f24e9b..e3787d72d2 100644 --- a/npm/ng-packs/packages/core/tsconfig.spec.json +++ b/npm/ng-packs/packages/core/tsconfig.spec.json @@ -2,8 +2,8 @@ "extends": "./tsconfig.json", "compilerOptions": { "outDir": "../../dist/out-tsc", - "module": "commonjs", - "types": ["jest", "node"], + "module": "ESNext", + "types": ["vitest/globals", "node"], "esModuleInterop": true }, "files": ["src/test-setup.ts"], diff --git a/npm/ng-packs/packages/core/vite.config.ts b/npm/ng-packs/packages/core/vite.config.ts new file mode 100644 index 0000000000..37ab40fa45 --- /dev/null +++ b/npm/ng-packs/packages/core/vite.config.ts @@ -0,0 +1,18 @@ +/// +import { defineConfig } from 'vitest/config'; +import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin'; + +export default defineConfig({ + plugins: [nxViteTsPaths()], + test: { + globals: true, + environment: 'jsdom', + setupFiles: ['src/test-setup.ts'], + include: ['src/**/*.spec.ts'], + coverage: { + reportsDirectory: '../../coverage/packages/core', + provider: 'v8', + reporter: ['text', 'json', 'html'], + }, + }, +});