@teambit/snapping 0.0.98 → 0.0.101

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.
@@ -62,7 +62,6 @@ export declare class SnappingMain {
62
62
  private throwForComponentIssues;
63
63
  private throwForLegacyDependenciesInsideHarmony;
64
64
  private getComponentsToTag;
65
- private getComponentsToTagLegacy;
66
65
  static slots: never[];
67
66
  static dependencies: import("@teambit/harmony").Aspect[];
68
67
  static runtime: import("@teambit/harmony").RuntimeDefinition;
@@ -6,8 +6,6 @@ require("core-js/modules/es.array.flat.js");
6
6
 
7
7
  require("core-js/modules/es.array.iterator.js");
8
8
 
9
- require("core-js/modules/es.array.sort.js");
10
-
11
9
  require("core-js/modules/es.array.unscopables.flat.js");
12
10
 
13
11
  require("core-js/modules/es.promise.js");
@@ -221,16 +219,6 @@ function _tagModelComponent() {
221
219
  return data;
222
220
  }
223
221
 
224
- function _lanesIsDisabled() {
225
- const data = require("@teambit/legacy/dist/consumer/lanes/exceptions/lanes-is-disabled");
226
-
227
- _lanesIsDisabled = function () {
228
- return data;
229
- };
230
-
231
- return data;
232
- }
233
-
234
222
  function _componentsPendingImport() {
235
223
  const data = _interopRequireDefault(require("@teambit/legacy/dist/consumer/component-ops/exceptions/components-pending-import"));
236
224
 
@@ -291,16 +279,6 @@ function _concurrency() {
291
279
  return data;
292
280
  }
293
281
 
294
- function _failedLoadForTag() {
295
- const data = require("@teambit/legacy/dist/consumer/component/exceptions/failed-load-for-tag");
296
-
297
- _failedLoadForTag = function () {
298
- return data;
299
- };
300
-
301
- return data;
302
- }
303
-
304
282
  function _untagComponent() {
305
283
  const data = require("@teambit/legacy/dist/scope/component-ops/untag-component");
306
284
 
@@ -443,10 +421,6 @@ class SnappingMain {
443
421
 
444
422
  const legacyBitIds = _bitId().BitIds.fromArray(bitIds);
445
423
 
446
- if (this.workspace.isLegacy) {
447
- persist = true;
448
- }
449
-
450
424
  this.logger.debug(`tagging the following components: ${legacyBitIds.toString()}`);
451
425
 
452
426
  _analytics().Analytics.addBreadCrumb('tag', `tagging the following components: ${_analytics().Analytics.hashData(legacyBitIds)}`);
@@ -534,7 +508,6 @@ class SnappingMain {
534
508
  if (!this.workspace) throw new (_exceptions().ConsumerNotFound)();
535
509
  if (id && legacyBitIds) throw new Error(`please pass either id or legacyBitIds, not both`);
536
510
  const consumer = this.workspace.consumer;
537
- if (consumer.isLegacy) throw new (_lanesIsDisabled().LanesIsDisabled)();
538
511
  const componentsList = new (_componentsList().default)(consumer);
539
512
  const newComponents = await componentsList.listNewComponents();
540
513
  const ids = legacyBitIds || (await getIdsToSnap());
@@ -674,61 +647,17 @@ class SnappingMain {
674
647
  const {
675
648
  components
676
649
  } = await this.workspace.consumer.loadComponents(ids.toVersionLatest());
677
-
678
- if (this.workspace.isLegacy) {
679
- return components;
680
- }
681
-
682
- let shouldReloadComponents = false;
683
- const componentsWithRelativePaths = [];
684
- const componentsWithFilesNotDir = [];
685
- const componentsWithCustomModuleResolution = [];
686
650
  components.forEach(component => {
687
- var _component$issues, _component$issues2;
688
-
689
651
  const componentMap = component.componentMap;
690
- if (componentMap.rootDir) return;
691
- const hasRelativePaths = (_component$issues = component.issues) === null || _component$issues === void 0 ? void 0 : _component$issues.getIssue(_componentIssues().IssuesClasses.RelativeComponentsAuthored);
692
- const hasCustomModuleResolutions = (_component$issues2 = component.issues) === null || _component$issues2 === void 0 ? void 0 : _component$issues2.getIssue(_componentIssues().IssuesClasses.MissingCustomModuleResolutionLinks); // leaving this because it can be helpful for users upgrade from legacy
693
-
694
- if (componentMap.trackDir && !hasRelativePaths) {
695
- componentMap.changeRootDirAndUpdateFilesAccordingly(componentMap.trackDir);
696
- shouldReloadComponents = true;
697
- return;
698
- }
699
-
700
- if (hasRelativePaths) {
701
- componentsWithRelativePaths.push(component.id.toStringWithoutVersion());
702
- }
703
652
 
704
- if (!componentMap.trackDir) {
705
- componentsWithFilesNotDir.push(component.id.toStringWithoutVersion());
706
- }
707
-
708
- if (hasCustomModuleResolutions) {
709
- componentsWithCustomModuleResolution.push(component.id.toStringWithoutVersion());
653
+ if (!componentMap.rootDir) {
654
+ throw new Error(`unable to tag ${component.id.toString()}, the "rootDir" is missing in the .bitmap file`);
710
655
  }
711
656
  });
712
-
713
- if (componentsWithRelativePaths.length || componentsWithFilesNotDir.length) {
714
- throw new (_failedLoadForTag().FailedLoadForTag)(componentsWithRelativePaths.sort(), componentsWithFilesNotDir.sort(), componentsWithCustomModuleResolution.sort());
715
- }
716
-
717
- if (!shouldReloadComponents) return components;
718
- this.workspace.clearCache();
719
- const {
720
- components: reloadedComponents
721
- } = await this.workspace.consumer.loadComponents(ids);
722
- return reloadedComponents;
657
+ return components;
723
658
  }
724
659
 
725
660
  async throwForComponentIssues(legacyComponents, ignoreIssues) {
726
- legacyComponents.forEach(component => {
727
- if (this.workspace.isLegacy && component.issues) {
728
- component.issues.delete(_componentIssues().IssuesClasses.RelativeComponentsAuthored);
729
- }
730
- });
731
-
732
661
  if (ignoreIssues === '*') {
733
662
  // ignore all issues
734
663
  return;
@@ -737,21 +666,17 @@ class SnappingMain {
737
666
  const issuesToIgnoreFromFlag = (ignoreIssues === null || ignoreIssues === void 0 ? void 0 : ignoreIssues.split(',').map(issue => issue.trim())) || [];
738
667
  const issuesToIgnoreFromConfig = this.issues.getIssuesToIgnoreGlobally();
739
668
  const issuesToIgnore = [...issuesToIgnoreFromFlag, ...issuesToIgnoreFromConfig];
669
+ const components = await this.workspace.getManyByLegacy(legacyComponents);
740
670
 
741
- if (!this.workspace.isLegacy) {
742
- const components = await this.workspace.getManyByLegacy(legacyComponents);
743
-
744
- if (!issuesToIgnore.includes(_componentIssues().IssuesClasses.CircularDependencies.name)) {
745
- await this.insights.addInsightsAsComponentIssues(components);
746
- }
747
-
748
- this.issues.removeIgnoredIssuesFromComponents(components);
671
+ if (!issuesToIgnore.includes(_componentIssues().IssuesClasses.CircularDependencies.name)) {
672
+ await this.insights.addInsightsAsComponentIssues(components);
749
673
  }
750
674
 
675
+ this.issues.removeIgnoredIssuesFromComponents(components);
751
676
  const componentsWithBlockingIssues = legacyComponents.filter(component => {
752
- var _component$issues3;
677
+ var _component$issues;
753
678
 
754
- return (_component$issues3 = component.issues) === null || _component$issues3 === void 0 ? void 0 : _component$issues3.shouldBlockTagging();
679
+ return (_component$issues = component.issues) === null || _component$issues === void 0 ? void 0 : _component$issues.shouldBlockTagging();
755
680
  });
756
681
 
757
682
  if (!_ramda().default.isEmpty(componentsWithBlockingIssues)) {
@@ -760,10 +685,6 @@ class SnappingMain {
760
685
  }
761
686
 
762
687
  async throwForLegacyDependenciesInsideHarmony(components) {
763
- if (this.workspace.isLegacy) {
764
- return;
765
- }
766
-
767
688
  const throwForComponent = async component => {
768
689
  const dependenciesIds = component.getAllDependenciesIds();
769
690
  const legacyScope = this.workspace.scope.legacyScope;
@@ -785,10 +706,6 @@ class SnappingMain {
785
706
  }
786
707
 
787
708
  async getComponentsToTag(includeUnmodified, exactVersion, persist, ids, snapped) {
788
- if (this.workspace.isLegacy) {
789
- return this.getComponentsToTagLegacy(includeUnmodified, exactVersion, persist, ids, snapped);
790
- }
791
-
792
709
  const warnings = [];
793
710
  const componentsList = new (_componentsList().default)(this.workspace.consumer);
794
711
 
@@ -854,72 +771,6 @@ class SnappingMain {
854
771
  };
855
772
  }
856
773
 
857
- async getComponentsToTagLegacy(includeUnmodified, exactVersion, persist, ids, snapped) {
858
- const warnings = [];
859
- const componentsList = new (_componentsList().default)(this.workspace.consumer);
860
-
861
- if (persist) {
862
- const softTaggedComponents = componentsList.listSoftTaggedComponents();
863
- return {
864
- bitIds: softTaggedComponents,
865
- warnings: []
866
- };
867
- }
868
-
869
- const tagPendingComponents = includeUnmodified ? await componentsList.listPotentialTagAllWorkspace() : await componentsList.listTagPendingComponents();
870
- const snappedComponents = await componentsList.listSnappedComponentsOnMain();
871
- const snappedComponentsIds = snappedComponents.map(c => c.toBitId());
872
-
873
- if (ids.length) {
874
- const bitIds = await Promise.all(ids.map(async id => {
875
- const [idWithoutVer, version] = id.split('@');
876
- const idHasWildcard = (0, _hasWildcard().default)(id);
877
-
878
- if (idHasWildcard) {
879
- const allIds = _componentsList().default.filterComponentsByWildcard(tagPendingComponents, idWithoutVer);
880
-
881
- return allIds.map(bitId => bitId.changeVersion(version));
882
- }
883
-
884
- const bitId = this.workspace.consumer.getParsedId(idWithoutVer);
885
-
886
- if (!includeUnmodified) {
887
- const componentStatus = await this.workspace.consumer.getComponentStatusById(bitId);
888
- if (componentStatus.modified === false) return null;
889
- }
890
-
891
- return bitId.changeVersion(version);
892
- }));
893
- return {
894
- bitIds: (0, _lodash().compact)(bitIds.flat()),
895
- warnings
896
- };
897
- }
898
-
899
- if (snapped) {
900
- return {
901
- bitIds: snappedComponentsIds,
902
- warnings
903
- };
904
- }
905
-
906
- tagPendingComponents.push(...snappedComponentsIds);
907
-
908
- if (includeUnmodified && exactVersion) {
909
- const tagPendingComponentsLatest = await this.workspace.scope.legacyScope.latestVersions(tagPendingComponents, false);
910
- tagPendingComponentsLatest.forEach(componentId => {
911
- if (componentId.version && _semver().default.valid(componentId.version) && _semver().default.gt(componentId.version, exactVersion)) {
912
- warnings.push(`warning: ${componentId.toString()} has a version greater than ${exactVersion}`);
913
- }
914
- });
915
- }
916
-
917
- return {
918
- bitIds: tagPendingComponents.map(id => id.changeVersion(undefined)),
919
- warnings
920
- };
921
- }
922
-
923
774
  static async provider([workspace, cli, community, loggerMain, issues, insights]) {
924
775
  const logger = loggerMain.createLogger(_snapping().SnappingAspect.id);
925
776
  const snapping = new SnappingMain(workspace, logger, issues, insights);
@@ -1 +1 @@
1
- {"version":3,"names":["HooksManagerInstance","HooksManager","getInstance","SnappingMain","constructor","workspace","logger","issues","insights","tag","ids","message","version","editor","snapped","releaseType","preReleaseId","ignoreIssues","ignoreNewestVersion","skipTests","skipAutoTag","build","unmodified","soft","persist","forceDeploy","incrementBy","disableTagAndSnapPipelines","isFeatureEnabled","BUILD_ON_CI","Boolean","BitError","exactVersion","ConsumerNotFound","idsHasWildcard","hasWildcard","isAll","length","validExactVersion","validateVersion","consumer","componentsList","ComponentsList","loader","start","newComponents","listNewComponents","bitIds","warnings","getComponentsToTag","R","isEmpty","legacyBitIds","BitIds","fromArray","isLegacy","debug","toString","Analytics","addBreadCrumb","hashData","componentFsCache","deleteAllDependenciesDataCache","components","loadComponentsForTag","throwForLegacyDependenciesInsideHarmony","throwForComponentIssues","areComponentsMissingFromScope","some","c","componentFromModel","id","hasScope","ComponentsPendingImport","taggedComponents","autoTaggedResults","publishedPackages","tagModelComponent","consumerComponents","scope","legacyScope","resolveUnmerged","packageManagerConfigRootDir","path","tagResults","isSoftTag","postHook","POST_TAG_ALL_HOOK","POST_TAG_HOOK","triggerHook","setExtraData","concat","onDestroy","snap","skipAutoSnap","Error","LanesIsDisabled","getIdsToSnap","isSnap","snapResults","snappedComponents","autoSnappedResults","currentLane","getCurrentLaneId","laneName","isDefault","name","idHasWildcard","bitId","getParsedId","componentStatus","getComponentStatusById","modified","tagPendingComponents","listPotentialTagAllWorkspace","listTagPendingComponents","filterComponentsByWildcard","reset","componentPattern","force","getCurrentLaneObject","untag","removeLocalVersionsForAllComponents","candidateComponents","getComponentsWithOptionToUntag","idsMatchingPattern","idsByPattern","idsMatchingPatternBitIds","map","_legacy","componentsToUntag","filter","modelComponent","hasWithoutVersion","toBitId","removeLocalVersionsForMultipleComponents","softUntag","softTaggedComponents","listSoftTaggedComponents","softTaggedComponentsIds","resolveMultipleComponentIds","idsToRemoveSoftTags","filterIdsFromPoolIdsByPattern","compact","componentId","componentMap","bitMap","getComponent","ignoreScopeAndVersion","removedVersion","nextVersion","clearNextVersion","versions","results","isRealUntag","objects","result","component","updateComponentsVersions","markAsChanged","isSoftUntag","loadComponents","toVersionLatest","shouldReloadComponents","componentsWithRelativePaths","componentsWithFilesNotDir","componentsWithCustomModuleResolution","forEach","rootDir","hasRelativePaths","getIssue","IssuesClasses","RelativeComponentsAuthored","hasCustomModuleResolutions","MissingCustomModuleResolutionLinks","trackDir","changeRootDirAndUpdateFilesAccordingly","push","toStringWithoutVersion","FailedLoadForTag","sort","clearCache","reloadedComponents","legacyComponents","delete","issuesToIgnoreFromFlag","split","issue","trim","issuesToIgnoreFromConfig","getIssuesToIgnoreGlobally","issuesToIgnore","getManyByLegacy","includes","CircularDependencies","addInsightsAsComponentIssues","removeIgnoredIssuesFromComponents","componentsWithBlockingIssues","shouldBlockTagging","ComponentsHaveIssues","throwForComponent","dependenciesIds","getAllDependenciesIds","Promise","all","depId","hasVersion","modelComp","getModelComponentIfExist","loadVersion","pMap","concurrency","concurrentComponentsLimit","includeUnmodified","getComponentsToTagLegacy","tagPendingBitIds","tagPendingComponentsIds","listSnappedComponentsOnMain","snappedComponentsIds","componentIds","pMapSeries","idWithoutVer","allIds","changeVersion","resolveComponentId","flat","tagPendingComponentsLatest","latestVersions","semver","valid","gt","undefined","provider","cli","community","loggerMain","createLogger","SnappingAspect","snapping","snapCmd","SnapCmd","getBaseDomain","tagCmd","TagCmd","resetCmd","ResetCmd","register","WorkspaceAspect","CLIAspect","CommunityAspect","LoggerAspect","IssuesAspect","InsightsAspect","MainRuntime","addRuntime"],"sources":["snapping.main.runtime.ts"],"sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { isFeatureEnabled, BUILD_ON_CI } from '@teambit/legacy/dist/api/consumer/lib/feature-toggle';\nimport { IssuesClasses } from '@teambit/component-issues';\nimport CommunityAspect, { CommunityMain } from '@teambit/community';\nimport WorkspaceAspect, { Workspace } from '@teambit/workspace';\nimport R from 'ramda';\nimport semver, { ReleaseType } from 'semver';\nimport { compact } from 'lodash';\nimport { Analytics } from '@teambit/legacy/dist/analytics/analytics';\nimport { BitId, BitIds } from '@teambit/legacy/dist/bit-id';\nimport { POST_TAG_ALL_HOOK, POST_TAG_HOOK } 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 { TagResults, BasicTagParams } from '@teambit/legacy/dist/api/consumer/lib/tag';\nimport hasWildcard from '@teambit/legacy/dist/utils/string/has-wildcard';\nimport { validateVersion } from '@teambit/legacy/dist/utils/semver-helper';\nimport { ConsumerNotFound } from '@teambit/legacy/dist/consumer/exceptions';\nimport loader from '@teambit/legacy/dist/cli/loader';\nimport tagModelComponent from '@teambit/legacy/dist/scope/component-ops/tag-model-component';\nimport { LanesIsDisabled } from '@teambit/legacy/dist/consumer/lanes/exceptions/lanes-is-disabled';\nimport { SnapResults } from '@teambit/legacy/dist/api/consumer/lib/snap';\nimport ComponentsPendingImport from '@teambit/legacy/dist/consumer/component-ops/exceptions/components-pending-import';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { BitError } from '@teambit/bit-error';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component/consumer-component';\nimport ComponentMap from '@teambit/legacy/dist/consumer/bit-map/component-map';\nimport pMap from 'p-map';\nimport { InsightsAspect, InsightsMain } from '@teambit/insights';\nimport { concurrentComponentsLimit } from '@teambit/legacy/dist/utils/concurrency';\nimport { FailedLoadForTag } from '@teambit/legacy/dist/consumer/component/exceptions/failed-load-for-tag';\nimport {\n removeLocalVersionsForAllComponents,\n untagResult,\n getComponentsWithOptionToUntag,\n removeLocalVersionsForMultipleComponents,\n} from '@teambit/legacy/dist/scope/component-ops/untag-component';\nimport { ModelComponent } from '@teambit/legacy/dist/scope/models';\nimport IssuesAspect, { IssuesMain } from '@teambit/issues';\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';\n\nconst HooksManagerInstance = HooksManager.getInstance();\n\nexport class SnappingMain {\n constructor(\n private workspace: Workspace,\n private logger: Logger,\n private issues: IssuesMain,\n private insights: InsightsMain\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 releaseType,\n preReleaseId,\n ignoreIssues,\n ignoreNewestVersion = false,\n skipTests = false,\n skipAutoTag = false,\n build,\n unmodified = false,\n soft = false,\n persist = false,\n forceDeploy = false,\n incrementBy = 1,\n disableTagAndSnapPipelines = false,\n }: {\n ids?: string[];\n all?: boolean | string;\n snapped?: boolean;\n version?: string;\n releaseType?: ReleaseType;\n ignoreIssues?: string;\n scope?: string | boolean;\n incrementBy?: number;\n } & Partial<BasicTagParams>): Promise<TagResults | null> {\n build = isFeatureEnabled(BUILD_ON_CI) ? Boolean(build) : true;\n if (soft) build = false;\n if (disableTagAndSnapPipelines && forceDeploy) {\n throw new BitError('you can use either force-deploy or disable-tag-pipeline, but not both');\n }\n if (editor && persist) {\n throw new BitError('you can use either --editor or --persist, but not both');\n }\n if (editor && message) {\n throw new BitError('you can use either --editor or --message, but not both');\n }\n\n const exactVersion = version;\n if (!this.workspace) throw new ConsumerNotFound();\n const idsHasWildcard = hasWildcard(ids);\n const isAll = Boolean(!ids.length || idsHasWildcard);\n const validExactVersion = validateVersion(exactVersion);\n const consumer = this.workspace.consumer;\n const componentsList = new ComponentsList(consumer);\n loader.start('determine components to tag...');\n const newComponents = await componentsList.listNewComponents();\n const { bitIds, warnings } = await this.getComponentsToTag(unmodified, exactVersion, persist, ids, snapped);\n if (R.isEmpty(bitIds)) return null;\n\n const legacyBitIds = BitIds.fromArray(bitIds);\n\n if (this.workspace.isLegacy) {\n persist = true;\n }\n this.logger.debug(`tagging the following components: ${legacyBitIds.toString()}`);\n Analytics.addBreadCrumb('tag', `tagging the following components: ${Analytics.hashData(legacyBitIds)}`);\n if (!soft) {\n await this.workspace.consumer.componentFsCache.deleteAllDependenciesDataCache();\n }\n const components = await this.loadComponentsForTag(legacyBitIds);\n await this.throwForLegacyDependenciesInsideHarmony(components);\n await this.throwForComponentIssues(components, ignoreIssues);\n const areComponentsMissingFromScope = components.some((c) => !c.componentFromModel && c.id.hasScope());\n if (areComponentsMissingFromScope) {\n throw new ComponentsPendingImport();\n }\n\n const { taggedComponents, autoTaggedResults, publishedPackages } = await tagModelComponent({\n consumerComponents: components,\n ids: legacyBitIds,\n scope: this.workspace.scope.legacyScope,\n message,\n editor,\n exactVersion: validExactVersion,\n releaseType,\n preReleaseId,\n consumer: this.workspace.consumer,\n ignoreNewestVersion,\n skipTests,\n skipAutoTag,\n soft,\n build,\n persist,\n resolveUnmerged: false,\n disableTagAndSnapPipelines,\n forceDeploy,\n incrementBy,\n packageManagerConfigRootDir: this.workspace.path,\n });\n\n const tagResults = { taggedComponents, autoTaggedResults, isSoftTag: soft, publishedPackages };\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n tagResults.warnings = warnings;\n\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n tagResults.newComponents = newComponents;\n const postHook = isAll ? POST_TAG_ALL_HOOK : POST_TAG_HOOK;\n HooksManagerInstance?.triggerHook(postHook, tagResults);\n Analytics.setExtraData(\n 'num_components',\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n R.concat(tagResults.taggedComponents, tagResults.autoTaggedResults, tagResults.newComponents).length\n );\n await consumer.onDestroy();\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n return tagResults;\n }\n\n /**\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 id, // @todo: rename to \"patterns\"\n legacyBitIds, // @todo: change to ComponentID[]. pass only if have the ids already parsed.\n resolveUnmerged = false,\n message = '',\n ignoreIssues,\n skipTests = false,\n skipAutoSnap = false,\n build,\n disableTagAndSnapPipelines = false,\n forceDeploy = false,\n unmodified = false,\n }: {\n id?: string;\n legacyBitIds?: BitIds;\n resolveUnmerged?: boolean;\n message?: string;\n ignoreIssues?: string;\n build: boolean;\n skipTests?: boolean;\n skipAutoSnap?: boolean;\n disableTagAndSnapPipelines?: boolean;\n forceDeploy?: boolean;\n unmodified?: boolean;\n }): Promise<SnapResults | null> {\n if (!this.workspace) throw new ConsumerNotFound();\n if (id && legacyBitIds) throw new Error(`please pass either id or legacyBitIds, not both`);\n const consumer: Consumer = this.workspace.consumer;\n if (consumer.isLegacy) throw new LanesIsDisabled();\n const componentsList = new ComponentsList(consumer);\n const newComponents = (await componentsList.listNewComponents()) as BitIds;\n const ids = legacyBitIds || (await getIdsToSnap());\n if (!ids) return null;\n this.logger.debug(`snapping the following components: ${ids.toString()}`);\n await this.workspace.consumer.componentFsCache.deleteAllDependenciesDataCache();\n const components = await this.loadComponentsForTag(ids);\n await this.throwForLegacyDependenciesInsideHarmony(components);\n await this.throwForComponentIssues(components, ignoreIssues);\n const areComponentsMissingFromScope = components.some((c) => !c.componentFromModel && c.id.hasScope());\n if (areComponentsMissingFromScope) {\n throw new ComponentsPendingImport();\n }\n\n const { taggedComponents, autoTaggedResults } = await tagModelComponent({\n consumerComponents: components,\n ids,\n ignoreNewestVersion: false,\n scope: this.workspace.scope.legacyScope,\n message,\n consumer: this.workspace.consumer,\n skipTests,\n skipAutoTag: skipAutoSnap,\n persist: true,\n soft: false,\n build,\n resolveUnmerged,\n isSnap: true,\n disableTagAndSnapPipelines,\n forceDeploy,\n packageManagerConfigRootDir: this.workspace.path,\n });\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n const snapResults: SnapResults = { snappedComponents: taggedComponents, autoSnappedResults: autoTaggedResults };\n\n snapResults.newComponents = newComponents;\n const currentLane = consumer.getCurrentLaneId();\n snapResults.laneName = currentLane.isDefault() ? null : currentLane.name;\n await consumer.onDestroy();\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n return snapResults;\n\n async function getIdsToSnap(): Promise<BitIds | null> {\n const idHasWildcard = id && hasWildcard(id);\n if (id && !idHasWildcard) {\n const bitId = consumer.getParsedId(id);\n if (!unmodified) {\n const componentStatus = await consumer.getComponentStatusById(bitId);\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n if (componentStatus.modified === false) return null;\n }\n return new BitIds(bitId);\n }\n const tagPendingComponents = unmodified\n ? await componentsList.listPotentialTagAllWorkspace()\n : await componentsList.listTagPendingComponents();\n if (R.isEmpty(tagPendingComponents)) return null;\n const bitIds = idHasWildcard\n ? ComponentsList.filterComponentsByWildcard(tagPendingComponents, id)\n : tagPendingComponents;\n return BitIds.fromArray(bitIds);\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 version?: string,\n force = false,\n soft = false\n ): Promise<{ results: untagResult[]; isSoftUntag: boolean }> {\n if (!this.workspace) throw new ConsumerNotFound();\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, version, force);\n }\n const candidateComponents = await getComponentsWithOptionToUntag(consumer, version);\n const idsMatchingPattern = await this.workspace.idsByPattern(componentPattern);\n const idsMatchingPatternBitIds = BitIds.fromArray(idsMatchingPattern.map((id) => id._legacy));\n const componentsToUntag = candidateComponents.filter((modelComponent) =>\n idsMatchingPatternBitIds.hasWithoutVersion(modelComponent.toBitId())\n );\n return removeLocalVersionsForMultipleComponents(componentsToUntag, currentLane, version, force, consumer.scope);\n };\n const softUntag = async () => {\n const componentsList = new ComponentsList(consumer);\n const softTaggedComponents = componentsList.listSoftTaggedComponents();\n const softTaggedComponentsIds = await this.workspace.resolveMultipleComponentIds(softTaggedComponents);\n const idsToRemoveSoftTags = componentPattern\n ? this.workspace.scope.filterIdsFromPoolIdsByPattern(componentPattern, softTaggedComponentsIds)\n : softTaggedComponentsIds;\n return compact(\n idsToRemoveSoftTags.map((componentId) => {\n const componentMap = consumer.bitMap.getComponent(componentId._legacy, { ignoreScopeAndVersion: true });\n const removedVersion = componentMap.nextVersion?.version;\n if (!removedVersion) return null;\n componentMap.clearNextVersion();\n return { id: componentId._legacy, versions: [removedVersion] };\n })\n );\n };\n let results: untagResult[];\n const isRealUntag = !soft;\n if (isRealUntag) {\n results = await untag();\n await consumer.scope.objects.persist();\n const components = results.map((result) => result.component);\n await consumer.updateComponentsVersions(components as ModelComponent[]);\n } else {\n results = await softUntag();\n consumer.bitMap.markAsChanged();\n }\n\n await consumer.onDestroy();\n return { results, isSoftUntag: !isRealUntag };\n }\n\n private async loadComponentsForTag(ids: BitIds): Promise<ConsumerComponent[]> {\n const { components } = await this.workspace.consumer.loadComponents(ids.toVersionLatest());\n if (this.workspace.isLegacy) {\n return components;\n }\n let shouldReloadComponents = false;\n const componentsWithRelativePaths: string[] = [];\n const componentsWithFilesNotDir: string[] = [];\n const componentsWithCustomModuleResolution: string[] = [];\n components.forEach((component) => {\n const componentMap = component.componentMap as ComponentMap;\n if (componentMap.rootDir) return;\n const hasRelativePaths = component.issues?.getIssue(IssuesClasses.RelativeComponentsAuthored);\n const hasCustomModuleResolutions = component.issues?.getIssue(IssuesClasses.MissingCustomModuleResolutionLinks);\n // leaving this because it can be helpful for users upgrade from legacy\n if (componentMap.trackDir && !hasRelativePaths) {\n componentMap.changeRootDirAndUpdateFilesAccordingly(componentMap.trackDir);\n shouldReloadComponents = true;\n return;\n }\n if (hasRelativePaths) {\n componentsWithRelativePaths.push(component.id.toStringWithoutVersion());\n }\n if (!componentMap.trackDir) {\n componentsWithFilesNotDir.push(component.id.toStringWithoutVersion());\n }\n if (hasCustomModuleResolutions) {\n componentsWithCustomModuleResolution.push(component.id.toStringWithoutVersion());\n }\n });\n if (componentsWithRelativePaths.length || componentsWithFilesNotDir.length) {\n throw new FailedLoadForTag(\n componentsWithRelativePaths.sort(),\n componentsWithFilesNotDir.sort(),\n componentsWithCustomModuleResolution.sort()\n );\n }\n if (!shouldReloadComponents) return components;\n this.workspace.clearCache();\n const { components: reloadedComponents } = await this.workspace.consumer.loadComponents(ids);\n return reloadedComponents;\n }\n\n private async throwForComponentIssues(legacyComponents: ConsumerComponent[], ignoreIssues?: string) {\n legacyComponents.forEach((component) => {\n if (this.workspace.isLegacy && component.issues) {\n component.issues.delete(IssuesClasses.RelativeComponentsAuthored);\n }\n });\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 if (!this.workspace.isLegacy) {\n const components = await this.workspace.getManyByLegacy(legacyComponents);\n if (!issuesToIgnore.includes(IssuesClasses.CircularDependencies.name)) {\n await this.insights.addInsightsAsComponentIssues(components);\n }\n this.issues.removeIgnoredIssuesFromComponents(components);\n }\n\n const componentsWithBlockingIssues = legacyComponents.filter((component) => component.issues?.shouldBlockTagging());\n if (!R.isEmpty(componentsWithBlockingIssues)) {\n throw new ComponentsHaveIssues(componentsWithBlockingIssues);\n }\n }\n\n private async throwForLegacyDependenciesInsideHarmony(components: ConsumerComponent[]) {\n if (this.workspace.isLegacy) {\n return;\n }\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 private async getComponentsToTag(\n includeUnmodified: boolean,\n exactVersion: string | undefined,\n persist: boolean,\n ids: string[],\n snapped: boolean\n ): Promise<{ bitIds: BitId[]; warnings: string[] }> {\n if (this.workspace.isLegacy) {\n return this.getComponentsToTagLegacy(includeUnmodified, exactVersion, persist, ids, snapped);\n }\n const warnings: string[] = [];\n const componentsList = new ComponentsList(this.workspace.consumer);\n if (persist) {\n const softTaggedComponents = componentsList.listSoftTaggedComponents();\n return { bitIds: softTaggedComponents, warnings: [] };\n }\n\n const tagPendingBitIds = includeUnmodified\n ? await componentsList.listPotentialTagAllWorkspace()\n : await componentsList.listTagPendingComponents();\n\n const tagPendingComponentsIds = await this.workspace.resolveMultipleComponentIds(tagPendingBitIds);\n\n const snappedComponents = await componentsList.listSnappedComponentsOnMain();\n const snappedComponentsIds = snappedComponents.map((c) => c.toBitId());\n\n if (ids.length) {\n const componentIds = await pMapSeries(ids, async (id) => {\n const [idWithoutVer, version] = id.split('@');\n const idHasWildcard = hasWildcard(id);\n if (idHasWildcard) {\n const allIds = this.workspace.scope.filterIdsFromPoolIdsByPattern(idWithoutVer, tagPendingComponentsIds);\n return allIds.map((componentId) => componentId.changeVersion(version));\n }\n const componentId = await this.workspace.resolveComponentId(idWithoutVer);\n if (!includeUnmodified) {\n const componentStatus = await this.workspace.consumer.getComponentStatusById(componentId._legacy);\n if (componentStatus.modified === false) return null;\n }\n return componentId.changeVersion(version);\n });\n\n return { bitIds: compact(componentIds.flat()).map((bitId) => bitId._legacy), warnings };\n }\n\n if (snapped) {\n return { bitIds: snappedComponentsIds, warnings };\n }\n\n tagPendingBitIds.push(...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: tagPendingBitIds.map((id) => id.changeVersion(undefined)), warnings };\n }\n\n private async getComponentsToTagLegacy(\n includeUnmodified: boolean,\n exactVersion: string | undefined,\n persist: boolean,\n ids: string[],\n snapped: boolean\n ): Promise<{ bitIds: BitId[]; warnings: string[] }> {\n const warnings: string[] = [];\n const componentsList = new ComponentsList(this.workspace.consumer);\n if (persist) {\n const softTaggedComponents = componentsList.listSoftTaggedComponents();\n return { bitIds: softTaggedComponents, warnings: [] };\n }\n\n const tagPendingComponents = includeUnmodified\n ? await componentsList.listPotentialTagAllWorkspace()\n : await componentsList.listTagPendingComponents();\n\n const snappedComponents = await componentsList.listSnappedComponentsOnMain();\n const snappedComponentsIds = snappedComponents.map((c) => c.toBitId());\n\n if (ids.length) {\n const bitIds = await Promise.all(\n ids.map(async (id) => {\n const [idWithoutVer, version] = id.split('@');\n const idHasWildcard = hasWildcard(id);\n if (idHasWildcard) {\n const allIds = ComponentsList.filterComponentsByWildcard(tagPendingComponents, idWithoutVer);\n return allIds.map((bitId) => bitId.changeVersion(version));\n }\n const bitId = this.workspace.consumer.getParsedId(idWithoutVer);\n if (!includeUnmodified) {\n const componentStatus = await this.workspace.consumer.getComponentStatusById(bitId);\n if (componentStatus.modified === false) return null;\n }\n return bitId.changeVersion(version);\n })\n );\n\n return { bitIds: compact(bitIds.flat()), warnings };\n }\n\n if (snapped) {\n return { bitIds: snappedComponentsIds, warnings };\n }\n\n tagPendingComponents.push(...snappedComponentsIds);\n\n if (includeUnmodified && exactVersion) {\n const tagPendingComponentsLatest = await this.workspace.scope.legacyScope.latestVersions(\n tagPendingComponents,\n false\n );\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: tagPendingComponents.map((id) => id.changeVersion(undefined)), warnings };\n }\n\n static slots = [];\n static dependencies = [WorkspaceAspect, CLIAspect, CommunityAspect, LoggerAspect, IssuesAspect, InsightsAspect];\n static runtime = MainRuntime;\n static async provider([workspace, cli, community, loggerMain, issues, insights]: [\n Workspace,\n CLIMain,\n CommunityMain,\n LoggerMain,\n IssuesMain,\n InsightsMain\n ]) {\n const logger = loggerMain.createLogger(SnappingAspect.id);\n const snapping = new SnappingMain(workspace, logger, issues, insights);\n const snapCmd = new SnapCmd(community.getBaseDomain(), snapping, logger);\n const tagCmd = new TagCmd(community.getBaseDomain(), snapping, logger);\n const resetCmd = new ResetCmd(snapping);\n cli.register(tagCmd, snapCmd, resetCmd);\n return snapping;\n }\n}\n\nSnappingAspect.addRuntime(SnappingMain);\n\nexport default SnappingMain;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAGA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAOA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;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"}
1
+ {"version":3,"names":["HooksManagerInstance","HooksManager","getInstance","SnappingMain","constructor","workspace","logger","issues","insights","tag","ids","message","version","editor","snapped","releaseType","preReleaseId","ignoreIssues","ignoreNewestVersion","skipTests","skipAutoTag","build","unmodified","soft","persist","forceDeploy","incrementBy","disableTagAndSnapPipelines","isFeatureEnabled","BUILD_ON_CI","Boolean","BitError","exactVersion","ConsumerNotFound","idsHasWildcard","hasWildcard","isAll","length","validExactVersion","validateVersion","consumer","componentsList","ComponentsList","loader","start","newComponents","listNewComponents","bitIds","warnings","getComponentsToTag","R","isEmpty","legacyBitIds","BitIds","fromArray","debug","toString","Analytics","addBreadCrumb","hashData","componentFsCache","deleteAllDependenciesDataCache","components","loadComponentsForTag","throwForLegacyDependenciesInsideHarmony","throwForComponentIssues","areComponentsMissingFromScope","some","c","componentFromModel","id","hasScope","ComponentsPendingImport","taggedComponents","autoTaggedResults","publishedPackages","tagModelComponent","consumerComponents","scope","legacyScope","resolveUnmerged","packageManagerConfigRootDir","path","tagResults","isSoftTag","postHook","POST_TAG_ALL_HOOK","POST_TAG_HOOK","triggerHook","setExtraData","concat","onDestroy","snap","skipAutoSnap","Error","getIdsToSnap","isSnap","snapResults","snappedComponents","autoSnappedResults","currentLane","getCurrentLaneId","laneName","isDefault","name","idHasWildcard","bitId","getParsedId","componentStatus","getComponentStatusById","modified","tagPendingComponents","listPotentialTagAllWorkspace","listTagPendingComponents","filterComponentsByWildcard","reset","componentPattern","force","getCurrentLaneObject","untag","removeLocalVersionsForAllComponents","candidateComponents","getComponentsWithOptionToUntag","idsMatchingPattern","idsByPattern","idsMatchingPatternBitIds","map","_legacy","componentsToUntag","filter","modelComponent","hasWithoutVersion","toBitId","removeLocalVersionsForMultipleComponents","softUntag","softTaggedComponents","listSoftTaggedComponents","softTaggedComponentsIds","resolveMultipleComponentIds","idsToRemoveSoftTags","filterIdsFromPoolIdsByPattern","compact","componentId","componentMap","bitMap","getComponent","ignoreScopeAndVersion","removedVersion","nextVersion","clearNextVersion","versions","results","isRealUntag","objects","result","component","updateComponentsVersions","markAsChanged","isSoftUntag","loadComponents","toVersionLatest","forEach","rootDir","legacyComponents","issuesToIgnoreFromFlag","split","issue","trim","issuesToIgnoreFromConfig","getIssuesToIgnoreGlobally","issuesToIgnore","getManyByLegacy","includes","IssuesClasses","CircularDependencies","addInsightsAsComponentIssues","removeIgnoredIssuesFromComponents","componentsWithBlockingIssues","shouldBlockTagging","ComponentsHaveIssues","throwForComponent","dependenciesIds","getAllDependenciesIds","Promise","all","depId","hasVersion","modelComp","getModelComponentIfExist","loadVersion","isLegacy","pMap","concurrency","concurrentComponentsLimit","includeUnmodified","tagPendingBitIds","tagPendingComponentsIds","listSnappedComponentsOnMain","snappedComponentsIds","componentIds","pMapSeries","idWithoutVer","allIds","changeVersion","resolveComponentId","flat","push","tagPendingComponentsLatest","latestVersions","semver","valid","gt","undefined","provider","cli","community","loggerMain","createLogger","SnappingAspect","snapping","snapCmd","SnapCmd","getBaseDomain","tagCmd","TagCmd","resetCmd","ResetCmd","register","WorkspaceAspect","CLIAspect","CommunityAspect","LoggerAspect","IssuesAspect","InsightsAspect","MainRuntime","addRuntime"],"sources":["snapping.main.runtime.ts"],"sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { isFeatureEnabled, BUILD_ON_CI } from '@teambit/legacy/dist/api/consumer/lib/feature-toggle';\nimport { IssuesClasses } from '@teambit/component-issues';\nimport CommunityAspect, { CommunityMain } from '@teambit/community';\nimport WorkspaceAspect, { Workspace } from '@teambit/workspace';\nimport R from 'ramda';\nimport semver, { ReleaseType } from 'semver';\nimport { compact } from 'lodash';\nimport { Analytics } from '@teambit/legacy/dist/analytics/analytics';\nimport { BitId, BitIds } from '@teambit/legacy/dist/bit-id';\nimport { POST_TAG_ALL_HOOK, POST_TAG_HOOK } 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 { TagResults, BasicTagParams } from '@teambit/legacy/dist/api/consumer/lib/tag';\nimport hasWildcard from '@teambit/legacy/dist/utils/string/has-wildcard';\nimport { validateVersion } from '@teambit/legacy/dist/utils/semver-helper';\nimport { ConsumerNotFound } from '@teambit/legacy/dist/consumer/exceptions';\nimport loader from '@teambit/legacy/dist/cli/loader';\nimport tagModelComponent from '@teambit/legacy/dist/scope/component-ops/tag-model-component';\nimport { SnapResults } from '@teambit/legacy/dist/api/consumer/lib/snap';\nimport ComponentsPendingImport from '@teambit/legacy/dist/consumer/component-ops/exceptions/components-pending-import';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { BitError } from '@teambit/bit-error';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component/consumer-component';\nimport ComponentMap from '@teambit/legacy/dist/consumer/bit-map/component-map';\nimport pMap from 'p-map';\nimport { InsightsAspect, InsightsMain } from '@teambit/insights';\nimport { concurrentComponentsLimit } from '@teambit/legacy/dist/utils/concurrency';\nimport {\n removeLocalVersionsForAllComponents,\n untagResult,\n getComponentsWithOptionToUntag,\n removeLocalVersionsForMultipleComponents,\n} from '@teambit/legacy/dist/scope/component-ops/untag-component';\nimport { ModelComponent } from '@teambit/legacy/dist/scope/models';\nimport IssuesAspect, { IssuesMain } from '@teambit/issues';\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';\n\nconst HooksManagerInstance = HooksManager.getInstance();\n\nexport class SnappingMain {\n constructor(\n private workspace: Workspace,\n private logger: Logger,\n private issues: IssuesMain,\n private insights: InsightsMain\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 releaseType,\n preReleaseId,\n ignoreIssues,\n ignoreNewestVersion = false,\n skipTests = false,\n skipAutoTag = false,\n build,\n unmodified = false,\n soft = false,\n persist = false,\n forceDeploy = false,\n incrementBy = 1,\n disableTagAndSnapPipelines = false,\n }: {\n ids?: string[];\n all?: boolean | string;\n snapped?: boolean;\n version?: string;\n releaseType?: ReleaseType;\n ignoreIssues?: string;\n scope?: string | boolean;\n incrementBy?: number;\n } & Partial<BasicTagParams>): Promise<TagResults | null> {\n build = isFeatureEnabled(BUILD_ON_CI) ? Boolean(build) : true;\n if (soft) build = false;\n if (disableTagAndSnapPipelines && forceDeploy) {\n throw new BitError('you can use either force-deploy or disable-tag-pipeline, but not both');\n }\n if (editor && persist) {\n throw new BitError('you can use either --editor or --persist, but not both');\n }\n if (editor && message) {\n throw new BitError('you can use either --editor or --message, but not both');\n }\n\n const exactVersion = version;\n if (!this.workspace) throw new ConsumerNotFound();\n const idsHasWildcard = hasWildcard(ids);\n const isAll = Boolean(!ids.length || idsHasWildcard);\n const validExactVersion = validateVersion(exactVersion);\n const consumer = this.workspace.consumer;\n const componentsList = new ComponentsList(consumer);\n loader.start('determine components to tag...');\n const newComponents = await componentsList.listNewComponents();\n const { bitIds, warnings } = await this.getComponentsToTag(unmodified, exactVersion, persist, ids, snapped);\n if (R.isEmpty(bitIds)) return null;\n\n const legacyBitIds = BitIds.fromArray(bitIds);\n\n this.logger.debug(`tagging the following components: ${legacyBitIds.toString()}`);\n Analytics.addBreadCrumb('tag', `tagging the following components: ${Analytics.hashData(legacyBitIds)}`);\n if (!soft) {\n await this.workspace.consumer.componentFsCache.deleteAllDependenciesDataCache();\n }\n const components = await this.loadComponentsForTag(legacyBitIds);\n await this.throwForLegacyDependenciesInsideHarmony(components);\n await this.throwForComponentIssues(components, ignoreIssues);\n const areComponentsMissingFromScope = components.some((c) => !c.componentFromModel && c.id.hasScope());\n if (areComponentsMissingFromScope) {\n throw new ComponentsPendingImport();\n }\n\n const { taggedComponents, autoTaggedResults, publishedPackages } = await tagModelComponent({\n consumerComponents: components,\n ids: legacyBitIds,\n scope: this.workspace.scope.legacyScope,\n message,\n editor,\n exactVersion: validExactVersion,\n releaseType,\n preReleaseId,\n consumer: this.workspace.consumer,\n ignoreNewestVersion,\n skipTests,\n skipAutoTag,\n soft,\n build,\n persist,\n resolveUnmerged: false,\n disableTagAndSnapPipelines,\n forceDeploy,\n incrementBy,\n packageManagerConfigRootDir: this.workspace.path,\n });\n\n const tagResults = { taggedComponents, autoTaggedResults, isSoftTag: soft, publishedPackages };\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n tagResults.warnings = warnings;\n\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n tagResults.newComponents = newComponents;\n const postHook = isAll ? POST_TAG_ALL_HOOK : POST_TAG_HOOK;\n HooksManagerInstance?.triggerHook(postHook, tagResults);\n Analytics.setExtraData(\n 'num_components',\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n R.concat(tagResults.taggedComponents, tagResults.autoTaggedResults, tagResults.newComponents).length\n );\n await consumer.onDestroy();\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n return tagResults;\n }\n\n /**\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 id, // @todo: rename to \"patterns\"\n legacyBitIds, // @todo: change to ComponentID[]. pass only if have the ids already parsed.\n resolveUnmerged = false,\n message = '',\n ignoreIssues,\n skipTests = false,\n skipAutoSnap = false,\n build,\n disableTagAndSnapPipelines = false,\n forceDeploy = false,\n unmodified = false,\n }: {\n id?: string;\n legacyBitIds?: BitIds;\n resolveUnmerged?: boolean;\n message?: string;\n ignoreIssues?: string;\n build: boolean;\n skipTests?: boolean;\n skipAutoSnap?: boolean;\n disableTagAndSnapPipelines?: boolean;\n forceDeploy?: boolean;\n unmodified?: boolean;\n }): Promise<SnapResults | null> {\n if (!this.workspace) throw new ConsumerNotFound();\n if (id && legacyBitIds) throw new Error(`please pass either id or legacyBitIds, not both`);\n const consumer: Consumer = this.workspace.consumer;\n const componentsList = new ComponentsList(consumer);\n const newComponents = (await componentsList.listNewComponents()) as BitIds;\n const ids = legacyBitIds || (await getIdsToSnap());\n if (!ids) return null;\n this.logger.debug(`snapping the following components: ${ids.toString()}`);\n await this.workspace.consumer.componentFsCache.deleteAllDependenciesDataCache();\n const components = await this.loadComponentsForTag(ids);\n await this.throwForLegacyDependenciesInsideHarmony(components);\n await this.throwForComponentIssues(components, ignoreIssues);\n const areComponentsMissingFromScope = components.some((c) => !c.componentFromModel && c.id.hasScope());\n if (areComponentsMissingFromScope) {\n throw new ComponentsPendingImport();\n }\n\n const { taggedComponents, autoTaggedResults } = await tagModelComponent({\n consumerComponents: components,\n ids,\n ignoreNewestVersion: false,\n scope: this.workspace.scope.legacyScope,\n message,\n consumer: this.workspace.consumer,\n skipTests,\n skipAutoTag: skipAutoSnap,\n persist: true,\n soft: false,\n build,\n resolveUnmerged,\n isSnap: true,\n disableTagAndSnapPipelines,\n forceDeploy,\n packageManagerConfigRootDir: this.workspace.path,\n });\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n const snapResults: SnapResults = { snappedComponents: taggedComponents, autoSnappedResults: autoTaggedResults };\n\n snapResults.newComponents = newComponents;\n const currentLane = consumer.getCurrentLaneId();\n snapResults.laneName = currentLane.isDefault() ? null : currentLane.name;\n await consumer.onDestroy();\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n return snapResults;\n\n async function getIdsToSnap(): Promise<BitIds | null> {\n const idHasWildcard = id && hasWildcard(id);\n if (id && !idHasWildcard) {\n const bitId = consumer.getParsedId(id);\n if (!unmodified) {\n const componentStatus = await consumer.getComponentStatusById(bitId);\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n if (componentStatus.modified === false) return null;\n }\n return new BitIds(bitId);\n }\n const tagPendingComponents = unmodified\n ? await componentsList.listPotentialTagAllWorkspace()\n : await componentsList.listTagPendingComponents();\n if (R.isEmpty(tagPendingComponents)) return null;\n const bitIds = idHasWildcard\n ? ComponentsList.filterComponentsByWildcard(tagPendingComponents, id)\n : tagPendingComponents;\n return BitIds.fromArray(bitIds);\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 version?: string,\n force = false,\n soft = false\n ): Promise<{ results: untagResult[]; isSoftUntag: boolean }> {\n if (!this.workspace) throw new ConsumerNotFound();\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, version, force);\n }\n const candidateComponents = await getComponentsWithOptionToUntag(consumer, version);\n const idsMatchingPattern = await this.workspace.idsByPattern(componentPattern);\n const idsMatchingPatternBitIds = BitIds.fromArray(idsMatchingPattern.map((id) => id._legacy));\n const componentsToUntag = candidateComponents.filter((modelComponent) =>\n idsMatchingPatternBitIds.hasWithoutVersion(modelComponent.toBitId())\n );\n return removeLocalVersionsForMultipleComponents(componentsToUntag, currentLane, version, force, consumer.scope);\n };\n const softUntag = async () => {\n const componentsList = new ComponentsList(consumer);\n const softTaggedComponents = componentsList.listSoftTaggedComponents();\n const softTaggedComponentsIds = await this.workspace.resolveMultipleComponentIds(softTaggedComponents);\n const idsToRemoveSoftTags = componentPattern\n ? this.workspace.scope.filterIdsFromPoolIdsByPattern(componentPattern, softTaggedComponentsIds)\n : softTaggedComponentsIds;\n return compact(\n idsToRemoveSoftTags.map((componentId) => {\n const componentMap = consumer.bitMap.getComponent(componentId._legacy, { ignoreScopeAndVersion: true });\n const removedVersion = componentMap.nextVersion?.version;\n if (!removedVersion) return null;\n componentMap.clearNextVersion();\n return { id: componentId._legacy, versions: [removedVersion] };\n })\n );\n };\n let results: untagResult[];\n const isRealUntag = !soft;\n if (isRealUntag) {\n results = await untag();\n await consumer.scope.objects.persist();\n const components = results.map((result) => result.component);\n await consumer.updateComponentsVersions(components as ModelComponent[]);\n } else {\n results = await softUntag();\n consumer.bitMap.markAsChanged();\n }\n\n await consumer.onDestroy();\n return { results, isSoftUntag: !isRealUntag };\n }\n\n private async loadComponentsForTag(ids: BitIds): Promise<ConsumerComponent[]> {\n const { components } = await this.workspace.consumer.loadComponents(ids.toVersionLatest());\n components.forEach((component) => {\n const componentMap = component.componentMap as ComponentMap;\n if (!componentMap.rootDir) {\n throw new Error(`unable to tag ${component.id.toString()}, the \"rootDir\" is missing in the .bitmap file`);\n }\n });\n return components;\n }\n\n private async throwForComponentIssues(legacyComponents: ConsumerComponent[], ignoreIssues?: string) {\n if (ignoreIssues === '*') {\n // ignore all issues\n return;\n }\n const issuesToIgnoreFromFlag = ignoreIssues?.split(',').map((issue) => issue.trim()) || [];\n const issuesToIgnoreFromConfig = this.issues.getIssuesToIgnoreGlobally();\n const issuesToIgnore = [...issuesToIgnoreFromFlag, ...issuesToIgnoreFromConfig];\n const components = await this.workspace.getManyByLegacy(legacyComponents);\n if (!issuesToIgnore.includes(IssuesClasses.CircularDependencies.name)) {\n await this.insights.addInsightsAsComponentIssues(components);\n }\n this.issues.removeIgnoredIssuesFromComponents(components);\n\n const componentsWithBlockingIssues = legacyComponents.filter((component) => component.issues?.shouldBlockTagging());\n if (!R.isEmpty(componentsWithBlockingIssues)) {\n throw new ComponentsHaveIssues(componentsWithBlockingIssues);\n }\n }\n\n private 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 private async getComponentsToTag(\n includeUnmodified: boolean,\n exactVersion: string | undefined,\n persist: boolean,\n ids: string[],\n snapped: boolean\n ): Promise<{ bitIds: BitId[]; warnings: string[] }> {\n const warnings: string[] = [];\n const componentsList = new ComponentsList(this.workspace.consumer);\n if (persist) {\n const softTaggedComponents = componentsList.listSoftTaggedComponents();\n return { bitIds: softTaggedComponents, warnings: [] };\n }\n\n const tagPendingBitIds = includeUnmodified\n ? await componentsList.listPotentialTagAllWorkspace()\n : await componentsList.listTagPendingComponents();\n\n const tagPendingComponentsIds = await this.workspace.resolveMultipleComponentIds(tagPendingBitIds);\n\n const snappedComponents = await componentsList.listSnappedComponentsOnMain();\n const snappedComponentsIds = snappedComponents.map((c) => c.toBitId());\n\n if (ids.length) {\n const componentIds = await pMapSeries(ids, async (id) => {\n const [idWithoutVer, version] = id.split('@');\n const idHasWildcard = hasWildcard(id);\n if (idHasWildcard) {\n const allIds = this.workspace.scope.filterIdsFromPoolIdsByPattern(idWithoutVer, tagPendingComponentsIds);\n return allIds.map((componentId) => componentId.changeVersion(version));\n }\n const componentId = await this.workspace.resolveComponentId(idWithoutVer);\n if (!includeUnmodified) {\n const componentStatus = await this.workspace.consumer.getComponentStatusById(componentId._legacy);\n if (componentStatus.modified === false) return null;\n }\n return componentId.changeVersion(version);\n });\n\n return { bitIds: compact(componentIds.flat()).map((bitId) => bitId._legacy), warnings };\n }\n\n if (snapped) {\n return { bitIds: snappedComponentsIds, warnings };\n }\n\n tagPendingBitIds.push(...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: tagPendingBitIds.map((id) => id.changeVersion(undefined)), warnings };\n }\n\n static slots = [];\n static dependencies = [WorkspaceAspect, CLIAspect, CommunityAspect, LoggerAspect, IssuesAspect, InsightsAspect];\n static runtime = MainRuntime;\n static async provider([workspace, cli, community, loggerMain, issues, insights]: [\n Workspace,\n CLIMain,\n CommunityMain,\n LoggerMain,\n IssuesMain,\n InsightsMain\n ]) {\n const logger = loggerMain.createLogger(SnappingAspect.id);\n const snapping = new SnappingMain(workspace, logger, issues, insights);\n const snapCmd = new SnapCmd(community.getBaseDomain(), snapping, logger);\n const tagCmd = new TagCmd(community.getBaseDomain(), snapping, logger);\n const resetCmd = new ResetCmd(snapping);\n cli.register(tagCmd, snapCmd, resetCmd);\n return snapping;\n }\n}\n\nSnappingAspect.addRuntime(SnappingMain);\n\nexport default SnappingMain;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAGA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAOA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EA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"}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/snapping",
3
- "version": "0.0.98",
3
+ "version": "0.0.101",
4
4
  "homepage": "https://bit.dev/teambit/component/snapping",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.component",
8
8
  "name": "snapping",
9
- "version": "0.0.98"
9
+ "version": "0.0.101"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "2.4.2",
@@ -19,13 +19,13 @@
19
19
  "core-js": "^3.0.0",
20
20
  "@teambit/harmony": "0.3.3",
21
21
  "@teambit/bit-error": "0.0.394",
22
- "@teambit/issues": "0.0.91",
23
- "@teambit/cli": "0.0.518",
24
- "@teambit/component-issues": "0.0.56",
25
- "@teambit/logger": "0.0.611",
26
- "@teambit/community": "0.0.66",
27
- "@teambit/insights": "0.0.783",
28
- "@teambit/workspace": "0.0.783"
22
+ "@teambit/issues": "0.0.94",
23
+ "@teambit/cli": "0.0.519",
24
+ "@teambit/component-issues": "0.0.57",
25
+ "@teambit/logger": "0.0.612",
26
+ "@teambit/community": "0.0.67",
27
+ "@teambit/insights": "0.0.786",
28
+ "@teambit/workspace": "0.0.786"
29
29
  },
30
30
  "devDependencies": {
31
31
  "@types/lodash": "4.14.165",
@@ -38,46 +38,17 @@
38
38
  "@types/react-dom": "^17.0.5",
39
39
  "@types/react": "^17.0.8",
40
40
  "@types/node": "12.20.4",
41
- "@teambit/compiler": "0.0.783",
42
- "@teambit/component.testing.mock-components": "0.0.6",
43
- "@teambit/harmony.testing.load-aspect": "0.0.6",
41
+ "@teambit/compiler": "0.0.786",
42
+ "@teambit/component.testing.mock-components": "0.0.7",
43
+ "@teambit/harmony.testing.load-aspect": "0.0.7",
44
44
  "@teambit/workspace.testing.mock-workspace": "0.0.5"
45
45
  },
46
46
  "peerDependencies": {
47
- "@teambit/legacy": "1.0.299",
47
+ "@teambit/legacy": "1.0.300",
48
48
  "react-dom": "^16.8.0 || ^17.0.0",
49
49
  "react": "^16.8.0 || ^17.0.0"
50
50
  },
51
51
  "license": "Apache-2.0",
52
- "bit": {
53
- "bindingPrefix": "@teambit",
54
- "env": {},
55
- "overrides": {
56
- "dependencies": {
57
- "@teambit/legacy": "-",
58
- "@babel/runtime": "7.12.18",
59
- "core-js": "^3.0.0",
60
- "react-dom": "-",
61
- "react": "-"
62
- },
63
- "devDependencies": {
64
- "@teambit/legacy": "-",
65
- "@types/mocha": "9.1.0",
66
- "@types/testing-library__jest-dom": "5.9.5",
67
- "@types/jest": "^26.0.0",
68
- "@types/react-dom": "^17.0.5",
69
- "@types/react": "^17.0.8",
70
- "@types/node": "12.20.4",
71
- "react-dom": "-",
72
- "react": "-"
73
- },
74
- "peerDependencies": {
75
- "@teambit/legacy": "1.0.299",
76
- "react-dom": "^16.8.0 || ^17.0.0",
77
- "react": "^16.8.0 || ^17.0.0"
78
- }
79
- }
80
- },
81
52
  "private": false,
82
53
  "engines": {
83
54
  "node": ">=12.22.0"