@teambit/tester 0.0.810 → 0.0.813
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/tester.main.runtime.d.ts +9 -1
- package/dist/tester.main.runtime.js +24 -4
- package/dist/tester.main.runtime.js.map +1 -1
- package/dist/tester.service.d.ts +1 -9
- package/dist/tester.service.js +1 -6
- package/dist/tester.service.js.map +1 -1
- package/package-tar/teambit-tester-0.0.813.tgz +0 -0
- package/package.json +15 -15
- package/{preview-1659929475189.js → preview-1660188657912.js} +2 -2
- package/tester.service.tsx +0 -4
- package/package-tar/teambit-tester-0.0.810.tgz +0 -0
|
@@ -50,6 +50,7 @@ export declare type TesterOptions = {
|
|
|
50
50
|
callback?: CallbackFn;
|
|
51
51
|
};
|
|
52
52
|
export declare class TesterMain {
|
|
53
|
+
private patterns;
|
|
53
54
|
/**
|
|
54
55
|
* graphql extension.
|
|
55
56
|
*/
|
|
@@ -74,7 +75,7 @@ export declare class TesterMain {
|
|
|
74
75
|
private builder;
|
|
75
76
|
static runtime: import("@teambit/harmony").RuntimeDefinition;
|
|
76
77
|
static dependencies: import("@teambit/harmony").Aspect[];
|
|
77
|
-
constructor(
|
|
78
|
+
constructor(patterns: string[],
|
|
78
79
|
/**
|
|
79
80
|
* graphql extension.
|
|
80
81
|
*/
|
|
@@ -110,6 +111,13 @@ export declare class TesterMain {
|
|
|
110
111
|
loading: boolean;
|
|
111
112
|
} | undefined>;
|
|
112
113
|
private getTestsResultsFromState;
|
|
114
|
+
/**
|
|
115
|
+
* Get the tests patterns from the config. (used as default patterns in case the env does not provide them via getTestsDevPatterns)
|
|
116
|
+
* @returns
|
|
117
|
+
*/
|
|
118
|
+
getPatterns(): string[];
|
|
119
|
+
getComponentDevPatterns(component: Component): string[];
|
|
120
|
+
getDevPatternToRegister(): (component: Component) => string[];
|
|
113
121
|
/**
|
|
114
122
|
* get all test files of a component.
|
|
115
123
|
*/
|
|
@@ -206,7 +206,7 @@ function _junitGenerator() {
|
|
|
206
206
|
}
|
|
207
207
|
|
|
208
208
|
class TesterMain {
|
|
209
|
-
constructor(
|
|
209
|
+
constructor(patterns,
|
|
210
210
|
/**
|
|
211
211
|
* graphql extension.
|
|
212
212
|
*/
|
|
@@ -227,6 +227,7 @@ class TesterMain {
|
|
|
227
227
|
* build task.
|
|
228
228
|
*/
|
|
229
229
|
task, devFiles, builder) {
|
|
230
|
+
this.patterns = patterns;
|
|
230
231
|
this.graphql = graphql;
|
|
231
232
|
this.envs = envs;
|
|
232
233
|
this.workspace = workspace;
|
|
@@ -316,6 +317,25 @@ class TesterMain {
|
|
|
316
317
|
loading: (tests === null || tests === void 0 ? void 0 : tests.loading) || false
|
|
317
318
|
};
|
|
318
319
|
}
|
|
320
|
+
/**
|
|
321
|
+
* Get the tests patterns from the config. (used as default patterns in case the env does not provide them via getTestsDevPatterns)
|
|
322
|
+
* @returns
|
|
323
|
+
*/
|
|
324
|
+
|
|
325
|
+
|
|
326
|
+
getPatterns() {
|
|
327
|
+
return this.patterns;
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
getComponentDevPatterns(component) {
|
|
331
|
+
const env = this.envs.calculateEnv(component).env;
|
|
332
|
+
const componentPatterns = env.getTestsDevPatterns ? env.getTestsDevPatterns(component) : this.getPatterns();
|
|
333
|
+
return componentPatterns;
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
getDevPatternToRegister() {
|
|
337
|
+
return this.getComponentDevPatterns.bind(this);
|
|
338
|
+
}
|
|
319
339
|
/**
|
|
320
340
|
* get all test files of a component.
|
|
321
341
|
*/
|
|
@@ -335,10 +355,10 @@ class TesterMain {
|
|
|
335
355
|
|
|
336
356
|
static async provider([cli, envs, workspace, loggerAspect, graphql, ui, devFiles, builder], config) {
|
|
337
357
|
const logger = loggerAspect.createLogger(_tester().TesterAspect.id);
|
|
338
|
-
const testerService = new (_tester2().TesterService)(workspace,
|
|
358
|
+
const testerService = new (_tester2().TesterService)(workspace, logger, graphql.pubsub, devFiles);
|
|
339
359
|
envs.registerService(testerService);
|
|
340
|
-
|
|
341
|
-
|
|
360
|
+
const tester = new TesterMain(config.patterns, graphql, envs, workspace, testerService, new (_tester3().TesterTask)(_tester().TesterAspect.id, devFiles), devFiles, builder);
|
|
361
|
+
devFiles.registerDevPattern(tester.getDevPatternToRegister());
|
|
342
362
|
|
|
343
363
|
if (workspace) {
|
|
344
364
|
ui.registerOnStart(async () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["TesterMain","constructor","graphql","envs","workspace","service","task","devFiles","builder","test","components","opts","options","getOptions","envsRuntime","createEnvironment","env","runEnv","results","run","junit","generateJUnit","filePath","testsResults","map","envResult","data","flat","jUnit","testsResultsToJUnitFormat","compact","fs","outputFile","watch","onTestRunComplete","forEach","component","_testsResults","componentId","toString","uiWatch","list","debug","ui","getTestsResults","idHasVersion","entry","get","TesterAspect","id","isModified","getDataByAspect","tests","loading","getTestsResultsFromState","getTestFiles","detectTestFiles","defaults","merge","provider","cli","loggerAspect","config","logger","createLogger","testerService","TesterService","patterns","pubsub","registerService","registerDevPattern","tester","TesterTask","registerOnStart","watchOnStart","undefined","register","TestCmd","testerSchema","MainRuntime","CLIAspect","EnvsAspect","WorkspaceAspect","LoggerAspect","GraphqlAspect","UIAspect","DevFilesAspect","BuilderAspect","addRuntime"],"sources":["tester.main.runtime.ts"],"sourcesContent":["import fs from 'fs-extra';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { Component, IComponent } from '@teambit/component';\nimport compact from 'lodash.compact';\nimport { EnvsAspect, EnvsExecutionResult, EnvsMain } from '@teambit/envs';\nimport { LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { Workspace, WorkspaceAspect } from '@teambit/workspace';\nimport { GraphqlAspect, GraphqlMain } from '@teambit/graphql';\nimport { BuilderAspect, BuilderMain } from '@teambit/builder';\nimport { UiMain, UIAspect } from '@teambit/ui';\nimport { merge } from 'lodash';\nimport DevFilesAspect, { DevFilesMain } from '@teambit/dev-files';\nimport { TestsResult } from '@teambit/tests-results';\nimport { ComponentsResults, CallbackFn, Tests } from './tester';\nimport { TestCmd } from './test.cmd';\nimport { TesterAspect } from './tester.aspect';\nimport { TesterService } from './tester.service';\nimport { TesterTask } from './tester.task';\nimport { detectTestFiles } from './utils';\nimport { testerSchema } from './tester.graphql';\nimport { testsResultsToJUnitFormat } from './utils/junit-generator';\n\nexport type TesterExtensionConfig = {\n /**\n * regex of the text environment.\n */\n testRegex: string;\n\n /**\n * determine whether to watch on start.\n */\n watchOnStart: boolean;\n patterns: string[];\n};\n\nexport type TesterOptions = {\n /**\n * start the tester in watch mode.\n */\n watch: boolean;\n\n /**\n * start the tester in debug mode.\n */\n debug: boolean;\n\n /**\n * start the tester in debug mode.\n */\n ui?: boolean;\n\n /**\n * initiate the tester on given env.\n */\n env?: string;\n\n /**\n * generate JUnit files on the specified dir\n */\n junit?: string;\n\n /**\n * show code coverage\n */\n coverage?: boolean;\n\n callback?: CallbackFn;\n};\n\nexport class TesterMain {\n static runtime = MainRuntime;\n static dependencies = [\n CLIAspect,\n EnvsAspect,\n WorkspaceAspect,\n LoggerAspect,\n GraphqlAspect,\n UIAspect,\n DevFilesAspect,\n BuilderAspect,\n ];\n\n constructor(\n /**\n * graphql extension.\n */\n private graphql: GraphqlMain,\n\n /**\n * envs extension.\n */\n private envs: EnvsMain,\n\n /**\n * workspace extension.\n */\n private workspace: Workspace,\n\n /**\n * tester service.\n */\n readonly service: TesterService,\n\n /**\n * build task.\n */\n readonly task: TesterTask,\n\n private devFiles: DevFilesMain,\n\n private builder: BuilderMain\n ) {}\n\n _testsResults: { [componentId: string]: ComponentsResults } | undefined[] = [];\n\n async test(components: Component[], opts?: TesterOptions): Promise<EnvsExecutionResult<Tests>> {\n const options = this.getOptions(opts);\n const envsRuntime = await this.envs.createEnvironment(components);\n if (opts?.env) {\n return envsRuntime.runEnv(opts.env, this.service, options);\n }\n const results = await envsRuntime.run(this.service, options);\n if (opts?.junit) {\n await this.generateJUnit(opts?.junit, results);\n }\n return results;\n }\n\n private async generateJUnit(filePath: string, testsResults: EnvsExecutionResult<Tests>) {\n const components = testsResults.results.map((envResult) => envResult.data?.components).flat();\n const jUnit = testsResultsToJUnitFormat(compact(components));\n await fs.outputFile(filePath, jUnit);\n }\n\n /**\n * watch all components for changes and test upon each.\n */\n async watch(components: Component[], opts?: TesterOptions) {\n const options = this.getOptions(opts);\n const envsRuntime = await this.envs.createEnvironment(components);\n if (opts?.env) {\n return envsRuntime.runEnv(opts.env, this.service, options);\n }\n\n this.service.onTestRunComplete((results) => {\n results.components.forEach((component) => {\n this._testsResults[component.componentId.toString()] = component;\n });\n });\n return envsRuntime.run(this.service, options);\n }\n\n async uiWatch() {\n const components = await this.workspace.list();\n return this.watch(components, { watch: true, debug: false, ui: true });\n }\n\n async getTestsResults(\n component: IComponent,\n idHasVersion = true\n ): Promise<{ testsResults?: TestsResult; loading: boolean } | undefined> {\n const entry = component.get(TesterAspect.id);\n const isModified = !idHasVersion && (await component.isModified());\n const data = this.builder.getDataByAspect(component, TesterAspect.id) as { tests: TestsResult };\n if ((entry || data) && !isModified) {\n return { testsResults: data?.tests || entry?.data.tests, loading: false };\n }\n return this.getTestsResultsFromState(component);\n }\n\n private getTestsResultsFromState(component: IComponent) {\n const tests = this._testsResults[component.id.toString()];\n return { testsResults: tests?.results, loading: tests?.loading || false };\n }\n\n /**\n * get all test files of a component.\n */\n getTestFiles(component: Component) {\n return detectTestFiles(component, this.devFiles);\n }\n\n private getOptions(options?: TesterOptions): TesterOptions {\n const defaults = {\n watch: false,\n debug: false,\n };\n\n return merge(defaults, options);\n }\n\n static defaultConfig = {\n /**\n * default test regex for which files tester to apply on.\n */\n patterns: ['**/*.spec.+(js|ts|jsx|tsx)', '**/*.test.+(js|ts|jsx|tsx)'],\n\n /**\n * determine whether to watch on start.\n */\n watchOnStart: true,\n };\n\n static async provider(\n [cli, envs, workspace, loggerAspect, graphql, ui, devFiles, builder]: [\n CLIMain,\n EnvsMain,\n Workspace,\n LoggerMain,\n GraphqlMain,\n UiMain,\n DevFilesMain,\n BuilderMain\n ],\n config: TesterExtensionConfig\n ) {\n const logger = loggerAspect.createLogger(TesterAspect.id);\n const testerService = new TesterService(workspace, config.patterns, logger, graphql.pubsub, devFiles);\n envs.registerService(testerService);\n devFiles.registerDevPattern(config.patterns);\n const tester = new TesterMain(\n graphql,\n envs,\n workspace,\n testerService,\n new TesterTask(TesterAspect.id, devFiles),\n devFiles,\n builder\n );\n\n if (workspace) {\n ui.registerOnStart(async () => {\n if (!config.watchOnStart) return undefined;\n await tester.uiWatch();\n return undefined;\n });\n\n cli.register(new TestCmd(tester, workspace, logger));\n }\n\n graphql.register(testerSchema(tester, graphql));\n\n return tester;\n }\n}\n\nTesterAspect.addRuntime(TesterMain);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["TesterMain","constructor","patterns","graphql","envs","workspace","service","task","devFiles","builder","test","components","opts","options","getOptions","envsRuntime","createEnvironment","env","runEnv","results","run","junit","generateJUnit","filePath","testsResults","map","envResult","data","flat","jUnit","testsResultsToJUnitFormat","compact","fs","outputFile","watch","onTestRunComplete","forEach","component","_testsResults","componentId","toString","uiWatch","list","debug","ui","getTestsResults","idHasVersion","entry","get","TesterAspect","id","isModified","getDataByAspect","tests","loading","getTestsResultsFromState","getPatterns","getComponentDevPatterns","calculateEnv","componentPatterns","getTestsDevPatterns","getDevPatternToRegister","bind","getTestFiles","detectTestFiles","defaults","merge","provider","cli","loggerAspect","config","logger","createLogger","testerService","TesterService","pubsub","registerService","tester","TesterTask","registerDevPattern","registerOnStart","watchOnStart","undefined","register","TestCmd","testerSchema","MainRuntime","CLIAspect","EnvsAspect","WorkspaceAspect","LoggerAspect","GraphqlAspect","UIAspect","DevFilesAspect","BuilderAspect","addRuntime"],"sources":["tester.main.runtime.ts"],"sourcesContent":["import fs from 'fs-extra';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { Component, IComponent } from '@teambit/component';\nimport compact from 'lodash.compact';\nimport { EnvsAspect, EnvsExecutionResult, EnvsMain } from '@teambit/envs';\nimport { LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { Workspace, WorkspaceAspect } from '@teambit/workspace';\nimport { GraphqlAspect, GraphqlMain } from '@teambit/graphql';\nimport { BuilderAspect, BuilderMain } from '@teambit/builder';\nimport { UiMain, UIAspect } from '@teambit/ui';\nimport { merge } from 'lodash';\nimport DevFilesAspect, { DevFilesMain } from '@teambit/dev-files';\nimport { TestsResult } from '@teambit/tests-results';\nimport { ComponentsResults, CallbackFn, Tests } from './tester';\nimport { TestCmd } from './test.cmd';\nimport { TesterAspect } from './tester.aspect';\nimport { TesterService } from './tester.service';\nimport { TesterTask } from './tester.task';\nimport { detectTestFiles } from './utils';\nimport { testerSchema } from './tester.graphql';\nimport { testsResultsToJUnitFormat } from './utils/junit-generator';\n\nexport type TesterExtensionConfig = {\n /**\n * regex of the text environment.\n */\n testRegex: string;\n\n /**\n * determine whether to watch on start.\n */\n watchOnStart: boolean;\n patterns: string[];\n};\n\nexport type TesterOptions = {\n /**\n * start the tester in watch mode.\n */\n watch: boolean;\n\n /**\n * start the tester in debug mode.\n */\n debug: boolean;\n\n /**\n * start the tester in debug mode.\n */\n ui?: boolean;\n\n /**\n * initiate the tester on given env.\n */\n env?: string;\n\n /**\n * generate JUnit files on the specified dir\n */\n junit?: string;\n\n /**\n * show code coverage\n */\n coverage?: boolean;\n\n callback?: CallbackFn;\n};\n\nexport class TesterMain {\n static runtime = MainRuntime;\n static dependencies = [\n CLIAspect,\n EnvsAspect,\n WorkspaceAspect,\n LoggerAspect,\n GraphqlAspect,\n UIAspect,\n DevFilesAspect,\n BuilderAspect,\n ];\n\n constructor(\n private patterns: string[],\n /**\n * graphql extension.\n */\n private graphql: GraphqlMain,\n\n /**\n * envs extension.\n */\n private envs: EnvsMain,\n\n /**\n * workspace extension.\n */\n private workspace: Workspace,\n\n /**\n * tester service.\n */\n readonly service: TesterService,\n\n /**\n * build task.\n */\n readonly task: TesterTask,\n\n private devFiles: DevFilesMain,\n\n private builder: BuilderMain\n ) {}\n\n _testsResults: { [componentId: string]: ComponentsResults } | undefined[] = [];\n\n async test(components: Component[], opts?: TesterOptions): Promise<EnvsExecutionResult<Tests>> {\n const options = this.getOptions(opts);\n const envsRuntime = await this.envs.createEnvironment(components);\n if (opts?.env) {\n return envsRuntime.runEnv(opts.env, this.service, options);\n }\n const results = await envsRuntime.run(this.service, options);\n if (opts?.junit) {\n await this.generateJUnit(opts?.junit, results);\n }\n return results;\n }\n\n private async generateJUnit(filePath: string, testsResults: EnvsExecutionResult<Tests>) {\n const components = testsResults.results.map((envResult) => envResult.data?.components).flat();\n const jUnit = testsResultsToJUnitFormat(compact(components));\n await fs.outputFile(filePath, jUnit);\n }\n\n /**\n * watch all components for changes and test upon each.\n */\n async watch(components: Component[], opts?: TesterOptions) {\n const options = this.getOptions(opts);\n const envsRuntime = await this.envs.createEnvironment(components);\n if (opts?.env) {\n return envsRuntime.runEnv(opts.env, this.service, options);\n }\n\n this.service.onTestRunComplete((results) => {\n results.components.forEach((component) => {\n this._testsResults[component.componentId.toString()] = component;\n });\n });\n return envsRuntime.run(this.service, options);\n }\n\n async uiWatch() {\n const components = await this.workspace.list();\n return this.watch(components, { watch: true, debug: false, ui: true });\n }\n\n async getTestsResults(\n component: IComponent,\n idHasVersion = true\n ): Promise<{ testsResults?: TestsResult; loading: boolean } | undefined> {\n const entry = component.get(TesterAspect.id);\n const isModified = !idHasVersion && (await component.isModified());\n const data = this.builder.getDataByAspect(component, TesterAspect.id) as { tests: TestsResult };\n if ((entry || data) && !isModified) {\n return { testsResults: data?.tests || entry?.data.tests, loading: false };\n }\n return this.getTestsResultsFromState(component);\n }\n\n private getTestsResultsFromState(component: IComponent) {\n const tests = this._testsResults[component.id.toString()];\n return { testsResults: tests?.results, loading: tests?.loading || false };\n }\n\n /**\n * Get the tests patterns from the config. (used as default patterns in case the env does not provide them via getTestsDevPatterns)\n * @returns\n */\n getPatterns() {\n return this.patterns;\n }\n\n getComponentDevPatterns(component: Component) {\n const env = this.envs.calculateEnv(component).env;\n const componentPatterns: string[] = env.getTestsDevPatterns\n ? env.getTestsDevPatterns(component)\n : this.getPatterns();\n return componentPatterns;\n }\n\n getDevPatternToRegister() {\n return this.getComponentDevPatterns.bind(this);\n }\n\n /**\n * get all test files of a component.\n */\n getTestFiles(component: Component) {\n return detectTestFiles(component, this.devFiles);\n }\n\n private getOptions(options?: TesterOptions): TesterOptions {\n const defaults = {\n watch: false,\n debug: false,\n };\n\n return merge(defaults, options);\n }\n\n static defaultConfig = {\n /**\n * default test regex for which files tester to apply on.\n */\n patterns: ['**/*.spec.+(js|ts|jsx|tsx)', '**/*.test.+(js|ts|jsx|tsx)'],\n\n /**\n * determine whether to watch on start.\n */\n watchOnStart: true,\n };\n\n static async provider(\n [cli, envs, workspace, loggerAspect, graphql, ui, devFiles, builder]: [\n CLIMain,\n EnvsMain,\n Workspace,\n LoggerMain,\n GraphqlMain,\n UiMain,\n DevFilesMain,\n BuilderMain\n ],\n config: TesterExtensionConfig\n ) {\n const logger = loggerAspect.createLogger(TesterAspect.id);\n const testerService = new TesterService(workspace, logger, graphql.pubsub, devFiles);\n envs.registerService(testerService);\n const tester = new TesterMain(\n config.patterns,\n graphql,\n envs,\n workspace,\n testerService,\n new TesterTask(TesterAspect.id, devFiles),\n devFiles,\n builder\n );\n devFiles.registerDevPattern(tester.getDevPatternToRegister());\n\n if (workspace) {\n ui.registerOnStart(async () => {\n if (!config.watchOnStart) return undefined;\n await tester.uiWatch();\n return undefined;\n });\n\n cli.register(new TestCmd(tester, workspace, logger));\n }\n\n graphql.register(testerSchema(tester, graphql));\n\n return tester;\n }\n}\n\nTesterAspect.addRuntime(TesterMain);\n"],"mappings":"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"}
|
package/dist/tester.service.d.ts
CHANGED
|
@@ -28,19 +28,11 @@ export declare type TesterDescriptor = {
|
|
|
28
28
|
};
|
|
29
29
|
export declare class TesterService implements EnvService<Tests, TesterDescriptor> {
|
|
30
30
|
readonly workspace: Workspace;
|
|
31
|
-
/**
|
|
32
|
-
* regex used to identify which files to test.
|
|
33
|
-
*/
|
|
34
|
-
readonly patterns: string[];
|
|
35
31
|
private logger;
|
|
36
32
|
private pubsub;
|
|
37
33
|
private devFiles;
|
|
38
34
|
name: string;
|
|
39
|
-
constructor(workspace: Workspace,
|
|
40
|
-
/**
|
|
41
|
-
* regex used to identify which files to test.
|
|
42
|
-
*/
|
|
43
|
-
patterns: string[], logger: Logger, pubsub: PubSubEngine, devFiles: DevFilesMain);
|
|
35
|
+
constructor(workspace: Workspace, logger: Logger, pubsub: PubSubEngine, devFiles: DevFilesMain);
|
|
44
36
|
_callback: CallbackFn | undefined;
|
|
45
37
|
render(env: EnvDefinition): JSX.Element;
|
|
46
38
|
getDescriptor(environment: EnvDefinition): {
|
package/dist/tester.service.js
CHANGED
|
@@ -107,13 +107,8 @@ const OnTestsChanged = 'OnTestsChanged';
|
|
|
107
107
|
exports.OnTestsChanged = OnTestsChanged;
|
|
108
108
|
|
|
109
109
|
class TesterService {
|
|
110
|
-
constructor(workspace,
|
|
111
|
-
/**
|
|
112
|
-
* regex used to identify which files to test.
|
|
113
|
-
*/
|
|
114
|
-
patterns, logger, pubsub, devFiles) {
|
|
110
|
+
constructor(workspace, logger, pubsub, devFiles) {
|
|
115
111
|
this.workspace = workspace;
|
|
116
|
-
this.patterns = patterns;
|
|
117
112
|
this.logger = logger;
|
|
118
113
|
this.pubsub = pubsub;
|
|
119
114
|
this.devFiles = devFiles;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["chalk","require","OnTestsChanged","TesterService","constructor","workspace","patterns","logger","pubsub","devFiles","render","env","descriptor","getDescriptor","id","displayName","version","highlight","config","language","ignoreIllegals","environment","getTester","undefined","tester","icon","displayConfig","onTestRunComplete","callback","_callback","run","context","options","specFiles","ComponentMap","as","components","component","detectTestFiles","testCount","toArray","reduce","acc","specs","length","componentWithTests","ui","consoleWarning","cyan","Tests","console","dir","componentDir","componentPatterns","getDevPatterns","TesterAspect","map","pattern","path","resolve","relative","additionalHostDependencies","getAdditionalTestHostDependencies","testerContext","Object","assign","release","rootPath","debug","watch","coverage","results","forEach","publish","testsChanged","componentId","toString","testsResults","loading","test"],"sources":["tester.service.tsx"],"sourcesContent":["import { Logger } from '@teambit/logger';\nimport { resolve } from 'path';\nimport React from 'react';\nimport { Text, Newline } from 'ink';\nimport { EnvService, ExecutionContext, EnvDefinition } from '@teambit/envs';\nimport { ComponentMap } from '@teambit/component';\nimport { Workspace } from '@teambit/workspace';\nimport highlight from 'cli-highlight';\nimport { PubSubEngine } from 'graphql-subscriptions';\nimport { DevFilesMain } from '@teambit/dev-files';\nimport { Tester, Tests, CallbackFn } from './tester';\nimport { TesterAspect } from './tester.aspect';\nimport { TesterOptions } from './tester.main.runtime';\nimport { detectTestFiles } from './utils';\n\nconst chalk = require('chalk');\n\nexport const OnTestsChanged = 'OnTestsChanged';\n\nexport type TesterDescriptor = {\n /**\n * id of the tester (e.g. jest/mocha)\n */\n id: string;\n\n /**\n * display name of the tester (e.g. Jest / Mocha)\n */\n displayName: string;\n\n /**\n * icon of the configured tester.\n */\n icon: string;\n\n /**\n * string containing the config for display.\n */\n config: string;\n\n version?: string;\n};\n\nexport class TesterService implements EnvService<Tests, TesterDescriptor> {\n name = 'tester';\n\n constructor(\n readonly workspace: Workspace,\n /**\n * regex used to identify which files to test.\n */\n readonly patterns: string[],\n\n private logger: Logger,\n\n private pubsub: PubSubEngine,\n\n private devFiles: DevFilesMain\n ) {}\n\n _callback: CallbackFn | undefined;\n\n render(env: EnvDefinition) {\n const descriptor = this.getDescriptor(env);\n return (\n <Text key={descriptor?.id}>\n <Text color=\"cyan\">configured tester: </Text>\n <Text>\n {descriptor?.id} ({descriptor?.displayName} @ {descriptor?.version})\n </Text>\n <Newline />\n <Text underline color=\"cyan\">\n tester config:\n </Text>\n <Newline />\n <Text>\n {/* refactor a separate component which highlights for cli */}\n {highlight(descriptor?.config || '', { language: 'javascript', ignoreIllegals: true })}\n </Text>\n <Newline />\n </Text>\n );\n }\n\n getDescriptor(environment: EnvDefinition) {\n if (!environment.env.getTester) return undefined;\n const tester: Tester = environment.env.getTester();\n\n return {\n id: tester.id || '',\n displayName: tester.displayName || '',\n icon: tester.icon || '',\n config: tester.displayConfig ? tester.displayConfig() : '',\n version: tester.version ? tester.version() : '?',\n };\n }\n\n onTestRunComplete(callback: CallbackFn) {\n this._callback = callback;\n }\n\n async run(context: ExecutionContext, options: TesterOptions): Promise<Tests> {\n const tester: Tester = context.env.getTester();\n const specFiles = ComponentMap.as(context.components, (component) => {\n return detectTestFiles(component, this.devFiles);\n });\n const testCount = specFiles.toArray().reduce((acc, [, specs]) => acc + specs.length, 0);\n\n const componentWithTests = specFiles.toArray().reduce((acc: number, [, specs]) => {\n if (specs.length > 0) acc += 1;\n return acc;\n }, 0);\n\n if (testCount === 0 && !options.ui) {\n this.logger.consoleWarning(`no tests found for environment ${chalk.cyan(context.id)}\\n`);\n return new Tests([]);\n }\n\n if (!options.ui)\n this.logger.console(`testing ${componentWithTests} components with environment ${chalk.cyan(context.id)}\\n`);\n\n const patterns = ComponentMap.as(context.components, (component) => {\n const dir = this.workspace.componentDir(component.id);\n const componentPatterns = this.devFiles.getDevPatterns(component, TesterAspect.id);\n return componentPatterns.map((pattern: string) => ({ path: resolve(dir, pattern), relative: pattern }));\n });\n\n let additionalHostDependencies = [];\n if (\n context.env.getAdditionalTestHostDependencies &&\n typeof context.env.getAdditionalTestHostDependencies === 'function'\n ) {\n additionalHostDependencies = await context.env.getAdditionalTestHostDependencies();\n }\n\n const testerContext = Object.assign(context, {\n release: false,\n specFiles,\n patterns,\n rootPath: this.workspace.path,\n workspace: this.workspace,\n debug: options.debug,\n watch: options.watch,\n ui: options.ui,\n coverage: options.coverage,\n additionalHostDependencies,\n });\n\n if (options.watch && options.ui && tester.watch) {\n if (tester.onTestRunComplete) {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n tester.onTestRunComplete((results) => {\n if (this._callback) this._callback(results);\n results.components.forEach((component) => {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this.pubsub.publish(OnTestsChanged, {\n testsChanged: {\n id: component.componentId.toString(),\n testsResults: component.results,\n loading: component.loading,\n },\n });\n });\n });\n }\n\n return tester.watch(testerContext);\n }\n\n const results = await tester.test(testerContext);\n\n return results;\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["chalk","require","OnTestsChanged","TesterService","constructor","workspace","logger","pubsub","devFiles","render","env","descriptor","getDescriptor","id","displayName","version","highlight","config","language","ignoreIllegals","environment","getTester","undefined","tester","icon","displayConfig","onTestRunComplete","callback","_callback","run","context","options","specFiles","ComponentMap","as","components","component","detectTestFiles","testCount","toArray","reduce","acc","specs","length","componentWithTests","ui","consoleWarning","cyan","Tests","console","patterns","dir","componentDir","componentPatterns","getDevPatterns","TesterAspect","map","pattern","path","resolve","relative","additionalHostDependencies","getAdditionalTestHostDependencies","testerContext","Object","assign","release","rootPath","debug","watch","coverage","results","forEach","publish","testsChanged","componentId","toString","testsResults","loading","test"],"sources":["tester.service.tsx"],"sourcesContent":["import { Logger } from '@teambit/logger';\nimport { resolve } from 'path';\nimport React from 'react';\nimport { Text, Newline } from 'ink';\nimport { EnvService, ExecutionContext, EnvDefinition } from '@teambit/envs';\nimport { ComponentMap } from '@teambit/component';\nimport { Workspace } from '@teambit/workspace';\nimport highlight from 'cli-highlight';\nimport { PubSubEngine } from 'graphql-subscriptions';\nimport { DevFilesMain } from '@teambit/dev-files';\nimport { Tester, Tests, CallbackFn } from './tester';\nimport { TesterAspect } from './tester.aspect';\nimport { TesterOptions } from './tester.main.runtime';\nimport { detectTestFiles } from './utils';\n\nconst chalk = require('chalk');\n\nexport const OnTestsChanged = 'OnTestsChanged';\n\nexport type TesterDescriptor = {\n /**\n * id of the tester (e.g. jest/mocha)\n */\n id: string;\n\n /**\n * display name of the tester (e.g. Jest / Mocha)\n */\n displayName: string;\n\n /**\n * icon of the configured tester.\n */\n icon: string;\n\n /**\n * string containing the config for display.\n */\n config: string;\n\n version?: string;\n};\n\nexport class TesterService implements EnvService<Tests, TesterDescriptor> {\n name = 'tester';\n\n constructor(\n readonly workspace: Workspace,\n\n private logger: Logger,\n\n private pubsub: PubSubEngine,\n\n private devFiles: DevFilesMain\n ) {}\n\n _callback: CallbackFn | undefined;\n\n render(env: EnvDefinition) {\n const descriptor = this.getDescriptor(env);\n return (\n <Text key={descriptor?.id}>\n <Text color=\"cyan\">configured tester: </Text>\n <Text>\n {descriptor?.id} ({descriptor?.displayName} @ {descriptor?.version})\n </Text>\n <Newline />\n <Text underline color=\"cyan\">\n tester config:\n </Text>\n <Newline />\n <Text>\n {/* refactor a separate component which highlights for cli */}\n {highlight(descriptor?.config || '', { language: 'javascript', ignoreIllegals: true })}\n </Text>\n <Newline />\n </Text>\n );\n }\n\n getDescriptor(environment: EnvDefinition) {\n if (!environment.env.getTester) return undefined;\n const tester: Tester = environment.env.getTester();\n\n return {\n id: tester.id || '',\n displayName: tester.displayName || '',\n icon: tester.icon || '',\n config: tester.displayConfig ? tester.displayConfig() : '',\n version: tester.version ? tester.version() : '?',\n };\n }\n\n onTestRunComplete(callback: CallbackFn) {\n this._callback = callback;\n }\n\n async run(context: ExecutionContext, options: TesterOptions): Promise<Tests> {\n const tester: Tester = context.env.getTester();\n const specFiles = ComponentMap.as(context.components, (component) => {\n return detectTestFiles(component, this.devFiles);\n });\n const testCount = specFiles.toArray().reduce((acc, [, specs]) => acc + specs.length, 0);\n\n const componentWithTests = specFiles.toArray().reduce((acc: number, [, specs]) => {\n if (specs.length > 0) acc += 1;\n return acc;\n }, 0);\n\n if (testCount === 0 && !options.ui) {\n this.logger.consoleWarning(`no tests found for environment ${chalk.cyan(context.id)}\\n`);\n return new Tests([]);\n }\n\n if (!options.ui)\n this.logger.console(`testing ${componentWithTests} components with environment ${chalk.cyan(context.id)}\\n`);\n\n const patterns = ComponentMap.as(context.components, (component) => {\n const dir = this.workspace.componentDir(component.id);\n const componentPatterns = this.devFiles.getDevPatterns(component, TesterAspect.id);\n return componentPatterns.map((pattern: string) => ({ path: resolve(dir, pattern), relative: pattern }));\n });\n\n let additionalHostDependencies = [];\n if (\n context.env.getAdditionalTestHostDependencies &&\n typeof context.env.getAdditionalTestHostDependencies === 'function'\n ) {\n additionalHostDependencies = await context.env.getAdditionalTestHostDependencies();\n }\n\n const testerContext = Object.assign(context, {\n release: false,\n specFiles,\n patterns,\n rootPath: this.workspace.path,\n workspace: this.workspace,\n debug: options.debug,\n watch: options.watch,\n ui: options.ui,\n coverage: options.coverage,\n additionalHostDependencies,\n });\n\n if (options.watch && options.ui && tester.watch) {\n if (tester.onTestRunComplete) {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n tester.onTestRunComplete((results) => {\n if (this._callback) this._callback(results);\n results.components.forEach((component) => {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this.pubsub.publish(OnTestsChanged, {\n testsChanged: {\n id: component.componentId.toString(),\n testsResults: component.results,\n loading: component.loading,\n },\n });\n });\n });\n }\n\n return tester.watch(testerContext);\n }\n\n const results = await tester.test(testerContext);\n\n return results;\n }\n}\n"],"mappings":"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"}
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/tester",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.813",
|
|
4
4
|
"homepage": "https://bit.dev/teambit/defender/tester",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "teambit.defender",
|
|
8
8
|
"name": "tester",
|
|
9
|
-
"version": "0.0.
|
|
9
|
+
"version": "0.0.813"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"chalk": "2.4.2",
|
|
@@ -25,19 +25,19 @@
|
|
|
25
25
|
"@teambit/harmony": "0.3.3",
|
|
26
26
|
"@teambit/design.ui.separator": "0.0.354",
|
|
27
27
|
"@teambit/documenter.ui.heading": "4.1.1",
|
|
28
|
-
"@teambit/cli": "0.0.
|
|
29
|
-
"@teambit/logger": "0.0.
|
|
30
|
-
"@teambit/workspace": "0.0.
|
|
31
|
-
"@teambit/component": "0.0.
|
|
32
|
-
"@teambit/defender.ui.test-compare": "0.0.
|
|
33
|
-
"@teambit/graphql": "0.0.
|
|
34
|
-
"@teambit/builder": "0.0.
|
|
35
|
-
"@teambit/dev-files": "0.0.
|
|
36
|
-
"@teambit/envs": "0.0.
|
|
28
|
+
"@teambit/cli": "0.0.543",
|
|
29
|
+
"@teambit/logger": "0.0.636",
|
|
30
|
+
"@teambit/workspace": "0.0.813",
|
|
31
|
+
"@teambit/component": "0.0.813",
|
|
32
|
+
"@teambit/defender.ui.test-compare": "0.0.51",
|
|
33
|
+
"@teambit/graphql": "0.0.813",
|
|
34
|
+
"@teambit/builder": "0.0.813",
|
|
35
|
+
"@teambit/dev-files": "0.0.813",
|
|
36
|
+
"@teambit/envs": "0.0.813",
|
|
37
37
|
"@teambit/tests-results": "0.0.97",
|
|
38
|
-
"@teambit/ui": "0.0.
|
|
39
|
-
"@teambit/compiler": "0.0.
|
|
40
|
-
"@teambit/component-compare": "0.0.
|
|
38
|
+
"@teambit/ui": "0.0.813",
|
|
39
|
+
"@teambit/compiler": "0.0.813",
|
|
40
|
+
"@teambit/component-compare": "0.0.61",
|
|
41
41
|
"@teambit/bit-error": "0.0.394",
|
|
42
42
|
"@teambit/defender.ui.test-loader": "0.0.490",
|
|
43
43
|
"@teambit/defender.ui.test-table": "0.0.495",
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
},
|
|
62
62
|
"peerDependencies": {
|
|
63
63
|
"@apollo/client": "^3.0.0",
|
|
64
|
-
"@teambit/legacy": "1.0.
|
|
64
|
+
"@teambit/legacy": "1.0.326",
|
|
65
65
|
"react-dom": "^16.8.0 || ^17.0.0",
|
|
66
66
|
"react": "^16.8.0 || ^17.0.0"
|
|
67
67
|
},
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.defender_tester@0.0.
|
|
2
|
-
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.defender_tester@0.0.
|
|
1
|
+
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.defender_tester@0.0.813/dist/tester.composition.js';
|
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.defender_tester@0.0.813/dist/tester.docs.mdx';
|
|
3
3
|
|
|
4
4
|
export const compositions = [compositions_0];
|
|
5
5
|
export const overview = [overview_0];
|
package/tester.service.tsx
CHANGED
|
@@ -46,10 +46,6 @@ export class TesterService implements EnvService<Tests, TesterDescriptor> {
|
|
|
46
46
|
|
|
47
47
|
constructor(
|
|
48
48
|
readonly workspace: Workspace,
|
|
49
|
-
/**
|
|
50
|
-
* regex used to identify which files to test.
|
|
51
|
-
*/
|
|
52
|
-
readonly patterns: string[],
|
|
53
49
|
|
|
54
50
|
private logger: Logger,
|
|
55
51
|
|
|
Binary file
|