@teambit/snapping 0.0.447 → 0.0.449

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/reset-cmd.js CHANGED
@@ -50,7 +50,7 @@ class ResetCmd {
50
50
  (0, _defineProperty2().default)(this, "group", 'development');
51
51
  (0, _defineProperty2().default)(this, "extendedDescription", `https://${_constants().BASE_DOCS_DOMAIN}/components/tags#undoing-a-tag`);
52
52
  (0, _defineProperty2().default)(this, "alias", '');
53
- (0, _defineProperty2().default)(this, "options", [['a', 'all', 'revert tag/snap for all tagged/snapped components'], ['', 'head', 'revert the head tag/snap only (by default, all local tags/snaps are reverted)'], ['', 'soft', 'revert only soft-tags (components tagged with --soft flag)'], ['f', 'force', 'revert the tag even if used as a dependency. WARNING: components that depend on this tag will corrupt']]);
53
+ (0, _defineProperty2().default)(this, "options", [['a', 'all', 'revert all unexported tags/snaps for all components'], ['', 'head', 'revert the head tag/snap only (by default, all local tags/snaps are reverted)'], ['', 'soft', 'revert only soft-tags (components tagged with --soft flag)'], ['f', 'force', "revert the tag even if it's used as a dependency. WARNING: components that depend on this tag will be corrupted"]]);
54
54
  (0, _defineProperty2().default)(this, "loader", true);
55
55
  (0, _defineProperty2().default)(this, "migration", true);
56
56
  }
@@ -73,7 +73,7 @@ class ResetCmd {
73
73
  results,
74
74
  isSoftUntag
75
75
  } = await this.snapping.reset(pattern, head, force, soft);
76
- const titleSuffix = isSoftUntag ? 'soft-untagged (are not candidate for tagging anymore)' : 'untagged';
76
+ const titleSuffix = isSoftUntag ? 'soft-untagged (are not candidates for tagging any more)' : 'untagged';
77
77
  const title = _chalk().default.green(`${results.length} component(s) were ${titleSuffix}:\n`);
