@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.
Files changed (67) hide show
  1. package/artifacts/preview/static/css/teambit.component/component-preview.8360f74e.css +55 -0
  2. package/artifacts/preview/static/images/348e1dfebd0d5a35a5e6.png +0 -0
  3. package/artifacts/preview/static/images/37978a86e2f81f41863e.png +0 -0
  4. package/artifacts/preview/teambit_component_component-preview.js +2 -0
  5. package/dist/aspect-entry.d.ts +4 -4
  6. package/dist/aspect-entry.js +1 -2
  7. package/dist/aspect-entry.js.map +1 -1
  8. package/dist/aspect-list.js +2 -2
  9. package/dist/aspect-list.js.map +1 -1
  10. package/dist/aspect.section.d.ts +3 -3
  11. package/dist/component-factory.d.ts +3 -3
  12. package/dist/component-interface.d.ts +1 -1
  13. package/dist/component-map/component-map.d.ts +2 -2
  14. package/dist/component.composition.d.ts +2 -2
  15. package/dist/component.d.ts +3 -3
  16. package/dist/component.graphql.d.ts +13 -13
  17. package/dist/component.graphql.js +3 -6
  18. package/dist/component.graphql.js.map +1 -1
  19. package/dist/component.js +5 -9
  20. package/dist/component.js.map +1 -1
  21. package/dist/component.main.runtime.d.ts +2 -2
  22. package/dist/component.route.d.ts +2 -2
  23. package/dist/component.ui.runtime.d.ts +7 -7
  24. package/dist/component.ui.runtime.js +12 -27
  25. package/dist/component.ui.runtime.js.map +1 -1
  26. package/dist/get-component-opts.d.ts +1 -1
  27. package/dist/hash.d.ts +1 -1
  28. package/dist/{preview-1703590665075.js → preview-1703698405864.js} +2 -2
  29. package/dist/snap/author.d.ts +1 -1
  30. package/dist/snap/snap.d.ts +1 -1
  31. package/dist/tag/tag.d.ts +1 -1
  32. package/dist/tag-map.d.ts +1 -1
  33. package/dist/ui/aspect-page/aspect-page.d.ts +2 -2
  34. package/dist/ui/aspect-page/aspect-page.js +1 -2
  35. package/dist/ui/aspect-page/aspect-page.js.map +1 -1
  36. package/dist/ui/component-error/component-error.d.ts +4 -4
  37. package/dist/ui/component-model/component-model.d.ts +21 -21
  38. package/dist/ui/component-model/component-model.js +1 -1
  39. package/dist/ui/component-model/component-model.js.map +1 -1
  40. package/dist/ui/component-searcher/component-result.d.ts +4 -4
  41. package/dist/ui/component-searcher/component-result.js +2 -2
  42. package/dist/ui/component-searcher/component-result.js.map +1 -1
  43. package/dist/ui/component-searcher/component-searcher.d.ts +2 -2
  44. package/dist/ui/component.d.ts +5 -5
  45. package/dist/ui/component.js +6 -6
  46. package/dist/ui/component.js.map +1 -1
  47. package/dist/ui/context/component-context.d.ts +1 -1
  48. package/dist/ui/context/component-provider.d.ts +5 -5
  49. package/dist/ui/menu/menu-nav.d.ts +2 -2
  50. package/dist/ui/menu/menu-nav.js +5 -5
  51. package/dist/ui/menu/menu-nav.js.map +1 -1
  52. package/dist/ui/menu/menu.d.ts +9 -9
  53. package/dist/ui/menu/menu.js +28 -31
  54. package/dist/ui/menu/menu.js.map +1 -1
  55. package/dist/ui/menu/nav-plugin.d.ts +7 -7
  56. package/dist/ui/top-bar-nav/top-bar-nav.d.ts +2 -2
  57. package/dist/ui/use-component-from-location.js +1 -1
  58. package/dist/ui/use-component-from-location.js.map +1 -1
  59. package/dist/ui/use-component-logs.d.ts +7 -7
  60. package/dist/ui/use-component-logs.js +5 -6
  61. package/dist/ui/use-component-logs.js.map +1 -1
  62. package/dist/ui/use-component-query.js +13 -17
  63. package/dist/ui/use-component-query.js.map +1 -1
  64. package/dist/ui/use-component.model.d.ts +7 -7
  65. package/package.json +33 -40
  66. package/tsconfig.json +16 -21
  67. package/types/asset.d.ts +15 -3
@@ -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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"}
@@ -1,13 +1,13 @@
1
- import React from 'react';
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: React.JSX.Element;
6
+ element: JSX.Element;
7
7
  };
