@teambit/component 1.0.53 → 1.0.54

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.
@@ -4,7 +4,7 @@ import { ComponentID } from '@teambit/component-id';
4
4
  import { BuildStatus } from '@teambit/legacy/dist/constants';
5
5
  import { ComponentFactory } from './component-factory';
6
6
  import ComponentFS from './component-fs';
7
- import ComponentConfig from './config';
7
+ import { Config as ComponentConfig } from './config';
8
8
  import { Snap } from './snap';
9
9
  import { State } from './state';
10
10
  import { TagMap } from './tag-map';
@@ -1 +1 @@
1
- {"version":3,"names":["_toolboxString","data","require","_bitError","_lodash","_tagMap","_exceptions","Component","constructor","id","head","_state","tags","TagMap","factory","mainFile","state","config","filesystem","buildStatus","_consumer","headTag","undefined","byHash","hash","latest","getLatest","err","CouldNotFindLatest","get","_this$state$aspects$g","aspects","serialize","getLogs","filter","allLogs","type","limit","offset","sort","typeFilter","snap","tag","filteredLogs","reverse","slice","stringify","JSON","displayName","tokens","name","split","map","token","capitalize","join","version","isModified","isDeleted","isRemoved","isOutdated","_this$head","latestTag","byVersion","isNew","Promise","resolve","loadState","snapId","getState","loadSnap","_this$head2","snapToGet","BitError","getSnap","snapsIterable","options","_this$head3","snapToStart","nextSnaps","done","iterator","next","value","currSnapId","shift","parents","length","firstParentOnly","push","concat","stopFn","Symbol","asyncIterator","getClosestTag","snapToStartFrom","tagsHashMap","getHashMap","has","iterable","snaps","hashOfLastSnap","checkout","write","path","fs","equals","component","toString","exports"],"sources":["component.ts"],"sourcesContent":["import { AnyFS } from '@teambit/any-fs';\nimport { capitalize } from '@teambit/toolbox.string.capitalize';\nimport { SemVer } from 'semver';\nimport { ComponentID } from '@teambit/component-id';\nimport { BitError } from '@teambit/bit-error';\nimport { BuildStatus } from '@teambit/legacy/dist/constants';\n\nimport { slice } from 'lodash';\nimport { ComponentFactory } from './component-factory';\nimport ComponentFS from './component-fs';\n// import { NothingToSnap } from './exceptions';\nimport ComponentConfig from './config';\n// eslint-disable-next-line import/no-cycle\nimport { Snap } from './snap';\nimport { State } from './state';\nimport { TagMap } from './tag-map';\nimport { Tag } from './tag';\nimport { CouldNotFindLatest } from './exceptions';\nimport { IComponent, RawComponentMetadata } from './component-interface';\n// import { Author } from './types';\n\ntype SnapsIterableOpts = {\n firstParentOnly?: boolean;\n stopFn?: (snap: Snap) => Promise<boolean>;\n};\n\nexport type InvalidComponent = { id: ComponentID; err: Error };\n\n/**\n * in-memory representation of a component.\n */\nexport class Component implements IComponent {\n constructor(\n /**\n * component ID represented by the `ComponentId` type.\n */\n readonly id: ComponentID,\n\n /**\n * head version of the component. can be `null` for new components.\n */\n readonly head: Snap | null = null,\n\n /**\n * state of the component.\n */\n private _state: State,\n\n /**\n * tags of the component.\n */\n readonly tags: TagMap = new TagMap(),\n\n /**\n * the component factory\n */\n private factory: ComponentFactory\n ) {}\n\n get mainFile() {\n return this.state.mainFile;\n }\n\n get state(): State {\n return this._state;\n }\n\n set state(state: State) {\n this._state = state;\n }\n\n /**\n * component configuration which is later generated to a component `package.json` and `bit.json`.\n */\n get config(): ComponentConfig {\n return this.state.config;\n }\n\n /**\n * in-memory representation of the component current filesystem.\n */\n get filesystem(): ComponentFS {\n return this.state.filesystem;\n }\n\n /**\n * build status of the component\n */\n get buildStatus(): BuildStatus {\n return this._state._consumer.buildStatus;\n }\n\n get headTag() {\n if (!this.head) return undefined;\n return this.tags.byHash(this.head.hash);\n }\n\n get latest(): string | undefined {\n if (!this.head) return undefined;\n try {\n return this.tags.getLatest();\n } catch (err: any) {\n if (err instanceof CouldNotFindLatest) {\n return this.head.hash;\n }\n throw err;\n }\n }\n\n /**\n * get aspect data from current state.\n */\n get(id: string): RawComponentMetadata | undefined {\n return this.state.aspects.get(id)?.serialize();\n }\n\n async getLogs(filter?: { type?: string; offset?: number; limit?: number; head?: string; sort?: string }) {\n const allLogs = await this.factory.getLogs(this.id, false, filter?.head);\n\n if (!filter) return allLogs;\n\n const { type, limit, offset, sort } = filter;\n\n const typeFilter = (snap) => {\n if (type === 'tag') return snap.tag;\n if (type === 'snap') return !snap.tag;\n return true;\n };\n\n let filteredLogs = (type && allLogs.filter(typeFilter)) || allLogs;\n if (sort !== 'asc') filteredLogs = filteredLogs.reverse();\n\n if (limit) {\n filteredLogs = slice(filteredLogs, offset, limit + (offset || 0));\n }\n\n return filteredLogs;\n }\n\n stringify(): string {\n return JSON.stringify({\n id: this.id,\n head: this.head,\n });\n }\n\n /**\n * record component changes in the `Scope`.\n */\n // snap(author: Author, message = '') {\n // if (!this.isModified()) throw new NothingToSnap();\n // const snap = new Snap(this, author, message);\n\n // return new Component(this.id, snap, snap.state);\n // }\n\n /**\n * display name of the component.\n */\n get displayName() {\n const tokens = this.id.name.split('-').map((token) => capitalize(token));\n return tokens.join(' ');\n }\n\n /**\n * tag a component `Snap` with a semantic version. we follow SemVer specs as defined [here](https://semver.org/)).\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n tag(version: SemVer) {\n // const snap = this.snap();\n // const tag = new Tag(version, snap);\n // this.tags.set(tag);\n }\n\n /**\n * determines whether this component is modified in the workspace.\n */\n isModified(): Promise<boolean> {\n return this.factory.isModified(this);\n }\n\n /**\n * whether a component is marked as deleted.\n */\n isDeleted(): boolean {\n return this.state._consumer.isRemoved();\n }\n\n /**\n * is component isOutdated\n */\n isOutdated(): boolean {\n if (!this.latest) return false;\n const latestTag = this.tags.byVersion(this.latest);\n if (!latestTag) return false;\n if (this.head?.hash !== latestTag?.hash) return true;\n return false;\n }\n\n /**\n * determines whether this component is new.\n */\n isNew(): Promise<boolean> {\n return Promise.resolve(this.head === null);\n }\n\n // TODO: @david after snap we need to make sure to refactor here.\n loadState(snapId: string): Promise<State> {\n return this.factory.getState(this.id, snapId);\n }\n\n loadSnap(snapId?: string): Promise<Snap> {\n const snapToGet = snapId || this.head?.hash;\n if (!snapToGet) {\n throw new BitError('could not load snap for new components');\n }\n return this.factory.getSnap(this.id, snapToGet);\n }\n\n /**\n * Get iterable which iterate over snap parents lazily\n * @param snapId\n * @param options\n */\n snapsIterable(snapId?: string, options: SnapsIterableOpts = {}): AsyncIterable<Snap> {\n const snapToStart = snapId || this.head?.hash;\n let nextSnaps = [snapToStart];\n let done;\n if (!snapToStart) {\n done = true;\n }\n\n const iterator: AsyncIterator<Snap> = {\n next: async () => {\n if (done) {\n return { value: undefined, done };\n }\n const currSnapId = nextSnaps.shift();\n const snap = await this.loadSnap(currSnapId);\n if (snap.parents && snap.parents.length) {\n if (options.firstParentOnly) {\n nextSnaps.push(snap.parents[0]);\n } else {\n nextSnaps = nextSnaps.concat(snap.parents);\n }\n }\n if (!nextSnaps.length) {\n done = true;\n } else if (options.stopFn) {\n done = await options.stopFn(snap);\n }\n return { value: snap, done: undefined };\n },\n };\n return {\n [Symbol.asyncIterator]: () => iterator,\n };\n }\n\n /**\n * traverse recursively from the provided snap (or head) upwards until it finds a tag\n * @param snapToStartFrom\n */\n async getClosestTag(snapToStartFrom?: string): Promise<Tag | undefined> {\n const tagsHashMap = this.tags.getHashMap();\n const stopFn = async (snap: Snap) => {\n if (tagsHashMap.has(snap.hash)) {\n return true;\n }\n return false;\n };\n const iterable = this.snapsIterable(snapToStartFrom, { firstParentOnly: true, stopFn });\n const snaps: Snap[] = [];\n for await (const snap of iterable) {\n snaps.push(snap);\n }\n if (snaps.length) {\n const hashOfLastSnap = snaps[snaps.length - 1].hash;\n return tagsHashMap.get(hashOfLastSnap);\n }\n return undefined;\n }\n\n /**\n * checkout the component to a different version in its working tree.\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n checkout(version: SemVer) {}\n\n /**\n * examine difference between two components.\n */\n // diff(other: Component): Difference {}\n\n /**\n * merge two different components\n */\n // merge(other: Component): Component {}\n\n /**\n * write a component to a given file system.\n * @param path root path to write the component\n * @param fs instance of any fs to use.\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n write(path: string, fs?: AnyFS) {}\n\n /**\n *\n * Check if 2 components are equal\n * @param {Component} component\n * @returns {boolean}\n * @memberof Component\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n equals(component: Component): boolean {\n return component.id.toString() === this.id.toString();\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_toolboxString","data","require","_bitError","_lodash","_tagMap","_exceptions","Component","constructor","id","head","_state","tags","TagMap","factory","mainFile","state","config","filesystem","buildStatus","_consumer","headTag","undefined","byHash","hash","latest","getLatest","err","CouldNotFindLatest","get","_this$state$aspects$g","aspects","serialize","getLogs","filter","allLogs","type","limit","offset","sort","typeFilter","snap","tag","filteredLogs","reverse","slice","stringify","JSON","displayName","tokens","name","split","map","token","capitalize","join","version","isModified","isDeleted","isRemoved","isOutdated","_this$head","latestTag","byVersion","isNew","Promise","resolve","loadState","snapId","getState","loadSnap","_this$head2","snapToGet","BitError","getSnap","snapsIterable","options","_this$head3","snapToStart","nextSnaps","done","iterator","next","value","currSnapId","shift","parents","length","firstParentOnly","push","concat","stopFn","Symbol","asyncIterator","getClosestTag","snapToStartFrom","tagsHashMap","getHashMap","has","iterable","snaps","hashOfLastSnap","checkout","write","path","fs","equals","component","toString","exports"],"sources":["component.ts"],"sourcesContent":["import { AnyFS } from '@teambit/any-fs';\nimport { capitalize } from '@teambit/toolbox.string.capitalize';\nimport { SemVer } from 'semver';\nimport { ComponentID } from '@teambit/component-id';\nimport { BitError } from '@teambit/bit-error';\nimport { BuildStatus } from '@teambit/legacy/dist/constants';\n\nimport { slice } from 'lodash';\nimport { ComponentFactory } from './component-factory';\nimport ComponentFS from './component-fs';\n// import { NothingToSnap } from './exceptions';\nimport { Config as ComponentConfig } from './config';\n// eslint-disable-next-line import/no-cycle\nimport { Snap } from './snap';\nimport { State } from './state';\nimport { TagMap } from './tag-map';\nimport { Tag } from './tag';\nimport { CouldNotFindLatest } from './exceptions';\nimport { IComponent, RawComponentMetadata } from './component-interface';\n// import { Author } from './types';\n\ntype SnapsIterableOpts = {\n firstParentOnly?: boolean;\n stopFn?: (snap: Snap) => Promise<boolean>;\n};\n\nexport type InvalidComponent = { id: ComponentID; err: Error };\n\n/**\n * in-memory representation of a component.\n */\nexport class Component implements IComponent {\n constructor(\n /**\n * component ID represented by the `ComponentId` type.\n */\n readonly id: ComponentID,\n\n /**\n * head version of the component. can be `null` for new components.\n */\n readonly head: Snap | null = null,\n\n /**\n * state of the component.\n */\n private _state: State,\n\n /**\n * tags of the component.\n */\n readonly tags: TagMap = new TagMap(),\n\n /**\n * the component factory\n */\n private factory: ComponentFactory\n ) {}\n\n get mainFile() {\n return this.state.mainFile;\n }\n\n get state(): State {\n return this._state;\n }\n\n set state(state: State) {\n this._state = state;\n }\n\n /**\n * component configuration which is later generated to a component `package.json` and `bit.json`.\n */\n get config(): ComponentConfig {\n return this.state.config;\n }\n\n /**\n * in-memory representation of the component current filesystem.\n */\n get filesystem(): ComponentFS {\n return this.state.filesystem;\n }\n\n /**\n * build status of the component\n */\n get buildStatus(): BuildStatus {\n return this._state._consumer.buildStatus;\n }\n\n get headTag() {\n if (!this.head) return undefined;\n return this.tags.byHash(this.head.hash);\n }\n\n get latest(): string | undefined {\n if (!this.head) return undefined;\n try {\n return this.tags.getLatest();\n } catch (err: any) {\n if (err instanceof CouldNotFindLatest) {\n return this.head.hash;\n }\n throw err;\n }\n }\n\n /**\n * get aspect data from current state.\n */\n get(id: string): RawComponentMetadata | undefined {\n return this.state.aspects.get(id)?.serialize();\n }\n\n async getLogs(filter?: { type?: string; offset?: number; limit?: number; head?: string; sort?: string }) {\n const allLogs = await this.factory.getLogs(this.id, false, filter?.head);\n\n if (!filter) return allLogs;\n\n const { type, limit, offset, sort } = filter;\n\n const typeFilter = (snap) => {\n if (type === 'tag') return snap.tag;\n if (type === 'snap') return !snap.tag;\n return true;\n };\n\n let filteredLogs = (type && allLogs.filter(typeFilter)) || allLogs;\n if (sort !== 'asc') filteredLogs = filteredLogs.reverse();\n\n if (limit) {\n filteredLogs = slice(filteredLogs, offset, limit + (offset || 0));\n }\n\n return filteredLogs;\n }\n\n stringify(): string {\n return JSON.stringify({\n id: this.id,\n head: this.head,\n });\n }\n\n /**\n * record component changes in the `Scope`.\n */\n // snap(author: Author, message = '') {\n // if (!this.isModified()) throw new NothingToSnap();\n // const snap = new Snap(this, author, message);\n\n // return new Component(this.id, snap, snap.state);\n // }\n\n /**\n * display name of the component.\n */\n get displayName() {\n const tokens = this.id.name.split('-').map((token) => capitalize(token));\n return tokens.join(' ');\n }\n\n /**\n * tag a component `Snap` with a semantic version. we follow SemVer specs as defined [here](https://semver.org/)).\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n tag(version: SemVer) {\n // const snap = this.snap();\n // const tag = new Tag(version, snap);\n // this.tags.set(tag);\n }\n\n /**\n * determines whether this component is modified in the workspace.\n */\n isModified(): Promise<boolean> {\n return this.factory.isModified(this);\n }\n\n /**\n * whether a component is marked as deleted.\n */\n isDeleted(): boolean {\n return this.state._consumer.isRemoved();\n }\n\n /**\n * is component isOutdated\n */\n isOutdated(): boolean {\n if (!this.latest) return false;\n const latestTag = this.tags.byVersion(this.latest);\n if (!latestTag) return false;\n if (this.head?.hash !== latestTag?.hash) return true;\n return false;\n }\n\n /**\n * determines whether this component is new.\n */\n isNew(): Promise<boolean> {\n return Promise.resolve(this.head === null);\n }\n\n // TODO: @david after snap we need to make sure to refactor here.\n loadState(snapId: string): Promise<State> {\n return this.factory.getState(this.id, snapId);\n }\n\n loadSnap(snapId?: string): Promise<Snap> {\n const snapToGet = snapId || this.head?.hash;\n if (!snapToGet) {\n throw new BitError('could not load snap for new components');\n }\n return this.factory.getSnap(this.id, snapToGet);\n }\n\n /**\n * Get iterable which iterate over snap parents lazily\n * @param snapId\n * @param options\n */\n snapsIterable(snapId?: string, options: SnapsIterableOpts = {}): AsyncIterable<Snap> {\n const snapToStart = snapId || this.head?.hash;\n let nextSnaps = [snapToStart];\n let done;\n if (!snapToStart) {\n done = true;\n }\n\n const iterator: AsyncIterator<Snap> = {\n next: async () => {\n if (done) {\n return { value: undefined, done };\n }\n const currSnapId = nextSnaps.shift();\n const snap = await this.loadSnap(currSnapId);\n if (snap.parents && snap.parents.length) {\n if (options.firstParentOnly) {\n nextSnaps.push(snap.parents[0]);\n } else {\n nextSnaps = nextSnaps.concat(snap.parents);\n }\n }\n if (!nextSnaps.length) {\n done = true;\n } else if (options.stopFn) {\n done = await options.stopFn(snap);\n }\n return { value: snap, done: undefined };\n },\n };\n return {\n [Symbol.asyncIterator]: () => iterator,\n };\n }\n\n /**\n * traverse recursively from the provided snap (or head) upwards until it finds a tag\n * @param snapToStartFrom\n */\n async getClosestTag(snapToStartFrom?: string): Promise<Tag | undefined> {\n const tagsHashMap = this.tags.getHashMap();\n const stopFn = async (snap: Snap) => {\n if (tagsHashMap.has(snap.hash)) {\n return true;\n }\n return false;\n };\n const iterable = this.snapsIterable(snapToStartFrom, { firstParentOnly: true, stopFn });\n const snaps: Snap[] = [];\n for await (const snap of iterable) {\n snaps.push(snap);\n }\n if (snaps.length) {\n const hashOfLastSnap = snaps[snaps.length - 1].hash;\n return tagsHashMap.get(hashOfLastSnap);\n }\n return undefined;\n }\n\n /**\n * checkout the component to a different version in its working tree.\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n checkout(version: SemVer) {}\n\n /**\n * examine difference between two components.\n */\n // diff(other: Component): Difference {}\n\n /**\n * merge two different components\n */\n // merge(other: Component): Component {}\n\n /**\n * write a component to a given file system.\n * @param path root path to write the component\n * @param fs instance of any fs to use.\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n write(path: string, fs?: AnyFS) {}\n\n /**\n *\n * Check if 2 components are equal\n * @param {Component} component\n * @returns {boolean}\n * @memberof Component\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n equals(component: Component): boolean {\n return component.id.toString() === this.id.toString();\n }\n}\n"],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -1,33 +1,18 @@
1
- import { ComponentOverridesData } from '@teambit/legacy/dist/consumer/config/component-overrides';
2
1
  import { ExtensionDataList } from '@teambit/legacy/dist/consumer/config/extension-data';
3
- import { PathLinux } from '@teambit/legacy/dist/utils/path';
4
- declare type LegacyConfigProps = {
5
- lang?: string;
6
- bindingPrefix: string;
7
- extensions?: ExtensionDataList;
8
- overrides?: ComponentOverridesData;
9
- };
2
+ import { PathLinuxRelative, PathOsBasedRelative } from '@teambit/legacy/dist/utils/path';
10
3
  /**
11
4
  * in-memory representation of the component configuration.
12
5
  */
13
- export default class Config {
6
+ export declare class Config {
7
+ private consumerComponent;
8
+ constructor(consumerComponent: any);
14
9
  /**
15
- * version main file
10
+ * component main file
11
+ * when loaded from the workspace, it's PathOsBasedRelative. otherwise, PathLinuxRelative.
16
12
  */
17
- readonly main: PathLinux;
13
+ get main(): PathLinuxRelative | PathOsBasedRelative;
18
14
  /**
19
15
  * configured extensions
20
16
  */
21
- readonly extensions: ExtensionDataList;
22
- readonly legacyProperties?: LegacyConfigProps | undefined;
23
- constructor(
24
- /**
25
- * version main file
26
- */
27
- main: PathLinux,
28
- /**
29
- * configured extensions
30
- */
31
- extensions: ExtensionDataList, legacyProperties?: LegacyConfigProps | undefined);
17
+ get extensions(): ExtensionDataList;
32
18
  }
33
- export {};
package/dist/config.js CHANGED
@@ -3,28 +3,30 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = void 0;
7
- // import { CustomResolvedPath } from '@teambit/legacy/dist/consumer/component/consumer-component';
8
- // import { ComponentOverridesData } from '@teambit/legacy/dist/consumer/config/component-overrides';
9
-
6
+ exports.Config = void 0;
10
7
  /**
11
8
  * in-memory representation of the component configuration.
12
9
  */
13
10
  class Config {
14
- constructor(
11
+ constructor(consumerComponent) {
12
+ this.consumerComponent = consumerComponent;
13
+ }
14
+
15
15
  /**
16
- * version main file
16
+ * component main file
17
+ * when loaded from the workspace, it's PathOsBasedRelative. otherwise, PathLinuxRelative.
17
18
  */
18
- main,
19
+ get main() {
20
+ return this.consumerComponent.mainFile;
21
+ }
22
+
19
23
  /**
20
24
  * configured extensions
21
25
  */
22
- extensions, legacyProperties) {
23
- this.main = main;
24
- this.extensions = extensions;
25
- this.legacyProperties = legacyProperties;
26
+ get extensions() {
27
+ return this.consumerComponent.extensions;
26
28
  }
27
29
  }
28
- exports.default = Config;
30
+ exports.Config = Config;
29
31
 
30
32
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Config","constructor","main","extensions","legacyProperties","exports","default"],"sources":["config.ts"],"sourcesContent":["import { ComponentOverridesData } from '@teambit/legacy/dist/consumer/config/component-overrides';\nimport { ExtensionDataList } from '@teambit/legacy/dist/consumer/config/extension-data';\nimport { PathLinux } from '@teambit/legacy/dist/utils/path';\n// import { CustomResolvedPath } from '@teambit/legacy/dist/consumer/component/consumer-component';\n// import { ComponentOverridesData } from '@teambit/legacy/dist/consumer/config/component-overrides';\n\ntype LegacyConfigProps = {\n lang?: string;\n bindingPrefix: string;\n extensions?: ExtensionDataList;\n overrides?: ComponentOverridesData;\n};\n\n/**\n * in-memory representation of the component configuration.\n */\nexport default class Config {\n constructor(\n /**\n * version main file\n */\n readonly main: PathLinux,\n\n /**\n * configured extensions\n */\n readonly extensions: ExtensionDataList,\n\n readonly legacyProperties?: LegacyConfigProps\n ) {}\n}\n"],"mappings":";;;;;;AAGA;AACA;;AASA;AACA;AACA;AACe,MAAMA,MAAM,CAAC;EAC1BC,WAAWA;EACT;AACJ;AACA;EACaC,IAAe;EAExB;AACJ;AACA;EACaC,UAA6B,EAE7BC,gBAAoC,EAC7C;IAAA,KARSF,IAAe,GAAfA,IAAe;IAAA,KAKfC,UAA6B,GAA7BA,UAA6B;IAAA,KAE7BC,gBAAoC,GAApCA,gBAAoC;EAC5C;AACL;AAACC,OAAA,CAAAC,OAAA,GAAAN,MAAA"}
1
+ {"version":3,"names":["Config","constructor","consumerComponent","main","mainFile","extensions","exports"],"sources":["config.ts"],"sourcesContent":["import { ExtensionDataList } from '@teambit/legacy/dist/consumer/config/extension-data';\nimport { PathLinuxRelative, PathOsBasedRelative } from '@teambit/legacy/dist/utils/path';\n\n/**\n * in-memory representation of the component configuration.\n */\nexport class Config {\n constructor(private consumerComponent: any) {}\n\n /**\n * component main file\n * when loaded from the workspace, it's PathOsBasedRelative. otherwise, PathLinuxRelative.\n */\n get main(): PathLinuxRelative | PathOsBasedRelative {\n return this.consumerComponent.mainFile;\n }\n\n /**\n * configured extensions\n */\n get extensions(): ExtensionDataList {\n return this.consumerComponent.extensions;\n }\n}\n"],"mappings":";;;;;;AAGA;AACA;AACA;AACO,MAAMA,MAAM,CAAC;EAClBC,WAAWA,CAASC,iBAAsB,EAAE;IAAA,KAAxBA,iBAAsB,GAAtBA,iBAAsB;EAAG;;EAE7C;AACF;AACA;AACA;EACE,IAAIC,IAAIA,CAAA,EAA4C;IAClD,OAAO,IAAI,CAACD,iBAAiB,CAACE,QAAQ;EACxC;;EAEA;AACF;AACA;EACE,IAAIC,UAAUA,CAAA,EAAsB;IAClC,OAAO,IAAI,CAACH,iBAAiB,CAACG,UAAU;EAC1C;AACF;AAACC,OAAA,CAAAN,MAAA,GAAAA,MAAA"}
package/dist/index.d.ts CHANGED
@@ -5,7 +5,7 @@ export { useComponentHost } from './host';
5
5
  export { Component, InvalidComponent } from './component';
6
6
  export { ComponentID } from '@teambit/component-id';
7
7
  export { default as ComponentFS } from './component-fs';
8
- export type { default as ComponentConfig } from './config';
8
+ export type { Config as ComponentConfig } from './config';
9
9
  export type { ComponentFactory, ResolveAspectsOptions, FilterAspectsOptions, LoadAspectsOptions, } from './component-factory';
10
10
  export type { AspectList } from './aspect-list';
11
11
  export { AspectEntry, AspectData, ResolveComponentIdFunc } from './aspect-entry';
@@ -29,7 +29,7 @@ export { RegisteredComponentRoute, ComponentUrlParams } from './component.route'
29
29
  export { ComponentModel, ComponentModelProps } from './ui/component-model';
30
30
  export { TopBarNav } from './ui/top-bar-nav';
31
31
  export type { ShowFragment, ShowRow, ShowJSONRow } from './show';
32
- export { default as Config } from './config';
32
+ export { Config } from './config';
33
33
  export { useComponent, useIdFromLocation, useComponentLogs, ComponentLogsResult, Filters } from './ui';
34
34
  export { ComponentAspect };
35
35
  export default ComponentAspect;
package/dist/index.js CHANGED
@@ -108,7 +108,7 @@ Object.defineProperty(exports, "ComponentUrlParams", {
108
108
  Object.defineProperty(exports, "Config", {
109
109
  enumerable: true,
110
110
  get: function () {
111
- return _config().default;
111
+ return _config().Config;
112
112
  }
113
113
  });
114
114
  Object.defineProperty(exports, "ConsumePlugin", {
@@ -390,7 +390,7 @@ function _topBarNav() {
390
390
  return data;
391
391
  }
392
392
  function _config() {
393
- const data = _interopRequireDefault(require("./config"));
393
+ const data = require("./config");
394
394
  _config = function () {
395
395
  return data;
396
396
  };
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["_component","data","require","_host","_component2","_componentId","_componentFs","_interopRequireDefault","_aspectEntry","_snap","_tag","_state","_tagMap","_componentMap","_section","_componentContext","_context","_ui","_menu","_component3","_componentModel","_topBarNav","_config","obj","__esModule","default","_default","exports","ComponentAspect"],"sources":["index.ts"],"sourcesContent":["import { ComponentAspect } from './component.aspect';\n\nexport type { GetComponentsOptions } from './get-component-opts';\nexport type { UseComponentType } from './ui/use-component';\nexport { useComponentHost } from './host';\nexport { Component, InvalidComponent } from './component';\nexport { ComponentID } from '@teambit/component-id';\nexport { default as ComponentFS } from './component-fs';\nexport type { default as ComponentConfig } from './config';\nexport type {\n ComponentFactory,\n ResolveAspectsOptions,\n FilterAspectsOptions,\n LoadAspectsOptions,\n} from './component-factory';\nexport type { AspectList } from './aspect-list';\nexport { AspectEntry, AspectData, ResolveComponentIdFunc } from './aspect-entry';\n// TODO: check why it's not working when using the index in snap dir like this:\n// export { Snap, Author } from './snap';\nexport { Snap, SnapProps } from './snap/snap';\nexport type { Author } from './snap/author';\n// TODO: check why it's not working when using the index in tag dir like this:\n// export { Tag } from './tag';\nexport { Tag, TagProps } from './tag/tag';\nexport type { IComponent } from './component-interface';\nexport { State } from './state';\nexport type { Hash } from './hash';\nexport { TagMap } from './tag-map';\nexport { ComponentMap } from './component-map';\nexport type { ComponentMain } from './component.main.runtime';\nexport type { ComponentUI } from './component.ui.runtime';\nexport { Section } from './section';\nexport { ComponentContext, ComponentDescriptorContext, useComponentDescriptor } from './ui/context/component-context';\nexport type { ComponentProviderProps, ComponentDescriptorProviderProps } from './ui/context';\nexport { ComponentProvider, ComponentDescriptorProvider } from './ui/context';\nexport { componentFields, componentIdFields, componentOverviewFields } from './ui';\nexport {\n NavPlugin,\n ConsumePlugin,\n CollapsibleMenuNav,\n MenuNavProps,\n ComponentMenu,\n VersionRelatedDropdowns,\n} from './ui/menu';\nexport { RegisteredComponentRoute, ComponentUrlParams } from './component.route';\nexport { ComponentModel, ComponentModelProps } from './ui/component-model';\nexport { TopBarNav } from './ui/top-bar-nav';\nexport type { ShowFragment, ShowRow, ShowJSONRow } from './show';\nexport { default as Config } from './config';\nexport { useComponent, useIdFromLocation, useComponentLogs, ComponentLogsResult, Filters } from './ui';\n\n// export { AspectList } from './aspect-list';\n// export { AspectEntry } from './aspect-entry';\nexport { ComponentAspect };\nexport default ComponentAspect;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_component","data","require","_host","_component2","_componentId","_componentFs","_interopRequireDefault","_aspectEntry","_snap","_tag","_state","_tagMap","_componentMap","_section","_componentContext","_context","_ui","_menu","_component3","_componentModel","_topBarNav","_config","obj","__esModule","default","_default","exports","ComponentAspect"],"sources":["index.ts"],"sourcesContent":["import { ComponentAspect } from './component.aspect';\n\nexport type { GetComponentsOptions } from './get-component-opts';\nexport type { UseComponentType } from './ui/use-component';\nexport { useComponentHost } from './host';\nexport { Component, InvalidComponent } from './component';\nexport { ComponentID } from '@teambit/component-id';\nexport { default as ComponentFS } from './component-fs';\nexport type { Config as ComponentConfig } from './config';\nexport type {\n ComponentFactory,\n ResolveAspectsOptions,\n FilterAspectsOptions,\n LoadAspectsOptions,\n} from './component-factory';\nexport type { AspectList } from './aspect-list';\nexport { AspectEntry, AspectData, ResolveComponentIdFunc } from './aspect-entry';\n// TODO: check why it's not working when using the index in snap dir like this:\n// export { Snap, Author } from './snap';\nexport { Snap, SnapProps } from './snap/snap';\nexport type { Author } from './snap/author';\n// TODO: check why it's not working when using the index in tag dir like this:\n// export { Tag } from './tag';\nexport { Tag, TagProps } from './tag/tag';\nexport type { IComponent } from './component-interface';\nexport { State } from './state';\nexport type { Hash } from './hash';\nexport { TagMap } from './tag-map';\nexport { ComponentMap } from './component-map';\nexport type { ComponentMain } from './component.main.runtime';\nexport type { ComponentUI } from './component.ui.runtime';\nexport { Section } from './section';\nexport { ComponentContext, ComponentDescriptorContext, useComponentDescriptor } from './ui/context/component-context';\nexport type { ComponentProviderProps, ComponentDescriptorProviderProps } from './ui/context';\nexport { ComponentProvider, ComponentDescriptorProvider } from './ui/context';\nexport { componentFields, componentIdFields, componentOverviewFields } from './ui';\nexport {\n NavPlugin,\n ConsumePlugin,\n CollapsibleMenuNav,\n MenuNavProps,\n ComponentMenu,\n VersionRelatedDropdowns,\n} from './ui/menu';\nexport { RegisteredComponentRoute, ComponentUrlParams } from './component.route';\nexport { ComponentModel, ComponentModelProps } from './ui/component-model';\nexport { TopBarNav } from './ui/top-bar-nav';\nexport type { ShowFragment, ShowRow, ShowJSONRow } from './show';\nexport { Config } from './config';\nexport { useComponent, useIdFromLocation, useComponentLogs, ComponentLogsResult, Filters } from './ui';\n\n// export { AspectList } from './aspect-list';\n// export { AspectEntry } from './aspect-entry';\nexport { ComponentAspect };\nexport default ComponentAspect;\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_component@1.0.53/dist/component.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_component@1.0.53/dist/component.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_component@1.0.54/dist/component.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_component@1.0.54/dist/component.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];
package/dist/state.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { IssuesList } from '@teambit/component-issues';
2
2
  import ComponentFS from './component-fs';
3
- import Config from './config';
3
+ import { Config } from './config';
4
4
  import { AspectList } from './aspect-list';
5
5
  export declare class State {
6
6
  /**
package/dist/state.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["_componentIssues","data","require","_componentId","_exceptions","State","constructor","config","_aspects","filesystem","dependencies","_consumer","mainFile","file","files","find","componentFile","relative","MainFileNotFound","ComponentID","fromLegacy","id","hash","issues","IssuesList","isModified","_isModified","aspects","exports"],"sources":["state.ts"],"sourcesContent":["import { IssuesList } from '@teambit/component-issues';\nimport { ComponentID } from '@teambit/component-id';\nimport ComponentFS from './component-fs';\nimport Config from './config';\nimport { AspectList } from './aspect-list';\nimport { MainFileNotFound } from './exceptions';\n\nexport class State {\n constructor(\n /**\n * component configuration which is later generated to a component `package.json` and `bit.json`.\n * @deprecated please use `aspects` instead.\n */\n readonly config: Config,\n\n /**\n * list of aspects configured on the component.\n */\n private _aspects: AspectList,\n\n /**\n * in-memory representation of the component current filesystem.\n */\n readonly filesystem: ComponentFS,\n\n /**\n * dependency graph of the component current. ideally package dependencies would be also placed here.\n */\n // readonly dependencies: Dependencies\n readonly dependencies,\n\n /**\n * instance of legacy consumer component.\n */\n readonly _consumer: any\n ) {}\n\n /**\n * get the main file of the component.\n */\n get mainFile() {\n const file = this.filesystem.files.find((componentFile) => {\n return componentFile.relative === this._consumer.mainFile;\n });\n\n if (!file) throw new MainFileNotFound(ComponentID.fromLegacy(this._consumer.id), this._consumer.mainFile);\n\n return file;\n }\n\n /**\n * calculate the hash of this state\n */\n get hash() {\n return '';\n }\n\n get issues(): IssuesList {\n return (this._consumer.issues ||= new IssuesList());\n }\n\n /**\n * @deprecated please use `component.isModified`.\n * the way it's implemented here is unreliable and will only work if in the legacy the \"isModified\" was calculated.\n */\n get isModified(): boolean {\n return this._consumer._isModified;\n }\n\n get aspects(): AspectList {\n return this._aspects;\n }\n\n set aspects(aspects: AspectList) {\n this._aspects = aspects;\n }\n\n // static fromLegacy(consumerComponent: ConsumerComponent) {\n // return new State(\n // new Config(consumerComponent.mainFile, consumerComponent.extensions),\n // consumerComponent.version || 'new',\n // ComponentFS.fromVinyls(consumerComponent.files),\n // Store.fromArray([]),\n // consumerComponent.dependencies,\n // consumerComponent\n // );\n // }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,iBAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,gBAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,aAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,YAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAIA,SAAAG,YAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,WAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAMI,KAAK,CAAC;EACjBC,WAAWA;EACT;AACJ;AACA;AACA;EACaC,MAAc;EAEvB;AACJ;AACA;EACYC,QAAoB;EAE5B;AACJ;AACA;EACaC,UAAuB;EAEhC;AACJ;AACA;EACI;EACSC,YAAY;EAErB;AACJ;AACA;EACaC,SAAc,EACvB;IAAA,KAtBSJ,MAAc,GAAdA,MAAc;IAAA,KAKfC,QAAoB,GAApBA,QAAoB;IAAA,KAKnBC,UAAuB,GAAvBA,UAAuB;IAAA,KAMvBC,YAAY,GAAZA,YAAY;IAAA,KAKZC,SAAc,GAAdA,SAAc;EACtB;;EAEH;AACF;AACA;EACE,IAAIC,QAAQA,CAAA,EAAG;IACb,MAAMC,IAAI,GAAG,IAAI,CAACJ,UAAU,CAACK,KAAK,CAACC,IAAI,CAAEC,aAAa,IAAK;MACzD,OAAOA,aAAa,CAACC,QAAQ,KAAK,IAAI,CAACN,SAAS,CAACC,QAAQ;IAC3D,CAAC,CAAC;IAEF,IAAI,CAACC,IAAI,EAAE,MAAM,KAAIK,8BAAgB,EAACC,0BAAW,CAACC,UAAU,CAAC,IAAI,CAACT,SAAS,CAACU,EAAE,CAAC,EAAE,IAAI,CAACV,SAAS,CAACC,QAAQ,CAAC;IAEzG,OAAOC,IAAI;EACb;;EAEA;AACF;AACA;EACE,IAAIS,IAAIA,CAAA,EAAG;IACT,OAAO,EAAE;EACX;EAEA,IAAIC,MAAMA,CAAA,EAAe;IACvB,OAAQ,IAAI,CAACZ,SAAS,CAACY,MAAM,KAAK,KAAIC,6BAAU,EAAC,CAAC;EACpD;;EAEA;AACF;AACA;AACA;EACE,IAAIC,UAAUA,CAAA,EAAY;IACxB,OAAO,IAAI,CAACd,SAAS,CAACe,WAAW;EACnC;EAEA,IAAIC,OAAOA,CAAA,EAAe;IACxB,OAAO,IAAI,CAACnB,QAAQ;EACtB;EAEA,IAAImB,OAAOA,CAACA,OAAmB,EAAE;IAC/B,IAAI,CAACnB,QAAQ,GAAGmB,OAAO;EACzB;;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AACF;AAACC,OAAA,CAAAvB,KAAA,GAAAA,KAAA"}
1
+ {"version":3,"names":["_componentIssues","data","require","_componentId","_exceptions","State","constructor","config","_aspects","filesystem","dependencies","_consumer","mainFile","file","files","find","componentFile","relative","MainFileNotFound","ComponentID","fromLegacy","id","hash","issues","IssuesList","isModified","_isModified","aspects","exports"],"sources":["state.ts"],"sourcesContent":["import { IssuesList } from '@teambit/component-issues';\nimport { ComponentID } from '@teambit/component-id';\nimport ComponentFS from './component-fs';\nimport { Config } from './config';\nimport { AspectList } from './aspect-list';\nimport { MainFileNotFound } from './exceptions';\n\nexport class State {\n constructor(\n /**\n * component configuration which is later generated to a component `package.json` and `bit.json`.\n * @deprecated please use `aspects` instead.\n */\n readonly config: Config,\n\n /**\n * list of aspects configured on the component.\n */\n private _aspects: AspectList,\n\n /**\n * in-memory representation of the component current filesystem.\n */\n readonly filesystem: ComponentFS,\n\n /**\n * dependency graph of the component current. ideally package dependencies would be also placed here.\n */\n // readonly dependencies: Dependencies\n readonly dependencies,\n\n /**\n * instance of legacy consumer component.\n */\n readonly _consumer: any\n ) {}\n\n /**\n * get the main file of the component.\n */\n get mainFile() {\n const file = this.filesystem.files.find((componentFile) => {\n return componentFile.relative === this._consumer.mainFile;\n });\n\n if (!file) throw new MainFileNotFound(ComponentID.fromLegacy(this._consumer.id), this._consumer.mainFile);\n\n return file;\n }\n\n /**\n * calculate the hash of this state\n */\n get hash() {\n return '';\n }\n\n get issues(): IssuesList {\n return (this._consumer.issues ||= new IssuesList());\n }\n\n /**\n * @deprecated please use `component.isModified`.\n * the way it's implemented here is unreliable and will only work if in the legacy the \"isModified\" was calculated.\n */\n get isModified(): boolean {\n return this._consumer._isModified;\n }\n\n get aspects(): AspectList {\n return this._aspects;\n }\n\n set aspects(aspects: AspectList) {\n this._aspects = aspects;\n }\n\n // static fromLegacy(consumerComponent: ConsumerComponent) {\n // return new State(\n // new Config(consumerComponent.mainFile, consumerComponent.extensions),\n // consumerComponent.version || 'new',\n // ComponentFS.fromVinyls(consumerComponent.files),\n // Store.fromArray([]),\n // consumerComponent.dependencies,\n // consumerComponent\n // );\n // }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,iBAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,gBAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,aAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,YAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAIA,SAAAG,YAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,WAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAMI,KAAK,CAAC;EACjBC,WAAWA;EACT;AACJ;AACA;AACA;EACaC,MAAc;EAEvB;AACJ;AACA;EACYC,QAAoB;EAE5B;AACJ;AACA;EACaC,UAAuB;EAEhC;AACJ;AACA;EACI;EACSC,YAAY;EAErB;AACJ;AACA;EACaC,SAAc,EACvB;IAAA,KAtBSJ,MAAc,GAAdA,MAAc;IAAA,KAKfC,QAAoB,GAApBA,QAAoB;IAAA,KAKnBC,UAAuB,GAAvBA,UAAuB;IAAA,KAMvBC,YAAY,GAAZA,YAAY;IAAA,KAKZC,SAAc,GAAdA,SAAc;EACtB;;EAEH;AACF;AACA;EACE,IAAIC,QAAQA,CAAA,EAAG;IACb,MAAMC,IAAI,GAAG,IAAI,CAACJ,UAAU,CAACK,KAAK,CAACC,IAAI,CAAEC,aAAa,IAAK;MACzD,OAAOA,aAAa,CAACC,QAAQ,KAAK,IAAI,CAACN,SAAS,CAACC,QAAQ;IAC3D,CAAC,CAAC;IAEF,IAAI,CAACC,IAAI,EAAE,MAAM,KAAIK,8BAAgB,EAACC,0BAAW,CAACC,UAAU,CAAC,IAAI,CAACT,SAAS,CAACU,EAAE,CAAC,EAAE,IAAI,CAACV,SAAS,CAACC,QAAQ,CAAC;IAEzG,OAAOC,IAAI;EACb;;EAEA;AACF;AACA;EACE,IAAIS,IAAIA,CAAA,EAAG;IACT,OAAO,EAAE;EACX;EAEA,IAAIC,MAAMA,CAAA,EAAe;IACvB,OAAQ,IAAI,CAACZ,SAAS,CAACY,MAAM,KAAK,KAAIC,6BAAU,EAAC,CAAC;EACpD;;EAEA;AACF;AACA;AACA;EACE,IAAIC,UAAUA,CAAA,EAAY;IACxB,OAAO,IAAI,CAACd,SAAS,CAACe,WAAW;EACnC;EAEA,IAAIC,OAAOA,CAAA,EAAe;IACxB,OAAO,IAAI,CAACnB,QAAQ;EACtB;EAEA,IAAImB,OAAOA,CAACA,OAAmB,EAAE;IAC/B,IAAI,CAACnB,QAAQ,GAAGmB,OAAO;EACzB;;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AACF;AAACC,OAAA,CAAAvB,KAAA,GAAAA,KAAA"}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/component",
3
- "version": "1.0.53",
3
+ "version": "1.0.54",
4
4
  "homepage": "https://bit.cloud/teambit/component/component",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.component",
8
8
  "name": "component",
9
- "version": "1.0.53"
9
+ "version": "1.0.54"
10
10
  },
11
11
  "dependencies": {
12
12
  "@teambit/any-fs": "0.0.5",
@@ -38,36 +38,36 @@
38
38
  "@teambit/design.ui.empty-box": "0.0.363",
39
39
  "@teambit/documenter.ui.heading": "4.1.1",
40
40
  "@teambit/documenter.ui.separator": "4.1.1",
41
- "@teambit/design.ui.pages.not-found": "0.0.366",
42
- "@teambit/design.ui.pages.server-error": "0.0.366",
43
41
  "@teambit/design.ui.styles.ellipsis": "0.0.357",
44
42
  "@teambit/explorer.ui.command-bar": "2.0.14",
43
+ "@teambit/design.ui.pages.not-found": "0.0.366",
44
+ "@teambit/design.ui.pages.server-error": "0.0.366",
45
45
  "@teambit/design.navigation.responsive-navbar": "0.0.7",
46
46
  "@teambit/base-ui.layout.breakpoints": "1.0.0",
47
47
  "@teambit/component.ui.version-dropdown": "0.0.852",
48
48
  "@teambit/lanes.hooks.use-lanes": "0.0.254",
49
49
  "@teambit/lanes.ui.models.lanes-model": "0.0.207",
50
50
  "@teambit/ui-foundation.ui.use-box.dropdown": "0.0.141",
51
- "@teambit/aspect-loader": "1.0.53",
52
- "@teambit/graph": "1.0.53",
51
+ "@teambit/aspect-loader": "1.0.54",
52
+ "@teambit/graph": "1.0.54",
53
53
  "@teambit/toolbox.path.match-patterns": "0.0.13",
54
54
  "@teambit/toolbox.string.capitalize": "0.0.494",
55
55
  "@teambit/cli": "0.0.814",
56
56
  "@teambit/express": "0.0.913",
57
- "@teambit/graphql": "1.0.53",
58
- "@teambit/command-bar": "1.0.53",
57
+ "@teambit/graphql": "1.0.54",
58
+ "@teambit/command-bar": "1.0.54",
59
59
  "@teambit/component-package-version": "0.0.430",
60
- "@teambit/preview": "1.0.53",
61
- "@teambit/pubsub": "1.0.53",
62
- "@teambit/react-router": "1.0.53",
63
- "@teambit/ui": "1.0.53",
60
+ "@teambit/preview": "1.0.54",
61
+ "@teambit/pubsub": "1.0.54",
62
+ "@teambit/react-router": "1.0.54",
63
+ "@teambit/ui": "1.0.54",
64
64
  "@teambit/component-issues": "0.0.110",
65
65
  "@teambit/cli-table": "0.0.45",
66
66
  "@teambit/component-descriptor": "0.0.382",
67
67
  "@teambit/harmony.ui.aspect-box": "0.0.505",
68
- "@teambit/compositions": "1.0.53",
69
- "@teambit/deprecation": "1.0.53",
70
- "@teambit/envs": "1.0.53",
68
+ "@teambit/compositions": "1.0.54",
69
+ "@teambit/deprecation": "1.0.54",
70
+ "@teambit/envs": "1.0.54",
71
71
  "@teambit/envs.ui.env-icon": "0.0.503"
72
72
  },
73
73
  "devDependencies": {