@teambit/legacy-bit-id 1.1.0 → 1.1.1
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/bit-ids.spec.ts +96 -0
- package/bit-ids.ts +195 -0
- package/dist/bit-ids.d.ts +52 -0
- package/dist/bit-ids.js +174 -0
- package/dist/bit-ids.js.map +1 -0
- package/dist/bit-ids.spec.d.ts +1 -0
- package/dist/bit-ids.spec.js +92 -0
- package/dist/bit-ids.spec.js.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/index.ts +2 -0
- package/package.json +2 -2
- /package/dist/{preview-1699895001586.js → preview-1706301986259.js} +0 -0
package/bit-ids.spec.ts
ADDED
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { expect } from 'chai';
|
|
2
|
+
|
|
3
|
+
import BitId from './bit-id';
|
|
4
|
+
import BitIds from './bit-ids';
|
|
5
|
+
|
|
6
|
+
describe('bitIds', () => {
|
|
7
|
+
describe('uniqFromArray', () => {
|
|
8
|
+
it('should return a uniq array with no duplications', () => {
|
|
9
|
+
const a = new BitId({ name: 'a' });
|
|
10
|
+
const b = new BitId({ name: 'a' });
|
|
11
|
+
expect(BitIds.uniqFromArray([a, b])).to.have.lengthOf(1);
|
|
12
|
+
});
|
|
13
|
+
});
|
|
14
|
+
describe('search functions', () => {
|
|
15
|
+
let bitIds;
|
|
16
|
+
beforeAll(() => {
|
|
17
|
+
const a = new BitId({ name: 'a', scope: 'my-scope', version: '0.0.1' });
|
|
18
|
+
const b = new BitId({ name: 'b' });
|
|
19
|
+
const c = new BitId({ name: 'c' });
|
|
20
|
+
bitIds = new BitIds(a, b, c);
|
|
21
|
+
});
|
|
22
|
+
describe('search', () => {
|
|
23
|
+
it('should find an exact match', () => {
|
|
24
|
+
const result = bitIds.search(new BitId({ name: 'a', scope: 'my-scope', version: '0.0.1' }));
|
|
25
|
+
expect(result).to.be.an.instanceOf(BitId);
|
|
26
|
+
expect(result.serialize()).to.deep.equal({ name: 'a', scope: 'my-scope', version: '0.0.1' });
|
|
27
|
+
});
|
|
28
|
+
it('should find a match when an ID has only name', () => {
|
|
29
|
+
const result = bitIds.search(new BitId({ name: 'b' }));
|
|
30
|
+
expect(result).to.be.an.instanceOf(BitId);
|
|
31
|
+
expect(result.serialize()).to.deep.equal({ name: 'b' });
|
|
32
|
+
});
|
|
33
|
+
it('should not return a result with a mismatch version', () => {
|
|
34
|
+
const result = bitIds.search(new BitId({ name: 'a', scope: 'my-scope', version: '0.0.2' }));
|
|
35
|
+
expect(result).to.be.undefined;
|
|
36
|
+
});
|
|
37
|
+
it('should not return a result with a mismatch scope', () => {
|
|
38
|
+
const result = bitIds.search(new BitId({ name: 'a', scope: 'my-another-scope', version: '0.0.1' }));
|
|
39
|
+
expect(result).to.be.undefined;
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
describe('searchWithoutVersion', () => {
|
|
43
|
+
it('should find an exact match', () => {
|
|
44
|
+
const result = bitIds.searchWithoutVersion(new BitId({ name: 'a', scope: 'my-scope', version: '0.0.1' }));
|
|
45
|
+
expect(result).to.be.an.instanceOf(BitId);
|
|
46
|
+
expect(result.serialize()).to.deep.equal({ name: 'a', scope: 'my-scope', version: '0.0.1' });
|
|
47
|
+
});
|
|
48
|
+
it('should return a result even with a mismatch version', () => {
|
|
49
|
+
const result = bitIds.searchWithoutVersion(new BitId({ name: 'a', scope: 'my-scope', version: '0.0.2' }));
|
|
50
|
+
expect(result).to.be.an.instanceOf(BitId);
|
|
51
|
+
expect(result.serialize()).to.deep.equal({ name: 'a', scope: 'my-scope', version: '0.0.1' });
|
|
52
|
+
});
|
|
53
|
+
it('should not return a result with a mismatch scope', () => {
|
|
54
|
+
const result = bitIds.searchWithoutVersion(
|
|
55
|
+
new BitId({ name: 'a', scope: 'my-another-scope', version: '0.0.1' })
|
|
56
|
+
);
|
|
57
|
+
expect(result).to.be.undefined;
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
describe('searchWithoutScopeAndVersion', () => {
|
|
61
|
+
it('should find an exact match', () => {
|
|
62
|
+
const result = bitIds.searchWithoutScopeAndVersion(
|
|
63
|
+
new BitId({ name: 'a', scope: 'my-scope', version: '0.0.1' })
|
|
64
|
+
);
|
|
65
|
+
expect(result).to.be.an.instanceOf(BitId);
|
|
66
|
+
expect(result.serialize()).to.deep.equal({ name: 'a', scope: 'my-scope', version: '0.0.1' });
|
|
67
|
+
});
|
|
68
|
+
it('should return a result even with a mismatch version', () => {
|
|
69
|
+
const result = bitIds.searchWithoutScopeAndVersion(
|
|
70
|
+
new BitId({ name: 'a', scope: 'my-scope', version: '0.0.2' })
|
|
71
|
+
);
|
|
72
|
+
expect(result).to.be.an.instanceOf(BitId);
|
|
73
|
+
expect(result.serialize()).to.deep.equal({ name: 'a', scope: 'my-scope', version: '0.0.1' });
|
|
74
|
+
});
|
|
75
|
+
it('should return a result even with a mismatch scope', () => {
|
|
76
|
+
const result = bitIds.searchWithoutScopeAndVersion(
|
|
77
|
+
new BitId({ name: 'a', scope: 'my-another-scope', version: '0.0.1' })
|
|
78
|
+
);
|
|
79
|
+
expect(result).to.be.an.instanceOf(BitId);
|
|
80
|
+
expect(result.serialize()).to.deep.equal({ name: 'a', scope: 'my-scope', version: '0.0.1' });
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
describe('difference', () => {
|
|
85
|
+
it('should remove entries from the provided array', () => {
|
|
86
|
+
const a = new BitId({ name: 'a' });
|
|
87
|
+
const b = new BitId({ name: 'b' });
|
|
88
|
+
const c = new BitId({ name: 'c' });
|
|
89
|
+
const bitIds = BitIds.fromArray([a, b]);
|
|
90
|
+
const bitIds2 = BitIds.fromArray([b, c]);
|
|
91
|
+
const res = bitIds.difference(bitIds2);
|
|
92
|
+
expect(res).to.have.lengthOf(1);
|
|
93
|
+
expect(res.serialize()[0].toString()).to.equal('a');
|
|
94
|
+
});
|
|
95
|
+
});
|
|
96
|
+
});
|
package/bit-ids.ts
ADDED
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
import { forEach, uniqBy } from 'lodash';
|
|
2
|
+
import { LATEST_VERSION } from '@teambit/component-version';
|
|
3
|
+
import BitId, { BitIdStr } from './bit-id';
|
|
4
|
+
|
|
5
|
+
export default class BitIds extends Array<BitId> {
|
|
6
|
+
serialize(): string[] {
|
|
7
|
+
return this.map((bitId) => bitId.toString());
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
has(bitId: BitId): boolean {
|
|
11
|
+
return Boolean(this.search(bitId));
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
hasWithoutVersion(bitId: BitId): boolean {
|
|
15
|
+
return Boolean(this.searchWithoutVersion(bitId));
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
hasWithoutScope(bitId: BitId): boolean {
|
|
19
|
+
return Boolean(this.searchWithoutScope(bitId));
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
hasWithoutScopeAndVersion(bitId: BitId): boolean {
|
|
23
|
+
return Boolean(this.searchWithoutScopeAndVersion(bitId));
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
hasWithoutScopeAndVersionAsString(bitIdStr: BitIdStr): boolean {
|
|
27
|
+
return Boolean(this.find((id) => id.name === bitIdStr));
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
search(bitId: BitId): BitId | null | undefined {
|
|
31
|
+
return this.find((id) => id.hasSameName(bitId) && id.hasSameScope(bitId) && id.hasSameVersion(bitId));
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
searchWithoutVersion(bitId: BitId): BitId | null | undefined {
|
|
35
|
+
return this.find((id) => id.hasSameName(bitId) && id.hasSameScope(bitId));
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
searchWithoutScopeAndVersion(bitId: BitId): BitId | undefined {
|
|
39
|
+
return this.find((id) => id.hasSameName(bitId));
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
searchWithoutScope(bitId: BitId): BitId | null | undefined {
|
|
43
|
+
return this.find((id) => id.hasSameName(bitId) && id.hasSameVersion(bitId));
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
searchStrWithoutVersion(idStr: string): BitId | null | undefined {
|
|
47
|
+
return this.find((id) => id.toStringWithoutVersion() === idStr);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
searchStrWithoutScopeAndVersion(idStr: string): BitId | null | undefined {
|
|
51
|
+
return this.find((id) => id.toStringWithoutScopeAndVersion() === idStr);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
filterExact(bitId: BitId): BitId[] {
|
|
55
|
+
return this.filter((id) => id.hasSameName(bitId) && id.hasSameScope(bitId) && id.hasSameVersion(bitId));
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
filterWithoutVersion(bitId: BitId): BitId[] {
|
|
59
|
+
return this.filter((id) => id.hasSameName(bitId) && id.hasSameScope(bitId));
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
filterWithoutScopeAndVersion(bitId: BitId): BitId[] {
|
|
63
|
+
return this.filter((id) => id.hasSameName(bitId));
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
removeIfExist(bitId: BitId): BitIds {
|
|
67
|
+
return BitIds.fromArray(this.filter((id) => !id.isEqual(bitId)));
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Return ids which are on the current instance and not in the passed list
|
|
72
|
+
* @param bitIds
|
|
73
|
+
*/
|
|
74
|
+
difference(bitIds: BitIds): BitIds {
|
|
75
|
+
return BitIds.fromArray(this.filter((id) => !bitIds.search(id)));
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
removeIfExistWithoutVersion(bitId: BitId): BitIds {
|
|
79
|
+
return BitIds.fromArray(this.filter((id) => !id.isEqualWithoutVersion(bitId)));
|
|
80
|
+
}
|
|
81
|
+
removeMultipleIfExistWithoutVersion(bitIds: BitIds): BitIds {
|
|
82
|
+
return BitIds.fromArray(this.filter((id) => !bitIds.hasWithoutVersion(id)));
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
toObject() {
|
|
86
|
+
return this.reduce((acc, bitId) => {
|
|
87
|
+
acc[bitId.toString()] = bitId;
|
|
88
|
+
return acc;
|
|
89
|
+
}, {});
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* make sure to pass only bit ids you know they have scope, otherwise, you'll get invalid bit ids.
|
|
94
|
+
* this is mainly useful for remote commands where it is impossible to have a component without scope.
|
|
95
|
+
*/
|
|
96
|
+
static deserialize(array: string[] = []): BitIds {
|
|
97
|
+
// @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
|
|
98
|
+
return new BitIds(...array.map((id) => BitId.parse(id, true)));
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
static deserializeObsolete(array: string[] = []): BitIds {
|
|
102
|
+
// @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
|
|
103
|
+
return new BitIds(...array.map((id) => BitId.parseObsolete(id)));
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
toString(): string {
|
|
107
|
+
return this.map((id) => id.toString()).join(', ');
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
toGroupByIdWithoutVersion(): { [idStrWithoutVer: string]: BitIds } {
|
|
111
|
+
return this.reduce((acc, current) => {
|
|
112
|
+
const idStrWithoutVer = current.toStringWithoutVersion();
|
|
113
|
+
if (acc[idStrWithoutVer]) acc[idStrWithoutVer].push(current);
|
|
114
|
+
else acc[idStrWithoutVer] = new BitIds(current);
|
|
115
|
+
return acc;
|
|
116
|
+
}, {});
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
toGroupByScopeName(idsWithDefaultScope: BitIds): { [scopeName: string]: BitIds } {
|
|
120
|
+
return this.reduce((acc, current) => {
|
|
121
|
+
const getScopeName = () => {
|
|
122
|
+
if (current.scope) return current.scope;
|
|
123
|
+
const idWithDefaultScope = idsWithDefaultScope.searchWithoutScopeAndVersion(current);
|
|
124
|
+
return idWithDefaultScope ? idWithDefaultScope.scope : null;
|
|
125
|
+
};
|
|
126
|
+
const scopeName = getScopeName();
|
|
127
|
+
if (!scopeName) {
|
|
128
|
+
throw new Error(`toGroupByScopeName() expect ids to have a scope name, got ${current.toString()}`);
|
|
129
|
+
}
|
|
130
|
+
if (acc[scopeName]) acc[scopeName].push(current);
|
|
131
|
+
else acc[scopeName] = new BitIds(current);
|
|
132
|
+
return acc;
|
|
133
|
+
}, {});
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
findDuplicationsIgnoreVersion(): { [id: string]: BitId[] } {
|
|
137
|
+
const duplications = {};
|
|
138
|
+
this.forEach((id) => {
|
|
139
|
+
const sameIds = this.filterWithoutVersion(id);
|
|
140
|
+
if (sameIds.length > 1) {
|
|
141
|
+
duplications[id.toStringWithoutVersion()] = sameIds;
|
|
142
|
+
}
|
|
143
|
+
});
|
|
144
|
+
return duplications;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
add(bitIds: BitId[]) {
|
|
148
|
+
bitIds.forEach((bitId) => {
|
|
149
|
+
if (!this.search(bitId)) this.push(bitId);
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
static fromObject(dependencies: { [key: string]: string }) {
|
|
154
|
+
const array = [];
|
|
155
|
+
|
|
156
|
+
forEach(dependencies, (version, id) => {
|
|
157
|
+
// @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
|
|
158
|
+
array.push(BitId.parse(id, true, version)); // bit.json has only imported dependencies, they all have scope
|
|
159
|
+
});
|
|
160
|
+
|
|
161
|
+
// @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
|
|
162
|
+
return new BitIds(...array);
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
static fromArray(ids: BitId[]): BitIds {
|
|
166
|
+
// don't do `new BitIds(...ids);`, it'll throw "Maximum call stack size exceeded" for large number if ids.
|
|
167
|
+
const bitIds = new BitIds();
|
|
168
|
+
ids.forEach((id) => bitIds.push(id));
|
|
169
|
+
return bitIds;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
static uniqFromArray(bitIds: BitId[]): BitIds {
|
|
173
|
+
const uniq = uniqBy(bitIds, (id) => id.toString());
|
|
174
|
+
return BitIds.fromArray(uniq);
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
throwForDuplicationIgnoreVersion() {
|
|
178
|
+
this.forEach((bitId) => {
|
|
179
|
+
const found = this.filterWithoutVersion(bitId);
|
|
180
|
+
if (found.length > 1) {
|
|
181
|
+
throw new Error(`bitIds has "${bitId.toStringWithoutVersion()}" duplicated as following:
|
|
182
|
+
${found.map((id) => id.toString()).join('\n')}`);
|
|
183
|
+
}
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
toVersionLatest(): BitIds {
|
|
188
|
+
return BitIds.uniqFromArray(this.map((id) => id.changeVersion(LATEST_VERSION)));
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
clone(): BitIds {
|
|
192
|
+
const cloneIds = this.map((id) => id.clone());
|
|
193
|
+
return new BitIds(...cloneIds);
|
|
194
|
+
}
|
|
195
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import BitId, { BitIdStr } from './bit-id';
|
|
2
|
+
export default class BitIds extends Array<BitId> {
|
|
3
|
+
serialize(): string[];
|
|
4
|
+
has(bitId: BitId): boolean;
|
|
5
|
+
hasWithoutVersion(bitId: BitId): boolean;
|
|
6
|
+
hasWithoutScope(bitId: BitId): boolean;
|
|
7
|
+
hasWithoutScopeAndVersion(bitId: BitId): boolean;
|
|
8
|
+
hasWithoutScopeAndVersionAsString(bitIdStr: BitIdStr): boolean;
|
|
9
|
+
search(bitId: BitId): BitId | null | undefined;
|
|
10
|
+
searchWithoutVersion(bitId: BitId): BitId | null | undefined;
|
|
11
|
+
searchWithoutScopeAndVersion(bitId: BitId): BitId | undefined;
|
|
12
|
+
searchWithoutScope(bitId: BitId): BitId | null | undefined;
|
|
13
|
+
searchStrWithoutVersion(idStr: string): BitId | null | undefined;
|
|
14
|
+
searchStrWithoutScopeAndVersion(idStr: string): BitId | null | undefined;
|
|
15
|
+
filterExact(bitId: BitId): BitId[];
|
|
16
|
+
filterWithoutVersion(bitId: BitId): BitId[];
|
|
17
|
+
filterWithoutScopeAndVersion(bitId: BitId): BitId[];
|
|
18
|
+
removeIfExist(bitId: BitId): BitIds;
|
|
19
|
+
/**
|
|
20
|
+
* Return ids which are on the current instance and not in the passed list
|
|
21
|
+
* @param bitIds
|
|
22
|
+
*/
|
|
23
|
+
difference(bitIds: BitIds): BitIds;
|
|
24
|
+
removeIfExistWithoutVersion(bitId: BitId): BitIds;
|
|
25
|
+
removeMultipleIfExistWithoutVersion(bitIds: BitIds): BitIds;
|
|
26
|
+
toObject(): {};
|
|
27
|
+
/**
|
|
28
|
+
* make sure to pass only bit ids you know they have scope, otherwise, you'll get invalid bit ids.
|
|
29
|
+
* this is mainly useful for remote commands where it is impossible to have a component without scope.
|
|
30
|
+
*/
|
|
31
|
+
static deserialize(array?: string[]): BitIds;
|
|
32
|
+
static deserializeObsolete(array?: string[]): BitIds;
|
|
33
|
+
toString(): string;
|
|
34
|
+
toGroupByIdWithoutVersion(): {
|
|
35
|
+
[idStrWithoutVer: string]: BitIds;
|
|
36
|
+
};
|
|
37
|
+
toGroupByScopeName(idsWithDefaultScope: BitIds): {
|
|
38
|
+
[scopeName: string]: BitIds;
|
|
39
|
+
};
|
|
40
|
+
findDuplicationsIgnoreVersion(): {
|
|
41
|
+
[id: string]: BitId[];
|
|
42
|
+
};
|
|
43
|
+
add(bitIds: BitId[]): void;
|
|
44
|
+
static fromObject(dependencies: {
|
|
45
|
+
[key: string]: string;
|
|
46
|
+
}): BitIds;
|
|
47
|
+
static fromArray(ids: BitId[]): BitIds;
|
|
48
|
+
static uniqFromArray(bitIds: BitId[]): BitIds;
|
|
49
|
+
throwForDuplicationIgnoreVersion(): void;
|
|
50
|
+
toVersionLatest(): BitIds;
|
|
51
|
+
clone(): BitIds;
|
|
52
|
+
}
|
package/dist/bit-ids.js
ADDED
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const lodash_1 = require("lodash");
|
|
7
|
+
const component_version_1 = require("@teambit/component-version");
|
|
8
|
+
const bit_id_1 = __importDefault(require("./bit-id"));
|
|
9
|
+
class BitIds extends Array {
|
|
10
|
+
serialize() {
|
|
11
|
+
return this.map((bitId) => bitId.toString());
|
|
12
|
+
}
|
|
13
|
+
has(bitId) {
|
|
14
|
+
return Boolean(this.search(bitId));
|
|
15
|
+
}
|
|
16
|
+
hasWithoutVersion(bitId) {
|
|
17
|
+
return Boolean(this.searchWithoutVersion(bitId));
|
|
18
|
+
}
|
|
19
|
+
hasWithoutScope(bitId) {
|
|
20
|
+
return Boolean(this.searchWithoutScope(bitId));
|
|
21
|
+
}
|
|
22
|
+
hasWithoutScopeAndVersion(bitId) {
|
|
23
|
+
return Boolean(this.searchWithoutScopeAndVersion(bitId));
|
|
24
|
+
}
|
|
25
|
+
hasWithoutScopeAndVersionAsString(bitIdStr) {
|
|
26
|
+
return Boolean(this.find((id) => id.name === bitIdStr));
|
|
27
|
+
}
|
|
28
|
+
search(bitId) {
|
|
29
|
+
return this.find((id) => id.hasSameName(bitId) && id.hasSameScope(bitId) && id.hasSameVersion(bitId));
|
|
30
|
+
}
|
|
31
|
+
searchWithoutVersion(bitId) {
|
|
32
|
+
return this.find((id) => id.hasSameName(bitId) && id.hasSameScope(bitId));
|
|
33
|
+
}
|
|
34
|
+
searchWithoutScopeAndVersion(bitId) {
|
|
35
|
+
return this.find((id) => id.hasSameName(bitId));
|
|
36
|
+
}
|
|
37
|
+
searchWithoutScope(bitId) {
|
|
38
|
+
return this.find((id) => id.hasSameName(bitId) && id.hasSameVersion(bitId));
|
|
39
|
+
}
|
|
40
|
+
searchStrWithoutVersion(idStr) {
|
|
41
|
+
return this.find((id) => id.toStringWithoutVersion() === idStr);
|
|
42
|
+
}
|
|
43
|
+
searchStrWithoutScopeAndVersion(idStr) {
|
|
44
|
+
return this.find((id) => id.toStringWithoutScopeAndVersion() === idStr);
|
|
45
|
+
}
|
|
46
|
+
filterExact(bitId) {
|
|
47
|
+
return this.filter((id) => id.hasSameName(bitId) && id.hasSameScope(bitId) && id.hasSameVersion(bitId));
|
|
48
|
+
}
|
|
49
|
+
filterWithoutVersion(bitId) {
|
|
50
|
+
return this.filter((id) => id.hasSameName(bitId) && id.hasSameScope(bitId));
|
|
51
|
+
}
|
|
52
|
+
filterWithoutScopeAndVersion(bitId) {
|
|
53
|
+
return this.filter((id) => id.hasSameName(bitId));
|
|
54
|
+
}
|
|
55
|
+
removeIfExist(bitId) {
|
|
56
|
+
return BitIds.fromArray(this.filter((id) => !id.isEqual(bitId)));
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Return ids which are on the current instance and not in the passed list
|
|
60
|
+
* @param bitIds
|
|
61
|
+
*/
|
|
62
|
+
difference(bitIds) {
|
|
63
|
+
return BitIds.fromArray(this.filter((id) => !bitIds.search(id)));
|
|
64
|
+
}
|
|
65
|
+
removeIfExistWithoutVersion(bitId) {
|
|
66
|
+
return BitIds.fromArray(this.filter((id) => !id.isEqualWithoutVersion(bitId)));
|
|
67
|
+
}
|
|
68
|
+
removeMultipleIfExistWithoutVersion(bitIds) {
|
|
69
|
+
return BitIds.fromArray(this.filter((id) => !bitIds.hasWithoutVersion(id)));
|
|
70
|
+
}
|
|
71
|
+
toObject() {
|
|
72
|
+
return this.reduce((acc, bitId) => {
|
|
73
|
+
acc[bitId.toString()] = bitId;
|
|
74
|
+
return acc;
|
|
75
|
+
}, {});
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* make sure to pass only bit ids you know they have scope, otherwise, you'll get invalid bit ids.
|
|
79
|
+
* this is mainly useful for remote commands where it is impossible to have a component without scope.
|
|
80
|
+
*/
|
|
81
|
+
static deserialize(array = []) {
|
|
82
|
+
// @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
|
|
83
|
+
return new BitIds(...array.map((id) => bit_id_1.default.parse(id, true)));
|
|
84
|
+
}
|
|
85
|
+
static deserializeObsolete(array = []) {
|
|
86
|
+
// @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
|
|
87
|
+
return new BitIds(...array.map((id) => bit_id_1.default.parseObsolete(id)));
|
|
88
|
+
}
|
|
89
|
+
toString() {
|
|
90
|
+
return this.map((id) => id.toString()).join(', ');
|
|
91
|
+
}
|
|
92
|
+
toGroupByIdWithoutVersion() {
|
|
93
|
+
return this.reduce((acc, current) => {
|
|
94
|
+
const idStrWithoutVer = current.toStringWithoutVersion();
|
|
95
|
+
if (acc[idStrWithoutVer])
|
|
96
|
+
acc[idStrWithoutVer].push(current);
|
|
97
|
+
else
|
|
98
|
+
acc[idStrWithoutVer] = new BitIds(current);
|
|
99
|
+
return acc;
|
|
100
|
+
}, {});
|
|
101
|
+
}
|
|
102
|
+
toGroupByScopeName(idsWithDefaultScope) {
|
|
103
|
+
return this.reduce((acc, current) => {
|
|
104
|
+
const getScopeName = () => {
|
|
105
|
+
if (current.scope)
|
|
106
|
+
return current.scope;
|
|
107
|
+
const idWithDefaultScope = idsWithDefaultScope.searchWithoutScopeAndVersion(current);
|
|
108
|
+
return idWithDefaultScope ? idWithDefaultScope.scope : null;
|
|
109
|
+
};
|
|
110
|
+
const scopeName = getScopeName();
|
|
111
|
+
if (!scopeName) {
|
|
112
|
+
throw new Error(`toGroupByScopeName() expect ids to have a scope name, got ${current.toString()}`);
|
|
113
|
+
}
|
|
114
|
+
if (acc[scopeName])
|
|
115
|
+
acc[scopeName].push(current);
|
|
116
|
+
else
|
|
117
|
+
acc[scopeName] = new BitIds(current);
|
|
118
|
+
return acc;
|
|
119
|
+
}, {});
|
|
120
|
+
}
|
|
121
|
+
findDuplicationsIgnoreVersion() {
|
|
122
|
+
const duplications = {};
|
|
123
|
+
this.forEach((id) => {
|
|
124
|
+
const sameIds = this.filterWithoutVersion(id);
|
|
125
|
+
if (sameIds.length > 1) {
|
|
126
|
+
duplications[id.toStringWithoutVersion()] = sameIds;
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
return duplications;
|
|
130
|
+
}
|
|
131
|
+
add(bitIds) {
|
|
132
|
+
bitIds.forEach((bitId) => {
|
|
133
|
+
if (!this.search(bitId))
|
|
134
|
+
this.push(bitId);
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
static fromObject(dependencies) {
|
|
138
|
+
const array = [];
|
|
139
|
+
(0, lodash_1.forEach)(dependencies, (version, id) => {
|
|
140
|
+
// @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
|
|
141
|
+
array.push(bit_id_1.default.parse(id, true, version)); // bit.json has only imported dependencies, they all have scope
|
|
142
|
+
});
|
|
143
|
+
// @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
|
|
144
|
+
return new BitIds(...array);
|
|
145
|
+
}
|
|
146
|
+
static fromArray(ids) {
|
|
147
|
+
// don't do `new BitIds(...ids);`, it'll throw "Maximum call stack size exceeded" for large number if ids.
|
|
148
|
+
const bitIds = new BitIds();
|
|
149
|
+
ids.forEach((id) => bitIds.push(id));
|
|
150
|
+
return bitIds;
|
|
151
|
+
}
|
|
152
|
+
static uniqFromArray(bitIds) {
|
|
153
|
+
const uniq = (0, lodash_1.uniqBy)(bitIds, (id) => id.toString());
|
|
154
|
+
return BitIds.fromArray(uniq);
|
|
155
|
+
}
|
|
156
|
+
throwForDuplicationIgnoreVersion() {
|
|
157
|
+
this.forEach((bitId) => {
|
|
158
|
+
const found = this.filterWithoutVersion(bitId);
|
|
159
|
+
if (found.length > 1) {
|
|
160
|
+
throw new Error(`bitIds has "${bitId.toStringWithoutVersion()}" duplicated as following:
|
|
161
|
+
${found.map((id) => id.toString()).join('\n')}`);
|
|
162
|
+
}
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
toVersionLatest() {
|
|
166
|
+
return BitIds.uniqFromArray(this.map((id) => id.changeVersion(component_version_1.LATEST_VERSION)));
|
|
167
|
+
}
|
|
168
|
+
clone() {
|
|
169
|
+
const cloneIds = this.map((id) => id.clone());
|
|
170
|
+
return new BitIds(...cloneIds);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
exports.default = BitIds;
|
|
174
|
+
//# sourceMappingURL=bit-ids.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bit-ids.js","sourceRoot":"","sources":["../bit-ids.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const chai_1 = require("chai");
|
|
7
|
+
const bit_id_1 = __importDefault(require("./bit-id"));
|
|
8
|
+
const bit_ids_1 = __importDefault(require("./bit-ids"));
|
|
9
|
+
describe('bitIds', () => {
|
|
10
|
+
describe('uniqFromArray', () => {
|
|
11
|
+
it('should return a uniq array with no duplications', () => {
|
|
12
|
+
const a = new bit_id_1.default({ name: 'a' });
|
|
13
|
+
const b = new bit_id_1.default({ name: 'a' });
|
|
14
|
+
(0, chai_1.expect)(bit_ids_1.default.uniqFromArray([a, b])).to.have.lengthOf(1);
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
describe('search functions', () => {
|
|
18
|
+
let bitIds;
|
|
19
|
+
beforeAll(() => {
|
|
20
|
+
const a = new bit_id_1.default({ name: 'a', scope: 'my-scope', version: '0.0.1' });
|
|
21
|
+
const b = new bit_id_1.default({ name: 'b' });
|
|
22
|
+
const c = new bit_id_1.default({ name: 'c' });
|
|
23
|
+
bitIds = new bit_ids_1.default(a, b, c);
|
|
24
|
+
});
|
|
25
|
+
describe('search', () => {
|
|
26
|
+
it('should find an exact match', () => {
|
|
27
|
+
const result = bitIds.search(new bit_id_1.default({ name: 'a', scope: 'my-scope', version: '0.0.1' }));
|
|
28
|
+
(0, chai_1.expect)(result).to.be.an.instanceOf(bit_id_1.default);
|
|
29
|
+
(0, chai_1.expect)(result.serialize()).to.deep.equal({ name: 'a', scope: 'my-scope', version: '0.0.1' });
|
|
30
|
+
});
|
|
31
|
+
it('should find a match when an ID has only name', () => {
|
|
32
|
+
const result = bitIds.search(new bit_id_1.default({ name: 'b' }));
|
|
33
|
+
(0, chai_1.expect)(result).to.be.an.instanceOf(bit_id_1.default);
|
|
34
|
+
(0, chai_1.expect)(result.serialize()).to.deep.equal({ name: 'b' });
|
|
35
|
+
});
|
|
36
|
+
it('should not return a result with a mismatch version', () => {
|
|
37
|
+
const result = bitIds.search(new bit_id_1.default({ name: 'a', scope: 'my-scope', version: '0.0.2' }));
|
|
38
|
+
(0, chai_1.expect)(result).to.be.undefined;
|
|
39
|
+
});
|
|
40
|
+
it('should not return a result with a mismatch scope', () => {
|
|
41
|
+
const result = bitIds.search(new bit_id_1.default({ name: 'a', scope: 'my-another-scope', version: '0.0.1' }));
|
|
42
|
+
(0, chai_1.expect)(result).to.be.undefined;
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
describe('searchWithoutVersion', () => {
|
|
46
|
+
it('should find an exact match', () => {
|
|
47
|
+
const result = bitIds.searchWithoutVersion(new bit_id_1.default({ name: 'a', scope: 'my-scope', version: '0.0.1' }));
|
|
48
|
+
(0, chai_1.expect)(result).to.be.an.instanceOf(bit_id_1.default);
|
|
49
|
+
(0, chai_1.expect)(result.serialize()).to.deep.equal({ name: 'a', scope: 'my-scope', version: '0.0.1' });
|
|
50
|
+
});
|
|
51
|
+
it('should return a result even with a mismatch version', () => {
|
|
52
|
+
const result = bitIds.searchWithoutVersion(new bit_id_1.default({ name: 'a', scope: 'my-scope', version: '0.0.2' }));
|
|
53
|
+
(0, chai_1.expect)(result).to.be.an.instanceOf(bit_id_1.default);
|
|
54
|
+
(0, chai_1.expect)(result.serialize()).to.deep.equal({ name: 'a', scope: 'my-scope', version: '0.0.1' });
|
|
55
|
+
});
|
|
56
|
+
it('should not return a result with a mismatch scope', () => {
|
|
57
|
+
const result = bitIds.searchWithoutVersion(new bit_id_1.default({ name: 'a', scope: 'my-another-scope', version: '0.0.1' }));
|
|
58
|
+
(0, chai_1.expect)(result).to.be.undefined;
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
describe('searchWithoutScopeAndVersion', () => {
|
|
62
|
+
it('should find an exact match', () => {
|
|
63
|
+
const result = bitIds.searchWithoutScopeAndVersion(new bit_id_1.default({ name: 'a', scope: 'my-scope', version: '0.0.1' }));
|
|
64
|
+
(0, chai_1.expect)(result).to.be.an.instanceOf(bit_id_1.default);
|
|
65
|
+
(0, chai_1.expect)(result.serialize()).to.deep.equal({ name: 'a', scope: 'my-scope', version: '0.0.1' });
|
|
66
|
+
});
|
|
67
|
+
it('should return a result even with a mismatch version', () => {
|
|
68
|
+
const result = bitIds.searchWithoutScopeAndVersion(new bit_id_1.default({ name: 'a', scope: 'my-scope', version: '0.0.2' }));
|
|
69
|
+
(0, chai_1.expect)(result).to.be.an.instanceOf(bit_id_1.default);
|
|
70
|
+
(0, chai_1.expect)(result.serialize()).to.deep.equal({ name: 'a', scope: 'my-scope', version: '0.0.1' });
|
|
71
|
+
});
|
|
72
|
+
it('should return a result even with a mismatch scope', () => {
|
|
73
|
+
const result = bitIds.searchWithoutScopeAndVersion(new bit_id_1.default({ name: 'a', scope: 'my-another-scope', version: '0.0.1' }));
|
|
74
|
+
(0, chai_1.expect)(result).to.be.an.instanceOf(bit_id_1.default);
|
|
75
|
+
(0, chai_1.expect)(result.serialize()).to.deep.equal({ name: 'a', scope: 'my-scope', version: '0.0.1' });
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
});
|
|
79
|
+
describe('difference', () => {
|
|
80
|
+
it('should remove entries from the provided array', () => {
|
|
81
|
+
const a = new bit_id_1.default({ name: 'a' });
|
|
82
|
+
const b = new bit_id_1.default({ name: 'b' });
|
|
83
|
+
const c = new bit_id_1.default({ name: 'c' });
|
|
84
|
+
const bitIds = bit_ids_1.default.fromArray([a, b]);
|
|
85
|
+
const bitIds2 = bit_ids_1.default.fromArray([b, c]);
|
|
86
|
+
const res = bitIds.difference(bitIds2);
|
|
87
|
+
(0, chai_1.expect)(res).to.have.lengthOf(1);
|
|
88
|
+
(0, chai_1.expect)(res.serialize()[0].toString()).to.equal('a');
|
|
89
|
+
});
|
|
90
|
+
});
|
|
91
|
+
});
|
|
92
|
+
//# sourceMappingURL=bit-ids.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bit-ids.spec.js","sourceRoot":"","sources":["../bit-ids.spec.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import BitId, { BitIdProps, VERSION_DELIMITER, BitIdStr } from './bit-id';
|
|
2
|
+
import BitIds from './bit-ids';
|
|
2
3
|
import { InvalidName, InvalidScopeName, InvalidScopeNameFromRemote } from './exceptions';
|
|
3
4
|
import isValidScopeName from './utils/is-valid-scope-name';
|
|
4
5
|
import isValidIdChunk from './utils/is-valid-id-chunk';
|
|
5
|
-
export { BitId, BitIdProps, BitIdStr, VERSION_DELIMITER, isValidScopeName, isValidIdChunk, InvalidName, InvalidScopeName, InvalidScopeNameFromRemote, };
|
|
6
|
+
export { BitId, BitIds, BitIdProps, BitIdStr, VERSION_DELIMITER, isValidScopeName, isValidIdChunk, InvalidName, InvalidScopeName, InvalidScopeNameFromRemote, };
|
package/dist/index.js
CHANGED
|
@@ -26,10 +26,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
26
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.InvalidScopeNameFromRemote = exports.InvalidScopeName = exports.InvalidName = exports.isValidIdChunk = exports.isValidScopeName = exports.VERSION_DELIMITER = exports.BitId = void 0;
|
|
29
|
+
exports.InvalidScopeNameFromRemote = exports.InvalidScopeName = exports.InvalidName = exports.isValidIdChunk = exports.isValidScopeName = exports.VERSION_DELIMITER = exports.BitIds = exports.BitId = void 0;
|
|
30
30
|
const bit_id_1 = __importStar(require("./bit-id"));
|
|
31
31
|
exports.BitId = bit_id_1.default;
|
|
32
32
|
Object.defineProperty(exports, "VERSION_DELIMITER", { enumerable: true, get: function () { return bit_id_1.VERSION_DELIMITER; } });
|
|
33
|
+
const bit_ids_1 = __importDefault(require("./bit-ids"));
|
|
34
|
+
exports.BitIds = bit_ids_1.default;
|
|
33
35
|
const exceptions_1 = require("./exceptions");
|
|
34
36
|
Object.defineProperty(exports, "InvalidName", { enumerable: true, get: function () { return exceptions_1.InvalidName; } });
|
|
35
37
|
Object.defineProperty(exports, "InvalidScopeName", { enumerable: true, get: function () { return exceptions_1.InvalidScopeName; } });
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAA0E;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAA0E;AAOxE,gBAPK,gBAAK,CAOL;AAIL,kGAX0B,0BAAiB,OAW1B;AAVnB,wDAA+B;AAO7B,iBAPK,iBAAM,CAOL;AANR,6CAAyF;AAYvF,4FAZO,wBAAW,OAYP;AACX,iGAboB,6BAAgB,OAapB;AAChB,2GAdsC,uCAA0B,OActC;AAb5B,sFAA2D;AASzD,2BATK,6BAAgB,CASL;AARlB,kFAAuD;AASrD,yBATK,2BAAc,CASL"}
|
package/index.ts
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import BitId, { BitIdProps, VERSION_DELIMITER, BitIdStr } from './bit-id';
|
|
2
|
+
import BitIds from './bit-ids';
|
|
2
3
|
import { InvalidName, InvalidScopeName, InvalidScopeNameFromRemote } from './exceptions';
|
|
3
4
|
import isValidScopeName from './utils/is-valid-scope-name';
|
|
4
5
|
import isValidIdChunk from './utils/is-valid-id-chunk';
|
|
5
6
|
|
|
6
7
|
export {
|
|
7
8
|
BitId,
|
|
9
|
+
BitIds,
|
|
8
10
|
BitIdProps,
|
|
9
11
|
BitIdStr,
|
|
10
12
|
VERSION_DELIMITER,
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/legacy-bit-id",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.1",
|
|
4
4
|
"homepage": "https://bit.cloud/teambit/component/legacy-bit-id",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "teambit.component",
|
|
8
8
|
"name": "legacy-bit-id",
|
|
9
|
-
"version": "1.1.
|
|
9
|
+
"version": "1.1.1"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"decamelize": "1.2.0",
|
|
File without changes
|