@teambit/scope 1.0.1229 → 1.0.1231

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.
@@ -0,0 +1,25 @@
1
+ /**
2
+ * harmony registers an aspect by its id, which includes the version. the dependencies of an aspect are resolved
3
+ * according to the dependency list of each dependent (see DependencyResolverMain.onLoadRequireableExtensionSubscriber).
4
+ * as a result, two dependents that pin different versions of the same aspect get two instances of it. e.g. an app
5
+ * uses the latest snap of an aspect, while another aspect the app uses is still pinned to an older version of it.
6
+ * anything that the second aspect registers into the slots of its instance is invisible to the app, which reads the
7
+ * slots of the other instance.
8
+ *
9
+ * this picker makes the aspects that are loaded together share one version of an aspect. it gets the ids level by
10
+ * level, the requested ids first, then the dependencies of each level. the version of an aspect is picked at the
11
+ * first level the aspect shows up in, and is used for the deeper levels as well, so the version that is closest to
12
+ * the requested aspects wins.
13
+ * when a level has more than one version of an aspect, none of them is closer than the others, e.g. two versions of
14
+ * an env were requested. in such a case, the versions are kept as is, in that level and in the deeper ones.
15
+ */
16
+ export declare class AspectVersionsPicker {
17
+ private pickedIds;
18
+ private multipleVersions;
19
+ constructor(requestedIds?: string[]);
20
+ /**
21
+ * gets the ids of one level and returns the ids to load for them, in the same order. an id without a version (e.g.
22
+ * a core aspect) is returned as is, unless a version of that aspect was already picked.
23
+ */
24
+ pick(ids: string[]): string[];
25
+ }
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.AspectVersionsPicker = void 0;
7
+ function _componentId() {
8
+ const data = require("@teambit/component-id");
9
+ _componentId = function () {
10
+ return data;
11
+ };
12
+ return data;
13
+ }
14
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
15
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
16
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
17
+ /**
18
+ * harmony registers an aspect by its id, which includes the version. the dependencies of an aspect are resolved
19
+ * according to the dependency list of each dependent (see DependencyResolverMain.onLoadRequireableExtensionSubscriber).
20
+ * as a result, two dependents that pin different versions of the same aspect get two instances of it. e.g. an app
21
+ * uses the latest snap of an aspect, while another aspect the app uses is still pinned to an older version of it.
22
+ * anything that the second aspect registers into the slots of its instance is invisible to the app, which reads the
23
+ * slots of the other instance.
24
+ *
25
+ * this picker makes the aspects that are loaded together share one version of an aspect. it gets the ids level by
26
+ * level, the requested ids first, then the dependencies of each level. the version of an aspect is picked at the
27
+ * first level the aspect shows up in, and is used for the deeper levels as well, so the version that is closest to
28
+ * the requested aspects wins.
29
+ * when a level has more than one version of an aspect, none of them is closer than the others, e.g. two versions of
30
+ * an env were requested. in such a case, the versions are kept as is, in that level and in the deeper ones.
31
+ */
32
+ class AspectVersionsPicker {
33
+ constructor(requestedIds = []) {
34
+ _defineProperty(this, "pickedIds", new Map());
35
+ _defineProperty(this, "multipleVersions", new Set());
36
+ this.pick(requestedIds);
37
+ }
38
+
39
+ /**
40
+ * gets the ids of one level and returns the ids to load for them, in the same order. an id without a version (e.g.
41
+ * a core aspect) is returned as is, unless a version of that aspect was already picked.
42
+ */
43
+ pick(ids) {
44
+ const idsWithoutVersion = ids.map(id => _componentId().ComponentID.tryFromString(id)?.toStringWithoutVersion());
45
+ const versionedIdsOfLevel = new Map();
46
+ ids.forEach((id, index) => {
47
+ const idWithoutVersion = idsWithoutVersion[index];
48
+ if (!idWithoutVersion || id === idWithoutVersion) return;
49
+ if (this.pickedIds.has(idWithoutVersion) || this.multipleVersions.has(idWithoutVersion)) return;
50
+ const versionedIds = versionedIdsOfLevel.get(idWithoutVersion) || new Set();
51
+ versionedIds.add(id);
52
+ versionedIdsOfLevel.set(idWithoutVersion, versionedIds);
53
+ });
54
+ versionedIdsOfLevel.forEach((versionedIds, idWithoutVersion) => {
55
+ if (versionedIds.size === 1) this.pickedIds.set(idWithoutVersion, [...versionedIds][0]);else this.multipleVersions.add(idWithoutVersion);
56
+ });
57
+ return ids.map((id, index) => {
58
+ const idWithoutVersion = idsWithoutVersion[index];
59
+ return idWithoutVersion && this.pickedIds.get(idWithoutVersion) || id;
60
+ });
61
+ }
62
+ }
63
+ exports.AspectVersionsPicker = AspectVersionsPicker;
64
+
65
+ //# sourceMappingURL=aspect-versions-picker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_componentId","data","require","_defineProperty","e","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","AspectVersionsPicker","constructor","requestedIds","Map","Set","pick","ids","idsWithoutVersion","map","id","ComponentID","tryFromString","toStringWithoutVersion","versionedIdsOfLevel","forEach","index","idWithoutVersion","pickedIds","has","multipleVersions","versionedIds","get","add","set","size","exports"],"sources":["aspect-versions-picker.ts"],"sourcesContent":["import { ComponentID } from '@teambit/component-id';\n\n/**\n * harmony registers an aspect by its id, which includes the version. the dependencies of an aspect are resolved\n * according to the dependency list of each dependent (see DependencyResolverMain.onLoadRequireableExtensionSubscriber).\n * as a result, two dependents that pin different versions of the same aspect get two instances of it. e.g. an app\n * uses the latest snap of an aspect, while another aspect the app uses is still pinned to an older version of it.\n * anything that the second aspect registers into the slots of its instance is invisible to the app, which reads the\n * slots of the other instance.\n *\n * this picker makes the aspects that are loaded together share one version of an aspect. it gets the ids level by\n * level, the requested ids first, then the dependencies of each level. the version of an aspect is picked at the\n * first level the aspect shows up in, and is used for the deeper levels as well, so the version that is closest to\n * the requested aspects wins.\n * when a level has more than one version of an aspect, none of them is closer than the others, e.g. two versions of\n * an env were requested. in such a case, the versions are kept as is, in that level and in the deeper ones.\n */\nexport class AspectVersionsPicker {\n private pickedIds = new Map<string, string>();\n private multipleVersions = new Set<string>();\n\n constructor(requestedIds: string[] = []) {\n this.pick(requestedIds);\n }\n\n /**\n * gets the ids of one level and returns the ids to load for them, in the same order. an id without a version (e.g.\n * a core aspect) is returned as is, unless a version of that aspect was already picked.\n */\n pick(ids: string[]): string[] {\n const idsWithoutVersion = ids.map((id) => ComponentID.tryFromString(id)?.toStringWithoutVersion());\n const versionedIdsOfLevel = new Map<string, Set<string>>();\n ids.forEach((id, index) => {\n const idWithoutVersion = idsWithoutVersion[index];\n if (!idWithoutVersion || id === idWithoutVersion) return;\n if (this.pickedIds.has(idWithoutVersion) || this.multipleVersions.has(idWithoutVersion)) return;\n const versionedIds = versionedIdsOfLevel.get(idWithoutVersion) || new Set<string>();\n versionedIds.add(id);\n versionedIdsOfLevel.set(idWithoutVersion, versionedIds);\n });\n versionedIdsOfLevel.forEach((versionedIds, idWithoutVersion) => {\n if (versionedIds.size === 1) this.pickedIds.set(idWithoutVersion, [...versionedIds][0]);\n else this.multipleVersions.add(idWithoutVersion);\n });\n return ids.map((id, index) => {\n const idWithoutVersion = idsWithoutVersion[index];\n return (idWithoutVersion && this.pickedIds.get(idWithoutVersion)) || id;\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+
3
+ function _chai() {
4
+ const data = require("chai");
5
+ _chai = function () {
6
+ return data;
7
+ };
8
+ return data;
9
+ }
10
+ function _aspectVersionsPicker() {
11
+ const data = require("./aspect-versions-picker");
12
+ _aspectVersionsPicker = function () {
13
+ return data;
14
+ };
15
+ return data;
16
+ }
17
+ describe('AspectVersionsPicker', () => {
18
+ it('should use the version of a requested aspect over a version that a dependency pins', () => {
19
+ const picker = new (_aspectVersionsPicker().AspectVersionsPicker)(['org.scope/slot-owner@abc123', 'org.scope/registrar@0.0.1']);
20
+ (0, _chai().expect)(picker.pick(['org.scope/slot-owner@0.0.1'])).to.deep.equal(['org.scope/slot-owner@abc123']);
21
+ });
22
+ it('should use the version of a shallower level over the version of a deeper level', () => {
23
+ const picker = new (_aspectVersionsPicker().AspectVersionsPicker)(['org.scope/app@1.0.0']);
24
+ (0, _chai().expect)(picker.pick(['org.scope/slot-owner@abc123', 'org.scope/registrar@0.0.1'])).to.deep.equal(['org.scope/slot-owner@abc123', 'org.scope/registrar@0.0.1']);
25
+ (0, _chai().expect)(picker.pick(['org.scope/slot-owner@0.0.1'])).to.deep.equal(['org.scope/slot-owner@abc123']);
26
+ });
27
+ it('should keep the versions as is when one level has more than one version of an aspect', () => {
28
+ const picker = new (_aspectVersionsPicker().AspectVersionsPicker)(['org.scope/env@1.0.0', 'org.scope/env@2.0.0']);
29
+ (0, _chai().expect)(picker.pick(['org.scope/helper@1.0.0', 'org.scope/helper@2.0.0'])).to.deep.equal(['org.scope/helper@1.0.0', 'org.scope/helper@2.0.0']);
30
+ (0, _chai().expect)(picker.pick(['org.scope/env@1.0.0', 'org.scope/env@2.0.0'])).to.deep.equal(['org.scope/env@1.0.0', 'org.scope/env@2.0.0']);
31
+ (0, _chai().expect)(picker.pick(['org.scope/helper@3.0.0'])).to.deep.equal(['org.scope/helper@3.0.0']);
32
+ });
33
+ it('should use the picked version for a dependency without a version', () => {
34
+ const picker = new (_aspectVersionsPicker().AspectVersionsPicker)(['org.scope/slot-owner@abc123']);
35
+ (0, _chai().expect)(picker.pick(['org.scope/slot-owner'])).to.deep.equal(['org.scope/slot-owner@abc123']);
36
+ });
37
+ it('should return an id without a version as is when no version of it was picked', () => {
38
+ const picker = new (_aspectVersionsPicker().AspectVersionsPicker)();
39
+ (0, _chai().expect)(picker.pick(['teambit.harmony/cli', 'teambit.harmony/cli'])).to.deep.equal(['teambit.harmony/cli', 'teambit.harmony/cli']);
40
+ });
41
+ });
42
+
43
+ //# sourceMappingURL=aspect-versions-picker.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_chai","data","require","_aspectVersionsPicker","describe","it","picker","AspectVersionsPicker","expect","pick","to","deep","equal"],"sources":["aspect-versions-picker.spec.ts"],"sourcesContent":["import { expect } from 'chai';\nimport { AspectVersionsPicker } from './aspect-versions-picker';\n\ndescribe('AspectVersionsPicker', () => {\n it('should use the version of a requested aspect over a version that a dependency pins', () => {\n const picker = new AspectVersionsPicker(['org.scope/slot-owner@abc123', 'org.scope/registrar@0.0.1']);\n expect(picker.pick(['org.scope/slot-owner@0.0.1'])).to.deep.equal(['org.scope/slot-owner@abc123']);\n });\n it('should use the version of a shallower level over the version of a deeper level', () => {\n const picker = new AspectVersionsPicker(['org.scope/app@1.0.0']);\n expect(picker.pick(['org.scope/slot-owner@abc123', 'org.scope/registrar@0.0.1'])).to.deep.equal([\n 'org.scope/slot-owner@abc123',\n 'org.scope/registrar@0.0.1',\n ]);\n expect(picker.pick(['org.scope/slot-owner@0.0.1'])).to.deep.equal(['org.scope/slot-owner@abc123']);\n });\n it('should keep the versions as is when one level has more than one version of an aspect', () => {\n const picker = new AspectVersionsPicker(['org.scope/env@1.0.0', 'org.scope/env@2.0.0']);\n expect(picker.pick(['org.scope/helper@1.0.0', 'org.scope/helper@2.0.0'])).to.deep.equal([\n 'org.scope/helper@1.0.0',\n 'org.scope/helper@2.0.0',\n ]);\n expect(picker.pick(['org.scope/env@1.0.0', 'org.scope/env@2.0.0'])).to.deep.equal([\n 'org.scope/env@1.0.0',\n 'org.scope/env@2.0.0',\n ]);\n expect(picker.pick(['org.scope/helper@3.0.0'])).to.deep.equal(['org.scope/helper@3.0.0']);\n });\n it('should use the picked version for a dependency without a version', () => {\n const picker = new AspectVersionsPicker(['org.scope/slot-owner@abc123']);\n expect(picker.pick(['org.scope/slot-owner'])).to.deep.equal(['org.scope/slot-owner@abc123']);\n });\n it('should return an id without a version as is when no version of it was picked', () => {\n const picker = new AspectVersionsPicker();\n expect(picker.pick(['teambit.harmony/cli', 'teambit.harmony/cli'])).to.deep.equal([\n 'teambit.harmony/cli',\n 'teambit.harmony/cli',\n ]);\n });\n});\n"],"mappings":";;AAAA,SAAAA,MAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,KAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,sBAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,qBAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEAG,QAAQ,CAAC,sBAAsB,EAAE,MAAM;EACrCC,EAAE,CAAC,oFAAoF,EAAE,MAAM;IAC7F,MAAMC,MAAM,GAAG,KAAIC,4CAAoB,EAAC,CAAC,6BAA6B,EAAE,2BAA2B,CAAC,CAAC;IACrG,IAAAC,cAAM,EAACF,MAAM,CAACG,IAAI,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAACC,EAAE,CAACC,IAAI,CAACC,KAAK,CAAC,CAAC,6BAA6B,CAAC,CAAC;EACpG,CAAC,CAAC;EACFP,EAAE,CAAC,gFAAgF,EAAE,MAAM;IACzF,MAAMC,MAAM,GAAG,KAAIC,4CAAoB,EAAC,CAAC,qBAAqB,CAAC,CAAC;IAChE,IAAAC,cAAM,EAACF,MAAM,CAACG,IAAI,CAAC,CAAC,6BAA6B,EAAE,2BAA2B,CAAC,CAAC,CAAC,CAACC,EAAE,CAACC,IAAI,CAACC,KAAK,CAAC,CAC9F,6BAA6B,EAC7B,2BAA2B,CAC5B,CAAC;IACF,IAAAJ,cAAM,EAACF,MAAM,CAACG,IAAI,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAACC,EAAE,CAACC,IAAI,CAACC,KAAK,CAAC,CAAC,6BAA6B,CAAC,CAAC;EACpG,CAAC,CAAC;EACFP,EAAE,CAAC,sFAAsF,EAAE,MAAM;IAC/F,MAAMC,MAAM,GAAG,KAAIC,4CAAoB,EAAC,CAAC,qBAAqB,EAAE,qBAAqB,CAAC,CAAC;IACvF,IAAAC,cAAM,EAACF,MAAM,CAACG,IAAI,CAAC,CAAC,wBAAwB,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAACC,EAAE,CAACC,IAAI,CAACC,KAAK,CAAC,CACtF,wBAAwB,EACxB,wBAAwB,CACzB,CAAC;IACF,IAAAJ,cAAM,EAACF,MAAM,CAACG,IAAI,CAAC,CAAC,qBAAqB,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAACC,EAAE,CAACC,IAAI,CAACC,KAAK,CAAC,CAChF,qBAAqB,EACrB,qBAAqB,CACtB,CAAC;IACF,IAAAJ,cAAM,EAACF,MAAM,CAACG,IAAI,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAACC,EAAE,CAACC,IAAI,CAACC,KAAK,CAAC,CAAC,wBAAwB,CAAC,CAAC;EAC3F,CAAC,CAAC;EACFP,EAAE,CAAC,kEAAkE,EAAE,MAAM;IAC3E,MAAMC,MAAM,GAAG,KAAIC,4CAAoB,EAAC,CAAC,6BAA6B,CAAC,CAAC;IACxE,IAAAC,cAAM,EAACF,MAAM,CAACG,IAAI,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAACC,EAAE,CAACC,IAAI,CAACC,KAAK,CAAC,CAAC,6BAA6B,CAAC,CAAC;EAC9F,CAAC,CAAC;EACFP,EAAE,CAAC,8EAA8E,EAAE,MAAM;IACvF,MAAMC,MAAM,GAAG,KAAIC,4CAAoB,EAAC,CAAC;IACzC,IAAAC,cAAM,EAACF,MAAM,CAACG,IAAI,CAAC,CAAC,qBAAqB,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAACC,EAAE,CAACC,IAAI,CAACC,KAAK,CAAC,CAChF,qBAAqB,EACrB,qBAAqB,CACtB,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.scope_scope@1.0.1229/dist/scope.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.scope_scope@1.0.1229/dist/scope.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.scope_scope@1.0.1231/dist/scope.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.scope_scope@1.0.1231/dist/scope.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];
@@ -9,6 +9,7 @@ import type { EnvsMain } from '@teambit/envs';
9
9
  import type { NodeLinker } from '@teambit/dependency-resolver';
