@teambit/objects 0.0.19

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 (123) hide show
  1. package/artifacts/__bit_junit.xml +68 -0
  2. package/artifacts/preview/teambit_scope_objects-preview.js +1 -0
  3. package/dist/fixtures/version-model-extended.json +48 -0
  4. package/dist/fixtures/version-model-object.json +87 -0
  5. package/dist/index.d.ts +19 -0
  6. package/dist/index.js +371 -0
  7. package/dist/index.js.map +1 -0
  8. package/dist/models/dependencies-graph.d.ts +45 -0
  9. package/dist/models/dependencies-graph.js +106 -0
  10. package/dist/models/dependencies-graph.js.map +1 -0
  11. package/dist/models/detach-heads.d.ts +25 -0
  12. package/dist/models/detach-heads.js +84 -0
  13. package/dist/models/detach-heads.js.map +1 -0
  14. package/dist/models/export-metadata.d.ts +24 -0
  15. package/dist/models/export-metadata.js +76 -0
  16. package/dist/models/export-metadata.js.map +1 -0
  17. package/dist/models/index.d.ts +10 -0
  18. package/dist/models/index.js +125 -0
  19. package/dist/models/index.js.map +1 -0
  20. package/dist/models/lane-history.d.ts +40 -0
  21. package/dist/models/lane-history.js +117 -0
  22. package/dist/models/lane-history.js.map +1 -0
  23. package/dist/models/lane.d.ts +124 -0
  24. package/dist/models/lane.js +463 -0
  25. package/dist/models/lane.js.map +1 -0
  26. package/dist/models/model-component.d.ts +317 -0
  27. package/dist/models/model-component.js +1365 -0
  28. package/dist/models/model-component.js.map +1 -0
  29. package/dist/models/model-component.spec.d.ts +1 -0
  30. package/dist/models/model-component.spec.js +71 -0
  31. package/dist/models/model-component.spec.js.map +1 -0
  32. package/dist/models/scopeMeta.d.ts +20 -0
  33. package/dist/models/scopeMeta.js +71 -0
  34. package/dist/models/scopeMeta.js.map +1 -0
  35. package/dist/models/source.d.ts +10 -0
  36. package/dist/models/source.js +43 -0
  37. package/dist/models/source.js.map +1 -0
  38. package/dist/models/symlink.d.ts +30 -0
  39. package/dist/models/symlink.js +91 -0
  40. package/dist/models/symlink.js.map +1 -0
  41. package/dist/models/version-history.d.ts +59 -0
  42. package/dist/models/version-history.js +285 -0
  43. package/dist/models/version-history.js.map +1 -0
  44. package/dist/models/version.d.ts +279 -0
  45. package/dist/models/version.js +777 -0
  46. package/dist/models/version.js.map +1 -0
  47. package/dist/models/version.spec.d.ts +1 -0
  48. package/dist/models/version.spec.js +340 -0
  49. package/dist/models/version.spec.js.map +1 -0
  50. package/dist/objects/bit-object-list.d.ts +24 -0
  51. package/dist/objects/bit-object-list.js +65 -0
  52. package/dist/objects/bit-object-list.js.map +1 -0
  53. package/dist/objects/index.d.ts +5 -0
  54. package/dist/objects/index.js +60 -0
  55. package/dist/objects/index.js.map +1 -0
  56. package/dist/objects/object-list-to-graph.d.ts +13 -0
  57. package/dist/objects/object-list-to-graph.js +93 -0
  58. package/dist/objects/object-list-to-graph.js.map +1 -0
  59. package/dist/objects/object-list.d.ts +52 -0
  60. package/dist/objects/object-list.js +369 -0
  61. package/dist/objects/object-list.js.map +1 -0
  62. package/dist/objects/object.d.ts +35 -0
  63. package/dist/objects/object.js +190 -0
  64. package/dist/objects/object.js.map +1 -0
  65. package/dist/objects/objects-readable-generator.d.ts +31 -0
  66. package/dist/objects/objects-readable-generator.js +192 -0
  67. package/dist/objects/objects-readable-generator.js.map +1 -0
  68. package/dist/objects/raw-object.d.ts +23 -0
  69. package/dist/objects/raw-object.js +155 -0
  70. package/dist/objects/raw-object.js.map +1 -0
  71. package/dist/objects/ref.d.ts +14 -0
  72. package/dist/objects/ref.js +45 -0
  73. package/dist/objects/ref.js.map +1 -0
  74. package/dist/objects/repository-hooks.d.ts +4 -0
  75. package/dist/objects/repository-hooks.js +56 -0
  76. package/dist/objects/repository-hooks.js.map +1 -0
  77. package/dist/objects/repository.d.ts +148 -0
  78. package/dist/objects/repository.js +842 -0
  79. package/dist/objects/repository.js.map +1 -0
  80. package/dist/objects/scope-index.d.ts +73 -0
  81. package/dist/objects/scope-index.js +251 -0
  82. package/dist/objects/scope-index.js.map +1 -0
  83. package/dist/objects/scope-index.spec.d.ts +1 -0
  84. package/dist/objects/scope-index.spec.js +152 -0
  85. package/dist/objects/scope-index.spec.js.map +1 -0
  86. package/dist/objects.aspect.d.ts +2 -0
  87. package/dist/objects.aspect.js +18 -0
  88. package/dist/objects.aspect.js.map +1 -0
  89. package/dist/objects.main.runtime.d.ts +7 -0
  90. package/dist/objects.main.runtime.js +36 -0
  91. package/dist/objects.main.runtime.js.map +1 -0
  92. package/dist/preview-1736824735631.js +7 -0
  93. package/fixtures/version-model-extended.json +48 -0
  94. package/fixtures/version-model-object.json +87 -0
  95. package/models/dependencies-graph.ts +119 -0
  96. package/models/detach-heads.ts +79 -0
  97. package/models/export-metadata.ts +57 -0
  98. package/models/index.ts +11 -0
  99. package/models/lane-history.ts +106 -0
  100. package/models/lane.ts +367 -0
  101. package/models/model-component.spec.ts +55 -0
  102. package/models/model-component.ts +1367 -0
  103. package/models/scopeMeta.ts +60 -0
  104. package/models/source.ts +32 -0
  105. package/models/symlink.ts +66 -0
  106. package/models/version-history.ts +266 -0
  107. package/models/version.spec.ts +288 -0
  108. package/models/version.ts +818 -0
  109. package/objects/bit-object-list.ts +59 -0
  110. package/objects/index.ts +6 -0
  111. package/objects/object-list-to-graph.ts +69 -0
  112. package/objects/object-list.ts +313 -0
  113. package/objects/object.ts +153 -0
  114. package/objects/objects-readable-generator.ts +167 -0
  115. package/objects/raw-object.ts +142 -0
  116. package/objects/ref.ts +45 -0
  117. package/objects/repository-hooks.ts +42 -0
  118. package/objects/repository.ts +753 -0
  119. package/objects/scope-index.spec.ts +95 -0
  120. package/objects/scope-index.ts +192 -0
  121. package/package.json +98 -0
  122. package/types/asset.d.ts +41 -0
  123. package/types/style.d.ts +42 -0
