@teambit/tester 1.0.649 → 1.0.650

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.
@@ -1,18 +1,17 @@
1
1
  .coverageTooltip {
2
- padding: 0;
3
- // need to add !important to override the inline style added by Tippy.js
4
- max-width: fit-content !important;
5
- }
6
- .coverageTooltipContent {
7
- font-size: var(--bit-p-xs, '14px');
8
- }
9
- .label {
10
- padding: 4px 8px;
11
- display: flex;
12
- align-items: center;
13
- gap: 4px;
14
- }
15
- .link {
16
- text-decoration: none;
17
- }
18
-
2
+ padding: 0;
3
+ // need to add !important to override the inline style added by Tippy.js
4
+ max-width: fit-content !important;
5
+ }
6
+ .coverageTooltipContent {
7
+ font-size: var(--bit-p-xs, '14px');
8
+ }
9
+ .label {
10
+ padding: 4px 8px;
11
+ display: flex;
12
+ align-items: center;
13
+ gap: 4px;
14
+ }
15
+ .link {
16
+ text-decoration: none;
17
+ }
@@ -1,18 +1,17 @@
1
1
  .coverageTooltip {
2
- padding: 0;
3
- // need to add !important to override the inline style added by Tippy.js
4
- max-width: fit-content !important;
5
- }
6
- .coverageTooltipContent {
7
- font-size: var(--bit-p-xs, '14px');
8
- }
9
- .label {
10
- padding: 4px 8px;
11
- display: flex;
12
- align-items: center;
13
- gap: 4px;
14
- }
15
- .link {
16
- text-decoration: none;
17
- }
18
-
2
+ padding: 0;
3
+ // need to add !important to override the inline style added by Tippy.js
4
+ max-width: fit-content !important;
5
+ }
6
+ .coverageTooltipContent {
7
+ font-size: var(--bit-p-xs, '14px');
8
+ }
9
+ .label {
10
+ padding: 4px 8px;
11
+ display: flex;
12
+ align-items: center;
13
+ gap: 4px;
14
+ }
15
+ .link {
16
+ text-decoration: none;
17
+ }
@@ -0,0 +1,7 @@
1
+ import * as compositions_0 from '/Users/davidfirst/Library/Caches/Bit/capsules/4ff44c81b/teambit.defender_tester@1.0.650/dist/tester.composition.js';
2
+ import * as overview_0 from '/Users/davidfirst/Library/Caches/Bit/capsules/4ff44c81b/teambit.defender_tester@1.0.650/dist/tester.docs.mdx';
3
+
4
+ export const compositions = [compositions_0];
5
+ export const overview = [overview_0];
6
+
7
+ export const compositions_metadata = {"compositions":[{"displayName":"Logo","identifier":"Logo"}]};
@@ -1 +1 @@
1
- {"version":3,"names":["_graphqlSubscriptions","data","require","_componentId","_graphqlTag","_tester","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","testerSchema","tester","graphql","typeDefs","gql","resolvers","Subscription","testsChanged","subscribe","withFilter","pubsub","asyncIterator","OnTestsChanged","payload","variables","id","ComponentHost","getTests","host","componentId","resolveComponentId","idHasVersion","ComponentID","fromString","hasVersion","component","get","testsData","getTestsResults","testsResults","testFiles","map","testFile","duration","toFixed","tests","test"],"sources":["tester.graphql.ts"],"sourcesContent":["import { GraphqlMain, Schema } from '@teambit/graphql';\nimport { ComponentFactory } from '@teambit/component';\nimport { withFilter } from 'graphql-subscriptions';\nimport { ComponentID } from '@teambit/component-id';\nimport { gql } from 'graphql-tag';\n\nimport { TesterMain } from './tester.main.runtime';\nimport { OnTestsChanged } from './tester.service';\n\nexport function testerSchema(tester: TesterMain, graphql: GraphqlMain): Schema {\n return {\n typeDefs: gql`\n extend type ComponentHost {\n getTests(id: String!): Tests\n }\n\n type Subscription {\n testsChanged(id: String!): Tests\n }\n\n type Tests {\n loading: Boolean!\n testsResults: TestsResults\n }\n\n type TestsChanged {\n testsResults: TestsResults\n }\n\n type TestsResults {\n testFiles: [TestFiles]\n success: Boolean\n start: Int\n coverage: CoverageResult\n }\n\n type TestFiles {\n file: String\n tests: [Tests]\n pass: Int\n failed: Int\n pending: Int\n duration: Int\n slow: Boolean\n errorStr: String\n }\n\n type Tests {\n ancestor: [String]\n name: String\n duration: String\n status: String\n error: String\n }\n\n type CoverageResult {\n files: [FileCoverage!]\n total: CoverageData!\n }\n\n type CoverageDetails {\n total: Int!\n covered: Int!\n skipped: Int!\n pct: Float!\n }\n\n type CoverageData {\n lines: CoverageDetails!\n functions: CoverageDetails!\n statements: CoverageDetails!\n branches: CoverageDetails!\n }\n\n type FileCoverage {\n path: String!\n data: CoverageData!\n }\n `,\n resolvers: {\n Subscription: {\n testsChanged: {\n subscribe: withFilter(\n () => graphql.pubsub.asyncIterator(OnTestsChanged),\n (payload, variables) => {\n return payload.testsChanged.id === variables.id;\n }\n ),\n },\n },\n\n ComponentHost: {\n getTests: async (host: ComponentFactory, { id }: { id: string }) => {\n const componentId = await host.resolveComponentId(id);\n const idHasVersion = ComponentID.fromString(id).hasVersion();\n const component = await host.get(componentId);\n if (!component) return null;\n const testsData = await tester.getTestsResults(component, idHasVersion);\n if (!testsData) return null;\n return {\n ...testsData,\n testsResults: {\n ...testsData.testsResults,\n testFiles: testsData.testsResults?.testFiles.map((testFile) => {\n return {\n ...testFile,\n duration: testFile.duration?.toFixed(0),\n tests: testFile.tests.map((test) => {\n return {\n ...test,\n duration: test.duration?.toFixed(0),\n }\n }),\n }\n }),\n }\n }\n },\n },\n },\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_graphqlSubscriptions","data","require","_componentId","_graphqlTag","_tester","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","testerSchema","tester","graphql","typeDefs","gql","resolvers","Subscription","testsChanged","subscribe","withFilter","pubsub","asyncIterator","OnTestsChanged","payload","variables","id","ComponentHost","getTests","host","componentId","resolveComponentId","idHasVersion","ComponentID","fromString","hasVersion","component","get","testsData","getTestsResults","testsResults","testFiles","map","testFile","duration","toFixed","tests","test"],"sources":["tester.graphql.ts"],"sourcesContent":["import { GraphqlMain, Schema } from '@teambit/graphql';\nimport { ComponentFactory } from '@teambit/component';\nimport { withFilter } from 'graphql-subscriptions';\nimport { ComponentID } from '@teambit/component-id';\nimport { gql } from 'graphql-tag';\n\nimport { TesterMain } from './tester.main.runtime';\nimport { OnTestsChanged } from './tester.service';\n\nexport function testerSchema(tester: TesterMain, graphql: GraphqlMain): Schema {\n return {\n typeDefs: gql`\n extend type ComponentHost {\n getTests(id: String!): Tests\n }\n\n type Subscription {\n testsChanged(id: String!): Tests\n }\n\n type Tests {\n loading: Boolean!\n testsResults: TestsResults\n }\n\n type TestsChanged {\n testsResults: TestsResults\n }\n\n type TestsResults {\n testFiles: [TestFiles]\n success: Boolean\n start: Int\n coverage: CoverageResult\n }\n\n type TestFiles {\n file: String\n tests: [Tests]\n pass: Int\n failed: Int\n pending: Int\n duration: Int\n slow: Boolean\n errorStr: String\n }\n\n type Tests {\n ancestor: [String]\n name: String\n duration: String\n status: String\n error: String\n }\n\n type CoverageResult {\n files: [FileCoverage!]\n total: CoverageData!\n }\n\n type CoverageDetails {\n total: Int!\n covered: Int!\n skipped: Int!\n pct: Float!\n }\n\n type CoverageData {\n lines: CoverageDetails!\n functions: CoverageDetails!\n statements: CoverageDetails!\n branches: CoverageDetails!\n }\n\n type FileCoverage {\n path: String!\n data: CoverageData!\n }\n `,\n resolvers: {\n Subscription: {\n testsChanged: {\n subscribe: withFilter(\n () => graphql.pubsub.asyncIterator(OnTestsChanged),\n (payload, variables) => {\n return payload.testsChanged.id === variables.id;\n }\n ),\n },\n },\n\n ComponentHost: {\n getTests: async (host: ComponentFactory, { id }: { id: string }) => {\n const componentId = await host.resolveComponentId(id);\n const idHasVersion = ComponentID.fromString(id).hasVersion();\n const component = await host.get(componentId);\n if (!component) return null;\n const testsData = await tester.getTestsResults(component, idHasVersion);\n if (!testsData) return null;\n return {\n ...testsData,\n testsResults: {\n ...testsData.testsResults,\n testFiles: testsData.testsResults?.testFiles.map((testFile) => {\n return {\n ...testFile,\n duration: testFile.duration?.toFixed(0),\n tests: testFile.tests.map((test) => {\n return {\n ...test,\n duration: test.duration?.toFixed(0),\n };\n }),\n };\n }),\n },\n };\n },\n },\n },\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_fsExtra","data","_interopRequireDefault","require","_cli","_lodash","_envs","_logger","_workspace","_graphql","_builder","_ui","_lodash2","_devFiles","_test","_tester","_tester2","_tester3","_utils","_tester4","_junitGenerator","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","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","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","coverage","getTestsResultsFromState","getPatterns","getComponentDevPatterns","calculateEnv","skipWarnings","inInstallContext","componentPatterns","getTestsDevPatterns","name","pattern","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","exports","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 TestResults = EnvsExecutionResult<Tests>;\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 /**\n * update snapshot if supported by the tester\n */\n updateSnapshot?: boolean;\n\n callback?: CallbackFn;\n};\n\ntype CoverageResults = {\n files: CoverageFile[]\n total: CoverageData\n}\n\ntype CoverageStats = {\n pct: number\n total: number\n covered: number\n skipped: number\n}\n\ntype CoverageFile = {\n path: string\n data: CoverageData\n}\n\ntype CoverageData = {\n lines: CoverageStats\n statements: CoverageStats\n functions: CoverageStats\n branches: CoverageStats\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<TestResults> {\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: TestResults) {\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, coverage?: CoverageResults } | 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 coverage: CoverageResults\n } };\n if ((entry || data) && !isModified) {\n return { testsResults: data?.tests || entry?.data.tests, loading: false, coverage: data?.tests.coverage };\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, coverage: tests?.coverage };\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, { skipWarnings: !!this.workspace?.inInstallContext }).env;\n const componentPatterns: string[] = env.getTestsDevPatterns\n ? env.getTestsDevPatterns(component)\n : this.getPatterns();\n return { name: 'tests', pattern: 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: false,\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 graphql.register(() => testerSchema(tester, graphql));\n\n return tester;\n }\n}\n\nTesterAspect.addRuntime(TesterMain);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_fsExtra","data","_interopRequireDefault","require","_cli","_lodash","_envs","_logger","_workspace","_graphql","_builder","_ui","_lodash2","_devFiles","_test","_tester","_tester2","_tester3","_utils","_tester4","_junitGenerator","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","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","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","coverage","getTestsResultsFromState","getPatterns","getComponentDevPatterns","calculateEnv","skipWarnings","inInstallContext","componentPatterns","getTestsDevPatterns","name","pattern","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","exports","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 TestResults = EnvsExecutionResult<Tests>;\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 /**\n * update snapshot if supported by the tester\n */\n updateSnapshot?: boolean;\n\n callback?: CallbackFn;\n};\n\ntype CoverageResults = {\n files: CoverageFile[];\n total: CoverageData;\n};\n\ntype CoverageStats = {\n pct: number;\n total: number;\n covered: number;\n skipped: number;\n};\n\ntype CoverageFile = {\n path: string;\n data: CoverageData;\n};\n\ntype CoverageData = {\n lines: CoverageStats;\n statements: CoverageStats;\n functions: CoverageStats;\n branches: CoverageStats;\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<TestResults> {\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: TestResults) {\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; coverage?: CoverageResults } | 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 {\n tests: TestsResult & {\n coverage: CoverageResults;\n };\n };\n if ((entry || data) && !isModified) {\n return { testsResults: data?.tests || entry?.data.tests, loading: false, coverage: data?.tests.coverage };\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, coverage: tests?.coverage };\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, { skipWarnings: !!this.workspace?.inInstallContext }).env;\n const componentPatterns: string[] = env.getTestsDevPatterns\n ? env.getTestsDevPatterns(component)\n : this.getPatterns();\n return { name: 'tests', pattern: 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: false,\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 graphql.register(() => testerSchema(tester, graphql));\n\n return tester;\n }\n}\n\nTesterAspect.addRuntime(TesterMain);\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_react","data","_interopRequireDefault","require","_ui","_harmony","_component","_defenderUi","_componentCompare","_defenderUi2","_docs","_client","_designUi","_designUi2","_evangelistElements","_baseReactNavigation","_tests","_tester","_coverageLabelModule","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","GET_COMPONENT","gql","TesterUI","constructor","component","emptyStateSlot","registerEmptyState","emptyStateComponent","register","getTesterCompare","createElement","CompareTests","emptyState","provider","componentCompare","docs","config","testerUi","section","TestsSection","testerCompareSection","TestCompareSection","registerRoute","route","registerNavigation","navigationLink","order","registerRoutes","registerTitleBadge","badge","legacyComponentModel","useQuery","variables","id","toString","getHost","getTests","total","testsResults","coverage","Tooltip","className","styles","coverageTooltip","placement","content","coverageTooltipContent","lines","covered","Link","href","document","location","search","link","PillLabel","label","pct","Icon","of","weight","exports","ComponentAspect","ComponentCompareAspect","DocsAspect","UIRuntime","Slot","withType","_default","TesterAspect","addRuntime"],"sources":["tester.ui.runtime.tsx"],"sourcesContent":["import React, { ComponentType } from 'react';\nimport { UIRuntime } from '@teambit/ui';\nimport { SlotRegistry, Slot } from '@teambit/harmony';\nimport { ComponentAspect, ComponentModel, ComponentUI } from '@teambit/component';\nimport { CompareTests } from '@teambit/defender.ui.test-compare';\nimport { ComponentCompareUI, ComponentCompareAspect } from '@teambit/component-compare';\nimport { TestCompareSection } from '@teambit/defender.ui.test-compare-section';\nimport { DocsAspect, DocsUI } from '@teambit/docs';\nimport { gql, useQuery } from '@apollo/client';\nimport { PillLabel } from '@teambit/design.ui.pill-label';\nimport { Tooltip } from '@teambit/design.ui.tooltip';\nimport { Icon } from '@teambit/evangelist.elements.icon';\nimport { Link } from '@teambit/base-react.navigation.link';\nimport { TestsSection } from './tests.section';\nimport { TesterAspect } from './tester.aspect';\nimport styles from './coverage-label.module.scss'\n\nconst GET_COMPONENT = gql`\n query ($id: String!) {\n getHost {\n id # for GQL caching\n getTests(id: $id) {\n loading\n testsResults {\n coverage {\n total {\n lines {\n covered\n total\n pct\n }\n }\n }\n }\n }\n }\n }\n`;\n\nexport type EmptyStateSlot = SlotRegistry<ComponentType>;\nexport class TesterUI {\n static dependencies = [ComponentAspect, ComponentCompareAspect, DocsAspect];\n\n static runtime = UIRuntime;\n\n stageKey?: string;\n\n constructor(\n private component: ComponentUI,\n private emptyStateSlot: EmptyStateSlot\n ) {}\n\n /**\n * register a new tester empty state. this allows to register a different empty state from each environment for example.\n */\n registerEmptyState(emptyStateComponent: ComponentType) {\n this.emptyStateSlot.register(emptyStateComponent);\n return this;\n }\n\n getTesterCompare() {\n return <CompareTests emptyState={this.emptyStateSlot} />;\n }\n\n static slots = [Slot.withType<ComponentType>()];\n\n static async provider(\n [component, componentCompare, docs]: [ComponentUI, ComponentCompareUI, DocsUI],\n config,\n [emptyStateSlot]: [EmptyStateSlot]\n ) {\n const testerUi = new TesterUI(component, emptyStateSlot);\n const section = new TestsSection(emptyStateSlot);\n const testerCompareSection = new TestCompareSection(testerUi);\n component.registerRoute(section.route);\n component.registerNavigation(section.navigationLink, section.order);\n componentCompare.registerNavigation(testerCompareSection);\n componentCompare.registerRoutes([testerCompareSection.route]);\n docs.registerTitleBadge({\n component: function badge({ legacyComponentModel }: { legacyComponentModel: ComponentModel }) {\n const { data } = useQuery(GET_COMPONENT, {\n variables: { id: legacyComponentModel.id.toString() },\n });\n \n if (!data || !data.getHost || !data.getHost.getTests) return null;\n\n const total = data.getHost.getTests.testsResults?.coverage?.total as {\n lines: {\n covered: number;\n total: number;\n pct: number;\n };\n };\n\n if (!total) return null;\n\n return (\n <Tooltip\n className={styles.coverageTooltip}\n placement=\"top\"\n content={\n <div className={styles.coverageTooltipContent}>\n {total.lines.covered}/{total.lines.total} lines covered\n </div>\n }\n >\n <Link href={`~tests${document.location.search}`} className={styles.link}>\n <PillLabel className={styles.label}>\n <span>{total.lines.pct}%</span>\n <Icon of='scan-component' />\n </PillLabel>\n </Link>\n </Tooltip>\n )\n },\n weight: 30,\n });\n return testerUi;\n }\n}\n\nexport default TesterUI;\n\nTesterAspect.addRuntime(TesterUI);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","data","_interopRequireDefault","require","_ui","_harmony","_component","_defenderUi","_componentCompare","_defenderUi2","_docs","_client","_designUi","_designUi2","_evangelistElements","_baseReactNavigation","_tests","_tester","_coverageLabelModule","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","GET_COMPONENT","gql","TesterUI","constructor","component","emptyStateSlot","registerEmptyState","emptyStateComponent","register","getTesterCompare","createElement","CompareTests","emptyState","provider","componentCompare","docs","config","testerUi","section","TestsSection","testerCompareSection","TestCompareSection","registerRoute","route","registerNavigation","navigationLink","order","registerRoutes","registerTitleBadge","badge","legacyComponentModel","useQuery","variables","id","toString","getHost","getTests","total","testsResults","coverage","Tooltip","className","styles","coverageTooltip","placement","content","coverageTooltipContent","lines","covered","Link","href","document","location","search","link","PillLabel","label","pct","Icon","of","weight","exports","ComponentAspect","ComponentCompareAspect","DocsAspect","UIRuntime","Slot","withType","_default","TesterAspect","addRuntime"],"sources":["tester.ui.runtime.tsx"],"sourcesContent":["import React, { ComponentType } from 'react';\nimport { UIRuntime } from '@teambit/ui';\nimport { SlotRegistry, Slot } from '@teambit/harmony';\nimport { ComponentAspect, ComponentModel, ComponentUI } from '@teambit/component';\nimport { CompareTests } from '@teambit/defender.ui.test-compare';\nimport { ComponentCompareUI, ComponentCompareAspect } from '@teambit/component-compare';\nimport { TestCompareSection } from '@teambit/defender.ui.test-compare-section';\nimport { DocsAspect, DocsUI } from '@teambit/docs';\nimport { gql, useQuery } from '@apollo/client';\nimport { PillLabel } from '@teambit/design.ui.pill-label';\nimport { Tooltip } from '@teambit/design.ui.tooltip';\nimport { Icon } from '@teambit/evangelist.elements.icon';\nimport { Link } from '@teambit/base-react.navigation.link';\nimport { TestsSection } from './tests.section';\nimport { TesterAspect } from './tester.aspect';\nimport styles from './coverage-label.module.scss';\n\nconst GET_COMPONENT = gql`\n query ($id: String!) {\n getHost {\n id # for GQL caching\n getTests(id: $id) {\n loading\n testsResults {\n coverage {\n total {\n lines {\n covered\n total\n pct\n }\n }\n }\n }\n }\n }\n }\n`;\n\nexport type EmptyStateSlot = SlotRegistry<ComponentType>;\nexport class TesterUI {\n static dependencies = [ComponentAspect, ComponentCompareAspect, DocsAspect];\n\n static runtime = UIRuntime;\n\n stageKey?: string;\n\n constructor(\n private component: ComponentUI,\n private emptyStateSlot: EmptyStateSlot\n ) {}\n\n /**\n * register a new tester empty state. this allows to register a different empty state from each environment for example.\n */\n registerEmptyState(emptyStateComponent: ComponentType) {\n this.emptyStateSlot.register(emptyStateComponent);\n return this;\n }\n\n getTesterCompare() {\n return <CompareTests emptyState={this.emptyStateSlot} />;\n }\n\n static slots = [Slot.withType<ComponentType>()];\n\n static async provider(\n [component, componentCompare, docs]: [ComponentUI, ComponentCompareUI, DocsUI],\n config,\n [emptyStateSlot]: [EmptyStateSlot]\n ) {\n const testerUi = new TesterUI(component, emptyStateSlot);\n const section = new TestsSection(emptyStateSlot);\n const testerCompareSection = new TestCompareSection(testerUi);\n component.registerRoute(section.route);\n component.registerNavigation(section.navigationLink, section.order);\n componentCompare.registerNavigation(testerCompareSection);\n componentCompare.registerRoutes([testerCompareSection.route]);\n docs.registerTitleBadge({\n component: function badge({ legacyComponentModel }: { legacyComponentModel: ComponentModel }) {\n const { data } = useQuery(GET_COMPONENT, {\n variables: { id: legacyComponentModel.id.toString() },\n });\n\n if (!data || !data.getHost || !data.getHost.getTests) return null;\n\n const total = data.getHost.getTests.testsResults?.coverage?.total as {\n lines: {\n covered: number;\n total: number;\n pct: number;\n };\n };\n\n if (!total) return null;\n\n return (\n <Tooltip\n className={styles.coverageTooltip}\n placement=\"top\"\n content={\n <div className={styles.coverageTooltipContent}>\n {total.lines.covered}/{total.lines.total} lines covered\n </div>\n }\n >\n <Link href={`~tests${document.location.search}`} className={styles.link}>\n <PillLabel className={styles.label}>\n <span>{total.lines.pct}%</span>\n <Icon of=\"scan-component\" />\n </PillLabel>\n </Link>\n </Tooltip>\n );\n },\n weight: 30,\n });\n return testerUi;\n }\n}\n\nexport default TesterUI;\n\nTesterAspect.addRuntime(TesterUI);\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_react","data","_interopRequireDefault","require","_defenderUi","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","TestsSection","constructor","emptyStateSlot","path","element","createElement","TestsPage","emptyState","href","children","hideInMinimalMode","exports"],"sources":["tests.section.tsx"],"sourcesContent":["import React from 'react';\nimport { Section } from '@teambit/component';\nimport { TestsPage } from '@teambit/defender.ui.test-page';\nimport { EmptyStateSlot } from './tester.ui.runtime';\n\nexport class TestsSection implements Section {\n constructor(private emptyStateSlot: EmptyStateSlot) {}\n\n route = {\n path: '~tests',\n element: <TestsPage emptyState={this.emptyStateSlot} />,\n };\n navigationLink = {\n href: '~tests',\n children: 'Tests',\n hideInMinimalMode: true\n };\n order = 40;\n}\n"],"mappings":";;;;;;AAAA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAG,YAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,WAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA2D,SAAAC,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,gBAAAH,CAAA,EAAAI,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAE,cAAA,CAAAF,CAAA,MAAAJ,CAAA,GAAAO,MAAA,CAAAC,cAAA,CAAAR,CAAA,EAAAI,CAAA,IAAAK,KAAA,EAAAJ,CAAA,EAAAK,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAAZ,CAAA,CAAAI,CAAA,IAAAC,CAAA,EAAAL,CAAA;AAAA,SAAAM,eAAAD,CAAA,QAAAQ,CAAA,GAAAC,YAAA,CAAAT,CAAA,uCAAAQ,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAT,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAL,CAAA,GAAAK,CAAA,CAAAU,MAAA,CAAAC,WAAA,kBAAAhB,CAAA,QAAAa,CAAA,GAAAb,CAAA,CAAAiB,IAAA,CAAAZ,CAAA,EAAAD,CAAA,uCAAAS,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAAd,CAAA,GAAAe,MAAA,GAAAC,MAAA,EAAAf,CAAA;AAGpD,MAAMgB,YAAY,CAAoB;EAC3CC,WAAWA,CAASC,cAA8B,EAAE;IAAA,KAAhCA,cAA8B,GAA9BA,cAA8B;IAAApB,eAAA,gBAE1C;MACNqB,IAAI,EAAE,QAAQ;MACdC,OAAO,eAAE9B,MAAA,GAAAO,OAAA,CAAAwB,aAAA,CAAC3B,WAAA,GAAA4B,SAAS;QAACC,UAAU,EAAE,IAAI,CAACL;MAAe,CAAE;IACxD,CAAC;IAAApB,eAAA,yBACgB;MACf0B,IAAI,EAAE,QAAQ;MACdC,QAAQ,EAAE,OAAO;MACjBC,iBAAiB,EAAE;IACrB,CAAC;IAAA5B,eAAA,gBACO,EAAE;EAX2C;AAYvD;AAAC6B,OAAA,CAAAX,YAAA,GAAAA,YAAA","ignoreList":[]}
1
+ {"version":3,"names":["_react","data","_interopRequireDefault","require","_defenderUi","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","TestsSection","constructor","emptyStateSlot","path","element","createElement","TestsPage","emptyState","href","children","hideInMinimalMode","exports"],"sources":["tests.section.tsx"],"sourcesContent":["import React from 'react';\nimport { Section } from '@teambit/component';\nimport { TestsPage } from '@teambit/defender.ui.test-page';\nimport { EmptyStateSlot } from './tester.ui.runtime';\n\nexport class TestsSection implements Section {\n constructor(private emptyStateSlot: EmptyStateSlot) {}\n\n route = {\n path: '~tests',\n element: <TestsPage emptyState={this.emptyStateSlot} />,\n };\n navigationLink = {\n href: '~tests',\n children: 'Tests',\n hideInMinimalMode: true,\n };\n order = 40;\n}\n"],"mappings":";;;;;;AAAA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAG,YAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,WAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA2D,SAAAC,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,gBAAAH,CAAA,EAAAI,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAE,cAAA,CAAAF,CAAA,MAAAJ,CAAA,GAAAO,MAAA,CAAAC,cAAA,CAAAR,CAAA,EAAAI,CAAA,IAAAK,KAAA,EAAAJ,CAAA,EAAAK,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAAZ,CAAA,CAAAI,CAAA,IAAAC,CAAA,EAAAL,CAAA;AAAA,SAAAM,eAAAD,CAAA,QAAAQ,CAAA,GAAAC,YAAA,CAAAT,CAAA,uCAAAQ,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAT,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAL,CAAA,GAAAK,CAAA,CAAAU,MAAA,CAAAC,WAAA,kBAAAhB,CAAA,QAAAa,CAAA,GAAAb,CAAA,CAAAiB,IAAA,CAAAZ,CAAA,EAAAD,CAAA,uCAAAS,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAAd,CAAA,GAAAe,MAAA,GAAAC,MAAA,EAAAf,CAAA;AAGpD,MAAMgB,YAAY,CAAoB;EAC3CC,WAAWA,CAASC,cAA8B,EAAE;IAAA,KAAhCA,cAA8B,GAA9BA,cAA8B;IAAApB,eAAA,gBAE1C;MACNqB,IAAI,EAAE,QAAQ;MACdC,OAAO,eAAE9B,MAAA,GAAAO,OAAA,CAAAwB,aAAA,CAAC3B,WAAA,GAAA4B,SAAS;QAACC,UAAU,EAAE,IAAI,CAACL;MAAe,CAAE;IACxD,CAAC;IAAApB,eAAA,yBACgB;MACf0B,IAAI,EAAE,QAAQ;MACdC,QAAQ,EAAE,OAAO;MACjBC,iBAAiB,EAAE;IACrB,CAAC;IAAA5B,eAAA,gBACO,EAAE;EAX2C;AAYvD;AAAC6B,OAAA,CAAAX,YAAA,GAAAA,YAAA","ignoreList":[]}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/tester",
3
- "version": "1.0.649",
3
+ "version": "1.0.650",
4
4
  "homepage": "https://bit.cloud/teambit/defender/tester",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.defender",
