Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -41,3 +41,6 @@ Thumbs.db
.nx
.angular
/versions.txt

vite.config.*.timestamp*
vitest.config.*.timestamp*
1 change: 0 additions & 1 deletion .vscode/extensions.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
"recommendations": [
"nrwl.angular-console",
"esbenp.prettier-vscode",
"firsttris.vscode-jest-runner",
"ms-playwright.playwright",
"dbaeumer.vscode-eslint"
]
Expand Down
22 changes: 0 additions & 22 deletions apps/demo/jest.config.ts

This file was deleted.

7 changes: 0 additions & 7 deletions apps/demo/project.json
Original file line number Diff line number Diff line change
Expand Up @@ -68,13 +68,6 @@
"executor": "@nx/eslint:lint",
"outputs": ["{options.outputFile}"]
},
"test": {
"executor": "@nx/jest:jest",
"outputs": ["{workspaceRoot}/coverage/{projectRoot}"],
"options": {
"jestConfig": "apps/demo/jest.config.ts"
}
},
"e2e": {
"executor": "@nx/playwright:playwright",
"outputs": ["{workspaceRoot}/dist/.playwright/apps/demo"],
Expand Down
6 changes: 0 additions & 6 deletions apps/demo/src/test-setup.ts
Original file line number Diff line number Diff line change
@@ -1,6 +0,0 @@
import { setupZoneTestEnv } from 'jest-preset-angular/setup-env/zone';

setupZoneTestEnv({
errorOnUnknownElements: true,
errorOnUnknownProperties: true,
});
4 changes: 2 additions & 2 deletions apps/demo/tsconfig.app.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
"extends": "./tsconfig.json",
"compilerOptions": {
"outDir": "../../dist/out-tsc",
"types": ["node"]
"types": ["node", "vitest/globals"]
},
"files": ["src/main.ts"],
"include": ["src/**/*.d.ts"],
"exclude": ["jest.config.ts", "src/**/*.test.ts", "src/**/*.spec.ts"]
"exclude": ["src/**/*.test.ts", "src/**/*.spec.ts"]
}
2 changes: 1 addition & 1 deletion apps/demo/tsconfig.editor.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@
"extends": "./tsconfig.json",
"include": ["src/**/*.ts"],
"compilerOptions": {
"types": ["jest", "node"]
"types": ["node"]
}
}
11 changes: 3 additions & 8 deletions apps/demo/tsconfig.spec.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,10 @@
"extends": "./tsconfig.json",
"compilerOptions": {
"outDir": "../../dist/out-tsc",
"module": "commonjs",
"target": "es2016",
"types": ["jest", "node"]
"types": ["node"]
},
"files": ["src/test-setup.ts"],
"include": [
"jest.config.ts",
"src/**/*.test.ts",
"src/**/*.spec.ts",
"src/**/*.d.ts"
]
"include": ["src/**/*.test.ts", "src/**/*.spec.ts", "src/**/*.d.ts"],
"exclude": ["apps/demo/e2e/**"]
}
34 changes: 34 additions & 0 deletions apps/demo/vite.config.mts
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
/// <reference types="vitest" />

import angular from '@analogjs/vite-plugin-angular';
import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin';
import { defineConfig, ConfigEnv, UserConfig, Plugin } from 'vite';

// Extend Vite's config type to include Vitest's `test` field
interface VitestConfig extends UserConfig {
test?: {
globals?: boolean;
environment?: string;
setupFiles?: string[];
include?: string[];
reporters?: string[];
};
}