8
8
  navigationLink: {
9
9
  href: string;
10
- children: React.JSX.Element;
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 declare type ResolveAspectsOptions = FilterAspectsOptions & {
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 declare type LoadAspectsOptions = {
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 declare type FilterAspectsOptions = {
24
+ export type FilterAspectsOptions = {
25
25
  /**
26
26
  * Do not return results for the core aspects
27
27
  */
@@ -14,7 +14,7 @@ export interface IComponent {
14
14
  */
15
15
  isModified(): Promise<boolean>;
16
16
  }
17
- export declare type RawComponentMetadata = {
17
+ export type RawComponentMetadata = {
18
18
  id: string;
19
19
  config: Record<string, any>;
20
20
  data: Record<string, any>;
@@ -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] | undefined;
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] | undefined;
17
+ get(component: Component): [Component, T];
18
18
  /**
19
19
  * get a value by the component-id
20
20
  */
@@ -1,2 +1,2 @@
1
- import React from 'react';
2
- export declare const Logo: () => React.JSX.Element;
1
+ /// <reference types="react" />
2
+ export declare const Logo: () => JSX.Element;
@@ -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
- declare type SnapsIterableOpts = {
13
+ type SnapsIterableOpts = {
14
14
  firstParentOnly?: boolean;
15
15
  stopFn?: (snap: Snap) => Promise<boolean>;
16
16
  };
17
- export declare type InvalidComponent = {
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 | undefined;
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 | undefined;
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 | undefined;
26
+ }) => string;
27
27
  mainFile: (component: Component) => any;
28
- headTag: (component: Component) => import(".").TagProps | undefined;
29
- latest: (component: Component) => string | undefined;
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[] | undefined;
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 | undefined;
45
- displayName?: string | undefined;
46
- email?: string | undefined;
47
- date?: string | undefined;
44
+ username?: string;
45
+ displayName?: string;
46
+ email?: string;
47
+ date?: string;
48
48
  hash: string;
49
- tag?: string | undefined;
49
+ tag?: string;
50
50
  parents: string[];
51
- profileImage?: string | undefined;
52
- onLane?: boolean | undefined;
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 | null | undefined>;
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 === null || filter === void 0 ? void 0 : filter.head;
235
- if (!head && filter !== null && filter !== void 0 && filter.takeHeadFromComponent) {
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
- var _this$state$aspects$g;
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 === null || filter === void 0 ? void 0 : filter.head);
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 (((_this$head = this.head) === null || _this$head === void 0 ? void 0 : _this$head.hash) !== (latestTag === null || latestTag === void 0 ? void 0 : latestTag.hash)) return true;
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
- var _this$head2;
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
- var _this$head3;
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) {
@@ -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":"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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","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 declare type ComponentHostSlot = SlotRegistry<ComponentFactory>;
13
- export declare type ShowFragmentSlot = SlotRegistry<ShowFragment[]>;
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 declare type RegisteredComponentRoute = Route & {
3
+ export type RegisteredComponentRoute = Route & {
4
4
  resolveComponent?: boolean;
5
5
  };
6
- export declare type ComponentUrlParams = {
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 declare type ComponentSearchResultSlot = SlotRegistry<ComponentResultPlugin[]>;
17
- export declare type ComponentUIConfig = {
16
+ export type ComponentSearchResultSlot = SlotRegistry<ComponentResultPlugin[]>;
17
+ export type ComponentUIConfig = {
18
18
  commandBar: boolean;
19
19
  };
20
- export declare type Server = {
20
+ export type Server = {
21
21
  env: string;
22
22
  url: string;
23
23
  };
24
- export declare type ComponentMeta = {
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): React.JSX.Element;
70
- getMenu(host: string, options?: GetComponentsOptions): React.JSX.Element;
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
- var _this$activeComponent;
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
- var _this$activeComponent2;
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
- var _this$activeComponent3;
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 || (componentModel === null || componentModel === void 0 ? void 0 : componentModel.packageName);
241
- const latest = latestFromProps || (componentModel === null || componentModel === void 0 ? void 0 : componentModel.id.version);
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: !(options !== null && options !== void 0 && options.hide) ? /*#__PURE__*/_react().default.createElement(_uiFoundationUiUseBox().Import, {
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: !(options !== null && options !== void 0 && options.disableInstall)
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 === null || body === void 0 || body.dispatchEvent(event);
285
+ body?.dispatchEvent(event);
301
286
  }
302
287
  });
303
288
  }