@teambit/workspace 1.0.330 → 1.0.331
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/artifacts/__bit_junit.xml +1 -1
- package/artifacts/preview/teambit_workspace_workspace-preview.js +1 -1
- package/artifacts/schema.json +1031 -2883
- package/component-config-file/component-config-file.ts +1 -1
- package/dist/bit-map.d.ts +2 -4
- package/dist/bit-map.js +9 -10
- package/dist/bit-map.js.map +1 -1
- package/dist/component-config-file/component-config-file.d.ts +1 -1
- package/dist/component-config-file/component-config-file.js.map +1 -1
- package/dist/on-component-events.d.ts +1 -1
- package/dist/on-component-events.js.map +1 -1
- package/dist/{preview-1720513025675.js → preview-1720667996237.js} +2 -2
- package/dist/workspace-component/component-status-loader.js +5 -5
- package/dist/workspace-component/component-status-loader.js.map +1 -1
- package/dist/workspace-component/workspace-component-loader.js +38 -38
- package/dist/workspace-component/workspace-component-loader.js.map +1 -1
- package/dist/workspace.d.ts +2 -2
- package/dist/workspace.js +35 -33
- package/dist/workspace.js.map +1 -1
- package/dist/workspace.ui-root.d.ts +2 -2
- package/dist/workspace.ui-root.js.map +1 -1
- package/package.json +38 -31
- package/workspace-component/component-status-loader.ts +2 -2
- package/workspace-component/workspace-component-loader.ts +4 -4
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ComponentID, AspectList, AspectEntry, ResolveComponentIdFunc } from '@teambit/component';
|
|
2
2
|
import { COMPONENT_CONFIG_FILE_NAME } from '@teambit/legacy/dist/constants';
|
|
3
3
|
import { ExtensionDataList, configEntryToDataEntry } from '@teambit/legacy/dist/consumer/config/extension-data';
|
|
4
|
-
import { PathOsBasedAbsolute } from '@teambit/legacy
|
|
4
|
+
import { PathOsBasedAbsolute } from '@teambit/legacy.utils';
|
|
5
5
|
import { JsonVinyl } from '@teambit/legacy/dist/consumer/component/json-vinyl';
|
|
6
6
|
import detectIndent from 'detect-indent';
|
|
7
7
|
import detectNewline from 'detect-newline';
|
package/dist/bit-map.d.ts
CHANGED
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import { ComponentID } from '@teambit/component-id';
|
|
2
|
-
import LegacyBitMap from '@teambit/legacy
|
|
2
|
+
import { BitMap as LegacyBitMap, ComponentMap, GetBitMapComponentOptions } from '@teambit/legacy.bit-map';
|
|
3
3
|
import { Consumer } from '@teambit/legacy/dist/consumer';
|
|
4
|
-
import { GetBitMapComponentOptions } from '@teambit/legacy/dist/consumer/bit-map/bit-map';
|
|
5
|
-
import ComponentMap from '@teambit/legacy/dist/consumer/bit-map/component-map';
|
|
6
4
|
import { LaneId } from '@teambit/lane-id';
|
|
7
|
-
import { PathOsBasedAbsolute } from '@teambit/
|
|
5
|
+
import { PathOsBasedAbsolute } from '@teambit/toolbox.path.path';
|
|
8
6
|
export type MergeOptions = {
|
|
9
7
|
mergeStrategy?: 'theirs' | 'ours' | 'manual';
|
|
10
8
|
};
|
package/dist/bit-map.js
CHANGED
|
@@ -11,9 +11,9 @@ function _lodash() {
|
|
|
11
11
|
};
|
|
12
12
|
return data;
|
|
13
13
|
}
|
|
14
|
-
function
|
|
15
|
-
const data =
|
|
16
|
-
|
|
14
|
+
function _legacy() {
|
|
15
|
+
const data = require("@teambit/legacy.bit-map");
|
|
16
|
+
_legacy = function () {
|
|
17
17
|
return data;
|
|
18
18
|
};
|
|
19
19
|
return data;
|
|
@@ -39,14 +39,13 @@ function _envs() {
|
|
|
39
39
|
};
|
|
40
40
|
return data;
|
|
41
41
|
}
|
|
42
|
-
function
|
|
43
|
-
const data = require("@teambit/
|
|
44
|
-
|
|
42
|
+
function _toolboxFs() {
|
|
43
|
+
const data = require("@teambit/toolbox.fs.last-modified");
|
|
44
|
+
_toolboxFs = function () {
|
|
45
45
|
return data;
|
|
46
46
|
};
|
|
47
47
|
return data;
|
|
48
48
|
}
|
|
49
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
50
49
|
/**
|
|
51
50
|
* consider extracting to a new component.
|
|
52
51
|
* (pro: making Workspace aspect smaller. con: it's an implementation details of the workspace)
|
|
@@ -57,7 +56,7 @@ class BitMap {
|
|
|
57
56
|
this.consumer = consumer;
|
|
58
57
|
}
|
|
59
58
|
mergeBitmaps(bitmapContent, otherBitmapContent, opts = {}) {
|
|
60
|
-
return
|
|
59
|
+
return _legacy().BitMap.mergeContent(bitmapContent, otherBitmapContent, opts);
|
|
61
60
|
}
|
|
62
61
|
getPath() {
|
|
63
62
|
return this.legacyBitMap.mapPath;
|
|
@@ -249,7 +248,7 @@ class BitMap {
|
|
|
249
248
|
}
|
|
250
249
|
if (aspectId === _envs().EnvsAspect.id) {
|
|
251
250
|
const envConfig = config[aspectId];
|
|
252
|
-
if (envConfig !==
|
|
251
|
+
if (envConfig !== '-' && envConfig.env === sourceId.toString()) {
|
|
253
252
|
envConfig.env = targetId.toString();
|
|
254
253
|
this.markAsChanged();
|
|
255
254
|
}
|
|
@@ -299,7 +298,7 @@ class BitMap {
|
|
|
299
298
|
*/
|
|
300
299
|
async getLastModifiedBitmapThroughBit() {
|
|
301
300
|
const bitmapHistoryDir = this.consumer.getBitmapHistoryDir();
|
|
302
|
-
const stat = await (0,
|
|
301
|
+
const stat = await (0, _toolboxFs().getPathStatIfExist)(bitmapHistoryDir);
|
|
303
302
|
if (!stat) return undefined;
|
|
304
303
|
return stat.mtimeMs;
|
|
305
304
|
}
|
package/dist/bit-map.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_lodash","data","require","_bitMap","_interopRequireDefault","_config","_bitError","_envs","_lastModified","e","__esModule","default","BitMap","constructor","legacyBitMap","consumer","mergeBitmaps","bitmapContent","otherBitmapContent","opts","LegacyBitMap","mergeContent","getPath","mapPath","getAllRootDirs","Object","keys","getAllTrackDirs","addComponentConfig","id","aspectId","config","shouldMergeConfig","Error","bitMapEntry","getBitmapEntry","ignoreVersion","currentConfig","isEqual","getNewConfig","merge","newConfig","markAsChanged","updateDefaultScope","oldScope","newScope","changedId","components","forEach","componentMap","defaultScope","hasVersion","changeDefaultScope","push","length","removeComponentConfig","markWithMinusIfNotExist","REMOVE_EXTENSION_SPECIAL_SIGN","removeEntireConfig","setEntireConfig","removeDefaultScope","setDefaultScope","write","reasonForChange","writeBitMap","getComponent","getBitmapEntryIfExist","getComponentIfExist","getAspectIdFromConfig","componentId","ignoreAspectVersion","undefined","toString","allVersions","filter","startsWith","toStringWithoutVersion","BitError","join","renameNewComponent","sourceId","targetId","fullName","removeComponent","scope","setComponent","renameAspectInConfig","EnvsAspect","envConfig","env","getExportedLaneId","isLaneExported","laneId","makeComponentsAvailableOnMain","ids","isAvailableOnCurrentLane","onLanesOnly","hasChanged","takeSnapshot","map","comp","clone","restoreFromSnapshot","componentMaps","_invalidateCache","getLastModifiedBitmapThroughBit","bitmapHistoryDir","getBitmapHistoryDir","stat","getPathStatIfExist","mtimeMs","exports"],"sources":["bit-map.ts"],"sourcesContent":["import { isEqual, merge } from 'lodash';\nimport { ComponentID } from '@teambit/component-id';\nimport LegacyBitMap from '@teambit/legacy/dist/consumer/bit-map';\nimport { Consumer } from '@teambit/legacy/dist/consumer';\nimport { GetBitMapComponentOptions } from '@teambit/legacy/dist/consumer/bit-map/bit-map';\nimport ComponentMap from '@teambit/legacy/dist/consumer/bit-map/component-map';\nimport { REMOVE_EXTENSION_SPECIAL_SIGN } from '@teambit/legacy/dist/consumer/config';\nimport { BitError } from '@teambit/bit-error';\nimport { LaneId } from '@teambit/lane-id';\nimport { EnvsAspect } from '@teambit/envs';\nimport { getPathStatIfExist } from '@teambit/legacy/dist/utils/fs/last-modified';\nimport { PathOsBasedAbsolute } from '@teambit/legacy/dist/utils/path';\n\nexport type MergeOptions = {\n mergeStrategy?: 'theirs' | 'ours' | 'manual';\n};\n/**\n * consider extracting to a new component.\n * (pro: making Workspace aspect smaller. con: it's an implementation details of the workspace)\n */\nexport class BitMap {\n constructor(private legacyBitMap: LegacyBitMap, private consumer: Consumer) {}\n\n mergeBitmaps(bitmapContent: string, otherBitmapContent: string, opts: MergeOptions = {}): string {\n return LegacyBitMap.mergeContent(bitmapContent, otherBitmapContent, opts);\n }\n\n getPath(): PathOsBasedAbsolute {\n return this.legacyBitMap.mapPath;\n }\n\n getAllRootDirs(): string[] {\n return Object.keys(this.legacyBitMap.getAllTrackDirs());\n }\n\n /**\n * adds component config to the .bitmap file.\n * later, upon `bit tag`, the data is saved in the scope.\n * returns a boolean indicating whether a change has been made.\n */\n addComponentConfig(\n id: ComponentID,\n aspectId: string,\n config: Record<string, any> = {},\n shouldMergeConfig = false\n ): boolean {\n if (!aspectId || typeof aspectId !== 'string') throw new Error(`expect aspectId to be string, got ${aspectId}`);\n const bitMapEntry = this.getBitmapEntry(id, { ignoreVersion: true });\n const currentConfig = (bitMapEntry.config ||= {})[aspectId];\n if (isEqual(currentConfig, config)) {\n return false; // no changes\n }\n const getNewConfig = () => {\n if (!config) return null;\n if (!shouldMergeConfig) return config;\n // should merge\n if (!currentConfig) return config;\n if (currentConfig === '-') return config;\n // lodash merge performs a deep merge. (the native concatenation don't)\n return merge(currentConfig, config);\n };\n const newConfig = getNewConfig();\n if (newConfig) {\n bitMapEntry.config[aspectId] = newConfig;\n } else {\n delete bitMapEntry.config[aspectId];\n }\n this.legacyBitMap.markAsChanged();\n\n return true; // changes have been made\n }\n\n updateDefaultScope(oldScope: string, newScope: string) {\n const changedId: ComponentID[] = [];\n this.legacyBitMap.components.forEach((componentMap) => {\n // only new components (not snapped/tagged) can be changed\n if (componentMap.defaultScope === oldScope && !componentMap.id.hasVersion()) {\n componentMap.defaultScope = newScope;\n componentMap.id = componentMap.id.changeDefaultScope(newScope);\n changedId.push(componentMap.id);\n }\n });\n if (changedId.length) {\n this.legacyBitMap.markAsChanged();\n }\n return changedId;\n }\n\n markAsChanged() {\n this.legacyBitMap.markAsChanged();\n }\n\n removeComponentConfig(id: ComponentID, aspectId: string, markWithMinusIfNotExist: boolean): boolean {\n if (!aspectId || typeof aspectId !== 'string') throw new Error(`expect aspectId to be string, got ${aspectId}`);\n const bitMapEntry = this.getBitmapEntry(id, { ignoreVersion: true });\n const currentConfig = (bitMapEntry.config ||= {})[aspectId];\n if (currentConfig) {\n delete bitMapEntry.config[aspectId];\n } else {\n if (!markWithMinusIfNotExist) {\n return false; // no changes\n }\n bitMapEntry.config[aspectId] = REMOVE_EXTENSION_SPECIAL_SIGN;\n }\n\n this.legacyBitMap.markAsChanged();\n\n return true; // changes have been made\n }\n\n removeEntireConfig(id: ComponentID): boolean {\n const bitMapEntry = this.getBitmapEntry(id, { ignoreVersion: true });\n if (!bitMapEntry.config) return false;\n delete bitMapEntry.config;\n this.legacyBitMap.markAsChanged();\n return true;\n }\n\n setEntireConfig(id: ComponentID, config: Record<string, any>) {\n const bitMapEntry = this.getBitmapEntry(id, { ignoreVersion: true });\n bitMapEntry.config = config;\n this.legacyBitMap.markAsChanged();\n }\n\n removeDefaultScope(id: ComponentID) {\n const bitMapEntry = this.getBitmapEntry(id, { ignoreVersion: true });\n if (bitMapEntry.defaultScope) {\n delete bitMapEntry.defaultScope;\n this.legacyBitMap.markAsChanged();\n }\n }\n\n setDefaultScope(id: ComponentID, defaultScope: string) {\n const bitMapEntry = this.getBitmapEntry(id, { ignoreVersion: true });\n bitMapEntry.defaultScope = defaultScope;\n bitMapEntry.id = bitMapEntry.id.changeDefaultScope(defaultScope);\n this.legacyBitMap.markAsChanged();\n }\n\n /**\n * write .bitmap object to the filesystem\n * optionally pass a reason for the change to be saved in the local scope `bitmap-history-metadata.txt` file.\n */\n async write(reasonForChange?: string) {\n await this.consumer.writeBitMap(reasonForChange);\n }\n\n /**\n * get the data saved in the .bitmap file for this component-id.\n * throws if not found\n * @see this.getBitmapEntryIfExist\n */\n getBitmapEntry(id: ComponentID, { ignoreVersion }: GetBitMapComponentOptions = {}): ComponentMap {\n return this.legacyBitMap.getComponent(id, { ignoreVersion });\n }\n\n getBitmapEntryIfExist(id: ComponentID, { ignoreVersion }: GetBitMapComponentOptions = {}): ComponentMap | undefined {\n return this.legacyBitMap.getComponentIfExist(id, { ignoreVersion });\n }\n\n getAspectIdFromConfig(\n componentId: ComponentID,\n aspectId: ComponentID,\n ignoreAspectVersion = false\n ): string | undefined {\n const bitMapEntry = this.getBitmapEntry(componentId);\n const config = bitMapEntry.config;\n if (!config) {\n return undefined;\n }\n if (config[aspectId.toString()]) {\n return aspectId.toString();\n }\n if (!ignoreAspectVersion) {\n return undefined;\n }\n const allVersions = Object.keys(config).filter((id) => id.startsWith(`${aspectId.toStringWithoutVersion()}@`));\n if (allVersions.length > 1) {\n throw new BitError(\n `error: the same aspect ${\n aspectId.toStringWithoutVersion\n } configured multiple times for \"${componentId.toString()}\"\\n${allVersions.join('\\n')}`\n );\n }\n return allVersions.length === 1 ? allVersions[0] : undefined;\n }\n\n /**\n * components that were not tagged yet are safe to rename them from the .bitmap file.\n */\n renameNewComponent(sourceId: ComponentID, targetId: ComponentID) {\n const bitMapEntry = this.getBitmapEntry(sourceId);\n if (bitMapEntry.id.hasVersion()) {\n throw new Error(`unable to rename tagged or exported component: ${bitMapEntry.id.toString()}`);\n }\n if (sourceId.isEqual(targetId)) {\n throw new Error(`source-id and target-id are equal: \"${sourceId.toString()}\"`);\n }\n if (sourceId.fullName !== targetId.fullName) {\n this.legacyBitMap.removeComponent(bitMapEntry.id);\n bitMapEntry.id = targetId;\n if (sourceId.scope !== targetId.scope) bitMapEntry.defaultScope = targetId.scope;\n this.legacyBitMap.setComponent(bitMapEntry.id, bitMapEntry);\n } else if (sourceId.scope !== targetId.scope) {\n this.setDefaultScope(sourceId, targetId.scope);\n }\n }\n\n /**\n * helpful when reaming an aspect and this aspect is used in the config of other components.\n */\n renameAspectInConfig(sourceId: ComponentID, targetId: ComponentID) {\n this.legacyBitMap.components.forEach((componentMap) => {\n const config = componentMap.config;\n if (!config) return;\n Object.keys(config).forEach((aspectId) => {\n if (aspectId === sourceId.toString()) {\n config[targetId.toString()] = config[aspectId];\n delete config[aspectId];\n this.markAsChanged();\n }\n if (aspectId === EnvsAspect.id) {\n const envConfig = config[aspectId];\n if (envConfig !== REMOVE_EXTENSION_SPECIAL_SIGN && envConfig.env === sourceId.toString()) {\n envConfig.env = targetId.toString();\n this.markAsChanged();\n }\n }\n });\n componentMap.config = config;\n });\n }\n\n removeComponent(id: ComponentID) {\n this.legacyBitMap.removeComponent(id);\n }\n\n /**\n * this is the lane-id of the recently exported lane. in case of a new lane, which was not exported yet, this will be\n * empty.\n */\n getExportedLaneId(): LaneId | undefined {\n return this.legacyBitMap.isLaneExported ? this.legacyBitMap.laneId : undefined;\n }\n\n makeComponentsAvailableOnMain(ids: ComponentID[]) {\n ids.forEach((id) => {\n const componentMap = this.getBitmapEntry(id);\n componentMap.isAvailableOnCurrentLane = true;\n delete componentMap.onLanesOnly;\n });\n this.legacyBitMap.markAsChanged();\n }\n\n /**\n * whether .bitmap file has changed in-memory\n */\n hasChanged(): boolean {\n return this.legacyBitMap.hasChanged;\n }\n\n takeSnapshot(): ComponentMap[] {\n return this.legacyBitMap.components.map((comp) => comp.clone());\n }\n\n restoreFromSnapshot(componentMaps: ComponentMap[]) {\n this.legacyBitMap.components = componentMaps;\n this.legacyBitMap._invalidateCache();\n }\n\n /**\n * .bitmap file could be changed by other sources (e.g. manually or by \"git pull\") not only by bit.\n * this method returns the timestamp when the .bitmap has changed through bit. (e.g. as part of snap/tag/export/merge\n * process)\n */\n async getLastModifiedBitmapThroughBit(): Promise<number | undefined> {\n const bitmapHistoryDir = this.consumer.getBitmapHistoryDir();\n const stat = await getPathStatIfExist(bitmapHistoryDir);\n if (!stat) return undefined;\n return stat.mtimeMs;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_lodash","data","require","_legacy","_config","_bitError","_envs","_toolboxFs","BitMap","constructor","legacyBitMap","consumer","mergeBitmaps","bitmapContent","otherBitmapContent","opts","LegacyBitMap","mergeContent","getPath","mapPath","getAllRootDirs","Object","keys","getAllTrackDirs","addComponentConfig","id","aspectId","config","shouldMergeConfig","Error","bitMapEntry","getBitmapEntry","ignoreVersion","currentConfig","isEqual","getNewConfig","merge","newConfig","markAsChanged","updateDefaultScope","oldScope","newScope","changedId","components","forEach","componentMap","defaultScope","hasVersion","changeDefaultScope","push","length","removeComponentConfig","markWithMinusIfNotExist","REMOVE_EXTENSION_SPECIAL_SIGN","removeEntireConfig","setEntireConfig","removeDefaultScope","setDefaultScope","write","reasonForChange","writeBitMap","getComponent","getBitmapEntryIfExist","getComponentIfExist","getAspectIdFromConfig","componentId","ignoreAspectVersion","undefined","toString","allVersions","filter","startsWith","toStringWithoutVersion","BitError","join","renameNewComponent","sourceId","targetId","fullName","removeComponent","scope","setComponent","renameAspectInConfig","EnvsAspect","envConfig","env","getExportedLaneId","isLaneExported","laneId","makeComponentsAvailableOnMain","ids","isAvailableOnCurrentLane","onLanesOnly","hasChanged","takeSnapshot","map","comp","clone","restoreFromSnapshot","componentMaps","_invalidateCache","getLastModifiedBitmapThroughBit","bitmapHistoryDir","getBitmapHistoryDir","stat","getPathStatIfExist","mtimeMs","exports"],"sources":["bit-map.ts"],"sourcesContent":["import { isEqual, merge } from 'lodash';\nimport { ComponentID } from '@teambit/component-id';\nimport { BitMap as LegacyBitMap, ComponentMap, GetBitMapComponentOptions } from '@teambit/legacy.bit-map';\nimport { Consumer } from '@teambit/legacy/dist/consumer';\nimport { REMOVE_EXTENSION_SPECIAL_SIGN } from '@teambit/legacy/dist/consumer/config';\nimport { BitError } from '@teambit/bit-error';\nimport { LaneId } from '@teambit/lane-id';\nimport { EnvsAspect } from '@teambit/envs';\nimport { PathOsBasedAbsolute } from '@teambit/toolbox.path.path';\nimport { getPathStatIfExist } from '@teambit/toolbox.fs.last-modified';\n\nexport type MergeOptions = {\n mergeStrategy?: 'theirs' | 'ours' | 'manual';\n};\n/**\n * consider extracting to a new component.\n * (pro: making Workspace aspect smaller. con: it's an implementation details of the workspace)\n */\nexport class BitMap {\n constructor(private legacyBitMap: LegacyBitMap, private consumer: Consumer) {}\n\n mergeBitmaps(bitmapContent: string, otherBitmapContent: string, opts: MergeOptions = {}): string {\n return LegacyBitMap.mergeContent(bitmapContent, otherBitmapContent, opts);\n }\n\n getPath(): PathOsBasedAbsolute {\n return this.legacyBitMap.mapPath;\n }\n\n getAllRootDirs(): string[] {\n return Object.keys(this.legacyBitMap.getAllTrackDirs());\n }\n\n /**\n * adds component config to the .bitmap file.\n * later, upon `bit tag`, the data is saved in the scope.\n * returns a boolean indicating whether a change has been made.\n */\n addComponentConfig(\n id: ComponentID,\n aspectId: string,\n config: Record<string, any> = {},\n shouldMergeConfig = false\n ): boolean {\n if (!aspectId || typeof aspectId !== 'string') throw new Error(`expect aspectId to be string, got ${aspectId}`);\n const bitMapEntry = this.getBitmapEntry(id, { ignoreVersion: true });\n const currentConfig = (bitMapEntry.config ||= {})[aspectId];\n if (isEqual(currentConfig, config)) {\n return false; // no changes\n }\n const getNewConfig = () => {\n if (!config) return null;\n if (!shouldMergeConfig) return config;\n // should merge\n if (!currentConfig) return config;\n if (currentConfig === '-') return config;\n // lodash merge performs a deep merge. (the native concatenation don't)\n return merge(currentConfig, config);\n };\n const newConfig = getNewConfig();\n if (newConfig) {\n bitMapEntry.config[aspectId] = newConfig;\n } else {\n delete bitMapEntry.config[aspectId];\n }\n this.legacyBitMap.markAsChanged();\n\n return true; // changes have been made\n }\n\n updateDefaultScope(oldScope: string, newScope: string) {\n const changedId: ComponentID[] = [];\n this.legacyBitMap.components.forEach((componentMap) => {\n // only new components (not snapped/tagged) can be changed\n if (componentMap.defaultScope === oldScope && !componentMap.id.hasVersion()) {\n componentMap.defaultScope = newScope;\n componentMap.id = componentMap.id.changeDefaultScope(newScope);\n changedId.push(componentMap.id);\n }\n });\n if (changedId.length) {\n this.legacyBitMap.markAsChanged();\n }\n return changedId;\n }\n\n markAsChanged() {\n this.legacyBitMap.markAsChanged();\n }\n\n removeComponentConfig(id: ComponentID, aspectId: string, markWithMinusIfNotExist: boolean): boolean {\n if (!aspectId || typeof aspectId !== 'string') throw new Error(`expect aspectId to be string, got ${aspectId}`);\n const bitMapEntry = this.getBitmapEntry(id, { ignoreVersion: true });\n const currentConfig = (bitMapEntry.config ||= {})[aspectId];\n if (currentConfig) {\n delete bitMapEntry.config[aspectId];\n } else {\n if (!markWithMinusIfNotExist) {\n return false; // no changes\n }\n bitMapEntry.config[aspectId] = REMOVE_EXTENSION_SPECIAL_SIGN;\n }\n\n this.legacyBitMap.markAsChanged();\n\n return true; // changes have been made\n }\n\n removeEntireConfig(id: ComponentID): boolean {\n const bitMapEntry = this.getBitmapEntry(id, { ignoreVersion: true });\n if (!bitMapEntry.config) return false;\n delete bitMapEntry.config;\n this.legacyBitMap.markAsChanged();\n return true;\n }\n\n setEntireConfig(id: ComponentID, config: Record<string, any>) {\n const bitMapEntry = this.getBitmapEntry(id, { ignoreVersion: true });\n bitMapEntry.config = config;\n this.legacyBitMap.markAsChanged();\n }\n\n removeDefaultScope(id: ComponentID) {\n const bitMapEntry = this.getBitmapEntry(id, { ignoreVersion: true });\n if (bitMapEntry.defaultScope) {\n delete bitMapEntry.defaultScope;\n this.legacyBitMap.markAsChanged();\n }\n }\n\n setDefaultScope(id: ComponentID, defaultScope: string) {\n const bitMapEntry = this.getBitmapEntry(id, { ignoreVersion: true });\n bitMapEntry.defaultScope = defaultScope;\n bitMapEntry.id = bitMapEntry.id.changeDefaultScope(defaultScope);\n this.legacyBitMap.markAsChanged();\n }\n\n /**\n * write .bitmap object to the filesystem\n * optionally pass a reason for the change to be saved in the local scope `bitmap-history-metadata.txt` file.\n */\n async write(reasonForChange?: string) {\n await this.consumer.writeBitMap(reasonForChange);\n }\n\n /**\n * get the data saved in the .bitmap file for this component-id.\n * throws if not found\n * @see this.getBitmapEntryIfExist\n */\n getBitmapEntry(id: ComponentID, { ignoreVersion }: GetBitMapComponentOptions = {}): ComponentMap {\n return this.legacyBitMap.getComponent(id, { ignoreVersion });\n }\n\n getBitmapEntryIfExist(id: ComponentID, { ignoreVersion }: GetBitMapComponentOptions = {}): ComponentMap | undefined {\n return this.legacyBitMap.getComponentIfExist(id, { ignoreVersion });\n }\n\n getAspectIdFromConfig(\n componentId: ComponentID,\n aspectId: ComponentID,\n ignoreAspectVersion = false\n ): string | undefined {\n const bitMapEntry = this.getBitmapEntry(componentId);\n const config = bitMapEntry.config;\n if (!config) {\n return undefined;\n }\n if (config[aspectId.toString()]) {\n return aspectId.toString();\n }\n if (!ignoreAspectVersion) {\n return undefined;\n }\n const allVersions = Object.keys(config).filter((id) => id.startsWith(`${aspectId.toStringWithoutVersion()}@`));\n if (allVersions.length > 1) {\n throw new BitError(\n `error: the same aspect ${\n aspectId.toStringWithoutVersion\n } configured multiple times for \"${componentId.toString()}\"\\n${allVersions.join('\\n')}`\n );\n }\n return allVersions.length === 1 ? allVersions[0] : undefined;\n }\n\n /**\n * components that were not tagged yet are safe to rename them from the .bitmap file.\n */\n renameNewComponent(sourceId: ComponentID, targetId: ComponentID) {\n const bitMapEntry = this.getBitmapEntry(sourceId);\n if (bitMapEntry.id.hasVersion()) {\n throw new Error(`unable to rename tagged or exported component: ${bitMapEntry.id.toString()}`);\n }\n if (sourceId.isEqual(targetId)) {\n throw new Error(`source-id and target-id are equal: \"${sourceId.toString()}\"`);\n }\n if (sourceId.fullName !== targetId.fullName) {\n this.legacyBitMap.removeComponent(bitMapEntry.id);\n bitMapEntry.id = targetId;\n if (sourceId.scope !== targetId.scope) bitMapEntry.defaultScope = targetId.scope;\n this.legacyBitMap.setComponent(bitMapEntry.id, bitMapEntry);\n } else if (sourceId.scope !== targetId.scope) {\n this.setDefaultScope(sourceId, targetId.scope);\n }\n }\n\n /**\n * helpful when reaming an aspect and this aspect is used in the config of other components.\n */\n renameAspectInConfig(sourceId: ComponentID, targetId: ComponentID) {\n this.legacyBitMap.components.forEach((componentMap) => {\n const config = componentMap.config;\n if (!config) return;\n Object.keys(config).forEach((aspectId) => {\n if (aspectId === sourceId.toString()) {\n config[targetId.toString()] = config[aspectId];\n delete config[aspectId];\n this.markAsChanged();\n }\n if (aspectId === EnvsAspect.id) {\n const envConfig = config[aspectId];\n if (envConfig !== '-' && envConfig.env === sourceId.toString()) {\n envConfig.env = targetId.toString();\n this.markAsChanged();\n }\n }\n });\n componentMap.config = config;\n });\n }\n\n removeComponent(id: ComponentID) {\n this.legacyBitMap.removeComponent(id);\n }\n\n /**\n * this is the lane-id of the recently exported lane. in case of a new lane, which was not exported yet, this will be\n * empty.\n */\n getExportedLaneId(): LaneId | undefined {\n return this.legacyBitMap.isLaneExported ? this.legacyBitMap.laneId : undefined;\n }\n\n makeComponentsAvailableOnMain(ids: ComponentID[]) {\n ids.forEach((id) => {\n const componentMap = this.getBitmapEntry(id);\n componentMap.isAvailableOnCurrentLane = true;\n delete componentMap.onLanesOnly;\n });\n this.legacyBitMap.markAsChanged();\n }\n\n /**\n * whether .bitmap file has changed in-memory\n */\n hasChanged(): boolean {\n return this.legacyBitMap.hasChanged;\n }\n\n takeSnapshot(): ComponentMap[] {\n return this.legacyBitMap.components.map((comp) => comp.clone());\n }\n\n restoreFromSnapshot(componentMaps: ComponentMap[]) {\n this.legacyBitMap.components = componentMaps;\n this.legacyBitMap._invalidateCache();\n }\n\n /**\n * .bitmap file could be changed by other sources (e.g. manually or by \"git pull\") not only by bit.\n * this method returns the timestamp when the .bitmap has changed through bit. (e.g. as part of snap/tag/export/merge\n * process)\n */\n async getLastModifiedBitmapThroughBit(): Promise<number | undefined> {\n const bitmapHistoryDir = this.consumer.getBitmapHistoryDir();\n const stat = await getPathStatIfExist(bitmapHistoryDir);\n if (!stat) return undefined;\n return stat.mtimeMs;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ComponentID, AspectList, ResolveComponentIdFunc } from '@teambit/component';
|
|
2
2
|
import { ExtensionDataList } from '@teambit/legacy/dist/consumer/config/extension-data';
|
|
3
|
-
import { PathOsBasedAbsolute } from '@teambit/legacy
|
|
3
|
+
import { PathOsBasedAbsolute } from '@teambit/legacy.utils';
|
|
4
4
|
import { JsonVinyl } from '@teambit/legacy/dist/consumer/component/json-vinyl';
|
|
5
5
|
interface ComponentConfigFileOptions {
|
|
6
6
|
indent: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_component","data","require","_constants","_extensionData","_jsonVinyl","_detectIndent","_interopRequireDefault","_detectNewline","_fsExtra","_path","_config","_lodash","_exceptions","e","__esModule","default","DEFAULT_INDENT","DEFAULT_NEWLINE","ComponentConfigFile","constructor","componentId","aspects","componentDir","propagate","options","indent","newLine","defaultScope","load","aspectListFactory","outsideDefaultScope","filePath","composePath","isExist","fs","pathExists","undefined","content","readFile","parsed","parseComponentJsonContent","detectIndent","detectNewline","ComponentID","fromObject","ExtensionDataList","fromConfigObject","extensions","Boolean","componentRootFolder","path","join","COMPONENT_CONFIG_FILE_NAME","toVinylFile","json","toJson","override","AlreadyExistsError","JsonVinyl","base","dirname","newline","write","vinyl","addAspect","aspectId","config","resolveComponentId","shouldMergeConfig","existing","get","getNewConfig","merge","aspectEntry","aspectEntryFromConfigObject","entries","push","removeAspect","markWithMinusIfNotExist","aspectList","withoutEntries","REMOVE_EXTENSION_SPECIAL_SIGN","id","legacyEntry","configEntryToDataEntry","AspectEntry","toObject","toConfigObject","exports","str","dir","JSON","parse","err","Error","message"],"sources":["component-config-file.ts"],"sourcesContent":["import { ComponentID, AspectList, AspectEntry, ResolveComponentIdFunc } from '@teambit/component';\nimport { COMPONENT_CONFIG_FILE_NAME } from '@teambit/legacy/dist/constants';\nimport { ExtensionDataList, configEntryToDataEntry } from '@teambit/legacy/dist/consumer/config/extension-data';\nimport { PathOsBasedAbsolute } from '@teambit/legacy/dist/utils/path';\nimport { JsonVinyl } from '@teambit/legacy/dist/consumer/component/json-vinyl';\nimport detectIndent from 'detect-indent';\nimport detectNewline from 'detect-newline';\nimport fs from 'fs-extra';\nimport path from 'path';\nimport { REMOVE_EXTENSION_SPECIAL_SIGN } from '@teambit/legacy/dist/consumer/config';\nimport { merge } from 'lodash';\nimport { AlreadyExistsError } from './exceptions';\n\ninterface ComponentConfigFileOptions {\n indent: string;\n newLine: '\\r\\n' | '\\n' | undefined;\n}\n\ninterface WriteConfigFileOptions {\n override?: boolean;\n}\n\ninterface ComponentConfigFileJson {\n componentId: any;\n // TODO: think if we want to change it to aspects\n extensions: any;\n propagate: boolean;\n defaultScope?: string;\n}\n\nconst DEFAULT_INDENT = ' ';\nconst DEFAULT_NEWLINE = '\\n';\n\nexport class ComponentConfigFile {\n constructor(\n public componentId: ComponentID,\n public aspects: AspectList,\n private componentDir: PathOsBasedAbsolute,\n public propagate: boolean = false,\n private options: ComponentConfigFileOptions = { indent: DEFAULT_INDENT, newLine: DEFAULT_NEWLINE },\n public defaultScope?: string\n ) {}\n\n static async load(\n componentDir: PathOsBasedAbsolute,\n aspectListFactory: (extensionDataList: ExtensionDataList) => Promise<AspectList>,\n outsideDefaultScope?: string\n ): Promise<ComponentConfigFile | undefined> {\n const filePath = ComponentConfigFile.composePath(componentDir);\n const isExist = await fs.pathExists(filePath);\n if (!isExist) {\n return undefined;\n }\n const content = await fs.readFile(filePath, 'utf-8');\n const parsed: ComponentConfigFileJson = parseComponentJsonContent(content, componentDir);\n const indent = detectIndent(content).indent;\n const newLine = detectNewline(content);\n const componentId = ComponentID.fromObject(parsed.componentId, parsed.defaultScope || outsideDefaultScope);\n const aspects = await aspectListFactory(ExtensionDataList.fromConfigObject(parsed.extensions));\n\n return new ComponentConfigFile(\n componentId,\n aspects,\n componentDir,\n Boolean(parsed.propagate),\n { indent, newLine },\n parsed.defaultScope\n );\n }\n\n static composePath(componentRootFolder: string) {\n return path.join(componentRootFolder, COMPONENT_CONFIG_FILE_NAME);\n }\n\n async toVinylFile(options: WriteConfigFileOptions = {}): Promise<JsonVinyl> {\n const json = this.toJson();\n const filePath = ComponentConfigFile.composePath(this.componentDir);\n const isExist = await fs.pathExists(filePath);\n if (isExist && !options.override) {\n throw new AlreadyExistsError(filePath);\n }\n\n return JsonVinyl.load({\n base: path.dirname(filePath),\n path: filePath,\n content: json,\n override: true,\n indent: this.options.indent,\n newline: this.options.newLine,\n });\n }\n\n async write(options: WriteConfigFileOptions = {}): Promise<void> {\n const vinyl = await this.toVinylFile(options);\n await vinyl.write();\n }\n\n async addAspect(\n aspectId: string,\n config: any,\n resolveComponentId: ResolveComponentIdFunc,\n shouldMergeConfig = false\n ) {\n const existing = this.aspects.get(aspectId);\n\n if (existing) {\n const getNewConfig = () => {\n if (!shouldMergeConfig) return config;\n if (!config || config === '-') return config;\n if (!existing.config) return config;\n // @ts-ignore\n if (existing.config === '-') return config;\n return merge(existing.config, config);\n };\n existing.config = getNewConfig();\n } else {\n const aspectEntry = await this.aspectEntryFromConfigObject(aspectId, config, resolveComponentId);\n this.aspects.entries.push(aspectEntry);\n }\n }\n\n async removeAspect(aspectId: string, markWithMinusIfNotExist: boolean, resolveComponentId: ResolveComponentIdFunc) {\n const existing = this.aspects.get(aspectId);\n if (existing) {\n const aspectList = this.aspects.withoutEntries([aspectId]);\n this.aspects = aspectList;\n } else if (markWithMinusIfNotExist) {\n await this.addAspect(aspectId, REMOVE_EXTENSION_SPECIAL_SIGN, resolveComponentId);\n }\n }\n\n private async aspectEntryFromConfigObject(id: string, config: any, resolveComponentId: ResolveComponentIdFunc) {\n const aspectId = await resolveComponentId(id);\n const legacyEntry = configEntryToDataEntry(id, config);\n return new AspectEntry(aspectId, legacyEntry);\n }\n\n toJson(): ComponentConfigFileJson {\n return {\n componentId: this.componentId.toObject(),\n propagate: this.propagate,\n defaultScope: this.defaultScope,\n extensions: this.aspects.toConfigObject(),\n };\n }\n}\n\nfunction parseComponentJsonContent(str: string, dir: string) {\n try {\n return JSON.parse(str);\n } catch (err: any) {\n throw new Error(`failed parsing component.json file at ${dir}. original error: ${err.message}`);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_component","data","require","_constants","_extensionData","_jsonVinyl","_detectIndent","_interopRequireDefault","_detectNewline","_fsExtra","_path","_config","_lodash","_exceptions","e","__esModule","default","DEFAULT_INDENT","DEFAULT_NEWLINE","ComponentConfigFile","constructor","componentId","aspects","componentDir","propagate","options","indent","newLine","defaultScope","load","aspectListFactory","outsideDefaultScope","filePath","composePath","isExist","fs","pathExists","undefined","content","readFile","parsed","parseComponentJsonContent","detectIndent","detectNewline","ComponentID","fromObject","ExtensionDataList","fromConfigObject","extensions","Boolean","componentRootFolder","path","join","COMPONENT_CONFIG_FILE_NAME","toVinylFile","json","toJson","override","AlreadyExistsError","JsonVinyl","base","dirname","newline","write","vinyl","addAspect","aspectId","config","resolveComponentId","shouldMergeConfig","existing","get","getNewConfig","merge","aspectEntry","aspectEntryFromConfigObject","entries","push","removeAspect","markWithMinusIfNotExist","aspectList","withoutEntries","REMOVE_EXTENSION_SPECIAL_SIGN","id","legacyEntry","configEntryToDataEntry","AspectEntry","toObject","toConfigObject","exports","str","dir","JSON","parse","err","Error","message"],"sources":["component-config-file.ts"],"sourcesContent":["import { ComponentID, AspectList, AspectEntry, ResolveComponentIdFunc } from '@teambit/component';\nimport { COMPONENT_CONFIG_FILE_NAME } from '@teambit/legacy/dist/constants';\nimport { ExtensionDataList, configEntryToDataEntry } from '@teambit/legacy/dist/consumer/config/extension-data';\nimport { PathOsBasedAbsolute } from '@teambit/legacy.utils';\nimport { JsonVinyl } from '@teambit/legacy/dist/consumer/component/json-vinyl';\nimport detectIndent from 'detect-indent';\nimport detectNewline from 'detect-newline';\nimport fs from 'fs-extra';\nimport path from 'path';\nimport { REMOVE_EXTENSION_SPECIAL_SIGN } from '@teambit/legacy/dist/consumer/config';\nimport { merge } from 'lodash';\nimport { AlreadyExistsError } from './exceptions';\n\ninterface ComponentConfigFileOptions {\n indent: string;\n newLine: '\\r\\n' | '\\n' | undefined;\n}\n\ninterface WriteConfigFileOptions {\n override?: boolean;\n}\n\ninterface ComponentConfigFileJson {\n componentId: any;\n // TODO: think if we want to change it to aspects\n extensions: any;\n propagate: boolean;\n defaultScope?: string;\n}\n\nconst DEFAULT_INDENT = ' ';\nconst DEFAULT_NEWLINE = '\\n';\n\nexport class ComponentConfigFile {\n constructor(\n public componentId: ComponentID,\n public aspects: AspectList,\n private componentDir: PathOsBasedAbsolute,\n public propagate: boolean = false,\n private options: ComponentConfigFileOptions = { indent: DEFAULT_INDENT, newLine: DEFAULT_NEWLINE },\n public defaultScope?: string\n ) {}\n\n static async load(\n componentDir: PathOsBasedAbsolute,\n aspectListFactory: (extensionDataList: ExtensionDataList) => Promise<AspectList>,\n outsideDefaultScope?: string\n ): Promise<ComponentConfigFile | undefined> {\n const filePath = ComponentConfigFile.composePath(componentDir);\n const isExist = await fs.pathExists(filePath);\n if (!isExist) {\n return undefined;\n }\n const content = await fs.readFile(filePath, 'utf-8');\n const parsed: ComponentConfigFileJson = parseComponentJsonContent(content, componentDir);\n const indent = detectIndent(content).indent;\n const newLine = detectNewline(content);\n const componentId = ComponentID.fromObject(parsed.componentId, parsed.defaultScope || outsideDefaultScope);\n const aspects = await aspectListFactory(ExtensionDataList.fromConfigObject(parsed.extensions));\n\n return new ComponentConfigFile(\n componentId,\n aspects,\n componentDir,\n Boolean(parsed.propagate),\n { indent, newLine },\n parsed.defaultScope\n );\n }\n\n static composePath(componentRootFolder: string) {\n return path.join(componentRootFolder, COMPONENT_CONFIG_FILE_NAME);\n }\n\n async toVinylFile(options: WriteConfigFileOptions = {}): Promise<JsonVinyl> {\n const json = this.toJson();\n const filePath = ComponentConfigFile.composePath(this.componentDir);\n const isExist = await fs.pathExists(filePath);\n if (isExist && !options.override) {\n throw new AlreadyExistsError(filePath);\n }\n\n return JsonVinyl.load({\n base: path.dirname(filePath),\n path: filePath,\n content: json,\n override: true,\n indent: this.options.indent,\n newline: this.options.newLine,\n });\n }\n\n async write(options: WriteConfigFileOptions = {}): Promise<void> {\n const vinyl = await this.toVinylFile(options);\n await vinyl.write();\n }\n\n async addAspect(\n aspectId: string,\n config: any,\n resolveComponentId: ResolveComponentIdFunc,\n shouldMergeConfig = false\n ) {\n const existing = this.aspects.get(aspectId);\n\n if (existing) {\n const getNewConfig = () => {\n if (!shouldMergeConfig) return config;\n if (!config || config === '-') return config;\n if (!existing.config) return config;\n // @ts-ignore\n if (existing.config === '-') return config;\n return merge(existing.config, config);\n };\n existing.config = getNewConfig();\n } else {\n const aspectEntry = await this.aspectEntryFromConfigObject(aspectId, config, resolveComponentId);\n this.aspects.entries.push(aspectEntry);\n }\n }\n\n async removeAspect(aspectId: string, markWithMinusIfNotExist: boolean, resolveComponentId: ResolveComponentIdFunc) {\n const existing = this.aspects.get(aspectId);\n if (existing) {\n const aspectList = this.aspects.withoutEntries([aspectId]);\n this.aspects = aspectList;\n } else if (markWithMinusIfNotExist) {\n await this.addAspect(aspectId, REMOVE_EXTENSION_SPECIAL_SIGN, resolveComponentId);\n }\n }\n\n private async aspectEntryFromConfigObject(id: string, config: any, resolveComponentId: ResolveComponentIdFunc) {\n const aspectId = await resolveComponentId(id);\n const legacyEntry = configEntryToDataEntry(id, config);\n return new AspectEntry(aspectId, legacyEntry);\n }\n\n toJson(): ComponentConfigFileJson {\n return {\n componentId: this.componentId.toObject(),\n propagate: this.propagate,\n defaultScope: this.defaultScope,\n extensions: this.aspects.toConfigObject(),\n };\n }\n}\n\nfunction parseComponentJsonContent(str: string, dir: string) {\n try {\n return JSON.parse(str);\n } catch (err: any) {\n throw new Error(`failed parsing component.json file at ${dir}. original error: ${err.message}`);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Component, ComponentID, AspectData } from '@teambit/component';
|
|
2
2
|
import { ComponentLoadOptions } from '@teambit/legacy/dist/consumer/component/component-loader';
|
|
3
|
-
import type { PathOsBasedAbsolute } from '@teambit/legacy
|
|
3
|
+
import type { PathOsBasedAbsolute } from '@teambit/legacy.utils';
|
|
4
4
|
import { WatchOptions } from '@teambit/watcher';
|
|
5
5
|
export type SerializableResults = {
|
|
6
6
|
results: any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["on-component-events.ts"],"sourcesContent":["import { Component, ComponentID, AspectData } from '@teambit/component';\nimport { ComponentLoadOptions } from '@teambit/legacy/dist/consumer/component/component-loader';\nimport type { PathOsBasedAbsolute } from '@teambit/legacy
|
|
1
|
+
{"version":3,"names":[],"sources":["on-component-events.ts"],"sourcesContent":["import { Component, ComponentID, AspectData } from '@teambit/component';\nimport { ComponentLoadOptions } from '@teambit/legacy/dist/consumer/component/component-loader';\nimport type { PathOsBasedAbsolute } from '@teambit/legacy.utils';\nimport { WatchOptions } from '@teambit/watcher';\n\nexport type SerializableResults = { results: any; toString: () => string };\nexport type OnComponentChange = (\n component: Component,\n files: PathOsBasedAbsolute[],\n removedFiles: PathOsBasedAbsolute[],\n watchOpts: WatchOptions\n) => Promise<SerializableResults | void>;\nexport type OnComponentAdd = (\n component: Component,\n files: string[],\n watchOpts: WatchOptions\n) => Promise<SerializableResults | void>;\nexport type OnComponentRemove = (componentId: ComponentID) => Promise<SerializableResults>;\nexport type OnComponentEventResult = { extensionId: string; results: SerializableResults };\n\nexport type OnComponentLoad = (\n component: Component,\n loadOpts?: ComponentLoadOptions\n) => Promise<AspectData | undefined>;\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.workspace_workspace@1.0.
|
|
2
|
-
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.workspace_workspace@1.0.
|
|
1
|
+
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.workspace_workspace@1.0.331/dist/workspace.composition.js';
|
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.workspace_workspace@1.0.331/dist/workspace.docs.mdx';
|
|
3
3
|
|
|
4
4
|
export const compositions = [compositions_0];
|
|
5
5
|
export const overview = [overview_0];
|
|
@@ -39,15 +39,15 @@ function _constants() {
|
|
|
39
39
|
};
|
|
40
40
|
return data;
|
|
41
41
|
}
|
|
42
|
-
function
|
|
43
|
-
const data = require("@teambit/legacy
|
|
44
|
-
|
|
42
|
+
function _legacy() {
|
|
43
|
+
const data = require("@teambit/legacy.bit-map");
|
|
44
|
+
_legacy = function () {
|
|
45
45
|
return data;
|
|
46
46
|
};
|
|
47
47
|
return data;
|
|
48
48
|
}
|
|
49
49
|
function _componentsPendingImport() {
|
|
50
|
-
const data = _interopRequireDefault(require("@teambit/legacy/dist/consumer/
|
|
50
|
+
const data = _interopRequireDefault(require("@teambit/legacy/dist/consumer/exceptions/components-pending-import"));
|
|
51
51
|
_componentsPendingImport = function () {
|
|
52
52
|
return data;
|
|
53
53
|
};
|
|
@@ -134,7 +134,7 @@ class ComponentStatusLoader {
|
|
|
134
134
|
}
|
|
135
135
|
componentFromFileSystem = components[0];
|
|
136
136
|
} catch (err) {
|
|
137
|
-
if (err instanceof _componentNotFoundInPath().default || err instanceof
|
|
137
|
+
if (err instanceof _componentNotFoundInPath().default || err instanceof _legacy().MissingBitMapComponent) {
|
|
138
138
|
// the file/s have been deleted or the component doesn't exist in bit.map file
|
|
139
139
|
if (componentFromModel) status.deleted = true;else status.notExist = true;
|
|
140
140
|
return status;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_pMapSeries","data","_interopRequireDefault","require","_componentId","_bitError","_modelComponent","_constants","_exceptions","_componentsPendingImport","_componentNotFoundInPath","_componentOutOfSync","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","ComponentStatusLoader","constructor","workspace","consumer","getManyComponentsStatuses","ids","results","mapSeries","id","status","getComponentStatusById","push","_componentsStatusCache","toString","result","getStatus","componentFromModel","scope","getModelComponentIfExist","componentFromFileSystem","components","removedComponents","loadComponents","ComponentIdList","changeVersion","LATEST","length","deleted","err","ComponentNotFoundInPath","MissingBitMapComponent","notExist","ComponentsPendingImport","missingFromScope","newlyCreated","getHeadRegardlessOfLaneAsTagOrHash","VERSION_ZERO","lane","getCurrentLaneObject","setDivergeData","objects","staged","isLocallyChanged","versionFromFs","version","idStr","hasVersion","ComponentOutOfSync","versionRef","getRef","BitError","versionFromModel","getObject","hash","modified","isComponentModified","clearOneComponentCache","clearCache","exports"],"sources":["component-status-loader.ts"],"sourcesContent":["import mapSeries from 'p-map-series';\nimport { ComponentID, ComponentIdList } from '@teambit/component-id';\nimport { BitError } from '@teambit/bit-error';\nimport { VERSION_ZERO } from '@teambit/legacy/dist/scope/models/model-component';\nimport { Consumer } from '@teambit/legacy/dist/consumer';\nimport { LATEST } from '@teambit/legacy/dist/constants';\nimport { ModelComponent } from '@teambit/legacy/dist/scope/models';\nimport { MissingBitMapComponent } from '@teambit/legacy/dist/consumer/bit-map/exceptions';\nimport ComponentsPendingImport from '@teambit/legacy/dist/consumer/component-ops/exceptions/components-pending-import';\nimport ComponentNotFoundInPath from '@teambit/legacy/dist/consumer/component/exceptions/component-not-found-in-path';\nimport ComponentOutOfSync from '@teambit/legacy/dist/consumer/exceptions/component-out-of-sync';\nimport { Workspace } from '..';\n\nexport type ComponentStatusLegacy = {\n modified: boolean;\n newlyCreated: boolean;\n deleted: boolean;\n staged: boolean;\n notExist: boolean;\n missingFromScope: boolean;\n};\n\nexport type ComponentStatusResult = { id: ComponentID; status: ComponentStatusLegacy };\n\nexport class ComponentStatusLoader {\n private _componentsStatusCache: Record<string, any> = {}; // cache loaded components\n constructor(private workspace: Workspace) {}\n\n get consumer(): Consumer {\n return this.workspace.consumer;\n }\n\n async getManyComponentsStatuses(ids: ComponentID[]): Promise<ComponentStatusResult[]> {\n const results: ComponentStatusResult[] = [];\n await mapSeries(ids, async (id) => {\n const status = await this.getComponentStatusById(id);\n results.push({ id, status });\n });\n return results;\n }\n\n /**\n * Get a component status by ID. Return a ComponentStatus object.\n * Keep in mind that a result can be a partial object of ComponentStatus, e.g. { notExist: true }.\n * Each one of the ComponentStatus properties can be undefined, true or false.\n * As a result, in order to check whether a component is not modified use (status.modified === false).\n * Don't use (!status.modified) because a component may not exist and the status.modified will be undefined.\n *\n * The status may have 'true' for several properties. For example, a component can be staged and modified at the\n * same time.\n *\n * The result is cached per ID and can be called several times with no penalties.\n */\n async getComponentStatusById(id: ComponentID): Promise<ComponentStatusLegacy> {\n if (!this._componentsStatusCache[id.toString()]) {\n // don't do this: `this._componentsStatusCache[id.toString()] = await this.getStatus(id);`\n // yes, it doesn't make sense right? turns out that \"getStatus\" can call `linkIfMissingWorkspaceAspects` which\n // calls `linkToNodeModulesByIds` which deletes this cache. and makes this: `this._componentsStatusCache[id.toString()]` undefined.\n const result = await this.getStatus(id);\n this._componentsStatusCache[id.toString()] = result;\n }\n return this._componentsStatusCache[id.toString()];\n }\n\n private async getStatus(id: ComponentID) {\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n const status: ComponentStatusLegacy = {};\n const componentFromModel: ModelComponent | undefined = await this.consumer.scope.getModelComponentIfExist(id);\n let componentFromFileSystem;\n try {\n // change to 'latest' before loading from FS. don't change to null, otherwise, it'll cause\n // loadOne to not find model component as it assumes there is no version\n // also, don't leave the id as is, otherwise, it'll cause issues with import --merge, when\n // imported version is bigger than .bitmap, it won't find it and will consider as deleted\n const { components, removedComponents } = await this.consumer.loadComponents(\n new ComponentIdList(id.changeVersion(LATEST))\n );\n if (removedComponents.length) {\n status.deleted = true;\n return status;\n }\n componentFromFileSystem = components[0];\n } catch (err: any) {\n if (err instanceof ComponentNotFoundInPath || err instanceof MissingBitMapComponent) {\n // the file/s have been deleted or the component doesn't exist in bit.map file\n if (componentFromModel) status.deleted = true;\n else status.notExist = true;\n return status;\n }\n if (err instanceof ComponentsPendingImport) {\n status.missingFromScope;\n return status;\n }\n throw err;\n }\n if (!componentFromModel) {\n status.newlyCreated = true;\n return status;\n }\n if (componentFromModel.getHeadRegardlessOfLaneAsTagOrHash(true) === VERSION_ZERO) {\n status.newlyCreated = true;\n return status;\n }\n\n const lane = await this.consumer.getCurrentLaneObject();\n await componentFromModel.setDivergeData(this.consumer.scope.objects);\n status.staged = await componentFromModel.isLocallyChanged(this.consumer.scope.objects, lane);\n const versionFromFs = componentFromFileSystem.id.version;\n const idStr = id.toString();\n if (!componentFromFileSystem.id.hasVersion()) {\n throw new ComponentOutOfSync(idStr);\n }\n // TODO: instead of doing that like this we should use:\n // const versionFromModel = await componentFromModel.loadVersion(versionFromFs, this.consumer.scope.objects);\n // it looks like it's exactly the same code but it's not working from some reason\n const versionRef = componentFromModel.getRef(versionFromFs);\n if (!versionRef) throw new BitError(`version ${versionFromFs} was not found in ${idStr}`);\n const versionFromModel = await this.consumer.scope.getObject(versionRef.hash);\n if (!versionFromModel) {\n throw new BitError(`failed loading version ${versionFromFs} of ${idStr} from the scope`);\n }\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n status.modified = await this.consumer.isComponentModified(versionFromModel, componentFromFileSystem);\n return status;\n }\n\n clearOneComponentCache(id: ComponentID) {\n delete this._componentsStatusCache[id.toString()];\n }\n\n clearCache() {\n this._componentsStatusCache = {};\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_pMapSeries","data","_interopRequireDefault","require","_componentId","_bitError","_modelComponent","_constants","_legacy","_componentsPendingImport","_componentNotFoundInPath","_componentOutOfSync","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","ComponentStatusLoader","constructor","workspace","consumer","getManyComponentsStatuses","ids","results","mapSeries","id","status","getComponentStatusById","push","_componentsStatusCache","toString","result","getStatus","componentFromModel","scope","getModelComponentIfExist","componentFromFileSystem","components","removedComponents","loadComponents","ComponentIdList","changeVersion","LATEST","length","deleted","err","ComponentNotFoundInPath","MissingBitMapComponent","notExist","ComponentsPendingImport","missingFromScope","newlyCreated","getHeadRegardlessOfLaneAsTagOrHash","VERSION_ZERO","lane","getCurrentLaneObject","setDivergeData","objects","staged","isLocallyChanged","versionFromFs","version","idStr","hasVersion","ComponentOutOfSync","versionRef","getRef","BitError","versionFromModel","getObject","hash","modified","isComponentModified","clearOneComponentCache","clearCache","exports"],"sources":["component-status-loader.ts"],"sourcesContent":["import mapSeries from 'p-map-series';\nimport { ComponentID, ComponentIdList } from '@teambit/component-id';\nimport { BitError } from '@teambit/bit-error';\nimport { VERSION_ZERO } from '@teambit/legacy/dist/scope/models/model-component';\nimport { Consumer } from '@teambit/legacy/dist/consumer';\nimport { LATEST } from '@teambit/legacy/dist/constants';\nimport { ModelComponent } from '@teambit/legacy/dist/scope/models';\nimport { MissingBitMapComponent } from '@teambit/legacy.bit-map';\nimport ComponentsPendingImport from '@teambit/legacy/dist/consumer/exceptions/components-pending-import';\nimport ComponentNotFoundInPath from '@teambit/legacy/dist/consumer/component/exceptions/component-not-found-in-path';\nimport ComponentOutOfSync from '@teambit/legacy/dist/consumer/exceptions/component-out-of-sync';\nimport { Workspace } from '..';\n\nexport type ComponentStatusLegacy = {\n modified: boolean;\n newlyCreated: boolean;\n deleted: boolean;\n staged: boolean;\n notExist: boolean;\n missingFromScope: boolean;\n};\n\nexport type ComponentStatusResult = { id: ComponentID; status: ComponentStatusLegacy };\n\nexport class ComponentStatusLoader {\n private _componentsStatusCache: Record<string, any> = {}; // cache loaded components\n constructor(private workspace: Workspace) {}\n\n get consumer(): Consumer {\n return this.workspace.consumer;\n }\n\n async getManyComponentsStatuses(ids: ComponentID[]): Promise<ComponentStatusResult[]> {\n const results: ComponentStatusResult[] = [];\n await mapSeries(ids, async (id) => {\n const status = await this.getComponentStatusById(id);\n results.push({ id, status });\n });\n return results;\n }\n\n /**\n * Get a component status by ID. Return a ComponentStatus object.\n * Keep in mind that a result can be a partial object of ComponentStatus, e.g. { notExist: true }.\n * Each one of the ComponentStatus properties can be undefined, true or false.\n * As a result, in order to check whether a component is not modified use (status.modified === false).\n * Don't use (!status.modified) because a component may not exist and the status.modified will be undefined.\n *\n * The status may have 'true' for several properties. For example, a component can be staged and modified at the\n * same time.\n *\n * The result is cached per ID and can be called several times with no penalties.\n */\n async getComponentStatusById(id: ComponentID): Promise<ComponentStatusLegacy> {\n if (!this._componentsStatusCache[id.toString()]) {\n // don't do this: `this._componentsStatusCache[id.toString()] = await this.getStatus(id);`\n // yes, it doesn't make sense right? turns out that \"getStatus\" can call `linkIfMissingWorkspaceAspects` which\n // calls `linkToNodeModulesByIds` which deletes this cache. and makes this: `this._componentsStatusCache[id.toString()]` undefined.\n const result = await this.getStatus(id);\n this._componentsStatusCache[id.toString()] = result;\n }\n return this._componentsStatusCache[id.toString()];\n }\n\n private async getStatus(id: ComponentID) {\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n const status: ComponentStatusLegacy = {};\n const componentFromModel: ModelComponent | undefined = await this.consumer.scope.getModelComponentIfExist(id);\n let componentFromFileSystem;\n try {\n // change to 'latest' before loading from FS. don't change to null, otherwise, it'll cause\n // loadOne to not find model component as it assumes there is no version\n // also, don't leave the id as is, otherwise, it'll cause issues with import --merge, when\n // imported version is bigger than .bitmap, it won't find it and will consider as deleted\n const { components, removedComponents } = await this.consumer.loadComponents(\n new ComponentIdList(id.changeVersion(LATEST))\n );\n if (removedComponents.length) {\n status.deleted = true;\n return status;\n }\n componentFromFileSystem = components[0];\n } catch (err: any) {\n if (err instanceof ComponentNotFoundInPath || err instanceof MissingBitMapComponent) {\n // the file/s have been deleted or the component doesn't exist in bit.map file\n if (componentFromModel) status.deleted = true;\n else status.notExist = true;\n return status;\n }\n if (err instanceof ComponentsPendingImport) {\n status.missingFromScope;\n return status;\n }\n throw err;\n }\n if (!componentFromModel) {\n status.newlyCreated = true;\n return status;\n }\n if (componentFromModel.getHeadRegardlessOfLaneAsTagOrHash(true) === VERSION_ZERO) {\n status.newlyCreated = true;\n return status;\n }\n\n const lane = await this.consumer.getCurrentLaneObject();\n await componentFromModel.setDivergeData(this.consumer.scope.objects);\n status.staged = await componentFromModel.isLocallyChanged(this.consumer.scope.objects, lane);\n const versionFromFs = componentFromFileSystem.id.version;\n const idStr = id.toString();\n if (!componentFromFileSystem.id.hasVersion()) {\n throw new ComponentOutOfSync(idStr);\n }\n // TODO: instead of doing that like this we should use:\n // const versionFromModel = await componentFromModel.loadVersion(versionFromFs, this.consumer.scope.objects);\n // it looks like it's exactly the same code but it's not working from some reason\n const versionRef = componentFromModel.getRef(versionFromFs);\n if (!versionRef) throw new BitError(`version ${versionFromFs} was not found in ${idStr}`);\n const versionFromModel = await this.consumer.scope.getObject(versionRef.hash);\n if (!versionFromModel) {\n throw new BitError(`failed loading version ${versionFromFs} of ${idStr} from the scope`);\n }\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n status.modified = await this.consumer.isComponentModified(versionFromModel, componentFromFileSystem);\n return status;\n }\n\n clearOneComponentCache(id: ComponentID) {\n delete this._componentsStatusCache[id.toString()];\n }\n\n clearCache() {\n this._componentsStatusCache = {};\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -11,9 +11,23 @@ function _pMap() {
|
|
|
11
11
|
};
|
|
12
12
|
return data;
|
|
13
13
|
}
|
|
14
|
-
function
|
|
15
|
-
const data = require("@teambit/legacy
|
|
16
|
-
|
|
14
|
+
function _legacy() {
|
|
15
|
+
const data = require("@teambit/legacy.utils");
|
|
16
|
+
_legacy = function () {
|
|
17
|
+
return data;
|
|
18
|
+
};
|
|
19
|
+
return data;
|
|
20
|
+
}
|
|
21
|
+
function _toolboxPromise() {
|
|
22
|
+
const data = require("@teambit/toolbox.promise.map-pool");
|
|
23
|
+
_toolboxPromise = function () {
|
|
24
|
+
return data;
|
|
25
|
+
};
|
|
26
|
+
return data;
|
|
27
|
+
}
|
|
28
|
+
function _harmonyModules() {
|
|
29
|
+
const data = require("@teambit/harmony.modules.concurrency");
|
|
30
|
+
_harmonyModules = function () {
|
|
17
31
|
return data;
|
|
18
32
|
};
|
|
19
33
|
return data;
|
|
@@ -53,16 +67,9 @@ function _component2() {
|
|
|
53
67
|
};
|
|
54
68
|
return data;
|
|
55
69
|
}
|
|
56
|
-
function
|
|
57
|
-
const data = require("@teambit/legacy
|
|
58
|
-
|
|
59
|
-
return data;
|
|
60
|
-
};
|
|
61
|
-
return data;
|
|
62
|
-
}
|
|
63
|
-
function _utils() {
|
|
64
|
-
const data = require("@teambit/legacy/dist/utils");
|
|
65
|
-
_utils = function () {
|
|
70
|
+
function _legacy2() {
|
|
71
|
+
const data = require("@teambit/legacy.bit-map");
|
|
72
|
+
_legacy2 = function () {
|
|
66
73
|
return data;
|
|
67
74
|
};
|
|
68
75
|
return data;
|
|
@@ -74,9 +81,9 @@ function _componentIssues() {
|
|
|
74
81
|
};
|
|
75
82
|
return data;
|
|
76
83
|
}
|
|
77
|
-
function
|
|
84
|
+
function _exceptions() {
|
|
78
85
|
const data = require("@teambit/legacy/dist/scope/exceptions");
|
|
79
|
-
|
|
86
|
+
_exceptions = function () {
|
|
80
87
|
return data;
|
|
81
88
|
};
|
|
82
89
|
return data;
|
|
@@ -102,9 +109,9 @@ function _config() {
|
|
|
102
109
|
};
|
|
103
110
|
return data;
|
|
104
111
|
}
|
|
105
|
-
function
|
|
112
|
+
function _harmonyModules2() {
|
|
106
113
|
const data = require("@teambit/harmony.modules.in-memory-cache");
|
|
107
|
-
|
|
114
|
+
_harmonyModules2 = function () {
|
|
108
115
|
return data;
|
|
109
116
|
};
|
|
110
117
|
return data;
|
|
@@ -116,13 +123,6 @@ function _componentNotFoundInPath() {
|
|
|
116
123
|
};
|
|
117
124
|
return data;
|
|
118
125
|
}
|
|
119
|
-
function _promiseWithConcurrent() {
|
|
120
|
-
const data = require("@teambit/legacy/dist/utils/promise-with-concurrent");
|
|
121
|
-
_promiseWithConcurrent = function () {
|
|
122
|
-
return data;
|
|
123
|
-
};
|
|
124
|
-
return data;
|
|
125
|
-
}
|
|
126
126
|
function _workspaceComponent() {
|
|
127
127
|
const data = require("./workspace-component");
|
|
128
128
|
_workspaceComponent = function () {
|
|
@@ -163,17 +163,17 @@ class WorkspaceComponentLoader {
|
|
|
163
163
|
*/
|
|
164
164
|
_defineProperty(this, "componentsExtensionsCache", void 0);
|
|
165
165
|
_defineProperty(this, "componentLoadedSelfAsAspects", void 0);
|
|
166
|
-
this.componentsCache = (0,
|
|
167
|
-
maxSize: (0,
|
|
166
|
+
this.componentsCache = (0, _harmonyModules2().createInMemoryCache)({
|
|
167
|
+
maxSize: (0, _harmonyModules2().getMaxSizeForComponents)()
|
|
168
168
|
});
|
|
169
|
-
this.scopeComponentsCache = (0,
|
|
170
|
-
maxSize: (0,
|
|
169
|
+
this.scopeComponentsCache = (0, _harmonyModules2().createInMemoryCache)({
|
|
170
|
+
maxSize: (0, _harmonyModules2().getMaxSizeForComponents)()
|
|
171
171
|
});
|
|
172
|
-
this.componentsExtensionsCache = (0,
|
|
173
|
-
maxSize: (0,
|
|
172
|
+
this.componentsExtensionsCache = (0, _harmonyModules2().createInMemoryCache)({
|
|
173
|
+
maxSize: (0, _harmonyModules2().getMaxSizeForComponents)()
|
|
174
174
|
});
|
|
175
|
-
this.componentLoadedSelfAsAspects = (0,
|
|
176
|
-
maxSize: (0,
|
|
175
|
+
this.componentLoadedSelfAsAspects = (0, _harmonyModules2().createInMemoryCache)({
|
|
176
|
+
maxSize: (0, _harmonyModules2().getMaxSizeForComponents)()
|
|
177
177
|
});
|
|
178
178
|
}
|
|
179
179
|
async getMany(ids, loadOpts, throwOnFailure = true) {
|
|
@@ -420,8 +420,8 @@ class WorkspaceComponentLoader {
|
|
|
420
420
|
let wsComponentsWithAspects = workspaceComponents;
|
|
421
421
|
// if (loadOpts.seeders) {
|
|
422
422
|
this.logger.profile('executeLoadSlot');
|
|
423
|
-
wsComponentsWithAspects = await (0,
|
|
424
|
-
concurrency: (0,
|
|
423
|
+
wsComponentsWithAspects = await (0, _toolboxPromise().pMapPool)(workspaceComponents, component => this.executeLoadSlot(component), {
|
|
424
|
+
concurrency: (0, _harmonyModules().concurrentComponentsLimit)()
|
|
425
425
|
});
|
|
426
426
|
this.logger.profile('executeLoadSlot');
|
|
427
427
|
await this.warnAboutMisconfiguredEnvs(wsComponentsWithAspects);
|
|
@@ -629,7 +629,7 @@ class WorkspaceComponentLoader {
|
|
|
629
629
|
}
|
|
630
630
|
return getWithCatch(id, legacyComponent);
|
|
631
631
|
}, {
|
|
632
|
-
concurrency: (0,
|
|
632
|
+
concurrency: (0, _harmonyModules().concurrentComponentsLimit)()
|
|
633
633
|
});
|
|
634
634
|
errors.forEach(err => {
|
|
635
635
|
this.logger.console(`failed loading component ${err.id.toString()}, see full error in debug.log file`);
|
|
@@ -719,7 +719,7 @@ class WorkspaceComponentLoader {
|
|
|
719
719
|
}
|
|
720
720
|
}
|
|
721
721
|
resolveVersion(componentId) {
|
|
722
|
-
const bitIdWithVersion = (0,
|
|
722
|
+
const bitIdWithVersion = (0, _legacy().getLatestVersionNumber)(this.workspace.consumer.bitmapIdsFromCurrentLaneIncludeRemoved, componentId);
|
|
723
723
|
const id = bitIdWithVersion.version ? componentId.changeVersion(bitIdWithVersion.version) : componentId;
|
|
724
724
|
return id;
|
|
725
725
|
}
|
|
@@ -752,7 +752,7 @@ class WorkspaceComponentLoader {
|
|
|
752
752
|
const idStr = id.toString();
|
|
753
753
|
const componentFromScope = this.scopeComponentsCache.has(idStr) ? this.scopeComponentsCache.get(idStr) : await this.workspace.scope.get(id);
|
|
754
754
|
if (!consumerComponent) {
|
|
755
|
-
if (!componentFromScope) throw new (
|
|
755
|
+
if (!componentFromScope) throw new (_legacy2().MissingBitMapComponent)(id.toString());
|
|
756
756
|
return componentFromScope;
|
|
757
757
|
}
|
|
758
758
|
const extErrorsFromCache = this.componentsExtensionsCache.has(idStr) ? this.componentsExtensionsCache.get(idStr) : undefined;
|
|
@@ -837,7 +837,7 @@ class WorkspaceComponentLoader {
|
|
|
837
837
|
}
|
|
838
838
|
}
|
|
839
839
|
isComponentNotExistsError(err) {
|
|
840
|
-
return err instanceof
|
|
840
|
+
return err instanceof _exceptions().ComponentNotFound || err instanceof _legacy2().MissingBitMapComponent;
|
|
841
841
|
}
|
|
842
842
|
async executeLoadSlot(component, loadOpts) {
|
|
843
843
|
if (component.state._consumer.removed) {
|