8
8
  "name": "tester",
9
- "version": "1.0.649"
9
+ "version": "1.0.650"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "4.1.2",
@@ -25,24 +25,24 @@
25
25
  "@teambit/design.ui.pill-label": "0.0.356",
26
26
  "@teambit/evangelist.elements.icon": "1.0.2",
27
27
  "@teambit/bit-error": "0.0.404",
28
- "@teambit/cli": "0.0.1226",
28
+ "@teambit/cli": "0.0.1227",
29
29
  "@teambit/legacy.constants": "0.0.12",
30
- "@teambit/logger": "0.0.1319",
30
+ "@teambit/logger": "0.0.1320",
31
31
  "@teambit/toolbox.time.timer": "0.0.5",
32
- "@teambit/workspace": "1.0.649",
33
- "@teambit/envs": "1.0.649",
34
- "@teambit/component": "1.0.649",
35
- "@teambit/graphql": "1.0.649",
36
- "@teambit/builder": "1.0.649",
37
- "@teambit/dev-files": "1.0.649",
38
- "@teambit/ui": "1.0.649",
39
- "@teambit/compiler": "1.0.649",
40
- "@teambit/component.sources": "0.0.106",
41
- "@teambit/component-compare": "1.0.649",
42
- "@teambit/defender.ui.test-compare": "0.0.286",
32
+ "@teambit/workspace": "1.0.650",
33
+ "@teambit/envs": "1.0.650",
34
+ "@teambit/component": "1.0.650",
35
+ "@teambit/graphql": "1.0.650",
36
+ "@teambit/builder": "1.0.650",
37
+ "@teambit/dev-files": "1.0.650",
38
+ "@teambit/ui": "1.0.650",
39
+ "@teambit/compiler": "1.0.650",
40
+ "@teambit/component.sources": "0.0.107",
41
+ "@teambit/component-compare": "1.0.650",
42
+ "@teambit/defender.ui.test-compare": "0.0.287",
43
43
  "@teambit/design.ui.tooltip": "0.0.378",
