@teambit/component 1.0.107 → 1.0.109
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/preview/static/css/teambit.component/component-preview.8360f74e.css +55 -0
- package/artifacts/preview/static/images/348e1dfebd0d5a35a5e6.png +0 -0
- package/artifacts/preview/static/images/37978a86e2f81f41863e.png +0 -0
- package/artifacts/preview/teambit_component_component-preview.js +2 -0
- package/dist/aspect-entry.d.ts +4 -4
- package/dist/aspect-entry.js +1 -2
- package/dist/aspect-entry.js.map +1 -1
- package/dist/aspect-list.js +2 -2
- package/dist/aspect-list.js.map +1 -1
- package/dist/aspect.section.d.ts +3 -3
- package/dist/component-factory.d.ts +3 -3
- package/dist/component-interface.d.ts +1 -1
- package/dist/component-map/component-map.d.ts +2 -2
- package/dist/component.composition.d.ts +2 -2
- package/dist/component.d.ts +3 -3
- package/dist/component.graphql.d.ts +13 -13
- package/dist/component.graphql.js +3 -6
- package/dist/component.graphql.js.map +1 -1
- package/dist/component.js +5 -9
- package/dist/component.js.map +1 -1
- package/dist/component.main.runtime.d.ts +2 -2
- package/dist/component.route.d.ts +2 -2
- package/dist/component.ui.runtime.d.ts +7 -7
- package/dist/component.ui.runtime.js +12 -27
- package/dist/component.ui.runtime.js.map +1 -1
- package/dist/get-component-opts.d.ts +1 -1
- package/dist/hash.d.ts +1 -1
- package/dist/{preview-1703590665075.js → preview-1703698405864.js} +2 -2
- package/dist/snap/author.d.ts +1 -1
- package/dist/snap/snap.d.ts +1 -1
- package/dist/tag/tag.d.ts +1 -1
- package/dist/tag-map.d.ts +1 -1
- package/dist/ui/aspect-page/aspect-page.d.ts +2 -2
- package/dist/ui/aspect-page/aspect-page.js +1 -2
- package/dist/ui/aspect-page/aspect-page.js.map +1 -1
- package/dist/ui/component-error/component-error.d.ts +4 -4
- package/dist/ui/component-model/component-model.d.ts +21 -21
- package/dist/ui/component-model/component-model.js +1 -1
- package/dist/ui/component-model/component-model.js.map +1 -1
- package/dist/ui/component-searcher/component-result.d.ts +4 -4
- package/dist/ui/component-searcher/component-result.js +2 -2
- package/dist/ui/component-searcher/component-result.js.map +1 -1
- package/dist/ui/component-searcher/component-searcher.d.ts +2 -2
- package/dist/ui/component.d.ts +5 -5
- package/dist/ui/component.js +6 -6
- package/dist/ui/component.js.map +1 -1
- package/dist/ui/context/component-context.d.ts +1 -1
- package/dist/ui/context/component-provider.d.ts +5 -5
- package/dist/ui/menu/menu-nav.d.ts +2 -2
- package/dist/ui/menu/menu-nav.js +5 -5
- package/dist/ui/menu/menu-nav.js.map +1 -1
- package/dist/ui/menu/menu.d.ts +9 -9
- package/dist/ui/menu/menu.js +28 -31
- package/dist/ui/menu/menu.js.map +1 -1
- package/dist/ui/menu/nav-plugin.d.ts +7 -7
- package/dist/ui/top-bar-nav/top-bar-nav.d.ts +2 -2
- package/dist/ui/use-component-from-location.js +1 -1
- package/dist/ui/use-component-from-location.js.map +1 -1
- package/dist/ui/use-component-logs.d.ts +7 -7
- package/dist/ui/use-component-logs.js +5 -6
- package/dist/ui/use-component-logs.js.map +1 -1
- package/dist/ui/use-component-query.js +13 -17
- package/dist/ui/use-component-query.js.map +1 -1
- package/dist/ui/use-component.model.d.ts +7 -7
- package/package.json +33 -40
- package/tsconfig.json +16 -21
- package/types/asset.d.ts +15 -3
package/dist/aspect-list.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_extensionData","data","require","_componentId","_aspectEntry","AspectList","constructor","entries","addEntry","aspectId","extensionDataEntry","ExtensionDataEntry","undefined","entry","AspectEntry","push","upsertEntry","existingEntry","find","id","isEqual","withoutEntries","aspectIds","filter","includes","legacy","stringId","ids","list","map","toString","get","toStringWithoutVersion","ignoreVersion","aspectEntry","predicate","pmap","entriesP","Promise","all","toConfigObject","res","forEach","config","removeInternalConfigFields","rawConfig","serialize","serializedEntries","length","toLegacy","legacyEntries","ExtensionDataList","fromArray","stringIds","clone","fromLegacyExtensions","legacyDataList","newEntries","getAspectId","exports","extensionId","name","ComponentID","fromString","Error"],"sources":["aspect-list.ts"],"sourcesContent":["import {\n ExtensionDataList,\n ExtensionDataEntry,\n removeInternalConfigFields,\n} from '@teambit/legacy/dist/consumer/config/extension-data';\nimport { ComponentID } from '@teambit/component-id';\nimport { AspectEntry, SerializableMap } from './aspect-entry';\n\n/**\n * list of aspects, each may have data and artifacts saved per component.\n */\nexport class AspectList {\n constructor(readonly entries: AspectEntry[]) {}\n\n addEntry(aspectId: ComponentID, data: SerializableMap = {}) {\n const extensionDataEntry = new ExtensionDataEntry(undefined, aspectId, undefined, {}, data);\n const entry = new AspectEntry(aspectId, extensionDataEntry);\n this.entries.push(entry);\n return entry;\n }\n\n upsertEntry(aspectId: ComponentID, data: SerializableMap = {}) {\n const existingEntry = this.entries.find((entry) => entry.id.isEqual(aspectId));\n if (existingEntry) {\n existingEntry.data = data;\n return existingEntry;\n }\n return this.addEntry(aspectId, data);\n }\n\n /**\n * transform an aspect list into a new one without the given aspect ids\n */\n withoutEntries(aspectIds: string[]): AspectList {\n const entries = this.entries.filter((entry) => !aspectIds.includes(entry.legacy.stringId));\n return new AspectList(entries);\n }\n\n /**\n * get all ids as strings from the aspect list.\n */\n get ids(): string[] {\n const list = this.entries.map((entry) => entry.id.toString());\n return list;\n }\n\n /**\n * get an aspect from the list using a serialized ID.\n */\n get(id: string): AspectEntry | undefined {\n return this.entries.find((entry) => {\n return entry.legacy.stringId === id || entry.id.toStringWithoutVersion() === id;\n });\n }\n\n /**\n * find aspect by component ID.\n */\n find(id: ComponentID, ignoreVersion = false): AspectEntry | undefined {\n return this.entries.find((aspectEntry) => {\n return id.isEqual(aspectEntry.id, { ignoreVersion });\n });\n }\n\n /**\n * transform an aspect list into a new one.\n */\n map(predicate: (entry: AspectEntry) => AspectEntry) {\n const entries = this.entries.map(predicate);\n return new AspectList(entries);\n }\n\n /**\n * transform an aspect list into a new one.\n */\n async pmap(predicate: (entry: AspectEntry) => Promise<AspectEntry>) {\n const entriesP = this.entries.map(predicate);\n const entries = await Promise.all(entriesP);\n return new AspectList(entries);\n }\n\n toConfigObject() {\n const res = {};\n this.entries.forEach((entry) => {\n if (entry.config) {\n res[entry.id.toString()] = removeInternalConfigFields(entry.legacy.rawConfig);\n }\n });\n return res;\n }\n\n serialize() {\n const serializedEntries = this.entries.map((entry) => entry.serialize());\n return serializedEntries;\n }\n\n filter(ids?: string[]): AspectList {\n if (!ids?.length) return new AspectList(this.entries);\n const entries = this.entries.filter((aspectEntry) => {\n return ids?.includes(aspectEntry.id.toStringWithoutVersion());\n });\n return new AspectList(entries);\n }\n\n toLegacy(): ExtensionDataList {\n const legacyEntries = this.entries.map((entry) => entry.legacy);\n return ExtensionDataList.fromArray(legacyEntries);\n }\n\n stringIds(): string[] {\n const ids = this.entries.map((entry) => entry.id.toString());\n return ids;\n }\n\n clone(): AspectList {\n return new AspectList(this.entries.map((entry) => entry.clone()));\n }\n\n static fromLegacyExtensions(legacyDataList: ExtensionDataList): AspectList {\n const newEntries = legacyDataList.map((entry) => {\n return new AspectEntry(getAspectId(entry), entry);\n });\n\n return new AspectList(newEntries);\n }\n}\n\nfunction getAspectId(entry: ExtensionDataEntry) {\n if (!entry.extensionId && entry.name) return ComponentID.fromString(entry.name);\n if (entry.extensionId) return entry.extensionId;\n throw new Error('aspect cannot be loaded without setting an ID');\n}\n"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["_extensionData","data","require","_componentId","_aspectEntry","AspectList","constructor","entries","addEntry","aspectId","extensionDataEntry","ExtensionDataEntry","undefined","entry","AspectEntry","push","upsertEntry","existingEntry","find","id","isEqual","withoutEntries","aspectIds","filter","includes","legacy","stringId","ids","list","map","toString","get","toStringWithoutVersion","ignoreVersion","aspectEntry","predicate","pmap","entriesP","Promise","all","toConfigObject","res","forEach","config","removeInternalConfigFields","rawConfig","serialize","serializedEntries","length","toLegacy","legacyEntries","ExtensionDataList","fromArray","stringIds","clone","fromLegacyExtensions","legacyDataList","newEntries","getAspectId","exports","extensionId","name","ComponentID","fromString","Error"],"sources":["aspect-list.ts"],"sourcesContent":["import {\n ExtensionDataList,\n ExtensionDataEntry,\n removeInternalConfigFields,\n} from '@teambit/legacy/dist/consumer/config/extension-data';\nimport { ComponentID } from '@teambit/component-id';\nimport { AspectEntry, SerializableMap } from './aspect-entry';\n\n/**\n * list of aspects, each may have data and artifacts saved per component.\n */\nexport class AspectList {\n constructor(readonly entries: AspectEntry[]) {}\n\n addEntry(aspectId: ComponentID, data: SerializableMap = {}) {\n const extensionDataEntry = new ExtensionDataEntry(undefined, aspectId, undefined, {}, data);\n const entry = new AspectEntry(aspectId, extensionDataEntry);\n this.entries.push(entry);\n return entry;\n }\n\n upsertEntry(aspectId: ComponentID, data: SerializableMap = {}) {\n const existingEntry = this.entries.find((entry) => entry.id.isEqual(aspectId));\n if (existingEntry) {\n existingEntry.data = data;\n return existingEntry;\n }\n return this.addEntry(aspectId, data);\n }\n\n /**\n * transform an aspect list into a new one without the given aspect ids\n */\n withoutEntries(aspectIds: string[]): AspectList {\n const entries = this.entries.filter((entry) => !aspectIds.includes(entry.legacy.stringId));\n return new AspectList(entries);\n }\n\n /**\n * get all ids as strings from the aspect list.\n */\n get ids(): string[] {\n const list = this.entries.map((entry) => entry.id.toString());\n return list;\n }\n\n /**\n * get an aspect from the list using a serialized ID.\n */\n get(id: string): AspectEntry | undefined {\n return this.entries.find((entry) => {\n return entry.legacy.stringId === id || entry.id.toStringWithoutVersion() === id;\n });\n }\n\n /**\n * find aspect by component ID.\n */\n find(id: ComponentID, ignoreVersion = false): AspectEntry | undefined {\n return this.entries.find((aspectEntry) => {\n return id.isEqual(aspectEntry.id, { ignoreVersion });\n });\n }\n\n /**\n * transform an aspect list into a new one.\n */\n map(predicate: (entry: AspectEntry) => AspectEntry) {\n const entries = this.entries.map(predicate);\n return new AspectList(entries);\n }\n\n /**\n * transform an aspect list into a new one.\n */\n async pmap(predicate: (entry: AspectEntry) => Promise<AspectEntry>) {\n const entriesP = this.entries.map(predicate);\n const entries = await Promise.all(entriesP);\n return new AspectList(entries);\n }\n\n toConfigObject() {\n const res = {};\n this.entries.forEach((entry) => {\n if (entry.config) {\n res[entry.id.toString()] = removeInternalConfigFields(entry.legacy.rawConfig);\n }\n });\n return res;\n }\n\n serialize() {\n const serializedEntries = this.entries.map((entry) => entry.serialize());\n return serializedEntries;\n }\n\n filter(ids?: string[]): AspectList {\n if (!ids?.length) return new AspectList(this.entries);\n const entries = this.entries.filter((aspectEntry) => {\n return ids?.includes(aspectEntry.id.toStringWithoutVersion());\n });\n return new AspectList(entries);\n }\n\n toLegacy(): ExtensionDataList {\n const legacyEntries = this.entries.map((entry) => entry.legacy);\n return ExtensionDataList.fromArray(legacyEntries);\n }\n\n stringIds(): string[] {\n const ids = this.entries.map((entry) => entry.id.toString());\n return ids;\n }\n\n clone(): AspectList {\n return new AspectList(this.entries.map((entry) => entry.clone()));\n }\n\n static fromLegacyExtensions(legacyDataList: ExtensionDataList): AspectList {\n const newEntries = legacyDataList.map((entry) => {\n return new AspectEntry(getAspectId(entry), entry);\n });\n\n return new AspectList(newEntries);\n }\n}\n\nfunction getAspectId(entry: ExtensionDataEntry) {\n if (!entry.extensionId && entry.name) return ComponentID.fromString(entry.name);\n if (entry.extensionId) return entry.extensionId;\n throw new Error('aspect cannot be loaded without setting an ID');\n}\n"],"mappings":"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"}
|
package/dist/aspect.section.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
/// <reference types="react" />
|
|
2
2
|
import { Section } from './section';
|
|
3
3
|
export declare class AspectSection implements Section {
|
|
4
4
|
route: {
|
|
5
5
|
path: string;
|
|
6
|
-
element:
|
|
6
|
+
element: JSX.Element;
|
|
7
7
|
};
|
|
8
8
|
navigationLink: {
|
|
9
9
|
href: string;
|
|
10
|
-
children:
|
|
10
|
+
children: JSX.Element;
|
|
11
11
|
displayName: string;
|
|
12
12
|
};
|
|
13
13
|
order: number;
|
|
@@ -7,7 +7,7 @@ import type { AspectDefinition } from '@teambit/aspect-loader';
|
|
|
7
7
|
import { Component, InvalidComponent } from './component';
|
|
8
8
|
import { State } from './state';
|
|
9
9
|
import { Snap } from './snap';
|
|
10
|
-
export
|
|
10
|
+
export type ResolveAspectsOptions = FilterAspectsOptions & {
|
|
11
11
|
throwOnError?: boolean;
|
|
12
12
|
useScopeAspectsCapsule?: boolean;
|
|
13
13
|
workspaceName?: string;
|
|
@@ -15,13 +15,13 @@ export declare type ResolveAspectsOptions = FilterAspectsOptions & {
|
|
|
15
15
|
resolveEnvsFromRoots?: boolean;
|
|
16
16
|
packageManagerConfigRootDir?: string;
|
|
17
17
|
};
|
|
18
|
-
export
|
|
18
|
+
export type LoadAspectsOptions = {
|
|
19
19
|
throwOnError?: boolean;
|
|
20
20
|
hideMissingModuleError?: boolean;
|
|
21
21
|
ignoreErrors?: boolean;
|
|
22
22
|
[key: string]: any;
|
|
23
23
|
};
|
|
24
|
-
export
|
|
24
|
+
export type FilterAspectsOptions = {
|
|
25
25
|
/**
|
|
26
26
|
* Do not return results for the core aspects
|
|
27
27
|
*/
|
|
@@ -9,12 +9,12 @@ export declare class ComponentMap<T> {
|
|
|
9
9
|
/**
|
|
10
10
|
* @deprecated please use `get` instead
|
|
11
11
|
*/
|
|
12
|
-
byComponent(component: Component): [Component, T]
|
|
12
|
+
byComponent(component: Component): [Component, T];
|
|
13
13
|
get components(): Component[];
|
|
14
14
|
/**
|
|
15
15
|
* get a value for a component.
|
|
16
16
|
*/
|
|
17
|
-
get(component: Component): [Component, T]
|
|
17
|
+
get(component: Component): [Component, T];
|
|
18
18
|
/**
|
|
19
19
|
* get a value by the component-id
|
|
20
20
|
*/
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const Logo: () =>
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
export declare const Logo: () => JSX.Element;
|
package/dist/component.d.ts
CHANGED
|
@@ -10,11 +10,11 @@ import { State } from './state';
|
|
|
10
10
|
import { TagMap } from './tag-map';
|
|
11
11
|
import { Tag } from './tag';
|
|
12
12
|
import { IComponent, RawComponentMetadata } from './component-interface';
|
|
13
|
-
|
|
13
|
+
type SnapsIterableOpts = {
|
|
14
14
|
firstParentOnly?: boolean;
|
|
15
15
|
stopFn?: (snap: Snap) => Promise<boolean>;
|
|
16
16
|
};
|
|
17
|
-
export
|
|
17
|
+
export type InvalidComponent = {
|
|
18
18
|
id: ComponentID;
|
|
19
19
|
err: Error;
|
|
20
20
|
};
|
|
@@ -78,7 +78,7 @@ export declare class Component implements IComponent {
|
|
|
78
78
|
* build status of the component
|
|
79
79
|
*/
|
|
80
80
|
get buildStatus(): BuildStatus;
|
|
81
|
-
get headTag(): Tag
|
|
81
|
+
get headTag(): Tag;
|
|
82
82
|
get latest(): string | undefined;
|
|
83
83
|
/**
|
|
84
84
|
* get aspect data from current state.
|
|
@@ -12,7 +12,7 @@ export declare function componentSchema(componentExtension: ComponentMain): {
|
|
|
12
12
|
log: (component: Component) => Promise<{
|
|
13
13
|
date: number;
|
|
14
14
|
email: string;
|
|
15
|
-
username: string
|
|
15
|
+
username: string;
|
|
16
16
|
displayName: string;
|
|
17
17
|
id: string;
|
|
18
18
|
hash: string;
|
|
@@ -23,13 +23,13 @@ export declare function componentSchema(componentExtension: ComponentMain): {
|
|
|
23
23
|
}>;
|
|
24
24
|
getFile: (component: Component, { path }: {
|
|
25
25
|
path: string;
|
|
26
|
-
}) => string
|
|
26
|
+
}) => string;
|
|
27
27
|
mainFile: (component: Component) => any;
|
|
28
|
-
headTag: (component: Component) => import(".").TagProps
|
|
29
|
-
latest: (component: Component) => string
|
|
28
|
+
headTag: (component: Component) => import(".").TagProps;
|
|
29
|
+
latest: (component: Component) => string;
|
|
30
30
|
tags: (component: any) => any;
|
|
31
31
|
aspects: (component: Component, { include }: {
|
|
32
|
-
include?: string[]
|
|
32
|
+
include?: string[];
|
|
33
33
|
}) => import("./component-interface").RawComponentMetadata[];
|
|
34
34
|
logs: (component: Component, filter?: {
|
|
35
35
|
type?: string;
|
|
@@ -41,21 +41,21 @@ export declare function componentSchema(componentExtension: ComponentMain): {
|
|
|
41
41
|
}) => Promise<{
|
|
42
42
|
id: string;
|
|
43
43
|
message: string;
|
|
44
|
-
username?: string
|
|
45
|
-
displayName?: string
|
|
46
|
-
email?: string
|
|
47
|
-
date?: string
|
|
44
|
+
username?: string;
|
|
45
|
+
displayName?: string;
|
|
46
|
+
email?: string;
|
|
47
|
+
date?: string;
|
|
48
48
|
hash: string;
|
|
49
|
-
tag?: string
|
|
49
|
+
tag?: string;
|
|
50
50
|
parents: string[];
|
|
51
|
-
profileImage?: string
|
|
52
|
-
onLane?: boolean
|
|
51
|
+
profileImage?: string;
|
|
52
|
+
onLane?: boolean;
|
|
53
53
|
}[]>;
|
|
54
54
|
};
|
|
55
55
|
ComponentHost: {
|
|
56
56
|
get: (host: ComponentFactory, { id }: {
|
|
57
57
|
id: string;
|
|
58
|
-
}) => Promise<Component
|
|
58
|
+
}) => Promise<Component>;
|
|
59
59
|
snaps: (host: ComponentFactory, { id }: {
|
|
60
60
|
id: string;
|
|
61
61
|
}) => Promise<import("@teambit/legacy-component-log").LegacyComponentLog[]>;
|
|
@@ -216,10 +216,7 @@ function componentSchema(componentExtension) {
|
|
|
216
216
|
mainFile: component => {
|
|
217
217
|
return component.state._consumer.mainFile;
|
|
218
218
|
},
|
|
219
|
-
headTag: component =>
|
|
220
|
-
var _component$headTag;
|
|
221
|
-
return (_component$headTag = component.headTag) === null || _component$headTag === void 0 ? void 0 : _component$headTag.toObject();
|
|
222
|
-
},
|
|
219
|
+
headTag: component => component.headTag?.toObject(),
|
|
223
220
|
latest: component => component.latest,
|
|
224
221
|
tags: component => {
|
|
225
222
|
// graphql doesn't support map types
|
|
@@ -231,8 +228,8 @@ function componentSchema(componentExtension) {
|
|
|
231
228
|
return component.state.aspects.filter(include).serialize();
|
|
232
229
|
},
|
|
233
230
|
logs: async (component, filter) => {
|
|
234
|
-
let head = filter
|
|
235
|
-
if (!head && filter
|
|
231
|
+
let head = filter?.head;
|
|
232
|
+
if (!head && filter?.takeHeadFromComponent) {
|
|
236
233
|
head = component.id.version;
|
|
237
234
|
}
|
|
238
235
|
const finalFilter = _objectSpread(_objectSpread({}, filter), {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_stripAnsi","data","_interopRequireDefault","require","_graphqlTag","_graphqlTypeJson","_utils","obj","__esModule","default","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","i","_toPrimitive","String","Symbol","toPrimitive","call","TypeError","Number","componentSchema","componentExtension","typeDefs","gql","resolvers","JSONObject","GraphQLJSONObject","Component","id","component","toObject","displayName","fs","state","filesystem","files","map","file","relative","log","snap","loadSnap","version","date","timestamp","getTime","email","author","username","name","hash","getFile","path","maybeFile","find","pathNormalizeToLinux","undefined","contents","toString","mainFile","_consumer","headTag","_component$headTag","latest","tags","toArray","tag","aspects","include","serialize","logs","head","takeHeadFromComponent","finalFilter","getLogs","ComponentHost","get","host","componentId","resolveComponentId","error","snaps","list","listInvalid","invalidComps","err","errorName","errorMessage","message","stripAnsi","Query","getHost","componentExt"],"sources":["component.graphql.ts"],"sourcesContent":["import stripAnsi from 'strip-ansi';\nimport gql from 'graphql-tag';\nimport { GraphQLJSONObject } from 'graphql-type-json';\nimport { pathNormalizeToLinux } from '@teambit/legacy/dist/utils';\nimport { Component } from './component';\nimport { ComponentFactory } from './component-factory';\nimport { ComponentMain } from './component.main.runtime';\n\nexport function componentSchema(componentExtension: ComponentMain) {\n return {\n typeDefs: gql`\n scalar JSON\n scalar JSONObject\n\n type ComponentID {\n name: String!\n version: String\n scope: String\n }\n\n type Tag {\n # semver assigned to the tag.\n version: String!\n\n # tag hash.\n hash: String!\n }\n\n type Snap {\n # hash of the snapshot.\n hash: String!\n\n # time of the snapshot.\n timestamp: String!\n\n # parents of the snap\n parents: [String]!\n\n # snapper\n author: Author!\n\n # snapshot message\n message: String\n }\n\n type LogEntry {\n message: String!\n displayName: String\n username: String\n parents: [String]!\n email: String\n date: String\n hash: String!\n tag: String\n id: String!\n profileImage: String\n }\n\n type Author {\n # display name of the snapper.\n displayName: String!\n\n # author of the snapper.\n email: String!\n }\n\n type Component {\n # id of the component.\n id: ComponentID!\n\n # head snap of the component.\n head: Snap\n\n # head tag of the component.\n headTag: Tag\n\n # list of all relative component paths.\n fs: [String]\n\n # relative path to the main file of the component\n mainFile: String\n\n # return specific file contents by relative file path.\n getFile(path: String): String\n\n # latest version of the component.\n latest: String\n\n # display name of the component\n displayName: String!\n\n # component buildStatus\n buildStatus: String\n\n # list of component releases.\n tags: [Tag]!\n\n # Log entry of the component.\n log: LogEntry!\n\n \"\"\"\n component logs\n \"\"\"\n logs(\n \"\"\"\n type of logs to show (tag or snap)\n \"\"\"\n type: String\n offset: Int\n limit: Int\n \"\"\"\n head to start traversing logs from\n \"\"\"\n head: String\n sort: String\n \"\"\"\n start traversing logs from the fetched component's head\n \"\"\"\n takeHeadFromComponent: Boolean\n ): [LogEntry]!\n\n aspects(include: [String]): [Aspect]\n }\n\n type Aspect {\n id: String!\n icon: String\n config: JSONObject\n data: JSONObject\n }\n\n type InvalidComponent {\n id: ComponentID!\n errorName: String!\n errorMessage: String!\n }\n\n type ComponentHost {\n id: ID!\n name: String!\n\n # load a component.\n get(id: String!, withState: Boolean): Component\n\n # list components\n list(offset: Int, limit: Int): [Component]!\n\n # list invalid components and their errors\n listInvalid: [InvalidComponent]!\n\n # get component logs(snaps) by component id\n snaps(id: String!): [LogEntry]! @deprecated(reason: \"Use the logs field on Component\")\n }\n\n type Query {\n getHost(id: String): ComponentHost\n }\n `,\n resolvers: {\n JSONObject: GraphQLJSONObject,\n Component: {\n id: (component: Component) => component.id.toObject(),\n displayName: (component: Component) => component.displayName,\n fs: (component: Component) => {\n return component.state.filesystem.files.map((file) => file.relative);\n },\n log: async (component: Component) => {\n const snap = await component.loadSnap(component.id.version);\n return {\n ...snap,\n date: snap.timestamp.getTime(),\n email: snap.author.email,\n username: snap.author.name,\n displayName: snap.author.displayName,\n id: snap.hash,\n };\n },\n getFile: (component: Component, { path }: { path: string }) => {\n const maybeFile = component.state.filesystem.files.find(\n (file) => pathNormalizeToLinux(file.relative) === path\n );\n if (!maybeFile) return undefined;\n return maybeFile.contents.toString('utf-8');\n },\n mainFile: (component: Component) => {\n return component.state._consumer.mainFile;\n },\n headTag: (component: Component) => component.headTag?.toObject(),\n latest: (component: Component) => component.latest,\n tags: (component) => {\n // graphql doesn't support map types\n return component.tags.toArray().map((tag) => tag.toObject());\n },\n aspects: (component: Component, { include }: { include?: string[] }) => {\n return component.state.aspects.filter(include).serialize();\n },\n logs: async (\n component: Component,\n filter?: {\n type?: string;\n offset?: number;\n limit?: number;\n head?: string;\n sort?: string;\n takeHeadFromComponent: boolean;\n }\n ) => {\n let head = filter?.head;\n if (!head && filter?.takeHeadFromComponent) {\n head = component.id.version;\n }\n const finalFilter = { ...filter, ...{ head } };\n return (await component.getLogs(finalFilter)).map((log) => ({ ...log, id: log.hash }));\n },\n },\n ComponentHost: {\n get: async (host: ComponentFactory, { id }: { id: string }) => {\n try {\n const componentId = await host.resolveComponentId(id);\n const component = await host.get(componentId);\n return component;\n } catch (error: any) {\n return null;\n }\n },\n snaps: async (host: ComponentFactory, { id }: { id: string }) => {\n const componentId = await host.resolveComponentId(id);\n // return (await host.getLogs(componentId)).map(log => ({...log, id: log.hash}))\n return host.getLogs(componentId);\n },\n list: async (host: ComponentFactory, filter?: { offset: number; limit: number }) => {\n return host.list(filter);\n },\n listInvalid: async (host: ComponentFactory) => {\n const invalidComps = await host.listInvalid();\n return invalidComps.map(({ id, err }) => ({\n id,\n errorName: err.name,\n errorMessage: err.message ? stripAnsi(err.message) : err.name,\n }));\n },\n id: async (host: ComponentFactory) => {\n return host.name;\n },\n name: async (host: ComponentFactory) => {\n return host.name;\n },\n },\n Query: {\n getHost: (componentExt: ComponentMain, { id }: { id: string }) => {\n return componentExtension.getHost(id);\n },\n },\n },\n };\n}\n"],"mappings":"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AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;IACDC,SAAS,EAAE;MACTC,UAAU,EAAEC,oCAAiB;MAC7BC,SAAS,EAAE;QACTC,EAAE,EAAGC,SAAoB,IAAKA,SAAS,CAACD,EAAE,CAACE,QAAQ,CAAC,CAAC;QACrDC,WAAW,EAAGF,SAAoB,IAAKA,SAAS,CAACE,WAAW;QAC5DC,EAAE,EAAGH,SAAoB,IAAK;UAC5B,OAAOA,SAAS,CAACI,KAAK,CAACC,UAAU,CAACC,KAAK,CAACC,GAAG,CAAEC,IAAI,IAAKA,IAAI,CAACC,QAAQ,CAAC;QACtE,CAAC;QACDC,GAAG,EAAE,MAAOV,SAAoB,IAAK;UACnC,MAAMW,IAAI,GAAG,MAAMX,SAAS,CAACY,QAAQ,CAACZ,SAAS,CAACD,EAAE,CAACc,OAAO,CAAC;UAC3D,OAAA3C,aAAA,CAAAA,aAAA,KACKyC,IAAI;YACPG,IAAI,EAAEH,IAAI,CAACI,SAAS,CAACC,OAAO,CAAC,CAAC;YAC9BC,KAAK,EAAEN,IAAI,CAACO,MAAM,CAACD,KAAK;YACxBE,QAAQ,EAAER,IAAI,CAACO,MAAM,CAACE,IAAI;YAC1BlB,WAAW,EAAES,IAAI,CAACO,MAAM,CAAChB,WAAW;YACpCH,EAAE,EAAEY,IAAI,CAACU;UAAI;QAEjB,CAAC;QACDC,OAAO,EAAEA,CAACtB,SAAoB,EAAE;UAAEuB;QAAuB,CAAC,KAAK;UAC7D,MAAMC,SAAS,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"}
|
|
1
|
+
{"version":3,"names":["_stripAnsi","data","_interopRequireDefault","require","_graphqlTag","_graphqlTypeJson","_utils","obj","__esModule","default","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","i","_toPrimitive","String","Symbol","toPrimitive","call","TypeError","Number","componentSchema","componentExtension","typeDefs","gql","resolvers","JSONObject","GraphQLJSONObject","Component","id","component","toObject","displayName","fs","state","filesystem","files","map","file","relative","log","snap","loadSnap","version","date","timestamp","getTime","email","author","username","name","hash","getFile","path","maybeFile","find","pathNormalizeToLinux","undefined","contents","toString","mainFile","_consumer","headTag","latest","tags","toArray","tag","aspects","include","serialize","logs","head","takeHeadFromComponent","finalFilter","getLogs","ComponentHost","get","host","componentId","resolveComponentId","error","snaps","list","listInvalid","invalidComps","err","errorName","errorMessage","message","stripAnsi","Query","getHost","componentExt"],"sources":["component.graphql.ts"],"sourcesContent":["import stripAnsi from 'strip-ansi';\nimport gql from 'graphql-tag';\nimport { GraphQLJSONObject } from 'graphql-type-json';\nimport { pathNormalizeToLinux } from '@teambit/legacy/dist/utils';\nimport { Component } from './component';\nimport { ComponentFactory } from './component-factory';\nimport { ComponentMain } from './component.main.runtime';\n\nexport function componentSchema(componentExtension: ComponentMain) {\n return {\n typeDefs: gql`\n scalar JSON\n scalar JSONObject\n\n type ComponentID {\n name: String!\n version: String\n scope: String\n }\n\n type Tag {\n # semver assigned to the tag.\n version: String!\n\n # tag hash.\n hash: String!\n }\n\n type Snap {\n # hash of the snapshot.\n hash: String!\n\n # time of the snapshot.\n timestamp: String!\n\n # parents of the snap\n parents: [String]!\n\n # snapper\n author: Author!\n\n # snapshot message\n message: String\n }\n\n type LogEntry {\n message: String!\n displayName: String\n username: String\n parents: [String]!\n email: String\n date: String\n hash: String!\n tag: String\n id: String!\n profileImage: String\n }\n\n type Author {\n # display name of the snapper.\n displayName: String!\n\n # author of the snapper.\n email: String!\n }\n\n type Component {\n # id of the component.\n id: ComponentID!\n\n # head snap of the component.\n head: Snap\n\n # head tag of the component.\n headTag: Tag\n\n # list of all relative component paths.\n fs: [String]\n\n # relative path to the main file of the component\n mainFile: String\n\n # return specific file contents by relative file path.\n getFile(path: String): String\n\n # latest version of the component.\n latest: String\n\n # display name of the component\n displayName: String!\n\n # component buildStatus\n buildStatus: String\n\n # list of component releases.\n tags: [Tag]!\n\n # Log entry of the component.\n log: LogEntry!\n\n \"\"\"\n component logs\n \"\"\"\n logs(\n \"\"\"\n type of logs to show (tag or snap)\n \"\"\"\n type: String\n offset: Int\n limit: Int\n \"\"\"\n head to start traversing logs from\n \"\"\"\n head: String\n sort: String\n \"\"\"\n start traversing logs from the fetched component's head\n \"\"\"\n takeHeadFromComponent: Boolean\n ): [LogEntry]!\n\n aspects(include: [String]): [Aspect]\n }\n\n type Aspect {\n id: String!\n icon: String\n config: JSONObject\n data: JSONObject\n }\n\n type InvalidComponent {\n id: ComponentID!\n errorName: String!\n errorMessage: String!\n }\n\n type ComponentHost {\n id: ID!\n name: String!\n\n # load a component.\n get(id: String!, withState: Boolean): Component\n\n # list components\n list(offset: Int, limit: Int): [Component]!\n\n # list invalid components and their errors\n listInvalid: [InvalidComponent]!\n\n # get component logs(snaps) by component id\n snaps(id: String!): [LogEntry]! @deprecated(reason: \"Use the logs field on Component\")\n }\n\n type Query {\n getHost(id: String): ComponentHost\n }\n `,\n resolvers: {\n JSONObject: GraphQLJSONObject,\n Component: {\n id: (component: Component) => component.id.toObject(),\n displayName: (component: Component) => component.displayName,\n fs: (component: Component) => {\n return component.state.filesystem.files.map((file) => file.relative);\n },\n log: async (component: Component) => {\n const snap = await component.loadSnap(component.id.version);\n return {\n ...snap,\n date: snap.timestamp.getTime(),\n email: snap.author.email,\n username: snap.author.name,\n displayName: snap.author.displayName,\n id: snap.hash,\n };\n },\n getFile: (component: Component, { path }: { path: string }) => {\n const maybeFile = component.state.filesystem.files.find(\n (file) => pathNormalizeToLinux(file.relative) === path\n );\n if (!maybeFile) return undefined;\n return maybeFile.contents.toString('utf-8');\n },\n mainFile: (component: Component) => {\n return component.state._consumer.mainFile;\n },\n headTag: (component: Component) => component.headTag?.toObject(),\n latest: (component: Component) => component.latest,\n tags: (component) => {\n // graphql doesn't support map types\n return component.tags.toArray().map((tag) => tag.toObject());\n },\n aspects: (component: Component, { include }: { include?: string[] }) => {\n return component.state.aspects.filter(include).serialize();\n },\n logs: async (\n component: Component,\n filter?: {\n type?: string;\n offset?: number;\n limit?: number;\n head?: string;\n sort?: string;\n takeHeadFromComponent: boolean;\n }\n ) => {\n let head = filter?.head;\n if (!head && filter?.takeHeadFromComponent) {\n head = component.id.version;\n }\n const finalFilter = { ...filter, ...{ head } };\n return (await component.getLogs(finalFilter)).map((log) => ({ ...log, id: log.hash }));\n },\n },\n ComponentHost: {\n get: async (host: ComponentFactory, { id }: { id: string }) => {\n try {\n const componentId = await host.resolveComponentId(id);\n const component = await host.get(componentId);\n return component;\n } catch (error: any) {\n return null;\n }\n },\n snaps: async (host: ComponentFactory, { id }: { id: string }) => {\n const componentId = await host.resolveComponentId(id);\n // return (await host.getLogs(componentId)).map(log => ({...log, id: log.hash}))\n return host.getLogs(componentId);\n },\n list: async (host: ComponentFactory, filter?: { offset: number; limit: number }) => {\n return host.list(filter);\n },\n listInvalid: async (host: ComponentFactory) => {\n const invalidComps = await host.listInvalid();\n return invalidComps.map(({ id, err }) => ({\n id,\n errorName: err.name,\n errorMessage: err.message ? stripAnsi(err.message) : err.name,\n }));\n },\n id: async (host: ComponentFactory) => {\n return host.name;\n },\n name: async (host: ComponentFactory) => {\n return host.name;\n },\n },\n Query: {\n getHost: (componentExt: ComponentMain, { id }: { id: string }) => {\n return componentExtension.getHost(id);\n },\n },\n },\n };\n}\n"],"mappings":"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AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;IACDC,SAAS,EAAE;MACTC,UAAU,EAAEC,oCAAiB;MAC7BC,SAAS,EAAE;QACTC,EAAE,EAAGC,SAAoB,IAAKA,SAAS,CAACD,EAAE,CAACE,QAAQ,CAAC,CAAC;QACrDC,WAAW,EAAGF,SAAoB,IAAKA,SAAS,CAACE,WAAW;QAC5DC,EAAE,EAAGH,SAAoB,IAAK;UAC5B,OAAOA,SAAS,CAACI,KAAK,CAACC,UAAU,CAACC,KAAK,CAACC,GAAG,CAAEC,IAAI,IAAKA,IAAI,CAACC,QAAQ,CAAC;QACtE,CAAC;QACDC,GAAG,EAAE,MAAOV,SAAoB,IAAK;UACnC,MAAMW,IAAI,GAAG,MAAMX,SAAS,CAACY,QAAQ,CAACZ,SAAS,CAACD,EAAE,CAACc,OAAO,CAAC;UAC3D,OAAA3C,aAAA,CAAAA,aAAA,KACKyC,IAAI;YACPG,IAAI,EAAEH,IAAI,CAACI,SAAS,CAACC,OAAO,CAAC,CAAC;YAC9BC,KAAK,EAAEN,IAAI,CAACO,MAAM,CAACD,KAAK;YACxBE,QAAQ,EAAER,IAAI,CAACO,MAAM,CAACE,IAAI;YAC1BlB,WAAW,EAAES,IAAI,CAACO,MAAM,CAAChB,WAAW;YACpCH,EAAE,EAAEY,IAAI,CAACU;UAAI;QAEjB,CAAC;QACDC,OAAO,EAAEA,CAACtB,SAAoB,EAAE;UAAEuB;QAAuB,CAAC,KAAK;UAC7D,MAAMC,SAAS,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"}
|
package/dist/component.js
CHANGED
|
@@ -126,11 +126,10 @@ class Component {
|
|
|
126
126
|
* get aspect data from current state.
|
|
127
127
|
*/
|
|
128
128
|
get(id) {
|
|
129
|
-
|
|
130
|
-
return (_this$state$aspects$g = this.state.aspects.get(id)) === null || _this$state$aspects$g === void 0 ? void 0 : _this$state$aspects$g.serialize();
|
|
129
|
+
return this.state.aspects.get(id)?.serialize();
|
|
131
130
|
}
|
|
132
131
|
async getLogs(filter) {
|
|
133
|
-
const allLogs = await this.factory.getLogs(this.id, false, filter
|
|
132
|
+
const allLogs = await this.factory.getLogs(this.id, false, filter?.head);
|
|
134
133
|
if (!filter) return allLogs;
|
|
135
134
|
const {
|
|
136
135
|
type,
|
|
@@ -203,11 +202,10 @@ class Component {
|
|
|
203
202
|
* is component isOutdated
|
|
204
203
|
*/
|
|
205
204
|
isOutdated() {
|
|
206
|
-
var _this$head;
|
|
207
205
|
if (!this.latest) return false;
|
|
208
206
|
const latestTag = this.tags.byVersion(this.latest);
|
|
209
207
|
if (!latestTag) return false;
|
|
210
|
-
if (
|
|
208
|
+
if (this.head?.hash !== latestTag?.hash) return true;
|
|
211
209
|
return false;
|
|
212
210
|
}
|
|
213
211
|
|
|
@@ -223,8 +221,7 @@ class Component {
|
|
|
223
221
|
return this.factory.getState(this.id, snapId);
|
|
224
222
|
}
|
|
225
223
|
loadSnap(snapId) {
|
|
226
|
-
|
|
227
|
-
const snapToGet = snapId || ((_this$head2 = this.head) === null || _this$head2 === void 0 ? void 0 : _this$head2.hash);
|
|
224
|
+
const snapToGet = snapId || this.head?.hash;
|
|
228
225
|
if (!snapToGet) {
|
|
229
226
|
throw new (_bitError().BitError)('could not load snap for new components');
|
|
230
227
|
}
|
|
@@ -237,8 +234,7 @@ class Component {
|
|
|
237
234
|
* @param options
|
|
238
235
|
*/
|
|
239
236
|
snapsIterable(snapId, options = {}) {
|
|
240
|
-
|
|
241
|
-
const snapToStart = snapId || ((_this$head3 = this.head) === null || _this$head3 === void 0 ? void 0 : _this$head3.hash);
|
|
237
|
+
const snapToStart = snapId || this.head?.hash;
|
|
242
238
|
let nextSnaps = [snapToStart];
|
|
243
239
|
let done;
|
|
244
240
|
if (!snapToStart) {
|
package/dist/component.js.map
CHANGED
|
@@ -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 { 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":";;;;;;AACA,SAAAA,eAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,cAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAE,UAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,SAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAG,QAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,OAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAQA,SAAAI,QAAA;EAAA,MAAAJ,IAAA,GAAAC,OAAA;EAAAG,OAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAK,YAAA;EAAA,MAAAL,IAAA,GAAAC,OAAA;EAAAI,WAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAPA;;AAEA;;AAOA;;AASA;AACA;AACA;AACO,MAAMM,SAAS,CAAuB;EAC3CC,WAAWA;EACT;AACJ;AACA;EACaC,EAAe;EAExB;AACJ;AACA;EACaC,IAAiB,GAAG,IAAI;EAEjC;AACJ;AACA;EACYC,MAAa;EAErB;AACJ;AACA;EACaC,IAAY,GAAG,KAAIC,gBAAM,EAAC,CAAC;EAEpC;AACJ;AACA;EACYC,OAAyB,EACjC;IAAA,KArBSL,EAAe,GAAfA,EAAe;IAAA,KAKfC,IAAiB,GAAjBA,IAAiB;IAAA,KAKlBC,MAAa,GAAbA,MAAa;IAAA,KAKZC,IAAY,GAAZA,IAAY;IAAA,KAKbE,OAAyB,GAAzBA,OAAyB;EAChC;EAEH,IAAIC,QAAQA,CAAA,EAAG;IACb,OAAO,IAAI,CAACC,KAAK,CAACD,QAAQ;EAC5B;EAEA,IAAIC,KAAKA,CAAA,EAAU;IACjB,OAAO,IAAI,CAACL,MAAM;EACpB;EAEA,IAAIK,KAAKA,CAACA,KAAY,EAAE;IACtB,IAAI,CAACL,MAAM,GAAGK,KAAK;EACrB;;EAEA;AACF;AACA;EACE,IAAIC,MAAMA,CAAA,EAAoB;IAC5B,OAAO,IAAI,CAACD,KAAK,CAACC,MAAM;EAC1B;;EAEA;AACF;AACA;EACE,IAAIC,UAAUA,CAAA,EAAgB;IAC5B,OAAO,IAAI,CAACF,KAAK,CAACE,UAAU;EAC9B;;EAEA;AACF;AACA;EACE,IAAIC,WAAWA,CAAA,EAAgB;IAC7B,OAAO,IAAI,CAACR,MAAM,CAACS,SAAS,CAACD,WAAW;EAC1C;EAEA,IAAIE,OAAOA,CAAA,EAAG;IACZ,IAAI,CAAC,IAAI,CAACX,IAAI,EAAE,OAAOY,SAAS;IAChC,OAAO,IAAI,CAACV,IAAI,CAACW,MAAM,CAAC,IAAI,CAACb,IAAI,CAACc,IAAI,CAAC;EACzC;EAEA,IAAIC,MAAMA,CAAA,EAAuB;IAC/B,IAAI,CAAC,IAAI,CAACf,IAAI,EAAE,OAAOY,SAAS;IAChC,IAAI;MACF,OAAO,IAAI,CAACV,IAAI,CAACc,SAAS,CAAC,CAAC;IAC9B,CAAC,CAAC,OAAOC,GAAQ,EAAE;MACjB,IAAIA,GAAG,YAAYC,gCAAkB,EAAE;QACrC,OAAO,IAAI,CAAClB,IAAI,CAACc,IAAI;MACvB;MACA,MAAMG,GAAG;IACX;EACF;;EAEA;AACF;AACA;EACEE,GAAGA,CAACpB,EAAU,EAAoC;IAAA,IAAAqB,qBAAA;IAChD,QAAAA,qBAAA,GAAO,IAAI,CAACd,KAAK,CAACe,OAAO,CAACF,GAAG,CAACpB,EAAE,CAAC,cAAAqB,qBAAA,uBAA1BA,qBAAA,CAA4BE,SAAS,CAAC,CAAC;EAChD;EAEA,MAAMC,OAAOA,CAACC,MAAyF,EAAE;IACvG,MAAMC,OAAO,GAAG,MAAM,IAAI,CAACrB,OAAO,CAACmB,OAAO,CAAC,IAAI,CAACxB,EAAE,EAAE,KAAK,EAAEyB,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAExB,IAAI,CAAC;IAExE,IAAI,CAACwB,MAAM,EAAE,OAAOC,OAAO;IAE3B,MAAM;MAAEC,IAAI;MAAEC,KAAK;MAAEC,MAAM;MAAEC;IAAK,CAAC,GAAGL,MAAM;IAE5C,MAAMM,UAAU,GAAIC,IAAI,IAAK;MAC3B,IAAIL,IAAI,KAAK,KAAK,EAAE,OAAOK,IAAI,CAACC,GAAG;MACnC,IAAIN,IAAI,KAAK,MAAM,EAAE,OAAO,CAACK,IAAI,CAACC,GAAG;MACrC,OAAO,IAAI;IACb,CAAC;IAED,IAAIC,YAAY,GAAIP,IAAI,IAAID,OAAO,CAACD,MAAM,CAACM,UAAU,CAAC,IAAKL,OAAO;IAClE,IAAII,IAAI,KAAK,KAAK,EAAEI,YAAY,GAAGA,YAAY,CAACC,OAAO,CAAC,CAAC;IAEzD,IAAIP,KAAK,EAAE;MACTM,YAAY,GAAG,IAAAE,eAAK,EAACF,YAAY,EAAEL,MAAM,EAAED,KAAK,IAAIC,MAAM,IAAI,CAAC,CAAC,CAAC;IACnE;IAEA,OAAOK,YAAY;EACrB;EAEAG,SAASA,CAAA,EAAW;IAClB,OAAOC,IAAI,CAACD,SAAS,CAAC;MACpBrC,EAAE,EAAE,IAAI,CAACA,EAAE;MACXC,IAAI,EAAE,IAAI,CAACA;IACb,CAAC,CAAC;EACJ;;EAEA;AACF;AACA;EACE;EACA;EACA;;EAEA;EACA;;EAEA;AACF;AACA;EACE,IAAIsC,WAAWA,CAAA,EAAG;IAChB,MAAMC,MAAM,GAAG,IAAI,CAACxC,EAAE,CAACyC,IAAI,CAACC,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAAEC,KAAK,IAAK,IAAAC,2BAAU,EAACD,KAAK,CAAC,CAAC;IACxE,OAAOJ,MAAM,CAACM,IAAI,CAAC,GAAG,CAAC;EACzB;;EAEA;AACF;AACA;EACE;EACAb,GAAGA,CAACc,OAAe,EAAE;IACnB;IACA;IACA;EAAA;;EAGF;AACF;AACA;EACEC,UAAUA,CAAA,EAAqB;IAC7B,OAAO,IAAI,CAAC3C,OAAO,CAAC2C,UAAU,CAAC,IAAI,CAAC;EACtC;;EAEA;AACF;AACA;EACEC,SAASA,CAAA,EAAY;IACnB,OAAO,IAAI,CAAC1C,KAAK,CAACI,SAAS,CAACuC,SAAS,CAAC,CAAC;EACzC;;EAEA;AACF;AACA;EACEC,UAAUA,CAAA,EAAY;IAAA,IAAAC,UAAA;IACpB,IAAI,CAAC,IAAI,CAACpC,MAAM,EAAE,OAAO,KAAK;IAC9B,MAAMqC,SAAS,GAAG,IAAI,CAAClD,IAAI,CAACmD,SAAS,CAAC,IAAI,CAACtC,MAAM,CAAC;IAClD,IAAI,CAACqC,SAAS,EAAE,OAAO,KAAK;IAC5B,IAAI,EAAAD,UAAA,OAAI,CAACnD,IAAI,cAAAmD,UAAA,uBAATA,UAAA,CAAWrC,IAAI,OAAKsC,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEtC,IAAI,GAAE,OAAO,IAAI;IACpD,OAAO,KAAK;EACd;;EAEA;AACF;AACA;EACEwC,KAAKA,CAAA,EAAqB;IACxB,OAAOC,OAAO,CAACC,OAAO,CAAC,IAAI,CAACxD,IAAI,KAAK,IAAI,CAAC;EAC5C;;EAEA;EACAyD,SAASA,CAACC,MAAc,EAAkB;IACxC,OAAO,IAAI,CAACtD,OAAO,CAACuD,QAAQ,CAAC,IAAI,CAAC5D,EAAE,EAAE2D,MAAM,CAAC;EAC/C;EAEAE,QAAQA,CAACF,MAAe,EAAiB;IAAA,IAAAG,WAAA;IACvC,MAAMC,SAAS,GAAGJ,MAAM,MAAAG,WAAA,GAAI,IAAI,CAAC7D,IAAI,cAAA6D,WAAA,uBAATA,WAAA,CAAW/C,IAAI;IAC3C,IAAI,CAACgD,SAAS,EAAE;MACd,MAAM,KAAIC,oBAAQ,EAAC,wCAAwC,CAAC;IAC9D;IACA,OAAO,IAAI,CAAC3D,OAAO,CAAC4D,OAAO,CAAC,IAAI,CAACjE,EAAE,EAAE+D,SAAS,CAAC;EACjD;;EAEA;AACF;AACA;AACA;AACA;EACEG,aAAaA,CAACP,MAAe,EAAEQ,OAA0B,GAAG,CAAC,CAAC,EAAuB;IAAA,IAAAC,WAAA;IACnF,MAAMC,WAAW,GAAGV,MAAM,MAAAS,WAAA,GAAI,IAAI,CAACnE,IAAI,cAAAmE,WAAA,uBAATA,WAAA,CAAWrD,IAAI;IAC7C,IAAIuD,SAAS,GAAG,CAACD,WAAW,CAAC;IAC7B,IAAIE,IAAI;IACR,IAAI,CAACF,WAAW,EAAE;MAChBE,IAAI,GAAG,IAAI;IACb;IAEA,MAAMC,QAA6B,GAAG;MACpCC,IAAI,EAAE,MAAAA,CAAA,KAAY;QAChB,IAAIF,IAAI,EAAE;UACR,OAAO;YAAEG,KAAK,EAAE7D,SAAS;YAAE0D;UAAK,CAAC;QACnC;QACA,MAAMI,UAAU,GAAGL,SAAS,CAACM,KAAK,CAAC,CAAC;QACpC,MAAM5C,IAAI,GAAG,MAAM,IAAI,CAAC6B,QAAQ,CAACc,UAAU,CAAC;QAC5C,IAAI3C,IAAI,CAAC6C,OAAO,IAAI7C,IAAI,CAAC6C,OAAO,CAACC,MAAM,EAAE;UACvC,IAAIX,OAAO,CAACY,eAAe,EAAE;YAC3BT,SAAS,CAACU,IAAI,CAAChD,IAAI,CAAC6C,OAAO,CAAC,CAAC,CAAC,CAAC;UACjC,CAAC,MAAM;YACLP,SAAS,GAAGA,SAAS,CAACW,MAAM,CAACjD,IAAI,CAAC6C,OAAO,CAAC;UAC5C;QACF;QACA,IAAI,CAACP,SAAS,CAACQ,MAAM,EAAE;UACrBP,IAAI,GAAG,IAAI;QACb,CAAC,MAAM,IAAIJ,OAAO,CAACe,MAAM,EAAE;UACzBX,IAAI,GAAG,MAAMJ,OAAO,CAACe,MAAM,CAAClD,IAAI,CAAC;QACnC;QACA,OAAO;UAAE0C,KAAK,EAAE1C,IAAI;UAAEuC,IAAI,EAAE1D;QAAU,CAAC;MACzC;IACF,CAAC;IACD,OAAO;MACL,CAACsE,MAAM,CAACC,aAAa,GAAG,MAAMZ;IAChC,CAAC;EACH;;EAEA;AACF;AACA;AACA;EACE,MAAMa,aAAaA,CAACC,eAAwB,EAA4B;IACtE,MAAMC,WAAW,GAAG,IAAI,CAACpF,IAAI,CAACqF,UAAU,CAAC,CAAC;IAC1C,MAAMN,MAAM,GAAG,MAAOlD,IAAU,IAAK;MACnC,IAAIuD,WAAW,CAACE,GAAG,CAACzD,IAAI,CAACjB,IAAI,CAAC,EAAE;QAC9B,OAAO,IAAI;MACb;MACA,OAAO,KAAK;IACd,CAAC;IACD,MAAM2E,QAAQ,GAAG,IAAI,CAACxB,aAAa,CAACoB,eAAe,EAAE;MAAEP,eAAe,EAAE,IAAI;MAAEG;IAAO,CAAC,CAAC;IACvF,MAAMS,KAAa,GAAG,EAAE;IACxB,WAAW,MAAM3D,IAAI,IAAI0D,QAAQ,EAAE;MACjCC,KAAK,CAACX,IAAI,CAAChD,IAAI,CAAC;IAClB;IACA,IAAI2D,KAAK,CAACb,MAAM,EAAE;MAChB,MAAMc,cAAc,GAAGD,KAAK,CAACA,KAAK,CAACb,MAAM,GAAG,CAAC,CAAC,CAAC/D,IAAI;MACnD,OAAOwE,WAAW,CAACnE,GAAG,CAACwE,cAAc,CAAC;IACxC;IACA,OAAO/E,SAAS;EAClB;;EAEA;AACF;AACA;EACE;EACAgF,QAAQA,CAAC9C,OAAe,EAAE,CAAC;;EAE3B;AACF;AACA;EACE;;EAEA;AACF;AACA;EACE;;EAEA;AACF;AACA;AACA;AACA;EACE;EACA+C,KAAKA,CAACC,IAAY,EAAEC,EAAU,EAAE,CAAC;;EAEjC;AACF;AACA;AACA;AACA;AACA;AACA;EACE;EACAC,MAAMA,CAACC,SAAoB,EAAW;IACpC,OAAOA,SAAS,CAAClG,EAAE,CAACmG,QAAQ,CAAC,CAAC,KAAK,IAAI,CAACnG,EAAE,CAACmG,QAAQ,CAAC,CAAC;EACvD;AACF;AAACC,OAAA,CAAAtG,SAAA,GAAAA,SAAA"}
|
|
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","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","latestTag","byVersion","isNew","Promise","resolve","loadState","snapId","getState","loadSnap","snapToGet","BitError","getSnap","snapsIterable","options","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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"}
|
|
@@ -9,8 +9,8 @@ import { AspectList } from './aspect-list';
|
|
|
9
9
|
import { AspectEntry } from './aspect-entry';
|
|
10
10
|
import { ShowFragment } from './show';
|
|
11
11
|
import { RegisteredComponentRoute } from '.';
|
|
12
|
-
export
|
|
13
|
-
export
|
|
12
|
+
export type ComponentHostSlot = SlotRegistry<ComponentFactory>;
|
|
13
|
+
export type ShowFragmentSlot = SlotRegistry<ShowFragment[]>;
|
|
14
14
|
export declare class ComponentMain {
|
|
15
15
|
/**
|
|
16
16
|
* slot for component hosts to register.
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { NextFunction, Request, Response, Route } from '@teambit/express';
|
|
2
2
|
import { ComponentMain } from './component.main.runtime';
|
|
3
|
-
export
|
|
3
|
+
export type RegisteredComponentRoute = Route & {
|
|
4
4
|
resolveComponent?: boolean;
|
|
5
5
|
};
|
|
6
|
-
export
|
|
6
|
+
export type ComponentUrlParams = {
|
|
7
7
|
componentId: string;
|
|
8
8
|
};
|
|
9
9
|
export declare class ComponentRoute implements Route {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
1
2
|
/// <reference types="lodash" />
|
|
2
|
-
import React from 'react';
|
|
3
3
|
import type { RouteProps } from 'react-router-dom';
|
|
4
4
|
import type { LinkProps } from '@teambit/base-react.navigation.link';
|
|
5
5
|
import { CommandBarUI } from '@teambit/command-bar';
|
|
@@ -13,15 +13,15 @@ import { ComponentPageElement, ComponentPageSlot } from './ui/component';
|
|
|
13
13
|
import { ComponentResultPlugin } from './ui/component-searcher';
|
|
14
14
|
import { ConsumeMethodSlot, ConsumePlugin, NavPlugin, OrderedNavigationSlot } from './ui/menu';
|
|
15
15
|
import { GetComponentsOptions } from './get-component-opts';
|
|
16
|
-
export
|
|
17
|
-
export
|
|
16
|
+
export type ComponentSearchResultSlot = SlotRegistry<ComponentResultPlugin[]>;
|
|
17
|
+
export type ComponentUIConfig = {
|
|
18
18
|
commandBar: boolean;
|
|
19
19
|
};
|
|
20
|
-
export
|
|
20
|
+
export type Server = {
|
|
21
21
|
env: string;
|
|
22
22
|
url: string;
|
|
23
23
|
};
|
|
24
|
-
export
|
|
24
|
+
export type ComponentMeta = {
|
|
25
25
|
id: string;
|
|
26
26
|
};
|
|
27
27
|
export declare class ComponentUI {
|
|
@@ -66,8 +66,8 @@ export declare class ComponentUI {
|
|
|
66
66
|
private bitMethod;
|
|
67
67
|
registerPubSub(): void;
|
|
68
68
|
handleComponentChange: (activeComponent?: ComponentModel) => void;
|
|
69
|
-
getComponentUI(host: string, options?: GetComponentsOptions):
|
|
70
|
-
getMenu(host: string, options?: GetComponentsOptions):
|
|
69
|
+
getComponentUI(host: string, options?: GetComponentsOptions): JSX.Element;
|
|
70
|
+
getMenu(host: string, options?: GetComponentsOptions): JSX.Element;
|
|
71
71
|
listMenuItems(): import("lodash").Dictionary<MenuItem[]>;
|
|
72
72
|
registerRoute(routes: RouteProps[] | RouteProps): this;
|
|
73
73
|
registerNavigation(nav: LinkProps, order?: number): void;
|
|
@@ -169,11 +169,9 @@ class ComponentUI {
|
|
|
169
169
|
*/
|
|
170
170
|
_defineProperty(this, "activeComponent", void 0);
|
|
171
171
|
_defineProperty(this, "copyNpmId", () => {
|
|
172
|
-
|
|
173
|
-
const packageName = (_this$activeComponent = this.activeComponent) === null || _this$activeComponent === void 0 ? void 0 : _this$activeComponent.packageName;
|
|
172
|
+
const packageName = this.activeComponent?.packageName;
|
|
174
173
|
if (packageName) {
|
|
175
|
-
|
|
176
|
-
const version = (_this$activeComponent2 = this.activeComponent) === null || _this$activeComponent2 === void 0 ? void 0 : _this$activeComponent2.id.version;
|
|
174
|
+
const version = this.activeComponent?.id.version;
|
|
177
175
|
const versionString = version ? `@${this.formatToInstallableVersion(version)}` : '';
|
|
178
176
|
(0, _copyToClipboard().default)(`${packageName}${versionString}`);
|
|
179
177
|
}
|
|
@@ -185,8 +183,7 @@ class ComponentUI {
|
|
|
185
183
|
id: 'component.copyBitId',
|
|
186
184
|
// TODO - extract to a component!
|
|
187
185
|
action: () => {
|
|
188
|
-
|
|
189
|
-
(0, _copyToClipboard().default)(((_this$activeComponent3 = this.activeComponent) === null || _this$activeComponent3 === void 0 ? void 0 : _this$activeComponent3.id.toString()) || '');
|
|
186
|
+
(0, _copyToClipboard().default)(this.activeComponent?.id.toString() || '');
|
|
190
187
|
},
|
|
191
188
|
displayName: 'Copy component ID',
|
|
192
189
|
keybinding: '.'
|
|
@@ -201,34 +198,22 @@ class ComponentUI {
|
|
|
201
198
|
category: 'general',
|
|
202
199
|
title: 'Open command bar',
|
|
203
200
|
keyChar: 'mod+k',
|
|
204
|
-
handler: () =>
|
|
205
|
-
var _this$commandBarUI;
|
|
206
|
-
return (_this$commandBarUI = this.commandBarUI) === null || _this$commandBarUI === void 0 ? void 0 : _this$commandBarUI.run('command-bar.open');
|
|
207
|
-
}
|
|
201
|
+
handler: () => this.commandBarUI?.run('command-bar.open')
|
|
208
202
|
}, {
|
|
209
203
|
category: 'general',
|
|
210
204
|
title: 'Toggle component list',
|
|
211
205
|
keyChar: 'alt+s',
|
|
212
|
-
handler: () =>
|
|
213
|
-
var _this$commandBarUI2;
|
|
214
|
-
return (_this$commandBarUI2 = this.commandBarUI) === null || _this$commandBarUI2 === void 0 ? void 0 : _this$commandBarUI2.run('sidebar.toggle');
|
|
215
|
-
}
|
|
206
|
+
handler: () => this.commandBarUI?.run('sidebar.toggle')
|
|
216
207
|
}, {
|
|
217
208
|
category: 'workflow',
|
|
218
209
|
title: 'Copy component ID',
|
|
219
210
|
keyChar: '.',
|
|
220
|
-
handler: () =>
|
|
221
|
-
var _this$commandBarUI3;
|
|
222
|
-
return (_this$commandBarUI3 = this.commandBarUI) === null || _this$commandBarUI3 === void 0 ? void 0 : _this$commandBarUI3.run('component.copyBitId');
|
|
223
|
-
}
|
|
211
|
+
handler: () => this.commandBarUI?.run('component.copyBitId')
|
|
224
212
|
}, {
|
|
225
213
|
category: 'workflow',
|
|
226
214
|
title: 'Copy component package name',
|
|
227
215
|
keyChar: ',',
|
|
228
|
-
handler: () =>
|
|
229
|
-
var _this$commandBarUI4;
|
|
230
|
-
return (_this$commandBarUI4 = this.commandBarUI) === null || _this$commandBarUI4 === void 0 ? void 0 : _this$commandBarUI4.run('component.copyNpmId');
|
|
231
|
-
}
|
|
216
|
+
handler: () => this.commandBarUI?.run('component.copyNpmId')
|
|
232
217
|
}]);
|
|
233
218
|
_defineProperty(this, "bitMethod", ({
|
|
234
219
|
options,
|
|
@@ -237,8 +222,8 @@ class ComponentUI {
|
|
|
237
222
|
latest: latestFromProps,
|
|
238
223
|
componentModel
|
|
239
224
|
}) => {
|
|
240
|
-
const packageName = packageNameFromProps ||
|
|
241
|
-
const latest = latestFromProps ||
|
|
225
|
+
const packageName = packageNameFromProps || componentModel?.packageName;
|
|
226
|
+
const latest = latestFromProps || componentModel?.id.version;
|
|
242
227
|
const version = componentId.version === latest ? '' : `@${componentId.version}`;
|
|
243
228
|
const packageVersion = componentId.version === latest ? '' : `@${this.formatToInstallableVersion(componentId.version)}`;
|
|
244
229
|
return {
|
|
@@ -248,13 +233,13 @@ class ComponentUI {
|
|
|
248
233
|
},
|
|
249
234
|
src: "https://static.bit.dev/brands/bit-logo-text.svg"
|
|
250
235
|
}),
|
|
251
|
-
Component: !
|
|
236
|
+
Component: !options?.hide ? /*#__PURE__*/_react().default.createElement(_uiFoundationUiUseBox().Import, {
|
|
252
237
|
componentId: `${componentId.toString({
|
|
253
238
|
ignoreVersion: true
|
|
254
239
|
})}${version}`,
|
|
255
240
|
packageName: `${packageName}${packageVersion}`,
|
|
256
241
|
componentName: componentId.name,
|
|
257
|
-
showInstallMethod: !
|
|
242
|
+
showInstallMethod: !options?.disableInstall
|
|
258
243
|
}) : null,
|
|
259
244
|
order: 0
|
|
260
245
|
};
|
|
@@ -297,7 +282,7 @@ class ComponentUI {
|
|
|
297
282
|
cancelable: true
|
|
298
283
|
});
|
|
299
284
|
const body = document.body;
|
|
300
|
-
body
|
|
285
|
+
body?.dispatchEvent(event);
|
|
301
286
|
}
|
|
302
287
|
});
|
|
303
288
|
}
|