export default defineConfig((config: ConfigEnv): VitestConfig => {
const { mode } = config;

return {
plugins: [angular() as unknown as Plugin, nxViteTsPaths()],
test: {
globals: true,
environment: 'jsdom',
setupFiles: ['src/test-setup.ts'],
include: ['src/**/*.spec.ts'],
reporters: ['default'],
},
define: {
'import.meta.vitest': mode !== 'production',
},
};
});
26 changes: 15 additions & 11 deletions eslint.config.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,11 @@ module.exports = [
...nx.configs['flat/typescript'],
...nx.configs['flat/javascript'],
{
ignores: ['**/dist'],
ignores: [
'**/dist',
'**/vite.config.*.timestamp*',
'**/vitest.config.*.timestamp*',
],
},
{
files: ['**/*.ts', '**/*.tsx', '**/*.js', '**/*.jsx'],
Expand Down Expand Up @@ -53,19 +57,19 @@ module.exports = [
},
},
{
plugins: { "unused-imports": unusedImports },
plugins: { 'unused-imports': unusedImports },
rules: {
"@typescript-eslint/no-unused-vars": "off",
"unused-imports/no-unused-imports": "error",
"unused-imports/no-unused-vars": [
"warn",
'@typescript-eslint/no-unused-vars': 'off',
'unused-imports/no-unused-imports': 'error',
'unused-imports/no-unused-vars': [
'warn',
{
vars: "all",
varsIgnorePattern: "^_",
args: "after-used",
argsIgnorePattern: "^_",
vars: 'all',
varsIgnorePattern: '^_',
args: 'after-used',
argsIgnorePattern: '^_',
},
],
},
}
},
];
6 changes: 0 additions & 6 deletions jest.config.ts

This file was deleted.

3 changes: 0 additions & 3 deletions jest.preset.js

This file was deleted.

22 changes: 0 additions & 22 deletions libs/ngrx-toolkit/jest.config.ts

This file was deleted.

