@teambit/jest 0.0.801 → 0.0.804
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.
- package/dist/calc-root-dir.d.ts +1 -0
- package/dist/calc-root-dir.js +45 -0
- package/dist/calc-root-dir.js.map +1 -0
- package/dist/jest.tester.d.ts +1 -0
- package/dist/jest.tester.js +52 -11
- package/dist/jest.tester.js.map +1 -1
- package/dist/jest.worker.d.ts +1 -1
- package/dist/jest.worker.js +15 -3
- package/dist/jest.worker.js.map +1 -1
- package/package-tar/teambit-jest-0.0.804.tgz +0 -0
- package/package.json +12 -11
- package/{preview-1659065375106.js → preview-1659347901202.js} +2 -2
- package/package-tar/teambit-jest-0.0.801.tgz +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function getRootDirFromConfigPath(configPath: string): string;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("core-js/modules/es.regexp.exec.js");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.getRootDirFromConfigPath = getRootDirFromConfigPath;
|
|
9
|
+
|
|
10
|
+
function _lodash() {
|
|
11
|
+
const data = require("lodash");
|
|
12
|
+
|
|
13
|
+
_lodash = function () {
|
|
14
|
+
return data;
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
return data;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
function _path() {
|
|
21
|
+
const data = require("path");
|
|
22
|
+
|
|
23
|
+
_path = function () {
|
|
24
|
+
return data;
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
return data;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
function getRootDirFromConfigPath(configPath) {
|
|
31
|
+
const splitted = configPath.split('node_modules');
|
|
32
|
+
const last = splitted[splitted.length - 1];
|
|
33
|
+
const lastSplitted = (0, _lodash().compact)(last.split(_path().sep));
|
|
34
|
+
let lastModule = lastSplitted[0];
|
|
35
|
+
|
|
36
|
+
if (lastSplitted[0].startsWith('@')) {
|
|
37
|
+
lastModule = (0, _path().join)(lastSplitted[0], lastSplitted[1]);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
splitted[splitted.length - 1] = `${_path().sep}${lastModule}`;
|
|
41
|
+
const final = splitted.join('node_modules');
|
|
42
|
+
return final;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
//# sourceMappingURL=calc-root-dir.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["getRootDirFromConfigPath","configPath","splitted","split","last","length","lastSplitted","compact","sep","lastModule","startsWith","join","final"],"sources":["calc-root-dir.ts"],"sourcesContent":["import { compact } from 'lodash';\nimport { join, sep } from 'path';\n\nexport function getRootDirFromConfigPath(configPath: string): string {\n const splitted = configPath.split('node_modules');\n const last = splitted[splitted.length - 1];\n const lastSplitted = compact(last.split(sep));\n let lastModule = lastSplitted[0];\n if (lastSplitted[0].startsWith('@')) {\n lastModule = join(lastSplitted[0], lastSplitted[1]);\n }\n splitted[splitted.length - 1] = `${sep}${lastModule}`;\n const final = splitted.join('node_modules');\n return final;\n}\n"],"mappings":";;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEO,SAASA,wBAAT,CAAkCC,UAAlC,EAA8D;EACnE,MAAMC,QAAQ,GAAGD,UAAU,CAACE,KAAX,CAAiB,cAAjB,CAAjB;EACA,MAAMC,IAAI,GAAGF,QAAQ,CAACA,QAAQ,CAACG,MAAT,GAAkB,CAAnB,CAArB;EACA,MAAMC,YAAY,GAAG,IAAAC,iBAAA,EAAQH,IAAI,CAACD,KAAL,CAAWK,WAAX,CAAR,CAArB;EACA,IAAIC,UAAU,GAAGH,YAAY,CAAC,CAAD,CAA7B;;EACA,IAAIA,YAAY,CAAC,CAAD,CAAZ,CAAgBI,UAAhB,CAA2B,GAA3B,CAAJ,EAAqC;IACnCD,UAAU,GAAG,IAAAE,YAAA,EAAKL,YAAY,CAAC,CAAD,CAAjB,EAAsBA,YAAY,CAAC,CAAD,CAAlC,CAAb;EACD;;EACDJ,QAAQ,CAACA,QAAQ,CAACG,MAAT,GAAkB,CAAnB,CAAR,GAAiC,GAAEG,WAAI,GAAEC,UAAW,EAApD;EACA,MAAMG,KAAK,GAAGV,QAAQ,CAACS,IAAT,CAAc,cAAd,CAAd;EACA,OAAOC,KAAP;AACD"}
|
package/dist/jest.tester.d.ts
CHANGED
|
@@ -21,5 +21,6 @@ export declare class JestTester implements Tester {
|
|
|
21
21
|
onTestRunComplete(callback: CallbackFn): Promise<void>;
|
|
22
22
|
test(context: TesterContext): Promise<Tests>;
|
|
23
23
|
watch(context: TesterContext): Promise<Tests>;
|
|
24
|
+
private calculateModuleNameMapper;
|
|
24
25
|
private patternsToArray;
|
|
25
26
|
}
|
package/dist/jest.tester.js
CHANGED
|
@@ -111,6 +111,16 @@ function _sources() {
|
|
|
111
111
|
return data;
|
|
112
112
|
}
|
|
113
113
|
|
|
114
|
+
function _dependencyResolver() {
|
|
115
|
+
const data = require("@teambit/dependency-resolver");
|
|
116
|
+
|
|
117
|
+
_dependencyResolver = function () {
|
|
118
|
+
return data;
|
|
119
|
+
};
|
|
120
|
+
|
|
121
|
+
return data;
|
|
122
|
+
}
|
|
123
|
+
|
|
114
124
|
function _error() {
|
|
115
125
|
const data = require("./error");
|
|
116
126
|
|
|
@@ -142,14 +152,7 @@ class JestTester {
|
|
|
142
152
|
|
|
143
153
|
version() {
|
|
144
154
|
return this.jestModule.getVersion();
|
|
145
|
-
}
|
|
146
|
-
// return testerContext.specFiles.toArray().reduce((acc: AbstractVinyl | undefined, [, specs]) => {
|
|
147
|
-
// const file = specs.find((spec) => spec.path === path);
|
|
148
|
-
// if (file) acc = file;
|
|
149
|
-
// return acc;
|
|
150
|
-
// }, undefined);
|
|
151
|
-
// }
|
|
152
|
-
|
|
155
|
+
}
|
|
153
156
|
|
|
154
157
|
attachTestsToComponent(testerContext, testResult) {
|
|
155
158
|
return _component().ComponentMap.as(testerContext.components, component => {
|
|
@@ -231,15 +234,30 @@ class JestTester {
|
|
|
231
234
|
}
|
|
232
235
|
|
|
233
236
|
async test(context) {
|
|
237
|
+
const envRootDir = context.envRuntime.envAspectDefinition.aspectPath;
|
|
234
238
|
const config = {
|
|
235
|
-
rootDir
|
|
239
|
+
// Setting the rootDir to the env root dir to make sure we can resolve all the jest presets/plugins
|
|
240
|
+
// from the env context
|
|
241
|
+
rootDir: envRootDir,
|
|
242
|
+
// Setting the roots (where to search for spec files) to the root path (either workspace or capsule root)
|
|
243
|
+
// TODO: consider change this to be an array of the components running dir.
|
|
244
|
+
// TODO: aka: in the workspace it will be something like <ws>/node_modules/<comp-package-name>/node_modules/<comp-package-name>
|
|
245
|
+
// TODO: see dependencyResolver.getRuntimeModulePath (this will make sure the peer deps resolved correctly)
|
|
246
|
+
// TODO: (@GiladShoham - when trying to set it to this paths, jest ignores it probably because the paths contains "node_modules"
|
|
247
|
+
// TODO: trying to set the https://jestjs.io/docs/27.x/configuration#testpathignorepatterns-arraystring to something else (as it contain node_modules by default)
|
|
248
|
+
// TODO: didn't help)
|
|
249
|
+
roots: [context.rootPath]
|
|
236
250
|
}; // eslint-disable-next-line no-console
|
|
237
251
|
|
|
238
252
|
console.warn = message => {
|
|
239
253
|
this.logger.warn(message);
|
|
240
254
|
};
|
|
241
255
|
|
|
242
|
-
if (context.debug)
|
|
256
|
+
if (context.debug) {
|
|
257
|
+
config.debug = true;
|
|
258
|
+
config.runInBand = true;
|
|
259
|
+
}
|
|
260
|
+
|
|
243
261
|
if (context.coverage) config.coverage = true;
|
|
244
262
|
config.runInBand = true;
|
|
245
263
|
|
|
@@ -251,6 +269,8 @@ class JestTester {
|
|
|
251
269
|
|
|
252
270
|
const jestConfig = require(this.jestConfig);
|
|
253
271
|
|
|
272
|
+
const moduleNameMapper = await this.calculateModuleNameMapper(context.env, context.rootPath, context.additionalHostDependencies);
|
|
273
|
+
jestConfig.moduleNameMapper = Object.assign({}, jestConfig.moduleNameMapper || {}, moduleNameMapper);
|
|
254
274
|
const jestConfigWithSpecs = Object.assign(jestConfig, {
|
|
255
275
|
testMatch: this.patternsToArray(context.patterns)
|
|
256
276
|
});
|
|
@@ -277,6 +297,7 @@ class JestTester {
|
|
|
277
297
|
|
|
278
298
|
const jestConfig = require(this.jestConfig);
|
|
279
299
|
|
|
300
|
+
const envRootDir = context.envRuntime.envAspectDefinition.aspectPath;
|
|
280
301
|
const jestConfigWithSpecs = Object.assign(jestConfig, {
|
|
281
302
|
testMatch: this.patternsToArray(context.patterns)
|
|
282
303
|
});
|
|
@@ -300,13 +321,33 @@ class JestTester {
|
|
|
300
321
|
}); // eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
301
322
|
|
|
302
323
|
await workerApi.onTestComplete(cbFn);
|
|
303
|
-
await workerApi.watch(this.jestConfig, this.patternsToArray(context.patterns), context.rootPath, this.jestModulePath);
|
|
324
|
+
await workerApi.watch(this.jestConfig, this.patternsToArray(context.patterns), context.rootPath, this.jestModulePath, envRootDir);
|
|
304
325
|
} catch (err) {
|
|
305
326
|
this.logger.error('jest.tester.watch() caught an error', err);
|
|
306
327
|
}
|
|
307
328
|
});
|
|
308
329
|
}
|
|
309
330
|
|
|
331
|
+
async calculateModuleNameMapper(env, rootPath, additionalHostDependencies) {
|
|
332
|
+
const peerDepsConfig = await env.getDependencies();
|
|
333
|
+
const peersAutoDetectPolicy = new (_dependencyResolver().PeersAutoDetectPolicy)(peerDepsConfig.peers || []);
|
|
334
|
+
const peers = Object.keys(peerDepsConfig.peerDependencies || {}).concat(peersAutoDetectPolicy === null || peersAutoDetectPolicy === void 0 ? void 0 : peersAutoDetectPolicy.names);
|
|
335
|
+
const depsToMap = peers.concat(additionalHostDependencies || []);
|
|
336
|
+
/**
|
|
337
|
+
* Try to resolve the dependency from the rootDir (the env dir) or from the root path (workspace/capsule root)
|
|
338
|
+
*/
|
|
339
|
+
|
|
340
|
+
const mappedValues = ['<rootDir>/node_modules/$1', `${rootPath}/node_modules/$1`];
|
|
341
|
+
const moduleNameMapper = depsToMap.reduce((acc, peerName) => {
|
|
342
|
+
const keyName = `^(${peerName})$`;
|
|
343
|
+
acc[keyName] = mappedValues;
|
|
344
|
+
const internalPathKeyName = `^(${peerName}/.*)$`;
|
|
345
|
+
acc[internalPathKeyName] = mappedValues;
|
|
346
|
+
return acc;
|
|
347
|
+
}, {});
|
|
348
|
+
return moduleNameMapper;
|
|
349
|
+
}
|
|
350
|
+
|
|
310
351
|
patternsToArray(patterns) {
|
|
311
352
|
return (0, _lodash().flatten)(patterns.toArray().map(([, pattern]) => pattern.map(p => p.path)));
|
|
312
353
|
}
|
package/dist/jest.tester.js.map
CHANGED
|
@@ -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","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","cbFn","proxy","globalErrors","watchTestResults","loading","onTestComplete","err","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 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 getTestFile(path: string, testerContext: TesterContext): AbstractVinyl | undefined {\n // return testerContext.specFiles.toArray().reduce((acc: AbstractVinyl | undefined, [, specs]) => {\n // const file = specs.find((spec) => spec.path === path);\n // if (file) acc = file;\n // return acc;\n // }, undefined);\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 config: any = {\n rootDir: 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) config.runInBand = true;\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 jestConfigWithSpecs = Object.assign(jestConfig, {\n testMatch: this.patternsToArray(context.patterns),\n });\n\n const withEnv = Object.assign(jestConfigWithSpecs, config);\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 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 );\n } catch (err: any) {\n this.logger.error('jest.tester.watch() caught an error', err);\n }\n });\n }\n\n private patternsToArray(patterns: ComponentPatternsMap) {\n return flatten(patterns.toArray().map(([, pattern]) => pattern.map((p) => p.path)));\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAGA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAGO,MAAMA,UAAN,CAAmC;EAGxCC,WAAW,CACAC,EADA,EAEAC,UAFA,EAGDC,cAHC,EAIDC,UAJC,EAKDC,MALC,EAMT;IAAA,KALSJ,EAKT,GALSA,EAKT;IAAA,KAJSC,UAIT,GAJSA,UAIT;IAAA,KAHQC,cAGR,GAHQA,cAGR;IAAA,KAFQC,UAER,GAFQA,UAER;IAAA,KADQC,MACR,GADQA,MACR;IAAA;IAAA,oDAKW,KAAKH,UALhB;IAAA,qDAOY,MAPZ;IAAA;IACA;IACA,KAAKI,UAAL,GAAkBC,OAAO,CAACJ,cAAD,CAAzB;EACD;;EAQDK,aAAa,GAAG;IACd,OAAO,IAAAC,uBAAA,EAAa,KAAKP,UAAlB,EAA8B,MAA9B,CAAP;EACD;;EAEDQ,OAAO,GAAG;IACR,OAAO,KAAKJ,UAAL,CAAgBK,UAAhB,EAAP;EACD,CA1BuC,CA4BxC;EACA;EACA;EACA;EACA;EACA;EACA;;;EAEQC,sBAAsB,CAACC,aAAD,EAA+BC,UAA/B,EAA6D;IACzF,OAAOC,yBAAA,CAAaC,EAAb,CAAgBH,aAAa,CAACI,UAA9B,EAA2CC,SAAD,IAAe;MAC9D,MAAMC,kBAAkB,GAAGN,aAAa,CAACO,QAAd,CAAuBC,GAAvB,CAA2BH,SAA3B,CAA3B;MACA,IAAI,CAACC,kBAAL,EAAyB,OAAOG,SAAP;MACzB,MAAM,GAAGC,KAAH,IAAYJ,kBAAlB;MACA,OAAOL,UAAU,CAACU,MAAX,CAAmBC,IAAD,IAAU;QACjC,OAAOF,KAAK,CAACC,MAAN,CAAcE,OAAD,IAAa,IAAAC,oBAAA,EAAUF,IAAI,CAACG,YAAf,EAA6BF,OAAO,CAACG,IAArC,CAA1B,EAAsEC,MAAtE,GAA+E,CAAtF;MACD,CAFM,CAAP;IAGD,CAPM,CAAP;EAQD;;EAEOC,aAAa,CACnBC,gBADmB,EAEnBf,UAFmB,EAGnBJ,aAHmB,EAInBoB,MAJmB,EAKE;IACrB,MAAMC,gBAAgB,GAAGjB,UAAU,CAACkB,OAAX,GAAqBC,GAArB,CAAyB,CAAC,CAAClB,SAAD,EAAYmB,UAAZ,CAAD,KAA6B;MAC7E,IAAI,CAACA,UAAL,EAAiB,OAAOf,SAAP;MACjB,IAAI,CAAAe,UAAU,SAAV,IAAAA,UAAU,WAAV,YAAAA,UAAU,CAAEP,MAAZ,MAAuB,CAA3B,EAA8B,OAAOR,SAAP;MAC9B,MAAMgB,MAAM,GAAG,KAAKC,SAAL,CAAeF,UAAf,CAAf;MACA,MAAMG,KAAK,GAAGH,UAAU,CAACD,GAAX,CAAgBX,IAAD,IAAU;QACrC,MAAMgB,IAAI,GAAG,KAAIC,wBAAJ,EAAkB;UAAEb,IAAI,EAAEJ,IAAI,CAACG,YAAb;UAA2Be,QAAQ,EAAE,IAAAlC,uBAAA,EAAagB,IAAI,CAACG,YAAlB;QAArC,CAAlB,CAAb;QACA,MAAMgB,WAAW,GAAGnB,IAAI,CAACmB,WAAL,CAAiBR,GAAjB,CAAsBtB,UAAD,IAAgB;UACvD,MAAM+B,KAAK,GAAG,IAAAC,sCAAA,EAAoB,CAAChC,UAAD,CAApB,EAAkCmB,MAAlC,EAA0C;YAAEc,YAAY,EAAE;UAAhB,CAA1C,KAAqEzB,SAAnF;UACA,MAAM0B,SAAS,GAAGlC,UAAU,CAACmC,MAAX,KAAsB,QAAxC;UACA,OAAO,KAAIC,0BAAJ,EACLpC,UAAU,CAACqC,cADN,EAELrC,UAAU,CAACsC,KAFN,EAGLtC,UAAU,CAACmC,MAHN,EAILnC,UAAU,CAACuC,QAJN,EAKLL,SAAS,GAAG1B,SAAH,GAAeuB,KALnB,EAMLG,SAAS,GAAGH,KAAH,GAAWvB,SANf,CAAP;QAQD,CAXmB,CAApB;QAYA,MAAMgC,QAAQ,GAAG,CAAAb,IAAI,SAAJ,IAAAA,IAAI,WAAJ,YAAAA,IAAI,CAAEc,QAAN,KAAkB9B,IAAI,CAACG,YAAxC;;QACA,MAAM4B,QAAQ,GAAG,MAAM;UAAA;;UACrB,IAAI,CAAC/B,IAAI,CAACgC,aAAV,EAAyB,OAAOnC,SAAP;;UACzB,IAAIT,aAAa,CAAC6C,KAAlB,EAAyB;YACvB;YACA;YACA;YACA,OAAO,KAAIC,kBAAJ,EAAclC,IAAI,CAACmC,cAAnB,CAAP;UACD;;UACD,OAAO,KAAID,kBAAJ,yBAAclC,IAAI,CAACgC,aAAnB,wDAAc,oBAAoBI,OAAlC,0BAA2CpC,IAAI,CAACgC,aAAhD,yDAA2C,qBAAoBK,KAA/D,CAAP;QACD,CATD;;QAUA,MAAMjB,KAAK,GAAGW,QAAQ,EAAtB;QACA,OAAO,KAAIO,0BAAJ,EACLT,QADK,EAELV,WAFK,EAGLnB,IAAI,CAACuC,eAHA,EAILvC,IAAI,CAACwC,eAJA,EAKLxC,IAAI,CAACyC,eALA,EAMLzC,IAAI,CAAC0C,SAAL,CAAeC,OANV,EAOL3C,IAAI,CAAC0C,SAAL,CAAeE,IAPV,EAQLxB,KARK,CAAP;MAUD,CApCa,CAAd;MAqCA,OAAO;QACLyB,WAAW,EAAEpD,SAAS,CAACjB,EADlB;QAELsE,OAAO,EAAE,KAAIC,2BAAJ,EAAgBhC,KAAhB,EAAuBR,gBAAgB,CAACyC,OAAxC,EAAiDzC,gBAAgB,CAAC0C,SAAlE,CAFJ;QAGLpC;MAHK,CAAP;IAKD,CA9CwB,CAAzB;IAgDA,OAAO,IAAAqC,iBAAA,EAAQzC,gBAAR,CAAP;EACD;;EAEOK,SAAS,CAACzB,UAAD,EAA4C;IAC3D,OAAOA,UAAU,CAAC8D,MAAX,CAAkB,CAACtC,MAAD,EAAsBb,IAAtB,KAA+B;MACtD,IAAIA,IAAI,CAACgC,aAAT,EAAwB;QACtB,MAAM;UAAEI,OAAF;UAAWC,KAAX;UAAkBe,IAAlB;UAAwBC;QAAxB,IAAiCrD,IAAI,CAACgC,aAA5C;QACAnB,MAAM,CAACyC,IAAP,CAAY,KAAIpB,kBAAJ,EAAcE,OAAd,EAAuBC,KAAvB,EAA8Be,IAA9B,EAAoCC,IAApC,CAAZ;MACD,CAHD,MAGO,IAAIrD,IAAI,CAACmC,cAAT,EAAyB;QAC9BtB,MAAM,CAACyC,IAAP,CAAY,KAAIpB,kBAAJ,EAAclC,IAAI,CAACmC,cAAnB,CAAZ;MACD;;MACD,OAAOtB,MAAP;IACD,CARM,EAQJ,EARI,CAAP;EASD;;EAEsB,MAAjB0C,iBAAiB,CAACC,QAAD,EAAuB;IAC5C,KAAKC,SAAL,GAAiBD,QAAjB;EACD;;EAES,MAAJxD,IAAI,CAAC0D,OAAD,EAAyC;IACjD,MAAMlD,MAAW,GAAG;MAClBmD,OAAO,EAAED,OAAO,CAACE;IADC,CAApB,CADiD,CAKjD;;IACAC,OAAO,CAACC,IAAR,GAAgB1B,OAAD,IAAqB;MAClC,KAAKxD,MAAL,CAAYkF,IAAZ,CAAiB1B,OAAjB;IACD,CAFD;;IAIA,IAAIsB,OAAO,CAACK,KAAZ,EAAmBvD,MAAM,CAACwD,SAAP,GAAmB,IAAnB;IACnB,IAAIN,OAAO,CAACO,QAAZ,EAAsBzD,MAAM,CAACyD,QAAP,GAAkB,IAAlB;IACtBzD,MAAM,CAACwD,SAAP,GAAmB,IAAnB;;IAEA,IAAIN,OAAO,CAACzB,KAAZ,EAAmB;MACjBzB,MAAM,CAAC0D,QAAP,GAAkB,IAAlB;MACA1D,MAAM,CAAC2D,OAAP,GAAiB,IAAjB;IACD,CAjBgD,CAkBjD;;;IACA,MAAM1F,UAAU,GAAGK,OAAO,CAAC,KAAKL,UAAN,CAA1B;;IAEA,MAAM2F,mBAAmB,GAAGC,MAAM,CAACC,MAAP,CAAc7F,UAAd,EAA0B;MACpD8F,SAAS,EAAE,KAAKC,eAAL,CAAqBd,OAAO,CAAC/D,QAA7B;IADyC,CAA1B,CAA5B;IAIA,MAAM8E,OAAO,GAAGJ,MAAM,CAACC,MAAP,CAAcF,mBAAd,EAAmC5D,MAAnC,CAAhB;IACA,MAAMkE,WAAW,GAAG,MAAM,KAAK7F,UAAL,CAAgB8F,MAAhB,CAAuBF,OAAvB,EAAgC,CAAC,KAAKhG,UAAN,CAAhC,CAA1B;IACA,MAAM0C,WAAW,GAAGuD,WAAW,CAAC5B,OAAZ,CAAoB3B,WAAxC;IACA,MAAMyD,mBAAmB,GAAG,KAAKzF,sBAAL,CAA4BuE,OAA5B,EAAqCvC,WAArC,CAA5B;IACA,MAAM0D,oBAAoB,GAAG,KAAKvE,aAAL,CAC3BoE,WAAW,CAAC5B,OADe,EAE3B8B,mBAF2B,EAG3BlB,OAH2B,EAI3BU,mBAJ2B,CAA7B;IAMA,OAAO,KAAIU,eAAJ,EAAUD,oBAAV,CAAP;EACD;;EAEU,MAAL5C,KAAK,CAACyB,OAAD,EAAyC;IAClD;IACA,OAAO,IAAIqB,OAAJ,CAAY,MAAOC,OAAP,IAAmB;MACpC,MAAMC,SAAS,GAAG,KAAKtG,UAAL,CAAgBuG,QAAhB,CAChBxB,OAAO,CAACyB,EAAR,GAAa;QAAEC,MAAM,EAAE,IAAV;QAAgBC,MAAM,EAAE,IAAxB;QAA8BC,KAAK,EAAE;MAArC,CAAb,GAA2D;QAAEF,MAAM,EAAE,KAAV;QAAiBC,MAAM,EAAE,KAAzB;QAAgCC,KAAK,EAAE;MAAvC,CAD3C,CAAlB,CADoC,CAKpC;;MACA,MAAM7G,UAAU,GAAGK,OAAO,CAAC,KAAKL,UAAN,CAA1B;;MAEA,MAAM2F,mBAAmB,GAAGC,MAAM,CAACC,MAAP,CAAc7F,UAAd,EAA0B;QACpD8F,SAAS,EAAE,KAAKC,eAAL,CAAqBd,OAAO,CAAC/D,QAA7B;MADyC,CAA1B,CAA5B;;MAIA,IAAI;QACF,MAAM4F,IAAI,GAAG,IAAAC,gBAAA,EAAO1C,OAAD,IAAa;UAC9B,IAAI,CAAC,KAAKW,SAAV,EAAqB;UACrB,MAAMtC,WAAW,GAAG2B,OAAO,CAAC3B,WAA5B;UACA,MAAMyD,mBAAmB,GAAG,KAAKzF,sBAAL,CAA4BuE,OAA5B,EAAqCvC,WAArC,CAA5B;UACA,MAAM0D,oBAAoB,GAAG,KAAKvE,aAAL,CAAmBwC,OAAnB,EAA4B8B,mBAA5B,EAAiDlB,OAAjD,EAA0DU,mBAA1D,CAA7B;UACA,MAAMqB,YAAY,GAAG,KAAK3E,SAAL,CAAeK,WAAf,CAArB;UACA,MAAMuE,gBAAgB,GAAG;YACvBC,OAAO,EAAE,KADc;YAEvB9E,MAAM,EAAE4E,YAFe;YAGvBjG,UAAU,EAAEqF;UAHW,CAAzB;;UAKA,KAAKpB,SAAL,CAAeiC,gBAAf;;UACAV,OAAO,CAACU,gBAAD,CAAP;QACD,CAbY,CAAb,CADE,CAgBF;;QACA,MAAMT,SAAS,CAACW,cAAV,CAAyBL,IAAzB,CAAN;QAEA,MAAMN,SAAS,CAAChD,KAAV,CACJ,KAAKxD,UADD,EAEJ,KAAK+F,eAAL,CAAqBd,OAAO,CAAC/D,QAA7B,CAFI,EAGJ+D,OAAO,CAACE,QAHJ,EAIJ,KAAKlF,cAJD,CAAN;MAMD,CAzBD,CAyBE,OAAOmH,GAAP,EAAiB;QACjB,KAAKjH,MAAL,CAAYwC,KAAZ,CAAkB,qCAAlB,EAAyDyE,GAAzD;MACD;IACF,CAxCM,CAAP;EAyCD;;EAEOrB,eAAe,CAAC7E,QAAD,EAAiC;IACtD,OAAO,IAAAmG,iBAAA,EAAQnG,QAAQ,CAACe,OAAT,GAAmBC,GAAnB,CAAuB,CAAC,GAAGV,OAAH,CAAD,KAAiBA,OAAO,CAACU,GAAR,CAAaoF,CAAD,IAAOA,CAAC,CAAC3F,IAArB,CAAxC,CAAR,CAAP;EACD;;AA7MuC"}
|
|
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","envRootDir","envRuntime","envAspectDefinition","aspectPath","rootDir","roots","rootPath","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","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 // 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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"}
|
package/dist/jest.worker.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare class JestWorker {
|
|
2
2
|
private onTestCompleteCb;
|
|
3
3
|
onTestComplete(onTestComplete: any): void;
|
|
4
|
-
watch(jestConfigPath: string, testFiles: string[], rootPath: string, jestModulePath: string): Promise<void>;
|
|
4
|
+
watch(jestConfigPath: string, testFiles: string[], rootPath: string, jestModulePath: string, envRootDir: string): Promise<void>;
|
|
5
5
|
}
|
package/dist/jest.worker.js
CHANGED
|
@@ -48,11 +48,13 @@ class JestWorker {
|
|
|
48
48
|
this.onTestCompleteCb = onTestComplete; // return this;
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
-
watch(jestConfigPath, testFiles, rootPath, jestModulePath) {
|
|
51
|
+
watch(jestConfigPath, testFiles, rootPath, jestModulePath, envRootDir) {
|
|
52
52
|
return new Promise(resolve => {
|
|
53
53
|
// TODO: remove this after jest publish new version to npm: https://github.com/facebook/jest/pull/10804
|
|
54
54
|
// eslint-disable-next-line
|
|
55
|
-
console.warn = function () {};
|
|
55
|
+
console.warn = function () {};
|
|
56
|
+
/* The path to the jest config file. */
|
|
57
|
+
// eslint-disable-next-line import/no-dynamic-require,global-require
|
|
56
58
|
|
|
57
59
|
|
|
58
60
|
const jestConfig = require(jestConfigPath); // eslint-disable-next-line import/no-dynamic-require,global-require
|
|
@@ -64,11 +66,21 @@ class JestWorker {
|
|
|
64
66
|
testMatch: testFiles
|
|
65
67
|
});
|
|
66
68
|
const config = {
|
|
69
|
+
// Setting the rootDir to the env root dir to make sure we can resolve all the jest presets/plugins
|
|
70
|
+
// from the env context
|
|
71
|
+
rootDir: envRootDir,
|
|
72
|
+
// Setting the roots (where to search for spec files) to the root path (either workspace or capsule root)
|
|
73
|
+
// TODO: consider change this to be an array of the components running dir.
|
|
74
|
+
// TODO: aka: in the workspace it will be something like <ws>/node_modules/<comp-package-name>/node_modules/<comp-package-name>
|
|
75
|
+
// TODO: see dependencyResolver.getRuntimeModulePath (this will make sure the peer deps resolved correctly)
|
|
76
|
+
// TODO: (@GiladShoham - when trying to set it to this paths, jest ignores it probably because the paths contains "node_modules"
|
|
77
|
+
// TODO: trying to set the https://jestjs.io/docs/27.x/configuration#testpathignorepatterns-arraystring to something else (as it contain node_modules by default)
|
|
78
|
+
// TODO: didn't help)
|
|
79
|
+
roots: [rootPath],
|
|
67
80
|
// useStderr: true,
|
|
68
81
|
// TODO: check way to enable it
|
|
69
82
|
runInBand: true,
|
|
70
83
|
silent: false,
|
|
71
|
-
rootDir: rootPath,
|
|
72
84
|
watch: true,
|
|
73
85
|
watchAll: true,
|
|
74
86
|
watchPlugins: [[`${__dirname}/watch.js`, {
|
package/dist/jest.worker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["JestWorker","onTestComplete","onTestCompleteCb","watch","jestConfigPath","testFiles","rootPath","jestModulePath","Promise","resolve","console","warn","jestConfig","require","jestModule","jestConfigWithSpecs","Object","assign","testMatch","config","
|
|
1
|
+
{"version":3,"names":["JestWorker","onTestComplete","onTestCompleteCb","watch","jestConfigPath","testFiles","rootPath","jestModulePath","envRootDir","Promise","resolve","console","warn","jestConfig","require","jestModule","jestConfigWithSpecs","Object","assign","testMatch","config","rootDir","roots","runInBand","silent","watchAll","watchPlugins","__dirname","specFiles","onComplete","results","json","parse","stringify","error","withEnv","res","runCLI","catch","err","expose"],"sources":["jest.worker.ts"],"sourcesContent":["import { stringify, parse } from 'flatted';\nimport { expose } from '@teambit/worker';\nimport type jest from 'jest';\n\nexport class JestWorker {\n private onTestCompleteCb;\n\n onTestComplete(onTestComplete) {\n this.onTestCompleteCb = onTestComplete;\n // return this;\n }\n\n watch(\n jestConfigPath: string,\n testFiles: string[],\n rootPath: string,\n jestModulePath: string,\n envRootDir: string\n ): Promise<void> {\n return new Promise((resolve) => {\n // TODO: remove this after jest publish new version to npm: https://github.com/facebook/jest/pull/10804\n // eslint-disable-next-line\n console.warn = function () {};\n /* The path to the jest config file. */\n // eslint-disable-next-line import/no-dynamic-require,global-require\n const jestConfig = require(jestConfigPath);\n // eslint-disable-next-line import/no-dynamic-require,global-require\n const jestModule: typeof jest = require(jestModulePath);\n\n const jestConfigWithSpecs = Object.assign(jestConfig, {\n testMatch: testFiles,\n });\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 // 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: [rootPath],\n // useStderr: true,\n // TODO: check way to enable it\n runInBand: true,\n silent: false,\n watch: true,\n watchAll: true,\n watchPlugins: [\n [\n `${__dirname}/watch.js`,\n {\n specFiles: testFiles,\n onComplete: (results) => {\n if (!this.onTestCompleteCb) return;\n try {\n const json = parse(stringify(results));\n this.onTestCompleteCb(json);\n // disable eslint because we want to catch error but not print it on worker\n // eslint-disable-next-line\n } catch (error: any) {}\n },\n },\n ],\n ],\n };\n\n const withEnv = Object.assign(jestConfigWithSpecs, config);\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n const res = jestModule.runCLI(withEnv, [jestConfigPath]);\n // eslint-disable-next-line no-console\n res.catch((err) => console.error(err));\n resolve();\n });\n }\n}\n\nexpose(new JestWorker());\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAGO,MAAMA,UAAN,CAAiB;EAAA;IAAA;EAAA;;EAGtBC,cAAc,CAACA,cAAD,EAAiB;IAC7B,KAAKC,gBAAL,GAAwBD,cAAxB,CAD6B,CAE7B;EACD;;EAEDE,KAAK,CACHC,cADG,EAEHC,SAFG,EAGHC,QAHG,EAIHC,cAJG,EAKHC,UALG,EAMY;IACf,OAAO,IAAIC,OAAJ,CAAaC,OAAD,IAAa;MAC9B;MACA;MACAC,OAAO,CAACC,IAAR,GAAe,YAAY,CAAE,CAA7B;MACA;MACA;;;MACA,MAAMC,UAAU,GAAGC,OAAO,CAACV,cAAD,CAA1B,CAN8B,CAO9B;;;MACA,MAAMW,UAAuB,GAAGD,OAAO,CAACP,cAAD,CAAvC;;MAEA,MAAMS,mBAAmB,GAAGC,MAAM,CAACC,MAAP,CAAcL,UAAd,EAA0B;QACpDM,SAAS,EAAEd;MADyC,CAA1B,CAA5B;MAIA,MAAMe,MAAW,GAAG;QAClB;QACA;QACAC,OAAO,EAAEb,UAHS;QAIlB;QACA;QACA;QACA;QACA;QACA;QACA;QACAc,KAAK,EAAE,CAAChB,QAAD,CAXW;QAYlB;QACA;QACAiB,SAAS,EAAE,IAdO;QAelBC,MAAM,EAAE,KAfU;QAgBlBrB,KAAK,EAAE,IAhBW;QAiBlBsB,QAAQ,EAAE,IAjBQ;QAkBlBC,YAAY,EAAE,CACZ,CACG,GAAEC,SAAU,WADf,EAEE;UACEC,SAAS,EAAEvB,SADb;UAEEwB,UAAU,EAAGC,OAAD,IAAa;YACvB,IAAI,CAAC,KAAK5B,gBAAV,EAA4B;;YAC5B,IAAI;cACF,MAAM6B,IAAI,GAAG,IAAAC,gBAAA,EAAM,IAAAC,oBAAA,EAAUH,OAAV,CAAN,CAAb;cACA,KAAK5B,gBAAL,CAAsB6B,IAAtB,EAFE,CAGF;cACA;YACD,CALD,CAKE,OAAOG,KAAP,EAAmB,CAAE;UACxB;QAVH,CAFF,CADY;MAlBI,CAApB;MAqCA,MAAMC,OAAO,GAAGlB,MAAM,CAACC,MAAP,CAAcF,mBAAd,EAAmCI,MAAnC,CAAhB,CAnD8B,CAoD9B;;MACA,MAAMgB,GAAG,GAAGrB,UAAU,CAACsB,MAAX,CAAkBF,OAAlB,EAA2B,CAAC/B,cAAD,CAA3B,CAAZ,CArD8B,CAsD9B;;MACAgC,GAAG,CAACE,KAAJ,CAAWC,GAAD,IAAS5B,OAAO,CAACuB,KAAR,CAAcK,GAAd,CAAnB;MACA7B,OAAO;IACR,CAzDM,CAAP;EA0DD;;AAzEqB;;;AA4ExB,IAAA8B,gBAAA,EAAO,IAAIxC,UAAJ,EAAP"}
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,37 +1,38 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/jest",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.804",
|
|
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.
|
|
9
|
+
"version": "0.0.804"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
|
+
"lodash": "4.17.21",
|
|
12
13
|
"@jest/test-result": "26.6.2",
|
|
13
14
|
"comlink": "4.3.0",
|
|
14
15
|
"fs-extra": "10.0.0",
|
|
15
16
|
"jest-message-util": "27.5.1",
|
|
16
|
-
"jest": "27.5.1",
|
|
17
|
-
"lodash": "4.17.21",
|
|
18
17
|
"minimatch": "3.0.4",
|
|
19
18
|
"flatted": "3.1.0",
|
|
20
19
|
"jest-watcher": "27.5.1",
|
|
21
20
|
"@babel/runtime": "7.12.18",
|
|
22
21
|
"core-js": "^3.0.0",
|
|
23
22
|
"@teambit/harmony": "0.3.3",
|
|
24
|
-
"@teambit/cli": "0.0.
|
|
25
|
-
"@teambit/logger": "0.0.
|
|
26
|
-
"@teambit/worker": "0.0.
|
|
27
|
-
"@teambit/component": "0.0.
|
|
28
|
-
"@teambit/
|
|
23
|
+
"@teambit/cli": "0.0.535",
|
|
24
|
+
"@teambit/logger": "0.0.628",
|
|
25
|
+
"@teambit/worker": "0.0.804",
|
|
26
|
+
"@teambit/component": "0.0.804",
|
|
27
|
+
"@teambit/dependency-resolver": "0.0.804",
|
|
28
|
+
"@teambit/envs": "0.0.804",
|
|
29
|
+
"@teambit/tester": "0.0.804",
|
|
29
30
|
"@teambit/tests-results": "0.0.97"
|
|
30
31
|
},
|
|
31
32
|
"devDependencies": {
|
|
33
|
+
"@types/lodash": "4.14.165",
|
|
32
34
|
"@types/react": "^17.0.8",
|
|
33
35
|
"@types/fs-extra": "9.0.7",
|
|
34
|
-
"@types/lodash": "4.14.165",
|
|
35
36
|
"@types/minimatch": "3.0.4",
|
|
36
37
|
"@types/testing-library__jest-dom": "5.9.5",
|
|
37
38
|
"@types/jest": "^26.0.0",
|
|
@@ -39,7 +40,7 @@
|
|
|
39
40
|
"@types/node": "12.20.4"
|
|
40
41
|
},
|
|
41
42
|
"peerDependencies": {
|
|
42
|
-
"@teambit/legacy": "1.0.
|
|
43
|
+
"@teambit/legacy": "1.0.317",
|
|
43
44
|
"jest": "27.5.1",
|
|
44
45
|
"react-dom": "^16.8.0 || ^17.0.0",
|
|
45
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.
|
|
2
|
-
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.defender_jest@0.0.
|
|
1
|
+
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.defender_jest@0.0.804/dist/jest.composition.js';
|
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.defender_jest@0.0.804/dist/jest.docs.mdx';
|
|
3
3
|
|
|
4
4
|
export const compositions = [compositions_0];
|
|
5
5
|
export const overview = [overview_0];
|
|
Binary file
|