@teambit/snapping 1.0.140 → 1.0.141

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,7 +1,7 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <testsuites>
3
- <testsuite name="teambit.component/snapping@1.0.140" timestamp="2024-01-19T03:40:54.506Z" tests="2" failures="0" errors="0" skipped="1">
4
- <testcase classname="snapping.spec.js" name="tag should throw an ComponentsHaveIssues error" time="0.158"/>
3
+ <testsuite name="teambit.component/snapping@1.0.141" timestamp="2024-01-20T03:38:40.885Z" tests="2" failures="0" errors="0" skipped="1">
4
+ <testcase classname="snapping.spec.js" name="tag should throw an ComponentsHaveIssues error" time="0.165"/>
5
5
  <testcase classname="snapping.spec.js" name="should not throw an error if the config was set to ignore MissingPackagesDependenciesOnFs error">
6
6
  <skipped/>
7
7
  </testcase>
@@ -4,20 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = exports.SnappingMain = void 0;
7
- function _concat2() {
8
- const data = _interopRequireDefault(require("ramda/src/concat"));
9
- _concat2 = function () {
10
- return data;
11
- };
12
- return data;
13
- }
14
- function _isEmpty2() {
15
- const data = _interopRequireDefault(require("ramda/src/isEmpty"));
16
- _isEmpty2 = function () {
17
- return data;
18
- };
19
- return data;
20
- }
21
7
  function _cli() {
22
8
  const data = require("@teambit/cli");
23
9
  _cli = function () {
@@ -60,13 +46,6 @@ function _lodash() {
60
46
  };
61
47
  return data;
62
48
  }
63
- function _analytics() {
64
- const data = require("@teambit/legacy/dist/analytics/analytics");
65
- _analytics = function () {
66
- return data;
67
- };
68
- return data;
69
- }
70
49
  function _componentId() {
71
50
  const data = require("@teambit/component-id");
72
51
  _componentId = function () {
@@ -354,9 +333,9 @@ function _snapDistanceCmd() {
354
333
  };
355
334
  return data;
356
335
  }
336
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
357
337
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
358
338
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
359
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
360
339
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
361
340
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
362
341
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
@@ -429,7 +408,7 @@ class SnappingMain {
429
408
  bitIds,
430
409
  warnings
431
410
  } = await this.getComponentsToTag(unmodified, exactVersion, persist, ids, snapped, unmerged);
432
- if ((0, _isEmpty2().default)(bitIds)) return null;
411
+ if (!bitIds.length) return null;
433
412
  const legacyBitIds = _componentId().ComponentIdList.fromArray(bitIds);
434
413
  this.logger.debug(`tagging the following components: ${legacyBitIds.toString()}`);
435
414
  const components = await this.loadComponentsForTagOrSnap(legacyBitIds, !soft);
@@ -478,9 +457,6 @@ class SnappingMain {
478
457
  };
479
458
  const postHook = isAll ? _constants().POST_TAG_ALL_HOOK : _constants().POST_TAG_HOOK;
480
459
  HooksManagerInstance?.triggerHook(postHook, tagResults);
481
- _analytics().Analytics.setExtraData('num_components',
482
- // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
483
- (0, _concat2().default)(tagResults.taggedComponents, tagResults.autoTaggedResults, tagResults.newComponents).length);
484
460
  await consumer.onDestroy(`tag (message: ${message || 'N/A'})`);
485
461
  await stagedConfig?.write();
486
462
  // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
@@ -1152,7 +1128,7 @@ another option, in case this dependency is not in main yet is to remove all refe
1152
1128
  this.issues.removeIgnoredIssuesFromComponents(components, issuesToIgnore);
1153
1129
  const legacyComponents = components.map(c => c.state._consumer);
1154
1130
  const componentsWithBlockingIssues = legacyComponents.filter(component => component.issues?.shouldBlockTagging());
1155
- if (!(0, _isEmpty2().default)(componentsWithBlockingIssues)) {
1131
+ if (componentsWithBlockingIssues.length) {
1156
1132
  throw new (_componentsHaveIssues().ComponentsHaveIssues)(componentsWithBlockingIssues);
1157
1133
  }
1158
1134
  const workspaceIssues = this.workspace.getWorkspaceIssues();
@@ -1 +1 @@
1
- {"version":3,"names":["_cli","data","require","_graph","_getFlattenedDependencies","_workspace","_interopRequireWildcard","_semver","_interopRequireDefault","_lodash","_analytics","_componentId","_constants","_componentsList","_hooks","_pMapSeries","_semverHelper","_loader","_componentsPendingImport","_logger","_bitError","_pMap","_insights","_concurrency","_untagComponent","_scope","_issues","_dependencyResolver","_config","_builder","_laneId","_importer","_export","_unmergedComponents","_componentVersion","_objects","_globalConfig","_artifactFiles","_exceptions","_dependencies","_sources","_snapCmd","_snapping","_tagCmd","_componentsHaveIssues","_resetCmd","_tagModelComponent","_tagFromScope","_snapFromScope","_generateCompFromScope","_flattenedEdges","_snapDistanceCmd","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","key","value","_toPropertyKey","configurable","writable","_toPrimitive","String","Symbol","toPrimitive","TypeError","Number","HooksManagerInstance","HooksManager","getInstance","SnappingMain","constructor","workspace","logger","issues","insights","dependencyResolver","scope","exporter","builder","importer","deps","objectsRepo","legacyScope","objects","tag","ids","message","version","editor","snapped","unmerged","releaseType","preReleaseId","ignoreIssues","ignoreNewestVersion","skipTests","skipAutoTag","build","unmodified","soft","persist","ignoreBuildErrors","rebuildDepsGraph","incrementBy","disableTagAndSnapPipelines","failFast","BitError","exactVersion","OutsideWorkspaceError","idsHasPattern","hasPattern","isAll","Boolean","validExactVersion","validateVersion","consumer","componentsList","ComponentsList","loader","start","newComponents","listNewComponents","bitIds","warnings","getComponentsToTag","_isEmpty2","legacyBitIds","ComponentIdList","fromArray","debug","toString","components","loadComponentsForTagOrSnap","consumerComponents","map","c","state","_consumer","throwForVariousIssues","taggedComponents","autoTaggedResults","publishedPackages","stagedConfig","removedComponents","tagModelComponent","snapping","packageManagerConfigRootDir","path","exitOnFirstFailedTask","tagResults","isSoftTag","postHook","POST_TAG_ALL_HOOK","POST_TAG_HOOK","triggerHook","Analytics","setExtraData","_concat2","onDestroy","write","tagFromScope","tagDataPerCompRaw","params","tagDataPerComp","Promise","all","tagData","componentId","resolveComponentId","dependencies","resolveMultipleComponentIds","versionToTag","prereleaseId","componentIds","import","reason","compact","flat","dep","changeVersion","LATEST","additionalComponentIdsToFetch","id","hasVersion","modelComp","getBitObjectModelComponent","Error","head","getRef","isEqual","useCache","d","getCompIdWithExactVersionAccordingToSemver","getMany","comp","find","ignoreVersion","updateDependenciesVersionsOfComponent","loadManyCompsAspects","shouldUsePopulateArtifactsFrom","every","buildStatus","BuildStatus","Succeed","legacyIds","results","populateArtifactsFrom","undefined","copyLogFromPreviousSnap","exportMany","idsWithFutureScope","allVersions","exportOrigin","snapFromScope","snapDataPerCompRaw","snapDataPerComp","snapData","aspects","files","isNew","mainFile","newDependencies","isComponent","type","allCompIds","s","componentIdsLatest","newCompsData","newComp","generateCompFromScope","lane","laneIdStr","laneId","LaneId","parse","importLaneObject","setCurrentLaneId","scopeImporter","shouldOnlyFetchFromCurrentLane","preferDependencyGraph","getSnapData","existingComponents","addAspectsFromConfigObject","updateSourceFiles","pMapSeries","executeOnCompAspectReCalcSlot","component","addDeps","isSnap","exportedIds","updatedLane","loadLane","toLaneId","exported","laneObject","exportHeadsOnly","snappedIds","snap","pattern","skipAutoSnap","getIdsToSnap","snapResults","snappedComponents","autoSnappedResults","currentLane","getCurrentLaneId","laneName","isDefault","listDuringMergeStateComponents","tagPendingComponentsIds","listPotentialTagIds","listTagPendingIds","shouldThrowForNoMatching","getCompIds","includes","compId","filterIdsFromPoolIdsByPattern","allTagPending","reset","componentPattern","force","getCurrentLaneObject","untag","removeLocalVersionsForAllComponents","candidateComponents","getComponentsWithOptionToUntag","idsMatchingPattern","idsByPattern","includeDeleted","idsMatchingPatternBitIds","componentsToUntag","modelComponent","hasWithoutVersion","toComponentId","removeLocalVersionsForMultipleComponents","softUntag","softTaggedComponentsIds","bySoftTagged","idsToRemoveSoftTags","componentMap","bitMap","getComponent","removedVersion","nextVersion","clearNextVersion","versions","isRealUntag","result","updateComponentsVersions","markAsChanged","isSoftUntag","resetNeverExported","notExported","getNotExportedIds","hashes","BitObject","makeHash","fullName","deleteObjectsFromFS","h","Ref","from","updateComponentId","_addFlattenedDependenciesToComponents","getLane","forkedFrom","flattenedDependenciesGetter","FlattenedDependenciesGetter","populateFlattenedDependencies","stop","_addFlattenedDepsGraphToComponents","flattenedEdgesGetter","FlattenedEdgesGetter","buildGraph","populateFlattenedAndEdgesForComp","throwForDepsFromAnotherLane","allIds","missingDeps","throwForDepsFromAnotherLaneForComp","flattenedMissingDeps","uniqFromArray","importWithoutDeps","cache","ignoreMissingHead","includeVersionHistory","componentsToCheck","isDeleted","throwForLegacyDependenciesInsideHarmony","throwForComponentIssues","throwForPendingImport","throwForMissingObjects","getAllDependencies","isExported","isTag","isPartOfHistory","isPartOfLaneHistory","isPartOfMainHistory","err","VersionNotFound","ComponentNotFound","laneOrMainStr","name","toStringWithoutVersion","graph","Graph","addEdges","label","setNode","Node","setEdge","Edge","devDependencies","extensionDependencies","allFlattened","flattenedDependencies","allFlattenedUniq","allFlattenedWithoutCurrent","componentsAndVersions","getComponentsAndVersions","versionStr","someCompsHaveMissingFlattened","edges","outEdges","flattenedEdges","allEdges","edgesWithBitIds","edge","source","node","attr","target","flattened","flattenedFromEdges","uniq","missingFlattened","difference","warn","join","missingBitIds","_updateComponentsByTagResult","tagResult","matchingComponent","existingBuilder","extensions","findCoreExtension","Extensions","builderData","_getPublishedPackages","builderExt","pkgData","aspectsData","aspectId","pkg","publishedPackage","_addCompToObjects","shouldValidateVersion","_addCompFromScopeToObjects","unmergedComponent","unmergedComponents","getEntry","unrelated","hash","previouslyUsedVersion","unrelatedHead","setUnrelated","addAsOnlyParent","unrelatedLaneId","headOnCurrentLane","addParent","log","UnmergedComponents","buildSnapMessage","removeComponent","validate","objectRepo","sources","findOrAddComponent","artifactFiles","getArtifactsFiles","artifacts","transformArtifactsFromVinylToSource","consumerComponentToVersion","origin","defaultScope","add","addVersion","file","_enrichComp","consumerComponent","modifiedLog","_getObjectsToEnrichComp","loadVersion","addModifiedLog","artifactObjects","artifactsFiles","artifactsSource","ArtifactFiles","fromVinylsToSources","vinyls","populateRefsFromSources","shouldClearCacheFirst","compIds","componentFsCache","deleteAllDependenciesDataCache","clearAllComponentsCache","issuesToIgnoreFromFlag","split","issue","trim","issuesToIgnoreFromConfig","getIssuesToIgnoreGlobally","issuesToIgnore","triggerAddComponentIssues","removeIgnoredIssuesFromComponents","legacyComponents","componentsWithBlockingIssues","shouldBlockTagging","ComponentsHaveIssues","workspaceIssues","getWorkspaceIssues","issuesStr","issueErr","componentsMissingFromScope","componentFromModel","ComponentsPendingImport","throwForComponent","dependenciesIds","getAllDependenciesIds","depId","getModelComponentIfExist","isLegacy","pMap","concurrency","concurrentComponentsLimit","isHash","range","getExactVersionBySemverRange","currentFiles","filesystem","delete","index","findIndex","f","splice","currentFile","contents","Buffer","content","SourceFile","base","test","currentBitIds","updatedIds","componentIdStr","legacyComponent","dependenciesList","getDependencies","updatedBitId","searchWithoutVersion","depIdStr","packageName","findDependency","getPackageName","ext","extensionId","newExtensionId","createAspectListFromExtensionDataList","dependenciesListSerialized","extractDepsFromLegacy","serialize","extId","DependencyResolverAspect","existingExtension","config","findExtension","assign","extension","ExtensionDataEntry","includeUnmodified","softTaggedComponents","snappedComponentsIds","bySnappedOnMain","idWithoutVer","idIsPattern","isPattern","componentStatus","getComponentStatusById","modified","tagPendingBitIds","tagPendingBitIdsIncludeSnapped","tagPendingComponentsLatest","latestVersions","semver","valid","gt","provider","cli","loggerMain","globalConfig","createLogger","SnappingAspect","snapCmd","SnapCmd","tagCmd","TagCmd","tagFromScopeCmd","TagFromScopeCmd","snapFromScopeCmd","SnapFromScopeCmd","resetCmd","ResetCmd","snapDistanceCmd","SnapDistanceCmd","register","exports","WorkspaceAspect","CLIAspect","LoggerAspect","IssuesAspect","InsightsAspect","ScopeAspect","ExportAspect","BuilderAspect","ImporterAspect","GlobalConfigAspect","DependenciesAspect","MainRuntime","addRuntime","_default"],"sources":["snapping.main.runtime.ts"],"sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { Graph, Node, Edge } from '@teambit/graph.cleargraph';\nimport { LegacyOnTagResult } from '@teambit/legacy/dist/scope/scope';\nimport { FlattenedDependenciesGetter } from '@teambit/legacy/dist/scope/component-ops/get-flattened-dependencies';\nimport WorkspaceAspect, { OutsideWorkspaceError, Workspace } from '@teambit/workspace';\nimport R from 'ramda';\nimport semver, { ReleaseType } from 'semver';\nimport { compact, difference, uniq } from 'lodash';\nimport { Analytics } from '@teambit/legacy/dist/analytics/analytics';\nimport { ComponentID, ComponentIdList } from '@teambit/component-id';\nimport { POST_TAG_ALL_HOOK, POST_TAG_HOOK, Extensions, LATEST, BuildStatus } from '@teambit/legacy/dist/constants';\nimport { Consumer } from '@teambit/legacy/dist/consumer';\nimport ComponentsList from '@teambit/legacy/dist/consumer/component/components-list';\nimport HooksManager from '@teambit/legacy/dist/hooks';\nimport pMapSeries from 'p-map-series';\nimport { validateVersion } from '@teambit/legacy/dist/utils/semver-helper';\nimport loader from '@teambit/legacy/dist/cli/loader';\nimport ComponentsPendingImport from '@teambit/legacy/dist/consumer/component-ops/exceptions/components-pending-import';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { BitError } from '@teambit/bit-error';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component/consumer-component';\nimport pMap from 'p-map';\nimport { InsightsAspect, InsightsMain } from '@teambit/insights';\nimport { concurrentComponentsLimit } from '@teambit/legacy/dist/utils/concurrency';\nimport {\n removeLocalVersionsForAllComponents,\n untagResult,\n getComponentsWithOptionToUntag,\n removeLocalVersionsForMultipleComponents,\n} from '@teambit/legacy/dist/scope/component-ops/untag-component';\nimport { ScopeAspect, ScopeMain } from '@teambit/scope';\nimport { Lane, ModelComponent } from '@teambit/legacy/dist/scope/models';\nimport IssuesAspect, { IssuesMain } from '@teambit/issues';\nimport { Component } from '@teambit/component';\nimport { DependencyResolverAspect, DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { ExtensionDataEntry } from '@teambit/legacy/dist/consumer/config';\nimport { BuilderAspect, BuilderMain } from '@teambit/builder';\nimport { LaneId } from '@teambit/lane-id';\nimport ImporterAspect, { ImporterMain } from '@teambit/importer';\nimport { ExportAspect, ExportMain } from '@teambit/export';\nimport UnmergedComponents from '@teambit/legacy/dist/scope/lanes/unmerged-components';\nimport { isHash, isTag } from '@teambit/component-version';\nimport { BitObject, Ref, Repository } from '@teambit/legacy/dist/scope/objects';\nimport GlobalConfigAspect, { GlobalConfigMain } from '@teambit/global-config';\nimport {\n ArtifactFiles,\n ArtifactSource,\n getArtifactsFiles,\n} from '@teambit/legacy/dist/consumer/component/sources/artifact-files';\nimport { VersionNotFound, ComponentNotFound } from '@teambit/legacy/dist/scope/exceptions';\nimport { AutoTagResult } from '@teambit/legacy/dist/scope/component-ops/auto-tag';\nimport DependenciesAspect, { DependenciesMain } from '@teambit/dependencies';\nimport { SourceFile } from '@teambit/legacy/dist/consumer/component/sources';\nimport Version, { DepEdge, DepEdgeType, Log } from '@teambit/legacy/dist/scope/models/version';\nimport { SnapCmd } from './snap-cmd';\nimport { SnappingAspect } from './snapping.aspect';\nimport { TagCmd } from './tag-cmd';\nimport { ComponentsHaveIssues } from './components-have-issues';\nimport ResetCmd from './reset-cmd';\nimport { tagModelComponent, updateComponentsVersions, BasicTagParams } from './tag-model-component';\nimport { TagDataPerCompRaw, TagFromScopeCmd } from './tag-from-scope.cmd';\nimport { SnapDataPerCompRaw, SnapFromScopeCmd, FileData } from './snap-from-scope.cmd';\nimport { addDeps, generateCompFromScope } from './generate-comp-from-scope';\nimport { FlattenedEdgesGetter } from './flattened-edges';\nimport { SnapDistanceCmd } from './snap-distance-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 isNew?: boolean;\n};\n\nexport type SnapDataParsed = {\n componentId: ComponentID;\n dependencies: ComponentID[];\n aspects?: Record<string, any>;\n message?: string;\n files?: FileData[];\n isNew?: boolean;\n newDependencies?: {\n id: string; // component-id or package-name.\n version?: string; // for packages, it is mandatory.\n isComponent: boolean;\n type: 'runtime' | 'dev' | 'peer';\n }[];\n};\n\nexport type SnapResults = BasicTagResults & {\n snappedComponents: ConsumerComponent[];\n autoSnappedResults: AutoTagResult[];\n laneName: string | null; // null if default\n};\n\nexport type SnapFromScopeResults = {\n snappedIds: string[];\n exportedIds?: string[];\n};\n\nexport type TagResults = BasicTagResults & {\n taggedComponents: ConsumerComponent[];\n autoTaggedResults: AutoTagResult[];\n isSoftTag: boolean;\n publishedPackages: string[];\n};\n\nexport type BasicTagResults = {\n warnings: string[];\n newComponents: ComponentIdList;\n removedComponents?: ComponentIdList;\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 private deps: DependenciesMain\n ) {\n this.objectsRepo = this.scope?.legacyScope?.objects;\n }\n\n /**\n * tag the given component ids or all modified/new components if \"all\" param is set.\n * tag is a similar operation as a snap, which saves the changes into the local scope, but it also creates an alias\n * with a valid semver to that version.\n * tag can be done only on main, not on a lane.\n */\n // eslint-disable-next-line complexity\n async tag({\n ids = [],\n message = '',\n version,\n editor = '',\n snapped = false,\n unmerged = false,\n releaseType,\n preReleaseId,\n ignoreIssues,\n ignoreNewestVersion = false,\n skipTests = false,\n skipAutoTag = false,\n build,\n unmodified = false,\n soft = false,\n persist = false,\n ignoreBuildErrors = false,\n rebuildDepsGraph,\n incrementBy = 1,\n disableTagAndSnapPipelines = false,\n failFast = false,\n }: {\n ids?: string[];\n all?: boolean | string;\n snapped?: boolean;\n unmerged?: boolean;\n version?: string;\n releaseType?: ReleaseType;\n ignoreIssues?: string;\n scope?: string | boolean;\n incrementBy?: number;\n failFast?: boolean;\n } & Partial<BasicTagParams>): Promise<TagResults | null> {\n if (soft) build = false;\n if (editor && persist) {\n throw new BitError('you can use either --editor or --persist, but not both');\n }\n if (editor && message) {\n throw new BitError('you can use either --editor or --message, but not both');\n }\n\n const exactVersion = version;\n if (!this.workspace) throw new OutsideWorkspaceError();\n const idsHasPattern = this.workspace.hasPattern(ids);\n const isAll = Boolean(!ids.length || idsHasPattern);\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 = ComponentIdList.fromArray(bitIds);\n\n this.logger.debug(`tagging the following components: ${legacyBitIds.toString()}`);\n const components = await this.loadComponentsForTagOrSnap(legacyBitIds, !soft);\n const consumerComponents = components.map((c) => c.state._consumer) as ConsumerComponent[];\n await this.throwForVariousIssues(components, ignoreIssues);\n\n const { taggedComponents, autoTaggedResults, publishedPackages, stagedConfig, removedComponents } =\n await tagModelComponent({\n workspace: this.workspace,\n scope: this.scope,\n snapping: this,\n builder: this.builder,\n consumerComponents,\n ids: legacyBitIds,\n message,\n editor,\n exactVersion: validExactVersion,\n releaseType,\n preReleaseId,\n ignoreNewestVersion,\n skipTests,\n skipAutoTag,\n soft,\n build,\n persist,\n disableTagAndSnapPipelines,\n ignoreBuildErrors,\n rebuildDepsGraph,\n incrementBy,\n packageManagerConfigRootDir: this.workspace.path,\n dependencyResolver: this.dependencyResolver,\n exitOnFirstFailedTask: failFast,\n });\n\n const tagResults = {\n taggedComponents,\n autoTaggedResults,\n isSoftTag: soft,\n publishedPackages,\n warnings,\n newComponents,\n removedComponents,\n };\n\n const postHook = isAll ? POST_TAG_ALL_HOOK : POST_TAG_HOOK;\n HooksManagerInstance?.triggerHook(postHook, tagResults);\n Analytics.setExtraData(\n 'num_components',\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n R.concat(tagResults.taggedComponents, tagResults.autoTaggedResults, tagResults.newComponents).length\n );\n await consumer.onDestroy(`tag (message: ${message || 'N/A'})`);\n await stagedConfig?.write();\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n return tagResults;\n }\n\n async tagFromScope(\n tagDataPerCompRaw: TagDataPerCompRaw[],\n params: {\n push?: boolean;\n version?: string;\n releaseType?: ReleaseType;\n ignoreIssues?: string;\n incrementBy?: number;\n } & Partial<BasicTagParams>\n ): Promise<TagResults | null> {\n if (this.workspace) {\n throw new BitError(\n `unable to run this command from a workspace, please create a new bare-scope and run it from there`\n );\n }\n if (!this.scope) {\n throw new BitError(`please create a new bare-scope and run it from there`);\n }\n\n const tagDataPerComp = await Promise.all(\n tagDataPerCompRaw.map(async (tagData) => {\n return {\n componentId: await this.scope.resolveComponentId(tagData.componentId),\n dependencies: tagData.dependencies ? await this.scope.resolveMultipleComponentIds(tagData.dependencies) : [],\n versionToTag: tagData.versionToTag || params.releaseType || 'patch',\n prereleaseId: tagData.prereleaseId,\n message: tagData.message,\n };\n })\n );\n const componentIds = tagDataPerComp.map((t) => t.componentId);\n // important! leave the \"preferDependencyGraph\" with the default - true. no need to bring all dependencies at this\n // stage. later on, they'll be imported during \"snapping._addFlattenedDependenciesToComponents\".\n // otherwise, the dependencies are imported without version-history and fail later when checking their origin.\n await this.scope.import(componentIds, { reason: 'of the seeders to tag' });\n const deps = compact(tagDataPerComp.map((t) => t.dependencies).flat()).map((dep) => dep.changeVersion(LATEST));\n const additionalComponentIdsToFetch = await Promise.all(\n componentIds.map(async (id) => {\n if (!id.hasVersion()) return null;\n const modelComp = await this.scope.getBitObjectModelComponent(id);\n if (!modelComp) throw new Error(`unable to find ModelComponent of ${id.toString()}`);\n if (!modelComp.head) return null;\n if (modelComp.getRef(id.version as string)?.isEqual(modelComp.head)) return null;\n if (!params.ignoreNewestVersion) {\n throw new BitError(`unable to tag \"${id.toString()}\", this version is older than the head ${modelComp.head.toString()}.\nif you're willing to lose the history from the head to the specified version, use --ignore-newest-version flag`);\n }\n return id.changeVersion(LATEST);\n })\n );\n\n // import deps to be able to resolve semver\n await this.scope.import([...deps, ...compact(additionalComponentIdsToFetch)], {\n useCache: false,\n reason: `which are the dependencies of the ${componentIds.length} seeders`,\n });\n await Promise.all(\n tagDataPerComp.map(async (tagData) => {\n tagData.dependencies = tagData.dependencies\n ? await Promise.all(tagData.dependencies.map((d) => this.getCompIdWithExactVersionAccordingToSemver(d)))\n : [];\n })\n );\n const components = await this.scope.getMany(componentIds);\n await Promise.all(\n components.map(async (comp) => {\n const tagData = tagDataPerComp.find((t) => t.componentId.isEqual(comp.id, { ignoreVersion: true }));\n if (!tagData) throw new Error(`unable to find ${comp.id.toString()} in tagDataPerComp`);\n if (!tagData.dependencies.length) return;\n await this.updateDependenciesVersionsOfComponent(comp, tagData.dependencies, componentIds);\n })\n );\n\n await this.scope.loadManyCompsAspects(components);\n\n const consumerComponents = components.map((c) => c.state._consumer) as ConsumerComponent[];\n const shouldUsePopulateArtifactsFrom = components.every((comp) => {\n if (!comp.buildStatus) throw new Error(`tag-from-scope expect ${comp.id.toString()} to have buildStatus`);\n return comp.buildStatus === BuildStatus.Succeed;\n });\n const legacyIds = ComponentIdList.fromArray(componentIds.map((id) => id));\n const results = await tagModelComponent({\n ...params,\n scope: this.scope,\n consumerComponents,\n tagDataPerComp,\n populateArtifactsFrom: shouldUsePopulateArtifactsFrom ? components.map((c) => c.id) : undefined,\n copyLogFromPreviousSnap: true,\n snapping: this,\n builder: this.builder,\n dependencyResolver: this.dependencyResolver,\n skipAutoTag: true,\n persist: true,\n ids: legacyIds,\n message: params.message as string,\n });\n\n const { taggedComponents, publishedPackages } = results;\n\n if (params.push) {\n await this.exporter.exportMany({\n scope: this.scope.legacyScope,\n ids: legacyIds,\n idsWithFutureScope: legacyIds,\n allVersions: false,\n exportOrigin: 'tag',\n });\n }\n\n return {\n taggedComponents,\n autoTaggedResults: [],\n isSoftTag: false,\n publishedPackages,\n warnings: [],\n newComponents: new ComponentIdList(),\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 files: snapData.files,\n isNew: snapData.isNew,\n mainFile: snapData.mainFile,\n newDependencies: (snapData.newDependencies || []).map((dep) => ({\n id: dep.id,\n version: dep.version,\n isComponent: dep.isComponent ?? true,\n type: dep.type ?? 'runtime',\n })),\n };\n })\n );\n const componentIds = compact(snapDataPerComp.map((t) => (t.isNew ? null : t.componentId)));\n const allCompIds = snapDataPerComp.map((s) => s.componentId);\n const componentIdsLatest = componentIds.map((id) => id.changeVersion(LATEST));\n const newCompsData = compact(snapDataPerComp.map((t) => (t.isNew ? t : null)));\n const newComponents = await Promise.all(newCompsData.map((newComp) => generateCompFromScope(this.scope, newComp)));\n\n let lane: Lane | undefined;\n const laneIdStr = params.lane;\n if (laneIdStr) {\n const laneId = LaneId.parse(laneIdStr);\n lane = await this.importer.importLaneObject(laneId);\n // this is critical. otherwise, later on, when loading aspects and isolating capsules, we'll try to fetch dists\n // from the original scope instead of the lane-scope.\n this.scope.legacyScope.setCurrentLaneId(laneId);\n this.scope.legacyScope.scopeImporter.shouldOnlyFetchFromCurrentLane = true;\n }\n\n await this.scope.import(componentIdsLatest, {\n preferDependencyGraph: false,\n lane,\n reason: `seeders to snap`,\n });\n const getSnapData = (id: ComponentID): SnapDataParsed => {\n const snapData = snapDataPerComp.find((t) => {\n return t.componentId.isEqual(id, { ignoreVersion: true });\n });\n if (!snapData) throw new Error(`unable to find ${id.toString()} in snapDataPerComp`);\n return snapData;\n };\n const existingComponents = await this.scope.getMany(componentIdsLatest);\n const components = [...existingComponents, ...newComponents];\n // for new components these are not needed. coz when generating them we already add the aspects and the files.\n // the dependencies are calculated later and they're provided by \"newDependencies\" prop (not \"dependencies\").\n await Promise.all(\n existingComponents.map(async (comp) => {\n const snapData = getSnapData(comp.id);\n if (snapData.aspects) await this.scope.addAspectsFromConfigObject(comp, snapData.aspects);\n if (snapData.dependencies.length) {\n await this.updateDependenciesVersionsOfComponent(comp, snapData.dependencies, componentIds);\n }\n if (snapData.files?.length) {\n await this.updateSourceFiles(comp, snapData.files);\n }\n })\n );\n await pMapSeries(components, async (comp) => this.scope.executeOnCompAspectReCalcSlot(comp));\n\n // run this for new components only.\n // otherwise, running this for existing components, will override the existing dependencies unexpectedly.\n // if this is needed for existing components, see how to merge the model data.\n await pMapSeries(newComponents, async (component) => {\n const snapData = getSnapData(component.id);\n // adds explicitly defined dependencies and dependencies from envs/aspects (overrides)\n await addDeps(component, snapData, this.scope, this.deps, this.dependencyResolver);\n });\n\n const consumerComponents = components.map((c) => c.state._consumer);\n const ids = ComponentIdList.fromArray(allCompIds);\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,\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,\n idsWithFutureScope: ids,\n allVersions: false,\n laneObject: updatedLane || undefined,\n // no need other snaps. only the latest one. without this option, when snapping on lane from another-scope, it\n // may throw an error saying the previous snaps don't exist on the filesystem.\n // (see the e2e - \"snap on a lane when the component is new to the lane and the scope\")\n exportHeadsOnly: true,\n });\n exportedIds = exported.map((e) => e.toString());\n }\n\n return {\n snappedIds: taggedComponents.map((comp) => comp.id.toString()),\n exportedIds,\n };\n }\n\n /**\n * save the local changes of a component(s) into the scope. snap can be done on main or on a lane.\n * once a component is snapped on a lane, it becomes part of it.\n */\n async snap({\n pattern,\n legacyBitIds, // @todo: change to ComponentID[]. pass only if have the ids already parsed.\n unmerged,\n editor,\n message = '',\n ignoreIssues,\n skipTests = false,\n skipAutoSnap = false,\n build,\n disableTagAndSnapPipelines = false,\n ignoreBuildErrors = false,\n rebuildDepsGraph,\n unmodified = false,\n exitOnFirstFailedTask = false,\n }: {\n pattern?: string;\n legacyBitIds?: ComponentIdList;\n unmerged?: boolean;\n editor?: string;\n message?: string;\n ignoreIssues?: string;\n build: boolean;\n skipTests?: boolean;\n skipAutoSnap?: boolean;\n disableTagAndSnapPipelines?: boolean;\n ignoreBuildErrors?: boolean;\n rebuildDepsGraph?: boolean;\n unmodified?: boolean;\n exitOnFirstFailedTask?: boolean;\n }): Promise<SnapResults | null> {\n if (!this.workspace) throw new OutsideWorkspaceError();\n if (pattern && legacyBitIds) throw new Error(`please pass either pattern or legacyBitIds, not both`);\n const consumer: Consumer = this.workspace.consumer;\n const componentsList = new ComponentsList(consumer);\n const newComponents = (await componentsList.listNewComponents()) as ComponentIdList;\n const ids = legacyBitIds || (await getIdsToSnap(this.workspace));\n if (!ids) return null;\n this.logger.debug(`snapping the following components: ${ids.toString()}`);\n const components = await this.loadComponentsForTagOrSnap(ids);\n const consumerComponents = components.map((c) => c.state._consumer) as ConsumerComponent[];\n await this.throwForVariousIssues(components, ignoreIssues);\n\n const { taggedComponents, autoTaggedResults, stagedConfig, removedComponents } = await tagModelComponent({\n workspace: this.workspace,\n scope: this.scope,\n snapping: this,\n builder: this.builder,\n editor,\n consumerComponents,\n ids,\n ignoreNewestVersion: false,\n message,\n skipTests,\n skipAutoTag: skipAutoSnap,\n persist: true,\n soft: false,\n build,\n isSnap: true,\n disableTagAndSnapPipelines,\n ignoreBuildErrors,\n rebuildDepsGraph,\n packageManagerConfigRootDir: this.workspace.path,\n dependencyResolver: this.dependencyResolver,\n exitOnFirstFailedTask,\n });\n\n const snapResults: Partial<SnapResults> = {\n snappedComponents: taggedComponents,\n autoSnappedResults: autoTaggedResults,\n newComponents,\n removedComponents,\n };\n\n const currentLane = consumer.getCurrentLaneId();\n snapResults.laneName = currentLane.isDefault() ? null : currentLane.toString();\n await consumer.onDestroy(`snap (message: ${message || 'N/A'})`);\n await stagedConfig?.write();\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n return snapResults;\n\n async function getIdsToSnap(workspace: Workspace): Promise<ComponentIdList | null> {\n if (unmerged) {\n return componentsList.listDuringMergeStateComponents();\n }\n const tagPendingComponentsIds = unmodified\n ? await workspace.listPotentialTagIds()\n : await workspace.listTagPendingIds();\n if (!tagPendingComponentsIds.length) return null;\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.filterIdsFromPoolIdsByPattern(pattern, tagPendingComponentsIds, shouldThrowForNoMatching);\n };\n const componentIds = await getCompIds();\n if (!componentIds.length && pattern) {\n const allTagPending = await workspace.listPotentialTagIds();\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 ComponentIdList.fromArray(componentIds);\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, true, { includeDeleted: true });\n const idsMatchingPatternBitIds = ComponentIdList.fromArray(idsMatchingPattern);\n const componentsToUntag = candidateComponents.filter((modelComponent) =>\n idsMatchingPatternBitIds.hasWithoutVersion(modelComponent.toComponentId())\n );\n return removeLocalVersionsForMultipleComponents(componentsToUntag, currentLane, head, force, consumer.scope);\n };\n const softUntag = async () => {\n const softTaggedComponentsIds = this.workspace.filter.bySoftTagged();\n const idsToRemoveSoftTags = componentPattern\n ? await this.workspace.filterIdsFromPoolIdsByPattern(componentPattern, softTaggedComponentsIds)\n : softTaggedComponentsIds;\n return compact(\n idsToRemoveSoftTags.map((componentId) => {\n const componentMap = consumer.bitMap.getComponent(componentId, { ignoreVersion: true });\n const removedVersion = componentMap.nextVersion?.version;\n if (!removedVersion) return null;\n componentMap.clearNextVersion();\n return { id: componentId, 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('reset');\n return { results, isSoftUntag: !isRealUntag };\n }\n\n async resetNeverExported(): Promise<ComponentID[]> {\n const notExported = this.workspace.consumer.getNotExportedIds();\n const hashes = notExported.map((id) => BitObject.makeHash(id.fullName));\n await this.scope.legacyScope.objects.deleteObjectsFromFS(hashes.map((h) => Ref.from(h)));\n notExported.map((id) => this.workspace.consumer.bitMap.updateComponentId(id.changeVersion(undefined)));\n await this.workspace.bitMap.write(`reset (never-exported)`);\n return notExported;\n }\n\n async _addFlattenedDependenciesToComponents(components: ConsumerComponent[], rebuildDepsGraph = false) {\n loader.start('importing missing dependencies...');\n const getLane = async () => {\n const lane = await this.scope.legacyScope.getCurrentLaneObject();\n if (!lane) return undefined;\n if (!lane.isNew) return lane;\n const forkedFrom = lane.forkedFrom;\n if (!forkedFrom) return undefined;\n return this.scope.legacyScope.loadLane(forkedFrom);\n };\n const lane = await getLane();\n\n if (rebuildDepsGraph) {\n const flattenedDependenciesGetter = new FlattenedDependenciesGetter(\n this.scope.legacyScope,\n components,\n lane || undefined\n );\n await flattenedDependenciesGetter.populateFlattenedDependencies();\n loader.stop();\n await this._addFlattenedDepsGraphToComponents(components);\n return;\n }\n\n const flattenedEdgesGetter = new FlattenedEdgesGetter(this.scope, components, this.logger, lane || undefined);\n await flattenedEdgesGetter.buildGraph();\n\n components.forEach((component) => {\n flattenedEdgesGetter.populateFlattenedAndEdgesForComp(component);\n });\n }\n\n async throwForDepsFromAnotherLane(components: ConsumerComponent[]) {\n const lane = await this.scope.legacyScope.getCurrentLaneObject();\n const allIds = ComponentIdList.fromArray(components.map((c) => c.id));\n const missingDeps = await pMapSeries(components, async (component) => {\n return this.throwForDepsFromAnotherLaneForComp(component, allIds, lane || undefined);\n });\n const flattenedMissingDeps = ComponentIdList.uniqFromArray(\n missingDeps.flat().map((id) => id.changeVersion(undefined))\n );\n if (!flattenedMissingDeps.length) return;\n // ignore the cache. even if the component exists locally, we still need its VersionHistory object\n // in order to traverse the history and determine whether it's part of the lane history.\n await this.scope.legacyScope.scopeImporter.importWithoutDeps(flattenedMissingDeps, {\n cache: false,\n ignoreMissingHead: true,\n includeVersionHistory: true,\n lane: lane || undefined,\n reason: 'of latest with version-history to make sure there are no dependencies from another lane',\n });\n await pMapSeries(components, async (component) => {\n await this.throwForDepsFromAnotherLaneForComp(component, allIds, lane || undefined, true);\n });\n }\n\n private async throwForVariousIssues(components: Component[], ignoreIssues?: string) {\n const componentsToCheck = components.filter((c) => !c.isDeleted());\n const consumerComponents = componentsToCheck.map((c) => c.state._consumer) as ConsumerComponent[];\n await this.throwForLegacyDependenciesInsideHarmony(consumerComponents);\n await this.throwForComponentIssues(componentsToCheck, ignoreIssues);\n this.throwForPendingImport(consumerComponents);\n }\n\n private async throwForDepsFromAnotherLaneForComp(\n component: ConsumerComponent,\n allIds: ComponentIdList,\n lane?: Lane,\n throwForMissingObjects = false\n ) {\n const deps = component.getAllDependencies();\n const missingDeps: ComponentID[] = [];\n await Promise.all(\n deps.map(async (dep) => {\n if (!this.scope.isExported(dep.id) || !dep.id.hasVersion()) return;\n if (isTag(dep.id.version)) return;\n if (allIds.hasWithoutVersion(dep.id)) return; // it's tagged/snapped now.\n let isPartOfHistory: boolean | undefined;\n try {\n isPartOfHistory = lane\n ? (await this.scope.legacyScope.isPartOfLaneHistory(dep.id, lane)) ||\n (await this.scope.legacyScope.isPartOfMainHistory(dep.id))\n : await this.scope.legacyScope.isPartOfMainHistory(dep.id);\n } catch (err) {\n if (throwForMissingObjects) throw err;\n if (err instanceof VersionNotFound || err instanceof ComponentNotFound) {\n missingDeps.push(dep.id);\n return;\n }\n throw err;\n }\n\n if (!isPartOfHistory) {\n const laneOrMainStr = lane ? `current lane \"${lane.name}\"` : 'main';\n throw new Error(\n `unable to tag/snap ${component.id.toString()}, it has a dependency ${dep.id.toString()} which is not part of ${laneOrMainStr} history.\none option to resolve this is installing ${dep.id.toStringWithoutVersion()} via \"bit install\", which installs the version from main.\nanother option, in case this dependency is not in main yet is to remove all references of this dependency in the code and then tag/snap.`\n );\n }\n })\n );\n return missingDeps;\n }\n\n async _addFlattenedDepsGraphToComponents(components: ConsumerComponent[]) {\n const graph = new Graph<ComponentID, string>();\n const addEdges = (compId: ComponentID, 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 = ComponentIdList.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 ComponentIdList.fromArray(allFlattenedWithoutCurrent)\n );\n componentsAndVersions.forEach(({ component, version, versionStr }) => {\n const compId = component.toComponentId().changeVersion(versionStr);\n graph.setNode(new Node(compId.toString(), compId));\n addEdges(compId, version.dependencies, 'prod');\n addEdges(compId, version.devDependencies, 'dev');\n addEdges(compId, version.extensionDependencies, 'ext');\n });\n let someCompsHaveMissingFlattened = false;\n components.forEach((component) => {\n const edges = graph.outEdges(component.id.toString());\n const flattenedEdges = component.flattenedDependencies.map((dep) => graph.outEdges(dep.toString())).flat();\n const allEdges = [...edges, ...flattenedEdges];\n const edgesWithBitIds: DepEdge[] = allEdges.map((edge) => ({\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n source: graph.node(edge.source)!.attr,\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n target: graph.node(edge.target)!.attr,\n type: edge.attr as DepEdgeType,\n }));\n component.flattenedEdges = edgesWithBitIds;\n\n // due to some previous bugs, some components might have missing flattened dependencies.\n // as a result, the flattenedEdges may have more components than the flattenedDependencies, which will cause\n // issues later on when the graph is built. this fixes it by adding the missing flattened dependencies, and\n // then recursively adding the flattenedEdge accordingly.\n const flattened = component.flattenedDependencies.map((dep) => dep.toString());\n const flattenedFromEdges = uniq(\n edgesWithBitIds.map((edge) => [edge.target.toString(), edge.source.toString()]).flat()\n );\n const missingFlattened = difference(flattenedFromEdges, flattened).filter((id) => id !== component.id.toString());\n\n if (missingFlattened.length) {\n someCompsHaveMissingFlattened = true;\n this.logger.warn(`missing flattened for ${component.id.toString()}: ${missingFlattened.join(', ')}`);\n const missingBitIds = missingFlattened.map((id) => {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return graph.node(id)!.attr;\n });\n component.flattenedDependencies.push(...missingBitIds);\n }\n });\n if (someCompsHaveMissingFlattened) {\n await this._addFlattenedDepsGraphToComponents(components);\n }\n }\n\n _updateComponentsByTagResult(components: ConsumerComponent[], tagResult: LegacyOnTagResult[]) {\n tagResult.forEach((result) => {\n const matchingComponent = components.find((c) => c.id.isEqual(result.id));\n if (matchingComponent) {\n const existingBuilder = matchingComponent.extensions.findCoreExtension(Extensions.builder);\n if (existingBuilder) existingBuilder.data = result.builderData.data;\n else matchingComponent.extensions.push(result.builderData);\n }\n });\n }\n\n _getPublishedPackages(components: ConsumerComponent[]): string[] {\n const publishedPackages = components.map((comp) => {\n const builderExt = comp.extensions.findCoreExtension(Extensions.builder);\n const pkgData = builderExt?.data?.aspectsData?.find((a) => a.aspectId === Extensions.pkg);\n return pkgData?.data?.publishedPackage;\n });\n return compact(publishedPackages);\n }\n\n async _addCompToObjects({\n source,\n consumer,\n lane,\n shouldValidateVersion = false,\n }: {\n source: ConsumerComponent;\n consumer: Consumer;\n lane: Lane | null;\n shouldValidateVersion?: boolean;\n }): Promise<ModelComponent> {\n const { component, version } = await this._addCompFromScopeToObjects(source, lane);\n const unmergedComponent = consumer.scope.objects.unmergedComponents.getEntry(component.toComponentId());\n if (unmergedComponent) {\n if (unmergedComponent.unrelated) {\n this.logger.debug(\n `sources.addSource, unmerged component \"${component.name}\". adding an unrelated entry ${unmergedComponent.head.hash}`\n );\n if (!source.previouslyUsedVersion) {\n throw new Error(\n `source.previouslyUsedVersion must be set for ${component.name} because it's unrelated resolved.`\n );\n }\n if (unmergedComponent.unrelated === true) {\n // backward compatibility\n const unrelatedHead = Ref.from(source.previouslyUsedVersion);\n version.setUnrelated({ head: unrelatedHead, laneId: unmergedComponent.laneId });\n version.addAsOnlyParent(unmergedComponent.head);\n } else {\n const unrelated = unmergedComponent.unrelated;\n version.setUnrelated({ head: unrelated.unrelatedHead, laneId: unrelated.unrelatedLaneId });\n version.addAsOnlyParent(unrelated.headOnCurrentLane);\n }\n } else {\n // this is adding a second parent to the version. the order is important. the first parent is coming from the current-lane.\n version.addParent(unmergedComponent.head);\n this.logger.debug(\n `sources.addSource, unmerged component \"${component.name}\". adding a parent ${unmergedComponent.head.hash}`\n );\n version.log.message = version.log.message || UnmergedComponents.buildSnapMessage(unmergedComponent);\n }\n consumer.scope.objects.unmergedComponents.removeComponent(component.toComponentId());\n }\n if (shouldValidateVersion) version.validate();\n return component;\n }\n\n async _addCompFromScopeToObjects(\n source: ConsumerComponent,\n lane: Lane | null\n ): Promise<{\n component: ModelComponent;\n version: Version;\n }> {\n const objectRepo = this.objectsRepo;\n // if a component exists in the model, add a new version. Otherwise, create a new component on the model\n // @todo: fix the ts error here with \"source\"\n const component = await this.scope.legacyScope.sources.findOrAddComponent(source as any);\n const artifactFiles = getArtifactsFiles(source.extensions);\n const artifacts = this.transformArtifactsFromVinylToSource(artifactFiles);\n const { version, files, flattenedEdges } = await this.scope.legacyScope.sources.consumerComponentToVersion(source);\n version.origin = {\n id: { scope: source.scope || (source.defaultScope as string), name: source.name },\n lane: lane ? { scope: lane.scope, name: lane.name, hash: lane.hash().toString() } : undefined,\n };\n objectRepo.add(version);\n if (flattenedEdges) this.objectsRepo.add(flattenedEdges);\n if (!source.version) throw new Error(`addSource expects source.version to be set`);\n component.addVersion(version, source.version, lane, objectRepo, source.previouslyUsedVersion);\n objectRepo.add(component);\n if (lane) objectRepo.add(lane);\n files.forEach((file) => objectRepo.add(file.file));\n if (artifacts) artifacts.forEach((file) => objectRepo.add(file.source));\n return { component, version };\n }\n\n async _enrichComp(consumerComponent: ConsumerComponent, modifiedLog?: Log) {\n const objects = await this._getObjectsToEnrichComp(consumerComponent, modifiedLog);\n objects.forEach((obj) => this.objectsRepo.add(obj));\n return consumerComponent;\n }\n\n async _getObjectsToEnrichComp(consumerComponent: ConsumerComponent, modifiedLog?: Log): Promise<BitObject[]> {\n const component =\n consumerComponent.modelComponent || // @todo: fix the ts error here with \"source\"\n (await this.scope.legacyScope.sources.findOrAddComponent(consumerComponent as any));\n const version = await component.loadVersion(consumerComponent.id.version as string, this.objectsRepo, true, true);\n if (modifiedLog) version.addModifiedLog(modifiedLog);\n const artifactFiles = getArtifactsFiles(consumerComponent.extensions);\n const artifacts = this.transformArtifactsFromVinylToSource(artifactFiles);\n version.extensions = consumerComponent.extensions;\n version.buildStatus = consumerComponent.buildStatus;\n const artifactObjects = artifacts.map((file) => file.source);\n return [version, ...artifactObjects];\n }\n\n private transformArtifactsFromVinylToSource(artifactsFiles: ArtifactFiles[]): ArtifactSource[] {\n const artifacts: ArtifactSource[] = [];\n artifactsFiles.forEach((artifactFiles) => {\n const artifactsSource = ArtifactFiles.fromVinylsToSources(artifactFiles.vinyls);\n if (artifactsSource.length) artifactFiles.populateRefsFromSources(artifactsSource);\n artifacts.push(...artifactsSource);\n });\n return artifacts;\n }\n\n private async loadComponentsForTagOrSnap(ids: ComponentIdList, shouldClearCacheFirst = true): Promise<Component[]> {\n const compIds = await this.workspace.resolveMultipleComponentIds(ids);\n if (shouldClearCacheFirst) {\n await this.workspace.consumer.componentFsCache.deleteAllDependenciesDataCache();\n // don't clear only the cache of these ids. we need also the auto-tag. so it's safer to just clear all.\n this.workspace.clearAllComponentsCache();\n }\n\n return this.workspace.getMany(compIds.map((id) => id.changeVersion(undefined)));\n }\n\n private async throwForComponentIssues(components: Component[], ignoreIssues?: string) {\n if (ignoreIssues === '*') {\n // ignore all issues\n return;\n }\n const issuesToIgnoreFromFlag = ignoreIssues?.split(',').map((issue) => issue.trim()) || [];\n const issuesToIgnoreFromConfig = this.issues.getIssuesToIgnoreGlobally();\n const issuesToIgnore = [...issuesToIgnoreFromFlag, ...issuesToIgnoreFromConfig];\n await this.issues.triggerAddComponentIssues(components, issuesToIgnore);\n this.issues.removeIgnoredIssuesFromComponents(components, issuesToIgnore);\n const legacyComponents = components.map((c) => c.state._consumer) as ConsumerComponent[];\n const componentsWithBlockingIssues = legacyComponents.filter((component) => component.issues?.shouldBlockTagging());\n if (!R.isEmpty(componentsWithBlockingIssues)) {\n throw new ComponentsHaveIssues(componentsWithBlockingIssues);\n }\n\n const workspaceIssues = this.workspace.getWorkspaceIssues();\n if (workspaceIssues.length) {\n const issuesStr = workspaceIssues.map((issueErr) => issueErr.message).join('\\n');\n throw new BitError(`the workspace has the following issues:\\n${issuesStr}`);\n }\n }\n\n private throwForPendingImport(components: ConsumerComponent[]) {\n const componentsMissingFromScope = components\n .filter((c) => !c.componentFromModel && this.scope.isExported(c.id))\n .map((c) => c.id.toString());\n if (componentsMissingFromScope.length) {\n throw new ComponentsPendingImport(componentsMissingFromScope);\n }\n }\n\n private async throwForLegacyDependenciesInsideHarmony(components: ConsumerComponent[]) {\n const throwForComponent = async (component: ConsumerComponent) => {\n const dependenciesIds = component.getAllDependenciesIds();\n const legacyScope = this.workspace.scope.legacyScope;\n await Promise.all(\n dependenciesIds.map(async (depId) => {\n if (!depId.hasVersion()) return;\n const modelComp = await legacyScope.getModelComponentIfExist(depId);\n if (!modelComp) return;\n const version = await modelComp.loadVersion(depId.version as string, legacyScope.objects);\n if (version.isLegacy) {\n throw new Error(\n `unable tagging \"${component.id.toString()}\", its dependency \"${depId.toString()}\" is legacy`\n );\n }\n })\n );\n };\n await pMap(components, (component) => throwForComponent(component), { concurrency: concurrentComponentsLimit() });\n }\n\n /**\n * the compId.version can be a range (e.g. \"^1.0.0\"), in which case, it finds the component in the local scope and\n * resolves the latest version that falls under the range.\n * in case the version has no range, it returns the same compId.\n * in case it has no version, it returns the latest.\n */\n async getCompIdWithExactVersionAccordingToSemver(compId: ComponentID): Promise<ComponentID> {\n if (isHash(compId.version)) {\n return compId;\n }\n const range = compId.version || '*'; // if not version specified, assume the latest\n const id = compId.changeVersion(undefined);\n const exactVersion = await this.scope.getExactVersionBySemverRange(id, range);\n if (!exactVersion) {\n throw new Error(`unable to find a version that satisfies \"${range}\" of \"${compId.toString()}\"`);\n }\n return compId.changeVersion(exactVersion);\n }\n\n private async updateSourceFiles(component: Component, files: FileData[]) {\n const currentFiles = component.state.filesystem.files;\n\n files.forEach((file) => {\n if (file.delete) {\n const index = currentFiles.findIndex((f) => f.path === file.path);\n if (index !== -1) {\n currentFiles.splice(index, 1);\n }\n return;\n }\n const currentFile = currentFiles.find((f) => f.path === file.path);\n if (currentFile) {\n currentFile.contents = Buffer.from(file.content);\n } else {\n currentFiles.push(\n new SourceFile({ base: '.', path: file.path, contents: Buffer.from(file.content), test: false })\n );\n }\n });\n\n if (!currentFiles.length)\n throw new Error(`unable to update component ${component.id.toString()}, all files were deleted`);\n }\n\n async updateDependenciesVersionsOfComponent(\n component: Component,\n dependencies: ComponentID[],\n currentBitIds: ComponentID[]\n ) {\n const updatedIds = ComponentIdList.fromArray([...currentBitIds, ...dependencies]);\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 = 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 if (ext.newExtensionId) ext.newExtensionId = updatedBitId;\n }\n });\n\n component.state.aspects = await this.scope.createAspectListFromExtensionDataList(legacyComponent.extensions);\n\n const dependenciesListSerialized = (await this.dependencyResolver.extractDepsFromLegacy(component)).serialize();\n const extId = DependencyResolverAspect.id;\n const data = { dependencies: dependenciesListSerialized };\n const existingExtension = component.config.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.config.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: ComponentID[]; warnings: string[] }> {\n const warnings: string[] = [];\n const componentsList = new ComponentsList(this.workspace.consumer);\n if (persist) {\n const softTaggedComponents = this.workspace.filter.bySoftTagged();\n return { bitIds: softTaggedComponents, warnings: [] };\n }\n\n const tagPendingComponentsIds = includeUnmodified\n ? await this.workspace.listPotentialTagIds()\n : await this.workspace.listTagPendingIds();\n\n const snappedComponentsIds = (await this.workspace.filter.bySnappedOnMain()).map((id) =>\n id.changeVersion(undefined)\n );\n\n if (ids.length) {\n const componentIds = await pMapSeries(ids, async (id) => {\n const [idWithoutVer, version] = id.split('@');\n const idIsPattern = this.workspace.isPattern(id);\n if (idIsPattern) {\n const allIds = await this.workspace.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.getComponentStatusById(componentId);\n if (componentStatus.modified === false) return null;\n }\n return componentId.changeVersion(version);\n });\n\n return { bitIds: compact(componentIds.flat()), 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 tagPendingBitIds = tagPendingComponentsIds.map((id) => id);\n const tagPendingBitIdsIncludeSnapped = [...tagPendingBitIds, ...snappedComponentsIds];\n\n if (includeUnmodified && exactVersion) {\n const tagPendingComponentsLatest = await this.workspace.scope.legacyScope.latestVersions(tagPendingBitIds, false);\n tagPendingComponentsLatest.forEach((componentId) => {\n if (componentId.version && semver.valid(componentId.version) && semver.gt(componentId.version, exactVersion)) {\n warnings.push(`warning: ${componentId.toString()} has a version greater than ${exactVersion}`);\n }\n });\n }\n\n return { bitIds: tagPendingBitIdsIncludeSnapped.map((id) => id.changeVersion(undefined)), warnings };\n }\n\n static slots = [];\n static dependencies = [\n WorkspaceAspect,\n CLIAspect,\n LoggerAspect,\n IssuesAspect,\n InsightsAspect,\n DependencyResolverAspect,\n ScopeAspect,\n ExportAspect,\n BuilderAspect,\n ImporterAspect,\n GlobalConfigAspect,\n DependenciesAspect,\n ];\n static runtime = MainRuntime;\n static async provider([\n workspace,\n cli,\n loggerMain,\n issues,\n insights,\n dependencyResolver,\n scope,\n exporter,\n builder,\n importer,\n globalConfig,\n deps,\n ]: [\n Workspace,\n CLIMain,\n LoggerMain,\n IssuesMain,\n InsightsMain,\n DependencyResolverMain,\n ScopeMain,\n ExportMain,\n BuilderMain,\n ImporterMain,\n GlobalConfigMain,\n DependenciesMain\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 deps\n );\n const snapCmd = new SnapCmd(snapping, logger, globalConfig);\n const tagCmd = new TagCmd(snapping, logger, globalConfig);\n const tagFromScopeCmd = new TagFromScopeCmd(snapping, logger);\n const snapFromScopeCmd = new SnapFromScopeCmd(snapping, logger);\n const resetCmd = new ResetCmd(snapping);\n const snapDistanceCmd = new SnapDistanceCmd(scope);\n cli.register(tagCmd, snapCmd, resetCmd, tagFromScopeCmd, snapFromScopeCmd, snapDistanceCmd);\n return snapping;\n }\n}\n\nSnappingAspect.addRuntime(SnappingMain);\n\nexport default SnappingMain;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_cli","data","require","_graph","_getFlattenedDependencies","_workspace","_interopRequireWildcard","_semver","_interopRequireDefault","_lodash","_componentId","_constants","_componentsList","_hooks","_pMapSeries","_semverHelper","_loader","_componentsPendingImport","_logger","_bitError","_pMap","_insights","_concurrency","_untagComponent","_scope","_issues","_dependencyResolver","_config","_builder","_laneId","_importer","_export","_unmergedComponents","_componentVersion","_objects","_globalConfig","_artifactFiles","_exceptions","_dependencies","_sources","_snapCmd","_snapping","_tagCmd","_componentsHaveIssues","_resetCmd","_tagModelComponent","_tagFromScope","_snapFromScope","_generateCompFromScope","_flattenedEdges","_snapDistanceCmd","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","key","value","_toPropertyKey","configurable","writable","_toPrimitive","String","Symbol","toPrimitive","TypeError","Number","HooksManagerInstance","HooksManager","getInstance","SnappingMain","constructor","workspace","logger","issues","insights","dependencyResolver","scope","exporter","builder","importer","deps","objectsRepo","legacyScope","objects","tag","ids","message","version","editor","snapped","unmerged","releaseType","preReleaseId","ignoreIssues","ignoreNewestVersion","skipTests","skipAutoTag","build","unmodified","soft","persist","ignoreBuildErrors","rebuildDepsGraph","incrementBy","disableTagAndSnapPipelines","failFast","BitError","exactVersion","OutsideWorkspaceError","idsHasPattern","hasPattern","isAll","Boolean","validExactVersion","validateVersion","consumer","componentsList","ComponentsList","loader","start","newComponents","listNewComponents","bitIds","warnings","getComponentsToTag","legacyBitIds","ComponentIdList","fromArray","debug","toString","components","loadComponentsForTagOrSnap","consumerComponents","map","c","state","_consumer","throwForVariousIssues","taggedComponents","autoTaggedResults","publishedPackages","stagedConfig","removedComponents","tagModelComponent","snapping","packageManagerConfigRootDir","path","exitOnFirstFailedTask","tagResults","isSoftTag","postHook","POST_TAG_ALL_HOOK","POST_TAG_HOOK","triggerHook","onDestroy","write","tagFromScope","tagDataPerCompRaw","params","tagDataPerComp","Promise","all","tagData","componentId","resolveComponentId","dependencies","resolveMultipleComponentIds","versionToTag","prereleaseId","componentIds","import","reason","compact","flat","dep","changeVersion","LATEST","additionalComponentIdsToFetch","id","hasVersion","modelComp","getBitObjectModelComponent","Error","head","getRef","isEqual","useCache","d","getCompIdWithExactVersionAccordingToSemver","getMany","comp","find","ignoreVersion","updateDependenciesVersionsOfComponent","loadManyCompsAspects","shouldUsePopulateArtifactsFrom","every","buildStatus","BuildStatus","Succeed","legacyIds","results","populateArtifactsFrom","undefined","copyLogFromPreviousSnap","exportMany","idsWithFutureScope","allVersions","exportOrigin","snapFromScope","snapDataPerCompRaw","snapDataPerComp","snapData","aspects","files","isNew","mainFile","newDependencies","isComponent","type","allCompIds","s","componentIdsLatest","newCompsData","newComp","generateCompFromScope","lane","laneIdStr","laneId","LaneId","parse","importLaneObject","setCurrentLaneId","scopeImporter","shouldOnlyFetchFromCurrentLane","preferDependencyGraph","getSnapData","existingComponents","addAspectsFromConfigObject","updateSourceFiles","pMapSeries","executeOnCompAspectReCalcSlot","component","addDeps","isSnap","exportedIds","updatedLane","loadLane","toLaneId","exported","laneObject","exportHeadsOnly","snappedIds","snap","pattern","skipAutoSnap","getIdsToSnap","snapResults","snappedComponents","autoSnappedResults","currentLane","getCurrentLaneId","laneName","isDefault","listDuringMergeStateComponents","tagPendingComponentsIds","listPotentialTagIds","listTagPendingIds","shouldThrowForNoMatching","getCompIds","includes","compId","filterIdsFromPoolIdsByPattern","allTagPending","reset","componentPattern","force","getCurrentLaneObject","untag","removeLocalVersionsForAllComponents","candidateComponents","getComponentsWithOptionToUntag","idsMatchingPattern","idsByPattern","includeDeleted","idsMatchingPatternBitIds","componentsToUntag","modelComponent","hasWithoutVersion","toComponentId","removeLocalVersionsForMultipleComponents","softUntag","softTaggedComponentsIds","bySoftTagged","idsToRemoveSoftTags","componentMap","bitMap","getComponent","removedVersion","nextVersion","clearNextVersion","versions","isRealUntag","result","updateComponentsVersions","markAsChanged","isSoftUntag","resetNeverExported","notExported","getNotExportedIds","hashes","BitObject","makeHash","fullName","deleteObjectsFromFS","h","Ref","from","updateComponentId","_addFlattenedDependenciesToComponents","getLane","forkedFrom","flattenedDependenciesGetter","FlattenedDependenciesGetter","populateFlattenedDependencies","stop","_addFlattenedDepsGraphToComponents","flattenedEdgesGetter","FlattenedEdgesGetter","buildGraph","populateFlattenedAndEdgesForComp","throwForDepsFromAnotherLane","allIds","missingDeps","throwForDepsFromAnotherLaneForComp","flattenedMissingDeps","uniqFromArray","importWithoutDeps","cache","ignoreMissingHead","includeVersionHistory","componentsToCheck","isDeleted","throwForLegacyDependenciesInsideHarmony","throwForComponentIssues","throwForPendingImport","throwForMissingObjects","getAllDependencies","isExported","isTag","isPartOfHistory","isPartOfLaneHistory","isPartOfMainHistory","err","VersionNotFound","ComponentNotFound","laneOrMainStr","name","toStringWithoutVersion","graph","Graph","addEdges","label","setNode","Node","setEdge","Edge","devDependencies","extensionDependencies","allFlattened","flattenedDependencies","allFlattenedUniq","allFlattenedWithoutCurrent","componentsAndVersions","getComponentsAndVersions","versionStr","someCompsHaveMissingFlattened","edges","outEdges","flattenedEdges","allEdges","edgesWithBitIds","edge","source","node","attr","target","flattened","flattenedFromEdges","uniq","missingFlattened","difference","warn","join","missingBitIds","_updateComponentsByTagResult","tagResult","matchingComponent","existingBuilder","extensions","findCoreExtension","Extensions","builderData","_getPublishedPackages","builderExt","pkgData","aspectsData","aspectId","pkg","publishedPackage","_addCompToObjects","shouldValidateVersion","_addCompFromScopeToObjects","unmergedComponent","unmergedComponents","getEntry","unrelated","hash","previouslyUsedVersion","unrelatedHead","setUnrelated","addAsOnlyParent","unrelatedLaneId","headOnCurrentLane","addParent","log","UnmergedComponents","buildSnapMessage","removeComponent","validate","objectRepo","sources","findOrAddComponent","artifactFiles","getArtifactsFiles","artifacts","transformArtifactsFromVinylToSource","consumerComponentToVersion","origin","defaultScope","add","addVersion","file","_enrichComp","consumerComponent","modifiedLog","_getObjectsToEnrichComp","loadVersion","addModifiedLog","artifactObjects","artifactsFiles","artifactsSource","ArtifactFiles","fromVinylsToSources","vinyls","populateRefsFromSources","shouldClearCacheFirst","compIds","componentFsCache","deleteAllDependenciesDataCache","clearAllComponentsCache","issuesToIgnoreFromFlag","split","issue","trim","issuesToIgnoreFromConfig","getIssuesToIgnoreGlobally","issuesToIgnore","triggerAddComponentIssues","removeIgnoredIssuesFromComponents","legacyComponents","componentsWithBlockingIssues","shouldBlockTagging","ComponentsHaveIssues","workspaceIssues","getWorkspaceIssues","issuesStr","issueErr","componentsMissingFromScope","componentFromModel","ComponentsPendingImport","throwForComponent","dependenciesIds","getAllDependenciesIds","depId","getModelComponentIfExist","isLegacy","pMap","concurrency","concurrentComponentsLimit","isHash","range","getExactVersionBySemverRange","currentFiles","filesystem","delete","index","findIndex","f","splice","currentFile","contents","Buffer","content","SourceFile","base","test","currentBitIds","updatedIds","componentIdStr","legacyComponent","dependenciesList","getDependencies","updatedBitId","searchWithoutVersion","depIdStr","packageName","findDependency","getPackageName","ext","extensionId","newExtensionId","createAspectListFromExtensionDataList","dependenciesListSerialized","extractDepsFromLegacy","serialize","extId","DependencyResolverAspect","existingExtension","config","findExtension","assign","extension","ExtensionDataEntry","includeUnmodified","softTaggedComponents","snappedComponentsIds","bySnappedOnMain","idWithoutVer","idIsPattern","isPattern","componentStatus","getComponentStatusById","modified","tagPendingBitIds","tagPendingBitIdsIncludeSnapped","tagPendingComponentsLatest","latestVersions","semver","valid","gt","provider","cli","loggerMain","globalConfig","createLogger","SnappingAspect","snapCmd","SnapCmd","tagCmd","TagCmd","tagFromScopeCmd","TagFromScopeCmd","snapFromScopeCmd","SnapFromScopeCmd","resetCmd","ResetCmd","snapDistanceCmd","SnapDistanceCmd","register","exports","WorkspaceAspect","CLIAspect","LoggerAspect","IssuesAspect","InsightsAspect","ScopeAspect","ExportAspect","BuilderAspect","ImporterAspect","GlobalConfigAspect","DependenciesAspect","MainRuntime","addRuntime","_default"],"sources":["snapping.main.runtime.ts"],"sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { Graph, Node, Edge } from '@teambit/graph.cleargraph';\nimport { LegacyOnTagResult } from '@teambit/legacy/dist/scope/scope';\nimport { FlattenedDependenciesGetter } from '@teambit/legacy/dist/scope/component-ops/get-flattened-dependencies';\nimport WorkspaceAspect, { OutsideWorkspaceError, Workspace } from '@teambit/workspace';\nimport semver, { ReleaseType } from 'semver';\nimport { compact, difference, uniq } from 'lodash';\nimport { ComponentID, ComponentIdList } from '@teambit/component-id';\nimport { POST_TAG_ALL_HOOK, POST_TAG_HOOK, Extensions, LATEST, BuildStatus } from '@teambit/legacy/dist/constants';\nimport { Consumer } from '@teambit/legacy/dist/consumer';\nimport ComponentsList from '@teambit/legacy/dist/consumer/component/components-list';\nimport HooksManager from '@teambit/legacy/dist/hooks';\nimport pMapSeries from 'p-map-series';\nimport { validateVersion } from '@teambit/legacy/dist/utils/semver-helper';\nimport loader from '@teambit/legacy/dist/cli/loader';\nimport ComponentsPendingImport from '@teambit/legacy/dist/consumer/component-ops/exceptions/components-pending-import';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { BitError } from '@teambit/bit-error';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component/consumer-component';\nimport pMap from 'p-map';\nimport { InsightsAspect, InsightsMain } from '@teambit/insights';\nimport { concurrentComponentsLimit } from '@teambit/legacy/dist/utils/concurrency';\nimport {\n removeLocalVersionsForAllComponents,\n untagResult,\n getComponentsWithOptionToUntag,\n removeLocalVersionsForMultipleComponents,\n} from '@teambit/legacy/dist/scope/component-ops/untag-component';\nimport { ScopeAspect, ScopeMain } from '@teambit/scope';\nimport { Lane, ModelComponent } from '@teambit/legacy/dist/scope/models';\nimport IssuesAspect, { IssuesMain } from '@teambit/issues';\nimport { Component } from '@teambit/component';\nimport { DependencyResolverAspect, DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { ExtensionDataEntry } from '@teambit/legacy/dist/consumer/config';\nimport { BuilderAspect, BuilderMain } from '@teambit/builder';\nimport { LaneId } from '@teambit/lane-id';\nimport ImporterAspect, { ImporterMain } from '@teambit/importer';\nimport { ExportAspect, ExportMain } from '@teambit/export';\nimport UnmergedComponents from '@teambit/legacy/dist/scope/lanes/unmerged-components';\nimport { isHash, isTag } from '@teambit/component-version';\nimport { BitObject, Ref, Repository } from '@teambit/legacy/dist/scope/objects';\nimport GlobalConfigAspect, { GlobalConfigMain } from '@teambit/global-config';\nimport {\n ArtifactFiles,\n ArtifactSource,\n getArtifactsFiles,\n} from '@teambit/legacy/dist/consumer/component/sources/artifact-files';\nimport { VersionNotFound, ComponentNotFound } from '@teambit/legacy/dist/scope/exceptions';\nimport { AutoTagResult } from '@teambit/legacy/dist/scope/component-ops/auto-tag';\nimport DependenciesAspect, { DependenciesMain } from '@teambit/dependencies';\nimport { SourceFile } from '@teambit/legacy/dist/consumer/component/sources';\nimport Version, { DepEdge, DepEdgeType, Log } from '@teambit/legacy/dist/scope/models/version';\nimport { SnapCmd } from './snap-cmd';\nimport { SnappingAspect } from './snapping.aspect';\nimport { TagCmd } from './tag-cmd';\nimport { ComponentsHaveIssues } from './components-have-issues';\nimport ResetCmd from './reset-cmd';\nimport { tagModelComponent, updateComponentsVersions, BasicTagParams } from './tag-model-component';\nimport { TagDataPerCompRaw, TagFromScopeCmd } from './tag-from-scope.cmd';\nimport { SnapDataPerCompRaw, SnapFromScopeCmd, FileData } from './snap-from-scope.cmd';\nimport { addDeps, generateCompFromScope } from './generate-comp-from-scope';\nimport { FlattenedEdgesGetter } from './flattened-edges';\nimport { SnapDistanceCmd } from './snap-distance-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 isNew?: boolean;\n};\n\nexport type SnapDataParsed = {\n componentId: ComponentID;\n dependencies: ComponentID[];\n aspects?: Record<string, any>;\n message?: string;\n files?: FileData[];\n isNew?: boolean;\n newDependencies?: {\n id: string; // component-id or package-name.\n version?: string; // for packages, it is mandatory.\n isComponent: boolean;\n type: 'runtime' | 'dev' | 'peer';\n }[];\n};\n\nexport type SnapResults = BasicTagResults & {\n snappedComponents: ConsumerComponent[];\n autoSnappedResults: AutoTagResult[];\n laneName: string | null; // null if default\n};\n\nexport type SnapFromScopeResults = {\n snappedIds: string[];\n exportedIds?: string[];\n};\n\nexport type TagResults = BasicTagResults & {\n taggedComponents: ConsumerComponent[];\n autoTaggedResults: AutoTagResult[];\n isSoftTag: boolean;\n publishedPackages: string[];\n};\n\nexport type BasicTagResults = {\n warnings: string[];\n newComponents: ComponentIdList;\n removedComponents?: ComponentIdList;\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 private deps: DependenciesMain\n ) {\n this.objectsRepo = this.scope?.legacyScope?.objects;\n }\n\n /**\n * tag the given component ids or all modified/new components if \"all\" param is set.\n * tag is a similar operation as a snap, which saves the changes into the local scope, but it also creates an alias\n * with a valid semver to that version.\n * tag can be done only on main, not on a lane.\n */\n // eslint-disable-next-line complexity\n async tag({\n ids = [],\n message = '',\n version,\n editor = '',\n snapped = false,\n unmerged = false,\n releaseType,\n preReleaseId,\n ignoreIssues,\n ignoreNewestVersion = false,\n skipTests = false,\n skipAutoTag = false,\n build,\n unmodified = false,\n soft = false,\n persist = false,\n ignoreBuildErrors = false,\n rebuildDepsGraph,\n incrementBy = 1,\n disableTagAndSnapPipelines = false,\n failFast = false,\n }: {\n ids?: string[];\n all?: boolean | string;\n snapped?: boolean;\n unmerged?: boolean;\n version?: string;\n releaseType?: ReleaseType;\n ignoreIssues?: string;\n scope?: string | boolean;\n incrementBy?: number;\n failFast?: boolean;\n } & Partial<BasicTagParams>): Promise<TagResults | null> {\n if (soft) build = false;\n if (editor && persist) {\n throw new BitError('you can use either --editor or --persist, but not both');\n }\n if (editor && message) {\n throw new BitError('you can use either --editor or --message, but not both');\n }\n\n const exactVersion = version;\n if (!this.workspace) throw new OutsideWorkspaceError();\n const idsHasPattern = this.workspace.hasPattern(ids);\n const isAll = Boolean(!ids.length || idsHasPattern);\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 (!bitIds.length) return null;\n\n const legacyBitIds = ComponentIdList.fromArray(bitIds);\n\n this.logger.debug(`tagging the following components: ${legacyBitIds.toString()}`);\n const components = await this.loadComponentsForTagOrSnap(legacyBitIds, !soft);\n const consumerComponents = components.map((c) => c.state._consumer) as ConsumerComponent[];\n await this.throwForVariousIssues(components, ignoreIssues);\n\n const { taggedComponents, autoTaggedResults, publishedPackages, stagedConfig, removedComponents } =\n await tagModelComponent({\n workspace: this.workspace,\n scope: this.scope,\n snapping: this,\n builder: this.builder,\n consumerComponents,\n ids: legacyBitIds,\n message,\n editor,\n exactVersion: validExactVersion,\n releaseType,\n preReleaseId,\n ignoreNewestVersion,\n skipTests,\n skipAutoTag,\n soft,\n build,\n persist,\n disableTagAndSnapPipelines,\n ignoreBuildErrors,\n rebuildDepsGraph,\n incrementBy,\n packageManagerConfigRootDir: this.workspace.path,\n dependencyResolver: this.dependencyResolver,\n exitOnFirstFailedTask: failFast,\n });\n\n const tagResults = {\n taggedComponents,\n autoTaggedResults,\n isSoftTag: soft,\n publishedPackages,\n warnings,\n newComponents,\n removedComponents,\n };\n\n const postHook = isAll ? POST_TAG_ALL_HOOK : POST_TAG_HOOK;\n HooksManagerInstance?.triggerHook(postHook, tagResults);\n await consumer.onDestroy(`tag (message: ${message || 'N/A'})`);\n await stagedConfig?.write();\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n return tagResults;\n }\n\n async tagFromScope(\n tagDataPerCompRaw: TagDataPerCompRaw[],\n params: {\n push?: boolean;\n version?: string;\n releaseType?: ReleaseType;\n ignoreIssues?: string;\n incrementBy?: number;\n } & Partial<BasicTagParams>\n ): Promise<TagResults | null> {\n if (this.workspace) {\n throw new BitError(\n `unable to run this command from a workspace, please create a new bare-scope and run it from there`\n );\n }\n if (!this.scope) {\n throw new BitError(`please create a new bare-scope and run it from there`);\n }\n\n const tagDataPerComp = await Promise.all(\n tagDataPerCompRaw.map(async (tagData) => {\n return {\n componentId: await this.scope.resolveComponentId(tagData.componentId),\n dependencies: tagData.dependencies ? await this.scope.resolveMultipleComponentIds(tagData.dependencies) : [],\n versionToTag: tagData.versionToTag || params.releaseType || 'patch',\n prereleaseId: tagData.prereleaseId,\n message: tagData.message,\n };\n })\n );\n const componentIds = tagDataPerComp.map((t) => t.componentId);\n // important! leave the \"preferDependencyGraph\" with the default - true. no need to bring all dependencies at this\n // stage. later on, they'll be imported during \"snapping._addFlattenedDependenciesToComponents\".\n // otherwise, the dependencies are imported without version-history and fail later when checking their origin.\n await this.scope.import(componentIds, { reason: 'of the seeders to tag' });\n const deps = compact(tagDataPerComp.map((t) => t.dependencies).flat()).map((dep) => dep.changeVersion(LATEST));\n const additionalComponentIdsToFetch = await Promise.all(\n componentIds.map(async (id) => {\n if (!id.hasVersion()) return null;\n const modelComp = await this.scope.getBitObjectModelComponent(id);\n if (!modelComp) throw new Error(`unable to find ModelComponent of ${id.toString()}`);\n if (!modelComp.head) return null;\n if (modelComp.getRef(id.version as string)?.isEqual(modelComp.head)) return null;\n if (!params.ignoreNewestVersion) {\n throw new BitError(`unable to tag \"${id.toString()}\", this version is older than the head ${modelComp.head.toString()}.\nif you're willing to lose the history from the head to the specified version, use --ignore-newest-version flag`);\n }\n return id.changeVersion(LATEST);\n })\n );\n\n // import deps to be able to resolve semver\n await this.scope.import([...deps, ...compact(additionalComponentIdsToFetch)], {\n useCache: false,\n reason: `which are the dependencies of the ${componentIds.length} seeders`,\n });\n await Promise.all(\n tagDataPerComp.map(async (tagData) => {\n tagData.dependencies = tagData.dependencies\n ? await Promise.all(tagData.dependencies.map((d) => this.getCompIdWithExactVersionAccordingToSemver(d)))\n : [];\n })\n );\n const components = await this.scope.getMany(componentIds);\n await Promise.all(\n components.map(async (comp) => {\n const tagData = tagDataPerComp.find((t) => t.componentId.isEqual(comp.id, { ignoreVersion: true }));\n if (!tagData) throw new Error(`unable to find ${comp.id.toString()} in tagDataPerComp`);\n if (!tagData.dependencies.length) return;\n await this.updateDependenciesVersionsOfComponent(comp, tagData.dependencies, componentIds);\n })\n );\n\n await this.scope.loadManyCompsAspects(components);\n\n const consumerComponents = components.map((c) => c.state._consumer) as ConsumerComponent[];\n const shouldUsePopulateArtifactsFrom = components.every((comp) => {\n if (!comp.buildStatus) throw new Error(`tag-from-scope expect ${comp.id.toString()} to have buildStatus`);\n return comp.buildStatus === BuildStatus.Succeed;\n });\n const legacyIds = ComponentIdList.fromArray(componentIds.map((id) => id));\n const results = await tagModelComponent({\n ...params,\n scope: this.scope,\n consumerComponents,\n tagDataPerComp,\n populateArtifactsFrom: shouldUsePopulateArtifactsFrom ? components.map((c) => c.id) : undefined,\n copyLogFromPreviousSnap: true,\n snapping: this,\n builder: this.builder,\n dependencyResolver: this.dependencyResolver,\n skipAutoTag: true,\n persist: true,\n ids: legacyIds,\n message: params.message as string,\n });\n\n const { taggedComponents, publishedPackages } = results;\n\n if (params.push) {\n await this.exporter.exportMany({\n scope: this.scope.legacyScope,\n ids: legacyIds,\n idsWithFutureScope: legacyIds,\n allVersions: false,\n exportOrigin: 'tag',\n });\n }\n\n return {\n taggedComponents,\n autoTaggedResults: [],\n isSoftTag: false,\n publishedPackages,\n warnings: [],\n newComponents: new ComponentIdList(),\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 files: snapData.files,\n isNew: snapData.isNew,\n mainFile: snapData.mainFile,\n newDependencies: (snapData.newDependencies || []).map((dep) => ({\n id: dep.id,\n version: dep.version,\n isComponent: dep.isComponent ?? true,\n type: dep.type ?? 'runtime',\n })),\n };\n })\n );\n const componentIds = compact(snapDataPerComp.map((t) => (t.isNew ? null : t.componentId)));\n const allCompIds = snapDataPerComp.map((s) => s.componentId);\n const componentIdsLatest = componentIds.map((id) => id.changeVersion(LATEST));\n const newCompsData = compact(snapDataPerComp.map((t) => (t.isNew ? t : null)));\n const newComponents = await Promise.all(newCompsData.map((newComp) => generateCompFromScope(this.scope, newComp)));\n\n let lane: Lane | undefined;\n const laneIdStr = params.lane;\n if (laneIdStr) {\n const laneId = LaneId.parse(laneIdStr);\n lane = await this.importer.importLaneObject(laneId);\n // this is critical. otherwise, later on, when loading aspects and isolating capsules, we'll try to fetch dists\n // from the original scope instead of the lane-scope.\n this.scope.legacyScope.setCurrentLaneId(laneId);\n this.scope.legacyScope.scopeImporter.shouldOnlyFetchFromCurrentLane = true;\n }\n\n await this.scope.import(componentIdsLatest, {\n preferDependencyGraph: false,\n lane,\n reason: `seeders to snap`,\n });\n const getSnapData = (id: ComponentID): SnapDataParsed => {\n const snapData = snapDataPerComp.find((t) => {\n return t.componentId.isEqual(id, { ignoreVersion: true });\n });\n if (!snapData) throw new Error(`unable to find ${id.toString()} in snapDataPerComp`);\n return snapData;\n };\n const existingComponents = await this.scope.getMany(componentIdsLatest);\n const components = [...existingComponents, ...newComponents];\n // for new components these are not needed. coz when generating them we already add the aspects and the files.\n // the dependencies are calculated later and they're provided by \"newDependencies\" prop (not \"dependencies\").\n await Promise.all(\n existingComponents.map(async (comp) => {\n const snapData = getSnapData(comp.id);\n if (snapData.aspects) await this.scope.addAspectsFromConfigObject(comp, snapData.aspects);\n if (snapData.dependencies.length) {\n await this.updateDependenciesVersionsOfComponent(comp, snapData.dependencies, componentIds);\n }\n if (snapData.files?.length) {\n await this.updateSourceFiles(comp, snapData.files);\n }\n })\n );\n await pMapSeries(components, async (comp) => this.scope.executeOnCompAspectReCalcSlot(comp));\n\n // run this for new components only.\n // otherwise, running this for existing components, will override the existing dependencies unexpectedly.\n // if this is needed for existing components, see how to merge the model data.\n await pMapSeries(newComponents, async (component) => {\n const snapData = getSnapData(component.id);\n // adds explicitly defined dependencies and dependencies from envs/aspects (overrides)\n await addDeps(component, snapData, this.scope, this.deps, this.dependencyResolver);\n });\n\n const consumerComponents = components.map((c) => c.state._consumer);\n const ids = ComponentIdList.fromArray(allCompIds);\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,\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,\n idsWithFutureScope: ids,\n allVersions: false,\n laneObject: updatedLane || undefined,\n // no need other snaps. only the latest one. without this option, when snapping on lane from another-scope, it\n // may throw an error saying the previous snaps don't exist on the filesystem.\n // (see the e2e - \"snap on a lane when the component is new to the lane and the scope\")\n exportHeadsOnly: true,\n });\n exportedIds = exported.map((e) => e.toString());\n }\n\n return {\n snappedIds: taggedComponents.map((comp) => comp.id.toString()),\n exportedIds,\n };\n }\n\n /**\n * save the local changes of a component(s) into the scope. snap can be done on main or on a lane.\n * once a component is snapped on a lane, it becomes part of it.\n */\n async snap({\n pattern,\n legacyBitIds, // @todo: change to ComponentID[]. pass only if have the ids already parsed.\n unmerged,\n editor,\n message = '',\n ignoreIssues,\n skipTests = false,\n skipAutoSnap = false,\n build,\n disableTagAndSnapPipelines = false,\n ignoreBuildErrors = false,\n rebuildDepsGraph,\n unmodified = false,\n exitOnFirstFailedTask = false,\n }: {\n pattern?: string;\n legacyBitIds?: ComponentIdList;\n unmerged?: boolean;\n editor?: string;\n message?: string;\n ignoreIssues?: string;\n build: boolean;\n skipTests?: boolean;\n skipAutoSnap?: boolean;\n disableTagAndSnapPipelines?: boolean;\n ignoreBuildErrors?: boolean;\n rebuildDepsGraph?: boolean;\n unmodified?: boolean;\n exitOnFirstFailedTask?: boolean;\n }): Promise<SnapResults | null> {\n if (!this.workspace) throw new OutsideWorkspaceError();\n if (pattern && legacyBitIds) throw new Error(`please pass either pattern or legacyBitIds, not both`);\n const consumer: Consumer = this.workspace.consumer;\n const componentsList = new ComponentsList(consumer);\n const newComponents = (await componentsList.listNewComponents()) as ComponentIdList;\n const ids = legacyBitIds || (await getIdsToSnap(this.workspace));\n if (!ids) return null;\n this.logger.debug(`snapping the following components: ${ids.toString()}`);\n const components = await this.loadComponentsForTagOrSnap(ids);\n const consumerComponents = components.map((c) => c.state._consumer) as ConsumerComponent[];\n await this.throwForVariousIssues(components, ignoreIssues);\n\n const { taggedComponents, autoTaggedResults, stagedConfig, removedComponents } = await tagModelComponent({\n workspace: this.workspace,\n scope: this.scope,\n snapping: this,\n builder: this.builder,\n editor,\n consumerComponents,\n ids,\n ignoreNewestVersion: false,\n message,\n skipTests,\n skipAutoTag: skipAutoSnap,\n persist: true,\n soft: false,\n build,\n isSnap: true,\n disableTagAndSnapPipelines,\n ignoreBuildErrors,\n rebuildDepsGraph,\n packageManagerConfigRootDir: this.workspace.path,\n dependencyResolver: this.dependencyResolver,\n exitOnFirstFailedTask,\n });\n\n const snapResults: Partial<SnapResults> = {\n snappedComponents: taggedComponents,\n autoSnappedResults: autoTaggedResults,\n newComponents,\n removedComponents,\n };\n\n const currentLane = consumer.getCurrentLaneId();\n snapResults.laneName = currentLane.isDefault() ? null : currentLane.toString();\n await consumer.onDestroy(`snap (message: ${message || 'N/A'})`);\n await stagedConfig?.write();\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n return snapResults;\n\n async function getIdsToSnap(workspace: Workspace): Promise<ComponentIdList | null> {\n if (unmerged) {\n return componentsList.listDuringMergeStateComponents();\n }\n const tagPendingComponentsIds = unmodified\n ? await workspace.listPotentialTagIds()\n : await workspace.listTagPendingIds();\n if (!tagPendingComponentsIds.length) return null;\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.filterIdsFromPoolIdsByPattern(pattern, tagPendingComponentsIds, shouldThrowForNoMatching);\n };\n const componentIds = await getCompIds();\n if (!componentIds.length && pattern) {\n const allTagPending = await workspace.listPotentialTagIds();\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 ComponentIdList.fromArray(componentIds);\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, true, { includeDeleted: true });\n const idsMatchingPatternBitIds = ComponentIdList.fromArray(idsMatchingPattern);\n const componentsToUntag = candidateComponents.filter((modelComponent) =>\n idsMatchingPatternBitIds.hasWithoutVersion(modelComponent.toComponentId())\n );\n return removeLocalVersionsForMultipleComponents(componentsToUntag, currentLane, head, force, consumer.scope);\n };\n const softUntag = async () => {\n const softTaggedComponentsIds = this.workspace.filter.bySoftTagged();\n const idsToRemoveSoftTags = componentPattern\n ? await this.workspace.filterIdsFromPoolIdsByPattern(componentPattern, softTaggedComponentsIds)\n : softTaggedComponentsIds;\n return compact(\n idsToRemoveSoftTags.map((componentId) => {\n const componentMap = consumer.bitMap.getComponent(componentId, { ignoreVersion: true });\n const removedVersion = componentMap.nextVersion?.version;\n if (!removedVersion) return null;\n componentMap.clearNextVersion();\n return { id: componentId, 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('reset');\n return { results, isSoftUntag: !isRealUntag };\n }\n\n async resetNeverExported(): Promise<ComponentID[]> {\n const notExported = this.workspace.consumer.getNotExportedIds();\n const hashes = notExported.map((id) => BitObject.makeHash(id.fullName));\n await this.scope.legacyScope.objects.deleteObjectsFromFS(hashes.map((h) => Ref.from(h)));\n notExported.map((id) => this.workspace.consumer.bitMap.updateComponentId(id.changeVersion(undefined)));\n await this.workspace.bitMap.write(`reset (never-exported)`);\n return notExported;\n }\n\n async _addFlattenedDependenciesToComponents(components: ConsumerComponent[], rebuildDepsGraph = false) {\n loader.start('importing missing dependencies...');\n const getLane = async () => {\n const lane = await this.scope.legacyScope.getCurrentLaneObject();\n if (!lane) return undefined;\n if (!lane.isNew) return lane;\n const forkedFrom = lane.forkedFrom;\n if (!forkedFrom) return undefined;\n return this.scope.legacyScope.loadLane(forkedFrom);\n };\n const lane = await getLane();\n\n if (rebuildDepsGraph) {\n const flattenedDependenciesGetter = new FlattenedDependenciesGetter(\n this.scope.legacyScope,\n components,\n lane || undefined\n );\n await flattenedDependenciesGetter.populateFlattenedDependencies();\n loader.stop();\n await this._addFlattenedDepsGraphToComponents(components);\n return;\n }\n\n const flattenedEdgesGetter = new FlattenedEdgesGetter(this.scope, components, this.logger, lane || undefined);\n await flattenedEdgesGetter.buildGraph();\n\n components.forEach((component) => {\n flattenedEdgesGetter.populateFlattenedAndEdgesForComp(component);\n });\n }\n\n async throwForDepsFromAnotherLane(components: ConsumerComponent[]) {\n const lane = await this.scope.legacyScope.getCurrentLaneObject();\n const allIds = ComponentIdList.fromArray(components.map((c) => c.id));\n const missingDeps = await pMapSeries(components, async (component) => {\n return this.throwForDepsFromAnotherLaneForComp(component, allIds, lane || undefined);\n });\n const flattenedMissingDeps = ComponentIdList.uniqFromArray(\n missingDeps.flat().map((id) => id.changeVersion(undefined))\n );\n if (!flattenedMissingDeps.length) return;\n // ignore the cache. even if the component exists locally, we still need its VersionHistory object\n // in order to traverse the history and determine whether it's part of the lane history.\n await this.scope.legacyScope.scopeImporter.importWithoutDeps(flattenedMissingDeps, {\n cache: false,\n ignoreMissingHead: true,\n includeVersionHistory: true,\n lane: lane || undefined,\n reason: 'of latest with version-history to make sure there are no dependencies from another lane',\n });\n await pMapSeries(components, async (component) => {\n await this.throwForDepsFromAnotherLaneForComp(component, allIds, lane || undefined, true);\n });\n }\n\n private async throwForVariousIssues(components: Component[], ignoreIssues?: string) {\n const componentsToCheck = components.filter((c) => !c.isDeleted());\n const consumerComponents = componentsToCheck.map((c) => c.state._consumer) as ConsumerComponent[];\n await this.throwForLegacyDependenciesInsideHarmony(consumerComponents);\n await this.throwForComponentIssues(componentsToCheck, ignoreIssues);\n this.throwForPendingImport(consumerComponents);\n }\n\n private async throwForDepsFromAnotherLaneForComp(\n component: ConsumerComponent,\n allIds: ComponentIdList,\n lane?: Lane,\n throwForMissingObjects = false\n ) {\n const deps = component.getAllDependencies();\n const missingDeps: ComponentID[] = [];\n await Promise.all(\n deps.map(async (dep) => {\n if (!this.scope.isExported(dep.id) || !dep.id.hasVersion()) return;\n if (isTag(dep.id.version)) return;\n if (allIds.hasWithoutVersion(dep.id)) return; // it's tagged/snapped now.\n let isPartOfHistory: boolean | undefined;\n try {\n isPartOfHistory = lane\n ? (await this.scope.legacyScope.isPartOfLaneHistory(dep.id, lane)) ||\n (await this.scope.legacyScope.isPartOfMainHistory(dep.id))\n : await this.scope.legacyScope.isPartOfMainHistory(dep.id);\n } catch (err) {\n if (throwForMissingObjects) throw err;\n if (err instanceof VersionNotFound || err instanceof ComponentNotFound) {\n missingDeps.push(dep.id);\n return;\n }\n throw err;\n }\n\n if (!isPartOfHistory) {\n const laneOrMainStr = lane ? `current lane \"${lane.name}\"` : 'main';\n throw new Error(\n `unable to tag/snap ${component.id.toString()}, it has a dependency ${dep.id.toString()} which is not part of ${laneOrMainStr} history.\none option to resolve this is installing ${dep.id.toStringWithoutVersion()} via \"bit install\", which installs the version from main.\nanother option, in case this dependency is not in main yet is to remove all references of this dependency in the code and then tag/snap.`\n );\n }\n })\n );\n return missingDeps;\n }\n\n async _addFlattenedDepsGraphToComponents(components: ConsumerComponent[]) {\n const graph = new Graph<ComponentID, string>();\n const addEdges = (compId: ComponentID, 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 = ComponentIdList.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 ComponentIdList.fromArray(allFlattenedWithoutCurrent)\n );\n componentsAndVersions.forEach(({ component, version, versionStr }) => {\n const compId = component.toComponentId().changeVersion(versionStr);\n graph.setNode(new Node(compId.toString(), compId));\n addEdges(compId, version.dependencies, 'prod');\n addEdges(compId, version.devDependencies, 'dev');\n addEdges(compId, version.extensionDependencies, 'ext');\n });\n let someCompsHaveMissingFlattened = false;\n components.forEach((component) => {\n const edges = graph.outEdges(component.id.toString());\n const flattenedEdges = component.flattenedDependencies.map((dep) => graph.outEdges(dep.toString())).flat();\n const allEdges = [...edges, ...flattenedEdges];\n const edgesWithBitIds: DepEdge[] = allEdges.map((edge) => ({\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n source: graph.node(edge.source)!.attr,\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n target: graph.node(edge.target)!.attr,\n type: edge.attr as DepEdgeType,\n }));\n component.flattenedEdges = edgesWithBitIds;\n\n // due to some previous bugs, some components might have missing flattened dependencies.\n // as a result, the flattenedEdges may have more components than the flattenedDependencies, which will cause\n // issues later on when the graph is built. this fixes it by adding the missing flattened dependencies, and\n // then recursively adding the flattenedEdge accordingly.\n const flattened = component.flattenedDependencies.map((dep) => dep.toString());\n const flattenedFromEdges = uniq(\n edgesWithBitIds.map((edge) => [edge.target.toString(), edge.source.toString()]).flat()\n );\n const missingFlattened = difference(flattenedFromEdges, flattened).filter((id) => id !== component.id.toString());\n\n if (missingFlattened.length) {\n someCompsHaveMissingFlattened = true;\n this.logger.warn(`missing flattened for ${component.id.toString()}: ${missingFlattened.join(', ')}`);\n const missingBitIds = missingFlattened.map((id) => {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return graph.node(id)!.attr;\n });\n component.flattenedDependencies.push(...missingBitIds);\n }\n });\n if (someCompsHaveMissingFlattened) {\n await this._addFlattenedDepsGraphToComponents(components);\n }\n }\n\n _updateComponentsByTagResult(components: ConsumerComponent[], tagResult: LegacyOnTagResult[]) {\n tagResult.forEach((result) => {\n const matchingComponent = components.find((c) => c.id.isEqual(result.id));\n if (matchingComponent) {\n const existingBuilder = matchingComponent.extensions.findCoreExtension(Extensions.builder);\n if (existingBuilder) existingBuilder.data = result.builderData.data;\n else matchingComponent.extensions.push(result.builderData);\n }\n });\n }\n\n _getPublishedPackages(components: ConsumerComponent[]): string[] {\n const publishedPackages = components.map((comp) => {\n const builderExt = comp.extensions.findCoreExtension(Extensions.builder);\n const pkgData = builderExt?.data?.aspectsData?.find((a) => a.aspectId === Extensions.pkg);\n return pkgData?.data?.publishedPackage;\n });\n return compact(publishedPackages);\n }\n\n async _addCompToObjects({\n source,\n consumer,\n lane,\n shouldValidateVersion = false,\n }: {\n source: ConsumerComponent;\n consumer: Consumer;\n lane: Lane | null;\n shouldValidateVersion?: boolean;\n }): Promise<ModelComponent> {\n const { component, version } = await this._addCompFromScopeToObjects(source, lane);\n const unmergedComponent = consumer.scope.objects.unmergedComponents.getEntry(component.toComponentId());\n if (unmergedComponent) {\n if (unmergedComponent.unrelated) {\n this.logger.debug(\n `sources.addSource, unmerged component \"${component.name}\". adding an unrelated entry ${unmergedComponent.head.hash}`\n );\n if (!source.previouslyUsedVersion) {\n throw new Error(\n `source.previouslyUsedVersion must be set for ${component.name} because it's unrelated resolved.`\n );\n }\n if (unmergedComponent.unrelated === true) {\n // backward compatibility\n const unrelatedHead = Ref.from(source.previouslyUsedVersion);\n version.setUnrelated({ head: unrelatedHead, laneId: unmergedComponent.laneId });\n version.addAsOnlyParent(unmergedComponent.head);\n } else {\n const unrelated = unmergedComponent.unrelated;\n version.setUnrelated({ head: unrelated.unrelatedHead, laneId: unrelated.unrelatedLaneId });\n version.addAsOnlyParent(unrelated.headOnCurrentLane);\n }\n } else {\n // this is adding a second parent to the version. the order is important. the first parent is coming from the current-lane.\n version.addParent(unmergedComponent.head);\n this.logger.debug(\n `sources.addSource, unmerged component \"${component.name}\". adding a parent ${unmergedComponent.head.hash}`\n );\n version.log.message = version.log.message || UnmergedComponents.buildSnapMessage(unmergedComponent);\n }\n consumer.scope.objects.unmergedComponents.removeComponent(component.toComponentId());\n }\n if (shouldValidateVersion) version.validate();\n return component;\n }\n\n async _addCompFromScopeToObjects(\n source: ConsumerComponent,\n lane: Lane | null\n ): Promise<{\n component: ModelComponent;\n version: Version;\n }> {\n const objectRepo = this.objectsRepo;\n // if a component exists in the model, add a new version. Otherwise, create a new component on the model\n // @todo: fix the ts error here with \"source\"\n const component = await this.scope.legacyScope.sources.findOrAddComponent(source as any);\n const artifactFiles = getArtifactsFiles(source.extensions);\n const artifacts = this.transformArtifactsFromVinylToSource(artifactFiles);\n const { version, files, flattenedEdges } = await this.scope.legacyScope.sources.consumerComponentToVersion(source);\n version.origin = {\n id: { scope: source.scope || (source.defaultScope as string), name: source.name },\n lane: lane ? { scope: lane.scope, name: lane.name, hash: lane.hash().toString() } : undefined,\n };\n objectRepo.add(version);\n if (flattenedEdges) this.objectsRepo.add(flattenedEdges);\n if (!source.version) throw new Error(`addSource expects source.version to be set`);\n component.addVersion(version, source.version, lane, objectRepo, source.previouslyUsedVersion);\n objectRepo.add(component);\n if (lane) objectRepo.add(lane);\n files.forEach((file) => objectRepo.add(file.file));\n if (artifacts) artifacts.forEach((file) => objectRepo.add(file.source));\n return { component, version };\n }\n\n async _enrichComp(consumerComponent: ConsumerComponent, modifiedLog?: Log) {\n const objects = await this._getObjectsToEnrichComp(consumerComponent, modifiedLog);\n objects.forEach((obj) => this.objectsRepo.add(obj));\n return consumerComponent;\n }\n\n async _getObjectsToEnrichComp(consumerComponent: ConsumerComponent, modifiedLog?: Log): Promise<BitObject[]> {\n const component =\n consumerComponent.modelComponent || // @todo: fix the ts error here with \"source\"\n (await this.scope.legacyScope.sources.findOrAddComponent(consumerComponent as any));\n const version = await component.loadVersion(consumerComponent.id.version as string, this.objectsRepo, true, true);\n if (modifiedLog) version.addModifiedLog(modifiedLog);\n const artifactFiles = getArtifactsFiles(consumerComponent.extensions);\n const artifacts = this.transformArtifactsFromVinylToSource(artifactFiles);\n version.extensions = consumerComponent.extensions;\n version.buildStatus = consumerComponent.buildStatus;\n const artifactObjects = artifacts.map((file) => file.source);\n return [version, ...artifactObjects];\n }\n\n private transformArtifactsFromVinylToSource(artifactsFiles: ArtifactFiles[]): ArtifactSource[] {\n const artifacts: ArtifactSource[] = [];\n artifactsFiles.forEach((artifactFiles) => {\n const artifactsSource = ArtifactFiles.fromVinylsToSources(artifactFiles.vinyls);\n if (artifactsSource.length) artifactFiles.populateRefsFromSources(artifactsSource);\n artifacts.push(...artifactsSource);\n });\n return artifacts;\n }\n\n private async loadComponentsForTagOrSnap(ids: ComponentIdList, shouldClearCacheFirst = true): Promise<Component[]> {\n const compIds = await this.workspace.resolveMultipleComponentIds(ids);\n if (shouldClearCacheFirst) {\n await this.workspace.consumer.componentFsCache.deleteAllDependenciesDataCache();\n // don't clear only the cache of these ids. we need also the auto-tag. so it's safer to just clear all.\n this.workspace.clearAllComponentsCache();\n }\n\n return this.workspace.getMany(compIds.map((id) => id.changeVersion(undefined)));\n }\n\n private async throwForComponentIssues(components: Component[], ignoreIssues?: string) {\n if (ignoreIssues === '*') {\n // ignore all issues\n return;\n }\n const issuesToIgnoreFromFlag = ignoreIssues?.split(',').map((issue) => issue.trim()) || [];\n const issuesToIgnoreFromConfig = this.issues.getIssuesToIgnoreGlobally();\n const issuesToIgnore = [...issuesToIgnoreFromFlag, ...issuesToIgnoreFromConfig];\n await this.issues.triggerAddComponentIssues(components, issuesToIgnore);\n this.issues.removeIgnoredIssuesFromComponents(components, issuesToIgnore);\n const legacyComponents = components.map((c) => c.state._consumer) as ConsumerComponent[];\n const componentsWithBlockingIssues = legacyComponents.filter((component) => component.issues?.shouldBlockTagging());\n if (componentsWithBlockingIssues.length) {\n throw new ComponentsHaveIssues(componentsWithBlockingIssues);\n }\n\n const workspaceIssues = this.workspace.getWorkspaceIssues();\n if (workspaceIssues.length) {\n const issuesStr = workspaceIssues.map((issueErr) => issueErr.message).join('\\n');\n throw new BitError(`the workspace has the following issues:\\n${issuesStr}`);\n }\n }\n\n private throwForPendingImport(components: ConsumerComponent[]) {\n const componentsMissingFromScope = components\n .filter((c) => !c.componentFromModel && this.scope.isExported(c.id))\n .map((c) => c.id.toString());\n if (componentsMissingFromScope.length) {\n throw new ComponentsPendingImport(componentsMissingFromScope);\n }\n }\n\n private async throwForLegacyDependenciesInsideHarmony(components: ConsumerComponent[]) {\n const throwForComponent = async (component: ConsumerComponent) => {\n const dependenciesIds = component.getAllDependenciesIds();\n const legacyScope = this.workspace.scope.legacyScope;\n await Promise.all(\n dependenciesIds.map(async (depId) => {\n if (!depId.hasVersion()) return;\n const modelComp = await legacyScope.getModelComponentIfExist(depId);\n if (!modelComp) return;\n const version = await modelComp.loadVersion(depId.version as string, legacyScope.objects);\n if (version.isLegacy) {\n throw new Error(\n `unable tagging \"${component.id.toString()}\", its dependency \"${depId.toString()}\" is legacy`\n );\n }\n })\n );\n };\n await pMap(components, (component) => throwForComponent(component), { concurrency: concurrentComponentsLimit() });\n }\n\n /**\n * the compId.version can be a range (e.g. \"^1.0.0\"), in which case, it finds the component in the local scope and\n * resolves the latest version that falls under the range.\n * in case the version has no range, it returns the same compId.\n * in case it has no version, it returns the latest.\n */\n async getCompIdWithExactVersionAccordingToSemver(compId: ComponentID): Promise<ComponentID> {\n if (isHash(compId.version)) {\n return compId;\n }\n const range = compId.version || '*'; // if not version specified, assume the latest\n const id = compId.changeVersion(undefined);\n const exactVersion = await this.scope.getExactVersionBySemverRange(id, range);\n if (!exactVersion) {\n throw new Error(`unable to find a version that satisfies \"${range}\" of \"${compId.toString()}\"`);\n }\n return compId.changeVersion(exactVersion);\n }\n\n private async updateSourceFiles(component: Component, files: FileData[]) {\n const currentFiles = component.state.filesystem.files;\n\n files.forEach((file) => {\n if (file.delete) {\n const index = currentFiles.findIndex((f) => f.path === file.path);\n if (index !== -1) {\n currentFiles.splice(index, 1);\n }\n return;\n }\n const currentFile = currentFiles.find((f) => f.path === file.path);\n if (currentFile) {\n currentFile.contents = Buffer.from(file.content);\n } else {\n currentFiles.push(\n new SourceFile({ base: '.', path: file.path, contents: Buffer.from(file.content), test: false })\n );\n }\n });\n\n if (!currentFiles.length)\n throw new Error(`unable to update component ${component.id.toString()}, all files were deleted`);\n }\n\n async updateDependenciesVersionsOfComponent(\n component: Component,\n dependencies: ComponentID[],\n currentBitIds: ComponentID[]\n ) {\n const updatedIds = ComponentIdList.fromArray([...currentBitIds, ...dependencies]);\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 = 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 if (ext.newExtensionId) ext.newExtensionId = updatedBitId;\n }\n });\n\n component.state.aspects = await this.scope.createAspectListFromExtensionDataList(legacyComponent.extensions);\n\n const dependenciesListSerialized = (await this.dependencyResolver.extractDepsFromLegacy(component)).serialize();\n const extId = DependencyResolverAspect.id;\n const data = { dependencies: dependenciesListSerialized };\n const existingExtension = component.config.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.config.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: ComponentID[]; warnings: string[] }> {\n const warnings: string[] = [];\n const componentsList = new ComponentsList(this.workspace.consumer);\n if (persist) {\n const softTaggedComponents = this.workspace.filter.bySoftTagged();\n return { bitIds: softTaggedComponents, warnings: [] };\n }\n\n const tagPendingComponentsIds = includeUnmodified\n ? await this.workspace.listPotentialTagIds()\n : await this.workspace.listTagPendingIds();\n\n const snappedComponentsIds = (await this.workspace.filter.bySnappedOnMain()).map((id) =>\n id.changeVersion(undefined)\n );\n\n if (ids.length) {\n const componentIds = await pMapSeries(ids, async (id) => {\n const [idWithoutVer, version] = id.split('@');\n const idIsPattern = this.workspace.isPattern(id);\n if (idIsPattern) {\n const allIds = await this.workspace.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.getComponentStatusById(componentId);\n if (componentStatus.modified === false) return null;\n }\n return componentId.changeVersion(version);\n });\n\n return { bitIds: compact(componentIds.flat()), 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 tagPendingBitIds = tagPendingComponentsIds.map((id) => id);\n const tagPendingBitIdsIncludeSnapped = [...tagPendingBitIds, ...snappedComponentsIds];\n\n if (includeUnmodified && exactVersion) {\n const tagPendingComponentsLatest = await this.workspace.scope.legacyScope.latestVersions(tagPendingBitIds, false);\n tagPendingComponentsLatest.forEach((componentId) => {\n if (componentId.version && semver.valid(componentId.version) && semver.gt(componentId.version, exactVersion)) {\n warnings.push(`warning: ${componentId.toString()} has a version greater than ${exactVersion}`);\n }\n });\n }\n\n return { bitIds: tagPendingBitIdsIncludeSnapped.map((id) => id.changeVersion(undefined)), warnings };\n }\n\n static slots = [];\n static dependencies = [\n WorkspaceAspect,\n CLIAspect,\n LoggerAspect,\n IssuesAspect,\n InsightsAspect,\n DependencyResolverAspect,\n ScopeAspect,\n ExportAspect,\n BuilderAspect,\n ImporterAspect,\n GlobalConfigAspect,\n DependenciesAspect,\n ];\n static runtime = MainRuntime;\n static async provider([\n workspace,\n cli,\n loggerMain,\n issues,\n insights,\n dependencyResolver,\n scope,\n exporter,\n builder,\n importer,\n globalConfig,\n deps,\n ]: [\n Workspace,\n CLIMain,\n LoggerMain,\n IssuesMain,\n InsightsMain,\n DependencyResolverMain,\n ScopeMain,\n ExportMain,\n BuilderMain,\n ImporterMain,\n GlobalConfigMain,\n DependenciesMain\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 deps\n );\n const snapCmd = new SnapCmd(snapping, logger, globalConfig);\n const tagCmd = new TagCmd(snapping, logger, globalConfig);\n const tagFromScopeCmd = new TagFromScopeCmd(snapping, logger);\n const snapFromScopeCmd = new SnapFromScopeCmd(snapping, logger);\n const resetCmd = new ResetCmd(snapping);\n const snapDistanceCmd = new SnapDistanceCmd(scope);\n cli.register(tagCmd, snapCmd, resetCmd, tagFromScopeCmd, snapFromScopeCmd, snapDistanceCmd);\n return snapping;\n }\n}\n\nSnappingAspect.addRuntime(SnappingMain);\n\nexport default SnappingMain;\n"],"mappings":"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"}
@@ -5,13 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.tagModelComponent = tagModelComponent;
7
7
  exports.updateComponentsVersions = updateComponentsVersions;
8
- function _values2() {
9
- const data = _interopRequireDefault(require("ramda/src/values"));
10
- _values2 = function () {
11
- return data;
12
- };
13
- return data;
14
- }
15
8
  function _pMapSeries() {
16
9
  const data = _interopRequireDefault(require("p-map-series"));
17
10
  _pMapSeries = function () {
@@ -240,7 +233,7 @@ async function tagModelComponent({
240
233
  // Store it in a map so we can take it easily from the sorted array which contain only the id
241
234
  consumerComponentsIdsMap[componentIdString] = consumerComponent;
242
235
  });
243
- const componentsToTag = (0, _values2().default)(consumerComponentsIdsMap); // consumerComponents unique
236
+ const componentsToTag = Object.values(consumerComponentsIdsMap); // consumerComponents unique
244
237
  const idsToTag = _componentId().ComponentIdList.fromArray(componentsToTag.map(c => c.id));
245
238
  // ids without versions are new. it's impossible that tagged (and not-modified) components has
246
239
  // them as dependencies.
@@ -1 +1 @@
1
- {"version":3,"names":["_pMapSeries","data","_interopRequireDefault","require","_lodash","_uuid","_bitError","_componentId","_constants","_componentSchema","_workspaceModules","_exceptions","_basicLog","_deleteComponentFiles","_logger","_utils","_autoTag","_semverHelper","_messagePerComponent","_models","obj","__esModule","default","updateDependenciesVersions","componentsToTag","dependencyResolver","getNewDependencyVersion","id","foundDependency","find","component","isEqualWithoutVersion","changeVersion","version","changeExtensionsVersion","extensions","forEach","ext","extensionId","newDepId","oneComponentToTag","getAllDependencies","dependency","updateDepsOnLegacyTag","bind","setHashes","componentToTag","setNewVersion","sha1","v4","setFutureVersions","scope","releaseType","exactVersion","persist","autoTagIds","ids","incrementBy","preReleaseId","soft","tagDataPerComp","isPreReleaseLike","includes","Promise","all","map","isAutoTag","hasWithoutVersion","modelComponent","sources","findOrAddComponent","nextVersion","componentMap","getNewVersion","tagData","t","componentId","Error","toStringWithoutVersion","versionToTag","exactVersionOrReleaseType","getValidVersionOrReleaseType","getVersionToAdd","prereleaseId","undefined","preRelease","versionByEnteredId","getVersionByEnteredId","newVersion","enteredIds","enteredId","searchWithoutVersion","hasVersion","tagModelComponent","workspace","snapping","builder","consumerComponents","populateArtifactsFrom","message","editor","ignoreNewestVersion","skipTests","skipAutoTag","build","isSnap","disableTagAndSnapPipelines","ignoreBuildErrors","rebuildDepsGraph","packageManagerConfigRootDir","copyLogFromPreviousSnap","exitOnFirstFailedTask","consumer","legacyScope","consumerComponentsIdsMap","consumerComponent","componentIdString","toString","_values2","idsToTag","ComponentIdList","fromArray","c","idsToTriggerAutoTag","filter","autoTagData","getAutoTagInfo","autoTagComponents","autoTagItem","autoTagComponentsFiltered","has","autoTag","allComponentsToTag","messagesFromEditorFetcher","MessagePerComponentFetcher","getMessagePerId","getMessagesFromEditor","tmp","msg","messagePerId","newestVersionsP","componentFromModel","getModelComponentIfExist","BitError","listVersions","length","latest","getHeadRegardlessOfLaneAsTagOrHash","currentVersion","latestVersion","newestVersions","newestVersionsWithoutEmpty","newest","isEmpty","NewerVersionFound","logger","debugAndAddBreadCrumb","setCurrentSchema","addLogToComponents","unmergedComps","listComponentsDuringMerge","lane","getCurrentLaneObject","stagedConfig","updateNextVersionOnBitmap","_addFlattenedDependenciesToComponents","throwForDepsFromAnotherLane","emptyBuilderData","addBuildStatus","BuildStatus","Pending","addComponentsToScope","Boolean","modelComponents","getModelComponent","updateComponentsVersions","publishedPackages","harmonyComps","onTagOpts","throwOnError","forceDeploy","seedersOnly","isolateOptions","builderOptions","componentsToBuild","isRemoved","reloadAspectsWithNewVersion","getManyByLegacy","builderDataMap","tagListener","buildResult","builderDataMapToLegacyOnTagResults","_updateComponentsByTagResult","push","_getPublishedPackages","Succeed","mapSeries","_enrichComp","removedComponents","removeDeletedComponentsFromBitmap","msgStr","laneHistory","lanes","updateLaneHistory","objects","add","removeMergeConfigFromComponents","linkToNodeModulesByComponents","clearObjectsFromCache","taggedComponents","autoTaggedResults","comps","removedComps","comp","compBitIdsToRemove","deleteComponentsFiles","cleanFromBitMap","components","configMergeFile","getConflictMergeFile","compId","isNowSnapped","removeConflict","currentlyUnmerged","hasConflict","write","delete","shouldValidateVersion","_addCompToObjects","source","results","_addCompFromScopeToObjects","isNew","removeAllParents","clone","existingBuilder","findCoreExtension","Extensions","autoTagComps","messagePerComponent","basicLog","getBasicLog","getLog","msgFromEditor","item","currentLog","log","date","username","email","autoTagComp","defaultMsg","schema","CURRENT_SCHEMA","buildStatus","isTag","currentLane","getCurrentLaneId","getStagedConfig","isAvailableOnMain","isDefault","ModelComponent","hasHead","updateVersions","toBitIdWithLatestVersionAllowNull","bitMap","updateComponentId","availableOnMain","setOnLanesOnly","getComponent","resolveComponentId","config","addComponentConfig","removeConfig","hash","getRef","stagedSnaps","addSnap","getConfigPerId","clearNextVersion"],"sources":["tag-model-component.ts"],"sourcesContent":["import mapSeries from 'p-map-series';\nimport R from 'ramda';\nimport { isEmpty } from 'lodash';\nimport { ReleaseType } from 'semver';\nimport { v4 } from 'uuid';\nimport { BitError } from '@teambit/bit-error';\nimport { Scope } from '@teambit/legacy/dist/scope';\nimport { ComponentID, ComponentIdList } from '@teambit/component-id';\nimport { BuildStatus, Extensions } from '@teambit/legacy/dist/constants';\nimport { CURRENT_SCHEMA } from '@teambit/legacy/dist/consumer/component/component-schema';\nimport { linkToNodeModulesByComponents } from '@teambit/workspace.modules.node-modules-linker';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component/consumer-component';\nimport Consumer from '@teambit/legacy/dist/consumer/consumer';\nimport { NewerVersionFound } from '@teambit/legacy/dist/consumer/exceptions';\nimport { getBasicLog } from '@teambit/legacy/dist/utils/bit/basic-log';\nimport { Component } from '@teambit/component';\nimport deleteComponentsFiles from '@teambit/legacy/dist/consumer/component-ops/delete-component-files';\nimport logger from '@teambit/legacy/dist/logger/logger';\nimport { sha1 } from '@teambit/legacy/dist/utils';\nimport { 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 { Lane, 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: ComponentID) => ComponentID | null;\n\nexport type BasicTagSnapParams = {\n message: string;\n skipTests?: boolean;\n build?: boolean;\n ignoreBuildErrors?: boolean;\n rebuildDepsGraph?: boolean;\n};\n\nexport type BasicTagParams = BasicTagSnapParams & {\n ignoreNewestVersion?: boolean;\n skipAutoTag?: boolean;\n soft?: boolean;\n persist: boolean;\n disableTagAndSnapPipelines?: boolean;\n preReleaseId?: string;\n editor?: string;\n unmodified?: boolean;\n};\n\nfunction updateDependenciesVersions(\n componentsToTag: ConsumerComponent[],\n dependencyResolver: DependencyResolverMain\n): void {\n const getNewDependencyVersion = (id: ComponentID): ComponentID | null => {\n const foundDependency = componentsToTag.find((component) => component.id.isEqualWithoutVersion(id));\n return foundDependency ? id.changeVersion(foundDependency.version) : null;\n };\n const changeExtensionsVersion = (component: ConsumerComponent): void => {\n component.extensions.forEach((ext) => {\n if (ext.extensionId) {\n const newDepId = getNewDependencyVersion(ext.extensionId);\n if (newDepId) ext.extensionId = newDepId;\n }\n });\n };\n\n componentsToTag.forEach((oneComponentToTag) => {\n oneComponentToTag.getAllDependencies().forEach((dependency) => {\n const newDepId = getNewDependencyVersion(dependency.id);\n if (newDepId) dependency.id = newDepId;\n });\n changeExtensionsVersion(oneComponentToTag);\n // @ts-ignore\n oneComponentToTag = dependencyResolver.updateDepsOnLegacyTag(oneComponentToTag, getNewDependencyVersion.bind(this));\n });\n}\n\nfunction setHashes(componentsToTag: ConsumerComponent[]): void {\n componentsToTag.forEach((componentToTag) => {\n componentToTag.setNewVersion(sha1(v4()));\n });\n}\n\nasync function setFutureVersions(\n componentsToTag: ConsumerComponent[],\n scope: Scope,\n releaseType: ReleaseType | undefined,\n exactVersion: string | null | undefined,\n persist: boolean,\n autoTagIds: ComponentIdList,\n ids: ComponentIdList,\n incrementBy?: number,\n preReleaseId?: string,\n soft?: boolean,\n tagDataPerComp?: TagDataPerComp[]\n): Promise<void> {\n const isPreReleaseLike = releaseType\n ? ['prerelease', 'premajor', 'preminor', 'prepatch'].includes(releaseType)\n : false;\n await Promise.all(\n componentsToTag.map(async (componentToTag) => {\n const isAutoTag = autoTagIds.hasWithoutVersion(componentToTag.id);\n const modelComponent = await scope.sources.findOrAddComponent(componentToTag);\n const nextVersion = componentToTag.componentMap?.nextVersion?.version;\n const getNewVersion = (): string => {\n if (tagDataPerComp) {\n const tagData = tagDataPerComp.find((t) => t.componentId.isEqualWithoutVersion(componentToTag.id));\n if (!tagData) throw new Error(`tag-data is missing for ${componentToTag.id.toStringWithoutVersion()}`);\n if (!tagData.versionToTag)\n throw new Error(`tag-data.TagResults is missing for ${componentToTag.id.toStringWithoutVersion()}`);\n const exactVersionOrReleaseType = getValidVersionOrReleaseType(tagData.versionToTag);\n return modelComponent.getVersionToAdd(\n exactVersionOrReleaseType.releaseType,\n exactVersionOrReleaseType.exactVersion,\n incrementBy,\n tagData.prereleaseId\n );\n }\n if (nextVersion && persist) {\n const exactVersionOrReleaseType = getValidVersionOrReleaseType(nextVersion);\n return modelComponent.getVersionToAdd(\n exactVersionOrReleaseType.releaseType,\n exactVersionOrReleaseType.exactVersion,\n undefined,\n componentToTag.componentMap?.nextVersion?.preRelease\n );\n }\n if (isAutoTag) {\n // auto-tag always bumped as patch unless it's pre-release\n if (isPreReleaseLike) {\n return soft\n ? (releaseType as string)\n : modelComponent.getVersionToAdd(releaseType, exactVersion, incrementBy, preReleaseId);\n }\n return soft ? 'patch' : modelComponent.getVersionToAdd('patch', undefined, incrementBy, preReleaseId);\n }\n const versionByEnteredId = getVersionByEnteredId(ids, componentToTag, modelComponent);\n return soft\n ? versionByEnteredId || exactVersion || (releaseType as string)\n : versionByEnteredId || modelComponent.getVersionToAdd(releaseType, exactVersion, incrementBy, preReleaseId);\n };\n const newVersion = getNewVersion();\n componentToTag.setNewVersion(newVersion);\n })\n );\n}\n\nfunction getVersionByEnteredId(\n enteredIds: ComponentIdList,\n component: ConsumerComponent,\n modelComponent: ModelComponent\n): string | undefined {\n const enteredId = enteredIds.searchWithoutVersion(component.id);\n if (enteredId && enteredId.hasVersion()) {\n const exactVersionOrReleaseType = getValidVersionOrReleaseType(enteredId.version as string);\n return modelComponent.getVersionToAdd(\n exactVersionOrReleaseType.releaseType,\n exactVersionOrReleaseType.exactVersion\n );\n }\n return undefined;\n}\n\nexport async function tagModelComponent({\n workspace,\n scope,\n snapping,\n builder,\n consumerComponents,\n ids,\n tagDataPerComp,\n populateArtifactsFrom,\n message,\n editor,\n exactVersion,\n releaseType,\n preReleaseId,\n ignoreNewestVersion = false,\n skipTests = false,\n skipAutoTag,\n soft,\n build,\n persist,\n isSnap = false,\n disableTagAndSnapPipelines,\n ignoreBuildErrors,\n rebuildDepsGraph,\n incrementBy,\n packageManagerConfigRootDir,\n dependencyResolver,\n copyLogFromPreviousSnap = false,\n exitOnFirstFailedTask = false,\n}: {\n workspace?: Workspace;\n scope: ScopeMain;\n snapping: SnappingMain;\n builder: BuilderMain;\n consumerComponents: ConsumerComponent[];\n ids: ComponentIdList;\n tagDataPerComp?: TagDataPerComp[];\n populateArtifactsFrom?: ComponentID[];\n copyLogFromPreviousSnap?: boolean;\n exactVersion?: string | null | undefined;\n releaseType?: ReleaseType;\n incrementBy?: number;\n isSnap?: boolean;\n packageManagerConfigRootDir?: string;\n dependencyResolver: DependencyResolverMain;\n exitOnFirstFailedTask?: boolean;\n} & BasicTagParams): Promise<{\n taggedComponents: ConsumerComponent[];\n autoTaggedResults: AutoTagResult[];\n publishedPackages: string[];\n stagedConfig?: StagedConfig;\n removedComponents?: ComponentIdList;\n}> {\n const consumer = workspace?.consumer;\n const legacyScope = scope.legacyScope;\n const consumerComponentsIdsMap = {};\n // Concat and unique all the dependencies from all the components so we will not import\n // the same dependency more then once, it's mainly for performance purpose\n consumerComponents.forEach((consumerComponent) => {\n const componentIdString = consumerComponent.id.toString();\n // Store it in a map so we can take it easily from the sorted array which contain only the id\n consumerComponentsIdsMap[componentIdString] = consumerComponent;\n });\n const componentsToTag: ConsumerComponent[] = R.values(consumerComponentsIdsMap); // consumerComponents unique\n const idsToTag = ComponentIdList.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, ComponentIdList.fromArray(idsToTriggerAutoTag));\n const autoTagComponents = autoTagData.map((autoTagItem) => autoTagItem.component);\n const autoTagComponentsFiltered = autoTagComponents.filter((c) => !idsToTag.has(c.id));\n const autoTagIds = ComponentIdList.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, 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 BitError(`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 setCurrentSchema(allComponentsToTag);\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 // go through all dependencies and update their versions\n updateDependenciesVersions(allComponentsToTag, dependencyResolver);\n\n await addLogToComponents(componentsToTag, autoTagComponents, persist, message, messagePerId, copyLogFromPreviousSnap);\n // don't move it down. otherwise, it'll be empty and we don't know which components were during merge.\n // (it's being deleted in snapping.main.runtime - `_addCompToObjects` method)\n const unmergedComps = workspace ? await workspace.listComponentsDuringMerge() : [];\n const lane = await legacyScope.getCurrentLaneObject();\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, rebuildDepsGraph);\n await snapping.throwForDepsFromAnotherLane(allComponentsToTag);\n if (!build) emptyBuilderData(allComponentsToTag);\n addBuildStatus(allComponentsToTag, BuildStatus.Pending);\n await addComponentsToScope(snapping, allComponentsToTag, lane, Boolean(build), consumer, tagDataPerComp);\n\n if (workspace) {\n const modelComponents = await Promise.all(\n allComponentsToTag.map((c) => {\n return c.modelComponent || legacyScope.getModelComponent(c.id);\n })\n );\n stagedConfig = await updateComponentsVersions(workspace, modelComponents);\n }\n }\n\n const publishedPackages: string[] = [];\n let harmonyComps: Component[] = [];\n if (build) {\n const onTagOpts: OnTagOpts = {\n disableTagAndSnapPipelines,\n throwOnError: true,\n forceDeploy: ignoreBuildErrors,\n isSnap,\n populateArtifactsFrom,\n };\n const seedersOnly = !workspace; // if tag from scope, build only the given components\n const isolateOptions = { packageManagerConfigRootDir, seedersOnly };\n const builderOptions = { exitOnFirstFailedTask, skipTests };\n\n const componentsToBuild = allComponentsToTag.filter((c) => !c.isRemoved());\n if (componentsToBuild.length) {\n await scope.reloadAspectsWithNewVersion(componentsToBuild);\n harmonyComps = await (workspace || scope).getManyByLegacy(componentsToBuild);\n const { builderDataMap } = await builder.tagListener(harmonyComps, onTagOpts, isolateOptions, builderOptions);\n const buildResult = scope.builderDataMapToLegacyOnTagResults(builderDataMap);\n\n snapping._updateComponentsByTagResult(componentsToBuild, buildResult);\n publishedPackages.push(...snapping._getPublishedPackages(componentsToBuild));\n addBuildStatus(componentsToBuild, BuildStatus.Succeed);\n await mapSeries(componentsToBuild, (consumerComponent) => snapping._enrichComp(consumerComponent));\n }\n }\n\n let removedComponents: ComponentIdList | undefined;\n if (!soft) {\n removedComponents = await removeDeletedComponentsFromBitmap(allComponentsToTag, workspace);\n if (lane) {\n const msgStr = message ? ` (${message})` : '';\n const laneHistory = await legacyScope.lanes.updateLaneHistory(lane, `snap${msgStr}`);\n legacyScope.objects.add(laneHistory);\n }\n await legacyScope.objects.persist();\n await removeMergeConfigFromComponents(unmergedComps, allComponentsToTag, workspace);\n if (workspace) {\n await linkToNodeModulesByComponents(\n harmonyComps.length ? harmonyComps : await workspace.scope.getManyByLegacy(allComponentsToTag),\n workspace\n );\n }\n }\n\n // clear all objects. otherwise, ModelComponent has the wrong divergeData\n legacyScope.objects.clearObjectsFromCache();\n\n return {\n taggedComponents: componentsToTag,\n autoTaggedResults: autoTagData,\n publishedPackages,\n stagedConfig,\n removedComponents,\n };\n}\n\nasync function removeDeletedComponentsFromBitmap(\n comps: ConsumerComponent[],\n workspace?: Workspace\n): Promise<ComponentIdList | undefined> {\n if (!workspace) {\n return undefined;\n }\n const removedComps = comps.filter((comp) => comp.isRemoved());\n if (!removedComps.length) return undefined;\n const compBitIdsToRemove = ComponentIdList.fromArray(removedComps.map((c) => c.id));\n await deleteComponentsFiles(workspace.consumer, compBitIdsToRemove);\n await workspace.consumer.cleanFromBitMap(compBitIdsToRemove);\n\n return compBitIdsToRemove;\n}\n\nasync function removeMergeConfigFromComponents(\n unmergedComps: ComponentID[],\n components: ConsumerComponent[],\n workspace?: Workspace\n) {\n if (!workspace || !unmergedComps.length) {\n return;\n }\n const configMergeFile = workspace.getConflictMergeFile();\n\n unmergedComps.forEach((compId) => {\n const isNowSnapped = components.find((c) => c.id.isEqualWithoutVersion(compId));\n if (isNowSnapped) {\n configMergeFile.removeConflict(compId.toStringWithoutVersion());\n }\n });\n const currentlyUnmerged = workspace ? await workspace.listComponentsDuringMerge() : [];\n if (configMergeFile.hasConflict() && currentlyUnmerged.length) {\n // it's possible that \"workspace\" section is still there. but if all \"unmerged\" are now merged,\n // then, it's safe to delete the file.\n await configMergeFile.write();\n } else {\n await configMergeFile.delete();\n }\n}\n\nasync function addComponentsToScope(\n snapping: SnappingMain,\n components: ConsumerComponent[],\n lane: Lane | null,\n shouldValidateVersion: boolean,\n consumer?: Consumer,\n tagDataPerComp?: TagDataPerComp[]\n) {\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 const results = await snapping._addCompFromScopeToObjects(component, lane);\n\n // in case \"tagData.isNew\", the version object has \"parents\" that should not be there.\n // they got created as a workaround to generate a new component from the scope without having a workspace.\n const tagData = tagDataPerComp?.find((t) => t.componentId.isEqualWithoutVersion(component.id));\n if (tagData?.isNew) results.version.removeAllParents();\n });\n }\n}\n\n/**\n * otherwise, tagging without build will have the old build data of the previous snap/tag.\n * in case we currently build, it's ok to leave the data as is, because it'll be overridden anyway.\n */\nfunction emptyBuilderData(components: ConsumerComponent[]) {\n components.forEach((component) => {\n component.extensions = component.extensions.clone();\n const existingBuilder = component.extensions.findCoreExtension(Extensions.builder);\n if (existingBuilder) existingBuilder.data = {};\n });\n}\n\nasync function addLogToComponents(\n components: ConsumerComponent[],\n autoTagComps: ConsumerComponent[],\n persist: boolean,\n message: string,\n messagePerComponent: MessagePerComponent[],\n copyLogFromPreviousSnap = false\n) {\n // @ts-ignore this happens when running `bit tag -m \"\"`.\n if (message === true) {\n message = '';\n }\n const basicLog = await getBasicLog();\n const getLog = (component: ConsumerComponent): Log => {\n const nextVersion = persist ? component.componentMap?.nextVersion : null;\n const msgFromEditor = messagePerComponent.find((item) => item.id.isEqualWithoutVersion(component.id))?.msg;\n if (copyLogFromPreviousSnap) {\n const currentLog = component.log;\n if (!currentLog) {\n throw new Error(\n `addLogToComponents is set copyLogFromPreviousSnap: true, but it is unable to find log in the previous snap`\n );\n }\n currentLog.message = msgFromEditor || message || currentLog.message;\n currentLog.date = basicLog.date;\n return currentLog;\n }\n\n return {\n username: nextVersion?.username || basicLog.username,\n email: nextVersion?.email || basicLog.email,\n message: nextVersion?.message || msgFromEditor || message,\n date: basicLog.date,\n };\n };\n\n components.forEach((component) => {\n component.log = getLog(component);\n });\n autoTagComps.forEach((autoTagComp) => {\n autoTagComp.log = getLog(autoTagComp);\n const defaultMsg = 'bump dependencies versions';\n if (message) {\n autoTagComp.log.message += ` (${defaultMsg})`;\n } else if (!autoTagComp.log.message) {\n autoTagComp.log.message = defaultMsg;\n }\n });\n}\n\nexport type BitCloudUser = {\n username?: string;\n name?: string;\n displayName?: string;\n profileImage?: string;\n};\n\nfunction setCurrentSchema(components: ConsumerComponent[]) {\n components.forEach((component) => {\n component.schema = CURRENT_SCHEMA;\n });\n}\n\nfunction addBuildStatus(components: ConsumerComponent[], buildStatus: BuildStatus) {\n components.forEach((component) => {\n component.buildStatus = buildStatus;\n });\n}\n\nexport async function updateComponentsVersions(\n workspace: Workspace,\n components: Array<ModelComponent>,\n isTag = true\n): Promise<StagedConfig> {\n const consumer = workspace.consumer;\n const currentLane = consumer.getCurrentLaneId();\n const stagedConfig = await workspace.scope.getStagedConfig();\n const isAvailableOnMain = async (\n component: ModelComponent | ConsumerComponent,\n id: ComponentID\n ): Promise<boolean> => {\n if (currentLane.isDefault()) {\n return true;\n }\n if (!id.hasVersion()) {\n // component was unsnapped on the current lane and is back to a new component\n return true;\n }\n const modelComponent =\n component instanceof ModelComponent ? component : await consumer.scope.getModelComponent(component.id);\n return modelComponent.hasHead();\n };\n\n const updateVersions = async (modelComponent: ModelComponent) => {\n const id: ComponentID = modelComponent.toBitIdWithLatestVersionAllowNull();\n consumer.bitMap.updateComponentId(id, undefined, undefined, true);\n const availableOnMain = await isAvailableOnMain(modelComponent, id);\n if (!availableOnMain) {\n consumer.bitMap.setOnLanesOnly(id, true);\n }\n const componentMap = consumer.bitMap.getComponent(id);\n const compId = await workspace.resolveComponentId(id);\n // it can be either a tag/snap or reset.\n if (isTag) {\n const config = componentMap.config;\n stagedConfig.addComponentConfig(compId, config);\n consumer.bitMap.removeConfig(id);\n const hash = modelComponent.getRef(id.version as string);\n if (!hash) throw new Error(`updateComponentsVersions: unable to find a hash for ${id.toString()}`);\n workspace.scope.legacyScope.stagedSnaps.addSnap(hash?.toString());\n } else if (!componentMap.config) {\n componentMap.config = stagedConfig.getConfigPerId(compId);\n }\n componentMap.clearNextVersion();\n };\n // important! DO NOT use Promise.all here! otherwise, you're gonna enter into a whole world of pain.\n // imagine tagging comp1 with auto-tagged comp2, comp1 package.json is written while comp2 is\n // trying to get the dependencies of comp1 using its package.json.\n await mapSeries(components, updateVersions);\n await workspace.scope.legacyScope.stagedSnaps.write();\n\n return stagedConfig;\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_pMapSeries","data","_interopRequireDefault","require","_lodash","_uuid","_bitError","_componentId","_constants","_componentSchema","_workspaceModules","_exceptions","_basicLog","_deleteComponentFiles","_logger","_utils","_autoTag","_semverHelper","_messagePerComponent","_models","obj","__esModule","default","updateDependenciesVersions","componentsToTag","dependencyResolver","getNewDependencyVersion","id","foundDependency","find","component","isEqualWithoutVersion","changeVersion","version","changeExtensionsVersion","extensions","forEach","ext","extensionId","newDepId","oneComponentToTag","getAllDependencies","dependency","updateDepsOnLegacyTag","bind","setHashes","componentToTag","setNewVersion","sha1","v4","setFutureVersions","scope","releaseType","exactVersion","persist","autoTagIds","ids","incrementBy","preReleaseId","soft","tagDataPerComp","isPreReleaseLike","includes","Promise","all","map","isAutoTag","hasWithoutVersion","modelComponent","sources","findOrAddComponent","nextVersion","componentMap","getNewVersion","tagData","t","componentId","Error","toStringWithoutVersion","versionToTag","exactVersionOrReleaseType","getValidVersionOrReleaseType","getVersionToAdd","prereleaseId","undefined","preRelease","versionByEnteredId","getVersionByEnteredId","newVersion","enteredIds","enteredId","searchWithoutVersion","hasVersion","tagModelComponent","workspace","snapping","builder","consumerComponents","populateArtifactsFrom","message","editor","ignoreNewestVersion","skipTests","skipAutoTag","build","isSnap","disableTagAndSnapPipelines","ignoreBuildErrors","rebuildDepsGraph","packageManagerConfigRootDir","copyLogFromPreviousSnap","exitOnFirstFailedTask","consumer","legacyScope","consumerComponentsIdsMap","consumerComponent","componentIdString","toString","Object","values","idsToTag","ComponentIdList","fromArray","c","idsToTriggerAutoTag","filter","autoTagData","getAutoTagInfo","autoTagComponents","autoTagItem","autoTagComponentsFiltered","has","autoTag","allComponentsToTag","messagesFromEditorFetcher","MessagePerComponentFetcher","getMessagePerId","getMessagesFromEditor","tmp","msg","messagePerId","newestVersionsP","componentFromModel","getModelComponentIfExist","BitError","listVersions","length","latest","getHeadRegardlessOfLaneAsTagOrHash","currentVersion","latestVersion","newestVersions","newestVersionsWithoutEmpty","newest","isEmpty","NewerVersionFound","logger","debugAndAddBreadCrumb","setCurrentSchema","addLogToComponents","unmergedComps","listComponentsDuringMerge","lane","getCurrentLaneObject","stagedConfig","updateNextVersionOnBitmap","_addFlattenedDependenciesToComponents","throwForDepsFromAnotherLane","emptyBuilderData","addBuildStatus","BuildStatus","Pending","addComponentsToScope","Boolean","modelComponents","getModelComponent","updateComponentsVersions","publishedPackages","harmonyComps","onTagOpts","throwOnError","forceDeploy","seedersOnly","isolateOptions","builderOptions","componentsToBuild","isRemoved","reloadAspectsWithNewVersion","getManyByLegacy","builderDataMap","tagListener","buildResult","builderDataMapToLegacyOnTagResults","_updateComponentsByTagResult","push","_getPublishedPackages","Succeed","mapSeries","_enrichComp","removedComponents","removeDeletedComponentsFromBitmap","msgStr","laneHistory","lanes","updateLaneHistory","objects","add","removeMergeConfigFromComponents","linkToNodeModulesByComponents","clearObjectsFromCache","taggedComponents","autoTaggedResults","comps","removedComps","comp","compBitIdsToRemove","deleteComponentsFiles","cleanFromBitMap","components","configMergeFile","getConflictMergeFile","compId","isNowSnapped","removeConflict","currentlyUnmerged","hasConflict","write","delete","shouldValidateVersion","_addCompToObjects","source","results","_addCompFromScopeToObjects","isNew","removeAllParents","clone","existingBuilder","findCoreExtension","Extensions","autoTagComps","messagePerComponent","basicLog","getBasicLog","getLog","msgFromEditor","item","currentLog","log","date","username","email","autoTagComp","defaultMsg","schema","CURRENT_SCHEMA","buildStatus","isTag","currentLane","getCurrentLaneId","getStagedConfig","isAvailableOnMain","isDefault","ModelComponent","hasHead","updateVersions","toBitIdWithLatestVersionAllowNull","bitMap","updateComponentId","availableOnMain","setOnLanesOnly","getComponent","resolveComponentId","config","addComponentConfig","removeConfig","hash","getRef","stagedSnaps","addSnap","getConfigPerId","clearNextVersion"],"sources":["tag-model-component.ts"],"sourcesContent":["import mapSeries from 'p-map-series';\nimport { isEmpty } from 'lodash';\nimport { ReleaseType } from 'semver';\nimport { v4 } from 'uuid';\nimport { BitError } from '@teambit/bit-error';\nimport { Scope } from '@teambit/legacy/dist/scope';\nimport { ComponentID, ComponentIdList } from '@teambit/component-id';\nimport { BuildStatus, Extensions } from '@teambit/legacy/dist/constants';\nimport { CURRENT_SCHEMA } from '@teambit/legacy/dist/consumer/component/component-schema';\nimport { linkToNodeModulesByComponents } from '@teambit/workspace.modules.node-modules-linker';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component/consumer-component';\nimport Consumer from '@teambit/legacy/dist/consumer/consumer';\nimport { NewerVersionFound } from '@teambit/legacy/dist/consumer/exceptions';\nimport { getBasicLog } from '@teambit/legacy/dist/utils/bit/basic-log';\nimport { Component } from '@teambit/component';\nimport deleteComponentsFiles from '@teambit/legacy/dist/consumer/component-ops/delete-component-files';\nimport logger from '@teambit/legacy/dist/logger/logger';\nimport { sha1 } from '@teambit/legacy/dist/utils';\nimport { 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 { Lane, 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: ComponentID) => ComponentID | null;\n\nexport type BasicTagSnapParams = {\n message: string;\n skipTests?: boolean;\n build?: boolean;\n ignoreBuildErrors?: boolean;\n rebuildDepsGraph?: boolean;\n};\n\nexport type BasicTagParams = BasicTagSnapParams & {\n ignoreNewestVersion?: boolean;\n skipAutoTag?: boolean;\n soft?: boolean;\n persist: boolean;\n disableTagAndSnapPipelines?: boolean;\n preReleaseId?: string;\n editor?: string;\n unmodified?: boolean;\n};\n\nfunction updateDependenciesVersions(\n componentsToTag: ConsumerComponent[],\n dependencyResolver: DependencyResolverMain\n): void {\n const getNewDependencyVersion = (id: ComponentID): ComponentID | null => {\n const foundDependency = componentsToTag.find((component) => component.id.isEqualWithoutVersion(id));\n return foundDependency ? id.changeVersion(foundDependency.version) : null;\n };\n const changeExtensionsVersion = (component: ConsumerComponent): void => {\n component.extensions.forEach((ext) => {\n if (ext.extensionId) {\n const newDepId = getNewDependencyVersion(ext.extensionId);\n if (newDepId) ext.extensionId = newDepId;\n }\n });\n };\n\n componentsToTag.forEach((oneComponentToTag) => {\n oneComponentToTag.getAllDependencies().forEach((dependency) => {\n const newDepId = getNewDependencyVersion(dependency.id);\n if (newDepId) dependency.id = newDepId;\n });\n changeExtensionsVersion(oneComponentToTag);\n // @ts-ignore\n oneComponentToTag = dependencyResolver.updateDepsOnLegacyTag(oneComponentToTag, getNewDependencyVersion.bind(this));\n });\n}\n\nfunction setHashes(componentsToTag: ConsumerComponent[]): void {\n componentsToTag.forEach((componentToTag) => {\n componentToTag.setNewVersion(sha1(v4()));\n });\n}\n\nasync function setFutureVersions(\n componentsToTag: ConsumerComponent[],\n scope: Scope,\n releaseType: ReleaseType | undefined,\n exactVersion: string | null | undefined,\n persist: boolean,\n autoTagIds: ComponentIdList,\n ids: ComponentIdList,\n incrementBy?: number,\n preReleaseId?: string,\n soft?: boolean,\n tagDataPerComp?: TagDataPerComp[]\n): Promise<void> {\n const isPreReleaseLike = releaseType\n ? ['prerelease', 'premajor', 'preminor', 'prepatch'].includes(releaseType)\n : false;\n await Promise.all(\n componentsToTag.map(async (componentToTag) => {\n const isAutoTag = autoTagIds.hasWithoutVersion(componentToTag.id);\n const modelComponent = await scope.sources.findOrAddComponent(componentToTag);\n const nextVersion = componentToTag.componentMap?.nextVersion?.version;\n const getNewVersion = (): string => {\n if (tagDataPerComp) {\n const tagData = tagDataPerComp.find((t) => t.componentId.isEqualWithoutVersion(componentToTag.id));\n if (!tagData) throw new Error(`tag-data is missing for ${componentToTag.id.toStringWithoutVersion()}`);\n if (!tagData.versionToTag)\n throw new Error(`tag-data.TagResults is missing for ${componentToTag.id.toStringWithoutVersion()}`);\n const exactVersionOrReleaseType = getValidVersionOrReleaseType(tagData.versionToTag);\n return modelComponent.getVersionToAdd(\n exactVersionOrReleaseType.releaseType,\n exactVersionOrReleaseType.exactVersion,\n incrementBy,\n tagData.prereleaseId\n );\n }\n if (nextVersion && persist) {\n const exactVersionOrReleaseType = getValidVersionOrReleaseType(nextVersion);\n return modelComponent.getVersionToAdd(\n exactVersionOrReleaseType.releaseType,\n exactVersionOrReleaseType.exactVersion,\n undefined,\n componentToTag.componentMap?.nextVersion?.preRelease\n );\n }\n if (isAutoTag) {\n // auto-tag always bumped as patch unless it's pre-release\n if (isPreReleaseLike) {\n return soft\n ? (releaseType as string)\n : modelComponent.getVersionToAdd(releaseType, exactVersion, incrementBy, preReleaseId);\n }\n return soft ? 'patch' : modelComponent.getVersionToAdd('patch', undefined, incrementBy, preReleaseId);\n }\n const versionByEnteredId = getVersionByEnteredId(ids, componentToTag, modelComponent);\n return soft\n ? versionByEnteredId || exactVersion || (releaseType as string)\n : versionByEnteredId || modelComponent.getVersionToAdd(releaseType, exactVersion, incrementBy, preReleaseId);\n };\n const newVersion = getNewVersion();\n componentToTag.setNewVersion(newVersion);\n })\n );\n}\n\nfunction getVersionByEnteredId(\n enteredIds: ComponentIdList,\n component: ConsumerComponent,\n modelComponent: ModelComponent\n): string | undefined {\n const enteredId = enteredIds.searchWithoutVersion(component.id);\n if (enteredId && enteredId.hasVersion()) {\n const exactVersionOrReleaseType = getValidVersionOrReleaseType(enteredId.version as string);\n return modelComponent.getVersionToAdd(\n exactVersionOrReleaseType.releaseType,\n exactVersionOrReleaseType.exactVersion\n );\n }\n return undefined;\n}\n\nexport async function tagModelComponent({\n workspace,\n scope,\n snapping,\n builder,\n consumerComponents,\n ids,\n tagDataPerComp,\n populateArtifactsFrom,\n message,\n editor,\n exactVersion,\n releaseType,\n preReleaseId,\n ignoreNewestVersion = false,\n skipTests = false,\n skipAutoTag,\n soft,\n build,\n persist,\n isSnap = false,\n disableTagAndSnapPipelines,\n ignoreBuildErrors,\n rebuildDepsGraph,\n incrementBy,\n packageManagerConfigRootDir,\n dependencyResolver,\n copyLogFromPreviousSnap = false,\n exitOnFirstFailedTask = false,\n}: {\n workspace?: Workspace;\n scope: ScopeMain;\n snapping: SnappingMain;\n builder: BuilderMain;\n consumerComponents: ConsumerComponent[];\n ids: ComponentIdList;\n tagDataPerComp?: TagDataPerComp[];\n populateArtifactsFrom?: ComponentID[];\n copyLogFromPreviousSnap?: boolean;\n exactVersion?: string | null | undefined;\n releaseType?: ReleaseType;\n incrementBy?: number;\n isSnap?: boolean;\n packageManagerConfigRootDir?: string;\n dependencyResolver: DependencyResolverMain;\n exitOnFirstFailedTask?: boolean;\n} & BasicTagParams): Promise<{\n taggedComponents: ConsumerComponent[];\n autoTaggedResults: AutoTagResult[];\n publishedPackages: string[];\n stagedConfig?: StagedConfig;\n removedComponents?: ComponentIdList;\n}> {\n const consumer = workspace?.consumer;\n const legacyScope = scope.legacyScope;\n const consumerComponentsIdsMap = {};\n // Concat and unique all the dependencies from all the components so we will not import\n // the same dependency more then once, it's mainly for performance purpose\n consumerComponents.forEach((consumerComponent) => {\n const componentIdString = consumerComponent.id.toString();\n // Store it in a map so we can take it easily from the sorted array which contain only the id\n consumerComponentsIdsMap[componentIdString] = consumerComponent;\n });\n const componentsToTag: ConsumerComponent[] = Object.values(consumerComponentsIdsMap); // consumerComponents unique\n const idsToTag = ComponentIdList.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, ComponentIdList.fromArray(idsToTriggerAutoTag));\n const autoTagComponents = autoTagData.map((autoTagItem) => autoTagItem.component);\n const autoTagComponentsFiltered = autoTagComponents.filter((c) => !idsToTag.has(c.id));\n const autoTagIds = ComponentIdList.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, 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 BitError(`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 setCurrentSchema(allComponentsToTag);\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 // go through all dependencies and update their versions\n updateDependenciesVersions(allComponentsToTag, dependencyResolver);\n\n await addLogToComponents(componentsToTag, autoTagComponents, persist, message, messagePerId, copyLogFromPreviousSnap);\n // don't move it down. otherwise, it'll be empty and we don't know which components were during merge.\n // (it's being deleted in snapping.main.runtime - `_addCompToObjects` method)\n const unmergedComps = workspace ? await workspace.listComponentsDuringMerge() : [];\n const lane = await legacyScope.getCurrentLaneObject();\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, rebuildDepsGraph);\n await snapping.throwForDepsFromAnotherLane(allComponentsToTag);\n if (!build) emptyBuilderData(allComponentsToTag);\n addBuildStatus(allComponentsToTag, BuildStatus.Pending);\n await addComponentsToScope(snapping, allComponentsToTag, lane, Boolean(build), consumer, tagDataPerComp);\n\n if (workspace) {\n const modelComponents = await Promise.all(\n allComponentsToTag.map((c) => {\n return c.modelComponent || legacyScope.getModelComponent(c.id);\n })\n );\n stagedConfig = await updateComponentsVersions(workspace, modelComponents);\n }\n }\n\n const publishedPackages: string[] = [];\n let harmonyComps: Component[] = [];\n if (build) {\n const onTagOpts: OnTagOpts = {\n disableTagAndSnapPipelines,\n throwOnError: true,\n forceDeploy: ignoreBuildErrors,\n isSnap,\n populateArtifactsFrom,\n };\n const seedersOnly = !workspace; // if tag from scope, build only the given components\n const isolateOptions = { packageManagerConfigRootDir, seedersOnly };\n const builderOptions = { exitOnFirstFailedTask, skipTests };\n\n const componentsToBuild = allComponentsToTag.filter((c) => !c.isRemoved());\n if (componentsToBuild.length) {\n await scope.reloadAspectsWithNewVersion(componentsToBuild);\n harmonyComps = await (workspace || scope).getManyByLegacy(componentsToBuild);\n const { builderDataMap } = await builder.tagListener(harmonyComps, onTagOpts, isolateOptions, builderOptions);\n const buildResult = scope.builderDataMapToLegacyOnTagResults(builderDataMap);\n\n snapping._updateComponentsByTagResult(componentsToBuild, buildResult);\n publishedPackages.push(...snapping._getPublishedPackages(componentsToBuild));\n addBuildStatus(componentsToBuild, BuildStatus.Succeed);\n await mapSeries(componentsToBuild, (consumerComponent) => snapping._enrichComp(consumerComponent));\n }\n }\n\n let removedComponents: ComponentIdList | undefined;\n if (!soft) {\n removedComponents = await removeDeletedComponentsFromBitmap(allComponentsToTag, workspace);\n if (lane) {\n const msgStr = message ? ` (${message})` : '';\n const laneHistory = await legacyScope.lanes.updateLaneHistory(lane, `snap${msgStr}`);\n legacyScope.objects.add(laneHistory);\n }\n await legacyScope.objects.persist();\n await removeMergeConfigFromComponents(unmergedComps, allComponentsToTag, workspace);\n if (workspace) {\n await linkToNodeModulesByComponents(\n harmonyComps.length ? harmonyComps : await workspace.scope.getManyByLegacy(allComponentsToTag),\n workspace\n );\n }\n }\n\n // clear all objects. otherwise, ModelComponent has the wrong divergeData\n legacyScope.objects.clearObjectsFromCache();\n\n return {\n taggedComponents: componentsToTag,\n autoTaggedResults: autoTagData,\n publishedPackages,\n stagedConfig,\n removedComponents,\n };\n}\n\nasync function removeDeletedComponentsFromBitmap(\n comps: ConsumerComponent[],\n workspace?: Workspace\n): Promise<ComponentIdList | undefined> {\n if (!workspace) {\n return undefined;\n }\n const removedComps = comps.filter((comp) => comp.isRemoved());\n if (!removedComps.length) return undefined;\n const compBitIdsToRemove = ComponentIdList.fromArray(removedComps.map((c) => c.id));\n await deleteComponentsFiles(workspace.consumer, compBitIdsToRemove);\n await workspace.consumer.cleanFromBitMap(compBitIdsToRemove);\n\n return compBitIdsToRemove;\n}\n\nasync function removeMergeConfigFromComponents(\n unmergedComps: ComponentID[],\n components: ConsumerComponent[],\n workspace?: Workspace\n) {\n if (!workspace || !unmergedComps.length) {\n return;\n }\n const configMergeFile = workspace.getConflictMergeFile();\n\n unmergedComps.forEach((compId) => {\n const isNowSnapped = components.find((c) => c.id.isEqualWithoutVersion(compId));\n if (isNowSnapped) {\n configMergeFile.removeConflict(compId.toStringWithoutVersion());\n }\n });\n const currentlyUnmerged = workspace ? await workspace.listComponentsDuringMerge() : [];\n if (configMergeFile.hasConflict() && currentlyUnmerged.length) {\n // it's possible that \"workspace\" section is still there. but if all \"unmerged\" are now merged,\n // then, it's safe to delete the file.\n await configMergeFile.write();\n } else {\n await configMergeFile.delete();\n }\n}\n\nasync function addComponentsToScope(\n snapping: SnappingMain,\n components: ConsumerComponent[],\n lane: Lane | null,\n shouldValidateVersion: boolean,\n consumer?: Consumer,\n tagDataPerComp?: TagDataPerComp[]\n) {\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 const results = await snapping._addCompFromScopeToObjects(component, lane);\n\n // in case \"tagData.isNew\", the version object has \"parents\" that should not be there.\n // they got created as a workaround to generate a new component from the scope without having a workspace.\n const tagData = tagDataPerComp?.find((t) => t.componentId.isEqualWithoutVersion(component.id));\n if (tagData?.isNew) results.version.removeAllParents();\n });\n }\n}\n\n/**\n * otherwise, tagging without build will have the old build data of the previous snap/tag.\n * in case we currently build, it's ok to leave the data as is, because it'll be overridden anyway.\n */\nfunction emptyBuilderData(components: ConsumerComponent[]) {\n components.forEach((component) => {\n component.extensions = component.extensions.clone();\n const existingBuilder = component.extensions.findCoreExtension(Extensions.builder);\n if (existingBuilder) existingBuilder.data = {};\n });\n}\n\nasync function addLogToComponents(\n components: ConsumerComponent[],\n autoTagComps: ConsumerComponent[],\n persist: boolean,\n message: string,\n messagePerComponent: MessagePerComponent[],\n copyLogFromPreviousSnap = false\n) {\n // @ts-ignore this happens when running `bit tag -m \"\"`.\n if (message === true) {\n message = '';\n }\n const basicLog = await getBasicLog();\n const getLog = (component: ConsumerComponent): Log => {\n const nextVersion = persist ? component.componentMap?.nextVersion : null;\n const msgFromEditor = messagePerComponent.find((item) => item.id.isEqualWithoutVersion(component.id))?.msg;\n if (copyLogFromPreviousSnap) {\n const currentLog = component.log;\n if (!currentLog) {\n throw new Error(\n `addLogToComponents is set copyLogFromPreviousSnap: true, but it is unable to find log in the previous snap`\n );\n }\n currentLog.message = msgFromEditor || message || currentLog.message;\n currentLog.date = basicLog.date;\n return currentLog;\n }\n\n return {\n username: nextVersion?.username || basicLog.username,\n email: nextVersion?.email || basicLog.email,\n message: nextVersion?.message || msgFromEditor || message,\n date: basicLog.date,\n };\n };\n\n components.forEach((component) => {\n component.log = getLog(component);\n });\n autoTagComps.forEach((autoTagComp) => {\n autoTagComp.log = getLog(autoTagComp);\n const defaultMsg = 'bump dependencies versions';\n if (message) {\n autoTagComp.log.message += ` (${defaultMsg})`;\n } else if (!autoTagComp.log.message) {\n autoTagComp.log.message = defaultMsg;\n }\n });\n}\n\nexport type BitCloudUser = {\n username?: string;\n name?: string;\n displayName?: string;\n profileImage?: string;\n};\n\nfunction setCurrentSchema(components: ConsumerComponent[]) {\n components.forEach((component) => {\n component.schema = CURRENT_SCHEMA;\n });\n}\n\nfunction addBuildStatus(components: ConsumerComponent[], buildStatus: BuildStatus) {\n components.forEach((component) => {\n component.buildStatus = buildStatus;\n });\n}\n\nexport async function updateComponentsVersions(\n workspace: Workspace,\n components: Array<ModelComponent>,\n isTag = true\n): Promise<StagedConfig> {\n const consumer = workspace.consumer;\n const currentLane = consumer.getCurrentLaneId();\n const stagedConfig = await workspace.scope.getStagedConfig();\n const isAvailableOnMain = async (\n component: ModelComponent | ConsumerComponent,\n id: ComponentID\n ): Promise<boolean> => {\n if (currentLane.isDefault()) {\n return true;\n }\n if (!id.hasVersion()) {\n // component was unsnapped on the current lane and is back to a new component\n return true;\n }\n const modelComponent =\n component instanceof ModelComponent ? component : await consumer.scope.getModelComponent(component.id);\n return modelComponent.hasHead();\n };\n\n const updateVersions = async (modelComponent: ModelComponent) => {\n const id: ComponentID = modelComponent.toBitIdWithLatestVersionAllowNull();\n consumer.bitMap.updateComponentId(id, undefined, undefined, true);\n const availableOnMain = await isAvailableOnMain(modelComponent, id);\n if (!availableOnMain) {\n consumer.bitMap.setOnLanesOnly(id, true);\n }\n const componentMap = consumer.bitMap.getComponent(id);\n const compId = await workspace.resolveComponentId(id);\n // it can be either a tag/snap or reset.\n if (isTag) {\n const config = componentMap.config;\n stagedConfig.addComponentConfig(compId, config);\n consumer.bitMap.removeConfig(id);\n const hash = modelComponent.getRef(id.version as string);\n if (!hash) throw new Error(`updateComponentsVersions: unable to find a hash for ${id.toString()}`);\n workspace.scope.legacyScope.stagedSnaps.addSnap(hash?.toString());\n } else if (!componentMap.config) {\n componentMap.config = stagedConfig.getConfigPerId(compId);\n }\n componentMap.clearNextVersion();\n };\n // important! DO NOT use Promise.all here! otherwise, you're gonna enter into a whole world of pain.\n // imagine tagging comp1 with auto-tagged comp2, comp1 package.json is written while comp2 is\n // trying to get the dependencies of comp1 using its package.json.\n await mapSeries(components, updateVersions);\n await workspace.scope.legacyScope.stagedSnaps.write();\n\n return stagedConfig;\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,19 +1,18 @@
1
1
  {
2
2
  "name": "@teambit/snapping",
3
- "version": "1.0.140",
3
+ "version": "1.0.141",
4
4
  "homepage": "https://bit.cloud/teambit/component/snapping",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.component",
8
8
  "name": "snapping",
9
- "version": "1.0.140"
9
+ "version": "1.0.141"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "2.4.2",
13
13
  "lodash": "4.17.21",
14
14
  "p-map-series": "2.1.0",
15
15
  "p-map": "4.0.0",
16
- "ramda": "0.27.1",
17
16
  "semver": "7.5.2",
18
17
  "uuid": "8.3.2",
19
18
  "@teambit/bit-error": "0.0.404",
@@ -22,21 +21,21 @@
22
21
  "@teambit/harmony": "0.4.6",
23
22
  "@teambit/component-version": "1.0.3",
24
23
  "@teambit/lane-id": "0.0.311",
25
- "@teambit/issues": "1.0.140",
26
- "@teambit/graph": "1.0.140",
24
+ "@teambit/issues": "1.0.141",
25
+ "@teambit/graph": "1.0.141",
27
26
  "@teambit/logger": "0.0.941",
28
- "@teambit/scope": "1.0.140",
29
- "@teambit/component": "1.0.140",
30
- "@teambit/dependencies": "1.0.140",
31
- "@teambit/dependency-resolver": "1.0.140",
27
+ "@teambit/scope": "1.0.141",
28
+ "@teambit/component": "1.0.141",
29
+ "@teambit/dependencies": "1.0.141",
30
+ "@teambit/dependency-resolver": "1.0.141",
32
31
  "@teambit/cli": "0.0.848",
33
32
  "@teambit/component-issues": "0.0.140",
34
33
  "@teambit/global-config": "0.0.851",
35
- "@teambit/builder": "1.0.140",
36
- "@teambit/export": "1.0.140",
37
- "@teambit/importer": "1.0.140",
38
- "@teambit/insights": "1.0.140",
39
- "@teambit/workspace": "1.0.140",
34
+ "@teambit/builder": "1.0.141",
35
+ "@teambit/export": "1.0.141",
36
+ "@teambit/importer": "1.0.141",
37
+ "@teambit/insights": "1.0.141",
38
+ "@teambit/workspace": "1.0.141",
40
39
  "@teambit/workspace.modules.node-modules-linker": "0.0.162"
41
40
  },
42
41
  "devDependencies": {
@@ -49,7 +48,7 @@
49
48
  "@types/jest": "^29.2.2",
50
49
  "@types/testing-library__jest-dom": "^5.9.5",
51
50
  "@teambit/harmony.envs.core-aspect-env": "0.0.19",
52
- "@teambit/compiler": "1.0.140",
51
+ "@teambit/compiler": "1.0.141",
53
52
  "@teambit/component.testing.mock-components": "0.0.184",
54
53
  "@teambit/harmony.testing.load-aspect": "0.0.183",
55
54
  "@teambit/workspace.testing.mock-workspace": "0.0.23"