@teambit/scope 0.0.639 → 0.0.640

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.
@@ -6,8 +6,9 @@ export declare class ScopeComponentLoader {
6
6
  private scope;
7
7
  private logger;
8
8
  private componentsCache;
9
+ private importedComponentsCache;
9
10
  constructor(scope: ScopeMain, logger: Logger);
10
- get(id: ComponentID): Promise<Component | undefined>;
11
+ get(id: ComponentID, importIfMissing?: boolean): Promise<Component | undefined>;
11
12
  getFromConsumerComponent(consumerComponent: ConsumerComponent): Promise<Component>;
12
13
  /**
13
14
  * get a component from a remote without importing it
@@ -49,6 +49,16 @@ function _scopeComponentsImporter() {
49
49
  return data;
50
50
  }
51
51
 
52
+ function _bitId() {
53
+ const data = require("@teambit/legacy/dist/bit-id");
54
+
55
+ _bitId = function () {
56
+ return data;
57
+ };
58
+
59
+ return data;
60
+ }
61
+
52
62
  function _objects() {
53
63
  const data = require("@teambit/legacy/dist/scope/objects");
54
64
 
@@ -85,12 +95,16 @@ class ScopeComponentLoader {
85
95
  this.scope = scope;
86
96
  this.logger = logger;
87
97
  (0, _defineProperty2().default)(this, "componentsCache", void 0);
98
+ (0, _defineProperty2().default)(this, "importedComponentsCache", void 0);
88
99
  this.componentsCache = (0, _cacheFactory().createInMemoryCache)({
89
100
  maxSize: (0, _inMemoryCache().getMaxSizeForComponents)()
90
101
  });
102
+ this.importedComponentsCache = (0, _cacheFactory().createInMemoryCache)({
103
+ maxAge: 1000 * 60 * 30
104
+ }); // 30 min
91
105
  }
92
106
 
93
- async get(id) {
107
+ async get(id, importIfMissing = true) {
94
108
  const fromCache = this.getFromCache(id);
95
109
 
96
110
  if (fromCache) {
@@ -100,7 +114,14 @@ class ScopeComponentLoader {
100
114
  const idStr = id.toString();
101
115
  this.logger.debug(`ScopeComponentLoader.get, loading ${idStr}`);
102
116
  const legacyId = id._legacy;
103
- let modelComponent = await this.scope.legacyScope.getModelComponentIfExist(id._legacy); // Search with scope name for bare scopes
117
+ let modelComponent = await this.scope.legacyScope.getModelComponentIfExist(id._legacy); // import if missing
118
+
119
+ if (!modelComponent && importIfMissing && id._legacy.hasScope() && !this.importedComponentsCache.get(id.toString())) {
120
+ await this.scope.legacyScope.import(_bitId().BitIds.fromArray([id._legacy]));
121
+ this.importedComponentsCache.set(id.toString(), true);
122
+ modelComponent = await this.scope.legacyScope.getModelComponentIfExist(id._legacy);
123
+ } // Search with scope name for bare scopes
124
+
104
125
 
105
126
  if (!modelComponent && !legacyId.scope) {
106
127
  id = id.changeScope(this.scope.name);
@@ -1 +1 @@
1
- {"version":3,"sources":["scope-component-loader.ts"],"names":["ScopeComponentLoader","constructor","scope","logger","componentsCache","maxSize","get","id","fromCache","getFromCache","idStr","toString","debug","legacyId","_legacy","modelComponent","legacyScope","getModelComponentIfExist","changeScope","name","undefined","versionStr","version","latest","newId","changeVersion","loadVersion","objects","snap","createSnapFromVersion","state","createStateFromVersion","tagMap","getTagMap","component","Component","set","getFromConsumerComponent","consumerComponent","getModelComponent","resolveComponentId","pendingVersion","getRemoteComponent","compImport","ScopeComponentsImporter","objectList","getAll","forEach","obj","setCache","getConsumerComponent","getState","hash","load","Ref","getSnap","getVersionObject","err","code","errMsg","error","Error","clearCache","deleteAll","isEqual","TagMap","Object","keys","versionsIncludeOrphaned","tag","Tag","SemVer","Snap","Date","parseInt","log","date","parents","map","p","displayName","username","email","message","State","Config","mainFile","extensions","componentExtension","createAspectList","ComponentFS","fromVinyls","files","dependencies"],"mappings":"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","sourcesContent":["import { Component, ComponentFS, ComponentID, Config, Snap, State, Tag, TagMap } from '@teambit/component';\nimport { Logger } from '@teambit/logger';\nimport { SemVer } from 'semver';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component';\nimport ScopeComponentsImporter from '@teambit/legacy/dist/scope/component-ops/scope-components-importer';\nimport { ModelComponent, Version } from '@teambit/legacy/dist/scope/models';\nimport { Ref } from '@teambit/legacy/dist/scope/objects';\nimport { getMaxSizeForComponents, InMemoryCache } from '@teambit/legacy/dist/cache/in-memory-cache';\nimport { createInMemoryCache } from '@teambit/legacy/dist/cache/cache-factory';\nimport type { ScopeMain } from './scope.main.runtime';\n\nexport class ScopeComponentLoader {\n private componentsCache: InMemoryCache<Component>; // cache loaded components\n constructor(private scope: ScopeMain, private logger: Logger) {\n this.componentsCache = createInMemoryCache({ maxSize: getMaxSizeForComponents() });\n }\n\n async get(id: ComponentID): Promise<Component | undefined> {\n const fromCache = this.getFromCache(id);\n if (fromCache) {\n return fromCache;\n }\n const idStr = id.toString();\n this.logger.debug(`ScopeComponentLoader.get, loading ${idStr}`);\n const legacyId = id._legacy;\n let modelComponent = await this.scope.legacyScope.getModelComponentIfExist(id._legacy);\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._legacy);\n }\n if (!modelComponent) return undefined;\n\n // :TODO move to head snap once we have it merged, for now using `latest`.\n const versionStr = id.version && id.version !== 'latest' ? id.version : modelComponent.latest();\n const newId = id.changeVersion(versionStr);\n const version = await modelComponent.loadVersion(versionStr, this.scope.legacyScope.objects);\n const snap = this.createSnapFromVersion(version);\n const state = await 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 async getFromConsumerComponent(consumerComponent: ConsumerComponent): Promise<Component> {\n const legacyId = consumerComponent.id;\n const modelComponent = await this.scope.legacyScope.getModelComponent(legacyId);\n // :TODO move to head snap once we have it merged, for now using `latest`.\n const id = await this.scope.resolveComponentId(legacyId);\n const version =\n consumerComponent.pendingVersion ||\n (await modelComponent.loadVersion(legacyId.version as string, this.scope.legacyScope.objects));\n const snap = this.createSnapFromVersion(version);\n const state = await this.createStateFromVersion(id, version);\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): Promise<Component> {\n const compImport = new ScopeComponentsImporter(this.scope.legacyScope);\n const objectList = await compImport.getRemoteComponent(id._legacy);\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 consumerComponent = await this.scope.legacyScope.getConsumerComponent(id._legacy);\n return this.getFromConsumerComponent(consumerComponent);\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._legacy.isEqual(id._legacy)) {\n return fromCache;\n }\n return undefined;\n }\n\n private getTagMap(modelComponent: ModelComponent): TagMap {\n const tagMap = new TagMap();\n Object.keys(modelComponent.versionsIncludeOrphaned).forEach((versionStr: string) => {\n const tag = new Tag(modelComponent.versionsIncludeOrphaned[versionStr].toString(), new SemVer(versionStr));\n tagMap.set(tag.version, tag);\n });\n return tagMap;\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(id: ComponentID, version: Version): Promise<State> {\n const consumerComponent = await this.scope.legacyScope.getConsumerComponent(id._legacy);\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(version.mainFile, consumerComponent.extensions),\n this.scope.componentExtension.createAspectList(consumerComponent.extensions, this.scope.name),\n ComponentFS.fromVinyls(consumerComponent.files),\n version.dependencies,\n consumerComponent\n );\n return state;\n }\n}\n"]}
1
+ {"version":3,"sources":["scope-component-loader.ts"],"names":["ScopeComponentLoader","constructor","scope","logger","componentsCache","maxSize","importedComponentsCache","maxAge","get","id","importIfMissing","fromCache","getFromCache","idStr","toString","debug","legacyId","_legacy","modelComponent","legacyScope","getModelComponentIfExist","hasScope","import","BitIds","fromArray","set","changeScope","name","undefined","versionStr","version","latest","newId","changeVersion","loadVersion","objects","snap","createSnapFromVersion","state","createStateFromVersion","tagMap","getTagMap","component","Component","getFromConsumerComponent","consumerComponent","getModelComponent","resolveComponentId","pendingVersion","getRemoteComponent","compImport","ScopeComponentsImporter","objectList","getAll","forEach","obj","setCache","getConsumerComponent","getState","hash","load","Ref","getSnap","getVersionObject","err","code","errMsg","error","Error","clearCache","deleteAll","isEqual","TagMap","Object","keys","versionsIncludeOrphaned","tag","Tag","SemVer","Snap","Date","parseInt","log","date","parents","map","p","displayName","username","email","message","State","Config","mainFile","extensions","componentExtension","createAspectList","ComponentFS","fromVinyls","files","dependencies"],"mappings":"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","sourcesContent":["import { Component, ComponentFS, ComponentID, Config, Snap, State, Tag, TagMap } from '@teambit/component';\nimport { Logger } from '@teambit/logger';\nimport { SemVer } from 'semver';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component';\nimport ScopeComponentsImporter from '@teambit/legacy/dist/scope/component-ops/scope-components-importer';\nimport { ModelComponent, Version } from '@teambit/legacy/dist/scope/models';\nimport { BitIds } from '@teambit/legacy/dist/bit-id';\nimport { Ref } from '@teambit/legacy/dist/scope/objects';\nimport { getMaxSizeForComponents, InMemoryCache } from '@teambit/legacy/dist/cache/in-memory-cache';\nimport { createInMemoryCache } from '@teambit/legacy/dist/cache/cache-factory';\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(private scope: ScopeMain, private logger: Logger) {\n this.componentsCache = createInMemoryCache({ maxSize: getMaxSizeForComponents() });\n this.importedComponentsCache = createInMemoryCache({ maxAge: 1000 * 60 * 30 }); // 30 min\n }\n\n async get(id: ComponentID, importIfMissing = true): Promise<Component | undefined> {\n const fromCache = this.getFromCache(id);\n if (fromCache) {\n return fromCache;\n }\n const idStr = id.toString();\n this.logger.debug(`ScopeComponentLoader.get, loading ${idStr}`);\n const legacyId = id._legacy;\n let modelComponent = await this.scope.legacyScope.getModelComponentIfExist(id._legacy);\n // import if missing\n if (!modelComponent && importIfMissing && id._legacy.hasScope()\n && !this.importedComponentsCache.get(id.toString())) {\n await this.scope.legacyScope.import(BitIds.fromArray([id._legacy]));\n this.importedComponentsCache.set(id.toString(), true);\n modelComponent = await this.scope.legacyScope.getModelComponentIfExist(id._legacy);\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._legacy);\n }\n if (!modelComponent) return undefined;\n\n // :TODO move to head snap once we have it merged, for now using `latest`.\n const versionStr = id.version && id.version !== 'latest' ? id.version : modelComponent.latest();\n const newId = id.changeVersion(versionStr);\n const version = await modelComponent.loadVersion(versionStr, this.scope.legacyScope.objects);\n const snap = this.createSnapFromVersion(version);\n const state = await 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 async getFromConsumerComponent(consumerComponent: ConsumerComponent): Promise<Component> {\n const legacyId = consumerComponent.id;\n const modelComponent = await this.scope.legacyScope.getModelComponent(legacyId);\n // :TODO move to head snap once we have it merged, for now using `latest`.\n const id = await this.scope.resolveComponentId(legacyId);\n const version =\n consumerComponent.pendingVersion ||\n (await modelComponent.loadVersion(legacyId.version as string, this.scope.legacyScope.objects));\n const snap = this.createSnapFromVersion(version);\n const state = await this.createStateFromVersion(id, version);\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): Promise<Component> {\n const compImport = new ScopeComponentsImporter(this.scope.legacyScope);\n const objectList = await compImport.getRemoteComponent(id._legacy);\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 consumerComponent = await this.scope.legacyScope.getConsumerComponent(id._legacy);\n return this.getFromConsumerComponent(consumerComponent);\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._legacy.isEqual(id._legacy)) {\n return fromCache;\n }\n return undefined;\n }\n\n private getTagMap(modelComponent: ModelComponent): TagMap {\n const tagMap = new TagMap();\n Object.keys(modelComponent.versionsIncludeOrphaned).forEach((versionStr: string) => {\n const tag = new Tag(modelComponent.versionsIncludeOrphaned[versionStr].toString(), new SemVer(versionStr));\n tagMap.set(tag.version, tag);\n });\n return tagMap;\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(id: ComponentID, version: Version): Promise<State> {\n const consumerComponent = await this.scope.legacyScope.getConsumerComponent(id._legacy);\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(version.mainFile, consumerComponent.extensions),\n this.scope.componentExtension.createAspectList(consumerComponent.extensions, this.scope.name),\n ComponentFS.fromVinyls(consumerComponent.files),\n version.dependencies,\n consumerComponent\n );\n return state;\n }\n}\n"]}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/scope",
3
- "version": "0.0.639",
3
+ "version": "0.0.640",
4
4
  "homepage": "https://bit.dev/teambit/scope/scope",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.scope",
8
8
  "name": "scope",
9
- "version": "0.0.639"
9
+ "version": "0.0.640"
10
10
  },
11
11
  "dependencies": {
12
12
  "semver": "7.3.4",
@@ -27,26 +27,26 @@
27
27
  "@teambit/base-ui.graph.tree.recursive-tree": "1.0.0",
28
28
  "@teambit/scope.models.scope-model": "0.0.95",
29
29
  "@teambit/scope.ui.hooks.scope-context": "0.0.95",
30
- "@teambit/component": "0.0.639",
31
- "@teambit/logger": "0.0.526",
32
- "@teambit/aspect-loader": "0.0.639",
33
- "@teambit/builder": "0.0.639",
34
- "@teambit/cli": "0.0.436",
35
- "@teambit/compiler": "0.0.639",
36
- "@teambit/config": "0.0.449",
37
- "@teambit/envs": "0.0.639",
38
- "@teambit/express": "0.0.530",
39
- "@teambit/graphql": "0.0.639",
30
+ "@teambit/component": "0.0.640",
31
+ "@teambit/logger": "0.0.527",
32
+ "@teambit/aspect-loader": "0.0.640",
33
+ "@teambit/builder": "0.0.640",
34
+ "@teambit/cli": "0.0.437",
35
+ "@teambit/compiler": "0.0.640",
36
+ "@teambit/config": "0.0.450",
37
+ "@teambit/envs": "0.0.640",
38
+ "@teambit/express": "0.0.531",
39
+ "@teambit/graphql": "0.0.640",
40
40
  "@teambit/harmony.modules.requireable-component": "0.0.483",
41
- "@teambit/isolator": "0.0.639",
41
+ "@teambit/isolator": "0.0.640",
42
42
  "@teambit/legacy-bit-id": "0.0.397",
43
- "@teambit/ui": "0.0.639",
43
+ "@teambit/ui": "0.0.640",
44
44
  "@teambit/workspace.modules.match-pattern": "0.0.488",
45
- "@teambit/command-bar": "0.0.639",
46
- "@teambit/component-tree": "0.0.427",
45
+ "@teambit/command-bar": "0.0.640",
46
+ "@teambit/component-tree": "0.0.428",
47
47
  "@teambit/design.ui.surfaces.menu.link-item": "0.0.377",
48
- "@teambit/react-router": "0.0.639",
49
- "@teambit/sidebar": "0.0.639",
48
+ "@teambit/react-router": "0.0.640",
49
+ "@teambit/sidebar": "0.0.640",
50
50
  "@teambit/ui-foundation.ui.main-dropdown": "0.0.485",
51
51
  "@teambit/ui-foundation.ui.menu": "0.0.485",
52
52
  "@teambit/ui-foundation.ui.react-router.slot-router": "0.0.487",
@@ -85,7 +85,7 @@
85
85
  "@types/node": "12.20.4"
86
86
  },
87
87
  "peerDependencies": {
88
- "@teambit/legacy": "1.0.212",
88
+ "@teambit/legacy": "1.0.213",
89
89
  "react-dom": "^16.8.0 || ^17.0.0",
90
90
  "react": "^16.8.0 || ^17.0.0"
91
91
  },
@@ -113,7 +113,7 @@
113
113
  "react": "-"
114
114
  },
115
115
  "peerDependencies": {
116
- "@teambit/legacy": "1.0.212",
116
+ "@teambit/legacy": "1.0.213",
117
117
  "react-dom": "^16.8.0 || ^17.0.0",
118
118
  "react": "^16.8.0 || ^17.0.0"
119
119
  }