@teambit/harmony 0.3.3 → 0.4.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.
@@ -3,6 +3,9 @@ import { ExtensionManifest } from '../extension';
3
3
  import { Extension } from '../extension';
4
4
  import { RuntimeDefinition, Runtimes } from '../runtimes';
5
5
  import { RequireFn } from '../harmony';
6
+ export declare type DependencyGraphOptions = {
7
+ getName?: (manifest: any) => string;
8
+ };
6
9
  export declare type Edge = {
7
10
  type: string;
8
11
  runtime?: string;
@@ -13,7 +16,7 @@ export default class DependencyGraph extends Graph<Extension, Edge> {
13
16
  private sortDeps;
14
17
  byExecutionOrder(): Extension[];
15
18
  private enrichRuntimeExtension;
16
- enrichRuntime(runtime: RuntimeDefinition, runtimes: Runtimes, requireFn: RequireFn): Promise<[unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown][]>;
19
+ enrichRuntime(runtime: RuntimeDefinition, runtimes: Runtimes, requireFn: RequireFn): Promise<any[][]>;
17
20
  add(manifest: ExtensionManifest): this;
18
21
  load(extensions: ExtensionManifest[]): this;
19
22
  getExtension(manifest: ExtensionManifest): Extension;
@@ -27,5 +30,5 @@ export default class DependencyGraph extends Graph<Extension, Edge> {
27
30
  /**
28
31
  * build Harmony from set of extensions
29
32
  */
30
- static from(extensions: ExtensionManifest[]): DependencyGraph;
33
+ static from(extensions: ExtensionManifest[], options?: DependencyGraphOptions): DependencyGraph;
31
34
  }
@@ -133,8 +133,8 @@ class DependencyGraph extends cleargraph_1.Graph {
133
133
  /**
134
134
  * build Harmony from set of extensions
135
135
  */
136
- static from(extensions) {
137
- const { vertices, edges } = (0, from_extension_1.fromExtensions)(extensions);
136
+ static from(extensions, options = {}) {
137
+ const { vertices, edges } = (0, from_extension_1.fromExtensions)(extensions, options);
138
138
  return new DependencyGraph(vertices, edges);
139
139
  }
140
140
  }
@@ -1 +1 @@
1
- {"version":3,"file":"extension-graph.js","sourceRoot":"","sources":["../../extension-graph/extension-graph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extension-graph.js","sourceRoot":"","sources":["../../extension-graph/extension-graph.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import { ExtensionManifest } from '../extension';
2
2
  import { Extension } from '../extension';
3
- import { Edge } from './extension-graph';
3
+ import { DependencyGraphOptions, Edge } from './extension-graph';
4
4
  /**
5
5
  * build vertices and edges from the given extension
6
6
  */
7
- export declare function fromExtension(extension: ExtensionManifest): {
7
+ export declare function fromExtension(extension: ExtensionManifest, options?: DependencyGraphOptions): {
8
8
  vertices: {
9
9
  id: string;
10
10
  node: Extension;
@@ -18,7 +18,7 @@ export declare function fromExtension(extension: ExtensionManifest): {
18
18
  /**
19
19
  * build vertices and edges from the given list of extensions
20
20
  */
21
- export declare function fromExtensions(extensions: ExtensionManifest[]): {
21
+ export declare function fromExtensions(extensions: ExtensionManifest[], options?: DependencyGraphOptions): {
22
22
  vertices: {
23
23
  id: string;
24
24
  node: Extension;
@@ -12,11 +12,11 @@ function getName(manifest) {
12
12
  /**
13
13
  * build vertices and edges from the given extension
14
14
  */
15
- function fromExtension(extension) {
15
+ function fromExtension(extension, options = {}) {
16
16
  const vertices = {};
17
17
  let edges = [];
18
18
  function iterate(root) {
19
- const id = getName(root);
19
+ const id = options.getName ? options.getName(root) : getName(root);
20
20
  if (vertices[id])
21
21
  return;
22
22
  const instance = (0, factory_1.extensionFactory)(root);
@@ -52,8 +52,8 @@ exports.fromExtension = fromExtension;
52
52
  /**
53
53
  * build vertices and edges from the given list of extensions
54
54
  */
55
- function fromExtensions(extensions) {
56
- const perExtension = extensions.map(ext => fromExtension(ext));
55
+ function fromExtensions(extensions, options = {}) {
56
+ const perExtension = extensions.map(ext => fromExtension(ext, options));
57
57
  return perExtension.reduce((acc, subgraph) => {
58
58
  acc.edges = acc.edges.concat(subgraph.edges);
59
59
  acc.vertices = acc.vertices.concat(subgraph.vertices);
@@ -1 +1 @@
1
- {"version":3,"file":"from-extension.js","sourceRoot":"","sources":["../../extension-graph/from-extension.ts"],"names":[],"mappings":";;;;;;AACA,wCAA8C;AAC9C,8GAAoF;AAIpF,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;AAED;;GAEG;AACH,SAAgB,aAAa,CAAC,SAA4B;IACxD,MAAM,QAAQ,GAAgC,EAAE,CAAC;IACjD,IAAI,KAAK,GAAyD,EAAE,CAAC;IAErE,SAAS,OAAO,CAAC,IAAuB;QACtC,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACzB,IAAI,QAAQ,CAAC,EAAE,CAAC;YAAE,OAAO;QAEzB,MAAM,QAAQ,GAAG,IAAA,0BAAgB,EAAC,IAAI,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAA,0BAAgB,EAAC,GAAG,CAAC,CAAC,CAAC;QAC7F,IAAI,QAAQ,CAAC,YAAY,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE;YACnD,MAAM,IAAI,sCAA0B,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;SAC3D;QACD,QAAQ,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC;QACxB,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YACnC,OAAO;gBACL,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,GAAG,CAAC,IAAI;gBAClB,IAAI,EAAE;oBACJ,IAAI,EAAE,YAAY;iBACnB;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAE/B,aAAa;QACb,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,OAAO,CAAC,SAAS,CAAC,CAAC;IAEnB,IAAI,WAAW,GAAsC,EAAE,CAAC;IACxD,KAAK,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;QACjD,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;KAC5C;IAED,OAAO;QACL,QAAQ,EAAE,WAAW;QACrB,KAAK;KACN,CAAC;AACJ,CAAC;AAzCD,sCAyCC;AAED;;GAEG;AACH,SAAgB,cAAc,CAAC,UAA+B;IAC5D,MAAM,YAAY,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;IAE/D,OAAO,YAAY,CAAC,MAAM,CACxB,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;QAChB,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC7C,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAEtD,OAAO,GAAG,CAAC;IACb,CAAC,EACD,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAC5B,CAAC;AACJ,CAAC;AAZD,wCAYC"}
1
+ {"version":3,"file":"from-extension.js","sourceRoot":"","sources":["../../extension-graph/from-extension.ts"],"names":[],"mappings":";;;;;;AACA,wCAA8C;AAC9C,8GAAoF;AAIpF,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;AAED;;GAEG;AACH,SAAgB,aAAa,CAAC,SAA4B,EAAE,UAAkC,EAAE;IAC9F,MAAM,QAAQ,GAAgC,EAAE,CAAC;IACjD,IAAI,KAAK,GAAyD,EAAE,CAAC;IAErE,SAAS,OAAO,CAAC,IAAuB;QACtC,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACnE,IAAI,QAAQ,CAAC,EAAE,CAAC;YAAE,OAAO;QAEzB,MAAM,QAAQ,GAAG,IAAA,0BAAgB,EAAC,IAAI,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAA,0BAAgB,EAAC,GAAG,CAAC,CAAC,CAAC;QAC7F,IAAI,QAAQ,CAAC,YAAY,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE;YACnD,MAAM,IAAI,sCAA0B,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;SAC3D;QACD,QAAQ,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC;QACxB,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YACnC,OAAO;gBACL,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,GAAG,CAAC,IAAI;gBAClB,IAAI,EAAE;oBACJ,IAAI,EAAE,YAAY;iBACnB;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAE/B,aAAa;QACb,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,OAAO,CAAC,SAAS,CAAC,CAAC;IAEnB,IAAI,WAAW,GAAsC,EAAE,CAAC;IACxD,KAAK,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;QACjD,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;KAC5C;IAED,OAAO;QACL,QAAQ,EAAE,WAAW;QACrB,KAAK;KACN,CAAC;AACJ,CAAC;AAzCD,sCAyCC;AAED;;GAEG;AACH,SAAgB,cAAc,CAAC,UAA+B,EAAE,UAAkC,EAAE;IAClG,MAAM,YAAY,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;IAExE,OAAO,YAAY,CAAC,MAAM,CACxB,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;QAChB,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC7C,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAEtD,OAAO,GAAG,CAAC;IACb,CAAC,EACD,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAC5B,CAAC;AACJ,CAAC;AAZD,wCAYC"}
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -1 +1 @@
1
- {"version":3,"file":"react.cli.js","sourceRoot":"","sources":["../../../../fixtures/aspects/react/react.cli.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+DAAyD;AACzD,yEAA8D;AAC9D,0CAAoD;AAEpD,MAAa,QAAQ;IACnB,YACU,KAAe;QAAf,UAAK,GAAL,KAAK,CAAU;IACtB,CAAC;IAIJ,KAAK;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;IAC9B,CAAC;IAMD,MAAM,CAAO,QAAQ,CAAC,CAAC,QAAQ,CAAa,EAAE,MAAU,EAAE,CAAC,UAAU,CAAyB;;YAC5F,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAChC,OAAO,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;KAAA;;AAlBH,4BAmBC;AAdQ,gBAAO,GAAG,yBAAU,CAAC;AAMrB,qBAAY,GAAG,CAAC,sBAAW,CAAC,CAAC;AAE7B,cAAK,GAAG,CAAC,YAAI,CAAC,QAAQ,EAAU,CAAC,CAAC;AAQ3C,sBAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC"}
1
+ {"version":3,"file":"react.cli.js","sourceRoot":"","sources":["../../../../fixtures/aspects/react/react.cli.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+DAAyD;AACzD,yEAA8D;AAC9D,0CAAoD;AAEpD,MAAa,QAAQ;IACnB,YACU,KAAe;QAAf,UAAK,GAAL,KAAK,CAAU;IACtB,CAAC;IAIJ,KAAK;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;IAC9B,CAAC;IAMD,MAAM,CAAO,QAAQ,CAAC,CAAC,QAAQ,CAAa,EAAE,MAAU,EAAE,CAAC,UAAU,CAAyB;;YAC5F,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAChC,OAAO,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;KAAA;;AAlBH,4BAmBC;AAdQ,gBAAO,GAAG,yBAAU,CAAC;AAMrB,qBAAY,GAAG,CAAC,sBAAW,CAAC,CAAC;AAE7B,cAAK,GAAG,CAAC,YAAI,CAAC,QAAQ,EAAU,CAAC,CAAC;AAQ3C,sBAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC"}
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../fixtures/cli/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAAgC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../fixtures/cli/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC"}
package/dist/harmony.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import 'reflect-metadata';
2
- import ExtensionGraph from './extension-graph/extension-graph';
2
+ import ExtensionGraph, { DependencyGraphOptions } from './extension-graph/extension-graph';
3
3
  import { Extension, ExtensionManifest } from './extension';
4
4
  import { Config } from './config';
5
5
  import { Aspect } from './aspect';
@@ -58,5 +58,5 @@ export declare class Harmony {
58
58
  get<T>(id: string): T;
59
59
  resolveRuntime(name: string): RuntimeDefinition;
60
60
  run(requireFn?: RequireFn): Promise<void>;
61
- static load(aspects: Aspect[], runtime: string, globalConfig: GlobalConfig): Promise<Harmony>;
61
+ static load(aspects: Aspect[], runtime: string, globalConfig: GlobalConfig, options?: DependencyGraphOptions): Promise<Harmony>;
62
62
  }
package/dist/harmony.js CHANGED
@@ -138,9 +138,9 @@ class Harmony {
138
138
  }));
139
139
  });
140
140
  }
141
- static load(aspects, runtime, globalConfig) {
141
+ static load(aspects, runtime, globalConfig, options = {}) {
142
142
  return __awaiter(this, void 0, void 0, function* () {
143
- const aspectGraph = extension_graph_1.default.from(aspects);
143
+ const aspectGraph = extension_graph_1.default.from(aspects, options);
144
144
  const runtimes = yield runtimes_1.Runtimes.load(aspectGraph);
145
145
  return new Harmony(aspectGraph, config_1.Config.from(globalConfig), runtimes, runtime);
146
146
  });
@@ -1 +1 @@
1
- {"version":3,"file":"harmony.js","sourceRoot":"","sources":["../harmony.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"harmony.js","sourceRoot":"","sources":["../harmony.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ ;
2
+ import * as overview_0 from '/Users/ranmizrahi/Library/Caches/Bit/capsules/7f5d1a1e47c697a28e5a51f9bcc7868796763a93/teambit.harmony_harmony@0.4.1/dist/harmony.docs.mdx';
3
+
4
+ export const compositions = [];
5
+ export const overview = [overview_0];
6
+
7
+ export const compositions_metadata = {"compositions":[]};
@@ -0,0 +1,32 @@
1
+ {
2
+ "compilerOptions": {
3
+ "lib": [
4
+ "es2019",
5
+ "DOM",
6
+ "ES6",
7
+ "DOM.Iterable"
8
+ ],
9
+ "target": "es2015",
10
+ "module": "CommonJS",
11
+ "jsx": "react",
12
+ "allowJs": true,
13
+ "composite": true,
14
+ "declaration": true,
15
+ "sourceMap": true,
16
+ "skipLibCheck": true,
17
+ "experimentalDecorators": true,
18
+ "outDir": "dist",
19
+ "moduleResolution": "node",
20
+ "esModuleInterop": true,
21
+ "rootDir": ".",
22
+ "resolveJsonModule": true
23
+ },
24
+ "exclude": [
25
+ "dist",
26
+ "package.json"
27
+ ],
28
+ "include": [
29
+ "**/*",
30
+ "**/*.json"
31
+ ]
32
+ }
@@ -5,6 +5,10 @@ import { Extension } from '../extension';
5
5
  import { RuntimeDefinition, Runtimes } from '../runtimes';
6
6
  import { RequireFn } from '../harmony';
7
7
 
8
+ export type DependencyGraphOptions = {
9
+ getName?: (manifest: any) => string;
10
+ };
11
+
8
12
  function getName(manifest: any) {
9
13
  return Reflect.getMetadata('harmony:name', manifest) || manifest.id || manifest.name;
10
14
  }
@@ -143,9 +147,10 @@ export default class DependencyGraph extends Graph<Extension, Edge> {
143
147
  /**
144
148
  * build Harmony from set of extensions
145
149
  */
146
- static from(extensions: ExtensionManifest[]) {
147
- const { vertices, edges } = fromExtensions(extensions);
150
+ static from(extensions: ExtensionManifest[], options: DependencyGraphOptions = {}) {
151
+ const { vertices, edges } = fromExtensions(extensions, options);
148
152
 
149
153
  return new DependencyGraph(vertices, edges);
150
154
  }
151
155
  }
156
+
@@ -2,7 +2,7 @@ import { ExtensionManifest } from '../extension';
2
2
  import { extensionFactory } from '../factory';
3
3
  import ExtensionPotentialCircular from '../exceptions/extension-potential-circular';
4
4
  import { Extension } from '../extension';
5
- import { Edge } from './extension-graph';
5
+ import { DependencyGraphOptions, Edge } from './extension-graph';
6
6
 
7
7
  function getName(manifest: any) {
8
8
  return Reflect.getMetadata('harmony:name', manifest) || manifest.id || manifest.name;
@@ -11,12 +11,12 @@ function getName(manifest: any) {
11
11
  /**
12
12
  * build vertices and edges from the given extension
13
13
  */
14
- export function fromExtension(extension: ExtensionManifest) {
14
+ export function fromExtension(extension: ExtensionManifest, options: DependencyGraphOptions = {}) {
15
15
  const vertices: { [id: string]: Extension } = {};
16
16
  let edges: { sourceId: string; targetId: string; edge: Edge }[] = [];
17
17
 
18
18
  function iterate(root: ExtensionManifest) {
19
- const id = getName(root);
19
+ const id = options.getName ? options.getName(root) : getName(root);
20
20
  if (vertices[id]) return;
21
21
 
22
22
  const instance = extensionFactory(root);
@@ -57,8 +57,8 @@ export function fromExtension(extension: ExtensionManifest) {
57
57
  /**
58
58
  * build vertices and edges from the given list of extensions
59
59
  */
60
- export function fromExtensions(extensions: ExtensionManifest[]) {
61
- const perExtension = extensions.map(ext => fromExtension(ext));
60
+ export function fromExtensions(extensions: ExtensionManifest[], options: DependencyGraphOptions = {}) {
61
+ const perExtension = extensions.map(ext => fromExtension(ext, options));
62
62
 
63
63
  return perExtension.reduce(
64
64
  (acc, subgraph) => {
package/harmony.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import 'reflect-metadata';
2
- import ExtensionGraph from './extension-graph/extension-graph';
2
+ import ExtensionGraph, { DependencyGraphOptions } from './extension-graph/extension-graph';
3
3
  import { ExtensionLoadError } from './exceptions';
4
4
  import { Extension, ExtensionManifest } from './extension';
5
5
  import { asyncForEach } from './utils';
@@ -138,8 +138,8 @@ export class Harmony {
138
138
  });
139
139
  }
140
140
 
141
- static async load(aspects: Aspect[], runtime: string, globalConfig: GlobalConfig) {
142
- const aspectGraph = ExtensionGraph.from(aspects as any);
141
+ static async load(aspects: Aspect[], runtime: string, globalConfig: GlobalConfig, options: DependencyGraphOptions = {}) {
142
+ const aspectGraph = ExtensionGraph.from(aspects as any, options);
143
143
  const runtimes = await Runtimes.load(aspectGraph);
144
144
  return new Harmony(aspectGraph, Config.from(globalConfig), runtimes, runtime);
145
145
  }
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/harmony",
3
- "version": "0.3.3",
3
+ "version": "0.4.1",
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.3.3"
9
+ "version": "0.4.1"
10
10
  },
11
11
  "dependencies": {
12
12
  "reflect-metadata": "^0.1.13",
@@ -18,23 +18,12 @@
18
18
  "devDependencies": {
19
19
  "@types/comment-json": "^1.1.1",
20
20
  "@types/fs-extra": "^8.1.0",
21
- "@babel/runtime": "7.12.18",
21
+ "@babel/runtime": "7.20.0",
22
22
  "@types/node": "12.20.4",
23
23
  "@types/jest": "26.0.20"
24
24
  },
25
25
  "peerDependencies": {},
26
26
  "license": "Apache-2.0",
27
- "bit": {
28
- "bindingPrefix": "@teambit",
29
- "env": {},
30
- "overrides": {
31
- "devDependencies": {
32
- "@babel/runtime": "7.12.18",
33
- "@types/node": "12.20.4",
34
- "@types/jest": "26.0.20"
35
- }
36
- }
37
- },
38
27
  "private": false,
39
28
  "engines": {
40
29
  "node": ">=12.22.0"
package/tsconfig.json CHANGED
@@ -14,6 +14,7 @@
14
14
  "declaration": true,
15
15
  "sourceMap": true,
16
16
  "skipLibCheck": true,
17
+ "experimentalDecorators": true,
17
18
  "outDir": "dist",
18
19
  "moduleResolution": "node",
19
20
  "esModuleInterop": true,
@@ -21,6 +22,11 @@
21
22
  "resolveJsonModule": true
22
23
  },
23
24
  "exclude": [
24
- "dist"
25
+ "dist",
26
+ "package.json"
27
+ ],
28
+ "include": [
29
+ "**/*",
30
+ "**/*.json"
25
31
  ]
26
32
  }
@@ -1 +0,0 @@
1
- export const overview = [require('/Users/giladshoham/Library/Caches/Bit/capsules/0c2e8decf63b913c66a649e2a025161ea05f3ab6/teambit.harmony_harmony@0.3.3/dist/harmony.docs.mdx')]