diff --git a/.gitignore b/.gitignore index e20df5e..1e5999b 100644 --- a/.gitignore +++ b/.gitignore @@ -11,4 +11,5 @@ uncaughtExceptions.log src/*.json .idea test.ts -notes.md \ No newline at end of file +notes.md +.nvmrc \ No newline at end of file diff --git a/jest.config.ts b/jest.config.ts index ee0d397..e100760 100644 --- a/jest.config.ts +++ b/jest.config.ts @@ -9,19 +9,32 @@ const config: Config = { testTimeout: 100_000, coverageProvider: 'v8', moduleDirectories: ['node_modules', 'src'], - preset: 'ts-jest/presets/js-with-ts-esm', + preset: 'ts-jest/presets/default-esm', setupFilesAfterEnv: ['/test/jest-setup.ts'], testEnvironment: 'node', testRegex: ['.*\\.test\\.ts$'], - transformIgnorePatterns: ['node_modules/(?!cli-testing-library)'], + transformIgnorePatterns: [ + 'node_modules/(?!(cli-testing-library|@clack|cleye)/.*)' + ], transform: { - '^.+\\.(ts|tsx)$': [ + '^.+\\.(ts|tsx|js|jsx|mjs)$': [ 'ts-jest', { diagnostics: false, - useESM: true + useESM: true, + tsconfig: { + module: 'ESNext', + target: 'ES2022' + } } ] + }, + // Fix Haste module naming collision + modulePathIgnorePatterns: [ + '/test/e2e/prompt-module/data/' + ], + moduleNameMapper: { + '^(\\.{1,2}/.*)\\.js$': '$1' } }; diff --git a/test/jest-setup.ts b/test/jest-setup.ts index 29280f7..cd7b699 100644 --- a/test/jest-setup.ts +++ b/test/jest-setup.ts @@ -1,10 +1,10 @@ -import 'cli-testing-library/extend-expect' -import { configure } from 'cli-testing-library' import { jest } from '@jest/globals'; +import 'cli-testing-library/extend-expect'; +import { configure } from 'cli-testing-library'; global.jest = jest; /** * Adjusted the wait time for waitFor/findByText to 2000ms, because the default 1000ms makes the test results flaky */ -configure({ asyncUtilTimeout: 2000 }) +configure({ asyncUtilTimeout: 2000 });