44
- "@teambit/docs": "1.0.649",
45
- "@teambit/defender.ui.test-page": "0.0.64"
44
+ "@teambit/docs": "1.0.650",
45
+ "@teambit/defender.ui.test-page": "0.0.65"
46
46
  },
47
47
  "devDependencies": {
48
48
  "@types/fs-extra": "9.0.7",
@@ -13,7 +13,7 @@ import { Icon } from '@teambit/evangelist.elements.icon';
13
13
  import { Link } from '@teambit/base-react.navigation.link';
14
14
  import { TestsSection } from './tests.section';
15
15
  import { TesterAspect } from './tester.aspect';
16
- import styles from './coverage-label.module.scss'
16
+ import styles from './coverage-label.module.scss';
17
17
 
18
18
  const GET_COMPONENT = gql`
19
19
  query ($id: String!) {
@@ -81,7 +81,7 @@ export class TesterUI {
81
81
  const { data } = useQuery(GET_COMPONENT, {
82
82
  variables: { id: legacyComponentModel.id.toString() },
83
83
  });
84
-
84
+
85
85
  if (!data || !data.getHost || !data.getHost.getTests) return null;
86
86
 
87
87
  const total = data.getHost.getTests.testsResults?.coverage?.total as {
@@ -107,11 +107,11 @@ export class TesterUI {
107
107
  <Link href={`~tests${document.location.search}`} className={styles.link}>
108
108
  <PillLabel className={styles.label}>
109
109
  <span>{total.lines.pct}%</span>
110
- <Icon of='scan-component' />
110
+ <Icon of="scan-component" />
111
111
  </PillLabel>
112
112
  </Link>
113
113
  </Tooltip>
114
- )
114
+ );
115
115
  },
116
116
  weight: 30,
117
117
  });
package/tests.section.tsx CHANGED
@@ -13,7 +13,7 @@ export class TestsSection implements Section {
13
13
  navigationLink = {
14
14
  href: '~tests',
15
15
  children: 'Tests',
16
- hideInMinimalMode: true
16
+ hideInMinimalMode: true,
17
17
  };
18
18
  order = 40;
19
19
  }
@@ -1,7 +0,0 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.defender_tester@1.0.649/dist/tester.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.defender_tester@1.0.649/dist/tester.docs.mdx';
3
-
4
- export const compositions = [compositions_0];
5
- export const overview = [overview_0];
6
-
7
- export const compositions_metadata = {"compositions":[{"displayName":"Logo","identifier":"Logo"}]};