@teambit/harmony 0.4.1 → 0.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/extension-graph/extension-graph.d.ts +1 -1
- package/dist/extension-graph/extension-graph.js +8 -7
- package/dist/extension-graph/extension-graph.js.map +1 -1
- package/dist/harmony.d.ts +2 -1
- package/dist/harmony.js +4 -3
- package/dist/harmony.js.map +1 -1
- package/dist/{preview-1670772700070.js → preview-1670777698767.js} +1 -1
- package/extension-graph/extension-graph.ts +8 -7
- package/harmony.ts +5 -3
- package/package-tar/teambit-harmony-0.4.2.tgz +0 -0
- package/package.json +2 -2
- package/package-tar/teambit-harmony-0.4.1.tgz +0 -0
|
@@ -16,7 +16,7 @@ export default class DependencyGraph extends Graph<Extension, Edge> {
|
|
|
16
16
|
private sortDeps;
|
|
17
17
|
byExecutionOrder(): Extension[];
|
|
18
18
|
private enrichRuntimeExtension;
|
|
19
|
-
enrichRuntime(runtime: RuntimeDefinition, runtimes: Runtimes, requireFn: RequireFn): Promise<any[][]>;
|
|
19
|
+
enrichRuntime(runtime: RuntimeDefinition, runtimes: Runtimes, requireFn: RequireFn, options?: DependencyGraphOptions): Promise<any[][]>;
|
|
20
20
|
add(manifest: ExtensionManifest): this;
|
|
21
21
|
load(extensions: ExtensionManifest[]): this;
|
|
22
22
|
getExtension(manifest: ExtensionManifest): Extension;
|
|
@@ -41,7 +41,7 @@ class DependencyGraph extends cleargraph_1.Graph {
|
|
|
41
41
|
byExecutionOrder() {
|
|
42
42
|
return this.toposort(true);
|
|
43
43
|
}
|
|
44
|
-
enrichRuntimeExtension(id, aspect, runtime, runtimes, requireFn) {
|
|
44
|
+
enrichRuntimeExtension(id, aspect, runtime, runtimes, requireFn, options = {}) {
|
|
45
45
|
return __awaiter(this, void 0, void 0, function* () {
|
|
46
46
|
yield requireFn(aspect, runtime);
|
|
47
47
|
const runtimeManifest = aspect.getRuntime(runtime);
|
|
@@ -51,15 +51,16 @@ class DependencyGraph extends cleargraph_1.Graph {
|
|
|
51
51
|
if (!deps)
|
|
52
52
|
return;
|
|
53
53
|
const promises = deps.map((dep) => __awaiter(this, void 0, void 0, function* () {
|
|
54
|
-
|
|
54
|
+
const depId = options.getName ? options.getName(dep) : dep.id;
|
|
55
|
+
if (!this.hasNode(depId)) {
|
|
55
56
|
this.add(dep);
|
|
56
57
|
if (dep.declareRuntime) {
|
|
57
58
|
runtimes.add(dep.declareRuntime);
|
|
58
59
|
}
|
|
59
|
-
yield requireFn(this.get(
|
|
60
|
-
yield this.enrichRuntimeExtension(
|
|
60
|
+
yield requireFn(this.get(depId), runtime);
|
|
61
|
+
yield this.enrichRuntimeExtension(depId, this.get(depId), runtime, runtimes, requireFn);
|
|
61
62
|
}
|
|
62
|
-
this.setEdge(id,
|
|
63
|
+
this.setEdge(id, depId, {
|
|
63
64
|
runtime: runtime.name,
|
|
64
65
|
type: 'runtime-dependency'
|
|
65
66
|
});
|
|
@@ -67,10 +68,10 @@ class DependencyGraph extends cleargraph_1.Graph {
|
|
|
67
68
|
return Promise.all(promises);
|
|
68
69
|
});
|
|
69
70
|
}
|
|
70
|
-
enrichRuntime(runtime, runtimes, requireFn) {
|
|
71
|
+
enrichRuntime(runtime, runtimes, requireFn, options = {}) {
|
|
71
72
|
return __awaiter(this, void 0, void 0, function* () {
|
|
72
73
|
const promises = Array.from(this.nodes.entries()).map(([id, aspect]) => __awaiter(this, void 0, void 0, function* () {
|
|
73
|
-
return this.enrichRuntimeExtension(id, aspect, runtime, runtimes, requireFn);
|
|
74
|
+
return this.enrichRuntimeExtension(id, aspect, runtime, runtimes, requireFn, options);
|
|
74
75
|
}));
|
|
75
76
|
return Promise.all(promises);
|
|
76
77
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension-graph.js","sourceRoot":"","sources":["../../extension-graph/extension-graph.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,2CAAmC;AACnC,qDAAiE;AAUjE,SAAS,OAAO,CAAC,QAAa;IAC5B,OAAO,OAAO,CAAC,WAAW,CAAC,cAAc,EAAE,QAAQ,CAAC,IAAI,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,IAAI,CAAC;AACvF,CAAC;AAOD,MAAqB,eAAgB,SAAQ,kBAAsB;IAAnE;;QACU,UAAK,GAAG,IAAI,GAAG,EAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"extension-graph.js","sourceRoot":"","sources":["../../extension-graph/extension-graph.ts"],"names":[],"mappings":"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"}
|
package/dist/harmony.d.ts
CHANGED
|
@@ -20,6 +20,7 @@ export declare class Harmony {
|
|
|
20
20
|
readonly config: Config;
|
|
21
21
|
readonly runtimes: Runtimes;
|
|
22
22
|
readonly activeRuntime: string;
|
|
23
|
+
private depOptions;
|
|
23
24
|
constructor(
|
|
24
25
|
/**
|
|
25
26
|
* extension graph
|
|
@@ -28,7 +29,7 @@ export declare class Harmony {
|
|
|
28
29
|
/**
|
|
29
30
|
* harmony top level config
|
|
30
31
|
*/
|
|
31
|
-
config: Config, runtimes: Runtimes, activeRuntime: string);
|
|
32
|
+
config: Config, runtimes: Runtimes, activeRuntime: string, depOptions: DependencyGraphOptions);
|
|
32
33
|
current: string | null;
|
|
33
34
|
private runtime;
|
|
34
35
|
/**
|
package/dist/harmony.js
CHANGED
|
@@ -29,11 +29,12 @@ class Harmony {
|
|
|
29
29
|
/**
|
|
30
30
|
* harmony top level config
|
|
31
31
|
*/
|
|
32
|
-
config, runtimes, activeRuntime) {
|
|
32
|
+
config, runtimes, activeRuntime, depOptions) {
|
|
33
33
|
this.graph = graph;
|
|
34
34
|
this.config = config;
|
|
35
35
|
this.runtimes = runtimes;
|
|
36
36
|
this.activeRuntime = activeRuntime;
|
|
37
|
+
this.depOptions = depOptions;
|
|
37
38
|
this.current = null;
|
|
38
39
|
}
|
|
39
40
|
/**
|
|
@@ -131,7 +132,7 @@ class Harmony {
|
|
|
131
132
|
// runtime.require(runtimeFile);
|
|
132
133
|
});
|
|
133
134
|
// requireFn ? await requireFn(aspect, runtime) : defaultRequireFn(this.graph);
|
|
134
|
-
yield this.graph.enrichRuntime(runtime, this.runtimes, requireFn || defaultRequireFn);
|
|
135
|
+
yield this.graph.enrichRuntime(runtime, this.runtimes, requireFn || defaultRequireFn, this.depOptions);
|
|
135
136
|
const executionOrder = this.graph.byExecutionOrder();
|
|
136
137
|
yield (0, utils_1.asyncForEach)(executionOrder, (ext) => __awaiter(this, void 0, void 0, function* () {
|
|
137
138
|
yield this.runOne(ext, runtime);
|
|
@@ -142,7 +143,7 @@ class Harmony {
|
|
|
142
143
|
return __awaiter(this, void 0, void 0, function* () {
|
|
143
144
|
const aspectGraph = extension_graph_1.default.from(aspects, options);
|
|
144
145
|
const runtimes = yield runtimes_1.Runtimes.load(aspectGraph);
|
|
145
|
-
return new Harmony(aspectGraph, config_1.Config.from(globalConfig), runtimes, runtime);
|
|
146
|
+
return new Harmony(aspectGraph, config_1.Config.from(globalConfig), runtimes, runtime, options);
|
|
146
147
|
});
|
|
147
148
|
}
|
|
148
149
|
}
|
package/dist/harmony.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"harmony.js","sourceRoot":"","sources":["../harmony.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,4BAA0B;AAC1B,wFAA2F;AAC3F,6CAAkD;AAElD,mCAAuC;AACvC,qCAAkC;AAElC,kDAA+C;AAE/C,sDAA0D;AAQ1D,MAAa,OAAO;IAClB;IACE;;OAEG;IACM,KAAqB;IAE9B;;OAEG;IACM,MAAc,EAEd,QAAkB,EAElB,aAAqB;
|
|
1
|
+
{"version":3,"file":"harmony.js","sourceRoot":"","sources":["../harmony.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
;
|
|
2
|
-
import * as overview_0 from '/Users/ranmizrahi/Library/Caches/Bit/capsules/7f5d1a1e47c697a28e5a51f9bcc7868796763a93/teambit.harmony_harmony@0.4.
|
|
2
|
+
import * as overview_0 from '/Users/ranmizrahi/Library/Caches/Bit/capsules/7f5d1a1e47c697a28e5a51f9bcc7868796763a93/teambit.harmony_harmony@0.4.2/dist/harmony.docs.mdx';
|
|
3
3
|
|
|
4
4
|
export const compositions = [];
|
|
5
5
|
export const overview = [overview_0];
|
|
@@ -44,24 +44,25 @@ export default class DependencyGraph extends Graph<Extension, Edge> {
|
|
|
44
44
|
return this.toposort(true);
|
|
45
45
|
}
|
|
46
46
|
|
|
47
|
-
private async enrichRuntimeExtension(id: string, aspect: Extension, runtime: RuntimeDefinition, runtimes: Runtimes, requireFn: RequireFn) {
|
|
47
|
+
private async enrichRuntimeExtension(id: string, aspect: Extension, runtime: RuntimeDefinition, runtimes: Runtimes, requireFn: RequireFn, options: DependencyGraphOptions = {}) {
|
|
48
48
|
await requireFn(aspect, runtime);
|
|
49
49
|
const runtimeManifest = aspect.getRuntime(runtime)
|
|
50
50
|
if (!runtimeManifest) return;
|
|
51
51
|
const deps = runtimeManifest.dependencies;
|
|
52
52
|
if (!deps) return;
|
|
53
53
|
const promises = deps.map(async (dep: any) => {
|
|
54
|
-
|
|
54
|
+
const depId = options.getName ? options.getName(dep): dep.id;
|
|
55
|
+
if (!this.hasNode(depId)) {
|
|
55
56
|
this.add(dep);
|
|
56
57
|
if (dep.declareRuntime) {
|
|
57
58
|
runtimes.add(dep.declareRuntime);
|
|
58
59
|
}
|
|
59
60
|
|
|
60
|
-
await requireFn(this.get(
|
|
61
|
-
await this.enrichRuntimeExtension(
|
|
61
|
+
await requireFn(this.get(depId), runtime);
|
|
62
|
+
await this.enrichRuntimeExtension(depId, this.get(depId), runtime, runtimes, requireFn);
|
|
62
63
|
}
|
|
63
64
|
|
|
64
|
-
this.setEdge(id,
|
|
65
|
+
this.setEdge(id, depId, {
|
|
65
66
|
runtime: runtime.name,
|
|
66
67
|
type: 'runtime-dependency'
|
|
67
68
|
});
|
|
@@ -70,9 +71,9 @@ export default class DependencyGraph extends Graph<Extension, Edge> {
|
|
|
70
71
|
return Promise.all(promises);
|
|
71
72
|
}
|
|
72
73
|
|
|
73
|
-
async enrichRuntime(runtime: RuntimeDefinition, runtimes: Runtimes, requireFn: RequireFn) {
|
|
74
|
+
async enrichRuntime(runtime: RuntimeDefinition, runtimes: Runtimes, requireFn: RequireFn, options: DependencyGraphOptions = {}) {
|
|
74
75
|
const promises = Array.from(this.nodes.entries()).map(async ([id, aspect]) => {
|
|
75
|
-
return this.enrichRuntimeExtension(id, aspect, runtime, runtimes, requireFn);
|
|
76
|
+
return this.enrichRuntimeExtension(id, aspect, runtime, runtimes, requireFn, options);
|
|
76
77
|
});
|
|
77
78
|
|
|
78
79
|
return Promise.all(promises);
|
package/harmony.ts
CHANGED
|
@@ -29,7 +29,9 @@ export class Harmony {
|
|
|
29
29
|
|
|
30
30
|
readonly runtimes: Runtimes,
|
|
31
31
|
|
|
32
|
-
readonly activeRuntime: string
|
|
32
|
+
readonly activeRuntime: string,
|
|
33
|
+
|
|
34
|
+
private depOptions: DependencyGraphOptions
|
|
33
35
|
) {}
|
|
34
36
|
|
|
35
37
|
public current: string|null = null;
|
|
@@ -130,7 +132,7 @@ export class Harmony {
|
|
|
130
132
|
// runtime.require(runtimeFile);
|
|
131
133
|
};
|
|
132
134
|
// requireFn ? await requireFn(aspect, runtime) : defaultRequireFn(this.graph);
|
|
133
|
-
await this.graph.enrichRuntime(runtime, this.runtimes, requireFn || defaultRequireFn);
|
|
135
|
+
await this.graph.enrichRuntime(runtime, this.runtimes, requireFn || defaultRequireFn, this.depOptions);
|
|
134
136
|
|
|
135
137
|
const executionOrder = this.graph.byExecutionOrder();
|
|
136
138
|
await asyncForEach(executionOrder, async (ext: Extension) => {
|
|
@@ -141,6 +143,6 @@ export class Harmony {
|
|
|
141
143
|
static async load(aspects: Aspect[], runtime: string, globalConfig: GlobalConfig, options: DependencyGraphOptions = {}) {
|
|
142
144
|
const aspectGraph = ExtensionGraph.from(aspects as any, options);
|
|
143
145
|
const runtimes = await Runtimes.load(aspectGraph);
|
|
144
|
-
return new Harmony(aspectGraph, Config.from(globalConfig), runtimes, runtime);
|
|
146
|
+
return new Harmony(aspectGraph, Config.from(globalConfig), runtimes, runtime, options);
|
|
145
147
|
}
|
|
146
148
|
}
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/harmony",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.2",
|
|
4
4
|
"homepage": "https://bit.dev/teambit/harmony/harmony",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "teambit.harmony",
|
|
8
8
|
"name": "harmony",
|
|
9
|
-
"version": "0.4.
|
|
9
|
+
"version": "0.4.2"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"reflect-metadata": "^0.1.13",
|
|
Binary file
|