@teambit/objects 0.0.0-fe8e30c7942d34e4dfb8bda5b2527ab810254a3d → 0.0.0-ff3121b14c6880670d2b2c275634315b73294711

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.
Files changed (73) hide show
  1. package/dist/models/dependencies-graph.d.ts +1 -1
  2. package/dist/models/dependencies-graph.js.map +1 -1
  3. package/dist/models/export-metadata.js +0 -2
  4. package/dist/models/export-metadata.js.map +1 -1
  5. package/dist/models/lane-history.d.ts +1 -1
  6. package/dist/models/lane-history.js.map +1 -1
  7. package/dist/models/lane.d.ts +6 -5
  8. package/dist/models/lane.js.map +1 -1
  9. package/dist/models/model-component.d.ts +10 -8
  10. package/dist/models/model-component.js +22 -5
  11. package/dist/models/model-component.js.map +1 -1
  12. package/dist/models/scopeMeta.d.ts +1 -1
  13. package/dist/models/scopeMeta.js +0 -3
  14. package/dist/models/scopeMeta.js.map +1 -1
  15. package/dist/models/source.d.ts +2 -2
  16. package/dist/models/source.js +0 -1
  17. package/dist/models/source.js.map +1 -1
  18. package/dist/models/symlink.d.ts +1 -1
  19. package/dist/models/version-history.d.ts +1 -1
  20. package/dist/models/version-history.js.map +1 -1
  21. package/dist/models/version.d.ts +11 -9
  22. package/dist/models/version.js +1 -13
  23. package/dist/models/version.js.map +1 -1
  24. package/dist/models/version.spec.js +4 -12
  25. package/dist/models/version.spec.js.map +1 -1
  26. package/dist/objects/bit-object-list.d.ts +1 -1
  27. package/dist/objects/bit-object-list.js.map +1 -1
  28. package/dist/objects/object-list-to-graph.d.ts +2 -2
  29. package/dist/objects/object-list-to-graph.js.map +1 -1
  30. package/dist/objects/object-list.d.ts +6 -0
  31. package/dist/objects/object-list.js +20 -0
  32. package/dist/objects/object-list.js.map +1 -1
  33. package/dist/objects/object.d.ts +2 -2
  34. package/dist/objects/object.js +0 -1
  35. package/dist/objects/object.js.map +1 -1
  36. package/dist/objects/objects-readable-generator.d.ts +4 -4
  37. package/dist/objects/objects-readable-generator.js.map +1 -1
  38. package/dist/objects/raw-object.d.ts +2 -2
  39. package/dist/objects/raw-object.js +1 -11
  40. package/dist/objects/raw-object.js.map +1 -1
  41. package/dist/objects/ref.d.ts +2 -2
  42. package/dist/objects/ref.js.map +1 -1
  43. package/dist/objects/repository.d.ts +23 -7
  44. package/dist/objects/repository.js +23 -12
  45. package/dist/objects/repository.js.map +1 -1
  46. package/dist/objects/scope-index.d.ts +2 -2
  47. package/dist/objects/scope-index.js +0 -1
  48. package/dist/objects/scope-index.js.map +1 -1
  49. package/models/dependencies-graph.ts +1 -1
  50. package/models/export-metadata.ts +0 -1
  51. package/models/lane-history.ts +1 -1
  52. package/models/lane.ts +4 -3
  53. package/models/model-component.ts +36 -16
  54. package/models/scopeMeta.ts +1 -3
  55. package/models/source.ts +0 -1
  56. package/models/version-history.ts +1 -1
  57. package/models/version.spec.ts +4 -12
  58. package/models/version.ts +10 -21
  59. package/objects/bit-object-list.ts +1 -1
  60. package/objects/object-list-to-graph.ts +2 -2
  61. package/objects/object-list.ts +14 -0
  62. package/objects/object.ts +2 -3
  63. package/objects/objects-readable-generator.ts +6 -6
  64. package/objects/raw-object.ts +2 -12
  65. package/objects/ref.ts +2 -2
  66. package/objects/repository.ts +29 -17
  67. package/objects/scope-index.ts +2 -3
  68. package/package.json +32 -32
  69. package/dist/objects/repository-hooks.d.ts +0 -4
  70. package/dist/objects/repository-hooks.js +0 -56
  71. package/dist/objects/repository-hooks.js.map +0 -1
  72. package/objects/repository-hooks.ts +0 -42
  73. /package/dist/{preview-1752679581363.js → preview-1765762480694.js} +0 -0
@@ -1,4 +1,4 @@
1
- import { LockfilePackageInfo } from '@pnpm/lockfile.types';
1
+ import type { LockfilePackageInfo } from '@pnpm/lockfile.types';
2
2
  export type PackagesMap = Map<string, PackageAttributes>;
