@teambit/jest 0.0.807 → 0.0.810

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -271,10 +271,17 @@ class JestTester {
271
271
  } // eslint-disable-next-line global-require,import/no-dynamic-require
272
272
 
273
273
 
274
- const jestConfig = require(this.jestConfig);
274
+ const jestConfig = require(this.jestConfig); // TODO: rollback this for now, as it makes issues.
275
+ // TODO: it's mostly relevant for when the root components feature is enabled.
276
+ // TODO: we might want to enable it only on that case (along with setting the env root dir as the root dir, above)
277
+ // const moduleNameMapper = await this.calculateModuleNameMapper(
278
+ // context.env,
279
+ // context.rootPath,
280
+ // context.additionalHostDependencies
281
+ // );
282
+ // jestConfig.moduleNameMapper = Object.assign({}, jestConfig.moduleNameMapper || {}, moduleNameMapper);
283
+
275
284
 
276
- const moduleNameMapper = await this.calculateModuleNameMapper(context.env, context.rootPath, context.additionalHostDependencies);
277
- jestConfig.moduleNameMapper = Object.assign({}, jestConfig.moduleNameMapper || {}, moduleNameMapper);
278
285
  const jestConfigWithSpecs = Object.assign(jestConfig, {
279
286
  testMatch: this.patternsToArray(context.patterns)
280
287
  });
