@teambit/snapping 0.0.261 → 0.0.263

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.
@@ -1,6 +1,5 @@
1
1
  import { CLIMain } from '@teambit/cli';
2
2
  import { LegacyOnTagResult } from '@teambit/legacy/dist/scope/scope';
3
- import { Scope as LegacyScope } from '@teambit/legacy/dist/scope';
4
3
  import { CommunityMain } from '@teambit/community';
5
4
  import { Workspace } from '@teambit/workspace';
6
5
  import { ReleaseType } from 'semver';
@@ -117,7 +116,7 @@ export declare class SnappingMain {
117
116
  results: untagResult[];
118
117
  isSoftUntag: boolean;
119
118
  }>;
120
- _addFlattenedDependenciesToComponents(scope: LegacyScope, components: ConsumerComponent[]): Promise<void>;
119
+ _addFlattenedDependenciesToComponents(components: ConsumerComponent[]): Promise<void>;
121
120
  _addFlattenedDepsGraphToComponents(components: ConsumerComponent[]): Promise<void>;
122
121
  _updateComponentsByTagResult(components: ConsumerComponent[], tagResult: LegacyOnTagResult[]): void;
123
122
  _getPublishedPackages(components: ConsumerComponent[]): string[];
@@ -398,7 +398,8 @@ class SnappingMain {
398
398
  const {
399
399
  taggedComponents,
400
400
  autoTaggedResults,
401
- publishedPackages
401
+ publishedPackages,
402
+ stagedConfig
402
403
  } = await (0, _tagModelComponent().tagModelComponent)({
403
404
  workspace: this.workspace,
404
405
  scope: this.scope,
@@ -440,6 +441,7 @@ class SnappingMain {
440
441
  // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
441
442
  _ramda().default.concat(tagResults.taggedComponents, tagResults.autoTaggedResults, tagResults.newComponents).length);
442
443
  await consumer.onDestroy();
444
+ await (stagedConfig === null || stagedConfig === void 0 ? void 0 : stagedConfig.write());
443
445
  // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
444
446
  return tagResults;
445
447
  }
@@ -615,7 +617,8 @@ class SnappingMain {
615
617
  this.throwForPendingImport(components);
616
618
  const {
617
619
  taggedComponents,
618
- autoTaggedResults
620
+ autoTaggedResults,
621
+ stagedConfig
619
622
  } = await (0, _tagModelComponent().tagModelComponent)({
620
623
  workspace: this.workspace,
621
624
  scope: this.scope,
@@ -644,6 +647,7 @@ class SnappingMain {
644
647
  const currentLane = consumer.getCurrentLaneId();
645
648
  snapResults.laneName = currentLane.isDefault() ? null : currentLane.name;
646
649
  await consumer.onDestroy();
650
+ await (stagedConfig === null || stagedConfig === void 0 ? void 0 : stagedConfig.write());
647
651
  // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
648
652
  return snapResults;
649
653
  async function getIdsToSnap(workspace) {
@@ -733,9 +737,9 @@ there are matching among unmodified components thought. consider using --unmodif
733
737
  isSoftUntag: !isRealUntag
734
738
  };
735
739
  }
736
- async _addFlattenedDependenciesToComponents(scope, components) {
740
+ async _addFlattenedDependenciesToComponents(components) {
737
741
  _loader().default.start('importing missing dependencies...');
738
- const flattenedDependenciesGetter = new (_getFlattenedDependencies().FlattenedDependenciesGetter)(scope, components);
742
+ const flattenedDependenciesGetter = new (_getFlattenedDependencies().FlattenedDependenciesGetter)(this.scope.legacyScope, components);
739
743
  await flattenedDependenciesGetter.populateFlattenedDependencies();
740
744
  _loader().default.stop();
741
745
  await this._addFlattenedDepsGraphToComponents(components);
@@ -769,6 +773,7 @@ there are matching among unmodified components thought. consider using --unmodif
769
773
  addEdges(compId, version.devDependencies, 'dev');
770
774
  addEdges(compId, version.extensionDependencies, 'ext');
771
775
  });
776
+ let someCompsHaveMissingFlattened = false;
772
777
  components.forEach(component => {
773
778
  const edges = graph.outEdges(component.id.toString());
774
779
  const flattenedEdges = component.flattenedDependencies.map(dep => graph.outEdges(dep.toString())).flat();
@@ -781,7 +786,27 @@ there are matching among unmodified components thought. consider using --unmodif
781
786
  type: edge.attr
782
787
  }));
783
788
  component.flattenedEdges = edgesWithBitIds;
789
+
790
+ // due to some previous bugs, some components might have missing flattened dependencies.
791
+ // as a result, the flattenedEdges may have more components than the flattenedDependencies, which will cause
792
+ // issues later on when the graph is built. this fixes it by adding the missing flattened dependencies, and
793
+ // then recursively adding the flattenedEdge accordingly.
794
+ const flattened = component.flattenedDependencies.map(dep => dep.toString());
795
+ const flattenedFromEdges = (0, _lodash().uniq)(edgesWithBitIds.map(edge => [edge.target.toString(), edge.source.toString()]).flat());
796
+ const missingFlattened = (0, _lodash().difference)(flattenedFromEdges, flattened).filter(id => id !== component.id.toString());
797
+ if (missingFlattened.length) {
798
+ someCompsHaveMissingFlattened = true;
799
+ this.logger.warn(`missing flattened for ${component.id.toString()}: ${missingFlattened.join(', ')}`);
800
+ const missingBitIds = missingFlattened.map(id => {
801
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
802
+ return graph.node(id).attr;
803
+ });
804
+ component.flattenedDependencies.push(...missingBitIds);
805
+ }
784
806
  });
807
+ if (someCompsHaveMissingFlattened) {
808
+ await this._addFlattenedDepsGraphToComponents(components);
809
+ }
785
810
  }
786
811
  _updateComponentsByTagResult(components, tagResult) {
787
812
  tagResult.forEach(result => {
@@ -828,6 +853,7 @@ there are matching among unmodified components thought. consider using --unmodif
828
853
  laneId: unmergedComponent.laneId
829
854
  };
830
855
  } else {
856
+ // this is adding a second parent to the version. the order is important. the first parent is coming from the current-lane.
831
857
  version.addParent(unmergedComponent.head);
832
858
  this.logger.debug(`sources.addSource, unmerged component "${component.name}". adding a parent ${unmergedComponent.head.hash}`);
833
859
  version.log.message = version.log.message || _unmergedComponents().default.buildSnapMessage(unmergedComponent);
@@ -1 +1 @@
1
- {"version":3,"names":["HooksManagerInstance","HooksManager","getInstance","SnappingMain","constructor","workspace","logger","issues","insights","dependencyResolver","scope","exporter","builder","importer","objectsRepo","legacyScope","objects","tag","ids","message","version","editor","snapped","unmerged","releaseType","preReleaseId","ignoreIssues","ignoreNewestVersion","skipTests","skipAutoTag","build","unmodified","soft","persist","forceDeploy","incrementBy","disableTagAndSnapPipelines","BitError","exactVersion","OutsideWorkspaceError","idsHasWildcard","hasWildcard","isAll","Boolean","length","validExactVersion","validateVersion","consumer","componentsList","ComponentsList","loader","start","newComponents","listNewComponents","bitIds","warnings","getComponentsToTag","R","isEmpty","legacyBitIds","BitIds","fromArray","debug","toString","Analytics","addBreadCrumb","hashData","componentFsCache","deleteAllDependenciesDataCache","components","loadComponentsForTag","throwForLegacyDependenciesInsideHarmony","throwForComponentIssues","throwForPendingImport","taggedComponents","autoTaggedResults","publishedPackages","tagModelComponent","snapping","consumerComponents","packageManagerConfigRootDir","path","tagResults","isSoftTag","postHook","POST_TAG_ALL_HOOK","POST_TAG_HOOK","triggerHook","setExtraData","concat","onDestroy","tagFromScope","tagDataPerCompRaw","params","tagDataPerComp","Promise","all","map","tagData","componentId","resolveComponentId","dependencies","resolveMultipleComponentIds","versionToTag","prereleaseId","componentIds","t","c","_legacy","componentIdsLatest","id","changeVersion","LATEST","import","comp","find","isEqual","ignoreVersion","Error","updateDependenciesVersionsOfComponent","state","_consumer","legacyIds","results","skipBuildPipeline","push","exportMany","idsWithFutureScope","allVersions","snapFromScope","snapDataPerCompRaw","snapDataPerComp","snapData","aspects","lane","laneIdStr","laneId","LaneId","parse","importLaneObject","setCurrentLaneId","scopeImporter","shouldOnlyFetchFromCurrentLane","addAspectsFromConfigObject","isSnap","exportedIds","updatedLane","loadLane","toLaneId","undefined","exported","laneObject","e","snappedIds","snap","pattern","skipAutoSnap","getIdsToSnap","snapResults","snappedComponents","autoSnappedResults","currentLane","getCurrentLaneId","laneName","isDefault","name","listDuringMergeStateComponents","tagPendingComponents","listPotentialTagAllWorkspace","listTagPendingComponents","tagPendingComponentsIds","shouldThrowForNoMatching","getCompIds","includes","compId","filterIdsFromPoolIdsByPattern","allTagPending","reset","componentPattern","head","force","getCurrentLaneObject","untag","removeLocalVersionsForAllComponents","candidateComponents","getComponentsWithOptionToUntag","idsMatchingPattern","idsByPattern","idsMatchingPatternBitIds","componentsToUntag","filter","modelComponent","hasWithoutVersion","toBitId","removeLocalVersionsForMultipleComponents","softUntag","softTaggedComponents","listSoftTaggedComponents","softTaggedComponentsIds","idsToRemoveSoftTags","compact","componentMap","bitMap","getComponent","ignoreScopeAndVersion","removedVersion","nextVersion","clearNextVersion","versions","isRealUntag","result","component","updateComponentsVersions","markAsChanged","isSoftUntag","_addFlattenedDependenciesToComponents","flattenedDependenciesGetter","FlattenedDependenciesGetter","populateFlattenedDependencies","stop","_addFlattenedDepsGraphToComponents","graph","Graph","addEdges","label","get","forEach","dep","setNode","Node","setEdge","Edge","devDependencies","extensionDependencies","allFlattened","flattenedDependencies","allFlattenedUniq","uniqFromArray","flat","allFlattenedWithoutCurrent","componentsAndVersions","getComponentsAndVersions","versionStr","edges","outEdges","flattenedEdges","allEdges","edgesWithBitIds","edge","source","node","attr","target","type","_updateComponentsByTagResult","tagResult","matchingComponent","existingBuilder","extensions","findCoreExtension","Extensions","data","builderData","_getPublishedPackages","builderExt","pkgData","aspectsData","a","aspectId","pkg","publishedPackage","_addCompToObjects","shouldValidateVersion","sources","findOrAddComponent","artifactFiles","getArtifactsFiles","artifacts","transformArtifactsFromVinylToSource","files","consumerComponentToVersion","add","addVersion","unmergedComponent","unmergedComponents","getEntry","unrelated","hash","addParent","log","UnmergedComponents","buildSnapMessage","removeComponent","file","validate","_addCompFromScopeToObjects","objectRepo","_enrichComp","consumerComponent","_getObjectsToEnrichComp","obj","loadVersion","buildStatus","artifactObjects","artifactsFiles","artifactsSource","ArtifactFiles","fromVinylsToSources","vinyls","populateRefsFromSources","removedComponents","loadComponents","toVersionLatest","rootDir","legacyComponents","issuesToIgnoreFromFlag","split","issue","trim","issuesToIgnoreFromConfig","getIssuesToIgnoreGlobally","issuesToIgnore","getManyByLegacy","triggerAddComponentIssues","removeIgnoredIssuesFromComponents","componentsWithBlockingIssues","shouldBlockTagging","ComponentsHaveIssues","areComponentsMissingFromScope","removed","some","componentFromModel","hasScope","ComponentsPendingImport","throwForComponent","dependenciesIds","getAllDependenciesIds","depId","hasVersion","modelComp","getModelComponentIfExist","isLegacy","pMap","concurrency","concurrentComponentsLimit","currentBitIds","depsBitIds","d","updatedIds","componentIdStr","legacyComponent","deps","dependenciesList","getDependencies","updatedBitId","searchWithoutVersion","depIdStr","packageName","findDependency","getPackageName","ext","extensionId","dependenciesListSerialized","extractDepsFromLegacy","serialize","extId","DependencyResolverAspect","existingExtension","findExtension","Object","assign","extension","ExtensionDataEntry","includeUnmodified","tagPendingBitIds","listSnappedComponentsOnMain","snappedComponentsIds","pMapSeries","idWithoutVer","idHasWildcard","allIds","componentStatus","getComponentStatusById","modified","bitId","tagPendingBitIdsIncludeSnapped","tagPendingComponentsLatest","latestVersions","semver","valid","gt","provider","cli","community","loggerMain","createLogger","SnappingAspect","snapCmd","SnapCmd","getBaseDomain","tagCmd","TagCmd","tagFromScopeCmd","TagFromScopeCmd","snapFromScopeCmd","SnapFromScopeCmd","resetCmd","ResetCmd","register","WorkspaceAspect","CLIAspect","CommunityAspect","LoggerAspect","IssuesAspect","InsightsAspect","ScopeAspect","ExportAspect","BuilderAspect","ImporterAspect","MainRuntime","addRuntime"],"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 { Scope as LegacyScope } from '@teambit/legacy/dist/scope';\nimport CommunityAspect, { CommunityMain } from '@teambit/community';\nimport WorkspaceAspect, { OutsideWorkspaceError, Workspace } from '@teambit/workspace';\nimport R from 'ramda';\nimport semver, { ReleaseType } from 'semver';\nimport { compact } 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 } 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 ComponentMap from '@teambit/legacy/dist/consumer/bit-map/component-map';\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 { BitObject, Repository } from '@teambit/legacy/dist/scope/objects';\nimport {\n ArtifactFiles,\n ArtifactSource,\n getArtifactsFiles,\n} from '@teambit/legacy/dist/consumer/component/sources/artifact-files';\nimport { AutoTagResult } from '@teambit/legacy/dist/scope/component-ops/auto-tag';\nimport { DepEdge, DepEdgeType } 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 = {\n snappedComponents: ConsumerComponent[];\n autoSnappedResults: AutoTagResult[];\n warnings: string[];\n newComponents: BitIds;\n laneName: string | null; // null if default\n};\n\nexport type SnapFromScopeResults = {\n snappedIds: string[];\n exportedIds?: string[];\n};\n\nexport type TagResults = {\n taggedComponents: ConsumerComponent[];\n autoTaggedResults: AutoTagResult[];\n warnings: string[];\n newComponents: BitIds;\n isSoftTag: boolean;\n publishedPackages: string[];\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 forceDeploy = false,\n incrementBy = 1,\n disableTagAndSnapPipelines = 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 } & Partial<BasicTagParams>): Promise<TagResults | null> {\n if (soft) build = false;\n if (disableTagAndSnapPipelines && forceDeploy) {\n throw new BitError('you can use either force-deploy or disable-tag-pipeline, but not both');\n }\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 Analytics.addBreadCrumb('tag', `tagging the following components: ${Analytics.hashData(legacyBitIds)}`);\n if (!soft) {\n await this.workspace.consumer.componentFsCache.deleteAllDependenciesDataCache();\n }\n const components = await this.loadComponentsForTag(legacyBitIds);\n await this.throwForLegacyDependenciesInsideHarmony(components);\n await this.throwForComponentIssues(components, ignoreIssues);\n this.throwForPendingImport(components);\n\n const { taggedComponents, autoTaggedResults, publishedPackages } = await tagModelComponent({\n workspace: this.workspace,\n scope: this.scope,\n snapping: this,\n builder: this.builder,\n consumerComponents: components,\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 forceDeploy,\n incrementBy,\n packageManagerConfigRootDir: this.workspace.path,\n dependencyResolver: this.dependencyResolver,\n });\n\n const tagResults = { taggedComponents, autoTaggedResults, isSoftTag: soft, publishedPackages };\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n tagResults.warnings = warnings;\n\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n tagResults.newComponents = newComponents;\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 // @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 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 || 'patch',\n prereleaseId: tagData.prereleaseId,\n message: tagData.message,\n };\n })\n );\n const componentIds = tagDataPerComp.map((t) => t.componentId);\n const bitIds = componentIds.map((c) => c._legacy);\n const componentIdsLatest = componentIds.map((id) => id.changeVersion(LATEST));\n const components = await this.scope.import(componentIdsLatest);\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 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,\n skipBuildPipeline: 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 });\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 const components = await this.scope.import(componentIdsLatest, { lane });\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 });\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 message = '',\n ignoreIssues,\n skipTests = false,\n skipAutoSnap = false,\n build,\n disableTagAndSnapPipelines = false,\n forceDeploy = false,\n unmodified = false,\n }: {\n pattern?: string;\n legacyBitIds?: BitIds;\n unmerged?: boolean;\n message?: string;\n ignoreIssues?: string;\n build: boolean;\n skipTests?: boolean;\n skipAutoSnap?: boolean;\n disableTagAndSnapPipelines?: boolean;\n forceDeploy?: boolean;\n unmodified?: 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 await this.workspace.consumer.componentFsCache.deleteAllDependenciesDataCache();\n const components = await this.loadComponentsForTag(ids);\n await this.throwForLegacyDependenciesInsideHarmony(components);\n await this.throwForComponentIssues(components, ignoreIssues);\n this.throwForPendingImport(components);\n\n const { taggedComponents, autoTaggedResults } = await tagModelComponent({\n workspace: this.workspace,\n scope: this.scope,\n snapping: this,\n builder: this.builder,\n consumerComponents: components,\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 forceDeploy,\n packageManagerConfigRootDir: this.workspace.path,\n dependencyResolver: this.dependencyResolver,\n });\n\n const snapResults: Partial<SnapResults> = {\n snappedComponents: taggedComponents,\n autoSnappedResults: autoTaggedResults,\n };\n\n snapResults.newComponents = newComponents;\n const currentLane = consumer.getCurrentLaneId();\n snapResults.laneName = currentLane.isDefault() ? null : currentLane.name;\n await consumer.onDestroy();\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(scope: LegacyScope, components: ConsumerComponent[]) {\n loader.start('importing missing dependencies...');\n const flattenedDependenciesGetter = new FlattenedDependenciesGetter(scope, components);\n await flattenedDependenciesGetter.populateFlattenedDependencies();\n loader.stop();\n await this._addFlattenedDepsGraphToComponents(components);\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 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 }\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 // if a component exists in the model, add a new version. Otherwise, create a new component on the model\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n const component: ModelComponent = await this.scope.legacyScope.sources.findOrAddComponent(source);\n\n const artifactFiles = getArtifactsFiles(source.extensions);\n const artifacts = this.transformArtifactsFromVinylToSource(artifactFiles);\n const { version, files } = await this.scope.legacyScope.sources.consumerComponentToVersion(source);\n this.objectsRepo.add(version);\n if (!source.version) throw new Error(`addSource expects source.version to be set`);\n component.addVersion(version, source.version, lane, this.objectsRepo);\n\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 version.unrelated = { head: unmergedComponent.head, laneId: unmergedComponent.laneId };\n } else {\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 this.objectsRepo.add(component);\n\n files.forEach((file) => this.objectsRepo.add(file.file));\n if (artifacts) artifacts.forEach((file) => this.objectsRepo.add(file.source));\n if (shouldValidateVersion) version.validate();\n return component;\n }\n\n async _addCompFromScopeToObjects(source: ConsumerComponent, lane: Lane | null): Promise<ModelComponent> {\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 } = await this.scope.legacyScope.sources.consumerComponentToVersion(source);\n objectRepo.add(version);\n if (!source.version) throw new Error(`addSource expects source.version to be set`);\n component.addVersion(version, source.version, lane, objectRepo);\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;\n }\n\n async _enrichComp(consumerComponent: ConsumerComponent) {\n const objects = await this._getObjectsToEnrichComp(consumerComponent);\n objects.forEach((obj) => this.objectsRepo.add(obj));\n return consumerComponent;\n }\n\n async _getObjectsToEnrichComp(consumerComponent: ConsumerComponent): 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 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 loadComponentsForTag(ids: BitIds): Promise<ConsumerComponent[]> {\n const { components, removedComponents } = await this.workspace.consumer.loadComponents(ids.toVersionLatest());\n components.forEach((component) => {\n const componentMap = component.componentMap as ComponentMap;\n if (!componentMap.rootDir) {\n throw new Error(`unable to tag ${component.id.toString()}, the \"rootDir\" is missing in the .bitmap file`);\n }\n });\n return [...components, ...removedComponents];\n }\n\n private async throwForComponentIssues(legacyComponents: ConsumerComponent[], 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 const components = await this.workspace.getManyByLegacy(legacyComponents);\n await this.issues.triggerAddComponentIssues(components, issuesToIgnore);\n this.issues.removeIgnoredIssuesFromComponents(components, issuesToIgnore);\n\n const componentsWithBlockingIssues = legacyComponents.filter((component) => component.issues?.shouldBlockTagging());\n if (!R.isEmpty(componentsWithBlockingIssues)) {\n throw new ComponentsHaveIssues(componentsWithBlockingIssues);\n }\n }\n\n private throwForPendingImport(components: ConsumerComponent[]) {\n const areComponentsMissingFromScope = components\n .filter((c) => !c.removed)\n .some((c) => !c.componentFromModel && c.id.hasScope());\n if (areComponentsMissingFromScope) {\n throw new ComponentsPendingImport();\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 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 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 CommunityAspect,\n LoggerAspect,\n IssuesAspect,\n InsightsAspect,\n DependencyResolverAspect,\n ScopeAspect,\n ExportAspect,\n BuilderAspect,\n ImporterAspect,\n ];\n static runtime = MainRuntime;\n static async provider([\n workspace,\n cli,\n community,\n loggerMain,\n issues,\n insights,\n dependencyResolver,\n scope,\n exporter,\n builder,\n importer,\n ]: [\n Workspace,\n CLIMain,\n CommunityMain,\n LoggerMain,\n IssuesMain,\n InsightsMain,\n DependencyResolverMain,\n ScopeMain,\n ExportMain,\n BuilderMain,\n ImporterMain\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(community.getBaseDomain(), snapping, logger);\n const tagCmd = new TagCmd(snapping, logger);\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":";;;;;;;;;;;;;;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAGA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAMA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAGA;EAAA;EAAA;IAAA;EAAA;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"}
1
+ {"version":3,"names":["HooksManagerInstance","HooksManager","getInstance","SnappingMain","constructor","workspace","logger","issues","insights","dependencyResolver","scope","exporter","builder","importer","objectsRepo","legacyScope","objects","tag","ids","message","version","editor","snapped","unmerged","releaseType","preReleaseId","ignoreIssues","ignoreNewestVersion","skipTests","skipAutoTag","build","unmodified","soft","persist","forceDeploy","incrementBy","disableTagAndSnapPipelines","BitError","exactVersion","OutsideWorkspaceError","idsHasWildcard","hasWildcard","isAll","Boolean","length","validExactVersion","validateVersion","consumer","componentsList","ComponentsList","loader","start","newComponents","listNewComponents","bitIds","warnings","getComponentsToTag","R","isEmpty","legacyBitIds","BitIds","fromArray","debug","toString","Analytics","addBreadCrumb","hashData","componentFsCache","deleteAllDependenciesDataCache","components","loadComponentsForTag","throwForLegacyDependenciesInsideHarmony","throwForComponentIssues","throwForPendingImport","taggedComponents","autoTaggedResults","publishedPackages","stagedConfig","tagModelComponent","snapping","consumerComponents","packageManagerConfigRootDir","path","tagResults","isSoftTag","postHook","POST_TAG_ALL_HOOK","POST_TAG_HOOK","triggerHook","setExtraData","concat","onDestroy","write","tagFromScope","tagDataPerCompRaw","params","tagDataPerComp","Promise","all","map","tagData","componentId","resolveComponentId","dependencies","resolveMultipleComponentIds","versionToTag","prereleaseId","componentIds","t","c","_legacy","componentIdsLatest","id","changeVersion","LATEST","import","comp","find","isEqual","ignoreVersion","Error","updateDependenciesVersionsOfComponent","state","_consumer","legacyIds","results","skipBuildPipeline","push","exportMany","idsWithFutureScope","allVersions","snapFromScope","snapDataPerCompRaw","snapDataPerComp","snapData","aspects","lane","laneIdStr","laneId","LaneId","parse","importLaneObject","setCurrentLaneId","scopeImporter","shouldOnlyFetchFromCurrentLane","addAspectsFromConfigObject","isSnap","exportedIds","updatedLane","loadLane","toLaneId","undefined","exported","laneObject","e","snappedIds","snap","pattern","skipAutoSnap","getIdsToSnap","snapResults","snappedComponents","autoSnappedResults","currentLane","getCurrentLaneId","laneName","isDefault","name","listDuringMergeStateComponents","tagPendingComponents","listPotentialTagAllWorkspace","listTagPendingComponents","tagPendingComponentsIds","shouldThrowForNoMatching","getCompIds","includes","compId","filterIdsFromPoolIdsByPattern","allTagPending","reset","componentPattern","head","force","getCurrentLaneObject","untag","removeLocalVersionsForAllComponents","candidateComponents","getComponentsWithOptionToUntag","idsMatchingPattern","idsByPattern","idsMatchingPatternBitIds","componentsToUntag","filter","modelComponent","hasWithoutVersion","toBitId","removeLocalVersionsForMultipleComponents","softUntag","softTaggedComponents","listSoftTaggedComponents","softTaggedComponentsIds","idsToRemoveSoftTags","compact","componentMap","bitMap","getComponent","ignoreScopeAndVersion","removedVersion","nextVersion","clearNextVersion","versions","isRealUntag","result","component","updateComponentsVersions","markAsChanged","isSoftUntag","_addFlattenedDependenciesToComponents","flattenedDependenciesGetter","FlattenedDependenciesGetter","populateFlattenedDependencies","stop","_addFlattenedDepsGraphToComponents","graph","Graph","addEdges","label","get","forEach","dep","setNode","Node","setEdge","Edge","devDependencies","extensionDependencies","allFlattened","flattenedDependencies","allFlattenedUniq","uniqFromArray","flat","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","data","builderData","_getPublishedPackages","builderExt","pkgData","aspectsData","a","aspectId","pkg","publishedPackage","_addCompToObjects","shouldValidateVersion","sources","findOrAddComponent","artifactFiles","getArtifactsFiles","artifacts","transformArtifactsFromVinylToSource","files","consumerComponentToVersion","add","addVersion","unmergedComponent","unmergedComponents","getEntry","unrelated","hash","addParent","log","UnmergedComponents","buildSnapMessage","removeComponent","file","validate","_addCompFromScopeToObjects","objectRepo","_enrichComp","consumerComponent","_getObjectsToEnrichComp","obj","loadVersion","buildStatus","artifactObjects","artifactsFiles","artifactsSource","ArtifactFiles","fromVinylsToSources","vinyls","populateRefsFromSources","removedComponents","loadComponents","toVersionLatest","rootDir","legacyComponents","issuesToIgnoreFromFlag","split","issue","trim","issuesToIgnoreFromConfig","getIssuesToIgnoreGlobally","issuesToIgnore","getManyByLegacy","triggerAddComponentIssues","removeIgnoredIssuesFromComponents","componentsWithBlockingIssues","shouldBlockTagging","ComponentsHaveIssues","areComponentsMissingFromScope","removed","some","componentFromModel","hasScope","ComponentsPendingImport","throwForComponent","dependenciesIds","getAllDependenciesIds","depId","hasVersion","modelComp","getModelComponentIfExist","isLegacy","pMap","concurrency","concurrentComponentsLimit","currentBitIds","depsBitIds","d","updatedIds","componentIdStr","legacyComponent","deps","dependenciesList","getDependencies","updatedBitId","searchWithoutVersion","depIdStr","packageName","findDependency","getPackageName","ext","extensionId","dependenciesListSerialized","extractDepsFromLegacy","serialize","extId","DependencyResolverAspect","existingExtension","findExtension","Object","assign","extension","ExtensionDataEntry","includeUnmodified","tagPendingBitIds","listSnappedComponentsOnMain","snappedComponentsIds","pMapSeries","idWithoutVer","idHasWildcard","allIds","componentStatus","getComponentStatusById","modified","bitId","tagPendingBitIdsIncludeSnapped","tagPendingComponentsLatest","latestVersions","semver","valid","gt","provider","cli","community","loggerMain","createLogger","SnappingAspect","snapCmd","SnapCmd","getBaseDomain","tagCmd","TagCmd","tagFromScopeCmd","TagFromScopeCmd","snapFromScopeCmd","SnapFromScopeCmd","resetCmd","ResetCmd","register","WorkspaceAspect","CLIAspect","CommunityAspect","LoggerAspect","IssuesAspect","InsightsAspect","ScopeAspect","ExportAspect","BuilderAspect","ImporterAspect","MainRuntime","addRuntime"],"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 CommunityAspect, { CommunityMain } from '@teambit/community';\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 } 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 ComponentMap from '@teambit/legacy/dist/consumer/bit-map/component-map';\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 { BitObject, Repository } from '@teambit/legacy/dist/scope/objects';\nimport {\n ArtifactFiles,\n ArtifactSource,\n getArtifactsFiles,\n} from '@teambit/legacy/dist/consumer/component/sources/artifact-files';\nimport { AutoTagResult } from '@teambit/legacy/dist/scope/component-ops/auto-tag';\nimport { DepEdge, DepEdgeType } 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 = {\n snappedComponents: ConsumerComponent[];\n autoSnappedResults: AutoTagResult[];\n warnings: string[];\n newComponents: BitIds;\n laneName: string | null; // null if default\n};\n\nexport type SnapFromScopeResults = {\n snappedIds: string[];\n exportedIds?: string[];\n};\n\nexport type TagResults = {\n taggedComponents: ConsumerComponent[];\n autoTaggedResults: AutoTagResult[];\n warnings: string[];\n newComponents: BitIds;\n isSoftTag: boolean;\n publishedPackages: string[];\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 forceDeploy = false,\n incrementBy = 1,\n disableTagAndSnapPipelines = 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 } & Partial<BasicTagParams>): Promise<TagResults | null> {\n if (soft) build = false;\n if (disableTagAndSnapPipelines && forceDeploy) {\n throw new BitError('you can use either force-deploy or disable-tag-pipeline, but not both');\n }\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 Analytics.addBreadCrumb('tag', `tagging the following components: ${Analytics.hashData(legacyBitIds)}`);\n if (!soft) {\n await this.workspace.consumer.componentFsCache.deleteAllDependenciesDataCache();\n }\n const components = await this.loadComponentsForTag(legacyBitIds);\n await this.throwForLegacyDependenciesInsideHarmony(components);\n await this.throwForComponentIssues(components, ignoreIssues);\n this.throwForPendingImport(components);\n\n const { taggedComponents, autoTaggedResults, publishedPackages, stagedConfig } = await tagModelComponent({\n workspace: this.workspace,\n scope: this.scope,\n snapping: this,\n builder: this.builder,\n consumerComponents: components,\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 forceDeploy,\n incrementBy,\n packageManagerConfigRootDir: this.workspace.path,\n dependencyResolver: this.dependencyResolver,\n });\n\n const tagResults = { taggedComponents, autoTaggedResults, isSoftTag: soft, publishedPackages };\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n tagResults.warnings = warnings;\n\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n tagResults.newComponents = newComponents;\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 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 || 'patch',\n prereleaseId: tagData.prereleaseId,\n message: tagData.message,\n };\n })\n );\n const componentIds = tagDataPerComp.map((t) => t.componentId);\n const bitIds = componentIds.map((c) => c._legacy);\n const componentIdsLatest = componentIds.map((id) => id.changeVersion(LATEST));\n const components = await this.scope.import(componentIdsLatest);\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 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,\n skipBuildPipeline: 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 });\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 const components = await this.scope.import(componentIdsLatest, { lane });\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 });\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 message = '',\n ignoreIssues,\n skipTests = false,\n skipAutoSnap = false,\n build,\n disableTagAndSnapPipelines = false,\n forceDeploy = false,\n unmodified = false,\n }: {\n pattern?: string;\n legacyBitIds?: BitIds;\n unmerged?: boolean;\n message?: string;\n ignoreIssues?: string;\n build: boolean;\n skipTests?: boolean;\n skipAutoSnap?: boolean;\n disableTagAndSnapPipelines?: boolean;\n forceDeploy?: boolean;\n unmodified?: 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 await this.workspace.consumer.componentFsCache.deleteAllDependenciesDataCache();\n const components = await this.loadComponentsForTag(ids);\n await this.throwForLegacyDependenciesInsideHarmony(components);\n await this.throwForComponentIssues(components, ignoreIssues);\n this.throwForPendingImport(components);\n\n const { taggedComponents, autoTaggedResults, stagedConfig } = await tagModelComponent({\n workspace: this.workspace,\n scope: this.scope,\n snapping: this,\n builder: this.builder,\n consumerComponents: components,\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 forceDeploy,\n packageManagerConfigRootDir: this.workspace.path,\n dependencyResolver: this.dependencyResolver,\n });\n\n const snapResults: Partial<SnapResults> = {\n snappedComponents: taggedComponents,\n autoSnappedResults: autoTaggedResults,\n };\n\n snapResults.newComponents = newComponents;\n const currentLane = consumer.getCurrentLaneId();\n snapResults.laneName = currentLane.isDefault() ? null : currentLane.name;\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 flattenedDependenciesGetter = new FlattenedDependenciesGetter(this.scope.legacyScope, components);\n await flattenedDependenciesGetter.populateFlattenedDependencies();\n loader.stop();\n await this._addFlattenedDepsGraphToComponents(components);\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 // if a component exists in the model, add a new version. Otherwise, create a new component on the model\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n const component: ModelComponent = await this.scope.legacyScope.sources.findOrAddComponent(source);\n\n const artifactFiles = getArtifactsFiles(source.extensions);\n const artifacts = this.transformArtifactsFromVinylToSource(artifactFiles);\n const { version, files } = await this.scope.legacyScope.sources.consumerComponentToVersion(source);\n this.objectsRepo.add(version);\n if (!source.version) throw new Error(`addSource expects source.version to be set`);\n component.addVersion(version, source.version, lane, this.objectsRepo);\n\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 version.unrelated = { head: unmergedComponent.head, laneId: unmergedComponent.laneId };\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 this.objectsRepo.add(component);\n\n files.forEach((file) => this.objectsRepo.add(file.file));\n if (artifacts) artifacts.forEach((file) => this.objectsRepo.add(file.source));\n if (shouldValidateVersion) version.validate();\n return component;\n }\n\n async _addCompFromScopeToObjects(source: ConsumerComponent, lane: Lane | null): Promise<ModelComponent> {\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 } = await this.scope.legacyScope.sources.consumerComponentToVersion(source);\n objectRepo.add(version);\n if (!source.version) throw new Error(`addSource expects source.version to be set`);\n component.addVersion(version, source.version, lane, objectRepo);\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;\n }\n\n async _enrichComp(consumerComponent: ConsumerComponent) {\n const objects = await this._getObjectsToEnrichComp(consumerComponent);\n objects.forEach((obj) => this.objectsRepo.add(obj));\n return consumerComponent;\n }\n\n async _getObjectsToEnrichComp(consumerComponent: ConsumerComponent): 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 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 loadComponentsForTag(ids: BitIds): Promise<ConsumerComponent[]> {\n const { components, removedComponents } = await this.workspace.consumer.loadComponents(ids.toVersionLatest());\n components.forEach((component) => {\n const componentMap = component.componentMap as ComponentMap;\n if (!componentMap.rootDir) {\n throw new Error(`unable to tag ${component.id.toString()}, the \"rootDir\" is missing in the .bitmap file`);\n }\n });\n return [...components, ...removedComponents];\n }\n\n private async throwForComponentIssues(legacyComponents: ConsumerComponent[], 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 const components = await this.workspace.getManyByLegacy(legacyComponents);\n await this.issues.triggerAddComponentIssues(components, issuesToIgnore);\n this.issues.removeIgnoredIssuesFromComponents(components, issuesToIgnore);\n\n const componentsWithBlockingIssues = legacyComponents.filter((component) => component.issues?.shouldBlockTagging());\n if (!R.isEmpty(componentsWithBlockingIssues)) {\n throw new ComponentsHaveIssues(componentsWithBlockingIssues);\n }\n }\n\n private throwForPendingImport(components: ConsumerComponent[]) {\n const areComponentsMissingFromScope = components\n .filter((c) => !c.removed)\n .some((c) => !c.componentFromModel && c.id.hasScope());\n if (areComponentsMissingFromScope) {\n throw new ComponentsPendingImport();\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 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 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 CommunityAspect,\n LoggerAspect,\n IssuesAspect,\n InsightsAspect,\n DependencyResolverAspect,\n ScopeAspect,\n ExportAspect,\n BuilderAspect,\n ImporterAspect,\n ];\n static runtime = MainRuntime;\n static async provider([\n workspace,\n cli,\n community,\n loggerMain,\n issues,\n insights,\n dependencyResolver,\n scope,\n exporter,\n builder,\n importer,\n ]: [\n Workspace,\n CLIMain,\n CommunityMain,\n LoggerMain,\n IssuesMain,\n InsightsMain,\n DependencyResolverMain,\n ScopeMain,\n ExportMain,\n BuilderMain,\n ImporterMain\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(community.getBaseDomain(), snapping, logger);\n const tagCmd = new TagCmd(snapping, logger);\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":";;;;;;;;;;;;;;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAGA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAMA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAGA;EAAA;EAAA;IAAA;EAAA;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"}
@@ -5,7 +5,7 @@ import { AutoTagResult } from '@teambit/legacy/dist/scope/component-ops/auto-tag
5
5
  import { BuilderMain } from '@teambit/builder';
6
6
  import { ModelComponent } from '@teambit/legacy/dist/scope/models';
7
7
  import { DependencyResolverMain } from '@teambit/dependency-resolver';
8
- import { ScopeMain } from '@teambit/scope';
8
+ import { ScopeMain, StagedConfig } from '@teambit/scope';
9
9
  import { Workspace } from '@teambit/workspace';
10
10
  import { SnappingMain, TagDataPerComp } from './snapping.main.runtime';
11
11
  export declare type onTagIdTransformer = (id: BitId) => BitId | null;
@@ -42,5 +42,6 @@ export declare function tagModelComponent({ workspace, scope, snapping, builder,
42
42
  taggedComponents: Component[];
43
43
  autoTaggedResults: AutoTagResult[];
44
44
  publishedPackages: string[];
45
+ stagedConfig?: StagedConfig;
45
46
  }>;
46
- export declare function updateComponentsVersions(workspace: Workspace, components: Array<ModelComponent | Component>, isTag?: boolean): Promise<any>;
47
+ export declare function updateComponentsVersions(workspace: Workspace, components: Array<ModelComponent | Component>, isTag?: boolean): Promise<StagedConfig>;
@@ -269,7 +269,7 @@ async function tagModelComponent({
269
269
  const modelComponent = await legacyScope.getModelComponentIfExist(component.id);
270
270
  if (!modelComponent) throw new (_showDoctorError().default)(`component ${component.id} was not found in the model`);
271
271
  if (!modelComponent.listVersions().length) return null; // no versions yet, no issues.
272
- const latest = modelComponent.latest();
272
+ const latest = modelComponent.getHeadRegardlessOfLaneAsTagOrHash();
273
273
  if (latest !== component.version) {
274
274
  return {
275
275
  componentId: component.id.toStringWithoutVersion(),
@@ -296,15 +296,18 @@ async function tagModelComponent({
296
296
  await addLogToComponents(componentsToTag, autoTagComponents, persist, message, messagePerId);
297
297
  // don't move it down. otherwise, it'll be empty and we don't know which components were during merge.
298
298
  const unmergedComps = workspace ? await workspace.listComponentsDuringMerge() : [];
299
+ let stagedConfig;
299
300
  if (soft) {
300
301
  if (!consumer) throw new Error(`unable to soft-tag without consumer`);
301
302
  consumer.updateNextVersionOnBitmap(allComponentsToTag, preReleaseId);
302
303
  } else {
303
- await snapping._addFlattenedDependenciesToComponents(legacyScope, allComponentsToTag);
304
+ await snapping._addFlattenedDependenciesToComponents(allComponentsToTag);
304
305
  emptyBuilderData(allComponentsToTag);
305
306
  addBuildStatus(allComponentsToTag, _constants().BuildStatus.Pending);
306
307
  await addComponentsToScope(legacyScope, snapping, allComponentsToTag, Boolean(build), consumer);
307
- if (workspace) await updateComponentsVersions(workspace, allComponentsToTag);
308
+ if (workspace) {
309
+ stagedConfig = await updateComponentsVersions(workspace, allComponentsToTag);
310
+ }
308
311
  }
309
312
  const publishedPackages = [];
310
313
  if (build) {
@@ -341,7 +344,8 @@ async function tagModelComponent({
341
344
  return {
342
345
  taggedComponents: componentsToTag,
343
346
  autoTaggedResults: autoTagData,
344
- publishedPackages
347
+ publishedPackages,
348
+ stagedConfig
345
349
  };
346
350
  }
347
351
  async function removeDeletedComponentsFromBitmap(comps, workspace) {
@@ -484,7 +488,7 @@ async function updateComponentsVersions(workspace, components, isTag = true) {
484
488
  // imagine tagging comp1 with auto-tagged comp2, comp1 package.json is written while comp2 is
485
489
  // trying to get the dependencies of comp1 using its package.json.
486
490
  await (0, _pMapSeries().default)(components, updateVersions);
487
- await stagedConfig.write();
491
+ return stagedConfig;
488
492
  }
489
493
 
490
494
  //# sourceMappingURL=tag-model-component.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["updateDependenciesVersions","componentsToTag","dependencyResolver","getNewDependencyVersion","id","foundDependency","find","component","isEqualWithoutVersion","changeVersion","version","changeExtensionsVersion","extensions","forEach","ext","extensionId","newDepId","oneComponentToTag","getAllDependencies","dependency","updateDepsOnLegacyTag","bind","setHashes","componentToTag","sha1","v4","setFutureVersions","scope","releaseType","exactVersion","persist","autoTagIds","ids","incrementBy","preReleaseId","soft","tagDataPerComp","isPreReleaseLike","includes","Promise","all","map","isAutoTag","hasWithoutVersion","modelComponent","sources","findOrAddComponent","nextVersion","componentMap","previouslyUsedVersion","tagData","t","componentId","_legacy","Error","toStringWithoutVersion","versionToTag","exactVersionOrReleaseType","getValidVersionOrReleaseType","getVersionToAdd","undefined","prereleaseId","preRelease","versionByEnteredId","getVersionByEnteredId","enteredIds","enteredId","searchWithoutVersion","hasVersion","tagModelComponent","workspace","snapping","builder","consumerComponents","skipBuildPipeline","message","editor","ignoreNewestVersion","skipTests","skipAutoTag","build","isSnap","disableTagAndSnapPipelines","forceDeploy","packageManagerConfigRootDir","consumer","legacyScope","consumerComponentsIdsMap","consumerComponent","componentIdString","toString","R","values","idsToTag","BitIds","fromArray","c","idsToTriggerAutoTag","filter","autoTagData","getAutoTagInfo","autoTagComponents","autoTagItem","autoTagComponentsFiltered","has","autoTag","allComponentsToTag","messagesFromEditorFetcher","MessagePerComponentFetcher","getMessagePerId","getMessagesFromEditor","tmp","msg","messagePerId","newestVersionsP","componentFromModel","getModelComponentIfExist","ShowDoctorError","listVersions","length","latest","currentVersion","latestVersion","newestVersions","newestVersionsWithoutEmpty","newest","isEmpty","NewerVersionFound","logger","debugAndAddBreadCrumb","setCurrentSchema","addLogToComponents","unmergedComps","listComponentsDuringMerge","updateNextVersionOnBitmap","_addFlattenedDependenciesToComponents","emptyBuilderData","addBuildStatus","BuildStatus","Pending","addComponentsToScope","Boolean","updateComponentsVersions","publishedPackages","onTagOpts","throwOnError","combineBuildDataFromParent","seedersOnly","isolateOptions","reloadAspectsWithNewVersion","harmonyComps","getManyByLegacy","builderDataMap","tagListener","buildResult","builderDataMapToLegacyOnTagResults","_updateComponentsByTagResult","push","_getPublishedPackages","Succeed","mapSeries","_enrichComp","removeDeletedComponentsFromBitmap","objects","removeMergeConfigFromComponents","taggedComponents","autoTaggedResults","comps","comp","removed","compId","resolveComponentId","bitMap","removeComponent","components","isNowSnapped","mergeConfigPath","getConfigMergeFilePath","fs","remove","shouldValidateVersion","lane","getCurrentLaneObject","_addCompToObjects","source","_addCompFromScopeToObjects","existingBuilder","findCoreExtension","Extensions","data","autoTagComps","messagePerComponent","username","globalConfig","get","CFG_USER_NAME_KEY","bitCloudUsername","getBitCloudUsername","email","CFG_USER_EMAIL_KEY","getLog","msgFromEditor","item","date","Date","now","log","autoTagComp","defaultMsg","token","CFG_USER_TOKEN_KEY","res","fetch","BASE_CLOUD_DOMAIN","headers","Authorization","object","json","user","payload","error","schema","CURRENT_SCHEMA","buildStatus","isTag","currentLane","getCurrentLaneId","stagedConfig","getStagedConfig","isAvailableOnMain","isDefault","ModelComponent","getModelComponent","hasHead","updateVersions","unknownComponent","toBitIdWithLatestVersionAllowNull","updateComponentId","availableOnMain","setComponentProp","getComponent","config","addComponentConfig","removeConfig","getConfigPerId","clearNextVersion","write"],"sources":["tag-model-component.ts"],"sourcesContent":["import mapSeries from 'p-map-series';\nimport fs from 'fs-extra';\nimport fetch from 'node-fetch';\nimport R from 'ramda';\nimport { isEmpty } from 'lodash';\nimport { ReleaseType } from 'semver';\nimport { v4 } from 'uuid';\nimport * as globalConfig from '@teambit/legacy/dist/api/consumer/lib/global-config';\nimport { Scope } from '@teambit/legacy/dist/scope';\nimport { BitId, BitIds } from '@teambit/legacy/dist/bit-id';\nimport {\n BuildStatus,\n CFG_USER_EMAIL_KEY,\n CFG_USER_NAME_KEY,\n CFG_USER_TOKEN_KEY,\n BASE_CLOUD_DOMAIN,\n Extensions,\n} from '@teambit/legacy/dist/constants';\nimport { CURRENT_SCHEMA } from '@teambit/legacy/dist/consumer/component/component-schema';\nimport Component from '@teambit/legacy/dist/consumer/component/consumer-component';\nimport Consumer from '@teambit/legacy/dist/consumer/consumer';\nimport { NewerVersionFound } from '@teambit/legacy/dist/consumer/exceptions';\nimport ShowDoctorError from '@teambit/legacy/dist/error/show-doctor-error';\nimport logger from '@teambit/legacy/dist/logger/logger';\nimport { sha1 } from '@teambit/legacy/dist/utils';\nimport { ComponentID } from '@teambit/component-id';\nimport { AutoTagResult, getAutoTagInfo } from '@teambit/legacy/dist/scope/component-ops/auto-tag';\nimport { getValidVersionOrReleaseType } from '@teambit/legacy/dist/utils/semver-helper';\nimport { BuilderMain, OnTagOpts } from '@teambit/builder';\nimport { Log } from '@teambit/legacy/dist/scope/models/version';\nimport {\n MessagePerComponent,\n MessagePerComponentFetcher,\n} from '@teambit/legacy/dist/scope/component-ops/message-per-component';\nimport { ModelComponent } from '@teambit/legacy/dist/scope/models';\nimport { DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { ScopeMain } from '@teambit/scope';\nimport { Workspace } from '@teambit/workspace';\nimport { SnappingMain, TagDataPerComp } from './snapping.main.runtime';\n\nexport type onTagIdTransformer = (id: BitId) => BitId | null;\n\nexport type BasicTagParams = {\n message: string;\n ignoreNewestVersion?: boolean;\n skipTests?: boolean;\n skipAutoTag?: boolean;\n build?: boolean;\n soft?: boolean;\n persist: boolean;\n disableTagAndSnapPipelines?: boolean;\n forceDeploy?: boolean;\n preReleaseId?: string;\n editor?: string;\n unmodified?: boolean;\n};\n\nfunction updateDependenciesVersions(componentsToTag: Component[], dependencyResolver: DependencyResolverMain): void {\n const getNewDependencyVersion = (id: BitId): BitId | null => {\n const foundDependency = componentsToTag.find((component) => component.id.isEqualWithoutVersion(id));\n return foundDependency ? id.changeVersion(foundDependency.version) : null;\n };\n const changeExtensionsVersion = (component: Component): void => {\n component.extensions.forEach((ext) => {\n if (ext.extensionId) {\n const newDepId = getNewDependencyVersion(ext.extensionId);\n if (newDepId) ext.extensionId = newDepId;\n }\n });\n };\n\n componentsToTag.forEach((oneComponentToTag) => {\n oneComponentToTag.getAllDependencies().forEach((dependency) => {\n const newDepId = getNewDependencyVersion(dependency.id);\n if (newDepId) dependency.id = newDepId;\n });\n changeExtensionsVersion(oneComponentToTag);\n // @ts-ignore\n oneComponentToTag = dependencyResolver.updateDepsOnLegacyTag(oneComponentToTag, getNewDependencyVersion.bind(this));\n });\n}\n\nfunction setHashes(componentsToTag: Component[]): void {\n componentsToTag.forEach((componentToTag) => {\n componentToTag.version = sha1(v4());\n });\n}\n\nasync function setFutureVersions(\n componentsToTag: Component[],\n scope: Scope,\n releaseType: ReleaseType | undefined,\n exactVersion: string | null | undefined,\n persist: boolean,\n autoTagIds: BitIds,\n ids: BitIds,\n incrementBy?: number,\n preReleaseId?: string,\n soft?: boolean,\n tagDataPerComp?: TagDataPerComp[]\n): Promise<void> {\n const isPreReleaseLike = releaseType\n ? ['prerelease', 'premajor', 'preminor', 'prepatch'].includes(releaseType)\n : false;\n await Promise.all(\n componentsToTag.map(async (componentToTag) => {\n const isAutoTag = autoTagIds.hasWithoutVersion(componentToTag.id);\n const modelComponent = await scope.sources.findOrAddComponent(componentToTag);\n const nextVersion = componentToTag.componentMap?.nextVersion?.version;\n componentToTag.previouslyUsedVersion = componentToTag.version;\n if (tagDataPerComp) {\n const tagData = tagDataPerComp.find((t) => t.componentId._legacy.isEqualWithoutVersion(componentToTag.id));\n if (!tagData) throw new Error(`tag-data is missing for ${componentToTag.id.toStringWithoutVersion()}`);\n if (!tagData.versionToTag)\n throw new Error(`tag-data.TagResults is missing for ${componentToTag.id.toStringWithoutVersion()}`);\n const exactVersionOrReleaseType = getValidVersionOrReleaseType(tagData.versionToTag);\n componentToTag.version = modelComponent.getVersionToAdd(\n exactVersionOrReleaseType.releaseType,\n exactVersionOrReleaseType.exactVersion,\n undefined,\n tagData.prereleaseId\n );\n } else if (nextVersion && persist) {\n const exactVersionOrReleaseType = getValidVersionOrReleaseType(nextVersion);\n componentToTag.version = modelComponent.getVersionToAdd(\n exactVersionOrReleaseType.releaseType,\n exactVersionOrReleaseType.exactVersion,\n undefined,\n componentToTag.componentMap?.nextVersion?.preRelease\n );\n } else if (isAutoTag) {\n // auto-tag always bumped as patch unless it's pre-release\n if (isPreReleaseLike) {\n componentToTag.version = soft\n ? releaseType\n : modelComponent.getVersionToAdd(releaseType, exactVersion, incrementBy, preReleaseId);\n } else {\n componentToTag.version = soft\n ? 'patch'\n : modelComponent.getVersionToAdd('patch', undefined, incrementBy, preReleaseId);\n }\n } else {\n const versionByEnteredId = getVersionByEnteredId(ids, componentToTag, modelComponent);\n componentToTag.version = soft\n ? versionByEnteredId || exactVersion || releaseType\n : versionByEnteredId || modelComponent.getVersionToAdd(releaseType, exactVersion, incrementBy, preReleaseId);\n }\n })\n );\n}\n\nfunction getVersionByEnteredId(\n enteredIds: BitIds,\n component: Component,\n modelComponent: ModelComponent\n): string | undefined {\n const enteredId = enteredIds.searchWithoutVersion(component.id);\n if (enteredId && enteredId.hasVersion()) {\n const exactVersionOrReleaseType = getValidVersionOrReleaseType(enteredId.version as string);\n return modelComponent.getVersionToAdd(\n exactVersionOrReleaseType.releaseType,\n exactVersionOrReleaseType.exactVersion\n );\n }\n return undefined;\n}\n\nexport async function tagModelComponent({\n workspace,\n scope,\n snapping,\n builder,\n consumerComponents,\n ids,\n tagDataPerComp,\n skipBuildPipeline = false,\n message,\n editor,\n exactVersion,\n releaseType,\n preReleaseId,\n ignoreNewestVersion = false,\n skipTests = false,\n skipAutoTag,\n soft,\n build,\n persist,\n isSnap = false,\n disableTagAndSnapPipelines,\n forceDeploy,\n incrementBy,\n packageManagerConfigRootDir,\n dependencyResolver,\n}: {\n workspace?: Workspace;\n scope: ScopeMain;\n snapping: SnappingMain;\n builder: BuilderMain;\n consumerComponents: Component[];\n ids: BitIds;\n tagDataPerComp?: TagDataPerComp[];\n skipBuildPipeline?: boolean;\n exactVersion?: string | null | undefined;\n releaseType?: ReleaseType;\n incrementBy?: number;\n isSnap?: boolean;\n packageManagerConfigRootDir?: string;\n dependencyResolver: DependencyResolverMain;\n} & BasicTagParams): Promise<{\n taggedComponents: Component[];\n autoTaggedResults: AutoTagResult[];\n publishedPackages: string[];\n}> {\n const consumer = workspace?.consumer;\n const legacyScope = scope.legacyScope;\n const consumerComponentsIdsMap = {};\n // Concat and unique all the dependencies from all the components so we will not import\n // the same dependency more then once, it's mainly for performance purpose\n consumerComponents.forEach((consumerComponent) => {\n const componentIdString = consumerComponent.id.toString();\n // Store it in a map so we can take it easily from the sorted array which contain only the id\n consumerComponentsIdsMap[componentIdString] = consumerComponent;\n });\n const componentsToTag: Component[] = R.values(consumerComponentsIdsMap); // consumerComponents unique\n const idsToTag = BitIds.fromArray(componentsToTag.map((c) => c.id));\n // ids without versions are new. it's impossible that tagged (and not-modified) components has\n // them as dependencies.\n const idsToTriggerAutoTag = idsToTag.filter((id) => id.hasVersion());\n const autoTagData =\n skipAutoTag || !consumer ? [] : await getAutoTagInfo(consumer, BitIds.fromArray(idsToTriggerAutoTag));\n const autoTagComponents = autoTagData.map((autoTagItem) => autoTagItem.component);\n const autoTagComponentsFiltered = autoTagComponents.filter((c) => !idsToTag.has(c.id));\n const autoTagIds = BitIds.fromArray(autoTagComponentsFiltered.map((autoTag) => autoTag.id));\n const allComponentsToTag = [...componentsToTag, ...autoTagComponentsFiltered];\n\n const messagesFromEditorFetcher = new MessagePerComponentFetcher(idsToTag, autoTagIds);\n const getMessagePerId = async () => {\n if (editor) return messagesFromEditorFetcher.getMessagesFromEditor(legacyScope.tmp, editor);\n if (tagDataPerComp) return tagDataPerComp.map((t) => ({ id: t.componentId._legacy, msg: t.message || message }));\n return [];\n };\n const messagePerId = await getMessagePerId();\n\n // check for each one of the components whether it is using an old version\n if (!ignoreNewestVersion && !isSnap) {\n const newestVersionsP = allComponentsToTag.map(async (component) => {\n if (component.componentFromModel) {\n // otherwise it's a new component, so this check is irrelevant\n const modelComponent = await legacyScope.getModelComponentIfExist(component.id);\n if (!modelComponent) throw new ShowDoctorError(`component ${component.id} was not found in the model`);\n if (!modelComponent.listVersions().length) return null; // no versions yet, no issues.\n const latest = modelComponent.latest();\n if (latest !== component.version) {\n return {\n componentId: component.id.toStringWithoutVersion(),\n currentVersion: component.version,\n latestVersion: latest,\n };\n }\n }\n return null;\n });\n const newestVersions = await Promise.all(newestVersionsP);\n const newestVersionsWithoutEmpty = newestVersions.filter((newest) => newest);\n if (!isEmpty(newestVersionsWithoutEmpty)) {\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n throw new NewerVersionFound(newestVersionsWithoutEmpty);\n }\n }\n\n logger.debugAndAddBreadCrumb('tag-model-components', 'sequentially persist all components');\n // go through all components and find the future versions for them\n isSnap\n ? setHashes(allComponentsToTag)\n : await setFutureVersions(\n allComponentsToTag,\n legacyScope,\n releaseType,\n exactVersion,\n persist,\n autoTagIds,\n ids,\n incrementBy,\n preReleaseId,\n soft,\n tagDataPerComp\n );\n setCurrentSchema(allComponentsToTag);\n // go through all dependencies and update their versions\n updateDependenciesVersions(allComponentsToTag, dependencyResolver);\n\n await addLogToComponents(componentsToTag, autoTagComponents, persist, message, messagePerId);\n // don't move it down. otherwise, it'll be empty and we don't know which components were during merge.\n const unmergedComps = workspace ? await workspace.listComponentsDuringMerge() : [];\n if (soft) {\n if (!consumer) throw new Error(`unable to soft-tag without consumer`);\n consumer.updateNextVersionOnBitmap(allComponentsToTag, preReleaseId);\n } else {\n await snapping._addFlattenedDependenciesToComponents(legacyScope, allComponentsToTag);\n emptyBuilderData(allComponentsToTag);\n addBuildStatus(allComponentsToTag, BuildStatus.Pending);\n await addComponentsToScope(legacyScope, snapping, allComponentsToTag, Boolean(build), consumer);\n\n if (workspace) await updateComponentsVersions(workspace, allComponentsToTag);\n }\n\n const publishedPackages: string[] = [];\n if (build) {\n const onTagOpts: OnTagOpts = {\n disableTagAndSnapPipelines,\n throwOnError: true,\n forceDeploy,\n skipTests,\n isSnap,\n skipBuildPipeline,\n combineBuildDataFromParent: skipBuildPipeline,\n };\n const seedersOnly = !workspace; // if tag from scope, build only the given components\n const isolateOptions = { packageManagerConfigRootDir, seedersOnly };\n\n await scope.reloadAspectsWithNewVersion(allComponentsToTag);\n const harmonyComps = await (workspace || scope).getManyByLegacy(allComponentsToTag);\n const { builderDataMap } = await builder.tagListener(harmonyComps, onTagOpts, isolateOptions);\n const buildResult = scope.builderDataMapToLegacyOnTagResults(builderDataMap);\n\n snapping._updateComponentsByTagResult(allComponentsToTag, buildResult);\n publishedPackages.push(...snapping._getPublishedPackages(allComponentsToTag));\n addBuildStatus(allComponentsToTag, BuildStatus.Succeed);\n await mapSeries(allComponentsToTag, (consumerComponent) => snapping._enrichComp(consumerComponent));\n }\n\n if (!soft) {\n await removeDeletedComponentsFromBitmap(allComponentsToTag, workspace);\n await legacyScope.objects.persist();\n await removeMergeConfigFromComponents(unmergedComps, allComponentsToTag, workspace);\n }\n\n return { taggedComponents: componentsToTag, autoTaggedResults: autoTagData, publishedPackages };\n}\n\nasync function removeDeletedComponentsFromBitmap(comps: Component[], workspace?: Workspace) {\n if (!workspace) {\n return;\n }\n await Promise.all(\n comps.map(async (comp) => {\n if (comp.removed) {\n const compId = await workspace.resolveComponentId(comp.id);\n workspace.bitMap.removeComponent(compId);\n }\n })\n );\n}\n\nasync function removeMergeConfigFromComponents(\n unmergedComps: ComponentID[],\n components: Component[],\n workspace?: Workspace\n) {\n if (!workspace || !unmergedComps.length) {\n return;\n }\n await Promise.all(\n unmergedComps.map(async (compId) => {\n const isNowSnapped = components.find((c) => c.id.isEqualWithoutVersion(compId._legacy));\n if (isNowSnapped) {\n const mergeConfigPath = workspace.getConfigMergeFilePath(compId);\n await fs.remove(mergeConfigPath);\n }\n })\n );\n}\n\nasync function addComponentsToScope(\n scope: Scope,\n snapping: SnappingMain,\n components: Component[],\n shouldValidateVersion: boolean,\n consumer?: Consumer\n) {\n const lane = await scope.getCurrentLaneObject();\n if (consumer) {\n await mapSeries(components, async (component) => {\n await snapping._addCompToObjects({\n source: component,\n consumer,\n lane,\n shouldValidateVersion,\n });\n });\n } else {\n await mapSeries(components, async (component) => {\n await snapping._addCompFromScopeToObjects(component, lane);\n });\n }\n}\n\nfunction emptyBuilderData(components: Component[]) {\n components.forEach((component) => {\n const existingBuilder = component.extensions.findCoreExtension(Extensions.builder);\n if (existingBuilder) existingBuilder.data = {};\n });\n}\n\nasync function addLogToComponents(\n components: Component[],\n autoTagComps: Component[],\n persist: boolean,\n message: string,\n messagePerComponent: MessagePerComponent[]\n) {\n const username = await globalConfig.get(CFG_USER_NAME_KEY);\n const bitCloudUsername = await getBitCloudUsername();\n const email = await globalConfig.get(CFG_USER_EMAIL_KEY);\n const getLog = (component: Component): Log => {\n const nextVersion = persist ? component.componentMap?.nextVersion : null;\n const msgFromEditor = messagePerComponent.find((item) => item.id.isEqualWithoutVersion(component.id))?.msg;\n return {\n username: nextVersion?.username || bitCloudUsername || username,\n email: nextVersion?.email || email,\n message: nextVersion?.message || msgFromEditor || message,\n date: Date.now().toString(),\n };\n };\n\n components.forEach((component) => {\n component.log = getLog(component);\n });\n autoTagComps.forEach((autoTagComp) => {\n autoTagComp.log = getLog(autoTagComp);\n const defaultMsg = 'bump dependencies versions';\n if (message) {\n autoTagComp.log.message += ` (${defaultMsg})`;\n } else if (!autoTagComp.log.message) {\n autoTagComp.log.message = defaultMsg;\n }\n });\n}\n\nasync function getBitCloudUsername(): Promise<string | undefined> {\n const token = await globalConfig.get(CFG_USER_TOKEN_KEY);\n if (!token) return '';\n try {\n const res = await fetch(`https://api.${BASE_CLOUD_DOMAIN}/user`, {\n headers: {\n Authorization: `Bearer ${token}`,\n 'Content-Type': 'application/json',\n },\n });\n const object = await res.json();\n const user = object.payload;\n const username = user.username;\n return username;\n } catch (error) {\n return undefined;\n }\n}\n\nfunction setCurrentSchema(components: Component[]) {\n components.forEach((component) => {\n component.schema = CURRENT_SCHEMA;\n });\n}\n\nfunction addBuildStatus(components: Component[], buildStatus: BuildStatus) {\n components.forEach((component) => {\n component.buildStatus = buildStatus;\n });\n}\n\nexport async function updateComponentsVersions(\n workspace: Workspace,\n components: Array<ModelComponent | Component>,\n isTag = true\n): Promise<any> {\n const consumer = workspace.consumer;\n const currentLane = consumer.getCurrentLaneId();\n const stagedConfig = await workspace.scope.getStagedConfig();\n const isAvailableOnMain = async (component: ModelComponent | Component, id: BitId): Promise<boolean> => {\n if (currentLane.isDefault()) {\n return true;\n }\n if (!id.hasVersion()) {\n // component was unsnapped on the current lane and is back to a new component\n return true;\n }\n const modelComponent =\n component instanceof ModelComponent ? component : await consumer.scope.getModelComponent(component.id);\n return modelComponent.hasHead();\n };\n\n const updateVersions = async (unknownComponent: ModelComponent | Component) => {\n const id: BitId =\n unknownComponent instanceof ModelComponent\n ? unknownComponent.toBitIdWithLatestVersionAllowNull()\n : unknownComponent.id;\n consumer.bitMap.updateComponentId(id);\n const availableOnMain = await isAvailableOnMain(unknownComponent, id);\n if (!availableOnMain) {\n consumer.bitMap.setComponentProp(id, 'onLanesOnly', true);\n }\n const componentMap = consumer.bitMap.getComponent(id);\n const compId = await workspace.resolveComponentId(id);\n // it can be either a tag/snap or reset.\n if (isTag) {\n const config = componentMap.config;\n stagedConfig.addComponentConfig(compId, config);\n consumer.bitMap.removeConfig(id);\n } else if (!componentMap.config) {\n componentMap.config = stagedConfig.getConfigPerId(compId);\n }\n componentMap.clearNextVersion();\n };\n // important! DO NOT use Promise.all here! otherwise, you're gonna enter into a whole world of pain.\n // imagine tagging comp1 with auto-tagged comp2, comp1 package.json is written while comp2 is\n // trying to get the dependencies of comp1 using its package.json.\n await mapSeries(components, updateVersions);\n await stagedConfig.write();\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["updateDependenciesVersions","componentsToTag","dependencyResolver","getNewDependencyVersion","id","foundDependency","find","component","isEqualWithoutVersion","changeVersion","version","changeExtensionsVersion","extensions","forEach","ext","extensionId","newDepId","oneComponentToTag","getAllDependencies","dependency","updateDepsOnLegacyTag","bind","setHashes","componentToTag","sha1","v4","setFutureVersions","scope","releaseType","exactVersion","persist","autoTagIds","ids","incrementBy","preReleaseId","soft","tagDataPerComp","isPreReleaseLike","includes","Promise","all","map","isAutoTag","hasWithoutVersion","modelComponent","sources","findOrAddComponent","nextVersion","componentMap","previouslyUsedVersion","tagData","t","componentId","_legacy","Error","toStringWithoutVersion","versionToTag","exactVersionOrReleaseType","getValidVersionOrReleaseType","getVersionToAdd","undefined","prereleaseId","preRelease","versionByEnteredId","getVersionByEnteredId","enteredIds","enteredId","searchWithoutVersion","hasVersion","tagModelComponent","workspace","snapping","builder","consumerComponents","skipBuildPipeline","message","editor","ignoreNewestVersion","skipTests","skipAutoTag","build","isSnap","disableTagAndSnapPipelines","forceDeploy","packageManagerConfigRootDir","consumer","legacyScope","consumerComponentsIdsMap","consumerComponent","componentIdString","toString","R","values","idsToTag","BitIds","fromArray","c","idsToTriggerAutoTag","filter","autoTagData","getAutoTagInfo","autoTagComponents","autoTagItem","autoTagComponentsFiltered","has","autoTag","allComponentsToTag","messagesFromEditorFetcher","MessagePerComponentFetcher","getMessagePerId","getMessagesFromEditor","tmp","msg","messagePerId","newestVersionsP","componentFromModel","getModelComponentIfExist","ShowDoctorError","listVersions","length","latest","getHeadRegardlessOfLaneAsTagOrHash","currentVersion","latestVersion","newestVersions","newestVersionsWithoutEmpty","newest","isEmpty","NewerVersionFound","logger","debugAndAddBreadCrumb","setCurrentSchema","addLogToComponents","unmergedComps","listComponentsDuringMerge","stagedConfig","updateNextVersionOnBitmap","_addFlattenedDependenciesToComponents","emptyBuilderData","addBuildStatus","BuildStatus","Pending","addComponentsToScope","Boolean","updateComponentsVersions","publishedPackages","onTagOpts","throwOnError","combineBuildDataFromParent","seedersOnly","isolateOptions","reloadAspectsWithNewVersion","harmonyComps","getManyByLegacy","builderDataMap","tagListener","buildResult","builderDataMapToLegacyOnTagResults","_updateComponentsByTagResult","push","_getPublishedPackages","Succeed","mapSeries","_enrichComp","removeDeletedComponentsFromBitmap","objects","removeMergeConfigFromComponents","taggedComponents","autoTaggedResults","comps","comp","removed","compId","resolveComponentId","bitMap","removeComponent","components","isNowSnapped","mergeConfigPath","getConfigMergeFilePath","fs","remove","shouldValidateVersion","lane","getCurrentLaneObject","_addCompToObjects","source","_addCompFromScopeToObjects","existingBuilder","findCoreExtension","Extensions","data","autoTagComps","messagePerComponent","username","globalConfig","get","CFG_USER_NAME_KEY","bitCloudUsername","getBitCloudUsername","email","CFG_USER_EMAIL_KEY","getLog","msgFromEditor","item","date","Date","now","log","autoTagComp","defaultMsg","token","CFG_USER_TOKEN_KEY","res","fetch","BASE_CLOUD_DOMAIN","headers","Authorization","object","json","user","payload","error","schema","CURRENT_SCHEMA","buildStatus","isTag","currentLane","getCurrentLaneId","getStagedConfig","isAvailableOnMain","isDefault","ModelComponent","getModelComponent","hasHead","updateVersions","unknownComponent","toBitIdWithLatestVersionAllowNull","updateComponentId","availableOnMain","setComponentProp","getComponent","config","addComponentConfig","removeConfig","getConfigPerId","clearNextVersion"],"sources":["tag-model-component.ts"],"sourcesContent":["import mapSeries from 'p-map-series';\nimport fs from 'fs-extra';\nimport fetch from 'node-fetch';\nimport R from 'ramda';\nimport { isEmpty } from 'lodash';\nimport { ReleaseType } from 'semver';\nimport { v4 } from 'uuid';\nimport * as globalConfig from '@teambit/legacy/dist/api/consumer/lib/global-config';\nimport { Scope } from '@teambit/legacy/dist/scope';\nimport { BitId, BitIds } from '@teambit/legacy/dist/bit-id';\nimport {\n BuildStatus,\n CFG_USER_EMAIL_KEY,\n CFG_USER_NAME_KEY,\n CFG_USER_TOKEN_KEY,\n BASE_CLOUD_DOMAIN,\n Extensions,\n} from '@teambit/legacy/dist/constants';\nimport { CURRENT_SCHEMA } from '@teambit/legacy/dist/consumer/component/component-schema';\nimport Component from '@teambit/legacy/dist/consumer/component/consumer-component';\nimport Consumer from '@teambit/legacy/dist/consumer/consumer';\nimport { NewerVersionFound } from '@teambit/legacy/dist/consumer/exceptions';\nimport ShowDoctorError from '@teambit/legacy/dist/error/show-doctor-error';\nimport logger from '@teambit/legacy/dist/logger/logger';\nimport { sha1 } from '@teambit/legacy/dist/utils';\nimport { ComponentID } from '@teambit/component-id';\nimport { AutoTagResult, getAutoTagInfo } from '@teambit/legacy/dist/scope/component-ops/auto-tag';\nimport { getValidVersionOrReleaseType } from '@teambit/legacy/dist/utils/semver-helper';\nimport { BuilderMain, OnTagOpts } from '@teambit/builder';\nimport { Log } from '@teambit/legacy/dist/scope/models/version';\nimport {\n MessagePerComponent,\n MessagePerComponentFetcher,\n} from '@teambit/legacy/dist/scope/component-ops/message-per-component';\nimport { ModelComponent } from '@teambit/legacy/dist/scope/models';\nimport { DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { ScopeMain, StagedConfig } from '@teambit/scope';\nimport { Workspace } from '@teambit/workspace';\nimport { SnappingMain, TagDataPerComp } from './snapping.main.runtime';\n\nexport type onTagIdTransformer = (id: BitId) => BitId | null;\n\nexport type BasicTagParams = {\n message: string;\n ignoreNewestVersion?: boolean;\n skipTests?: boolean;\n skipAutoTag?: boolean;\n build?: boolean;\n soft?: boolean;\n persist: boolean;\n disableTagAndSnapPipelines?: boolean;\n forceDeploy?: boolean;\n preReleaseId?: string;\n editor?: string;\n unmodified?: boolean;\n};\n\nfunction updateDependenciesVersions(componentsToTag: Component[], dependencyResolver: DependencyResolverMain): void {\n const getNewDependencyVersion = (id: BitId): BitId | null => {\n const foundDependency = componentsToTag.find((component) => component.id.isEqualWithoutVersion(id));\n return foundDependency ? id.changeVersion(foundDependency.version) : null;\n };\n const changeExtensionsVersion = (component: Component): void => {\n component.extensions.forEach((ext) => {\n if (ext.extensionId) {\n const newDepId = getNewDependencyVersion(ext.extensionId);\n if (newDepId) ext.extensionId = newDepId;\n }\n });\n };\n\n componentsToTag.forEach((oneComponentToTag) => {\n oneComponentToTag.getAllDependencies().forEach((dependency) => {\n const newDepId = getNewDependencyVersion(dependency.id);\n if (newDepId) dependency.id = newDepId;\n });\n changeExtensionsVersion(oneComponentToTag);\n // @ts-ignore\n oneComponentToTag = dependencyResolver.updateDepsOnLegacyTag(oneComponentToTag, getNewDependencyVersion.bind(this));\n });\n}\n\nfunction setHashes(componentsToTag: Component[]): void {\n componentsToTag.forEach((componentToTag) => {\n componentToTag.version = sha1(v4());\n });\n}\n\nasync function setFutureVersions(\n componentsToTag: Component[],\n scope: Scope,\n releaseType: ReleaseType | undefined,\n exactVersion: string | null | undefined,\n persist: boolean,\n autoTagIds: BitIds,\n ids: BitIds,\n incrementBy?: number,\n preReleaseId?: string,\n soft?: boolean,\n tagDataPerComp?: TagDataPerComp[]\n): Promise<void> {\n const isPreReleaseLike = releaseType\n ? ['prerelease', 'premajor', 'preminor', 'prepatch'].includes(releaseType)\n : false;\n await Promise.all(\n componentsToTag.map(async (componentToTag) => {\n const isAutoTag = autoTagIds.hasWithoutVersion(componentToTag.id);\n const modelComponent = await scope.sources.findOrAddComponent(componentToTag);\n const nextVersion = componentToTag.componentMap?.nextVersion?.version;\n componentToTag.previouslyUsedVersion = componentToTag.version;\n if (tagDataPerComp) {\n const tagData = tagDataPerComp.find((t) => t.componentId._legacy.isEqualWithoutVersion(componentToTag.id));\n if (!tagData) throw new Error(`tag-data is missing for ${componentToTag.id.toStringWithoutVersion()}`);\n if (!tagData.versionToTag)\n throw new Error(`tag-data.TagResults is missing for ${componentToTag.id.toStringWithoutVersion()}`);\n const exactVersionOrReleaseType = getValidVersionOrReleaseType(tagData.versionToTag);\n componentToTag.version = modelComponent.getVersionToAdd(\n exactVersionOrReleaseType.releaseType,\n exactVersionOrReleaseType.exactVersion,\n undefined,\n tagData.prereleaseId\n );\n } else if (nextVersion && persist) {\n const exactVersionOrReleaseType = getValidVersionOrReleaseType(nextVersion);\n componentToTag.version = modelComponent.getVersionToAdd(\n exactVersionOrReleaseType.releaseType,\n exactVersionOrReleaseType.exactVersion,\n undefined,\n componentToTag.componentMap?.nextVersion?.preRelease\n );\n } else if (isAutoTag) {\n // auto-tag always bumped as patch unless it's pre-release\n if (isPreReleaseLike) {\n componentToTag.version = soft\n ? releaseType\n : modelComponent.getVersionToAdd(releaseType, exactVersion, incrementBy, preReleaseId);\n } else {\n componentToTag.version = soft\n ? 'patch'\n : modelComponent.getVersionToAdd('patch', undefined, incrementBy, preReleaseId);\n }\n } else {\n const versionByEnteredId = getVersionByEnteredId(ids, componentToTag, modelComponent);\n componentToTag.version = soft\n ? versionByEnteredId || exactVersion || releaseType\n : versionByEnteredId || modelComponent.getVersionToAdd(releaseType, exactVersion, incrementBy, preReleaseId);\n }\n })\n );\n}\n\nfunction getVersionByEnteredId(\n enteredIds: BitIds,\n component: Component,\n modelComponent: ModelComponent\n): string | undefined {\n const enteredId = enteredIds.searchWithoutVersion(component.id);\n if (enteredId && enteredId.hasVersion()) {\n const exactVersionOrReleaseType = getValidVersionOrReleaseType(enteredId.version as string);\n return modelComponent.getVersionToAdd(\n exactVersionOrReleaseType.releaseType,\n exactVersionOrReleaseType.exactVersion\n );\n }\n return undefined;\n}\n\nexport async function tagModelComponent({\n workspace,\n scope,\n snapping,\n builder,\n consumerComponents,\n ids,\n tagDataPerComp,\n skipBuildPipeline = false,\n message,\n editor,\n exactVersion,\n releaseType,\n preReleaseId,\n ignoreNewestVersion = false,\n skipTests = false,\n skipAutoTag,\n soft,\n build,\n persist,\n isSnap = false,\n disableTagAndSnapPipelines,\n forceDeploy,\n incrementBy,\n packageManagerConfigRootDir,\n dependencyResolver,\n}: {\n workspace?: Workspace;\n scope: ScopeMain;\n snapping: SnappingMain;\n builder: BuilderMain;\n consumerComponents: Component[];\n ids: BitIds;\n tagDataPerComp?: TagDataPerComp[];\n skipBuildPipeline?: boolean;\n exactVersion?: string | null | undefined;\n releaseType?: ReleaseType;\n incrementBy?: number;\n isSnap?: boolean;\n packageManagerConfigRootDir?: string;\n dependencyResolver: DependencyResolverMain;\n} & BasicTagParams): Promise<{\n taggedComponents: Component[];\n autoTaggedResults: AutoTagResult[];\n publishedPackages: string[];\n stagedConfig?: StagedConfig;\n}> {\n const consumer = workspace?.consumer;\n const legacyScope = scope.legacyScope;\n const consumerComponentsIdsMap = {};\n // Concat and unique all the dependencies from all the components so we will not import\n // the same dependency more then once, it's mainly for performance purpose\n consumerComponents.forEach((consumerComponent) => {\n const componentIdString = consumerComponent.id.toString();\n // Store it in a map so we can take it easily from the sorted array which contain only the id\n consumerComponentsIdsMap[componentIdString] = consumerComponent;\n });\n const componentsToTag: Component[] = R.values(consumerComponentsIdsMap); // consumerComponents unique\n const idsToTag = BitIds.fromArray(componentsToTag.map((c) => c.id));\n // ids without versions are new. it's impossible that tagged (and not-modified) components has\n // them as dependencies.\n const idsToTriggerAutoTag = idsToTag.filter((id) => id.hasVersion());\n const autoTagData =\n skipAutoTag || !consumer ? [] : await getAutoTagInfo(consumer, BitIds.fromArray(idsToTriggerAutoTag));\n const autoTagComponents = autoTagData.map((autoTagItem) => autoTagItem.component);\n const autoTagComponentsFiltered = autoTagComponents.filter((c) => !idsToTag.has(c.id));\n const autoTagIds = BitIds.fromArray(autoTagComponentsFiltered.map((autoTag) => autoTag.id));\n const allComponentsToTag = [...componentsToTag, ...autoTagComponentsFiltered];\n\n const messagesFromEditorFetcher = new MessagePerComponentFetcher(idsToTag, autoTagIds);\n const getMessagePerId = async () => {\n if (editor) return messagesFromEditorFetcher.getMessagesFromEditor(legacyScope.tmp, editor);\n if (tagDataPerComp) return tagDataPerComp.map((t) => ({ id: t.componentId._legacy, msg: t.message || message }));\n return [];\n };\n const messagePerId = await getMessagePerId();\n\n // check for each one of the components whether it is using an old version\n if (!ignoreNewestVersion && !isSnap) {\n const newestVersionsP = allComponentsToTag.map(async (component) => {\n if (component.componentFromModel) {\n // otherwise it's a new component, so this check is irrelevant\n const modelComponent = await legacyScope.getModelComponentIfExist(component.id);\n if (!modelComponent) throw new ShowDoctorError(`component ${component.id} was not found in the model`);\n if (!modelComponent.listVersions().length) return null; // no versions yet, no issues.\n const latest = modelComponent.getHeadRegardlessOfLaneAsTagOrHash();\n if (latest !== component.version) {\n return {\n componentId: component.id.toStringWithoutVersion(),\n currentVersion: component.version,\n latestVersion: latest,\n };\n }\n }\n return null;\n });\n const newestVersions = await Promise.all(newestVersionsP);\n const newestVersionsWithoutEmpty = newestVersions.filter((newest) => newest);\n if (!isEmpty(newestVersionsWithoutEmpty)) {\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n throw new NewerVersionFound(newestVersionsWithoutEmpty);\n }\n }\n\n logger.debugAndAddBreadCrumb('tag-model-components', 'sequentially persist all components');\n // go through all components and find the future versions for them\n isSnap\n ? setHashes(allComponentsToTag)\n : await setFutureVersions(\n allComponentsToTag,\n legacyScope,\n releaseType,\n exactVersion,\n persist,\n autoTagIds,\n ids,\n incrementBy,\n preReleaseId,\n soft,\n tagDataPerComp\n );\n setCurrentSchema(allComponentsToTag);\n // go through all dependencies and update their versions\n updateDependenciesVersions(allComponentsToTag, dependencyResolver);\n\n await addLogToComponents(componentsToTag, autoTagComponents, persist, message, messagePerId);\n // don't move it down. otherwise, it'll be empty and we don't know which components were during merge.\n const unmergedComps = workspace ? await workspace.listComponentsDuringMerge() : [];\n let stagedConfig;\n if (soft) {\n if (!consumer) throw new Error(`unable to soft-tag without consumer`);\n consumer.updateNextVersionOnBitmap(allComponentsToTag, preReleaseId);\n } else {\n await snapping._addFlattenedDependenciesToComponents(allComponentsToTag);\n emptyBuilderData(allComponentsToTag);\n addBuildStatus(allComponentsToTag, BuildStatus.Pending);\n await addComponentsToScope(legacyScope, snapping, allComponentsToTag, Boolean(build), consumer);\n\n if (workspace) {\n stagedConfig = await updateComponentsVersions(workspace, allComponentsToTag);\n }\n }\n\n const publishedPackages: string[] = [];\n if (build) {\n const onTagOpts: OnTagOpts = {\n disableTagAndSnapPipelines,\n throwOnError: true,\n forceDeploy,\n skipTests,\n isSnap,\n skipBuildPipeline,\n combineBuildDataFromParent: skipBuildPipeline,\n };\n const seedersOnly = !workspace; // if tag from scope, build only the given components\n const isolateOptions = { packageManagerConfigRootDir, seedersOnly };\n\n await scope.reloadAspectsWithNewVersion(allComponentsToTag);\n const harmonyComps = await (workspace || scope).getManyByLegacy(allComponentsToTag);\n const { builderDataMap } = await builder.tagListener(harmonyComps, onTagOpts, isolateOptions);\n const buildResult = scope.builderDataMapToLegacyOnTagResults(builderDataMap);\n\n snapping._updateComponentsByTagResult(allComponentsToTag, buildResult);\n publishedPackages.push(...snapping._getPublishedPackages(allComponentsToTag));\n addBuildStatus(allComponentsToTag, BuildStatus.Succeed);\n await mapSeries(allComponentsToTag, (consumerComponent) => snapping._enrichComp(consumerComponent));\n }\n\n if (!soft) {\n await removeDeletedComponentsFromBitmap(allComponentsToTag, workspace);\n await legacyScope.objects.persist();\n await removeMergeConfigFromComponents(unmergedComps, allComponentsToTag, workspace);\n }\n\n return { taggedComponents: componentsToTag, autoTaggedResults: autoTagData, publishedPackages, stagedConfig };\n}\n\nasync function removeDeletedComponentsFromBitmap(comps: Component[], workspace?: Workspace) {\n if (!workspace) {\n return;\n }\n await Promise.all(\n comps.map(async (comp) => {\n if (comp.removed) {\n const compId = await workspace.resolveComponentId(comp.id);\n workspace.bitMap.removeComponent(compId);\n }\n })\n );\n}\n\nasync function removeMergeConfigFromComponents(\n unmergedComps: ComponentID[],\n components: Component[],\n workspace?: Workspace\n) {\n if (!workspace || !unmergedComps.length) {\n return;\n }\n await Promise.all(\n unmergedComps.map(async (compId) => {\n const isNowSnapped = components.find((c) => c.id.isEqualWithoutVersion(compId._legacy));\n if (isNowSnapped) {\n const mergeConfigPath = workspace.getConfigMergeFilePath(compId);\n await fs.remove(mergeConfigPath);\n }\n })\n );\n}\n\nasync function addComponentsToScope(\n scope: Scope,\n snapping: SnappingMain,\n components: Component[],\n shouldValidateVersion: boolean,\n consumer?: Consumer\n) {\n const lane = await scope.getCurrentLaneObject();\n if (consumer) {\n await mapSeries(components, async (component) => {\n await snapping._addCompToObjects({\n source: component,\n consumer,\n lane,\n shouldValidateVersion,\n });\n });\n } else {\n await mapSeries(components, async (component) => {\n await snapping._addCompFromScopeToObjects(component, lane);\n });\n }\n}\n\nfunction emptyBuilderData(components: Component[]) {\n components.forEach((component) => {\n const existingBuilder = component.extensions.findCoreExtension(Extensions.builder);\n if (existingBuilder) existingBuilder.data = {};\n });\n}\n\nasync function addLogToComponents(\n components: Component[],\n autoTagComps: Component[],\n persist: boolean,\n message: string,\n messagePerComponent: MessagePerComponent[]\n) {\n const username = await globalConfig.get(CFG_USER_NAME_KEY);\n const bitCloudUsername = await getBitCloudUsername();\n const email = await globalConfig.get(CFG_USER_EMAIL_KEY);\n const getLog = (component: Component): Log => {\n const nextVersion = persist ? component.componentMap?.nextVersion : null;\n const msgFromEditor = messagePerComponent.find((item) => item.id.isEqualWithoutVersion(component.id))?.msg;\n return {\n username: nextVersion?.username || bitCloudUsername || username,\n email: nextVersion?.email || email,\n message: nextVersion?.message || msgFromEditor || message,\n date: Date.now().toString(),\n };\n };\n\n components.forEach((component) => {\n component.log = getLog(component);\n });\n autoTagComps.forEach((autoTagComp) => {\n autoTagComp.log = getLog(autoTagComp);\n const defaultMsg = 'bump dependencies versions';\n if (message) {\n autoTagComp.log.message += ` (${defaultMsg})`;\n } else if (!autoTagComp.log.message) {\n autoTagComp.log.message = defaultMsg;\n }\n });\n}\n\nasync function getBitCloudUsername(): Promise<string | undefined> {\n const token = await globalConfig.get(CFG_USER_TOKEN_KEY);\n if (!token) return '';\n try {\n const res = await fetch(`https://api.${BASE_CLOUD_DOMAIN}/user`, {\n headers: {\n Authorization: `Bearer ${token}`,\n 'Content-Type': 'application/json',\n },\n });\n const object = await res.json();\n const user = object.payload;\n const username = user.username;\n return username;\n } catch (error) {\n return undefined;\n }\n}\n\nfunction setCurrentSchema(components: Component[]) {\n components.forEach((component) => {\n component.schema = CURRENT_SCHEMA;\n });\n}\n\nfunction addBuildStatus(components: Component[], buildStatus: BuildStatus) {\n components.forEach((component) => {\n component.buildStatus = buildStatus;\n });\n}\n\nexport async function updateComponentsVersions(\n workspace: Workspace,\n components: Array<ModelComponent | Component>,\n isTag = true\n): Promise<StagedConfig> {\n const consumer = workspace.consumer;\n const currentLane = consumer.getCurrentLaneId();\n const stagedConfig = await workspace.scope.getStagedConfig();\n const isAvailableOnMain = async (component: ModelComponent | Component, id: BitId): Promise<boolean> => {\n if (currentLane.isDefault()) {\n return true;\n }\n if (!id.hasVersion()) {\n // component was unsnapped on the current lane and is back to a new component\n return true;\n }\n const modelComponent =\n component instanceof ModelComponent ? component : await consumer.scope.getModelComponent(component.id);\n return modelComponent.hasHead();\n };\n\n const updateVersions = async (unknownComponent: ModelComponent | Component) => {\n const id: BitId =\n unknownComponent instanceof ModelComponent\n ? unknownComponent.toBitIdWithLatestVersionAllowNull()\n : unknownComponent.id;\n consumer.bitMap.updateComponentId(id);\n const availableOnMain = await isAvailableOnMain(unknownComponent, id);\n if (!availableOnMain) {\n consumer.bitMap.setComponentProp(id, 'onLanesOnly', true);\n }\n const componentMap = consumer.bitMap.getComponent(id);\n const compId = await workspace.resolveComponentId(id);\n // it can be either a tag/snap or reset.\n if (isTag) {\n const config = componentMap.config;\n stagedConfig.addComponentConfig(compId, config);\n consumer.bitMap.removeConfig(id);\n } else if (!componentMap.config) {\n componentMap.config = stagedConfig.getConfigPerId(compId);\n }\n componentMap.clearNextVersion();\n };\n // important! DO NOT use Promise.all here! otherwise, you're gonna enter into a whole world of pain.\n // imagine tagging comp1 with auto-tagged comp2, comp1 package.json is written while comp2 is\n // trying to get the dependencies of comp1 using its package.json.\n await mapSeries(components, updateVersions);\n\n return stagedConfig;\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/snapping",
3
- "version": "0.0.261",
3
+ "version": "0.0.263",
4
4
  "homepage": "https://bit.dev/teambit/component/snapping",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.component",
8
8
  "name": "snapping",
9
- "version": "0.0.261"
9
+ "version": "0.0.263"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "2.4.2",
@@ -23,21 +23,21 @@
23
23
  "@teambit/harmony": "0.4.6",
24
24
  "@teambit/graph.cleargraph": "0.0.1",
25
25
  "@teambit/bit-error": "0.0.402",
26
- "@teambit/issues": "0.0.254",
27
- "@teambit/cli": "0.0.633",
26
+ "@teambit/issues": "0.0.256",
27
+ "@teambit/cli": "0.0.635",
28
28
  "@teambit/component-issues": "0.0.84",
29
- "@teambit/logger": "0.0.726",
30
- "@teambit/builder": "0.0.946",
31
- "@teambit/community": "0.0.181",
29
+ "@teambit/logger": "0.0.728",
30
+ "@teambit/builder": "0.0.948",
31
+ "@teambit/community": "0.0.183",
32
32
  "@teambit/component-id": "0.0.425",
33
- "@teambit/component": "0.0.946",
34
- "@teambit/dependency-resolver": "0.0.946",
35
- "@teambit/export": "0.0.946",
36
- "@teambit/importer": "0.0.375",
37
- "@teambit/insights": "0.0.946",
38
- "@teambit/lane-id": "0.0.151",
39
- "@teambit/scope": "0.0.946",
40
- "@teambit/workspace": "0.0.946"
33
+ "@teambit/component": "0.0.948",
34
+ "@teambit/dependency-resolver": "0.0.948",
35
+ "@teambit/export": "0.0.948",
36
+ "@teambit/importer": "0.0.377",
37
+ "@teambit/insights": "0.0.948",
38
+ "@teambit/lane-id": "0.0.153",
39
+ "@teambit/scope": "0.0.948",
40
+ "@teambit/workspace": "0.0.948"
41
41
  },
42
42
  "devDependencies": {
43
43
  "@types/lodash": "4.14.165",
@@ -51,13 +51,13 @@
51
51
  "@types/react-dom": "^17.0.5",
52
52
  "@types/jest": "^26.0.0",
53
53
  "@types/testing-library__jest-dom": "5.9.5",
54
- "@teambit/compiler": "0.0.946",
54
+ "@teambit/compiler": "0.0.948",
55
55
  "@teambit/component.testing.mock-components": "0.0.18",
56
56
  "@teambit/harmony.testing.load-aspect": "0.0.17",
57
57
  "@teambit/workspace.testing.mock-workspace": "0.0.14"
58
58
  },
59
59
  "peerDependencies": {
60
- "@teambit/legacy": "1.0.414",
60
+ "@teambit/legacy": "1.0.416",
61
61
  "react": "^16.8.0 || ^17.0.0",
62
62
  "react-dom": "^16.8.0 || ^17.0.0"
63
63
  },