3
3
  export type PackageAttributes = LockfilePackageInfo & {
4
4
  component?: {
@@ -1 +1 @@
1
- {"version":3,"names":["_semver","data","_interopRequireDefault","require","dp","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_defineProperty","_toPropertyKey","value","enumerable","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","DEPENDENCIES_GRAPH_SCHEMA_VERSION","DependenciesGraph","constructor","packages","edges","schemaVersion","serialize","JSON","stringify","fromEntries","entries","deserialize","parsed","parse","undefined","Map","merge","graph","directDependencies","findRootEdge","neighbours","directDep","existingDirectDeps","existingDirectDep","find","name","specifier","push","id","nodeIdLessThan","newPkgId","newPkgAttr","isEmpty","size","length","ROOT_EDGE_ID","exports","nodeId1","nodeId2","parsed1","version","parsed2","semver","lt"],"sources":["dependencies-graph.ts"],"sourcesContent":["import semver from 'semver';\nimport { LockfilePackageInfo } from '@pnpm/lockfile.types';\nimport * as dp from '@pnpm/dependency-path';\n\nexport type PackagesMap = Map<string, PackageAttributes>;\n\nexport type PackageAttributes = LockfilePackageInfo & {\n component?: {\n scope: string;\n name: string;\n };\n requiresBuild?: boolean;\n};\n\nexport type DependencyEdge = {\n id: string;\n neighbours: DependencyNeighbour[];\n attr?: {\n pkgId?: string;\n transitivePeerDependencies?: string[];\n };\n};\n\nexport type DependencyNeighbour = {\n id: string;\n /**\n * This is true when the dependency is from optionalDependencies.\n */\n optional?: boolean;\n name?: string;\n specifier?: string;\n lifecycle?: 'runtime' | 'dev';\n};\n\nconst DEPENDENCIES_GRAPH_SCHEMA_VERSION = '2.0';\n\nexport class DependenciesGraph {\n static ROOT_EDGE_ID = '.';\n\n schemaVersion: string;\n packages: PackagesMap;\n edges: DependencyEdge[];\n\n constructor({\n packages,\n edges,\n schemaVersion,\n }: {\n packages: PackagesMap;\n edges: DependencyEdge[];\n schemaVersion?: string;\n }) {\n this.packages = packages;\n this.edges = edges;\n this.schemaVersion = schemaVersion ?? DEPENDENCIES_GRAPH_SCHEMA_VERSION;\n }\n\n serialize(): string {\n return JSON.stringify({\n schemaVersion: this.schemaVersion,\n packages: Object.fromEntries(this.packages.entries()),\n edges: this.edges,\n });\n }\n\n static deserialize(data: string): DependenciesGraph | undefined {\n const parsed = JSON.parse(data);\n // If the schema version is not supported, then we just ignore the data\n if (parsed.schemaVersion !== DEPENDENCIES_GRAPH_SCHEMA_VERSION) {\n return undefined;\n }\n return new DependenciesGraph({\n schemaVersion: parsed.schemaVersion,\n edges: parsed.edges,\n packages: new Map(Object.entries(parsed.packages)),\n });\n }\n\n merge(graph: DependenciesGraph): void {\n const directDependencies = graph.findRootEdge()?.neighbours;\n if (directDependencies) {\n for (const directDep of directDependencies) {\n const existingDirectDeps = this.findRootEdge()?.neighbours;\n if (existingDirectDeps) {\n const existingDirectDep = existingDirectDeps.find(\n ({ name, specifier }) => name === directDep.name && specifier === directDep.specifier\n );\n if (existingDirectDep == null) {\n existingDirectDeps.push(directDep);\n } else if (existingDirectDep.id !== directDep.id && nodeIdLessThan(existingDirectDep.id, directDep.id)) {\n existingDirectDep.id = directDep.id;\n }\n }\n }\n }\n for (const [newPkgId, newPkgAttr] of graph.packages.entries()) {\n this.packages.set(newPkgId, newPkgAttr);\n }\n this.edges.push(...graph.edges);\n }\n\n isEmpty(): boolean {\n return this.packages.size === 0 && this.edges.length === 0;\n }\n\n /**\n * Returns the edge related to the root component\n */\n findRootEdge(): DependencyEdge | undefined {\n return this.edges.find(({ id }) => id === DependenciesGraph.ROOT_EDGE_ID);\n }\n}\n\nfunction nodeIdLessThan(nodeId1: string, nodeId2: string): boolean {\n const parsed1 = dp.parse(nodeId1);\n if (!parsed1?.version) return false;\n const parsed2 = dp.parse(nodeId2);\n if (!parsed2?.version) return false;\n return semver.lt(parsed1.version, parsed2.version);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_semver","data","_interopRequireDefault","require","dp","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_defineProperty","_toPropertyKey","value","enumerable","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","DEPENDENCIES_GRAPH_SCHEMA_VERSION","DependenciesGraph","constructor","packages","edges","schemaVersion","serialize","JSON","stringify","fromEntries","entries","deserialize","parsed","parse","undefined","Map","merge","graph","directDependencies","findRootEdge","neighbours","directDep","existingDirectDeps","existingDirectDep","find","name","specifier","push","id","nodeIdLessThan","newPkgId","newPkgAttr","isEmpty","size","length","ROOT_EDGE_ID","exports","nodeId1","nodeId2","parsed1","version","parsed2","semver","lt"],"sources":["dependencies-graph.ts"],"sourcesContent":["import semver from 'semver';\nimport type { LockfilePackageInfo } from '@pnpm/lockfile.types';\nimport * as dp from '@pnpm/dependency-path';\n\nexport type PackagesMap = Map<string, PackageAttributes>;\n\nexport type PackageAttributes = LockfilePackageInfo & {\n component?: {\n scope: string;\n name: string;\n };\n requiresBuild?: boolean;\n};\n\nexport type DependencyEdge = {\n id: string;\n neighbours: DependencyNeighbour[];\n attr?: {\n pkgId?: string;\n transitivePeerDependencies?: string[];\n };\n};\n\nexport type DependencyNeighbour = {\n id: string;\n /**\n * This is true when the dependency is from optionalDependencies.\n */\n optional?: boolean;\n name?: string;\n specifier?: string;\n lifecycle?: 'runtime' | 'dev';\n};\n\nconst DEPENDENCIES_GRAPH_SCHEMA_VERSION = '2.0';\n\nexport class DependenciesGraph {\n static ROOT_EDGE_ID = '.';\n\n schemaVersion: string;\n packages: PackagesMap;\n edges: DependencyEdge[];\n\n constructor({\n packages,\n edges,\n schemaVersion,\n }: {\n packages: PackagesMap;\n edges: DependencyEdge[];\n schemaVersion?: string;\n }) {\n this.packages = packages;\n this.edges = edges;\n this.schemaVersion = schemaVersion ?? DEPENDENCIES_GRAPH_SCHEMA_VERSION;\n }\n\n serialize(): string {\n return JSON.stringify({\n schemaVersion: this.schemaVersion,\n packages: Object.fromEntries(this.packages.entries()),\n edges: this.edges,\n });\n }\n\n static deserialize(data: string): DependenciesGraph | undefined {\n const parsed = JSON.parse(data);\n // If the schema version is not supported, then we just ignore the data\n if (parsed.schemaVersion !== DEPENDENCIES_GRAPH_SCHEMA_VERSION) {\n return undefined;\n }\n return new DependenciesGraph({\n schemaVersion: parsed.schemaVersion,\n edges: parsed.edges,\n packages: new Map(Object.entries(parsed.packages)),\n });\n }\n\n merge(graph: DependenciesGraph): void {\n const directDependencies = graph.findRootEdge()?.neighbours;\n if (directDependencies) {\n for (const directDep of directDependencies) {\n const existingDirectDeps = this.findRootEdge()?.neighbours;\n if (existingDirectDeps) {\n const existingDirectDep = existingDirectDeps.find(\n ({ name, specifier }) => name === directDep.name && specifier === directDep.specifier\n );\n if (existingDirectDep == null) {\n existingDirectDeps.push(directDep);\n } else if (existingDirectDep.id !== directDep.id && nodeIdLessThan(existingDirectDep.id, directDep.id)) {\n existingDirectDep.id = directDep.id;\n }\n }\n }\n }\n for (const [newPkgId, newPkgAttr] of graph.packages.entries()) {\n this.packages.set(newPkgId, newPkgAttr);\n }\n this.edges.push(...graph.edges);\n }\n\n isEmpty(): boolean {\n return this.packages.size === 0 && this.edges.length === 0;\n }\n\n /**\n * Returns the edge related to the root component\n */\n findRootEdge(): DependencyEdge | undefined {\n return this.edges.find(({ id }) => id === DependenciesGraph.ROOT_EDGE_ID);\n }\n}\n\nfunction nodeIdLessThan(nodeId1: string, nodeId2: string): boolean {\n const parsed1 = dp.parse(nodeId1);\n if (!parsed1?.version) return false;\n const parsed2 = dp.parse(nodeId2);\n if (!parsed2?.version) return false;\n return semver.lt(parsed1.version, parsed2.version);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -47,8 +47,6 @@ class ExportMetadata extends _objects().BitObject {
47
47
  }))
48
48
  };