10
10
  import type { ScopeMain } from './scope.main.runtime';
11
11
  import type { ConfigStoreMain } from '@teambit/config-store';
12
+ import { AspectVersionsPicker } from './aspect-versions-picker';
12
13
  type ManifestOrAspect = ExtensionManifest | Aspect;
13
14
  export type ScopeLoadAspectsOptions = LoadAspectsOptions & {
14
15
  useScopeAspectsCapsule?: boolean;
@@ -37,7 +38,7 @@ export declare class ScopeAspectsLoader {
37
38
  packageManagerConfigRootDir?: string;
38
39
  workspaceName?: string;
39
40
  loadCustomEnvs?: string;
40
- }): Promise<{
41
+ }, versionsPicker?: AspectVersionsPicker): Promise<{
41
42
  manifests: ManifestOrAspect[];
42
43
  potentialPluginsIds: string[];
43
44
  }>;
@@ -53,6 +53,13 @@ function _harmonyModules2() {
53
53
  };
54
54
  return data;
55
55
  }
56
+ function _aspectVersionsPicker() {
57
+ const data = require("./aspect-versions-picker");
58
+ _aspectVersionsPicker = function () {
59
+ return data;
60
+ };
61
+ return data;
62
+ }
56
63
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
57
64
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
58
65
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -77,10 +84,13 @@ class ScopeAspectsLoader {
77
84
  ids: ${ids.join(', ')}
78
85
  needed-for: ${neededFor || '<unknown>'}`);
79
86
  const grouped = await this.groupAspectIdsByEnvOfTheList(ids, lane);
87
+ // the envs are loaded (into harmony) before the other aspects, so the versions they pick win over the versions that
88
+ // the other aspects pin, even in the same level. this way, the other aspects use the instances that already exist.
89
+ const versionsPicker = new (_aspectVersionsPicker().AspectVersionsPicker)(ids);
80
90
  this.logger.info(`${loggerPrefix} getManifestsAndLoadAspects for grouped.envs, total ${grouped.envs?.length || 0}`);
81
- const envsManifestsIds = await this.getManifestsAndLoadAspects(grouped.envs, throwOnError, lane, opts);
91
+ const envsManifestsIds = await this.getManifestsAndLoadAspects(grouped.envs, throwOnError, lane, opts, versionsPicker);
82
92
  this.logger.info(`${loggerPrefix} getManifestsAndLoadAspects for grouped.other, total ${grouped.other?.length || 0}`);
83
- const otherManifestsIds = await this.getManifestsAndLoadAspects(grouped.other, throwOnError, lane, opts);
93
+ const otherManifestsIds = await this.getManifestsAndLoadAspects(grouped.other, throwOnError, lane, opts, versionsPicker);
84
94
  this.logger.debug(`${loggerPrefix} finish loading aspects`);
85
95
  return envsManifestsIds.concat(otherManifestsIds);
86
96
  }
@@ -98,20 +108,20 @@ needed-for: ${neededFor || '<unknown>'}`);
98
108
  });
99
109
  return grouped;
100
110
  }
101
- async getManifestsAndLoadAspects(ids = [], throwOnError = false, lane, opts) {
111
+ async getManifestsAndLoadAspects(ids = [], throwOnError = false, lane, opts, versionsPicker = new (_aspectVersionsPicker().AspectVersionsPicker)(ids)) {
102
112
  const {
103
113
  manifests: scopeManifests,
104
114
  potentialPluginsIds
105
- } = await this.getManifestsGraphRecursively(ids, [], throwOnError, lane, opts);
115
+ } = await this.getManifestsGraphRecursively(ids, [], throwOnError, lane, opts, versionsPicker);
106
116
  await this.aspectLoader.loadExtensionsByManifests(scopeManifests);
107
117
  const {
108
118
  manifests: scopePluginsManifests
109
- } = await this.getManifestsGraphRecursively(potentialPluginsIds, [], throwOnError, lane, opts);
119
+ } = await this.getManifestsGraphRecursively(potentialPluginsIds, [], throwOnError, lane, opts, versionsPicker);
110
120
  await this.aspectLoader.loadExtensionsByManifests(scopePluginsManifests);
111
121
  const allManifests = scopeManifests.concat(scopePluginsManifests);
112
122
  return (0, _lodash().compact)(allManifests.map(manifest => manifest.id));
113
123
  }
