@teambit/lanes 0.0.265 → 0.0.268
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lanes.docs.mdx +8 -12
- package/dist/lanes.ui.runtime.d.ts +10 -2
- package/dist/lanes.ui.runtime.js +13 -6
- package/dist/lanes.ui.runtime.js.map +1 -1
- package/lanes.docs.mdx +8 -12
- package/lanes.ui.runtime.tsx +24 -7
- package/package-tar/teambit-lanes-0.0.268.tgz +0 -0
- package/package.json +16 -15
- package/{preview-1648524148272.js → preview-1648783740851.js} +2 -2
- package/package-tar/teambit-lanes-0.0.265.tgz +0 -0
package/dist/lanes.docs.mdx
CHANGED
@@ -9,25 +9,21 @@ The following describes the final implementation, which differs from the specifi
|
|
9
9
|
|
10
10
|
## Synopsis
|
11
11
|
|
12
|
-
|
13
|
-
- create a
|
14
|
-
-
|
12
|
+
```
|
13
|
+
- create a snap: `bit snap` (synopsis similar to the `bit tag`)
|
14
|
+
- create a new lane: `bit lane create <name> --test`
|
15
|
+
- list lanes: `bit lane list`
|
15
16
|
- switch between lanes: `bit switch <name>`
|
16
|
-
- merge lanes: `bit lane merge
|
17
|
+
- merge lanes: `bit lane merge`
|
17
18
|
- show lane details: `bit lane show <name>`
|
18
19
|
- diff between lanes: `bit lane diff <values>`
|
19
20
|
- track local lane to a remote lane: `bit switch --as`
|
20
21
|
- remove a lane `bit lane remove <name>`.
|
21
|
-
- fetch lane objects (without the components): `bit fetch --lanes
|
22
|
+
- fetch lane objects (without the components): `bit fetch --lanes`
|
22
23
|
- import a lane: `bit switch <name> --remote`
|
23
|
-
|
24
|
-
.
|
25
|
-
|
26
24
|
- export current lane: `bit export`
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
- (internal) cat lane object: `bit cat-lane <name>`.
|
25
|
+
- (internal) cat lane object: `bit cat-lane <name>`
|
26
|
+
```
|
31
27
|
|
32
28
|
## Remaining tasks
|
33
29
|
|
@@ -8,10 +8,12 @@ import { WorkspaceUI } from '@teambit/workspace';
|
|
8
8
|
import { NavLinkProps } from '@teambit/react-router';
|
9
9
|
import { ComponentUI } from '@teambit/component';
|
10
10
|
import { SidebarUI } from '@teambit/sidebar';
|
11
|
+
import { MenuWidget, MenuWidgetSlot } from '@teambit/ui-foundation.ui.menu';
|
11
12
|
export declare class LanesUI {
|
12
13
|
private componentUi;
|
13
14
|
private routeSlot;
|
14
15
|
private navSlot;
|
16
|
+
private menuWidgetSlot;
|
15
17
|
/**
|
16
18
|
* overview line slot to add new lines beneath the overview section
|
17
19
|
*/
|
@@ -23,7 +25,7 @@ export declare class LanesUI {
|
|
23
25
|
static slots: (((registerFn: () => string) => import("@teambit/harmony").SlotRegistry<RouteProps<string, {
|
24
26
|
[x: string]: string | undefined;
|
25
27
|
}>>) | ((registerFn: () => string) => import("@teambit/harmony").SlotRegistry<NavigationSlot>) | ((registerFn: () => string) => import("@teambit/harmony").SlotRegistry<LaneOverviewLineSlot>))[];
|
26
|
-
constructor(componentUi: ComponentUI, routeSlot: RouteSlot, navSlot: LanesOrderedNavigationSlot,
|
28
|
+
constructor(componentUi: ComponentUI, routeSlot: RouteSlot, navSlot: LanesOrderedNavigationSlot, menuWidgetSlot: MenuWidgetSlot,
|
27
29
|
/**
|
28
30
|
* overview line slot to add new lines beneath the overview section
|
29
31
|
*/
|
@@ -32,6 +34,7 @@ export declare class LanesUI {
|
|
32
34
|
private readonly hostAspect?;
|
33
35
|
private readonly host;
|
34
36
|
private registerHostAspectRoutes;
|
37
|
+
registerMenuWidget(...menuItems: MenuWidget[]): void;
|
35
38
|
private registerLanesRoutes;
|
36
39
|
private registerRoutes;
|
37
40
|
private renderContext;
|
@@ -41,6 +44,11 @@ export declare class LanesUI {
|
|
41
44
|
*/
|
42
45
|
registerOverviewLine(...lines: LaneOverviewLine[]): this;
|
43
46
|
registerNavigation(nav: NavLinkProps, order?: number): void;
|
44
|
-
static provider([uiUi, componentUi, workspaceUi, scopeUi, sidebarUi]: [UiUI, ComponentUI, WorkspaceUI, ScopeUI, SidebarUI], _: any, [routeSlot, overviewSlot, navSlot
|
47
|
+
static provider([uiUi, componentUi, workspaceUi, scopeUi, sidebarUi]: [UiUI, ComponentUI, WorkspaceUI, ScopeUI, SidebarUI], _: any, [routeSlot, overviewSlot, navSlot, menuWidgetSlot]: [
|
48
|
+
RouteSlot,
|
49
|
+
LaneOverviewLineSlot,
|
50
|
+
LanesOrderedNavigationSlot,
|
51
|
+
MenuWidgetSlot
|
52
|
+
], harmony: Harmony): Promise<LanesUI>;
|
45
53
|
}
|
46
54
|
export default LanesUI;
|
package/dist/lanes.ui.runtime.js
CHANGED
@@ -112,7 +112,7 @@ function _sidebar() {
|
|
112
112
|
}
|
113
113
|
|
114
114
|
class LanesUI {
|
115
|
-
constructor(componentUi, routeSlot, navSlot,
|
115
|
+
constructor(componentUi, routeSlot, navSlot, menuWidgetSlot,
|
116
116
|
/**
|
117
117
|
* overview line slot to add new lines beneath the overview section
|
118
118
|
*/
|
@@ -120,6 +120,7 @@ class LanesUI {
|
|
120
120
|
this.componentUi = componentUi;
|
121
121
|
this.routeSlot = routeSlot;
|
122
122
|
this.navSlot = navSlot;
|
123
|
+
this.menuWidgetSlot = menuWidgetSlot;
|
123
124
|
this.overviewSlot = overviewSlot;
|
124
125
|
this.workspace = workspace;
|
125
126
|
this.scope = scope;
|
@@ -129,7 +130,7 @@ class LanesUI {
|
|
129
130
|
(0, _defineProperty2().default)(this, "renderContext", ({
|
130
131
|
children
|
131
132
|
}) => {
|
132
|
-
return /*#__PURE__*/_react().default.createElement(_lanesUi().
|
133
|
+
return /*#__PURE__*/_react().default.createElement(_lanesUi().ViewedLaneFromUrl, null, children);
|
133
134
|
});
|
134
135
|
this.hostAspect = workspace || scope;
|
135
136
|
this.lanesHost = workspace ? 'workspace' : 'scope';
|
@@ -155,11 +156,16 @@ class LanesUI {
|
|
155
156
|
path: _lanesUi().LanesModel.laneRouteUrlRegex,
|
156
157
|
children: /*#__PURE__*/_react().default.createElement(_lanesUi().LanesOverviewMenu, {
|
157
158
|
navigationSlot: this.navSlot,
|
158
|
-
host: this.host
|
159
|
+
host: this.host,
|
160
|
+
widgetSlot: this.menuWidgetSlot
|
159
161
|
})
|
160
162
|
}]);
|
161
163
|
}
|
162
164
|
|
165
|
+
registerMenuWidget(...menuItems) {
|
166
|
+
this.menuWidgetSlot.register(menuItems);
|
167
|
+
}
|
168
|
+
|
163
169
|
registerLanesRoutes() {
|
164
170
|
this.registerNavigation({
|
165
171
|
href: '',
|
@@ -193,7 +199,7 @@ class LanesUI {
|
|
193
199
|
});
|
194
200
|
}
|
195
201
|
|
196
|
-
static async provider([uiUi, componentUi, workspaceUi, scopeUi, sidebarUi], _, [routeSlot, overviewSlot, navSlot], harmony) {
|
202
|
+
static async provider([uiUi, componentUi, workspaceUi, scopeUi, sidebarUi], _, [routeSlot, overviewSlot, navSlot, menuWidgetSlot], harmony) {
|
197
203
|
const {
|
198
204
|
config
|
199
205
|
} = harmony;
|
@@ -209,7 +215,7 @@ class LanesUI {
|
|
209
215
|
scope = scopeUi;
|
210
216
|
}
|
211
217
|
|
212
|
-
const lanesUi = new LanesUI(componentUi, routeSlot, navSlot, overviewSlot, workspace, scope);
|
218
|
+
const lanesUi = new LanesUI(componentUi, routeSlot, navSlot, overviewSlot, menuWidgetSlot, workspace, scope);
|
213
219
|
uiUi.registerRenderHooks({
|
214
220
|
reactContext: lanesUi.renderContext
|
215
221
|
});
|
@@ -218,6 +224,7 @@ class LanesUI {
|
|
218
224
|
});
|
219
225
|
sidebarUi.registerDrawer(drawer);
|
220
226
|
lanesUi.registerRoutes();
|
227
|
+
lanesUi.registerMenuWidget(() => /*#__PURE__*/_react().default.createElement(_lanesUi().UseLaneMenu, null));
|
221
228
|
return lanesUi;
|
222
229
|
}
|
223
230
|
|
@@ -226,7 +233,7 @@ class LanesUI {
|
|
226
233
|
exports.LanesUI = LanesUI;
|
227
234
|
(0, _defineProperty2().default)(LanesUI, "dependencies", [_ui().UIAspect, _component().default, _workspace().default, _scope().default, _sidebar().default]);
|
228
235
|
(0, _defineProperty2().default)(LanesUI, "runtime", _ui().UIRuntime);
|
229
|
-
(0, _defineProperty2().default)(LanesUI, "slots", [_harmony().Slot.withType(), _harmony().Slot.withType(), _harmony().Slot.withType()]);
|
236
|
+
(0, _defineProperty2().default)(LanesUI, "slots", [_harmony().Slot.withType(), _harmony().Slot.withType(), _harmony().Slot.withType(), _harmony().Slot.withType()]);
|
230
237
|
var _default = LanesUI;
|
231
238
|
exports.default = _default;
|
232
239
|
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["lanes.ui.runtime.tsx"],"names":["LanesUI","constructor","componentUi","routeSlot","navSlot","overviewSlot","workspace","scope","children","hostAspect","lanesHost","host","WorkspaceAspect","id","ScopeAspect","registerHostAspectRoutes","registerRoutes","path","LanesModel","laneComponentUrlRegex","getComponentUI","laneRouteUrlRegex","registerMenuRoutes","getMenu","registerLanesRoutes","registerNavigation","href","registerRoute","route","
|
1
|
+
{"version":3,"sources":["lanes.ui.runtime.tsx"],"names":["LanesUI","constructor","componentUi","routeSlot","navSlot","menuWidgetSlot","overviewSlot","workspace","scope","children","hostAspect","lanesHost","host","WorkspaceAspect","id","ScopeAspect","registerHostAspectRoutes","registerRoutes","path","LanesModel","laneComponentUrlRegex","getComponentUI","laneRouteUrlRegex","registerMenuRoutes","getMenu","registerMenuWidget","menuItems","register","registerLanesRoutes","registerNavigation","href","registerRoute","route","registerOverviewLine","lines","nav","order","props","provider","uiUi","workspaceUi","scopeUi","sidebarUi","_","harmony","config","String","get","lanesUi","registerRenderHooks","reactContext","renderContext","drawer","LanesDrawer","showScope","registerDrawer","UIAspect","ComponentAspect","SidebarAspect","UIRuntime","Slot","withType","LanesAspect","addRuntime"],"mappings":"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","sourcesContent":["import React, { ReactNode } from 'react';\nimport { RouteProps } from 'react-router-dom';\nimport { Slot, Harmony } from '@teambit/harmony';\nimport { UIRuntime, UiUI, UIAspect } from '@teambit/ui';\nimport { LanesAspect } from '@teambit/lanes';\nimport { NavigationSlot, RouteSlot } from '@teambit/ui-foundation.ui.react-router.slot-router';\nimport {\n LanesDrawer,\n LanesHost,\n LanesOverview,\n LanesOrderedNavigationSlot,\n LanesModel,\n LanesOverviewMenu,\n ViewedLaneFromUrl,\n LaneOverviewLineSlot,\n LaneOverviewLine,\n UseLaneMenu,\n} from '@teambit/lanes.ui.lanes';\nimport ScopeAspect, { ScopeUI } from '@teambit/scope';\nimport WorkspaceAspect, { WorkspaceUI } from '@teambit/workspace';\nimport { NavLinkProps } from '@teambit/react-router';\nimport ComponentAspect, { ComponentUI } from '@teambit/component';\nimport SidebarAspect, { SidebarUI } from '@teambit/sidebar';\nimport { MenuWidget, MenuWidgetSlot } from '@teambit/ui-foundation.ui.menu';\n\nexport class LanesUI {\n static dependencies = [UIAspect, ComponentAspect, WorkspaceAspect, ScopeAspect, SidebarAspect];\n static runtime = UIRuntime;\n static slots = [\n Slot.withType<RouteProps>(),\n Slot.withType<LaneOverviewLineSlot>(),\n Slot.withType<NavigationSlot>(),\n Slot.withType<MenuWidgetSlot>(),\n ];\n\n constructor(\n private componentUi: ComponentUI,\n private routeSlot: RouteSlot,\n private navSlot: LanesOrderedNavigationSlot,\n private menuWidgetSlot: MenuWidgetSlot,\n /**\n * overview line slot to add new lines beneath the overview section\n */\n private overviewSlot: LaneOverviewLineSlot,\n private workspace?: WorkspaceUI,\n private scope?: ScopeUI\n ) {\n this.hostAspect = workspace || scope;\n this.lanesHost = workspace ? 'workspace' : 'scope';\n this.host = workspace ? WorkspaceAspect.id : ScopeAspect.id;\n }\n\n private readonly lanesHost: LanesHost;\n private readonly hostAspect?: WorkspaceUI | ScopeUI;\n private readonly host: string;\n\n private registerHostAspectRoutes() {\n if (!this.hostAspect) return;\n this.hostAspect.registerRoutes([\n {\n path: LanesModel.laneComponentUrlRegex,\n children: this.componentUi.getComponentUI(this.host),\n },\n {\n path: LanesModel.laneRouteUrlRegex,\n children: <LanesOverview routeSlot={this.routeSlot} overviewSlot={this.overviewSlot} />,\n },\n ]);\n this.hostAspect.registerMenuRoutes([\n {\n path: LanesModel.laneComponentUrlRegex,\n children: this.componentUi.getMenu(this.host),\n },\n {\n path: LanesModel.laneRouteUrlRegex,\n children: <LanesOverviewMenu navigationSlot={this.navSlot} host={this.host} widgetSlot={this.menuWidgetSlot} />,\n },\n ]);\n }\n\n registerMenuWidget(...menuItems: MenuWidget[]) {\n this.menuWidgetSlot.register(menuItems);\n }\n\n private registerLanesRoutes() {\n this.registerNavigation({\n href: '',\n children: 'Gallery',\n });\n }\n\n private registerRoutes() {\n this.registerHostAspectRoutes();\n this.registerLanesRoutes();\n }\n\n private renderContext = ({ children }: { children: ReactNode }) => {\n return <ViewedLaneFromUrl>{children}</ViewedLaneFromUrl>;\n };\n\n registerRoute(route: RouteProps) {\n this.routeSlot.register(route);\n return this;\n }\n\n /**\n * register a new line beneath the lane overview section.\n */\n registerOverviewLine(...lines: LaneOverviewLine[]) {\n this.overviewSlot.register(lines);\n return this;\n }\n\n registerNavigation(nav: NavLinkProps, order?: number) {\n this.navSlot.register({\n props: nav,\n order,\n });\n }\n\n static async provider(\n [uiUi, componentUi, workspaceUi, scopeUi, sidebarUi]: [UiUI, ComponentUI, WorkspaceUI, ScopeUI, SidebarUI],\n _,\n [routeSlot, overviewSlot, navSlot, menuWidgetSlot]: [\n RouteSlot,\n LaneOverviewLineSlot,\n LanesOrderedNavigationSlot,\n MenuWidgetSlot\n ],\n harmony: Harmony\n ) {\n const { config } = harmony;\n const host = String(config.get('teambit.harmony/bit'));\n let workspace: WorkspaceUI | undefined;\n let scope: ScopeUI | undefined;\n if (host === WorkspaceAspect.id) {\n workspace = workspaceUi;\n }\n if (host === ScopeAspect.id) {\n scope = scopeUi;\n }\n const lanesUi = new LanesUI(componentUi, routeSlot, navSlot, overviewSlot, menuWidgetSlot, workspace, scope);\n uiUi.registerRenderHooks({ reactContext: lanesUi.renderContext });\n const drawer = new LanesDrawer({ showScope: lanesUi.lanesHost === 'workspace' });\n sidebarUi.registerDrawer(drawer);\n lanesUi.registerRoutes();\n lanesUi.registerMenuWidget(() => <UseLaneMenu />);\n return lanesUi;\n }\n}\n\nexport default LanesUI;\n\nLanesAspect.addRuntime(LanesUI);\n"]}
|
package/lanes.docs.mdx
CHANGED
@@ -9,25 +9,21 @@ The following describes the final implementation, which differs from the specifi
|
|
9
9
|
|
10
10
|
## Synopsis
|
11
11
|
|
12
|
-
|
13
|
-
- create a
|
14
|
-
-
|
12
|
+
```
|
13
|
+
- create a snap: `bit snap` (synopsis similar to the `bit tag`)
|
14
|
+
- create a new lane: `bit lane create <name> --test`
|
15
|
+
- list lanes: `bit lane list`
|
15
16
|
- switch between lanes: `bit switch <name>`
|
16
|
-
- merge lanes: `bit lane merge
|
17
|
+
- merge lanes: `bit lane merge`
|
17
18
|
- show lane details: `bit lane show <name>`
|
18
19
|
- diff between lanes: `bit lane diff <values>`
|
19
20
|
- track local lane to a remote lane: `bit switch --as`
|
20
21
|
- remove a lane `bit lane remove <name>`.
|
21
|
-
- fetch lane objects (without the components): `bit fetch --lanes
|
22
|
+
- fetch lane objects (without the components): `bit fetch --lanes`
|
22
23
|
- import a lane: `bit switch <name> --remote`
|
23
|
-
|
24
|
-
.
|
25
|
-
|
26
24
|
- export current lane: `bit export`
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
- (internal) cat lane object: `bit cat-lane <name>`.
|
25
|
+
- (internal) cat lane object: `bit cat-lane <name>`
|
26
|
+
```
|
31
27
|
|
32
28
|
## Remaining tasks
|
33
29
|
|
package/lanes.ui.runtime.tsx
CHANGED
@@ -11,25 +11,33 @@ import {
|
|
11
11
|
LanesOrderedNavigationSlot,
|
12
12
|
LanesModel,
|
13
13
|
LanesOverviewMenu,
|
14
|
-
|
14
|
+
ViewedLaneFromUrl,
|
15
15
|
LaneOverviewLineSlot,
|
16
16
|
LaneOverviewLine,
|
17
|
+
UseLaneMenu,
|
17
18
|
} from '@teambit/lanes.ui.lanes';
|
18
19
|
import ScopeAspect, { ScopeUI } from '@teambit/scope';
|
19
20
|
import WorkspaceAspect, { WorkspaceUI } from '@teambit/workspace';
|
20
21
|
import { NavLinkProps } from '@teambit/react-router';
|
21
22
|
import ComponentAspect, { ComponentUI } from '@teambit/component';
|
22
23
|
import SidebarAspect, { SidebarUI } from '@teambit/sidebar';
|
24
|
+
import { MenuWidget, MenuWidgetSlot } from '@teambit/ui-foundation.ui.menu';
|
23
25
|
|
24
26
|
export class LanesUI {
|
25
27
|
static dependencies = [UIAspect, ComponentAspect, WorkspaceAspect, ScopeAspect, SidebarAspect];
|
26
28
|
static runtime = UIRuntime;
|
27
|
-
static slots = [
|
29
|
+
static slots = [
|
30
|
+
Slot.withType<RouteProps>(),
|
31
|
+
Slot.withType<LaneOverviewLineSlot>(),
|
32
|
+
Slot.withType<NavigationSlot>(),
|
33
|
+
Slot.withType<MenuWidgetSlot>(),
|
34
|
+
];
|
28
35
|
|
29
36
|
constructor(
|
30
37
|
private componentUi: ComponentUI,
|
31
38
|
private routeSlot: RouteSlot,
|
32
39
|
private navSlot: LanesOrderedNavigationSlot,
|
40
|
+
private menuWidgetSlot: MenuWidgetSlot,
|
33
41
|
/**
|
34
42
|
* overview line slot to add new lines beneath the overview section
|
35
43
|
*/
|
@@ -65,11 +73,15 @@ export class LanesUI {
|
|
65
73
|
},
|
66
74
|
{
|
67
75
|
path: LanesModel.laneRouteUrlRegex,
|
68
|
-
children: <LanesOverviewMenu navigationSlot={this.navSlot} host={this.host} />,
|
76
|
+
children: <LanesOverviewMenu navigationSlot={this.navSlot} host={this.host} widgetSlot={this.menuWidgetSlot} />,
|
69
77
|
},
|
70
78
|
]);
|
71
79
|
}
|
72
80
|
|
81
|
+
registerMenuWidget(...menuItems: MenuWidget[]) {
|
82
|
+
this.menuWidgetSlot.register(menuItems);
|
83
|
+
}
|
84
|
+
|
73
85
|
private registerLanesRoutes() {
|
74
86
|
this.registerNavigation({
|
75
87
|
href: '',
|
@@ -83,7 +95,7 @@ export class LanesUI {
|
|
83
95
|
}
|
84
96
|
|
85
97
|
private renderContext = ({ children }: { children: ReactNode }) => {
|
86
|
-
return <
|
98
|
+
return <ViewedLaneFromUrl>{children}</ViewedLaneFromUrl>;
|
87
99
|
};
|
88
100
|
|
89
101
|
registerRoute(route: RouteProps) {
|
@@ -109,7 +121,12 @@ export class LanesUI {
|
|
109
121
|
static async provider(
|
110
122
|
[uiUi, componentUi, workspaceUi, scopeUi, sidebarUi]: [UiUI, ComponentUI, WorkspaceUI, ScopeUI, SidebarUI],
|
111
123
|
_,
|
112
|
-
[routeSlot, overviewSlot, navSlot]: [
|
124
|
+
[routeSlot, overviewSlot, navSlot, menuWidgetSlot]: [
|
125
|
+
RouteSlot,
|
126
|
+
LaneOverviewLineSlot,
|
127
|
+
LanesOrderedNavigationSlot,
|
128
|
+
MenuWidgetSlot
|
129
|
+
],
|
113
130
|
harmony: Harmony
|
114
131
|
) {
|
115
132
|
const { config } = harmony;
|
@@ -122,12 +139,12 @@ export class LanesUI {
|
|
122
139
|
if (host === ScopeAspect.id) {
|
123
140
|
scope = scopeUi;
|
124
141
|
}
|
125
|
-
const lanesUi = new LanesUI(componentUi, routeSlot, navSlot, overviewSlot, workspace, scope);
|
142
|
+
const lanesUi = new LanesUI(componentUi, routeSlot, navSlot, overviewSlot, menuWidgetSlot, workspace, scope);
|
126
143
|
uiUi.registerRenderHooks({ reactContext: lanesUi.renderContext });
|
127
144
|
const drawer = new LanesDrawer({ showScope: lanesUi.lanesHost === 'workspace' });
|
128
145
|
sidebarUi.registerDrawer(drawer);
|
129
146
|
lanesUi.registerRoutes();
|
130
|
-
|
147
|
+
lanesUi.registerMenuWidget(() => <UseLaneMenu />);
|
131
148
|
return lanesUi;
|
132
149
|
}
|
133
150
|
}
|
Binary file
|
package/package.json
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
{
|
2
2
|
"name": "@teambit/lanes",
|
3
|
-
"version": "0.0.
|
3
|
+
"version": "0.0.268",
|
4
4
|
"homepage": "https://bit.dev/teambit/lanes/lanes",
|
5
5
|
"main": "dist/index.js",
|
6
6
|
"componentId": {
|
7
7
|
"scope": "teambit.lanes",
|
8
8
|
"name": "lanes",
|
9
|
-
"version": "0.0.
|
9
|
+
"version": "0.0.268"
|
10
10
|
},
|
11
11
|
"dependencies": {
|
12
12
|
"chalk": "2.4.2",
|
@@ -18,19 +18,20 @@
|
|
18
18
|
"@babel/runtime": "7.12.18",
|
19
19
|
"core-js": "^3.0.0",
|
20
20
|
"@teambit/bit-error": "0.0.394",
|
21
|
-
"@teambit/cli": "0.0.
|
22
|
-
"@teambit/merging": "0.0.
|
23
|
-
"@teambit/scope": "0.0.
|
24
|
-
"@teambit/workspace": "0.0.
|
25
|
-
"@teambit/graphql": "0.0.
|
26
|
-
"@teambit/community": "0.0.
|
21
|
+
"@teambit/cli": "0.0.465",
|
22
|
+
"@teambit/merging": "0.0.11",
|
23
|
+
"@teambit/scope": "0.0.696",
|
24
|
+
"@teambit/workspace": "0.0.696",
|
25
|
+
"@teambit/graphql": "0.0.696",
|
26
|
+
"@teambit/community": "0.0.13",
|
27
27
|
"@teambit/lanes.modules.diff": "0.0.107",
|
28
|
-
"@teambit/component": "0.0.
|
29
|
-
"@teambit/lanes.ui.lanes": "0.0.
|
30
|
-
"@teambit/react-router": "0.0.
|
31
|
-
"@teambit/sidebar": "0.0.
|
28
|
+
"@teambit/component": "0.0.696",
|
29
|
+
"@teambit/lanes.ui.lanes": "0.0.30",
|
30
|
+
"@teambit/react-router": "0.0.696",
|
31
|
+
"@teambit/sidebar": "0.0.696",
|
32
|
+
"@teambit/ui-foundation.ui.menu": "0.0.486",
|
32
33
|
"@teambit/ui-foundation.ui.react-router.slot-router": "0.0.488",
|
33
|
-
"@teambit/ui": "0.0.
|
34
|
+
"@teambit/ui": "0.0.696",
|
34
35
|
"@teambit/legacy-bit-id": "0.0.399"
|
35
36
|
},
|
36
37
|
"devDependencies": {
|
@@ -46,7 +47,7 @@
|
|
46
47
|
"@teambit/workspace.testing.mock-workspace": "0.0.4"
|
47
48
|
},
|
48
49
|
"peerDependencies": {
|
49
|
-
"@teambit/legacy": "1.0.
|
50
|
+
"@teambit/legacy": "1.0.243",
|
50
51
|
"react-dom": "^16.8.0 || ^17.0.0",
|
51
52
|
"react": "^16.8.0 || ^17.0.0"
|
52
53
|
},
|
@@ -74,7 +75,7 @@
|
|
74
75
|
"react": "-"
|
75
76
|
},
|
76
77
|
"peerDependencies": {
|
77
|
-
"@teambit/legacy": "1.0.
|
78
|
+
"@teambit/legacy": "1.0.243",
|
78
79
|
"react-dom": "^16.8.0 || ^17.0.0",
|
79
80
|
"react": "^16.8.0 || ^17.0.0"
|
80
81
|
}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
export const compositions = [require('/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.lanes_lanes@0.0.
|
2
|
-
export const overview = [require('/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.lanes_lanes@0.0.
|
1
|
+
export const compositions = [require('/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.lanes_lanes@0.0.268/dist/lanes.composition.js')]
|
2
|
+
export const overview = [require('/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.lanes_lanes@0.0.268/dist/lanes.docs.mdx')]
|
Binary file
|