@@ -289,6 +296,8 @@ class JestTester {
289
296
  async watch(context) {
290
297
  // eslint-disable-next-line
291
298
  return new Promise(async resolve => {
299
+ var _context$envRuntime$e;
300
+
292
301
  const workerApi = this.jestWorker.initiate(context.ui ? {
293
302
  stdout: true,
294
303
  stderr: true,
@@ -301,7 +310,12 @@ class JestTester {
301
310
 
302
311
  const jestConfig = require(this.jestConfig);
303
312
 
304
- const envRootDir = context.envRuntime.envAspectDefinition.aspectPath;
313
+ const envRootDir = (_context$envRuntime$e = context.envRuntime.envAspectDefinition) === null || _context$envRuntime$e === void 0 ? void 0 : _context$envRuntime$e.aspectPath;
314
+
315
+ if (!envRootDir) {
316
+ this.logger.warn(`jest tester, envRootDir is not defined, for env ${context.envRuntime.id}`);
317
+ }
318
+
305
319
  const jestConfigWithSpecs = Object.assign(jestConfig, {
306
320
  testMatch: this.patternsToArray(context.patterns)
307
321
  });
@@ -1 +1 @@
1
- {"version":3,"names":["JestTester","constructor","id","jestConfig","jestModulePath","jestWorker","logger","jestModule","require","displayConfig","readFileSync","version","getVersion","attachTestsToComponent","testerContext","testResult","ComponentMap","as","components","component","componentSpecFiles","patterns","get","undefined","specs","filter","test","pattern","minimatch","testFilePath","path","length","buildTestsObj","aggregatedResult","config","testsSuiteResult","toArray","map","testsFiles","errors","getErrors","tests","file","AbstractVinyl","contents","testResults","error","formatResultsErrors","noStackTrace","isFailure","status","TestResult","ancestorTitles","title","duration","filePath","basename","getError","testExecError","watch","JestError","failureMessage","message","stack","TestsFiles","numPassingTests","numFailingTests","numPendingTests","perfStats","runtime","slow","componentId","results","TestsResult","success","startTime","compact","reduce","code","type","push","onTestRunComplete","callback","_callback","context","rootDir","rootPath","roots","console","warn","debug","runInBand","coverage","watchAll","noCache","moduleNameMapper","calculateModuleNameMapper","env","additionalHostDependencies","Object","assign","jestConfigWithSpecs","testMatch","patternsToArray","withEnv","testsOutPut","runCLI","componentsWithTests","componentTestResults","Tests","Promise","resolve","workerApi","initiate","ui","stdout","stderr","stdin","envRootDir","envRuntime","envAspectDefinition","aspectPath","cbFn","proxy","globalErrors","watchTestResults","loading","onTestComplete","err","peerDepsConfig","getDependencies","peersAutoDetectPolicy","PeersAutoDetectPolicy","peers","keys","peerDependencies","concat","names","depsToMap","mappedValues","acc","peerName","keyName","internalPathKeyName","flatten","p"],"sources":["jest.tester.ts"],"sourcesContent":["import { readFileSync } from 'fs-extra';\nimport minimatch from 'minimatch';\nimport { compact, flatten } from 'lodash';\nimport { proxy } from 'comlink';\nimport { Logger } from '@teambit/logger';\nimport { HarmonyWorker } from '@teambit/worker';\nimport { Tester, CallbackFn, TesterContext, Tests, ComponentPatternsMap, ComponentsResults } from '@teambit/tester';\nimport { TestsFiles, TestResult, TestsResult } from '@teambit/tests-results';\nimport { TestResult as JestTestResult, AggregatedResult } from '@jest/test-result';\nimport { formatResultsErrors } from 'jest-message-util';\nimport { ComponentMap } from '@teambit/component';\nimport { AbstractVinyl } from '@teambit/legacy/dist/consumer/component/sources';\nimport { Environment } from '@teambit/envs';\nimport { EnvPolicyConfigObject, PeersAutoDetectPolicy } from '@teambit/dependency-resolver';\nimport type jest from 'jest';\nimport { JestError } from './error';\nimport type { JestWorker } from './jest.worker';\n\nexport class JestTester implements Tester {\n private readonly jestModule: typeof jest;\n\n constructor(\n readonly id: string,\n readonly jestConfig: any,\n private jestModulePath: string,\n private jestWorker: HarmonyWorker<JestWorker>,\n private logger: Logger\n ) {\n // eslint-disable-next-line global-require,import/no-dynamic-require\n this.jestModule = require(jestModulePath);\n }\n\n configPath = this.jestConfig;\n\n displayName = 'Jest';\n\n _callback: CallbackFn | undefined;\n\n displayConfig() {\n return readFileSync(this.jestConfig, 'utf8');\n }\n\n version() {\n return this.jestModule.getVersion();\n }\n\n private attachTestsToComponent(testerContext: TesterContext, testResult: JestTestResult[]) {\n return ComponentMap.as(testerContext.components, (component) => {\n const componentSpecFiles = testerContext.patterns.get(component);\n if (!componentSpecFiles) return undefined;\n const [, specs] = componentSpecFiles;\n return testResult.filter((test) => {\n return specs.filter((pattern) => minimatch(test.testFilePath, pattern.path)).length > 0;\n });\n });\n }\n\n private buildTestsObj(\n aggregatedResult: AggregatedResult,\n components: ComponentMap<JestTestResult[] | undefined>,\n testerContext: TesterContext,\n config?: any\n ): ComponentsResults[] {\n const testsSuiteResult = components.toArray().map(([component, testsFiles]) => {\n if (!testsFiles) return undefined;\n if (testsFiles?.length === 0) return undefined;\n const errors = this.getErrors(testsFiles);\n const tests = testsFiles.map((test) => {\n const file = new AbstractVinyl({ path: test.testFilePath, contents: readFileSync(test.testFilePath) });\n const testResults = test.testResults.map((testResult) => {\n const error = formatResultsErrors([testResult], config, { noStackTrace: true }) || undefined;\n const isFailure = testResult.status === 'failed';\n return new TestResult(\n testResult.ancestorTitles,\n testResult.title,\n testResult.status,\n testResult.duration,\n isFailure ? undefined : error,\n isFailure ? error : undefined\n );\n });\n const filePath = file?.basename || test.testFilePath;\n const getError = () => {\n if (!test.testExecError) return undefined;\n if (testerContext.watch) {\n // for some reason, during watch ('bit start'), if a file has an error, the `test.testExecError` is `{}`\n // (an empty object). the failureMessage contains the stringified error.\n // @todo: consider to always use the failureMessage, regardless the context.watch.\n return new JestError(test.failureMessage as string);\n }\n return new JestError(test.testExecError?.message, test.testExecError?.stack);\n };\n const error = getError();\n return new TestsFiles(\n filePath,\n testResults,\n test.numPassingTests,\n test.numFailingTests,\n test.numPendingTests,\n test.perfStats.runtime,\n test.perfStats.slow,\n error\n );\n });\n return {\n componentId: component.id,\n results: new TestsResult(tests, aggregatedResult.success, aggregatedResult.startTime),\n errors,\n };\n });\n\n return compact(testsSuiteResult);\n }\n\n private getErrors(testResult: JestTestResult[]): JestError[] {\n return testResult.reduce((errors: JestError[], test) => {\n if (test.testExecError) {\n const { message, stack, code, type } = test.testExecError;\n errors.push(new JestError(message, stack, code, type));\n } else if (test.failureMessage) {\n errors.push(new JestError(test.failureMessage));\n }\n return errors;\n }, []);\n }\n\n async onTestRunComplete(callback: CallbackFn) {\n this._callback = callback;\n }\n\n async test(context: TesterContext): Promise<Tests> {\n // const envRootDir = context.envRuntime.envAspectDefinition.aspectPath;\n\n const config: any = {\n // Setting the rootDir to the env root dir to make sure we can resolve all the jest presets/plugins\n // from the env context\n // rootDir: envRootDir,\n // TODO: set it to envRootDir and make sure we can make the --coverage to work\n // with the current value as context.rootPath it will probably won't work correctly when using rootComponents:true (maybe even won't work at all)\n // TODO: when changing to envRootDir we have some issues with the react-native tests. so once changed again, it needs to be validated.\n rootDir: context.rootPath,\n // Setting the roots (where to search for spec files) to the root path (either workspace or capsule root)\n // TODO: consider change this to be an array of the components running dir.\n // TODO: aka: in the workspace it will be something like <ws>/node_modules/<comp-package-name>/node_modules/<comp-package-name>\n // TODO: see dependencyResolver.getRuntimeModulePath (this will make sure the peer deps resolved correctly)\n // TODO: (@GiladShoham - when trying to set it to this paths, jest ignores it probably because the paths contains \"node_modules\"\n // TODO: trying to set the https://jestjs.io/docs/27.x/configuration#testpathignorepatterns-arraystring to something else (as it contain node_modules by default)\n // TODO: didn't help)\n roots: [context.rootPath],\n };\n\n // eslint-disable-next-line no-console\n console.warn = (message: string) => {\n this.logger.warn(message);\n };\n\n if (context.debug) {\n config.debug = true;\n config.runInBand = true;\n }\n if (context.coverage) config.coverage = true;\n config.runInBand = true;\n\n if (context.watch) {\n config.watchAll = true;\n config.noCache = true;\n }\n // eslint-disable-next-line global-require,import/no-dynamic-require\n const jestConfig = require(this.jestConfig);\n\n const moduleNameMapper = await this.calculateModuleNameMapper(\n context.env,\n context.rootPath,\n context.additionalHostDependencies\n );\n jestConfig.moduleNameMapper = Object.assign({}, jestConfig.moduleNameMapper || {}, moduleNameMapper);\n\n const jestConfigWithSpecs = Object.assign(jestConfig, {\n testMatch: this.patternsToArray(context.patterns),\n });\n\n const withEnv = Object.assign(jestConfigWithSpecs, config);\n\n const testsOutPut = await this.jestModule.runCLI(withEnv, [this.jestConfig]);\n const testResults = testsOutPut.results.testResults;\n const componentsWithTests = this.attachTestsToComponent(context, testResults);\n const componentTestResults = this.buildTestsObj(\n testsOutPut.results,\n componentsWithTests,\n context,\n jestConfigWithSpecs\n );\n return new Tests(componentTestResults);\n }\n\n async watch(context: TesterContext): Promise<Tests> {\n // eslint-disable-next-line\n return new Promise(async (resolve) => {\n const workerApi = this.jestWorker.initiate(\n context.ui ? { stdout: true, stderr: true, stdin: true } : { stdout: false, stderr: false, stdin: false }\n );\n\n // eslint-disable-next-line\n const jestConfig = require(this.jestConfig);\n\n const envRootDir = context.envRuntime.envAspectDefinition.aspectPath;\n\n const jestConfigWithSpecs = Object.assign(jestConfig, {\n testMatch: this.patternsToArray(context.patterns),\n });\n\n try {\n const cbFn = proxy((results) => {\n if (!this._callback) return;\n const testResults = results.testResults;\n const componentsWithTests = this.attachTestsToComponent(context, testResults);\n const componentTestResults = this.buildTestsObj(results, componentsWithTests, context, jestConfigWithSpecs);\n const globalErrors = this.getErrors(testResults);\n const watchTestResults = {\n loading: false,\n errors: globalErrors,\n components: componentTestResults,\n };\n this._callback(watchTestResults);\n resolve(watchTestResults);\n });\n\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n await workerApi.onTestComplete(cbFn);\n\n await workerApi.watch(\n this.jestConfig,\n this.patternsToArray(context.patterns),\n context.rootPath,\n this.jestModulePath,\n envRootDir\n );\n } catch (err: any) {\n this.logger.error('jest.tester.watch() caught an error', err);\n }\n });\n }\n\n private async calculateModuleNameMapper(\n env: Environment,\n rootPath: string,\n additionalHostDependencies?: string[]\n ): Promise<Record<string, Array<string>>> {\n const peerDepsConfig: EnvPolicyConfigObject = await env.getDependencies();\n const peersAutoDetectPolicy = new PeersAutoDetectPolicy(peerDepsConfig.peers || []);\n const peers = Object.keys(peerDepsConfig.peerDependencies || {}).concat(peersAutoDetectPolicy?.names);\n const depsToMap = peers.concat(additionalHostDependencies || []);\n\n /**\n * Try to resolve the dependency from the rootDir (the env dir) or from the root path (workspace/capsule root)\n */\n const mappedValues = ['<rootDir>/node_modules/$1', `${rootPath}/node_modules/$1`];\n\n const moduleNameMapper = depsToMap.reduce((acc, peerName) => {\n const keyName = `^(${peerName})$`;\n acc[keyName] = mappedValues;\n const internalPathKeyName = `^(${peerName}/.*)$`;\n acc[internalPathKeyName] = mappedValues;\n return acc;\n }, {});\n\n return moduleNameMapper;\n }\n\n private patternsToArray(patterns: ComponentPatternsMap) {\n return flatten(patterns.toArray().map(([, pattern]) => pattern.map((p) => p.path)));\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["JestTester","constructor","id","jestConfig","jestModulePath","jestWorker","logger","jestModule","require","displayConfig","readFileSync","version","getVersion","attachTestsToComponent","testerContext","testResult","ComponentMap","as","components","component","componentSpecFiles","patterns","get","undefined","specs","filter","test","pattern","minimatch","testFilePath","path","length","buildTestsObj","aggregatedResult","config","testsSuiteResult","toArray","map","testsFiles","errors","getErrors","tests","file","AbstractVinyl","contents","testResults","error","formatResultsErrors","noStackTrace","isFailure","status","TestResult","ancestorTitles","title","duration","filePath","basename","getError","testExecError","watch","JestError","failureMessage","message","stack","TestsFiles","numPassingTests","numFailingTests","numPendingTests","perfStats","runtime","slow","componentId","results","TestsResult","success","startTime","compact","reduce","code","type","push","onTestRunComplete","callback","_callback","context","rootDir","rootPath","roots","console","warn","debug","runInBand","coverage","watchAll","noCache","jestConfigWithSpecs","Object","assign","testMatch","patternsToArray","withEnv","testsOutPut","runCLI","componentsWithTests","componentTestResults","Tests","Promise","resolve","workerApi","initiate","ui","stdout","stderr","stdin","envRootDir","envRuntime","envAspectDefinition","aspectPath","cbFn","proxy","globalErrors","watchTestResults","loading","onTestComplete","err","calculateModuleNameMapper","env","additionalHostDependencies","peerDepsConfig","getDependencies","peersAutoDetectPolicy","PeersAutoDetectPolicy","peers","keys","peerDependencies","concat","names","depsToMap","mappedValues","moduleNameMapper","acc","peerName","keyName","internalPathKeyName","flatten","p"],"sources":["jest.tester.ts"],"sourcesContent":["import { readFileSync } from 'fs-extra';\nimport minimatch from 'minimatch';\nimport { compact, flatten } from 'lodash';\nimport { proxy } from 'comlink';\nimport { Logger } from '@teambit/logger';\nimport { HarmonyWorker } from '@teambit/worker';\nimport { Tester, CallbackFn, TesterContext, Tests, ComponentPatternsMap, ComponentsResults } from '@teambit/tester';\nimport { TestsFiles, TestResult, TestsResult } from '@teambit/tests-results';\nimport { TestResult as JestTestResult, AggregatedResult } from '@jest/test-result';\nimport { formatResultsErrors } from 'jest-message-util';\nimport { ComponentMap } from '@teambit/component';\nimport { AbstractVinyl } from '@teambit/legacy/dist/consumer/component/sources';\nimport { Environment } from '@teambit/envs';\nimport { EnvPolicyConfigObject, PeersAutoDetectPolicy } from '@teambit/dependency-resolver';\nimport type jest from 'jest';\nimport { JestError } from './error';\nimport type { JestWorker } from './jest.worker';\n\nexport class JestTester implements Tester {\n private readonly jestModule: typeof jest;\n\n constructor(\n readonly id: string,\n readonly jestConfig: any,\n private jestModulePath: string,\n private jestWorker: HarmonyWorker<JestWorker>,\n private logger: Logger\n ) {\n // eslint-disable-next-line global-require,import/no-dynamic-require\n this.jestModule = require(jestModulePath);\n }\n\n configPath = this.jestConfig;\n\n displayName = 'Jest';\n\n _callback: CallbackFn | undefined;\n\n displayConfig() {\n return readFileSync(this.jestConfig, 'utf8');\n }\n\n version() {\n return this.jestModule.getVersion();\n }\n\n private attachTestsToComponent(testerContext: TesterContext, testResult: JestTestResult[]) {\n return ComponentMap.as(testerContext.components, (component) => {\n const componentSpecFiles = testerContext.patterns.get(component);\n if (!componentSpecFiles) return undefined;\n const [, specs] = componentSpecFiles;\n return testResult.filter((test) => {\n return specs.filter((pattern) => minimatch(test.testFilePath, pattern.path)).length > 0;\n });\n });\n }\n\n private buildTestsObj(\n aggregatedResult: AggregatedResult,\n components: ComponentMap<JestTestResult[] | undefined>,\n testerContext: TesterContext,\n config?: any\n ): ComponentsResults[] {\n const testsSuiteResult = components.toArray().map(([component, testsFiles]) => {\n if (!testsFiles) return undefined;\n if (testsFiles?.length === 0) return undefined;\n const errors = this.getErrors(testsFiles);\n const tests = testsFiles.map((test) => {\n const file = new AbstractVinyl({ path: test.testFilePath, contents: readFileSync(test.testFilePath) });\n const testResults = test.testResults.map((testResult) => {\n const error = formatResultsErrors([testResult], config, { noStackTrace: true }) || undefined;\n const isFailure = testResult.status === 'failed';\n return new TestResult(\n testResult.ancestorTitles,\n testResult.title,\n testResult.status,\n testResult.duration,\n isFailure ? undefined : error,\n isFailure ? error : undefined\n );\n });\n const filePath = file?.basename || test.testFilePath;\n const getError = () => {\n if (!test.testExecError) return undefined;\n if (testerContext.watch) {\n // for some reason, during watch ('bit start'), if a file has an error, the `test.testExecError` is `{}`\n // (an empty object). the failureMessage contains the stringified error.\n // @todo: consider to always use the failureMessage, regardless the context.watch.\n return new JestError(test.failureMessage as string);\n }\n return new JestError(test.testExecError?.message, test.testExecError?.stack);\n };\n const error = getError();\n return new TestsFiles(\n filePath,\n testResults,\n test.numPassingTests,\n test.numFailingTests,\n test.numPendingTests,\n test.perfStats.runtime,\n test.perfStats.slow,\n error\n );\n });\n return {\n componentId: component.id,\n results: new TestsResult(tests, aggregatedResult.success, aggregatedResult.startTime),\n errors,\n };\n });\n\n return compact(testsSuiteResult);\n }\n\n private getErrors(testResult: JestTestResult[]): JestError[] {\n return testResult.reduce((errors: JestError[], test) => {\n if (test.testExecError) {\n const { message, stack, code, type } = test.testExecError;\n errors.push(new JestError(message, stack, code, type));\n } else if (test.failureMessage) {\n errors.push(new JestError(test.failureMessage));\n }\n return errors;\n }, []);\n }\n\n async onTestRunComplete(callback: CallbackFn) {\n this._callback = callback;\n }\n\n async test(context: TesterContext): Promise<Tests> {\n // const envRootDir = context.envRuntime.envAspectDefinition.aspectPath;\n\n const config: any = {\n // Setting the rootDir to the env root dir to make sure we can resolve all the jest presets/plugins\n // from the env context\n // rootDir: envRootDir,\n // TODO: set it to envRootDir and make sure we can make the --coverage to work\n // with the current value as context.rootPath it will probably won't work correctly when using rootComponents:true (maybe even won't work at all)\n // TODO: when changing to envRootDir we have some issues with the react-native tests. so once changed again, it needs to be validated.\n rootDir: context.rootPath,\n // Setting the roots (where to search for spec files) to the root path (either workspace or capsule root)\n // TODO: consider change this to be an array of the components running dir.\n // TODO: aka: in the workspace it will be something like <ws>/node_modules/<comp-package-name>/node_modules/<comp-package-name>\n // TODO: see dependencyResolver.getRuntimeModulePath (this will make sure the peer deps resolved correctly)\n // TODO: (@GiladShoham - when trying to set it to this paths, jest ignores it probably because the paths contains \"node_modules\"\n // TODO: trying to set the https://jestjs.io/docs/27.x/configuration#testpathignorepatterns-arraystring to something else (as it contain node_modules by default)\n // TODO: didn't help)\n roots: [context.rootPath],\n };\n\n // eslint-disable-next-line no-console\n console.warn = (message: string) => {\n this.logger.warn(message);\n };\n\n if (context.debug) {\n config.debug = true;\n config.runInBand = true;\n }\n if (context.coverage) config.coverage = true;\n config.runInBand = true;\n\n if (context.watch) {\n config.watchAll = true;\n config.noCache = true;\n }\n // eslint-disable-next-line global-require,import/no-dynamic-require\n const jestConfig = require(this.jestConfig);\n\n // TODO: rollback this for now, as it makes issues.\n // TODO: it's mostly relevant for when the root components feature is enabled.\n // TODO: we might want to enable it only on that case (along with setting the env root dir as the root dir, above)\n // const moduleNameMapper = await this.calculateModuleNameMapper(\n // context.env,\n // context.rootPath,\n // context.additionalHostDependencies\n // );\n // jestConfig.moduleNameMapper = Object.assign({}, jestConfig.moduleNameMapper || {}, moduleNameMapper);\n\n const jestConfigWithSpecs = Object.assign(jestConfig, {\n testMatch: this.patternsToArray(context.patterns),\n });\n\n const withEnv = Object.assign(jestConfigWithSpecs, config);\n\n const testsOutPut = await this.jestModule.runCLI(withEnv, [this.jestConfig]);\n const testResults = testsOutPut.results.testResults;\n const componentsWithTests = this.attachTestsToComponent(context, testResults);\n const componentTestResults = this.buildTestsObj(\n testsOutPut.results,\n componentsWithTests,\n context,\n jestConfigWithSpecs\n );\n return new Tests(componentTestResults);\n }\n\n async watch(context: TesterContext): Promise<Tests> {\n // eslint-disable-next-line\n return new Promise(async (resolve) => {\n const workerApi = this.jestWorker.initiate(\n context.ui ? { stdout: true, stderr: true, stdin: true } : { stdout: false, stderr: false, stdin: false }\n );\n\n // eslint-disable-next-line\n const jestConfig = require(this.jestConfig);\n\n\n const envRootDir = context.envRuntime.envAspectDefinition?.aspectPath;\n if (!envRootDir) {\n this.logger.warn(`jest tester, envRootDir is not defined, for env ${context.envRuntime.id}`);\n }\n\n const jestConfigWithSpecs = Object.assign(jestConfig, {\n testMatch: this.patternsToArray(context.patterns),\n });\n\n try {\n const cbFn = proxy((results) => {\n if (!this._callback) return;\n const testResults = results.testResults;\n const componentsWithTests = this.attachTestsToComponent(context, testResults);\n const componentTestResults = this.buildTestsObj(results, componentsWithTests, context, jestConfigWithSpecs);\n const globalErrors = this.getErrors(testResults);\n const watchTestResults = {\n loading: false,\n errors: globalErrors,\n components: componentTestResults,\n };\n this._callback(watchTestResults);\n resolve(watchTestResults);\n });\n\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n await workerApi.onTestComplete(cbFn);\n\n await workerApi.watch(\n this.jestConfig,\n this.patternsToArray(context.patterns),\n context.rootPath,\n this.jestModulePath,\n envRootDir\n );\n } catch (err: any) {\n this.logger.error('jest.tester.watch() caught an error', err);\n }\n });\n }\n\n private async calculateModuleNameMapper(\n env: Environment,\n rootPath: string,\n additionalHostDependencies?: string[]\n ): Promise<Record<string, Array<string>>> {\n const peerDepsConfig: EnvPolicyConfigObject = await env.getDependencies();\n const peersAutoDetectPolicy = new PeersAutoDetectPolicy(peerDepsConfig.peers || []);\n const peers = Object.keys(peerDepsConfig.peerDependencies || {}).concat(peersAutoDetectPolicy?.names);\n const depsToMap = peers.concat(additionalHostDependencies || []);\n\n /**\n * Try to resolve the dependency from the rootDir (the env dir) or from the root path (workspace/capsule root)\n */\n const mappedValues = ['<rootDir>/node_modules/$1', `${rootPath}/node_modules/$1`];\n\n const moduleNameMapper = depsToMap.reduce((acc, peerName) => {\n const keyName = `^(${peerName})$`;\n acc[keyName] = mappedValues;\n const internalPathKeyName = `^(${peerName}/.*)$`;\n acc[internalPathKeyName] = mappedValues;\n return acc;\n }, {});\n\n return moduleNameMapper;\n }\n\n private patternsToArray(patterns: ComponentPatternsMap) {\n return flatten(patterns.toArray().map(([, pattern]) => pattern.map((p) => p.path)));\n }\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/jest",
3
- "version": "0.0.807",
3
+ "version": "0.0.810",
4
4
  "homepage": "https://bit.dev/teambit/defender/jest",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.defender",
8
8
  "name": "jest",
9
- "version": "0.0.807"
9
+ "version": "0.0.810"
10
10
  },
11
11
  "dependencies": {
12
12
  "lodash": "4.17.21",
@@ -20,13 +20,13 @@
20
20
  "@babel/runtime": "7.12.18",
21
21
  "core-js": "^3.0.0",
22
22
  "@teambit/harmony": "0.3.3",
23
- "@teambit/cli": "0.0.538",
24
- "@teambit/logger": "0.0.631",
25
- "@teambit/worker": "0.0.807",
26
- "@teambit/component": "0.0.807",
27
- "@teambit/dependency-resolver": "0.0.807",
28
- "@teambit/envs": "0.0.807",
29
- "@teambit/tester": "0.0.807",
23
+ "@teambit/cli": "0.0.541",
24
+ "@teambit/logger": "0.0.634",
25
+ "@teambit/worker": "0.0.810",
26
+ "@teambit/component": "0.0.810",
27
+ "@teambit/dependency-resolver": "0.0.810",
28
+ "@teambit/envs": "0.0.810",
29
+ "@teambit/tester": "0.0.810",
30
30
  "@teambit/tests-results": "0.0.97"
31
31
  },
32
32
  "devDependencies": {
@@ -40,7 +40,7 @@
40
40
  "@types/node": "12.20.4"
41
41
  },
42
42
  "peerDependencies": {
43
- "@teambit/legacy": "1.0.321",
43
+ "@teambit/legacy": "1.0.324",
44
44
  "jest": "27.5.1",
45
45
  "react-dom": "^16.8.0 || ^17.0.0",
46
46
  "react": "^16.8.0 || ^17.0.0"
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.defender_jest@0.0.807/dist/jest.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.defender_jest@0.0.807/dist/jest.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.defender_jest@0.0.810/dist/jest.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.defender_jest@0.0.810/dist/jest.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];