78
78
  const components = results.map(result => {
79
79
  return `${_chalk().default.cyan(result.id.toStringWithoutVersion())}. version(s): ${result.versions.join(', ')}`;
@@ -1 +1 @@
1
- {"version":3,"names":["_bitError","data","require","_chalk","_interopRequireDefault","_constants","ResetCmd","constructor","snapping","_defineProperty2","default","name","description","COMPONENT_PATTERN_HELP","BASE_DOCS_DOMAIN","report","pattern","all","head","force","soft","BitError","results","isSoftUntag","reset","titleSuffix","title","chalk","green","length","components","map","result","cyan","id","toStringWithoutVersion","versions","join","exports"],"sources":["reset-cmd.ts"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\nimport chalk from 'chalk';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { BASE_DOCS_DOMAIN, COMPONENT_PATTERN_HELP } from '@teambit/legacy/dist/constants';\nimport { SnappingMain } from './snapping.main.runtime';\n\nexport default class ResetCmd implements Command {\n name = 'reset [component-pattern]';\n description = 'revert tagged or snapped versions for component(s)';\n arguments = [\n {\n name: 'component-pattern',\n description: COMPONENT_PATTERN_HELP,\n },\n {\n name: 'component-version',\n description: 'the version to untag (semver for tags. hash for snaps)',\n },\n ];\n group = 'development';\n extendedDescription = `https://${BASE_DOCS_DOMAIN}/components/tags#undoing-a-tag`;\n alias = '';\n options = [\n ['a', 'all', 'revert tag/snap for all tagged/snapped components'],\n ['', 'head', 'revert the head tag/snap only (by default, all local tags/snaps are reverted)'],\n ['', 'soft', 'revert only soft-tags (components tagged with --soft flag)'],\n [\n 'f',\n 'force',\n 'revert the tag even if used as a dependency. WARNING: components that depend on this tag will corrupt',\n ],\n ] as CommandOptions;\n loader = true;\n migration = true;\n\n constructor(private snapping: SnappingMain) {}\n\n async report(\n [pattern]: [string],\n {\n all = false,\n head = false,\n force = false,\n soft = false,\n }: { all?: boolean; head?: boolean; force?: boolean; soft?: boolean }\n ) {\n if (!pattern && !all) {\n throw new BitError('please specify a component-pattern or use --all flag');\n }\n if (pattern && all) {\n throw new BitError('please specify either a component-pattern or --all flag, not both');\n }\n if (soft && head) {\n throw new BitError('please specify either --soft or --head flag, not both');\n }\n const { results, isSoftUntag } = await this.snapping.reset(pattern, head, force, soft);\n const titleSuffix = isSoftUntag ? 'soft-untagged (are not candidate for tagging anymore)' : 'untagged';\n const title = chalk.green(`${results.length} component(s) were ${titleSuffix}:\\n`);\n const components = results.map((result) => {\n return `${chalk.cyan(result.id.toStringWithoutVersion())}. version(s): ${result.versions.join(', ')}`;\n });\n return title + components.join('\\n');\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_bitError","data","require","_chalk","_interopRequireDefault","_constants","ResetCmd","constructor","snapping","_defineProperty2","default","name","description","COMPONENT_PATTERN_HELP","BASE_DOCS_DOMAIN","report","pattern","all","head","force","soft","BitError","results","isSoftUntag","reset","titleSuffix","title","chalk","green","length","components","map","result","cyan","id","toStringWithoutVersion","versions","join","exports"],"sources":["reset-cmd.ts"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\nimport chalk from 'chalk';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { BASE_DOCS_DOMAIN, COMPONENT_PATTERN_HELP } from '@teambit/legacy/dist/constants';\nimport { SnappingMain } from './snapping.main.runtime';\n\nexport default class ResetCmd implements Command {\n name = 'reset [component-pattern]';\n description = 'revert tagged or snapped versions for component(s)';\n arguments = [\n {\n name: 'component-pattern',\n description: COMPONENT_PATTERN_HELP,\n },\n {\n name: 'component-version',\n description: 'the version to untag (semver for tags. hash for snaps)',\n },\n ];\n group = 'development';\n extendedDescription = `https://${BASE_DOCS_DOMAIN}/components/tags#undoing-a-tag`;\n alias = '';\n options = [\n ['a', 'all', 'revert all unexported tags/snaps for all components'],\n ['', 'head', 'revert the head tag/snap only (by default, all local tags/snaps are reverted)'],\n ['', 'soft', 'revert only soft-tags (components tagged with --soft flag)'],\n [\n 'f',\n 'force',\n \"revert the tag even if it's used as a dependency. WARNING: components that depend on this tag will be corrupted\",\n ],\n ] as CommandOptions;\n loader = true;\n migration = true;\n\n constructor(private snapping: SnappingMain) {}\n\n async report(\n [pattern]: [string],\n {\n all = false,\n head = false,\n force = false,\n soft = false,\n }: { all?: boolean; head?: boolean; force?: boolean; soft?: boolean }\n ) {\n if (!pattern && !all) {\n throw new BitError('please specify a component-pattern or use --all flag');\n }\n if (pattern && all) {\n throw new BitError('please specify either a component-pattern or --all flag, not both');\n }\n if (soft && head) {\n throw new BitError('please specify either --soft or --head flag, not both');\n }\n const { results, isSoftUntag } = await this.snapping.reset(pattern, head, force, soft);\n const titleSuffix = isSoftUntag ? 'soft-untagged (are not candidates for tagging any more)' : 'untagged';\n const title = chalk.green(`${results.length} component(s) were ${titleSuffix}:\\n`);\n const components = results.map((result) => {\n return `${chalk.cyan(result.id.toStringWithoutVersion())}. version(s): ${result.versions.join(', ')}`;\n });\n return title + components.join('\\n');\n }\n}\n"],"mappings":"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"}
package/dist/snap-cmd.js CHANGED
@@ -54,18 +54,18 @@ class SnapCmd {
54
54
  this.snapping = snapping;
55
55
  this.logger = logger;
56
56
  (0, _defineProperty2().default)(this, "name", 'snap [component-pattern]');
57
- (0, _defineProperty2().default)(this, "description", 'create an immutable and exportable component snapshot (no release version)');
57
+ (0, _defineProperty2().default)(this, "description", 'create an immutable and exportable component snapshot (non-release version)');
58
58
  (0, _defineProperty2().default)(this, "extendedDescription", void 0);
59
59
  (0, _defineProperty2().default)(this, "group", 'development');
60
60
  (0, _defineProperty2().default)(this, "arguments", [{
61
61
  name: 'component-pattern',
62
- description: `${_constants().COMPONENT_PATTERN_HELP}. By default, all new and modified components are snapped.`
62
+ description: `${_constants().COMPONENT_PATTERN_HELP}. By default, only new and modified components are snapped (add --unmodified to snap all components in the workspace).`
63
63
  }]);
64
64
  (0, _defineProperty2().default)(this, "helpUrl", 'docs/components/snaps');
65
65
  (0, _defineProperty2().default)(this, "alias", '');
66
- (0, _defineProperty2().default)(this, "options", [['m', 'message <message>', 'log message describing the latest changes'], ['', 'unmodified', 'include unmodified components (by default, only new and modified components are snapped)'], ['', 'unmerged', 'complete a merge process by snapping the unmerged components'], ['b', 'build', 'not needed for now. run the build pipeline in case the feature-flag build-on-ci is enabled'], ['', 'editor [editor]', 'open an editor to write a tag message for each component. optionally, specify the editor-name (defaults to vim).'], ['', 'skip-tests', 'skip running component tests during snap process'], ['', 'skip-auto-snap', 'skip auto snapping dependents'], ['', 'disable-snap-pipeline', 'skip the snap pipeline'], ['', 'force-deploy', 'DEPRECATED. use --ignore-build-error instead'], ['', 'ignore-build-errors', 'run the snap pipeline although the build pipeline failed'], ['i', 'ignore-issues [issues]', `ignore component issues (shown in "bit status" as "issues found"), issues to ignore:
66
+ (0, _defineProperty2().default)(this, "options", [['m', 'message <message>', 'snap message describing the latest changes - will appear in component history log'], ['', 'unmodified', 'include unmodified components (by default, only new and modified components are snapped)'], ['', 'unmerged', 'complete a merge process by snapping the unmerged components'], ['b', 'build', 'not needed for now. run the build pipeline locally in case the feature-flag build-on-ci is enabled'], ['', 'editor [editor]', 'open an editor to write a snap message per component. optionally specify the editor-name (defaults to vim).'], ['', 'skip-tests', 'skip running component tests during snap process'], ['', 'skip-auto-snap', 'skip auto snapping dependents'], ['', 'disable-snap-pipeline', 'skip the snap pipeline. this will for instance skip packing and publishing component version for install, and app deployment'], ['', 'force-deploy', 'DEPRECATED. use --ignore-build-error instead'], ['', 'ignore-build-errors', 'proceed to snap pipeline even when build pipeline fails'], ['i', 'ignore-issues [issues]', `ignore component issues (shown in "bit status" as "issues found"), issues to ignore:
67
67
  [${Object.keys(_componentIssues().IssuesClasses).join(', ')}]
68
- to ignore multiple issues, separate them by a comma and wrap with quotes. to ignore all issues, specify "*".`], ['a', 'all', 'DEPRECATED (not needed anymore, it is the default now). snap all new and modified components'], ['', 'fail-fast', 'stop pipeline execution on the first failed task (by default a task is skipped only when its dependent failed)'], ['f', 'force', 'DEPRECATED (use "--skip-tests" or "--unmodified" instead). force-snap even if tests are failing and even when component has not changed']]);
68
+ to ignore multiple issues, separate them by a comma and wrap with quotes. to ignore all issues, specify "*".`], ['a', 'all', 'DEPRECATED (not needed anymore, now the default). snap all new and modified components'], ['', 'fail-fast', 'stop pipeline execution on the first failed task (by default a task is skipped only when its dependency failed)'], ['f', 'force', 'DEPRECATED (use "--skip-tests" or "--unmodified" instead). force-snap even if tests are failing and even when component has not changed']]);
69
69
  (0, _defineProperty2().default)(this, "loader", true);
70
70
  (0, _defineProperty2().default)(this, "migration", true);
71
71
  }
@@ -88,14 +88,14 @@ to ignore multiple issues, separate them by a comma and wrap with quotes. to ign
88
88
  build = (0, _featureToggle().isFeatureEnabled)(_featureToggle().BUILD_ON_CI) ? Boolean(build) : true;
89
89
  const disableTagAndSnapPipelines = disableSnapPipeline;
90
90
  if (all) {
91
- this.logger.consoleWarning(`--all is deprecated, please omit it. "bit snap" by default will snap all new and modified components`);
91
+ this.logger.consoleWarning(`--all is deprecated, please omit it. By default all new and modified components are snapped, to snap all components add --unmodified`);
92
92
  }
93
93
  if (force) {
94
- this.logger.consoleWarning(`--force is deprecated, use either --skip-tests or --unmodified depending on the use case`);
94
+ this.logger.consoleWarning(`--force is deprecated, use either --skip-tests or --ignore-build-errors depending on the use case`);
95
95
  if (pattern) unmodified = true;
96
96
  }
97
97
  if (!message && !editor) {
98
- this.logger.consoleWarning(`--message will be mandatory in the next few releases. make sure to add a message with your snap`);
98
+ this.logger.consoleWarning(`--message will be mandatory in the next few releases. make sure to add a message with your snap, will be displayed in the version history`);
99
99
  }
100
100
  if (forceDeploy) {
101
101
  this.logger.consoleWarning(`--force-deploy is deprecated, use --ignore-build-errors instead`);
@@ -129,7 +129,7 @@ to ignore multiple issues, separate them by a comma and wrap with quotes. to ign
129
129
  const autoTaggedCount = autoSnappedResults ? autoSnappedResults.length : 0;
130
130
  const warningsOutput = warnings && warnings.length ? `${_chalk().default.yellow(warnings.join('\n'))}\n\n` : '';
131
131
  const snapExplanation = `\n(use "bit export" to push these components to a remote")
132
- (use "bit reset" to unstage versions)\n`;
132
+ (use "bit reset" to unstage all local versions, or "bit reset --head" to only unstage the latest local snap)\n`;
133
133
  const compInBold = id => {
134
134
  const version = id.hasVersion() ? `@${id.version}` : '';
135
135
  return `${_chalk().default.bold(id.toStringWithoutVersion())}${version}`;
@@ -1 +1 @@
1
- {"version":3,"names":["_chalk","data","_interopRequireDefault","require","_componentIssues","_featureToggle","_constants","_tagCmd","SnapCmd","constructor","snapping","logger","_defineProperty2","default","name","description","COMPONENT_PATTERN_HELP","Object","keys","IssuesClasses","join","report","pattern","message","all","force","unmerged","editor","ignoreIssues","build","skipTests","skipAutoSnap","disableSnapPipeline","forceDeploy","ignoreBuildErrors","unmodified","failFast","isFeatureEnabled","BUILD_ON_CI","Boolean","disableTagAndSnapPipelines","consoleWarning","results","snap","exitOnFirstFailedTask","chalk","yellow","NOTHING_TO_SNAP_MSG","snappedComponents","autoSnappedResults","warnings","newComponents","laneName","removedComponents","changedComponents","filter","component","searchWithoutVersion","id","addedComponents","autoTaggedCount","length","warningsOutput","snapExplanation","compInBold","version","hasVersion","bold","toStringWithoutVersion","outputComponents","comps","map","componentOutput","autoTag","result","triggeredBy","searchWithoutScopeAndVersion","autoTagComp","a","AUTO_SNAPPED_MSG","outputIfExists","label","explanation","components","underline","laneStr","green","outputIdsIfExists","exports"],"sources":["snap-cmd.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { BitId } from '@teambit/legacy-bit-id';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component/consumer-component';\nimport { IssuesClasses } from '@teambit/component-issues';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { isFeatureEnabled, BUILD_ON_CI } from '@teambit/legacy/dist/api/consumer/lib/feature-toggle';\nimport { NOTHING_TO_SNAP_MSG, AUTO_SNAPPED_MSG, COMPONENT_PATTERN_HELP } from '@teambit/legacy/dist/constants';\nimport { Logger } from '@teambit/logger';\nimport { SnappingMain, SnapResults } from './snapping.main.runtime';\nimport { outputIdsIfExists } from './tag-cmd';\nimport { BasicTagSnapParams } from './tag-model-component';\n\nexport class SnapCmd implements Command {\n name = 'snap [component-pattern]';\n description = 'create an immutable and exportable component snapshot (no release version)';\n extendedDescription: string;\n group = 'development';\n arguments = [\n {\n name: 'component-pattern',\n description: `${COMPONENT_PATTERN_HELP}. By default, all new and modified components are snapped.`,\n },\n ];\n helpUrl = 'docs/components/snaps';\n alias = '';\n options = [\n ['m', 'message <message>', 'log message describing the latest changes'],\n ['', 'unmodified', 'include unmodified components (by default, only new and modified components are snapped)'],\n ['', 'unmerged', 'complete a merge process by snapping the unmerged components'],\n ['b', 'build', 'not needed for now. run the build pipeline in case the feature-flag build-on-ci is enabled'],\n [\n '',\n 'editor [editor]',\n 'open an editor to write a tag message for each component. optionally, specify the editor-name (defaults to vim).',\n ],\n ['', 'skip-tests', 'skip running component tests during snap process'],\n ['', 'skip-auto-snap', 'skip auto snapping dependents'],\n ['', 'disable-snap-pipeline', 'skip the snap pipeline'],\n ['', 'force-deploy', 'DEPRECATED. use --ignore-build-error instead'],\n ['', 'ignore-build-errors', 'run the snap pipeline although the build pipeline failed'],\n [\n 'i',\n 'ignore-issues [issues]',\n `ignore component issues (shown in \"bit status\" as \"issues found\"), issues to ignore:\n[${Object.keys(IssuesClasses).join(', ')}]\nto ignore multiple issues, separate them by a comma and wrap with quotes. to ignore all issues, specify \"*\".`,\n ],\n ['a', 'all', 'DEPRECATED (not needed anymore, it is the default now). snap all new and modified components'],\n [\n '',\n 'fail-fast',\n 'stop pipeline execution on the first failed task (by default a task is skipped only when its dependent failed)',\n ],\n [\n 'f',\n 'force',\n 'DEPRECATED (use \"--skip-tests\" or \"--unmodified\" instead). force-snap even if tests are failing and even when component has not changed',\n ],\n ] as CommandOptions;\n loader = true;\n migration = true;\n\n constructor(private snapping: SnappingMain, private logger: Logger) {}\n\n async report(\n [pattern]: string[],\n {\n message = '',\n all = false,\n force = false,\n unmerged = false,\n editor = '',\n ignoreIssues,\n build,\n skipTests = false,\n skipAutoSnap = false,\n disableSnapPipeline = false,\n forceDeploy = false,\n ignoreBuildErrors = false,\n unmodified = false,\n failFast = false,\n }: {\n all?: boolean;\n force?: boolean;\n unmerged?: boolean;\n editor?: string;\n ignoreIssues?: string;\n skipAutoSnap?: boolean;\n disableSnapPipeline?: boolean;\n forceDeploy?: boolean;\n unmodified?: boolean;\n failFast?: boolean;\n } & BasicTagSnapParams\n ) {\n build = isFeatureEnabled(BUILD_ON_CI) ? Boolean(build) : true;\n const disableTagAndSnapPipelines = disableSnapPipeline;\n if (all) {\n this.logger.consoleWarning(\n `--all is deprecated, please omit it. \"bit snap\" by default will snap all new and modified components`\n );\n }\n if (force) {\n this.logger.consoleWarning(\n `--force is deprecated, use either --skip-tests or --unmodified depending on the use case`\n );\n if (pattern) unmodified = true;\n }\n if (!message && !editor) {\n this.logger.consoleWarning(\n `--message will be mandatory in the next few releases. make sure to add a message with your snap`\n );\n }\n if (forceDeploy) {\n this.logger.consoleWarning(`--force-deploy is deprecated, use --ignore-build-errors instead`);\n ignoreBuildErrors = true;\n }\n\n const results = await this.snapping.snap({\n pattern,\n message,\n unmerged,\n editor,\n ignoreIssues,\n build,\n skipTests,\n skipAutoSnap,\n disableTagAndSnapPipelines,\n ignoreBuildErrors,\n unmodified,\n exitOnFirstFailedTask: failFast,\n });\n\n if (!results) return chalk.yellow(NOTHING_TO_SNAP_MSG);\n const { snappedComponents, autoSnappedResults, warnings, newComponents, laneName, removedComponents }: SnapResults =\n results;\n const changedComponents = snappedComponents.filter(\n (component) => !newComponents.searchWithoutVersion(component.id)\n );\n const addedComponents = snappedComponents.filter((component) => newComponents.searchWithoutVersion(component.id));\n const autoTaggedCount = autoSnappedResults ? autoSnappedResults.length : 0;\n\n const warningsOutput = warnings && warnings.length ? `${chalk.yellow(warnings.join('\\n'))}\\n\\n` : '';\n const snapExplanation = `\\n(use \"bit export\" to push these components to a remote\")\n(use \"bit reset\" to unstage versions)\\n`;\n\n const compInBold = (id: BitId) => {\n const version = id.hasVersion() ? `@${id.version}` : '';\n return `${chalk.bold(id.toStringWithoutVersion())}${version}`;\n };\n\n const outputComponents = (comps: ConsumerComponent[]) => {\n return comps\n .map((component) => {\n let componentOutput = ` > ${compInBold(component.id)}`;\n const autoTag = autoSnappedResults.filter((result) =>\n result.triggeredBy.searchWithoutScopeAndVersion(component.id)\n );\n if (autoTag.length) {\n const autoTagComp = autoTag.map((a) => compInBold(a.component.id));\n componentOutput += `\\n ${AUTO_SNAPPED_MSG} (${autoTagComp.length} total):\n ${autoTagComp.join('\\n ')}`;\n }\n return componentOutput;\n })\n .join('\\n');\n };\n\n const outputIfExists = (label, explanation, components) => {\n if (!components.length) return '';\n return `\\n${chalk.underline(label)}\\n(${explanation})\\n${outputComponents(components)}\\n`;\n };\n const laneStr = laneName ? ` on \"${laneName}\" lane` : '';\n\n return (\n warningsOutput +\n chalk.green(`${snappedComponents.length + autoTaggedCount} component(s) snapped${laneStr}`) +\n snapExplanation +\n outputIfExists('new components', 'first version for components', addedComponents) +\n outputIfExists('changed components', 'components that got a version bump', changedComponents) +\n outputIdsIfExists('removed components', removedComponents)\n );\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_chalk","data","_interopRequireDefault","require","_componentIssues","_featureToggle","_constants","_tagCmd","SnapCmd","constructor","snapping","logger","_defineProperty2","default","name","description","COMPONENT_PATTERN_HELP","Object","keys","IssuesClasses","join","report","pattern","message","all","force","unmerged","editor","ignoreIssues","build","skipTests","skipAutoSnap","disableSnapPipeline","forceDeploy","ignoreBuildErrors","unmodified","failFast","isFeatureEnabled","BUILD_ON_CI","Boolean","disableTagAndSnapPipelines","consoleWarning","results","snap","exitOnFirstFailedTask","chalk","yellow","NOTHING_TO_SNAP_MSG","snappedComponents","autoSnappedResults","warnings","newComponents","laneName","removedComponents","changedComponents","filter","component","searchWithoutVersion","id","addedComponents","autoTaggedCount","length","warningsOutput","snapExplanation","compInBold","version","hasVersion","bold","toStringWithoutVersion","outputComponents","comps","map","componentOutput","autoTag","result","triggeredBy","searchWithoutScopeAndVersion","autoTagComp","a","AUTO_SNAPPED_MSG","outputIfExists","label","explanation","components","underline","laneStr","green","outputIdsIfExists","exports"],"sources":["snap-cmd.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { BitId } from '@teambit/legacy-bit-id';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component/consumer-component';\nimport { IssuesClasses } from '@teambit/component-issues';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { isFeatureEnabled, BUILD_ON_CI } from '@teambit/legacy/dist/api/consumer/lib/feature-toggle';\nimport { NOTHING_TO_SNAP_MSG, AUTO_SNAPPED_MSG, COMPONENT_PATTERN_HELP } from '@teambit/legacy/dist/constants';\nimport { Logger } from '@teambit/logger';\nimport { SnappingMain, SnapResults } from './snapping.main.runtime';\nimport { outputIdsIfExists } from './tag-cmd';\nimport { BasicTagSnapParams } from './tag-model-component';\n\nexport class SnapCmd implements Command {\n name = 'snap [component-pattern]';\n description = 'create an immutable and exportable component snapshot (non-release version)';\n extendedDescription: string;\n group = 'development';\n arguments = [\n {\n name: 'component-pattern',\n description: `${COMPONENT_PATTERN_HELP}. By default, only new and modified components are snapped (add --unmodified to snap all components in the workspace).`,\n },\n ];\n helpUrl = 'docs/components/snaps';\n alias = '';\n options = [\n ['m', 'message <message>', 'snap message describing the latest changes - will appear in component history log'],\n ['', 'unmodified', 'include unmodified components (by default, only new and modified components are snapped)'],\n ['', 'unmerged', 'complete a merge process by snapping the unmerged components'],\n [\n 'b',\n 'build',\n 'not needed for now. run the build pipeline locally in case the feature-flag build-on-ci is enabled',\n ],\n [\n '',\n 'editor [editor]',\n 'open an editor to write a snap message per component. optionally specify the editor-name (defaults to vim).',\n ],\n ['', 'skip-tests', 'skip running component tests during snap process'],\n ['', 'skip-auto-snap', 'skip auto snapping dependents'],\n [\n '',\n 'disable-snap-pipeline',\n 'skip the snap pipeline. this will for instance skip packing and publishing component version for install, and app deployment',\n ],\n ['', 'force-deploy', 'DEPRECATED. use --ignore-build-error instead'],\n ['', 'ignore-build-errors', 'proceed to snap pipeline even when build pipeline fails'],\n [\n 'i',\n 'ignore-issues [issues]',\n `ignore component issues (shown in \"bit status\" as \"issues found\"), issues to ignore:\n[${Object.keys(IssuesClasses).join(', ')}]\nto ignore multiple issues, separate them by a comma and wrap with quotes. to ignore all issues, specify \"*\".`,\n ],\n ['a', 'all', 'DEPRECATED (not needed anymore, now the default). snap all new and modified components'],\n [\n '',\n 'fail-fast',\n 'stop pipeline execution on the first failed task (by default a task is skipped only when its dependency failed)',\n ],\n [\n 'f',\n 'force',\n 'DEPRECATED (use \"--skip-tests\" or \"--unmodified\" instead). force-snap even if tests are failing and even when component has not changed',\n ],\n ] as CommandOptions;\n loader = true;\n migration = true;\n\n constructor(private snapping: SnappingMain, private logger: Logger) {}\n\n async report(\n [pattern]: string[],\n {\n message = '',\n all = false,\n force = false,\n unmerged = false,\n editor = '',\n ignoreIssues,\n build,\n skipTests = false,\n skipAutoSnap = false,\n disableSnapPipeline = false,\n forceDeploy = false,\n ignoreBuildErrors = false,\n unmodified = false,\n failFast = false,\n }: {\n all?: boolean;\n force?: boolean;\n unmerged?: boolean;\n editor?: string;\n ignoreIssues?: string;\n skipAutoSnap?: boolean;\n disableSnapPipeline?: boolean;\n forceDeploy?: boolean;\n unmodified?: boolean;\n failFast?: boolean;\n } & BasicTagSnapParams\n ) {\n build = isFeatureEnabled(BUILD_ON_CI) ? Boolean(build) : true;\n const disableTagAndSnapPipelines = disableSnapPipeline;\n if (all) {\n this.logger.consoleWarning(\n `--all is deprecated, please omit it. By default all new and modified components are snapped, to snap all components add --unmodified`\n );\n }\n if (force) {\n this.logger.consoleWarning(\n `--force is deprecated, use either --skip-tests or --ignore-build-errors depending on the use case`\n );\n if (pattern) unmodified = true;\n }\n if (!message && !editor) {\n this.logger.consoleWarning(\n `--message will be mandatory in the next few releases. make sure to add a message with your snap, will be displayed in the version history`\n );\n }\n if (forceDeploy) {\n this.logger.consoleWarning(`--force-deploy is deprecated, use --ignore-build-errors instead`);\n ignoreBuildErrors = true;\n }\n\n const results = await this.snapping.snap({\n pattern,\n message,\n unmerged,\n editor,\n ignoreIssues,\n build,\n skipTests,\n skipAutoSnap,\n disableTagAndSnapPipelines,\n ignoreBuildErrors,\n unmodified,\n exitOnFirstFailedTask: failFast,\n });\n\n if (!results) return chalk.yellow(NOTHING_TO_SNAP_MSG);\n const { snappedComponents, autoSnappedResults, warnings, newComponents, laneName, removedComponents }: SnapResults =\n results;\n const changedComponents = snappedComponents.filter(\n (component) => !newComponents.searchWithoutVersion(component.id)\n );\n const addedComponents = snappedComponents.filter((component) => newComponents.searchWithoutVersion(component.id));\n const autoTaggedCount = autoSnappedResults ? autoSnappedResults.length : 0;\n\n const warningsOutput = warnings && warnings.length ? `${chalk.yellow(warnings.join('\\n'))}\\n\\n` : '';\n const snapExplanation = `\\n(use \"bit export\" to push these components to a remote\")\n(use \"bit reset\" to unstage all local versions, or \"bit reset --head\" to only unstage the latest local snap)\\n`;\n\n const compInBold = (id: BitId) => {\n const version = id.hasVersion() ? `@${id.version}` : '';\n return `${chalk.bold(id.toStringWithoutVersion())}${version}`;\n };\n\n const outputComponents = (comps: ConsumerComponent[]) => {\n return comps\n .map((component) => {\n let componentOutput = ` > ${compInBold(component.id)}`;\n const autoTag = autoSnappedResults.filter((result) =>\n result.triggeredBy.searchWithoutScopeAndVersion(component.id)\n );\n if (autoTag.length) {\n const autoTagComp = autoTag.map((a) => compInBold(a.component.id));\n componentOutput += `\\n ${AUTO_SNAPPED_MSG} (${autoTagComp.length} total):\n ${autoTagComp.join('\\n ')}`;\n }\n return componentOutput;\n })\n .join('\\n');\n };\n\n const outputIfExists = (label, explanation, components) => {\n if (!components.length) return '';\n return `\\n${chalk.underline(label)}\\n(${explanation})\\n${outputComponents(components)}\\n`;\n };\n const laneStr = laneName ? ` on \"${laneName}\" lane` : '';\n\n return (\n warningsOutput +\n chalk.green(`${snappedComponents.length + autoTaggedCount} component(s) snapped${laneStr}`) +\n snapExplanation +\n outputIfExists('new components', 'first version for components', addedComponents) +\n outputIfExists('changed components', 'components that got a version bump', changedComponents) +\n outputIdsIfExists('removed components', removedComponents)\n );\n }\n}\n"],"mappings":"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"}
package/dist/tag-cmd.js CHANGED
@@ -69,14 +69,14 @@ class TagCmd {
69
69
  if patterns are entered, you can specify a version per pattern using "@" sign, e.g. bit tag foo@1.0.0 bar@minor baz@major`);
70
70
  (0, _defineProperty2().default)(this, "arguments", [{
71
71
  name: 'component-patterns...',
72
- description: 'a list of component names, IDs or patterns (separated by space). run "bit pattern --help" to get more data about patterns. By default, all modified are tagged.'
72
+ description: `${_constants().COMPONENT_PATTERN_HELP}. By default, all new and modified are tagged.`
73
73
  }]);
74
- (0, _defineProperty2().default)(this, "helpUrl", 'docs/components/snaps');
74
+ (0, _defineProperty2().default)(this, "helpUrl", 'https://bit.dev/reference/components/snaps#create-a-tag-(release-version)');
75
75
  (0, _defineProperty2().default)(this, "alias", 't');
76
76
  (0, _defineProperty2().default)(this, "loader", true);
77
- (0, _defineProperty2().default)(this, "options", [['m', 'message <message>', 'a log message describing latest changes'], ['u', 'unmodified', 'include unmodified components (by default, only new and modified components are tagged)'], ['', 'editor [editor]', 'open an editor to write a tag message for each component. optionally, specify the editor-name (defaults to vim).'], ['v', 'ver <version>', 'tag with the given version'], ['l', 'increment <level>', `options are: [${RELEASE_TYPES.join(', ')}], default to patch`], ['', 'prerelease-id <id>', 'prerelease identifier (e.g. "dev" to get "1.0.0-dev.1")'], ['p', 'patch', 'syntactic sugar for "--increment patch"'], ['', 'minor', 'syntactic sugar for "--increment minor"'], ['', 'major', 'syntactic sugar for "--increment major"'], ['', 'pre-release [identifier]', 'syntactic sugar for "--increment prerelease" and `--prerelease-id <identifier>`'], ['', 'snapped', 'tag components that their head is a snap (not a tag)'], ['', 'unmerged', 'complete a merge process by tagging the unmerged components'], ['', 'skip-tests', 'skip running component tests during tag process'], ['', 'skip-auto-tag', 'skip auto tagging dependents'], ['', 'soft', 'do not persist. only keep note of the changes to be made'], ['', 'persist', 'persist the changes generated by --soft tag'], ['', 'disable-tag-pipeline', 'skip the tag pipeline to avoid publishing the components'], ['', 'force-deploy', 'DEPRECATED. use --ignore-build-error instead'], ['', 'ignore-build-errors', 'run the tag pipeline although the build pipeline failed'], ['', 'increment-by <number>', '(default to 1) increment semver flag (patch/minor/major) by. e.g. incrementing patch by 2: 0.0.1 -> 0.0.3.'], ['i', 'ignore-issues [issues]', `ignore component issues (shown in "bit status" as "issues found"), issues to ignore:
77
+ (0, _defineProperty2().default)(this, "options", [['m', 'message <message>', 'a log message describing latest changes'], ['u', 'unmodified', 'include unmodified components (by default, only new and modified components are tagged)'], ['', 'editor [editor]', 'open an editor to write a tag message for each component. optionally, specify the editor-name (defaults to vim).'], ['v', 'ver <version>', 'tag with the given version'], ['l', 'increment <level>', `options are: [${RELEASE_TYPES.join(', ')}], default to patch`], ['', 'prerelease-id <id>', 'prerelease identifier (e.g. "dev" to get "1.0.0-dev.1")'], ['p', 'patch', 'syntactic sugar for "--increment patch"'], ['', 'minor', 'syntactic sugar for "--increment minor"'], ['', 'major', 'syntactic sugar for "--increment major"'], ['', 'pre-release [identifier]', 'syntactic sugar for "--increment prerelease" and `--prerelease-id <identifier>`'], ['', 'snapped', 'tag only components whose head is a snap (not a tag)'], ['', 'unmerged', 'complete a merge process by tagging the unmerged components'], ['', 'skip-tests', 'skip running component tests during tag process'], ['', 'skip-auto-tag', 'skip auto tagging dependents'], ['', 'soft', 'do not persist. only keep note of the changes to be made'], ['', 'persist', 'persist the changes generated by --soft tag'], ['', 'disable-tag-pipeline', 'skip the tag pipeline to avoid publishing the components'], ['', 'force-deploy', 'DEPRECATED. use --ignore-build-error instead'], ['', 'ignore-build-errors', 'proceed to tag pipeline even when build pipeline fails'], ['', 'increment-by <number>', '(default to 1) increment semver flag (patch/minor/major) by. e.g. incrementing patch by 2: 0.0.1 -> 0.0.3.'], ['i', 'ignore-issues [issues]', `ignore component issues (shown in "bit status" as "issues found"), issues to ignore:
78
78
  [${Object.keys(_componentIssues().IssuesClasses).join(', ')}]
79
- to ignore multiple issues, separate them by a comma and wrap with quotes. to ignore all issues, specify "*".`], ['I', 'ignore-newest-version', 'ignore existing of newer versions (default = false)'], ['', 'fail-fast', 'stop pipeline execution on the first failed task (by default a task is skipped only when its dependent failed)'], ['b', 'build', 'not needed for now. run the pipeline build and complete the tag'], ['a', 'all [version]', 'DEPRECATED (not needed anymore, it is the default now). tag all new and modified components'], ['s', 'scope [version]', 'DEPRECATED (use "--unmodified" instead). tag all components of the current scope'], ['f', 'force', 'DEPRECATED (use "--skip-tests" or "--unmodified" instead). force-tag even if tests are failing and even when component has not changed'], ['', 'disable-deploy-pipeline', 'DEPRECATED. use --disable-tag-pipeline instead']]);
79
+ to ignore multiple issues, separate them by a comma and wrap with quotes. to ignore all issues, specify "*".`], ['I', 'ignore-newest-version', 'allow tagging even when the component has newer versions e.g. for hotfixes (default = false)'], ['', 'fail-fast', 'stop pipeline execution on the first failed task (by default a task is skipped only when its dependency failed)'], ['b', 'build', 'not needed for now. run the pipeline build and complete the tag'], ['a', 'all [version]', 'DEPRECATED (not needed anymore, it is the default now). tag all new and modified components'], ['s', 'scope [version]', 'DEPRECATED (use "--unmodified" instead). tag all components of the local scope'], ['f', 'force', 'DEPRECATED (use "--skip-tests", "--ignore-build-errors" or "--unmodified" instead). force-tag even if tests are failing and even when component has not changed'], ['', 'disable-deploy-pipeline', 'DEPRECATED. use --disable-tag-pipeline instead']]);
80
80
  (0, _defineProperty2().default)(this, "migration", true);
81
81
  (0, _defineProperty2().default)(this, "remoteOp", true);
82
82
  // In case a compiler / tester is not installed
@@ -131,7 +131,7 @@ to ignore multiple issues, separate them by a comma and wrap with quotes. to ign
131
131
  this.logger.consoleWarning(`--message will be mandatory in the next few releases. make sure to add a message with your tag`);
132
132
  }
133
133
  if (all) {
134
- this.logger.consoleWarning(`--all is deprecated, please omit it. "bit tag" by default will tag all new and modified components. to specify a version, use --ver flag`);
134
+ this.logger.consoleWarning(`--all is deprecated, please omit it. "bit tag" will by default tag all new and modified components`);
135
135
  if (typeof all === 'string') {
136
136
  ver = all;
137
137
  }
@@ -144,7 +144,7 @@ to ignore multiple issues, separate them by a comma and wrap with quotes. to ign
144
144
  }
145
145
  }
146
146
  if (force) {
147
- this.logger.consoleWarning(`--force is deprecated, use either --skip-tests or --unmodified depending on the use case`);
147
+ this.logger.consoleWarning(`--force is deprecated, use either --skip-tests, --ignore-build-errors or --unmodified depending on the use case`);
148
148
  if (patterns.length) unmodified = true;
149
149
  }
150
150
  if (prereleaseId && (!increment || increment === 'major' || increment === 'minor' || increment === 'patch')) {
@@ -218,9 +218,9 @@ to ignore multiple issues, separate them by a comma and wrap with quotes. to ign
218
218
  const addedComponents = taggedComponents.filter(component => newComponents.searchWithoutVersion(component.id));
219
219
  const autoTaggedCount = autoTaggedResults ? autoTaggedResults.length : 0;
220
220
  const warningsOutput = warnings && warnings.length ? `${_chalk().default.yellow(warnings.join('\n'))}\n\n` : '';
221
- const tagExplanationPersist = `\n(use "bit export [collection]" to push these components to a remote")
221
+ const tagExplanationPersist = `\n(use "bit export" to push these components to a remote")
222
222
  (use "bit reset" to unstage versions)\n`;
223
- const tagExplanationSoft = `\n(use "bit tag --persist" to persist the changes")
223
+ const tagExplanationSoft = `\n(use "bit tag --persist" to persist the soft-tagged changes as a fully tagged version")
224
224
  (use "bit reset --soft" to remove the soft-tags)\n`;
225
225
  const tagExplanation = results.isSoftTag ? tagExplanationSoft : tagExplanationPersist;
226
226
  const compInBold = id => {
@@ -254,8 +254,8 @@ to ignore multiple issues, separate them by a comma and wrap with quotes. to ign
254
254
  if (!components.length) return '';
255
255
  return `\n${_chalk().default.underline(softTagPrefix + label)}\n(${explanation})\n${outputComponents(components)}\n`;
256
256
  };
257
- const newDesc = results.isSoftTag ? 'set to be tagged first version for components' : 'first version for components';
258
- const changedDesc = results.isSoftTag ? 'components that set to get a version bump' : 'components that got a version bump';
257
+ const newDesc = results.isSoftTag ? 'set to be tagged with first version for components when persisted' : 'first version for components';
258
+ const changedDesc = results.isSoftTag ? 'components that are set to get a version bump when persisted' : 'components that got a version bump';
259
259
  const softTagClarification = results.isSoftTag ? _chalk().default.bold('keep in mind that this is a soft-tag (changes recorded to be tagged), to persist the changes use --persist flag') : '';
260
260
  return warningsOutput + _chalk().default.green(`${taggedComponents.length + autoTaggedCount} component(s) ${results.isSoftTag ? 'soft-' : ''}tagged`) + tagExplanation + outputIfExists('new components', newDesc, addedComponents) + outputIfExists('changed components', changedDesc, changedComponents) + outputIdsIfExists('removed components', removedComponents) + publishOutput() + softTagClarification;
261
261
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_chalk","data","_interopRequireDefault","require","_featureToggle","_tag","_constants","_componentIssues","_bitError","RELEASE_TYPES","TagCmd","constructor","snapping","logger","_defineProperty2","default","name","description","join","Object","keys","IssuesClasses","cmd","report","patterns","message","ver","all","editor","snapped","unmerged","patch","minor","major","preRelease","increment","prereleaseId","force","ignoreUnresolvedDependencies","ignoreIssues","ignoreNewestVersion","skipTests","skipAutoTag","scope","unmodified","build","soft","persist","disableDeployPipeline","disableTagPipeline","forceDeploy","ignoreBuildErrors","failFast","incrementBy","BitError","consoleWarning","length","releaseFlags","filter","x","getReleaseType","includes","DEFAULT_BIT_RELEASE_TYPE","getPreReleaseId","undefined","disableTagAndSnapPipelines","isFeatureEnabled","BUILD_ON_CI","Boolean","params","ids","releaseType","preReleaseId","version","results","tag","chalk","yellow","NOTHING_TO_TAG_MSG","taggedComponents","autoTaggedResults","warnings","newComponents","removedComponents","changedComponents","component","searchWithoutVersion","id","addedComponents","autoTaggedCount","warningsOutput","tagExplanationPersist","tagExplanationSoft","tagExplanation","isSoftTag","compInBold","hasVersion","bold","toStringWithoutVersion","outputComponents","comps","map","componentOutput","autoTag","result","triggeredBy","searchWithoutScopeAndVersion","autoTagComp","a","AUTO_TAGGED_MSG","publishOutput","publishedPackages","successTitle","green","successCompsStr","successOutput","softTagPrefix","outputIfExists","label","explanation","components","underline","newDesc","changedDesc","softTagClarification","outputIdsIfExists","exports"],"sources":["tag-cmd.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { BitIds } from '@teambit/legacy/dist/bit-id';\nimport { isFeatureEnabled, BUILD_ON_CI } from '@teambit/legacy/dist/api/consumer/lib/feature-toggle';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { NOTHING_TO_TAG_MSG, AUTO_TAGGED_MSG } from '@teambit/legacy/dist/api/consumer/lib/tag';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component/consumer-component';\nimport { DEFAULT_BIT_RELEASE_TYPE } from '@teambit/legacy/dist/constants';\nimport { BitId } from '@teambit/legacy-bit-id';\nimport { IssuesClasses } from '@teambit/component-issues';\nimport { ReleaseType } from 'semver';\nimport { BitError } from '@teambit/bit-error';\nimport { Logger } from '@teambit/logger';\nimport { TagResults, SnappingMain } from './snapping.main.runtime';\nimport { BasicTagParams } from './tag-model-component';\n\nconst RELEASE_TYPES = ['major', 'premajor', 'minor', 'preminor', 'patch', 'prepatch', 'prerelease'];\n\nexport class TagCmd implements Command {\n name = 'tag [component-patterns...]';\n group = 'development';\n description = 'create an immutable and exportable component snapshot, tagged with a release version.';\n extendedDescription = `if no patterns are provided, it will tag all new and modified components.\nif patterns are entered, you can specify a version per pattern using \"@\" sign, e.g. bit tag foo@1.0.0 bar@minor baz@major`;\n arguments = [\n {\n name: 'component-patterns...',\n description:\n 'a list of component names, IDs or patterns (separated by space). run \"bit pattern --help\" to get more data about patterns. By default, all modified are tagged.',\n },\n ];\n helpUrl = 'docs/components/snaps';\n alias = 't';\n loader = true;\n options = [\n ['m', 'message <message>', 'a log message describing latest changes'],\n ['u', 'unmodified', 'include unmodified components (by default, only new and modified components are tagged)'],\n [\n '',\n 'editor [editor]',\n 'open an editor to write a tag message for each component. optionally, specify the editor-name (defaults to vim).',\n ],\n ['v', 'ver <version>', 'tag with the given version'],\n ['l', 'increment <level>', `options are: [${RELEASE_TYPES.join(', ')}], default to patch`],\n ['', 'prerelease-id <id>', 'prerelease identifier (e.g. \"dev\" to get \"1.0.0-dev.1\")'],\n ['p', 'patch', 'syntactic sugar for \"--increment patch\"'],\n ['', 'minor', 'syntactic sugar for \"--increment minor\"'],\n ['', 'major', 'syntactic sugar for \"--increment major\"'],\n ['', 'pre-release [identifier]', 'syntactic sugar for \"--increment prerelease\" and `--prerelease-id <identifier>`'],\n ['', 'snapped', 'tag components that their head is a snap (not a tag)'],\n ['', 'unmerged', 'complete a merge process by tagging the unmerged components'],\n ['', 'skip-tests', 'skip running component tests during tag process'],\n ['', 'skip-auto-tag', 'skip auto tagging dependents'],\n ['', 'soft', 'do not persist. only keep note of the changes to be made'],\n ['', 'persist', 'persist the changes generated by --soft tag'],\n ['', 'disable-tag-pipeline', 'skip the tag pipeline to avoid publishing the components'],\n ['', 'force-deploy', 'DEPRECATED. use --ignore-build-error instead'],\n ['', 'ignore-build-errors', 'run the tag pipeline although the build pipeline failed'],\n [\n '',\n 'increment-by <number>',\n '(default to 1) increment semver flag (patch/minor/major) by. e.g. incrementing patch by 2: 0.0.1 -> 0.0.3.',\n ],\n [\n 'i',\n 'ignore-issues [issues]',\n `ignore component issues (shown in \"bit status\" as \"issues found\"), issues to ignore:\n[${Object.keys(IssuesClasses).join(', ')}]\nto ignore multiple issues, separate them by a comma and wrap with quotes. to ignore all issues, specify \"*\".`,\n ],\n ['I', 'ignore-newest-version', 'ignore existing of newer versions (default = false)'],\n [\n '',\n 'fail-fast',\n 'stop pipeline execution on the first failed task (by default a task is skipped only when its dependent failed)',\n ],\n ['b', 'build', 'not needed for now. run the pipeline build and complete the tag'],\n [\n 'a',\n 'all [version]',\n 'DEPRECATED (not needed anymore, it is the default now). tag all new and modified components',\n ],\n ['s', 'scope [version]', 'DEPRECATED (use \"--unmodified\" instead). tag all components of the current scope'],\n [\n 'f',\n 'force',\n 'DEPRECATED (use \"--skip-tests\" or \"--unmodified\" instead). force-tag even if tests are failing and even when component has not changed',\n ],\n ['', 'disable-deploy-pipeline', 'DEPRECATED. use --disable-tag-pipeline instead'],\n ] as CommandOptions;\n migration = true;\n remoteOp = true; // In case a compiler / tester is not installed\n examples = [{ cmd: 'tag --ver 1.0.0', description: 'tag all components to version 1.0.0' }];\n\n constructor(private snapping: SnappingMain, private logger: Logger) {}\n\n // eslint-disable-next-line complexity\n async report(\n [patterns = []]: [string[]],\n {\n message = '',\n ver,\n all = false,\n editor = '',\n snapped = false,\n unmerged = false,\n patch,\n minor,\n major,\n preRelease,\n increment,\n prereleaseId,\n force = false,\n ignoreUnresolvedDependencies,\n ignoreIssues,\n ignoreNewestVersion = false,\n skipTests = false,\n skipAutoTag = false,\n scope,\n unmodified = false,\n build,\n soft = false,\n persist = false,\n disableDeployPipeline = false,\n disableTagPipeline = false,\n forceDeploy = false,\n ignoreBuildErrors = false,\n failFast = false,\n incrementBy = 1,\n }: {\n all?: boolean | string;\n snapped?: boolean;\n unmerged?: boolean;\n ver?: string;\n force?: boolean;\n patch?: boolean;\n minor?: boolean;\n major?: boolean;\n increment?: ReleaseType;\n preRelease?: string;\n prereleaseId?: string;\n ignoreUnresolvedDependencies?: boolean;\n ignoreIssues?: string;\n scope?: string | boolean;\n incrementBy?: number;\n disableDeployPipeline?: boolean;\n failFast?: boolean;\n disableTagPipeline?: boolean;\n forceDeploy?: boolean;\n } & Partial<BasicTagParams>\n ): Promise<string> {\n if (typeof ignoreUnresolvedDependencies === 'boolean') {\n throw new BitError(`--ignore-unresolved-dependencies has been removed, please use --ignore-issues instead`);\n }\n if (ignoreIssues && typeof ignoreIssues === 'boolean') {\n throw new BitError(`--ignore-issues expects issues to be ignored, please run \"bit tag -h\" for the issues list`);\n }\n if (disableDeployPipeline) {\n this.logger.consoleWarning(`--disable-deploy-pipeline is deprecated, please use --disable-tag-pipeline instead`);\n }\n if (!message && !persist && !editor) {\n this.logger.consoleWarning(\n `--message will be mandatory in the next few releases. make sure to add a message with your tag`\n );\n }\n if (all) {\n this.logger.consoleWarning(\n `--all is deprecated, please omit it. \"bit tag\" by default will tag all new and modified components. to specify a version, use --ver flag`\n );\n if (typeof all === 'string') {\n ver = all;\n }\n }\n if (scope) {\n this.logger.consoleWarning(`--scope is deprecated, use --unmodified instead`);\n unmodified = true;\n if (typeof scope === 'string') {\n ver = scope;\n }\n }\n if (force) {\n this.logger.consoleWarning(\n `--force is deprecated, use either --skip-tests or --unmodified depending on the use case`\n );\n if (patterns.length) unmodified = true;\n }\n if (prereleaseId && (!increment || increment === 'major' || increment === 'minor' || increment === 'patch')) {\n throw new BitError(\n `--prerelease-id should be entered along with --increment flag, while --increment must be one of the following: [prepatch, prerelease, preminor, premajor]`\n );\n }\n if (forceDeploy) {\n this.logger.consoleWarning(`--force-deploy is deprecated, use --ignore-build-errors instead`);\n ignoreBuildErrors = true;\n }\n\n const releaseFlags = [patch, minor, major, preRelease].filter((x) => x);\n if (releaseFlags.length > 1) {\n throw new BitError('you can use only one of the following - patch, minor, major, pre-release');\n }\n\n const getReleaseType = (): ReleaseType => {\n if (increment) {\n if (!RELEASE_TYPES.includes(increment)) {\n throw new BitError(`invalid increment-level \"${increment}\".\n semver allows the following options only: ${RELEASE_TYPES.join(', ')}`);\n }\n return increment;\n }\n if (major) return 'major';\n if (minor) return 'minor';\n if (patch) return 'patch';\n if (preRelease) return 'prerelease';\n return DEFAULT_BIT_RELEASE_TYPE;\n };\n const getPreReleaseId = (): string | undefined => {\n if (prereleaseId) {\n return prereleaseId;\n }\n if (preRelease && typeof preRelease === 'string') {\n return preRelease;\n }\n return undefined;\n };\n\n const disableTagAndSnapPipelines = disableTagPipeline || disableDeployPipeline;\n build = isFeatureEnabled(BUILD_ON_CI) ? Boolean(build) : true;\n\n const params = {\n ids: patterns,\n snapped,\n unmerged,\n editor,\n message,\n releaseType: getReleaseType(),\n preReleaseId: getPreReleaseId(),\n ignoreIssues,\n ignoreNewestVersion,\n skipTests,\n skipAutoTag,\n build,\n soft,\n persist,\n unmodified,\n disableTagAndSnapPipelines,\n ignoreBuildErrors,\n incrementBy,\n version: ver,\n failFast,\n };\n\n const results = await this.snapping.tag(params);\n if (!results) return chalk.yellow(NOTHING_TO_TAG_MSG);\n const { taggedComponents, autoTaggedResults, warnings, newComponents, removedComponents }: TagResults = results;\n const changedComponents = taggedComponents.filter((component) => !newComponents.searchWithoutVersion(component.id));\n const addedComponents = taggedComponents.filter((component) => newComponents.searchWithoutVersion(component.id));\n const autoTaggedCount = autoTaggedResults ? autoTaggedResults.length : 0;\n\n const warningsOutput = warnings && warnings.length ? `${chalk.yellow(warnings.join('\\n'))}\\n\\n` : '';\n const tagExplanationPersist = `\\n(use \"bit export [collection]\" to push these components to a remote\")\n(use \"bit reset\" to unstage versions)\\n`;\n const tagExplanationSoft = `\\n(use \"bit tag --persist\" to persist the changes\")\n(use \"bit reset --soft\" to remove the soft-tags)\\n`;\n\n const tagExplanation = results.isSoftTag ? tagExplanationSoft : tagExplanationPersist;\n\n const compInBold = (id: BitId) => {\n const version = id.hasVersion() ? `@${id.version}` : '';\n return `${chalk.bold(id.toStringWithoutVersion())}${version}`;\n };\n\n const outputComponents = (comps: ConsumerComponent[]) => {\n return comps\n .map((component) => {\n let componentOutput = ` > ${compInBold(component.id)}`;\n const autoTag = autoTaggedResults.filter((result) =>\n result.triggeredBy.searchWithoutScopeAndVersion(component.id)\n );\n if (autoTag.length) {\n const autoTagComp = autoTag.map((a) => compInBold(a.component.id));\n componentOutput += `\\n ${AUTO_TAGGED_MSG}:\n ${autoTagComp.join('\\n ')}`;\n }\n return componentOutput;\n })\n .join('\\n');\n };\n\n const publishOutput = () => {\n const { publishedPackages } = results;\n if (!publishedPackages || !publishedPackages.length) return '';\n const successTitle = `\\n\\n${chalk.green(\n `published the following ${publishedPackages.length} component(s) successfully\\n`\n )}`;\n const successCompsStr = publishedPackages.join('\\n');\n const successOutput = successCompsStr ? successTitle + successCompsStr : '';\n return successOutput;\n };\n\n const softTagPrefix = results.isSoftTag ? 'soft-tagged ' : '';\n const outputIfExists = (label, explanation, components: ConsumerComponent[]) => {\n if (!components.length) return '';\n return `\\n${chalk.underline(softTagPrefix + label)}\\n(${explanation})\\n${outputComponents(components)}\\n`;\n };\n\n const newDesc = results.isSoftTag\n ? 'set to be tagged first version for components'\n : 'first version for components';\n const changedDesc = results.isSoftTag\n ? 'components that set to get a version bump'\n : 'components that got a version bump';\n const softTagClarification = results.isSoftTag\n ? chalk.bold(\n 'keep in mind that this is a soft-tag (changes recorded to be tagged), to persist the changes use --persist flag'\n )\n : '';\n return (\n warningsOutput +\n chalk.green(\n `${taggedComponents.length + autoTaggedCount} component(s) ${results.isSoftTag ? 'soft-' : ''}tagged`\n ) +\n tagExplanation +\n outputIfExists('new components', newDesc, addedComponents) +\n outputIfExists('changed components', changedDesc, changedComponents) +\n outputIdsIfExists('removed components', removedComponents) +\n publishOutput() +\n softTagClarification\n );\n }\n}\n\nexport function outputIdsIfExists(label: string, ids?: BitIds) {\n if (!ids?.length) return '';\n return `\\n${chalk.underline(label)}\\n${ids.map((id) => id.toStringWithoutVersion()).join('\\n')}\\n`;\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,eAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,cAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAI,KAAA;EAAA,MAAAJ,IAAA,GAAAE,OAAA;EAAAE,IAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAK,WAAA;EAAA,MAAAL,IAAA,GAAAE,OAAA;EAAAG,UAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAM,iBAAA;EAAA,MAAAN,IAAA,GAAAE,OAAA;EAAAI,gBAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAO,UAAA;EAAA,MAAAP,IAAA,GAAAE,OAAA;EAAAK,SAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAKA,MAAMQ,aAAa,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,CAAC;AAE5F,MAAMC,MAAM,CAAoB;EA4ErCC,WAAWA,CAASC,QAAsB,EAAUC,MAAc,EAAE;IAAA,KAAhDD,QAAsB,GAAtBA,QAAsB;IAAA,KAAUC,MAAc,GAAdA,MAAc;IAAA,IAAAC,gBAAA,GAAAC,OAAA,gBA3E3D,6BAA6B;IAAA,IAAAD,gBAAA,GAAAC,OAAA,iBAC5B,aAAa;IAAA,IAAAD,gBAAA,GAAAC,OAAA,uBACP,uFAAuF;IAAA,IAAAD,gBAAA,GAAAC,OAAA,+BAC9E;AACzB,0HAA0H;IAAA,IAAAD,gBAAA,GAAAC,OAAA,qBAC5G,CACV;MACEC,IAAI,EAAE,uBAAuB;MAC7BC,WAAW,EACT;IACJ,CAAC,CACF;IAAA,IAAAH,gBAAA,GAAAC,OAAA,mBACS,uBAAuB;IAAA,IAAAD,gBAAA,GAAAC,OAAA,iBACzB,GAAG;IAAA,IAAAD,gBAAA,GAAAC,OAAA,kBACF,IAAI;IAAA,IAAAD,gBAAA,GAAAC,OAAA,mBACH,CACR,CAAC,GAAG,EAAE,mBAAmB,EAAE,yCAAyC,CAAC,EACrE,CAAC,GAAG,EAAE,YAAY,EAAE,yFAAyF,CAAC,EAC9G,CACE,EAAE,EACF,iBAAiB,EACjB,kHAAkH,CACnH,EACD,CAAC,GAAG,EAAE,eAAe,EAAE,4BAA4B,CAAC,EACpD,CAAC,GAAG,EAAE,mBAAmB,EAAG,iBAAgBN,aAAa,CAACS,IAAI,CAAC,IAAI,CAAE,qBAAoB,CAAC,EAC1F,CAAC,EAAE,EAAE,oBAAoB,EAAE,yDAAyD,CAAC,EACrF,CAAC,GAAG,EAAE,OAAO,EAAE,yCAAyC,CAAC,EACzD,CAAC,EAAE,EAAE,OAAO,EAAE,yCAAyC,CAAC,EACxD,CAAC,EAAE,EAAE,OAAO,EAAE,yCAAyC,CAAC,EACxD,CAAC,EAAE,EAAE,0BAA0B,EAAE,iFAAiF,CAAC,EACnH,CAAC,EAAE,EAAE,SAAS,EAAE,sDAAsD,CAAC,EACvE,CAAC,EAAE,EAAE,UAAU,EAAE,6DAA6D,CAAC,EAC/E,CAAC,EAAE,EAAE,YAAY,EAAE,iDAAiD,CAAC,EACrE,CAAC,EAAE,EAAE,eAAe,EAAE,8BAA8B,CAAC,EACrD,CAAC,EAAE,EAAE,MAAM,EAAE,0DAA0D,CAAC,EACxE,CAAC,EAAE,EAAE,SAAS,EAAE,6CAA6C,CAAC,EAC9D,CAAC,EAAE,EAAE,sBAAsB,EAAE,0DAA0D,CAAC,EACxF,CAAC,EAAE,EAAE,cAAc,EAAE,8CAA8C,CAAC,EACpE,CAAC,EAAE,EAAE,qBAAqB,EAAE,yDAAyD,CAAC,EACtF,CACE,EAAE,EACF,uBAAuB,EACvB,4GAA4G,CAC7G,EACD,CACE,GAAG,EACH,wBAAwB,EACvB;AACP,GAAGC,MAAM,CAACC,IAAI,CAACC,gCAAa,CAAC,CAACH,IAAI,CAAC,IAAI,CAAE;AACzC,6GAA6G,CACxG,EACD,CAAC,GAAG,EAAE,uBAAuB,EAAE,qDAAqD,CAAC,EACrF,CACE,EAAE,EACF,WAAW,EACX,gHAAgH,CACjH,EACD,CAAC,GAAG,EAAE,OAAO,EAAE,iEAAiE,CAAC,EACjF,CACE,GAAG,EACH,eAAe,EACf,6FAA6F,CAC9F,EACD,CAAC,GAAG,EAAE,iBAAiB,EAAE,kFAAkF,CAAC,EAC5G,CACE,GAAG,EACH,OAAO,EACP,wIAAwI,CACzI,EACD,CAAC,EAAE,EAAE,yBAAyB,EAAE,gDAAgD,CAAC,CAClF;IAAA,IAAAJ,gBAAA,GAAAC,OAAA,qBACW,IAAI;IAAA,IAAAD,gBAAA,GAAAC,OAAA,oBACL,IAAI;IAAE;IAAA,IAAAD,gBAAA,GAAAC,OAAA,oBACN,CAAC;MAAEO,GAAG,EAAE,iBAAiB;MAAEL,WAAW,EAAE;IAAsC,CAAC,CAAC;EAEtB;;EAErE;EACA,MAAMM,MAAMA,CACV,CAACC,QAAQ,GAAG,EAAE,CAAa,EAC3B;IACEC,OAAO,GAAG,EAAE;IACZC,GAAG;IACHC,GAAG,GAAG,KAAK;IACXC,MAAM,GAAG,EAAE;IACXC,OAAO,GAAG,KAAK;IACfC,QAAQ,GAAG,KAAK;IAChBC,KAAK;IACLC,KAAK;IACLC,KAAK;IACLC,UAAU;IACVC,SAAS;IACTC,YAAY;IACZC,KAAK,GAAG,KAAK;IACbC,4BAA4B;IAC5BC,YAAY;IACZC,mBAAmB,GAAG,KAAK;IAC3BC,SAAS,GAAG,KAAK;IACjBC,WAAW,GAAG,KAAK;IACnBC,KAAK;IACLC,UAAU,GAAG,KAAK;IAClBC,KAAK;IACLC,IAAI,GAAG,KAAK;IACZC,OAAO,GAAG,KAAK;IACfC,qBAAqB,GAAG,KAAK;IAC7BC,kBAAkB,GAAG,KAAK;IAC1BC,WAAW,GAAG,KAAK;IACnBC,iBAAiB,GAAG,KAAK;IACzBC,QAAQ,GAAG,KAAK;IAChBC,WAAW,GAAG;EAqBU,CAAC,EACV;IACjB,IAAI,OAAOf,4BAA4B,KAAK,SAAS,EAAE;MACrD,MAAM,KAAIgB,oBAAQ,EAAE,uFAAsF,CAAC;IAC7G;IACA,IAAIf,YAAY,IAAI,OAAOA,YAAY,KAAK,SAAS,EAAE;MACrD,MAAM,KAAIe,oBAAQ,EAAE,2FAA0F,CAAC;IACjH;IACA,IAAIN,qBAAqB,EAAE;MACzB,IAAI,CAACnC,MAAM,CAAC0C,cAAc,CAAE,oFAAmF,CAAC;IAClH;IACA,IAAI,CAAC9B,OAAO,IAAI,CAACsB,OAAO,IAAI,CAACnB,MAAM,EAAE;MACnC,IAAI,CAACf,MAAM,CAAC0C,cAAc,CACvB,gGACH,CAAC;IACH;IACA,IAAI5B,GAAG,EAAE;MACP,IAAI,CAACd,MAAM,CAAC0C,cAAc,CACvB,0IACH,CAAC;MACD,IAAI,OAAO5B,GAAG,KAAK,QAAQ,EAAE;QAC3BD,GAAG,GAAGC,GAAG;MACX;IACF;IACA,IAAIgB,KAAK,EAAE;MACT,IAAI,CAAC9B,MAAM,CAAC0C,cAAc,CAAE,iDAAgD,CAAC;MAC7EX,UAAU,GAAG,IAAI;MACjB,IAAI,OAAOD,KAAK,KAAK,QAAQ,EAAE;QAC7BjB,GAAG,GAAGiB,KAAK;MACb;IACF;IACA,IAAIN,KAAK,EAAE;MACT,IAAI,CAACxB,MAAM,CAAC0C,cAAc,CACvB,0FACH,CAAC;MACD,IAAI/B,QAAQ,CAACgC,MAAM,EAAEZ,UAAU,GAAG,IAAI;IACxC;IACA,IAAIR,YAAY,KAAK,CAACD,SAAS,IAAIA,SAAS,KAAK,OAAO,IAAIA,SAAS,KAAK,OAAO,IAAIA,SAAS,KAAK,OAAO,CAAC,EAAE;MAC3G,MAAM,KAAImB,oBAAQ,EACf,2JACH,CAAC;IACH;IACA,IAAIJ,WAAW,EAAE;MACf,IAAI,CAACrC,MAAM,CAAC0C,cAAc,CAAE,iEAAgE,CAAC;MAC7FJ,iBAAiB,GAAG,IAAI;IAC1B;IAEA,MAAMM,YAAY,GAAG,CAAC1B,KAAK,EAAEC,KAAK,EAAEC,KAAK,EAAEC,UAAU,CAAC,CAACwB,MAAM,CAAEC,CAAC,IAAKA,CAAC,CAAC;IACvE,IAAIF,YAAY,CAACD,MAAM,GAAG,CAAC,EAAE;MAC3B,MAAM,KAAIF,oBAAQ,EAAC,0EAA0E,CAAC;IAChG;IAEA,MAAMM,cAAc,GAAGA,CAAA,KAAmB;MACxC,IAAIzB,SAAS,EAAE;QACb,IAAI,CAAC1B,aAAa,CAACoD,QAAQ,CAAC1B,SAAS,CAAC,EAAE;UACtC,MAAM,KAAImB,oBAAQ,EAAE,4BAA2BnB,SAAU;AACnE,8CAA8C1B,aAAa,CAACS,IAAI,CAAC,IAAI,CAAE,EAAC,CAAC;QACjE;QACA,OAAOiB,SAAS;MAClB;MACA,IAAIF,KAAK,EAAE,OAAO,OAAO;MACzB,IAAID,KAAK,EAAE,OAAO,OAAO;MACzB,IAAID,KAAK,EAAE,OAAO,OAAO;MACzB,IAAIG,UAAU,EAAE,OAAO,YAAY;MACnC,OAAO4B,qCAAwB;IACjC,CAAC;IACD,MAAMC,eAAe,GAAGA,CAAA,KAA0B;MAChD,IAAI3B,YAAY,EAAE;QAChB,OAAOA,YAAY;MACrB;MACA,IAAIF,UAAU,IAAI,OAAOA,UAAU,KAAK,QAAQ,EAAE;QAChD,OAAOA,UAAU;MACnB;MACA,OAAO8B,SAAS;IAClB,CAAC;IAED,MAAMC,0BAA0B,GAAGhB,kBAAkB,IAAID,qBAAqB;IAC9EH,KAAK,GAAG,IAAAqB,iCAAgB,EAACC,4BAAW,CAAC,GAAGC,OAAO,CAACvB,KAAK,CAAC,GAAG,IAAI;IAE7D,MAAMwB,MAAM,GAAG;MACbC,GAAG,EAAE9C,QAAQ;MACbK,OAAO;MACPC,QAAQ;MACRF,MAAM;MACNH,OAAO;MACP8C,WAAW,EAAEX,cAAc,CAAC,CAAC;MAC7BY,YAAY,EAAET,eAAe,CAAC,CAAC;MAC/BxB,YAAY;MACZC,mBAAmB;MACnBC,SAAS;MACTC,WAAW;MACXG,KAAK;MACLC,IAAI;MACJC,OAAO;MACPH,UAAU;MACVqB,0BAA0B;MAC1Bd,iBAAiB;MACjBE,WAAW;MACXoB,OAAO,EAAE/C,GAAG;MACZ0B;IACF,CAAC;IAED,MAAMsB,OAAO,GAAG,MAAM,IAAI,CAAC9D,QAAQ,CAAC+D,GAAG,CAACN,MAAM,CAAC;IAC/C,IAAI,CAACK,OAAO,EAAE,OAAOE,gBAAK,CAACC,MAAM,CAACC,yBAAkB,CAAC;IACrD,MAAM;MAAEC,gBAAgB;MAAEC,iBAAiB;MAAEC,QAAQ;MAAEC,aAAa;MAAEC;IAA8B,CAAC,GAAGT,OAAO;IAC/G,MAAMU,iBAAiB,GAAGL,gBAAgB,CAACrB,MAAM,CAAE2B,SAAS,IAAK,CAACH,aAAa,CAACI,oBAAoB,CAACD,SAAS,CAACE,EAAE,CAAC,CAAC;IACnH,MAAMC,eAAe,GAAGT,gBAAgB,CAACrB,MAAM,CAAE2B,SAAS,IAAKH,aAAa,CAACI,oBAAoB,CAACD,SAAS,CAACE,EAAE,CAAC,CAAC;IAChH,MAAME,eAAe,GAAGT,iBAAiB,GAAGA,iBAAiB,CAACxB,MAAM,GAAG,CAAC;IAExE,MAAMkC,cAAc,GAAGT,QAAQ,IAAIA,QAAQ,CAACzB,MAAM,GAAI,GAAEoB,gBAAK,CAACC,MAAM,CAACI,QAAQ,CAAC/D,IAAI,CAAC,IAAI,CAAC,CAAE,MAAK,GAAG,EAAE;IACpG,MAAMyE,qBAAqB,GAAI;AACnC,wCAAwC;IACpC,MAAMC,kBAAkB,GAAI;AAChC,mDAAmD;IAE/C,MAAMC,cAAc,GAAGnB,OAAO,CAACoB,SAAS,GAAGF,kBAAkB,GAAGD,qBAAqB;IAErF,MAAMI,UAAU,GAAIR,EAAS,IAAK;MAChC,MAAMd,OAAO,GAAGc,EAAE,CAACS,UAAU,CAAC,CAAC,GAAI,IAAGT,EAAE,CAACd,OAAQ,EAAC,GAAG,EAAE;MACvD,OAAQ,GAAEG,gBAAK,CAACqB,IAAI,CAACV,EAAE,CAACW,sBAAsB,CAAC,CAAC,CAAE,GAAEzB,OAAQ,EAAC;IAC/D,CAAC;IAED,MAAM0B,gBAAgB,GAAIC,KAA0B,IAAK;MACvD,OAAOA,KAAK,CACTC,GAAG,CAAEhB,SAAS,IAAK;QAClB,IAAIiB,eAAe,GAAI,UAASP,UAAU,CAACV,SAAS,CAACE,EAAE,CAAE,EAAC;QAC1D,MAAMgB,OAAO,GAAGvB,iBAAiB,CAACtB,MAAM,CAAE8C,MAAM,IAC9CA,MAAM,CAACC,WAAW,CAACC,4BAA4B,CAACrB,SAAS,CAACE,EAAE,CAC9D,CAAC;QACD,IAAIgB,OAAO,CAAC/C,MAAM,EAAE;UAClB,MAAMmD,WAAW,GAAGJ,OAAO,CAACF,GAAG,CAAEO,CAAC,IAAKb,UAAU,CAACa,CAAC,CAACvB,SAAS,CAACE,EAAE,CAAC,CAAC;UAClEe,eAAe,IAAK,YAAWO,sBAAgB;AAC3D,cAAcF,WAAW,CAACzF,IAAI,CAAC,gBAAgB,CAAE,EAAC;QACxC;QACA,OAAOoF,eAAe;MACxB,CAAC,CAAC,CACDpF,IAAI,CAAC,IAAI,CAAC;IACf,CAAC;IAED,MAAM4F,aAAa,GAAGA,CAAA,KAAM;MAC1B,MAAM;QAAEC;MAAkB,CAAC,GAAGrC,OAAO;MACrC,IAAI,CAACqC,iBAAiB,IAAI,CAACA,iBAAiB,CAACvD,MAAM,EAAE,OAAO,EAAE;MAC9D,MAAMwD,YAAY,GAAI,OAAMpC,gBAAK,CAACqC,KAAK,CACpC,2BAA0BF,iBAAiB,CAACvD,MAAO,8BACtD,CAAE,EAAC;MACH,MAAM0D,eAAe,GAAGH,iBAAiB,CAAC7F,IAAI,CAAC,IAAI,CAAC;MACpD,MAAMiG,aAAa,GAAGD,eAAe,GAAGF,YAAY,GAAGE,eAAe,GAAG,EAAE;MAC3E,OAAOC,aAAa;IACtB,CAAC;IAED,MAAMC,aAAa,GAAG1C,OAAO,CAACoB,SAAS,GAAG,cAAc,GAAG,EAAE;IAC7D,MAAMuB,cAAc,GAAGA,CAACC,KAAK,EAAEC,WAAW,EAAEC,UAA+B,KAAK;MAC9E,IAAI,CAACA,UAAU,CAAChE,MAAM,EAAE,OAAO,EAAE;MACjC,OAAQ,KAAIoB,gBAAK,CAAC6C,SAAS,CAACL,aAAa,GAAGE,KAAK,CAAE,MAAKC,WAAY,MAAKpB,gBAAgB,CAACqB,UAAU,CAAE,IAAG;IAC3G,CAAC;IAED,MAAME,OAAO,GAAGhD,OAAO,CAACoB,SAAS,GAC7B,+CAA+C,GAC/C,8BAA8B;IAClC,MAAM6B,WAAW,GAAGjD,OAAO,CAACoB,SAAS,GACjC,2CAA2C,GAC3C,oCAAoC;IACxC,MAAM8B,oBAAoB,GAAGlD,OAAO,CAACoB,SAAS,GAC1ClB,gBAAK,CAACqB,IAAI,CACR,iHACF,CAAC,GACD,EAAE;IACN,OACEP,cAAc,GACdd,gBAAK,CAACqC,KAAK,CACR,GAAElC,gBAAgB,CAACvB,MAAM,GAAGiC,eAAgB,iBAAgBf,OAAO,CAACoB,SAAS,GAAG,OAAO,GAAG,EAAG,QAChG,CAAC,GACDD,cAAc,GACdwB,cAAc,CAAC,gBAAgB,EAAEK,OAAO,EAAElC,eAAe,CAAC,GAC1D6B,cAAc,CAAC,oBAAoB,EAAEM,WAAW,EAAEvC,iBAAiB,CAAC,GACpEyC,iBAAiB,CAAC,oBAAoB,EAAE1C,iBAAiB,CAAC,GAC1D2B,aAAa,CAAC,CAAC,GACfc,oBAAoB;EAExB;AACF;AAACE,OAAA,CAAApH,MAAA,GAAAA,MAAA;AAEM,SAASmH,iBAAiBA,CAACP,KAAa,EAAEhD,GAAY,EAAE;EAC7D,IAAI,EAACA,GAAG,aAAHA,GAAG,eAAHA,GAAG,CAAEd,MAAM,GAAE,OAAO,EAAE;EAC3B,OAAQ,KAAIoB,gBAAK,CAAC6C,SAAS,CAACH,KAAK,CAAE,KAAIhD,GAAG,CAAC+B,GAAG,CAAEd,EAAE,IAAKA,EAAE,CAACW,sBAAsB,CAAC,CAAC,CAAC,CAAChF,IAAI,CAAC,IAAI,CAAE,IAAG;AACpG"}
1
+ {"version":3,"names":["_chalk","data","_interopRequireDefault","require","_featureToggle","_tag","_constants","_componentIssues","_bitError","RELEASE_TYPES","TagCmd","constructor","snapping","logger","_defineProperty2","default","name","description","COMPONENT_PATTERN_HELP","join","Object","keys","IssuesClasses","cmd","report","patterns","message","ver","all","editor","snapped","unmerged","patch","minor","major","preRelease","increment","prereleaseId","force","ignoreUnresolvedDependencies","ignoreIssues","ignoreNewestVersion","skipTests","skipAutoTag","scope","unmodified","build","soft","persist","disableDeployPipeline","disableTagPipeline","forceDeploy","ignoreBuildErrors","failFast","incrementBy","BitError","consoleWarning","length","releaseFlags","filter","x","getReleaseType","includes","DEFAULT_BIT_RELEASE_TYPE","getPreReleaseId","undefined","disableTagAndSnapPipelines","isFeatureEnabled","BUILD_ON_CI","Boolean","params","ids","releaseType","preReleaseId","version","results","tag","chalk","yellow","NOTHING_TO_TAG_MSG","taggedComponents","autoTaggedResults","warnings","newComponents","removedComponents","changedComponents","component","searchWithoutVersion","id","addedComponents","autoTaggedCount","warningsOutput","tagExplanationPersist","tagExplanationSoft","tagExplanation","isSoftTag","compInBold","hasVersion","bold","toStringWithoutVersion","outputComponents","comps","map","componentOutput","autoTag","result","triggeredBy","searchWithoutScopeAndVersion","autoTagComp","a","AUTO_TAGGED_MSG","publishOutput","publishedPackages","successTitle","green","successCompsStr","successOutput","softTagPrefix","outputIfExists","label","explanation","components","underline","newDesc","changedDesc","softTagClarification","outputIdsIfExists","exports"],"sources":["tag-cmd.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { BitIds } from '@teambit/legacy/dist/bit-id';\nimport { isFeatureEnabled, BUILD_ON_CI } from '@teambit/legacy/dist/api/consumer/lib/feature-toggle';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { NOTHING_TO_TAG_MSG, AUTO_TAGGED_MSG } from '@teambit/legacy/dist/api/consumer/lib/tag';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component/consumer-component';\nimport { DEFAULT_BIT_RELEASE_TYPE, COMPONENT_PATTERN_HELP } from '@teambit/legacy/dist/constants';\nimport { BitId } from '@teambit/legacy-bit-id';\nimport { IssuesClasses } from '@teambit/component-issues';\nimport { ReleaseType } from 'semver';\nimport { BitError } from '@teambit/bit-error';\nimport { Logger } from '@teambit/logger';\nimport { TagResults, SnappingMain } from './snapping.main.runtime';\nimport { BasicTagParams } from './tag-model-component';\n\nconst RELEASE_TYPES = ['major', 'premajor', 'minor', 'preminor', 'patch', 'prepatch', 'prerelease'];\n\nexport class TagCmd implements Command {\n name = 'tag [component-patterns...]';\n group = 'development';\n description = 'create an immutable and exportable component snapshot, tagged with a release version.';\n extendedDescription = `if no patterns are provided, it will tag all new and modified components.\nif patterns are entered, you can specify a version per pattern using \"@\" sign, e.g. bit tag foo@1.0.0 bar@minor baz@major`;\n arguments = [\n {\n name: 'component-patterns...',\n description: `${COMPONENT_PATTERN_HELP}. By default, all new and modified are tagged.`,\n },\n ];\n helpUrl = 'https://bit.dev/reference/components/snaps#create-a-tag-(release-version)';\n alias = 't';\n loader = true;\n options = [\n ['m', 'message <message>', 'a log message describing latest changes'],\n ['u', 'unmodified', 'include unmodified components (by default, only new and modified components are tagged)'],\n [\n '',\n 'editor [editor]',\n 'open an editor to write a tag message for each component. optionally, specify the editor-name (defaults to vim).',\n ],\n ['v', 'ver <version>', 'tag with the given version'],\n ['l', 'increment <level>', `options are: [${RELEASE_TYPES.join(', ')}], default to patch`],\n ['', 'prerelease-id <id>', 'prerelease identifier (e.g. \"dev\" to get \"1.0.0-dev.1\")'],\n ['p', 'patch', 'syntactic sugar for \"--increment patch\"'],\n ['', 'minor', 'syntactic sugar for \"--increment minor\"'],\n ['', 'major', 'syntactic sugar for \"--increment major\"'],\n ['', 'pre-release [identifier]', 'syntactic sugar for \"--increment prerelease\" and `--prerelease-id <identifier>`'],\n ['', 'snapped', 'tag only components whose head is a snap (not a tag)'],\n ['', 'unmerged', 'complete a merge process by tagging the unmerged components'],\n ['', 'skip-tests', 'skip running component tests during tag process'],\n ['', 'skip-auto-tag', 'skip auto tagging dependents'],\n ['', 'soft', 'do not persist. only keep note of the changes to be made'],\n ['', 'persist', 'persist the changes generated by --soft tag'],\n ['', 'disable-tag-pipeline', 'skip the tag pipeline to avoid publishing the components'],\n ['', 'force-deploy', 'DEPRECATED. use --ignore-build-error instead'],\n ['', 'ignore-build-errors', 'proceed to tag pipeline even when build pipeline fails'],\n [\n '',\n 'increment-by <number>',\n '(default to 1) increment semver flag (patch/minor/major) by. e.g. incrementing patch by 2: 0.0.1 -> 0.0.3.',\n ],\n [\n 'i',\n 'ignore-issues [issues]',\n `ignore component issues (shown in \"bit status\" as \"issues found\"), issues to ignore:\n[${Object.keys(IssuesClasses).join(', ')}]\nto ignore multiple issues, separate them by a comma and wrap with quotes. to ignore all issues, specify \"*\".`,\n ],\n [\n 'I',\n 'ignore-newest-version',\n 'allow tagging even when the component has newer versions e.g. for hotfixes (default = false)',\n ],\n [\n '',\n 'fail-fast',\n 'stop pipeline execution on the first failed task (by default a task is skipped only when its dependency failed)',\n ],\n ['b', 'build', 'not needed for now. run the pipeline build and complete the tag'],\n [\n 'a',\n 'all [version]',\n 'DEPRECATED (not needed anymore, it is the default now). tag all new and modified components',\n ],\n ['s', 'scope [version]', 'DEPRECATED (use \"--unmodified\" instead). tag all components of the local scope'],\n [\n 'f',\n 'force',\n 'DEPRECATED (use \"--skip-tests\", \"--ignore-build-errors\" or \"--unmodified\" instead). force-tag even if tests are failing and even when component has not changed',\n ],\n ['', 'disable-deploy-pipeline', 'DEPRECATED. use --disable-tag-pipeline instead'],\n ] as CommandOptions;\n migration = true;\n remoteOp = true; // In case a compiler / tester is not installed\n examples = [{ cmd: 'tag --ver 1.0.0', description: 'tag all components to version 1.0.0' }];\n\n constructor(private snapping: SnappingMain, private logger: Logger) {}\n\n // eslint-disable-next-line complexity\n async report(\n [patterns = []]: [string[]],\n {\n message = '',\n ver,\n all = false,\n editor = '',\n snapped = false,\n unmerged = false,\n patch,\n minor,\n major,\n preRelease,\n increment,\n prereleaseId,\n force = false,\n ignoreUnresolvedDependencies,\n ignoreIssues,\n ignoreNewestVersion = false,\n skipTests = false,\n skipAutoTag = false,\n scope,\n unmodified = false,\n build,\n soft = false,\n persist = false,\n disableDeployPipeline = false,\n disableTagPipeline = false,\n forceDeploy = false,\n ignoreBuildErrors = false,\n failFast = false,\n incrementBy = 1,\n }: {\n all?: boolean | string;\n snapped?: boolean;\n unmerged?: boolean;\n ver?: string;\n force?: boolean;\n patch?: boolean;\n minor?: boolean;\n major?: boolean;\n increment?: ReleaseType;\n preRelease?: string;\n prereleaseId?: string;\n ignoreUnresolvedDependencies?: boolean;\n ignoreIssues?: string;\n scope?: string | boolean;\n incrementBy?: number;\n disableDeployPipeline?: boolean;\n failFast?: boolean;\n disableTagPipeline?: boolean;\n forceDeploy?: boolean;\n } & Partial<BasicTagParams>\n ): Promise<string> {\n if (typeof ignoreUnresolvedDependencies === 'boolean') {\n throw new BitError(`--ignore-unresolved-dependencies has been removed, please use --ignore-issues instead`);\n }\n if (ignoreIssues && typeof ignoreIssues === 'boolean') {\n throw new BitError(`--ignore-issues expects issues to be ignored, please run \"bit tag -h\" for the issues list`);\n }\n if (disableDeployPipeline) {\n this.logger.consoleWarning(`--disable-deploy-pipeline is deprecated, please use --disable-tag-pipeline instead`);\n }\n if (!message && !persist && !editor) {\n this.logger.consoleWarning(\n `--message will be mandatory in the next few releases. make sure to add a message with your tag`\n );\n }\n if (all) {\n this.logger.consoleWarning(\n `--all is deprecated, please omit it. \"bit tag\" will by default tag all new and modified components`\n );\n if (typeof all === 'string') {\n ver = all;\n }\n }\n if (scope) {\n this.logger.consoleWarning(`--scope is deprecated, use --unmodified instead`);\n unmodified = true;\n if (typeof scope === 'string') {\n ver = scope;\n }\n }\n if (force) {\n this.logger.consoleWarning(\n `--force is deprecated, use either --skip-tests, --ignore-build-errors or --unmodified depending on the use case`\n );\n if (patterns.length) unmodified = true;\n }\n if (prereleaseId && (!increment || increment === 'major' || increment === 'minor' || increment === 'patch')) {\n throw new BitError(\n `--prerelease-id should be entered along with --increment flag, while --increment must be one of the following: [prepatch, prerelease, preminor, premajor]`\n );\n }\n if (forceDeploy) {\n this.logger.consoleWarning(`--force-deploy is deprecated, use --ignore-build-errors instead`);\n ignoreBuildErrors = true;\n }\n\n const releaseFlags = [patch, minor, major, preRelease].filter((x) => x);\n if (releaseFlags.length > 1) {\n throw new BitError('you can use only one of the following - patch, minor, major, pre-release');\n }\n\n const getReleaseType = (): ReleaseType => {\n if (increment) {\n if (!RELEASE_TYPES.includes(increment)) {\n throw new BitError(`invalid increment-level \"${increment}\".\n semver allows the following options only: ${RELEASE_TYPES.join(', ')}`);\n }\n return increment;\n }\n if (major) return 'major';\n if (minor) return 'minor';\n if (patch) return 'patch';\n if (preRelease) return 'prerelease';\n return DEFAULT_BIT_RELEASE_TYPE;\n };\n const getPreReleaseId = (): string | undefined => {\n if (prereleaseId) {\n return prereleaseId;\n }\n if (preRelease && typeof preRelease === 'string') {\n return preRelease;\n }\n return undefined;\n };\n\n const disableTagAndSnapPipelines = disableTagPipeline || disableDeployPipeline;\n build = isFeatureEnabled(BUILD_ON_CI) ? Boolean(build) : true;\n\n const params = {\n ids: patterns,\n snapped,\n unmerged,\n editor,\n message,\n releaseType: getReleaseType(),\n preReleaseId: getPreReleaseId(),\n ignoreIssues,\n ignoreNewestVersion,\n skipTests,\n skipAutoTag,\n build,\n soft,\n persist,\n unmodified,\n disableTagAndSnapPipelines,\n ignoreBuildErrors,\n incrementBy,\n version: ver,\n failFast,\n };\n\n const results = await this.snapping.tag(params);\n if (!results) return chalk.yellow(NOTHING_TO_TAG_MSG);\n const { taggedComponents, autoTaggedResults, warnings, newComponents, removedComponents }: TagResults = results;\n const changedComponents = taggedComponents.filter((component) => !newComponents.searchWithoutVersion(component.id));\n const addedComponents = taggedComponents.filter((component) => newComponents.searchWithoutVersion(component.id));\n const autoTaggedCount = autoTaggedResults ? autoTaggedResults.length : 0;\n\n const warningsOutput = warnings && warnings.length ? `${chalk.yellow(warnings.join('\\n'))}\\n\\n` : '';\n const tagExplanationPersist = `\\n(use \"bit export\" to push these components to a remote\")\n(use \"bit reset\" to unstage versions)\\n`;\n const tagExplanationSoft = `\\n(use \"bit tag --persist\" to persist the soft-tagged changes as a fully tagged version\")\n(use \"bit reset --soft\" to remove the soft-tags)\\n`;\n\n const tagExplanation = results.isSoftTag ? tagExplanationSoft : tagExplanationPersist;\n\n const compInBold = (id: BitId) => {\n const version = id.hasVersion() ? `@${id.version}` : '';\n return `${chalk.bold(id.toStringWithoutVersion())}${version}`;\n };\n\n const outputComponents = (comps: ConsumerComponent[]) => {\n return comps\n .map((component) => {\n let componentOutput = ` > ${compInBold(component.id)}`;\n const autoTag = autoTaggedResults.filter((result) =>\n result.triggeredBy.searchWithoutScopeAndVersion(component.id)\n );\n if (autoTag.length) {\n const autoTagComp = autoTag.map((a) => compInBold(a.component.id));\n componentOutput += `\\n ${AUTO_TAGGED_MSG}:\n ${autoTagComp.join('\\n ')}`;\n }\n return componentOutput;\n })\n .join('\\n');\n };\n\n const publishOutput = () => {\n const { publishedPackages } = results;\n if (!publishedPackages || !publishedPackages.length) return '';\n const successTitle = `\\n\\n${chalk.green(\n `published the following ${publishedPackages.length} component(s) successfully\\n`\n )}`;\n const successCompsStr = publishedPackages.join('\\n');\n const successOutput = successCompsStr ? successTitle + successCompsStr : '';\n return successOutput;\n };\n\n const softTagPrefix = results.isSoftTag ? 'soft-tagged ' : '';\n const outputIfExists = (label, explanation, components: ConsumerComponent[]) => {\n if (!components.length) return '';\n return `\\n${chalk.underline(softTagPrefix + label)}\\n(${explanation})\\n${outputComponents(components)}\\n`;\n };\n\n const newDesc = results.isSoftTag\n ? 'set to be tagged with first version for components when persisted'\n : 'first version for components';\n const changedDesc = results.isSoftTag\n ? 'components that are set to get a version bump when persisted'\n : 'components that got a version bump';\n const softTagClarification = results.isSoftTag\n ? chalk.bold(\n 'keep in mind that this is a soft-tag (changes recorded to be tagged), to persist the changes use --persist flag'\n )\n : '';\n return (\n warningsOutput +\n chalk.green(\n `${taggedComponents.length + autoTaggedCount} component(s) ${results.isSoftTag ? 'soft-' : ''}tagged`\n ) +\n tagExplanation +\n outputIfExists('new components', newDesc, addedComponents) +\n outputIfExists('changed components', changedDesc, changedComponents) +\n outputIdsIfExists('removed components', removedComponents) +\n publishOutput() +\n softTagClarification\n );\n }\n}\n\nexport function outputIdsIfExists(label: string, ids?: BitIds) {\n if (!ids?.length) return '';\n return `\\n${chalk.underline(label)}\\n${ids.map((id) => id.toStringWithoutVersion()).join('\\n')}\\n`;\n}\n"],"mappings":"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"}
@@ -356,16 +356,19 @@ async function tagModelComponent({
356
356
  exitOnFirstFailedTask,
357
357
  skipTests
358
358
  };
359
- await scope.reloadAspectsWithNewVersion(allComponentsToTag);
360
- harmonyComps = await (workspace || scope).getManyByLegacy(allComponentsToTag);
361
- const {
362
- builderDataMap
363
- } = await builder.tagListener(harmonyComps, onTagOpts, isolateOptions, builderOptions);
364
- const buildResult = scope.builderDataMapToLegacyOnTagResults(builderDataMap);
365
- snapping._updateComponentsByTagResult(allComponentsToTag, buildResult);
366
- publishedPackages.push(...snapping._getPublishedPackages(allComponentsToTag));
367
- addBuildStatus(allComponentsToTag, _constants().BuildStatus.Succeed);
368
- await (0, _pMapSeries().default)(allComponentsToTag, consumerComponent => snapping._enrichComp(consumerComponent));
359
+ const componentsToBuild = allComponentsToTag.filter(c => !c.isRemoved());
360
+ if (componentsToBuild.length) {
361
+ await scope.reloadAspectsWithNewVersion(componentsToBuild);
362
+ harmonyComps = await (workspace || scope).getManyByLegacy(componentsToBuild);
363
+ const {
364
+ builderDataMap
365
+ } = await builder.tagListener(harmonyComps, onTagOpts, isolateOptions, builderOptions);
366
+ const buildResult = scope.builderDataMapToLegacyOnTagResults(builderDataMap);
367
+ snapping._updateComponentsByTagResult(componentsToBuild, buildResult);
368
+ publishedPackages.push(...snapping._getPublishedPackages(componentsToBuild));
369
+ addBuildStatus(componentsToBuild, _constants().BuildStatus.Succeed);
370
+ await (0, _pMapSeries().default)(componentsToBuild, consumerComponent => snapping._enrichComp(consumerComponent));
371
+ }
369
372
  }
370
373
  let removedComponents;
371
374
  if (!soft) {
@@ -1 +1 @@
1
- {"version":3,"names":["_pMapSeries","data","_interopRequireDefault","require","_nodeFetch","_ramda","_lodash","_uuid","globalConfig","_interopRequireWildcard","_bitId","_constants","_componentSchema","_workspaceModules","_exceptions","_showDoctorError","_deleteComponentFiles","_logger","_utils","_autoTag","_semverHelper","_messagePerComponent","_models","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","updateDependenciesVersions","componentsToTag","dependencyResolver","getNewDependencyVersion","id","foundDependency","find","component","isEqualWithoutVersion","changeVersion","version","changeExtensionsVersion","extensions","ext","extensionId","newDepId","oneComponentToTag","getAllDependencies","dependency","updateDepsOnLegacyTag","bind","setHashes","componentToTag","setNewVersion","sha1","v4","setFutureVersions","scope","releaseType","exactVersion","persist","autoTagIds","ids","incrementBy","preReleaseId","soft","tagDataPerComp","isPreReleaseLike","includes","Promise","all","map","_componentToTag$compo","_componentToTag$compo2","isAutoTag","hasWithoutVersion","modelComponent","sources","findOrAddComponent","nextVersion","componentMap","getNewVersion","tagData","t","componentId","_legacy","Error","toStringWithoutVersion","versionToTag","exactVersionOrReleaseType","getValidVersionOrReleaseType","getVersionToAdd","prereleaseId","_componentToTag$compo3","_componentToTag$compo4","undefined","preRelease","versionByEnteredId","getVersionByEnteredId","newVersion","enteredIds","enteredId","searchWithoutVersion","hasVersion","tagModelComponent","workspace","snapping","builder","consumerComponents","populateArtifactsFrom","message","editor","ignoreNewestVersion","skipTests","skipAutoTag","build","isSnap","disableTagAndSnapPipelines","ignoreBuildErrors","packageManagerConfigRootDir","copyLogFromPreviousSnap","exitOnFirstFailedTask","consumer","legacyScope","consumerComponentsIdsMap","consumerComponent","componentIdString","toString","R","values","idsToTag","BitIds","fromArray","c","idsToTriggerAutoTag","autoTagData","getAutoTagInfo","autoTagComponents","autoTagItem","autoTagComponentsFiltered","autoTag","allComponentsToTag","messagesFromEditorFetcher","MessagePerComponentFetcher","getMessagePerId","getMessagesFromEditor","tmp","msg","messagePerId","newestVersionsP","componentFromModel","getModelComponentIfExist","ShowDoctorError","listVersions","latest","getHeadRegardlessOfLaneAsTagOrHash","currentVersion","latestVersion","newestVersions","newestVersionsWithoutEmpty","newest","isEmpty","NewerVersionFound","logger","debugAndAddBreadCrumb","setCurrentSchema","addLogToComponents","unmergedComps","listComponentsDuringMerge","stagedConfig","updateNextVersionOnBitmap","_addFlattenedDependenciesToComponents","throwForDepsFromAnotherLane","emptyBuilderData","addBuildStatus","BuildStatus","Pending","addComponentsToScope","Boolean","modelComponents","getModelComponent","updateComponentsVersions","publishedPackages","harmonyComps","onTagOpts","throwOnError","forceDeploy","seedersOnly","isolateOptions","builderOptions","reloadAspectsWithNewVersion","getManyByLegacy","builderDataMap","tagListener","buildResult","builderDataMapToLegacyOnTagResults","_updateComponentsByTagResult","_getPublishedPackages","Succeed","mapSeries","_enrichComp","removedComponents","removeDeletedComponentsFromBitmap","objects","removeMergeConfigFromComponents","linkToNodeModulesByComponents","taggedComponents","autoTaggedResults","comps","removedComps","comp","isRemoved","compBitIdsToRemove","deleteComponentsFiles","cleanFromBitMap","components","configMergeFile","getConflictMergeFile","compId","isNowSnapped","removeConflict","hasConflict","write","delete","shouldValidateVersion","lane","getCurrentLaneObject","_addCompToObjects","_addCompFromScopeToObjects","clone","existingBuilder","findCoreExtension","Extensions","autoTagComps","messagePerComponent","basicLog","getBasicLog","getLog","_component$componentM","_messagePerComponent$","msgFromEditor","item","currentLog","log","date","username","email","autoTagComp","defaultMsg","getBitCloudUsername","CFG_USER_NAME_KEY","CFG_USER_EMAIL_KEY","Date","now","token","CFG_USER_TOKEN_KEY","res","fetch","getCloudDomain","headers","Authorization","json","user","payload","error","getBitCloudUser","schema","CURRENT_SCHEMA","buildStatus","isTag","currentLane","getCurrentLaneId","getStagedConfig","isAvailableOnMain","isDefault","ModelComponent","hasHead","updateVersions","toBitIdWithLatestVersionAllowNull","bitMap","updateComponentId","availableOnMain","setOnLanesOnly","getComponent","resolveComponentId","config","addComponentConfig","removeConfig","hash","getRef","stagedSnaps","addSnap","getConfigPerId","clearNextVersion"],"sources":["tag-model-component.ts"],"sourcesContent":["import mapSeries from 'p-map-series';\nimport fetch from 'node-fetch';\nimport R from 'ramda';\nimport { isEmpty } from 'lodash';\nimport { ReleaseType } from 'semver';\nimport { v4 } from 'uuid';\nimport * as globalConfig from '@teambit/legacy/dist/api/consumer/lib/global-config';\nimport { Scope } from '@teambit/legacy/dist/scope';\nimport { BitId, BitIds } from '@teambit/legacy/dist/bit-id';\nimport {\n BuildStatus,\n CFG_USER_EMAIL_KEY,\n CFG_USER_NAME_KEY,\n CFG_USER_TOKEN_KEY,\n getCloudDomain,\n Extensions,\n} from '@teambit/legacy/dist/constants';\nimport { CURRENT_SCHEMA } from '@teambit/legacy/dist/consumer/component/component-schema';\nimport { linkToNodeModulesByComponents } from '@teambit/workspace.modules.node-modules-linker';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component/consumer-component';\nimport Consumer from '@teambit/legacy/dist/consumer/consumer';\nimport { NewerVersionFound } from '@teambit/legacy/dist/consumer/exceptions';\nimport ShowDoctorError from '@teambit/legacy/dist/error/show-doctor-error';\nimport { Component } from '@teambit/component';\nimport deleteComponentsFiles from '@teambit/legacy/dist/consumer/component-ops/delete-component-files';\nimport logger from '@teambit/legacy/dist/logger/logger';\nimport { sha1 } from '@teambit/legacy/dist/utils';\nimport { ComponentID } from '@teambit/component-id';\nimport { AutoTagResult, getAutoTagInfo } from '@teambit/legacy/dist/scope/component-ops/auto-tag';\nimport { getValidVersionOrReleaseType } from '@teambit/legacy/dist/utils/semver-helper';\nimport { BuilderMain, OnTagOpts } from '@teambit/builder';\nimport { Log } from '@teambit/legacy/dist/scope/models/version';\nimport {\n MessagePerComponent,\n MessagePerComponentFetcher,\n} from '@teambit/legacy/dist/scope/component-ops/message-per-component';\nimport { ModelComponent } from '@teambit/legacy/dist/scope/models';\nimport { DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { ScopeMain, StagedConfig } from '@teambit/scope';\nimport { Workspace } from '@teambit/workspace';\nimport { SnappingMain, TagDataPerComp } from './snapping.main.runtime';\n\nexport type onTagIdTransformer = (id: BitId) => BitId | null;\n\nexport type BasicTagSnapParams = {\n message: string;\n skipTests?: boolean;\n build?: boolean;\n ignoreBuildErrors?: boolean;\n};\n\nexport type BasicTagParams = BasicTagSnapParams & {\n ignoreNewestVersion?: boolean;\n skipAutoTag?: boolean;\n soft?: boolean;\n persist: boolean;\n disableTagAndSnapPipelines?: boolean;\n preReleaseId?: string;\n editor?: string;\n unmodified?: boolean;\n};\n\nfunction updateDependenciesVersions(\n componentsToTag: ConsumerComponent[],\n dependencyResolver: DependencyResolverMain\n): void {\n const getNewDependencyVersion = (id: BitId): BitId | null => {\n const foundDependency = componentsToTag.find((component) => component.id.isEqualWithoutVersion(id));\n return foundDependency ? id.changeVersion(foundDependency.version) : null;\n };\n const changeExtensionsVersion = (component: ConsumerComponent): void => {\n component.extensions.forEach((ext) => {\n if (ext.extensionId) {\n const newDepId = getNewDependencyVersion(ext.extensionId);\n if (newDepId) ext.extensionId = newDepId;\n }\n });\n };\n\n componentsToTag.forEach((oneComponentToTag) => {\n oneComponentToTag.getAllDependencies().forEach((dependency) => {\n const newDepId = getNewDependencyVersion(dependency.id);\n if (newDepId) dependency.id = newDepId;\n });\n changeExtensionsVersion(oneComponentToTag);\n // @ts-ignore\n oneComponentToTag = dependencyResolver.updateDepsOnLegacyTag(oneComponentToTag, getNewDependencyVersion.bind(this));\n });\n}\n\nfunction setHashes(componentsToTag: ConsumerComponent[]): void {\n componentsToTag.forEach((componentToTag) => {\n componentToTag.setNewVersion(sha1(v4()));\n });\n}\n\nasync function setFutureVersions(\n componentsToTag: ConsumerComponent[],\n scope: Scope,\n releaseType: ReleaseType | undefined,\n exactVersion: string | null | undefined,\n persist: boolean,\n autoTagIds: BitIds,\n ids: BitIds,\n incrementBy?: number,\n preReleaseId?: string,\n soft?: boolean,\n tagDataPerComp?: TagDataPerComp[]\n): Promise<void> {\n const isPreReleaseLike = releaseType\n ? ['prerelease', 'premajor', 'preminor', 'prepatch'].includes(releaseType)\n : false;\n await Promise.all(\n componentsToTag.map(async (componentToTag) => {\n const isAutoTag = autoTagIds.hasWithoutVersion(componentToTag.id);\n const modelComponent = await scope.sources.findOrAddComponent(componentToTag);\n const nextVersion = componentToTag.componentMap?.nextVersion?.version;\n const getNewVersion = (): string => {\n if (tagDataPerComp) {\n const tagData = tagDataPerComp.find((t) => t.componentId._legacy.isEqualWithoutVersion(componentToTag.id));\n if (!tagData) throw new Error(`tag-data is missing for ${componentToTag.id.toStringWithoutVersion()}`);\n if (!tagData.versionToTag)\n throw new Error(`tag-data.TagResults is missing for ${componentToTag.id.toStringWithoutVersion()}`);\n const exactVersionOrReleaseType = getValidVersionOrReleaseType(tagData.versionToTag);\n return modelComponent.getVersionToAdd(\n exactVersionOrReleaseType.releaseType,\n exactVersionOrReleaseType.exactVersion,\n incrementBy,\n tagData.prereleaseId\n );\n }\n if (nextVersion && persist) {\n const exactVersionOrReleaseType = getValidVersionOrReleaseType(nextVersion);\n return modelComponent.getVersionToAdd(\n exactVersionOrReleaseType.releaseType,\n exactVersionOrReleaseType.exactVersion,\n undefined,\n componentToTag.componentMap?.nextVersion?.preRelease\n );\n }\n if (isAutoTag) {\n // auto-tag always bumped as patch unless it's pre-release\n if (isPreReleaseLike) {\n return soft\n ? (releaseType as string)\n : modelComponent.getVersionToAdd(releaseType, exactVersion, incrementBy, preReleaseId);\n }\n return soft ? 'patch' : modelComponent.getVersionToAdd('patch', undefined, incrementBy, preReleaseId);\n }\n const versionByEnteredId = getVersionByEnteredId(ids, componentToTag, modelComponent);\n return soft\n ? versionByEnteredId || exactVersion || (releaseType as string)\n : versionByEnteredId || modelComponent.getVersionToAdd(releaseType, exactVersion, incrementBy, preReleaseId);\n };\n const newVersion = getNewVersion();\n componentToTag.setNewVersion(newVersion);\n })\n );\n}\n\nfunction getVersionByEnteredId(\n enteredIds: BitIds,\n component: ConsumerComponent,\n modelComponent: ModelComponent\n): string | undefined {\n const enteredId = enteredIds.searchWithoutVersion(component.id);\n if (enteredId && enteredId.hasVersion()) {\n const exactVersionOrReleaseType = getValidVersionOrReleaseType(enteredId.version as string);\n return modelComponent.getVersionToAdd(\n exactVersionOrReleaseType.releaseType,\n exactVersionOrReleaseType.exactVersion\n );\n }\n return undefined;\n}\n\nexport async function tagModelComponent({\n workspace,\n scope,\n snapping,\n builder,\n consumerComponents,\n ids,\n tagDataPerComp,\n populateArtifactsFrom,\n message,\n editor,\n exactVersion,\n releaseType,\n preReleaseId,\n ignoreNewestVersion = false,\n skipTests = false,\n skipAutoTag,\n soft,\n build,\n persist,\n isSnap = false,\n disableTagAndSnapPipelines,\n ignoreBuildErrors,\n incrementBy,\n packageManagerConfigRootDir,\n dependencyResolver,\n copyLogFromPreviousSnap = false,\n exitOnFirstFailedTask = false,\n}: {\n workspace?: Workspace;\n scope: ScopeMain;\n snapping: SnappingMain;\n builder: BuilderMain;\n consumerComponents: ConsumerComponent[];\n ids: BitIds;\n tagDataPerComp?: TagDataPerComp[];\n populateArtifactsFrom?: ComponentID[];\n copyLogFromPreviousSnap?: boolean;\n exactVersion?: string | null | undefined;\n releaseType?: ReleaseType;\n incrementBy?: number;\n isSnap?: boolean;\n packageManagerConfigRootDir?: string;\n dependencyResolver: DependencyResolverMain;\n exitOnFirstFailedTask?: boolean;\n} & BasicTagParams): Promise<{\n taggedComponents: ConsumerComponent[];\n autoTaggedResults: AutoTagResult[];\n publishedPackages: string[];\n stagedConfig?: StagedConfig;\n removedComponents?: BitIds;\n}> {\n const consumer = workspace?.consumer;\n const legacyScope = scope.legacyScope;\n const consumerComponentsIdsMap = {};\n // Concat and unique all the dependencies from all the components so we will not import\n // the same dependency more then once, it's mainly for performance purpose\n consumerComponents.forEach((consumerComponent) => {\n const componentIdString = consumerComponent.id.toString();\n // Store it in a map so we can take it easily from the sorted array which contain only the id\n consumerComponentsIdsMap[componentIdString] = consumerComponent;\n });\n const componentsToTag: ConsumerComponent[] = R.values(consumerComponentsIdsMap); // consumerComponents unique\n const idsToTag = BitIds.fromArray(componentsToTag.map((c) => c.id));\n // ids without versions are new. it's impossible that tagged (and not-modified) components has\n // them as dependencies.\n const idsToTriggerAutoTag = idsToTag.filter((id) => id.hasVersion());\n const autoTagData =\n skipAutoTag || !consumer ? [] : await getAutoTagInfo(consumer, BitIds.fromArray(idsToTriggerAutoTag));\n const autoTagComponents = autoTagData.map((autoTagItem) => autoTagItem.component);\n const autoTagComponentsFiltered = autoTagComponents.filter((c) => !idsToTag.has(c.id));\n const autoTagIds = BitIds.fromArray(autoTagComponentsFiltered.map((autoTag) => autoTag.id));\n const allComponentsToTag = [...componentsToTag, ...autoTagComponentsFiltered];\n\n const messagesFromEditorFetcher = new MessagePerComponentFetcher(idsToTag, autoTagIds);\n const getMessagePerId = async () => {\n if (editor) return messagesFromEditorFetcher.getMessagesFromEditor(legacyScope.tmp, editor);\n if (tagDataPerComp) return tagDataPerComp.map((t) => ({ id: t.componentId._legacy, msg: t.message || message }));\n return [];\n };\n const messagePerId = await getMessagePerId();\n\n // check for each one of the components whether it is using an old version\n if (!ignoreNewestVersion && !isSnap) {\n const newestVersionsP = allComponentsToTag.map(async (component) => {\n if (component.componentFromModel) {\n // otherwise it's a new component, so this check is irrelevant\n const modelComponent = await legacyScope.getModelComponentIfExist(component.id);\n if (!modelComponent) throw new ShowDoctorError(`component ${component.id} was not found in the model`);\n if (!modelComponent.listVersions().length) return null; // no versions yet, no issues.\n const latest = modelComponent.getHeadRegardlessOfLaneAsTagOrHash();\n if (latest !== component.version) {\n return {\n componentId: component.id.toStringWithoutVersion(),\n currentVersion: component.version,\n latestVersion: latest,\n };\n }\n }\n return null;\n });\n const newestVersions = await Promise.all(newestVersionsP);\n const newestVersionsWithoutEmpty = newestVersions.filter((newest) => newest);\n if (!isEmpty(newestVersionsWithoutEmpty)) {\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n throw new NewerVersionFound(newestVersionsWithoutEmpty);\n }\n }\n\n logger.debugAndAddBreadCrumb('tag-model-components', 'sequentially persist all components');\n // go through all components and find the future versions for them\n isSnap\n ? setHashes(allComponentsToTag)\n : await setFutureVersions(\n allComponentsToTag,\n legacyScope,\n releaseType,\n exactVersion,\n persist,\n autoTagIds,\n ids,\n incrementBy,\n preReleaseId,\n soft,\n tagDataPerComp\n );\n setCurrentSchema(allComponentsToTag);\n // go through all dependencies and update their versions\n updateDependenciesVersions(allComponentsToTag, dependencyResolver);\n\n await addLogToComponents(componentsToTag, autoTagComponents, persist, message, messagePerId, copyLogFromPreviousSnap);\n // don't move it down. otherwise, it'll be empty and we don't know which components were during merge.\n const unmergedComps = workspace ? await workspace.listComponentsDuringMerge() : [];\n let stagedConfig;\n if (soft) {\n if (!consumer) throw new Error(`unable to soft-tag without consumer`);\n consumer.updateNextVersionOnBitmap(allComponentsToTag, preReleaseId);\n } else {\n await snapping._addFlattenedDependenciesToComponents(allComponentsToTag);\n await snapping.throwForDepsFromAnotherLane(allComponentsToTag);\n emptyBuilderData(allComponentsToTag);\n addBuildStatus(allComponentsToTag, BuildStatus.Pending);\n await addComponentsToScope(legacyScope, snapping, allComponentsToTag, Boolean(build), consumer);\n\n if (workspace) {\n const modelComponents = await Promise.all(\n allComponentsToTag.map((c) => {\n return c.modelComponent || legacyScope.getModelComponent(c.id);\n })\n );\n stagedConfig = await updateComponentsVersions(workspace, modelComponents);\n }\n }\n\n const publishedPackages: string[] = [];\n let harmonyComps: Component[] = [];\n if (build) {\n const onTagOpts: OnTagOpts = {\n disableTagAndSnapPipelines,\n throwOnError: true,\n forceDeploy: ignoreBuildErrors,\n isSnap,\n populateArtifactsFrom,\n };\n const seedersOnly = !workspace; // if tag from scope, build only the given components\n const isolateOptions = { packageManagerConfigRootDir, seedersOnly };\n const builderOptions = { exitOnFirstFailedTask, skipTests };\n\n await scope.reloadAspectsWithNewVersion(allComponentsToTag);\n harmonyComps = await (workspace || scope).getManyByLegacy(allComponentsToTag);\n const { builderDataMap } = await builder.tagListener(harmonyComps, onTagOpts, isolateOptions, builderOptions);\n const buildResult = scope.builderDataMapToLegacyOnTagResults(builderDataMap);\n\n snapping._updateComponentsByTagResult(allComponentsToTag, buildResult);\n publishedPackages.push(...snapping._getPublishedPackages(allComponentsToTag));\n addBuildStatus(allComponentsToTag, BuildStatus.Succeed);\n await mapSeries(allComponentsToTag, (consumerComponent) => snapping._enrichComp(consumerComponent));\n }\n\n let removedComponents: BitIds | undefined;\n if (!soft) {\n removedComponents = await removeDeletedComponentsFromBitmap(allComponentsToTag, workspace);\n await legacyScope.objects.persist();\n await removeMergeConfigFromComponents(unmergedComps, allComponentsToTag, workspace);\n if (workspace) {\n await linkToNodeModulesByComponents(\n harmonyComps.length ? harmonyComps : await workspace.scope.getManyByLegacy(allComponentsToTag),\n workspace\n );\n }\n }\n\n return {\n taggedComponents: componentsToTag,\n autoTaggedResults: autoTagData,\n publishedPackages,\n stagedConfig,\n removedComponents,\n };\n}\n\nasync function removeDeletedComponentsFromBitmap(\n comps: ConsumerComponent[],\n workspace?: Workspace\n): Promise<BitIds | undefined> {\n if (!workspace) {\n return undefined;\n }\n const removedComps = comps.filter((comp) => comp.isRemoved());\n if (!removedComps.length) return undefined;\n const compBitIdsToRemove = BitIds.fromArray(removedComps.map((c) => c.id));\n await deleteComponentsFiles(workspace.consumer, compBitIdsToRemove);\n await workspace.consumer.cleanFromBitMap(compBitIdsToRemove);\n\n return compBitIdsToRemove;\n}\n\nasync function removeMergeConfigFromComponents(\n unmergedComps: ComponentID[],\n components: ConsumerComponent[],\n workspace?: Workspace\n) {\n if (!workspace || !unmergedComps.length) {\n return;\n }\n const configMergeFile = workspace.getConflictMergeFile();\n\n unmergedComps.forEach((compId) => {\n const isNowSnapped = components.find((c) => c.id.isEqualWithoutVersion(compId._legacy));\n if (isNowSnapped) {\n configMergeFile.removeConflict(compId.toStringWithoutVersion());\n }\n });\n if (configMergeFile.hasConflict()) {\n await configMergeFile.write();\n } else {\n await configMergeFile.delete();\n }\n}\n\nasync function addComponentsToScope(\n scope: Scope,\n snapping: SnappingMain,\n components: ConsumerComponent[],\n shouldValidateVersion: boolean,\n consumer?: Consumer\n) {\n const lane = await scope.getCurrentLaneObject();\n if (consumer) {\n await mapSeries(components, async (component) => {\n await snapping._addCompToObjects({\n source: component,\n consumer,\n lane,\n shouldValidateVersion,\n });\n });\n } else {\n await mapSeries(components, async (component) => {\n await snapping._addCompFromScopeToObjects(component, lane);\n });\n }\n}\n\nfunction emptyBuilderData(components: ConsumerComponent[]) {\n components.forEach((component) => {\n component.extensions = component.extensions.clone();\n const existingBuilder = component.extensions.findCoreExtension(Extensions.builder);\n if (existingBuilder) existingBuilder.data = {};\n });\n}\n\nasync function addLogToComponents(\n components: ConsumerComponent[],\n autoTagComps: ConsumerComponent[],\n persist: boolean,\n message: string,\n messagePerComponent: MessagePerComponent[],\n copyLogFromPreviousSnap = false\n) {\n // @ts-ignore this happens when running `bit tag -m \"\"`.\n if (message === true) {\n message = '';\n }\n const basicLog = await getBasicLog();\n const getLog = (component: ConsumerComponent): Log => {\n const nextVersion = persist ? component.componentMap?.nextVersion : null;\n const msgFromEditor = messagePerComponent.find((item) => item.id.isEqualWithoutVersion(component.id))?.msg;\n if (copyLogFromPreviousSnap) {\n const currentLog = component.log;\n if (!currentLog) {\n throw new Error(\n `addLogToComponents is set copyLogFromPreviousSnap: true, but it is unable to find log in the previous snap`\n );\n }\n currentLog.message = msgFromEditor || message || currentLog.message;\n currentLog.date = basicLog.date;\n return currentLog;\n }\n\n return {\n username: nextVersion?.username || basicLog.username,\n email: nextVersion?.email || basicLog.email,\n message: nextVersion?.message || msgFromEditor || message,\n date: basicLog.date,\n };\n };\n\n components.forEach((component) => {\n component.log = getLog(component);\n });\n autoTagComps.forEach((autoTagComp) => {\n autoTagComp.log = getLog(autoTagComp);\n const defaultMsg = 'bump dependencies versions';\n if (message) {\n autoTagComp.log.message += ` (${defaultMsg})`;\n } else if (!autoTagComp.log.message) {\n autoTagComp.log.message = defaultMsg;\n }\n });\n}\n\nexport async function getBasicLog(): Promise<Log> {\n const username = (await getBitCloudUsername()) || (await globalConfig.get(CFG_USER_NAME_KEY));\n const email = await globalConfig.get(CFG_USER_EMAIL_KEY);\n return {\n username,\n email,\n message: '',\n date: Date.now().toString(),\n };\n}\n\nexport async function getBitCloudUsername(): Promise<string | undefined> {\n const token = await globalConfig.get(CFG_USER_TOKEN_KEY);\n if (!token) return '';\n try {\n const res = await fetch(`https://api.${getCloudDomain()}/user`, {\n headers: {\n Authorization: `Bearer ${token}`,\n 'Content-Type': 'application/json',\n },\n });\n const object = await res.json();\n const user = object.payload;\n const username = user.username;\n return username;\n } catch (error) {\n return undefined;\n }\n}\n\nexport type BitCloudUser = {\n username?: string;\n name?: string;\n displayName?: string;\n profileImage?: string;\n};\n\nexport async function getBitCloudUser(): Promise<BitCloudUser | undefined> {\n const token = await globalConfig.get(CFG_USER_TOKEN_KEY);\n if (!token) return undefined;\n\n try {\n const res = await fetch(`https://api.${getCloudDomain()}/user`, {\n headers: {\n Authorization: `Bearer ${token}`,\n 'Content-Type': 'application/json',\n },\n });\n const object = await res.json();\n const user = object.payload;\n\n return {\n ...user,\n };\n } catch (error) {\n return undefined;\n }\n}\n\nfunction setCurrentSchema(components: ConsumerComponent[]) {\n components.forEach((component) => {\n component.schema = CURRENT_SCHEMA;\n });\n}\n\nfunction addBuildStatus(components: ConsumerComponent[], buildStatus: BuildStatus) {\n components.forEach((component) => {\n component.buildStatus = buildStatus;\n });\n}\n\nexport async function updateComponentsVersions(\n workspace: Workspace,\n components: Array<ModelComponent>,\n isTag = true\n): Promise<StagedConfig> {\n const consumer = workspace.consumer;\n const currentLane = consumer.getCurrentLaneId();\n const stagedConfig = await workspace.scope.getStagedConfig();\n const isAvailableOnMain = async (component: ModelComponent | ConsumerComponent, id: BitId): Promise<boolean> => {\n if (currentLane.isDefault()) {\n return true;\n }\n if (!id.hasVersion()) {\n // component was unsnapped on the current lane and is back to a new component\n return true;\n }\n const modelComponent =\n component instanceof ModelComponent ? component : await consumer.scope.getModelComponent(component.id);\n return modelComponent.hasHead();\n };\n\n const updateVersions = async (modelComponent: ModelComponent) => {\n const id: BitId = modelComponent.toBitIdWithLatestVersionAllowNull();\n consumer.bitMap.updateComponentId(id);\n const availableOnMain = await isAvailableOnMain(modelComponent, id);\n if (!availableOnMain) {\n consumer.bitMap.setOnLanesOnly(id, true);\n }\n const componentMap = consumer.bitMap.getComponent(id);\n const compId = await workspace.resolveComponentId(id);\n // it can be either a tag/snap or reset.\n if (isTag) {\n const config = componentMap.config;\n stagedConfig.addComponentConfig(compId, config);\n consumer.bitMap.removeConfig(id);\n const hash = modelComponent.getRef(id.version as string);\n if (!hash) throw new Error(`updateComponentsVersions: unable to find a hash for ${id.toString()}`);\n workspace.scope.legacyScope.stagedSnaps.addSnap(hash?.toString());\n } else if (!componentMap.config) {\n componentMap.config = stagedConfig.getConfigPerId(compId);\n }\n componentMap.clearNextVersion();\n };\n // important! DO NOT use Promise.all here! otherwise, you're gonna enter into a whole world of pain.\n // imagine tagging comp1 with auto-tagged comp2, comp1 package.json is written while comp2 is\n // trying to get the dependencies of comp1 using its package.json.\n await mapSeries(components, updateVersions);\n await workspace.scope.legacyScope.stagedSnaps.write();\n\n return stagedConfig;\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_pMapSeries","data","_interopRequireDefault","require","_nodeFetch","_ramda","_lodash","_uuid","globalConfig","_interopRequireWildcard","_bitId","_constants","_componentSchema","_workspaceModules","_exceptions","_showDoctorError","_deleteComponentFiles","_logger","_utils","_autoTag","_semverHelper","_messagePerComponent","_models","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","updateDependenciesVersions","componentsToTag","dependencyResolver","getNewDependencyVersion","id","foundDependency","find","component","isEqualWithoutVersion","changeVersion","version","changeExtensionsVersion","extensions","ext","extensionId","newDepId","oneComponentToTag","getAllDependencies","dependency","updateDepsOnLegacyTag","bind","setHashes","componentToTag","setNewVersion","sha1","v4","setFutureVersions","scope","releaseType","exactVersion","persist","autoTagIds","ids","incrementBy","preReleaseId","soft","tagDataPerComp","isPreReleaseLike","includes","Promise","all","map","_componentToTag$compo","_componentToTag$compo2","isAutoTag","hasWithoutVersion","modelComponent","sources","findOrAddComponent","nextVersion","componentMap","getNewVersion","tagData","t","componentId","_legacy","Error","toStringWithoutVersion","versionToTag","exactVersionOrReleaseType","getValidVersionOrReleaseType","getVersionToAdd","prereleaseId","_componentToTag$compo3","_componentToTag$compo4","undefined","preRelease","versionByEnteredId","getVersionByEnteredId","newVersion","enteredIds","enteredId","searchWithoutVersion","hasVersion","tagModelComponent","workspace","snapping","builder","consumerComponents","populateArtifactsFrom","message","editor","ignoreNewestVersion","skipTests","skipAutoTag","build","isSnap","disableTagAndSnapPipelines","ignoreBuildErrors","packageManagerConfigRootDir","copyLogFromPreviousSnap","exitOnFirstFailedTask","consumer","legacyScope","consumerComponentsIdsMap","consumerComponent","componentIdString","toString","R","values","idsToTag","BitIds","fromArray","c","idsToTriggerAutoTag","autoTagData","getAutoTagInfo","autoTagComponents","autoTagItem","autoTagComponentsFiltered","autoTag","allComponentsToTag","messagesFromEditorFetcher","MessagePerComponentFetcher","getMessagePerId","getMessagesFromEditor","tmp","msg","messagePerId","newestVersionsP","componentFromModel","getModelComponentIfExist","ShowDoctorError","listVersions","latest","getHeadRegardlessOfLaneAsTagOrHash","currentVersion","latestVersion","newestVersions","newestVersionsWithoutEmpty","newest","isEmpty","NewerVersionFound","logger","debugAndAddBreadCrumb","setCurrentSchema","addLogToComponents","unmergedComps","listComponentsDuringMerge","stagedConfig","updateNextVersionOnBitmap","_addFlattenedDependenciesToComponents","throwForDepsFromAnotherLane","emptyBuilderData","addBuildStatus","BuildStatus","Pending","addComponentsToScope","Boolean","modelComponents","getModelComponent","updateComponentsVersions","publishedPackages","harmonyComps","onTagOpts","throwOnError","forceDeploy","seedersOnly","isolateOptions","builderOptions","componentsToBuild","isRemoved","reloadAspectsWithNewVersion","getManyByLegacy","builderDataMap","tagListener","buildResult","builderDataMapToLegacyOnTagResults","_updateComponentsByTagResult","_getPublishedPackages","Succeed","mapSeries","_enrichComp","removedComponents","removeDeletedComponentsFromBitmap","objects","removeMergeConfigFromComponents","linkToNodeModulesByComponents","taggedComponents","autoTaggedResults","comps","removedComps","comp","compBitIdsToRemove","deleteComponentsFiles","cleanFromBitMap","components","configMergeFile","getConflictMergeFile","compId","isNowSnapped","removeConflict","hasConflict","write","delete","shouldValidateVersion","lane","getCurrentLaneObject","_addCompToObjects","_addCompFromScopeToObjects","clone","existingBuilder","findCoreExtension","Extensions","autoTagComps","messagePerComponent","basicLog","getBasicLog","getLog","_component$componentM","_messagePerComponent$","msgFromEditor","item","currentLog","log","date","username","email","autoTagComp","defaultMsg","getBitCloudUsername","CFG_USER_NAME_KEY","CFG_USER_EMAIL_KEY","Date","now","token","CFG_USER_TOKEN_KEY","res","fetch","getCloudDomain","headers","Authorization","json","user","payload","error","getBitCloudUser","schema","CURRENT_SCHEMA","buildStatus","isTag","currentLane","getCurrentLaneId","getStagedConfig","isAvailableOnMain","isDefault","ModelComponent","hasHead","updateVersions","toBitIdWithLatestVersionAllowNull","bitMap","updateComponentId","availableOnMain","setOnLanesOnly","getComponent","resolveComponentId","config","addComponentConfig","removeConfig","hash","getRef","stagedSnaps","addSnap","getConfigPerId","clearNextVersion"],"sources":["tag-model-component.ts"],"sourcesContent":["import mapSeries from 'p-map-series';\nimport fetch from 'node-fetch';\nimport R from 'ramda';\nimport { isEmpty } from 'lodash';\nimport { ReleaseType } from 'semver';\nimport { v4 } from 'uuid';\nimport * as globalConfig from '@teambit/legacy/dist/api/consumer/lib/global-config';\nimport { Scope } from '@teambit/legacy/dist/scope';\nimport { BitId, BitIds } from '@teambit/legacy/dist/bit-id';\nimport {\n BuildStatus,\n CFG_USER_EMAIL_KEY,\n CFG_USER_NAME_KEY,\n CFG_USER_TOKEN_KEY,\n getCloudDomain,\n Extensions,\n} from '@teambit/legacy/dist/constants';\nimport { CURRENT_SCHEMA } from '@teambit/legacy/dist/consumer/component/component-schema';\nimport { linkToNodeModulesByComponents } from '@teambit/workspace.modules.node-modules-linker';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component/consumer-component';\nimport Consumer from '@teambit/legacy/dist/consumer/consumer';\nimport { NewerVersionFound } from '@teambit/legacy/dist/consumer/exceptions';\nimport ShowDoctorError from '@teambit/legacy/dist/error/show-doctor-error';\nimport { Component } from '@teambit/component';\nimport deleteComponentsFiles from '@teambit/legacy/dist/consumer/component-ops/delete-component-files';\nimport logger from '@teambit/legacy/dist/logger/logger';\nimport { sha1 } from '@teambit/legacy/dist/utils';\nimport { ComponentID } from '@teambit/component-id';\nimport { AutoTagResult, getAutoTagInfo } from '@teambit/legacy/dist/scope/component-ops/auto-tag';\nimport { getValidVersionOrReleaseType } from '@teambit/legacy/dist/utils/semver-helper';\nimport { BuilderMain, OnTagOpts } from '@teambit/builder';\nimport { Log } from '@teambit/legacy/dist/scope/models/version';\nimport {\n MessagePerComponent,\n MessagePerComponentFetcher,\n} from '@teambit/legacy/dist/scope/component-ops/message-per-component';\nimport { ModelComponent } from '@teambit/legacy/dist/scope/models';\nimport { DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { ScopeMain, StagedConfig } from '@teambit/scope';\nimport { Workspace } from '@teambit/workspace';\nimport { SnappingMain, TagDataPerComp } from './snapping.main.runtime';\n\nexport type onTagIdTransformer = (id: BitId) => BitId | null;\n\nexport type BasicTagSnapParams = {\n message: string;\n skipTests?: boolean;\n build?: boolean;\n ignoreBuildErrors?: boolean;\n};\n\nexport type BasicTagParams = BasicTagSnapParams & {\n ignoreNewestVersion?: boolean;\n skipAutoTag?: boolean;\n soft?: boolean;\n persist: boolean;\n disableTagAndSnapPipelines?: boolean;\n preReleaseId?: string;\n editor?: string;\n unmodified?: boolean;\n};\n\nfunction updateDependenciesVersions(\n componentsToTag: ConsumerComponent[],\n dependencyResolver: DependencyResolverMain\n): void {\n const getNewDependencyVersion = (id: BitId): BitId | null => {\n const foundDependency = componentsToTag.find((component) => component.id.isEqualWithoutVersion(id));\n return foundDependency ? id.changeVersion(foundDependency.version) : null;\n };\n const changeExtensionsVersion = (component: ConsumerComponent): void => {\n component.extensions.forEach((ext) => {\n if (ext.extensionId) {\n const newDepId = getNewDependencyVersion(ext.extensionId);\n if (newDepId) ext.extensionId = newDepId;\n }\n });\n };\n\n componentsToTag.forEach((oneComponentToTag) => {\n oneComponentToTag.getAllDependencies().forEach((dependency) => {\n const newDepId = getNewDependencyVersion(dependency.id);\n if (newDepId) dependency.id = newDepId;\n });\n changeExtensionsVersion(oneComponentToTag);\n // @ts-ignore\n oneComponentToTag = dependencyResolver.updateDepsOnLegacyTag(oneComponentToTag, getNewDependencyVersion.bind(this));\n });\n}\n\nfunction setHashes(componentsToTag: ConsumerComponent[]): void {\n componentsToTag.forEach((componentToTag) => {\n componentToTag.setNewVersion(sha1(v4()));\n });\n}\n\nasync function setFutureVersions(\n componentsToTag: ConsumerComponent[],\n scope: Scope,\n releaseType: ReleaseType | undefined,\n exactVersion: string | null | undefined,\n persist: boolean,\n autoTagIds: BitIds,\n ids: BitIds,\n incrementBy?: number,\n preReleaseId?: string,\n soft?: boolean,\n tagDataPerComp?: TagDataPerComp[]\n): Promise<void> {\n const isPreReleaseLike = releaseType\n ? ['prerelease', 'premajor', 'preminor', 'prepatch'].includes(releaseType)\n : false;\n await Promise.all(\n componentsToTag.map(async (componentToTag) => {\n const isAutoTag = autoTagIds.hasWithoutVersion(componentToTag.id);\n const modelComponent = await scope.sources.findOrAddComponent(componentToTag);\n const nextVersion = componentToTag.componentMap?.nextVersion?.version;\n const getNewVersion = (): string => {\n if (tagDataPerComp) {\n const tagData = tagDataPerComp.find((t) => t.componentId._legacy.isEqualWithoutVersion(componentToTag.id));\n if (!tagData) throw new Error(`tag-data is missing for ${componentToTag.id.toStringWithoutVersion()}`);\n if (!tagData.versionToTag)\n throw new Error(`tag-data.TagResults is missing for ${componentToTag.id.toStringWithoutVersion()}`);\n const exactVersionOrReleaseType = getValidVersionOrReleaseType(tagData.versionToTag);\n return modelComponent.getVersionToAdd(\n exactVersionOrReleaseType.releaseType,\n exactVersionOrReleaseType.exactVersion,\n incrementBy,\n tagData.prereleaseId\n );\n }\n if (nextVersion && persist) {\n const exactVersionOrReleaseType = getValidVersionOrReleaseType(nextVersion);\n return modelComponent.getVersionToAdd(\n exactVersionOrReleaseType.releaseType,\n exactVersionOrReleaseType.exactVersion,\n undefined,\n componentToTag.componentMap?.nextVersion?.preRelease\n );\n }\n if (isAutoTag) {\n // auto-tag always bumped as patch unless it's pre-release\n if (isPreReleaseLike) {\n return soft\n ? (releaseType as string)\n : modelComponent.getVersionToAdd(releaseType, exactVersion, incrementBy, preReleaseId);\n }\n return soft ? 'patch' : modelComponent.getVersionToAdd('patch', undefined, incrementBy, preReleaseId);\n }\n const versionByEnteredId = getVersionByEnteredId(ids, componentToTag, modelComponent);\n return soft\n ? versionByEnteredId || exactVersion || (releaseType as string)\n : versionByEnteredId || modelComponent.getVersionToAdd(releaseType, exactVersion, incrementBy, preReleaseId);\n };\n const newVersion = getNewVersion();\n componentToTag.setNewVersion(newVersion);\n })\n );\n}\n\nfunction getVersionByEnteredId(\n enteredIds: BitIds,\n component: ConsumerComponent,\n modelComponent: ModelComponent\n): string | undefined {\n const enteredId = enteredIds.searchWithoutVersion(component.id);\n if (enteredId && enteredId.hasVersion()) {\n const exactVersionOrReleaseType = getValidVersionOrReleaseType(enteredId.version as string);\n return modelComponent.getVersionToAdd(\n exactVersionOrReleaseType.releaseType,\n exactVersionOrReleaseType.exactVersion\n );\n }\n return undefined;\n}\n\nexport async function tagModelComponent({\n workspace,\n scope,\n snapping,\n builder,\n consumerComponents,\n ids,\n tagDataPerComp,\n populateArtifactsFrom,\n message,\n editor,\n exactVersion,\n releaseType,\n preReleaseId,\n ignoreNewestVersion = false,\n skipTests = false,\n skipAutoTag,\n soft,\n build,\n persist,\n isSnap = false,\n disableTagAndSnapPipelines,\n ignoreBuildErrors,\n incrementBy,\n packageManagerConfigRootDir,\n dependencyResolver,\n copyLogFromPreviousSnap = false,\n exitOnFirstFailedTask = false,\n}: {\n workspace?: Workspace;\n scope: ScopeMain;\n snapping: SnappingMain;\n builder: BuilderMain;\n consumerComponents: ConsumerComponent[];\n ids: BitIds;\n tagDataPerComp?: TagDataPerComp[];\n populateArtifactsFrom?: ComponentID[];\n copyLogFromPreviousSnap?: boolean;\n exactVersion?: string | null | undefined;\n releaseType?: ReleaseType;\n incrementBy?: number;\n isSnap?: boolean;\n packageManagerConfigRootDir?: string;\n dependencyResolver: DependencyResolverMain;\n exitOnFirstFailedTask?: boolean;\n} & BasicTagParams): Promise<{\n taggedComponents: ConsumerComponent[];\n autoTaggedResults: AutoTagResult[];\n publishedPackages: string[];\n stagedConfig?: StagedConfig;\n removedComponents?: BitIds;\n}> {\n const consumer = workspace?.consumer;\n const legacyScope = scope.legacyScope;\n const consumerComponentsIdsMap = {};\n // Concat and unique all the dependencies from all the components so we will not import\n // the same dependency more then once, it's mainly for performance purpose\n consumerComponents.forEach((consumerComponent) => {\n const componentIdString = consumerComponent.id.toString();\n // Store it in a map so we can take it easily from the sorted array which contain only the id\n consumerComponentsIdsMap[componentIdString] = consumerComponent;\n });\n const componentsToTag: ConsumerComponent[] = R.values(consumerComponentsIdsMap); // consumerComponents unique\n const idsToTag = BitIds.fromArray(componentsToTag.map((c) => c.id));\n // ids without versions are new. it's impossible that tagged (and not-modified) components has\n // them as dependencies.\n const idsToTriggerAutoTag = idsToTag.filter((id) => id.hasVersion());\n const autoTagData =\n skipAutoTag || !consumer ? [] : await getAutoTagInfo(consumer, BitIds.fromArray(idsToTriggerAutoTag));\n const autoTagComponents = autoTagData.map((autoTagItem) => autoTagItem.component);\n const autoTagComponentsFiltered = autoTagComponents.filter((c) => !idsToTag.has(c.id));\n const autoTagIds = BitIds.fromArray(autoTagComponentsFiltered.map((autoTag) => autoTag.id));\n const allComponentsToTag = [...componentsToTag, ...autoTagComponentsFiltered];\n\n const messagesFromEditorFetcher = new MessagePerComponentFetcher(idsToTag, autoTagIds);\n const getMessagePerId = async () => {\n if (editor) return messagesFromEditorFetcher.getMessagesFromEditor(legacyScope.tmp, editor);\n if (tagDataPerComp) return tagDataPerComp.map((t) => ({ id: t.componentId._legacy, msg: t.message || message }));\n return [];\n };\n const messagePerId = await getMessagePerId();\n\n // check for each one of the components whether it is using an old version\n if (!ignoreNewestVersion && !isSnap) {\n const newestVersionsP = allComponentsToTag.map(async (component) => {\n if (component.componentFromModel) {\n // otherwise it's a new component, so this check is irrelevant\n const modelComponent = await legacyScope.getModelComponentIfExist(component.id);\n if (!modelComponent) throw new ShowDoctorError(`component ${component.id} was not found in the model`);\n if (!modelComponent.listVersions().length) return null; // no versions yet, no issues.\n const latest = modelComponent.getHeadRegardlessOfLaneAsTagOrHash();\n if (latest !== component.version) {\n return {\n componentId: component.id.toStringWithoutVersion(),\n currentVersion: component.version,\n latestVersion: latest,\n };\n }\n }\n return null;\n });\n const newestVersions = await Promise.all(newestVersionsP);\n const newestVersionsWithoutEmpty = newestVersions.filter((newest) => newest);\n if (!isEmpty(newestVersionsWithoutEmpty)) {\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n throw new NewerVersionFound(newestVersionsWithoutEmpty);\n }\n }\n\n logger.debugAndAddBreadCrumb('tag-model-components', 'sequentially persist all components');\n // go through all components and find the future versions for them\n isSnap\n ? setHashes(allComponentsToTag)\n : await setFutureVersions(\n allComponentsToTag,\n legacyScope,\n releaseType,\n exactVersion,\n persist,\n autoTagIds,\n ids,\n incrementBy,\n preReleaseId,\n soft,\n tagDataPerComp\n );\n setCurrentSchema(allComponentsToTag);\n // go through all dependencies and update their versions\n updateDependenciesVersions(allComponentsToTag, dependencyResolver);\n\n await addLogToComponents(componentsToTag, autoTagComponents, persist, message, messagePerId, copyLogFromPreviousSnap);\n // don't move it down. otherwise, it'll be empty and we don't know which components were during merge.\n const unmergedComps = workspace ? await workspace.listComponentsDuringMerge() : [];\n let stagedConfig;\n if (soft) {\n if (!consumer) throw new Error(`unable to soft-tag without consumer`);\n consumer.updateNextVersionOnBitmap(allComponentsToTag, preReleaseId);\n } else {\n await snapping._addFlattenedDependenciesToComponents(allComponentsToTag);\n await snapping.throwForDepsFromAnotherLane(allComponentsToTag);\n emptyBuilderData(allComponentsToTag);\n addBuildStatus(allComponentsToTag, BuildStatus.Pending);\n await addComponentsToScope(legacyScope, snapping, allComponentsToTag, Boolean(build), consumer);\n\n if (workspace) {\n const modelComponents = await Promise.all(\n allComponentsToTag.map((c) => {\n return c.modelComponent || legacyScope.getModelComponent(c.id);\n })\n );\n stagedConfig = await updateComponentsVersions(workspace, modelComponents);\n }\n }\n\n const publishedPackages: string[] = [];\n let harmonyComps: Component[] = [];\n if (build) {\n const onTagOpts: OnTagOpts = {\n disableTagAndSnapPipelines,\n throwOnError: true,\n forceDeploy: ignoreBuildErrors,\n isSnap,\n populateArtifactsFrom,\n };\n const seedersOnly = !workspace; // if tag from scope, build only the given components\n const isolateOptions = { packageManagerConfigRootDir, seedersOnly };\n const builderOptions = { exitOnFirstFailedTask, skipTests };\n\n const componentsToBuild = allComponentsToTag.filter((c) => !c.isRemoved());\n if (componentsToBuild.length) {\n await scope.reloadAspectsWithNewVersion(componentsToBuild);\n harmonyComps = await (workspace || scope).getManyByLegacy(componentsToBuild);\n const { builderDataMap } = await builder.tagListener(harmonyComps, onTagOpts, isolateOptions, builderOptions);\n const buildResult = scope.builderDataMapToLegacyOnTagResults(builderDataMap);\n\n snapping._updateComponentsByTagResult(componentsToBuild, buildResult);\n publishedPackages.push(...snapping._getPublishedPackages(componentsToBuild));\n addBuildStatus(componentsToBuild, BuildStatus.Succeed);\n await mapSeries(componentsToBuild, (consumerComponent) => snapping._enrichComp(consumerComponent));\n }\n }\n\n let removedComponents: BitIds | undefined;\n if (!soft) {\n removedComponents = await removeDeletedComponentsFromBitmap(allComponentsToTag, workspace);\n await legacyScope.objects.persist();\n await removeMergeConfigFromComponents(unmergedComps, allComponentsToTag, workspace);\n if (workspace) {\n await linkToNodeModulesByComponents(\n harmonyComps.length ? harmonyComps : await workspace.scope.getManyByLegacy(allComponentsToTag),\n workspace\n );\n }\n }\n\n return {\n taggedComponents: componentsToTag,\n autoTaggedResults: autoTagData,\n publishedPackages,\n stagedConfig,\n removedComponents,\n };\n}\n\nasync function removeDeletedComponentsFromBitmap(\n comps: ConsumerComponent[],\n workspace?: Workspace\n): Promise<BitIds | undefined> {\n if (!workspace) {\n return undefined;\n }\n const removedComps = comps.filter((comp) => comp.isRemoved());\n if (!removedComps.length) return undefined;\n const compBitIdsToRemove = BitIds.fromArray(removedComps.map((c) => c.id));\n await deleteComponentsFiles(workspace.consumer, compBitIdsToRemove);\n await workspace.consumer.cleanFromBitMap(compBitIdsToRemove);\n\n return compBitIdsToRemove;\n}\n\nasync function removeMergeConfigFromComponents(\n unmergedComps: ComponentID[],\n components: ConsumerComponent[],\n workspace?: Workspace\n) {\n if (!workspace || !unmergedComps.length) {\n return;\n }\n const configMergeFile = workspace.getConflictMergeFile();\n\n unmergedComps.forEach((compId) => {\n const isNowSnapped = components.find((c) => c.id.isEqualWithoutVersion(compId._legacy));\n if (isNowSnapped) {\n configMergeFile.removeConflict(compId.toStringWithoutVersion());\n }\n });\n if (configMergeFile.hasConflict()) {\n await configMergeFile.write();\n } else {\n await configMergeFile.delete();\n }\n}\n\nasync function addComponentsToScope(\n scope: Scope,\n snapping: SnappingMain,\n components: ConsumerComponent[],\n shouldValidateVersion: boolean,\n consumer?: Consumer\n) {\n const lane = await scope.getCurrentLaneObject();\n if (consumer) {\n await mapSeries(components, async (component) => {\n await snapping._addCompToObjects({\n source: component,\n consumer,\n lane,\n shouldValidateVersion,\n });\n });\n } else {\n await mapSeries(components, async (component) => {\n await snapping._addCompFromScopeToObjects(component, lane);\n });\n }\n}\n\nfunction emptyBuilderData(components: ConsumerComponent[]) {\n components.forEach((component) => {\n component.extensions = component.extensions.clone();\n const existingBuilder = component.extensions.findCoreExtension(Extensions.builder);\n if (existingBuilder) existingBuilder.data = {};\n });\n}\n\nasync function addLogToComponents(\n components: ConsumerComponent[],\n autoTagComps: ConsumerComponent[],\n persist: boolean,\n message: string,\n messagePerComponent: MessagePerComponent[],\n copyLogFromPreviousSnap = false\n) {\n // @ts-ignore this happens when running `bit tag -m \"\"`.\n if (message === true) {\n message = '';\n }\n const basicLog = await getBasicLog();\n const getLog = (component: ConsumerComponent): Log => {\n const nextVersion = persist ? component.componentMap?.nextVersion : null;\n const msgFromEditor = messagePerComponent.find((item) => item.id.isEqualWithoutVersion(component.id))?.msg;\n if (copyLogFromPreviousSnap) {\n const currentLog = component.log;\n if (!currentLog) {\n throw new Error(\n `addLogToComponents is set copyLogFromPreviousSnap: true, but it is unable to find log in the previous snap`\n );\n }\n currentLog.message = msgFromEditor || message || currentLog.message;\n currentLog.date = basicLog.date;\n return currentLog;\n }\n\n return {\n username: nextVersion?.username || basicLog.username,\n email: nextVersion?.email || basicLog.email,\n message: nextVersion?.message || msgFromEditor || message,\n date: basicLog.date,\n };\n };\n\n components.forEach((component) => {\n component.log = getLog(component);\n });\n autoTagComps.forEach((autoTagComp) => {\n autoTagComp.log = getLog(autoTagComp);\n const defaultMsg = 'bump dependencies versions';\n if (message) {\n autoTagComp.log.message += ` (${defaultMsg})`;\n } else if (!autoTagComp.log.message) {\n autoTagComp.log.message = defaultMsg;\n }\n });\n}\n\nexport async function getBasicLog(): Promise<Log> {\n const username = (await getBitCloudUsername()) || (await globalConfig.get(CFG_USER_NAME_KEY));\n const email = await globalConfig.get(CFG_USER_EMAIL_KEY);\n return {\n username,\n email,\n message: '',\n date: Date.now().toString(),\n };\n}\n\nexport async function getBitCloudUsername(): Promise<string | undefined> {\n const token = await globalConfig.get(CFG_USER_TOKEN_KEY);\n if (!token) return '';\n try {\n const res = await fetch(`https://api.${getCloudDomain()}/user`, {\n headers: {\n Authorization: `Bearer ${token}`,\n 'Content-Type': 'application/json',\n },\n });\n const object = await res.json();\n const user = object.payload;\n const username = user.username;\n return username;\n } catch (error) {\n return undefined;\n }\n}\n\nexport type BitCloudUser = {\n username?: string;\n name?: string;\n displayName?: string;\n profileImage?: string;\n};\n\nexport async function getBitCloudUser(): Promise<BitCloudUser | undefined> {\n const token = await globalConfig.get(CFG_USER_TOKEN_KEY);\n if (!token) return undefined;\n\n try {\n const res = await fetch(`https://api.${getCloudDomain()}/user`, {\n headers: {\n Authorization: `Bearer ${token}`,\n 'Content-Type': 'application/json',\n },\n });\n const object = await res.json();\n const user = object.payload;\n\n return {\n ...user,\n };\n } catch (error) {\n return undefined;\n }\n}\n\nfunction setCurrentSchema(components: ConsumerComponent[]) {\n components.forEach((component) => {\n component.schema = CURRENT_SCHEMA;\n });\n}\n\nfunction addBuildStatus(components: ConsumerComponent[], buildStatus: BuildStatus) {\n components.forEach((component) => {\n component.buildStatus = buildStatus;\n });\n}\n\nexport async function updateComponentsVersions(\n workspace: Workspace,\n components: Array<ModelComponent>,\n isTag = true\n): Promise<StagedConfig> {\n const consumer = workspace.consumer;\n const currentLane = consumer.getCurrentLaneId();\n const stagedConfig = await workspace.scope.getStagedConfig();\n const isAvailableOnMain = async (component: ModelComponent | ConsumerComponent, id: BitId): Promise<boolean> => {\n if (currentLane.isDefault()) {\n return true;\n }\n if (!id.hasVersion()) {\n // component was unsnapped on the current lane and is back to a new component\n return true;\n }\n const modelComponent =\n component instanceof ModelComponent ? component : await consumer.scope.getModelComponent(component.id);\n return modelComponent.hasHead();\n };\n\n const updateVersions = async (modelComponent: ModelComponent) => {\n const id: BitId = modelComponent.toBitIdWithLatestVersionAllowNull();\n consumer.bitMap.updateComponentId(id);\n const availableOnMain = await isAvailableOnMain(modelComponent, id);\n if (!availableOnMain) {\n consumer.bitMap.setOnLanesOnly(id, true);\n }\n const componentMap = consumer.bitMap.getComponent(id);\n const compId = await workspace.resolveComponentId(id);\n // it can be either a tag/snap or reset.\n if (isTag) {\n const config = componentMap.config;\n stagedConfig.addComponentConfig(compId, config);\n consumer.bitMap.removeConfig(id);\n const hash = modelComponent.getRef(id.version as string);\n if (!hash) throw new Error(`updateComponentsVersions: unable to find a hash for ${id.toString()}`);\n workspace.scope.legacyScope.stagedSnaps.addSnap(hash?.toString());\n } else if (!componentMap.config) {\n componentMap.config = stagedConfig.getConfigPerId(compId);\n }\n componentMap.clearNextVersion();\n };\n // important! DO NOT use Promise.all here! otherwise, you're gonna enter into a whole world of pain.\n // imagine tagging comp1 with auto-tagged comp2, comp1 package.json is written while comp2 is\n // trying to get the dependencies of comp1 using its package.json.\n await mapSeries(components, updateVersions);\n await workspace.scope.legacyScope.stagedSnaps.write();\n\n return stagedConfig;\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/snapping",
3
- "version": "0.0.447",
3
+ "version": "0.0.449",
4
4
  "homepage": "https://bit.cloud/teambit/component/snapping",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.component",
8
8
  "name": "snapping",
9
- "version": "0.0.447"
9
+ "version": "0.0.449"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "2.4.2",
@@ -24,21 +24,21 @@
24
24
  "@teambit/component-id": "0.0.427",
25
25
  "@teambit/graph.cleargraph": "0.0.1",
26
26
  "@teambit/bit-error": "0.0.402",
27
- "@teambit/issues": "0.0.440",
28
- "@teambit/cli": "0.0.758",
27
+ "@teambit/issues": "0.0.442",
28
+ "@teambit/cli": "0.0.760",
29
29
  "@teambit/component-issues": "0.0.95",
30
- "@teambit/logger": "0.0.851",
31
- "@teambit/builder": "0.0.1132",
30
+ "@teambit/logger": "0.0.853",
31
+ "@teambit/builder": "0.0.1134",
32
32
  "@teambit/component-version": "1.0.0",
33
- "@teambit/component": "0.0.1132",
34
- "@teambit/dependency-resolver": "0.0.1132",
35
- "@teambit/export": "0.0.1132",
36
- "@teambit/importer": "0.0.561",
37
- "@teambit/insights": "0.0.1132",
38
- "@teambit/lane-id": "0.0.273",
39
- "@teambit/scope": "0.0.1132",
40
- "@teambit/workspace": "0.0.1132",
41
- "@teambit/workspace.modules.node-modules-linker": "0.0.100"
33
+ "@teambit/component": "0.0.1134",
34
+ "@teambit/dependency-resolver": "0.0.1134",
35
+ "@teambit/export": "0.0.1134",
36
+ "@teambit/importer": "0.0.563",
37
+ "@teambit/insights": "0.0.1134",
38
+ "@teambit/lane-id": "0.0.275",
39
+ "@teambit/scope": "0.0.1134",
40
+ "@teambit/workspace": "0.0.1134",
41
+ "@teambit/workspace.modules.node-modules-linker": "0.0.102"
42
42
  },
43
43
  "devDependencies": {
44
44
  "@types/lodash": "4.14.165",
@@ -53,13 +53,13 @@
53
53
  "@types/react-dom": "^17.0.5",
54
54
  "@types/jest": "^26.0.0",
55
55
  "@types/testing-library__jest-dom": "5.9.5",
56
- "@teambit/compiler": "0.0.1132",
57
- "@teambit/component.testing.mock-components": "0.0.120",
58
- "@teambit/harmony.testing.load-aspect": "0.0.119",
56
+ "@teambit/compiler": "0.0.1134",
57
+ "@teambit/component.testing.mock-components": "0.0.122",
58
+ "@teambit/harmony.testing.load-aspect": "0.0.121",
59
59
  "@teambit/workspace.testing.mock-workspace": "0.0.14"
60
60
  },
61
61
  "peerDependencies": {
62
- "@teambit/legacy": "1.0.541",
62
+ "@teambit/legacy": "1.0.544",
63
63
  "react": "^16.8.0 || ^17.0.0",
64
64
  "react-dom": "^16.8.0 || ^17.0.0"
65
65
  },