@teambit/linter 1.0.749 → 1.0.751
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.d.ts
CHANGED
package/dist/lint.cmd.js
CHANGED
@@ -50,7 +50,10 @@ class LintCmd {
|
|
50
50
|
this.componentHost = componentHost;
|
51
51
|
this.workspace = workspace;
|
52
52
|
_defineProperty(this, "name", 'lint [component-pattern]');
|
53
|
-
_defineProperty(this, "description", '
|
53
|
+
_defineProperty(this, "description", 'analyze component code for issues and style violations');
|
54
|
+
_defineProperty(this, "extendedDescription", `runs linters configured by each component's environment (ESLint, etc.) to check for code quality issues.
|
55
|
+
by default lints all components. use --changed to lint only new and modified components.
|
56
|
+
supports automatic fixing of certain issues with --fix flag.`);
|
54
57
|
_defineProperty(this, "arguments", [{
|
55
58
|
name: 'component-pattern',
|
56
59
|
description: _legacy().COMPONENT_PATTERN_HELP
|
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 = 'lint components in the development workspace';\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","_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,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.751/dist/linter.composition.js';
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.defender_linter@1.0.751/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.751",
|
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.751"
|
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/cli": "0.0.1272",
|
17
|
-
"@teambit/legacy.constants": "0.0.17",
|
18
16
|
"@teambit/toolbox.time.timer": "0.0.7",
|
19
17
|
"@teambit/harmony": "0.4.7",
|
20
|
-
"@teambit/
|
21
|
-
"@teambit/component": "1.0.
|
22
|
-
"@teambit/envs": "1.0.
|
23
|
-
"@teambit/
|
24
|
-
"@teambit/
|
25
|
-
"@teambit/
|
18
|
+
"@teambit/cli": "0.0.1273",
|
19
|
+
"@teambit/component": "1.0.751",
|
20
|
+
"@teambit/envs": "1.0.751",
|
21
|
+
"@teambit/legacy.constants": "0.0.18",
|
22
|
+
"@teambit/workspace": "1.0.751",
|
23
|
+
"@teambit/builder": "1.0.751",
|
24
|
+
"@teambit/isolator": "1.0.751",
|
25
|
+
"@teambit/logger": "0.0.1366"
|
26
26
|
},
|
27
27
|
"devDependencies": {
|
28
28
|
"@types/lodash": "4.14.165",
|