114
- async getManifestsGraphRecursively(ids, visited = [], throwOnError = false, lane, opts = {}) {
124
+ async getManifestsGraphRecursively(ids, visited = [], throwOnError = false, lane, opts = {}, versionsPicker = new (_aspectVersionsPicker().AspectVersionsPicker)(ids)) {
115
125
  ids = (0, _lodash().uniq)(ids);
116
126
  const optsWithDefaults = _objectSpread({
117
127
  loadCustomEnvs: false
@@ -144,20 +154,36 @@ needed-for: ${neededFor || '<unknown>'}`);
144
154
  // return index;
145
155
  return components[index].id.toString();
146
156
  }));
147
- const depsToLoad = [];
148
- await (0, _pMapSeries().default)(manifests, async manifest => {
149
- depsToLoad.push(...(manifest.dependencies || []));
157
+
158
+ // pick the versions of all the dependencies of this level before going deeper, so a version that is closer to the
159
+ // requested aspects wins. the dependencies were resolved by the dependency list of each dependent (see
160
+ // DependencyResolverMain.onLoadRequireableExtensionSubscriber), and they are clones, so it's safe to change them.
161
+ const depsOfLevel = manifests.flatMap(manifest => {
162
+ const deps = [...(manifest.dependencies || [])];
150
163
  // @ts-ignore
151
- (manifest._runtimes || []).forEach(runtime => {
152
- depsToLoad.push(...(runtime.dependencies || []));
153
- });
154
- const depIds = depsToLoad.map(d => d.id).filter(id => id);
155
- this.logger.debug(`getManifestsGraphRecursively, id: ${manifest.id || '<unknown>'}, found ${depIds.length}: ${depIds.join(', ')}`);
156
- const {
157
- manifests: loaded
158
- } = await this.getManifestsGraphRecursively(depIds, visited, throwOnError, lane, opts);
159
- manifests.push(...loaded);
164
+ (manifest._runtimes || []).forEach(runtime => deps.push(...(runtime.dependencies || [])));
165
+ const depsWithId = deps.filter(dep => dep.id);
166
+ this.logger.debug(`getManifestsGraphRecursively, id: ${manifest.id || '<unknown>'}, found ${depsWithId.length}: ${depsWithId.map(d => d.id).join(', ')}`);
167
+ return depsWithId.map(dep => ({
168
+ dependent: manifest.id,
169
+ dep
170
+ }));
160
171
  });
172
+ const pickedIds = versionsPicker.pick(depsOfLevel.map(({
173
+ dep
174
+ }) => dep.id));
175
+ depsOfLevel.forEach(({
176
+ dependent,
177
+ dep
178
+ }, index) => {
179
+ if (pickedIds[index] === dep.id) return;
180
+ this.logger.debug(`getManifestsGraphRecursively, ${dependent || '<unknown>'} depends on ${dep.id}, loading ${pickedIds[index]} instead`);
181
+ dep.id = pickedIds[index];
182
+ });
183
+ const {
184
+ manifests: loaded
185
+ } = await this.getManifestsGraphRecursively(pickedIds, visited, throwOnError, lane, opts, versionsPicker);
186
+ manifests.push(...loaded);
161
187
  return {
162
188
  manifests,
163
189
  potentialPluginsIds
@@ -1 +1 @@
1
- {"version":3,"names":["_pMapSeries","data","_interopRequireDefault","require","_fsExtra","_path","_legacy","_lodash","_harmonyModules","_harmonyModules2","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","ScopeAspectsLoader","constructor","scope","aspectLoader","envs","isolator","logger","configStore","loadAspects","ids","throwOnError","neededFor","lane","opts","callId","Math","floor","random","loggerPrefix","info","join","grouped","groupAspectIdsByEnvOfTheList","envsManifestsIds","getManifestsAndLoadAspects","other","otherManifestsIds","debug","concat","components","getNonLoadedAspects","envsIds","uniq","map","component","getEnvId","envId","isCoreEnv","groupBy","id","includes","manifests","scopeManifests","potentialPluginsIds","getManifestsGraphRecursively","loadExtensionsByManifests","scopePluginsManifests","allManifests","compact","manifest","visited","optsWithDefaults","loadCustomEnvs","nonVisitedId","customEnvsIds","undefined","requireAspects","index","isValidAspect","toString","depsToLoad","mapSeries","dependencies","_runtimes","runtime","depIds","d","loaded","notLoadedIds","isAspectLoaded","coreAspectsStringIds","getCoreAspectIds","idsWithoutCore","difference","aspectIds","startsWith","localAspects","loadAspectFromPath","componentIds","resolveMultipleComponentIds","import","reFetchUnBuiltVersion","reason","getMany","getResolvedAspects","isolateOpts","getIsolateOpts","network","isolateComponents","c","legacyScope","capsules","seedersCapsules","capsule","RequireableComponent","guard","getAspectLoadGuard","plugins","getPlugins","path","has","compileIfNoDist","load","MainRuntime","name","aspect","scopeRuntime","getRuntimePath","mainRuntime","runtimePath","compiler","env","getEnv","getCompiler","err","message","distDir","DEFAULT_DIST_DIRNAME","distExists","existsSync","compiledCode","Promise","all","filesystem","files","flatMap","file","isFileSupported","outputText","contents","outputPath","transpileFile","filePath","componentDir","flat","compiledFile","getDistPathBySrcPath","outputFile","tryCompile","requirableAspect","requireableExtensions","error","erroredId","requireWithCatch","requireableAspects","requireableExtension","doRequire","code","newErr","warn","resolvedAspectsAgain","skipIfExists","manifestAgain","handleExtensionLoadingError","shouldUseDatedCapsules","globalConfig","getConfig","CFG_USE_DATED_CAPSULES","shouldCacheLockFileOnly","CFG_CACHE_LOCK_ONLY_CAPSULES","getAspectCapsulePath","defaultPath","isGlobalScope","CFG_CAPSULES_GLOBAL_SCOPE_ASPECTS_BASE_DIR","CFG_CAPSULES_SCOPES_ASPECTS_BASE_DIR","shouldUseHashForCapsules","getAspectsPackageManager","aspectsPackageManager","getAspectsNodeLinker","aspectsNodeLinker","resolveUserAspects","runtimeName","userAspectsIds","aspectDefs","resolveAspects","getCapsule","Error","localPath","aspectFilePath","getAspectFilePath","aspectPath","originalStringIds","defaultOpts","excludeCore","requestedOnly","filterByRuntime","mergedOpts","coreAspectsIds","groupedByIsCore","false","getUserAspects","localResolved","resolveLocalAspects","withoutLocalAspects","aspectId","find","localAspect","toStringWithoutVersion","userAspectsDefs","coreAspectsDefs","getCoreAspectDefs","allDefs","filteredDefs","filterAspectDefs","overrideOpts","installOptions","packageManagerConfigRootDir","context","workspaceName","defaultsDeep","getDefaultIsolateOpts","useHash","useDatedDirs","cacheLockFileOnly","nodeLinker","datedDirId","baseDir","packageManager","seedersOnly","includeFromNestedHosts","host","copyPeerToRuntimeOnRoot","useNesting","copyPeerToRuntimeOnComponents","installPeersFromEnvs","aspects","exports"],"sources":["scope-aspects-loader.ts"],"sourcesContent":["import mapSeries from 'p-map-series';\nimport type { Lane } from '@teambit/objects';\nimport { existsSync } from 'fs-extra';\nimport { join } from 'path';\nimport {\n DEFAULT_DIST_DIRNAME,\n CFG_CAPSULES_SCOPES_ASPECTS_BASE_DIR,\n CFG_CAPSULES_GLOBAL_SCOPE_ASPECTS_BASE_DIR,\n CFG_USE_DATED_CAPSULES,\n CFG_CACHE_LOCK_ONLY_CAPSULES,\n} from '@teambit/legacy.constants';\nimport type { Compiler, TranspileFileOutputOneFile } from '@teambit/compiler';\nimport type { Capsule, IsolateComponentsOptions, IsolatorMain } from '@teambit/isolator';\nimport type { AspectLoaderMain, AspectDefinition } from '@teambit/aspect-loader';\nimport { compact, uniq, difference, groupBy, defaultsDeep } from 'lodash';\nimport { MainRuntime } from '@teambit/harmony.modules.runtimes';\nimport { RequireableComponent } from '@teambit/harmony.modules.requireable-component';\nimport type { ExtensionManifest, Aspect } from '@teambit/harmony';\nimport type { Component, ComponentID, LoadAspectsOptions, ResolveAspectsOptions } from '@teambit/component';\nimport type { Logger } from '@teambit/logger';\nimport type { EnvsMain } from '@teambit/envs';\nimport type { NodeLinker } from '@teambit/dependency-resolver';\nimport type { ScopeMain } from './scope.main.runtime';\nimport type { ConfigStoreMain } from '@teambit/config-store';\n\ntype ManifestOrAspect = ExtensionManifest | Aspect;\n\nexport type ScopeLoadAspectsOptions = LoadAspectsOptions & {\n useScopeAspectsCapsule?: boolean;\n packageManagerConfigRootDir?: string;\n workspaceName?: string;\n};\n\nexport class ScopeAspectsLoader {\n constructor(\n private scope: ScopeMain,\n private aspectLoader: AspectLoaderMain,\n private envs: EnvsMain,\n private isolator: IsolatorMain,\n private logger: Logger,\n private configStore: ConfigStoreMain\n ) {}\n\n async loadAspects(\n ids: string[],\n throwOnError = false,\n neededFor?: string,\n lane?: Lane,\n opts?: ScopeLoadAspectsOptions\n ): Promise<string[]> {\n if (!ids.length) return [];\n // generate a random callId to be able to identify the call from the logs\n const callId = Math.floor(Math.random() * 1000);\n const loggerPrefix = `[${callId}] loadAspects,`;\n this.logger.info(`${loggerPrefix} loading ${ids.length} aspects.\nids: ${ids.join(', ')}\nneeded-for: ${neededFor || '<unknown>'}`);\n const grouped = await this.groupAspectIdsByEnvOfTheList(ids, lane);\n this.logger.info(`${loggerPrefix} getManifestsAndLoadAspects for grouped.envs, total ${grouped.envs?.length || 0}`);\n const envsManifestsIds = await this.getManifestsAndLoadAspects(grouped.envs, throwOnError, lane, opts);\n this.logger.info(\n `${loggerPrefix} getManifestsAndLoadAspects for grouped.other, total ${grouped.other?.length || 0}`\n );\n const otherManifestsIds = await this.getManifestsAndLoadAspects(grouped.other, throwOnError, lane, opts);\n this.logger.debug(`${loggerPrefix} finish loading aspects`);\n return envsManifestsIds.concat(otherManifestsIds);\n }\n\n /**\n * This function get's a list of aspect ids and return them grouped by whether any of them is the env of other from the list\n * @param ids\n */\n async groupAspectIdsByEnvOfTheList(ids: string[], lane?: Lane): Promise<{ envs?: string[]; other?: string[] }> {\n const components = await this.getNonLoadedAspects(ids, lane);\n const envsIds = uniq(\n components\n .map((component) => this.envs.getEnvId(component))\n .filter((envId) => !this.aspectLoader.isCoreEnv(envId))\n );\n const grouped = groupBy(ids, (id) => {\n if (envsIds.includes(id)) return 'envs';\n return 'other';\n });\n return grouped as { envs: string[]; other: string[] };\n }\n\n private async getManifestsAndLoadAspects(\n ids: string[] = [],\n throwOnError = false,\n lane?: Lane,\n opts?: ScopeLoadAspectsOptions\n ): Promise<string[]> {\n const { manifests: scopeManifests, potentialPluginsIds } = await this.getManifestsGraphRecursively(\n ids,\n [],\n throwOnError,\n lane,\n opts\n );\n await this.aspectLoader.loadExtensionsByManifests(scopeManifests);\n const { manifests: scopePluginsManifests } = await this.getManifestsGraphRecursively(\n potentialPluginsIds,\n [],\n throwOnError,\n lane,\n opts\n );\n await this.aspectLoader.loadExtensionsByManifests(scopePluginsManifests);\n const allManifests = scopeManifests.concat(scopePluginsManifests);\n return compact(allManifests.map((manifest) => manifest.id));\n }\n\n async getManifestsGraphRecursively(\n ids: string[],\n visited: string[] = [],\n throwOnError = false,\n lane?: Lane,\n opts: {\n packageManagerConfigRootDir?: string;\n workspaceName?: string;\n loadCustomEnvs?: string;\n } = {}\n ): Promise<{ manifests: ManifestOrAspect[]; potentialPluginsIds: string[] }> {\n ids = uniq(ids);\n const optsWithDefaults = { loadCustomEnvs: false, ...opts };\n this.logger.debug(`getManifestsGraphRecursively, ids:\\n${ids.join('\\n')}`);\n const nonVisitedId = ids.filter((id) => !visited.includes(id));\n if (!nonVisitedId.length) {\n return { manifests: [], potentialPluginsIds: [] };\n }\n const components = await this.getNonLoadedAspects(nonVisitedId, lane);\n // This is usually not required, right now it required when signing aspects with custom envs.\n // if you see another case where it's required, please consult @Gilad before passing it as true\n // as it might have performance implications (like creating unnecessary capsules for aspects that are not needed\n // during bit create for example, like loading the env of the env (aka bitdev.general/envs/bit-env) when\n // loading the component's env.)\n if (optsWithDefaults.loadCustomEnvs) {\n // Adding all the envs ids to the array to support case when one (or more) of the aspects has custom aspect env\n const customEnvsIds = components\n .map((component) => this.envs.getEnvId(component))\n .filter((envId) => !this.aspectLoader.isCoreEnv(envId));\n\n // In case there is custom env we need to load it right away, otherwise we will fail during the require aspects\n await this.getManifestsAndLoadAspects(customEnvsIds, undefined, lane);\n }\n visited.push(...nonVisitedId);\n const manifests = await this.requireAspects(components, throwOnError, optsWithDefaults);\n const potentialPluginsIds = compact(\n manifests.map((manifest, index) => {\n if (this.aspectLoader.isValidAspect(manifest)) return undefined;\n // return index;\n return components[index].id.toString();\n })\n );\n\n const depsToLoad: Array<ExtensionManifest | Aspect> = [];\n await mapSeries(manifests, async (manifest) => {\n depsToLoad.push(...(manifest.dependencies || []));\n // @ts-ignore\n (manifest._runtimes || []).forEach((runtime) => {\n depsToLoad.push(...(runtime.dependencies || []));\n });\n const depIds = depsToLoad.map((d) => d.id).filter((id) => id) as string[];\n this.logger.debug(\n `getManifestsGraphRecursively, id: ${manifest.id || '<unknown>'}, found ${depIds.length}: ${depIds.join(', ')}`\n );\n const { manifests: loaded } = await this.getManifestsGraphRecursively(depIds, visited, throwOnError, lane, opts);\n manifests.push(...loaded);\n });\n\n return { manifests, potentialPluginsIds };\n }\n\n private async getNonLoadedAspects(ids: string[], lane?: Lane): Promise<Component[]> {\n const notLoadedIds = ids.filter((id) => !this.aspectLoader.isAspectLoaded(id));\n if (!notLoadedIds.length) return [];\n const coreAspectsStringIds = this.aspectLoader.getCoreAspectIds();\n const idsWithoutCore: string[] = difference(ids, coreAspectsStringIds);\n const aspectIds = idsWithoutCore.filter((id) => !id.startsWith('file://'));\n // TODO: use diff instead of filter twice\n const localAspects = ids.filter((id) => id.startsWith('file://'));\n this.scope.localAspects = uniq(this.scope.localAspects.concat(localAspects));\n // load local aspects for debugging purposes.\n await this.aspectLoader.loadAspectFromPath(localAspects);\n const componentIds = await this.scope.resolveMultipleComponentIds(aspectIds);\n if (!componentIds || !componentIds.length) return [];\n await this.scope.import(componentIds, {\n reFetchUnBuiltVersion: false,\n lane,\n reason: 'for loading aspects from the scope',\n });\n const components = await this.scope.getMany(componentIds);\n\n return components;\n }\n\n async getResolvedAspects(\n components: Component[],\n opts?: { skipIfExists?: boolean; packageManagerConfigRootDir?: string; workspaceName?: string }\n ): Promise<RequireableComponent[]> {\n if (!components || !components.length) return [];\n const isolateOpts = this.getIsolateOpts(opts);\n const network = await this.isolator.isolateComponents(\n components.map((c) => c.id),\n // includeFromNestedHosts - to support case when you are in a workspace, trying to load aspect defined in the workspace.jsonc but not part of the workspace\n isolateOpts,\n this.scope.legacyScope\n );\n\n const capsules = network.seedersCapsules;\n\n return capsules.map((capsule) => {\n return new RequireableComponent(\n capsule.component,\n async () => {\n // Honor the workspace's scope-trust hook if registered. Absent in\n // pure scope (remote-server) contexts.\n const guard = this.scope.getAspectLoadGuard();\n if (guard) await guard(capsule.component.id);\n\n const plugins = this.aspectLoader.getPlugins(capsule.component, capsule.path);\n if (plugins.has()) {\n await this.compileIfNoDist(capsule, capsule.component);\n return plugins.load(MainRuntime.name);\n }\n // eslint-disable-next-line global-require, import/no-dynamic-require\n const aspect = require(capsule.path);\n const scopeRuntime = await this.aspectLoader.getRuntimePath(capsule.component, capsule.path, 'scope');\n const mainRuntime = await this.aspectLoader.getRuntimePath(capsule.component, capsule.path, MainRuntime.name);\n const runtimePath = scopeRuntime || mainRuntime;\n // eslint-disable-next-line global-require, import/no-dynamic-require\n if (runtimePath) require(runtimePath);\n return aspect;\n },\n capsule\n );\n });\n }\n\n private async compileIfNoDist(capsule: Capsule, component: Component) {\n let compiler: Compiler | undefined;\n try {\n const env = this.envs.getEnv(component);\n compiler = env.env.getCompiler();\n } catch (err: any) {\n this.logger.info(\n `compileIfNoDist: failed loading compiler for ${component.id.toString()} in capsule ${capsule.path}, error: ${\n err.message\n }`\n );\n }\n const distDir = compiler?.distDir || DEFAULT_DIST_DIRNAME;\n const distExists = existsSync(join(capsule.path, distDir));\n if (distExists) return;\n // an aspect whose env has no compiler, e.g. a JS env using the empty-env, runs as its source. the\n // aspect-loader resolves its plugin files from the source then, see pluginFileResolver\n if (!compiler) return;\n\n const compiledCode = (\n await Promise.all(\n component.filesystem.files.flatMap(async (file) => {\n if (!compiler.isFileSupported(file.path)) {\n return [\n {\n outputText: file.contents.toString('utf8'),\n outputPath: file.path,\n },\n ] as TranspileFileOutputOneFile[];\n }\n if (compiler.transpileFile) {\n return compiler.transpileFile(file.contents.toString('utf8'), {\n filePath: file.path,\n componentDir: capsule.path,\n });\n }\n\n return [];\n })\n )\n ).flat();\n\n await Promise.all(\n compact(compiledCode).map((compiledFile) => {\n const path = compiler.getDistPathBySrcPath(compiledFile.outputPath);\n return capsule?.outputFile(path, compiledFile.outputText);\n })\n );\n }\n\n private async tryCompile(requirableAspect: RequireableComponent) {\n if (requirableAspect.capsule) return this.compileIfNoDist(requirableAspect.capsule, requirableAspect.component);\n return undefined;\n }\n\n async requireAspects(\n components: Component[],\n throwOnError = false,\n opts: { packageManagerConfigRootDir?: string; workspaceName?: string } = {}\n ): Promise<Array<ExtensionManifest | Aspect>> {\n const requireableExtensions = await this.getResolvedAspects(components, opts);\n if (!requireableExtensions) {\n return [];\n }\n let error: any;\n let erroredId = '';\n const requireWithCatch = async (requireableAspects: RequireableComponent[]) => {\n error = undefined;\n try {\n const manifests = await mapSeries(requireableAspects, async (requireableExtension) => {\n try {\n return await this.aspectLoader.doRequire(requireableExtension);\n } catch (err: any) {\n erroredId = requireableExtension.component.id.toString();\n if (err.code === 'MODULE_NOT_FOUND') {\n try {\n await this.tryCompile(requireableExtension);\n return await this.aspectLoader.doRequire(requireableExtension);\n } catch (newErr: any) {\n error = newErr;\n throw newErr;\n }\n }\n error = err;\n throw err;\n }\n });\n return manifests;\n } catch {\n return null;\n }\n };\n const manifests = await requireWithCatch(requireableExtensions);\n if (!error) {\n return compact(manifests);\n }\n if (error.code === 'MODULE_NOT_FOUND') {\n this.logger.warn(\n `failed loading aspects from capsules due to MODULE_NOT_FOUND error, re-creating the capsules and trying again`\n );\n const resolvedAspectsAgain = await this.getResolvedAspects(components, {\n ...opts,\n skipIfExists: false,\n });\n const manifestAgain = await requireWithCatch(resolvedAspectsAgain);\n if (!error) {\n return compact(manifestAgain);\n }\n }\n\n this.aspectLoader.handleExtensionLoadingError(error, erroredId, throwOnError);\n return [];\n }\n\n shouldUseDatedCapsules(): boolean {\n const globalConfig = this.configStore.getConfig(CFG_USE_DATED_CAPSULES);\n // @ts-ignore\n return globalConfig === true || globalConfig === 'true';\n }\n\n shouldCacheLockFileOnly(): boolean {\n const globalConfig = this.configStore.getConfig(CFG_CACHE_LOCK_ONLY_CAPSULES);\n // @ts-ignore\n return globalConfig === true || globalConfig === 'true';\n }\n\n getAspectCapsulePath() {\n const defaultPath = `${this.scope.path}-aspects`;\n if (this.scope.isGlobalScope) {\n return this.configStore.getConfig(CFG_CAPSULES_GLOBAL_SCOPE_ASPECTS_BASE_DIR) || defaultPath;\n }\n return this.configStore.getConfig(CFG_CAPSULES_SCOPES_ASPECTS_BASE_DIR) || defaultPath;\n }\n\n shouldUseHashForCapsules(): boolean {\n if (this.scope.isGlobalScope) {\n return !this.configStore.getConfig(CFG_CAPSULES_GLOBAL_SCOPE_ASPECTS_BASE_DIR);\n }\n return !this.configStore.getConfig(CFG_CAPSULES_SCOPES_ASPECTS_BASE_DIR);\n }\n\n getAspectsPackageManager(): string | undefined {\n return this.scope.aspectsPackageManager;\n }\n\n getAspectsNodeLinker(): NodeLinker | undefined {\n return this.scope.aspectsNodeLinker;\n }\n\n private async resolveUserAspects(\n runtimeName?: string,\n userAspectsIds?: ComponentID[],\n opts?: ResolveAspectsOptions\n ): Promise<AspectDefinition[]> {\n if (!userAspectsIds || !userAspectsIds.length) return [];\n const components = await this.scope.getMany(userAspectsIds);\n const isolateOpts = this.getIsolateOpts(opts);\n const network = await this.isolator.isolateComponents(userAspectsIds, isolateOpts, this.scope.legacyScope);\n\n const capsules = network.seedersCapsules;\n const aspectDefs = await this.aspectLoader.resolveAspects(components, async (component) => {\n const capsule = capsules.getCapsule(component.id);\n if (!capsule) throw new Error(`failed loading aspect: ${component.id.toString()}`);\n const localPath = capsule.path;\n const runtimePath = runtimeName\n ? await this.aspectLoader.getRuntimePath(component, localPath, runtimeName)\n : null;\n const aspectFilePath = await this.aspectLoader.getAspectFilePath(component, localPath);\n\n this.logger.debug(\n `scope resolveUserAspects, resolving id: ${component.id.toString()}, localPath: ${localPath}, runtimePath: ${runtimePath}`\n );\n\n return {\n id: capsule.component.id,\n aspectPath: localPath,\n aspectFilePath,\n runtimePath,\n };\n });\n return aspectDefs;\n }\n\n async resolveAspects(\n runtimeName?: string,\n componentIds?: ComponentID[],\n opts?: ResolveAspectsOptions\n ): Promise<AspectDefinition[]> {\n const originalStringIds = componentIds?.map((id) => id.toString());\n this.logger.debug(`scope resolveAspects, runtimeName: ${runtimeName}, componentIds: ${originalStringIds}`);\n\n const defaultOpts: ResolveAspectsOptions = {\n excludeCore: false,\n requestedOnly: false,\n filterByRuntime: true,\n };\n const mergedOpts = { ...defaultOpts, ...opts };\n const coreAspectsIds = this.aspectLoader.getCoreAspectIds();\n let userAspectsIds: ComponentID[];\n // let requestedCoreStringIds;\n if (componentIds && componentIds.length) {\n const groupedByIsCore = groupBy(componentIds, (id) => coreAspectsIds.includes(id.toString()));\n userAspectsIds = groupedByIsCore.false || [];\n // requestedCoreStringIds = groupedByIsCore.true?.map((id) => id.toStringWithoutVersion()) || [];\n } else {\n userAspectsIds = await this.scope.resolveMultipleComponentIds(this.aspectLoader.getUserAspects());\n }\n const localResolved = await this.aspectLoader.resolveLocalAspects(this.scope.localAspects, runtimeName);\n\n const withoutLocalAspects = userAspectsIds.filter((aspectId) => {\n return !localResolved.find((localAspect) => {\n return localAspect.id === aspectId.toStringWithoutVersion();\n });\n });\n const userAspectsDefs = await this.resolveUserAspects(runtimeName, withoutLocalAspects, opts);\n const coreAspectsDefs = await this.aspectLoader.getCoreAspectDefs(runtimeName);\n\n const allDefs = userAspectsDefs.concat(coreAspectsDefs).concat(localResolved);\n // const userAspectsIdsWithoutVersion = userAspectsIds.map((aspectId) => aspectId.toStringWithoutVersion());\n // const userAspectsIdsWithoutVersionAndCoreRequested = userAspectsIdsWithoutVersion.concat(requestedCoreStringIds);\n const filteredDefs = this.aspectLoader.filterAspectDefs(\n allDefs,\n componentIds || userAspectsIds,\n runtimeName,\n mergedOpts\n );\n return filteredDefs;\n }\n\n getIsolateOpts(opts?: {\n skipIfExists?: boolean;\n packageManagerConfigRootDir?: string;\n workspaceName?: string;\n }): IsolateComponentsOptions {\n const overrideOpts = {\n skipIfExists: opts?.skipIfExists ?? true,\n installOptions: {\n packageManagerConfigRootDir: opts?.packageManagerConfigRootDir,\n },\n context: {\n workspaceName: opts?.workspaceName,\n },\n };\n const isolateOpts = defaultsDeep(overrideOpts, this.getDefaultIsolateOpts());\n return isolateOpts;\n }\n\n getDefaultIsolateOpts() {\n const useHash = this.shouldUseHashForCapsules();\n const useDatedDirs = this.shouldUseDatedCapsules();\n const cacheLockFileOnly = this.shouldCacheLockFileOnly();\n const nodeLinker = this.getAspectsNodeLinker();\n\n const opts = {\n datedDirId: this.scope.name,\n baseDir: this.getAspectCapsulePath(),\n useHash,\n packageManager: this.getAspectsPackageManager(),\n nodeLinker,\n useDatedDirs,\n cacheLockFileOnly,\n skipIfExists: true,\n seedersOnly: true,\n includeFromNestedHosts: true,\n host: this.scope,\n installOptions: {\n copyPeerToRuntimeOnRoot: true,\n useNesting: true,\n copyPeerToRuntimeOnComponents: true,\n installPeersFromEnvs: true,\n },\n context: {\n aspects: true,\n },\n };\n return opts;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_pMapSeries","data","_interopRequireDefault","require","_fsExtra","_path","_legacy","_lodash","_harmonyModules","_harmonyModules2","_aspectVersionsPicker","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","ScopeAspectsLoader","constructor","scope","aspectLoader","envs","isolator","logger","configStore","loadAspects","ids","throwOnError","neededFor","lane","opts","callId","Math","floor","random","loggerPrefix","info","join","grouped","groupAspectIdsByEnvOfTheList","versionsPicker","AspectVersionsPicker","envsManifestsIds","getManifestsAndLoadAspects","other","otherManifestsIds","debug","concat","components","getNonLoadedAspects","envsIds","uniq","map","component","getEnvId","envId","isCoreEnv","groupBy","id","includes","manifests","scopeManifests","potentialPluginsIds","getManifestsGraphRecursively","loadExtensionsByManifests","scopePluginsManifests","allManifests","compact","manifest","visited","optsWithDefaults","loadCustomEnvs","nonVisitedId","customEnvsIds","undefined","requireAspects","index","isValidAspect","toString","depsOfLevel","flatMap","deps","dependencies","_runtimes","runtime","depsWithId","dep","d","dependent","pickedIds","pick","loaded","notLoadedIds","isAspectLoaded","coreAspectsStringIds","getCoreAspectIds","idsWithoutCore","difference","aspectIds","startsWith","localAspects","loadAspectFromPath","componentIds","resolveMultipleComponentIds","import","reFetchUnBuiltVersion","reason","getMany","getResolvedAspects","isolateOpts","getIsolateOpts","network","isolateComponents","c","legacyScope","capsules","seedersCapsules","capsule","RequireableComponent","guard","getAspectLoadGuard","plugins","getPlugins","path","has","compileIfNoDist","load","MainRuntime","name","aspect","scopeRuntime","getRuntimePath","mainRuntime","runtimePath","compiler","env","getEnv","getCompiler","err","message","distDir","DEFAULT_DIST_DIRNAME","distExists","existsSync","compiledCode","Promise","all","filesystem","files","file","isFileSupported","outputText","contents","outputPath","transpileFile","filePath","componentDir","flat","compiledFile","getDistPathBySrcPath","outputFile","tryCompile","requirableAspect","requireableExtensions","error","erroredId","requireWithCatch","requireableAspects","mapSeries","requireableExtension","doRequire","code","newErr","warn","resolvedAspectsAgain","skipIfExists","manifestAgain","handleExtensionLoadingError","shouldUseDatedCapsules","globalConfig","getConfig","CFG_USE_DATED_CAPSULES","shouldCacheLockFileOnly","CFG_CACHE_LOCK_ONLY_CAPSULES","getAspectCapsulePath","defaultPath","isGlobalScope","CFG_CAPSULES_GLOBAL_SCOPE_ASPECTS_BASE_DIR","CFG_CAPSULES_SCOPES_ASPECTS_BASE_DIR","shouldUseHashForCapsules","getAspectsPackageManager","aspectsPackageManager","getAspectsNodeLinker","aspectsNodeLinker","resolveUserAspects","runtimeName","userAspectsIds","aspectDefs","resolveAspects","getCapsule","Error","localPath","aspectFilePath","getAspectFilePath","aspectPath","originalStringIds","defaultOpts","excludeCore","requestedOnly","filterByRuntime","mergedOpts","coreAspectsIds","groupedByIsCore","false","getUserAspects","localResolved","resolveLocalAspects","withoutLocalAspects","aspectId","find","localAspect","toStringWithoutVersion","userAspectsDefs","coreAspectsDefs","getCoreAspectDefs","allDefs","filteredDefs","filterAspectDefs","overrideOpts","installOptions","packageManagerConfigRootDir","context","workspaceName","defaultsDeep","getDefaultIsolateOpts","useHash","useDatedDirs","cacheLockFileOnly","nodeLinker","datedDirId","baseDir","packageManager","seedersOnly","includeFromNestedHosts","host","copyPeerToRuntimeOnRoot","useNesting","copyPeerToRuntimeOnComponents","installPeersFromEnvs","aspects","exports"],"sources":["scope-aspects-loader.ts"],"sourcesContent":["import mapSeries from 'p-map-series';\nimport type { Lane } from '@teambit/objects';\nimport { existsSync } from 'fs-extra';\nimport { join } from 'path';\nimport {\n DEFAULT_DIST_DIRNAME,\n CFG_CAPSULES_SCOPES_ASPECTS_BASE_DIR,\n CFG_CAPSULES_GLOBAL_SCOPE_ASPECTS_BASE_DIR,\n CFG_USE_DATED_CAPSULES,\n CFG_CACHE_LOCK_ONLY_CAPSULES,\n} from '@teambit/legacy.constants';\nimport type { Compiler, TranspileFileOutputOneFile } from '@teambit/compiler';\nimport type { Capsule, IsolateComponentsOptions, IsolatorMain } from '@teambit/isolator';\nimport type { AspectLoaderMain, AspectDefinition } from '@teambit/aspect-loader';\nimport { compact, uniq, difference, groupBy, defaultsDeep } from 'lodash';\nimport { MainRuntime } from '@teambit/harmony.modules.runtimes';\nimport { RequireableComponent } from '@teambit/harmony.modules.requireable-component';\nimport type { ExtensionManifest, Aspect } from '@teambit/harmony';\nimport type { Component, ComponentID, LoadAspectsOptions, ResolveAspectsOptions } from '@teambit/component';\nimport type { Logger } from '@teambit/logger';\nimport type { EnvsMain } from '@teambit/envs';\nimport type { NodeLinker } from '@teambit/dependency-resolver';\nimport type { ScopeMain } from './scope.main.runtime';\nimport type { ConfigStoreMain } from '@teambit/config-store';\nimport { AspectVersionsPicker } from './aspect-versions-picker';\n\ntype ManifestOrAspect = ExtensionManifest | Aspect;\n\nexport type ScopeLoadAspectsOptions = LoadAspectsOptions & {\n useScopeAspectsCapsule?: boolean;\n packageManagerConfigRootDir?: string;\n workspaceName?: string;\n};\n\nexport class ScopeAspectsLoader {\n constructor(\n private scope: ScopeMain,\n private aspectLoader: AspectLoaderMain,\n private envs: EnvsMain,\n private isolator: IsolatorMain,\n private logger: Logger,\n private configStore: ConfigStoreMain\n ) {}\n\n async loadAspects(\n ids: string[],\n throwOnError = false,\n neededFor?: string,\n lane?: Lane,\n opts?: ScopeLoadAspectsOptions\n ): Promise<string[]> {\n if (!ids.length) return [];\n // generate a random callId to be able to identify the call from the logs\n const callId = Math.floor(Math.random() * 1000);\n const loggerPrefix = `[${callId}] loadAspects,`;\n this.logger.info(`${loggerPrefix} loading ${ids.length} aspects.\nids: ${ids.join(', ')}\nneeded-for: ${neededFor || '<unknown>'}`);\n const grouped = await this.groupAspectIdsByEnvOfTheList(ids, lane);\n // the envs are loaded (into harmony) before the other aspects, so the versions they pick win over the versions that\n // the other aspects pin, even in the same level. this way, the other aspects use the instances that already exist.\n const versionsPicker = new AspectVersionsPicker(ids);\n this.logger.info(`${loggerPrefix} getManifestsAndLoadAspects for grouped.envs, total ${grouped.envs?.length || 0}`);\n const envsManifestsIds = await this.getManifestsAndLoadAspects(\n grouped.envs,\n throwOnError,\n lane,\n opts,\n versionsPicker\n );\n this.logger.info(\n `${loggerPrefix} getManifestsAndLoadAspects for grouped.other, total ${grouped.other?.length || 0}`\n );\n const otherManifestsIds = await this.getManifestsAndLoadAspects(\n grouped.other,\n throwOnError,\n lane,\n opts,\n versionsPicker\n );\n this.logger.debug(`${loggerPrefix} finish loading aspects`);\n return envsManifestsIds.concat(otherManifestsIds);\n }\n\n /**\n * This function get's a list of aspect ids and return them grouped by whether any of them is the env of other from the list\n * @param ids\n */\n async groupAspectIdsByEnvOfTheList(ids: string[], lane?: Lane): Promise<{ envs?: string[]; other?: string[] }> {\n const components = await this.getNonLoadedAspects(ids, lane);\n const envsIds = uniq(\n components\n .map((component) => this.envs.getEnvId(component))\n .filter((envId) => !this.aspectLoader.isCoreEnv(envId))\n );\n const grouped = groupBy(ids, (id) => {\n if (envsIds.includes(id)) return 'envs';\n return 'other';\n });\n return grouped as { envs: string[]; other: string[] };\n }\n\n private async getManifestsAndLoadAspects(\n ids: string[] = [],\n throwOnError = false,\n lane?: Lane,\n opts?: ScopeLoadAspectsOptions,\n versionsPicker = new AspectVersionsPicker(ids)\n ): Promise<string[]> {\n const { manifests: scopeManifests, potentialPluginsIds } = await this.getManifestsGraphRecursively(\n ids,\n [],\n throwOnError,\n lane,\n opts,\n versionsPicker\n );\n await this.aspectLoader.loadExtensionsByManifests(scopeManifests);\n const { manifests: scopePluginsManifests } = await this.getManifestsGraphRecursively(\n potentialPluginsIds,\n [],\n throwOnError,\n lane,\n opts,\n versionsPicker\n );\n await this.aspectLoader.loadExtensionsByManifests(scopePluginsManifests);\n const allManifests = scopeManifests.concat(scopePluginsManifests);\n return compact(allManifests.map((manifest) => manifest.id));\n }\n\n async getManifestsGraphRecursively(\n ids: string[],\n visited: string[] = [],\n throwOnError = false,\n lane?: Lane,\n opts: {\n packageManagerConfigRootDir?: string;\n workspaceName?: string;\n loadCustomEnvs?: string;\n } = {},\n versionsPicker = new AspectVersionsPicker(ids)\n ): Promise<{ manifests: ManifestOrAspect[]; potentialPluginsIds: string[] }> {\n ids = uniq(ids);\n const optsWithDefaults = { loadCustomEnvs: false, ...opts };\n this.logger.debug(`getManifestsGraphRecursively, ids:\\n${ids.join('\\n')}`);\n const nonVisitedId = ids.filter((id) => !visited.includes(id));\n if (!nonVisitedId.length) {\n return { manifests: [], potentialPluginsIds: [] };\n }\n const components = await this.getNonLoadedAspects(nonVisitedId, lane);\n // This is usually not required, right now it required when signing aspects with custom envs.\n // if you see another case where it's required, please consult @Gilad before passing it as true\n // as it might have performance implications (like creating unnecessary capsules for aspects that are not needed\n // during bit create for example, like loading the env of the env (aka bitdev.general/envs/bit-env) when\n // loading the component's env.)\n if (optsWithDefaults.loadCustomEnvs) {\n // Adding all the envs ids to the array to support case when one (or more) of the aspects has custom aspect env\n const customEnvsIds = components\n .map((component) => this.envs.getEnvId(component))\n .filter((envId) => !this.aspectLoader.isCoreEnv(envId));\n\n // In case there is custom env we need to load it right away, otherwise we will fail during the require aspects\n await this.getManifestsAndLoadAspects(customEnvsIds, undefined, lane);\n }\n visited.push(...nonVisitedId);\n const manifests = await this.requireAspects(components, throwOnError, optsWithDefaults);\n const potentialPluginsIds = compact(\n manifests.map((manifest, index) => {\n if (this.aspectLoader.isValidAspect(manifest)) return undefined;\n // return index;\n return components[index].id.toString();\n })\n );\n\n // pick the versions of all the dependencies of this level before going deeper, so a version that is closer to the\n // requested aspects wins. the dependencies were resolved by the dependency list of each dependent (see\n // DependencyResolverMain.onLoadRequireableExtensionSubscriber), and they are clones, so it's safe to change them.\n const depsOfLevel = manifests.flatMap((manifest) => {\n const deps: Array<ExtensionManifest | Aspect> = [...(manifest.dependencies || [])];\n // @ts-ignore\n (manifest._runtimes || []).forEach((runtime) => deps.push(...(runtime.dependencies || [])));\n const depsWithId = deps.filter((dep) => dep.id);\n this.logger.debug(\n `getManifestsGraphRecursively, id: ${manifest.id || '<unknown>'}, found ${depsWithId.length}: ${depsWithId.map((d) => d.id).join(', ')}`\n );\n return depsWithId.map((dep) => ({ dependent: manifest.id, dep }));\n });\n const pickedIds = versionsPicker.pick(depsOfLevel.map(({ dep }) => dep.id as string));\n depsOfLevel.forEach(({ dependent, dep }, index) => {\n if (pickedIds[index] === dep.id) return;\n this.logger.debug(\n `getManifestsGraphRecursively, ${dependent || '<unknown>'} depends on ${dep.id}, loading ${pickedIds[index]} instead`\n );\n dep.id = pickedIds[index];\n });\n const { manifests: loaded } = await this.getManifestsGraphRecursively(\n pickedIds,\n visited,\n throwOnError,\n lane,\n opts,\n versionsPicker\n );\n manifests.push(...loaded);\n\n return { manifests, potentialPluginsIds };\n }\n\n private async getNonLoadedAspects(ids: string[], lane?: Lane): Promise<Component[]> {\n const notLoadedIds = ids.filter((id) => !this.aspectLoader.isAspectLoaded(id));\n if (!notLoadedIds.length) return [];\n const coreAspectsStringIds = this.aspectLoader.getCoreAspectIds();\n const idsWithoutCore: string[] = difference(ids, coreAspectsStringIds);\n const aspectIds = idsWithoutCore.filter((id) => !id.startsWith('file://'));\n // TODO: use diff instead of filter twice\n const localAspects = ids.filter((id) => id.startsWith('file://'));\n this.scope.localAspects = uniq(this.scope.localAspects.concat(localAspects));\n // load local aspects for debugging purposes.\n await this.aspectLoader.loadAspectFromPath(localAspects);\n const componentIds = await this.scope.resolveMultipleComponentIds(aspectIds);\n if (!componentIds || !componentIds.length) return [];\n await this.scope.import(componentIds, {\n reFetchUnBuiltVersion: false,\n lane,\n reason: 'for loading aspects from the scope',\n });\n const components = await this.scope.getMany(componentIds);\n\n return components;\n }\n\n async getResolvedAspects(\n components: Component[],\n opts?: { skipIfExists?: boolean; packageManagerConfigRootDir?: string; workspaceName?: string }\n ): Promise<RequireableComponent[]> {\n if (!components || !components.length) return [];\n const isolateOpts = this.getIsolateOpts(opts);\n const network = await this.isolator.isolateComponents(\n components.map((c) => c.id),\n // includeFromNestedHosts - to support case when you are in a workspace, trying to load aspect defined in the workspace.jsonc but not part of the workspace\n isolateOpts,\n this.scope.legacyScope\n );\n\n const capsules = network.seedersCapsules;\n\n return capsules.map((capsule) => {\n return new RequireableComponent(\n capsule.component,\n async () => {\n // Honor the workspace's scope-trust hook if registered. Absent in\n // pure scope (remote-server) contexts.\n const guard = this.scope.getAspectLoadGuard();\n if (guard) await guard(capsule.component.id);\n\n const plugins = this.aspectLoader.getPlugins(capsule.component, capsule.path);\n if (plugins.has()) {\n await this.compileIfNoDist(capsule, capsule.component);\n return plugins.load(MainRuntime.name);\n }\n // eslint-disable-next-line global-require, import/no-dynamic-require\n const aspect = require(capsule.path);\n const scopeRuntime = await this.aspectLoader.getRuntimePath(capsule.component, capsule.path, 'scope');\n const mainRuntime = await this.aspectLoader.getRuntimePath(capsule.component, capsule.path, MainRuntime.name);\n const runtimePath = scopeRuntime || mainRuntime;\n // eslint-disable-next-line global-require, import/no-dynamic-require\n if (runtimePath) require(runtimePath);\n return aspect;\n },\n capsule\n );\n });\n }\n\n private async compileIfNoDist(capsule: Capsule, component: Component) {\n let compiler: Compiler | undefined;\n try {\n const env = this.envs.getEnv(component);\n compiler = env.env.getCompiler();\n } catch (err: any) {\n this.logger.info(\n `compileIfNoDist: failed loading compiler for ${component.id.toString()} in capsule ${capsule.path}, error: ${\n err.message\n }`\n );\n }\n const distDir = compiler?.distDir || DEFAULT_DIST_DIRNAME;\n const distExists = existsSync(join(capsule.path, distDir));\n if (distExists) return;\n // an aspect whose env has no compiler, e.g. a JS env using the empty-env, runs as its source. the\n // aspect-loader resolves its plugin files from the source then, see pluginFileResolver\n if (!compiler) return;\n\n const compiledCode = (\n await Promise.all(\n component.filesystem.files.flatMap(async (file) => {\n if (!compiler.isFileSupported(file.path)) {\n return [\n {\n outputText: file.contents.toString('utf8'),\n outputPath: file.path,\n },\n ] as TranspileFileOutputOneFile[];\n }\n if (compiler.transpileFile) {\n return compiler.transpileFile(file.contents.toString('utf8'), {\n filePath: file.path,\n componentDir: capsule.path,\n });\n }\n\n return [];\n })\n )\n ).flat();\n\n await Promise.all(\n compact(compiledCode).map((compiledFile) => {\n const path = compiler.getDistPathBySrcPath(compiledFile.outputPath);\n return capsule?.outputFile(path, compiledFile.outputText);\n })\n );\n }\n\n private async tryCompile(requirableAspect: RequireableComponent) {\n if (requirableAspect.capsule) return this.compileIfNoDist(requirableAspect.capsule, requirableAspect.component);\n return undefined;\n }\n\n async requireAspects(\n components: Component[],\n throwOnError = false,\n opts: { packageManagerConfigRootDir?: string; workspaceName?: string } = {}\n ): Promise<Array<ExtensionManifest | Aspect>> {\n const requireableExtensions = await this.getResolvedAspects(components, opts);\n if (!requireableExtensions) {\n return [];\n }\n let error: any;\n let erroredId = '';\n const requireWithCatch = async (requireableAspects: RequireableComponent[]) => {\n error = undefined;\n try {\n const manifests = await mapSeries(requireableAspects, async (requireableExtension) => {\n try {\n return await this.aspectLoader.doRequire(requireableExtension);\n } catch (err: any) {\n erroredId = requireableExtension.component.id.toString();\n if (err.code === 'MODULE_NOT_FOUND') {\n try {\n await this.tryCompile(requireableExtension);\n return await this.aspectLoader.doRequire(requireableExtension);\n } catch (newErr: any) {\n error = newErr;\n throw newErr;\n }\n }\n error = err;\n throw err;\n }\n });\n return manifests;\n } catch {\n return null;\n }\n };\n const manifests = await requireWithCatch(requireableExtensions);\n if (!error) {\n return compact(manifests);\n }\n if (error.code === 'MODULE_NOT_FOUND') {\n this.logger.warn(\n `failed loading aspects from capsules due to MODULE_NOT_FOUND error, re-creating the capsules and trying again`\n );\n const resolvedAspectsAgain = await this.getResolvedAspects(components, {\n ...opts,\n skipIfExists: false,\n });\n const manifestAgain = await requireWithCatch(resolvedAspectsAgain);\n if (!error) {\n return compact(manifestAgain);\n }\n }\n\n this.aspectLoader.handleExtensionLoadingError(error, erroredId, throwOnError);\n return [];\n }\n\n shouldUseDatedCapsules(): boolean {\n const globalConfig = this.configStore.getConfig(CFG_USE_DATED_CAPSULES);\n // @ts-ignore\n return globalConfig === true || globalConfig === 'true';\n }\n\n shouldCacheLockFileOnly(): boolean {\n const globalConfig = this.configStore.getConfig(CFG_CACHE_LOCK_ONLY_CAPSULES);\n // @ts-ignore\n return globalConfig === true || globalConfig === 'true';\n }\n\n getAspectCapsulePath() {\n const defaultPath = `${this.scope.path}-aspects`;\n if (this.scope.isGlobalScope) {\n return this.configStore.getConfig(CFG_CAPSULES_GLOBAL_SCOPE_ASPECTS_BASE_DIR) || defaultPath;\n }\n return this.configStore.getConfig(CFG_CAPSULES_SCOPES_ASPECTS_BASE_DIR) || defaultPath;\n }\n\n shouldUseHashForCapsules(): boolean {\n if (this.scope.isGlobalScope) {\n return !this.configStore.getConfig(CFG_CAPSULES_GLOBAL_SCOPE_ASPECTS_BASE_DIR);\n }\n return !this.configStore.getConfig(CFG_CAPSULES_SCOPES_ASPECTS_BASE_DIR);\n }\n\n getAspectsPackageManager(): string | undefined {\n return this.scope.aspectsPackageManager;\n }\n\n getAspectsNodeLinker(): NodeLinker | undefined {\n return this.scope.aspectsNodeLinker;\n }\n\n private async resolveUserAspects(\n runtimeName?: string,\n userAspectsIds?: ComponentID[],\n opts?: ResolveAspectsOptions\n ): Promise<AspectDefinition[]> {\n if (!userAspectsIds || !userAspectsIds.length) return [];\n const components = await this.scope.getMany(userAspectsIds);\n const isolateOpts = this.getIsolateOpts(opts);\n const network = await this.isolator.isolateComponents(userAspectsIds, isolateOpts, this.scope.legacyScope);\n\n const capsules = network.seedersCapsules;\n const aspectDefs = await this.aspectLoader.resolveAspects(components, async (component) => {\n const capsule = capsules.getCapsule(component.id);\n if (!capsule) throw new Error(`failed loading aspect: ${component.id.toString()}`);\n const localPath = capsule.path;\n const runtimePath = runtimeName\n ? await this.aspectLoader.getRuntimePath(component, localPath, runtimeName)\n : null;\n const aspectFilePath = await this.aspectLoader.getAspectFilePath(component, localPath);\n\n this.logger.debug(\n `scope resolveUserAspects, resolving id: ${component.id.toString()}, localPath: ${localPath}, runtimePath: ${runtimePath}`\n );\n\n return {\n id: capsule.component.id,\n aspectPath: localPath,\n aspectFilePath,\n runtimePath,\n };\n });\n return aspectDefs;\n }\n\n async resolveAspects(\n runtimeName?: string,\n componentIds?: ComponentID[],\n opts?: ResolveAspectsOptions\n ): Promise<AspectDefinition[]> {\n const originalStringIds = componentIds?.map((id) => id.toString());\n this.logger.debug(`scope resolveAspects, runtimeName: ${runtimeName}, componentIds: ${originalStringIds}`);\n\n const defaultOpts: ResolveAspectsOptions = {\n excludeCore: false,\n requestedOnly: false,\n filterByRuntime: true,\n };\n const mergedOpts = { ...defaultOpts, ...opts };\n const coreAspectsIds = this.aspectLoader.getCoreAspectIds();\n let userAspectsIds: ComponentID[];\n // let requestedCoreStringIds;\n if (componentIds && componentIds.length) {\n const groupedByIsCore = groupBy(componentIds, (id) => coreAspectsIds.includes(id.toString()));\n userAspectsIds = groupedByIsCore.false || [];\n // requestedCoreStringIds = groupedByIsCore.true?.map((id) => id.toStringWithoutVersion()) || [];\n } else {\n userAspectsIds = await this.scope.resolveMultipleComponentIds(this.aspectLoader.getUserAspects());\n }\n const localResolved = await this.aspectLoader.resolveLocalAspects(this.scope.localAspects, runtimeName);\n\n const withoutLocalAspects = userAspectsIds.filter((aspectId) => {\n return !localResolved.find((localAspect) => {\n return localAspect.id === aspectId.toStringWithoutVersion();\n });\n });\n const userAspectsDefs = await this.resolveUserAspects(runtimeName, withoutLocalAspects, opts);\n const coreAspectsDefs = await this.aspectLoader.getCoreAspectDefs(runtimeName);\n\n const allDefs = userAspectsDefs.concat(coreAspectsDefs).concat(localResolved);\n // const userAspectsIdsWithoutVersion = userAspectsIds.map((aspectId) => aspectId.toStringWithoutVersion());\n // const userAspectsIdsWithoutVersionAndCoreRequested = userAspectsIdsWithoutVersion.concat(requestedCoreStringIds);\n const filteredDefs = this.aspectLoader.filterAspectDefs(\n allDefs,\n componentIds || userAspectsIds,\n runtimeName,\n mergedOpts\n );\n return filteredDefs;\n }\n\n getIsolateOpts(opts?: {\n skipIfExists?: boolean;\n packageManagerConfigRootDir?: string;\n workspaceName?: string;\n }): IsolateComponentsOptions {\n const overrideOpts = {\n skipIfExists: opts?.skipIfExists ?? true,\n installOptions: {\n packageManagerConfigRootDir: opts?.packageManagerConfigRootDir,\n },\n context: {\n workspaceName: opts?.workspaceName,\n },\n };\n const isolateOpts = defaultsDeep(overrideOpts, this.getDefaultIsolateOpts());\n return isolateOpts;\n }\n\n getDefaultIsolateOpts() {\n const useHash = this.shouldUseHashForCapsules();\n const useDatedDirs = this.shouldUseDatedCapsules();\n const cacheLockFileOnly = this.shouldCacheLockFileOnly();\n const nodeLinker = this.getAspectsNodeLinker();\n\n const opts = {\n datedDirId: this.scope.name,\n baseDir: this.getAspectCapsulePath(),\n useHash,\n packageManager: this.getAspectsPackageManager(),\n nodeLinker,\n useDatedDirs,\n cacheLockFileOnly,\n skipIfExists: true,\n seedersOnly: true,\n includeFromNestedHosts: true,\n host: this.scope,\n installOptions: {\n copyPeerToRuntimeOnRoot: true,\n useNesting: true,\n copyPeerToRuntimeOnComponents: true,\n installPeersFromEnvs: true,\n },\n context: {\n aspects: true,\n },\n };\n return opts;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -120,9 +120,11 @@ class ScopeComponentLoader {
120
120
  throw new (_bitError().BitError)(`version "${versionStr}" seems to have originated from "${versionOriginId.toString()}", not from "${id.toStringWithoutVersion()}"`);
121
121
  }
122
122
  const snap = await this.getHeadSnap(modelComponent);
123
+ // newId, not id. without a version, id resolves to "latest" again, which may have moved (e.g. by the fetch of a
124
+ // missing Version above) and point at a version other than the loaded one, which may not exist locally.
123
125
  const state = await (0, _harmonyModules2().loadSpan)('state-from-version', {
124
126
  id: idStr
125
- }, () => this.createStateFromVersion(id, version));
127
+ }, () => this.createStateFromVersion(newId, version));
126
128
  const tagMap = this.getTagMap(modelComponent);
127
129
  const component = new (_component().Component)(newId, snap, state, tagMap, this.scope);
128
130
  this.componentsCache.set(idStr, component);
@@ -1 +1 @@
1
- {"version":3,"names":["_component","data","require","_pMapSeries","_interopRequireDefault","_semver","_objects","_bitError","_harmonyModules","_harmonyModules2","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","ScopeComponentLoader","constructor","scope","logger","componentsCache","createInMemoryCache","maxSize","getMaxSizeForComponents","weak","importedComponentsCache","maxAge","get","id","importIfMissing","useCache","startOrJoinLoadTrace","toString","span","getWithSpan","fromCache","getFromCache","setAttribute","idStr","trace","legacyId","modelComponent","legacyScope","getModelComponentIfExist","isExported","loadSpan","import","reason","set","changeScope","name","isLocal","hasVersion","existsWithoutVersion","changeVersion","undefined","errMsg","version","error","versionStr","getHeadRegardlessOfLaneAsTagOrHash","VERSION_ZERO","newId","loadVersionOrFetch","versionOriginId","originId","isEqualWithoutVersion","BitError","toStringWithoutVersion","snap","getHeadSnap","state","createStateFromVersion","tagMap","getTagMap","component","Component","repo","objects","loadVersion","warn","lane","getCurrentLaneObject","err","getFromConsumerComponent","consumerComponent","getModelComponent","pendingVersion","getRemoteComponent","fromMain","compImport","scopeImporter","objectList","getAll","forEach","obj","setCache","headAsTag","getHeadAsTagIfExist","idToLoad","getConsumerComponent","getManyRemoteComponents","ids","legacyIds","map","pMapSeries","getState","hash","load","Ref","getSnap","getVersionObject","code","Error","createSnapFromVersion","clearCache","deleteAll","isEqual","TagMap","allVersions","versionsIncludeOrphaned","keys","tag","Tag","SemVer","head","getHeadRegardlessOfLane","Snap","Date","parseInt","log","date","parents","p","displayName","username","email","message","consumerComponentOptional","State","Config","componentExtension","createAspectListFromLegacy","extensions","ComponentFS","fromVinyls","files","dependencies","exports"],"sources":["scope-component-loader.ts"],"sourcesContent":["import type { ComponentID } from '@teambit/component';\nimport { Component, ComponentFS, Config, Snap, State, Tag, TagMap } from '@teambit/component';\nimport pMapSeries from 'p-map-series';\nimport type { Logger } from '@teambit/logger';\nimport { SemVer } from 'semver';\nimport type { ConsumerComponent } from '@teambit/legacy.consumer-component';\nimport type { ModelComponent, Version } from '@teambit/objects';\nimport { VERSION_ZERO, Ref } from '@teambit/objects';\nimport { BitError } from '@teambit/bit-error';\nimport type { InMemoryCache } from '@teambit/harmony.modules.in-memory-cache';\nimport { getMaxSizeForComponents, createInMemoryCache } from '@teambit/harmony.modules.in-memory-cache';\nimport type { LoadSpan } from '@teambit/harmony.modules.load-trace';\nimport { startOrJoinLoadTrace, loadSpan } from '@teambit/harmony.modules.load-trace';\nimport type { ScopeMain } from './scope.main.runtime';\n\nexport class ScopeComponentLoader {\n private componentsCache: InMemoryCache<Component>; // cache loaded components\n private importedComponentsCache: InMemoryCache<boolean>;\n constructor(\n private scope: ScopeMain,\n private logger: Logger\n ) {\n this.componentsCache = createInMemoryCache({ maxSize: getMaxSizeForComponents(), weak: true });\n this.importedComponentsCache = createInMemoryCache({ maxAge: 1000 * 60 * 30 }); // 30 min\n }\n\n async get(id: ComponentID, importIfMissing = true, useCache = true): Promise<Component | undefined> {\n return startOrJoinLoadTrace('scope.get', { id: id.toString() }, (span) =>\n this.getWithSpan(id, span, importIfMissing, useCache)\n );\n }\n\n private async getWithSpan(\n id: ComponentID,\n span: LoadSpan,\n importIfMissing = true,\n useCache = true\n ): Promise<Component | undefined> {\n const fromCache = this.getFromCache(id);\n if (fromCache && useCache) {\n span.setAttribute('componentsCache', 'hit');\n return fromCache;\n }\n span.setAttribute('componentsCache', 'miss');\n const idStr = id.toString();\n this.logger.trace(`ScopeComponentLoader.get, loading ${idStr}`);\n const legacyId = id;\n let modelComponent = await this.scope.legacyScope.getModelComponentIfExist(id);\n // import if missing\n if (\n !modelComponent &&\n importIfMissing &&\n this.scope.isExported(id) &&\n !this.importedComponentsCache.get(id.toString())\n ) {\n await loadSpan('scope-import', { id: id.toString() }, () =>\n this.scope.import([id], { reason: `${id.toString()} because it's missing from the local scope` })\n );\n this.importedComponentsCache.set(id.toString(), true);\n modelComponent = await this.scope.legacyScope.getModelComponentIfExist(id);\n }\n // Search with scope name for bare scopes\n if (!modelComponent && !legacyId.scope) {\n id = id.changeScope(this.scope.name);\n modelComponent = await this.scope.legacyScope.getModelComponentIfExist(id);\n }\n\n if (!modelComponent) {\n if (this.scope.legacyScope.isLocal(id) && id.hasVersion()) {\n const existsWithoutVersion = await this.scope.legacyScope.getModelComponentIfExist(id.changeVersion(undefined));\n const errMsg = existsWithoutVersion\n ? `failed loading ${id.toString()}: the component exists but version ${id.version} is missing.`\n : `failed loading ${id.toString()}: the component does not exist in the local scope.`;\n this.logger.error(errMsg);\n }\n return undefined;\n }\n\n const versionStr = id.hasVersion()\n ? (id.version as string)\n : modelComponent.getHeadRegardlessOfLaneAsTagOrHash(true);\n\n if (versionStr === VERSION_ZERO) return undefined;\n const newId = id.changeVersion(versionStr);\n const version = await this.loadVersionOrFetch(modelComponent, newId, importIfMissing);\n const versionOriginId = version.originId;\n if (versionOriginId && !versionOriginId.isEqualWithoutVersion(id)) {\n throw new BitError(\n `version \"${versionStr}\" seems to have originated from \"${versionOriginId.toString()}\", not from \"${id.toStringWithoutVersion()}\"`\n );\n }\n const snap = await this.getHeadSnap(modelComponent);\n const state = await loadSpan('state-from-version', { id: idStr }, () => this.createStateFromVersion(id, version));\n const tagMap = this.getTagMap(modelComponent);\n\n const component = new Component(newId, snap, state, tagMap, this.scope);\n this.componentsCache.set(idStr, component);\n return component;\n }\n\n /**\n * a component object may point at a Version object the local scope does not have. a fetch that ran\n * while the remote was mid-export gets the component with its new head but no Version for it, and\n * every load from then on fails on the missing object, although the remote has it by now. fetch\n * it once and retry, rather than fail until the user runs \"bit import --objects\" by hand.\n */\n private async loadVersionOrFetch(\n modelComponent: ModelComponent,\n id: ComponentID,\n importIfMissing: boolean\n ): Promise<Version> {\n const repo = this.scope.legacyScope.objects;\n const versionStr = id.version as string;\n const version = await modelComponent.loadVersion(versionStr, repo, false);\n if (version) return version;\n const idStr = id.toString();\n if (importIfMissing && this.scope.isExported(id) && !this.importedComponentsCache.get(idStr)) {\n this.importedComponentsCache.set(idStr, true);\n this.logger.warn(`ScopeComponentLoader, the Version object of ${idStr} is missing locally, fetching it`);\n // on a lane, the importer fetches a component of the lane from the lane's scope and the rest from their own scope\n const lane = await this.scope.legacyScope.getCurrentLaneObject();\n try {\n await loadSpan('scope-import', { id: idStr }, () =>\n this.scope.import([id], {\n lane,\n reason: `${idStr} because its Version object is missing from the local scope`,\n })\n );\n } catch (err: any) {\n this.logger.error(`ScopeComponentLoader, failed fetching the missing Version object of ${idStr}`, err);\n }\n }\n // throws VersionNotFoundOnFS if still missing\n return modelComponent.loadVersion(versionStr, repo);\n }\n\n async getFromConsumerComponent(consumerComponent: ConsumerComponent): Promise<Component> {\n const id = consumerComponent.id;\n const modelComponent = await this.scope.legacyScope.getModelComponent(id);\n // :TODO move to head snap once we have it merged, for now using `latest`.\n const version =\n consumerComponent.pendingVersion ||\n (await modelComponent.loadVersion(id.version as string, this.scope.legacyScope.objects));\n const snap = await this.getHeadSnap(modelComponent);\n const state = await this.createStateFromVersion(id, version, consumerComponent);\n const tagMap = this.getTagMap(modelComponent);\n\n return new Component(id, snap, state, tagMap, this.scope);\n }\n\n /**\n * get a component from a remote without importing it\n */\n async getRemoteComponent(id: ComponentID, fromMain = false): Promise<Component> {\n const compImport = this.scope.legacyScope.scopeImporter;\n const objectList = await compImport.getRemoteComponent(id);\n // it's crucial to add all objects to the Repository cache. otherwise, later, when it asks\n // for the consumerComponent from the legacyScope, it won't work.\n objectList?.getAll().forEach((obj) => this.scope.legacyScope.objects.setCache(obj));\n const modelComponent = await this.scope.legacyScope.getModelComponent(id);\n const headAsTag = modelComponent.getHeadAsTagIfExist();\n const idToLoad = fromMain && headAsTag ? id.changeVersion(headAsTag) : id;\n const consumerComponent = await this.scope.legacyScope.getConsumerComponent(idToLoad);\n return this.getFromConsumerComponent(consumerComponent);\n }\n\n /**\n * get components from a remote without importing it\n */\n async getManyRemoteComponents(ids: ComponentID[]): Promise<Component[]> {\n const compImport = this.scope.legacyScope.scopeImporter;\n const legacyIds = ids.map((id) => id);\n const objectList = await compImport.getManyRemoteComponents(legacyIds);\n // it's crucial to add all objects to the Repository cache. otherwise, later, when it asks\n // for the consumerComponent from the legacyScope, it won't work.\n objectList?.getAll().forEach((obj) => this.scope.legacyScope.objects.setCache(obj));\n return pMapSeries(legacyIds, async (legacyId) => {\n const consumerComponent = await this.scope.legacyScope.getConsumerComponent(legacyId);\n return this.getFromConsumerComponent(consumerComponent);\n });\n }\n\n async getState(id: ComponentID, hash: string): Promise<State> {\n const version = (await this.scope.legacyScope.objects.load(new Ref(hash))) as Version;\n return this.createStateFromVersion(id, version);\n }\n\n async getSnap(id: ComponentID, hash: string): Promise<Snap> {\n const getVersionObject = async (): Promise<Version> => {\n try {\n const snap = await this.scope.legacyScope.objects.load(new Ref(hash), true);\n return snap as Version;\n } catch (err: any) {\n if (err.code === 'ENOENT') {\n const errMsg = `fatal: snap \"${hash}\" file for component \"${id.toString()}\" was not found in the filesystem`;\n this.logger.error(errMsg, err);\n throw new Error(errMsg);\n } else {\n throw err;\n }\n }\n };\n const version = await getVersionObject();\n return this.createSnapFromVersion(version);\n }\n\n clearCache() {\n this.componentsCache.deleteAll();\n }\n\n /**\n * make sure that not only the id-str match, but also the legacy-id.\n * this is needed because the ComponentID.toString() is the same whether or not the legacy-id has\n * scope-name, as it includes the defaultScope if the scope is empty.\n * as a result, when out-of-sync is happening and the id is changed to include scope-name in the\n * legacy-id, the component is the cache has the old id.\n */\n private getFromCache(id: ComponentID): Component | undefined {\n const idStr = id.toString();\n const fromCache = this.componentsCache.get(idStr);\n if (fromCache && fromCache.id.isEqual(id)) {\n return fromCache;\n }\n return undefined;\n }\n\n private getTagMap(modelComponent: ModelComponent): TagMap {\n const tagMap = new TagMap();\n const allVersions = modelComponent.versionsIncludeOrphaned;\n Object.keys(allVersions).forEach((versionStr: string) => {\n const tag = new Tag(allVersions[versionStr].toString(), new SemVer(versionStr));\n tagMap.set(tag.version, tag);\n });\n return tagMap;\n }\n\n private async getHeadSnap(modelComponent: ModelComponent): Promise<Snap | null> {\n const head = modelComponent.getHeadRegardlessOfLane();\n if (!head) {\n // happens for example when on main and merging a lane.\n return null;\n }\n const version = await modelComponent.loadVersion(head.toString(), this.scope.legacyScope.objects, false);\n if (!version) {\n // might happen when the component is just a dependency and a previous version was needed.\n return null;\n }\n return this.createSnapFromVersion(version);\n }\n\n private createSnapFromVersion(version: Version): Snap {\n return new Snap(\n version.hash().toString(),\n new Date(parseInt(version.log.date)),\n version.parents.map((p) => p.toString()),\n {\n displayName: version.log.username || 'unknown',\n email: version.log.email || 'unknown@anywhere',\n },\n version.log.message\n );\n }\n\n private async createStateFromVersion(\n id: ComponentID,\n version: Version,\n consumerComponentOptional?: ConsumerComponent\n ): Promise<State> {\n const consumerComponent = consumerComponentOptional || (await this.scope.legacyScope.getConsumerComponent(id));\n const state = new State(\n // We use here the consumerComponent.extensions instead of version.extensions\n // because as part of the conversion to consumer component the artifacts are initialized as Artifact instances\n new Config(consumerComponent),\n // todo: see the comment of this \"createAspectListFromLegacy\" method. the aspect ids may be incorrect.\n // find a better way to get the ids correctly.\n this.scope.componentExtension.createAspectListFromLegacy(consumerComponent.extensions),\n ComponentFS.fromVinyls(consumerComponent.files),\n version.dependencies,\n consumerComponent\n );\n return state;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_component","data","require","_pMapSeries","_interopRequireDefault","_semver","_objects","_bitError","_harmonyModules","_harmonyModules2","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","ScopeComponentLoader","constructor","scope","logger","componentsCache","createInMemoryCache","maxSize","getMaxSizeForComponents","weak","importedComponentsCache","maxAge","get","id","importIfMissing","useCache","startOrJoinLoadTrace","toString","span","getWithSpan","fromCache","getFromCache","setAttribute","idStr","trace","legacyId","modelComponent","legacyScope","getModelComponentIfExist","isExported","loadSpan","import","reason","set","changeScope","name","isLocal","hasVersion","existsWithoutVersion","changeVersion","undefined","errMsg","version","error","versionStr","getHeadRegardlessOfLaneAsTagOrHash","VERSION_ZERO","newId","loadVersionOrFetch","versionOriginId","originId","isEqualWithoutVersion","BitError","toStringWithoutVersion","snap","getHeadSnap","state","createStateFromVersion","tagMap","getTagMap","component","Component","repo","objects","loadVersion","warn","lane","getCurrentLaneObject","err","getFromConsumerComponent","consumerComponent","getModelComponent","pendingVersion","getRemoteComponent","fromMain","compImport","scopeImporter","objectList","getAll","forEach","obj","setCache","headAsTag","getHeadAsTagIfExist","idToLoad","getConsumerComponent","getManyRemoteComponents","ids","legacyIds","map","pMapSeries","getState","hash","load","Ref","getSnap","getVersionObject","code","Error","createSnapFromVersion","clearCache","deleteAll","isEqual","TagMap","allVersions","versionsIncludeOrphaned","keys","tag","Tag","SemVer","head","getHeadRegardlessOfLane","Snap","Date","parseInt","log","date","parents","p","displayName","username","email","message","consumerComponentOptional","State","Config","componentExtension","createAspectListFromLegacy","extensions","ComponentFS","fromVinyls","files","dependencies","exports"],"sources":["scope-component-loader.ts"],"sourcesContent":["import type { ComponentID } from '@teambit/component';\nimport { Component, ComponentFS, Config, Snap, State, Tag, TagMap } from '@teambit/component';\nimport pMapSeries from 'p-map-series';\nimport type { Logger } from '@teambit/logger';\nimport { SemVer } from 'semver';\nimport type { ConsumerComponent } from '@teambit/legacy.consumer-component';\nimport type { ModelComponent, Version } from '@teambit/objects';\nimport { VERSION_ZERO, Ref } from '@teambit/objects';\nimport { BitError } from '@teambit/bit-error';\nimport type { InMemoryCache } from '@teambit/harmony.modules.in-memory-cache';\nimport { getMaxSizeForComponents, createInMemoryCache } from '@teambit/harmony.modules.in-memory-cache';\nimport type { LoadSpan } from '@teambit/harmony.modules.load-trace';\nimport { startOrJoinLoadTrace, loadSpan } from '@teambit/harmony.modules.load-trace';\nimport type { ScopeMain } from './scope.main.runtime';\n\nexport class ScopeComponentLoader {\n private componentsCache: InMemoryCache<Component>; // cache loaded components\n private importedComponentsCache: InMemoryCache<boolean>;\n constructor(\n private scope: ScopeMain,\n private logger: Logger\n ) {\n this.componentsCache = createInMemoryCache({ maxSize: getMaxSizeForComponents(), weak: true });\n this.importedComponentsCache = createInMemoryCache({ maxAge: 1000 * 60 * 30 }); // 30 min\n }\n\n async get(id: ComponentID, importIfMissing = true, useCache = true): Promise<Component | undefined> {\n return startOrJoinLoadTrace('scope.get', { id: id.toString() }, (span) =>\n this.getWithSpan(id, span, importIfMissing, useCache)\n );\n }\n\n private async getWithSpan(\n id: ComponentID,\n span: LoadSpan,\n importIfMissing = true,\n useCache = true\n ): Promise<Component | undefined> {\n const fromCache = this.getFromCache(id);\n if (fromCache && useCache) {\n span.setAttribute('componentsCache', 'hit');\n return fromCache;\n }\n span.setAttribute('componentsCache', 'miss');\n const idStr = id.toString();\n this.logger.trace(`ScopeComponentLoader.get, loading ${idStr}`);\n const legacyId = id;\n let modelComponent = await this.scope.legacyScope.getModelComponentIfExist(id);\n // import if missing\n if (\n !modelComponent &&\n importIfMissing &&\n this.scope.isExported(id) &&\n !this.importedComponentsCache.get(id.toString())\n ) {\n await loadSpan('scope-import', { id: id.toString() }, () =>\n this.scope.import([id], { reason: `${id.toString()} because it's missing from the local scope` })\n );\n this.importedComponentsCache.set(id.toString(), true);\n modelComponent = await this.scope.legacyScope.getModelComponentIfExist(id);\n }\n // Search with scope name for bare scopes\n if (!modelComponent && !legacyId.scope) {\n id = id.changeScope(this.scope.name);\n modelComponent = await this.scope.legacyScope.getModelComponentIfExist(id);\n }\n\n if (!modelComponent) {\n if (this.scope.legacyScope.isLocal(id) && id.hasVersion()) {\n const existsWithoutVersion = await this.scope.legacyScope.getModelComponentIfExist(id.changeVersion(undefined));\n const errMsg = existsWithoutVersion\n ? `failed loading ${id.toString()}: the component exists but version ${id.version} is missing.`\n : `failed loading ${id.toString()}: the component does not exist in the local scope.`;\n this.logger.error(errMsg);\n }\n return undefined;\n }\n\n const versionStr = id.hasVersion()\n ? (id.version as string)\n : modelComponent.getHeadRegardlessOfLaneAsTagOrHash(true);\n\n if (versionStr === VERSION_ZERO) return undefined;\n const newId = id.changeVersion(versionStr);\n const version = await this.loadVersionOrFetch(modelComponent, newId, importIfMissing);\n const versionOriginId = version.originId;\n if (versionOriginId && !versionOriginId.isEqualWithoutVersion(id)) {\n throw new BitError(\n `version \"${versionStr}\" seems to have originated from \"${versionOriginId.toString()}\", not from \"${id.toStringWithoutVersion()}\"`\n );\n }\n const snap = await this.getHeadSnap(modelComponent);\n // newId, not id. without a version, id resolves to \"latest\" again, which may have moved (e.g. by the fetch of a\n // missing Version above) and point at a version other than the loaded one, which may not exist locally.\n const state = await loadSpan('state-from-version', { id: idStr }, () =>\n this.createStateFromVersion(newId, version)\n );\n const tagMap = this.getTagMap(modelComponent);\n\n const component = new Component(newId, snap, state, tagMap, this.scope);\n this.componentsCache.set(idStr, component);\n return component;\n }\n\n /**\n * a component object may point at a Version object the local scope does not have. a fetch that ran\n * while the remote was mid-export gets the component with its new head but no Version for it, and\n * every load from then on fails on the missing object, although the remote has it by now. fetch\n * it once and retry, rather than fail until the user runs \"bit import --objects\" by hand.\n */\n private async loadVersionOrFetch(\n modelComponent: ModelComponent,\n id: ComponentID,\n importIfMissing: boolean\n ): Promise<Version> {\n const repo = this.scope.legacyScope.objects;\n const versionStr = id.version as string;\n const version = await modelComponent.loadVersion(versionStr, repo, false);\n if (version) return version;\n const idStr = id.toString();\n if (importIfMissing && this.scope.isExported(id) && !this.importedComponentsCache.get(idStr)) {\n this.importedComponentsCache.set(idStr, true);\n this.logger.warn(`ScopeComponentLoader, the Version object of ${idStr} is missing locally, fetching it`);\n // on a lane, the importer fetches a component of the lane from the lane's scope and the rest from their own scope\n const lane = await this.scope.legacyScope.getCurrentLaneObject();\n try {\n await loadSpan('scope-import', { id: idStr }, () =>\n this.scope.import([id], {\n lane,\n reason: `${idStr} because its Version object is missing from the local scope`,\n })\n );\n } catch (err: any) {\n this.logger.error(`ScopeComponentLoader, failed fetching the missing Version object of ${idStr}`, err);\n }\n }\n // throws VersionNotFoundOnFS if still missing\n return modelComponent.loadVersion(versionStr, repo);\n }\n\n async getFromConsumerComponent(consumerComponent: ConsumerComponent): Promise<Component> {\n const id = consumerComponent.id;\n const modelComponent = await this.scope.legacyScope.getModelComponent(id);\n // :TODO move to head snap once we have it merged, for now using `latest`.\n const version =\n consumerComponent.pendingVersion ||\n (await modelComponent.loadVersion(id.version as string, this.scope.legacyScope.objects));\n const snap = await this.getHeadSnap(modelComponent);\n const state = await this.createStateFromVersion(id, version, consumerComponent);\n const tagMap = this.getTagMap(modelComponent);\n\n return new Component(id, snap, state, tagMap, this.scope);\n }\n\n /**\n * get a component from a remote without importing it\n */\n async getRemoteComponent(id: ComponentID, fromMain = false): Promise<Component> {\n const compImport = this.scope.legacyScope.scopeImporter;\n const objectList = await compImport.getRemoteComponent(id);\n // it's crucial to add all objects to the Repository cache. otherwise, later, when it asks\n // for the consumerComponent from the legacyScope, it won't work.\n objectList?.getAll().forEach((obj) => this.scope.legacyScope.objects.setCache(obj));\n const modelComponent = await this.scope.legacyScope.getModelComponent(id);\n const headAsTag = modelComponent.getHeadAsTagIfExist();\n const idToLoad = fromMain && headAsTag ? id.changeVersion(headAsTag) : id;\n const consumerComponent = await this.scope.legacyScope.getConsumerComponent(idToLoad);\n return this.getFromConsumerComponent(consumerComponent);\n }\n\n /**\n * get components from a remote without importing it\n */\n async getManyRemoteComponents(ids: ComponentID[]): Promise<Component[]> {\n const compImport = this.scope.legacyScope.scopeImporter;\n const legacyIds = ids.map((id) => id);\n const objectList = await compImport.getManyRemoteComponents(legacyIds);\n // it's crucial to add all objects to the Repository cache. otherwise, later, when it asks\n // for the consumerComponent from the legacyScope, it won't work.\n objectList?.getAll().forEach((obj) => this.scope.legacyScope.objects.setCache(obj));\n return pMapSeries(legacyIds, async (legacyId) => {\n const consumerComponent = await this.scope.legacyScope.getConsumerComponent(legacyId);\n return this.getFromConsumerComponent(consumerComponent);\n });\n }\n\n async getState(id: ComponentID, hash: string): Promise<State> {\n const version = (await this.scope.legacyScope.objects.load(new Ref(hash))) as Version;\n return this.createStateFromVersion(id, version);\n }\n\n async getSnap(id: ComponentID, hash: string): Promise<Snap> {\n const getVersionObject = async (): Promise<Version> => {\n try {\n const snap = await this.scope.legacyScope.objects.load(new Ref(hash), true);\n return snap as Version;\n } catch (err: any) {\n if (err.code === 'ENOENT') {\n const errMsg = `fatal: snap \"${hash}\" file for component \"${id.toString()}\" was not found in the filesystem`;\n this.logger.error(errMsg, err);\n throw new Error(errMsg);\n } else {\n throw err;\n }\n }\n };\n const version = await getVersionObject();\n return this.createSnapFromVersion(version);\n }\n\n clearCache() {\n this.componentsCache.deleteAll();\n }\n\n /**\n * make sure that not only the id-str match, but also the legacy-id.\n * this is needed because the ComponentID.toString() is the same whether or not the legacy-id has\n * scope-name, as it includes the defaultScope if the scope is empty.\n * as a result, when out-of-sync is happening and the id is changed to include scope-name in the\n * legacy-id, the component is the cache has the old id.\n */\n private getFromCache(id: ComponentID): Component | undefined {\n const idStr = id.toString();\n const fromCache = this.componentsCache.get(idStr);\n if (fromCache && fromCache.id.isEqual(id)) {\n return fromCache;\n }\n return undefined;\n }\n\n private getTagMap(modelComponent: ModelComponent): TagMap {\n const tagMap = new TagMap();\n const allVersions = modelComponent.versionsIncludeOrphaned;\n Object.keys(allVersions).forEach((versionStr: string) => {\n const tag = new Tag(allVersions[versionStr].toString(), new SemVer(versionStr));\n tagMap.set(tag.version, tag);\n });\n return tagMap;\n }\n\n private async getHeadSnap(modelComponent: ModelComponent): Promise<Snap | null> {\n const head = modelComponent.getHeadRegardlessOfLane();\n if (!head) {\n // happens for example when on main and merging a lane.\n return null;\n }\n const version = await modelComponent.loadVersion(head.toString(), this.scope.legacyScope.objects, false);\n if (!version) {\n // might happen when the component is just a dependency and a previous version was needed.\n return null;\n }\n return this.createSnapFromVersion(version);\n }\n\n private createSnapFromVersion(version: Version): Snap {\n return new Snap(\n version.hash().toString(),\n new Date(parseInt(version.log.date)),\n version.parents.map((p) => p.toString()),\n {\n displayName: version.log.username || 'unknown',\n email: version.log.email || 'unknown@anywhere',\n },\n version.log.message\n );\n }\n\n private async createStateFromVersion(\n id: ComponentID,\n version: Version,\n consumerComponentOptional?: ConsumerComponent\n ): Promise<State> {\n const consumerComponent = consumerComponentOptional || (await this.scope.legacyScope.getConsumerComponent(id));\n const state = new State(\n // We use here the consumerComponent.extensions instead of version.extensions\n // because as part of the conversion to consumer component the artifacts are initialized as Artifact instances\n new Config(consumerComponent),\n // todo: see the comment of this \"createAspectListFromLegacy\" method. the aspect ids may be incorrect.\n // find a better way to get the ids correctly.\n this.scope.componentExtension.createAspectListFromLegacy(consumerComponent.extensions),\n ComponentFS.fromVinyls(consumerComponent.files),\n version.dependencies,\n consumerComponent\n );\n return state;\n }\n}\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/scope",
3
- "version": "1.0.1229",
3
+ "version": "1.0.1231",
4
4
  "homepage": "https://bit.cloud/teambit/scope/scope",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.scope",
8
8
  "name": "scope",
9
- "version": "1.0.1229"
9
+ "version": "1.0.1231"
10
10
  },
11
11
  "dependencies": {
12
12
  "fs-extra": "10.0.0",
@@ -20,25 +20,41 @@
20
20
  "cli-table": "0.3.6",
21
21
  "classnames": "^2.5.1",
22
22
  "reset-css": "5.0.1",
23
+ "@teambit/component-id": "1.2.5",
23
24
  "@teambit/component.modules.component-url": "0.0.207",
24
25
  "@teambit/scope.models.scope-model": "0.0.572",
25
26
  "@teambit/ui-foundation.ui.tree.drawer": "1.0.0",
26
27
  "@teambit/scope.ui.hooks.scope-context": "0.0.571",
28
+ "@teambit/aspect-loader": "1.0.1225",
29
+ "@teambit/component": "1.0.1225",
30
+ "@teambit/config-store": "0.0.296",
31
+ "@teambit/dependency-resolver": "1.0.1225",
32
+ "@teambit/envs": "1.0.1225",
27
33
  "@teambit/harmony.modules.requireable-component": "0.0.530",
28
34
  "@teambit/harmony.modules.runtimes": "0.0.4",
29
35
  "@teambit/harmony": "0.4.12",
30
36
  "@teambit/legacy.constants": "0.0.49",
31
37
  "@teambit/logger": "0.0.1499",
38
+ "@teambit/objects": "0.0.718",
39
+ "@teambit/cli": "0.0.1415",
32
40
  "@teambit/bit-error": "0.0.404",
33
41
  "@teambit/harmony.modules.in-memory-cache": "0.0.54",
34
42
  "@teambit/harmony.modules.load-trace": "0.0.17",
43
+ "@teambit/legacy.consumer-component": "0.0.185",
35
44
  "@teambit/bit.get-bit-version": "0.0.31",
36
45
  "@teambit/legacy-component-log": "0.0.434",
37
- "@teambit/component-id": "1.2.5",
46
+ "@teambit/legacy.scope-api": "0.0.239",
47
+ "@teambit/component.snap-distance": "0.0.185",
38
48
  "@teambit/express": "0.0.1505",
39
49
  "@teambit/graph.cleargraph": "0.0.11",
40
50
  "@teambit/graphql": "1.0.1206",
41
51
  "@teambit/legacy-bit-id": "1.1.4",
52
+ "@teambit/legacy.extension-data": "0.0.186",
53
+ "@teambit/legacy.scope": "0.0.184",
54
+ "@teambit/pkg.modules.component-package-name": "0.0.191",
55
+ "@teambit/scope.network": "0.0.184",
56
+ "@teambit/scope.remote-actions": "0.0.184",
57
+ "@teambit/scope.remotes": "0.0.184",
42
58
  "@teambit/workspace.modules.match-pattern": "0.0.539",
43
59
  "@teambit/component.ui.component-drawer": "0.0.513",
44
60
  "@teambit/design.ui.tree": "0.0.16",
@@ -46,11 +62,13 @@
46
62
  "@teambit/lanes.hooks.use-lanes": "0.0.300",
47
63
  "@teambit/lanes.ui.models.lanes-model": "0.0.239",
48
64
  "@teambit/ui-foundation.ui.side-bar": "0.0.959",
65
+ "@teambit/component-tree": "1.0.1225",
49
66
  "@teambit/component.ui.component-filters.component-filter-context": "0.0.248",
50
67
  "@teambit/component.ui.component-filters.deprecate-filter": "0.0.250",
51
68
  "@teambit/component.ui.component-filters.env-filter": "0.0.296",
52
69
  "@teambit/component.ui.component-filters.show-main-filter": "0.0.243",
53
70
  "@teambit/design.ui.surfaces.menu.link-item": "1.0.13",
71
+ "@teambit/sidebar": "1.0.1225",
54
72
  "@teambit/ui-foundation.ui.main-dropdown": "0.0.505",
55
73
  "@teambit/ui-foundation.ui.menu": "0.0.503",
56
74
  "@teambit/ui-foundation.ui.react-router.slot-router": "0.0.533",
@@ -75,29 +93,11 @@
75
93
  "@teambit/scope.ui.empty-scope": "0.0.510",
76
94
  "@teambit/scope.ui.scope-details": "0.0.526",
77
95
  "@teambit/scopes.scope-id": "0.0.9",
78
- "@teambit/aspect-loader": "1.0.1224",
79
- "@teambit/compiler": "1.0.1229",
80
- "@teambit/component": "1.0.1224",
81
- "@teambit/config-store": "0.0.296",
82
- "@teambit/dependency-resolver": "1.0.1224",
83
- "@teambit/envs": "1.0.1224",
84
- "@teambit/isolator": "1.0.1229",
85
- "@teambit/objects": "0.0.718",
86
- "@teambit/cli": "0.0.1415",
87
- "@teambit/legacy.consumer-component": "0.0.185",
88
- "@teambit/legacy.scope-api": "0.0.239",
89
- "@teambit/component.snap-distance": "0.0.185",
90
- "@teambit/graph": "1.0.1229",
91
- "@teambit/legacy.extension-data": "0.0.186",
92
- "@teambit/legacy.scope": "0.0.184",
93
- "@teambit/pkg.modules.component-package-name": "0.0.191",
94
- "@teambit/scope.network": "0.0.184",
95
- "@teambit/scope.remote-actions": "0.0.184",
96
- "@teambit/scope.remotes": "0.0.184",
97
- "@teambit/ui": "1.0.1229",
98
- "@teambit/command-bar": "1.0.1229",
99
- "@teambit/component-tree": "1.0.1224",
100
- "@teambit/sidebar": "1.0.1224"
96
+ "@teambit/compiler": "1.0.1231",
97
+ "@teambit/isolator": "1.0.1231",
98
+ "@teambit/graph": "1.0.1231",
99
+ "@teambit/ui": "1.0.1231",
100
+ "@teambit/command-bar": "1.0.1231"
101
101
  },
102
102
  "devDependencies": {
103
103
  "@types/fs-extra": "9.0.7",
@@ -111,6 +111,7 @@
111
111
  },
112
112
  "peerDependencies": {
113
113
  "react": "^17.0.0 || ^18.0.0 || ^19.0.0",
114
+ "chai": "5.2.1",
114
115
  "react-router-dom": "^6.16.0"
115
116
  },
116
117
  "license": "Apache-2.0",