diff --git a/packages/base/jest.config.ts b/packages/base/jest.config.ts deleted file mode 100644 index f1008d14..00000000 --- a/packages/base/jest.config.ts +++ /dev/null @@ -1,187 +0,0 @@ -/** - * For a detailed explanation regarding each configuration property, visit: - * https://jestjs.io/docs/configuration - */ - -import type { Config } from 'jest'; - -const config: Config = { - // All imported modules in your tests should be mocked automatically - // automock: false, - - // Stop running tests after `n` failures - // bail: 0, - - // The directory where Jest should store its cached dependency information - // cacheDirectory: "/private/var/folders/46/f0k6l2594mg21yh77r2msl8w0000gn/T/jest_dx", - - // Automatically clear mock calls, instances, contexts and results before every test - clearMocks: true, - - // Indicates whether the coverage information should be collected while executing the test - collectCoverage: true, - - // An array of glob patterns indicating a set of files for which coverage information should be collected - // collectCoverageFrom: undefined, - - // The directory where Jest should output its coverage files - coverageDirectory: 'coverage', - - // An array of regexp pattern strings used to skip coverage collection - // coveragePathIgnorePatterns: [ - // "/node_modules/" - // ], - - // Indicates which provider should be used to instrument code for coverage - // coverageProvider: "babel", - - // A list of reporter names that Jest uses when writing coverage reports - coverageReporters: ['json-summary', 'text'], - - // An object that configures minimum threshold enforcement for coverage results - // coverageThreshold: undefined, - - // A path to a custom dependency extractor - // dependencyExtractor: undefined, - - // Make calling deprecated APIs throw helpful error messages - // errorOnDeprecated: false, - - // The default configuration for fake timers - // fakeTimers: { - // "enableGlobally": false - // }, - - // Force coverage collection from ignored files using an array of glob patterns - // forceCoverageMatch: [], - - // A path to a module which exports an async function that is triggered once before all test suites - // globalSetup: undefined, - - // A path to a module which exports an async function that is triggered once after all test suites - // globalTeardown: undefined, - - // A set of global variables that need to be available in all test environments - - // The maximum amount of workers used to run your tests. Can be specified as % or a number. E.g. maxWorkers: 10% will use 10% of your CPU amount + 1 as the maximum worker number. maxWorkers: 2 will use a maximum of 2 workers. - // maxWorkers: "50%", - - // An array of directory names to be searched recursively up from the requiring module's location - // moduleDirectories: [ - // "node_modules" - // ], - - // An array of file extensions your modules use - // moduleFileExtensions: ['js', 'mjs', 'cjs', 'jsx', 'ts', 'tsx', 'json', 'node'], - - // A map from regular expressions to module names or to arrays of module names that allow to stub out resources with a single module - // moduleNameMapper: {}, - - // An array of regexp pattern strings, matched against all module paths before considered 'visible' to the module loader - // modulePathIgnorePatterns: [], - - // Activates notifications for test results - // notify: false, - - // An enum that specifies notification mode. Requires { notify: true } - // notifyMode: "failure-change", - - // A preset that is used as a base for Jest's configuration - // preset: 'babel-jest', - - // Run tests from one or more projects - // projects: undefined, - - // Use this configuration option to add custom reporters to Jest - reporters: [ - 'default', - [ - 'jest-junit', - { - outputDirectory: '.', - outputName: 'jest-report.xml', - }, - ], - ], - - // Automatically reset mock state before every test - // resetMocks: false, - - // Reset the module registry before running each individual test - // resetModules: false, - - // A path to a custom resolver - // resolver: undefined, - - // Automatically restore mock state and implementation before every test - // restoreMocks: false, - - // The root directory that Jest should scan for tests and modules within - // rootDir: undefined, - - // A list of paths to directories that Jest should use to search for files in - // roots: [ - // "" - // ], - - // Allows you to use a custom runner instead of Jest's default test runner - // runner: "jest-runner", - - // The paths to modules that run some code to configure or set up the testing environment before each test - // setupFiles: [], - - // A list of paths to modules that run some code to configure or set up the testing framework before each test - // setupFilesAfterEnv: [], - - // The number of seconds after which a test is considered as slow and reported as such in the results. - // slowTestThreshold: 5, - - // A list of paths to snapshot serializer modules Jest should use for snapshot testing - // snapshotSerializers: [], - - // The test environment that will be used for testing - testEnvironment: 'node', - - // Options that will be passed to the testEnvironment - // testEnvironmentOptions: {}, - - // Adds a location field to test results - // testLocationInResults: false, - - // The glob patterns Jest uses to detect test files - // testMatch: ['**/__tests__/**/*.[jt]s?(x)', '**/?(*.)+(spec|test).[tj]s?(x)'], - - // An array of regexp pattern strings that are matched against all test paths, matched tests are skipped - // testPathIgnorePatterns: [ - // "/node_modules/" - // ], - - // The regexp pattern or array of patterns that Jest uses to detect test files - // testRegex: [], - - // This option allows the use of a custom results processor - // testResultsProcessor: undefined, - - // This option allows use of a custom test runner - // testRunner: "jest-circus/runner", - - // A map from regular expressions to paths to transformers - transform: { '^.+\\.(js|jsx|ts|tsx)$': 'babel-jest', '^.+\\.js$': 'babel-jest' }, - - // An array of regexp pattern strings that are matched against all source file paths, matched files will skip transformation - transformIgnorePatterns: [], - - // An array of regexp pattern strings that are matched against all modules before the module loader will automatically return a mock for them - // unmockedModulePathPatterns: undefined, - - // Indicates whether each individual test should be reported during the run - // verbose: undefined, - - // An array of regexp patterns that are matched against all source file paths before re-running tests in watch mode - // watchPathIgnorePatterns: [], - - // Whether to use watchman for file crawling - // watchman: true, -}; - -export default config; diff --git a/packages/base/package.json b/packages/base/package.json index ab374fc7..60d3e6b1 100644 --- a/packages/base/package.json +++ b/packages/base/package.json @@ -23,8 +23,10 @@ "scripts": { "dev": "father dev", "build": "father build", - "test": "jest --config=jest.config.ts --detectOpenHandles", - "test:coverage": "jest --config=jest.config.ts --coverage --detectOpenHandles" + "test": "vitest", + "test:dev": "pnpm test -- --watch", + "test:coverage": "pnpm test -- --coverage", + "test:debug": "pnpm test -- --detectOpenHandles" }, "dependencies": { "eventemitter3": "^5.0.1" diff --git a/packages/base/src/__tests__/enhancedLocalStorageInWindow.test.ts b/packages/base/src/__tests__/enhancedLocalStorageInWindow.test.ts index 987c6b8f..58455fc9 100644 --- a/packages/base/src/__tests__/enhancedLocalStorageInWindow.test.ts +++ b/packages/base/src/__tests__/enhancedLocalStorageInWindow.test.ts @@ -2,7 +2,7 @@ const originalConsoleLog = console.log; describe('localStorageMock in window', () => { beforeEach(() => { - console.log = jest.fn(); + console.log = vi.fn(); (global as any).window = {}; }); afterEach(() => { diff --git a/packages/base/vite.config.ts b/packages/base/vite.config.ts new file mode 100644 index 00000000..08b9a087 --- /dev/null +++ b/packages/base/vite.config.ts @@ -0,0 +1,4 @@ +import baseViteConfig from '../tools/vite.config'; +import { mergeConfig } from 'vitest/config'; + +export default mergeConfig(baseViteConfig, {}); diff --git a/packages/base/vitest.setup.ts b/packages/base/vitest.setup.ts new file mode 100644 index 00000000..a5309360 --- /dev/null +++ b/packages/base/vitest.setup.ts @@ -0,0 +1,2 @@ +import '../tools/__mocks__/setupGlobal'; +import '../tools/__mocks__/setupLocal';