@teambit/snapping 1.0.483 → 1.0.485
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/artifacts/schema.json +1532 -1454
- package/dist/generate-comp-from-scope.js +4 -4
- package/dist/generate-comp-from-scope.js.map +1 -1
- package/dist/reset-component.d.ts +4 -4
- package/dist/reset-component.js +9 -2
- package/dist/reset-component.js.map +1 -1
- package/dist/snapping.main.runtime.d.ts +6 -5
- package/dist/snapping.main.runtime.js +13 -12
- package/dist/snapping.main.runtime.js.map +1 -1
- package/dist/tag-model-component.d.ts +3 -1
- package/dist/tag-model-component.js +9 -4
- package/dist/tag-model-component.js.map +1 -1
- package/package.json +28 -26
- /package/dist/{preview-1733196057323.js → preview-1733455199677.js} +0 -0
|
@@ -40,9 +40,9 @@ function _componentOverrides() {
|
|
|
40
40
|
};
|
|
41
41
|
return data;
|
|
42
42
|
}
|
|
43
|
-
function
|
|
44
|
-
const data = require("@teambit/legacy
|
|
45
|
-
|
|
43
|
+
function _legacy() {
|
|
44
|
+
const data = require("@teambit/legacy.extension-data");
|
|
45
|
+
_legacy = function () {
|
|
46
46
|
return data;
|
|
47
47
|
};
|
|
48
48
|
return data;
|
|
@@ -80,7 +80,7 @@ async function generateCompFromScope(scope, compData, snapping) {
|
|
|
80
80
|
});
|
|
81
81
|
});
|
|
82
82
|
const id = compData.componentId;
|
|
83
|
-
const extensions =
|
|
83
|
+
const extensions = _legacy().ExtensionDataList.fromConfigObject(compData.aspects || {});
|
|
84
84
|
const consumerComponent = new (_component().default)({
|
|
85
85
|
mainFile: compData.mainFile || 'index.ts',
|
|
86
86
|
name: compData.componentId.fullName,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_componentId","data","require","_component","_interopRequireDefault","_dependencies","_component2","_componentOverrides","_config","_componentSchema","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","generateCompFromScope","scope","compData","snapping","files","Error","map","file","SourceFile","base","path","contents","Buffer","from","content","test","id","componentId","extensions","ExtensionDataList","fromConfigObject","aspects","consumerComponent","ConsumerComponent","mainFile","name","fullName","schema","CURRENT_SCHEMA","overrides","ComponentOverrides","loadNewFromScope","defaultScope","log","message","date","Date","now","toString","username","email","_addFlattenedDependenciesToComponents","version","filesBitObject","legacyScope","sources","consumerComponentToVersion","modelComponent","findOrAddComponent","hash","objects","writeObjectsToTheFS","f","component","getManyByLegacy","addDeps","snapData","deps","depsResolver","newDeps","newDependencies","updateDeps","dependencies","compIdsData","dep","isComponent","compIdsDataParsed","ComponentID","fromString","compIds","changeVersion","comps","getMany","toDependency","depId","comp","find","c","isEqualWithoutVersion","pkgName","getPackageName","Dependency","compDeps","type","compDevDeps","compPeerDeps","packageDeps","toPackageObj","pkgs","reduce","acc","curr","getPkgObj","manipulateCurrentPkgs","removeDependencies","pkg","found","d","startsWith","replace","manipulateCurrentDeps","currentCompDeps","afterRemoval","includes","toStringWithoutVersion","state","_consumer","dependenciesData","allDependencies","get","devDependencies","peerDependencies","allPackagesDependencies","packageDependencies","devPackageDependencies","peerPackageDependencies","loadDependenciesFromScope","UpdateDepsAspectsSaveIntoDepsResolver"],"sources":["generate-comp-from-scope.ts"],"sourcesContent":["import { ComponentID } from '@teambit/component-id';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component';\nimport { Dependency } from '@teambit/legacy/dist/consumer/component/dependencies';\nimport { SourceFile } from '@teambit/component.sources';\nimport { ScopeMain } from '@teambit/scope';\nimport ComponentOverrides from '@teambit/legacy/dist/consumer/config/component-overrides';\nimport { ExtensionDataList } from '@teambit/legacy/dist/consumer/config';\nimport { Component } from '@teambit/component';\nimport { CURRENT_SCHEMA } from '@teambit/legacy/dist/consumer/component/component-schema';\nimport { DependenciesMain } from '@teambit/dependencies';\nimport { DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { FileData } from './snap-from-scope.cmd';\nimport { SnappingMain, SnapDataParsed } from './snapping.main.runtime';\n\nexport type CompData = {\n componentId: ComponentID;\n dependencies: string[];\n aspects: Record<string, any> | undefined;\n message: string | undefined;\n files: FileData[] | undefined;\n mainFile?: string;\n};\n\n/**\n * normally new components are created from a workspace. the files are in the filesystem and the ConsumerComponent\n * object is created from the files.\n * here, we need to create the ConsumerComponent object \"on the fly\". we don't have workspace, only scope. the files\n * are in-memory (we got them from snap-from-scope command).\n * the way how it is done is by creating a minimal ConsumerComponent object, then convert `Version` object from it,\n * write the version and files into the scope as objects, so then it's possible to load Component object using the\n * ConsumerComponent.\n */\nexport async function generateCompFromScope(\n scope: ScopeMain,\n compData: CompData,\n snapping: SnappingMain\n): Promise<Component> {\n if (!compData.files) throw new Error('generateComp: files are missing');\n const files = compData.files.map((file) => {\n return new SourceFile({ base: '.', path: file.path, contents: Buffer.from(file.content), test: false });\n });\n const id = compData.componentId;\n const extensions = ExtensionDataList.fromConfigObject(compData.aspects || {});\n\n const consumerComponent = new ConsumerComponent({\n mainFile: compData.mainFile || 'index.ts',\n name: compData.componentId.fullName,\n scope: compData.componentId.scope,\n files,\n schema: CURRENT_SCHEMA,\n overrides: await ComponentOverrides.loadNewFromScope(id, files, extensions),\n defaultScope: compData.componentId.scope,\n extensions,\n // the dummy data here are not important. this Version object will be discarded later.\n log: {\n message: compData.message || '',\n date: Date.now().toString(),\n username: '',\n email: '',\n },\n });\n // this is needed, otherwise in case of updating envs/aspects, the version-validator throws\n // an error saying \"the extension ${extensionId.toString()} is missing from the flattenedDependencies\"\n await snapping._addFlattenedDependenciesToComponents([consumerComponent]);\n\n const { version, files: filesBitObject } =\n await scope.legacyScope.sources.consumerComponentToVersion(consumerComponent);\n const modelComponent = scope.legacyScope.sources.findOrAddComponent(consumerComponent);\n consumerComponent.version = version.hash().toString();\n await scope.legacyScope.objects.writeObjectsToTheFS([version, modelComponent, ...filesBitObject.map((f) => f.file)]);\n const component = await scope.getManyByLegacy([consumerComponent]);\n\n return component[0];\n}\n\nexport async function addDeps(\n component: Component,\n snapData: SnapDataParsed,\n scope: ScopeMain,\n deps: DependenciesMain,\n depsResolver: DependencyResolverMain,\n snapping: SnappingMain\n) {\n const newDeps = snapData.newDependencies || [];\n const updateDeps = snapData.dependencies || [];\n const compIdsData = newDeps.filter((dep) => dep.isComponent);\n const compIdsDataParsed = compIdsData.map((data) => ({\n ...data,\n id: ComponentID.fromString(data.id),\n }));\n const compIds = compIdsDataParsed.map((dep) => (dep.version ? dep.id.changeVersion(dep.version) : dep.id));\n const comps = await scope.getMany(compIds);\n const toDependency = (depId: ComponentID) => {\n const comp = comps.find((c) => c.id.isEqualWithoutVersion(depId));\n if (!comp) throw new Error(`unable to find the specified dependency ${depId.toString()} in the scope`);\n const pkgName = depsResolver.getPackageName(comp);\n return new Dependency(comp.id, [], pkgName);\n };\n const compDeps = compIdsDataParsed.filter((c) => c.type === 'runtime').map((dep) => toDependency(dep.id));\n const compDevDeps = compIdsDataParsed.filter((c) => c.type === 'dev').map((dep) => toDependency(dep.id));\n const compPeerDeps = compIdsDataParsed.filter((c) => c.type === 'peer').map((dep) => toDependency(dep.id));\n const packageDeps = newDeps.filter((dep) => !dep.isComponent);\n const toPackageObj = (pkgs: Array<{ id: string; version?: string }>) => {\n return pkgs.reduce((acc, curr) => {\n if (!curr.version) throw new Error(`please specify a version for the package dependency: \"${curr.id}\"`);\n acc[curr.id] = curr.version;\n return acc;\n }, {});\n };\n const getPkgObj = (type: 'runtime' | 'dev' | 'peer') => {\n return toPackageObj(packageDeps.filter((dep) => dep.type === type));\n };\n const manipulateCurrentPkgs = (pkgs: Record<string, string>) => {\n snapData.removeDependencies?.forEach((pkg) => {\n delete pkgs[pkg];\n });\n Object.keys(pkgs).forEach((pkg) => {\n const found = updateDeps.find((d) => d.startsWith(`${pkg}@`));\n if (found) {\n pkgs[pkg] = found.replace(`${pkg}@`, '');\n }\n });\n return pkgs;\n };\n const manipulateCurrentDeps = (currentCompDeps: Dependency[]) => {\n const afterRemoval = currentCompDeps.filter(\n (dep) => !snapData.removeDependencies?.includes(dep.id.toStringWithoutVersion())\n );\n afterRemoval.forEach((dep) => {\n const found = updateDeps.find((d) => d.startsWith(`${dep.id.toStringWithoutVersion()}@`));\n if (found) {\n dep.id = dep.id.changeVersion(found.replace(`${dep.id.toStringWithoutVersion()}@`, ''));\n }\n });\n return afterRemoval;\n };\n\n const consumerComponent = component.state._consumer as ConsumerComponent;\n\n const dependenciesData = {\n allDependencies: {\n dependencies: [...compDeps, ...manipulateCurrentDeps(consumerComponent.dependencies.get())],\n devDependencies: [...compDevDeps, ...manipulateCurrentDeps(consumerComponent.devDependencies.get())],\n peerDependencies: [...compPeerDeps, ...manipulateCurrentDeps(consumerComponent.peerDependencies.get())],\n },\n allPackagesDependencies: {\n packageDependencies: { ...manipulateCurrentPkgs(consumerComponent.packageDependencies), ...getPkgObj('runtime') },\n devPackageDependencies: {\n ...manipulateCurrentPkgs(consumerComponent.devPackageDependencies),\n ...getPkgObj('dev'),\n },\n peerPackageDependencies: {\n ...manipulateCurrentPkgs(consumerComponent.peerPackageDependencies),\n ...getPkgObj('peer'),\n },\n },\n };\n\n // add the dependencies to the legacy ConsumerComponent object\n // it takes care of both: given dependencies (from the cli) and the overrides, which are coming from the env.\n await deps.loadDependenciesFromScope(consumerComponent, dependenciesData);\n\n await snapping.UpdateDepsAspectsSaveIntoDepsResolver(component, updateDeps);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_componentId","data","require","_component","_interopRequireDefault","_dependencies","_component2","_componentOverrides","_legacy","_componentSchema","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","generateCompFromScope","scope","compData","snapping","files","Error","map","file","SourceFile","base","path","contents","Buffer","from","content","test","id","componentId","extensions","ExtensionDataList","fromConfigObject","aspects","consumerComponent","ConsumerComponent","mainFile","name","fullName","schema","CURRENT_SCHEMA","overrides","ComponentOverrides","loadNewFromScope","defaultScope","log","message","date","Date","now","toString","username","email","_addFlattenedDependenciesToComponents","version","filesBitObject","legacyScope","sources","consumerComponentToVersion","modelComponent","findOrAddComponent","hash","objects","writeObjectsToTheFS","f","component","getManyByLegacy","addDeps","snapData","deps","depsResolver","newDeps","newDependencies","updateDeps","dependencies","compIdsData","dep","isComponent","compIdsDataParsed","ComponentID","fromString","compIds","changeVersion","comps","getMany","toDependency","depId","comp","find","c","isEqualWithoutVersion","pkgName","getPackageName","Dependency","compDeps","type","compDevDeps","compPeerDeps","packageDeps","toPackageObj","pkgs","reduce","acc","curr","getPkgObj","manipulateCurrentPkgs","removeDependencies","pkg","found","d","startsWith","replace","manipulateCurrentDeps","currentCompDeps","afterRemoval","includes","toStringWithoutVersion","state","_consumer","dependenciesData","allDependencies","get","devDependencies","peerDependencies","allPackagesDependencies","packageDependencies","devPackageDependencies","peerPackageDependencies","loadDependenciesFromScope","UpdateDepsAspectsSaveIntoDepsResolver"],"sources":["generate-comp-from-scope.ts"],"sourcesContent":["import { ComponentID } from '@teambit/component-id';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component';\nimport { Dependency } from '@teambit/legacy/dist/consumer/component/dependencies';\nimport { SourceFile } from '@teambit/component.sources';\nimport { ScopeMain } from '@teambit/scope';\nimport ComponentOverrides from '@teambit/legacy/dist/consumer/config/component-overrides';\nimport { ExtensionDataList } from '@teambit/legacy.extension-data';\nimport { Component } from '@teambit/component';\nimport { CURRENT_SCHEMA } from '@teambit/legacy/dist/consumer/component/component-schema';\nimport { DependenciesMain } from '@teambit/dependencies';\nimport { DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { FileData } from './snap-from-scope.cmd';\nimport { SnappingMain, SnapDataParsed } from './snapping.main.runtime';\n\nexport type CompData = {\n componentId: ComponentID;\n dependencies: string[];\n aspects: Record<string, any> | undefined;\n message: string | undefined;\n files: FileData[] | undefined;\n mainFile?: string;\n};\n\n/**\n * normally new components are created from a workspace. the files are in the filesystem and the ConsumerComponent\n * object is created from the files.\n * here, we need to create the ConsumerComponent object \"on the fly\". we don't have workspace, only scope. the files\n * are in-memory (we got them from snap-from-scope command).\n * the way how it is done is by creating a minimal ConsumerComponent object, then convert `Version` object from it,\n * write the version and files into the scope as objects, so then it's possible to load Component object using the\n * ConsumerComponent.\n */\nexport async function generateCompFromScope(\n scope: ScopeMain,\n compData: CompData,\n snapping: SnappingMain\n): Promise<Component> {\n if (!compData.files) throw new Error('generateComp: files are missing');\n const files = compData.files.map((file) => {\n return new SourceFile({ base: '.', path: file.path, contents: Buffer.from(file.content), test: false });\n });\n const id = compData.componentId;\n const extensions = ExtensionDataList.fromConfigObject(compData.aspects || {});\n\n const consumerComponent = new ConsumerComponent({\n mainFile: compData.mainFile || 'index.ts',\n name: compData.componentId.fullName,\n scope: compData.componentId.scope,\n files,\n schema: CURRENT_SCHEMA,\n overrides: await ComponentOverrides.loadNewFromScope(id, files, extensions),\n defaultScope: compData.componentId.scope,\n extensions,\n // the dummy data here are not important. this Version object will be discarded later.\n log: {\n message: compData.message || '',\n date: Date.now().toString(),\n username: '',\n email: '',\n },\n });\n // this is needed, otherwise in case of updating envs/aspects, the version-validator throws\n // an error saying \"the extension ${extensionId.toString()} is missing from the flattenedDependencies\"\n await snapping._addFlattenedDependenciesToComponents([consumerComponent]);\n\n const { version, files: filesBitObject } =\n await scope.legacyScope.sources.consumerComponentToVersion(consumerComponent);\n const modelComponent = scope.legacyScope.sources.findOrAddComponent(consumerComponent);\n consumerComponent.version = version.hash().toString();\n await scope.legacyScope.objects.writeObjectsToTheFS([version, modelComponent, ...filesBitObject.map((f) => f.file)]);\n const component = await scope.getManyByLegacy([consumerComponent]);\n\n return component[0];\n}\n\nexport async function addDeps(\n component: Component,\n snapData: SnapDataParsed,\n scope: ScopeMain,\n deps: DependenciesMain,\n depsResolver: DependencyResolverMain,\n snapping: SnappingMain\n) {\n const newDeps = snapData.newDependencies || [];\n const updateDeps = snapData.dependencies || [];\n const compIdsData = newDeps.filter((dep) => dep.isComponent);\n const compIdsDataParsed = compIdsData.map((data) => ({\n ...data,\n id: ComponentID.fromString(data.id),\n }));\n const compIds = compIdsDataParsed.map((dep) => (dep.version ? dep.id.changeVersion(dep.version) : dep.id));\n const comps = await scope.getMany(compIds);\n const toDependency = (depId: ComponentID) => {\n const comp = comps.find((c) => c.id.isEqualWithoutVersion(depId));\n if (!comp) throw new Error(`unable to find the specified dependency ${depId.toString()} in the scope`);\n const pkgName = depsResolver.getPackageName(comp);\n return new Dependency(comp.id, [], pkgName);\n };\n const compDeps = compIdsDataParsed.filter((c) => c.type === 'runtime').map((dep) => toDependency(dep.id));\n const compDevDeps = compIdsDataParsed.filter((c) => c.type === 'dev').map((dep) => toDependency(dep.id));\n const compPeerDeps = compIdsDataParsed.filter((c) => c.type === 'peer').map((dep) => toDependency(dep.id));\n const packageDeps = newDeps.filter((dep) => !dep.isComponent);\n const toPackageObj = (pkgs: Array<{ id: string; version?: string }>) => {\n return pkgs.reduce((acc, curr) => {\n if (!curr.version) throw new Error(`please specify a version for the package dependency: \"${curr.id}\"`);\n acc[curr.id] = curr.version;\n return acc;\n }, {});\n };\n const getPkgObj = (type: 'runtime' | 'dev' | 'peer') => {\n return toPackageObj(packageDeps.filter((dep) => dep.type === type));\n };\n const manipulateCurrentPkgs = (pkgs: Record<string, string>) => {\n snapData.removeDependencies?.forEach((pkg) => {\n delete pkgs[pkg];\n });\n Object.keys(pkgs).forEach((pkg) => {\n const found = updateDeps.find((d) => d.startsWith(`${pkg}@`));\n if (found) {\n pkgs[pkg] = found.replace(`${pkg}@`, '');\n }\n });\n return pkgs;\n };\n const manipulateCurrentDeps = (currentCompDeps: Dependency[]) => {\n const afterRemoval = currentCompDeps.filter(\n (dep) => !snapData.removeDependencies?.includes(dep.id.toStringWithoutVersion())\n );\n afterRemoval.forEach((dep) => {\n const found = updateDeps.find((d) => d.startsWith(`${dep.id.toStringWithoutVersion()}@`));\n if (found) {\n dep.id = dep.id.changeVersion(found.replace(`${dep.id.toStringWithoutVersion()}@`, ''));\n }\n });\n return afterRemoval;\n };\n\n const consumerComponent = component.state._consumer as ConsumerComponent;\n\n const dependenciesData = {\n allDependencies: {\n dependencies: [...compDeps, ...manipulateCurrentDeps(consumerComponent.dependencies.get())],\n devDependencies: [...compDevDeps, ...manipulateCurrentDeps(consumerComponent.devDependencies.get())],\n peerDependencies: [...compPeerDeps, ...manipulateCurrentDeps(consumerComponent.peerDependencies.get())],\n },\n allPackagesDependencies: {\n packageDependencies: { ...manipulateCurrentPkgs(consumerComponent.packageDependencies), ...getPkgObj('runtime') },\n devPackageDependencies: {\n ...manipulateCurrentPkgs(consumerComponent.devPackageDependencies),\n ...getPkgObj('dev'),\n },\n peerPackageDependencies: {\n ...manipulateCurrentPkgs(consumerComponent.peerPackageDependencies),\n ...getPkgObj('peer'),\n },\n },\n };\n\n // add the dependencies to the legacy ConsumerComponent object\n // it takes care of both: given dependencies (from the cli) and the overrides, which are coming from the env.\n await deps.loadDependenciesFromScope(consumerComponent, dependenciesData);\n\n await snapping.UpdateDepsAspectsSaveIntoDepsResolver(component, updateDeps);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,7 +3,7 @@ import { Scope } from '@teambit/legacy/dist/scope';
|
|
|
3
3
|
import { Consumer } from '@teambit/legacy/dist/consumer';
|
|
4
4
|
import { Lane, ModelComponent } from '@teambit/legacy/dist/scope/models';
|
|
5
5
|
import { RemoveMain } from '@teambit/remove';
|
|
6
|
-
export type
|
|
6
|
+
export type ResetResult = {
|
|
7
7
|
id: ComponentID;
|
|
8
8
|
versions: string[];
|
|
9
9
|
component?: ModelComponent;
|
|
@@ -11,7 +11,7 @@ export type untagResult = {
|
|
|
11
11
|
/**
|
|
12
12
|
* If head is false, remove all local versions.
|
|
13
13
|
*/
|
|
14
|
-
export declare function removeLocalVersion(scope: Scope, id: ComponentID, lane?: Lane, head?: boolean, force?: boolean): Promise<
|
|
15
|
-
export declare function removeLocalVersionsForAllComponents(consumer: Consumer, remove: RemoveMain, lane?: Lane, head?: boolean): Promise<
|
|
16
|
-
export declare function removeLocalVersionsForMultipleComponents(componentsToUntag: ModelComponent[], lane?: Lane, head?: boolean, force: boolean, scope: Scope): Promise<
|
|
14
|
+
export declare function removeLocalVersion(scope: Scope, id: ComponentID, lane?: Lane, head?: boolean, force?: boolean): Promise<ResetResult>;
|
|
15
|
+
export declare function removeLocalVersionsForAllComponents(consumer: Consumer, remove: RemoveMain, lane?: Lane, head?: boolean): Promise<ResetResult[]>;
|
|
16
|
+
export declare function removeLocalVersionsForMultipleComponents(componentsToUntag: ModelComponent[], lane?: Lane, head?: boolean, force: boolean, scope: Scope): Promise<ResetResult[]>;
|
|
17
17
|
export declare function getComponentsWithOptionToUntag(consumer: Consumer, remove: RemoveMain): Promise<ModelComponent[]>;
|
package/dist/reset-component.js
CHANGED
|
@@ -28,6 +28,13 @@ function _logger() {
|
|
|
28
28
|
};
|
|
29
29
|
return data;
|
|
30
30
|
}
|
|
31
|
+
function _legacy2() {
|
|
32
|
+
const data = require("@teambit/legacy.dependency-graph");
|
|
33
|
+
_legacy2 = function () {
|
|
34
|
+
return data;
|
|
35
|
+
};
|
|
36
|
+
return data;
|
|
37
|
+
}
|
|
31
38
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
32
39
|
/**
|
|
33
40
|
* If head is false, remove all local versions.
|
|
@@ -47,7 +54,7 @@ async function removeLocalVersion(scope, id, lane, head, force = false) {
|
|
|
47
54
|
const versionsToRemove = head ? [headRef] : localVersions;
|
|
48
55
|
const versionsToRemoveStr = component.switchHashesWithTagsIfExist(versionsToRemove);
|
|
49
56
|
if (!force) {
|
|
50
|
-
const dependencyGraph = await
|
|
57
|
+
const dependencyGraph = await _legacy2().DependencyGraph.loadAllVersions(scope);
|
|
51
58
|
versionsToRemoveStr.forEach(versionToRemove => {
|
|
52
59
|
const idWithVersion = component.toComponentId().changeVersion(versionToRemove);
|
|
53
60
|
const dependents = dependencyGraph.getImmediateDependentsPerId(idWithVersion);
|
|
@@ -76,7 +83,7 @@ force, scope) {
|
|
|
76
83
|
}
|
|
77
84
|
// if only head is removed, there is risk of deleting dependencies version without their dependents.
|
|
78
85
|
if (!force && head) {
|
|
79
|
-
const dependencyGraph = await
|
|
86
|
+
const dependencyGraph = await _legacy2().DependencyGraph.loadAllVersions(scope);
|
|
80
87
|
const candidateComponentsIds = componentsToUntag.map(component => {
|
|
81
88
|
const bitId = component.toComponentId();
|
|
82
89
|
const headRef = component.getHeadRegardlessOfLane();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_bitError","data","require","_legacy","_logger","_interopRequireDefault","e","__esModule","default","removeLocalVersion","scope","id","lane","head","force","component","getModelComponent","idStr","toString","localVersions","getLocalHashes","objects","length","BitError","headRef","getHeadRegardlessOfLane","Error","find","v","isEqual","versionsToRemove","versionsToRemoveStr","switchHashesWithTagsIfExist","dependencyGraph","getDependencyGraph","forEach","versionToRemove","idWithVersion","toComponentId","changeVersion","dependents","getImmediateDependentsPerId","join","sources","removeComponentVersions","versions","removeLocalVersionsForAllComponents","consumer","remove","componentsToUntag","getComponentsWithOptionToUntag","removeLocalVersionsForMultipleComponents","candidateComponentsIds","map","bitId","getTagOfRefIfExists","candidateComponentsIdsStr","dependentsNotCandidates","filter","dependent","includes","version","logger","debug","Promise","all","componentList","ComponentsList","laneObj","getCurrentLaneObject","components","listExportPendingComponents","removedStagedIds","getRemovedStaged","removedStagedBitIds","nonExistsInStaged","c","isEqualWithoutVersion","modelComps","push"],"sources":["reset-component.ts"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\nimport { ComponentID } from '@teambit/component-id';\nimport { Scope } from '@teambit/legacy/dist/scope';\nimport { Consumer } from '@teambit/legacy/dist/consumer';\nimport { ComponentsList } from '@teambit/legacy.component-list';\nimport logger from '@teambit/legacy/dist/logger/logger';\nimport { Lane, ModelComponent } from '@teambit/legacy/dist/scope/models';\nimport { RemoveMain } from '@teambit/remove';\n\nexport type untagResult = { id: ComponentID; versions: string[]; component?: ModelComponent };\n\n/**\n * If head is false, remove all local versions.\n */\nexport async function removeLocalVersion(\n scope: Scope,\n id: ComponentID,\n lane?: Lane,\n head?: boolean,\n force = false\n): Promise<untagResult> {\n const component: ModelComponent = await scope.getModelComponent(id);\n const idStr = id.toString();\n const localVersions = await component.getLocalHashes(scope.objects);\n if (!localVersions.length) throw new BitError(`unable to untag ${idStr}, the component is not staged`);\n const headRef = component.getHeadRegardlessOfLane();\n if (!headRef) {\n throw new Error(`unable to reset ${idStr}, it has not head`);\n }\n if (head && !localVersions.find((v) => v.isEqual(headRef))) {\n throw new Error(`unable to reset ${idStr}, the head ${headRef.toString()} is exported`);\n }\n const versionsToRemove = head ? [headRef] : localVersions;\n const versionsToRemoveStr = component.switchHashesWithTagsIfExist(versionsToRemove);\n\n if (!force) {\n const dependencyGraph = await scope.getDependencyGraph();\n\n versionsToRemoveStr.forEach((versionToRemove) => {\n const idWithVersion = component.toComponentId().changeVersion(versionToRemove);\n const dependents = dependencyGraph.getImmediateDependentsPerId(idWithVersion);\n if (dependents.length) {\n throw new BitError(\n `unable to reset ${idStr}, the version ${versionToRemove} has the following dependent(s) ${dependents.join(\n ', '\n )}`\n );\n }\n });\n }\n\n await scope.sources.removeComponentVersions(component, versionsToRemove, versionsToRemoveStr, lane, head);\n\n return { id, versions: versionsToRemoveStr, component };\n}\n\nexport async function removeLocalVersionsForAllComponents(\n consumer: Consumer,\n remove: RemoveMain,\n lane?: Lane,\n head?: boolean\n): Promise<untagResult[]> {\n const componentsToUntag = await getComponentsWithOptionToUntag(consumer, remove);\n const force = true; // when removing local versions from all components, no need to check if the component is used as a dependency\n return removeLocalVersionsForMultipleComponents(componentsToUntag, lane, head, force, consumer.scope);\n}\n\nexport async function removeLocalVersionsForMultipleComponents(\n componentsToUntag: ModelComponent[],\n lane?: Lane,\n head?: boolean,\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n force: boolean,\n scope: Scope\n) {\n if (!componentsToUntag.length) {\n throw new BitError(`no components found to reset on your workspace`);\n }\n // if only head is removed, there is risk of deleting dependencies version without their dependents.\n if (!force && head) {\n const dependencyGraph = await scope.getDependencyGraph();\n const candidateComponentsIds = componentsToUntag.map((component) => {\n const bitId = component.toComponentId();\n const headRef = component.getHeadRegardlessOfLane();\n if (!headRef)\n throw new Error(`component ${bitId.toString()} does not have head. it should not be a candidate for reset`);\n\n return bitId.changeVersion(component.getTagOfRefIfExists(headRef) || headRef.toString());\n });\n const candidateComponentsIdsStr = candidateComponentsIds.map((id) => id.toString());\n candidateComponentsIds.forEach((bitId: ComponentID) => {\n const dependents = dependencyGraph.getImmediateDependentsPerId(bitId);\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n const dependentsNotCandidates = dependents.filter((dependent) => !candidateComponentsIdsStr.includes(dependent));\n if (dependentsNotCandidates.length) {\n throw new BitError( // $FlowFixMe\n `unable to untag ${bitId}, the version ${bitId.version} has the following dependent(s) ${dependents.join(\n ', '\n )}`\n );\n }\n });\n }\n logger.debug(`found ${componentsToUntag.length} components to untag`);\n return Promise.all(\n componentsToUntag.map((component) => removeLocalVersion(scope, component.toComponentId(), lane, head, force))\n );\n}\n\nexport async function getComponentsWithOptionToUntag(\n consumer: Consumer,\n remove: RemoveMain\n): Promise<ModelComponent[]> {\n const componentList = new ComponentsList(consumer);\n const laneObj = await consumer.getCurrentLaneObject();\n const components: ModelComponent[] = await componentList.listExportPendingComponents(laneObj);\n const removedStagedIds = await remove.getRemovedStaged();\n if (!removedStagedIds.length) return components;\n const removedStagedBitIds = removedStagedIds.map((id) => id);\n const nonExistsInStaged = removedStagedBitIds.filter(\n (id) => !components.find((c) => c.toComponentId().isEqualWithoutVersion(id))\n );\n if (!nonExistsInStaged.length) return components;\n const modelComps = await Promise.all(nonExistsInStaged.map((id) => consumer.scope.getModelComponent(id)));\n components.push(...modelComps);\n\n return components;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_bitError","data","require","_legacy","_logger","_interopRequireDefault","_legacy2","e","__esModule","default","removeLocalVersion","scope","id","lane","head","force","component","getModelComponent","idStr","toString","localVersions","getLocalHashes","objects","length","BitError","headRef","getHeadRegardlessOfLane","Error","find","v","isEqual","versionsToRemove","versionsToRemoveStr","switchHashesWithTagsIfExist","dependencyGraph","DependencyGraph","loadAllVersions","forEach","versionToRemove","idWithVersion","toComponentId","changeVersion","dependents","getImmediateDependentsPerId","join","sources","removeComponentVersions","versions","removeLocalVersionsForAllComponents","consumer","remove","componentsToUntag","getComponentsWithOptionToUntag","removeLocalVersionsForMultipleComponents","candidateComponentsIds","map","bitId","getTagOfRefIfExists","candidateComponentsIdsStr","dependentsNotCandidates","filter","dependent","includes","version","logger","debug","Promise","all","componentList","ComponentsList","laneObj","getCurrentLaneObject","components","listExportPendingComponents","removedStagedIds","getRemovedStaged","removedStagedBitIds","nonExistsInStaged","c","isEqualWithoutVersion","modelComps","push"],"sources":["reset-component.ts"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\nimport { ComponentID } from '@teambit/component-id';\nimport { Scope } from '@teambit/legacy/dist/scope';\nimport { Consumer } from '@teambit/legacy/dist/consumer';\nimport { ComponentsList } from '@teambit/legacy.component-list';\nimport logger from '@teambit/legacy/dist/logger/logger';\nimport { Lane, ModelComponent } from '@teambit/legacy/dist/scope/models';\nimport { RemoveMain } from '@teambit/remove';\nimport { DependencyGraph } from '@teambit/legacy.dependency-graph';\n\nexport type ResetResult = { id: ComponentID; versions: string[]; component?: ModelComponent };\n\n/**\n * If head is false, remove all local versions.\n */\nexport async function removeLocalVersion(\n scope: Scope,\n id: ComponentID,\n lane?: Lane,\n head?: boolean,\n force = false\n): Promise<ResetResult> {\n const component: ModelComponent = await scope.getModelComponent(id);\n const idStr = id.toString();\n const localVersions = await component.getLocalHashes(scope.objects);\n if (!localVersions.length) throw new BitError(`unable to untag ${idStr}, the component is not staged`);\n const headRef = component.getHeadRegardlessOfLane();\n if (!headRef) {\n throw new Error(`unable to reset ${idStr}, it has not head`);\n }\n if (head && !localVersions.find((v) => v.isEqual(headRef))) {\n throw new Error(`unable to reset ${idStr}, the head ${headRef.toString()} is exported`);\n }\n const versionsToRemove = head ? [headRef] : localVersions;\n const versionsToRemoveStr = component.switchHashesWithTagsIfExist(versionsToRemove);\n\n if (!force) {\n const dependencyGraph = await DependencyGraph.loadAllVersions(scope);\n\n versionsToRemoveStr.forEach((versionToRemove) => {\n const idWithVersion = component.toComponentId().changeVersion(versionToRemove);\n const dependents = dependencyGraph.getImmediateDependentsPerId(idWithVersion);\n if (dependents.length) {\n throw new BitError(\n `unable to reset ${idStr}, the version ${versionToRemove} has the following dependent(s) ${dependents.join(\n ', '\n )}`\n );\n }\n });\n }\n\n await scope.sources.removeComponentVersions(component, versionsToRemove, versionsToRemoveStr, lane, head);\n\n return { id, versions: versionsToRemoveStr, component };\n}\n\nexport async function removeLocalVersionsForAllComponents(\n consumer: Consumer,\n remove: RemoveMain,\n lane?: Lane,\n head?: boolean\n): Promise<ResetResult[]> {\n const componentsToUntag = await getComponentsWithOptionToUntag(consumer, remove);\n const force = true; // when removing local versions from all components, no need to check if the component is used as a dependency\n return removeLocalVersionsForMultipleComponents(componentsToUntag, lane, head, force, consumer.scope);\n}\n\nexport async function removeLocalVersionsForMultipleComponents(\n componentsToUntag: ModelComponent[],\n lane?: Lane,\n head?: boolean,\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n force: boolean,\n scope: Scope\n) {\n if (!componentsToUntag.length) {\n throw new BitError(`no components found to reset on your workspace`);\n }\n // if only head is removed, there is risk of deleting dependencies version without their dependents.\n if (!force && head) {\n const dependencyGraph = await DependencyGraph.loadAllVersions(scope);\n const candidateComponentsIds = componentsToUntag.map((component) => {\n const bitId = component.toComponentId();\n const headRef = component.getHeadRegardlessOfLane();\n if (!headRef)\n throw new Error(`component ${bitId.toString()} does not have head. it should not be a candidate for reset`);\n\n return bitId.changeVersion(component.getTagOfRefIfExists(headRef) || headRef.toString());\n });\n const candidateComponentsIdsStr = candidateComponentsIds.map((id) => id.toString());\n candidateComponentsIds.forEach((bitId: ComponentID) => {\n const dependents = dependencyGraph.getImmediateDependentsPerId(bitId);\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n const dependentsNotCandidates = dependents.filter((dependent) => !candidateComponentsIdsStr.includes(dependent));\n if (dependentsNotCandidates.length) {\n throw new BitError( // $FlowFixMe\n `unable to untag ${bitId}, the version ${bitId.version} has the following dependent(s) ${dependents.join(\n ', '\n )}`\n );\n }\n });\n }\n logger.debug(`found ${componentsToUntag.length} components to untag`);\n return Promise.all(\n componentsToUntag.map((component) => removeLocalVersion(scope, component.toComponentId(), lane, head, force))\n );\n}\n\nexport async function getComponentsWithOptionToUntag(\n consumer: Consumer,\n remove: RemoveMain\n): Promise<ModelComponent[]> {\n const componentList = new ComponentsList(consumer);\n const laneObj = await consumer.getCurrentLaneObject();\n const components: ModelComponent[] = await componentList.listExportPendingComponents(laneObj);\n const removedStagedIds = await remove.getRemovedStaged();\n if (!removedStagedIds.length) return components;\n const removedStagedBitIds = removedStagedIds.map((id) => id);\n const nonExistsInStaged = removedStagedBitIds.filter(\n (id) => !components.find((c) => c.toComponentId().isEqualWithoutVersion(id))\n );\n if (!nonExistsInStaged.length) return components;\n const modelComps = await Promise.all(nonExistsInStaged.map((id) => consumer.scope.getModelComponent(id)));\n components.push(...modelComps);\n\n return components;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -22,9 +22,10 @@ import Version, { Log } from '@teambit/legacy/dist/scope/models/version';
|
|
|
22
22
|
import { BasicTagParams, BasicTagSnapParams } from './tag-model-component';
|
|
23
23
|
import { TagDataPerCompRaw } from './tag-from-scope.cmd';
|
|
24
24
|
import { SnapDataPerCompRaw, FileData } from './snap-from-scope.cmd';
|
|
25
|
-
import {
|
|
25
|
+
import { ResetResult } from './reset-component';
|
|
26
26
|
import { ApplicationMain } from '@teambit/application';
|
|
27
27
|
import { RemoveMain } from '@teambit/remove';
|
|
28
|
+
import { AddVersionOpts } from '@teambit/legacy/dist/scope/models/model-component';
|
|
28
29
|
export type PackageIntegritiesByPublishedPackages = Map<string, string | undefined>;
|
|
29
30
|
export type TagDataPerComp = {
|
|
30
31
|
componentId: ComponentID;
|
|
@@ -142,7 +143,7 @@ export declare class SnappingMain {
|
|
|
142
143
|
* once a tag/snap is exported, it's impossible to delete it as other components may depend on it
|
|
143
144
|
*/
|
|
144
145
|
reset(componentPattern?: string, head?: boolean, force?: boolean, soft?: boolean): Promise<{
|
|
145
|
-
results:
|
|
146
|
+
results: ResetResult[];
|
|
146
147
|
isSoftUntag: boolean;
|
|
147
148
|
}>;
|
|
148
149
|
resetNeverExported(): Promise<ComponentID[]>;
|
|
@@ -154,16 +155,16 @@ export declare class SnappingMain {
|
|
|
154
155
|
_addFlattenedDepsGraphToComponents(components: ConsumerComponent[]): Promise<void>;
|
|
155
156
|
_updateComponentsByTagResult(components: ConsumerComponent[], tagResult: LegacyOnTagResult[]): void;
|
|
156
157
|
_getPublishedPackages(components: ConsumerComponent[]): PackageIntegritiesByPublishedPackages;
|
|
157
|
-
_addCompToObjects({ source, lane, shouldValidateVersion,
|
|
158
|
+
_addCompToObjects({ source, lane, shouldValidateVersion, addVersionOpts, }: {
|
|
158
159
|
source: ConsumerComponent;
|
|
159
160
|
lane?: Lane;
|
|
160
161
|
shouldValidateVersion?: boolean;
|
|
161
|
-
|
|
162
|
+
addVersionOpts?: AddVersionOpts;
|
|
162
163
|
}): Promise<{
|
|
163
164
|
component: ModelComponent;
|
|
164
165
|
version: Version;
|
|
165
166
|
}>;
|
|
166
|
-
_addCompFromScopeToObjects(source: ConsumerComponent, lane?: Lane,
|
|
167
|
+
_addCompFromScopeToObjects(source: ConsumerComponent, lane?: Lane, addVersionOpts?: AddVersionOpts): Promise<{
|
|
167
168
|
component: ModelComponent;
|
|
168
169
|
version: Version;
|
|
169
170
|
}>;
|
|
@@ -151,9 +151,9 @@ function _dependencyResolver() {
|
|
|
151
151
|
};
|
|
152
152
|
return data;
|
|
153
153
|
}
|
|
154
|
-
function
|
|
155
|
-
const data = require("@teambit/legacy
|
|
156
|
-
|
|
154
|
+
function _legacy2() {
|
|
155
|
+
const data = require("@teambit/legacy.extension-data");
|
|
156
|
+
_legacy2 = function () {
|
|
157
157
|
return data;
|
|
158
158
|
};
|
|
159
159
|
return data;
|
|
@@ -326,9 +326,9 @@ function _application() {
|
|
|
326
326
|
};
|
|
327
327
|
return data;
|
|
328
328
|
}
|
|
329
|
-
function
|
|
329
|
+
function _legacy3() {
|
|
330
330
|
const data = require("@teambit/legacy.scope-api");
|
|
331
|
-
|
|
331
|
+
_legacy3 = function () {
|
|
332
332
|
return data;
|
|
333
333
|
};
|
|
334
334
|
return data;
|
|
@@ -543,7 +543,8 @@ if you're willing to lose the history from the head to the specified version, us
|
|
|
543
543
|
skipAutoTag: true,
|
|
544
544
|
persist: true,
|
|
545
545
|
ids: componentIds,
|
|
546
|
-
message: params.message
|
|
546
|
+
message: params.message,
|
|
547
|
+
setHeadAsParent: params.ignoreNewestVersion
|
|
547
548
|
}));
|
|
548
549
|
const {
|
|
549
550
|
taggedComponents,
|
|
@@ -584,7 +585,7 @@ if you're willing to lose the history from the head to the specified version, us
|
|
|
584
585
|
try {
|
|
585
586
|
lane = await this.importer.importLaneObject(laneId);
|
|
586
587
|
} catch (err) {
|
|
587
|
-
if (err.constructor.name !==
|
|
588
|
+
if (err.constructor.name !== _legacy3().LaneNotFound.name) throw err;
|
|
588
589
|
// if the lane is not found, it's probably because it's new. create a new lane.
|
|
589
590
|
lane = await (0, _lanesModules().createLaneInScope)(laneId.name, this.scope, laneId.scope);
|
|
590
591
|
// it's important to set the lane as new in scope.json. otherwise, later, when importing and the lane is loaded
|
|
@@ -1089,12 +1090,12 @@ another option, in case this dependency is not in main yet is to remove all refe
|
|
|
1089
1090
|
source,
|
|
1090
1091
|
lane,
|
|
1091
1092
|
shouldValidateVersion = false,
|
|
1092
|
-
|
|
1093
|
+
addVersionOpts
|
|
1093
1094
|
}) {
|
|
1094
1095
|
const {
|
|
1095
1096
|
component,
|
|
1096
1097
|
version
|
|
1097
|
-
} = await this._addCompFromScopeToObjects(source, lane,
|
|
1098
|
+
} = await this._addCompFromScopeToObjects(source, lane, addVersionOpts);
|
|
1098
1099
|
const unmergedComponent = this.scope.legacyScope.objects.unmergedComponents.getEntry(component.toComponentId());
|
|
1099
1100
|
if (unmergedComponent) {
|
|
1100
1101
|
if (unmergedComponent.unrelated) {
|
|
@@ -1132,7 +1133,7 @@ another option, in case this dependency is not in main yet is to remove all refe
|
|
|
1132
1133
|
version
|
|
1133
1134
|
};
|
|
1134
1135
|
}
|
|
1135
|
-
async _addCompFromScopeToObjects(source, lane,
|
|
1136
|
+
async _addCompFromScopeToObjects(source, lane, addVersionOpts) {
|
|
1136
1137
|
const objectRepo = this.objectsRepo;
|
|
1137
1138
|
// if a component exists in the model, add a new version. Otherwise, create a new component on the model
|
|
1138
1139
|
// @todo: fix the ts error here with "source"
|
|
@@ -1160,7 +1161,7 @@ another option, in case this dependency is not in main yet is to remove all refe
|
|
|
1160
1161
|
if (flattenedEdges) this.objectsRepo.add(flattenedEdges);
|
|
1161
1162
|
if (dependenciesGraph) this.objectsRepo.add(dependenciesGraph);
|
|
1162
1163
|
if (!source.version) throw new Error(`addSource expects source.version to be set`);
|
|
1163
|
-
component.addVersion(version, source.version, lane, source.previouslyUsedVersion,
|
|
1164
|
+
component.addVersion(version, source.version, lane, source.previouslyUsedVersion, addVersionOpts);
|
|
1164
1165
|
objectRepo.add(component);
|
|
1165
1166
|
if (lane) objectRepo.add(lane);
|
|
1166
1167
|
files.forEach(file => objectRepo.add(file.file));
|
|
@@ -1337,7 +1338,7 @@ another option, in case this dependency is not in main yet is to remove all refe
|
|
|
1337
1338
|
Object.assign(existingExtension.data, data);
|
|
1338
1339
|
return;
|
|
1339
1340
|
}
|
|
1340
|
-
const extension = new (
|
|
1341
|
+
const extension = new (_legacy2().ExtensionDataEntry)(undefined, undefined, extId, undefined, data);
|
|
1341
1342
|
component.config.extensions.push(extension);
|
|
1342
1343
|
}
|
|
1343
1344
|
async getTagPendingComponentsIds(includeUnmodified = false) {
|