49
49
  }
50
-
51
- // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
52
50
  toString(pretty) {
53
51
  const args = (0, _legacy().getStringifyArgs)(pretty);
54
52
  return JSON.stringify(this.toObject(), ...args);
@@ -1 +1 @@
1
- {"version":3,"names":["_componentId","data","require","_legacy","_objects","_defineProperty","e","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","ExportMetadata","BitObject","constructor","props","exportVersions","toObject","map","exportComp","id","toStringWithoutVersion","versions","head","toString","pretty","args","getStringifyArgs","JSON","stringify","name","toBuffer","Buffer","from","parse","contents","parsed","comp","ComponentID","fromString","Ref","exports","default"],"sources":["export-metadata.ts"],"sourcesContent":["import { ComponentID } from '@teambit/component-id';\nimport { getStringifyArgs } from '@teambit/legacy.utils';\nimport { BitObject, Ref } from '../objects';\n\ntype ExportMetadataProps = {\n exportVersions: ExportVersions[];\n};\n\nexport type ExportVersions = { id: ComponentID; versions: string[]; head: Ref };\n\n/**\n * @deprecated since 0.0.928 (see #6758). this object is not sent to the remote anymore.\n * introduced in 0.0.782 (see #5935)\n */\nexport default class ExportMetadata extends BitObject {\n exportVersions: ExportVersions[];\n constructor(props: ExportMetadataProps) {\n super();\n this.exportVersions = props.exportVersions;\n }\n\n toObject(): Record<string, any> {\n return {\n exportVersions: this.exportVersions.map((exportComp) => ({\n id: exportComp.id.toStringWithoutVersion(),\n versions: exportComp.versions,\n head: exportComp.head.toString(),\n })),\n };\n }\n\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n toString(pretty: boolean): string {\n const args = getStringifyArgs(pretty);\n return JSON.stringify(this.toObject(), ...args);\n }\n\n id(): string {\n return ExportMetadata.name;\n }\n\n toBuffer(pretty): Buffer {\n return Buffer.from(this.toString(pretty));\n }\n\n static parse(contents: string): ExportMetadata {\n const parsed = JSON.parse(contents);\n const props: ExportMetadataProps = {\n exportVersions: parsed.exportVersions.map((comp) => ({\n id: ComponentID.fromString(comp.id),\n versions: comp.versions,\n head: Ref.from(comp.head),\n })),\n };\n return new ExportMetadata(props);\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_componentId","data","require","_legacy","_objects","_defineProperty","e","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","ExportMetadata","BitObject","constructor","props","exportVersions","toObject","map","exportComp","id","toStringWithoutVersion","versions","head","toString","pretty","args","getStringifyArgs","JSON","stringify","name","toBuffer","Buffer","from","parse","contents","parsed","comp","ComponentID","fromString","Ref","exports","default"],"sources":["export-metadata.ts"],"sourcesContent":["import { ComponentID } from '@teambit/component-id';\nimport { getStringifyArgs } from '@teambit/legacy.utils';\nimport { BitObject, Ref } from '../objects';\n\ntype ExportMetadataProps = {\n exportVersions: ExportVersions[];\n};\n\nexport type ExportVersions = { id: ComponentID; versions: string[]; head: Ref };\n\n/**\n * @deprecated since 0.0.928 (see #6758). this object is not sent to the remote anymore.\n * introduced in 0.0.782 (see #5935)\n */\nexport default class ExportMetadata extends BitObject {\n exportVersions: ExportVersions[];\n constructor(props: ExportMetadataProps) {\n super();\n this.exportVersions = props.exportVersions;\n }\n\n toObject(): Record<string, any> {\n return {\n exportVersions: this.exportVersions.map((exportComp) => ({\n id: exportComp.id.toStringWithoutVersion(),\n versions: exportComp.versions,\n head: exportComp.head.toString(),\n })),\n };\n }\n\n toString(pretty: boolean): string {\n const args = getStringifyArgs(pretty);\n return JSON.stringify(this.toObject(), ...args);\n }\n\n id(): string {\n return ExportMetadata.name;\n }\n\n toBuffer(pretty): Buffer {\n return Buffer.from(this.toString(pretty));\n }\n\n static parse(contents: string): ExportMetadata {\n const parsed = JSON.parse(contents);\n const props: ExportMetadataProps = {\n exportVersions: parsed.exportVersions.map((comp) => ({\n id: ComponentID.fromString(comp.id),\n versions: comp.versions,\n head: Ref.from(comp.head),\n })),\n };\n return new ExportMetadata(props);\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,aAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,YAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,QAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,OAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,SAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,QAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA4C,SAAAI,gBAAAC,CAAA,EAAAC,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAE,cAAA,CAAAF,CAAA,MAAAD,CAAA,GAAAI,MAAA,CAAAC,cAAA,CAAAL,CAAA,EAAAC,CAAA,IAAAK,KAAA,EAAAJ,CAAA,EAAAK,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAAT,CAAA,CAAAC,CAAA,IAAAC,CAAA,EAAAF,CAAA;AAAA,SAAAG,eAAAD,CAAA,QAAAQ,CAAA,GAAAC,YAAA,CAAAT,CAAA,uCAAAQ,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAT,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAF,CAAA,GAAAE,CAAA,CAAAU,MAAA,CAAAC,WAAA,kBAAAb,CAAA,QAAAU,CAAA,GAAAV,CAAA,CAAAc,IAAA,CAAAZ,CAAA,EAAAD,CAAA,uCAAAS,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAAd,CAAA,GAAAe,MAAA,GAAAC,MAAA,EAAAf,CAAA;AAQ5C;AACA;AACA;AACA;AACe,MAAMgB,cAAc,SAASC,oBAAS,CAAC;EAEpDC,WAAWA,CAACC,KAA0B,EAAE;IACtC,KAAK,CAAC,CAAC;IAACtB,eAAA;IACR,IAAI,CAACuB,cAAc,GAAGD,KAAK,CAACC,cAAc;EAC5C;EAEAC,QAAQA,CAAA,EAAwB;IAC9B,OAAO;MACLD,cAAc,EAAE,IAAI,CAACA,cAAc,CAACE,GAAG,CAAEC,UAAU,KAAM;QACvDC,EAAE,EAAED,UAAU,CAACC,EAAE,CAACC,sBAAsB,CAAC,CAAC;QAC1CC,QAAQ,EAAEH,UAAU,CAACG,QAAQ;QAC7BC,IAAI,EAAEJ,UAAU,CAACI,IAAI,CAACC,QAAQ,CAAC;MACjC,CAAC,CAAC;IACJ,CAAC;EACH;EAEAA,QAAQA,CAACC,MAAe,EAAU;IAChC,MAAMC,IAAI,GAAG,IAAAC,0BAAgB,EAACF,MAAM,CAAC;IACrC,OAAOG,IAAI,CAACC,SAAS,CAAC,IAAI,CAACZ,QAAQ,CAAC,CAAC,EAAE,GAAGS,IAAI,CAAC;EACjD;EAEAN,EAAEA,CAAA,EAAW;IACX,OAAOR,cAAc,CAACkB,IAAI;EAC5B;EAEAC,QAAQA,CAACN,MAAM,EAAU;IACvB,OAAOO,MAAM,CAACC,IAAI,CAAC,IAAI,CAACT,QAAQ,CAACC,MAAM,CAAC,CAAC;EAC3C;EAEA,OAAOS,KAAKA,CAACC,QAAgB,EAAkB;IAC7C,MAAMC,MAAM,GAAGR,IAAI,CAACM,KAAK,CAACC,QAAQ,CAAC;IACnC,MAAMpB,KAA0B,GAAG;MACjCC,cAAc,EAAEoB,MAAM,CAACpB,cAAc,CAACE,GAAG,CAAEmB,IAAI,KAAM;QACnDjB,EAAE,EAAEkB,0BAAW,CAACC,UAAU,CAACF,IAAI,CAACjB,EAAE,CAAC;QACnCE,QAAQ,EAAEe,IAAI,CAACf,QAAQ;QACvBC,IAAI,EAAEiB,cAAG,CAACP,IAAI,CAACI,IAAI,CAACd,IAAI;MAC1B,CAAC,CAAC;IACJ,CAAC;IACD,OAAO,IAAIX,cAAc,CAACG,KAAK,CAAC;EAClC;AACF;AAAC0B,OAAA,CAAAC,OAAA,GAAA9B,cAAA","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import { BitObject } from '../objects';
2
- import Lane from './lane';
2
+ import type Lane from './lane';
3
3
  type Log = {
4
4
  date: string;
5
5
  username?: string;
@@ -1 +1 @@
1
- {"version":3,"names":["_uuid","data","require","_legacy","_harmonyModules","_objects","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","LaneHistory","BitObject","constructor","props","name","scope","laneHash","history","id","fromLaneObject","laneObject","hash","toString","toObject","pretty","args","getStringifyArgs","JSON","stringify","toBuffer","Buffer","from","getHistory","addHistory","laneObj","msg","log","getBasicLog","message","components","toComponentIds","toStringArray","deleted","c","isDeleted","map","changeVersion","head","v4","merge","laneHistory","create","parse","contents","parsed","exports"],"sources":["lane-history.ts"],"sourcesContent":["import { v4 } from 'uuid';\nimport { getStringifyArgs } from '@teambit/legacy.utils';\nimport { getBasicLog } from '@teambit/harmony.modules.get-basic-log';\nimport { BitObject } from '../objects';\nimport Lane from './lane';\n\ntype Log = { date: string; username?: string; email?: string; message?: string };\n\nexport type HistoryItem = {\n log: Log;\n components: string[];\n deleted?: string[];\n};\n\ntype History = { [uuid: string]: HistoryItem };\n\ntype LaneHistoryProps = {\n name: string;\n scope: string;\n laneHash: string;\n history: History;\n};\n\nexport class LaneHistory extends BitObject {\n private name: string;\n private scope: string;\n private laneHash: string;\n private history: History;\n\n constructor(props: LaneHistoryProps) {\n super();\n this.name = props.name;\n this.scope = props.scope;\n this.laneHash = props.laneHash;\n this.history = props.history;\n }\n\n id() {\n return `${this.laneHash}:${LaneHistory.name}`;\n }\n\n static fromLaneObject(laneObject: Lane): LaneHistory {\n return new LaneHistory({\n scope: laneObject.scope,\n name: laneObject.name,\n laneHash: laneObject.hash().toString(),\n history: {},\n });\n }\n\n toObject(): Record<string, any> {\n return {\n name: this.name,\n scope: this.scope,\n laneHash: this.laneHash,\n history: this.history,\n };\n }\n\n toString(pretty: boolean): string {\n const args = getStringifyArgs(pretty);\n return JSON.stringify(this.toObject(), ...args);\n }\n\n toBuffer(pretty): Buffer {\n return Buffer.from(this.toString(pretty));\n }\n\n getHistory(): History {\n return this.history;\n }\n\n async addHistory(laneObj: Lane, msg?: string) {\n const log: Log = await getBasicLog();\n if (msg) log.message = msg;\n const components = laneObj.toComponentIds().toStringArray();\n const deleted = laneObj.components\n .filter((c) => c.isDeleted)\n .map((c) => c.id.changeVersion(c.head.toString()).toString());\n this.history[v4()] = { log, components, ...(deleted.length && { deleted }) };\n }\n\n merge(laneHistory: LaneHistory) {\n this.history = { ...this.history, ...laneHistory.history };\n }\n\n static create(name: string, scope: string, laneHash: string) {\n return new LaneHistory({\n name,\n scope,\n laneHash,\n history: {},\n });\n }\n\n static parse(contents: string): LaneHistory {\n const parsed = JSON.parse(contents);\n const props: LaneHistoryProps = {\n name: parsed.name,\n scope: parsed.scope,\n laneHash: parsed.laneHash,\n history: parsed.history,\n };\n return new LaneHistory(props);\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_uuid","data","require","_legacy","_harmonyModules","_objects","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","LaneHistory","BitObject","constructor","props","name","scope","laneHash","history","id","fromLaneObject","laneObject","hash","toString","toObject","pretty","args","getStringifyArgs","JSON","stringify","toBuffer","Buffer","from","getHistory","addHistory","laneObj","msg","log","getBasicLog","message","components","toComponentIds","toStringArray","deleted","c","isDeleted","map","changeVersion","head","v4","merge","laneHistory","create","parse","contents","parsed","exports"],"sources":["lane-history.ts"],"sourcesContent":["import { v4 } from 'uuid';\nimport { getStringifyArgs } from '@teambit/legacy.utils';\nimport { getBasicLog } from '@teambit/harmony.modules.get-basic-log';\nimport { BitObject } from '../objects';\nimport type Lane from './lane';\n\ntype Log = { date: string; username?: string; email?: string; message?: string };\n\nexport type HistoryItem = {\n log: Log;\n components: string[];\n deleted?: string[];\n};\n\ntype History = { [uuid: string]: HistoryItem };\n\ntype LaneHistoryProps = {\n name: string;\n scope: string;\n laneHash: string;\n history: History;\n};\n\nexport class LaneHistory extends BitObject {\n private name: string;\n private scope: string;\n private laneHash: string;\n private history: History;\n\n constructor(props: LaneHistoryProps) {\n super();\n this.name = props.name;\n this.scope = props.scope;\n this.laneHash = props.laneHash;\n this.history = props.history;\n }\n\n id() {\n return `${this.laneHash}:${LaneHistory.name}`;\n }\n\n static fromLaneObject(laneObject: Lane): LaneHistory {\n return new LaneHistory({\n scope: laneObject.scope,\n name: laneObject.name,\n laneHash: laneObject.hash().toString(),\n history: {},\n });\n }\n\n toObject(): Record<string, any> {\n return {\n name: this.name,\n scope: this.scope,\n laneHash: this.laneHash,\n history: this.history,\n };\n }\n\n toString(pretty: boolean): string {\n const args = getStringifyArgs(pretty);\n return JSON.stringify(this.toObject(), ...args);\n }\n\n toBuffer(pretty): Buffer {\n return Buffer.from(this.toString(pretty));\n }\n\n getHistory(): History {\n return this.history;\n }\n\n async addHistory(laneObj: Lane, msg?: string) {\n const log: Log = await getBasicLog();\n if (msg) log.message = msg;\n const components = laneObj.toComponentIds().toStringArray();\n const deleted = laneObj.components\n .filter((c) => c.isDeleted)\n .map((c) => c.id.changeVersion(c.head.toString()).toString());\n this.history[v4()] = { log, components, ...(deleted.length && { deleted }) };\n }\n\n merge(laneHistory: LaneHistory) {\n this.history = { ...this.history, ...laneHistory.history };\n }\n\n static create(name: string, scope: string, laneHash: string) {\n return new LaneHistory({\n name,\n scope,\n laneHash,\n history: {},\n });\n }\n\n static parse(contents: string): LaneHistory {\n const parsed = JSON.parse(contents);\n const props: LaneHistoryProps = {\n name: parsed.name,\n scope: parsed.scope,\n laneHash: parsed.laneHash,\n history: parsed.history,\n };\n return new LaneHistory(props);\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,8 @@
1
1
  import { ComponentID, ComponentIdList } from '@teambit/component-id';
2
2
  import { LaneId } from '@teambit/lane-id';
3
- import { Scope } from '@teambit/legacy.scope';
4
- import { BitObject, Ref, Repository } from '../objects';
3
+ import type { Scope } from '@teambit/legacy.scope';
4
+ import type { Repository } from '../objects';
5
+ import { BitObject, Ref } from '../objects';
5
6
  export type Log = {
6
7
  date: string;
7
8
  username?: string;
@@ -58,14 +59,14 @@ export default class Lane extends BitObject {
58
59
  toObject(): import("lodash").Dictionary<string | boolean | string[] | {
59
60
  scope: string;
60
61
  name: string;
61
- } | Log | {
62
+ } | {
62
63
  isDeleted?: true | undefined;
63
64
  id: {
64
65
  scope: string;
65
66
  name: string;
66
67
  };
67
68
  head: string;
68
- }[] | {
69
+ }[] | Log | {
69
70
  id: {
70
71
  scope: string;
71
72
  name: string;
@@ -79,7 +80,7 @@ export default class Lane extends BitObject {
79
80
  profileImage?: string;
80
81
  }): Lane;
81
82
  static parse(contents: string, hash: string): Lane;
82
- toBuffer(pretty?: boolean): Buffer;
83
+ toBuffer(pretty?: boolean): Buffer<ArrayBuffer>;
83
84
  addComponent(component: LaneComponent): void;
84
85
  removeComponentFromUpdateDependentsIfExist(componentId: ComponentID): void;
85
86
  addComponentToUpdateDependents(componentId: ComponentID): void;
@@ -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","removeComponentFromUpdateDependentsIfExist","componentId","updateDependentsList","ComponentIdList","fromArray","exist","searchWithoutVersion","removeIfExist","undefined","addComponentToUpdateDependents","removeAllUpdateDependents","shouldOverrideUpdateDependents","setOverrideUpdateDependents","removeComponent","isEqualWithoutVersion","find","getComponentHead","bitId","found","setLaneComponents","laneComponents","clone","setReadmeComponent","previousReadme","isFullyMerged","unmerged","getMergedAndUnmergedIds","merged","Promise","all","modelComponent","getModelComponentIfExist","startTraverseFrom","getHead","headExist","hasVersionByRef","objects","toBitIds","toComponentIds","changeVersion","toComponentIdsIncludeUpdateDependents","concat","toLaneId","collectObjectsById","repo","headVersion","load","collect","includeDeletedData","gte","setSchemaToSupportDeletedData","setSchemaToNotSupportDeletedData","getCompHeadIncludeUpdateDependents","comp","fromUpdateDependents","version","message","bitIds","filterWithoutVersion","ValidationError","isSnap","toStringWithoutVersion","DEFAULT_LANE","BitError","PREVIOUS_DEFAULT_LANE","thisComponents","toStringArray","sort","otherComponents","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 { 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 { BitObject, Ref, Repository } from '../objects';\nimport 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 * populated when a user clicks on \"update\" in the UI. it's a list of components that are dependents on the\n * components in the lane. their dependencies are updated according to the lane.\n * from the CLI perspective, it's added by \"bit _snap\" and merged by \"bit _merge-lane\".\n * otherwise, the user is not aware of it. it's not imported to the workspace and the objects are not fetched.\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 (!existsComponent.head.isEqual(component.head)) this.hasChanged = true;\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 removeComponentFromUpdateDependentsIfExist(componentId: ComponentID) {\n const updateDependentsList = ComponentIdList.fromArray(this.updateDependents || []);\n const exist = updateDependentsList.searchWithoutVersion(componentId);\n if (!exist) return;\n this.updateDependents = updateDependentsList.removeIfExist(exist);\n if (!this.updateDependents.length) this.updateDependents = undefined;\n this.hasChanged = true;\n }\n addComponentToUpdateDependents(componentId: ComponentID) {\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 shouldOverrideUpdateDependents() {\n return this.overrideUpdateDependents;\n }\n /**\n * !!! important !!!\n * this should get called only on a \"temp lane\", such as running \"bit _snap\", which the scope gets destroys after the\n * command is done. when _scope exports the lane, this \"overrideUpdateDependents\" is not saved to the remote-scope.\n *\n * on a user local lane object, this prop should never be true. otherwise, it'll override the remote-scope data.\n */\n setOverrideUpdateDependents(overrideUpdateDependents: boolean) {\n this.overrideUpdateDependents = overrideUpdateDependents;\n this.hasChanged = true;\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) => ({ id: c.id.clone(), head: c.head.clone() }));\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 const fromUpdateDependents = this.updateDependents?.find((c) => c.isEqualWithoutVersion(componentId));\n if (fromUpdateDependents) return Ref.from(fromUpdateDependents.version);\n return undefined;\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 const thisComponents = this.toComponentIds().toStringArray().sort();\n const otherComponents = lane.toComponentIds().toStringArray().sort();\n return isEqual(thisComponents, otherComponents);\n }\n clone() {\n return new Lane({\n ...this,\n hash: this._hash,\n overrideUpdateDependents: this.overrideUpdateDependents,\n components: cloneDeep(this.components),\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","removeComponentFromUpdateDependentsIfExist","componentId","updateDependentsList","ComponentIdList","fromArray","exist","searchWithoutVersion","removeIfExist","undefined","addComponentToUpdateDependents","removeAllUpdateDependents","shouldOverrideUpdateDependents","setOverrideUpdateDependents","removeComponent","isEqualWithoutVersion","find","getComponentHead","bitId","found","setLaneComponents","laneComponents","clone","setReadmeComponent","previousReadme","isFullyMerged","unmerged","getMergedAndUnmergedIds","merged","Promise","all","modelComponent","getModelComponentIfExist","startTraverseFrom","getHead","headExist","hasVersionByRef","objects","toBitIds","toComponentIds","changeVersion","toComponentIdsIncludeUpdateDependents","concat","toLaneId","collectObjectsById","repo","headVersion","load","collect","includeDeletedData","gte","setSchemaToSupportDeletedData","setSchemaToNotSupportDeletedData","getCompHeadIncludeUpdateDependents","comp","fromUpdateDependents","version","message","bitIds","filterWithoutVersion","ValidationError","isSnap","toStringWithoutVersion","DEFAULT_LANE","BitError","PREVIOUS_DEFAULT_LANE","thisComponents","toStringArray","sort","otherComponents","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 * populated when a user clicks on \"update\" in the UI. it's a list of components that are dependents on the\n * components in the lane. their dependencies are updated according to the lane.\n * from the CLI perspective, it's added by \"bit _snap\" and merged by \"bit _merge-lane\".\n * otherwise, the user is not aware of it. it's not imported to the workspace and the objects are not fetched.\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 (!existsComponent.head.isEqual(component.head)) this.hasChanged = true;\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 removeComponentFromUpdateDependentsIfExist(componentId: ComponentID) {\n const updateDependentsList = ComponentIdList.fromArray(this.updateDependents || []);\n const exist = updateDependentsList.searchWithoutVersion(componentId);\n if (!exist) return;\n this.updateDependents = updateDependentsList.removeIfExist(exist);\n if (!this.updateDependents.length) this.updateDependents = undefined;\n this.hasChanged = true;\n }\n addComponentToUpdateDependents(componentId: ComponentID) {\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 shouldOverrideUpdateDependents() {\n return this.overrideUpdateDependents;\n }\n /**\n * !!! important !!!\n * this should get called only on a \"temp lane\", such as running \"bit _snap\", which the scope gets destroys after the\n * command is done. when _scope exports the lane, this \"overrideUpdateDependents\" is not saved to the remote-scope.\n *\n * on a user local lane object, this prop should never be true. otherwise, it'll override the remote-scope data.\n */\n setOverrideUpdateDependents(overrideUpdateDependents: boolean) {\n this.overrideUpdateDependents = overrideUpdateDependents;\n this.hasChanged = true;\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) => ({ id: c.id.clone(), head: c.head.clone() }));\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 const fromUpdateDependents = this.updateDependents?.find((c) => c.isEqualWithoutVersion(componentId));\n if (fromUpdateDependents) return Ref.from(fromUpdateDependents.version);\n return undefined;\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 const thisComponents = this.toComponentIds().toStringArray().sort();\n const otherComponents = lane.toComponentIds().toStringArray().sort();\n return isEqual(thisComponents, otherComponents);\n }\n clone() {\n return new Lane({\n ...this,\n hash: this._hash,\n overrideUpdateDependents: this.overrideUpdateDependents,\n components: cloneDeep(this.components),\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,16 +1,18 @@
1
1
  import * as semver from 'semver';
2
2
  import { LaneId } from '@teambit/lane-id';
3
3
  import { ComponentID } from '@teambit/component-id';
4
- import { LegacyComponentLog } from '@teambit/legacy-component-log';
4
+ import type { LegacyComponentLog } from '@teambit/legacy-component-log';
5
5
  import { BitId } from '@teambit/legacy-bit-id';
6
6
  import { ConsumerComponent } from '@teambit/legacy.consumer-component';
7
- import { SnapsDistance } from '@teambit/component.snap-distance';
7
+ import type { SnapsDistance } from '@teambit/component.snap-distance';
8
8
  import { ComponentObjects, ComponentVersion } from '@teambit/legacy.scope';
9
- import { Repository, BitObject, Ref } from '../objects';
10
- import Lane from './lane';
11
- import Version from './version';
12
- import VersionHistory, { VersionParents } from './version-history';
13
- import { ObjectItem } from '../objects/object-list';
9
+ import type { Repository } from '../objects';
10
+ import { BitObject, Ref } from '../objects';
11
+ import type Lane from './lane';
12
+ import type Version from './version';
13
+ import type { VersionParents } from './version-history';
14
+ import VersionHistory from './version-history';
15
+ import type { ObjectItem } from '../objects/object-list';
14
16
  import type { Scope } from '@teambit/legacy.scope';
15
17
  import { DetachedHeads } from './detach-heads';
16
18
  type State = {
@@ -266,7 +268,7 @@ export default class Component extends BitObject {
266
268
  private addDepsInfoFromDepsResolver;
267
269
  refs(): Ref[];
268
270
  validateBeforePersisting(componentStr: string): void;
269
- toBuffer(pretty: boolean): Buffer;
271
+ toBuffer(pretty: boolean): Buffer<ArrayBuffer>;
270
272
  /**
271
273
  * Clear data that is relevant only for the local scope and should not be moved to the remote scope
272
274
  */
@@ -186,7 +186,6 @@ const VERSION_ZERO = exports.VERSION_ZERO = '0.0.0';
186
186
  * with 'Component' in their headers. see object-registrar.types()
187
187
  */
188
188
  // TODO: FIX me .parser
189
- // @ts-ignore
190
189
  class Component extends _objects().BitObject {
191
190
  constructor(props) {
192
191
  super();
@@ -659,7 +658,6 @@ class Component extends _objects().BitObject {
659
658
  }
660
659
  collectVersions(repo) {
661
660
  return Promise.all(this.listVersions().map(versionNum => {
662
- // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
663
661
  return this.toConsumerComponent(versionNum, this.scope, repo);
664
662
  }));
665
663
  }
@@ -772,8 +770,8 @@ class Component extends _objects().BitObject {
772
770
  if (parent && head && !parent.isEqual(head) && !overrideHead) {
773
771
  if (detachHead) this.detachedHeads.setHead(version.hash());else throw new Error(`unable to add a new version for "${this.id()}" on main.
774
772
  this version started from an older version (${previouslyUsedVersion}), and not from the head (${head}).
775
- if this is done intentionally, please re-run with --detach-head (or --override-head if available).
776
- otherwise, please run "bit checkout head" to be up to date, then snap/tag your changes.`);
773
+ please run "bit checkout head" to be up to date, then snap/tag your changes.
774
+ if this is done intentionally, you can use --detach-head (or --override-head if available), but make sure you understand the implications as this is an experimental feature that may not be fully stable.`);
777
775
  } else {
778
776
  this.setHead(version.hash());
779
777
  this.detachedHeads.clearCurrent();
@@ -1088,7 +1086,6 @@ consider using --ignore-missing-artifacts flag if you're sure the artifacts are
1088
1086
  // @todo: this is weird. why the scopeMeta would be taken from the current scope and not he component scope?
1089
1087
  const scopeMetaP = scopeName ? _scopeMeta().default.fromScopeName(scopeName).load(repository) : Promise.resolve();
1090
1088
  const log = version.log || null;
1091
- // @ts-ignore
1092
1089
  const [files, scopeMeta] = await Promise.all([filesP, scopeMetaP]);
1093
1090
  const extensions = version.extensions.clone();
1094
1091
  // when generating a new ConsumerComponent out of Version, it is critical to make sure that
@@ -1202,6 +1199,26 @@ consider using --ignore-missing-artifacts flag if you're sure the artifacts are
1202
1199
  await this.setDivergeData(repo, undefined, undefined, workspaceId);
1203
1200
  const divergeData = this.getDivergeData();
1204
1201
  const localHashes = divergeData.snapsOnSourceOnly;
1202
+
1203
+ // When there's a detached head, divergeData only includes the detached head lineage.
1204
+ // We also need to include unexported versions from the main head lineage.
1205
+ const hasDetachedHead = this.detachedHeads && this.detachedHeads.getAllHeads().length > 0;
1206
+ if (hasDetachedHead && this.head) {
1207
+ // Calculate divergence from the main head as well
1208
+ const mainHeadDivergeData = await (0, _component2().getDivergeData)({
1209
+ repo,
1210
+ modelComponent: this,
1211
+ targetHead: (this.laneId ? this.calculatedRemoteHeadWhenOnLane : this.remoteHead) || null,
1212
+ sourceHead: this.head,
1213
+ throws: false
1214
+ });
1215
+ // Add main head local versions that aren't already in localHashes
1216
+ for (const hash of mainHeadDivergeData.snapsOnSourceOnly) {
1217
+ if (!localHashes.find(h => h.isEqual(hash))) {
1218
+ localHashes.push(hash);
1219
+ }
1220
+ }
1221
+ }
1205
1222
  if (!localHashes.length) return [];
1206
1223
  return localHashes.reverse(); // reverse to get the older first
1207
1224
  }