@teambit/linter 1.0.938 → 1.0.940
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/lint.cmd.js
CHANGED
|
@@ -18,6 +18,13 @@ function _legacy() {
|
|
|
18
18
|
};
|
|
19
19
|
return data;
|
|
20
20
|
}
|
|
21
|
+
function _cli() {
|
|
22
|
+
const data = require("@teambit/cli");
|
|
23
|
+
_cli = function () {
|
|
24
|
+
return data;
|
|
25
|
+
};
|
|
26
|
+
return data;
|
|
27
|
+
}
|
|
21
28
|
function _chalk() {
|
|
22
29
|
const data = _interopRequireDefault(require("chalk"));
|
|
23
30
|
_chalk = function () {
|
|
@@ -71,7 +78,7 @@ supports automatic fixing of certain issues with --fix flag.`);
|
|
|
71
78
|
lintResults,
|
|
72
79
|
componentsIdsToLint
|
|
73
80
|
} = data;
|
|
74
|
-
const title =
|
|
81
|
+
const title = (0, _cli().formatTitle)(`linting total of ${componentsIdsToLint.length} component(s) in workspace '${this.componentHost.name}'`);
|
|
75
82
|
const groupedByIsClean = (0, _lodash().groupBy)(lintResults.results, res => {
|
|
76
83
|
if (res.isClean !== undefined) {
|
|
77
84
|
return res.isClean;
|
|
@@ -88,9 +95,9 @@ supports automatic fixing of certain issues with --fix flag.`);
|
|
|
88
95
|
return `${compTitle}\n${compOutput}`;
|
|
89
96
|
}).join('\n');
|
|
90
97
|
const cleanComponentsCount = groupedByIsClean.true?.length || 0;
|
|
91
|
-
const cleanComponentsOutput = cleanComponentsCount ?
|
|
98
|
+
const cleanComponentsOutput = cleanComponentsCount ? (0, _cli().formatSuccessSummary)(`${cleanComponentsCount} component(s) have no linting issues`) : '';
|
|
92
99
|
const summary = this.getSummarySection(data);
|
|
93
|
-
const finalOutput = (0,
|
|
100
|
+
const finalOutput = (0, _cli().joinSections)([title, dirtyComponentsOutputs, cleanComponentsOutput, summary]);
|
|
94
101
|
return {
|
|
95
102
|
code,
|
|
96
103
|
data: finalOutput
|
|
@@ -105,7 +112,7 @@ supports automatic fixing of certain issues with --fix flag.`);
|
|
|
105
112
|
const {
|
|
106
113
|
seconds
|
|
107
114
|
} = duration;
|
|
108
|
-
const summaryTitle = `linted ${
|
|
115
|
+
const summaryTitle = `linted ${componentsIdsToLint.length} components in ${seconds} seconds`;
|
|
109
116
|
const totalFieldsMap = [{
|
|
110
117
|
itemsDataField: 'totalErrorCount',
|
|
111
118
|
componentsDataField: 'totalComponentsWithErrorCount',
|
|
@@ -133,7 +140,7 @@ supports automatic fixing of certain issues with --fix flag.`);
|
|
|
133
140
|
}
|
|
134
141
|
renderTotalLine(componentsCount, itemsCount, fieldLabel) {
|
|
135
142
|
if (itemsCount === 0) return undefined;
|
|
136
|
-
return `total of ${
|
|
143
|
+
return `total of ${itemsCount} ${fieldLabel} (from ${componentsCount} components)`;
|
|
137
144
|
}
|
|
138
145
|
async json([pattern], linterOptions) {
|
|
139
146
|
const timer = _toolboxTime().Timer.create();
|
package/dist/lint.cmd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_toolboxTime","data","require","_legacy","_chalk","_interopRequireDefault","_lodash","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","LintCmd","constructor","linter","componentHost","workspace","name","description","COMPONENT_PATTERN_HELP","report","pattern","linterOptions","code","json","lintResults","componentsIdsToLint","title","chalk","bold","cyan","length","toString","groupedByIsClean","groupBy","results","res","isClean","undefined","totalErrorCount","totalFatalErrorCount","totalWarningCount","dirtyComponentsOutputs","false","map","lintRes","compTitle","componentId","ignoreVersion","compOutput","output","join","cleanComponentsCount","true","cleanComponentsOutput","green","summary","getSummarySection","finalOutput","compact","duration","seconds","summaryTitle","totalFieldsMap","itemsDataField","componentsDataField","label","summaryTotals","item","renderTotalLine","filter","Boolean","componentsCount","itemsCount","fieldLabel","timer","Timer","create","start","componentsIds","getIdsToLint","changed","componentsToLint","getMany","opts","fix","fixTypes","fixType","split","linterResults","lint","jsonLinterResults","toJsonLintResults","timerResponse","stop","comp","id","idsByPattern","getNewAndModifiedIds","listIds","exports","totalFixableErrorCount","totalFixableWarningCount","totalComponentsWithErrorCount","totalComponentsWithFatalErrorCount","totalComponentsWithFixableErrorCount","totalComponentsWithFixableWarningCount","totalComponentsWithWarningCount","newResults","resultsWithoutComponent","result","assign","component","omit","flatten","errors"],"sources":["lint.cmd.ts"],"sourcesContent":["import type { TimerResponse } from '@teambit/toolbox.time.timer';\nimport { Timer } from '@teambit/toolbox.time.timer';\nimport { COMPONENT_PATTERN_HELP } from '@teambit/legacy.constants';\nimport type { Command, CommandOptions } from '@teambit/cli';\nimport type { ComponentFactory, ComponentID } from '@teambit/component';\nimport chalk from 'chalk';\nimport type { EnvsExecutionResult } from '@teambit/envs';\nimport type { Workspace } from '@teambit/workspace';\nimport { compact, flatten, groupBy, omit } from 'lodash';\nimport type { LinterMain } from './linter.main.runtime';\nimport type { ComponentLintResult, LintResults } from './linter';\nimport type { FixTypes, LinterOptions } from './linter-context';\n\nexport type LintCmdOptions = {\n changed?: boolean;\n fix?: boolean;\n fixType?: string;\n json?: boolean;\n};\n\n/**\n * A type for result with componentId instead of the entire component, as when output to console, we don't want to print all the component\n */\nexport type JsonComponentLintResult = Omit<ComponentLintResult, 'component'> & {\n componentId: ComponentID;\n};\n\nexport type JsonLintDataResults = Omit<LintResults, 'results'> & { results: JsonComponentLintResult[] };\n/**\n * A type for result with componentId instead of the entire component, as when output to console, we don't want to print all the component\n */\nexport type JsonLintResultsData = {\n duration: TimerResponse;\n lintResults: JsonLintDataResults;\n componentsIdsToLint: string[];\n};\n\nexport type JsonLintResults = {\n code: number;\n data: JsonLintResultsData;\n};\n\nexport class LintCmd implements Command {\n name = 'lint [component-pattern]';\n description = 'analyze component code for issues and style violations';\n extendedDescription = `runs linters configured by each component's environment (ESLint, etc.) to check for code quality issues.\nby default lints all components. use --changed to lint only new and modified components.\nsupports automatic fixing of certain issues with --fix flag.`;\n arguments = [{ name: 'component-pattern', description: COMPONENT_PATTERN_HELP }];\n helpUrl = 'reference/linting/linter-overview';\n group = 'testing';\n options = [\n ['c', 'changed', 'lint only new and modified components'],\n ['f', 'fix', 'automatically fix problems'],\n ['', 'fix-type <fixType>', 'specify the types of fixes to apply (problem, suggestion, layout)'],\n ['j', 'json', 'return the lint results in json format'],\n ] as CommandOptions;\n\n constructor(\n private linter: LinterMain,\n private componentHost: ComponentFactory,\n private workspace: Workspace\n ) {}\n\n async report([pattern]: [string], linterOptions: LintCmdOptions) {\n const { code, data } = await this.json([pattern], linterOptions);\n const { lintResults, componentsIdsToLint } = data;\n const title = chalk.bold(\n `linting total of ${chalk.cyan(componentsIdsToLint.length.toString())} component(s) in workspace '${chalk.cyan(\n this.componentHost.name\n )}'`\n );\n\n const groupedByIsClean = groupBy(lintResults.results, (res) => {\n if (res.isClean !== undefined) {\n return res.isClean;\n }\n // The is clean field was added in a later version of the linter, so if it's not there, we will calculate it\n // based on the errors/warnings count\n return res.totalErrorCount + (res.totalFatalErrorCount || 0) + res.totalWarningCount === 0;\n });\n\n const dirtyComponentsOutputs = (groupedByIsClean.false || [])\n .map((lintRes) => {\n const compTitle = chalk.bold.cyan(lintRes.componentId.toString({ ignoreVersion: true }));\n const compOutput = lintRes.output;\n return `${compTitle}\\n${compOutput}`;\n })\n .join('\\n');\n\n const cleanComponentsCount = groupedByIsClean.true?.length || 0;\n const cleanComponentsOutput = cleanComponentsCount\n ? `total of ${chalk.green(cleanComponentsCount.toString())} component(s) has no linting issues`\n : '';\n\n const summary = this.getSummarySection(data);\n const finalOutput = compact([title, dirtyComponentsOutputs, cleanComponentsOutput, summary]).join('\\n\\n');\n return { code, data: finalOutput };\n }\n\n private getSummarySection(data: JsonLintResultsData) {\n const { duration, lintResults, componentsIdsToLint } = data;\n const { seconds } = duration;\n const summaryTitle = `linted ${chalk.cyan(componentsIdsToLint.length.toString())} components in ${chalk.cyan(\n seconds.toString()\n )} seconds`;\n\n const totalFieldsMap = [\n { itemsDataField: 'totalErrorCount', componentsDataField: 'totalComponentsWithErrorCount', label: 'Errors' },\n {\n itemsDataField: 'totalFatalErrorCount',\n componentsDataField: 'totalComponentsWithFatalErrorCount',\n label: 'FatalErrors',\n },\n {\n itemsDataField: 'totalFixableErrorCount',\n componentsDataField: 'totalComponentsWithFixableErrorCount',\n label: 'FixableErrors',\n },\n {\n itemsDataField: 'totalFixableWarningCount',\n componentsDataField: 'totalComponentsWithFixableWarningCount',\n label: 'FixableWarnings',\n },\n {\n itemsDataField: 'totalWarningCount',\n componentsDataField: 'totalComponentsWithWarningCount',\n label: 'Warnings',\n },\n ];\n\n const summaryTotals = totalFieldsMap\n .map((item) =>\n this.renderTotalLine(lintResults[item.componentsDataField], lintResults[item.itemsDataField], item.label)\n )\n .filter(Boolean)\n .join('\\n');\n const summary = `${summaryTitle}\\n${summaryTotals}`;\n return summary;\n }\n\n private renderTotalLine(componentsCount: number, itemsCount: number, fieldLabel: string): string | undefined {\n if (itemsCount === 0) return undefined;\n return `total of ${chalk.green(itemsCount.toString())} ${chalk.cyan(fieldLabel)} (from ${chalk.green(\n componentsCount.toString()\n )} components)`;\n }\n\n async json([pattern]: [string], linterOptions: LintCmdOptions): Promise<JsonLintResults> {\n const timer = Timer.create();\n timer.start();\n const componentsIds = await this.getIdsToLint(pattern, linterOptions.changed);\n const componentsToLint = await this.workspace.getMany(componentsIds);\n const opts: LinterOptions = {\n fix: linterOptions.fix,\n fixTypes: linterOptions.fixType ? (linterOptions.fixType.split(',') as FixTypes) : undefined,\n };\n const linterResults = await this.linter.lint(componentsToLint, opts);\n const jsonLinterResults = toJsonLintResults(linterResults);\n const timerResponse = timer.stop();\n let code = 0;\n if (jsonLinterResults.totalErrorCount || jsonLinterResults.totalFatalErrorCount) {\n code = 1;\n }\n return {\n code,\n data: {\n duration: timerResponse,\n lintResults: jsonLinterResults,\n componentsIdsToLint: componentsToLint.map((comp) => comp.id.toString()),\n },\n };\n }\n\n private async getIdsToLint(pattern: string, changed = false): Promise<ComponentID[]> {\n if (pattern) {\n return this.workspace.idsByPattern(pattern);\n }\n if (changed) {\n return this.workspace.getNewAndModifiedIds();\n }\n return this.componentHost.listIds();\n }\n}\n\nfunction toJsonLintResults(results: EnvsExecutionResult<LintResults>): JsonLintDataResults {\n let totalErrorCount = 0;\n let totalFatalErrorCount = 0;\n let totalFixableErrorCount = 0;\n let totalFixableWarningCount = 0;\n let totalWarningCount = 0;\n let totalComponentsWithErrorCount = 0;\n let totalComponentsWithFatalErrorCount = 0;\n let totalComponentsWithFixableErrorCount = 0;\n let totalComponentsWithFixableWarningCount = 0;\n let totalComponentsWithWarningCount = 0;\n\n const newResults = results.results.map((res) => {\n const resultsWithoutComponent = res.data?.results.map((result) => {\n return Object.assign({}, { componentId: result.component.id }, omit(result, ['component']));\n });\n\n if (res.data) {\n if (res.data.totalErrorCount) {\n totalErrorCount += res.data.totalErrorCount;\n totalComponentsWithErrorCount += res.data.totalComponentsWithErrorCount ?? 0;\n }\n if (res.data.totalFatalErrorCount) {\n totalFatalErrorCount += res.data.totalFatalErrorCount;\n totalComponentsWithFatalErrorCount += res.data.totalComponentsWithFatalErrorCount ?? 0;\n }\n if (res.data.totalFixableErrorCount) {\n totalFixableErrorCount += res.data.totalFixableErrorCount;\n totalComponentsWithFixableErrorCount += res.data.totalComponentsWithFixableErrorCount ?? 0;\n }\n if (res.data.totalFixableWarningCount) {\n totalFixableWarningCount += res.data.totalFixableWarningCount;\n totalComponentsWithFixableWarningCount += res.data.totalComponentsWithFixableWarningCount ?? 0;\n }\n if (res.data.totalWarningCount) {\n totalWarningCount += res.data.totalWarningCount;\n totalComponentsWithWarningCount += res.data.totalComponentsWithWarningCount ?? 0;\n }\n }\n\n return compact(resultsWithoutComponent);\n });\n\n const isClean =\n totalComponentsWithErrorCount === 0 &&\n totalComponentsWithWarningCount === 0 &&\n totalComponentsWithFatalErrorCount === 0;\n\n return {\n results: compact(flatten(newResults)),\n totalErrorCount,\n totalFatalErrorCount,\n totalFixableErrorCount,\n totalFixableWarningCount,\n totalWarningCount,\n totalComponentsWithErrorCount,\n totalComponentsWithFatalErrorCount,\n totalComponentsWithFixableErrorCount,\n totalComponentsWithFixableWarningCount,\n totalComponentsWithWarningCount,\n isClean,\n errors: results?.errors,\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_toolboxTime","data","require","_legacy","_cli","_chalk","_interopRequireDefault","_lodash","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","LintCmd","constructor","linter","componentHost","workspace","name","description","COMPONENT_PATTERN_HELP","report","pattern","linterOptions","code","json","lintResults","componentsIdsToLint","title","formatTitle","length","groupedByIsClean","groupBy","results","res","isClean","undefined","totalErrorCount","totalFatalErrorCount","totalWarningCount","dirtyComponentsOutputs","false","map","lintRes","compTitle","chalk","bold","cyan","componentId","toString","ignoreVersion","compOutput","output","join","cleanComponentsCount","true","cleanComponentsOutput","formatSuccessSummary","summary","getSummarySection","finalOutput","joinSections","duration","seconds","summaryTitle","totalFieldsMap","itemsDataField","componentsDataField","label","summaryTotals","item","renderTotalLine","filter","Boolean","componentsCount","itemsCount","fieldLabel","timer","Timer","create","start","componentsIds","getIdsToLint","changed","componentsToLint","getMany","opts","fix","fixTypes","fixType","split","linterResults","lint","jsonLinterResults","toJsonLintResults","timerResponse","stop","comp","id","idsByPattern","getNewAndModifiedIds","listIds","exports","totalFixableErrorCount","totalFixableWarningCount","totalComponentsWithErrorCount","totalComponentsWithFatalErrorCount","totalComponentsWithFixableErrorCount","totalComponentsWithFixableWarningCount","totalComponentsWithWarningCount","newResults","resultsWithoutComponent","result","assign","component","omit","compact","flatten","errors"],"sources":["lint.cmd.ts"],"sourcesContent":["import type { TimerResponse } from '@teambit/toolbox.time.timer';\nimport { Timer } from '@teambit/toolbox.time.timer';\nimport { COMPONENT_PATTERN_HELP } from '@teambit/legacy.constants';\nimport type { Command, CommandOptions } from '@teambit/cli';\nimport { formatTitle, formatSuccessSummary, joinSections } from '@teambit/cli';\nimport type { ComponentFactory, ComponentID } from '@teambit/component';\nimport chalk from 'chalk';\nimport type { EnvsExecutionResult } from '@teambit/envs';\nimport type { Workspace } from '@teambit/workspace';\nimport { compact, flatten, groupBy, omit } from 'lodash';\nimport type { LinterMain } from './linter.main.runtime';\nimport type { ComponentLintResult, LintResults } from './linter';\nimport type { FixTypes, LinterOptions } from './linter-context';\n\nexport type LintCmdOptions = {\n changed?: boolean;\n fix?: boolean;\n fixType?: string;\n json?: boolean;\n};\n\n/**\n * A type for result with componentId instead of the entire component, as when output to console, we don't want to print all the component\n */\nexport type JsonComponentLintResult = Omit<ComponentLintResult, 'component'> & {\n componentId: ComponentID;\n};\n\nexport type JsonLintDataResults = Omit<LintResults, 'results'> & { results: JsonComponentLintResult[] };\n/**\n * A type for result with componentId instead of the entire component, as when output to console, we don't want to print all the component\n */\nexport type JsonLintResultsData = {\n duration: TimerResponse;\n lintResults: JsonLintDataResults;\n componentsIdsToLint: string[];\n};\n\nexport type JsonLintResults = {\n code: number;\n data: JsonLintResultsData;\n};\n\nexport class LintCmd implements Command {\n name = 'lint [component-pattern]';\n description = 'analyze component code for issues and style violations';\n extendedDescription = `runs linters configured by each component's environment (ESLint, etc.) to check for code quality issues.\nby default lints all components. use --changed to lint only new and modified components.\nsupports automatic fixing of certain issues with --fix flag.`;\n arguments = [{ name: 'component-pattern', description: COMPONENT_PATTERN_HELP }];\n helpUrl = 'reference/linting/linter-overview';\n group = 'testing';\n options = [\n ['c', 'changed', 'lint only new and modified components'],\n ['f', 'fix', 'automatically fix problems'],\n ['', 'fix-type <fixType>', 'specify the types of fixes to apply (problem, suggestion, layout)'],\n ['j', 'json', 'return the lint results in json format'],\n ] as CommandOptions;\n\n constructor(\n private linter: LinterMain,\n private componentHost: ComponentFactory,\n private workspace: Workspace\n ) {}\n\n async report([pattern]: [string], linterOptions: LintCmdOptions) {\n const { code, data } = await this.json([pattern], linterOptions);\n const { lintResults, componentsIdsToLint } = data;\n const title = formatTitle(\n `linting total of ${componentsIdsToLint.length} component(s) in workspace '${this.componentHost.name}'`\n );\n\n const groupedByIsClean = groupBy(lintResults.results, (res) => {\n if (res.isClean !== undefined) {\n return res.isClean;\n }\n // The is clean field was added in a later version of the linter, so if it's not there, we will calculate it\n // based on the errors/warnings count\n return res.totalErrorCount + (res.totalFatalErrorCount || 0) + res.totalWarningCount === 0;\n });\n\n const dirtyComponentsOutputs = (groupedByIsClean.false || [])\n .map((lintRes) => {\n const compTitle = chalk.bold.cyan(lintRes.componentId.toString({ ignoreVersion: true }));\n const compOutput = lintRes.output;\n return `${compTitle}\\n${compOutput}`;\n })\n .join('\\n');\n\n const cleanComponentsCount = groupedByIsClean.true?.length || 0;\n const cleanComponentsOutput = cleanComponentsCount\n ? formatSuccessSummary(`${cleanComponentsCount} component(s) have no linting issues`)\n : '';\n\n const summary = this.getSummarySection(data);\n const finalOutput = joinSections([title, dirtyComponentsOutputs, cleanComponentsOutput, summary]);\n return { code, data: finalOutput };\n }\n\n private getSummarySection(data: JsonLintResultsData) {\n const { duration, lintResults, componentsIdsToLint } = data;\n const { seconds } = duration;\n const summaryTitle = `linted ${componentsIdsToLint.length} components in ${seconds} seconds`;\n\n const totalFieldsMap = [\n { itemsDataField: 'totalErrorCount', componentsDataField: 'totalComponentsWithErrorCount', label: 'Errors' },\n {\n itemsDataField: 'totalFatalErrorCount',\n componentsDataField: 'totalComponentsWithFatalErrorCount',\n label: 'FatalErrors',\n },\n {\n itemsDataField: 'totalFixableErrorCount',\n componentsDataField: 'totalComponentsWithFixableErrorCount',\n label: 'FixableErrors',\n },\n {\n itemsDataField: 'totalFixableWarningCount',\n componentsDataField: 'totalComponentsWithFixableWarningCount',\n label: 'FixableWarnings',\n },\n {\n itemsDataField: 'totalWarningCount',\n componentsDataField: 'totalComponentsWithWarningCount',\n label: 'Warnings',\n },\n ];\n\n const summaryTotals = totalFieldsMap\n .map((item) =>\n this.renderTotalLine(lintResults[item.componentsDataField], lintResults[item.itemsDataField], item.label)\n )\n .filter(Boolean)\n .join('\\n');\n const summary = `${summaryTitle}\\n${summaryTotals}`;\n return summary;\n }\n\n private renderTotalLine(componentsCount: number, itemsCount: number, fieldLabel: string): string | undefined {\n if (itemsCount === 0) return undefined;\n return `total of ${itemsCount} ${fieldLabel} (from ${componentsCount} components)`;\n }\n\n async json([pattern]: [string], linterOptions: LintCmdOptions): Promise<JsonLintResults> {\n const timer = Timer.create();\n timer.start();\n const componentsIds = await this.getIdsToLint(pattern, linterOptions.changed);\n const componentsToLint = await this.workspace.getMany(componentsIds);\n const opts: LinterOptions = {\n fix: linterOptions.fix,\n fixTypes: linterOptions.fixType ? (linterOptions.fixType.split(',') as FixTypes) : undefined,\n };\n const linterResults = await this.linter.lint(componentsToLint, opts);\n const jsonLinterResults = toJsonLintResults(linterResults);\n const timerResponse = timer.stop();\n let code = 0;\n if (jsonLinterResults.totalErrorCount || jsonLinterResults.totalFatalErrorCount) {\n code = 1;\n }\n return {\n code,\n data: {\n duration: timerResponse,\n lintResults: jsonLinterResults,\n componentsIdsToLint: componentsToLint.map((comp) => comp.id.toString()),\n },\n };\n }\n\n private async getIdsToLint(pattern: string, changed = false): Promise<ComponentID[]> {\n if (pattern) {\n return this.workspace.idsByPattern(pattern);\n }\n if (changed) {\n return this.workspace.getNewAndModifiedIds();\n }\n return this.componentHost.listIds();\n }\n}\n\nfunction toJsonLintResults(results: EnvsExecutionResult<LintResults>): JsonLintDataResults {\n let totalErrorCount = 0;\n let totalFatalErrorCount = 0;\n let totalFixableErrorCount = 0;\n let totalFixableWarningCount = 0;\n let totalWarningCount = 0;\n let totalComponentsWithErrorCount = 0;\n let totalComponentsWithFatalErrorCount = 0;\n let totalComponentsWithFixableErrorCount = 0;\n let totalComponentsWithFixableWarningCount = 0;\n let totalComponentsWithWarningCount = 0;\n\n const newResults = results.results.map((res) => {\n const resultsWithoutComponent = res.data?.results.map((result) => {\n return Object.assign({}, { componentId: result.component.id }, omit(result, ['component']));\n });\n\n if (res.data) {\n if (res.data.totalErrorCount) {\n totalErrorCount += res.data.totalErrorCount;\n totalComponentsWithErrorCount += res.data.totalComponentsWithErrorCount ?? 0;\n }\n if (res.data.totalFatalErrorCount) {\n totalFatalErrorCount += res.data.totalFatalErrorCount;\n totalComponentsWithFatalErrorCount += res.data.totalComponentsWithFatalErrorCount ?? 0;\n }\n if (res.data.totalFixableErrorCount) {\n totalFixableErrorCount += res.data.totalFixableErrorCount;\n totalComponentsWithFixableErrorCount += res.data.totalComponentsWithFixableErrorCount ?? 0;\n }\n if (res.data.totalFixableWarningCount) {\n totalFixableWarningCount += res.data.totalFixableWarningCount;\n totalComponentsWithFixableWarningCount += res.data.totalComponentsWithFixableWarningCount ?? 0;\n }\n if (res.data.totalWarningCount) {\n totalWarningCount += res.data.totalWarningCount;\n totalComponentsWithWarningCount += res.data.totalComponentsWithWarningCount ?? 0;\n }\n }\n\n return compact(resultsWithoutComponent);\n });\n\n const isClean =\n totalComponentsWithErrorCount === 0 &&\n totalComponentsWithWarningCount === 0 &&\n totalComponentsWithFatalErrorCount === 0;\n\n return {\n results: compact(flatten(newResults)),\n totalErrorCount,\n totalFatalErrorCount,\n totalFixableErrorCount,\n totalFixableWarningCount,\n totalWarningCount,\n totalComponentsWithErrorCount,\n totalComponentsWithFatalErrorCount,\n totalComponentsWithFixableErrorCount,\n totalComponentsWithFixableWarningCount,\n totalComponentsWithWarningCount,\n isClean,\n errors: results?.errors,\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.defender_linter@1.0.
|
|
2
|
-
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.defender_linter@1.0.
|
|
1
|
+
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.defender_linter@1.0.940/dist/linter.composition.js';
|
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.defender_linter@1.0.940/dist/linter.docs.mdx';
|
|
3
3
|
|
|
4
4
|
export const compositions = [compositions_0];
|
|
5
5
|
export const overview = [overview_0];
|
package/package.json
CHANGED
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/linter",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.940",
|
|
4
4
|
"homepage": "https://bit.cloud/teambit/defender/linter",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "teambit.defender",
|
|
8
8
|
"name": "linter",
|
|
9
|
-
"version": "1.0.
|
|
9
|
+
"version": "1.0.940"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"chalk": "4.1.2",
|
|
13
13
|
"lodash": "4.17.21",
|
|
14
14
|
"graphql-tag": "2.12.1",
|
|
15
15
|
"cli-highlight": "2.1.9",
|
|
16
|
+
"@teambit/legacy.constants": "0.0.26",
|
|
16
17
|
"@teambit/toolbox.time.timer": "0.0.13",
|
|
17
18
|
"@teambit/harmony": "0.4.7",
|
|
18
|
-
"@teambit/cli": "0.0.
|
|
19
|
-
"@teambit/component": "1.0.
|
|
20
|
-
"@teambit/envs": "1.0.
|
|
21
|
-
"@teambit/
|
|
22
|
-
"@teambit/
|
|
23
|
-
"@teambit/
|
|
24
|
-
"@teambit/
|
|
25
|
-
"@teambit/logger": "0.0.1407"
|
|
19
|
+
"@teambit/cli": "0.0.1315",
|
|
20
|
+
"@teambit/component": "1.0.940",
|
|
21
|
+
"@teambit/envs": "1.0.940",
|
|
22
|
+
"@teambit/workspace": "1.0.940",
|
|
23
|
+
"@teambit/builder": "1.0.940",
|
|
24
|
+
"@teambit/isolator": "1.0.940",
|
|
25
|
+
"@teambit/logger": "0.0.1408"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"@types/lodash": "4.14.165",
|