@teambit/snapping 1.0.511 → 1.0.512
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/artifacts/__bit_junit.xml +6 -6
- package/dist/flattened-edges.d.ts +1 -1
- package/dist/flattened-edges.js.map +1 -1
- package/dist/get-flattened-dependencies.d.ts +1 -1
- package/dist/get-flattened-dependencies.js.map +1 -1
- package/dist/reset-component.d.ts +1 -1
- package/dist/reset-component.js.map +1 -1
- package/dist/snapping.main.runtime.d.ts +1 -1
- package/dist/snapping.main.runtime.js +7 -7
- package/dist/snapping.main.runtime.js.map +1 -1
- package/dist/snapping.spec.js +5 -5
- package/dist/snapping.spec.js.map +1 -1
- package/dist/tag-model-component.d.ts +1 -1
- package/dist/tag-model-component.js +4 -4
- package/dist/tag-model-component.js.map +1 -1
- package/package.json +36 -36
- /package/dist/{preview-1736711473672.js → preview-1736824735631.js} +0 -0
package/dist/snapping.spec.js
CHANGED
|
@@ -63,9 +63,9 @@ function _compiler() {
|
|
|
63
63
|
};
|
|
64
64
|
return data;
|
|
65
65
|
}
|
|
66
|
-
function
|
|
67
|
-
const data = require("@teambit/
|
|
68
|
-
|
|
66
|
+
function _objects() {
|
|
67
|
+
const data = require("@teambit/objects");
|
|
68
|
+
_objects = function () {
|
|
69
69
|
return data;
|
|
70
70
|
};
|
|
71
71
|
return data;
|
|
@@ -172,7 +172,7 @@ describe('Snapping aspect', function () {
|
|
|
172
172
|
it('should add the new dev dep', async () => {
|
|
173
173
|
const snapHash = snappedId.version;
|
|
174
174
|
const scope = harmonyBareScope.get(_scope().ScopeAspect.id);
|
|
175
|
-
const versionObj = await scope.legacyScope.objects.load(
|
|
175
|
+
const versionObj = await scope.legacyScope.objects.load(_objects().Ref.from(snapHash));
|
|
176
176
|
const devPackages = Object.keys(versionObj.devPackageDependencies);
|
|
177
177
|
(0, _chai().expect)(devPackages).to.include('lodash');
|
|
178
178
|
|
|
@@ -218,7 +218,7 @@ describe('Snapping aspect', function () {
|
|
|
218
218
|
it('should remove the specified dependency', async () => {
|
|
219
219
|
const snapHash = snappedId.version;
|
|
220
220
|
const scope = harmonyBareScope.get(_scope().ScopeAspect.id);
|
|
221
|
-
const versionObj = await scope.legacyScope.objects.load(
|
|
221
|
+
const versionObj = await scope.legacyScope.objects.load(_objects().Ref.from(snapHash));
|
|
222
222
|
(0, _chai().expect)(versionObj.dependencies.get()).to.have.lengthOf(0);
|
|
223
223
|
});
|
|
224
224
|
after(async () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_chai","data","require","_fsExtra","_interopRequireDefault","_path","_harmonyTesting","_workspaceTesting","_issues","_scope","_export","_compiler","_scope2","_componentTesting","_snapping","_workspace","e","__esModule","default","describe","timeout","workspaceData","snapping","before","mockWorkspace","workspacePath","console","log","mockComponents","fs","writeFile","path","join","compiler","loadAspect","CompilerAspect","compileOnWorkspace","SnappingAspect","it","tag","ids","err","expect","constructor","name","to","equal","skip","setWorkspaceConfig","IssuesAspect","id","ignoreIssues","results","taggedComponents","length","after","destroyWorkspace","snappedId","harmonyBareScope","harmony","loadManyAspects","ExportAspect","get","snap","pattern","build","message","exportMain","export","bareScope","mockBareScope","remoteScopePath","ScopeAspect","scopePath","snappingScope","snapDataPerComp","componentId","remoteScopeName","newDependencies","version","isComponent","type","snapFromScope","snappedIds","snapHash","scope","versionObj","legacyScope","objects","load","Ref","from","devPackages","Object","keys","devPackageDependencies","include","numOfComponents","removeDependencies","dependencies","have","lengthOf","workspace","WorkspaceAspect","comp1Id","idsByPattern","setLocalOnly","list","listLocalOnly","toString","tagResults","taggedNames","map","c","not","unmodified","snappedComponents","autoTaggedResults","component","comp2Id","fail"],"sources":["snapping.spec.ts"],"sourcesContent":["import { expect } from 'chai';\nimport fs from 'fs-extra';\nimport path from 'path';\nimport { Harmony } from '@teambit/harmony';\nimport { loadAspect, loadManyAspects } from '@teambit/harmony.testing.load-aspect';\nimport {\n mockWorkspace,\n mockBareScope,\n destroyWorkspace,\n WorkspaceData,\n setWorkspaceConfig,\n} from '@teambit/workspace.testing.mock-workspace';\nimport { IssuesAspect } from '@teambit/issues';\nimport { ScopeAspect, ScopeMain } from '@teambit/scope';\nimport { ExportAspect, ExportMain } from '@teambit/export';\nimport { CompilerAspect, CompilerMain } from '@teambit/compiler';\nimport { ComponentID } from '@teambit/component-id';\nimport { Ref, Version } from '@teambit/scope.objects';\nimport { mockComponents } from '@teambit/component.testing.mock-components';\nimport { SnappingMain } from './snapping.main.runtime';\nimport { SnappingAspect } from './snapping.aspect';\nimport { SnapDataPerCompRaw } from './snap-from-scope.cmd';\nimport { WorkspaceAspect, Workspace } from '@teambit/workspace';\n\ndescribe('Snapping aspect', function () {\n this.timeout(0);\n\n describe('components with issues', () => {\n let workspaceData: WorkspaceData;\n let snapping: SnappingMain;\n before(async () => {\n workspaceData = mockWorkspace();\n const { workspacePath } = workspaceData;\n // eslint-disable-next-line no-console\n console.log('workspace created at ', workspacePath);\n await mockComponents(workspacePath);\n await fs.writeFile(path.join(workspacePath, 'comp1/index.js'), `const nonExist = require(\"non-exist\");`);\n const compiler: CompilerMain = await loadAspect(CompilerAspect, workspacePath);\n await compiler.compileOnWorkspace();\n snapping = await loadAspect(SnappingAspect, workspacePath);\n });\n it('tag should throw an ComponentsHaveIssues error', async () => {\n try {\n await snapping.tag({ ids: ['comp1'] });\n } catch (err: any) {\n expect(err.constructor.name).to.equal('ComponentsHaveIssues');\n }\n });\n // @todo: this test fails during \"bit build\" for some reason. It passes on \"bit test\";\n it.skip('should not throw an error if the config was set to ignore MissingPackagesDependenciesOnFs error', async () => {\n await setWorkspaceConfig(workspaceData.workspacePath, IssuesAspect.id, {\n ignoreIssues: ['MissingPackagesDependenciesOnFs'],\n });\n snapping = await loadAspect(SnappingAspect, workspaceData.workspacePath);\n const results = await snapping.tag({ ids: ['comp1'] });\n expect(results?.taggedComponents.length).to.equal(1);\n });\n after(async () => {\n await destroyWorkspace(workspaceData);\n });\n });\n describe('snap from scope an existing component with newDependencies prop populated', () => {\n let workspaceData: WorkspaceData;\n let snappedId: ComponentID;\n let harmonyBareScope: Harmony;\n before(async () => {\n workspaceData = mockWorkspace();\n const { workspacePath } = workspaceData;\n await mockComponents(workspacePath);\n const harmony = await loadManyAspects([SnappingAspect, ExportAspect], workspacePath);\n const snapping = harmony.get<SnappingMain>(SnappingAspect.id);\n await snapping.snap({ pattern: 'comp1', build: false, message: 'first snap' });\n const exportMain = harmony.get<ExportMain>(ExportAspect.id);\n await exportMain.export();\n\n const bareScope = mockBareScope(workspaceData.remoteScopePath, 'bare-for-snap');\n harmonyBareScope = await loadManyAspects([SnappingAspect, ScopeAspect], bareScope.scopePath);\n const snappingScope = harmonyBareScope.get<SnappingMain>(SnappingAspect.id);\n const snapDataPerComp: SnapDataPerCompRaw[] = [\n {\n componentId: `${workspaceData.remoteScopeName}/comp1`,\n message: 'snap from scope',\n newDependencies: [\n {\n id: 'lodash',\n version: '4.1.2',\n isComponent: false,\n type: 'dev',\n },\n ],\n },\n ];\n const results = await snappingScope.snapFromScope(snapDataPerComp, {});\n\n snappedId = results.snappedIds[0];\n });\n it('should add the new dev dep', async () => {\n const snapHash = snappedId.version;\n const scope = harmonyBareScope.get<ScopeMain>(ScopeAspect.id);\n const versionObj = (await scope.legacyScope.objects.load(Ref.from(snapHash))) as Version;\n const devPackages = Object.keys(versionObj.devPackageDependencies);\n expect(devPackages).to.include('lodash');\n\n // also, it should not delete other dev-deps that were there before.\n expect(devPackages).to.include('@types/node');\n });\n after(async () => {\n await destroyWorkspace(workspaceData);\n });\n });\n describe('snap from scope - remove existing dependency', () => {\n let workspaceData: WorkspaceData;\n let snappedId: ComponentID;\n let harmonyBareScope: Harmony;\n before(async () => {\n workspaceData = mockWorkspace();\n const { workspacePath } = workspaceData;\n await mockComponents(workspacePath, { numOfComponents: 2 });\n const harmony = await loadManyAspects([SnappingAspect, ExportAspect], workspacePath);\n const snapping = harmony.get<SnappingMain>(SnappingAspect.id);\n await snapping.snap({ build: false, message: 'first snap' });\n const exportMain = harmony.get<ExportMain>(ExportAspect.id);\n await exportMain.export();\n\n const bareScope = mockBareScope(workspaceData.remoteScopePath, 'bare-for-snap');\n harmonyBareScope = await loadManyAspects([SnappingAspect, ScopeAspect], bareScope.scopePath);\n const snappingScope = harmonyBareScope.get<SnappingMain>(SnappingAspect.id);\n const snapDataPerComp: SnapDataPerCompRaw[] = [\n {\n componentId: `${workspaceData.remoteScopeName}/comp1`,\n message: 'snap from scope',\n removeDependencies: [`${workspaceData.remoteScopeName}/comp2`],\n },\n ];\n // console.log('snapDataPerComp', JSON.stringify(snapDataPerComp));\n const results = await snappingScope.snapFromScope(snapDataPerComp, {});\n\n snappedId = results.snappedIds[0];\n });\n it('should remove the specified dependency', async () => {\n const snapHash = snappedId.version;\n const scope = harmonyBareScope.get<ScopeMain>(ScopeAspect.id);\n const versionObj = (await scope.legacyScope.objects.load(Ref.from(snapHash))) as Version;\n expect(versionObj.dependencies.get()).to.have.lengthOf(0);\n });\n after(async () => {\n await destroyWorkspace(workspaceData);\n });\n });\n describe('local-only', () => {\n let harmony: Harmony;\n let workspace: Workspace;\n let workspaceData: WorkspaceData;\n before(async () => {\n workspaceData = mockWorkspace();\n const { workspacePath } = workspaceData;\n await mockComponents(workspacePath, { numOfComponents: 3 });\n harmony = await loadManyAspects([WorkspaceAspect, SnappingAspect], workspacePath);\n workspace = harmony.get<Workspace>(WorkspaceAspect.id);\n const comp1Id = await workspace.idsByPattern('comp1');\n await workspace.setLocalOnly(comp1Id);\n });\n after(async () => {\n await destroyWorkspace(workspaceData);\n });\n it('should be able to list it', async () => {\n const list = workspace.listLocalOnly();\n expect(list).to.have.lengthOf(1);\n expect(list[0].toString()).to.include('comp1');\n });\n it('should be ignored by tag command', async () => {\n const snapping = harmony.get<SnappingMain>(SnappingAspect.id);\n const tagResults = await snapping.tag({});\n expect(tagResults?.taggedComponents).to.have.lengthOf(2);\n const taggedNames = tagResults?.taggedComponents.map((c) => c.name);\n expect(taggedNames).to.not.include('comp1');\n });\n it('should be ignored by snap command', async () => {\n const snapping = harmony.get<SnappingMain>(SnappingAspect.id);\n const tagResults = await snapping.snap({ unmodified: true });\n expect(tagResults?.snappedComponents).to.have.lengthOf(2);\n const taggedNames = tagResults?.snappedComponents.map((c) => c.name);\n expect(taggedNames).to.not.include('comp1');\n });\n it('should be ignored when it is an auto-tag candidate', async () => {\n const snapping = harmony.get<SnappingMain>(SnappingAspect.id);\n await snapping.tag({ unmodified: true });\n const tagResults = await snapping.tag({ ids: ['comp3'], unmodified: true });\n expect(tagResults?.autoTaggedResults).to.have.lengthOf(1); // only comp3 should be auto-tagged\n const taggedNames = tagResults?.autoTaggedResults.map((c) => c.component.name);\n expect(taggedNames).to.not.include('comp1');\n });\n it('should block setting local-only when a component is staged', async () => {\n const snapping = harmony.get<SnappingMain>(SnappingAspect.id);\n await snapping.tag({ unmodified: true });\n const comp2Id = await workspace.idsByPattern('comp2');\n try {\n await workspace.setLocalOnly(comp2Id);\n expect.fail('should have thrown an error');\n } catch (err: any) {\n expect(err.message).to.include('unable to set the following component(s) as local-only');\n }\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_chai","data","require","_fsExtra","_interopRequireDefault","_path","_harmonyTesting","_workspaceTesting","_issues","_scope","_export","_compiler","_objects","_componentTesting","_snapping","_workspace","e","__esModule","default","describe","timeout","workspaceData","snapping","before","mockWorkspace","workspacePath","console","log","mockComponents","fs","writeFile","path","join","compiler","loadAspect","CompilerAspect","compileOnWorkspace","SnappingAspect","it","tag","ids","err","expect","constructor","name","to","equal","skip","setWorkspaceConfig","IssuesAspect","id","ignoreIssues","results","taggedComponents","length","after","destroyWorkspace","snappedId","harmonyBareScope","harmony","loadManyAspects","ExportAspect","get","snap","pattern","build","message","exportMain","export","bareScope","mockBareScope","remoteScopePath","ScopeAspect","scopePath","snappingScope","snapDataPerComp","componentId","remoteScopeName","newDependencies","version","isComponent","type","snapFromScope","snappedIds","snapHash","scope","versionObj","legacyScope","objects","load","Ref","from","devPackages","Object","keys","devPackageDependencies","include","numOfComponents","removeDependencies","dependencies","have","lengthOf","workspace","WorkspaceAspect","comp1Id","idsByPattern","setLocalOnly","list","listLocalOnly","toString","tagResults","taggedNames","map","c","not","unmodified","snappedComponents","autoTaggedResults","component","comp2Id","fail"],"sources":["snapping.spec.ts"],"sourcesContent":["import { expect } from 'chai';\nimport fs from 'fs-extra';\nimport path from 'path';\nimport { Harmony } from '@teambit/harmony';\nimport { loadAspect, loadManyAspects } from '@teambit/harmony.testing.load-aspect';\nimport {\n mockWorkspace,\n mockBareScope,\n destroyWorkspace,\n WorkspaceData,\n setWorkspaceConfig,\n} from '@teambit/workspace.testing.mock-workspace';\nimport { IssuesAspect } from '@teambit/issues';\nimport { ScopeAspect, ScopeMain } from '@teambit/scope';\nimport { ExportAspect, ExportMain } from '@teambit/export';\nimport { CompilerAspect, CompilerMain } from '@teambit/compiler';\nimport { ComponentID } from '@teambit/component-id';\nimport { Ref, Version } from '@teambit/objects';\nimport { mockComponents } from '@teambit/component.testing.mock-components';\nimport { SnappingMain } from './snapping.main.runtime';\nimport { SnappingAspect } from './snapping.aspect';\nimport { SnapDataPerCompRaw } from './snap-from-scope.cmd';\nimport { WorkspaceAspect, Workspace } from '@teambit/workspace';\n\ndescribe('Snapping aspect', function () {\n this.timeout(0);\n\n describe('components with issues', () => {\n let workspaceData: WorkspaceData;\n let snapping: SnappingMain;\n before(async () => {\n workspaceData = mockWorkspace();\n const { workspacePath } = workspaceData;\n // eslint-disable-next-line no-console\n console.log('workspace created at ', workspacePath);\n await mockComponents(workspacePath);\n await fs.writeFile(path.join(workspacePath, 'comp1/index.js'), `const nonExist = require(\"non-exist\");`);\n const compiler: CompilerMain = await loadAspect(CompilerAspect, workspacePath);\n await compiler.compileOnWorkspace();\n snapping = await loadAspect(SnappingAspect, workspacePath);\n });\n it('tag should throw an ComponentsHaveIssues error', async () => {\n try {\n await snapping.tag({ ids: ['comp1'] });\n } catch (err: any) {\n expect(err.constructor.name).to.equal('ComponentsHaveIssues');\n }\n });\n // @todo: this test fails during \"bit build\" for some reason. It passes on \"bit test\";\n it.skip('should not throw an error if the config was set to ignore MissingPackagesDependenciesOnFs error', async () => {\n await setWorkspaceConfig(workspaceData.workspacePath, IssuesAspect.id, {\n ignoreIssues: ['MissingPackagesDependenciesOnFs'],\n });\n snapping = await loadAspect(SnappingAspect, workspaceData.workspacePath);\n const results = await snapping.tag({ ids: ['comp1'] });\n expect(results?.taggedComponents.length).to.equal(1);\n });\n after(async () => {\n await destroyWorkspace(workspaceData);\n });\n });\n describe('snap from scope an existing component with newDependencies prop populated', () => {\n let workspaceData: WorkspaceData;\n let snappedId: ComponentID;\n let harmonyBareScope: Harmony;\n before(async () => {\n workspaceData = mockWorkspace();\n const { workspacePath } = workspaceData;\n await mockComponents(workspacePath);\n const harmony = await loadManyAspects([SnappingAspect, ExportAspect], workspacePath);\n const snapping = harmony.get<SnappingMain>(SnappingAspect.id);\n await snapping.snap({ pattern: 'comp1', build: false, message: 'first snap' });\n const exportMain = harmony.get<ExportMain>(ExportAspect.id);\n await exportMain.export();\n\n const bareScope = mockBareScope(workspaceData.remoteScopePath, 'bare-for-snap');\n harmonyBareScope = await loadManyAspects([SnappingAspect, ScopeAspect], bareScope.scopePath);\n const snappingScope = harmonyBareScope.get<SnappingMain>(SnappingAspect.id);\n const snapDataPerComp: SnapDataPerCompRaw[] = [\n {\n componentId: `${workspaceData.remoteScopeName}/comp1`,\n message: 'snap from scope',\n newDependencies: [\n {\n id: 'lodash',\n version: '4.1.2',\n isComponent: false,\n type: 'dev',\n },\n ],\n },\n ];\n const results = await snappingScope.snapFromScope(snapDataPerComp, {});\n\n snappedId = results.snappedIds[0];\n });\n it('should add the new dev dep', async () => {\n const snapHash = snappedId.version;\n const scope = harmonyBareScope.get<ScopeMain>(ScopeAspect.id);\n const versionObj = (await scope.legacyScope.objects.load(Ref.from(snapHash))) as Version;\n const devPackages = Object.keys(versionObj.devPackageDependencies);\n expect(devPackages).to.include('lodash');\n\n // also, it should not delete other dev-deps that were there before.\n expect(devPackages).to.include('@types/node');\n });\n after(async () => {\n await destroyWorkspace(workspaceData);\n });\n });\n describe('snap from scope - remove existing dependency', () => {\n let workspaceData: WorkspaceData;\n let snappedId: ComponentID;\n let harmonyBareScope: Harmony;\n before(async () => {\n workspaceData = mockWorkspace();\n const { workspacePath } = workspaceData;\n await mockComponents(workspacePath, { numOfComponents: 2 });\n const harmony = await loadManyAspects([SnappingAspect, ExportAspect], workspacePath);\n const snapping = harmony.get<SnappingMain>(SnappingAspect.id);\n await snapping.snap({ build: false, message: 'first snap' });\n const exportMain = harmony.get<ExportMain>(ExportAspect.id);\n await exportMain.export();\n\n const bareScope = mockBareScope(workspaceData.remoteScopePath, 'bare-for-snap');\n harmonyBareScope = await loadManyAspects([SnappingAspect, ScopeAspect], bareScope.scopePath);\n const snappingScope = harmonyBareScope.get<SnappingMain>(SnappingAspect.id);\n const snapDataPerComp: SnapDataPerCompRaw[] = [\n {\n componentId: `${workspaceData.remoteScopeName}/comp1`,\n message: 'snap from scope',\n removeDependencies: [`${workspaceData.remoteScopeName}/comp2`],\n },\n ];\n // console.log('snapDataPerComp', JSON.stringify(snapDataPerComp));\n const results = await snappingScope.snapFromScope(snapDataPerComp, {});\n\n snappedId = results.snappedIds[0];\n });\n it('should remove the specified dependency', async () => {\n const snapHash = snappedId.version;\n const scope = harmonyBareScope.get<ScopeMain>(ScopeAspect.id);\n const versionObj = (await scope.legacyScope.objects.load(Ref.from(snapHash))) as Version;\n expect(versionObj.dependencies.get()).to.have.lengthOf(0);\n });\n after(async () => {\n await destroyWorkspace(workspaceData);\n });\n });\n describe('local-only', () => {\n let harmony: Harmony;\n let workspace: Workspace;\n let workspaceData: WorkspaceData;\n before(async () => {\n workspaceData = mockWorkspace();\n const { workspacePath } = workspaceData;\n await mockComponents(workspacePath, { numOfComponents: 3 });\n harmony = await loadManyAspects([WorkspaceAspect, SnappingAspect], workspacePath);\n workspace = harmony.get<Workspace>(WorkspaceAspect.id);\n const comp1Id = await workspace.idsByPattern('comp1');\n await workspace.setLocalOnly(comp1Id);\n });\n after(async () => {\n await destroyWorkspace(workspaceData);\n });\n it('should be able to list it', async () => {\n const list = workspace.listLocalOnly();\n expect(list).to.have.lengthOf(1);\n expect(list[0].toString()).to.include('comp1');\n });\n it('should be ignored by tag command', async () => {\n const snapping = harmony.get<SnappingMain>(SnappingAspect.id);\n const tagResults = await snapping.tag({});\n expect(tagResults?.taggedComponents).to.have.lengthOf(2);\n const taggedNames = tagResults?.taggedComponents.map((c) => c.name);\n expect(taggedNames).to.not.include('comp1');\n });\n it('should be ignored by snap command', async () => {\n const snapping = harmony.get<SnappingMain>(SnappingAspect.id);\n const tagResults = await snapping.snap({ unmodified: true });\n expect(tagResults?.snappedComponents).to.have.lengthOf(2);\n const taggedNames = tagResults?.snappedComponents.map((c) => c.name);\n expect(taggedNames).to.not.include('comp1');\n });\n it('should be ignored when it is an auto-tag candidate', async () => {\n const snapping = harmony.get<SnappingMain>(SnappingAspect.id);\n await snapping.tag({ unmodified: true });\n const tagResults = await snapping.tag({ ids: ['comp3'], unmodified: true });\n expect(tagResults?.autoTaggedResults).to.have.lengthOf(1); // only comp3 should be auto-tagged\n const taggedNames = tagResults?.autoTaggedResults.map((c) => c.component.name);\n expect(taggedNames).to.not.include('comp1');\n });\n it('should block setting local-only when a component is staged', async () => {\n const snapping = harmony.get<SnappingMain>(SnappingAspect.id);\n await snapping.tag({ unmodified: true });\n const comp2Id = await workspace.idsByPattern('comp2');\n try {\n await workspace.setLocalOnly(comp2Id);\n expect.fail('should have thrown an error');\n } catch (err: any) {\n expect(err.message).to.include('unable to set the following component(s) as local-only');\n }\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,7 +2,7 @@ import { ReleaseType } from 'semver';
|
|
|
2
2
|
import { ComponentID, ComponentIdList } from '@teambit/component-id';
|
|
3
3
|
import { ConsumerComponent } from '@teambit/legacy.consumer-component';
|
|
4
4
|
import { Component } from '@teambit/component';
|
|
5
|
-
import { ModelComponent } from '@teambit/
|
|
5
|
+
import { ModelComponent } from '@teambit/objects';
|
|
6
6
|
import { StagedConfig } from '@teambit/scope';
|
|
7
7
|
import { Workspace, AutoTagResult } from '@teambit/workspace';
|
|
8
8
|
import { SnappingMain, TagDataPerComp } from './snapping.main.runtime';
|
|
@@ -103,9 +103,9 @@ function _toolboxCrypto() {
|
|
|
103
103
|
};
|
|
104
104
|
return data;
|
|
105
105
|
}
|
|
106
|
-
function
|
|
107
|
-
const data = require("@teambit/
|
|
108
|
-
|
|
106
|
+
function _objects() {
|
|
107
|
+
const data = require("@teambit/objects");
|
|
108
|
+
_objects = function () {
|
|
109
109
|
return data;
|
|
110
110
|
};
|
|
111
111
|
return data;
|
|
@@ -610,7 +610,7 @@ function replacePendingVersions(graph, resolvedVersions) {
|
|
|
610
610
|
} of resolvedVersions) {
|
|
611
611
|
s = s.replaceAll(`${name}@pending:`, `${name}@${version}`);
|
|
612
612
|
}
|
|
613
|
-
const updatedDependenciesGraph =
|
|
613
|
+
const updatedDependenciesGraph = _objects().DependenciesGraph.deserialize(s);
|
|
614
614
|
// This should never happen as we know at this point that the schema version is supported
|
|
615
615
|
if (updatedDependenciesGraph == null) {
|
|
616
616
|
throw new (_bitError().BitError)('Failed to deserialize dependencies graph in replacePendingVersions()');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_pMapSeries","data","_interopRequireDefault","require","_lodash","_uuid","_bitError","_componentId","_legacy","_legacy2","_workspaceModules","_legacy3","_remove","_legacy4","_pkgModules","_harmonyModules","_toolboxCrypto","_scope","_messagePerComponent","_toolboxPromise","_harmonyModules2","e","__esModule","default","updateDependenciesVersions","allComponentsToTag","dependencyResolver","componentsToTag","filter","c","isRemoved","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","snapping","consumerComponents","components","populateArtifactsFrom","populateArtifactsIgnorePkgJson","message","editor","ignoreNewestVersion","skipTests","skipTasks","skipAutoTag","build","isSnap","disableTagAndSnapPipelines","ignoreBuildErrors","rebuildDepsGraph","packageManagerConfigRootDir","copyLogFromPreviousSnap","exitOnFirstFailedTask","updateDependentsOnLane","setHeadAsParent","detachHead","overrideHead","workspace","builder","consumer","legacyScope","consumerComponentsIdsMap","consumerComponent","componentIdString","toString","Object","values","idsToTag","ComponentIdList","fromArray","idsToTriggerAutoTag","autoTagDataWithLocalOnly","getAutoTagInfo","localOnly","listLocalOnly","autoTagData","autoTagItem","autoTagComponents","autoTagComponentsFiltered","has","autoTag","messagesFromEditorFetcher","MessagePerComponentFetcher","getMessagePerId","getMessagesFromEditor","tmp","msg","messagePerId","isFeatureEnabled","DETACH_HEAD","throwForNewestVersion","logger","debugAndAddBreadCrumb","setCurrentSchema","addLogToComponents","unmergedComps","listComponentsDuringMerge","lane","getCurrentLaneObject","stagedConfig","getStagedConfig","updateNextVersionOnBitmap","_addFlattenedDependenciesToComponents","_addDependenciesGraphToComponents","throwForDepsFromAnotherLane","emptyBuilderData","addBuildStatus","BuildStatus","Pending","currentLane","getCurrentLaneId","mapSeries","results","_addCompToObjects","source","shouldValidateVersion","Boolean","addVersionOpts","addToUpdateDependentsInLane","getModelComponent","updateVersions","addedVersionStr","isNew","removeAllParents","stagedSnaps","write","publishedPackages","harmonyComps","onTagOpts","throwOnError","forceDeploy","skipTasksParsed","split","trim","seedersOnly","isolateOptions","builderOptions","componentsToBuild","length","reloadAspectsWithNewVersion","getManyByLegacy","builderDataMap","tagListener","buildResult","builderDataMapToLegacyOnTagResults","_updateComponentsByTagResult","packageIntegritiesByPublishedPackages","_getPublishedPackages","push","Array","from","keys","addIntegritiesToConsumerComponentsGraphs","Succeed","comp","enrichComp","updateHiddenProp","removedComponents","removeDeletedComponentsFromBitmap","msgStr","laneHistory","lanes","updateLaneHistory","objects","add","removeMergeConfigFromComponents","linkToNodeModulesByComponents","clearObjectsFromCache","taggedComponents","autoTaggedResults","newestVersionsP","componentFromModel","getModelComponentIfExist","BitError","listVersions","latest","getHeadRegardlessOfLaneAsTagOrHash","currentVersion","latestVersion","newestVersions","newestVersionsWithoutEmpty","compact","NewerVersionFound","_addIntegritiesToDependenciesGraph","addIntegritiesToDependenciesGraph","dependenciesGraph","resolvedVersions","selector","integrity","entries","index","indexOf","name","substring","pendingPkg","packages","get","resolution","replacePendingVersions","comps","removedComps","compBitIdsToRemove","deleteComponentsFiles","cleanFromBitMap","configMergeFile","getConflictMergeFile","compId","isNowSnapped","removeConflict","currentlyUnmerged","hasConflict","delete","clone","existingBuilder","findCoreExtension","Extensions","autoTagComps","messagePerComponent","basicLog","getBasicLog","getLog","msgFromEditor","item","currentLog","log","date","username","email","autoTagComp","defaultMsg","schema","CURRENT_SCHEMA","buildStatus","Skipped","isAvailableOnMain","isDefault","hasHead","versionToSetInBitmap","isTag","idLatest","toBitIdWithLatestVersionAllowNull","isOnBitmap","bitMap","getComponentIfExist","ignoreVersion","stagedData","getPerId","config","RemoveAspect","addFromComponentJson","componentMapObject","updateComponentId","availableOnMain","setOnLanesOnly","getComponent","resolveComponentId","compMapObj","toPlainObject","addComponentConfig","removeConfig","hash","getRef","addSnap","getConfigPerId","clearNextVersion","graph","s","serialize","replaceAll","updatedDependenciesGraph","DependenciesGraph","deserialize","pMapPool","versionObj","getBitObjectVersionById","hidden","addModifiedLog","concurrency"],"sources":["tag-model-component.ts"],"sourcesContent":["import mapSeries from 'p-map-series';\nimport { compact } from 'lodash';\nimport { ReleaseType } from 'semver';\nimport { v4 } from 'uuid';\nimport { BitError } from '@teambit/bit-error';\nimport { Scope } from '@teambit/legacy.scope';\nimport { ComponentID, ComponentIdList } from '@teambit/component-id';\nimport { BuildStatus, Extensions } from '@teambit/legacy.constants';\nimport { ConsumerComponent, CURRENT_SCHEMA } from '@teambit/legacy.consumer-component';\nimport { linkToNodeModulesByComponents } from '@teambit/workspace.modules.node-modules-linker';\nimport { NewerVersionFound } from '@teambit/legacy.consumer';\nimport { Component } from '@teambit/component';\nimport { RemoveAspect, deleteComponentsFiles } from '@teambit/remove';\nimport { logger } from '@teambit/legacy.logger';\nimport { getValidVersionOrReleaseType } from '@teambit/pkg.modules.semver-helper';\nimport { getBasicLog } from '@teambit/harmony.modules.get-basic-log';\nimport { sha1 } from '@teambit/toolbox.crypto.sha1';\nimport { OnTagOpts } from '@teambit/builder';\nimport { ModelComponent, Log, DependenciesGraph } from '@teambit/scope.objects';\nimport { MessagePerComponent, MessagePerComponentFetcher } from './message-per-component';\nimport { DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { ScopeMain, StagedConfig } from '@teambit/scope';\nimport { Workspace, AutoTagResult } from '@teambit/workspace';\nimport { pMapPool } from '@teambit/toolbox.promise.map-pool';\nimport { PackageIntegritiesByPublishedPackages, SnappingMain, TagDataPerComp } from './snapping.main.runtime';\nimport { LaneId } from '@teambit/lane-id';\nimport { DETACH_HEAD, isFeatureEnabled } from '@teambit/harmony.modules.feature-toggle';\n\nexport type onTagIdTransformer = (id: ComponentID) => ComponentID | null;\n\nexport type BasicTagSnapParams = {\n message: string;\n skipTests?: boolean;\n skipTasks?: string;\n build?: boolean;\n ignoreBuildErrors?: boolean;\n rebuildDepsGraph?: boolean;\n detachHead?: boolean;\n overrideHead?: 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 allComponentsToTag: ConsumerComponent[],\n dependencyResolver: DependencyResolverMain\n) {\n // filter out removed components.\n // if a component has a deleted-component as a dependency, it was probably running \"bit install <dep>\" with a version\n // from main. we want to keep it as the user requested. Otherwise, this changes the dependency version to the newly\n // snapped one unintentionally.\n const componentsToTag = allComponentsToTag.filter((c) => !c.isRemoved());\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\n// eslint-disable-next-line complexity\nexport async function tagModelComponent({\n snapping,\n consumerComponents,\n components,\n ids,\n tagDataPerComp,\n populateArtifactsFrom,\n populateArtifactsIgnorePkgJson,\n message,\n editor,\n exactVersion,\n releaseType,\n preReleaseId,\n ignoreNewestVersion = false,\n skipTests = false,\n skipTasks,\n skipAutoTag,\n soft,\n build,\n persist,\n isSnap = false,\n disableTagAndSnapPipelines,\n ignoreBuildErrors,\n rebuildDepsGraph,\n incrementBy,\n packageManagerConfigRootDir,\n copyLogFromPreviousSnap = false,\n exitOnFirstFailedTask = false,\n updateDependentsOnLane = false, // on lane, adds it into updateDependents prop\n setHeadAsParent, // kind of rebase. in case component is checked out to older version, ignore that version, use head\n detachHead,\n overrideHead,\n}: {\n snapping: SnappingMain;\n components: Component[];\n consumerComponents: ConsumerComponent[];\n ids: ComponentIdList;\n tagDataPerComp?: TagDataPerComp[];\n populateArtifactsFrom?: ComponentID[];\n populateArtifactsIgnorePkgJson?: boolean;\n copyLogFromPreviousSnap?: boolean;\n exactVersion?: string | null | undefined;\n releaseType?: ReleaseType;\n incrementBy?: number;\n isSnap?: boolean;\n packageManagerConfigRootDir?: string;\n exitOnFirstFailedTask?: boolean;\n updateDependentsOnLane?: boolean;\n setHeadAsParent?: boolean;\n} & BasicTagParams): Promise<{\n taggedComponents: ConsumerComponent[];\n autoTaggedResults: AutoTagResult[];\n publishedPackages: string[];\n stagedConfig?: StagedConfig;\n removedComponents?: ComponentIdList;\n}> {\n const workspace = snapping.workspace;\n const scope = snapping.scope;\n const builder = snapping.builder;\n const dependencyResolver = snapping.dependencyResolver;\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 autoTagDataWithLocalOnly =\n skipAutoTag || !consumer ? [] : await workspace.getAutoTagInfo(ComponentIdList.fromArray(idsToTriggerAutoTag));\n const localOnly = workspace?.listLocalOnly();\n const autoTagData = localOnly\n ? autoTagDataWithLocalOnly.filter((autoTagItem) => !localOnly.hasWithoutVersion(autoTagItem.component.id))\n : autoTagDataWithLocalOnly;\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 // TODO: once --detach-head is supported by the remote, deprecate --ignore-newest-version. and change this\n // throwForNewestVersion to suggest using --detach-head instead. also, it the error should not be limited\n // to tags and can be thrown for snaps as well.\n // once --ignore-newest-version is removed, no need for this condition. it's ok to not provide the override-head option.\n if (detachHead && !isFeatureEnabled(DETACH_HEAD)) {\n throw new Error('unable to detach head, the feature is not enabled');\n }\n if (ignoreNewestVersion && !detachHead) overrideHead = true;\n if (!ignoreNewestVersion && !isSnap) {\n await throwForNewestVersion(allComponentsToTag, legacyScope);\n }\n\n logger.debugAndAddBreadCrumb('tag-model-components', 'sequentially persist all components');\n setCurrentSchema(allComponentsToTag);\n\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 const stagedConfig = workspace ? await workspace.scope.getStagedConfig() : undefined;\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._addDependenciesGraphToComponents(components);\n await snapping.throwForDepsFromAnotherLane(allComponentsToTag);\n if (!build) emptyBuilderData(allComponentsToTag);\n addBuildStatus(allComponentsToTag, BuildStatus.Pending);\n\n const currentLane = consumer ? consumer.getCurrentLaneId() : undefined;\n await mapSeries(allComponentsToTag, async (component) => {\n const results = await snapping._addCompToObjects({\n source: component,\n lane,\n shouldValidateVersion: Boolean(build),\n addVersionOpts: {\n addToUpdateDependentsInLane: updateDependentsOnLane,\n setHeadAsParent,\n detachHead,\n overrideHead: overrideHead,\n },\n });\n if (workspace) {\n const modelComponent = component.modelComponent || (await legacyScope.getModelComponent(component.id));\n await updateVersions(workspace, stagedConfig!, currentLane!, modelComponent, results.addedVersionStr, true);\n } else {\n const tagData = tagDataPerComp?.find((t) => t.componentId.isEqualWithoutVersion(component.id));\n if (tagData?.isNew) results.version.removeAllParents();\n }\n });\n\n if (workspace) {\n await workspace.scope.legacyScope.stagedSnaps.write();\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 skipTasksParsed = skipTasks ? skipTasks.split(',').map((t) => t.trim()) : undefined;\n const seedersOnly = !workspace; // if tag from scope, build only the given components\n const isolateOptions = { packageManagerConfigRootDir, seedersOnly, populateArtifactsIgnorePkgJson };\n const builderOptions = { exitOnFirstFailedTask, skipTests, skipTasks: skipTasksParsed };\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 const packageIntegritiesByPublishedPackages = snapping._getPublishedPackages(componentsToBuild);\n publishedPackages.push(...Array.from(packageIntegritiesByPublishedPackages.keys()));\n\n addIntegritiesToConsumerComponentsGraphs(packageIntegritiesByPublishedPackages, allComponentsToTag);\n addBuildStatus(componentsToBuild, BuildStatus.Succeed);\n await mapSeries(harmonyComps, (comp) => snapping.enrichComp(comp));\n if (populateArtifactsFrom) await updateHiddenProp(scope, populateArtifactsFrom);\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 throwForNewestVersion(allComponentsToTag: ConsumerComponent[], legacyScope: Scope) {\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 = compact(newestVersions);\n if (newestVersionsWithoutEmpty.length) {\n throw new NewerVersionFound(newestVersionsWithoutEmpty);\n }\n}\n\nfunction addIntegritiesToConsumerComponentsGraphs(\n packageIntegritiesByPublishedPackages: PackageIntegritiesByPublishedPackages,\n consumerComponents: ConsumerComponent[]\n) {\n const _addIntegritiesToDependenciesGraph = addIntegritiesToDependenciesGraph.bind(\n null,\n packageIntegritiesByPublishedPackages\n );\n for (const consumerComponent of consumerComponents) {\n if (consumerComponent.dependenciesGraph) {\n consumerComponent.dependenciesGraph = _addIntegritiesToDependenciesGraph(consumerComponent.dependenciesGraph);\n }\n }\n}\n\n/**\n * Updates the dependencies graph by replacing all \"pending\" version numbers of component dependencies\n * with the actual version numbers of the recently published packages. It also attaches the integrity\n * checksums of these components to ensure data integrity for each resolved dependency.\n *\n * @param packageIntegritiesByPublishedPackages - A map of package names and versions to their integrity checksums.\n * @param dependenciesGraph - The current dependencies graph, containing nodes with potentially \"pending\" versions.\n * @returns A new DependenciesGraph with updated versions and integrity checksums for all previously pending dependencies.\n */\nfunction addIntegritiesToDependenciesGraph(\n packageIntegritiesByPublishedPackages: PackageIntegritiesByPublishedPackages,\n dependenciesGraph: DependenciesGraph\n): DependenciesGraph {\n const resolvedVersions: Array<{ name: string; version: string }> = [];\n for (const [selector, integrity] of packageIntegritiesByPublishedPackages.entries()) {\n if (integrity == null) continue;\n const index = selector.indexOf('@', 1);\n const name = selector.substring(0, index);\n const version = selector.substring(index + 1);\n const pendingPkg = dependenciesGraph.packages.get(`${name}@pending:`);\n if (pendingPkg) {\n pendingPkg.resolution = { integrity };\n resolvedVersions.push({ name, version });\n }\n }\n return replacePendingVersions(dependenciesGraph, resolvedVersions) as DependenciesGraph;\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\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 = component.isRemoved() ? BuildStatus.Skipped : buildStatus;\n });\n}\n\nfunction isAvailableOnMain(currentLane: LaneId, modelComponent: ModelComponent, id: ComponentID) {\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 return modelComponent.hasHead();\n}\n\nexport async function updateVersions(\n workspace: Workspace,\n stagedConfig: StagedConfig,\n currentLane: LaneId,\n modelComponent: ModelComponent,\n versionToSetInBitmap?: string, // helpful for detached head\n isTag = true\n) {\n const consumer = workspace.consumer;\n const idLatest: ComponentID = modelComponent.toBitIdWithLatestVersionAllowNull();\n const id = versionToSetInBitmap ? idLatest.changeVersion(versionToSetInBitmap) : idLatest;\n const isOnBitmap = consumer.bitMap.getComponentIfExist(id, { ignoreVersion: true });\n if (!isOnBitmap && !isTag) {\n // handle the case when a component was deleted, snapped/tagged and is now reset.\n const stagedData = stagedConfig.getPerId(id);\n if (stagedData?.config && stagedData.config[RemoveAspect.id]) {\n consumer.bitMap.addFromComponentJson(stagedData.id, stagedData.componentMapObject);\n }\n }\n consumer.bitMap.updateComponentId(id, undefined, undefined, true);\n const availableOnMain = isAvailableOnMain(currentLane, 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 compMapObj = componentMap.toPlainObject();\n const config = componentMap.config;\n stagedConfig.addComponentConfig(compId, config, compMapObj);\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\nfunction replacePendingVersions(\n graph: DependenciesGraph,\n resolvedVersions: Array<{ name: string; version: string }>\n): DependenciesGraph {\n let s = graph.serialize();\n for (const { name, version } of resolvedVersions) {\n s = s.replaceAll(`${name}@pending:`, `${name}@${version}`);\n }\n const updatedDependenciesGraph = DependenciesGraph.deserialize(s);\n // This should never happen as we know at this point that the schema version is supported\n if (updatedDependenciesGraph == null) {\n throw new BitError('Failed to deserialize dependencies graph in replacePendingVersions()');\n }\n return updatedDependenciesGraph;\n}\n\n/**\n * relevant for \"_tag\" (tag-from-scope) command.\n * the new tag uses the same files/config/build-artifacts as the previous snap.\n * we want to mark the previous snap as hidden. so then \"bit log\" and \"bit blame\" won't show it.\n */\nasync function updateHiddenProp(scope: ScopeMain, ids: ComponentID[]) {\n const log = await getBasicLog();\n log.message = 'marked as hidden';\n await pMapPool(\n ids,\n async (id) => {\n const versionObj = await scope.getBitObjectVersionById(id);\n if (!versionObj) return;\n versionObj.hidden = true;\n versionObj.addModifiedLog(log);\n scope.legacyScope.objects.add(versionObj);\n },\n { concurrency: 50 }\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_pMapSeries","data","_interopRequireDefault","require","_lodash","_uuid","_bitError","_componentId","_legacy","_legacy2","_workspaceModules","_legacy3","_remove","_legacy4","_pkgModules","_harmonyModules","_toolboxCrypto","_objects","_messagePerComponent","_toolboxPromise","_harmonyModules2","e","__esModule","default","updateDependenciesVersions","allComponentsToTag","dependencyResolver","componentsToTag","filter","c","isRemoved","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","snapping","consumerComponents","components","populateArtifactsFrom","populateArtifactsIgnorePkgJson","message","editor","ignoreNewestVersion","skipTests","skipTasks","skipAutoTag","build","isSnap","disableTagAndSnapPipelines","ignoreBuildErrors","rebuildDepsGraph","packageManagerConfigRootDir","copyLogFromPreviousSnap","exitOnFirstFailedTask","updateDependentsOnLane","setHeadAsParent","detachHead","overrideHead","workspace","builder","consumer","legacyScope","consumerComponentsIdsMap","consumerComponent","componentIdString","toString","Object","values","idsToTag","ComponentIdList","fromArray","idsToTriggerAutoTag","autoTagDataWithLocalOnly","getAutoTagInfo","localOnly","listLocalOnly","autoTagData","autoTagItem","autoTagComponents","autoTagComponentsFiltered","has","autoTag","messagesFromEditorFetcher","MessagePerComponentFetcher","getMessagePerId","getMessagesFromEditor","tmp","msg","messagePerId","isFeatureEnabled","DETACH_HEAD","throwForNewestVersion","logger","debugAndAddBreadCrumb","setCurrentSchema","addLogToComponents","unmergedComps","listComponentsDuringMerge","lane","getCurrentLaneObject","stagedConfig","getStagedConfig","updateNextVersionOnBitmap","_addFlattenedDependenciesToComponents","_addDependenciesGraphToComponents","throwForDepsFromAnotherLane","emptyBuilderData","addBuildStatus","BuildStatus","Pending","currentLane","getCurrentLaneId","mapSeries","results","_addCompToObjects","source","shouldValidateVersion","Boolean","addVersionOpts","addToUpdateDependentsInLane","getModelComponent","updateVersions","addedVersionStr","isNew","removeAllParents","stagedSnaps","write","publishedPackages","harmonyComps","onTagOpts","throwOnError","forceDeploy","skipTasksParsed","split","trim","seedersOnly","isolateOptions","builderOptions","componentsToBuild","length","reloadAspectsWithNewVersion","getManyByLegacy","builderDataMap","tagListener","buildResult","builderDataMapToLegacyOnTagResults","_updateComponentsByTagResult","packageIntegritiesByPublishedPackages","_getPublishedPackages","push","Array","from","keys","addIntegritiesToConsumerComponentsGraphs","Succeed","comp","enrichComp","updateHiddenProp","removedComponents","removeDeletedComponentsFromBitmap","msgStr","laneHistory","lanes","updateLaneHistory","objects","add","removeMergeConfigFromComponents","linkToNodeModulesByComponents","clearObjectsFromCache","taggedComponents","autoTaggedResults","newestVersionsP","componentFromModel","getModelComponentIfExist","BitError","listVersions","latest","getHeadRegardlessOfLaneAsTagOrHash","currentVersion","latestVersion","newestVersions","newestVersionsWithoutEmpty","compact","NewerVersionFound","_addIntegritiesToDependenciesGraph","addIntegritiesToDependenciesGraph","dependenciesGraph","resolvedVersions","selector","integrity","entries","index","indexOf","name","substring","pendingPkg","packages","get","resolution","replacePendingVersions","comps","removedComps","compBitIdsToRemove","deleteComponentsFiles","cleanFromBitMap","configMergeFile","getConflictMergeFile","compId","isNowSnapped","removeConflict","currentlyUnmerged","hasConflict","delete","clone","existingBuilder","findCoreExtension","Extensions","autoTagComps","messagePerComponent","basicLog","getBasicLog","getLog","msgFromEditor","item","currentLog","log","date","username","email","autoTagComp","defaultMsg","schema","CURRENT_SCHEMA","buildStatus","Skipped","isAvailableOnMain","isDefault","hasHead","versionToSetInBitmap","isTag","idLatest","toBitIdWithLatestVersionAllowNull","isOnBitmap","bitMap","getComponentIfExist","ignoreVersion","stagedData","getPerId","config","RemoveAspect","addFromComponentJson","componentMapObject","updateComponentId","availableOnMain","setOnLanesOnly","getComponent","resolveComponentId","compMapObj","toPlainObject","addComponentConfig","removeConfig","hash","getRef","addSnap","getConfigPerId","clearNextVersion","graph","s","serialize","replaceAll","updatedDependenciesGraph","DependenciesGraph","deserialize","pMapPool","versionObj","getBitObjectVersionById","hidden","addModifiedLog","concurrency"],"sources":["tag-model-component.ts"],"sourcesContent":["import mapSeries from 'p-map-series';\nimport { compact } from 'lodash';\nimport { ReleaseType } from 'semver';\nimport { v4 } from 'uuid';\nimport { BitError } from '@teambit/bit-error';\nimport { Scope } from '@teambit/legacy.scope';\nimport { ComponentID, ComponentIdList } from '@teambit/component-id';\nimport { BuildStatus, Extensions } from '@teambit/legacy.constants';\nimport { ConsumerComponent, CURRENT_SCHEMA } from '@teambit/legacy.consumer-component';\nimport { linkToNodeModulesByComponents } from '@teambit/workspace.modules.node-modules-linker';\nimport { NewerVersionFound } from '@teambit/legacy.consumer';\nimport { Component } from '@teambit/component';\nimport { RemoveAspect, deleteComponentsFiles } from '@teambit/remove';\nimport { logger } from '@teambit/legacy.logger';\nimport { getValidVersionOrReleaseType } from '@teambit/pkg.modules.semver-helper';\nimport { getBasicLog } from '@teambit/harmony.modules.get-basic-log';\nimport { sha1 } from '@teambit/toolbox.crypto.sha1';\nimport { OnTagOpts } from '@teambit/builder';\nimport { ModelComponent, Log, DependenciesGraph } from '@teambit/objects';\nimport { MessagePerComponent, MessagePerComponentFetcher } from './message-per-component';\nimport { DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { ScopeMain, StagedConfig } from '@teambit/scope';\nimport { Workspace, AutoTagResult } from '@teambit/workspace';\nimport { pMapPool } from '@teambit/toolbox.promise.map-pool';\nimport { PackageIntegritiesByPublishedPackages, SnappingMain, TagDataPerComp } from './snapping.main.runtime';\nimport { LaneId } from '@teambit/lane-id';\nimport { DETACH_HEAD, isFeatureEnabled } from '@teambit/harmony.modules.feature-toggle';\n\nexport type onTagIdTransformer = (id: ComponentID) => ComponentID | null;\n\nexport type BasicTagSnapParams = {\n message: string;\n skipTests?: boolean;\n skipTasks?: string;\n build?: boolean;\n ignoreBuildErrors?: boolean;\n rebuildDepsGraph?: boolean;\n detachHead?: boolean;\n overrideHead?: 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 allComponentsToTag: ConsumerComponent[],\n dependencyResolver: DependencyResolverMain\n) {\n // filter out removed components.\n // if a component has a deleted-component as a dependency, it was probably running \"bit install <dep>\" with a version\n // from main. we want to keep it as the user requested. Otherwise, this changes the dependency version to the newly\n // snapped one unintentionally.\n const componentsToTag = allComponentsToTag.filter((c) => !c.isRemoved());\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\n// eslint-disable-next-line complexity\nexport async function tagModelComponent({\n snapping,\n consumerComponents,\n components,\n ids,\n tagDataPerComp,\n populateArtifactsFrom,\n populateArtifactsIgnorePkgJson,\n message,\n editor,\n exactVersion,\n releaseType,\n preReleaseId,\n ignoreNewestVersion = false,\n skipTests = false,\n skipTasks,\n skipAutoTag,\n soft,\n build,\n persist,\n isSnap = false,\n disableTagAndSnapPipelines,\n ignoreBuildErrors,\n rebuildDepsGraph,\n incrementBy,\n packageManagerConfigRootDir,\n copyLogFromPreviousSnap = false,\n exitOnFirstFailedTask = false,\n updateDependentsOnLane = false, // on lane, adds it into updateDependents prop\n setHeadAsParent, // kind of rebase. in case component is checked out to older version, ignore that version, use head\n detachHead,\n overrideHead,\n}: {\n snapping: SnappingMain;\n components: Component[];\n consumerComponents: ConsumerComponent[];\n ids: ComponentIdList;\n tagDataPerComp?: TagDataPerComp[];\n populateArtifactsFrom?: ComponentID[];\n populateArtifactsIgnorePkgJson?: boolean;\n copyLogFromPreviousSnap?: boolean;\n exactVersion?: string | null | undefined;\n releaseType?: ReleaseType;\n incrementBy?: number;\n isSnap?: boolean;\n packageManagerConfigRootDir?: string;\n exitOnFirstFailedTask?: boolean;\n updateDependentsOnLane?: boolean;\n setHeadAsParent?: boolean;\n} & BasicTagParams): Promise<{\n taggedComponents: ConsumerComponent[];\n autoTaggedResults: AutoTagResult[];\n publishedPackages: string[];\n stagedConfig?: StagedConfig;\n removedComponents?: ComponentIdList;\n}> {\n const workspace = snapping.workspace;\n const scope = snapping.scope;\n const builder = snapping.builder;\n const dependencyResolver = snapping.dependencyResolver;\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 autoTagDataWithLocalOnly =\n skipAutoTag || !consumer ? [] : await workspace.getAutoTagInfo(ComponentIdList.fromArray(idsToTriggerAutoTag));\n const localOnly = workspace?.listLocalOnly();\n const autoTagData = localOnly\n ? autoTagDataWithLocalOnly.filter((autoTagItem) => !localOnly.hasWithoutVersion(autoTagItem.component.id))\n : autoTagDataWithLocalOnly;\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 // TODO: once --detach-head is supported by the remote, deprecate --ignore-newest-version. and change this\n // throwForNewestVersion to suggest using --detach-head instead. also, it the error should not be limited\n // to tags and can be thrown for snaps as well.\n // once --ignore-newest-version is removed, no need for this condition. it's ok to not provide the override-head option.\n if (detachHead && !isFeatureEnabled(DETACH_HEAD)) {\n throw new Error('unable to detach head, the feature is not enabled');\n }\n if (ignoreNewestVersion && !detachHead) overrideHead = true;\n if (!ignoreNewestVersion && !isSnap) {\n await throwForNewestVersion(allComponentsToTag, legacyScope);\n }\n\n logger.debugAndAddBreadCrumb('tag-model-components', 'sequentially persist all components');\n setCurrentSchema(allComponentsToTag);\n\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 const stagedConfig = workspace ? await workspace.scope.getStagedConfig() : undefined;\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._addDependenciesGraphToComponents(components);\n await snapping.throwForDepsFromAnotherLane(allComponentsToTag);\n if (!build) emptyBuilderData(allComponentsToTag);\n addBuildStatus(allComponentsToTag, BuildStatus.Pending);\n\n const currentLane = consumer ? consumer.getCurrentLaneId() : undefined;\n await mapSeries(allComponentsToTag, async (component) => {\n const results = await snapping._addCompToObjects({\n source: component,\n lane,\n shouldValidateVersion: Boolean(build),\n addVersionOpts: {\n addToUpdateDependentsInLane: updateDependentsOnLane,\n setHeadAsParent,\n detachHead,\n overrideHead: overrideHead,\n },\n });\n if (workspace) {\n const modelComponent = component.modelComponent || (await legacyScope.getModelComponent(component.id));\n await updateVersions(workspace, stagedConfig!, currentLane!, modelComponent, results.addedVersionStr, true);\n } else {\n const tagData = tagDataPerComp?.find((t) => t.componentId.isEqualWithoutVersion(component.id));\n if (tagData?.isNew) results.version.removeAllParents();\n }\n });\n\n if (workspace) {\n await workspace.scope.legacyScope.stagedSnaps.write();\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 skipTasksParsed = skipTasks ? skipTasks.split(',').map((t) => t.trim()) : undefined;\n const seedersOnly = !workspace; // if tag from scope, build only the given components\n const isolateOptions = { packageManagerConfigRootDir, seedersOnly, populateArtifactsIgnorePkgJson };\n const builderOptions = { exitOnFirstFailedTask, skipTests, skipTasks: skipTasksParsed };\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 const packageIntegritiesByPublishedPackages = snapping._getPublishedPackages(componentsToBuild);\n publishedPackages.push(...Array.from(packageIntegritiesByPublishedPackages.keys()));\n\n addIntegritiesToConsumerComponentsGraphs(packageIntegritiesByPublishedPackages, allComponentsToTag);\n addBuildStatus(componentsToBuild, BuildStatus.Succeed);\n await mapSeries(harmonyComps, (comp) => snapping.enrichComp(comp));\n if (populateArtifactsFrom) await updateHiddenProp(scope, populateArtifactsFrom);\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 throwForNewestVersion(allComponentsToTag: ConsumerComponent[], legacyScope: Scope) {\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 = compact(newestVersions);\n if (newestVersionsWithoutEmpty.length) {\n throw new NewerVersionFound(newestVersionsWithoutEmpty);\n }\n}\n\nfunction addIntegritiesToConsumerComponentsGraphs(\n packageIntegritiesByPublishedPackages: PackageIntegritiesByPublishedPackages,\n consumerComponents: ConsumerComponent[]\n) {\n const _addIntegritiesToDependenciesGraph = addIntegritiesToDependenciesGraph.bind(\n null,\n packageIntegritiesByPublishedPackages\n );\n for (const consumerComponent of consumerComponents) {\n if (consumerComponent.dependenciesGraph) {\n consumerComponent.dependenciesGraph = _addIntegritiesToDependenciesGraph(consumerComponent.dependenciesGraph);\n }\n }\n}\n\n/**\n * Updates the dependencies graph by replacing all \"pending\" version numbers of component dependencies\n * with the actual version numbers of the recently published packages. It also attaches the integrity\n * checksums of these components to ensure data integrity for each resolved dependency.\n *\n * @param packageIntegritiesByPublishedPackages - A map of package names and versions to their integrity checksums.\n * @param dependenciesGraph - The current dependencies graph, containing nodes with potentially \"pending\" versions.\n * @returns A new DependenciesGraph with updated versions and integrity checksums for all previously pending dependencies.\n */\nfunction addIntegritiesToDependenciesGraph(\n packageIntegritiesByPublishedPackages: PackageIntegritiesByPublishedPackages,\n dependenciesGraph: DependenciesGraph\n): DependenciesGraph {\n const resolvedVersions: Array<{ name: string; version: string }> = [];\n for (const [selector, integrity] of packageIntegritiesByPublishedPackages.entries()) {\n if (integrity == null) continue;\n const index = selector.indexOf('@', 1);\n const name = selector.substring(0, index);\n const version = selector.substring(index + 1);\n const pendingPkg = dependenciesGraph.packages.get(`${name}@pending:`);\n if (pendingPkg) {\n pendingPkg.resolution = { integrity };\n resolvedVersions.push({ name, version });\n }\n }\n return replacePendingVersions(dependenciesGraph, resolvedVersions) as DependenciesGraph;\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\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 = component.isRemoved() ? BuildStatus.Skipped : buildStatus;\n });\n}\n\nfunction isAvailableOnMain(currentLane: LaneId, modelComponent: ModelComponent, id: ComponentID) {\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 return modelComponent.hasHead();\n}\n\nexport async function updateVersions(\n workspace: Workspace,\n stagedConfig: StagedConfig,\n currentLane: LaneId,\n modelComponent: ModelComponent,\n versionToSetInBitmap?: string, // helpful for detached head\n isTag = true\n) {\n const consumer = workspace.consumer;\n const idLatest: ComponentID = modelComponent.toBitIdWithLatestVersionAllowNull();\n const id = versionToSetInBitmap ? idLatest.changeVersion(versionToSetInBitmap) : idLatest;\n const isOnBitmap = consumer.bitMap.getComponentIfExist(id, { ignoreVersion: true });\n if (!isOnBitmap && !isTag) {\n // handle the case when a component was deleted, snapped/tagged and is now reset.\n const stagedData = stagedConfig.getPerId(id);\n if (stagedData?.config && stagedData.config[RemoveAspect.id]) {\n consumer.bitMap.addFromComponentJson(stagedData.id, stagedData.componentMapObject);\n }\n }\n consumer.bitMap.updateComponentId(id, undefined, undefined, true);\n const availableOnMain = isAvailableOnMain(currentLane, 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 compMapObj = componentMap.toPlainObject();\n const config = componentMap.config;\n stagedConfig.addComponentConfig(compId, config, compMapObj);\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\nfunction replacePendingVersions(\n graph: DependenciesGraph,\n resolvedVersions: Array<{ name: string; version: string }>\n): DependenciesGraph {\n let s = graph.serialize();\n for (const { name, version } of resolvedVersions) {\n s = s.replaceAll(`${name}@pending:`, `${name}@${version}`);\n }\n const updatedDependenciesGraph = DependenciesGraph.deserialize(s);\n // This should never happen as we know at this point that the schema version is supported\n if (updatedDependenciesGraph == null) {\n throw new BitError('Failed to deserialize dependencies graph in replacePendingVersions()');\n }\n return updatedDependenciesGraph;\n}\n\n/**\n * relevant for \"_tag\" (tag-from-scope) command.\n * the new tag uses the same files/config/build-artifacts as the previous snap.\n * we want to mark the previous snap as hidden. so then \"bit log\" and \"bit blame\" won't show it.\n */\nasync function updateHiddenProp(scope: ScopeMain, ids: ComponentID[]) {\n const log = await getBasicLog();\n log.message = 'marked as hidden';\n await pMapPool(\n ids,\n async (id) => {\n const versionObj = await scope.getBitObjectVersionById(id);\n if (!versionObj) return;\n versionObj.hidden = true;\n versionObj.addModifiedLog(log);\n scope.legacyScope.objects.add(versionObj);\n },\n { concurrency: 50 }\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/snapping",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.512",
|
|
4
4
|
"homepage": "https://bit.cloud/teambit/component/snapping",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "teambit.component",
|
|
8
8
|
"name": "snapping",
|
|
9
|
-
"version": "1.0.
|
|
9
|
+
"version": "1.0.512"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"graphlib": "2.1.8",
|
|
@@ -24,46 +24,46 @@
|
|
|
24
24
|
"@teambit/legacy-bit-id": "1.1.1",
|
|
25
25
|
"@teambit/harmony": "0.4.6",
|
|
26
26
|
"@teambit/component-version": "1.0.3",
|
|
27
|
-
"@teambit/lane-id": "0.0.
|
|
28
|
-
"@teambit/graph": "1.0.
|
|
29
|
-
"@teambit/legacy.consumer-component": "0.0.
|
|
30
|
-
"@teambit/logger": "0.0.
|
|
31
|
-
"@teambit/
|
|
32
|
-
"@teambit/scope": "1.0.
|
|
27
|
+
"@teambit/lane-id": "0.0.312",
|
|
28
|
+
"@teambit/graph": "1.0.512",
|
|
29
|
+
"@teambit/legacy.consumer-component": "0.0.20",
|
|
30
|
+
"@teambit/logger": "0.0.1182",
|
|
31
|
+
"@teambit/objects": "0.0.19",
|
|
32
|
+
"@teambit/scope": "1.0.512",
|
|
33
33
|
"@teambit/toolbox.promise.map-pool": "0.0.3",
|
|
34
|
-
"@teambit/component.sources": "0.0.
|
|
35
|
-
"@teambit/component": "1.0.
|
|
36
|
-
"@teambit/dependencies": "1.0.
|
|
37
|
-
"@teambit/dependency-resolver": "1.0.
|
|
38
|
-
"@teambit/legacy.consumer-config": "0.0.
|
|
39
|
-
"@teambit/legacy.extension-data": "0.0.
|
|
34
|
+
"@teambit/component.sources": "0.0.71",
|
|
35
|
+
"@teambit/component": "1.0.512",
|
|
36
|
+
"@teambit/dependencies": "1.0.512",
|
|
37
|
+
"@teambit/dependency-resolver": "1.0.512",
|
|
38
|
+
"@teambit/legacy.consumer-config": "0.0.19",
|
|
39
|
+
"@teambit/legacy.extension-data": "0.0.21",
|
|
40
40
|
"@teambit/legacy.logger": "0.0.7",
|
|
41
|
-
"@teambit/legacy.scope": "0.0.
|
|
41
|
+
"@teambit/legacy.scope": "0.0.19",
|
|
42
42
|
"@teambit/legacy.loader": "0.0.5",
|
|
43
|
-
"@teambit/cli": "0.0.
|
|
43
|
+
"@teambit/cli": "0.0.1089",
|
|
44
44
|
"@teambit/legacy.constants": "0.0.5",
|
|
45
|
-
"@teambit/legacy.component-list": "0.0.
|
|
46
|
-
"@teambit/legacy.consumer": "0.0.
|
|
47
|
-
"@teambit/legacy.dependency-graph": "0.0.
|
|
48
|
-
"@teambit/remove": "1.0.
|
|
49
|
-
"@teambit/workspace": "1.0.
|
|
45
|
+
"@teambit/legacy.component-list": "0.0.73",
|
|
46
|
+
"@teambit/legacy.consumer": "0.0.19",
|
|
47
|
+
"@teambit/legacy.dependency-graph": "0.0.22",
|
|
48
|
+
"@teambit/remove": "1.0.512",
|
|
49
|
+
"@teambit/workspace": "1.0.512",
|
|
50
50
|
"@teambit/component-issues": "0.0.153",
|
|
51
|
-
"@teambit/global-config": "0.0.
|
|
52
|
-
"@teambit/application": "1.0.
|
|
53
|
-
"@teambit/builder": "1.0.
|
|
54
|
-
"@teambit/export": "1.0.
|
|
51
|
+
"@teambit/global-config": "0.0.1092",
|
|
52
|
+
"@teambit/application": "1.0.512",
|
|
53
|
+
"@teambit/builder": "1.0.512",
|
|
54
|
+
"@teambit/export": "1.0.512",
|
|
55
55
|
"@teambit/harmony.modules.concurrency": "0.0.6",
|
|
56
|
-
"@teambit/importer": "1.0.
|
|
57
|
-
"@teambit/insights": "1.0.
|
|
58
|
-
"@teambit/issues": "1.0.
|
|
59
|
-
"@teambit/lanes.modules.create-lane": "0.0.
|
|
60
|
-
"@teambit/legacy.scope-api": "0.0.
|
|
56
|
+
"@teambit/importer": "1.0.512",
|
|
57
|
+
"@teambit/insights": "1.0.512",
|
|
58
|
+
"@teambit/issues": "1.0.512",
|
|
59
|
+
"@teambit/lanes.modules.create-lane": "0.0.53",
|
|
60
|
+
"@teambit/legacy.scope-api": "0.0.74",
|
|
61
61
|
"@teambit/pkg.modules.semver-helper": "0.0.4",
|
|
62
62
|
"@teambit/bit.get-bit-version": "0.0.3",
|
|
63
63
|
"@teambit/harmony.modules.feature-toggle": "0.0.13",
|
|
64
|
-
"@teambit/harmony.modules.get-basic-log": "0.0.
|
|
64
|
+
"@teambit/harmony.modules.get-basic-log": "0.0.20",
|
|
65
65
|
"@teambit/toolbox.crypto.sha1": "0.0.5",
|
|
66
|
-
"@teambit/workspace.modules.node-modules-linker": "0.0.
|
|
66
|
+
"@teambit/workspace.modules.node-modules-linker": "0.0.247"
|
|
67
67
|
},
|
|
68
68
|
"devDependencies": {
|
|
69
69
|
"@types/graphlib": "2.1.7",
|
|
@@ -74,10 +74,10 @@
|
|
|
74
74
|
"@types/uuid": "8.3.4",
|
|
75
75
|
"@types/mocha": "9.1.0",
|
|
76
76
|
"@teambit/harmony.envs.core-aspect-env": "0.0.65",
|
|
77
|
-
"@teambit/compiler": "1.0.
|
|
78
|
-
"@teambit/component.testing.mock-components": "0.0.
|
|
79
|
-
"@teambit/harmony.testing.load-aspect": "0.0.
|
|
80
|
-
"@teambit/workspace.testing.mock-workspace": "0.0.
|
|
77
|
+
"@teambit/compiler": "1.0.512",
|
|
78
|
+
"@teambit/component.testing.mock-components": "0.0.279",
|
|
79
|
+
"@teambit/harmony.testing.load-aspect": "0.0.274",
|
|
80
|
+
"@teambit/workspace.testing.mock-workspace": "0.0.46"
|
|
81
81
|
},
|
|
82
82
|
"peerDependencies": {
|
|
83
83
|
"@types/chai": "4.3.19"
|
|
File without changes
|