@@ -0,0 +1,279 @@
1
+ import { ComponentID, ComponentIdList } from '@teambit/component-id';
2
+ import { LaneId } from '@teambit/lane-id';
3
+ import { BuildStatus } from '@teambit/legacy.constants';
4
+ import { Dependencies, Dependency, ConsumerComponent } from '@teambit/legacy.consumer-component';
5
+ import { SourceFile } from '@teambit/component.sources';
6
+ import { ComponentOverridesData } from '@teambit/legacy.consumer-config';
7
+ import { ExtensionDataList } from '@teambit/legacy.extension-data';
8
+ import type { Doclet } from '@teambit/semantics.doc-parser';
9
+ import { PathLinux } from '@teambit/legacy.utils';
10
+ import { BitObject, Ref, Repository } from '../objects';
11
+ import { ObjectItem } from '../objects/object-list';
12
+ import Source from './source';
13
+ import { DependenciesGraph } from './dependencies-graph';
14
+ export type SourceFileModel = {
15
+ name: string;
16
+ relativePath: PathLinux;
17
+ test: boolean;
18
+ file: Ref;
19
+ };
20
+ export type DistFileModel = SourceFileModel;
21
+ export type ArtifactFileModel = {
22
+ relativePath: PathLinux;
23
+ file: Ref;
24
+ };
25
+ export type Log = {
26
+ message: string;
27
+ date: string;
28
+ username: string | undefined;
29
+ email: string | undefined;
30
+ };
31
+ export type DepEdgeType = 'prod' | 'dev' | 'peer' | 'ext';
32
+ export type DepEdge = {
33
+ source: ComponentID;
34
+ target: ComponentID;
35
+ type: DepEdgeType;
36
+ };
37
+ type ExternalHead = {
38
+ head: Ref;
39
+ laneId: LaneId;
40
+ };
41
+ type SquashData = {
42
+ previousParents: Ref[];
43
+ laneId: LaneId;
44
+ };
45
+ type VersionOrigin = {
46
+ id: {
47
+ scope: string;
48
+ name: string;
49
+ };
50
+ lane?: {
51
+ scope: string;
52
+ name: string;
53
+ hash: string;
54
+ };
55
+ };
56
+ export type VersionProps = {
57
+ mainFile: PathLinux;
58
+ files: Array<SourceFileModel>;
59
+ log: Log;
60
+ docs?: Doclet[];
61
+ dependencies?: Dependency[];
62
+ devDependencies?: Dependency[];
63
+ peerDependencies?: Dependency[];
64
+ flattenedDependencies?: ComponentIdList;
65
+ _flattenedEdges?: DepEdge[];
66
+ flattenedEdges?: DepEdge[];
67
+ flattenedEdgesRef?: Ref;
68
+ dependenciesGraphRef?: Ref;
69
+ packageDependencies?: {
70
+ [key: string]: string;
71
+ };
72
+ devPackageDependencies?: {
73
+ [key: string]: string;
74
+ };
75
+ peerPackageDependencies?: {
76
+ [key: string]: string;
77
+ };
78
+ bindingPrefix: string;
79
+ schema?: string;
80
+ overrides: ComponentOverridesData;
81
+ packageJsonChangedProps?: Record<string, any>;
82
+ hash?: string;
83
+ parents?: Ref[];
84
+ squashed?: SquashData;
85
+ unrelated?: ExternalHead;
86
+ extensions?: ExtensionDataList;
87
+ buildStatus?: BuildStatus;
88
+ componentId?: ComponentID;
89
+ bitVersion?: string;
90
+ modified?: Log[];
91
+ origin?: VersionOrigin;
92
+ hidden?: boolean;
93
+ };
94
+ /**
95
+ * Represent a version model in the scope
96
+ */
97
+ export default class Version extends BitObject {
98
+ mainFile: PathLinux;
99
+ files: Array<SourceFileModel>;
100
+ log: Log;
101
+ docs: Doclet[] | undefined;
102
+ dependencies: Dependencies;
103
+ devDependencies: Dependencies;
104
+ peerDependencies: Dependencies;
105
+ flattenedDependencies: ComponentIdList;
106
+ dependenciesGraphRef?: Ref;
107
+ _dependenciesGraph?: DependenciesGraph;
108
+ flattenedEdgesRef?: Ref;
109
+ _flattenedEdges?: DepEdge[];
110
+ /**
111
+ * @deprecated
112
+ * to get the flattenedEdges, please use `this.getFlattenedEdges()`.
113
+ * this function handles the backward compatibility and provides the flattened edges regardless whether it was saved
114
+ * the `flattenedEdgesRef` introduced or after.
115
+ *
116
+ * the reason this is left here is not for backward compatibility, but for forward compatibility. meaning, if a
117
+ * Version object created by the new version is parsed by an old version that doesn't support the flattenedEdgesRef,
118
+ * then, it'll be able to still get the flattenedEdges by this prop.
119
+ * this is causing duplication currently. the data is kept in both, `this.flattenedEdges` and the file stored in `flattenedEdgesRef`.
120
+ * so it'll be best to delete this prop as soon as all scopes are deployed with the new version.
121
+ * (around August 2023 should be safe)
122
+ */
123
+ private flattenedEdges;
124
+ packageDependencies: {
125
+ [key: string]: string;
126
+ };
127
+ devPackageDependencies: {
128
+ [key: string]: string;
129
+ };
130
+ peerPackageDependencies: {
131
+ [key: string]: string;
132
+ };
133
+ bindingPrefix: string;
134
+ schema: string | undefined;
135
+ overrides: ComponentOverridesData;
136
+ packageJsonChangedProps: Record<string, any>;
137
+ _hash: string;
138
+ parents: Ref[];
139
+ squashed?: SquashData;
140
+ unrelated?: ExternalHead;
141
+ extensions: ExtensionDataList;
142
+ buildStatus?: BuildStatus;
143
+ componentId?: ComponentID;
144
+ bitVersion?: string;
145
+ modified: Log[];
146
+ origin?: VersionOrigin;
147
+ hidden?: boolean;
148
+ constructor(props: VersionProps);
149
+ /**
150
+ * use only this method to get the flattened edges (graph of flattened dependencies).
151
+ * it's backward compatible with the previous way this was stored on the Version object itself.
152
+ */
153
+ getFlattenedEdges(repo: Repository): Promise<DepEdge[]>;
154
+ loadDependenciesGraph(repo: Repository): Promise<DependenciesGraph | undefined>;
155
+ validateVersion(): void;
156
+ id(): string;
157
+ calculateHash(): Ref;
158
+ hash(): Ref;
159
+ get extensionDependencies(): Dependencies;
160
+ lastModified(): string;
161
+ getAllFlattenedDependencies(): ComponentIdList;
162
+ getAllDependencies(): Dependency[];
163
+ get depsIdsGroupedByType(): {
164
+ dependencies: ComponentIdList;
165
+ devDependencies: ComponentIdList;
166
+ peerDependencies: ComponentIdList;
167
+ extensionDependencies: ComponentIdList;
168
+ };
169
+ getAllDependenciesCloned(): Dependencies;
170
+ getAllDependenciesIds(): ComponentIdList;
171
+ getDependenciesIdsExcludeExtensions(): ComponentIdList;
172
+ updateFlattenedDependency(currentId: ComponentID, newId: ComponentID): void;
173
+ refs(): Ref[];
174
+ refsWithOptions(includeParents?: boolean, includeArtifacts?: boolean): Ref[];
175
+ refsWithoutParents(): Ref[];
176
+ collectManyObjects(repo: Repository, refs: Ref[]): Promise<ObjectItem[]>;
177
+ static depEdgeToObject(depEdge: DepEdge): Record<string, any>;
178
+ static depEdgeFromObject(depEdgeObj: Record<string, any>): DepEdge;
179
+ static depEdgeToArray(depEdge: DepEdge): Record<string, any>;
180
+ static depEdgeFromArray(depEdgeArr: string[]): DepEdge;
181
+ static flattenedEdgeToSource(flattenedEdges?: DepEdge[]): Source | undefined;
182
+ static dependenciesGraphToSource(dependenciesGraph?: DependenciesGraph): Source | undefined;
183
+ toObject(): import("lodash").Dictionary<string | boolean | string[] | Record<string, any> | Record<string, any>[] | ComponentOverridesData | {
184
+ extensionId: ComponentID | import("@teambit/component-id").ComponentIdObj | undefined;
185
+ config: {
186
+ [key: string]: any;
187
+ };
188
+ data: {
189
+ [key: string]: any;
190
+ };
191
+ legacyId: string | undefined;
192
+ name: string | undefined;
193
+ newExtensionId: ComponentID | undefined;
194
+ }[] | {
195
+ file: any;
196
+ relativePath: any;
197
+ name: any;
198
+ test: any;
199
+ }[] | Doclet[] | import("@teambit/component-id").ComponentIdObj[] | {
200
+ [key: string]: string;
201
+ } | {
202
+ [key: string]: string;
203
+ } | {
204
+ [key: string]: string;
205
+ } | Log[] | VersionOrigin | {
206
+ message: string;
207
+ date: string;
208
+ username: string | undefined;
209
+ email: string | undefined;
210
+ previousParents?: undefined;
211
+ laneId?: undefined;
212
+ head?: undefined;
213
+ } | {
214
+ previousParents: string[];
215
+ laneId: {
216
+ scope: string;
217
+ name: string;
218
+ };
219
+ message?: undefined;
220
+ date?: undefined;
221
+ username?: undefined;
222
+ email?: undefined;
223
+ head?: undefined;
224
+ } | {
225
+ head: string;
226
+ laneId: {
227
+ scope: string;
228
+ name: string;
229
+ };
230
+ message?: undefined;
231
+ date?: undefined;
232
+ username?: undefined;
233
+ email?: undefined;
234
+ previousParents?: undefined;
235
+ } | null | undefined>;
236
+ validateBeforePersisting(versionStr: string): void;
237
+ toBuffer(pretty: boolean): Buffer;
238
+ /**
239
+ * used by the super class BitObject
240
+ */
241
+ static parse(contents: string, hash: string): Version;
242
+ /**
243
+ * used by raw-object.toRealObject()
244
+ */
245
+ static from(versionProps: VersionProps, hash: string): Version;
246
+ /**
247
+ * Create version model object from consumer component
248
+ * @param {*} param0
249
+ */
250
+ static fromComponent({ component, files, flattenedEdges, dependenciesGraph, }: {
251
+ component: ConsumerComponent;
252
+ files: Array<SourceFileModel>;
253
+ flattenedEdges?: Source;
254
+ dependenciesGraph?: Source;
255
+ }): Version;
256
+ setNewHash(): void;
257
+ get ignoreSharedDir(): boolean;
258
+ get isLegacy(): boolean;
259
+ get originLaneId(): LaneId | undefined;
260
+ get originId(): ComponentID | undefined;
261
+ setDist(dist: Source | undefined): void;
262
+ hasParent(ref: Ref): Ref | undefined;
263
+ addParent(ref: Ref): void;
264
+ setSquashed(squashData: SquashData, log: Log, replaceMessage?: string): void;
265
+ setUnrelated(externalHead: ExternalHead): void;
266
+ addModifiedLog(log: Log): void;
267
+ addAsOnlyParent(ref: Ref): void;
268
+ removeParent(ref: Ref): void;
269
+ removeAllParents(): void;
270
+ modelFilesToSourceFiles(repository: Repository): Promise<SourceFile[]>;
271
+ isRemoved(): boolean;
272
+ shouldRemoveFromMain(): boolean;
273
+ /**
274
+ * Validate the version model properties, to make sure we are not inserting something
275
+ * in the wrong format
276
+ */
277
+ validate(): void;
278
+ }
279
+ export {};