@teambit/dependency-resolver 1.0.98 → 1.0.100
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/dependencies/base-dependency.ts +11 -1
- package/dependencies/component-dependency/component-dependency-factory.ts +2 -1
- package/dependencies/component-dependency/component-dependency.ts +3 -2
- package/dependencies/constants.ts +2 -0
- package/dependencies/dependency-list.ts +19 -1
- package/dependencies/dependency.ts +2 -0
- package/dist/dependencies/base-dependency.d.ts +4 -1
- package/dist/dependencies/base-dependency.js +10 -2
- package/dist/dependencies/base-dependency.js.map +1 -1
- package/dist/dependencies/component-dependency/component-dependency-factory.js +1 -1
- package/dist/dependencies/component-dependency/component-dependency-factory.js.map +1 -1
- package/dist/dependencies/component-dependency/component-dependency.d.ts +1 -1
- package/dist/dependencies/component-dependency/component-dependency.js +2 -2
- package/dist/dependencies/component-dependency/component-dependency.js.map +1 -1
- package/dist/dependencies/constants.d.ts +2 -0
- package/dist/dependencies/constants.js +4 -2
- package/dist/dependencies/constants.js.map +1 -1
- package/dist/dependencies/dependency-list.d.ts +8 -0
- package/dist/dependencies/dependency-list.js +9 -2
- package/dist/dependencies/dependency-list.js.map +1 -1
- package/dist/dependencies/dependency.d.ts +2 -0
- package/dist/dependencies/dependency.js.map +1 -1
- package/dist/dependency-resolver.main.runtime.js +18 -0
- package/dist/dependency-resolver.main.runtime.js.map +1 -1
- package/dist/get-all-policy-pkgs.js.map +1 -1
- package/dist/manifest/deduping/dedupe-dependencies.d.ts +1 -1
- package/dist/manifest/deduping/dedupe-dependencies.js.map +1 -1
- package/dist/manifest/deduping/hoist-dependencies.js +2 -0
- package/dist/manifest/deduping/hoist-dependencies.js.map +1 -1
- package/dist/manifest/deduping/index-by-dep-id.js +9 -0
- package/dist/manifest/deduping/index-by-dep-id.js.map +1 -1
- package/dist/manifest/manifest.d.ts +5 -1
- package/dist/manifest/manifest.js +5 -1
- package/dist/manifest/manifest.js.map +1 -1
- package/dist/manifest/workspace-manifest-factory.js +3 -1
- package/dist/manifest/workspace-manifest-factory.js.map +1 -1
- package/dist/policy/env-policy/env-policy.d.ts +1 -0
- package/dist/policy/env-policy/env-policy.js +28 -8
- package/dist/policy/env-policy/env-policy.js.map +1 -1
- package/dist/policy/index.d.ts +1 -1
- package/dist/policy/index.js +6 -0
- package/dist/policy/index.js.map +1 -1
- package/dist/policy/variant-policy/index.d.ts +1 -1
- package/dist/policy/variant-policy/index.js +6 -0
- package/dist/policy/variant-policy/index.js.map +1 -1
- package/dist/policy/variant-policy/variant-policy.d.ts +5 -2
- package/dist/policy/variant-policy/variant-policy.js +29 -23
- package/dist/policy/variant-policy/variant-policy.js.map +1 -1
- package/dist/{preview-1702810660071.js → preview-1703042095768.js} +2 -2
- package/dist/show-fragments/serialize-by-lifecycle.js +1 -1
- package/dist/show-fragments/serialize-by-lifecycle.js.map +1 -1
- package/manifest/deduping/dedupe-dependencies.ts +1 -1
- package/manifest/deduping/hoist-dependencies.ts +2 -0
- package/manifest/deduping/index-by-dep-id.ts +3 -0
- package/manifest/manifest.ts +9 -1
- package/manifest/workspace-manifest-factory.ts +2 -0
- package/package.json +18 -15
- package/policy/env-policy/env-policy.ts +22 -15
- package/policy/index.ts +6 -1
- package/policy/variant-policy/index.ts +1 -0
- package/policy/variant-policy/variant-policy.ts +28 -33
- package/show-fragments/serialize-by-lifecycle.ts +1 -1
|
@@ -9,7 +9,8 @@ export abstract class BaseDependency implements Dependency {
|
|
|
9
9
|
private _version: string,
|
|
10
10
|
private _lifecycle: DependencyLifecycleType,
|
|
11
11
|
private _source?: DependencySource,
|
|
12
|
-
private _hidden?: boolean
|
|
12
|
+
private _hidden?: boolean,
|
|
13
|
+
private _optional?: boolean
|
|
13
14
|
) {}
|
|
14
15
|
|
|
15
16
|
get id(): string {
|
|
@@ -48,6 +49,14 @@ export abstract class BaseDependency implements Dependency {
|
|
|
48
49
|
return this._hidden;
|
|
49
50
|
}
|
|
50
51
|
|
|
52
|
+
set optional(optional) {
|
|
53
|
+
this._optional = optional;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
get optional() {
|
|
57
|
+
return this._optional;
|
|
58
|
+
}
|
|
59
|
+
|
|
51
60
|
serialize<SerializedDependency>(): SerializedDependency {
|
|
52
61
|
return {
|
|
53
62
|
id: this.id,
|
|
@@ -56,6 +65,7 @@ export abstract class BaseDependency implements Dependency {
|
|
|
56
65
|
lifecycle: this.lifecycle.toString(),
|
|
57
66
|
source: this.source,
|
|
58
67
|
hidden: this.hidden,
|
|
68
|
+
optional: this.optional,
|
|
59
69
|
} as unknown as SerializedDependency;
|
|
60
70
|
}
|
|
61
71
|
|
|
@@ -49,7 +49,8 @@ export class ComponentDependencyFactory implements DependencyFactory {
|
|
|
49
49
|
serialized.version,
|
|
50
50
|
serialized.lifecycle as DependencyLifecycleType,
|
|
51
51
|
serialized.source,
|
|
52
|
-
serialized.hidden
|
|
52
|
+
serialized.hidden,
|
|
53
|
+
serialized.optional
|
|
53
54
|
) as unknown as ComponentDependency;
|
|
54
55
|
}
|
|
55
56
|
|
|
@@ -23,9 +23,10 @@ export class ComponentDependency extends BaseDependency {
|
|
|
23
23
|
version: string,
|
|
24
24
|
lifecycle: DependencyLifecycleType,
|
|
25
25
|
source?: DependencySource,
|
|
26
|
-
hidden?: boolean
|
|
26
|
+
hidden?: boolean,
|
|
27
|
+
optional?: boolean
|
|
27
28
|
) {
|
|
28
|
-
super(id, version, lifecycle, source, hidden);
|
|
29
|
+
super(id, version, lifecycle, source, hidden, optional);
|
|
29
30
|
this._type = TYPE;
|
|
30
31
|
}
|
|
31
32
|
|
|
@@ -10,10 +10,12 @@ export const LIFECYCLE_TYPE_BY_KEY_NAME = {
|
|
|
10
10
|
dependencies: RUNTIME_DEP_LIFECYCLE_TYPE,
|
|
11
11
|
devDependencies: DEV_DEP_LIFECYCLE_TYPE,
|
|
12
12
|
peerDependencies: PEER_DEP_LIFECYCLE_TYPE,
|
|
13
|
+
optionalDependencies: 'optional-runtime',
|
|
13
14
|
};
|
|
14
15
|
|
|
15
16
|
export const KEY_NAME_BY_LIFECYCLE_TYPE = {
|
|
16
17
|
[RUNTIME_DEP_LIFECYCLE_TYPE]: 'dependencies',
|
|
17
18
|
[DEV_DEP_LIFECYCLE_TYPE]: 'devDependencies',
|
|
18
19
|
[PEER_DEP_LIFECYCLE_TYPE]: 'peerDependencies',
|
|
20
|
+
'optional-runtime': 'optionalDependencies',
|
|
19
21
|
};
|
|
@@ -8,8 +8,18 @@ export type LifecycleDependenciesManifest = Record<PackageName, SemverVersion>;
|
|
|
8
8
|
|
|
9
9
|
export interface DependenciesManifest {
|
|
10
10
|
dependencies?: LifecycleDependenciesManifest;
|
|
11
|
+
optionalDependencies?: LifecycleDependenciesManifest;
|
|
11
12
|
devDependencies?: LifecycleDependenciesManifest;
|
|
12
13
|
peerDependencies?: LifecycleDependenciesManifest;
|
|
14
|
+
peerDependenciesMeta?: PeerDependenciesMeta;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export interface PeerDependenciesMeta {
|
|
18
|
+
[peerName: string]: PeerDependencyMeta;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export interface PeerDependencyMeta {
|
|
22
|
+
optional: true;
|
|
13
23
|
}
|
|
14
24
|
|
|
15
25
|
export type FindDependencyOptions = {
|
|
@@ -126,14 +136,22 @@ export class DependencyList {
|
|
|
126
136
|
toDependenciesManifest(): Required<DependenciesManifest> {
|
|
127
137
|
const manifest: Required<DependenciesManifest> = {
|
|
128
138
|
dependencies: {},
|
|
139
|
+
optionalDependencies: {},
|
|
129
140
|
devDependencies: {},
|
|
130
141
|
peerDependencies: {},
|
|
142
|
+
peerDependenciesMeta: {},
|
|
131
143
|
};
|
|
132
144
|
this.forEach((dep) => {
|
|
133
|
-
const keyName =
|
|
145
|
+
const keyName =
|
|
146
|
+
dep.optional && dep.lifecycle === 'runtime'
|
|
147
|
+
? 'optionalDependencies'
|
|
148
|
+
: KEY_NAME_BY_LIFECYCLE_TYPE[dep.lifecycle];
|
|
134
149
|
const entry = dep.toManifest();
|
|
135
150
|
if (entry) {
|
|
136
151
|
manifest[keyName][entry.packageName] = entry.version;
|
|
152
|
+
if (dep.optional && dep.lifecycle === 'peer') {
|
|
153
|
+
manifest.peerDependenciesMeta[entry.packageName] = { optional: true };
|
|
154
|
+
}
|
|
137
155
|
}
|
|
138
156
|
});
|
|
139
157
|
return manifest;
|
|
@@ -11,6 +11,7 @@ export interface SerializedDependency {
|
|
|
11
11
|
lifecycle: string;
|
|
12
12
|
source?: DependencySource;
|
|
13
13
|
hidden?: boolean;
|
|
14
|
+
optional?: boolean;
|
|
14
15
|
packageName?: string;
|
|
15
16
|
}
|
|
16
17
|
|
|
@@ -32,6 +33,7 @@ export interface Dependency {
|
|
|
32
33
|
lifecycle: DependencyLifecycleType;
|
|
33
34
|
source?: DependencySource;
|
|
34
35
|
hidden?: boolean;
|
|
36
|
+
optional?: boolean;
|
|
35
37
|
|
|
36
38
|
serialize: <T extends SerializedDependency>() => T;
|
|
37
39
|
setVersion: (newVersion: string) => void;
|
|
@@ -6,8 +6,9 @@ export declare abstract class BaseDependency implements Dependency {
|
|
|
6
6
|
private _lifecycle;
|
|
7
7
|
private _source?;
|
|
8
8
|
private _hidden?;
|
|
9
|
+
private _optional?;
|
|
9
10
|
_type: string;
|
|
10
|
-
constructor(_id: string, _version: string, _lifecycle: DependencyLifecycleType, _source?: DependencySource | undefined, _hidden?: boolean | undefined);
|
|
11
|
+
constructor(_id: string, _version: string, _lifecycle: DependencyLifecycleType, _source?: DependencySource | undefined, _hidden?: boolean | undefined, _optional?: boolean | undefined);
|
|
11
12
|
get id(): string;
|
|
12
13
|
set id(newId: string);
|
|
13
14
|
get version(): string;
|
|
@@ -17,6 +18,8 @@ export declare abstract class BaseDependency implements Dependency {
|
|
|
17
18
|
set source(source: DependencySource | undefined);
|
|
18
19
|
set hidden(hidden: boolean | undefined);
|
|
19
20
|
get hidden(): boolean | undefined;
|
|
21
|
+
set optional(optional: boolean | undefined);
|
|
22
|
+
get optional(): boolean | undefined;
|
|
20
23
|
serialize<SerializedDependency>(): SerializedDependency;
|
|
21
24
|
setVersion(newVersion: string): void;
|
|
22
25
|
getPackageName(): string;
|
|
@@ -8,12 +8,13 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
|
|
|
8
8
|
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
9
9
|
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
10
10
|
class BaseDependency {
|
|
11
|
-
constructor(_id, _version, _lifecycle, _source, _hidden) {
|
|
11
|
+
constructor(_id, _version, _lifecycle, _source, _hidden, _optional) {
|
|
12
12
|
this._id = _id;
|
|
13
13
|
this._version = _version;
|
|
14
14
|
this._lifecycle = _lifecycle;
|
|
15
15
|
this._source = _source;
|
|
16
16
|
this._hidden = _hidden;
|
|
17
|
+
this._optional = _optional;
|
|
17
18
|
_defineProperty(this, "_type", void 0);
|
|
18
19
|
}
|
|
19
20
|
get id() {
|
|
@@ -43,6 +44,12 @@ class BaseDependency {
|
|
|
43
44
|
get hidden() {
|
|
44
45
|
return this._hidden;
|
|
45
46
|
}
|
|
47
|
+
set optional(optional) {
|
|
48
|
+
this._optional = optional;
|
|
49
|
+
}
|
|
50
|
+
get optional() {
|
|
51
|
+
return this._optional;
|
|
52
|
+
}
|
|
46
53
|
serialize() {
|
|
47
54
|
return {
|
|
48
55
|
id: this.id,
|
|
@@ -50,7 +57,8 @@ class BaseDependency {
|
|
|
50
57
|
__type: this.type,
|
|
51
58
|
lifecycle: this.lifecycle.toString(),
|
|
52
59
|
source: this.source,
|
|
53
|
-
hidden: this.hidden
|
|
60
|
+
hidden: this.hidden,
|
|
61
|
+
optional: this.optional
|
|
54
62
|
};
|
|
55
63
|
}
|
|
56
64
|
setVersion(newVersion) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BaseDependency","constructor","_id","_version","_lifecycle","_source","_hidden","_defineProperty","id","newId","version","type","_type","lifecycle","source","hidden","serialize","__type","toString","setVersion","newVersion","getPackageName","toManifest","_this$getPackageName","packageName","call","exports"],"sources":["base-dependency.ts"],"sourcesContent":["import { DependencySource } from '../policy/variant-policy/variant-policy';\nimport { Dependency, DependencyLifecycleType, DependencyManifest } from './dependency';\n\nexport abstract class BaseDependency implements Dependency {\n _type: string;\n\n constructor(\n private _id: string,\n private _version: string,\n private _lifecycle: DependencyLifecycleType,\n private _source?: DependencySource,\n private _hidden?: boolean\n ) {}\n\n get id(): string {\n return this._id;\n }\n\n set id(newId: string) {\n this._id = newId;\n }\n\n get version() {\n return this._version;\n }\n\n get type() {\n return this._type;\n }\n\n get lifecycle() {\n return this._lifecycle;\n }\n\n get source() {\n return this._source;\n }\n\n set source(source) {\n this._source = source;\n }\n\n set hidden(hidden) {\n this._hidden = hidden;\n }\n\n get hidden() {\n return this._hidden;\n }\n\n serialize<SerializedDependency>(): SerializedDependency {\n return {\n id: this.id,\n version: this.version,\n __type: this.type,\n lifecycle: this.lifecycle.toString(),\n source: this.source,\n hidden: this.hidden,\n } as unknown as SerializedDependency;\n }\n\n setVersion(newVersion: string) {\n this._version = newVersion;\n }\n\n getPackageName() {\n return this.id;\n }\n\n toManifest(): DependencyManifest {\n const packageName = this.getPackageName?.();\n const version = this.version;\n return {\n packageName,\n version,\n };\n }\n}\n"],"mappings":";;;;;;;;;AAGO,MAAeA,cAAc,CAAuB;EAGzDC,WAAWA,CACDC,GAAW,EACXC,QAAgB,EAChBC,UAAmC,EACnCC,OAA0B,EAC1BC,OAAiB,
|
|
1
|
+
{"version":3,"names":["BaseDependency","constructor","_id","_version","_lifecycle","_source","_hidden","_optional","_defineProperty","id","newId","version","type","_type","lifecycle","source","hidden","optional","serialize","__type","toString","setVersion","newVersion","getPackageName","toManifest","_this$getPackageName","packageName","call","exports"],"sources":["base-dependency.ts"],"sourcesContent":["import { DependencySource } from '../policy/variant-policy/variant-policy';\nimport { Dependency, DependencyLifecycleType, DependencyManifest } from './dependency';\n\nexport abstract class BaseDependency implements Dependency {\n _type: string;\n\n constructor(\n private _id: string,\n private _version: string,\n private _lifecycle: DependencyLifecycleType,\n private _source?: DependencySource,\n private _hidden?: boolean,\n private _optional?: boolean\n ) {}\n\n get id(): string {\n return this._id;\n }\n\n set id(newId: string) {\n this._id = newId;\n }\n\n get version() {\n return this._version;\n }\n\n get type() {\n return this._type;\n }\n\n get lifecycle() {\n return this._lifecycle;\n }\n\n get source() {\n return this._source;\n }\n\n set source(source) {\n this._source = source;\n }\n\n set hidden(hidden) {\n this._hidden = hidden;\n }\n\n get hidden() {\n return this._hidden;\n }\n\n set optional(optional) {\n this._optional = optional;\n }\n\n get optional() {\n return this._optional;\n }\n\n serialize<SerializedDependency>(): SerializedDependency {\n return {\n id: this.id,\n version: this.version,\n __type: this.type,\n lifecycle: this.lifecycle.toString(),\n source: this.source,\n hidden: this.hidden,\n optional: this.optional,\n } as unknown as SerializedDependency;\n }\n\n setVersion(newVersion: string) {\n this._version = newVersion;\n }\n\n getPackageName() {\n return this.id;\n }\n\n toManifest(): DependencyManifest {\n const packageName = this.getPackageName?.();\n const version = this.version;\n return {\n packageName,\n version,\n };\n }\n}\n"],"mappings":";;;;;;;;;AAGO,MAAeA,cAAc,CAAuB;EAGzDC,WAAWA,CACDC,GAAW,EACXC,QAAgB,EAChBC,UAAmC,EACnCC,OAA0B,EAC1BC,OAAiB,EACjBC,SAAmB,EAC3B;IAAA,KANQL,GAAW,GAAXA,GAAW;IAAA,KACXC,QAAgB,GAAhBA,QAAgB;IAAA,KAChBC,UAAmC,GAAnCA,UAAmC;IAAA,KACnCC,OAA0B,GAA1BA,OAA0B;IAAA,KAC1BC,OAAiB,GAAjBA,OAAiB;IAAA,KACjBC,SAAmB,GAAnBA,SAAmB;IAAAC,eAAA;EAC1B;EAEH,IAAIC,EAAEA,CAAA,EAAW;IACf,OAAO,IAAI,CAACP,GAAG;EACjB;EAEA,IAAIO,EAAEA,CAACC,KAAa,EAAE;IACpB,IAAI,CAACR,GAAG,GAAGQ,KAAK;EAClB;EAEA,IAAIC,OAAOA,CAAA,EAAG;IACZ,OAAO,IAAI,CAACR,QAAQ;EACtB;EAEA,IAAIS,IAAIA,CAAA,EAAG;IACT,OAAO,IAAI,CAACC,KAAK;EACnB;EAEA,IAAIC,SAASA,CAAA,EAAG;IACd,OAAO,IAAI,CAACV,UAAU;EACxB;EAEA,IAAIW,MAAMA,CAAA,EAAG;IACX,OAAO,IAAI,CAACV,OAAO;EACrB;EAEA,IAAIU,MAAMA,CAACA,MAAM,EAAE;IACjB,IAAI,CAACV,OAAO,GAAGU,MAAM;EACvB;EAEA,IAAIC,MAAMA,CAACA,MAAM,EAAE;IACjB,IAAI,CAACV,OAAO,GAAGU,MAAM;EACvB;EAEA,IAAIA,MAAMA,CAAA,EAAG;IACX,OAAO,IAAI,CAACV,OAAO;EACrB;EAEA,IAAIW,QAAQA,CAACA,QAAQ,EAAE;IACrB,IAAI,CAACV,SAAS,GAAGU,QAAQ;EAC3B;EAEA,IAAIA,QAAQA,CAAA,EAAG;IACb,OAAO,IAAI,CAACV,SAAS;EACvB;EAEAW,SAASA,CAAA,EAA+C;IACtD,OAAO;MACLT,EAAE,EAAE,IAAI,CAACA,EAAE;MACXE,OAAO,EAAE,IAAI,CAACA,OAAO;MACrBQ,MAAM,EAAE,IAAI,CAACP,IAAI;MACjBE,SAAS,EAAE,IAAI,CAACA,SAAS,CAACM,QAAQ,CAAC,CAAC;MACpCL,MAAM,EAAE,IAAI,CAACA,MAAM;MACnBC,MAAM,EAAE,IAAI,CAACA,MAAM;MACnBC,QAAQ,EAAE,IAAI,CAACA;IACjB,CAAC;EACH;EAEAI,UAAUA,CAACC,UAAkB,EAAE;IAC7B,IAAI,CAACnB,QAAQ,GAAGmB,UAAU;EAC5B;EAEAC,cAAcA,CAAA,EAAG;IACf,OAAO,IAAI,CAACd,EAAE;EAChB;EAEAe,UAAUA,CAAA,EAAuB;IAAA,IAAAC,oBAAA;IAC/B,MAAMC,WAAW,IAAAD,oBAAA,GAAG,IAAI,CAACF,cAAc,cAAAE,oBAAA,uBAAnBA,oBAAA,CAAAE,IAAA,KAAsB,CAAC;IAC3C,MAAMhB,OAAO,GAAG,IAAI,CAACA,OAAO;IAC5B,OAAO;MACLe,WAAW;MACXf;IACF,CAAC;EACH;AACF;AAACiB,OAAA,CAAA5B,cAAA,GAAAA,cAAA"}
|
|
@@ -76,7 +76,7 @@ class ComponentDependencyFactory {
|
|
|
76
76
|
} else {
|
|
77
77
|
throw new Error(`ComponentDependencyFactory, unable to parse ${serialized.componentId}`);
|
|
78
78
|
}
|
|
79
|
-
return new (_componentDependency().ComponentDependency)(id, serialized.isExtension, serialized.packageName, serialized.id, serialized.version, serialized.lifecycle, serialized.source, serialized.hidden);
|
|
79
|
+
return new (_componentDependency().ComponentDependency)(id, serialized.isExtension, serialized.packageName, serialized.id, serialized.version, serialized.lifecycle, serialized.source, serialized.hidden, serialized.optional);
|
|
80
80
|
}
|
|
81
81
|
async fromLegacyComponent(legacyComponent) {
|
|
82
82
|
const runtimeDeps = await (0, _pMapSeries().default)(legacyComponent.dependencies.get(), dep => this.transformLegacyComponentDepToSerializedDependency(dep, 'runtime'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_pMapSeries","data","_interopRequireDefault","require","_lodash","_componentId","_componentIdToPackageName","_componentDependency","_dependencyList","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","ComponentDependencyFactory","constructor","componentAspect","type","TYPE","parse","serialized","id","componentId","ComponentID","scope","fromObject","Error","ComponentDependency","isExtension","packageName","version","lifecycle","source","hidden","fromLegacyComponent","legacyComponent","runtimeDeps","mapSeries","dependencies","get","dep","transformLegacyComponentDepToSerializedDependency","devDeps","devDependencies","extensionDeps","extensions","extension","transformLegacyComponentExtensionToSerializedDependency","filteredExtensionDeps","compact","serializedComponentDeps","componentDeps","dependencyList","DependencyList","legacyDep","host","getHost","resolveComponentId","depComponent","getLegacyMinimal","componentIdToPackageName","toString","serialize","_legacy","getVersion","__type","extensionId","extComponent","state","_consumer","exports"],"sources":["component-dependency-factory.ts"],"sourcesContent":["import mapSeries from 'p-map-series';\nimport { ComponentMain } from '@teambit/component';\nimport { compact } from 'lodash';\nimport { ComponentID } from '@teambit/component-id';\nimport { Dependency as LegacyDependency } from '@teambit/legacy/dist/consumer/component/dependencies';\nimport LegacyComponent from '@teambit/legacy/dist/consumer/component';\nimport { ExtensionDataEntry } from '@teambit/legacy/dist/consumer/config';\nimport componentIdToPackageName from '@teambit/legacy/dist/utils/bit/component-id-to-package-name';\nimport { ComponentDependency, SerializedComponentDependency, TYPE } from './component-dependency';\nimport { DependencyLifecycleType } from '../dependency';\nimport { DependencyFactory } from '../dependency-factory';\nimport { DependencyList } from '../dependency-list';\n\n// TODO: think about where is the right place to put this\n// export class ComponentDependencyFactory implements DependencyFactory<ComponentDependency, SerializedComponentDependency> {\n// parse(serialized: SerializedComponentDependency) {\n// const id = ComponentID.fromObject(serialized.componentId);\n// return new ComponentDependency(id, serialized.id, serialized.version, serialized.type, serialized.lifecycle as DependencyLifecycleType);\n// }\n// }\n\nexport class ComponentDependencyFactory implements DependencyFactory {\n type: string;\n\n constructor(private componentAspect: ComponentMain) {\n this.type = TYPE;\n }\n\n // TODO: solve this generics issue and remove the ts-ignore\n // @ts-ignore\n async parse<ComponentDependency, S extends SerializedComponentDependency>(\n serialized: S\n ): Promise<ComponentDependency> {\n let id;\n\n if (serialized.componentId instanceof ComponentID) {\n id = serialized.componentId;\n } else if (typeof serialized.componentId === 'object' && serialized.componentId.scope) {\n id = ComponentID.fromObject(serialized.componentId as any);\n } else {\n throw new Error(`ComponentDependencyFactory, unable to parse ${serialized.componentId}`);\n }\n\n return new ComponentDependency(\n id,\n serialized.isExtension,\n serialized.packageName,\n serialized.id,\n serialized.version,\n serialized.lifecycle as DependencyLifecycleType,\n serialized.source,\n serialized.hidden\n ) as unknown as ComponentDependency;\n }\n\n async fromLegacyComponent(legacyComponent: LegacyComponent): Promise<DependencyList> {\n const runtimeDeps = await mapSeries(legacyComponent.dependencies.get(), (dep) =>\n this.transformLegacyComponentDepToSerializedDependency(dep, 'runtime')\n );\n const devDeps = await mapSeries(legacyComponent.devDependencies.get(), (dep) =>\n this.transformLegacyComponentDepToSerializedDependency(dep, 'dev')\n );\n const extensionDeps = await mapSeries(legacyComponent.extensions, (extension) =>\n this.transformLegacyComponentExtensionToSerializedDependency(extension, 'dev')\n );\n const filteredExtensionDeps: SerializedComponentDependency[] = compact(extensionDeps);\n const serializedComponentDeps = [...runtimeDeps, ...devDeps, ...filteredExtensionDeps];\n const componentDeps: ComponentDependency[] = await mapSeries(serializedComponentDeps, (dep) => this.parse(dep));\n const dependencyList = new DependencyList(componentDeps);\n return dependencyList;\n }\n\n private async transformLegacyComponentDepToSerializedDependency(\n legacyDep: LegacyDependency,\n lifecycle: DependencyLifecycleType\n ): Promise<SerializedComponentDependency> {\n let packageName = legacyDep.packageName || '';\n if (!packageName) {\n const host = this.componentAspect.getHost();\n const id = await host.resolveComponentId(legacyDep.id);\n const depComponent = await host.getLegacyMinimal(id);\n if (depComponent) {\n packageName = componentIdToPackageName(depComponent);\n }\n }\n\n return {\n id: legacyDep.id.toString(),\n isExtension: false,\n packageName,\n componentId: legacyDep.id.serialize(),\n version: legacyDep.id._legacy.getVersion().toString(),\n __type: TYPE,\n lifecycle,\n };\n }\n\n private async transformLegacyComponentExtensionToSerializedDependency(\n extension: ExtensionDataEntry,\n lifecycle: DependencyLifecycleType\n ): Promise<SerializedComponentDependency | undefined> {\n if (!extension.extensionId) {\n return undefined;\n }\n const host = this.componentAspect.getHost();\n const id = await host.resolveComponentId(extension.extensionId);\n const extComponent = await host.get(id);\n let packageName = '';\n if (extComponent) {\n packageName = componentIdToPackageName(extComponent.state._consumer);\n }\n return {\n id: extension.extensionId.toString(),\n isExtension: true,\n packageName,\n componentId: extension.extensionId.serialize(),\n version: extension.extensionId._legacy.getVersion().toString(),\n __type: TYPE,\n lifecycle,\n };\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_pMapSeries","data","_interopRequireDefault","require","_lodash","_componentId","_componentIdToPackageName","_componentDependency","_dependencyList","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","ComponentDependencyFactory","constructor","componentAspect","type","TYPE","parse","serialized","id","componentId","ComponentID","scope","fromObject","Error","ComponentDependency","isExtension","packageName","version","lifecycle","source","hidden","optional","fromLegacyComponent","legacyComponent","runtimeDeps","mapSeries","dependencies","get","dep","transformLegacyComponentDepToSerializedDependency","devDeps","devDependencies","extensionDeps","extensions","extension","transformLegacyComponentExtensionToSerializedDependency","filteredExtensionDeps","compact","serializedComponentDeps","componentDeps","dependencyList","DependencyList","legacyDep","host","getHost","resolveComponentId","depComponent","getLegacyMinimal","componentIdToPackageName","toString","serialize","_legacy","getVersion","__type","extensionId","extComponent","state","_consumer","exports"],"sources":["component-dependency-factory.ts"],"sourcesContent":["import mapSeries from 'p-map-series';\nimport { ComponentMain } from '@teambit/component';\nimport { compact } from 'lodash';\nimport { ComponentID } from '@teambit/component-id';\nimport { Dependency as LegacyDependency } from '@teambit/legacy/dist/consumer/component/dependencies';\nimport LegacyComponent from '@teambit/legacy/dist/consumer/component';\nimport { ExtensionDataEntry } from '@teambit/legacy/dist/consumer/config';\nimport componentIdToPackageName from '@teambit/legacy/dist/utils/bit/component-id-to-package-name';\nimport { ComponentDependency, SerializedComponentDependency, TYPE } from './component-dependency';\nimport { DependencyLifecycleType } from '../dependency';\nimport { DependencyFactory } from '../dependency-factory';\nimport { DependencyList } from '../dependency-list';\n\n// TODO: think about where is the right place to put this\n// export class ComponentDependencyFactory implements DependencyFactory<ComponentDependency, SerializedComponentDependency> {\n// parse(serialized: SerializedComponentDependency) {\n// const id = ComponentID.fromObject(serialized.componentId);\n// return new ComponentDependency(id, serialized.id, serialized.version, serialized.type, serialized.lifecycle as DependencyLifecycleType);\n// }\n// }\n\nexport class ComponentDependencyFactory implements DependencyFactory {\n type: string;\n\n constructor(private componentAspect: ComponentMain) {\n this.type = TYPE;\n }\n\n // TODO: solve this generics issue and remove the ts-ignore\n // @ts-ignore\n async parse<ComponentDependency, S extends SerializedComponentDependency>(\n serialized: S\n ): Promise<ComponentDependency> {\n let id;\n\n if (serialized.componentId instanceof ComponentID) {\n id = serialized.componentId;\n } else if (typeof serialized.componentId === 'object' && serialized.componentId.scope) {\n id = ComponentID.fromObject(serialized.componentId as any);\n } else {\n throw new Error(`ComponentDependencyFactory, unable to parse ${serialized.componentId}`);\n }\n\n return new ComponentDependency(\n id,\n serialized.isExtension,\n serialized.packageName,\n serialized.id,\n serialized.version,\n serialized.lifecycle as DependencyLifecycleType,\n serialized.source,\n serialized.hidden,\n serialized.optional\n ) as unknown as ComponentDependency;\n }\n\n async fromLegacyComponent(legacyComponent: LegacyComponent): Promise<DependencyList> {\n const runtimeDeps = await mapSeries(legacyComponent.dependencies.get(), (dep) =>\n this.transformLegacyComponentDepToSerializedDependency(dep, 'runtime')\n );\n const devDeps = await mapSeries(legacyComponent.devDependencies.get(), (dep) =>\n this.transformLegacyComponentDepToSerializedDependency(dep, 'dev')\n );\n const extensionDeps = await mapSeries(legacyComponent.extensions, (extension) =>\n this.transformLegacyComponentExtensionToSerializedDependency(extension, 'dev')\n );\n const filteredExtensionDeps: SerializedComponentDependency[] = compact(extensionDeps);\n const serializedComponentDeps = [...runtimeDeps, ...devDeps, ...filteredExtensionDeps];\n const componentDeps: ComponentDependency[] = await mapSeries(serializedComponentDeps, (dep) => this.parse(dep));\n const dependencyList = new DependencyList(componentDeps);\n return dependencyList;\n }\n\n private async transformLegacyComponentDepToSerializedDependency(\n legacyDep: LegacyDependency,\n lifecycle: DependencyLifecycleType\n ): Promise<SerializedComponentDependency> {\n let packageName = legacyDep.packageName || '';\n if (!packageName) {\n const host = this.componentAspect.getHost();\n const id = await host.resolveComponentId(legacyDep.id);\n const depComponent = await host.getLegacyMinimal(id);\n if (depComponent) {\n packageName = componentIdToPackageName(depComponent);\n }\n }\n\n return {\n id: legacyDep.id.toString(),\n isExtension: false,\n packageName,\n componentId: legacyDep.id.serialize(),\n version: legacyDep.id._legacy.getVersion().toString(),\n __type: TYPE,\n lifecycle,\n };\n }\n\n private async transformLegacyComponentExtensionToSerializedDependency(\n extension: ExtensionDataEntry,\n lifecycle: DependencyLifecycleType\n ): Promise<SerializedComponentDependency | undefined> {\n if (!extension.extensionId) {\n return undefined;\n }\n const host = this.componentAspect.getHost();\n const id = await host.resolveComponentId(extension.extensionId);\n const extComponent = await host.get(id);\n let packageName = '';\n if (extComponent) {\n packageName = componentIdToPackageName(extComponent.state._consumer);\n }\n return {\n id: extension.extensionId.toString(),\n isExtension: true,\n packageName,\n componentId: extension.extensionId.serialize(),\n version: extension.extensionId._legacy.getVersion().toString(),\n __type: TYPE,\n lifecycle,\n };\n }\n}\n"],"mappings":"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"}
|
|
@@ -13,7 +13,7 @@ export declare class ComponentDependency extends BaseDependency {
|
|
|
13
13
|
private _componentId;
|
|
14
14
|
private _isExtension;
|
|
15
15
|
private _packageName;
|
|
16
|
-
constructor(_componentId: ComponentID, _isExtension: boolean, _packageName: string, id: string, version: string, lifecycle: DependencyLifecycleType, source?: DependencySource, hidden?: boolean);
|
|
16
|
+
constructor(_componentId: ComponentID, _isExtension: boolean, _packageName: string, id: string, version: string, lifecycle: DependencyLifecycleType, source?: DependencySource, hidden?: boolean, optional?: boolean);
|
|
17
17
|
get componentId(): ComponentID;
|
|
18
18
|
get isExtension(): boolean;
|
|
19
19
|
get packageName(): string;
|
|
@@ -14,8 +14,8 @@ function _baseDependency() {
|
|
|
14
14
|
const TYPE = exports.TYPE = 'component';
|
|
15
15
|
// TODO: think about where is the right place to put this
|
|
16
16
|
class ComponentDependency extends _baseDependency().BaseDependency {
|
|
17
|
-
constructor(_componentId, _isExtension, _packageName, id, version, lifecycle, source, hidden) {
|
|
18
|
-
super(id, version, lifecycle, source, hidden);
|
|
17
|
+
constructor(_componentId, _isExtension, _packageName, id, version, lifecycle, source, hidden, optional) {
|
|
18
|
+
super(id, version, lifecycle, source, hidden, optional);
|
|
19
19
|
this._componentId = _componentId;
|
|
20
20
|
this._isExtension = _isExtension;
|
|
21
21
|
this._packageName = _packageName;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_baseDependency","data","require","TYPE","exports","ComponentDependency","BaseDependency","constructor","_componentId","_isExtension","_packageName","id","version","lifecycle","source","hidden","_type","componentId","isExtension","packageName","getPackageName","setVersion","newVersion","newComponentId","changeVersion","splittedId","split","length","newId","serialize","serialized","Object","assign","toManifest","_this$getPackageName","call"],"sources":["component-dependency.ts"],"sourcesContent":["import type { ComponentID } from '@teambit/component-id';\nimport type { BitIdProps } from '@teambit/legacy-bit-id';\n\nimport { SerializedDependency, DependencyLifecycleType, DependencyManifest } from '../dependency';\nimport { BaseDependency } from '../base-dependency';\nimport { DependencySource } from '../../policy/variant-policy/variant-policy';\n\nexport const TYPE = 'component';\n\nexport interface SerializedComponentDependency extends SerializedDependency {\n componentId: BitIdProps;\n isExtension: boolean;\n packageName: string;\n}\n\n// TODO: think about where is the right place to put this\nexport class ComponentDependency extends BaseDependency {\n constructor(\n private _componentId: ComponentID,\n private _isExtension: boolean,\n private _packageName: string,\n id: string,\n version: string,\n lifecycle: DependencyLifecycleType,\n source?: DependencySource,\n hidden?: boolean\n ) {\n super(id, version, lifecycle, source, hidden);\n this._type = TYPE;\n }\n\n get componentId() {\n return this._componentId;\n }\n\n get isExtension() {\n return this._isExtension;\n }\n\n get packageName() {\n return this._packageName;\n }\n\n getPackageName() {\n return this.packageName;\n }\n\n setVersion(newVersion: string) {\n super.setVersion(newVersion);\n const newComponentId = this.componentId.changeVersion(newVersion);\n this._componentId = newComponentId;\n const splittedId = this.id.split('@');\n if (splittedId.length === 2) {\n const newId = `${splittedId[0]}@${newVersion}`;\n this.id = newId;\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-shadow\n serialize<SerializedComponentDependency>(): SerializedComponentDependency {\n const serialized = Object.assign({}, super.serialize(), {\n componentId: this.componentId.serialize(),\n isExtension: this.isExtension,\n packageName: this.packageName,\n }) as unknown as SerializedComponentDependency;\n return serialized;\n }\n\n toManifest(): DependencyManifest {\n const packageName = this.getPackageName?.();\n const version = this.version;\n return {\n packageName,\n version,\n };\n }\n}\n"],"mappings":";;;;;;AAIA,SAAAA,gBAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,eAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGO,MAAME,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAAG,WAAW;AAQ/B;AACO,MAAME,mBAAmB,SAASC,gCAAc,CAAC;EACtDC,WAAWA,CACDC,YAAyB,EACzBC,YAAqB,EACrBC,YAAoB,EAC5BC,EAAU,EACVC,OAAe,EACfC,SAAkC,EAClCC,MAAyB,EACzBC,MAAgB,
|
|
1
|
+
{"version":3,"names":["_baseDependency","data","require","TYPE","exports","ComponentDependency","BaseDependency","constructor","_componentId","_isExtension","_packageName","id","version","lifecycle","source","hidden","optional","_type","componentId","isExtension","packageName","getPackageName","setVersion","newVersion","newComponentId","changeVersion","splittedId","split","length","newId","serialize","serialized","Object","assign","toManifest","_this$getPackageName","call"],"sources":["component-dependency.ts"],"sourcesContent":["import type { ComponentID } from '@teambit/component-id';\nimport type { BitIdProps } from '@teambit/legacy-bit-id';\n\nimport { SerializedDependency, DependencyLifecycleType, DependencyManifest } from '../dependency';\nimport { BaseDependency } from '../base-dependency';\nimport { DependencySource } from '../../policy/variant-policy/variant-policy';\n\nexport const TYPE = 'component';\n\nexport interface SerializedComponentDependency extends SerializedDependency {\n componentId: BitIdProps;\n isExtension: boolean;\n packageName: string;\n}\n\n// TODO: think about where is the right place to put this\nexport class ComponentDependency extends BaseDependency {\n constructor(\n private _componentId: ComponentID,\n private _isExtension: boolean,\n private _packageName: string,\n id: string,\n version: string,\n lifecycle: DependencyLifecycleType,\n source?: DependencySource,\n hidden?: boolean,\n optional?: boolean\n ) {\n super(id, version, lifecycle, source, hidden, optional);\n this._type = TYPE;\n }\n\n get componentId() {\n return this._componentId;\n }\n\n get isExtension() {\n return this._isExtension;\n }\n\n get packageName() {\n return this._packageName;\n }\n\n getPackageName() {\n return this.packageName;\n }\n\n setVersion(newVersion: string) {\n super.setVersion(newVersion);\n const newComponentId = this.componentId.changeVersion(newVersion);\n this._componentId = newComponentId;\n const splittedId = this.id.split('@');\n if (splittedId.length === 2) {\n const newId = `${splittedId[0]}@${newVersion}`;\n this.id = newId;\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-shadow\n serialize<SerializedComponentDependency>(): SerializedComponentDependency {\n const serialized = Object.assign({}, super.serialize(), {\n componentId: this.componentId.serialize(),\n isExtension: this.isExtension,\n packageName: this.packageName,\n }) as unknown as SerializedComponentDependency;\n return serialized;\n }\n\n toManifest(): DependencyManifest {\n const packageName = this.getPackageName?.();\n const version = this.version;\n return {\n packageName,\n version,\n };\n }\n}\n"],"mappings":";;;;;;AAIA,SAAAA,gBAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,eAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGO,MAAME,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAAG,WAAW;AAQ/B;AACO,MAAME,mBAAmB,SAASC,gCAAc,CAAC;EACtDC,WAAWA,CACDC,YAAyB,EACzBC,YAAqB,EACrBC,YAAoB,EAC5BC,EAAU,EACVC,OAAe,EACfC,SAAkC,EAClCC,MAAyB,EACzBC,MAAgB,EAChBC,QAAkB,EAClB;IACA,KAAK,CAACL,EAAE,EAAEC,OAAO,EAAEC,SAAS,EAAEC,MAAM,EAAEC,MAAM,EAAEC,QAAQ,CAAC;IAAC,KAVhDR,YAAyB,GAAzBA,YAAyB;IAAA,KACzBC,YAAqB,GAArBA,YAAqB;IAAA,KACrBC,YAAoB,GAApBA,YAAoB;IAS5B,IAAI,CAACO,KAAK,GAAGd,IAAI;EACnB;EAEA,IAAIe,WAAWA,CAAA,EAAG;IAChB,OAAO,IAAI,CAACV,YAAY;EAC1B;EAEA,IAAIW,WAAWA,CAAA,EAAG;IAChB,OAAO,IAAI,CAACV,YAAY;EAC1B;EAEA,IAAIW,WAAWA,CAAA,EAAG;IAChB,OAAO,IAAI,CAACV,YAAY;EAC1B;EAEAW,cAAcA,CAAA,EAAG;IACf,OAAO,IAAI,CAACD,WAAW;EACzB;EAEAE,UAAUA,CAACC,UAAkB,EAAE;IAC7B,KAAK,CAACD,UAAU,CAACC,UAAU,CAAC;IAC5B,MAAMC,cAAc,GAAG,IAAI,CAACN,WAAW,CAACO,aAAa,CAACF,UAAU,CAAC;IACjE,IAAI,CAACf,YAAY,GAAGgB,cAAc;IAClC,MAAME,UAAU,GAAG,IAAI,CAACf,EAAE,CAACgB,KAAK,CAAC,GAAG,CAAC;IACrC,IAAID,UAAU,CAACE,MAAM,KAAK,CAAC,EAAE;MAC3B,MAAMC,KAAK,GAAI,GAAEH,UAAU,CAAC,CAAC,CAAE,IAAGH,UAAW,EAAC;MAC9C,IAAI,CAACZ,EAAE,GAAGkB,KAAK;IACjB;EACF;;EAEA;EACAC,SAASA,CAAA,EAAiE;IACxE,MAAMC,UAAU,GAAGC,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAACH,SAAS,CAAC,CAAC,EAAE;MACtDZ,WAAW,EAAE,IAAI,CAACA,WAAW,CAACY,SAAS,CAAC,CAAC;MACzCX,WAAW,EAAE,IAAI,CAACA,WAAW;MAC7BC,WAAW,EAAE,IAAI,CAACA;IACpB,CAAC,CAA6C;IAC9C,OAAOW,UAAU;EACnB;EAEAG,UAAUA,CAAA,EAAuB;IAAA,IAAAC,oBAAA;IAC/B,MAAMf,WAAW,IAAAe,oBAAA,GAAG,IAAI,CAACd,cAAc,cAAAc,oBAAA,uBAAnBA,oBAAA,CAAAC,IAAA,KAAsB,CAAC;IAC3C,MAAMxB,OAAO,GAAG,IAAI,CAACA,OAAO;IAC5B,OAAO;MACLQ,WAAW;MACXR;IACF,CAAC;EACH;AACF;AAACR,OAAA,CAAAC,mBAAA,GAAAA,mBAAA"}
|
|
@@ -7,9 +7,11 @@ export declare const LIFECYCLE_TYPE_BY_KEY_NAME: {
|
|
|
7
7
|
dependencies: "runtime";
|
|
8
8
|
devDependencies: "dev";
|
|
9
9
|
peerDependencies: "peer";
|
|
10
|
+
optionalDependencies: string;
|
|
10
11
|
};
|
|
11
12
|
export declare const KEY_NAME_BY_LIFECYCLE_TYPE: {
|
|
12
13
|
runtime: string;
|
|
13
14
|
dev: string;
|
|
14
15
|
peer: string;
|
|
16
|
+
'optional-runtime': string;
|
|
15
17
|
};
|
|
@@ -11,12 +11,14 @@ const ROOT_NAME = exports.ROOT_NAME = 'workspace';
|
|
|
11
11
|
const LIFECYCLE_TYPE_BY_KEY_NAME = exports.LIFECYCLE_TYPE_BY_KEY_NAME = {
|
|
12
12
|
dependencies: RUNTIME_DEP_LIFECYCLE_TYPE,
|
|
13
13
|
devDependencies: DEV_DEP_LIFECYCLE_TYPE,
|
|
14
|
-
peerDependencies: PEER_DEP_LIFECYCLE_TYPE
|
|
14
|
+
peerDependencies: PEER_DEP_LIFECYCLE_TYPE,
|
|
15
|
+
optionalDependencies: 'optional-runtime'
|
|
15
16
|
};
|
|
16
17
|
const KEY_NAME_BY_LIFECYCLE_TYPE = exports.KEY_NAME_BY_LIFECYCLE_TYPE = {
|
|
17
18
|
[RUNTIME_DEP_LIFECYCLE_TYPE]: 'dependencies',
|
|
18
19
|
[DEV_DEP_LIFECYCLE_TYPE]: 'devDependencies',
|
|
19
|
-
[PEER_DEP_LIFECYCLE_TYPE]: 'peerDependencies'
|
|
20
|
+
[PEER_DEP_LIFECYCLE_TYPE]: 'peerDependencies',
|
|
21
|
+
'optional-runtime': 'optionalDependencies'
|
|
20
22
|
};
|
|
21
23
|
|
|
22
24
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["RUNTIME_DEP_LIFECYCLE_TYPE","exports","DEV_DEP_LIFECYCLE_TYPE","PEER_DEP_LIFECYCLE_TYPE","ROOT_NAME","LIFECYCLE_TYPE_BY_KEY_NAME","dependencies","devDependencies","peerDependencies","KEY_NAME_BY_LIFECYCLE_TYPE"],"sources":["constants.ts"],"sourcesContent":["import { DependencyLifecycleType } from '.';\n\nexport const RUNTIME_DEP_LIFECYCLE_TYPE: DependencyLifecycleType = 'runtime';\nexport const DEV_DEP_LIFECYCLE_TYPE: DependencyLifecycleType = 'dev';\nexport const PEER_DEP_LIFECYCLE_TYPE: DependencyLifecycleType = 'peer';\n\nexport const ROOT_NAME = 'workspace';\n\nexport const LIFECYCLE_TYPE_BY_KEY_NAME = {\n dependencies: RUNTIME_DEP_LIFECYCLE_TYPE,\n devDependencies: DEV_DEP_LIFECYCLE_TYPE,\n peerDependencies: PEER_DEP_LIFECYCLE_TYPE,\n};\n\nexport const KEY_NAME_BY_LIFECYCLE_TYPE = {\n [RUNTIME_DEP_LIFECYCLE_TYPE]: 'dependencies',\n [DEV_DEP_LIFECYCLE_TYPE]: 'devDependencies',\n [PEER_DEP_LIFECYCLE_TYPE]: 'peerDependencies',\n};\n"],"mappings":";;;;;;AAEO,MAAMA,0BAAmD,GAAAC,OAAA,CAAAD,0BAAA,GAAG,SAAS;AACrE,MAAME,sBAA+C,GAAAD,OAAA,CAAAC,sBAAA,GAAG,KAAK;AAC7D,MAAMC,uBAAgD,GAAAF,OAAA,CAAAE,uBAAA,GAAG,MAAM;AAE/D,MAAMC,SAAS,GAAAH,OAAA,CAAAG,SAAA,GAAG,WAAW;AAE7B,MAAMC,0BAA0B,GAAAJ,OAAA,CAAAI,0BAAA,GAAG;EACxCC,YAAY,EAAEN,0BAA0B;EACxCO,eAAe,EAAEL,sBAAsB;EACvCM,gBAAgB,EAAEL;
|
|
1
|
+
{"version":3,"names":["RUNTIME_DEP_LIFECYCLE_TYPE","exports","DEV_DEP_LIFECYCLE_TYPE","PEER_DEP_LIFECYCLE_TYPE","ROOT_NAME","LIFECYCLE_TYPE_BY_KEY_NAME","dependencies","devDependencies","peerDependencies","optionalDependencies","KEY_NAME_BY_LIFECYCLE_TYPE"],"sources":["constants.ts"],"sourcesContent":["import { DependencyLifecycleType } from '.';\n\nexport const RUNTIME_DEP_LIFECYCLE_TYPE: DependencyLifecycleType = 'runtime';\nexport const DEV_DEP_LIFECYCLE_TYPE: DependencyLifecycleType = 'dev';\nexport const PEER_DEP_LIFECYCLE_TYPE: DependencyLifecycleType = 'peer';\n\nexport const ROOT_NAME = 'workspace';\n\nexport const LIFECYCLE_TYPE_BY_KEY_NAME = {\n dependencies: RUNTIME_DEP_LIFECYCLE_TYPE,\n devDependencies: DEV_DEP_LIFECYCLE_TYPE,\n peerDependencies: PEER_DEP_LIFECYCLE_TYPE,\n optionalDependencies: 'optional-runtime',\n};\n\nexport const KEY_NAME_BY_LIFECYCLE_TYPE = {\n [RUNTIME_DEP_LIFECYCLE_TYPE]: 'dependencies',\n [DEV_DEP_LIFECYCLE_TYPE]: 'devDependencies',\n [PEER_DEP_LIFECYCLE_TYPE]: 'peerDependencies',\n 'optional-runtime': 'optionalDependencies',\n};\n"],"mappings":";;;;;;AAEO,MAAMA,0BAAmD,GAAAC,OAAA,CAAAD,0BAAA,GAAG,SAAS;AACrE,MAAME,sBAA+C,GAAAD,OAAA,CAAAC,sBAAA,GAAG,KAAK;AAC7D,MAAMC,uBAAgD,GAAAF,OAAA,CAAAE,uBAAA,GAAG,MAAM;AAE/D,MAAMC,SAAS,GAAAH,OAAA,CAAAG,SAAA,GAAG,WAAW;AAE7B,MAAMC,0BAA0B,GAAAJ,OAAA,CAAAI,0BAAA,GAAG;EACxCC,YAAY,EAAEN,0BAA0B;EACxCO,eAAe,EAAEL,sBAAsB;EACvCM,gBAAgB,EAAEL,uBAAuB;EACzCM,oBAAoB,EAAE;AACxB,CAAC;AAEM,MAAMC,0BAA0B,GAAAT,OAAA,CAAAS,0BAAA,GAAG;EACxC,CAACV,0BAA0B,GAAG,cAAc;EAC5C,CAACE,sBAAsB,GAAG,iBAAiB;EAC3C,CAACC,uBAAuB,GAAG,kBAAkB;EAC7C,kBAAkB,EAAE;AACtB,CAAC"}
|
|
@@ -3,8 +3,16 @@ import { ComponentDependency } from './component-dependency';
|
|
|
3
3
|
export declare type LifecycleDependenciesManifest = Record<PackageName, SemverVersion>;
|
|
4
4
|
export interface DependenciesManifest {
|
|
5
5
|
dependencies?: LifecycleDependenciesManifest;
|
|
6
|
+
optionalDependencies?: LifecycleDependenciesManifest;
|
|
6
7
|
devDependencies?: LifecycleDependenciesManifest;
|
|
7
8
|
peerDependencies?: LifecycleDependenciesManifest;
|
|
9
|
+
peerDependenciesMeta?: PeerDependenciesMeta;
|
|
10
|
+
}
|
|
11
|
+
export interface PeerDependenciesMeta {
|
|
12
|
+
[peerName: string]: PeerDependencyMeta;
|
|
13
|
+
}
|
|
14
|
+
export interface PeerDependencyMeta {
|
|
15
|
+
optional: true;
|
|
8
16
|
}
|
|
9
17
|
export declare type FindDependencyOptions = {
|
|
10
18
|
ignoreVersion?: boolean;
|
|
@@ -130,14 +130,21 @@ class DependencyList {
|
|
|
130
130
|
toDependenciesManifest() {
|
|
131
131
|
const manifest = {
|
|
132
132
|
dependencies: {},
|
|
133
|
+
optionalDependencies: {},
|
|
133
134
|
devDependencies: {},
|
|
134
|
-
peerDependencies: {}
|
|
135
|
+
peerDependencies: {},
|
|
136
|
+
peerDependenciesMeta: {}
|
|
135
137
|
};
|
|
136
138
|
this.forEach(dep => {
|
|
137
|
-
const keyName = _constants().KEY_NAME_BY_LIFECYCLE_TYPE[dep.lifecycle];
|
|
139
|
+
const keyName = dep.optional && dep.lifecycle === 'runtime' ? 'optionalDependencies' : _constants().KEY_NAME_BY_LIFECYCLE_TYPE[dep.lifecycle];
|
|
138
140
|
const entry = dep.toManifest();
|
|
139
141
|
if (entry) {
|
|
140
142
|
manifest[keyName][entry.packageName] = entry.version;
|
|
143
|
+
if (dep.optional && dep.lifecycle === 'peer') {
|
|
144
|
+
manifest.peerDependenciesMeta[entry.packageName] = {
|
|
145
|
+
optional: true
|
|
146
|
+
};
|
|
147
|
+
}
|
|
141
148
|
}
|
|
142
149
|
});
|
|
143
150
|
return manifest;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_lodash","data","require","_componentPackageVersion","_constants","_componentDependency","DependencyList","constructor","_dependencies","uniqDeps","dependencies","sort","sorted","a","b","id","findDependency","componentIdStr","opts","ignoreVersion","find","dep","componentIdStrWithoutVersion","removeVersion","findByPkgNameOrCompId","version","findByVariousStrategies","found","_dep$getPackageName","getPackageName","call","startsWith","compDeps","toTypeArray","foundByName","filter","componentId","fullName","length","Error","undefined","SNAP_VERSION_PREFIX","replace","forEach","predicate","map","filtered","fromArray","filterHidden","hidden","typeName","list","type","byTypeName","byLifecycle","lifecycle","serialize","serialized","getComponentDependencies","ComponentDependency","toDependenciesManifest","manifest","devDependencies","peerDependencies","keyName","KEY_NAME_BY_LIFECYCLE_TYPE","entry","toManifest","packageName","merge","lists","res","deps","reduce","acc","curr","concat","exports","uniq","uniqBy","property","split"],"sources":["dependency-list.ts"],"sourcesContent":["import { uniqBy, property } from 'lodash';\nimport { SNAP_VERSION_PREFIX } from '@teambit/component-package-version';\nimport { Dependency, DependencyLifecycleType, SerializedDependency, SemverVersion, PackageName } from './dependency';\nimport { KEY_NAME_BY_LIFECYCLE_TYPE } from './constants';\nimport { ComponentDependency } from './component-dependency';\n\nexport type LifecycleDependenciesManifest = Record<PackageName, SemverVersion>;\n\nexport interface DependenciesManifest {\n dependencies?: LifecycleDependenciesManifest;\n devDependencies?: LifecycleDependenciesManifest;\n peerDependencies?: LifecycleDependenciesManifest;\n}\n\nexport type FindDependencyOptions = {\n ignoreVersion?: boolean;\n};\nexport class DependencyList {\n constructor(private _dependencies: Array<Dependency>) {\n this._dependencies = uniqDeps(_dependencies);\n }\n // constructor(private _dependencies: Dependency[]){}\n\n get dependencies(): Dependency[] {\n return this._dependencies;\n }\n\n sort(): DependencyList {\n const sorted = this.dependencies.sort((a, b) => {\n if (a.id < b.id) {\n return -1;\n }\n if (a.id > b.id) {\n return 1;\n }\n return 0;\n });\n return new DependencyList(sorted);\n }\n\n /**\n * @param componentIdStr complete string include the scope and the version\n */\n findDependency(componentIdStr: string, opts: FindDependencyOptions = {}): Dependency | undefined {\n const ignoreVersion = opts.ignoreVersion;\n if (!ignoreVersion) {\n return this.dependencies.find((dep) => dep.id === componentIdStr);\n }\n const componentIdStrWithoutVersion = removeVersion(componentIdStr);\n return this.dependencies.find((dep) => removeVersion(dep.id) === componentIdStrWithoutVersion);\n }\n\n findByPkgNameOrCompId(id: string, version?: string): Dependency | undefined {\n const findByVariousStrategies = () => {\n // try by full-id or package-name\n const found = this.dependencies.find(\n (dep) => dep.id === id || dep.getPackageName?.() === id || dep.id.startsWith(`${id}@`)\n );\n if (found) return found;\n const compDeps = this.toTypeArray<ComponentDependency>('component');\n\n // try by component-name\n const foundByName = compDeps.filter((dep) => dep.componentId.fullName === id);\n if (foundByName.length > 1) {\n throw new Error(\n `found multiple dependencies with the same component-name \"${id}\", please specify the full component-id`\n );\n }\n if (foundByName.length === 1) return foundByName[0];\n return undefined;\n };\n const found = findByVariousStrategies();\n if (!found) return undefined;\n if (version) {\n // because the version for snaps is stored in deps as the hash without the prefix of \"0.0.0-\"\"\n if (version.startsWith(SNAP_VERSION_PREFIX) && found.version === version.replace(SNAP_VERSION_PREFIX, ''))\n return found;\n return found.version === version ? found : undefined;\n }\n return found;\n }\n\n forEach(predicate: (dep: Dependency, index?: number) => void): void {\n this.dependencies.forEach(predicate);\n }\n\n map(predicate: (dep: Dependency, index?: number) => any) {\n return this.dependencies.map(predicate);\n }\n\n filter(predicate: (dep: Dependency, index?: number) => boolean): DependencyList {\n const filtered = this.dependencies.filter(predicate);\n return DependencyList.fromArray(filtered);\n }\n\n filterHidden(): DependencyList {\n return this.filter((dep) => !dep.hidden);\n }\n\n toTypeArray<T extends Dependency>(typeName: string): T[] {\n const list: T[] = this.dependencies.filter((dep) => dep.type === typeName) as any as T[];\n return list;\n }\n\n byTypeName(typeName: string): DependencyList {\n const filtered = this.dependencies.filter((dep) => dep.type === typeName);\n return DependencyList.fromArray(filtered);\n }\n\n byLifecycle(lifecycle: DependencyLifecycleType): DependencyList {\n const filtered = this.dependencies.filter((dep) => dep.lifecycle === lifecycle);\n return DependencyList.fromArray(filtered);\n }\n\n serialize(): SerializedDependency[] {\n const serialized = this.dependencies.map((dep) => {\n return dep.serialize();\n });\n return serialized;\n }\n\n getComponentDependencies(): ComponentDependency[] {\n return this.dependencies.filter((dep) => dep instanceof ComponentDependency) as ComponentDependency[];\n }\n\n toDependenciesManifest(): Required<DependenciesManifest> {\n const manifest: Required<DependenciesManifest> = {\n dependencies: {},\n devDependencies: {},\n peerDependencies: {},\n };\n this.forEach((dep) => {\n const keyName = KEY_NAME_BY_LIFECYCLE_TYPE[dep.lifecycle];\n const entry = dep.toManifest();\n if (entry) {\n manifest[keyName][entry.packageName] = entry.version;\n }\n });\n return manifest;\n }\n\n static merge(lists: DependencyList[]): DependencyList {\n const res: Dependency[] = [];\n const deps = lists.reduce((acc, curr) => {\n acc = acc.concat(curr.dependencies);\n return acc;\n }, res);\n return new DependencyList(deps);\n }\n\n static fromArray(dependencies: Array<Dependency>) {\n return new DependencyList(dependencies);\n }\n}\n\nfunction uniqDeps(dependencies: Array<Dependency>): Array<Dependency> {\n const uniq = uniqBy(dependencies, property('id'));\n return uniq;\n}\n\nfunction removeVersion(id: string): string {\n if (id.startsWith('@')) return id.split('@')[1]; // scoped package\n return id.split('@')[0];\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_lodash","data","require","_componentPackageVersion","_constants","_componentDependency","DependencyList","constructor","_dependencies","uniqDeps","dependencies","sort","sorted","a","b","id","findDependency","componentIdStr","opts","ignoreVersion","find","dep","componentIdStrWithoutVersion","removeVersion","findByPkgNameOrCompId","version","findByVariousStrategies","found","_dep$getPackageName","getPackageName","call","startsWith","compDeps","toTypeArray","foundByName","filter","componentId","fullName","length","Error","undefined","SNAP_VERSION_PREFIX","replace","forEach","predicate","map","filtered","fromArray","filterHidden","hidden","typeName","list","type","byTypeName","byLifecycle","lifecycle","serialize","serialized","getComponentDependencies","ComponentDependency","toDependenciesManifest","manifest","optionalDependencies","devDependencies","peerDependencies","peerDependenciesMeta","keyName","optional","KEY_NAME_BY_LIFECYCLE_TYPE","entry","toManifest","packageName","merge","lists","res","deps","reduce","acc","curr","concat","exports","uniq","uniqBy","property","split"],"sources":["dependency-list.ts"],"sourcesContent":["import { uniqBy, property } from 'lodash';\nimport { SNAP_VERSION_PREFIX } from '@teambit/component-package-version';\nimport { Dependency, DependencyLifecycleType, SerializedDependency, SemverVersion, PackageName } from './dependency';\nimport { KEY_NAME_BY_LIFECYCLE_TYPE } from './constants';\nimport { ComponentDependency } from './component-dependency';\n\nexport type LifecycleDependenciesManifest = Record<PackageName, SemverVersion>;\n\nexport interface DependenciesManifest {\n dependencies?: LifecycleDependenciesManifest;\n optionalDependencies?: LifecycleDependenciesManifest;\n devDependencies?: LifecycleDependenciesManifest;\n peerDependencies?: LifecycleDependenciesManifest;\n peerDependenciesMeta?: PeerDependenciesMeta;\n}\n\nexport interface PeerDependenciesMeta {\n [peerName: string]: PeerDependencyMeta;\n}\n\nexport interface PeerDependencyMeta {\n optional: true;\n}\n\nexport type FindDependencyOptions = {\n ignoreVersion?: boolean;\n};\nexport class DependencyList {\n constructor(private _dependencies: Array<Dependency>) {\n this._dependencies = uniqDeps(_dependencies);\n }\n // constructor(private _dependencies: Dependency[]){}\n\n get dependencies(): Dependency[] {\n return this._dependencies;\n }\n\n sort(): DependencyList {\n const sorted = this.dependencies.sort((a, b) => {\n if (a.id < b.id) {\n return -1;\n }\n if (a.id > b.id) {\n return 1;\n }\n return 0;\n });\n return new DependencyList(sorted);\n }\n\n /**\n * @param componentIdStr complete string include the scope and the version\n */\n findDependency(componentIdStr: string, opts: FindDependencyOptions = {}): Dependency | undefined {\n const ignoreVersion = opts.ignoreVersion;\n if (!ignoreVersion) {\n return this.dependencies.find((dep) => dep.id === componentIdStr);\n }\n const componentIdStrWithoutVersion = removeVersion(componentIdStr);\n return this.dependencies.find((dep) => removeVersion(dep.id) === componentIdStrWithoutVersion);\n }\n\n findByPkgNameOrCompId(id: string, version?: string): Dependency | undefined {\n const findByVariousStrategies = () => {\n // try by full-id or package-name\n const found = this.dependencies.find(\n (dep) => dep.id === id || dep.getPackageName?.() === id || dep.id.startsWith(`${id}@`)\n );\n if (found) return found;\n const compDeps = this.toTypeArray<ComponentDependency>('component');\n\n // try by component-name\n const foundByName = compDeps.filter((dep) => dep.componentId.fullName === id);\n if (foundByName.length > 1) {\n throw new Error(\n `found multiple dependencies with the same component-name \"${id}\", please specify the full component-id`\n );\n }\n if (foundByName.length === 1) return foundByName[0];\n return undefined;\n };\n const found = findByVariousStrategies();\n if (!found) return undefined;\n if (version) {\n // because the version for snaps is stored in deps as the hash without the prefix of \"0.0.0-\"\"\n if (version.startsWith(SNAP_VERSION_PREFIX) && found.version === version.replace(SNAP_VERSION_PREFIX, ''))\n return found;\n return found.version === version ? found : undefined;\n }\n return found;\n }\n\n forEach(predicate: (dep: Dependency, index?: number) => void): void {\n this.dependencies.forEach(predicate);\n }\n\n map(predicate: (dep: Dependency, index?: number) => any) {\n return this.dependencies.map(predicate);\n }\n\n filter(predicate: (dep: Dependency, index?: number) => boolean): DependencyList {\n const filtered = this.dependencies.filter(predicate);\n return DependencyList.fromArray(filtered);\n }\n\n filterHidden(): DependencyList {\n return this.filter((dep) => !dep.hidden);\n }\n\n toTypeArray<T extends Dependency>(typeName: string): T[] {\n const list: T[] = this.dependencies.filter((dep) => dep.type === typeName) as any as T[];\n return list;\n }\n\n byTypeName(typeName: string): DependencyList {\n const filtered = this.dependencies.filter((dep) => dep.type === typeName);\n return DependencyList.fromArray(filtered);\n }\n\n byLifecycle(lifecycle: DependencyLifecycleType): DependencyList {\n const filtered = this.dependencies.filter((dep) => dep.lifecycle === lifecycle);\n return DependencyList.fromArray(filtered);\n }\n\n serialize(): SerializedDependency[] {\n const serialized = this.dependencies.map((dep) => {\n return dep.serialize();\n });\n return serialized;\n }\n\n getComponentDependencies(): ComponentDependency[] {\n return this.dependencies.filter((dep) => dep instanceof ComponentDependency) as ComponentDependency[];\n }\n\n toDependenciesManifest(): Required<DependenciesManifest> {\n const manifest: Required<DependenciesManifest> = {\n dependencies: {},\n optionalDependencies: {},\n devDependencies: {},\n peerDependencies: {},\n peerDependenciesMeta: {},\n };\n this.forEach((dep) => {\n const keyName =\n dep.optional && dep.lifecycle === 'runtime'\n ? 'optionalDependencies'\n : KEY_NAME_BY_LIFECYCLE_TYPE[dep.lifecycle];\n const entry = dep.toManifest();\n if (entry) {\n manifest[keyName][entry.packageName] = entry.version;\n if (dep.optional && dep.lifecycle === 'peer') {\n manifest.peerDependenciesMeta[entry.packageName] = { optional: true };\n }\n }\n });\n return manifest;\n }\n\n static merge(lists: DependencyList[]): DependencyList {\n const res: Dependency[] = [];\n const deps = lists.reduce((acc, curr) => {\n acc = acc.concat(curr.dependencies);\n return acc;\n }, res);\n return new DependencyList(deps);\n }\n\n static fromArray(dependencies: Array<Dependency>) {\n return new DependencyList(dependencies);\n }\n}\n\nfunction uniqDeps(dependencies: Array<Dependency>): Array<Dependency> {\n const uniq = uniqBy(dependencies, property('id'));\n return uniq;\n}\n\nfunction removeVersion(id: string): string {\n if (id.startsWith('@')) return id.split('@')[1]; // scoped package\n return id.split('@')[0];\n}\n"],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ export interface SerializedDependency {
|
|
|
8
8
|
lifecycle: string;
|
|
9
9
|
source?: DependencySource;
|
|
10
10
|
hidden?: boolean;
|
|
11
|
+
optional?: boolean;
|
|
11
12
|
packageName?: string;
|
|
12
13
|
}
|
|
13
14
|
/**
|
|
@@ -26,6 +27,7 @@ export interface Dependency {
|
|
|
26
27
|
lifecycle: DependencyLifecycleType;
|
|
27
28
|
source?: DependencySource;
|
|
28
29
|
hidden?: boolean;
|
|
30
|
+
optional?: boolean;
|
|
29
31
|
serialize: <T extends SerializedDependency>() => T;
|
|
30
32
|
setVersion: (newVersion: string) => void;
|
|
31
33
|
toManifest: () => DependencyManifest;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["dependency.ts"],"sourcesContent":["import type { DependencySource } from '../policy/variant-policy/variant-policy';\n\nexport type WorkspaceDependencyLifecycleType = 'runtime' | 'peer';\n\nexport type DependencyLifecycleType = WorkspaceDependencyLifecycleType | 'dev';\n\nexport interface SerializedDependency {\n id: string;\n version: string;\n __type: string;\n lifecycle: string;\n source?: DependencySource;\n hidden?: boolean;\n packageName?: string;\n}\n\n/**\n * Allowed values are valid semver values and the \"-\" sign.\n */\nexport type SemverVersion = string;\nexport type PackageName = string;\n\nexport type DependencyManifest = {\n packageName: PackageName;\n version: SemverVersion;\n};\n\nexport interface Dependency {\n id: string;\n version: string;\n type: string;\n lifecycle: DependencyLifecycleType;\n source?: DependencySource;\n hidden?: boolean;\n\n serialize: <T extends SerializedDependency>() => T;\n setVersion: (newVersion: string) => void;\n toManifest: () => DependencyManifest;\n getPackageName?: () => string;\n}\n"],"mappings":""}
|
|
1
|
+
{"version":3,"names":[],"sources":["dependency.ts"],"sourcesContent":["import type { DependencySource } from '../policy/variant-policy/variant-policy';\n\nexport type WorkspaceDependencyLifecycleType = 'runtime' | 'peer';\n\nexport type DependencyLifecycleType = WorkspaceDependencyLifecycleType | 'dev';\n\nexport interface SerializedDependency {\n id: string;\n version: string;\n __type: string;\n lifecycle: string;\n source?: DependencySource;\n hidden?: boolean;\n optional?: boolean;\n packageName?: string;\n}\n\n/**\n * Allowed values are valid semver values and the \"-\" sign.\n */\nexport type SemverVersion = string;\nexport type PackageName = string;\n\nexport type DependencyManifest = {\n packageName: PackageName;\n version: SemverVersion;\n};\n\nexport interface Dependency {\n id: string;\n version: string;\n type: string;\n lifecycle: DependencyLifecycleType;\n source?: DependencySource;\n hidden?: boolean;\n optional?: boolean;\n\n serialize: <T extends SerializedDependency>() => T;\n setVersion: (newVersion: string) => void;\n toManifest: () => DependencyManifest;\n getPackageName?: () => string;\n}\n"],"mappings":""}
|
|
@@ -191,6 +191,13 @@ function _globalConfig() {
|
|
|
191
191
|
};
|
|
192
192
|
return data;
|
|
193
193
|
}
|
|
194
|
+
function _workspaceModules() {
|
|
195
|
+
const data = require("@teambit/workspace.modules.node-modules-linker");
|
|
196
|
+
_workspaceModules = function () {
|
|
197
|
+
return data;
|
|
198
|
+
};
|
|
199
|
+
return data;
|
|
200
|
+
}
|
|
194
201
|
function _registry() {
|
|
195
202
|
const data = require("./registry");
|
|
196
203
|
_registry = function () {
|
|
@@ -472,6 +479,7 @@ class DependencyResolverMain {
|
|
|
472
479
|
// if no policy found, the dependency was auto-resolved from the source code
|
|
473
480
|
dep.source = (found === null || found === void 0 ? void 0 : found.source) || 'auto';
|
|
474
481
|
dep.hidden = found === null || found === void 0 ? void 0 : found.hidden;
|
|
482
|
+
dep.optional = found === null || found === void 0 ? void 0 : found.optional;
|
|
475
483
|
});
|
|
476
484
|
return dependencyList;
|
|
477
485
|
}
|
|
@@ -1362,6 +1370,16 @@ class DependencyResolverMain {
|
|
|
1362
1370
|
});
|
|
1363
1371
|
};
|
|
1364
1372
|
_extensionData().ExtensionDataList.toModelObjectsHook.push(serializeDepResolverDataBeforePersist);
|
|
1373
|
+
_workspaceModules().PackageJsonTransformer.registerPackageJsonTransformer(async (component, packageJsonObject) => {
|
|
1374
|
+
const deps = await dependencyResolver.getDependencies(component);
|
|
1375
|
+
const {
|
|
1376
|
+
optionalDependencies,
|
|
1377
|
+
peerDependenciesMeta
|
|
1378
|
+
} = deps.toDependenciesManifest();
|
|
1379
|
+
packageJsonObject.optionalDependencies = optionalDependencies;
|
|
1380
|
+
packageJsonObject.peerDependenciesMeta = peerDependenciesMeta;
|
|
1381
|
+
return packageJsonObject;
|
|
1382
|
+
});
|
|
1365
1383
|
return dependencyResolver;
|
|
1366
1384
|
}
|
|
1367
1385
|
getEmptyDepsObject() {
|