Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
504126d
feat(): create common vitest config setup
Sep 5, 2025
f15c31f
refactor(): wip use common vitest on few files
Sep 5, 2025
597923d
refactor(): change coverage reports directory
Sep 5, 2025
11337cf
refactor(): simplify vitest factory and split abstract logic
Sep 9, 2025
c31e21a
docs(): update new tools readme
Sep 9, 2025
e29df01
test(): add unit tests for new tools
Sep 9, 2025
6925534
refactor(): fix circular dependency by creating new internal library
Sep 9, 2025
7288d8e
fix: path resolution
Sep 9, 2025
db99af2
fix: path resolution #2
Sep 9, 2025
44a0891
fix: path resolution #3
Sep 9, 2025
0eaaa5a
fix: path resolution #4
Sep 9, 2025
0bf21ec
fix: path resolution #5
Sep 9, 2025
c0d6e77
refactor(testing): improve vitest config factory and test coverage
Oct 6, 2025
32ce2cb
refactor(testing): standardize Vitest configuration and improve setup…
Oct 29, 2025
5f32d0d
refactor(testing): consolidate global setup logic and remove redundan…
Oct 29, 2025
abf7f5d
refactor(testing): enhance documentation and Vitest configuration setup
Oct 30, 2025
3efd81f
refactor(testing): use config factory for vitest config files
Oct 30, 2025
cef39d3
refactor(testing): replace logger with console.warn in test folder te…
Oct 31, 2025
38bc0bb
chore(testing): add logger mock to integration test setup files and u…
Nov 4, 2025
fa74e58
refactor(testing): include logger mock configs and adjust related tests
Nov 4, 2025
b792eeb
refactor(testing): add guard check for console info in mock file
Nov 4, 2025
9f41bb2
refactor(testing): remove redundant comment
Nov 4, 2025
2772f2b
refactor(testing): remove Vitest reference comments from configuratio…
Nov 5, 2025
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
16 changes: 0 additions & 16 deletions e2e/ci-e2e/global-setup.ts

This file was deleted.

3 changes: 1 addition & 2 deletions e2e/ci-e2e/tsconfig.test.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
"vitest.e2e.config.ts",
"tests/**/*.e2e.test.ts",
"tests/**/*.d.ts",
"mocks/**/*.ts",
"global-setup.ts"
"mocks/**/*.ts"
]
}
23 changes: 3 additions & 20 deletions e2e/ci-e2e/vitest.e2e.config.ts
Original file line number Diff line number Diff line change
@@ -1,22 +1,5 @@
/// <reference types="vitest" />
import { defineConfig } from 'vitest/config';
import { tsconfigPathAliases } from '../../tools/vitest-tsconfig-path-aliases.js';
import { createE2ETestConfig } from '../../testing/test-setup-config/src/index.js';

