@teambit/snapping 1.0.13 → 1.0.15
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/snap-cmd.js +1 -1
- package/dist/snap-cmd.js.map +1 -1
- package/dist/snapping.main.runtime.js +1 -1
- package/dist/snapping.main.runtime.js.map +1 -1
- package/dist/tag-cmd.js +9 -1
- package/dist/tag-cmd.js.map +1 -1
- package/dist/tag-from-scope.cmd.js +1 -1
- package/dist/tag-from-scope.cmd.js.map +1 -1
- package/package.json +20 -20
- /package/dist/{preview-1696183042534.js → preview-1696331786092.js} +0 -0
package/dist/snap-cmd.js
CHANGED
|
@@ -127,7 +127,7 @@ to ignore multiple issues, separate them by a comma and wrap with quotes. to ign
|
|
|
127
127
|
const outputComponents = comps => {
|
|
128
128
|
return comps.map(component => {
|
|
129
129
|
let componentOutput = ` > ${compInBold(component.id)}`;
|
|
130
|
-
const autoTag = autoSnappedResults.filter(result => result.triggeredBy.
|
|
130
|
+
const autoTag = autoSnappedResults.filter(result => result.triggeredBy.searchWithoutVersion(component.id));
|
|
131
131
|
if (autoTag.length) {
|
|
132
132
|
const autoTagComp = autoTag.map(a => compInBold(a.component.id));
|
|
133
133
|
componentOutput += `\n ${_constants().AUTO_SNAPPED_MSG} (${autoTagComp.length} total):
|
package/dist/snap-cmd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_chalk","data","_interopRequireDefault","require","_componentIssues","_constants","_tagCmd","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","SnapCmd","constructor","snapping","logger","globalConfig","name","description","COMPONENT_PATTERN_HELP","keys","IssuesClasses","join","report","pattern","message","all","force","unmerged","editor","ignoreIssues","build","skipTests","skipAutoSnap","disableSnapPipeline","forceDeploy","ignoreBuildErrors","unmodified","failFast","getBool","CFG_FORCE_LOCAL_BUILD","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 { GlobalConfigMain } from '@teambit/global-config';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport {\n NOTHING_TO_SNAP_MSG,\n AUTO_SNAPPED_MSG,\n COMPONENT_PATTERN_HELP,\n CFG_FORCE_LOCAL_BUILD,\n} 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 = 'reference/components/snaps';\n alias = '';\n options = [\n ['m', 'message <message>', 'snap message describing the latest changes - will appear in component history log'],\n ['u', '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', 'locally run the build pipeline (i.e. not via rippleCI) and complete the snap'],\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, private globalConfig: GlobalConfigMain) {}\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 = (await this.globalConfig.getBool(CFG_FORCE_LOCAL_BUILD)) || Boolean(build);\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((component) => {\n return (\n !newComponents.searchWithoutVersion(component.id) && !removedComponents?.searchWithoutVersion(component.id)\n );\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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"}
|
|
1
|
+
{"version":3,"names":["_chalk","data","_interopRequireDefault","require","_componentIssues","_constants","_tagCmd","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","SnapCmd","constructor","snapping","logger","globalConfig","name","description","COMPONENT_PATTERN_HELP","keys","IssuesClasses","join","report","pattern","message","all","force","unmerged","editor","ignoreIssues","build","skipTests","skipAutoSnap","disableSnapPipeline","forceDeploy","ignoreBuildErrors","unmodified","failFast","getBool","CFG_FORCE_LOCAL_BUILD","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","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 { GlobalConfigMain } from '@teambit/global-config';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport {\n NOTHING_TO_SNAP_MSG,\n AUTO_SNAPPED_MSG,\n COMPONENT_PATTERN_HELP,\n CFG_FORCE_LOCAL_BUILD,\n} 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 = 'reference/components/snaps';\n alias = '';\n options = [\n ['m', 'message <message>', 'snap message describing the latest changes - will appear in component history log'],\n ['u', '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', 'locally run the build pipeline (i.e. not via rippleCI) and complete the snap'],\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, private globalConfig: GlobalConfigMain) {}\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 = (await this.globalConfig.getBool(CFG_FORCE_LOCAL_BUILD)) || Boolean(build);\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((component) => {\n return (\n !newComponents.searchWithoutVersion(component.id) && !removedComponents?.searchWithoutVersion(component.id)\n );\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) => result.triggeredBy.searchWithoutVersion(component.id));\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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"}
|
|
@@ -760,7 +760,7 @@ there are matching among unmodified components thought. consider using --unmodif
|
|
|
760
760
|
return (0, _lodash().compact)(idsToRemoveSoftTags.map(componentId => {
|
|
761
761
|
var _componentMap$nextVer;
|
|
762
762
|
const componentMap = consumer.bitMap.getComponent(componentId._legacy, {
|
|
763
|
-
|
|
763
|
+
ignoreVersion: true
|
|
764
764
|
});
|
|
765
765
|
const removedVersion = (_componentMap$nextVer = componentMap.nextVersion) === null || _componentMap$nextVer === void 0 ? void 0 : _componentMap$nextVer.version;
|
|
766
766
|
if (!removedVersion) return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_cli","data","require","_graph","_getFlattenedDependencies","_workspace","_interopRequireWildcard","_ramda","_interopRequireDefault","_semver","_lodash","_analytics","_bitId","_constants","_componentsList","_hooks","_pMapSeries","_hasWildcard","_semverHelper","_loader","_componentsPendingImport","_logger","_bitError","_pMap","_insights","_concurrency","_untagComponent","_scope","_issues","_dependencyResolver","_config","_builder","_laneId","_importer","_export","_unmergedComponents","_componentVersion","_objects","_globalConfig","_artifactFiles","_exceptions","_snapCmd","_snapping","_tagCmd","_componentsHaveIssues","_resetCmd","_tagModelComponent","_tagFromScope","_snapFromScope","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","e","r","t","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","HooksManagerInstance","HooksManager","getInstance","SnappingMain","constructor","workspace","logger","issues","insights","dependencyResolver","scope","exporter","builder","importer","_this$scope","objectsRepo","legacyScope","objects","tag","ids","message","version","editor","snapped","unmerged","releaseType","preReleaseId","ignoreIssues","ignoreNewestVersion","skipTests","skipAutoTag","build","unmodified","soft","persist","ignoreBuildErrors","incrementBy","disableTagAndSnapPipelines","failFast","BitError","exactVersion","OutsideWorkspaceError","idsHasWildcard","hasWildcard","isAll","Boolean","validExactVersion","validateVersion","consumer","componentsList","ComponentsList","loader","start","newComponents","listNewComponents","bitIds","warnings","getComponentsToTag","R","isEmpty","legacyBitIds","BitIds","fromArray","debug","toString","components","loadComponentsForTagOrSnap","consumerComponents","map","c","state","_consumer","throwForVariousIssues","taggedComponents","autoTaggedResults","publishedPackages","stagedConfig","removedComponents","tagModelComponent","snapping","packageManagerConfigRootDir","path","exitOnFirstFailedTask","tagResults","isSoftTag","postHook","POST_TAG_ALL_HOOK","POST_TAG_HOOK","triggerHook","Analytics","setExtraData","concat","onDestroy","write","tagFromScope","tagDataPerCompRaw","params","tagDataPerComp","Promise","all","tagData","componentId","resolveComponentId","dependencies","resolveMultipleComponentIds","versionToTag","prereleaseId","componentIds","import","preferDependencyGraph","reason","deps","compact","flat","dep","changeVersion","LATEST","additionalComponentIdsToFetch","id","_modelComp$getRef","hasVersion","modelComp","getBitObjectModelComponent","Error","head","getRef","isEqual","useCache","d","getCompIdWithExactVersionAccordingToSemver","_legacy","getMany","comp","find","ignoreVersion","updateDependenciesVersionsOfComponent","loadManyCompsAspects","shouldUsePopulateArtifactsFrom","every","buildStatus","BuildStatus","Succeed","legacyIds","results","populateArtifactsFrom","copyLogFromPreviousSnap","exportMany","idsWithFutureScope","allVersions","exportOrigin","snapFromScope","snapDataPerCompRaw","snapDataPerComp","snapData","aspects","componentIdsLatest","lane","laneIdStr","laneId","LaneId","parse","importLaneObject","setCurrentLaneId","scopeImporter","shouldOnlyFetchFromCurrentLane","addAspectsFromConfigObject","isSnap","exportedIds","updatedLane","loadLane","toLaneId","exported","laneObject","exportHeadsOnly","snappedIds","snap","pattern","skipAutoSnap","getIdsToSnap","snapResults","snappedComponents","autoSnappedResults","currentLane","getCurrentLaneId","laneName","isDefault","listDuringMergeStateComponents","tagPendingComponents","listPotentialTagAllWorkspace","listTagPendingComponents","tagPendingComponentsIds","shouldThrowForNoMatching","getCompIds","includes","compId","filterIdsFromPoolIdsByPattern","allTagPending","reset","componentPattern","force","getCurrentLaneObject","untag","removeLocalVersionsForAllComponents","candidateComponents","getComponentsWithOptionToUntag","idsMatchingPattern","idsByPattern","idsMatchingPatternBitIds","componentsToUntag","modelComponent","hasWithoutVersion","toBitId","removeLocalVersionsForMultipleComponents","softUntag","softTaggedComponents","listSoftTaggedComponents","softTaggedComponentsIds","idsToRemoveSoftTags","_componentMap$nextVer","componentMap","bitMap","getComponent","ignoreScopeAndVersion","removedVersion","nextVersion","clearNextVersion","versions","isRealUntag","result","component","updateComponentsVersions","markAsChanged","isSoftUntag","_addFlattenedDependenciesToComponents","getLane","isNew","forkedFrom","flattenedDependenciesGetter","FlattenedDependenciesGetter","populateFlattenedDependencies","stop","_addFlattenedDepsGraphToComponents","throwForDepsFromAnotherLane","allIds","missingDeps","pMapSeries","throwForDepsFromAnotherLaneForComp","flattenedMissingDeps","uniqFromArray","importWithoutDeps","ignoreMissingHead","includeVersionHistory","componentsToCheck","isDeleted","throwForLegacyDependenciesInsideHarmony","throwForComponentIssues","throwForPendingImport","throwForMissingObjects","getAllDependencies","hasScope","isTag","isPartOfHistory","isPartOfLaneHistory","isPartOfMainHistory","err","VersionNotFound","laneOrMainStr","name","toStringWithoutVersion","graph","Graph","addEdges","label","setNode","Node","setEdge","Edge","devDependencies","extensionDependencies","allFlattened","flattenedDependencies","allFlattenedUniq","allFlattenedWithoutCurrent","componentsAndVersions","getComponentsAndVersions","versionStr","someCompsHaveMissingFlattened","edges","outEdges","flattenedEdges","allEdges","edgesWithBitIds","edge","source","node","attr","target","type","flattened","flattenedFromEdges","uniq","missingFlattened","difference","warn","join","missingBitIds","_updateComponentsByTagResult","tagResult","matchingComponent","existingBuilder","extensions","findCoreExtension","Extensions","builderData","_getPublishedPackages","_builderExt$data","_pkgData$data","builderExt","pkgData","aspectsData","a","aspectId","pkg","publishedPackage","_addCompToObjects","shouldValidateVersion","_addCompFromScopeToObjects","unmergedComponent","unmergedComponents","getEntry","unrelated","hash","previouslyUsedVersion","unrelatedHead","Ref","from","setUnrelated","addAsOnlyParent","unrelatedLaneId","headOnCurrentLane","addParent","log","UnmergedComponents","buildSnapMessage","removeComponent","validate","objectRepo","sources","findOrAddComponent","artifactFiles","getArtifactsFiles","artifacts","transformArtifactsFromVinylToSource","files","consumerComponentToVersion","origin","defaultScope","add","addVersion","file","_enrichComp","consumerComponent","modifiedLog","_getObjectsToEnrichComp","loadVersion","addModifiedLog","artifactObjects","artifactsFiles","artifactsSource","ArtifactFiles","fromVinylsToSources","vinyls","populateRefsFromSources","shouldClearCacheFirst","compIds","componentFsCache","deleteAllDependenciesDataCache","clearComponentCache","issuesToIgnoreFromFlag","split","issue","trim","issuesToIgnoreFromConfig","getIssuesToIgnoreGlobally","issuesToIgnore","triggerAddComponentIssues","removeIgnoredIssuesFromComponents","legacyComponents","componentsWithBlockingIssues","_component$issues","shouldBlockTagging","ComponentsHaveIssues","workspaceIssues","getWorkspaceIssues","issuesStr","issueErr","componentsMissingFromScope","componentFromModel","ComponentsPendingImport","throwForComponent","dependenciesIds","getAllDependenciesIds","depId","getModelComponentIfExist","isLegacy","pMap","concurrency","concurrentComponentsLimit","isHash","range","getExactVersionBySemverRange","currentBitIds","depsBitIds","updatedIds","componentIdStr","legacyComponent","dependenciesList","getDependencies","updatedBitId","searchWithoutVersion","_dependenciesList$fin","_dependenciesList$fin2","depIdStr","packageName","findDependency","getPackageName","ext","extensionId","createAspectListFromExtensionDataList","dependenciesListSerialized","extractDepsFromLegacy","serialize","extId","DependencyResolverAspect","existingExtension","findExtension","assign","extension","ExtensionDataEntry","includeUnmodified","tagPendingBitIds","listSnappedComponentsOnMain","snappedComponentsIds","idWithoutVer","idHasWildcard","componentStatus","getComponentStatusById","modified","bitId","tagPendingBitIdsIncludeSnapped","tagPendingComponentsLatest","latestVersions","semver","valid","gt","provider","cli","loggerMain","globalConfig","createLogger","SnappingAspect","snapCmd","SnapCmd","tagCmd","TagCmd","tagFromScopeCmd","TagFromScopeCmd","snapFromScopeCmd","SnapFromScopeCmd","resetCmd","ResetCmd","register","exports","WorkspaceAspect","CLIAspect","LoggerAspect","IssuesAspect","InsightsAspect","ScopeAspect","ExportAspect","BuilderAspect","ImporterAspect","GlobalConfigAspect","MainRuntime","addRuntime","_default"],"sources":["snapping.main.runtime.ts"],"sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { Graph, Node, Edge } from '@teambit/graph.cleargraph';\nimport { LegacyOnTagResult } from '@teambit/legacy/dist/scope/scope';\nimport { FlattenedDependenciesGetter } from '@teambit/legacy/dist/scope/component-ops/get-flattened-dependencies';\nimport WorkspaceAspect, { OutsideWorkspaceError, Workspace } from '@teambit/workspace';\nimport R from 'ramda';\nimport semver, { ReleaseType } from 'semver';\nimport { compact, difference, uniq } from 'lodash';\nimport { Analytics } from '@teambit/legacy/dist/analytics/analytics';\nimport { BitId, BitIds } from '@teambit/legacy/dist/bit-id';\nimport { POST_TAG_ALL_HOOK, POST_TAG_HOOK, Extensions, LATEST, BuildStatus } from '@teambit/legacy/dist/constants';\nimport { Consumer } from '@teambit/legacy/dist/consumer';\nimport ComponentsList from '@teambit/legacy/dist/consumer/component/components-list';\nimport HooksManager from '@teambit/legacy/dist/hooks';\nimport pMapSeries from 'p-map-series';\nimport hasWildcard from '@teambit/legacy/dist/utils/string/has-wildcard';\nimport { validateVersion } from '@teambit/legacy/dist/utils/semver-helper';\nimport loader from '@teambit/legacy/dist/cli/loader';\nimport ComponentsPendingImport from '@teambit/legacy/dist/consumer/component-ops/exceptions/components-pending-import';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { BitError } from '@teambit/bit-error';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component/consumer-component';\nimport pMap from 'p-map';\nimport { InsightsAspect, InsightsMain } from '@teambit/insights';\nimport { concurrentComponentsLimit } from '@teambit/legacy/dist/utils/concurrency';\nimport {\n removeLocalVersionsForAllComponents,\n untagResult,\n getComponentsWithOptionToUntag,\n removeLocalVersionsForMultipleComponents,\n} from '@teambit/legacy/dist/scope/component-ops/untag-component';\nimport { ScopeAspect, ScopeMain } from '@teambit/scope';\nimport { Lane, ModelComponent } from '@teambit/legacy/dist/scope/models';\nimport IssuesAspect, { IssuesMain } from '@teambit/issues';\nimport { Component } from '@teambit/component';\nimport { DependencyResolverAspect, DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { ExtensionDataEntry } from '@teambit/legacy/dist/consumer/config';\nimport { BuilderAspect, BuilderMain } from '@teambit/builder';\nimport { LaneId } from '@teambit/lane-id';\nimport ImporterAspect, { ImporterMain } from '@teambit/importer';\nimport { ExportAspect, ExportMain } from '@teambit/export';\nimport UnmergedComponents from '@teambit/legacy/dist/scope/lanes/unmerged-components';\nimport { ComponentID } from '@teambit/component-id';\nimport { isHash, isTag } from '@teambit/component-version';\nimport { BitObject, Ref, Repository } from '@teambit/legacy/dist/scope/objects';\nimport GlobalConfigAspect, { GlobalConfigMain } from '@teambit/global-config';\nimport {\n ArtifactFiles,\n ArtifactSource,\n getArtifactsFiles,\n} from '@teambit/legacy/dist/consumer/component/sources/artifact-files';\nimport { VersionNotFound } from '@teambit/legacy/dist/scope/exceptions';\nimport { AutoTagResult } from '@teambit/legacy/dist/scope/component-ops/auto-tag';\nimport Version, { DepEdge, DepEdgeType, Log } from '@teambit/legacy/dist/scope/models/version';\nimport { SnapCmd } from './snap-cmd';\nimport { SnappingAspect } from './snapping.aspect';\nimport { TagCmd } from './tag-cmd';\nimport { ComponentsHaveIssues } from './components-have-issues';\nimport ResetCmd from './reset-cmd';\nimport { tagModelComponent, updateComponentsVersions, BasicTagParams } from './tag-model-component';\nimport { TagDataPerCompRaw, TagFromScopeCmd } from './tag-from-scope.cmd';\nimport { SnapDataPerCompRaw, SnapFromScopeCmd } from './snap-from-scope.cmd';\n\nconst HooksManagerInstance = HooksManager.getInstance();\n\nexport type TagDataPerComp = {\n componentId: ComponentID;\n dependencies: ComponentID[];\n versionToTag?: string; // must be set for tag. undefined for snap.\n prereleaseId?: string;\n message?: string;\n};\n\nexport type SnapResults = BasicTagResults & {\n snappedComponents: ConsumerComponent[];\n autoSnappedResults: AutoTagResult[];\n laneName: string | null; // null if default\n};\n\nexport type SnapFromScopeResults = {\n snappedIds: string[];\n exportedIds?: string[];\n};\n\nexport type TagResults = BasicTagResults & {\n taggedComponents: ConsumerComponent[];\n autoTaggedResults: AutoTagResult[];\n isSoftTag: boolean;\n publishedPackages: string[];\n};\n\nexport type BasicTagResults = {\n warnings: string[];\n newComponents: BitIds;\n removedComponents?: BitIds;\n};\n\nexport class SnappingMain {\n private objectsRepo: Repository;\n constructor(\n private workspace: Workspace,\n private logger: Logger,\n private issues: IssuesMain,\n private insights: InsightsMain,\n private dependencyResolver: DependencyResolverMain,\n private scope: ScopeMain,\n private exporter: ExportMain,\n private builder: BuilderMain,\n private importer: ImporterMain\n ) {\n this.objectsRepo = this.scope?.legacyScope?.objects;\n }\n\n /**\n * tag the given component ids or all modified/new components if \"all\" param is set.\n * tag is a similar operation as a snap, which saves the changes into the local scope, but it also creates an alias\n * with a valid semver to that version.\n * tag can be done only on main, not on a lane.\n */\n // eslint-disable-next-line complexity\n async tag({\n ids = [],\n message = '',\n version,\n editor = '',\n snapped = false,\n unmerged = false,\n releaseType,\n preReleaseId,\n ignoreIssues,\n ignoreNewestVersion = false,\n skipTests = false,\n skipAutoTag = false,\n build,\n unmodified = false,\n soft = false,\n persist = false,\n ignoreBuildErrors = false,\n incrementBy = 1,\n disableTagAndSnapPipelines = false,\n failFast = false,\n }: {\n ids?: string[];\n all?: boolean | string;\n snapped?: boolean;\n unmerged?: boolean;\n version?: string;\n releaseType?: ReleaseType;\n ignoreIssues?: string;\n scope?: string | boolean;\n incrementBy?: number;\n failFast?: boolean;\n } & Partial<BasicTagParams>): Promise<TagResults | null> {\n if (soft) build = false;\n if (editor && persist) {\n throw new BitError('you can use either --editor or --persist, but not both');\n }\n if (editor && message) {\n throw new BitError('you can use either --editor or --message, but not both');\n }\n\n const exactVersion = version;\n if (!this.workspace) throw new OutsideWorkspaceError();\n const idsHasWildcard = hasWildcard(ids);\n const isAll = Boolean(!ids.length || idsHasWildcard);\n const validExactVersion = validateVersion(exactVersion);\n const consumer = this.workspace.consumer;\n const componentsList = new ComponentsList(consumer);\n loader.start('determine components to tag...');\n const newComponents = await componentsList.listNewComponents();\n const { bitIds, warnings } = await this.getComponentsToTag(\n unmodified,\n exactVersion,\n persist,\n ids,\n snapped,\n unmerged\n );\n if (R.isEmpty(bitIds)) return null;\n\n const legacyBitIds = BitIds.fromArray(bitIds);\n\n this.logger.debug(`tagging the following components: ${legacyBitIds.toString()}`);\n const components = await this.loadComponentsForTagOrSnap(legacyBitIds, !soft);\n const consumerComponents = components.map((c) => c.state._consumer) as ConsumerComponent[];\n await this.throwForVariousIssues(components, ignoreIssues);\n\n const { taggedComponents, autoTaggedResults, publishedPackages, stagedConfig, removedComponents } =\n await tagModelComponent({\n workspace: this.workspace,\n scope: this.scope,\n snapping: this,\n builder: this.builder,\n consumerComponents,\n ids: legacyBitIds,\n message,\n editor,\n exactVersion: validExactVersion,\n releaseType,\n preReleaseId,\n ignoreNewestVersion,\n skipTests,\n skipAutoTag,\n soft,\n build,\n persist,\n disableTagAndSnapPipelines,\n ignoreBuildErrors,\n incrementBy,\n packageManagerConfigRootDir: this.workspace.path,\n dependencyResolver: this.dependencyResolver,\n exitOnFirstFailedTask: failFast,\n });\n\n const tagResults = {\n taggedComponents,\n autoTaggedResults,\n isSoftTag: soft,\n publishedPackages,\n warnings,\n newComponents,\n removedComponents,\n };\n\n const postHook = isAll ? POST_TAG_ALL_HOOK : POST_TAG_HOOK;\n HooksManagerInstance?.triggerHook(postHook, tagResults);\n Analytics.setExtraData(\n 'num_components',\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n R.concat(tagResults.taggedComponents, tagResults.autoTaggedResults, tagResults.newComponents).length\n );\n await consumer.onDestroy();\n await stagedConfig?.write();\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n return tagResults;\n }\n\n async tagFromScope(\n tagDataPerCompRaw: TagDataPerCompRaw[],\n params: {\n push?: boolean;\n version?: string;\n releaseType?: ReleaseType;\n ignoreIssues?: string;\n incrementBy?: number;\n } & Partial<BasicTagParams>\n ): Promise<TagResults | null> {\n if (this.workspace) {\n throw new BitError(\n `unable to run this command from a workspace, please create a new bare-scope and run it from there`\n );\n }\n if (!this.scope) {\n throw new BitError(`please create a new bare-scope and run it from there`);\n }\n\n const tagDataPerComp = await Promise.all(\n tagDataPerCompRaw.map(async (tagData) => {\n return {\n componentId: await this.scope.resolveComponentId(tagData.componentId),\n dependencies: tagData.dependencies ? await this.scope.resolveMultipleComponentIds(tagData.dependencies) : [],\n versionToTag: tagData.versionToTag || params.releaseType || 'patch',\n prereleaseId: tagData.prereleaseId,\n message: tagData.message,\n };\n })\n );\n const componentIds = tagDataPerComp.map((t) => t.componentId);\n await this.scope.import(componentIds, { preferDependencyGraph: false, reason: 'of the seeders to tag' });\n const deps = compact(tagDataPerComp.map((t) => t.dependencies).flat()).map((dep) => dep.changeVersion(LATEST));\n const additionalComponentIdsToFetch = await Promise.all(\n componentIds.map(async (id) => {\n if (!id.hasVersion()) return null;\n const modelComp = await this.scope.getBitObjectModelComponent(id);\n if (!modelComp) throw new Error(`unable to find ModelComponent of ${id.toString()}`);\n if (!modelComp.head) return null;\n if (modelComp.getRef(id.version)?.isEqual(modelComp.head)) return null;\n if (!params.ignoreNewestVersion) {\n throw new BitError(`unable to tag \"${id.toString()}\", this version is older than the head ${modelComp.head.toString()}.\nif you're willing to lose the history from the head to the specified version, use --ignore-newest-version flag`);\n }\n return id.changeVersion(LATEST);\n })\n );\n\n // import deps to be able to resolve semver\n await this.scope.import([...deps, ...compact(additionalComponentIdsToFetch)], {\n useCache: false,\n reason: `which are the dependencies of the ${componentIds.length} seeders`,\n });\n await Promise.all(\n tagDataPerComp.map(async (tagData) => {\n tagData.dependencies = tagData.dependencies\n ? await Promise.all(tagData.dependencies.map((d) => this.getCompIdWithExactVersionAccordingToSemver(d)))\n : [];\n })\n );\n const bitIds = componentIds.map((c) => c._legacy);\n const components = await this.scope.getMany(componentIds);\n await Promise.all(\n components.map(async (comp) => {\n const tagData = tagDataPerComp.find((t) => t.componentId.isEqual(comp.id, { ignoreVersion: true }));\n if (!tagData) throw new Error(`unable to find ${comp.id.toString()} in tagDataPerComp`);\n if (!tagData.dependencies.length) return;\n await this.updateDependenciesVersionsOfComponent(comp, tagData.dependencies, bitIds);\n })\n );\n\n await this.scope.loadManyCompsAspects(components);\n\n const consumerComponents = components.map((c) => c.state._consumer) as ConsumerComponent[];\n const shouldUsePopulateArtifactsFrom = components.every((comp) => {\n if (!comp.buildStatus) throw new Error(`tag-from-scope expect ${comp.id.toString()} to have buildStatus`);\n return comp.buildStatus === BuildStatus.Succeed;\n });\n const legacyIds = BitIds.fromArray(componentIds.map((id) => id._legacy));\n const results = await tagModelComponent({\n ...params,\n scope: this.scope,\n consumerComponents,\n tagDataPerComp,\n populateArtifactsFrom: shouldUsePopulateArtifactsFrom ? components.map((c) => c.id) : undefined,\n copyLogFromPreviousSnap: true,\n snapping: this,\n builder: this.builder,\n dependencyResolver: this.dependencyResolver,\n skipAutoTag: true,\n persist: true,\n ids: legacyIds,\n message: params.message as string,\n });\n\n const { taggedComponents, publishedPackages } = results;\n\n if (params.push) {\n await this.exporter.exportMany({\n scope: this.scope.legacyScope,\n ids: legacyIds,\n idsWithFutureScope: legacyIds,\n allVersions: false,\n exportOrigin: 'tag',\n });\n }\n\n return {\n taggedComponents,\n autoTaggedResults: [],\n isSoftTag: false,\n publishedPackages,\n warnings: [],\n newComponents: new BitIds(),\n };\n }\n\n async snapFromScope(\n snapDataPerCompRaw: SnapDataPerCompRaw[],\n params: {\n push?: boolean;\n ignoreIssues?: string;\n lane?: string;\n } & Partial<BasicTagParams>\n ): Promise<SnapFromScopeResults> {\n if (this.workspace) {\n throw new BitError(\n `unable to run this command from a workspace, please create a new bare-scope and run it from there`\n );\n }\n const snapDataPerComp = await Promise.all(\n snapDataPerCompRaw.map(async (snapData) => {\n return {\n componentId: await this.scope.resolveComponentId(snapData.componentId),\n dependencies: snapData.dependencies\n ? await this.scope.resolveMultipleComponentIds(snapData.dependencies)\n : [],\n aspects: snapData.aspects,\n message: snapData.message,\n };\n })\n );\n const componentIds = snapDataPerComp.map((t) => t.componentId);\n const bitIds = componentIds.map((c) => c._legacy);\n const componentIdsLatest = componentIds.map((id) => id.changeVersion(LATEST));\n\n let lane: Lane | undefined;\n const laneIdStr = params.lane;\n if (laneIdStr) {\n const laneId = LaneId.parse(laneIdStr);\n lane = await this.importer.importLaneObject(laneId);\n // this is critical. otherwise, later on, when loading aspects and isolating capsules, we'll try to fetch dists\n // from the original scope instead of the lane-scope.\n this.scope.legacyScope.setCurrentLaneId(laneId);\n this.scope.legacyScope.scopeImporter.shouldOnlyFetchFromCurrentLane = true;\n }\n\n await this.scope.import(componentIdsLatest, {\n preferDependencyGraph: false,\n lane,\n reason: `seeders to snap`,\n });\n const components = await this.scope.getMany(componentIdsLatest);\n await Promise.all(\n components.map(async (comp) => {\n const snapData = snapDataPerComp.find((t) => {\n return t.componentId.isEqual(comp.id, { ignoreVersion: true });\n });\n if (!snapData) throw new Error(`unable to find ${comp.id.toString()} in snapDataPerComp`);\n if (snapData.aspects) await this.scope.addAspectsFromConfigObject(comp, snapData.aspects);\n if (snapData.dependencies.length) {\n await this.updateDependenciesVersionsOfComponent(comp, snapData.dependencies, bitIds);\n }\n })\n );\n const consumerComponents = components.map((c) => c.state._consumer);\n const legacyIds = BitIds.fromArray(componentIds.map((id) => id._legacy));\n const results = await tagModelComponent({\n ...params,\n scope: this.scope,\n consumerComponents,\n tagDataPerComp: snapDataPerComp,\n snapping: this,\n builder: this.builder,\n dependencyResolver: this.dependencyResolver,\n skipAutoTag: true,\n persist: true,\n isSnap: true,\n ids: legacyIds,\n message: params.message as string,\n });\n\n const { taggedComponents } = results;\n let exportedIds: string[] | undefined;\n if (params.push) {\n const updatedLane = lane ? await this.scope.legacyScope.loadLane(lane.toLaneId()) : undefined;\n const { exported } = await this.exporter.exportMany({\n scope: this.scope.legacyScope,\n ids: legacyIds,\n idsWithFutureScope: legacyIds,\n allVersions: false,\n laneObject: updatedLane || undefined,\n // no need other snaps. only the latest one. without this option, when snapping on lane from another-scope, it\n // may throw an error saying the previous snaps don't exist on the filesystem.\n // (see the e2e - \"snap on a lane when the component is new to the lane and the scope\")\n exportHeadsOnly: true,\n });\n exportedIds = exported.map((e) => e.toString());\n }\n\n return {\n snappedIds: taggedComponents.map((comp) => comp.id.toString()),\n exportedIds,\n };\n }\n\n /**\n * save the local changes of a component(s) into the scope. snap can be done on main or on a lane.\n * once a component is snapped on a lane, it becomes part of it.\n */\n async snap({\n pattern,\n legacyBitIds, // @todo: change to ComponentID[]. pass only if have the ids already parsed.\n unmerged,\n editor,\n message = '',\n ignoreIssues,\n skipTests = false,\n skipAutoSnap = false,\n build,\n disableTagAndSnapPipelines = false,\n ignoreBuildErrors = false,\n unmodified = false,\n exitOnFirstFailedTask = false,\n }: {\n pattern?: string;\n legacyBitIds?: BitIds;\n unmerged?: boolean;\n editor?: string;\n message?: string;\n ignoreIssues?: string;\n build: boolean;\n skipTests?: boolean;\n skipAutoSnap?: boolean;\n disableTagAndSnapPipelines?: boolean;\n ignoreBuildErrors?: boolean;\n unmodified?: boolean;\n exitOnFirstFailedTask?: boolean;\n }): Promise<SnapResults | null> {\n if (!this.workspace) throw new OutsideWorkspaceError();\n if (pattern && legacyBitIds) throw new Error(`please pass either pattern or legacyBitIds, not both`);\n const consumer: Consumer = this.workspace.consumer;\n const componentsList = new ComponentsList(consumer);\n const newComponents = (await componentsList.listNewComponents()) as BitIds;\n const ids = legacyBitIds || (await getIdsToSnap(this.workspace));\n if (!ids) return null;\n this.logger.debug(`snapping the following components: ${ids.toString()}`);\n const components = await this.loadComponentsForTagOrSnap(ids);\n const consumerComponents = components.map((c) => c.state._consumer) as ConsumerComponent[];\n await this.throwForVariousIssues(components, ignoreIssues);\n\n const { taggedComponents, autoTaggedResults, stagedConfig, removedComponents } = await tagModelComponent({\n workspace: this.workspace,\n scope: this.scope,\n snapping: this,\n builder: this.builder,\n editor,\n consumerComponents,\n ids,\n ignoreNewestVersion: false,\n message,\n skipTests,\n skipAutoTag: skipAutoSnap,\n persist: true,\n soft: false,\n build,\n isSnap: true,\n disableTagAndSnapPipelines,\n ignoreBuildErrors,\n packageManagerConfigRootDir: this.workspace.path,\n dependencyResolver: this.dependencyResolver,\n exitOnFirstFailedTask,\n });\n\n const snapResults: Partial<SnapResults> = {\n snappedComponents: taggedComponents,\n autoSnappedResults: autoTaggedResults,\n newComponents,\n removedComponents,\n };\n\n const currentLane = consumer.getCurrentLaneId();\n snapResults.laneName = currentLane.isDefault() ? null : currentLane.toString();\n await consumer.onDestroy();\n await stagedConfig?.write();\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n return snapResults;\n\n async function getIdsToSnap(workspace: Workspace): Promise<BitIds | null> {\n if (unmerged) {\n return componentsList.listDuringMergeStateComponents();\n }\n const tagPendingComponents = unmodified\n ? await componentsList.listPotentialTagAllWorkspace()\n : await componentsList.listTagPendingComponents();\n if (R.isEmpty(tagPendingComponents)) return null;\n const tagPendingComponentsIds = await workspace.resolveMultipleComponentIds(tagPendingComponents);\n // when unmodified, we ask for all components, throw if no matching. if not unmodified and no matching, see error\n // below, suggesting to use --unmodified flag.\n const shouldThrowForNoMatching = unmodified;\n const getCompIds = async () => {\n if (!pattern) return tagPendingComponentsIds;\n if (!pattern.includes('*') && !pattern.includes(',')) {\n const compId = await workspace.resolveComponentId(pattern);\n return [compId];\n }\n return workspace.scope.filterIdsFromPoolIdsByPattern(\n pattern,\n tagPendingComponentsIds,\n shouldThrowForNoMatching\n );\n };\n const componentIds = await getCompIds();\n if (!componentIds.length && pattern) {\n const allTagPending = await componentsList.listPotentialTagAllWorkspace();\n if (allTagPending.length) {\n throw new BitError(`unable to find matching for \"${pattern}\" pattern among modified/new components.\nthere are matching among unmodified components thought. consider using --unmodified flag if needed`);\n }\n }\n if (!componentIds.length) {\n return null;\n }\n return BitIds.fromArray(componentIds.map((c) => c._legacy));\n }\n }\n\n /**\n * remove tags/snaps that exist locally, which were not exported yet.\n * once a tag/snap is exported, it's impossible to delete it as other components may depend on it\n */\n async reset(\n componentPattern?: string,\n head?: boolean,\n force = false,\n soft = false\n ): Promise<{ results: untagResult[]; isSoftUntag: boolean }> {\n if (!this.workspace) throw new OutsideWorkspaceError();\n const consumer = this.workspace.consumer;\n const currentLane = await consumer.getCurrentLaneObject();\n const untag = async (): Promise<untagResult[]> => {\n if (!componentPattern) {\n return removeLocalVersionsForAllComponents(consumer, currentLane, head);\n }\n const candidateComponents = await getComponentsWithOptionToUntag(consumer);\n const idsMatchingPattern = await this.workspace.idsByPattern(componentPattern);\n const idsMatchingPatternBitIds = BitIds.fromArray(idsMatchingPattern.map((id) => id._legacy));\n const componentsToUntag = candidateComponents.filter((modelComponent) =>\n idsMatchingPatternBitIds.hasWithoutVersion(modelComponent.toBitId())\n );\n return removeLocalVersionsForMultipleComponents(componentsToUntag, currentLane, head, force, consumer.scope);\n };\n const softUntag = async () => {\n const componentsList = new ComponentsList(consumer);\n const softTaggedComponents = componentsList.listSoftTaggedComponents();\n const softTaggedComponentsIds = await this.workspace.resolveMultipleComponentIds(softTaggedComponents);\n const idsToRemoveSoftTags = componentPattern\n ? this.workspace.scope.filterIdsFromPoolIdsByPattern(componentPattern, softTaggedComponentsIds)\n : softTaggedComponentsIds;\n return compact(\n idsToRemoveSoftTags.map((componentId) => {\n const componentMap = consumer.bitMap.getComponent(componentId._legacy, { ignoreScopeAndVersion: true });\n const removedVersion = componentMap.nextVersion?.version;\n if (!removedVersion) return null;\n componentMap.clearNextVersion();\n return { id: componentId._legacy, versions: [removedVersion] };\n })\n );\n };\n let results: untagResult[];\n const isRealUntag = !soft;\n if (isRealUntag) {\n results = await untag();\n await consumer.scope.objects.persist();\n const components = results.map((result) => result.component);\n await updateComponentsVersions(this.workspace, components as ModelComponent[], false);\n } else {\n results = await softUntag();\n consumer.bitMap.markAsChanged();\n }\n\n await consumer.onDestroy();\n return { results, isSoftUntag: !isRealUntag };\n }\n\n async _addFlattenedDependenciesToComponents(components: ConsumerComponent[]) {\n loader.start('importing missing dependencies...');\n const getLane = async () => {\n const lane = await this.scope.legacyScope.getCurrentLaneObject();\n if (!lane) return undefined;\n if (!lane.isNew) return lane;\n const forkedFrom = lane.forkedFrom;\n if (!forkedFrom) return undefined;\n return this.scope.legacyScope.loadLane(forkedFrom);\n };\n const lane = await getLane();\n\n const flattenedDependenciesGetter = new FlattenedDependenciesGetter(\n this.scope.legacyScope,\n components,\n lane || undefined\n );\n await flattenedDependenciesGetter.populateFlattenedDependencies();\n loader.stop();\n await this._addFlattenedDepsGraphToComponents(components);\n }\n\n async throwForDepsFromAnotherLane(components: ConsumerComponent[]) {\n const lane = await this.scope.legacyScope.getCurrentLaneObject();\n const allIds = BitIds.fromArray(components.map((c) => c.id));\n const missingDeps = await pMapSeries(components, async (component) => {\n return this.throwForDepsFromAnotherLaneForComp(component, allIds, lane || undefined);\n });\n const flattenedMissingDeps = BitIds.uniqFromArray(missingDeps.flat().map((id) => id.changeVersion(undefined)));\n if (!flattenedMissingDeps.length) return;\n // ignore the cache. even if the component exists locally, we still need its VersionHistory object\n // in order to traverse the history and determine whether it's part of the lane history.\n await this.scope.legacyScope.scopeImporter.importWithoutDeps(flattenedMissingDeps, {\n cache: false,\n ignoreMissingHead: true,\n includeVersionHistory: true,\n lane: lane || undefined,\n reason: 'of latest with version-history to make sure there are no dependencies from another lane',\n });\n await pMapSeries(components, async (component) => {\n await this.throwForDepsFromAnotherLaneForComp(component, allIds, lane || undefined, true);\n });\n }\n\n private async throwForVariousIssues(components: Component[], ignoreIssues?: string) {\n const componentsToCheck = components.filter((c) => !c.isDeleted());\n const consumerComponents = componentsToCheck.map((c) => c.state._consumer) as ConsumerComponent[];\n await this.throwForLegacyDependenciesInsideHarmony(consumerComponents);\n await this.throwForComponentIssues(componentsToCheck, ignoreIssues);\n this.throwForPendingImport(consumerComponents);\n }\n\n private async throwForDepsFromAnotherLaneForComp(\n component: ConsumerComponent,\n allIds: BitIds,\n lane?: Lane,\n throwForMissingObjects = false\n ) {\n const deps = component.getAllDependencies();\n const missingDeps: BitId[] = [];\n await Promise.all(\n deps.map(async (dep) => {\n if (!dep.id.hasScope() || !dep.id.hasVersion()) return;\n if (isTag(dep.id.version)) return;\n if (allIds.hasWithoutVersion(dep.id)) return; // it's tagged/snapped now.\n let isPartOfHistory: boolean | undefined;\n try {\n isPartOfHistory = lane\n ? (await this.scope.legacyScope.isPartOfLaneHistory(dep.id, lane)) ||\n (await this.scope.legacyScope.isPartOfMainHistory(dep.id))\n : await this.scope.legacyScope.isPartOfMainHistory(dep.id);\n } catch (err) {\n if (throwForMissingObjects) throw err;\n if (err instanceof VersionNotFound) {\n missingDeps.push(dep.id);\n return;\n }\n throw err;\n }\n\n if (!isPartOfHistory) {\n const laneOrMainStr = lane ? `current lane \"${lane.name}\"` : 'main';\n throw new Error(\n `unable to tag/snap ${component.id.toString()}, it has a dependency ${dep.id.toString()} which is not part of ${laneOrMainStr} history.\none option to resolve this is installing ${dep.id.toStringWithoutVersion()} via \"bit install\", which installs the version from main.\nanother option, in case this dependency is not in main yet is to remove all references of this dependency in the code and then tag/snap.`\n );\n }\n })\n );\n return missingDeps;\n }\n\n async _addFlattenedDepsGraphToComponents(components: ConsumerComponent[]) {\n const graph = new Graph<BitId, string>();\n const addEdges = (compId: BitId, dependencies: ConsumerComponent['dependencies'], label: DepEdgeType) => {\n dependencies.get().forEach((dep) => {\n graph.setNode(new Node(dep.id.toString(), dep.id));\n graph.setEdge(new Edge(compId.toString(), dep.id.toString(), label));\n });\n };\n components.forEach((comp) => {\n graph.setNode(new Node(comp.id.toString(), comp.id));\n addEdges(comp.id, comp.dependencies, 'prod');\n addEdges(comp.id, comp.devDependencies, 'dev');\n addEdges(comp.id, comp.extensionDependencies, 'ext');\n });\n const allFlattened = components.map((comp) => comp.flattenedDependencies);\n const allFlattenedUniq = BitIds.uniqFromArray(allFlattened.flat());\n const allFlattenedWithoutCurrent = allFlattenedUniq.filter((id) => !components.find((c) => c.id.isEqual(id)));\n const componentsAndVersions = await this.scope.legacyScope.getComponentsAndVersions(\n BitIds.fromArray(allFlattenedWithoutCurrent)\n );\n componentsAndVersions.forEach(({ component, version, versionStr }) => {\n const compId = component.toBitId().changeVersion(versionStr);\n graph.setNode(new Node(compId.toString(), compId));\n addEdges(compId, version.dependencies, 'prod');\n addEdges(compId, version.devDependencies, 'dev');\n addEdges(compId, version.extensionDependencies, 'ext');\n });\n let someCompsHaveMissingFlattened = false;\n components.forEach((component) => {\n const edges = graph.outEdges(component.id.toString());\n const flattenedEdges = component.flattenedDependencies.map((dep) => graph.outEdges(dep.toString())).flat();\n const allEdges = [...edges, ...flattenedEdges];\n const edgesWithBitIds: DepEdge[] = allEdges.map((edge) => ({\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n source: graph.node(edge.source)!.attr,\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n target: graph.node(edge.target)!.attr,\n type: edge.attr as DepEdgeType,\n }));\n component.flattenedEdges = edgesWithBitIds;\n\n // due to some previous bugs, some components might have missing flattened dependencies.\n // as a result, the flattenedEdges may have more components than the flattenedDependencies, which will cause\n // issues later on when the graph is built. this fixes it by adding the missing flattened dependencies, and\n // then recursively adding the flattenedEdge accordingly.\n const flattened = component.flattenedDependencies.map((dep) => dep.toString());\n const flattenedFromEdges = uniq(\n edgesWithBitIds.map((edge) => [edge.target.toString(), edge.source.toString()]).flat()\n );\n const missingFlattened = difference(flattenedFromEdges, flattened).filter((id) => id !== component.id.toString());\n\n if (missingFlattened.length) {\n someCompsHaveMissingFlattened = true;\n this.logger.warn(`missing flattened for ${component.id.toString()}: ${missingFlattened.join(', ')}`);\n const missingBitIds = missingFlattened.map((id) => {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return graph.node(id)!.attr;\n });\n component.flattenedDependencies.push(...missingBitIds);\n }\n });\n if (someCompsHaveMissingFlattened) {\n await this._addFlattenedDepsGraphToComponents(components);\n }\n }\n\n _updateComponentsByTagResult(components: ConsumerComponent[], tagResult: LegacyOnTagResult[]) {\n tagResult.forEach((result) => {\n const matchingComponent = components.find((c) => c.id.isEqual(result.id));\n if (matchingComponent) {\n const existingBuilder = matchingComponent.extensions.findCoreExtension(Extensions.builder);\n if (existingBuilder) existingBuilder.data = result.builderData.data;\n else matchingComponent.extensions.push(result.builderData);\n }\n });\n }\n\n _getPublishedPackages(components: ConsumerComponent[]): string[] {\n const publishedPackages = components.map((comp) => {\n const builderExt = comp.extensions.findCoreExtension(Extensions.builder);\n const pkgData = builderExt?.data?.aspectsData?.find((a) => a.aspectId === Extensions.pkg);\n return pkgData?.data?.publishedPackage;\n });\n return compact(publishedPackages);\n }\n\n async _addCompToObjects({\n source,\n consumer,\n lane,\n shouldValidateVersion = false,\n }: {\n source: ConsumerComponent;\n consumer: Consumer;\n lane: Lane | null;\n shouldValidateVersion?: boolean;\n }): Promise<ModelComponent> {\n const { component, version } = await this._addCompFromScopeToObjects(source, lane);\n const unmergedComponent = consumer.scope.objects.unmergedComponents.getEntry(component.name);\n if (unmergedComponent) {\n if (unmergedComponent.unrelated) {\n this.logger.debug(\n `sources.addSource, unmerged component \"${component.name}\". adding an unrelated entry ${unmergedComponent.head.hash}`\n );\n if (!source.previouslyUsedVersion) {\n throw new Error(\n `source.previouslyUsedVersion must be set for ${component.name} because it's unrelated resolved.`\n );\n }\n if (unmergedComponent.unrelated === true) {\n // backward compatibility\n const unrelatedHead = Ref.from(source.previouslyUsedVersion);\n version.setUnrelated({ head: unrelatedHead, laneId: unmergedComponent.laneId });\n version.addAsOnlyParent(unmergedComponent.head);\n } else {\n const unrelated = unmergedComponent.unrelated;\n version.setUnrelated({ head: unrelated.unrelatedHead, laneId: unrelated.unrelatedLaneId });\n version.addAsOnlyParent(unrelated.headOnCurrentLane);\n }\n } else {\n // this is adding a second parent to the version. the order is important. the first parent is coming from the current-lane.\n version.addParent(unmergedComponent.head);\n this.logger.debug(\n `sources.addSource, unmerged component \"${component.name}\". adding a parent ${unmergedComponent.head.hash}`\n );\n version.log.message = version.log.message || UnmergedComponents.buildSnapMessage(unmergedComponent);\n }\n consumer.scope.objects.unmergedComponents.removeComponent(component.name);\n }\n if (shouldValidateVersion) version.validate();\n return component;\n }\n\n async _addCompFromScopeToObjects(\n source: ConsumerComponent,\n lane: Lane | null\n ): Promise<{\n component: ModelComponent;\n version: Version;\n }> {\n const objectRepo = this.objectsRepo;\n // if a component exists in the model, add a new version. Otherwise, create a new component on the model\n const component = await this.scope.legacyScope.sources.findOrAddComponent(source);\n const artifactFiles = getArtifactsFiles(source.extensions);\n const artifacts = this.transformArtifactsFromVinylToSource(artifactFiles);\n const { version, files, flattenedEdges } = await this.scope.legacyScope.sources.consumerComponentToVersion(source);\n version.origin = {\n id: { scope: source.scope || (source.defaultScope as string), name: source.name },\n lane: lane ? { scope: lane.scope, name: lane.name, hash: lane.hash().toString() } : undefined,\n };\n objectRepo.add(version);\n if (flattenedEdges) this.objectsRepo.add(flattenedEdges);\n if (!source.version) throw new Error(`addSource expects source.version to be set`);\n component.addVersion(version, source.version, lane, objectRepo, source.previouslyUsedVersion);\n objectRepo.add(component);\n files.forEach((file) => objectRepo.add(file.file));\n if (artifacts) artifacts.forEach((file) => objectRepo.add(file.source));\n return { component, version };\n }\n\n async _enrichComp(consumerComponent: ConsumerComponent, modifiedLog?: Log) {\n const objects = await this._getObjectsToEnrichComp(consumerComponent, modifiedLog);\n objects.forEach((obj) => this.objectsRepo.add(obj));\n return consumerComponent;\n }\n\n async _getObjectsToEnrichComp(consumerComponent: ConsumerComponent, modifiedLog?: Log): Promise<BitObject[]> {\n const component =\n consumerComponent.modelComponent || (await this.scope.legacyScope.sources.findOrAddComponent(consumerComponent));\n const version = await component.loadVersion(consumerComponent.id.version as string, this.objectsRepo, true, true);\n if (modifiedLog) version.addModifiedLog(modifiedLog);\n const artifactFiles = getArtifactsFiles(consumerComponent.extensions);\n const artifacts = this.transformArtifactsFromVinylToSource(artifactFiles);\n version.extensions = consumerComponent.extensions;\n version.buildStatus = consumerComponent.buildStatus;\n const artifactObjects = artifacts.map((file) => file.source);\n return [version, ...artifactObjects];\n }\n\n private transformArtifactsFromVinylToSource(artifactsFiles: ArtifactFiles[]): ArtifactSource[] {\n const artifacts: ArtifactSource[] = [];\n artifactsFiles.forEach((artifactFiles) => {\n const artifactsSource = ArtifactFiles.fromVinylsToSources(artifactFiles.vinyls);\n if (artifactsSource.length) artifactFiles.populateRefsFromSources(artifactsSource);\n artifacts.push(...artifactsSource);\n });\n return artifacts;\n }\n\n private async loadComponentsForTagOrSnap(ids: BitIds, shouldClearCacheFirst = true): Promise<Component[]> {\n const compIds = await this.workspace.resolveMultipleComponentIds(ids);\n if (shouldClearCacheFirst) {\n await this.workspace.consumer.componentFsCache.deleteAllDependenciesDataCache();\n compIds.map((compId) => this.workspace.clearComponentCache(compId));\n }\n\n return this.workspace.getMany(compIds.map((id) => id.changeVersion(undefined)));\n }\n\n private async throwForComponentIssues(components: Component[], ignoreIssues?: string) {\n if (ignoreIssues === '*') {\n // ignore all issues\n return;\n }\n const issuesToIgnoreFromFlag = ignoreIssues?.split(',').map((issue) => issue.trim()) || [];\n const issuesToIgnoreFromConfig = this.issues.getIssuesToIgnoreGlobally();\n const issuesToIgnore = [...issuesToIgnoreFromFlag, ...issuesToIgnoreFromConfig];\n await this.issues.triggerAddComponentIssues(components, issuesToIgnore);\n this.issues.removeIgnoredIssuesFromComponents(components, issuesToIgnore);\n const legacyComponents = components.map((c) => c.state._consumer) as ConsumerComponent[];\n const componentsWithBlockingIssues = legacyComponents.filter((component) => component.issues?.shouldBlockTagging());\n if (!R.isEmpty(componentsWithBlockingIssues)) {\n throw new ComponentsHaveIssues(componentsWithBlockingIssues);\n }\n\n const workspaceIssues = this.workspace.getWorkspaceIssues();\n if (workspaceIssues.length) {\n const issuesStr = workspaceIssues.map((issueErr) => issueErr.message).join('\\n');\n throw new BitError(`the workspace has the following issues:\\n${issuesStr}`);\n }\n }\n\n private throwForPendingImport(components: ConsumerComponent[]) {\n const componentsMissingFromScope = components\n .filter((c) => !c.componentFromModel && c.id.hasScope())\n .map((c) => c.id.toString());\n if (componentsMissingFromScope.length) {\n throw new ComponentsPendingImport(componentsMissingFromScope);\n }\n }\n\n private async throwForLegacyDependenciesInsideHarmony(components: ConsumerComponent[]) {\n const throwForComponent = async (component: ConsumerComponent) => {\n const dependenciesIds = component.getAllDependenciesIds();\n const legacyScope = this.workspace.scope.legacyScope;\n await Promise.all(\n dependenciesIds.map(async (depId) => {\n if (!depId.hasVersion()) return;\n const modelComp = await legacyScope.getModelComponentIfExist(depId);\n if (!modelComp) return;\n const version = await modelComp.loadVersion(depId.version as string, legacyScope.objects);\n if (version.isLegacy) {\n throw new Error(\n `unable tagging \"${component.id.toString()}\", its dependency \"${depId.toString()}\" is legacy`\n );\n }\n })\n );\n };\n await pMap(components, (component) => throwForComponent(component), { concurrency: concurrentComponentsLimit() });\n }\n\n /**\n * the compId.version can be a range (e.g. \"^1.0.0\"), in which case, it finds the component in the local scope and\n * resolves the latest version that falls under the range.\n * in case the version has no range, it returns the same compId.\n * in case it has no version, it returns the latest.\n */\n async getCompIdWithExactVersionAccordingToSemver(compId: ComponentID): Promise<ComponentID> {\n if (isHash(compId.version)) {\n return compId;\n }\n const range = compId.version || '*'; // if not version specified, assume the latest\n const id = compId.changeVersion(undefined);\n const exactVersion = await this.scope.getExactVersionBySemverRange(id, range);\n if (!exactVersion) {\n throw new Error(`unable to find a version that satisfies \"${range}\" of \"${compId.toString()}\"`);\n }\n return compId.changeVersion(exactVersion);\n }\n\n async updateDependenciesVersionsOfComponent(\n component: Component,\n dependencies: ComponentID[],\n currentBitIds: BitId[]\n ) {\n const depsBitIds = dependencies.map((d) => d._legacy);\n const updatedIds = BitIds.fromArray([...currentBitIds, ...depsBitIds]);\n const componentIdStr = component.id.toString();\n const legacyComponent: ConsumerComponent = component.state._consumer;\n const deps = [...legacyComponent.dependencies.get(), ...legacyComponent.devDependencies.get()];\n const dependenciesList = await this.dependencyResolver.getDependencies(component);\n deps.forEach((dep) => {\n const updatedBitId = updatedIds.searchWithoutVersion(dep.id);\n if (updatedBitId) {\n const depIdStr = dep.id.toString();\n const packageName = dependenciesList.findDependency(depIdStr)?.getPackageName?.();\n if (!packageName) {\n throw new Error(\n `unable to find the package-name of \"${depIdStr}\" dependency inside the dependency-resolver data of \"${componentIdStr}\"`\n );\n }\n this.logger.debug(`updating \"${componentIdStr}\", dependency ${depIdStr} to version ${updatedBitId.version}}`);\n dep.id = updatedBitId;\n dep.packageName = packageName;\n }\n });\n legacyComponent.extensions.forEach((ext) => {\n if (!ext.extensionId) return;\n const updatedBitId = updatedIds.searchWithoutVersion(ext.extensionId);\n if (updatedBitId) {\n this.logger.debug(\n `updating \"${componentIdStr}\", extension ${ext.extensionId.toString()} to version ${updatedBitId.version}}`\n );\n ext.extensionId = updatedBitId;\n }\n });\n\n component.state.aspects = await this.scope.createAspectListFromExtensionDataList(legacyComponent.extensions);\n\n const dependenciesListSerialized = (await this.dependencyResolver.extractDepsFromLegacy(component)).serialize();\n const extId = DependencyResolverAspect.id;\n const data = { dependencies: dependenciesListSerialized };\n const existingExtension = component.state._consumer.extensions.findExtension(extId);\n if (existingExtension) {\n // Only merge top level of extension data\n Object.assign(existingExtension.data, data);\n return;\n }\n const extension = new ExtensionDataEntry(undefined, undefined, extId, undefined, data);\n component.state._consumer.extensions.push(extension);\n }\n\n private async getComponentsToTag(\n includeUnmodified: boolean,\n exactVersion: string | undefined,\n persist: boolean,\n ids: string[],\n snapped: boolean,\n unmerged: boolean\n ): Promise<{ bitIds: BitId[]; warnings: string[] }> {\n const warnings: string[] = [];\n const componentsList = new ComponentsList(this.workspace.consumer);\n if (persist) {\n const softTaggedComponents = componentsList.listSoftTaggedComponents();\n return { bitIds: softTaggedComponents, warnings: [] };\n }\n\n const tagPendingBitIds = includeUnmodified\n ? await componentsList.listPotentialTagAllWorkspace()\n : await componentsList.listTagPendingComponents();\n\n const tagPendingComponentsIds = await this.workspace.resolveMultipleComponentIds(tagPendingBitIds);\n\n const snappedComponents = await componentsList.listSnappedComponentsOnMain();\n const snappedComponentsIds = snappedComponents.map((c) => c.toBitId());\n\n if (ids.length) {\n const componentIds = await pMapSeries(ids, async (id) => {\n const [idWithoutVer, version] = id.split('@');\n const idHasWildcard = hasWildcard(id);\n if (idHasWildcard) {\n const allIds = this.workspace.scope.filterIdsFromPoolIdsByPattern(idWithoutVer, tagPendingComponentsIds);\n return allIds.map((componentId) => componentId.changeVersion(version));\n }\n const componentId = await this.workspace.resolveComponentId(idWithoutVer);\n if (!includeUnmodified) {\n const componentStatus = await this.workspace.consumer.getComponentStatusById(componentId._legacy);\n if (componentStatus.modified === false) return null;\n }\n return componentId.changeVersion(version);\n });\n\n return { bitIds: compact(componentIds.flat()).map((bitId) => bitId._legacy), warnings };\n }\n\n if (snapped) {\n return { bitIds: snappedComponentsIds, warnings };\n }\n\n if (unmerged) {\n return { bitIds: componentsList.listDuringMergeStateComponents(), warnings };\n }\n\n const tagPendingBitIdsIncludeSnapped = [...tagPendingBitIds, ...snappedComponentsIds];\n\n if (includeUnmodified && exactVersion) {\n const tagPendingComponentsLatest = await this.workspace.scope.legacyScope.latestVersions(tagPendingBitIds, false);\n tagPendingComponentsLatest.forEach((componentId) => {\n if (componentId.version && semver.valid(componentId.version) && semver.gt(componentId.version, exactVersion)) {\n warnings.push(`warning: ${componentId.toString()} has a version greater than ${exactVersion}`);\n }\n });\n }\n\n return { bitIds: tagPendingBitIdsIncludeSnapped.map((id) => id.changeVersion(undefined)), warnings };\n }\n\n static slots = [];\n static dependencies = [\n WorkspaceAspect,\n CLIAspect,\n LoggerAspect,\n IssuesAspect,\n InsightsAspect,\n DependencyResolverAspect,\n ScopeAspect,\n ExportAspect,\n BuilderAspect,\n ImporterAspect,\n GlobalConfigAspect,\n ];\n static runtime = MainRuntime;\n static async provider([\n workspace,\n cli,\n loggerMain,\n issues,\n insights,\n dependencyResolver,\n scope,\n exporter,\n builder,\n importer,\n globalConfig,\n ]: [\n Workspace,\n CLIMain,\n LoggerMain,\n IssuesMain,\n InsightsMain,\n DependencyResolverMain,\n ScopeMain,\n ExportMain,\n BuilderMain,\n ImporterMain,\n GlobalConfigMain\n ]) {\n const logger = loggerMain.createLogger(SnappingAspect.id);\n const snapping = new SnappingMain(\n workspace,\n logger,\n issues,\n insights,\n dependencyResolver,\n scope,\n exporter,\n builder,\n importer\n );\n const snapCmd = new SnapCmd(snapping, logger, globalConfig);\n const tagCmd = new TagCmd(snapping, logger, globalConfig);\n const tagFromScopeCmd = new TagFromScopeCmd(snapping, logger);\n const snapFromScopeCmd = new SnapFromScopeCmd(snapping, logger);\n const resetCmd = new ResetCmd(snapping);\n cli.register(tagCmd, snapCmd, resetCmd, tagFromScopeCmd, snapFromScopeCmd);\n return snapping;\n }\n}\n\nSnappingAspect.addRuntime(SnappingMain);\n\nexport default SnappingMain;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_cli","data","require","_graph","_getFlattenedDependencies","_workspace","_interopRequireWildcard","_ramda","_interopRequireDefault","_semver","_lodash","_analytics","_bitId","_constants","_componentsList","_hooks","_pMapSeries","_hasWildcard","_semverHelper","_loader","_componentsPendingImport","_logger","_bitError","_pMap","_insights","_concurrency","_untagComponent","_scope","_issues","_dependencyResolver","_config","_builder","_laneId","_importer","_export","_unmergedComponents","_componentVersion","_objects","_globalConfig","_artifactFiles","_exceptions","_snapCmd","_snapping","_tagCmd","_componentsHaveIssues","_resetCmd","_tagModelComponent","_tagFromScope","_snapFromScope","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","e","r","t","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","HooksManagerInstance","HooksManager","getInstance","SnappingMain","constructor","workspace","logger","issues","insights","dependencyResolver","scope","exporter","builder","importer","_this$scope","objectsRepo","legacyScope","objects","tag","ids","message","version","editor","snapped","unmerged","releaseType","preReleaseId","ignoreIssues","ignoreNewestVersion","skipTests","skipAutoTag","build","unmodified","soft","persist","ignoreBuildErrors","incrementBy","disableTagAndSnapPipelines","failFast","BitError","exactVersion","OutsideWorkspaceError","idsHasWildcard","hasWildcard","isAll","Boolean","validExactVersion","validateVersion","consumer","componentsList","ComponentsList","loader","start","newComponents","listNewComponents","bitIds","warnings","getComponentsToTag","R","isEmpty","legacyBitIds","BitIds","fromArray","debug","toString","components","loadComponentsForTagOrSnap","consumerComponents","map","c","state","_consumer","throwForVariousIssues","taggedComponents","autoTaggedResults","publishedPackages","stagedConfig","removedComponents","tagModelComponent","snapping","packageManagerConfigRootDir","path","exitOnFirstFailedTask","tagResults","isSoftTag","postHook","POST_TAG_ALL_HOOK","POST_TAG_HOOK","triggerHook","Analytics","setExtraData","concat","onDestroy","write","tagFromScope","tagDataPerCompRaw","params","tagDataPerComp","Promise","all","tagData","componentId","resolveComponentId","dependencies","resolveMultipleComponentIds","versionToTag","prereleaseId","componentIds","import","preferDependencyGraph","reason","deps","compact","flat","dep","changeVersion","LATEST","additionalComponentIdsToFetch","id","_modelComp$getRef","hasVersion","modelComp","getBitObjectModelComponent","Error","head","getRef","isEqual","useCache","d","getCompIdWithExactVersionAccordingToSemver","_legacy","getMany","comp","find","ignoreVersion","updateDependenciesVersionsOfComponent","loadManyCompsAspects","shouldUsePopulateArtifactsFrom","every","buildStatus","BuildStatus","Succeed","legacyIds","results","populateArtifactsFrom","copyLogFromPreviousSnap","exportMany","idsWithFutureScope","allVersions","exportOrigin","snapFromScope","snapDataPerCompRaw","snapDataPerComp","snapData","aspects","componentIdsLatest","lane","laneIdStr","laneId","LaneId","parse","importLaneObject","setCurrentLaneId","scopeImporter","shouldOnlyFetchFromCurrentLane","addAspectsFromConfigObject","isSnap","exportedIds","updatedLane","loadLane","toLaneId","exported","laneObject","exportHeadsOnly","snappedIds","snap","pattern","skipAutoSnap","getIdsToSnap","snapResults","snappedComponents","autoSnappedResults","currentLane","getCurrentLaneId","laneName","isDefault","listDuringMergeStateComponents","tagPendingComponents","listPotentialTagAllWorkspace","listTagPendingComponents","tagPendingComponentsIds","shouldThrowForNoMatching","getCompIds","includes","compId","filterIdsFromPoolIdsByPattern","allTagPending","reset","componentPattern","force","getCurrentLaneObject","untag","removeLocalVersionsForAllComponents","candidateComponents","getComponentsWithOptionToUntag","idsMatchingPattern","idsByPattern","idsMatchingPatternBitIds","componentsToUntag","modelComponent","hasWithoutVersion","toBitId","removeLocalVersionsForMultipleComponents","softUntag","softTaggedComponents","listSoftTaggedComponents","softTaggedComponentsIds","idsToRemoveSoftTags","_componentMap$nextVer","componentMap","bitMap","getComponent","removedVersion","nextVersion","clearNextVersion","versions","isRealUntag","result","component","updateComponentsVersions","markAsChanged","isSoftUntag","_addFlattenedDependenciesToComponents","getLane","isNew","forkedFrom","flattenedDependenciesGetter","FlattenedDependenciesGetter","populateFlattenedDependencies","stop","_addFlattenedDepsGraphToComponents","throwForDepsFromAnotherLane","allIds","missingDeps","pMapSeries","throwForDepsFromAnotherLaneForComp","flattenedMissingDeps","uniqFromArray","importWithoutDeps","ignoreMissingHead","includeVersionHistory","componentsToCheck","isDeleted","throwForLegacyDependenciesInsideHarmony","throwForComponentIssues","throwForPendingImport","throwForMissingObjects","getAllDependencies","hasScope","isTag","isPartOfHistory","isPartOfLaneHistory","isPartOfMainHistory","err","VersionNotFound","laneOrMainStr","name","toStringWithoutVersion","graph","Graph","addEdges","label","setNode","Node","setEdge","Edge","devDependencies","extensionDependencies","allFlattened","flattenedDependencies","allFlattenedUniq","allFlattenedWithoutCurrent","componentsAndVersions","getComponentsAndVersions","versionStr","someCompsHaveMissingFlattened","edges","outEdges","flattenedEdges","allEdges","edgesWithBitIds","edge","source","node","attr","target","type","flattened","flattenedFromEdges","uniq","missingFlattened","difference","warn","join","missingBitIds","_updateComponentsByTagResult","tagResult","matchingComponent","existingBuilder","extensions","findCoreExtension","Extensions","builderData","_getPublishedPackages","_builderExt$data","_pkgData$data","builderExt","pkgData","aspectsData","a","aspectId","pkg","publishedPackage","_addCompToObjects","shouldValidateVersion","_addCompFromScopeToObjects","unmergedComponent","unmergedComponents","getEntry","unrelated","hash","previouslyUsedVersion","unrelatedHead","Ref","from","setUnrelated","addAsOnlyParent","unrelatedLaneId","headOnCurrentLane","addParent","log","UnmergedComponents","buildSnapMessage","removeComponent","validate","objectRepo","sources","findOrAddComponent","artifactFiles","getArtifactsFiles","artifacts","transformArtifactsFromVinylToSource","files","consumerComponentToVersion","origin","defaultScope","add","addVersion","file","_enrichComp","consumerComponent","modifiedLog","_getObjectsToEnrichComp","loadVersion","addModifiedLog","artifactObjects","artifactsFiles","artifactsSource","ArtifactFiles","fromVinylsToSources","vinyls","populateRefsFromSources","shouldClearCacheFirst","compIds","componentFsCache","deleteAllDependenciesDataCache","clearComponentCache","issuesToIgnoreFromFlag","split","issue","trim","issuesToIgnoreFromConfig","getIssuesToIgnoreGlobally","issuesToIgnore","triggerAddComponentIssues","removeIgnoredIssuesFromComponents","legacyComponents","componentsWithBlockingIssues","_component$issues","shouldBlockTagging","ComponentsHaveIssues","workspaceIssues","getWorkspaceIssues","issuesStr","issueErr","componentsMissingFromScope","componentFromModel","ComponentsPendingImport","throwForComponent","dependenciesIds","getAllDependenciesIds","depId","getModelComponentIfExist","isLegacy","pMap","concurrency","concurrentComponentsLimit","isHash","range","getExactVersionBySemverRange","currentBitIds","depsBitIds","updatedIds","componentIdStr","legacyComponent","dependenciesList","getDependencies","updatedBitId","searchWithoutVersion","_dependenciesList$fin","_dependenciesList$fin2","depIdStr","packageName","findDependency","getPackageName","ext","extensionId","createAspectListFromExtensionDataList","dependenciesListSerialized","extractDepsFromLegacy","serialize","extId","DependencyResolverAspect","existingExtension","findExtension","assign","extension","ExtensionDataEntry","includeUnmodified","tagPendingBitIds","listSnappedComponentsOnMain","snappedComponentsIds","idWithoutVer","idHasWildcard","componentStatus","getComponentStatusById","modified","bitId","tagPendingBitIdsIncludeSnapped","tagPendingComponentsLatest","latestVersions","semver","valid","gt","provider","cli","loggerMain","globalConfig","createLogger","SnappingAspect","snapCmd","SnapCmd","tagCmd","TagCmd","tagFromScopeCmd","TagFromScopeCmd","snapFromScopeCmd","SnapFromScopeCmd","resetCmd","ResetCmd","register","exports","WorkspaceAspect","CLIAspect","LoggerAspect","IssuesAspect","InsightsAspect","ScopeAspect","ExportAspect","BuilderAspect","ImporterAspect","GlobalConfigAspect","MainRuntime","addRuntime","_default"],"sources":["snapping.main.runtime.ts"],"sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { Graph, Node, Edge } from '@teambit/graph.cleargraph';\nimport { LegacyOnTagResult } from '@teambit/legacy/dist/scope/scope';\nimport { FlattenedDependenciesGetter } from '@teambit/legacy/dist/scope/component-ops/get-flattened-dependencies';\nimport WorkspaceAspect, { OutsideWorkspaceError, Workspace } from '@teambit/workspace';\nimport R from 'ramda';\nimport semver, { ReleaseType } from 'semver';\nimport { compact, difference, uniq } from 'lodash';\nimport { Analytics } from '@teambit/legacy/dist/analytics/analytics';\nimport { BitId, BitIds } from '@teambit/legacy/dist/bit-id';\nimport { POST_TAG_ALL_HOOK, POST_TAG_HOOK, Extensions, LATEST, BuildStatus } from '@teambit/legacy/dist/constants';\nimport { Consumer } from '@teambit/legacy/dist/consumer';\nimport ComponentsList from '@teambit/legacy/dist/consumer/component/components-list';\nimport HooksManager from '@teambit/legacy/dist/hooks';\nimport pMapSeries from 'p-map-series';\nimport hasWildcard from '@teambit/legacy/dist/utils/string/has-wildcard';\nimport { validateVersion } from '@teambit/legacy/dist/utils/semver-helper';\nimport loader from '@teambit/legacy/dist/cli/loader';\nimport ComponentsPendingImport from '@teambit/legacy/dist/consumer/component-ops/exceptions/components-pending-import';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { BitError } from '@teambit/bit-error';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component/consumer-component';\nimport pMap from 'p-map';\nimport { InsightsAspect, InsightsMain } from '@teambit/insights';\nimport { concurrentComponentsLimit } from '@teambit/legacy/dist/utils/concurrency';\nimport {\n removeLocalVersionsForAllComponents,\n untagResult,\n getComponentsWithOptionToUntag,\n removeLocalVersionsForMultipleComponents,\n} from '@teambit/legacy/dist/scope/component-ops/untag-component';\nimport { ScopeAspect, ScopeMain } from '@teambit/scope';\nimport { Lane, ModelComponent } from '@teambit/legacy/dist/scope/models';\nimport IssuesAspect, { IssuesMain } from '@teambit/issues';\nimport { Component } from '@teambit/component';\nimport { DependencyResolverAspect, DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { ExtensionDataEntry } from '@teambit/legacy/dist/consumer/config';\nimport { BuilderAspect, BuilderMain } from '@teambit/builder';\nimport { LaneId } from '@teambit/lane-id';\nimport ImporterAspect, { ImporterMain } from '@teambit/importer';\nimport { ExportAspect, ExportMain } from '@teambit/export';\nimport UnmergedComponents from '@teambit/legacy/dist/scope/lanes/unmerged-components';\nimport { ComponentID } from '@teambit/component-id';\nimport { isHash, isTag } from '@teambit/component-version';\nimport { BitObject, Ref, Repository } from '@teambit/legacy/dist/scope/objects';\nimport GlobalConfigAspect, { GlobalConfigMain } from '@teambit/global-config';\nimport {\n ArtifactFiles,\n ArtifactSource,\n getArtifactsFiles,\n} from '@teambit/legacy/dist/consumer/component/sources/artifact-files';\nimport { VersionNotFound } from '@teambit/legacy/dist/scope/exceptions';\nimport { AutoTagResult } from '@teambit/legacy/dist/scope/component-ops/auto-tag';\nimport Version, { DepEdge, DepEdgeType, Log } from '@teambit/legacy/dist/scope/models/version';\nimport { SnapCmd } from './snap-cmd';\nimport { SnappingAspect } from './snapping.aspect';\nimport { TagCmd } from './tag-cmd';\nimport { ComponentsHaveIssues } from './components-have-issues';\nimport ResetCmd from './reset-cmd';\nimport { tagModelComponent, updateComponentsVersions, BasicTagParams } from './tag-model-component';\nimport { TagDataPerCompRaw, TagFromScopeCmd } from './tag-from-scope.cmd';\nimport { SnapDataPerCompRaw, SnapFromScopeCmd } from './snap-from-scope.cmd';\n\nconst HooksManagerInstance = HooksManager.getInstance();\n\nexport type TagDataPerComp = {\n componentId: ComponentID;\n dependencies: ComponentID[];\n versionToTag?: string; // must be set for tag. undefined for snap.\n prereleaseId?: string;\n message?: string;\n};\n\nexport type SnapResults = BasicTagResults & {\n snappedComponents: ConsumerComponent[];\n autoSnappedResults: AutoTagResult[];\n laneName: string | null; // null if default\n};\n\nexport type SnapFromScopeResults = {\n snappedIds: string[];\n exportedIds?: string[];\n};\n\nexport type TagResults = BasicTagResults & {\n taggedComponents: ConsumerComponent[];\n autoTaggedResults: AutoTagResult[];\n isSoftTag: boolean;\n publishedPackages: string[];\n};\n\nexport type BasicTagResults = {\n warnings: string[];\n newComponents: BitIds;\n removedComponents?: BitIds;\n};\n\nexport class SnappingMain {\n private objectsRepo: Repository;\n constructor(\n private workspace: Workspace,\n private logger: Logger,\n private issues: IssuesMain,\n private insights: InsightsMain,\n private dependencyResolver: DependencyResolverMain,\n private scope: ScopeMain,\n private exporter: ExportMain,\n private builder: BuilderMain,\n private importer: ImporterMain\n ) {\n this.objectsRepo = this.scope?.legacyScope?.objects;\n }\n\n /**\n * tag the given component ids or all modified/new components if \"all\" param is set.\n * tag is a similar operation as a snap, which saves the changes into the local scope, but it also creates an alias\n * with a valid semver to that version.\n * tag can be done only on main, not on a lane.\n */\n // eslint-disable-next-line complexity\n async tag({\n ids = [],\n message = '',\n version,\n editor = '',\n snapped = false,\n unmerged = false,\n releaseType,\n preReleaseId,\n ignoreIssues,\n ignoreNewestVersion = false,\n skipTests = false,\n skipAutoTag = false,\n build,\n unmodified = false,\n soft = false,\n persist = false,\n ignoreBuildErrors = false,\n incrementBy = 1,\n disableTagAndSnapPipelines = false,\n failFast = false,\n }: {\n ids?: string[];\n all?: boolean | string;\n snapped?: boolean;\n unmerged?: boolean;\n version?: string;\n releaseType?: ReleaseType;\n ignoreIssues?: string;\n scope?: string | boolean;\n incrementBy?: number;\n failFast?: boolean;\n } & Partial<BasicTagParams>): Promise<TagResults | null> {\n if (soft) build = false;\n if (editor && persist) {\n throw new BitError('you can use either --editor or --persist, but not both');\n }\n if (editor && message) {\n throw new BitError('you can use either --editor or --message, but not both');\n }\n\n const exactVersion = version;\n if (!this.workspace) throw new OutsideWorkspaceError();\n const idsHasWildcard = hasWildcard(ids);\n const isAll = Boolean(!ids.length || idsHasWildcard);\n const validExactVersion = validateVersion(exactVersion);\n const consumer = this.workspace.consumer;\n const componentsList = new ComponentsList(consumer);\n loader.start('determine components to tag...');\n const newComponents = await componentsList.listNewComponents();\n const { bitIds, warnings } = await this.getComponentsToTag(\n unmodified,\n exactVersion,\n persist,\n ids,\n snapped,\n unmerged\n );\n if (R.isEmpty(bitIds)) return null;\n\n const legacyBitIds = BitIds.fromArray(bitIds);\n\n this.logger.debug(`tagging the following components: ${legacyBitIds.toString()}`);\n const components = await this.loadComponentsForTagOrSnap(legacyBitIds, !soft);\n const consumerComponents = components.map((c) => c.state._consumer) as ConsumerComponent[];\n await this.throwForVariousIssues(components, ignoreIssues);\n\n const { taggedComponents, autoTaggedResults, publishedPackages, stagedConfig, removedComponents } =\n await tagModelComponent({\n workspace: this.workspace,\n scope: this.scope,\n snapping: this,\n builder: this.builder,\n consumerComponents,\n ids: legacyBitIds,\n message,\n editor,\n exactVersion: validExactVersion,\n releaseType,\n preReleaseId,\n ignoreNewestVersion,\n skipTests,\n skipAutoTag,\n soft,\n build,\n persist,\n disableTagAndSnapPipelines,\n ignoreBuildErrors,\n incrementBy,\n packageManagerConfigRootDir: this.workspace.path,\n dependencyResolver: this.dependencyResolver,\n exitOnFirstFailedTask: failFast,\n });\n\n const tagResults = {\n taggedComponents,\n autoTaggedResults,\n isSoftTag: soft,\n publishedPackages,\n warnings,\n newComponents,\n removedComponents,\n };\n\n const postHook = isAll ? POST_TAG_ALL_HOOK : POST_TAG_HOOK;\n HooksManagerInstance?.triggerHook(postHook, tagResults);\n Analytics.setExtraData(\n 'num_components',\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n R.concat(tagResults.taggedComponents, tagResults.autoTaggedResults, tagResults.newComponents).length\n );\n await consumer.onDestroy();\n await stagedConfig?.write();\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n return tagResults;\n }\n\n async tagFromScope(\n tagDataPerCompRaw: TagDataPerCompRaw[],\n params: {\n push?: boolean;\n version?: string;\n releaseType?: ReleaseType;\n ignoreIssues?: string;\n incrementBy?: number;\n } & Partial<BasicTagParams>\n ): Promise<TagResults | null> {\n if (this.workspace) {\n throw new BitError(\n `unable to run this command from a workspace, please create a new bare-scope and run it from there`\n );\n }\n if (!this.scope) {\n throw new BitError(`please create a new bare-scope and run it from there`);\n }\n\n const tagDataPerComp = await Promise.all(\n tagDataPerCompRaw.map(async (tagData) => {\n return {\n componentId: await this.scope.resolveComponentId(tagData.componentId),\n dependencies: tagData.dependencies ? await this.scope.resolveMultipleComponentIds(tagData.dependencies) : [],\n versionToTag: tagData.versionToTag || params.releaseType || 'patch',\n prereleaseId: tagData.prereleaseId,\n message: tagData.message,\n };\n })\n );\n const componentIds = tagDataPerComp.map((t) => t.componentId);\n await this.scope.import(componentIds, { preferDependencyGraph: false, reason: 'of the seeders to tag' });\n const deps = compact(tagDataPerComp.map((t) => t.dependencies).flat()).map((dep) => dep.changeVersion(LATEST));\n const additionalComponentIdsToFetch = await Promise.all(\n componentIds.map(async (id) => {\n if (!id.hasVersion()) return null;\n const modelComp = await this.scope.getBitObjectModelComponent(id);\n if (!modelComp) throw new Error(`unable to find ModelComponent of ${id.toString()}`);\n if (!modelComp.head) return null;\n if (modelComp.getRef(id.version)?.isEqual(modelComp.head)) return null;\n if (!params.ignoreNewestVersion) {\n throw new BitError(`unable to tag \"${id.toString()}\", this version is older than the head ${modelComp.head.toString()}.\nif you're willing to lose the history from the head to the specified version, use --ignore-newest-version flag`);\n }\n return id.changeVersion(LATEST);\n })\n );\n\n // import deps to be able to resolve semver\n await this.scope.import([...deps, ...compact(additionalComponentIdsToFetch)], {\n useCache: false,\n reason: `which are the dependencies of the ${componentIds.length} seeders`,\n });\n await Promise.all(\n tagDataPerComp.map(async (tagData) => {\n tagData.dependencies = tagData.dependencies\n ? await Promise.all(tagData.dependencies.map((d) => this.getCompIdWithExactVersionAccordingToSemver(d)))\n : [];\n })\n );\n const bitIds = componentIds.map((c) => c._legacy);\n const components = await this.scope.getMany(componentIds);\n await Promise.all(\n components.map(async (comp) => {\n const tagData = tagDataPerComp.find((t) => t.componentId.isEqual(comp.id, { ignoreVersion: true }));\n if (!tagData) throw new Error(`unable to find ${comp.id.toString()} in tagDataPerComp`);\n if (!tagData.dependencies.length) return;\n await this.updateDependenciesVersionsOfComponent(comp, tagData.dependencies, bitIds);\n })\n );\n\n await this.scope.loadManyCompsAspects(components);\n\n const consumerComponents = components.map((c) => c.state._consumer) as ConsumerComponent[];\n const shouldUsePopulateArtifactsFrom = components.every((comp) => {\n if (!comp.buildStatus) throw new Error(`tag-from-scope expect ${comp.id.toString()} to have buildStatus`);\n return comp.buildStatus === BuildStatus.Succeed;\n });\n const legacyIds = BitIds.fromArray(componentIds.map((id) => id._legacy));\n const results = await tagModelComponent({\n ...params,\n scope: this.scope,\n consumerComponents,\n tagDataPerComp,\n populateArtifactsFrom: shouldUsePopulateArtifactsFrom ? components.map((c) => c.id) : undefined,\n copyLogFromPreviousSnap: true,\n snapping: this,\n builder: this.builder,\n dependencyResolver: this.dependencyResolver,\n skipAutoTag: true,\n persist: true,\n ids: legacyIds,\n message: params.message as string,\n });\n\n const { taggedComponents, publishedPackages } = results;\n\n if (params.push) {\n await this.exporter.exportMany({\n scope: this.scope.legacyScope,\n ids: legacyIds,\n idsWithFutureScope: legacyIds,\n allVersions: false,\n exportOrigin: 'tag',\n });\n }\n\n return {\n taggedComponents,\n autoTaggedResults: [],\n isSoftTag: false,\n publishedPackages,\n warnings: [],\n newComponents: new BitIds(),\n };\n }\n\n async snapFromScope(\n snapDataPerCompRaw: SnapDataPerCompRaw[],\n params: {\n push?: boolean;\n ignoreIssues?: string;\n lane?: string;\n } & Partial<BasicTagParams>\n ): Promise<SnapFromScopeResults> {\n if (this.workspace) {\n throw new BitError(\n `unable to run this command from a workspace, please create a new bare-scope and run it from there`\n );\n }\n const snapDataPerComp = await Promise.all(\n snapDataPerCompRaw.map(async (snapData) => {\n return {\n componentId: await this.scope.resolveComponentId(snapData.componentId),\n dependencies: snapData.dependencies\n ? await this.scope.resolveMultipleComponentIds(snapData.dependencies)\n : [],\n aspects: snapData.aspects,\n message: snapData.message,\n };\n })\n );\n const componentIds = snapDataPerComp.map((t) => t.componentId);\n const bitIds = componentIds.map((c) => c._legacy);\n const componentIdsLatest = componentIds.map((id) => id.changeVersion(LATEST));\n\n let lane: Lane | undefined;\n const laneIdStr = params.lane;\n if (laneIdStr) {\n const laneId = LaneId.parse(laneIdStr);\n lane = await this.importer.importLaneObject(laneId);\n // this is critical. otherwise, later on, when loading aspects and isolating capsules, we'll try to fetch dists\n // from the original scope instead of the lane-scope.\n this.scope.legacyScope.setCurrentLaneId(laneId);\n this.scope.legacyScope.scopeImporter.shouldOnlyFetchFromCurrentLane = true;\n }\n\n await this.scope.import(componentIdsLatest, {\n preferDependencyGraph: false,\n lane,\n reason: `seeders to snap`,\n });\n const components = await this.scope.getMany(componentIdsLatest);\n await Promise.all(\n components.map(async (comp) => {\n const snapData = snapDataPerComp.find((t) => {\n return t.componentId.isEqual(comp.id, { ignoreVersion: true });\n });\n if (!snapData) throw new Error(`unable to find ${comp.id.toString()} in snapDataPerComp`);\n if (snapData.aspects) await this.scope.addAspectsFromConfigObject(comp, snapData.aspects);\n if (snapData.dependencies.length) {\n await this.updateDependenciesVersionsOfComponent(comp, snapData.dependencies, bitIds);\n }\n })\n );\n const consumerComponents = components.map((c) => c.state._consumer);\n const legacyIds = BitIds.fromArray(componentIds.map((id) => id._legacy));\n const results = await tagModelComponent({\n ...params,\n scope: this.scope,\n consumerComponents,\n tagDataPerComp: snapDataPerComp,\n snapping: this,\n builder: this.builder,\n dependencyResolver: this.dependencyResolver,\n skipAutoTag: true,\n persist: true,\n isSnap: true,\n ids: legacyIds,\n message: params.message as string,\n });\n\n const { taggedComponents } = results;\n let exportedIds: string[] | undefined;\n if (params.push) {\n const updatedLane = lane ? await this.scope.legacyScope.loadLane(lane.toLaneId()) : undefined;\n const { exported } = await this.exporter.exportMany({\n scope: this.scope.legacyScope,\n ids: legacyIds,\n idsWithFutureScope: legacyIds,\n allVersions: false,\n laneObject: updatedLane || undefined,\n // no need other snaps. only the latest one. without this option, when snapping on lane from another-scope, it\n // may throw an error saying the previous snaps don't exist on the filesystem.\n // (see the e2e - \"snap on a lane when the component is new to the lane and the scope\")\n exportHeadsOnly: true,\n });\n exportedIds = exported.map((e) => e.toString());\n }\n\n return {\n snappedIds: taggedComponents.map((comp) => comp.id.toString()),\n exportedIds,\n };\n }\n\n /**\n * save the local changes of a component(s) into the scope. snap can be done on main or on a lane.\n * once a component is snapped on a lane, it becomes part of it.\n */\n async snap({\n pattern,\n legacyBitIds, // @todo: change to ComponentID[]. pass only if have the ids already parsed.\n unmerged,\n editor,\n message = '',\n ignoreIssues,\n skipTests = false,\n skipAutoSnap = false,\n build,\n disableTagAndSnapPipelines = false,\n ignoreBuildErrors = false,\n unmodified = false,\n exitOnFirstFailedTask = false,\n }: {\n pattern?: string;\n legacyBitIds?: BitIds;\n unmerged?: boolean;\n editor?: string;\n message?: string;\n ignoreIssues?: string;\n build: boolean;\n skipTests?: boolean;\n skipAutoSnap?: boolean;\n disableTagAndSnapPipelines?: boolean;\n ignoreBuildErrors?: boolean;\n unmodified?: boolean;\n exitOnFirstFailedTask?: boolean;\n }): Promise<SnapResults | null> {\n if (!this.workspace) throw new OutsideWorkspaceError();\n if (pattern && legacyBitIds) throw new Error(`please pass either pattern or legacyBitIds, not both`);\n const consumer: Consumer = this.workspace.consumer;\n const componentsList = new ComponentsList(consumer);\n const newComponents = (await componentsList.listNewComponents()) as BitIds;\n const ids = legacyBitIds || (await getIdsToSnap(this.workspace));\n if (!ids) return null;\n this.logger.debug(`snapping the following components: ${ids.toString()}`);\n const components = await this.loadComponentsForTagOrSnap(ids);\n const consumerComponents = components.map((c) => c.state._consumer) as ConsumerComponent[];\n await this.throwForVariousIssues(components, ignoreIssues);\n\n const { taggedComponents, autoTaggedResults, stagedConfig, removedComponents } = await tagModelComponent({\n workspace: this.workspace,\n scope: this.scope,\n snapping: this,\n builder: this.builder,\n editor,\n consumerComponents,\n ids,\n ignoreNewestVersion: false,\n message,\n skipTests,\n skipAutoTag: skipAutoSnap,\n persist: true,\n soft: false,\n build,\n isSnap: true,\n disableTagAndSnapPipelines,\n ignoreBuildErrors,\n packageManagerConfigRootDir: this.workspace.path,\n dependencyResolver: this.dependencyResolver,\n exitOnFirstFailedTask,\n });\n\n const snapResults: Partial<SnapResults> = {\n snappedComponents: taggedComponents,\n autoSnappedResults: autoTaggedResults,\n newComponents,\n removedComponents,\n };\n\n const currentLane = consumer.getCurrentLaneId();\n snapResults.laneName = currentLane.isDefault() ? null : currentLane.toString();\n await consumer.onDestroy();\n await stagedConfig?.write();\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n return snapResults;\n\n async function getIdsToSnap(workspace: Workspace): Promise<BitIds | null> {\n if (unmerged) {\n return componentsList.listDuringMergeStateComponents();\n }\n const tagPendingComponents = unmodified\n ? await componentsList.listPotentialTagAllWorkspace()\n : await componentsList.listTagPendingComponents();\n if (R.isEmpty(tagPendingComponents)) return null;\n const tagPendingComponentsIds = await workspace.resolveMultipleComponentIds(tagPendingComponents);\n // when unmodified, we ask for all components, throw if no matching. if not unmodified and no matching, see error\n // below, suggesting to use --unmodified flag.\n const shouldThrowForNoMatching = unmodified;\n const getCompIds = async () => {\n if (!pattern) return tagPendingComponentsIds;\n if (!pattern.includes('*') && !pattern.includes(',')) {\n const compId = await workspace.resolveComponentId(pattern);\n return [compId];\n }\n return workspace.scope.filterIdsFromPoolIdsByPattern(\n pattern,\n tagPendingComponentsIds,\n shouldThrowForNoMatching\n );\n };\n const componentIds = await getCompIds();\n if (!componentIds.length && pattern) {\n const allTagPending = await componentsList.listPotentialTagAllWorkspace();\n if (allTagPending.length) {\n throw new BitError(`unable to find matching for \"${pattern}\" pattern among modified/new components.\nthere are matching among unmodified components thought. consider using --unmodified flag if needed`);\n }\n }\n if (!componentIds.length) {\n return null;\n }\n return BitIds.fromArray(componentIds.map((c) => c._legacy));\n }\n }\n\n /**\n * remove tags/snaps that exist locally, which were not exported yet.\n * once a tag/snap is exported, it's impossible to delete it as other components may depend on it\n */\n async reset(\n componentPattern?: string,\n head?: boolean,\n force = false,\n soft = false\n ): Promise<{ results: untagResult[]; isSoftUntag: boolean }> {\n if (!this.workspace) throw new OutsideWorkspaceError();\n const consumer = this.workspace.consumer;\n const currentLane = await consumer.getCurrentLaneObject();\n const untag = async (): Promise<untagResult[]> => {\n if (!componentPattern) {\n return removeLocalVersionsForAllComponents(consumer, currentLane, head);\n }\n const candidateComponents = await getComponentsWithOptionToUntag(consumer);\n const idsMatchingPattern = await this.workspace.idsByPattern(componentPattern);\n const idsMatchingPatternBitIds = BitIds.fromArray(idsMatchingPattern.map((id) => id._legacy));\n const componentsToUntag = candidateComponents.filter((modelComponent) =>\n idsMatchingPatternBitIds.hasWithoutVersion(modelComponent.toBitId())\n );\n return removeLocalVersionsForMultipleComponents(componentsToUntag, currentLane, head, force, consumer.scope);\n };\n const softUntag = async () => {\n const componentsList = new ComponentsList(consumer);\n const softTaggedComponents = componentsList.listSoftTaggedComponents();\n const softTaggedComponentsIds = await this.workspace.resolveMultipleComponentIds(softTaggedComponents);\n const idsToRemoveSoftTags = componentPattern\n ? this.workspace.scope.filterIdsFromPoolIdsByPattern(componentPattern, softTaggedComponentsIds)\n : softTaggedComponentsIds;\n return compact(\n idsToRemoveSoftTags.map((componentId) => {\n const componentMap = consumer.bitMap.getComponent(componentId._legacy, { ignoreVersion: true });\n const removedVersion = componentMap.nextVersion?.version;\n if (!removedVersion) return null;\n componentMap.clearNextVersion();\n return { id: componentId._legacy, versions: [removedVersion] };\n })\n );\n };\n let results: untagResult[];\n const isRealUntag = !soft;\n if (isRealUntag) {\n results = await untag();\n await consumer.scope.objects.persist();\n const components = results.map((result) => result.component);\n await updateComponentsVersions(this.workspace, components as ModelComponent[], false);\n } else {\n results = await softUntag();\n consumer.bitMap.markAsChanged();\n }\n\n await consumer.onDestroy();\n return { results, isSoftUntag: !isRealUntag };\n }\n\n async _addFlattenedDependenciesToComponents(components: ConsumerComponent[]) {\n loader.start('importing missing dependencies...');\n const getLane = async () => {\n const lane = await this.scope.legacyScope.getCurrentLaneObject();\n if (!lane) return undefined;\n if (!lane.isNew) return lane;\n const forkedFrom = lane.forkedFrom;\n if (!forkedFrom) return undefined;\n return this.scope.legacyScope.loadLane(forkedFrom);\n };\n const lane = await getLane();\n\n const flattenedDependenciesGetter = new FlattenedDependenciesGetter(\n this.scope.legacyScope,\n components,\n lane || undefined\n );\n await flattenedDependenciesGetter.populateFlattenedDependencies();\n loader.stop();\n await this._addFlattenedDepsGraphToComponents(components);\n }\n\n async throwForDepsFromAnotherLane(components: ConsumerComponent[]) {\n const lane = await this.scope.legacyScope.getCurrentLaneObject();\n const allIds = BitIds.fromArray(components.map((c) => c.id));\n const missingDeps = await pMapSeries(components, async (component) => {\n return this.throwForDepsFromAnotherLaneForComp(component, allIds, lane || undefined);\n });\n const flattenedMissingDeps = BitIds.uniqFromArray(missingDeps.flat().map((id) => id.changeVersion(undefined)));\n if (!flattenedMissingDeps.length) return;\n // ignore the cache. even if the component exists locally, we still need its VersionHistory object\n // in order to traverse the history and determine whether it's part of the lane history.\n await this.scope.legacyScope.scopeImporter.importWithoutDeps(flattenedMissingDeps, {\n cache: false,\n ignoreMissingHead: true,\n includeVersionHistory: true,\n lane: lane || undefined,\n reason: 'of latest with version-history to make sure there are no dependencies from another lane',\n });\n await pMapSeries(components, async (component) => {\n await this.throwForDepsFromAnotherLaneForComp(component, allIds, lane || undefined, true);\n });\n }\n\n private async throwForVariousIssues(components: Component[], ignoreIssues?: string) {\n const componentsToCheck = components.filter((c) => !c.isDeleted());\n const consumerComponents = componentsToCheck.map((c) => c.state._consumer) as ConsumerComponent[];\n await this.throwForLegacyDependenciesInsideHarmony(consumerComponents);\n await this.throwForComponentIssues(componentsToCheck, ignoreIssues);\n this.throwForPendingImport(consumerComponents);\n }\n\n private async throwForDepsFromAnotherLaneForComp(\n component: ConsumerComponent,\n allIds: BitIds,\n lane?: Lane,\n throwForMissingObjects = false\n ) {\n const deps = component.getAllDependencies();\n const missingDeps: BitId[] = [];\n await Promise.all(\n deps.map(async (dep) => {\n if (!dep.id.hasScope() || !dep.id.hasVersion()) return;\n if (isTag(dep.id.version)) return;\n if (allIds.hasWithoutVersion(dep.id)) return; // it's tagged/snapped now.\n let isPartOfHistory: boolean | undefined;\n try {\n isPartOfHistory = lane\n ? (await this.scope.legacyScope.isPartOfLaneHistory(dep.id, lane)) ||\n (await this.scope.legacyScope.isPartOfMainHistory(dep.id))\n : await this.scope.legacyScope.isPartOfMainHistory(dep.id);\n } catch (err) {\n if (throwForMissingObjects) throw err;\n if (err instanceof VersionNotFound) {\n missingDeps.push(dep.id);\n return;\n }\n throw err;\n }\n\n if (!isPartOfHistory) {\n const laneOrMainStr = lane ? `current lane \"${lane.name}\"` : 'main';\n throw new Error(\n `unable to tag/snap ${component.id.toString()}, it has a dependency ${dep.id.toString()} which is not part of ${laneOrMainStr} history.\none option to resolve this is installing ${dep.id.toStringWithoutVersion()} via \"bit install\", which installs the version from main.\nanother option, in case this dependency is not in main yet is to remove all references of this dependency in the code and then tag/snap.`\n );\n }\n })\n );\n return missingDeps;\n }\n\n async _addFlattenedDepsGraphToComponents(components: ConsumerComponent[]) {\n const graph = new Graph<BitId, string>();\n const addEdges = (compId: BitId, dependencies: ConsumerComponent['dependencies'], label: DepEdgeType) => {\n dependencies.get().forEach((dep) => {\n graph.setNode(new Node(dep.id.toString(), dep.id));\n graph.setEdge(new Edge(compId.toString(), dep.id.toString(), label));\n });\n };\n components.forEach((comp) => {\n graph.setNode(new Node(comp.id.toString(), comp.id));\n addEdges(comp.id, comp.dependencies, 'prod');\n addEdges(comp.id, comp.devDependencies, 'dev');\n addEdges(comp.id, comp.extensionDependencies, 'ext');\n });\n const allFlattened = components.map((comp) => comp.flattenedDependencies);\n const allFlattenedUniq = BitIds.uniqFromArray(allFlattened.flat());\n const allFlattenedWithoutCurrent = allFlattenedUniq.filter((id) => !components.find((c) => c.id.isEqual(id)));\n const componentsAndVersions = await this.scope.legacyScope.getComponentsAndVersions(\n BitIds.fromArray(allFlattenedWithoutCurrent)\n );\n componentsAndVersions.forEach(({ component, version, versionStr }) => {\n const compId = component.toBitId().changeVersion(versionStr);\n graph.setNode(new Node(compId.toString(), compId));\n addEdges(compId, version.dependencies, 'prod');\n addEdges(compId, version.devDependencies, 'dev');\n addEdges(compId, version.extensionDependencies, 'ext');\n });\n let someCompsHaveMissingFlattened = false;\n components.forEach((component) => {\n const edges = graph.outEdges(component.id.toString());\n const flattenedEdges = component.flattenedDependencies.map((dep) => graph.outEdges(dep.toString())).flat();\n const allEdges = [...edges, ...flattenedEdges];\n const edgesWithBitIds: DepEdge[] = allEdges.map((edge) => ({\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n source: graph.node(edge.source)!.attr,\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n target: graph.node(edge.target)!.attr,\n type: edge.attr as DepEdgeType,\n }));\n component.flattenedEdges = edgesWithBitIds;\n\n // due to some previous bugs, some components might have missing flattened dependencies.\n // as a result, the flattenedEdges may have more components than the flattenedDependencies, which will cause\n // issues later on when the graph is built. this fixes it by adding the missing flattened dependencies, and\n // then recursively adding the flattenedEdge accordingly.\n const flattened = component.flattenedDependencies.map((dep) => dep.toString());\n const flattenedFromEdges = uniq(\n edgesWithBitIds.map((edge) => [edge.target.toString(), edge.source.toString()]).flat()\n );\n const missingFlattened = difference(flattenedFromEdges, flattened).filter((id) => id !== component.id.toString());\n\n if (missingFlattened.length) {\n someCompsHaveMissingFlattened = true;\n this.logger.warn(`missing flattened for ${component.id.toString()}: ${missingFlattened.join(', ')}`);\n const missingBitIds = missingFlattened.map((id) => {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return graph.node(id)!.attr;\n });\n component.flattenedDependencies.push(...missingBitIds);\n }\n });\n if (someCompsHaveMissingFlattened) {\n await this._addFlattenedDepsGraphToComponents(components);\n }\n }\n\n _updateComponentsByTagResult(components: ConsumerComponent[], tagResult: LegacyOnTagResult[]) {\n tagResult.forEach((result) => {\n const matchingComponent = components.find((c) => c.id.isEqual(result.id));\n if (matchingComponent) {\n const existingBuilder = matchingComponent.extensions.findCoreExtension(Extensions.builder);\n if (existingBuilder) existingBuilder.data = result.builderData.data;\n else matchingComponent.extensions.push(result.builderData);\n }\n });\n }\n\n _getPublishedPackages(components: ConsumerComponent[]): string[] {\n const publishedPackages = components.map((comp) => {\n const builderExt = comp.extensions.findCoreExtension(Extensions.builder);\n const pkgData = builderExt?.data?.aspectsData?.find((a) => a.aspectId === Extensions.pkg);\n return pkgData?.data?.publishedPackage;\n });\n return compact(publishedPackages);\n }\n\n async _addCompToObjects({\n source,\n consumer,\n lane,\n shouldValidateVersion = false,\n }: {\n source: ConsumerComponent;\n consumer: Consumer;\n lane: Lane | null;\n shouldValidateVersion?: boolean;\n }): Promise<ModelComponent> {\n const { component, version } = await this._addCompFromScopeToObjects(source, lane);\n const unmergedComponent = consumer.scope.objects.unmergedComponents.getEntry(component.name);\n if (unmergedComponent) {\n if (unmergedComponent.unrelated) {\n this.logger.debug(\n `sources.addSource, unmerged component \"${component.name}\". adding an unrelated entry ${unmergedComponent.head.hash}`\n );\n if (!source.previouslyUsedVersion) {\n throw new Error(\n `source.previouslyUsedVersion must be set for ${component.name} because it's unrelated resolved.`\n );\n }\n if (unmergedComponent.unrelated === true) {\n // backward compatibility\n const unrelatedHead = Ref.from(source.previouslyUsedVersion);\n version.setUnrelated({ head: unrelatedHead, laneId: unmergedComponent.laneId });\n version.addAsOnlyParent(unmergedComponent.head);\n } else {\n const unrelated = unmergedComponent.unrelated;\n version.setUnrelated({ head: unrelated.unrelatedHead, laneId: unrelated.unrelatedLaneId });\n version.addAsOnlyParent(unrelated.headOnCurrentLane);\n }\n } else {\n // this is adding a second parent to the version. the order is important. the first parent is coming from the current-lane.\n version.addParent(unmergedComponent.head);\n this.logger.debug(\n `sources.addSource, unmerged component \"${component.name}\". adding a parent ${unmergedComponent.head.hash}`\n );\n version.log.message = version.log.message || UnmergedComponents.buildSnapMessage(unmergedComponent);\n }\n consumer.scope.objects.unmergedComponents.removeComponent(component.name);\n }\n if (shouldValidateVersion) version.validate();\n return component;\n }\n\n async _addCompFromScopeToObjects(\n source: ConsumerComponent,\n lane: Lane | null\n ): Promise<{\n component: ModelComponent;\n version: Version;\n }> {\n const objectRepo = this.objectsRepo;\n // if a component exists in the model, add a new version. Otherwise, create a new component on the model\n const component = await this.scope.legacyScope.sources.findOrAddComponent(source);\n const artifactFiles = getArtifactsFiles(source.extensions);\n const artifacts = this.transformArtifactsFromVinylToSource(artifactFiles);\n const { version, files, flattenedEdges } = await this.scope.legacyScope.sources.consumerComponentToVersion(source);\n version.origin = {\n id: { scope: source.scope || (source.defaultScope as string), name: source.name },\n lane: lane ? { scope: lane.scope, name: lane.name, hash: lane.hash().toString() } : undefined,\n };\n objectRepo.add(version);\n if (flattenedEdges) this.objectsRepo.add(flattenedEdges);\n if (!source.version) throw new Error(`addSource expects source.version to be set`);\n component.addVersion(version, source.version, lane, objectRepo, source.previouslyUsedVersion);\n objectRepo.add(component);\n files.forEach((file) => objectRepo.add(file.file));\n if (artifacts) artifacts.forEach((file) => objectRepo.add(file.source));\n return { component, version };\n }\n\n async _enrichComp(consumerComponent: ConsumerComponent, modifiedLog?: Log) {\n const objects = await this._getObjectsToEnrichComp(consumerComponent, modifiedLog);\n objects.forEach((obj) => this.objectsRepo.add(obj));\n return consumerComponent;\n }\n\n async _getObjectsToEnrichComp(consumerComponent: ConsumerComponent, modifiedLog?: Log): Promise<BitObject[]> {\n const component =\n consumerComponent.modelComponent || (await this.scope.legacyScope.sources.findOrAddComponent(consumerComponent));\n const version = await component.loadVersion(consumerComponent.id.version as string, this.objectsRepo, true, true);\n if (modifiedLog) version.addModifiedLog(modifiedLog);\n const artifactFiles = getArtifactsFiles(consumerComponent.extensions);\n const artifacts = this.transformArtifactsFromVinylToSource(artifactFiles);\n version.extensions = consumerComponent.extensions;\n version.buildStatus = consumerComponent.buildStatus;\n const artifactObjects = artifacts.map((file) => file.source);\n return [version, ...artifactObjects];\n }\n\n private transformArtifactsFromVinylToSource(artifactsFiles: ArtifactFiles[]): ArtifactSource[] {\n const artifacts: ArtifactSource[] = [];\n artifactsFiles.forEach((artifactFiles) => {\n const artifactsSource = ArtifactFiles.fromVinylsToSources(artifactFiles.vinyls);\n if (artifactsSource.length) artifactFiles.populateRefsFromSources(artifactsSource);\n artifacts.push(...artifactsSource);\n });\n return artifacts;\n }\n\n private async loadComponentsForTagOrSnap(ids: BitIds, shouldClearCacheFirst = true): Promise<Component[]> {\n const compIds = await this.workspace.resolveMultipleComponentIds(ids);\n if (shouldClearCacheFirst) {\n await this.workspace.consumer.componentFsCache.deleteAllDependenciesDataCache();\n compIds.map((compId) => this.workspace.clearComponentCache(compId));\n }\n\n return this.workspace.getMany(compIds.map((id) => id.changeVersion(undefined)));\n }\n\n private async throwForComponentIssues(components: Component[], ignoreIssues?: string) {\n if (ignoreIssues === '*') {\n // ignore all issues\n return;\n }\n const issuesToIgnoreFromFlag = ignoreIssues?.split(',').map((issue) => issue.trim()) || [];\n const issuesToIgnoreFromConfig = this.issues.getIssuesToIgnoreGlobally();\n const issuesToIgnore = [...issuesToIgnoreFromFlag, ...issuesToIgnoreFromConfig];\n await this.issues.triggerAddComponentIssues(components, issuesToIgnore);\n this.issues.removeIgnoredIssuesFromComponents(components, issuesToIgnore);\n const legacyComponents = components.map((c) => c.state._consumer) as ConsumerComponent[];\n const componentsWithBlockingIssues = legacyComponents.filter((component) => component.issues?.shouldBlockTagging());\n if (!R.isEmpty(componentsWithBlockingIssues)) {\n throw new ComponentsHaveIssues(componentsWithBlockingIssues);\n }\n\n const workspaceIssues = this.workspace.getWorkspaceIssues();\n if (workspaceIssues.length) {\n const issuesStr = workspaceIssues.map((issueErr) => issueErr.message).join('\\n');\n throw new BitError(`the workspace has the following issues:\\n${issuesStr}`);\n }\n }\n\n private throwForPendingImport(components: ConsumerComponent[]) {\n const componentsMissingFromScope = components\n .filter((c) => !c.componentFromModel && c.id.hasScope())\n .map((c) => c.id.toString());\n if (componentsMissingFromScope.length) {\n throw new ComponentsPendingImport(componentsMissingFromScope);\n }\n }\n\n private async throwForLegacyDependenciesInsideHarmony(components: ConsumerComponent[]) {\n const throwForComponent = async (component: ConsumerComponent) => {\n const dependenciesIds = component.getAllDependenciesIds();\n const legacyScope = this.workspace.scope.legacyScope;\n await Promise.all(\n dependenciesIds.map(async (depId) => {\n if (!depId.hasVersion()) return;\n const modelComp = await legacyScope.getModelComponentIfExist(depId);\n if (!modelComp) return;\n const version = await modelComp.loadVersion(depId.version as string, legacyScope.objects);\n if (version.isLegacy) {\n throw new Error(\n `unable tagging \"${component.id.toString()}\", its dependency \"${depId.toString()}\" is legacy`\n );\n }\n })\n );\n };\n await pMap(components, (component) => throwForComponent(component), { concurrency: concurrentComponentsLimit() });\n }\n\n /**\n * the compId.version can be a range (e.g. \"^1.0.0\"), in which case, it finds the component in the local scope and\n * resolves the latest version that falls under the range.\n * in case the version has no range, it returns the same compId.\n * in case it has no version, it returns the latest.\n */\n async getCompIdWithExactVersionAccordingToSemver(compId: ComponentID): Promise<ComponentID> {\n if (isHash(compId.version)) {\n return compId;\n }\n const range = compId.version || '*'; // if not version specified, assume the latest\n const id = compId.changeVersion(undefined);\n const exactVersion = await this.scope.getExactVersionBySemverRange(id, range);\n if (!exactVersion) {\n throw new Error(`unable to find a version that satisfies \"${range}\" of \"${compId.toString()}\"`);\n }\n return compId.changeVersion(exactVersion);\n }\n\n async updateDependenciesVersionsOfComponent(\n component: Component,\n dependencies: ComponentID[],\n currentBitIds: BitId[]\n ) {\n const depsBitIds = dependencies.map((d) => d._legacy);\n const updatedIds = BitIds.fromArray([...currentBitIds, ...depsBitIds]);\n const componentIdStr = component.id.toString();\n const legacyComponent: ConsumerComponent = component.state._consumer;\n const deps = [...legacyComponent.dependencies.get(), ...legacyComponent.devDependencies.get()];\n const dependenciesList = await this.dependencyResolver.getDependencies(component);\n deps.forEach((dep) => {\n const updatedBitId = updatedIds.searchWithoutVersion(dep.id);\n if (updatedBitId) {\n const depIdStr = dep.id.toString();\n const packageName = dependenciesList.findDependency(depIdStr)?.getPackageName?.();\n if (!packageName) {\n throw new Error(\n `unable to find the package-name of \"${depIdStr}\" dependency inside the dependency-resolver data of \"${componentIdStr}\"`\n );\n }\n this.logger.debug(`updating \"${componentIdStr}\", dependency ${depIdStr} to version ${updatedBitId.version}}`);\n dep.id = updatedBitId;\n dep.packageName = packageName;\n }\n });\n legacyComponent.extensions.forEach((ext) => {\n if (!ext.extensionId) return;\n const updatedBitId = updatedIds.searchWithoutVersion(ext.extensionId);\n if (updatedBitId) {\n this.logger.debug(\n `updating \"${componentIdStr}\", extension ${ext.extensionId.toString()} to version ${updatedBitId.version}}`\n );\n ext.extensionId = updatedBitId;\n }\n });\n\n component.state.aspects = await this.scope.createAspectListFromExtensionDataList(legacyComponent.extensions);\n\n const dependenciesListSerialized = (await this.dependencyResolver.extractDepsFromLegacy(component)).serialize();\n const extId = DependencyResolverAspect.id;\n const data = { dependencies: dependenciesListSerialized };\n const existingExtension = component.state._consumer.extensions.findExtension(extId);\n if (existingExtension) {\n // Only merge top level of extension data\n Object.assign(existingExtension.data, data);\n return;\n }\n const extension = new ExtensionDataEntry(undefined, undefined, extId, undefined, data);\n component.state._consumer.extensions.push(extension);\n }\n\n private async getComponentsToTag(\n includeUnmodified: boolean,\n exactVersion: string | undefined,\n persist: boolean,\n ids: string[],\n snapped: boolean,\n unmerged: boolean\n ): Promise<{ bitIds: BitId[]; warnings: string[] }> {\n const warnings: string[] = [];\n const componentsList = new ComponentsList(this.workspace.consumer);\n if (persist) {\n const softTaggedComponents = componentsList.listSoftTaggedComponents();\n return { bitIds: softTaggedComponents, warnings: [] };\n }\n\n const tagPendingBitIds = includeUnmodified\n ? await componentsList.listPotentialTagAllWorkspace()\n : await componentsList.listTagPendingComponents();\n\n const tagPendingComponentsIds = await this.workspace.resolveMultipleComponentIds(tagPendingBitIds);\n\n const snappedComponents = await componentsList.listSnappedComponentsOnMain();\n const snappedComponentsIds = snappedComponents.map((c) => c.toBitId());\n\n if (ids.length) {\n const componentIds = await pMapSeries(ids, async (id) => {\n const [idWithoutVer, version] = id.split('@');\n const idHasWildcard = hasWildcard(id);\n if (idHasWildcard) {\n const allIds = this.workspace.scope.filterIdsFromPoolIdsByPattern(idWithoutVer, tagPendingComponentsIds);\n return allIds.map((componentId) => componentId.changeVersion(version));\n }\n const componentId = await this.workspace.resolveComponentId(idWithoutVer);\n if (!includeUnmodified) {\n const componentStatus = await this.workspace.consumer.getComponentStatusById(componentId._legacy);\n if (componentStatus.modified === false) return null;\n }\n return componentId.changeVersion(version);\n });\n\n return { bitIds: compact(componentIds.flat()).map((bitId) => bitId._legacy), warnings };\n }\n\n if (snapped) {\n return { bitIds: snappedComponentsIds, warnings };\n }\n\n if (unmerged) {\n return { bitIds: componentsList.listDuringMergeStateComponents(), warnings };\n }\n\n const tagPendingBitIdsIncludeSnapped = [...tagPendingBitIds, ...snappedComponentsIds];\n\n if (includeUnmodified && exactVersion) {\n const tagPendingComponentsLatest = await this.workspace.scope.legacyScope.latestVersions(tagPendingBitIds, false);\n tagPendingComponentsLatest.forEach((componentId) => {\n if (componentId.version && semver.valid(componentId.version) && semver.gt(componentId.version, exactVersion)) {\n warnings.push(`warning: ${componentId.toString()} has a version greater than ${exactVersion}`);\n }\n });\n }\n\n return { bitIds: tagPendingBitIdsIncludeSnapped.map((id) => id.changeVersion(undefined)), warnings };\n }\n\n static slots = [];\n static dependencies = [\n WorkspaceAspect,\n CLIAspect,\n LoggerAspect,\n IssuesAspect,\n InsightsAspect,\n DependencyResolverAspect,\n ScopeAspect,\n ExportAspect,\n BuilderAspect,\n ImporterAspect,\n GlobalConfigAspect,\n ];\n static runtime = MainRuntime;\n static async provider([\n workspace,\n cli,\n loggerMain,\n issues,\n insights,\n dependencyResolver,\n scope,\n exporter,\n builder,\n importer,\n globalConfig,\n ]: [\n Workspace,\n CLIMain,\n LoggerMain,\n IssuesMain,\n InsightsMain,\n DependencyResolverMain,\n ScopeMain,\n ExportMain,\n BuilderMain,\n ImporterMain,\n GlobalConfigMain\n ]) {\n const logger = loggerMain.createLogger(SnappingAspect.id);\n const snapping = new SnappingMain(\n workspace,\n logger,\n issues,\n insights,\n dependencyResolver,\n scope,\n exporter,\n builder,\n importer\n );\n const snapCmd = new SnapCmd(snapping, logger, globalConfig);\n const tagCmd = new TagCmd(snapping, logger, globalConfig);\n const tagFromScopeCmd = new TagFromScopeCmd(snapping, logger);\n const snapFromScopeCmd = new SnapFromScopeCmd(snapping, logger);\n const resetCmd = new ResetCmd(snapping);\n cli.register(tagCmd, snapCmd, resetCmd, tagFromScopeCmd, snapFromScopeCmd);\n return snapping;\n }\n}\n\nSnappingAspect.addRuntime(SnappingMain);\n\nexport default SnappingMain;\n"],"mappings":"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"}
|
package/dist/tag-cmd.js
CHANGED
|
@@ -174,6 +174,14 @@ to ignore multiple issues, separate them by a comma and wrap with quotes. to ign
|
|
|
174
174
|
if (persist) {
|
|
175
175
|
if (persist === true) build = true;else if (persist === 'skip-build') build = false;else throw new (_bitError().BitError)(`unknown value for --persist, use either --persist or --persist=skip-build`);
|
|
176
176
|
}
|
|
177
|
+
if (!build) {
|
|
178
|
+
this.logger.consoleWarning(`tagging components on "main" lane when using remote build is not recommended. To avoid SemVer versions of your component with failing builds, please refer to:
|
|
179
|
+
- Snap changes in a different lane and merge to "main" on your remote (learn more on lanes - https://bit.dev/reference/lanes/getting-started-with-lanes)
|
|
180
|
+
- Use \`bit tag --build\` to build your components locally.
|
|
181
|
+
- Use \`snap\` or \`build\` first to validate your build passing, and then version and export safely.
|
|
182
|
+
|
|
183
|
+
To undo local tag use the "bit reset" command.`);
|
|
184
|
+
}
|
|
177
185
|
const params = {
|
|
178
186
|
ids: patterns,
|
|
179
187
|
snapped,
|
|
@@ -221,7 +229,7 @@ to ignore multiple issues, separate them by a comma and wrap with quotes. to ign
|
|
|
221
229
|
const outputComponents = comps => {
|
|
222
230
|
return comps.map(component => {
|
|
223
231
|
let componentOutput = ` > ${compInBold(component.id)}`;
|
|
224
|
-
const autoTag = autoTaggedResults.filter(result => result.triggeredBy.
|
|
232
|
+
const autoTag = autoTaggedResults.filter(result => result.triggeredBy.searchWithoutVersion(component.id));
|
|
225
233
|
if (autoTag.length) {
|
|
226
234
|
const autoTagComp = autoTag.map(a => compInBold(a.component.id));
|
|
227
235
|
componentOutput += `\n ${_tag().AUTO_TAGGED_MSG}:
|
package/dist/tag-cmd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_chalk","data","_interopRequireDefault","require","_tag","_constants","_componentIssues","_bitError","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","RELEASE_TYPES","TagCmd","constructor","snapping","logger","globalConfig","name","description","COMPONENT_PATTERN_HELP","join","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","disableTagAndSnapPipelines","getBool","CFG_FORCE_LOCAL_BUILD","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 { 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 {\n DEFAULT_BIT_RELEASE_TYPE,\n COMPONENT_PATTERN_HELP,\n CFG_FORCE_LOCAL_BUILD,\n} from '@teambit/legacy/dist/constants';\nimport { GlobalConfigMain } from '@teambit/global-config';\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 = '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 [\n '',\n 'persist [skip-build]',\n 'persist the changes generated by --soft tag. by default, run the build pipeline, unless \"skip-build\" is provided',\n ],\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', 'locally run the build pipeline (i.e. not via rippleCI) 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, private globalConfig: GlobalConfigMain) {}\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 = (await this.globalConfig.getBool(CFG_FORCE_LOCAL_BUILD)) || Boolean(build);\n if (persist) {\n if (persist === true) build = true;\n else if (persist === 'skip-build') build = false;\n else throw new BitError(`unknown value for --persist, use either --persist or --persist=skip-build`);\n }\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(persist ? 'no soft-tag found' : 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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"}
|
|
1
|
+
{"version":3,"names":["_chalk","data","_interopRequireDefault","require","_tag","_constants","_componentIssues","_bitError","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","RELEASE_TYPES","TagCmd","constructor","snapping","logger","globalConfig","name","description","COMPONENT_PATTERN_HELP","join","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","disableTagAndSnapPipelines","getBool","CFG_FORCE_LOCAL_BUILD","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","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 { 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 {\n DEFAULT_BIT_RELEASE_TYPE,\n COMPONENT_PATTERN_HELP,\n CFG_FORCE_LOCAL_BUILD,\n} from '@teambit/legacy/dist/constants';\nimport { GlobalConfigMain } from '@teambit/global-config';\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 = '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 [\n '',\n 'persist [skip-build]',\n 'persist the changes generated by --soft tag. by default, run the build pipeline, unless \"skip-build\" is provided',\n ],\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', 'locally run the build pipeline (i.e. not via rippleCI) 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, private globalConfig: GlobalConfigMain) {}\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 = (await this.globalConfig.getBool(CFG_FORCE_LOCAL_BUILD)) || Boolean(build);\n if (persist) {\n if (persist === true) build = true;\n else if (persist === 'skip-build') build = false;\n else throw new BitError(`unknown value for --persist, use either --persist or --persist=skip-build`);\n }\n if (!build) {\n this.logger.consoleWarning(\n `tagging components on \"main\" lane when using remote build is not recommended. To avoid SemVer versions of your component with failing builds, please refer to:\n- Snap changes in a different lane and merge to \"main\" on your remote (learn more on lanes - https://bit.dev/reference/lanes/getting-started-with-lanes)\n- Use \\`bit tag --build\\` to build your components locally.\n- Use \\`snap\\` or \\`build\\` first to validate your build passing, and then version and export safely.\n\nTo undo local tag use the \"bit reset\" command.`\n );\n }\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(persist ? 'no soft-tag found' : 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) => result.triggeredBy.searchWithoutVersion(component.id));\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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"}
|
|
@@ -174,7 +174,7 @@ to ignore multiple issues, separate them by a comma and wrap with quotes. to ign
|
|
|
174
174
|
const outputComponents = comps => {
|
|
175
175
|
return comps.map(component => {
|
|
176
176
|
let componentOutput = ` > ${component.id.toString()}`;
|
|
177
|
-
const autoTag = autoTaggedResults.filter(result => result.triggeredBy.
|
|
177
|
+
const autoTag = autoTaggedResults.filter(result => result.triggeredBy.searchWithoutVersion(component.id));
|
|
178
178
|
if (autoTag.length) {
|
|
179
179
|
const autoTagComp = autoTag.map(a => a.component.id.toString());
|
|
180
180
|
componentOutput += `\n ${_tag().AUTO_TAGGED_MSG}:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_chalk","data","_interopRequireDefault","require","_tag","_constants","_bootstrap","_componentIssues","_bitError","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","RELEASE_TYPES","TagFromScopeCmd","constructor","snapping","logger","join","keys","IssuesClasses","report","push","message","ver","patch","minor","major","preRelease","increment","prereleaseId","ignoreIssues","ignoreNewestVersion","skipTests","disableTagPipeline","forceDeploy","ignoreBuildErrors","incrementBy","BitError","releaseFlags","filter","x","length","consoleWarning","getReleaseType","includes","DEFAULT_BIT_RELEASE_TYPE","getPreReleaseId","params","releaseType","preReleaseId","build","persist","disableTagAndSnapPipelines","version","tagDataPerCompRaw","parseData","console","getHarmonyVersion","results","tagFromScope","chalk","yellow","NOTHING_TO_TAG_MSG","taggedComponents","autoTaggedResults","warnings","newComponents","changedComponents","component","searchWithoutVersion","id","addedComponents","autoTaggedCount","warningsOutput","tagExplanationPersist","tagExplanationSoft","tagExplanation","isSoftTag","outputComponents","comps","map","componentOutput","toString","autoTag","result","triggeredBy","searchWithoutScopeAndVersion","autoTagComp","a","AUTO_TAGGED_MSG","publishOutput","publishedPackages","successTitle","green","successCompsStr","successOutput","softTagPrefix","outputIfExists","label","explanation","components","underline","newDesc","changedDesc","softTagClarification","bold","dataParsed","JSON","parse","err","Error","Array","isArray","forEach","dataItem","componentId","exports"],"sources":["tag-from-scope.cmd.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { NOTHING_TO_TAG_MSG, AUTO_TAGGED_MSG } from '@teambit/legacy/dist/api/consumer/lib/tag';\nimport { DEFAULT_BIT_RELEASE_TYPE } from '@teambit/legacy/dist/constants';\nimport { getHarmonyVersion } from '@teambit/legacy/dist/bootstrap';\nimport { IssuesClasses } from '@teambit/component-issues';\nimport { ReleaseType } from 'semver';\nimport { BitError } from '@teambit/bit-error';\nimport { Logger } from '@teambit/logger';\nimport { SnappingMain, TagResults } from './snapping.main.runtime';\nimport { BasicTagParams } from './tag-model-component';\n\nconst RELEASE_TYPES = ['major', 'premajor', 'minor', 'preminor', 'patch', 'prepatch', 'prerelease'];\n\nexport type TagDataPerCompRaw = {\n componentId: string;\n dependencies?: string[];\n versionToTag?: string;\n prereleaseId?: string;\n message?: string;\n};\n\nexport class TagFromScopeCmd implements Command {\n name = '_tag <data>';\n group = 'development';\n private = true;\n description =\n 'tag components from a bare-scope by using build artifacts from previous snap and running the deploy-pipeline only';\n extendedDescription = `this command should be running from a new bare scope, it first imports the components it needs and then processes the tag.\nthe input data is a stringified JSON of an array of the following object.\n{\n componentId: string; // ids always have scope, so it's safe to parse them from string\n dependencies?: string[]; // e.g. [teambit/compiler@1.0.0, teambit/tester^@1.0.0, teambit/linter~@0.0.1]\n versionToTag?: string; // specific version (e.g. '1.0.0') or semver (e.g. 'minor', 'patch')\n prereleaseId?: string; // applicable when versionToTag is a pre-release. (e.g. \"dev\", for 1.0.0-dev.1)\n message?: string; // tag-message.\n}\nan example of the final data: '[{\"componentId\":\"ci.remote2/comp-b\",\"dependencies\":[\"ci.remote/comp1@0.0.2\"]}]'\n`;\n alias = '';\n loader = true;\n options = [\n ['', 'push', 'export the updated objects to the original scopes once done'],\n ['m', 'message <message>', 'a log message describing latest changes'],\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 ['', 'skip-tests', 'skip running component tests during tag process'],\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 ] as CommandOptions;\n remoteOp = true; // In case a compiler / tester is not installed\n\n constructor(private snapping: SnappingMain, private logger: Logger) {}\n\n // eslint-disable-next-line complexity\n async report(\n [data]: [string],\n {\n push,\n message = '',\n ver,\n patch,\n minor,\n major,\n preRelease,\n increment,\n prereleaseId,\n ignoreIssues,\n ignoreNewestVersion = false,\n skipTests = false,\n disableTagPipeline = false,\n forceDeploy = false,\n ignoreBuildErrors = false,\n incrementBy = 1,\n }: {\n push?: boolean;\n ver?: string;\n patch?: boolean;\n minor?: boolean;\n major?: boolean;\n increment?: ReleaseType;\n preRelease?: string;\n prereleaseId?: string;\n ignoreIssues?: string;\n incrementBy?: number;\n forceDeploy?: boolean;\n disableTagPipeline?: boolean;\n } & Partial<BasicTagParams>\n ): Promise<string> {\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 (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\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 if (forceDeploy) {\n this.logger.consoleWarning(`--force-deploy is deprecated, use --ignore-build-errors instead`);\n ignoreBuildErrors = true;\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 params = {\n push,\n message,\n releaseType: getReleaseType(),\n preReleaseId: getPreReleaseId(),\n ignoreIssues,\n ignoreNewestVersion,\n skipTests,\n build: true,\n persist: true,\n disableTagAndSnapPipelines: disableTagPipeline,\n ignoreBuildErrors,\n forceDeploy,\n incrementBy,\n version: ver,\n };\n\n const tagDataPerCompRaw = this.parseData(data);\n this.logger.console(`tagging using ${getHarmonyVersion()} version`);\n const results = await this.snapping.tagFromScope(tagDataPerCompRaw, params);\n if (!results) return chalk.yellow(NOTHING_TO_TAG_MSG);\n const { taggedComponents, autoTaggedResults, warnings, newComponents }: 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 outputComponents = (comps) => {\n return comps\n .map((component) => {\n let componentOutput = ` > ${component.id.toString()}`;\n const autoTag = autoTaggedResults.filter((result) =>\n result.triggeredBy.searchWithoutScopeAndVersion(component.id)\n );\n if (autoTag.length) {\n const autoTagComp = autoTag.map((a) => a.component.id.toString());\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) => {\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 publishOutput() +\n softTagClarification\n );\n }\n private parseData(data: string): TagDataPerCompRaw[] {\n let dataParsed: unknown;\n try {\n dataParsed = JSON.parse(data);\n } catch (err: any) {\n throw new Error(`failed parsing the data entered as JSON. err ${err.message}`);\n }\n if (!Array.isArray(dataParsed)) {\n throw new Error('expect data to be an array');\n }\n dataParsed.forEach((dataItem) => {\n if (!dataItem.componentId) throw new Error('expect data item to have \"componentId\" prop');\n });\n return dataParsed;\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_chalk","data","_interopRequireDefault","require","_tag","_constants","_bootstrap","_componentIssues","_bitError","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","RELEASE_TYPES","TagFromScopeCmd","constructor","snapping","logger","join","keys","IssuesClasses","report","push","message","ver","patch","minor","major","preRelease","increment","prereleaseId","ignoreIssues","ignoreNewestVersion","skipTests","disableTagPipeline","forceDeploy","ignoreBuildErrors","incrementBy","BitError","releaseFlags","filter","x","length","consoleWarning","getReleaseType","includes","DEFAULT_BIT_RELEASE_TYPE","getPreReleaseId","params","releaseType","preReleaseId","build","persist","disableTagAndSnapPipelines","version","tagDataPerCompRaw","parseData","console","getHarmonyVersion","results","tagFromScope","chalk","yellow","NOTHING_TO_TAG_MSG","taggedComponents","autoTaggedResults","warnings","newComponents","changedComponents","component","searchWithoutVersion","id","addedComponents","autoTaggedCount","warningsOutput","tagExplanationPersist","tagExplanationSoft","tagExplanation","isSoftTag","outputComponents","comps","map","componentOutput","toString","autoTag","result","triggeredBy","autoTagComp","a","AUTO_TAGGED_MSG","publishOutput","publishedPackages","successTitle","green","successCompsStr","successOutput","softTagPrefix","outputIfExists","label","explanation","components","underline","newDesc","changedDesc","softTagClarification","bold","dataParsed","JSON","parse","err","Error","Array","isArray","forEach","dataItem","componentId","exports"],"sources":["tag-from-scope.cmd.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { NOTHING_TO_TAG_MSG, AUTO_TAGGED_MSG } from '@teambit/legacy/dist/api/consumer/lib/tag';\nimport { DEFAULT_BIT_RELEASE_TYPE } from '@teambit/legacy/dist/constants';\nimport { getHarmonyVersion } from '@teambit/legacy/dist/bootstrap';\nimport { IssuesClasses } from '@teambit/component-issues';\nimport { ReleaseType } from 'semver';\nimport { BitError } from '@teambit/bit-error';\nimport { Logger } from '@teambit/logger';\nimport { SnappingMain, TagResults } from './snapping.main.runtime';\nimport { BasicTagParams } from './tag-model-component';\n\nconst RELEASE_TYPES = ['major', 'premajor', 'minor', 'preminor', 'patch', 'prepatch', 'prerelease'];\n\nexport type TagDataPerCompRaw = {\n componentId: string;\n dependencies?: string[];\n versionToTag?: string;\n prereleaseId?: string;\n message?: string;\n};\n\nexport class TagFromScopeCmd implements Command {\n name = '_tag <data>';\n group = 'development';\n private = true;\n description =\n 'tag components from a bare-scope by using build artifacts from previous snap and running the deploy-pipeline only';\n extendedDescription = `this command should be running from a new bare scope, it first imports the components it needs and then processes the tag.\nthe input data is a stringified JSON of an array of the following object.\n{\n componentId: string; // ids always have scope, so it's safe to parse them from string\n dependencies?: string[]; // e.g. [teambit/compiler@1.0.0, teambit/tester^@1.0.0, teambit/linter~@0.0.1]\n versionToTag?: string; // specific version (e.g. '1.0.0') or semver (e.g. 'minor', 'patch')\n prereleaseId?: string; // applicable when versionToTag is a pre-release. (e.g. \"dev\", for 1.0.0-dev.1)\n message?: string; // tag-message.\n}\nan example of the final data: '[{\"componentId\":\"ci.remote2/comp-b\",\"dependencies\":[\"ci.remote/comp1@0.0.2\"]}]'\n`;\n alias = '';\n loader = true;\n options = [\n ['', 'push', 'export the updated objects to the original scopes once done'],\n ['m', 'message <message>', 'a log message describing latest changes'],\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 ['', 'skip-tests', 'skip running component tests during tag process'],\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 ] as CommandOptions;\n remoteOp = true; // In case a compiler / tester is not installed\n\n constructor(private snapping: SnappingMain, private logger: Logger) {}\n\n // eslint-disable-next-line complexity\n async report(\n [data]: [string],\n {\n push,\n message = '',\n ver,\n patch,\n minor,\n major,\n preRelease,\n increment,\n prereleaseId,\n ignoreIssues,\n ignoreNewestVersion = false,\n skipTests = false,\n disableTagPipeline = false,\n forceDeploy = false,\n ignoreBuildErrors = false,\n incrementBy = 1,\n }: {\n push?: boolean;\n ver?: string;\n patch?: boolean;\n minor?: boolean;\n major?: boolean;\n increment?: ReleaseType;\n preRelease?: string;\n prereleaseId?: string;\n ignoreIssues?: string;\n incrementBy?: number;\n forceDeploy?: boolean;\n disableTagPipeline?: boolean;\n } & Partial<BasicTagParams>\n ): Promise<string> {\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 (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\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 if (forceDeploy) {\n this.logger.consoleWarning(`--force-deploy is deprecated, use --ignore-build-errors instead`);\n ignoreBuildErrors = true;\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 params = {\n push,\n message,\n releaseType: getReleaseType(),\n preReleaseId: getPreReleaseId(),\n ignoreIssues,\n ignoreNewestVersion,\n skipTests,\n build: true,\n persist: true,\n disableTagAndSnapPipelines: disableTagPipeline,\n ignoreBuildErrors,\n forceDeploy,\n incrementBy,\n version: ver,\n };\n\n const tagDataPerCompRaw = this.parseData(data);\n this.logger.console(`tagging using ${getHarmonyVersion()} version`);\n const results = await this.snapping.tagFromScope(tagDataPerCompRaw, params);\n if (!results) return chalk.yellow(NOTHING_TO_TAG_MSG);\n const { taggedComponents, autoTaggedResults, warnings, newComponents }: 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 outputComponents = (comps) => {\n return comps\n .map((component) => {\n let componentOutput = ` > ${component.id.toString()}`;\n const autoTag = autoTaggedResults.filter((result) => result.triggeredBy.searchWithoutVersion(component.id));\n if (autoTag.length) {\n const autoTagComp = autoTag.map((a) => a.component.id.toString());\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) => {\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 publishOutput() +\n softTagClarification\n );\n }\n private parseData(data: string): TagDataPerCompRaw[] {\n let dataParsed: unknown;\n try {\n dataParsed = JSON.parse(data);\n } catch (err: any) {\n throw new Error(`failed parsing the data entered as JSON. err ${err.message}`);\n }\n if (!Array.isArray(dataParsed)) {\n throw new Error('expect data to be an array');\n }\n dataParsed.forEach((dataItem) => {\n if (!dataItem.componentId) throw new Error('expect data item to have \"componentId\" prop');\n });\n return dataParsed;\n }\n}\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/snapping",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.15",
|
|
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": "1.0.
|
|
9
|
+
"version": "1.0.15"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"chalk": "2.4.2",
|
|
@@ -24,22 +24,22 @@
|
|
|
24
24
|
"@teambit/component-id": "0.0.427",
|
|
25
25
|
"@teambit/graph.cleargraph": "0.0.1",
|
|
26
26
|
"@teambit/bit-error": "0.0.404",
|
|
27
|
-
"@teambit/issues": "1.0.
|
|
28
|
-
"@teambit/cli": "0.0.
|
|
27
|
+
"@teambit/issues": "1.0.15",
|
|
28
|
+
"@teambit/cli": "0.0.794",
|
|
29
29
|
"@teambit/component-issues": "0.0.97",
|
|
30
|
-
"@teambit/global-config": "0.0.
|
|
31
|
-
"@teambit/logger": "0.0.
|
|
32
|
-
"@teambit/builder": "1.0.
|
|
30
|
+
"@teambit/global-config": "0.0.796",
|
|
31
|
+
"@teambit/logger": "0.0.887",
|
|
32
|
+
"@teambit/builder": "1.0.15",
|
|
33
33
|
"@teambit/component-version": "1.0.2",
|
|
34
|
-
"@teambit/component": "1.0.
|
|
35
|
-
"@teambit/dependency-resolver": "1.0.
|
|
36
|
-
"@teambit/export": "1.0.
|
|
37
|
-
"@teambit/importer": "1.0.
|
|
38
|
-
"@teambit/insights": "1.0.
|
|
39
|
-
"@teambit/lane-id": "0.0.
|
|
40
|
-
"@teambit/scope": "1.0.
|
|
41
|
-
"@teambit/workspace": "1.0.
|
|
42
|
-
"@teambit/workspace.modules.node-modules-linker": "0.0.
|
|
34
|
+
"@teambit/component": "1.0.15",
|
|
35
|
+
"@teambit/dependency-resolver": "1.0.15",
|
|
36
|
+
"@teambit/export": "1.0.15",
|
|
37
|
+
"@teambit/importer": "1.0.15",
|
|
38
|
+
"@teambit/insights": "1.0.15",
|
|
39
|
+
"@teambit/lane-id": "0.0.306",
|
|
40
|
+
"@teambit/scope": "1.0.15",
|
|
41
|
+
"@teambit/workspace": "1.0.15",
|
|
42
|
+
"@teambit/workspace.modules.node-modules-linker": "0.0.135"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
45
|
"@types/lodash": "4.14.165",
|
|
@@ -54,13 +54,13 @@
|
|
|
54
54
|
"@types/react-dom": "^17.0.5",
|
|
55
55
|
"@types/jest": "^26.0.0",
|
|
56
56
|
"@types/testing-library__jest-dom": "5.9.5",
|
|
57
|
-
"@teambit/compiler": "1.0.
|
|
58
|
-
"@teambit/component.testing.mock-components": "0.0.
|
|
59
|
-
"@teambit/harmony.testing.load-aspect": "0.0.
|
|
57
|
+
"@teambit/compiler": "1.0.15",
|
|
58
|
+
"@teambit/component.testing.mock-components": "0.0.155",
|
|
59
|
+
"@teambit/harmony.testing.load-aspect": "0.0.154",
|
|
60
60
|
"@teambit/workspace.testing.mock-workspace": "0.0.16"
|
|
61
61
|
},
|
|
62
62
|
"peerDependencies": {
|
|
63
|
-
"@teambit/legacy": "1.0.
|
|
63
|
+
"@teambit/legacy": "1.0.573",
|
|
64
64
|
"react": "^16.8.0 || ^17.0.0",
|
|
65
65
|
"react-dom": "^16.8.0 || ^17.0.0"
|
|
66
66
|
},
|
|
File without changes
|