@teambit/formatter 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/format.cmd.d.ts
CHANGED
package/dist/format.cmd.js
CHANGED
|
@@ -50,7 +50,10 @@ class FormatCmd {
|
|
|
50
50
|
this.componentHost = componentHost;
|
|
51
51
|
this.workspace = workspace;
|
|
52
52
|
_defineProperty(this, "name", 'format [component-pattern]');
|
|
53
|
-
_defineProperty(this, "description", 'format
|
|
53
|
+
_defineProperty(this, "description", 'auto-format component source code');
|
|
54
|
+
_defineProperty(this, "extendedDescription", `formats component files using the formatter configured by each component's environment (Prettier, etc.).
|
|
55
|
+
by default formats all components. use --changed to format only new and modified components.
|
|
56
|
+
supports check mode to verify formatting without making changes.`);
|
|
54
57
|
_defineProperty(this, "arguments", [{
|
|
55
58
|
name: 'component-pattern',
|
|
56
59
|
description: _legacy().COMPONENT_PATTERN_HELP
|
package/dist/format.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","FormatCmd","constructor","formatter","componentHost","workspace","name","description","COMPONENT_PATTERN_HELP","report","pattern","formatterOptions","duration","code","componentsIdsToFormat","json","title","chalk","bold","cyan","length","toString","componentsOutputs","getAllComponentsResultOutput","results","check","seconds","summery","formatterCmdOptions","timer","Timer","create","start","componentsIds","getIdsToFormat","changed","componentsToFormat","getMany","opts","formatterResults","format","jsonFormatterResults","toJsonFormatResults","timerResponse","stop","statusCode","getStatusCode","map","comp","id","hasIssues","some","file","idsByPattern","getNewAndModifiedIds","listIds","componentsResult","context","allResults","getOneComponentResultOutput","join","componentResult","componentId","ignoreVersion","filesWithIssues","filter","fileResult","green","subTitle","red","files","getOneComponentFileResultOutput","filePath","exports","newResults","res","resultsWithoutComponent","result","component","compact","flatten","errors"],"sources":["format.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 } from 'lodash';\nimport type { FormatterMain } from './formatter.main.runtime';\nimport type { ComponentFormatResult, FormatResults, FileFormatResult } from './formatter';\nimport type { FormatterOptions } from './formatter-context';\n\nexport type FormatCmdOptions = {\n changed?: boolean;\n json?: boolean;\n check?: boolean;\n};\n\ntype OutputContext = {\n check?: 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 JsonComponentFormatResult = Omit<ComponentFormatResult, 'component'> & {\n componentId: ComponentID;\n};\n\nexport type JsonFormatDataResults = Omit<FormatResults, 'results'> & { results: JsonComponentFormatResult[] };\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 JsonFormatResults = {\n duration: TimerResponse;\n data: JsonFormatDataResults;\n code: number;\n componentsIdsToFormat: string[];\n};\n\nexport class FormatCmd implements Command {\n name = 'format [component-pattern]';\n description = 'format components in the development workspace';\n arguments = [{ name: 'component-pattern', description: COMPONENT_PATTERN_HELP }];\n group = 'testing';\n helpUrl = 'reference/formatting/formatter-overview';\n options = [\n ['c', 'changed', 'format only new and modified components'],\n ['', 'check', 'will output a human-friendly message and a list of unformatted files, if any'],\n ['j', 'json', 'return the format results in json format'],\n ] as CommandOptions;\n\n constructor(\n private formatter: FormatterMain,\n private componentHost: ComponentFactory,\n private workspace: Workspace\n ) {}\n\n async report([pattern]: [string], formatterOptions: FormatCmdOptions) {\n const { duration, data, code, componentsIdsToFormat } = await this.json([pattern], formatterOptions);\n\n const title = chalk.bold(\n `formatting total of ${chalk.cyan(\n componentsIdsToFormat.length.toString()\n )} component(s) in workspace '${chalk.cyan(this.componentHost.name)}`\n );\n\n const componentsOutputs = this.getAllComponentsResultOutput(data.results, { check: formatterOptions.check });\n\n const { seconds } = duration;\n const summery = `formatted ${chalk.cyan(componentsIdsToFormat.length.toString())} components in ${chalk.cyan(\n seconds.toString()\n )}.`;\n\n return {\n data: `${title}\\n\\n${componentsOutputs}\\n\\n${summery}`,\n code,\n };\n }\n\n async json([pattern]: [string], formatterCmdOptions: FormatCmdOptions): Promise<JsonFormatResults> {\n const timer = Timer.create();\n timer.start();\n const componentsIds = await this.getIdsToFormat(pattern, formatterCmdOptions.changed);\n const componentsToFormat = await this.workspace.getMany(componentsIds);\n const opts: FormatterOptions = {};\n const formatterResults = formatterCmdOptions.check\n ? await this.formatter.check(componentsToFormat, opts)\n : await this.formatter.format(componentsToFormat, opts);\n const jsonFormatterResults = toJsonFormatResults(formatterResults);\n const timerResponse = timer.stop();\n const statusCode = this.getStatusCode(jsonFormatterResults, formatterCmdOptions.check);\n\n return {\n duration: timerResponse,\n data: jsonFormatterResults,\n code: statusCode,\n componentsIdsToFormat: componentsToFormat.map((comp) => comp.id.toString()),\n };\n }\n\n private getStatusCode(results: JsonFormatDataResults, check = false): number {\n if (!check) return 0;\n const hasIssues = results.results.some((comp) => comp.results.some((file) => file.hasIssues));\n if (hasIssues) return 1;\n return 0;\n }\n\n private async getIdsToFormat(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 private getAllComponentsResultOutput(componentsResult: JsonComponentFormatResult[], context: OutputContext) {\n const allResults = componentsResult.map((comp) => this.getOneComponentResultOutput(comp, context));\n return allResults.join('\\n\\n');\n }\n\n private getOneComponentResultOutput(componentResult: JsonComponentFormatResult, context: OutputContext) {\n const title = chalk.bold.cyan(componentResult.componentId.toString({ ignoreVersion: true }));\n const filesWithIssues = componentResult.results.filter((fileResult) => fileResult.hasIssues);\n if (!filesWithIssues || !filesWithIssues.length) {\n return `${title}\\n${chalk.green('no issues found')}`;\n }\n let subTitle = chalk.green('the following files have been re-formatted:');\n if (context.check) {\n subTitle = chalk.red('issues found in the following files:');\n }\n const files = filesWithIssues.map(this.getOneComponentFileResultOutput);\n return `${title}\\n${subTitle}\\n${files.join('\\n')}`;\n }\n\n private getOneComponentFileResultOutput(fileResult: FileFormatResult) {\n return fileResult.filePath;\n }\n}\n\nfunction toJsonFormatResults(results: EnvsExecutionResult<FormatResults>): JsonFormatDataResults {\n const newResults = results.results.map((res) => {\n const resultsWithoutComponent = res.data?.results.map((result) => {\n return {\n componentId: result.component.id,\n results: result.results,\n };\n });\n return compact(resultsWithoutComponent);\n });\n return {\n results: compact(flatten(newResults)),\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","FormatCmd","constructor","formatter","componentHost","workspace","name","description","COMPONENT_PATTERN_HELP","report","pattern","formatterOptions","duration","code","componentsIdsToFormat","json","title","chalk","bold","cyan","length","toString","componentsOutputs","getAllComponentsResultOutput","results","check","seconds","summery","formatterCmdOptions","timer","Timer","create","start","componentsIds","getIdsToFormat","changed","componentsToFormat","getMany","opts","formatterResults","format","jsonFormatterResults","toJsonFormatResults","timerResponse","stop","statusCode","getStatusCode","map","comp","id","hasIssues","some","file","idsByPattern","getNewAndModifiedIds","listIds","componentsResult","context","allResults","getOneComponentResultOutput","join","componentResult","componentId","ignoreVersion","filesWithIssues","filter","fileResult","green","subTitle","red","files","getOneComponentFileResultOutput","filePath","exports","newResults","res","resultsWithoutComponent","result","component","compact","flatten","errors"],"sources":["format.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 } from 'lodash';\nimport type { FormatterMain } from './formatter.main.runtime';\nimport type { ComponentFormatResult, FormatResults, FileFormatResult } from './formatter';\nimport type { FormatterOptions } from './formatter-context';\n\nexport type FormatCmdOptions = {\n changed?: boolean;\n json?: boolean;\n check?: boolean;\n};\n\ntype OutputContext = {\n check?: 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 JsonComponentFormatResult = Omit<ComponentFormatResult, 'component'> & {\n componentId: ComponentID;\n};\n\nexport type JsonFormatDataResults = Omit<FormatResults, 'results'> & { results: JsonComponentFormatResult[] };\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 JsonFormatResults = {\n duration: TimerResponse;\n data: JsonFormatDataResults;\n code: number;\n componentsIdsToFormat: string[];\n};\n\nexport class FormatCmd implements Command {\n name = 'format [component-pattern]';\n description = 'auto-format component source code';\n extendedDescription = `formats component files using the formatter configured by each component's environment (Prettier, etc.).\nby default formats all components. use --changed to format only new and modified components.\nsupports check mode to verify formatting without making changes.`;\n arguments = [{ name: 'component-pattern', description: COMPONENT_PATTERN_HELP }];\n group = 'testing';\n helpUrl = 'reference/formatting/formatter-overview';\n options = [\n ['c', 'changed', 'format only new and modified components'],\n ['', 'check', 'will output a human-friendly message and a list of unformatted files, if any'],\n ['j', 'json', 'return the format results in json format'],\n ] as CommandOptions;\n\n constructor(\n private formatter: FormatterMain,\n private componentHost: ComponentFactory,\n private workspace: Workspace\n ) {}\n\n async report([pattern]: [string], formatterOptions: FormatCmdOptions) {\n const { duration, data, code, componentsIdsToFormat } = await this.json([pattern], formatterOptions);\n\n const title = chalk.bold(\n `formatting total of ${chalk.cyan(\n componentsIdsToFormat.length.toString()\n )} component(s) in workspace '${chalk.cyan(this.componentHost.name)}`\n );\n\n const componentsOutputs = this.getAllComponentsResultOutput(data.results, { check: formatterOptions.check });\n\n const { seconds } = duration;\n const summery = `formatted ${chalk.cyan(componentsIdsToFormat.length.toString())} components in ${chalk.cyan(\n seconds.toString()\n )}.`;\n\n return {\n data: `${title}\\n\\n${componentsOutputs}\\n\\n${summery}`,\n code,\n };\n }\n\n async json([pattern]: [string], formatterCmdOptions: FormatCmdOptions): Promise<JsonFormatResults> {\n const timer = Timer.create();\n timer.start();\n const componentsIds = await this.getIdsToFormat(pattern, formatterCmdOptions.changed);\n const componentsToFormat = await this.workspace.getMany(componentsIds);\n const opts: FormatterOptions = {};\n const formatterResults = formatterCmdOptions.check\n ? await this.formatter.check(componentsToFormat, opts)\n : await this.formatter.format(componentsToFormat, opts);\n const jsonFormatterResults = toJsonFormatResults(formatterResults);\n const timerResponse = timer.stop();\n const statusCode = this.getStatusCode(jsonFormatterResults, formatterCmdOptions.check);\n\n return {\n duration: timerResponse,\n data: jsonFormatterResults,\n code: statusCode,\n componentsIdsToFormat: componentsToFormat.map((comp) => comp.id.toString()),\n };\n }\n\n private getStatusCode(results: JsonFormatDataResults, check = false): number {\n if (!check) return 0;\n const hasIssues = results.results.some((comp) => comp.results.some((file) => file.hasIssues));\n if (hasIssues) return 1;\n return 0;\n }\n\n private async getIdsToFormat(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 private getAllComponentsResultOutput(componentsResult: JsonComponentFormatResult[], context: OutputContext) {\n const allResults = componentsResult.map((comp) => this.getOneComponentResultOutput(comp, context));\n return allResults.join('\\n\\n');\n }\n\n private getOneComponentResultOutput(componentResult: JsonComponentFormatResult, context: OutputContext) {\n const title = chalk.bold.cyan(componentResult.componentId.toString({ ignoreVersion: true }));\n const filesWithIssues = componentResult.results.filter((fileResult) => fileResult.hasIssues);\n if (!filesWithIssues || !filesWithIssues.length) {\n return `${title}\\n${chalk.green('no issues found')}`;\n }\n let subTitle = chalk.green('the following files have been re-formatted:');\n if (context.check) {\n subTitle = chalk.red('issues found in the following files:');\n }\n const files = filesWithIssues.map(this.getOneComponentFileResultOutput);\n return `${title}\\n${subTitle}\\n${files.join('\\n')}`;\n }\n\n private getOneComponentFileResultOutput(fileResult: FileFormatResult) {\n return fileResult.filePath;\n }\n}\n\nfunction toJsonFormatResults(results: EnvsExecutionResult<FormatResults>): JsonFormatDataResults {\n const newResults = results.results.map((res) => {\n const resultsWithoutComponent = res.data?.results.map((result) => {\n return {\n componentId: result.component.id,\n results: result.results,\n };\n });\n return compact(resultsWithoutComponent);\n });\n return {\n results: compact(flatten(newResults)),\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_formatter@1.0.
|
|
2
|
-
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.defender_formatter@1.0.
|
|
1
|
+
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.defender_formatter@1.0.751/dist/formatter.composition.js';
|
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.defender_formatter@1.0.751/dist/formatter.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/formatter",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.751",
|
|
4
4
|
"homepage": "https://bit.cloud/teambit/defender/formatter",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "teambit.defender",
|
|
8
8
|
"name": "formatter",
|
|
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/logger": "0.0.1366",
|
|
25
|
+
"@teambit/snapping": "1.0.751"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"@types/lodash": "4.14.165",
|