@teambit/workspace 1.0.1143 → 1.0.1144
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/bit-map.js
CHANGED
|
@@ -75,7 +75,7 @@ class BitMap {
|
|
|
75
75
|
const bitMapEntry = this.getBitmapEntry(id, {
|
|
76
76
|
ignoreVersion: true
|
|
77
77
|
});
|
|
78
|
-
const currentConfig =
|
|
78
|
+
const currentConfig = bitMapEntry.config?.[aspectId];
|
|
79
79
|
if ((0, _lodash().isEqual)(currentConfig, config)) {
|
|
80
80
|
return false; // no changes
|
|
81
81
|
}
|
|
@@ -90,9 +90,14 @@ class BitMap {
|
|
|
90
90
|
};
|
|
91
91
|
const newConfig = getNewConfig();
|
|
92
92
|
if (newConfig) {
|
|
93
|
-
bitMapEntry.config[aspectId] = newConfig;
|
|
93
|
+
(bitMapEntry.config ||= {})[aspectId] = newConfig;
|
|
94
94
|
} else {
|
|
95
|
+
if (!currentConfig) {
|
|
96
|
+
return false; // the aspect is not configured, so there is nothing to delete
|
|
97
|
+
}
|
|
95
98
|
delete bitMapEntry.config[aspectId];
|
|
99
|
+
// avoid leaving an empty `config: {}` object in the .bitmap file
|
|
100
|
+
if (!Object.keys(bitMapEntry.config).length) delete bitMapEntry.config;
|
|
96
101
|
}
|
|
97
102
|
this.legacyBitMap.markAsChanged();
|
|
98
103
|
return true; // changes have been made
|
|
@@ -120,14 +125,16 @@ class BitMap {
|
|
|
120
125
|
const bitMapEntry = this.getBitmapEntry(id, {
|
|
121
126
|
ignoreVersion: true
|
|
122
127
|
});
|
|
123
|
-
const currentConfig =
|
|
128
|
+
const currentConfig = bitMapEntry.config?.[aspectId];
|
|
124
129
|
if (currentConfig) {
|
|
125
130
|
delete bitMapEntry.config[aspectId];
|
|
131
|
+
// avoid leaving an empty `config: {}` object in the .bitmap file
|
|
132
|
+
if (!Object.keys(bitMapEntry.config).length) delete bitMapEntry.config;
|
|
126
133
|
} else {
|
|
127
134
|
if (!markWithMinusIfNotExist) {
|
|
128
135
|
return false; // no changes
|
|
129
136
|
}
|
|
130
|
-
bitMapEntry.config[aspectId] = _legacy2().REMOVE_EXTENSION_SPECIAL_SIGN;
|
|
137
|
+
(bitMapEntry.config ||= {})[aspectId] = _legacy2().REMOVE_EXTENSION_SPECIAL_SIGN;
|
|
131
138
|
}
|
|
132
139
|
this.legacyBitMap.markAsChanged();
|
|
133
140
|
return true; // changes have been made
|
package/dist/bit-map.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_lodash","data","require","_legacy","_legacy2","_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","setLocalOnly","ids","localOnly","unsetLocalOnly","successfullyUnset","listLocalOnly","allIds","getAllBitIds","filter","write","reasonForChange","writeBitMap","getComponent","getBitmapEntryIfExist","getComponentIfExist","getAspectIdFromConfig","componentId","ignoreAspectVersion","undefined","toString","allVersions","startsWith","toStringWithoutVersion","BitError","join","renameNewComponent","sourceId","targetId","fullName","removeComponent","scope","setComponent","renameAspectInConfig","EnvsAspect","envConfig","env","getExportedLaneId","isLaneExported","laneId","makeComponentsAvailableOnMain","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 type { ComponentID } from '@teambit/component-id';\nimport type { ComponentMap, GetBitMapComponentOptions } from '@teambit/legacy.bit-map';\nimport { BitMap as LegacyBitMap } from '@teambit/legacy.bit-map';\nimport type { Consumer } from '@teambit/legacy.consumer';\nimport { REMOVE_EXTENSION_SPECIAL_SIGN } from '@teambit/legacy.extension-data';\nimport { BitError } from '@teambit/bit-error';\nimport type { LaneId } from '@teambit/lane-id';\nimport { EnvsAspect } from '@teambit/envs';\nimport type { 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(\n private legacyBitMap: LegacyBitMap,\n private consumer: Consumer\n ) {}\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 setLocalOnly(ids: ComponentID[]) {\n ids.forEach((id) => {\n const bitMapEntry = this.getBitmapEntry(id);\n bitMapEntry.localOnly = true;\n });\n this.legacyBitMap.markAsChanged();\n }\n unsetLocalOnly(ids: ComponentID[]): ComponentID[] {\n const successfullyUnset: ComponentID[] = [];\n ids.forEach((id) => {\n const bitMapEntry = this.getBitmapEntry(id);\n if (!bitMapEntry.localOnly) return;\n bitMapEntry.localOnly = false;\n successfullyUnset.push(id);\n });\n this.legacyBitMap.markAsChanged();\n return successfullyUnset;\n }\n listLocalOnly() {\n const allIds = this.legacyBitMap.getAllBitIds();\n return allIds.filter((id) => this.getBitmapEntry(id).localOnly);\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 ${aspectId.toStringWithoutVersion()} 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
|
+
{"version":3,"names":["_lodash","data","require","_legacy","_legacy2","_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","length","markAsChanged","updateDefaultScope","oldScope","newScope","changedId","components","forEach","componentMap","defaultScope","hasVersion","changeDefaultScope","push","removeComponentConfig","markWithMinusIfNotExist","REMOVE_EXTENSION_SPECIAL_SIGN","removeEntireConfig","setEntireConfig","removeDefaultScope","setDefaultScope","setLocalOnly","ids","localOnly","unsetLocalOnly","successfullyUnset","listLocalOnly","allIds","getAllBitIds","filter","write","reasonForChange","writeBitMap","getComponent","getBitmapEntryIfExist","getComponentIfExist","getAspectIdFromConfig","componentId","ignoreAspectVersion","undefined","toString","allVersions","startsWith","toStringWithoutVersion","BitError","join","renameNewComponent","sourceId","targetId","fullName","removeComponent","scope","setComponent","renameAspectInConfig","EnvsAspect","envConfig","env","getExportedLaneId","isLaneExported","laneId","makeComponentsAvailableOnMain","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 type { ComponentID } from '@teambit/component-id';\nimport type { ComponentMap, GetBitMapComponentOptions } from '@teambit/legacy.bit-map';\nimport { BitMap as LegacyBitMap } from '@teambit/legacy.bit-map';\nimport type { Consumer } from '@teambit/legacy.consumer';\nimport { REMOVE_EXTENSION_SPECIAL_SIGN } from '@teambit/legacy.extension-data';\nimport { BitError } from '@teambit/bit-error';\nimport type { LaneId } from '@teambit/lane-id';\nimport { EnvsAspect } from '@teambit/envs';\nimport type { 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(\n private legacyBitMap: LegacyBitMap,\n private consumer: Consumer\n ) {}\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 if (!currentConfig) {\n return false; // the aspect is not configured, so there is nothing to delete\n }\n delete bitMapEntry.config![aspectId];\n // avoid leaving an empty `config: {}` object in the .bitmap file\n if (!Object.keys(bitMapEntry.config!).length) delete bitMapEntry.config;\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 // avoid leaving an empty `config: {}` object in the .bitmap file\n if (!Object.keys(bitMapEntry.config!).length) delete bitMapEntry.config;\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 setLocalOnly(ids: ComponentID[]) {\n ids.forEach((id) => {\n const bitMapEntry = this.getBitmapEntry(id);\n bitMapEntry.localOnly = true;\n });\n this.legacyBitMap.markAsChanged();\n }\n unsetLocalOnly(ids: ComponentID[]): ComponentID[] {\n const successfullyUnset: ComponentID[] = [];\n ids.forEach((id) => {\n const bitMapEntry = this.getBitmapEntry(id);\n if (!bitMapEntry.localOnly) return;\n bitMapEntry.localOnly = false;\n successfullyUnset.push(id);\n });\n this.legacyBitMap.markAsChanged();\n return successfullyUnset;\n }\n listLocalOnly() {\n const allIds = this.legacyBitMap.getAllBitIds();\n return allIds.filter((id) => this.getBitmapEntry(id).localOnly);\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 ${aspectId.toStringWithoutVersion()} 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":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,153 @@
|
|
|
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 _componentId() {
|
|
11
|
+
const data = require("@teambit/component-id");
|
|
12
|
+
_componentId = function () {
|
|
13
|
+
return data;
|
|
14
|
+
};
|
|
15
|
+
return data;
|
|
16
|
+
}
|
|
17
|
+
function _bitMap() {
|
|
18
|
+
const data = require("./bit-map");
|
|
19
|
+
_bitMap = function () {
|
|
20
|
+
return data;
|
|
21
|
+
};
|
|
22
|
+
return data;
|
|
23
|
+
}
|
|
24
|
+
const compId = _componentId().ComponentID.fromString('teambit.scope/comp1');
|
|
25
|
+
const envId = 'teambit.node/envs/node-babel-mocha@2.0.5';
|
|
26
|
+
const otherAspectId = 'teambit.pkg/pkg';
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* wrap a single .bitmap entry, so the config-mutating methods can be tested in isolation.
|
|
30
|
+
* when `config` is undefined, the entry has no `config` property at all, as it is in a .bitmap file.
|
|
31
|
+
*/
|
|
32
|
+
function bitMapWithEntry(config) {
|
|
33
|
+
const entry = {};
|
|
34
|
+
if (config) entry.config = config;
|
|
35
|
+
const markedAsChanged = {
|
|
36
|
+
count: 0
|
|
37
|
+
};
|
|
38
|
+
const legacyBitMap = {
|
|
39
|
+
getComponent: () => entry,
|
|
40
|
+
markAsChanged: () => {
|
|
41
|
+
markedAsChanged.count += 1;
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
return {
|
|
45
|
+
bitMap: new (_bitMap().BitMap)(legacyBitMap, {}),
|
|
46
|
+
entry,
|
|
47
|
+
markedAsChanged
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
describe('BitMap', () => {
|
|
51
|
+
describe('removeComponentConfig', () => {
|
|
52
|
+
it('should delete the entire config object once the last aspect was removed', () => {
|
|
53
|
+
const {
|
|
54
|
+
bitMap,
|
|
55
|
+
entry
|
|
56
|
+
} = bitMapWithEntry({
|
|
57
|
+
[envId]: {}
|
|
58
|
+
});
|
|
59
|
+
(0, _chai().expect)(bitMap.removeComponentConfig(compId, envId, false)).to.be.true;
|
|
60
|
+
// an empty `config: {}` is meaningless in .bitmap, it should not be left behind
|
|
61
|
+
(0, _chai().expect)(entry).to.not.have.property('config');
|
|
62
|
+
});
|
|
63
|
+
it('should keep the other aspects when one of several is removed', () => {
|
|
64
|
+
const {
|
|
65
|
+
bitMap,
|
|
66
|
+
entry
|
|
67
|
+
} = bitMapWithEntry({
|
|
68
|
+
[envId]: {},
|
|
69
|
+
[otherAspectId]: {
|
|
70
|
+
some: 'config'
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
(0, _chai().expect)(bitMap.removeComponentConfig(compId, envId, false)).to.be.true;
|
|
74
|
+
(0, _chai().expect)(entry.config).to.deep.equal({
|
|
75
|
+
[otherAspectId]: {
|
|
76
|
+
some: 'config'
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
it('should not create a config object when the aspect is not configured', () => {
|
|
81
|
+
const {
|
|
82
|
+
bitMap,
|
|
83
|
+
entry
|
|
84
|
+
} = bitMapWithEntry();
|
|
85
|
+
(0, _chai().expect)(bitMap.removeComponentConfig(compId, envId, false)).to.be.false;
|
|
86
|
+
(0, _chai().expect)(entry).to.not.have.property('config');
|
|
87
|
+
});
|
|
88
|
+
it('should mark the aspect with "-" when markWithMinusIfNotExist is true', () => {
|
|
89
|
+
const {
|
|
90
|
+
bitMap,
|
|
91
|
+
entry
|
|
92
|
+
} = bitMapWithEntry();
|
|
93
|
+
(0, _chai().expect)(bitMap.removeComponentConfig(compId, envId, true)).to.be.true;
|
|
94
|
+
// "-" is what actually removes an aspect that comes from the model. it must keep working.
|
|
95
|
+
(0, _chai().expect)(entry.config).to.deep.equal({
|
|
96
|
+
[envId]: '-'
|
|
97
|
+
});
|
|
98
|
+
});
|
|
99
|
+
});
|
|
100
|
+
describe('addComponentConfig', () => {
|
|
101
|
+
it('should add the aspect config when the entry has no config yet', () => {
|
|
102
|
+
const {
|
|
103
|
+
bitMap,
|
|
104
|
+
entry
|
|
105
|
+
} = bitMapWithEntry();
|
|
106
|
+
(0, _chai().expect)(bitMap.addComponentConfig(compId, envId)).to.be.true;
|
|
107
|
+
(0, _chai().expect)(entry.config).to.deep.equal({
|
|
108
|
+
[envId]: {}
|
|
109
|
+
});
|
|
110
|
+
});
|
|
111
|
+
it('should delete the entire config object when the last aspect config is nullified', () => {
|
|
112
|
+
const {
|
|
113
|
+
bitMap,
|
|
114
|
+
entry
|
|
115
|
+
} = bitMapWithEntry({
|
|
116
|
+
[envId]: {}
|
|
117
|
+
});
|
|
118
|
+
(0, _chai().expect)(bitMap.addComponentConfig(compId, envId, null)).to.be.true;
|
|
119
|
+
(0, _chai().expect)(entry).to.not.have.property('config');
|
|
120
|
+
});
|
|
121
|
+
it('should report no change when nullifying an aspect while the entry has no config', () => {
|
|
122
|
+
const {
|
|
123
|
+
bitMap,
|
|
124
|
+
entry,
|
|
125
|
+
markedAsChanged
|
|
126
|
+
} = bitMapWithEntry();
|
|
127
|
+
(0, _chai().expect)(bitMap.addComponentConfig(compId, envId, null)).to.be.false;
|
|
128
|
+
(0, _chai().expect)(entry).to.not.have.property('config');
|
|
129
|
+
// nothing was mutated, so the .bitmap must not be marked as changed
|
|
130
|
+
(0, _chai().expect)(markedAsChanged.count).to.equal(0);
|
|
131
|
+
});
|
|
132
|
+
it('should report no change when nullifying an aspect that is not configured', () => {
|
|
133
|
+
const {
|
|
134
|
+
bitMap,
|
|
135
|
+
entry,
|
|
136
|
+
markedAsChanged
|
|
137
|
+
} = bitMapWithEntry({
|
|
138
|
+
[otherAspectId]: {
|
|
139
|
+
some: 'config'
|
|
140
|
+
}
|
|
141
|
+
});
|
|
142
|
+
(0, _chai().expect)(bitMap.addComponentConfig(compId, envId, null)).to.be.false;
|
|
143
|
+
(0, _chai().expect)(entry.config).to.deep.equal({
|
|
144
|
+
[otherAspectId]: {
|
|
145
|
+
some: 'config'
|
|
146
|
+
}
|
|
147
|
+
});
|
|
148
|
+
(0, _chai().expect)(markedAsChanged.count).to.equal(0);
|
|
149
|
+
});
|
|
150
|
+
});
|
|
151
|
+
});
|
|
152
|
+
|
|
153
|
+
//# sourceMappingURL=bit-map.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_chai","data","require","_componentId","_bitMap","compId","ComponentID","fromString","envId","otherAspectId","bitMapWithEntry","config","entry","markedAsChanged","count","legacyBitMap","getComponent","markAsChanged","bitMap","BitMap","describe","it","expect","removeComponentConfig","to","be","true","not","have","property","some","deep","equal","false","addComponentConfig"],"sources":["bit-map.spec.ts"],"sourcesContent":["import { expect } from 'chai';\nimport { ComponentID } from '@teambit/component-id';\nimport type { BitMap as LegacyBitMap, ComponentMap } from '@teambit/legacy.bit-map';\nimport type { Consumer } from '@teambit/legacy.consumer';\nimport { BitMap } from './bit-map';\n\nconst compId = ComponentID.fromString('teambit.scope/comp1');\nconst envId = 'teambit.node/envs/node-babel-mocha@2.0.5';\nconst otherAspectId = 'teambit.pkg/pkg';\n\n/**\n * wrap a single .bitmap entry, so the config-mutating methods can be tested in isolation.\n * when `config` is undefined, the entry has no `config` property at all, as it is in a .bitmap file.\n */\nfunction bitMapWithEntry(config?: Record<string, any>) {\n const entry = {} as ComponentMap;\n if (config) entry.config = config;\n const markedAsChanged = { count: 0 };\n const legacyBitMap = {\n getComponent: () => entry,\n markAsChanged: () => {\n markedAsChanged.count += 1;\n },\n } as unknown as LegacyBitMap;\n return { bitMap: new BitMap(legacyBitMap, {} as Consumer), entry, markedAsChanged };\n}\n\ndescribe('BitMap', () => {\n describe('removeComponentConfig', () => {\n it('should delete the entire config object once the last aspect was removed', () => {\n const { bitMap, entry } = bitMapWithEntry({ [envId]: {} });\n expect(bitMap.removeComponentConfig(compId, envId, false)).to.be.true;\n // an empty `config: {}` is meaningless in .bitmap, it should not be left behind\n expect(entry).to.not.have.property('config');\n });\n\n it('should keep the other aspects when one of several is removed', () => {\n const { bitMap, entry } = bitMapWithEntry({ [envId]: {}, [otherAspectId]: { some: 'config' } });\n expect(bitMap.removeComponentConfig(compId, envId, false)).to.be.true;\n expect(entry.config).to.deep.equal({ [otherAspectId]: { some: 'config' } });\n });\n\n it('should not create a config object when the aspect is not configured', () => {\n const { bitMap, entry } = bitMapWithEntry();\n expect(bitMap.removeComponentConfig(compId, envId, false)).to.be.false;\n expect(entry).to.not.have.property('config');\n });\n\n it('should mark the aspect with \"-\" when markWithMinusIfNotExist is true', () => {\n const { bitMap, entry } = bitMapWithEntry();\n expect(bitMap.removeComponentConfig(compId, envId, true)).to.be.true;\n // \"-\" is what actually removes an aspect that comes from the model. it must keep working.\n expect(entry.config).to.deep.equal({ [envId]: '-' });\n });\n });\n\n describe('addComponentConfig', () => {\n it('should add the aspect config when the entry has no config yet', () => {\n const { bitMap, entry } = bitMapWithEntry();\n expect(bitMap.addComponentConfig(compId, envId)).to.be.true;\n expect(entry.config).to.deep.equal({ [envId]: {} });\n });\n\n it('should delete the entire config object when the last aspect config is nullified', () => {\n const { bitMap, entry } = bitMapWithEntry({ [envId]: {} });\n expect(bitMap.addComponentConfig(compId, envId, null as any)).to.be.true;\n expect(entry).to.not.have.property('config');\n });\n\n it('should report no change when nullifying an aspect while the entry has no config', () => {\n const { bitMap, entry, markedAsChanged } = bitMapWithEntry();\n expect(bitMap.addComponentConfig(compId, envId, null as any)).to.be.false;\n expect(entry).to.not.have.property('config');\n // nothing was mutated, so the .bitmap must not be marked as changed\n expect(markedAsChanged.count).to.equal(0);\n });\n\n it('should report no change when nullifying an aspect that is not configured', () => {\n const { bitMap, entry, markedAsChanged } = bitMapWithEntry({ [otherAspectId]: { some: 'config' } });\n expect(bitMap.addComponentConfig(compId, envId, null as any)).to.be.false;\n expect(entry.config).to.deep.equal({ [otherAspectId]: { some: 'config' } });\n expect(markedAsChanged.count).to.equal(0);\n });\n });\n});\n"],"mappings":"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","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.1144/dist/workspace.composition.js';
|
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.workspace_workspace@1.0.1144/dist/workspace.docs.mdx';
|
|
3
3
|
|
|
4
4
|
export const compositions = [compositions_0];
|
|
5
5
|
export const overview = [overview_0];
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/workspace",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1144",
|
|
4
4
|
"homepage": "https://bit.cloud/teambit/workspace/workspace",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "teambit.workspace",
|
|
8
8
|
"name": "workspace",
|
|
9
|
-
"version": "1.0.
|
|
9
|
+
"version": "1.0.1144"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"lodash": "4.17.21",
|
|
@@ -101,23 +101,23 @@
|
|
|
101
101
|
"@teambit/workspace.hooks.use-url-change-broadcaster": "0.0.5",
|
|
102
102
|
"@teambit/workspace.ui.preserve-workspace-mode": "0.0.6",
|
|
103
103
|
"@teambit/evangelist.elements.icon": "1.0.5",
|
|
104
|
-
"@teambit/component": "1.0.
|
|
105
|
-
"@teambit/dependency-resolver": "1.0.
|
|
106
|
-
"@teambit/envs": "1.0.
|
|
107
|
-
"@teambit/objects": "0.0.
|
|
108
|
-
"@teambit/scope": "1.0.
|
|
109
|
-
"@teambit/graph": "1.0.
|
|
110
|
-
"@teambit/isolator": "1.0.
|
|
111
|
-
"@teambit/component-tree": "1.0.
|
|
112
|
-
"@teambit/watcher": "1.0.
|
|
113
|
-
"@teambit/aspect-loader": "1.0.
|
|
114
|
-
"@teambit/graphql": "1.0.
|
|
115
|
-
"@teambit/bundler": "1.0.
|
|
116
|
-
"@teambit/ui": "1.0.
|
|
117
|
-
"@teambit/command-bar": "1.0.
|
|
118
|
-
"@teambit/sidebar": "1.0.
|
|
119
|
-
"@teambit/pubsub": "1.0.
|
|
120
|
-
"@teambit/deprecation": "1.0.
|
|
104
|
+
"@teambit/component": "1.0.1144",
|
|
105
|
+
"@teambit/dependency-resolver": "1.0.1144",
|
|
106
|
+
"@teambit/envs": "1.0.1144",
|
|
107
|
+
"@teambit/objects": "0.0.651",
|
|
108
|
+
"@teambit/scope": "1.0.1144",
|
|
109
|
+
"@teambit/graph": "1.0.1144",
|
|
110
|
+
"@teambit/isolator": "1.0.1144",
|
|
111
|
+
"@teambit/component-tree": "1.0.1144",
|
|
112
|
+
"@teambit/watcher": "1.0.1144",
|
|
113
|
+
"@teambit/aspect-loader": "1.0.1144",
|
|
114
|
+
"@teambit/graphql": "1.0.1144",
|
|
115
|
+
"@teambit/bundler": "1.0.1144",
|
|
116
|
+
"@teambit/ui": "1.0.1144",
|
|
117
|
+
"@teambit/command-bar": "1.0.1144",
|
|
118
|
+
"@teambit/sidebar": "1.0.1144",
|
|
119
|
+
"@teambit/pubsub": "1.0.1144",
|
|
120
|
+
"@teambit/deprecation": "1.0.1144"
|
|
121
121
|
},
|
|
122
122
|
"devDependencies": {
|
|
123
123
|
"@types/lodash": "4.14.165",
|
|
@@ -135,6 +135,7 @@
|
|
|
135
135
|
"peerDependencies": {
|
|
136
136
|
"@apollo/client": "^3.12.0",
|
|
137
137
|
"react": "^17.0.0 || ^18.0.0 || ^19.0.0",
|
|
138
|
+
"chai": "5.2.1",
|
|
138
139
|
"react-router-dom": "^6.16.0"
|
|
139
140
|
},
|
|
140
141
|
"license": "Apache-2.0",
|