5 changes: 4 additions & 1 deletion libs/ngrx-toolkit/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,10 @@
"@angular/common": "^20.0.0",
"@ngrx/signals": "^20.0.0",
"@ngrx/store": "^20.0.0",
"rxjs": "^7.0.0"
"rxjs": "^7.0.0",
"@nx/vite": "^21.0.0",
"vite": "^6.0.0",
"@analogjs/vite-plugin-angular": "~1.19.1"
},
"peerDependenciesMeta": {
"@ngrx/store": {
Expand Down
14 changes: 7 additions & 7 deletions libs/ngrx-toolkit/project.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,16 +22,16 @@
},
"defaultConfiguration": "production"
},
"test": {
"executor": "@nx/jest:jest",
"outputs": ["{workspaceRoot}/coverage/{projectRoot}"],
"options": {
"jestConfig": "libs/ngrx-toolkit/jest.config.ts"
}
},
"lint": {
"executor": "@nx/eslint:lint",
"outputs": ["{options.outputFile}"]
},
"test": {
"executor": "@nx/vite:test",
"outputs": ["{options.reportsDirectory}"],
"options": {
"reportsDirectory": "../../coverage/libs/ngrx-toolkit"
}
}
}
}
4 changes: 2 additions & 2 deletions libs/ngrx-toolkit/src/lib/devtools/tests/helpers.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,11 @@ export function setupExtensions(
isPlatformBrowser = true,
isExtensionAvailable = true,
) {
const sendSpy = jest.fn();
const sendSpy = vi.fn();
const connection = {
send: sendSpy,
};
const connectSpy = jest.fn(() => connection);
const connectSpy = vi.fn(() => connection);

if (isExtensionAvailable) {
window.__REDUX_DEVTOOLS_EXTENSION__ = { connect: connectSpy };
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ describe('withImmutableState', () => {
for (const isDevMode of [true, false]) {
describe(isDevMode ? 'dev mode' : 'production mode', () => {
beforeEach(() => {
jest.spyOn(devMode, 'isDevMode').mockReturnValue(isDevMode);
vi.spyOn(devMode, 'isDevMode').mockReturnValue(isDevMode);
});
for (const { stateFactory, enableInProduction, name, protectionOn } of [
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -244,7 +244,7 @@ describe('withStorageSync (async storage)', () => {
describe('withStorageSync', () => {
let warnings = [] as string[];

jest.spyOn(console, 'warn').mockImplementation((...messages: string[]) => {
vi.spyOn(console, 'warn').mockImplementation((...messages: string[]) => {
warnings.push(...messages);
});

Expand Down
6 changes: 3 additions & 3 deletions libs/ngrx-toolkit/src/lib/with-resource.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ describe('withResource', () => {

function setupWithUnnamedResource() {
const addressResolver = {
resolve: jest.fn(() => Promise.resolve(venice)),
resolve: vi.fn(() => Promise.resolve(venice)),
};
const AddressStore = signalStore(
{ providedIn: 'root', protectedState: false },
Expand Down Expand Up @@ -79,7 +79,7 @@ describe('withResource', () => {

function setupWithNamedResource() {
const addressResolver = {
resolve: jest.fn(() => Promise.resolve(venice)),
resolve: vi.fn(() => Promise.resolve(venice)),
};

const UserStore = signalStore(
Expand Down Expand Up @@ -390,7 +390,7 @@ describe('withResource', () => {
});

describe('override protection', () => {
const warningSpy = jest.spyOn(console, 'warn');
const warningSpy = vi.spyOn(console, 'warn');

afterEach(() => {
warningSpy.mockClear();
Expand Down
17 changes: 12 additions & 5 deletions libs/ngrx-toolkit/src/test-setup.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,13 @@
import { setupZoneTestEnv } from 'jest-preset-angular/setup-env/zone';
import '@analogjs/vitest-angular/setup-zone';
import '@angular/compiler';

setupZoneTestEnv({
errorOnUnknownElements: true,
errorOnUnknownProperties: true,
});
import { getTestBed } from '@angular/core/testing';
import {
BrowserTestingModule,
platformBrowserTesting,
} from '@angular/platform-browser/testing';

getTestBed().initTestEnvironment(
BrowserTestingModule,
platformBrowserTesting(),
);
2 changes: 1 addition & 1 deletion libs/ngrx-toolkit/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"compilerOptions": {
"target": "es2022",
"target": "es2016",
"useDefineForClassFields": false,
"forceConsistentCasingInFileNames": true,
"strict": true,
Expand Down
16 changes: 13 additions & 3 deletions libs/ngrx-toolkit/tsconfig.lib.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,23 @@
"declaration": true,
"declarationMap": true,
"inlineSources": true,
"types": []
"types": ["node"]
},
"exclude": [
"src/**/*.spec.ts",
"src/test-setup.ts",
"jest.config.ts",
"src/**/*.test.ts"
"src/**/*.test.ts",
"vite.config.ts",
"vite.config.mts",
"vitest.config.ts",
"vitest.config.mts",
"src/**/*.test.tsx",
"src/**/*.spec.tsx",
"src/**/*.test.js",
"src/**/*.spec.js",
"src/**/*.test.jsx",
"src/**/*.spec.jsx",
"src/test-setup.ts"
],
"include": ["src/**/*.ts"]
}
28 changes: 20 additions & 8 deletions libs/ngrx-toolkit/tsconfig.spec.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,28 @@
"extends": "./tsconfig.json",
"compilerOptions": {
"outDir": "../../dist/out-tsc",
"module": "commonjs",
"target": "es2016",
"types": ["jest", "node"]
"types": [
"vitest/globals",
"vitest/importMeta",
"vite/client",
"node",
"vitest"
]
},
"files": ["src/test-setup.ts"],
"include": [
"jest.config.ts",
"vite.config.ts",
"vite.config.mts",
"vitest.config.ts",
"vitest.config.mts",
"src/**/*.test.ts",
"src/**/*.spec.ts",
"src/**/*.d.ts",
"src/lib/storage-sync/tests/with-storage-sync-indexedb.spec.ts"
]
"src/**/*.test.tsx",
"src/**/*.spec.tsx",
"src/**/*.test.js",
"src/**/*.spec.js",
"src/**/*.test.jsx",
"src/**/*.spec.jsx",
"src/**/*.d.ts"
],
"files": ["src/test-setup.ts"]
}
Loading