export default defineConfig({
cacheDir: '../../node_modules/.vite/ci-e2e',
test: {
reporters: ['basic'],
testTimeout: 60_000,
globals: true,
alias: tsconfigPathAliases(),
pool: 'threads',
poolOptions: { threads: { singleThread: true } },
cache: {
dir: '../../node_modules/.vitest',
},
environment: 'node',
include: ['tests/**/*.e2e.test.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'],
globalSetup: './global-setup.ts',
setupFiles: ['../../testing/test-setup/src/lib/reset.mocks.ts'],
},
export default createE2ETestConfig('ci-e2e', {
testTimeout: 60_000,
});
22 changes: 3 additions & 19 deletions e2e/cli-e2e/vitest.e2e.config.ts
Original file line number Diff line number Diff line change
@@ -1,21 +1,5 @@
/// <reference types="vitest" />
import { defineConfig } from 'vitest/config';
import { tsconfigPathAliases } from '../../tools/vitest-tsconfig-path-aliases.js';
import { createE2ETestConfig } from '../../testing/test-setup-config/src/index.js';

export default defineConfig({
cacheDir: '../../node_modules/.vite/cli-e2e',
test: {
reporters: ['basic'],
testTimeout: 20_000,
globals: true,
alias: tsconfigPathAliases(),
pool: 'threads',
poolOptions: { threads: { singleThread: true } },
cache: {
dir: '../../node_modules/.vitest',
},
environment: 'node',
include: ['tests/**/*.e2e.test.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'],
setupFiles: ['../../testing/test-setup/src/lib/reset.mocks.ts'],
},
export default createE2ETestConfig('cli-e2e', {
testTimeout: 20_000,
});
23 changes: 3 additions & 20 deletions e2e/create-cli-e2e/vitest.e2e.config.ts
Original file line number Diff line number Diff line change
@@ -1,22 +1,5 @@
/// <reference types="vitest" />
import { defineConfig } from 'vitest/config';
import { tsconfigPathAliases } from '../../tools/vitest-tsconfig-path-aliases.js';
import { createE2ETestConfig } from '../../testing/test-setup-config/src/index.js';

export default defineConfig({
cacheDir: '../../node_modules/.vite/create-cli-e2e',
test: {
reporters: ['basic'],
testTimeout: 20_000,
hookTimeout: 20_000,
globals: true,
alias: tsconfigPathAliases(),
pool: 'threads',
poolOptions: { threads: { singleThread: true } },
cache: {
dir: '../../node_modules/.vitest',
},
environment: 'node',
include: ['tests/**/*.e2e.test.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'],
setupFiles: ['../../testing/test-setup/src/lib/reset.mocks.ts'],
},
export default createE2ETestConfig('create-cli-e2e', {
testTimeout: 20_000,
});
22 changes: 3 additions & 19 deletions e2e/nx-plugin-e2e/vitest.e2e.config.ts
Original file line number Diff line number Diff line change
@@ -1,21 +1,5 @@
/// <reference types="vitest" />
import { defineConfig } from 'vitest/config';
import { tsconfigPathAliases } from '../../tools/vitest-tsconfig-path-aliases.js';
import { createE2ETestConfig } from '../../testing/test-setup-config/src/index.js';

export default defineConfig({
cacheDir: '../../node_modules/.vite/nx-plugin-e2e',
test: {
reporters: ['basic'],
testTimeout: 80_000,
globals: true,
alias: tsconfigPathAliases(),
pool: 'threads',
poolOptions: { threads: { singleThread: true } },
cache: {
dir: '../../node_modules/.vitest',
},
environment: 'node',
include: ['tests/**/*.e2e.test.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'],
setupFiles: ['../../testing/test-setup/src/lib/reset.mocks.ts'],
},
export default createE2ETestConfig('nx-plugin-e2e', {
testTimeout: 80_000,
});
22 changes: 3 additions & 19 deletions e2e/plugin-coverage-e2e/vitest.e2e.config.ts
Original file line number Diff line number Diff line change
@@ -1,21 +1,5 @@
/// <reference types="vitest" />
import { defineConfig } from 'vitest/config';
import { tsconfigPathAliases } from '../../tools/vitest-tsconfig-path-aliases.js';
import { createE2ETestConfig } from '../../testing/test-setup-config/src/index.js';

export default defineConfig({
cacheDir: '../../node_modules/.vite/plugin-coverage-e2e',
test: {
reporters: ['basic'],
testTimeout: 40_000,
globals: true,
alias: tsconfigPathAliases(),
pool: 'threads',
poolOptions: { threads: { singleThread: true } },
cache: {
dir: '../../node_modules/.vitest',
},
environment: 'node',
include: ['tests/**/*.e2e.test.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'],
setupFiles: ['../../testing/test-setup/src/lib/reset.mocks.ts'],
},
export default createE2ETestConfig('plugin-coverage-e2e', {
testTimeout: 40_000,
});
22 changes: 3 additions & 19 deletions e2e/plugin-eslint-e2e/vitest.e2e.config.ts
Original file line number Diff line number Diff line change
@@ -1,21 +1,5 @@
/// <reference types="vitest" />
import { defineConfig } from 'vitest/config';
import { tsconfigPathAliases } from '../../tools/vitest-tsconfig-path-aliases.js';
import { createE2ETestConfig } from '../../testing/test-setup-config/src/index.js';

export default defineConfig({
cacheDir: '../../node_modules/.vite/plugin-lighthouse-e2e',
test: {
reporters: ['basic'],
testTimeout: 20_000,
globals: true,
alias: tsconfigPathAliases(),
pool: 'threads',
poolOptions: { threads: { singleThread: true } },
cache: {
dir: '../../node_modules/.vitest',
},
environment: 'node',
include: ['tests/**/*.e2e.test.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'],
setupFiles: ['../../testing/test-setup/src/lib/reset.mocks.ts'],
},
export default createE2ETestConfig('plugin-eslint-e2e', {
testTimeout: 20_000,
});
22 changes: 3 additions & 19 deletions e2e/plugin-js-packages-e2e/vitest.e2e.config.ts
Original file line number Diff line number Diff line change
@@ -1,21 +1,5 @@
/// <reference types="vitest" />
import { defineConfig } from 'vitest/config';
import { tsconfigPathAliases } from '../../tools/vitest-tsconfig-path-aliases.js';
import { createE2ETestConfig } from '../../testing/test-setup-config/src/index.js';

export default defineConfig({
cacheDir: '../../node_modules/.vite/plugin-js-packages-e2e',
test: {
reporters: ['basic'],
testTimeout: 120_000,
globals: true,
alias: tsconfigPathAliases(),
pool: 'threads',
poolOptions: { threads: { singleThread: true } },
cache: {
dir: '../../node_modules/.vitest',
},
environment: 'node',
include: ['tests/**/*.e2e.test.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'],
setupFiles: ['../../testing/test-setup/src/lib/reset.mocks.ts'],
},
export default createE2ETestConfig('plugin-js-packages-e2e', {
testTimeout: 120_000,
});
22 changes: 3 additions & 19 deletions e2e/plugin-jsdocs-e2e/vitest.e2e.config.ts
Original file line number Diff line number Diff line change
@@ -1,21 +1,5 @@
/// <reference types="vitest" />
import { defineConfig } from 'vitest/config';
import { tsconfigPathAliases } from '../../tools/vitest-tsconfig-path-aliases.js';
import { createE2ETestConfig } from '../../testing/test-setup-config/src/index.js';

export default defineConfig({
cacheDir: '../../node_modules/.vite/plugin-jsdocs-e2e',
test: {
reporters: ['basic'],
testTimeout: 20_000,
globals: true,
alias: tsconfigPathAliases(),
pool: 'threads',
poolOptions: { threads: { singleThread: true } },
cache: {
dir: '../../node_modules/.vitest',
},
environment: 'node',
include: ['tests/**/*.e2e.test.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'],
setupFiles: ['../../testing/test-setup/src/lib/reset.mocks.ts'],
},
export default createE2ETestConfig('plugin-jsdocs-e2e', {
testTimeout: 20_000,
});
22 changes: 3 additions & 19 deletions e2e/plugin-lighthouse-e2e/vitest.e2e.config.ts
Original file line number Diff line number Diff line change
@@ -1,21 +1,5 @@
/// <reference types="vitest" />
import { defineConfig } from 'vitest/config';
import { tsconfigPathAliases } from '../../tools/vitest-tsconfig-path-aliases.js';
import { createE2ETestConfig } from '../../testing/test-setup-config/src/index.js';

export default defineConfig({
cacheDir: '../../node_modules/.vite/plugin-lighthouse-e2e',
test: {
reporters: ['basic'],
testTimeout: 80_000,
globals: true,
alias: tsconfigPathAliases(),
pool: 'threads',
poolOptions: { threads: { singleThread: true } },
cache: {
dir: '../../node_modules/.vitest',
},
environment: 'node',
include: ['tests/**/*.e2e.test.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'],
setupFiles: ['../../testing/test-setup/src/lib/reset.mocks.ts'],
},
export default createE2ETestConfig('plugin-lighthouse-e2e', {
testTimeout: 80_000,
});
27 changes: 3 additions & 24 deletions e2e/plugin-typescript-e2e/vitest.e2e.config.ts
Original file line number Diff line number Diff line change
@@ -1,26 +1,5 @@
/// <reference types="vitest" />
import { defineConfig } from 'vitest/config';
import { tsconfigPathAliases } from '../../tools/vitest-tsconfig-path-aliases.js';
import { createE2ETestConfig } from '../../testing/test-setup-config/src/index.js';

export default defineConfig({
cacheDir: '../../node_modules/.vite/plugin-typescript-e2e',
test: {
reporters: ['basic'],
testTimeout: 20_000,
globals: true,
alias: tsconfigPathAliases(),
pool: 'threads',
poolOptions: { threads: { singleThread: true } },
coverage: {
reporter: ['text', 'lcov'],
reportsDirectory: '../../coverage/plugin-typescript-e2e/e2e-tests',
exclude: ['mocks/**', '**/types.ts'],
},
cache: {
dir: '../../node_modules/.vitest',
},
environment: 'node',
include: ['tests/**/*.e2e.test.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'],
setupFiles: ['../../testing/test-setup/src/lib/reset.mocks.ts'],
},
export default createE2ETestConfig('plugin-typescript-e2e', {
testTimeout: 20_000,
});
31 changes: 2 additions & 29 deletions examples/plugins/vitest.int.config.ts
Original file line number Diff line number Diff line change
@@ -1,30 +1,3 @@
/// <reference types="vitest" />
import { defineConfig } from 'vitest/config';
import { tsconfigPathAliases } from '../../tools/vitest-tsconfig-path-aliases.js';
import { createIntTestConfig } from '../../testing/test-setup-config/src/index.js';

export default defineConfig({
cacheDir: '../../node_modules/.vite/examples-plugins',
test: {
reporters: ['basic'],
globals: true,
cache: {
dir: '../../node_modules/.vitest',
},
alias: tsconfigPathAliases(),
pool: 'threads',
poolOptions: { threads: { singleThread: true } },
coverage: {
reporter: ['text', 'lcov'],
reportsDirectory: '../../coverage/examples-plugins/int-tests',
exclude: ['**/mocks/**', '**/mock/**', 'code-pushup.config.ts'],
},
environment: 'node',
include: ['src/**/*.int.test.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'],
globalSetup: ['../../global-setup.ts'],
setupFiles: [
'../../testing/test-setup/src/lib/git.mock.ts',
'../../testing/test-setup/src/lib/console.mock.ts',
'../../testing/test-setup/src/lib/reset.mocks.ts',
],
},
});
export default createIntTestConfig('examples-plugins');
32 changes: 2 additions & 30 deletions examples/plugins/vitest.unit.config.ts
Original file line number Diff line number Diff line change
@@ -1,31 +1,3 @@
/// <reference types="vitest" />
import { defineConfig } from 'vitest/config';
import { tsconfigPathAliases } from '../../tools/vitest-tsconfig-path-aliases.js';
import { createUnitTestConfig } from '../../testing/test-setup-config/src/index.js';

export default defineConfig({
cacheDir: '../../node_modules/.vite/examples-plugins',
test: {
reporters: ['basic'],
globals: true,
cache: {
dir: '../../node_modules/.vitest',
},
alias: tsconfigPathAliases(),
pool: 'threads',
poolOptions: { threads: { singleThread: true } },
coverage: {
reporter: ['text', 'lcov'],
reportsDirectory: '../../coverage/examples-plugins/unit-tests',
exclude: ['**/mocks/**', '**/mock/**', 'code-pushup.config.ts'],
},
environment: 'node',
include: ['src/**/*.unit.test.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'],
globalSetup: ['../../global-setup.ts'],
setupFiles: [
'../../testing/test-setup/src/lib/fs.mock.ts',
'../../testing/test-setup/src/lib/git.mock.ts',
'../../testing/test-setup/src/lib/console.mock.ts',
'../../testing/test-setup/src/lib/reset.mocks.ts',
],
},
});
export default createUnitTestConfig('examples-plugins');
17 changes: 16 additions & 1 deletion global-setup.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,18 @@
export async function setup() {
/* eslint-disable functional/immutable-data */

const originalCI = process.env['CI'];

export function setup() {
process.env.TZ = 'UTC';

// package is expected to run in CI environment
process.env['CI'] = 'true';
}

export function teardown() {
if (originalCI === undefined) {
delete process.env['CI'];
} else {
process.env['CI'] = originalCI;
}
}
Loading