@teambit/objects 0.0.675 → 0.0.677
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/dist/models/lane.d.ts
CHANGED
|
@@ -86,6 +86,11 @@ export default class Lane extends BitObject {
|
|
|
86
86
|
findUpdateDependent(componentId: ComponentID): ComponentID | undefined;
|
|
87
87
|
getUpdateDependentAsLaneComponent(componentId: ComponentID): LaneComponent | undefined;
|
|
88
88
|
removeComponentFromUpdateDependentsIfExist(componentId: ComponentID): void;
|
|
89
|
+
/**
|
|
90
|
+
* remove several entries in one pass. matches by component-id and not by version, the same rule the
|
|
91
|
+
* lane merge uses to reconcile these entries.
|
|
92
|
+
*/
|
|
93
|
+
removeComponentsFromUpdateDependents(componentIds: ComponentID[]): void;
|
|
89
94
|
addComponentToUpdateDependents(componentId: ComponentID): void;
|
|
90
95
|
removeAllUpdateDependents(): void;
|
|
91
96
|
/**
|
package/dist/models/lane.js
CHANGED
|
@@ -298,6 +298,17 @@ class Lane extends _objects().BitObject {
|
|
|
298
298
|
if (!this.updateDependents?.length) this.updateDependents = undefined;
|
|
299
299
|
this.hasChanged = true;
|
|
300
300
|
}
|
|
301
|
+
/**
|
|
302
|
+
* remove several entries in one pass. matches by component-id and not by version, the same rule the
|
|
303
|
+
* lane merge uses to reconcile these entries.
|
|
304
|
+
*/
|
|
305
|
+
removeComponentsFromUpdateDependents(componentIds) {
|
|
306
|
+
if (!this.updateDependents?.length || !componentIds.length) return;
|
|
307
|
+
const remaining = this.updateDependents.filter(entry => !componentIds.some(toRemove => toRemove.isEqualWithoutVersion(entry)));
|
|
308
|
+
if (remaining.length === this.updateDependents.length) return;
|
|
309
|
+
this.updateDependents = remaining.length ? remaining : undefined;
|
|
310
|
+
this.hasChanged = true;
|
|
311
|
+
}
|
|
301
312
|
addComponentToUpdateDependents(componentId) {
|
|
302
313
|
if (!componentId.hasVersion()) {
|
|
303
314
|
throw new (_legacyCli().ValidationError)(`Lane.addComponentToUpdateDependents: ${componentId.toString()} is missing a version`);
|
package/dist/models/lane.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_uuid","data","require","_semver","_lodash","_bitError","_componentId","_componentVersion","_laneId","_legacy","_legacyCli","_legacy2","_legacy3","_toolboxCrypto","_component","_objects","_configStore","ownKeys","e","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","OLD_LANE_SCHEMA","SCHEMA_INCLUDING_DELETED_COMPONENTS_DATA","CURRENT_LANE_SCHEMA","Lane","BitObject","constructor","props","name","scope","components","log","date","Date","now","toString","_hash","hash","readmeComponent","forkedFrom","schema","updateDependents","overrideUpdateDependents","id","LANE_REMOTE_DELIMITER","Error","Ref","changeName","hasChanged","changeScope","refs","map","c","head","validateBeforePersisting","str","logger","debug","lane","parse","validate","toObject","obj","pickBy","component","fullName","isDeleted","val","from","create","bitCloudUser","username","getConfig","CFG_USER_NAME_KEY","email","CFG_USER_EMAIL_KEY","profileImage","sha1","v4","isNew","contents","laneObject","JSON","ComponentID","fromObject","LaneId","fromString","toBuffer","pretty","args","getStringifyArgs","stringify","validateBeforePersist","Buffer","addComponent","existsComponent","getComponent","isEqual","Boolean","findUpdateDependent","componentId","find","isEqualWithoutVersion","getUpdateDependentAsLaneComponent","found","version","undefined","changeVersion","removeComponentFromUpdateDependentsIfExist","addComponentToUpdateDependents","hasVersion","ValidationError","removeAllUpdateDependents","setOverrideUpdateDependents","shouldOverrideUpdateDependents","removeComponent","getComponentHead","bitId","setLaneComponents","laneComponents","clone","setReadmeComponent","previousReadme","isFullyMerged","unmerged","getMergedAndUnmergedIds","merged","Promise","all","modelComponent","getModelComponentIfExist","startTraverseFrom","getHead","headExist","hasVersionByRef","objects","toBitIds","toComponentIds","ComponentIdList","fromArray","toComponentIdsIncludeUpdateDependents","concat","toLaneId","collectObjectsById","repo","headVersion","load","collect","includeDeletedData","gte","setSchemaToSupportDeletedData","setSchemaToNotSupportDeletedData","getCompHeadIncludeUpdateDependents","comp","message","bitIds","filterWithoutVersion","isSnap","toStringWithoutVersion","DEFAULT_LANE","BitError","PREVIOUS_DEFAULT_LANE","normalize","l","sort","a","b","localeCompare","thisUpdDeps","otherUpdDeps","cloneDeep","exports","default"],"sources":["lane.ts"],"sourcesContent":["import { v4 } from 'uuid';\nimport { gte } from 'semver';\nimport { cloneDeep, isEqual, pickBy } from 'lodash';\nimport { BitError } from '@teambit/bit-error';\nimport { ComponentID, ComponentIdList } from '@teambit/component-id';\nimport { isSnap } from '@teambit/component-version';\nimport { LaneId, DEFAULT_LANE, LANE_REMOTE_DELIMITER } from '@teambit/lane-id';\nimport type { Scope } from '@teambit/legacy.scope';\nimport { CFG_USER_EMAIL_KEY, CFG_USER_NAME_KEY, PREVIOUS_DEFAULT_LANE } from '@teambit/legacy.constants';\nimport { ValidationError } from '@teambit/legacy.cli.error';\nimport { logger } from '@teambit/legacy.logger';\nimport { getStringifyArgs } from '@teambit/legacy.utils';\nimport { sha1 } from '@teambit/toolbox.crypto.sha1';\nimport { hasVersionByRef } from '@teambit/component.snap-distance';\nimport type { Repository } from '../objects';\nimport { BitObject, Ref } from '../objects';\nimport type Version from './version';\nimport { getConfig } from '@teambit/config-store';\n\nexport type Log = { date: string; username?: string; email?: string; profileImage?: string };\n\nexport type LaneProps = {\n name: string;\n scope: string;\n log: Log;\n components?: LaneComponent[];\n hash: string;\n schema?: string;\n readmeComponent?: LaneReadmeComponent;\n forkedFrom?: LaneId;\n updateDependents?: ComponentID[];\n overrideUpdateDependents?: boolean;\n};\n\nconst OLD_LANE_SCHEMA = '0.0.0';\nconst SCHEMA_INCLUDING_DELETED_COMPONENTS_DATA = '1.0.0';\nconst CURRENT_LANE_SCHEMA = SCHEMA_INCLUDING_DELETED_COMPONENTS_DATA;\n\nexport type LaneComponent = { id: ComponentID; head: Ref; isDeleted?: boolean };\nexport type LaneReadmeComponent = { id: ComponentID; head: Ref | null };\nexport default class Lane extends BitObject {\n name: string;\n scope: string;\n components: LaneComponent[];\n log: Log;\n schema: string;\n readmeComponent?: LaneReadmeComponent;\n forkedFrom?: LaneId;\n _hash: string; // reason for the underscore prefix is that we already have hash as a method\n isNew = false; // doesn't get saved in the object. only needed for in-memory instance\n hasChanged = false; // doesn't get saved in the object. only needed for in-memory instance\n /**\n * components that are dependents of components in the lane and need to be re-snapped against the\n * lane's heads. populated by the bare-scope cascade producer (UI \"snap updates\" / `bit _snap`)\n * and by `bit _merge-lane`. these entries are part of the lane's graph (Ripple CI builds them,\n * merge engine refreshes them) but are intentionally hidden from workspace-facing flows\n * (`bit status`, `bit compile`, `bit install`, the bitmap).\n */\n updateDependents?: ComponentID[];\n private overrideUpdateDependents?: boolean;\n constructor(props: LaneProps) {\n super();\n if (!props.name) throw new TypeError('Lane constructor expects to get a name parameter');\n this.name = props.name;\n this.scope = props.scope;\n this.components = props.components || [];\n this.log = props.log || { date: Date.now().toString() };\n this._hash = props.hash;\n this.readmeComponent = props.readmeComponent;\n this.forkedFrom = props.forkedFrom;\n this.schema = props.schema || OLD_LANE_SCHEMA;\n this.updateDependents = props.updateDependents;\n this.overrideUpdateDependents = props.overrideUpdateDependents;\n }\n id(): string {\n return this.scope + LANE_REMOTE_DELIMITER + this.name;\n }\n hash(): Ref {\n if (!this._hash) {\n throw new Error('hash is missing from a Lane object');\n }\n return new Ref(this._hash);\n }\n changeName(name: string) {\n this.name = name;\n this.hasChanged = true;\n }\n changeScope(scope: string) {\n this.scope = scope;\n this.hasChanged = true;\n }\n refs(): Ref[] {\n return this.components.map((c) => c.head);\n }\n validateBeforePersisting(str: string) {\n logger.debug(`validating lane object: ${this.hash().toString()} ${this.id()}`);\n const lane = Lane.parse(str, this.hash().toString());\n lane.validate();\n }\n toObject() {\n const obj = pickBy(\n {\n name: this.name,\n scope: this.scope,\n components: this.components.map((component) => ({\n id: { scope: component.id.scope, name: component.id.fullName },\n head: component.head.toString(),\n ...(component.isDeleted && { isDeleted: component.isDeleted }),\n })),\n log: this.log,\n readmeComponent: this.readmeComponent && {\n id: { scope: this.readmeComponent.id.scope, name: this.readmeComponent.id.fullName },\n head: this.readmeComponent.head?.toString() ?? null,\n },\n forkedFrom: this.forkedFrom && this.forkedFrom.toObject(),\n schema: this.schema,\n updateDependents: this.updateDependents?.map((c) => c.toString()),\n overrideUpdateDependents: this.overrideUpdateDependents,\n },\n (val) => !!val\n );\n return obj;\n }\n static from(props: LaneProps): Lane {\n return new Lane(props);\n }\n static create(\n name: string,\n scope: string,\n forkedFrom?: LaneId,\n bitCloudUser?: {\n username?: string;\n email?: string;\n profileImage?: string;\n }\n ) {\n const log = {\n date: Date.now().toString(),\n username: bitCloudUser?.username || getConfig(CFG_USER_NAME_KEY),\n email: bitCloudUser?.email || getConfig(CFG_USER_EMAIL_KEY),\n profileImage: bitCloudUser?.profileImage,\n };\n const lane = new Lane({ name, scope, hash: sha1(v4()), log, forkedFrom, schema: CURRENT_LANE_SCHEMA });\n lane.isNew = true;\n lane.hasChanged = true;\n return lane;\n }\n static parse(contents: string, hash: string): Lane {\n const laneObject = JSON.parse(contents);\n return Lane.from({\n name: laneObject.name,\n scope: laneObject.scope,\n log: laneObject.log,\n components: laneObject.components.map((component) => ({\n id: ComponentID.fromObject({ scope: component.id.scope, name: component.id.name }),\n head: new Ref(component.head),\n isDeleted: component.isDeleted,\n })),\n readmeComponent: laneObject.readmeComponent && {\n id: ComponentID.fromObject({\n scope: laneObject.readmeComponent.id.scope,\n name: laneObject.readmeComponent.id.name,\n }),\n head: laneObject.readmeComponent.head && new Ref(laneObject.readmeComponent.head),\n },\n forkedFrom: laneObject.forkedFrom && LaneId.from(laneObject.forkedFrom.name, laneObject.forkedFrom.scope),\n updateDependents: laneObject.updateDependents?.map((c) => ComponentID.fromString(c)),\n overrideUpdateDependents: laneObject.overrideUpdateDependents,\n hash: laneObject.hash || hash,\n schema: laneObject.schema,\n });\n }\n toBuffer(pretty?: boolean) {\n const args = getStringifyArgs(pretty);\n const obj = this.toObject();\n const str = JSON.stringify(obj, ...args);\n if (this.validateBeforePersist) this.validateBeforePersisting(str);\n return Buffer.from(str);\n }\n addComponent(component: LaneComponent) {\n const existsComponent = this.getComponent(component.id);\n if (existsComponent) {\n if (\n !existsComponent.head.isEqual(component.head) ||\n Boolean(existsComponent.isDeleted) !== Boolean(component.isDeleted)\n ) {\n this.hasChanged = true;\n }\n existsComponent.id = component.id;\n existsComponent.head = component.head;\n existsComponent.isDeleted = component.isDeleted;\n } else {\n logger.debug(`Lane.addComponent, adding component ${component.id.toString()} to lane ${this.id()}`);\n this.components.push(component);\n this.hasChanged = true;\n }\n }\n findUpdateDependent(componentId: ComponentID): ComponentID | undefined {\n return this.updateDependents?.find((c) => c.isEqualWithoutVersion(componentId));\n }\n getUpdateDependentAsLaneComponent(componentId: ComponentID): LaneComponent | undefined {\n const found = this.findUpdateDependent(componentId);\n if (!found?.version) return undefined;\n return { id: found.changeVersion(undefined), head: Ref.from(found.version) };\n }\n removeComponentFromUpdateDependentsIfExist(componentId: ComponentID) {\n if (!this.findUpdateDependent(componentId)) return;\n this.updateDependents = this.updateDependents?.filter((c) => !c.isEqualWithoutVersion(componentId));\n if (!this.updateDependents?.length) this.updateDependents = undefined;\n this.hasChanged = true;\n }\n addComponentToUpdateDependents(componentId: ComponentID) {\n if (!componentId.hasVersion()) {\n throw new ValidationError(`Lane.addComponentToUpdateDependents: ${componentId.toString()} is missing a version`);\n }\n this.removeComponentFromUpdateDependentsIfExist(componentId);\n (this.updateDependents ||= []).push(componentId);\n this.hasChanged = true;\n }\n removeAllUpdateDependents() {\n if (!this.updateDependents?.length) return;\n this.updateDependents = undefined;\n this.hasChanged = true;\n }\n /**\n * Signals an explicit `_snap --update-dependents` insertion. On export, the receiving scope\n * gates its \"add this new hidden entry\" branch on this flag so a stale workspace lane can't\n * resurrect entries the Cloud UI dropped. Workspace cascades — which only update existing\n * entries — deliberately do NOT set the flag. The field is also serialized by `Lane.toObject`\n * for older remotes that gate their pre-diverge-check override branch on it.\n */\n setOverrideUpdateDependents(overrideUpdateDependents: boolean) {\n this.overrideUpdateDependents = overrideUpdateDependents;\n this.hasChanged = true;\n }\n\n shouldOverrideUpdateDependents(): boolean {\n return Boolean(this.overrideUpdateDependents);\n }\n\n removeComponent(id: ComponentID): boolean {\n const existsComponent = this.getComponent(id);\n if (!existsComponent) return false;\n this.components = this.components.filter((c) => !c.id.isEqualWithoutVersion(id));\n this.hasChanged = true;\n return true;\n }\n getComponent(id: ComponentID): LaneComponent | undefined {\n return this.components.find((c) => c.id.isEqualWithoutVersion(id));\n }\n getComponentHead(bitId: ComponentID): Ref | null {\n const found = this.components.find((c) => c.id.isEqual(bitId));\n if (found) return found.head;\n return null;\n }\n setLaneComponents(laneComponents: LaneComponent[]) {\n // this gets called when adding lane-components from other lanes/remotes, so it's better to\n // clone the objects to not change the original data.\n this.components = laneComponents.map((c) => ({\n id: c.id.clone(),\n head: c.head.clone(),\n ...(c.isDeleted && { isDeleted: c.isDeleted }),\n }));\n this.hasChanged = true;\n }\n setReadmeComponent(id?: ComponentID) {\n const previousReadme = this.readmeComponent;\n if (!id) {\n this.readmeComponent = undefined;\n if (previousReadme) this.hasChanged = true;\n return;\n }\n const readmeComponent = this.getComponent(id);\n if (!readmeComponent) {\n this.readmeComponent = { id, head: null };\n } else {\n this.readmeComponent = readmeComponent;\n }\n if (\n !previousReadme ||\n !previousReadme.id.isEqual(id) ||\n previousReadme.head?.toString() !== this.readmeComponent.head?.toString()\n ) {\n this.hasChanged = true;\n }\n }\n\n async isFullyMerged(scope: Scope): Promise<boolean> {\n const { unmerged } = await this.getMergedAndUnmergedIds(scope);\n return unmerged.length === 0;\n }\n async getMergedAndUnmergedIds(scope: Scope): Promise<{ merged: ComponentID[]; unmerged: ComponentID[] }> {\n const merged: ComponentID[] = [];\n const unmerged: ComponentID[] = [];\n await Promise.all(\n this.components.map(async (component) => {\n const modelComponent = await scope.getModelComponentIfExist(component.id);\n if (!modelComponent) {\n unmerged.push(component.id);\n return;\n }\n const startTraverseFrom = modelComponent.getHead() || null; // it's important to have it as null and not as undefined, see hasVersionByRef\n const headExist = await hasVersionByRef(modelComponent, component.head, scope.objects, startTraverseFrom);\n if (headExist) merged.push(component.id);\n else unmerged.push(component.id);\n })\n );\n return { merged, unmerged };\n }\n /**\n * @deprecated use toComponentIds instead\n */\n toBitIds(): ComponentIdList {\n return this.toComponentIds();\n }\n toComponentIds(): ComponentIdList {\n return ComponentIdList.fromArray(this.components.map((c) => c.id.changeVersion(c.head.toString())));\n }\n toComponentIdsIncludeUpdateDependents(): ComponentIdList {\n return ComponentIdList.fromArray(this.toComponentIds().concat(this.updateDependents || []));\n }\n toLaneId() {\n return new LaneId({ scope: this.scope, name: this.name });\n }\n collectObjectsById(repo: Repository): Promise<Array<{ id: ComponentID; objects: BitObject[] }>> {\n return Promise.all(\n this.components.map(async (component) => {\n const headVersion = (await component.head.load(repo)) as Version;\n const objects = [headVersion, ...headVersion.collect(repo)];\n return { id: component.id, objects };\n })\n );\n }\n includeDeletedData(): boolean {\n return gte(this.schema, SCHEMA_INCLUDING_DELETED_COMPONENTS_DATA);\n }\n setSchemaToSupportDeletedData() {\n this.schema = SCHEMA_INCLUDING_DELETED_COMPONENTS_DATA;\n this.hasChanged = true;\n }\n setSchemaToNotSupportDeletedData() {\n this.schema = OLD_LANE_SCHEMA;\n this.hasChanged = true;\n }\n getCompHeadIncludeUpdateDependents(componentId: ComponentID): Ref | undefined {\n const comp = this.getComponent(componentId);\n if (comp) return comp.head;\n return this.getUpdateDependentAsLaneComponent(componentId)?.head;\n }\n validate() {\n const message = `unable to save Lane object \"${this.id()}\"`;\n const bitIds = this.toComponentIds();\n this.components.forEach((component) => {\n if (bitIds.filterWithoutVersion(component.id).length > 1) {\n throw new ValidationError(`${message}, the following component is duplicated \"${component.id.fullName}\"`);\n }\n if (!isSnap(component.head.hash)) {\n throw new ValidationError(\n `${message}, lane component ${component.id.toStringWithoutVersion()} head should be a hash, got ${\n component.head.hash\n }`\n );\n }\n });\n if (this.name === DEFAULT_LANE) {\n throw new BitError(`${message}, this name is reserved as the default lane`);\n }\n if (this.name === PREVIOUS_DEFAULT_LANE) {\n throw new BitError(`${message}, this name is reserved as the old default lane`);\n }\n }\n isEqual(lane: Lane): boolean {\n if (this.id() !== lane.id()) return false;\n // include isDeleted in equality so a soft-delete flip with the same head still counts as a\n // state change — `Lane.isEqual` is used by importers to decide whether to write a\n // LaneHistory entry.\n const normalize = (l: Lane) =>\n l.components\n .map((c) => ({\n id: c.id.toStringWithoutVersion(),\n head: c.head.toString(),\n isDeleted: Boolean(c.isDeleted),\n }))\n .sort((a, b) =>\n `${a.id}@${a.head}:${a.isDeleted ? 1 : 0}`.localeCompare(`${b.id}@${b.head}:${b.isDeleted ? 1 : 0}`)\n );\n const thisUpdDeps = (this.updateDependents || []).map((c) => c.toString()).sort();\n const otherUpdDeps = (lane.updateDependents || []).map((c) => c.toString()).sort();\n return isEqual(normalize(this), normalize(lane)) && isEqual(thisUpdDeps, otherUpdDeps);\n }\n clone() {\n return new Lane({\n ...this,\n hash: this._hash,\n overrideUpdateDependents: this.overrideUpdateDependents,\n components: cloneDeep(this.components),\n updateDependents: this.updateDependents ? cloneDeep(this.updateDependents) : undefined,\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_uuid","data","require","_semver","_lodash","_bitError","_componentId","_componentVersion","_laneId","_legacy","_legacyCli","_legacy2","_legacy3","_toolboxCrypto","_component","_objects","_configStore","ownKeys","e","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","OLD_LANE_SCHEMA","SCHEMA_INCLUDING_DELETED_COMPONENTS_DATA","CURRENT_LANE_SCHEMA","Lane","BitObject","constructor","props","name","scope","components","log","date","Date","now","toString","_hash","hash","readmeComponent","forkedFrom","schema","updateDependents","overrideUpdateDependents","id","LANE_REMOTE_DELIMITER","Error","Ref","changeName","hasChanged","changeScope","refs","map","c","head","validateBeforePersisting","str","logger","debug","lane","parse","validate","toObject","obj","pickBy","component","fullName","isDeleted","val","from","create","bitCloudUser","username","getConfig","CFG_USER_NAME_KEY","email","CFG_USER_EMAIL_KEY","profileImage","sha1","v4","isNew","contents","laneObject","JSON","ComponentID","fromObject","LaneId","fromString","toBuffer","pretty","args","getStringifyArgs","stringify","validateBeforePersist","Buffer","addComponent","existsComponent","getComponent","isEqual","Boolean","findUpdateDependent","componentId","find","isEqualWithoutVersion","getUpdateDependentAsLaneComponent","found","version","undefined","changeVersion","removeComponentFromUpdateDependentsIfExist","removeComponentsFromUpdateDependents","componentIds","remaining","entry","some","toRemove","addComponentToUpdateDependents","hasVersion","ValidationError","removeAllUpdateDependents","setOverrideUpdateDependents","shouldOverrideUpdateDependents","removeComponent","getComponentHead","bitId","setLaneComponents","laneComponents","clone","setReadmeComponent","previousReadme","isFullyMerged","unmerged","getMergedAndUnmergedIds","merged","Promise","all","modelComponent","getModelComponentIfExist","startTraverseFrom","getHead","headExist","hasVersionByRef","objects","toBitIds","toComponentIds","ComponentIdList","fromArray","toComponentIdsIncludeUpdateDependents","concat","toLaneId","collectObjectsById","repo","headVersion","load","collect","includeDeletedData","gte","setSchemaToSupportDeletedData","setSchemaToNotSupportDeletedData","getCompHeadIncludeUpdateDependents","comp","message","bitIds","filterWithoutVersion","isSnap","toStringWithoutVersion","DEFAULT_LANE","BitError","PREVIOUS_DEFAULT_LANE","normalize","l","sort","a","b","localeCompare","thisUpdDeps","otherUpdDeps","cloneDeep","exports","default"],"sources":["lane.ts"],"sourcesContent":["import { v4 } from 'uuid';\nimport { gte } from 'semver';\nimport { cloneDeep, isEqual, pickBy } from 'lodash';\nimport { BitError } from '@teambit/bit-error';\nimport { ComponentID, ComponentIdList } from '@teambit/component-id';\nimport { isSnap } from '@teambit/component-version';\nimport { LaneId, DEFAULT_LANE, LANE_REMOTE_DELIMITER } from '@teambit/lane-id';\nimport type { Scope } from '@teambit/legacy.scope';\nimport { CFG_USER_EMAIL_KEY, CFG_USER_NAME_KEY, PREVIOUS_DEFAULT_LANE } from '@teambit/legacy.constants';\nimport { ValidationError } from '@teambit/legacy.cli.error';\nimport { logger } from '@teambit/legacy.logger';\nimport { getStringifyArgs } from '@teambit/legacy.utils';\nimport { sha1 } from '@teambit/toolbox.crypto.sha1';\nimport { hasVersionByRef } from '@teambit/component.snap-distance';\nimport type { Repository } from '../objects';\nimport { BitObject, Ref } from '../objects';\nimport type Version from './version';\nimport { getConfig } from '@teambit/config-store';\n\nexport type Log = { date: string; username?: string; email?: string; profileImage?: string };\n\nexport type LaneProps = {\n name: string;\n scope: string;\n log: Log;\n components?: LaneComponent[];\n hash: string;\n schema?: string;\n readmeComponent?: LaneReadmeComponent;\n forkedFrom?: LaneId;\n updateDependents?: ComponentID[];\n overrideUpdateDependents?: boolean;\n};\n\nconst OLD_LANE_SCHEMA = '0.0.0';\nconst SCHEMA_INCLUDING_DELETED_COMPONENTS_DATA = '1.0.0';\nconst CURRENT_LANE_SCHEMA = SCHEMA_INCLUDING_DELETED_COMPONENTS_DATA;\n\nexport type LaneComponent = { id: ComponentID; head: Ref; isDeleted?: boolean };\nexport type LaneReadmeComponent = { id: ComponentID; head: Ref | null };\nexport default class Lane extends BitObject {\n name: string;\n scope: string;\n components: LaneComponent[];\n log: Log;\n schema: string;\n readmeComponent?: LaneReadmeComponent;\n forkedFrom?: LaneId;\n _hash: string; // reason for the underscore prefix is that we already have hash as a method\n isNew = false; // doesn't get saved in the object. only needed for in-memory instance\n hasChanged = false; // doesn't get saved in the object. only needed for in-memory instance\n /**\n * components that are dependents of components in the lane and need to be re-snapped against the\n * lane's heads. populated by the bare-scope cascade producer (UI \"snap updates\" / `bit _snap`)\n * and by `bit _merge-lane`. these entries are part of the lane's graph (Ripple CI builds them,\n * merge engine refreshes them) but are intentionally hidden from workspace-facing flows\n * (`bit status`, `bit compile`, `bit install`, the bitmap).\n */\n updateDependents?: ComponentID[];\n private overrideUpdateDependents?: boolean;\n constructor(props: LaneProps) {\n super();\n if (!props.name) throw new TypeError('Lane constructor expects to get a name parameter');\n this.name = props.name;\n this.scope = props.scope;\n this.components = props.components || [];\n this.log = props.log || { date: Date.now().toString() };\n this._hash = props.hash;\n this.readmeComponent = props.readmeComponent;\n this.forkedFrom = props.forkedFrom;\n this.schema = props.schema || OLD_LANE_SCHEMA;\n this.updateDependents = props.updateDependents;\n this.overrideUpdateDependents = props.overrideUpdateDependents;\n }\n id(): string {\n return this.scope + LANE_REMOTE_DELIMITER + this.name;\n }\n hash(): Ref {\n if (!this._hash) {\n throw new Error('hash is missing from a Lane object');\n }\n return new Ref(this._hash);\n }\n changeName(name: string) {\n this.name = name;\n this.hasChanged = true;\n }\n changeScope(scope: string) {\n this.scope = scope;\n this.hasChanged = true;\n }\n refs(): Ref[] {\n return this.components.map((c) => c.head);\n }\n validateBeforePersisting(str: string) {\n logger.debug(`validating lane object: ${this.hash().toString()} ${this.id()}`);\n const lane = Lane.parse(str, this.hash().toString());\n lane.validate();\n }\n toObject() {\n const obj = pickBy(\n {\n name: this.name,\n scope: this.scope,\n components: this.components.map((component) => ({\n id: { scope: component.id.scope, name: component.id.fullName },\n head: component.head.toString(),\n ...(component.isDeleted && { isDeleted: component.isDeleted }),\n })),\n log: this.log,\n readmeComponent: this.readmeComponent && {\n id: { scope: this.readmeComponent.id.scope, name: this.readmeComponent.id.fullName },\n head: this.readmeComponent.head?.toString() ?? null,\n },\n forkedFrom: this.forkedFrom && this.forkedFrom.toObject(),\n schema: this.schema,\n updateDependents: this.updateDependents?.map((c) => c.toString()),\n overrideUpdateDependents: this.overrideUpdateDependents,\n },\n (val) => !!val\n );\n return obj;\n }\n static from(props: LaneProps): Lane {\n return new Lane(props);\n }\n static create(\n name: string,\n scope: string,\n forkedFrom?: LaneId,\n bitCloudUser?: {\n username?: string;\n email?: string;\n profileImage?: string;\n }\n ) {\n const log = {\n date: Date.now().toString(),\n username: bitCloudUser?.username || getConfig(CFG_USER_NAME_KEY),\n email: bitCloudUser?.email || getConfig(CFG_USER_EMAIL_KEY),\n profileImage: bitCloudUser?.profileImage,\n };\n const lane = new Lane({ name, scope, hash: sha1(v4()), log, forkedFrom, schema: CURRENT_LANE_SCHEMA });\n lane.isNew = true;\n lane.hasChanged = true;\n return lane;\n }\n static parse(contents: string, hash: string): Lane {\n const laneObject = JSON.parse(contents);\n return Lane.from({\n name: laneObject.name,\n scope: laneObject.scope,\n log: laneObject.log,\n components: laneObject.components.map((component) => ({\n id: ComponentID.fromObject({ scope: component.id.scope, name: component.id.name }),\n head: new Ref(component.head),\n isDeleted: component.isDeleted,\n })),\n readmeComponent: laneObject.readmeComponent && {\n id: ComponentID.fromObject({\n scope: laneObject.readmeComponent.id.scope,\n name: laneObject.readmeComponent.id.name,\n }),\n head: laneObject.readmeComponent.head && new Ref(laneObject.readmeComponent.head),\n },\n forkedFrom: laneObject.forkedFrom && LaneId.from(laneObject.forkedFrom.name, laneObject.forkedFrom.scope),\n updateDependents: laneObject.updateDependents?.map((c) => ComponentID.fromString(c)),\n overrideUpdateDependents: laneObject.overrideUpdateDependents,\n hash: laneObject.hash || hash,\n schema: laneObject.schema,\n });\n }\n toBuffer(pretty?: boolean) {\n const args = getStringifyArgs(pretty);\n const obj = this.toObject();\n const str = JSON.stringify(obj, ...args);\n if (this.validateBeforePersist) this.validateBeforePersisting(str);\n return Buffer.from(str);\n }\n addComponent(component: LaneComponent) {\n const existsComponent = this.getComponent(component.id);\n if (existsComponent) {\n if (\n !existsComponent.head.isEqual(component.head) ||\n Boolean(existsComponent.isDeleted) !== Boolean(component.isDeleted)\n ) {\n this.hasChanged = true;\n }\n existsComponent.id = component.id;\n existsComponent.head = component.head;\n existsComponent.isDeleted = component.isDeleted;\n } else {\n logger.debug(`Lane.addComponent, adding component ${component.id.toString()} to lane ${this.id()}`);\n this.components.push(component);\n this.hasChanged = true;\n }\n }\n findUpdateDependent(componentId: ComponentID): ComponentID | undefined {\n return this.updateDependents?.find((c) => c.isEqualWithoutVersion(componentId));\n }\n getUpdateDependentAsLaneComponent(componentId: ComponentID): LaneComponent | undefined {\n const found = this.findUpdateDependent(componentId);\n if (!found?.version) return undefined;\n return { id: found.changeVersion(undefined), head: Ref.from(found.version) };\n }\n removeComponentFromUpdateDependentsIfExist(componentId: ComponentID) {\n if (!this.findUpdateDependent(componentId)) return;\n this.updateDependents = this.updateDependents?.filter((c) => !c.isEqualWithoutVersion(componentId));\n if (!this.updateDependents?.length) this.updateDependents = undefined;\n this.hasChanged = true;\n }\n /**\n * remove several entries in one pass. matches by component-id and not by version, the same rule the\n * lane merge uses to reconcile these entries.\n */\n removeComponentsFromUpdateDependents(componentIds: ComponentID[]) {\n if (!this.updateDependents?.length || !componentIds.length) return;\n const remaining = this.updateDependents.filter(\n (entry) => !componentIds.some((toRemove) => toRemove.isEqualWithoutVersion(entry))\n );\n if (remaining.length === this.updateDependents.length) return;\n this.updateDependents = remaining.length ? remaining : undefined;\n this.hasChanged = true;\n }\n addComponentToUpdateDependents(componentId: ComponentID) {\n if (!componentId.hasVersion()) {\n throw new ValidationError(`Lane.addComponentToUpdateDependents: ${componentId.toString()} is missing a version`);\n }\n this.removeComponentFromUpdateDependentsIfExist(componentId);\n (this.updateDependents ||= []).push(componentId);\n this.hasChanged = true;\n }\n removeAllUpdateDependents() {\n if (!this.updateDependents?.length) return;\n this.updateDependents = undefined;\n this.hasChanged = true;\n }\n /**\n * Signals an explicit `_snap --update-dependents` insertion. On export, the receiving scope\n * gates its \"add this new hidden entry\" branch on this flag so a stale workspace lane can't\n * resurrect entries the Cloud UI dropped. Workspace cascades — which only update existing\n * entries — deliberately do NOT set the flag. The field is also serialized by `Lane.toObject`\n * for older remotes that gate their pre-diverge-check override branch on it.\n */\n setOverrideUpdateDependents(overrideUpdateDependents: boolean) {\n this.overrideUpdateDependents = overrideUpdateDependents;\n this.hasChanged = true;\n }\n\n shouldOverrideUpdateDependents(): boolean {\n return Boolean(this.overrideUpdateDependents);\n }\n\n removeComponent(id: ComponentID): boolean {\n const existsComponent = this.getComponent(id);\n if (!existsComponent) return false;\n this.components = this.components.filter((c) => !c.id.isEqualWithoutVersion(id));\n this.hasChanged = true;\n return true;\n }\n getComponent(id: ComponentID): LaneComponent | undefined {\n return this.components.find((c) => c.id.isEqualWithoutVersion(id));\n }\n getComponentHead(bitId: ComponentID): Ref | null {\n const found = this.components.find((c) => c.id.isEqual(bitId));\n if (found) return found.head;\n return null;\n }\n setLaneComponents(laneComponents: LaneComponent[]) {\n // this gets called when adding lane-components from other lanes/remotes, so it's better to\n // clone the objects to not change the original data.\n this.components = laneComponents.map((c) => ({\n id: c.id.clone(),\n head: c.head.clone(),\n ...(c.isDeleted && { isDeleted: c.isDeleted }),\n }));\n this.hasChanged = true;\n }\n setReadmeComponent(id?: ComponentID) {\n const previousReadme = this.readmeComponent;\n if (!id) {\n this.readmeComponent = undefined;\n if (previousReadme) this.hasChanged = true;\n return;\n }\n const readmeComponent = this.getComponent(id);\n if (!readmeComponent) {\n this.readmeComponent = { id, head: null };\n } else {\n this.readmeComponent = readmeComponent;\n }\n if (\n !previousReadme ||\n !previousReadme.id.isEqual(id) ||\n previousReadme.head?.toString() !== this.readmeComponent.head?.toString()\n ) {\n this.hasChanged = true;\n }\n }\n\n async isFullyMerged(scope: Scope): Promise<boolean> {\n const { unmerged } = await this.getMergedAndUnmergedIds(scope);\n return unmerged.length === 0;\n }\n async getMergedAndUnmergedIds(scope: Scope): Promise<{ merged: ComponentID[]; unmerged: ComponentID[] }> {\n const merged: ComponentID[] = [];\n const unmerged: ComponentID[] = [];\n await Promise.all(\n this.components.map(async (component) => {\n const modelComponent = await scope.getModelComponentIfExist(component.id);\n if (!modelComponent) {\n unmerged.push(component.id);\n return;\n }\n const startTraverseFrom = modelComponent.getHead() || null; // it's important to have it as null and not as undefined, see hasVersionByRef\n const headExist = await hasVersionByRef(modelComponent, component.head, scope.objects, startTraverseFrom);\n if (headExist) merged.push(component.id);\n else unmerged.push(component.id);\n })\n );\n return { merged, unmerged };\n }\n /**\n * @deprecated use toComponentIds instead\n */\n toBitIds(): ComponentIdList {\n return this.toComponentIds();\n }\n toComponentIds(): ComponentIdList {\n return ComponentIdList.fromArray(this.components.map((c) => c.id.changeVersion(c.head.toString())));\n }\n toComponentIdsIncludeUpdateDependents(): ComponentIdList {\n return ComponentIdList.fromArray(this.toComponentIds().concat(this.updateDependents || []));\n }\n toLaneId() {\n return new LaneId({ scope: this.scope, name: this.name });\n }\n collectObjectsById(repo: Repository): Promise<Array<{ id: ComponentID; objects: BitObject[] }>> {\n return Promise.all(\n this.components.map(async (component) => {\n const headVersion = (await component.head.load(repo)) as Version;\n const objects = [headVersion, ...headVersion.collect(repo)];\n return { id: component.id, objects };\n })\n );\n }\n includeDeletedData(): boolean {\n return gte(this.schema, SCHEMA_INCLUDING_DELETED_COMPONENTS_DATA);\n }\n setSchemaToSupportDeletedData() {\n this.schema = SCHEMA_INCLUDING_DELETED_COMPONENTS_DATA;\n this.hasChanged = true;\n }\n setSchemaToNotSupportDeletedData() {\n this.schema = OLD_LANE_SCHEMA;\n this.hasChanged = true;\n }\n getCompHeadIncludeUpdateDependents(componentId: ComponentID): Ref | undefined {\n const comp = this.getComponent(componentId);\n if (comp) return comp.head;\n return this.getUpdateDependentAsLaneComponent(componentId)?.head;\n }\n validate() {\n const message = `unable to save Lane object \"${this.id()}\"`;\n const bitIds = this.toComponentIds();\n this.components.forEach((component) => {\n if (bitIds.filterWithoutVersion(component.id).length > 1) {\n throw new ValidationError(`${message}, the following component is duplicated \"${component.id.fullName}\"`);\n }\n if (!isSnap(component.head.hash)) {\n throw new ValidationError(\n `${message}, lane component ${component.id.toStringWithoutVersion()} head should be a hash, got ${\n component.head.hash\n }`\n );\n }\n });\n if (this.name === DEFAULT_LANE) {\n throw new BitError(`${message}, this name is reserved as the default lane`);\n }\n if (this.name === PREVIOUS_DEFAULT_LANE) {\n throw new BitError(`${message}, this name is reserved as the old default lane`);\n }\n }\n isEqual(lane: Lane): boolean {\n if (this.id() !== lane.id()) return false;\n // include isDeleted in equality so a soft-delete flip with the same head still counts as a\n // state change — `Lane.isEqual` is used by importers to decide whether to write a\n // LaneHistory entry.\n const normalize = (l: Lane) =>\n l.components\n .map((c) => ({\n id: c.id.toStringWithoutVersion(),\n head: c.head.toString(),\n isDeleted: Boolean(c.isDeleted),\n }))\n .sort((a, b) =>\n `${a.id}@${a.head}:${a.isDeleted ? 1 : 0}`.localeCompare(`${b.id}@${b.head}:${b.isDeleted ? 1 : 0}`)\n );\n const thisUpdDeps = (this.updateDependents || []).map((c) => c.toString()).sort();\n const otherUpdDeps = (lane.updateDependents || []).map((c) => c.toString()).sort();\n return isEqual(normalize(this), normalize(lane)) && isEqual(thisUpdDeps, otherUpdDeps);\n }\n clone() {\n return new Lane({\n ...this,\n hash: this._hash,\n overrideUpdateDependents: this.overrideUpdateDependents,\n components: cloneDeep(this.components),\n updateDependents: this.updateDependents ? cloneDeep(this.updateDependents) : undefined,\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
package/models/lane.ts
CHANGED
|
@@ -209,6 +209,19 @@ export default class Lane extends BitObject {
|
|
|
209
209
|
if (!this.updateDependents?.length) this.updateDependents = undefined;
|
|
210
210
|
this.hasChanged = true;
|
|
211
211
|
}
|
|
212
|
+
/**
|
|
213
|
+
* remove several entries in one pass. matches by component-id and not by version, the same rule the
|
|
214
|
+
* lane merge uses to reconcile these entries.
|
|
215
|
+
*/
|
|
216
|
+
removeComponentsFromUpdateDependents(componentIds: ComponentID[]) {
|
|
217
|
+
if (!this.updateDependents?.length || !componentIds.length) return;
|
|
218
|
+
const remaining = this.updateDependents.filter(
|
|
219
|
+
(entry) => !componentIds.some((toRemove) => toRemove.isEqualWithoutVersion(entry))
|
|
220
|
+
);
|
|
221
|
+
if (remaining.length === this.updateDependents.length) return;
|
|
222
|
+
this.updateDependents = remaining.length ? remaining : undefined;
|
|
223
|
+
this.hasChanged = true;
|
|
224
|
+
}
|
|
212
225
|
addComponentToUpdateDependents(componentId: ComponentID) {
|
|
213
226
|
if (!componentId.hasVersion()) {
|
|
214
227
|
throw new ValidationError(`Lane.addComponentToUpdateDependents: ${componentId.toString()} is missing a version`);
|
package/package.json
CHANGED
|
@@ -1,60 +1,60 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/objects",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.677",
|
|
4
4
|
"homepage": "https://bit.cloud/teambit/scope/objects",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "teambit.scope",
|
|
8
8
|
"name": "objects",
|
|
9
|
-
"version": "0.0.
|
|
9
|
+
"version": "0.0.677"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
|
+
"@pnpm/lockfile.types": "1100.0.19",
|
|
13
|
+
"semver": "7.7.1",
|
|
12
14
|
"lodash": "4.17.21",
|
|
13
|
-
"
|
|
14
|
-
"p-map-series": "2.1.0",
|
|
15
|
+
"uuid": "8.3.2",
|
|
15
16
|
"async-mutex": "0.3.1",
|
|
17
|
+
"p-map-series": "2.1.0",
|
|
18
|
+
"tar-stream": "2.2.0",
|
|
16
19
|
"fs-extra": "10.0.0",
|
|
17
20
|
"glob": "13.0.0",
|
|
18
|
-
"@pnpm/lockfile.types": "1100.0.19",
|
|
19
|
-
"semver": "7.7.1",
|
|
20
|
-
"uuid": "8.3.2",
|
|
21
21
|
"@teambit/harmony": "0.4.12",
|
|
22
|
-
"@teambit/cli": "0.0.1392",
|
|
23
22
|
"@teambit/component-id": "1.2.4",
|
|
24
|
-
"@teambit/component.snap-distance": "0.0.164",
|
|
25
|
-
"@teambit/graph.cleargraph": "0.0.11",
|
|
26
|
-
"@teambit/harmony.modules.concurrency": "0.0.45",
|
|
27
|
-
"@teambit/legacy.logger": "0.0.61",
|
|
28
|
-
"@teambit/legacy.scope": "0.0.163",
|
|
29
|
-
"@teambit/toolbox.promise.map-pool": "0.0.21",
|
|
30
|
-
"@teambit/legacy.constants": "0.0.44",
|
|
31
23
|
"@teambit/legacy.utils": "0.0.51",
|
|
32
|
-
"@teambit/toolbox.crypto.sha1": "0.0.22",
|
|
33
24
|
"@teambit/bit-error": "0.0.404",
|
|
34
25
|
"@teambit/component-version": "1.0.4",
|
|
35
|
-
"@teambit/harmony.modules.in-memory-cache": "0.0.48",
|
|
36
|
-
"@teambit/toolbox.fs.remove-empty-dir": "0.0.20",
|
|
37
26
|
"@teambit/lane-id": "0.0.312",
|
|
38
|
-
"@teambit/harmony.modules.get-basic-log": "0.0.164",
|
|
39
|
-
"@teambit/config-store": "0.0.273",
|
|
40
27
|
"@teambit/legacy.cli.error": "0.0.61",
|
|
41
|
-
"@teambit/
|
|
28
|
+
"@teambit/legacy.constants": "0.0.44",
|
|
29
|
+
"@teambit/legacy.logger": "0.0.61",
|
|
30
|
+
"@teambit/toolbox.crypto.sha1": "0.0.22",
|
|
31
|
+
"@teambit/harmony.modules.concurrency": "0.0.45",
|
|
42
32
|
"@teambit/legacy-bit-id": "1.1.3",
|
|
43
33
|
"@teambit/legacy-component-log": "0.0.432",
|
|
44
|
-
"@teambit/legacy.consumer-component": "0.0.164",
|
|
45
|
-
"@teambit/legacy.consumer-config": "0.0.163",
|
|
46
|
-
"@teambit/legacy.extension-data": "0.0.165",
|
|
47
34
|
"@teambit/pkg.modules.semver-helper": "0.0.36",
|
|
48
35
|
"@teambit/toolbox.array.duplications-finder": "0.0.16",
|
|
36
|
+
"@teambit/toolbox.promise.map-pool": "0.0.21",
|
|
37
|
+
"@teambit/graph.cleargraph": "0.0.11",
|
|
49
38
|
"@teambit/bit.get-bit-version": "0.0.29",
|
|
50
|
-
"@teambit/
|
|
51
|
-
"@teambit/
|
|
39
|
+
"@teambit/harmony.modules.in-memory-cache": "0.0.48",
|
|
40
|
+
"@teambit/toolbox.fs.remove-empty-dir": "0.0.20",
|
|
41
|
+
"@teambit/cli": "0.0.1393",
|
|
42
|
+
"@teambit/harmony.modules.get-basic-log": "0.0.165",
|
|
43
|
+
"@teambit/component.snap-distance": "0.0.165",
|
|
44
|
+
"@teambit/config-store": "0.0.274",
|
|
45
|
+
"@teambit/legacy.scope": "0.0.164",
|
|
46
|
+
"@teambit/component.sources": "0.0.216",
|
|
47
|
+
"@teambit/legacy.consumer-component": "0.0.165",
|
|
48
|
+
"@teambit/legacy.consumer-config": "0.0.164",
|
|
49
|
+
"@teambit/legacy.extension-data": "0.0.166",
|
|
50
|
+
"@teambit/semantics.doc-parser": "0.0.172",
|
|
51
|
+
"@teambit/graph": "1.0.1170"
|
|
52
52
|
},
|
|
53
53
|
"devDependencies": {
|
|
54
|
-
"@types/lodash": "4.14.165",
|
|
55
|
-
"@types/fs-extra": "9.0.7",
|
|
56
54
|
"@types/semver": "7.5.8",
|
|
55
|
+
"@types/lodash": "4.14.165",
|
|
57
56
|
"@types/uuid": "8.3.4",
|
|
57
|
+
"@types/fs-extra": "9.0.7",
|
|
58
58
|
"@teambit/harmony.envs.core-aspect-env": "2.1.1"
|
|
59
59
|
},
|
|
60
60
|
"peerDependencies": {
|
|
File without changes
|