@teambit/component 0.0.625 → 0.0.631
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/__preview-1643039669895.js +1 -0
- package/component-map/component-map.ts +10 -0
- package/dist/component-map/component-map.d.ts +4 -0
- package/dist/component-map/component-map.js +10 -0
- package/dist/component-map/component-map.js.map +1 -1
- package/dist/component.main.runtime.d.ts +2 -1
- package/dist/component.main.runtime.js +2 -1
- package/dist/component.main.runtime.js.map +1 -1
- package/dist/component.route.d.ts +9 -3
- package/dist/component.route.js +15 -8
- package/dist/component.route.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +22 -0
- package/dist/index.js.map +1 -1
- package/dist/ui/component-model/component-model.d.ts +7 -2
- package/dist/ui/component-model/component-model.js +5 -3
- package/dist/ui/component-model/component-model.js.map +1 -1
- package/dist/ui/use-component-query.js +3 -0
- package/dist/ui/use-component-query.js.map +1 -1
- package/package-tar/teambit-component-0.0.631.tgz +0 -0
- package/package.json +17 -17
- package/ui/component-model/component-model.ts +11 -2
- package/ui/use-component-query.ts +3 -0
- package/package-tar/teambit-component-0.0.625.tgz +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const overview = [require('/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_component@0.0.631/dist/component.docs.mdx')]
|
|
@@ -52,6 +52,16 @@ export class ComponentMap<T> {
|
|
|
52
52
|
|
|
53
53
|
return new ComponentMap(new Map(tuples));
|
|
54
54
|
}
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* similar to Array.forEach, but here you get both, the value and the component.
|
|
58
|
+
*/
|
|
59
|
+
forEach(predicate: (value: T, component: Component) => void): void {
|
|
60
|
+
this.toArray().forEach(([component, value]) => {
|
|
61
|
+
predicate(value, component);
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
|
|
55
65
|
/**
|
|
56
66
|
* flatten values of all components into a single array.
|
|
57
67
|
*/
|
|
@@ -27,6 +27,10 @@ export declare class ComponentMap<T> {
|
|
|
27
27
|
* map entries and return a new component map.
|
|
28
28
|
*/
|
|
29
29
|
map<NewType>(predicate: (value: T, component: Component) => NewType): ComponentMap<NewType>;
|
|
30
|
+
/**
|
|
31
|
+
* similar to Array.forEach, but here you get both, the value and the component.
|
|
32
|
+
*/
|
|
33
|
+
forEach(predicate: (value: T, component: Component) => void): void;
|
|
30
34
|
/**
|
|
31
35
|
* flatten values of all components into a single array.
|
|
32
36
|
*/
|
|
@@ -64,6 +64,16 @@ class ComponentMap {
|
|
|
64
64
|
});
|
|
65
65
|
return new ComponentMap(new Map(tuples));
|
|
66
66
|
}
|
|
67
|
+
/**
|
|
68
|
+
* similar to Array.forEach, but here you get both, the value and the component.
|
|
69
|
+
*/
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
forEach(predicate) {
|
|
73
|
+
this.toArray().forEach(([component, value]) => {
|
|
74
|
+
predicate(value, component);
|
|
75
|
+
});
|
|
76
|
+
}
|
|
67
77
|
/**
|
|
68
78
|
* flatten values of all components into a single array.
|
|
69
79
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["component-map.ts"],"names":["ComponentMap","constructor","hashMap","byComponent","component","get","id","toString","components","toArray","map","getValueByComponentId","componentId","tuple","Array","from","values","predicate","tuples","value","newValue","Map","flattenValue","reduce","acc","concat","filter","asMap","keys","create","rawMap","newMap","data","as"],"mappings":";;;;;;;;;AAGA;AACA;AACA;AACO,MAAMA,YAAN,CAAsB;AAC3BC,EAAAA,WAAW,CAAUC,OAAV,EAAgD;AAAA,SAAtCA,OAAsC,GAAtCA,OAAsC;AAAE;AAE7D;AACF;AACA;;;AACEC,EAAAA,WAAW,CAACC,SAAD,EAAuB;AAChC,WAAO,KAAKF,OAAL,CAAaG,GAAb,CAAiBD,SAAS,CAACE,EAAV,CAAaC,QAAb,EAAjB,CAAP;AACD;;AAEa,MAAVC,UAAU,GAAG;AACf,WAAO,KAAKC,OAAL,GAAeC,GAAf,CAAmB,CAAC,CAACN,SAAD,CAAD,KAAiBA,SAApC,CAAP;AACD;AAED;AACF;AACA;;;AACEC,EAAAA,GAAG,CAACD,SAAD,EAAuB;AACxB,WAAO,KAAKF,OAAL,CAAaG,GAAb,CAAiBD,SAAS,CAACE,EAAV,CAAaC,QAAb,EAAjB,CAAP;AACD;AAED;AACF;AACA;;;AACEI,EAAAA,qBAAqB,CAACC,WAAD,EAAqC;AACxD,UAAMC,KAAK,GAAG,KAAKX,OAAL,CAAaG,GAAb,CAAiBO,WAAW,CAACL,QAAZ,EAAjB,CAAd;AACA,QAAI,CAACM,KAAL,EAAY,OAAO,IAAP;AACZ,WAAOA,KAAK,CAAC,CAAD,CAAZ;AACD;AAED;AACF;AACA;;;AACEJ,EAAAA,OAAO,GAAG;AACR,WAAOK,KAAK,CAACC,IAAN,CAAW,KAAKb,OAAL,CAAac,MAAb,EAAX,CAAP;AACD;AAED;AACF;AACA;;;AACEN,EAAAA,GAAG,CAAUO,SAAV,EAAyF;AAC1F,UAAMC,MAAwC,GAAG,KAAKT,OAAL,GAAeC,GAAf,CAAmB,CAAC,CAACN,SAAD,EAAYe,KAAZ,CAAD,KAAwB;AAC1F,YAAMC,QAAQ,GAAGH,SAAS,CAACE,KAAD,EAAQf,SAAR,CAA1B;AACA,aAAO,CAACA,SAAS,CAACE,EAAV,CAAaC,QAAb,EAAD,EAA0B,CAACH,SAAD,EAAYgB,QAAZ,CAA1B,CAAP;AACD,KAHgD,CAAjD;AAKA,WAAO,IAAIpB,YAAJ,CAAiB,IAAIqB,GAAJ,CAAQH,MAAR,CAAjB,CAAP;AACD;
|
|
1
|
+
{"version":3,"sources":["component-map.ts"],"names":["ComponentMap","constructor","hashMap","byComponent","component","get","id","toString","components","toArray","map","getValueByComponentId","componentId","tuple","Array","from","values","predicate","tuples","value","newValue","Map","forEach","flattenValue","reduce","acc","concat","filter","asMap","keys","create","rawMap","newMap","data","as"],"mappings":"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","sourcesContent":["import { ComponentID } from '@teambit/component-id';\nimport { Component } from '../component';\n\n/**\n * allows to index components -> values.\n */\nexport class ComponentMap<T> {\n constructor(readonly hashMap: Map<string, [Component, T]>) {}\n\n /**\n * @deprecated please use `get` instead\n */\n byComponent(component: Component) {\n return this.hashMap.get(component.id.toString());\n }\n\n get components() {\n return this.toArray().map(([component]) => component);\n }\n\n /**\n * get a value for a component.\n */\n get(component: Component) {\n return this.hashMap.get(component.id.toString());\n }\n\n /**\n * get a value by the component-id\n */\n getValueByComponentId(componentId: ComponentID): T | null {\n const tuple = this.hashMap.get(componentId.toString());\n if (!tuple) return null;\n return tuple[1];\n }\n\n /**\n * returns an array.\n */\n toArray() {\n return Array.from(this.hashMap.values());\n }\n\n /**\n * map entries and return a new component map.\n */\n map<NewType>(predicate: (value: T, component: Component) => NewType): ComponentMap<NewType> {\n const tuples: [string, [Component, NewType]][] = this.toArray().map(([component, value]) => {\n const newValue = predicate(value, component);\n return [component.id.toString(), [component, newValue]];\n });\n\n return new ComponentMap(new Map(tuples));\n }\n\n /**\n * similar to Array.forEach, but here you get both, the value and the component.\n */\n forEach(predicate: (value: T, component: Component) => void): void {\n this.toArray().forEach(([component, value]) => {\n predicate(value, component);\n });\n }\n\n /**\n * flatten values of all components into a single array.\n */\n flattenValue(): T[] {\n return this.toArray().reduce((acc: T[], [, value]) => {\n acc = acc.concat(value);\n return acc;\n }, []);\n }\n\n /**\n * filter all components with empty values and return a new map.\n */\n filter(predicate: (value: T) => boolean): ComponentMap<T> {\n const tuples = this.toArray().filter(([, value]) => {\n return predicate(value);\n });\n\n const asMap: [string, [Component, T]][] = tuples.map(([component, value]) => {\n return [component.id.toString(), [component, value]];\n });\n\n return new ComponentMap(new Map(asMap));\n }\n\n /**\n * get all component ids.\n */\n keys() {\n return this.hashMap.keys();\n }\n\n static create<U>(rawMap: [Component, U][]) {\n const newMap: [string, [Component, U]][] = rawMap.map(([component, data]) => {\n return [component.id.toString(), [component, data]];\n });\n return new ComponentMap(new Map(newMap));\n }\n\n /**\n * create a component map from components and a value predicate.\n * @param components components to zip into the map.\n * @param predicate predicate for returning desired value.\n */\n static as<U>(components: Component[], predicate: (component: Component) => U): ComponentMap<U> {\n const tuples: [string, [Component, U]][] = components.map((component) => {\n return [component.id.toString(), [component, predicate(component)]];\n });\n\n return new ComponentMap(new Map(tuples));\n }\n}\n"]}
|
|
@@ -9,6 +9,7 @@ import { ComponentFactory } from './component-factory';
|
|
|
9
9
|
import { AspectList } from './aspect-list';
|
|
10
10
|
import { AspectEntry } from './aspect-entry';
|
|
11
11
|
import { ShowFragment } from './show';
|
|
12
|
+
import { RegisteredComponentRoute } from '.';
|
|
12
13
|
export declare type ComponentHostSlot = SlotRegistry<ComponentFactory>;
|
|
13
14
|
export declare type ShowFragmentSlot = SlotRegistry<ShowFragment[]>;
|
|
14
15
|
export declare class ComponentMain {
|
|
@@ -36,7 +37,7 @@ export declare class ComponentMain {
|
|
|
36
37
|
registerHost(host: ComponentFactory): this;
|
|
37
38
|
createAspectList(legacyExtensionDataList: ExtensionDataList, scope?: string): AspectList;
|
|
38
39
|
createAspectListFromEntries(entries: AspectEntry[]): AspectList;
|
|
39
|
-
registerRoute(routes:
|
|
40
|
+
registerRoute(routes: RegisteredComponentRoute[]): this;
|
|
40
41
|
/**
|
|
41
42
|
* set the prior host.
|
|
42
43
|
*/
|
|
@@ -178,7 +178,8 @@ class ComponentMain {
|
|
|
178
178
|
const routeEntries = routes.map(route => {
|
|
179
179
|
return new (_component3().ComponentRoute)(route, this);
|
|
180
180
|
});
|
|
181
|
-
|
|
181
|
+
const flattenRoutes = (0, _lodash().flatten)(routeEntries);
|
|
182
|
+
this.express.register(flattenRoutes);
|
|
182
183
|
return this;
|
|
183
184
|
}
|
|
184
185
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["component.main.runtime.ts"],"names":["ComponentMain","constructor","hostSlot","express","showFragmentSlot","registerHost","host","register","createAspectList","legacyExtensionDataList","scope","AspectList","fromLegacyExtensions","createAspectListFromEntries","entries","registerRoute","routes","routeEntries","map","route","ComponentRoute","setHostPriority","id","get","HostNotFound","_priorHost","getHost","getPriorHost","getRoute","routeName","toString","hosts","values","priorityHost","find","priority","getShowFragments","fragments","isHost","name","registerShowFragments","showFragments","provider","graphql","cli","configAspect","config","componentExtension","workspaceConfig","isLegacy","type","unregister","ShowCmd","NameFragment","MainFileFragment","IDFragment","ScopeFragment","FilesFragment","ExtensionsFragment","Slot","withType","MainRuntime","GraphqlAspect","ExpressAspect","CLIAspect","ConfigAspect","ComponentAspect","addRuntime"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAGA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAGA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;
|
|
1
|
+
{"version":3,"sources":["component.main.runtime.ts"],"names":["ComponentMain","constructor","hostSlot","express","showFragmentSlot","registerHost","host","register","createAspectList","legacyExtensionDataList","scope","AspectList","fromLegacyExtensions","createAspectListFromEntries","entries","registerRoute","routes","routeEntries","map","route","ComponentRoute","flattenRoutes","setHostPriority","id","get","HostNotFound","_priorHost","getHost","getPriorHost","getRoute","routeName","toString","hosts","values","priorityHost","find","priority","getShowFragments","fragments","isHost","name","registerShowFragments","showFragments","provider","graphql","cli","configAspect","config","componentExtension","workspaceConfig","isLegacy","type","unregister","ShowCmd","NameFragment","MainFileFragment","IDFragment","ScopeFragment","FilesFragment","ExtensionsFragment","Slot","withType","MainRuntime","GraphqlAspect","ExpressAspect","CLIAspect","ConfigAspect","ComponentAspect","addRuntime"],"mappings":"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","sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { ExpressAspect, ExpressMain, Route } from '@teambit/express';\nimport { GraphqlAspect, GraphqlMain } from '@teambit/graphql';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport { ConfigAspect } from '@teambit/config';\nimport type { ConfigMain } from '@teambit/config';\nimport { ComponentID } from '@teambit/component-id';\nimport { flatten, orderBy } from 'lodash';\nimport { ExtensionDataList } from '@teambit/legacy/dist/consumer/config';\nimport { ComponentFactory } from './component-factory';\nimport { ComponentAspect } from './component.aspect';\nimport { componentSchema } from './component.graphql';\nimport { ComponentRoute } from './component.route';\nimport { AspectList } from './aspect-list';\nimport { HostNotFound } from './exceptions';\nimport { AspectEntry } from './aspect-entry';\nimport {\n ShowCmd,\n ShowFragment,\n NameFragment,\n MainFileFragment,\n IDFragment,\n ScopeFragment,\n FilesFragment,\n ExtensionsFragment,\n} from './show';\nimport { RegisteredComponentRoute } from '.';\n\nexport type ComponentHostSlot = SlotRegistry<ComponentFactory>;\n\nexport type ShowFragmentSlot = SlotRegistry<ShowFragment[]>;\n\nexport class ComponentMain {\n constructor(\n /**\n * slot for component hosts to register.\n */\n private hostSlot: ComponentHostSlot,\n\n /**\n * Express Extension\n */\n private express: ExpressMain,\n\n private showFragmentSlot: ShowFragmentSlot\n ) {}\n\n /**\n * register a new component host.\n */\n registerHost(host: ComponentFactory) {\n this.hostSlot.register(host);\n return this;\n }\n\n createAspectList(legacyExtensionDataList: ExtensionDataList, scope?: string) {\n return AspectList.fromLegacyExtensions(legacyExtensionDataList, scope);\n }\n\n createAspectListFromEntries(entries: AspectEntry[]) {\n return new AspectList(entries);\n }\n\n registerRoute(routes: RegisteredComponentRoute[]) {\n const routeEntries = routes.map((route: RegisteredComponentRoute) => {\n return new ComponentRoute(route, this);\n });\n\n const flattenRoutes = (flatten(routeEntries)) as any as Route[];\n\n this.express.register(flattenRoutes);\n return this;\n }\n\n /**\n * set the prior host.\n */\n setHostPriority(id: string) {\n const host = this.hostSlot.get(id);\n if (!host) {\n throw new HostNotFound(id);\n }\n\n this._priorHost = host;\n return this;\n }\n\n /**\n * get component host by extension ID.\n */\n getHost(id?: string): ComponentFactory {\n if (id) {\n const host = this.hostSlot.get(id);\n if (!host) throw new HostNotFound(id);\n return host;\n }\n\n return this.getPriorHost();\n }\n\n getRoute(id: ComponentID, routeName: string) {\n return `/api/${id.toString()}/~aspect/${routeName}`;\n }\n\n /**\n * get the prior host.\n */\n private getPriorHost() {\n if (this._priorHost) return this._priorHost;\n\n const hosts = this.hostSlot.values();\n const priorityHost = hosts.find((host) => host.priority);\n return priorityHost || hosts[0];\n }\n\n getShowFragments() {\n const fragments = orderBy(flatten(this.showFragmentSlot.values()), ['weight', ['asc']]);\n return fragments;\n }\n\n isHost(name: string) {\n return !!this.hostSlot.get(name);\n }\n\n /**\n * register a show fragment to display further information in the `bit show` command.\n */\n registerShowFragments(showFragments: ShowFragment[]) {\n this.showFragmentSlot.register(showFragments);\n return this;\n }\n\n private _priorHost: ComponentFactory | undefined;\n\n static slots = [Slot.withType<ComponentFactory>(), Slot.withType<Route[]>(), Slot.withType<ShowFragment[]>()];\n\n static runtime = MainRuntime;\n static dependencies = [GraphqlAspect, ExpressAspect, CLIAspect, ConfigAspect];\n\n static async provider(\n [graphql, express, cli, configAspect]: [GraphqlMain, ExpressMain, CLIMain, ConfigMain],\n config,\n [hostSlot, showFragmentSlot]: [ComponentHostSlot, ShowFragmentSlot]\n ) {\n const componentExtension = new ComponentMain(hostSlot, express, showFragmentSlot);\n\n if ((configAspect.workspaceConfig && !configAspect.workspaceConfig.isLegacy) || configAspect.type === 'scope') {\n cli.unregister('show');\n cli.register(new ShowCmd(componentExtension));\n }\n\n componentExtension.registerShowFragments([\n new NameFragment(),\n new MainFileFragment(),\n new IDFragment(),\n new ScopeFragment(),\n new FilesFragment(),\n new ExtensionsFragment(),\n ]);\n graphql.register(componentSchema(componentExtension));\n\n return componentExtension;\n }\n}\n\nComponentAspect.addRuntime(ComponentMain);\n"]}
|
|
@@ -1,12 +1,18 @@
|
|
|
1
1
|
import { NextFunction, Request, Response, Route } from '@teambit/express';
|
|
2
2
|
import { ComponentMain } from './component.main.runtime';
|
|
3
|
+
export declare type RegisteredComponentRoute = Route & {
|
|
4
|
+
resolveComponent?: boolean;
|
|
5
|
+
};
|
|
6
|
+
export declare type ComponentUrlParams = {
|
|
7
|
+
componentId: string;
|
|
8
|
+
};
|
|
3
9
|
export declare class ComponentRoute implements Route {
|
|
4
10
|
private registerRoute;
|
|
5
11
|
private componentExtension;
|
|
6
|
-
constructor(registerRoute:
|
|
12
|
+
constructor(registerRoute: RegisteredComponentRoute, componentExtension: ComponentMain);
|
|
7
13
|
dynamicRouteRegex: string;
|
|
8
14
|
readonly route: string;
|
|
9
|
-
get componentMiddlewares(): ((req: Request
|
|
15
|
+
get componentMiddlewares(): ((req: Request<ComponentUrlParams>, res: Response, next: NextFunction) => Promise<void>)[];
|
|
10
16
|
method: string;
|
|
11
|
-
middlewares: ((req: Request
|
|
17
|
+
middlewares: ((req: Request<ComponentUrlParams>, res: Response, next: NextFunction) => Promise<void>)[];
|
|
12
18
|
}
|
package/dist/component.route.js
CHANGED
|
@@ -31,14 +31,21 @@ class ComponentRoute {
|
|
|
31
31
|
|
|
32
32
|
get componentMiddlewares() {
|
|
33
33
|
return [async (req, res, next) => {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
34
|
+
var _this$registerRoute$r;
|
|
35
|
+
|
|
36
|
+
const resolveComponent = (_this$registerRoute$r = this.registerRoute.resolveComponent) !== null && _this$registerRoute$r !== void 0 ? _this$registerRoute$r : true;
|
|
37
|
+
|
|
38
|
+
if (resolveComponent) {
|
|
39
|
+
const {
|
|
40
|
+
componentId
|
|
41
|
+
} = req.params;
|
|
42
|
+
const host = this.componentExtension.getHost();
|
|
43
|
+
const compId = await host.resolveComponentId(componentId);
|
|
44
|
+
const component = await host.get(compId); // @ts-ignore
|
|
45
|
+
|
|
46
|
+
req.component = component;
|
|
47
|
+
}
|
|
48
|
+
|
|
42
49
|
next();
|
|
43
50
|
}];
|
|
44
51
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["component.route.ts"],"names":["ComponentRoute","constructor","registerRoute","componentExtension","dynamicRouteRegex","route","method","componentMiddlewares","concat","middlewares","req","res","next","componentId","params","host","getHost","compId","resolveComponentId","component","get"],"mappings":";;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"sources":["component.route.ts"],"names":["ComponentRoute","constructor","registerRoute","componentExtension","dynamicRouteRegex","route","method","componentMiddlewares","concat","middlewares","req","res","next","resolveComponent","componentId","params","host","getHost","compId","resolveComponentId","component","get"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAYO,MAAMA,cAAN,CAAsC;AAC3CC,EAAAA,WAAW,CAASC,aAAT,EAA0DC,kBAA1D,EAA6F;AAAA,SAApFD,aAAoF,GAApFA,aAAoF;AAAA,SAAnCC,kBAAmC,GAAnCA,kBAAmC;AAAA,+DACpF,gBADoF;AAAA,mDAEtF,iBAAgB,KAAKC,iBAAkB,YAAW,KAAKF,aAAL,CAAmBG,KAAM,EAFW;AAAA,oDAqB/F,KAAKH,aAAL,CAAmBI,MArB4E;AAAA,yDAuB1F,KAAKC,oBAAL,CAA0BC,MAA1B,CAAiC,KAAKN,aAAL,CAAmBO,WAApD,CAvB0F;AAAE;;AAIlF,MAApBF,oBAAoB,GAAG;AACzB,WAAO,CACL,OAAOG,GAAP,EAAyCC,GAAzC,EAAwDC,IAAxD,KAA+E;AAAA;;AAC7E,YAAMC,gBAAgB,4BAAG,KAAKX,aAAL,CAAmBW,gBAAtB,yEAA0C,IAAhE;;AACA,UAAIA,gBAAJ,EAAqB;AACnB,cAAM;AAAEC,UAAAA;AAAF,YAAkBJ,GAAG,CAACK,MAA5B;AACA,cAAMC,IAAI,GAAG,KAAKb,kBAAL,CAAwBc,OAAxB,EAAb;AACA,cAAMC,MAAM,GAAG,MAAMF,IAAI,CAACG,kBAAL,CAAwBL,WAAxB,CAArB;AACA,cAAMM,SAAS,GAAG,MAAMJ,IAAI,CAACK,GAAL,CAASH,MAAT,CAAxB,CAJmB,CAKnB;;AACAR,QAAAA,GAAG,CAACU,SAAJ,GAAgBA,SAAhB;AACD;;AACDR,MAAAA,IAAI;AACL,KAZI,CAAP;AAcD;;AApB0C","sourcesContent":["import { NextFunction, Request, Response, Route } from '@teambit/express';\n\nimport { ComponentMain } from './component.main.runtime';\n\nexport type RegisteredComponentRoute = Route & {\n resolveComponent?: boolean\n}\n\nexport type ComponentUrlParams = {\n componentId: string\n}\n\nexport class ComponentRoute implements Route {\n constructor(private registerRoute: RegisteredComponentRoute, private componentExtension: ComponentMain) {}\n dynamicRouteRegex = '/?[^/@]+/[^~]*';\n readonly route = `/:componentId(${this.dynamicRouteRegex})/~aspect${this.registerRoute.route}`;\n\n get componentMiddlewares() {\n return [\n async (req: Request<ComponentUrlParams>, res: Response, next: NextFunction) => {\n const resolveComponent = this.registerRoute.resolveComponent ?? true;\n if (resolveComponent){\n const { componentId } = req.params;\n const host = this.componentExtension.getHost();\n const compId = await host.resolveComponentId(componentId);\n const component = await host.get(compId);\n // @ts-ignore\n req.component = component;\n }\n next();\n },\n ];\n }\n\n method = this.registerRoute.method;\n // @ts-ignore\n middlewares = this.componentMiddlewares.concat(this.registerRoute.middlewares);\n}\n"]}
|
package/dist/index.d.ts
CHANGED
|
@@ -19,6 +19,7 @@ export type { ComponentUI } from './component.ui.runtime';
|
|
|
19
19
|
export { Section } from './section';
|
|
20
20
|
export { ComponentContext } from './ui/context/component-context';
|
|
21
21
|
export { ConsumePlugin } from './ui/menu';
|
|
22
|
+
export { RegisteredComponentRoute, ComponentUrlParams } from './component.route';
|
|
22
23
|
export { ComponentModel, ComponentModelProps } from './ui/component-model';
|
|
23
24
|
export type { ShowFragment, ShowRow } from './show';
|
|
24
25
|
export { default as Config } from './config';
|
package/dist/index.js
CHANGED
|
@@ -65,6 +65,12 @@ Object.defineProperty(exports, "ComponentModelProps", {
|
|
|
65
65
|
return _componentModel().ComponentModelProps;
|
|
66
66
|
}
|
|
67
67
|
});
|
|
68
|
+
Object.defineProperty(exports, "ComponentUrlParams", {
|
|
69
|
+
enumerable: true,
|
|
70
|
+
get: function () {
|
|
71
|
+
return _component3().ComponentUrlParams;
|
|
72
|
+
}
|
|
73
|
+
});
|
|
68
74
|
Object.defineProperty(exports, "Config", {
|
|
69
75
|
enumerable: true,
|
|
70
76
|
get: function () {
|
|
@@ -83,6 +89,12 @@ Object.defineProperty(exports, "InvalidComponent", {
|
|
|
83
89
|
return _component2().InvalidComponent;
|
|
84
90
|
}
|
|
85
91
|
});
|
|
92
|
+
Object.defineProperty(exports, "RegisteredComponentRoute", {
|
|
93
|
+
enumerable: true,
|
|
94
|
+
get: function () {
|
|
95
|
+
return _component3().RegisteredComponentRoute;
|
|
96
|
+
}
|
|
97
|
+
});
|
|
86
98
|
Object.defineProperty(exports, "Section", {
|
|
87
99
|
enumerable: true,
|
|
88
100
|
get: function () {
|
|
@@ -273,6 +285,16 @@ function _menu() {
|
|
|
273
285
|
return data;
|
|
274
286
|
}
|
|
275
287
|
|
|
288
|
+
function _component3() {
|
|
289
|
+
const data = require("./component.route");
|
|
290
|
+
|
|
291
|
+
_component3 = function () {
|
|
292
|
+
return data;
|
|
293
|
+
};
|
|
294
|
+
|
|
295
|
+
return data;
|
|
296
|
+
}
|
|
297
|
+
|
|
276
298
|
function _componentModel() {
|
|
277
299
|
const data = require("./ui/component-model");
|
|
278
300
|
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.ts"],"names":["ComponentAspect"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["index.ts"],"names":["ComponentAspect"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAIA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAGA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAIA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAGA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAnBA;AACA;AAGA;AACA;AAeA;AACA;eAEeA,4B","sourcesContent":["import { ComponentAspect } from './component.aspect';\n\nexport { useComponentHost } from './host';\nexport { Component, InvalidComponent } from './component';\nexport { ComponentID } from '@teambit/component-id';\nexport { default as ComponentFS } from './component-fs';\nexport type { default as ComponentConfig } from './config';\nexport type { ComponentFactory } from './component-factory';\nexport type { AspectList } from './aspect-list';\nexport { AspectEntry, AspectData } from './aspect-entry';\n// TODO: check why it's not working when using the index in snap dir like this:\n// export { Snap, Author } from './snap';\nexport { Snap, SnapProps } from './snap/snap';\nexport type { Author } from './snap/author';\n// TODO: check why it's not working when using the index in tag dir like this:\n// export { Tag } from './tag';\nexport { Tag, TagProps } from './tag/tag';\nexport { State } from './state';\nexport type { Hash } from './hash';\nexport { TagMap } from './tag-map';\nexport { ComponentMap } from './component-map';\nexport type { ComponentMain } from './component.main.runtime';\nexport type { ComponentUI } from './component.ui.runtime';\nexport { Section } from './section';\nexport { ComponentContext } from './ui/context/component-context';\nexport { ConsumePlugin } from './ui/menu';\nexport {RegisteredComponentRoute, ComponentUrlParams} from './component.route';\nexport { ComponentModel, ComponentModelProps } from './ui/component-model';\nexport type { ShowFragment, ShowRow } from './show';\nexport { default as Config } from './config';\n// export { AspectList } from './aspect-list';\n// export { AspectEntry } from './aspect-entry';\nexport { ComponentAspect };\nexport default ComponentAspect;\n"]}
|
|
@@ -21,6 +21,10 @@ export declare type ComponentModelProps = {
|
|
|
21
21
|
labels?: string[];
|
|
22
22
|
host?: string;
|
|
23
23
|
latest?: string;
|
|
24
|
+
preview?: ComponentPreview;
|
|
25
|
+
};
|
|
26
|
+
export declare type ComponentPreview = {
|
|
27
|
+
includesEnvTemplate?: boolean;
|
|
24
28
|
};
|
|
25
29
|
export declare type ComponentServer = {
|
|
26
30
|
env: string;
|
|
@@ -88,6 +92,7 @@ export declare class ComponentModel {
|
|
|
88
92
|
* latest version of component
|
|
89
93
|
*/
|
|
90
94
|
readonly latest?: string | undefined;
|
|
95
|
+
readonly preview?: ComponentPreview | undefined;
|
|
91
96
|
constructor(
|
|
92
97
|
/**
|
|
93
98
|
* id of the component
|
|
@@ -148,12 +153,12 @@ export declare class ComponentModel {
|
|
|
148
153
|
/**
|
|
149
154
|
* latest version of component
|
|
150
155
|
*/
|
|
151
|
-
latest?: string | undefined);
|
|
156
|
+
latest?: string | undefined, preview?: ComponentPreview | undefined);
|
|
152
157
|
get version(): string;
|
|
153
158
|
/**
|
|
154
159
|
* create an instance of a component from a plain object.
|
|
155
160
|
*/
|
|
156
|
-
static from({ id, server, displayName, compositions, packageName, elementsUrl, tags, deprecation, buildStatus, env, status, issuesCount, description, labels, host, latest, }: ComponentModelProps): ComponentModel;
|
|
161
|
+
static from({ id, server, displayName, compositions, packageName, elementsUrl, tags, deprecation, buildStatus, env, status, issuesCount, description, labels, host, latest, preview, }: ComponentModelProps): ComponentModel;
|
|
157
162
|
static fromArray(componentsProps: ComponentModelProps[]): ComponentModel[];
|
|
158
163
|
static empty(): ComponentModel;
|
|
159
164
|
}
|
|
@@ -108,7 +108,7 @@ class ComponentModel {
|
|
|
108
108
|
/**
|
|
109
109
|
* latest version of component
|
|
110
110
|
*/
|
|
111
|
-
latest) {
|
|
111
|
+
latest, preview) {
|
|
112
112
|
this.id = id;
|
|
113
113
|
this.displayName = displayName;
|
|
114
114
|
this.packageName = packageName;
|
|
@@ -125,6 +125,7 @@ class ComponentModel {
|
|
|
125
125
|
this.labels = labels;
|
|
126
126
|
this.host = host;
|
|
127
127
|
this.latest = latest;
|
|
128
|
+
this.preview = preview;
|
|
128
129
|
}
|
|
129
130
|
|
|
130
131
|
get version() {
|
|
@@ -152,9 +153,10 @@ class ComponentModel {
|
|
|
152
153
|
description,
|
|
153
154
|
labels,
|
|
154
155
|
host,
|
|
155
|
-
latest
|
|
156
|
+
latest,
|
|
157
|
+
preview
|
|
156
158
|
}) {
|
|
157
|
-
return new ComponentModel(_componentId().ComponentID.fromObject(id), displayName, packageName, server, _compositions().Composition.fromArray(compositions), _tagMap().TagMap.fromArray(tags.map(tag => _tag().Tag.fromObject(tag))), buildStatus, issuesCount, elementsUrl, status, deprecation, env, description, labels, host, latest);
|
|
159
|
+
return new ComponentModel(_componentId().ComponentID.fromObject(id), displayName, packageName, server, _compositions().Composition.fromArray(compositions), _tagMap().TagMap.fromArray(tags.map(tag => _tag().Tag.fromObject(tag))), buildStatus, issuesCount, elementsUrl, status, deprecation, env, description, labels, host, latest, preview);
|
|
158
160
|
}
|
|
159
161
|
|
|
160
162
|
static fromArray(componentsProps) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["component-model.ts"],"names":["ComponentModel","constructor","id","displayName","packageName","server","compositions","tags","buildStatus","issuesCount","elementsUrl","status","deprecation","environment","description","labels","host","latest","version","from","env","ComponentID","fromObject","Composition","fromArray","TagMap","map","tag","Tag","componentsProps","rawComponent","empty","name","scope","url"],"mappings":";;;;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAGA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;
|
|
1
|
+
{"version":3,"sources":["component-model.ts"],"names":["ComponentModel","constructor","id","displayName","packageName","server","compositions","tags","buildStatus","issuesCount","elementsUrl","status","deprecation","environment","description","labels","host","latest","preview","version","from","env","ComponentID","fromObject","Composition","fromArray","TagMap","map","tag","Tag","componentsProps","rawComponent","empty","name","scope","url"],"mappings":"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","sourcesContent":["import { Composition, CompositionProps } from '@teambit/compositions';\nimport { DeprecationInfo } from '@teambit/deprecation';\nimport { Descriptor } from '@teambit/envs';\nimport { ComponentID, ComponentIdObj } from '@teambit/component-id';\n\nimport { Tag } from '../../tag';\nimport { TagMap } from '../../tag-map';\nimport { TagProps } from '../../tag/tag';\n// import { Snap } from '../../snap';\n\n// ADDING MORE PROPERTIES HERE IS NOT ALLOWED!!! IF YOU NEED DATA PLEASE ADD A NEW\n// HOOK FROM YOUR ASPECT!!!\n// TODO: remove all properties from here to their rightful place in their aspects.\nexport type ComponentModelProps = {\n id: ComponentIdObj;\n description: string;\n buildStatus?: string;\n server?: ComponentServer;\n displayName: string;\n packageName: string; // pkg aspect\n elementsUrl?: string; // pkg aspect\n compositions?: CompositionProps[];\n tags?: TagProps[];\n issuesCount?: number; // component/issues aspect\n status?: any; // workspace aspect.\n deprecation?: DeprecationInfo; // deprecation aspect\n env?: Descriptor; // env aspect.\n labels?: string[];\n host?: string;\n latest?: string;\n preview?: ComponentPreview;\n};\n\nexport type ComponentPreview = {\n includesEnvTemplate?: boolean\n};\n\nexport type ComponentServer = {\n env: string;\n url: string;\n};\n\nexport class ComponentModel {\n constructor(\n /**\n * id of the component\n */\n readonly id: ComponentID,\n\n /**\n * display name of the component.\n */\n readonly displayName: string,\n\n /**\n * package name of the component.\n */\n readonly packageName: string,\n\n /**\n * the component server.\n */\n readonly server: ComponentServer | undefined,\n\n /**\n * array of compositions\n */\n readonly compositions: Composition[],\n\n /**\n * tags of the component.\n */\n readonly tags: TagMap,\n\n /**\n * component build status\n */\n readonly buildStatus?: string,\n\n /**\n * issues of component.\n */\n readonly issuesCount?: number,\n /**\n * elements url\n */\n readonly elementsUrl?: string,\n /**\n * status of component.\n */\n readonly status?: any,\n\n /**\n * deprecation info of the component.\n */\n readonly deprecation?: DeprecationInfo,\n\n /**\n * env descriptor.\n */\n readonly environment?: Descriptor,\n\n /**\n * description of the component.\n */\n\n readonly description = '',\n\n readonly labels: string[] = [],\n\n /**\n * host of the component\n */\n readonly host?: string,\n\n /**\n * latest version of component\n */\n readonly latest?: string,\n\n readonly preview?: ComponentPreview\n ) {}\n\n get version() {\n if (!this.id.version) return 'new';\n return this.id.version;\n }\n\n /**\n * create an instance of a component from a plain object.\n */\n static from({\n id,\n server,\n displayName,\n compositions = [],\n packageName,\n elementsUrl,\n tags = [],\n deprecation,\n buildStatus,\n env,\n status,\n issuesCount,\n description,\n labels,\n host,\n latest,\n preview,\n }: ComponentModelProps) {\n return new ComponentModel(\n ComponentID.fromObject(id),\n displayName,\n packageName,\n server,\n Composition.fromArray(compositions),\n TagMap.fromArray(tags.map((tag) => Tag.fromObject(tag))),\n buildStatus,\n issuesCount,\n elementsUrl,\n status,\n deprecation,\n env,\n description,\n labels,\n host,\n latest,\n preview\n );\n }\n\n static fromArray(componentsProps: ComponentModelProps[]) {\n return componentsProps.map((rawComponent) => ComponentModel.from(rawComponent));\n }\n\n static empty() {\n return new ComponentModel(\n ComponentID.fromObject({ name: 'root', scope: 'temp' }),\n '',\n '',\n { env: '', url: '' },\n [],\n TagMap.empty()\n );\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["use-component-query.ts"],"names":["componentIdFields","componentFields","GET_COMPONENT","SUB_SUBSCRIPTION_ADDED","SUB_COMPONENT_CHANGED","SUB_COMPONENT_REMOVED","useComponentQuery","componentId","host","idRef","current","data","error","loading","subscribeToMore","variables","id","extensionId","unsubAddition","document","updateQuery","prev","subscriptionData","prevComponent","getHost","get","addedComponent","componentAdded","component","name","unsubChanges","updatedComponent","componentChanged","isUpdated","ComponentID","isEqualObj","unsubRemoval","removedIds","componentRemoved","componentIds","length","isRemoved","some","removedId","rawComponent","ComponentModel","from","undefined","ComponentError","message"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;AAEA,MAAMA,iBAAiB,GAAG,kBAAI;AAC9B;AACA;AACA;AACA;AACA;AACA,CANA;AAQA,MAAMC,eAAe,GAAG,kBAAI;AAC5B;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,IAAID,iBAAkB;AACtB,
|
|
1
|
+
{"version":3,"sources":["use-component-query.ts"],"names":["componentIdFields","componentFields","GET_COMPONENT","SUB_SUBSCRIPTION_ADDED","SUB_COMPONENT_CHANGED","SUB_COMPONENT_REMOVED","useComponentQuery","componentId","host","idRef","current","data","error","loading","subscribeToMore","variables","id","extensionId","unsubAddition","document","updateQuery","prev","subscriptionData","prevComponent","getHost","get","addedComponent","componentAdded","component","name","unsubChanges","updatedComponent","componentChanged","isUpdated","ComponentID","isEqualObj","unsubRemoval","removedIds","componentRemoved","componentIds","length","isRemoved","some","removedId","rawComponent","ComponentModel","from","undefined","ComponentError","message"],"mappings":"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","sourcesContent":["import { useMemo, useEffect, useRef } from 'react';\nimport { gql } from '@apollo/client';\nimport { useDataQuery } from '@teambit/ui-foundation.ui.hooks.use-data-query';\nimport { ComponentID, ComponentIdObj } from '@teambit/component-id';\n\nimport { ComponentModel } from './component-model';\nimport { ComponentError } from './component-error';\n\nconst componentIdFields = gql`\n fragment componentIdFields on ComponentID {\n name\n version\n scope\n }\n`;\n\nconst componentFields = gql`\n fragment componentFields on Component {\n id {\n ...componentIdFields\n }\n packageName\n elementsUrl\n displayName\n latest\n server {\n env\n url\n }\n buildStatus\n compositions {\n identifier\n displayName\n }\n tags {\n version\n }\n env {\n id\n icon\n }\n preview {\n includesEnvTemplate\n }\n }\n ${componentIdFields}\n`;\n\nconst GET_COMPONENT = gql`\n query Component($id: String!, $extensionId: String!) {\n getHost(id: $extensionId) {\n id # used for GQL caching\n get(id: $id) {\n ...componentFields\n }\n }\n }\n ${componentFields}\n`;\n\nconst SUB_SUBSCRIPTION_ADDED = gql`\n subscription OnComponentAdded {\n componentAdded {\n component {\n ...componentFields\n }\n }\n }\n ${componentFields}\n`;\n\nconst SUB_COMPONENT_CHANGED = gql`\n subscription OnComponentChanged {\n componentChanged {\n component {\n ...componentFields\n }\n }\n }\n ${componentFields}\n`;\n\nconst SUB_COMPONENT_REMOVED = gql`\n subscription OnComponentRemoved {\n componentRemoved {\n componentIds {\n ...componentIdFields\n }\n }\n }\n ${componentIdFields}\n`;\n\n/** provides data to component ui page, making sure both variables and return value are safely typed and memoized */\nexport function useComponentQuery(componentId: string, host: string) {\n const idRef = useRef(componentId);\n idRef.current = componentId;\n const { data, error, loading, subscribeToMore } = useDataQuery(GET_COMPONENT, {\n variables: { id: componentId, extensionId: host },\n });\n\n useEffect(() => {\n // @TODO @Kutner fix subscription for scope\n if (host !== 'teambit.workspace/workspace') {\n return () => {};\n }\n\n const unsubAddition = subscribeToMore({\n document: SUB_SUBSCRIPTION_ADDED,\n updateQuery: (prev, { subscriptionData }) => {\n const prevComponent = prev?.getHost?.get;\n const addedComponent = subscriptionData?.data?.componentAdded?.component;\n\n if (!addedComponent || prevComponent) return prev;\n\n if (idRef.current === addedComponent.id.name) {\n return {\n ...prev,\n getHost: {\n ...prev.getHost,\n get: addedComponent,\n },\n };\n }\n\n return prev;\n },\n });\n\n const unsubChanges = subscribeToMore({\n document: SUB_COMPONENT_CHANGED,\n updateQuery: (prev, { subscriptionData }) => {\n if (!subscriptionData.data) return prev;\n\n const prevComponent = prev?.getHost?.get;\n const updatedComponent = subscriptionData?.data?.componentChanged?.component;\n\n const isUpdated = updatedComponent && ComponentID.isEqualObj(prevComponent?.id, updatedComponent?.id);\n\n if (isUpdated) {\n return {\n ...prev,\n getHost: {\n ...prev.getHost,\n get: updatedComponent,\n },\n };\n }\n\n return prev;\n },\n });\n\n const unsubRemoval = subscribeToMore({\n document: SUB_COMPONENT_REMOVED,\n updateQuery: (prev, { subscriptionData }) => {\n if (!subscriptionData.data) return prev;\n\n const prevComponent = prev?.getHost?.get;\n const removedIds: ComponentIdObj[] | undefined = subscriptionData?.data?.componentRemoved?.componentIds;\n if (!prevComponent || !removedIds?.length) return prev;\n\n const isRemoved = removedIds.some((removedId) => ComponentID.isEqualObj(removedId, prevComponent.id));\n\n if (isRemoved) {\n return {\n ...prev,\n getHost: {\n ...prev.getHost,\n get: null,\n },\n };\n }\n\n return prev;\n },\n });\n\n return () => {\n unsubChanges();\n unsubAddition();\n unsubRemoval();\n };\n }, []);\n\n const rawComponent = data?.getHost?.get;\n\n return useMemo(() => {\n return {\n component: rawComponent ? ComponentModel.from({ ...rawComponent, host }) : undefined,\n // eslint-disable-next-line\n error: error\n ? new ComponentError(500, error.message)\n : !rawComponent && !loading\n ? new ComponentError(404)\n : undefined,\n };\n }, [rawComponent, host, error]);\n}\n"]}
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/component",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.631",
|
|
4
4
|
"homepage": "https://bit.dev/teambit/component/component",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "teambit.component",
|
|
8
8
|
"name": "component",
|
|
9
|
-
"version": "0.0.
|
|
9
|
+
"version": "0.0.631"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"lodash": "4.17.21",
|
|
@@ -26,24 +26,24 @@
|
|
|
26
26
|
"@teambit/base-ui.routing.nav-link": "1.0.0",
|
|
27
27
|
"@teambit/documenter.ui.heading": "4.1.1",
|
|
28
28
|
"@teambit/documenter.ui.separator": "4.1.1",
|
|
29
|
-
"@teambit/component-id": "0.0.
|
|
29
|
+
"@teambit/component-id": "0.0.400",
|
|
30
30
|
"@teambit/ui-foundation.ui.menu-widget-icon": "0.0.487",
|
|
31
|
-
"@teambit/aspect-loader": "0.0.
|
|
31
|
+
"@teambit/aspect-loader": "0.0.631",
|
|
32
32
|
"@teambit/legacy-bit-id": "0.0.397",
|
|
33
33
|
"@teambit/toolbox.string.capitalize": "0.0.482",
|
|
34
|
-
"@teambit/cli": "0.0.
|
|
35
|
-
"@teambit/config": "0.0.
|
|
36
|
-
"@teambit/express": "0.0.
|
|
37
|
-
"@teambit/graphql": "0.0.
|
|
34
|
+
"@teambit/cli": "0.0.433",
|
|
35
|
+
"@teambit/config": "0.0.446",
|
|
36
|
+
"@teambit/express": "0.0.527",
|
|
37
|
+
"@teambit/graphql": "0.0.631",
|
|
38
38
|
"@teambit/bit-error": "0.0.394",
|
|
39
|
-
"@teambit/command-bar": "0.0.
|
|
40
|
-
"@teambit/preview": "0.0.
|
|
41
|
-
"@teambit/pubsub": "0.0.
|
|
39
|
+
"@teambit/command-bar": "0.0.631",
|
|
40
|
+
"@teambit/preview": "0.0.631",
|
|
41
|
+
"@teambit/pubsub": "0.0.631",
|
|
42
42
|
"@teambit/ui-foundation.ui.is-browser": "0.0.485",
|
|
43
43
|
"@teambit/ui-foundation.ui.main-dropdown": "0.0.485",
|
|
44
44
|
"@teambit/ui-foundation.ui.react-router.slot-router": "0.0.487",
|
|
45
45
|
"@teambit/ui-foundation.ui.use-box.menu": "0.0.108",
|
|
46
|
-
"@teambit/ui": "0.0.
|
|
46
|
+
"@teambit/ui": "0.0.631",
|
|
47
47
|
"@teambit/component-issues": "0.0.45",
|
|
48
48
|
"@teambit/ui-foundation.ui.hooks.use-data-query": "0.0.486",
|
|
49
49
|
"@teambit/cli-table": "0.0.33",
|
|
@@ -52,9 +52,9 @@
|
|
|
52
52
|
"@teambit/harmony.ui.aspect-box": "0.0.485",
|
|
53
53
|
"@teambit/design.ui.pages.not-found": "0.0.353",
|
|
54
54
|
"@teambit/design.ui.pages.server-error": "0.0.353",
|
|
55
|
-
"@teambit/compositions": "0.0.
|
|
56
|
-
"@teambit/deprecation": "0.0.
|
|
57
|
-
"@teambit/envs": "0.0.
|
|
55
|
+
"@teambit/compositions": "0.0.631",
|
|
56
|
+
"@teambit/deprecation": "0.0.631",
|
|
57
|
+
"@teambit/envs": "0.0.631",
|
|
58
58
|
"@teambit/component.ui.version-dropdown": "0.0.490",
|
|
59
59
|
"@teambit/ui-foundation.ui.use-box.dropdown": "0.0.108",
|
|
60
60
|
"@teambit/ui-foundation.ui.react-router.extend-path": "0.0.485"
|
|
@@ -76,7 +76,7 @@
|
|
|
76
76
|
},
|
|
77
77
|
"peerDependencies": {
|
|
78
78
|
"@apollo/client": "^3.0.0",
|
|
79
|
-
"@teambit/legacy": "1.0.
|
|
79
|
+
"@teambit/legacy": "1.0.209",
|
|
80
80
|
"react-dom": "^16.8.0 || ^17.0.0",
|
|
81
81
|
"react": "^16.8.0 || ^17.0.0"
|
|
82
82
|
},
|
|
@@ -104,7 +104,7 @@
|
|
|
104
104
|
"react": "-"
|
|
105
105
|
},
|
|
106
106
|
"peerDependencies": {
|
|
107
|
-
"@teambit/legacy": "1.0.
|
|
107
|
+
"@teambit/legacy": "1.0.209",
|
|
108
108
|
"react-dom": "^16.8.0 || ^17.0.0",
|
|
109
109
|
"react": "^16.8.0 || ^17.0.0"
|
|
110
110
|
}
|
|
@@ -28,6 +28,11 @@ export type ComponentModelProps = {
|
|
|
28
28
|
labels?: string[];
|
|
29
29
|
host?: string;
|
|
30
30
|
latest?: string;
|
|
31
|
+
preview?: ComponentPreview;
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
export type ComponentPreview = {
|
|
35
|
+
includesEnvTemplate?: boolean
|
|
31
36
|
};
|
|
32
37
|
|
|
33
38
|
export type ComponentServer = {
|
|
@@ -111,7 +116,9 @@ export class ComponentModel {
|
|
|
111
116
|
/**
|
|
112
117
|
* latest version of component
|
|
113
118
|
*/
|
|
114
|
-
readonly latest?: string
|
|
119
|
+
readonly latest?: string,
|
|
120
|
+
|
|
121
|
+
readonly preview?: ComponentPreview
|
|
115
122
|
) {}
|
|
116
123
|
|
|
117
124
|
get version() {
|
|
@@ -139,6 +146,7 @@ export class ComponentModel {
|
|
|
139
146
|
labels,
|
|
140
147
|
host,
|
|
141
148
|
latest,
|
|
149
|
+
preview,
|
|
142
150
|
}: ComponentModelProps) {
|
|
143
151
|
return new ComponentModel(
|
|
144
152
|
ComponentID.fromObject(id),
|
|
@@ -156,7 +164,8 @@ export class ComponentModel {
|
|
|
156
164
|
description,
|
|
157
165
|
labels,
|
|
158
166
|
host,
|
|
159
|
-
latest
|
|
167
|
+
latest,
|
|
168
|
+
preview
|
|
160
169
|
);
|
|
161
170
|
}
|
|
162
171
|
|
|
Binary file
|