@teambit/lanes 0.0.273 → 0.0.274

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.
@@ -1,3 +1,3 @@
1
1
  import { Schema } from '@teambit/graphql';
2
2
  import { LanesMain } from './lanes.main.runtime';
3
- export declare function lanesSchema(lanesMain: LanesMain): Schema;
3
+ export declare function lanesSchema(lanesMainRuntime: LanesMain): Schema;
@@ -31,25 +31,23 @@ function _graphqlTag() {
31
31
  return data;
32
32
  }
33
33
 
34
+ function _lodash() {
35
+ const data = require("lodash");
36
+
37
+ _lodash = function () {
38
+ return data;
39
+ };
40
+
41
+ return data;
42
+ }
43
+
34
44
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
35
45
 
36
46
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2().default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
37
47
 
38
- function lanesSchema(lanesMain) {
48
+ function lanesSchema(lanesMainRuntime) {
39
49
  return {
40
50
  typeDefs: (0, _graphqlTag().default)`
41
- type CompLaneData {
42
- id: ComponentID!
43
- head: String!
44
- }
45
-
46
- type LanesData {
47
- name: String!
48
- components: [CompLaneData]
49
- isMerged: Boolean
50
- remote: String
51
- }
52
-
53
51
  type FileDiff {
54
52
  filePath: String!
55
53
  diffOutput: String
@@ -78,11 +76,19 @@ function lanesSchema(lanesMain) {
78
76
  color: Boolean
79
77
  }
80
78
 
79
+ type Lane {
80
+ id: String!
81
+ isMerged: Boolean
82
+ remote: String
83
+ components(offset: Int, limit: Int): [Component!]!
84
+ }
85
+
86
+ # Lane API
81
87
  type Lanes {
82
- getLanes: [LanesData]
83
- getLaneByName(name: String): LanesData
84
- getCurrentLaneName: String
85
- getDiff(values: [String], options: DiffOptions): GetDiffResult
88
+ id: String!
89
+ list(ids: [String!], offset: Int, limit: Int): [Lane!]!
90
+ diff(from: String!, to: String!, options: DiffOptions): GetDiffResult
91
+ current: Lane
86
92
  }
87
93
 
88
94
  type Query {
@@ -91,44 +97,43 @@ function lanesSchema(lanesMain) {
91
97
  `,
92
98
  resolvers: {
93
99
  Lanes: {
94
- getLanes: async lanes => {
95
- const lanesResults = await lanes.getLanes({});
96
- return lanesResults.map(lane => ({
97
- name: lane.name,
98
- components: lane.components.map(component => _objectSpread(_objectSpread({}, component), {}, {
99
- /**
100
- * make sure the BitId has the version mapped,
101
- * otherwise graphql will cache the lane component response across different lanes with the same component id
102
- */
103
- id: _objectSpread(_objectSpread({}, component.id), {}, {
104
- version: component.head
105
- })
106
- })),
107
- isMerged: Boolean(lane.isMerged),
108
- remote: lane.remote
109
- }));
110
- },
111
- getLaneByName: async (lanes, {
112
- name
100
+ // need this for Apollo InMemory Caching
101
+ id: () => 'lanes',
102
+ list: async (lanesMain, {
103
+ ids,
104
+ limit,
105
+ offset
113
106
  }) => {
114
- const lanesResults = await lanes.getLanes({
115
- name
116
- });
117
- const laneResult = lanesResults[0];
118
- return {
119
- name: laneResult.name,
120
- components: laneResult.components,
121
- isMerged: Boolean(laneResult.isMerged)
122
- };
107
+ let lanes = [];
108
+
109
+ if (!ids || ids.length === 0) {
110
+ lanes = await lanesMain.getLanes({});
111
+ } else {
112
+ lanes = (0, _lodash().flatten)(await Promise.all(ids.map(id => lanesMain.getLanes({
113
+ name: id
114
+ }))));
115
+ }
116
+
117
+ if (limit || offset) {
118
+ lanes = (0, _lodash().slice)(lanes, offset, limit && limit + (offset || 0));
119
+ }
120
+
121
+ return lanes;
123
122
  },
124
- getCurrentLaneName: lanes => {
125
- return lanes.getCurrentLane();
123
+ current: async lanesMain => {
124
+ const currentLaneId = lanesMain.getCurrentLane();
125
+ if (!currentLaneId) return undefined;
126
+ const [currentLane] = await lanesMain.getLanes({
127
+ name: currentLaneId
128
+ });
129
+ return currentLane;
126
130
  },
127
- getDiff: async (lanes, {
128
- values,
131
+ diff: async (lanesMain, {
132
+ from,
133
+ to,
129
134
  options
130
135
  }) => {
131
- const getDiffResults = await lanes.getDiff(values, options);
136
+ const getDiffResults = await lanesMain.getDiff([from, to], options);
132
137
  return _objectSpread(_objectSpread({}, getDiffResults), {}, {
133
138
  compsWithDiff: getDiffResults.compsWithDiff.map(item => _objectSpread(_objectSpread({}, item), {}, {
134
139
  id: item.id.toString()
@@ -136,8 +141,17 @@ function lanesSchema(lanesMain) {
136
141
  });
137
142
  }
138
143
  },
144
+ Lane: {
145
+ id: lane => lane.name,
146
+ isMerged: lane => lane.isMerged,
147
+ remote: lane => lane.remote,
148
+ components: async lane => {
149
+ const laneComponents = await lanesMainRuntime.getLaneComponentModels(lane.name);
150
+ return laneComponents;
151
+ }
152
+ },
139
153
  Query: {
140
- lanes: () => lanesMain
154
+ lanes: () => lanesMainRuntime
141
155
  }
142
156
  }
143
157
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["lanes.graphql.ts"],"names":["lanesSchema","lanesMain","typeDefs","resolvers","Lanes","getLanes","lanes","lanesResults","map","lane","name","components","component","id","version","head","isMerged","Boolean","remote","getLaneByName","laneResult","getCurrentLaneName","getCurrentLane","getDiff","values","options","getDiffResults","compsWithDiff","item","toString","Query"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;AAGO,SAASA,WAAT,CAAqBC,SAArB,EAAmD;AACxD,SAAO;AACLC,IAAAA,QAAQ,EAAE,0BAAI;AAClB;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,KApDS;AAqDLC,IAAAA,SAAS,EAAE;AACTC,MAAAA,KAAK,EAAE;AACLC,QAAAA,QAAQ,EAAE,MAAOC,KAAP,IAA4B;AACpC,gBAAMC,YAAY,GAAG,MAAMD,KAAK,CAACD,QAAN,CAAe,EAAf,CAA3B;AACA,iBAAOE,YAAY,CAACC,GAAb,CAAkBC,IAAD,KAAW;AACjCC,YAAAA,IAAI,EAAED,IAAI,CAACC,IADsB;AAEjCC,YAAAA,UAAU,EAAEF,IAAI,CAACE,UAAL,CAAgBH,GAAhB,CAAqBI,SAAD,oCAC3BA,SAD2B;AAE9B;AACd;AACA;AACA;AACcC,cAAAA,EAAE,kCAAOD,SAAS,CAACC,EAAjB;AAAqBC,gBAAAA,OAAO,EAAEF,SAAS,CAACG;AAAxC;AAN4B,cAApB,CAFqB;AAUjCC,YAAAA,QAAQ,EAAEC,OAAO,CAACR,IAAI,CAACO,QAAN,CAVgB;AAWjCE,YAAAA,MAAM,EAAET,IAAI,CAACS;AAXoB,WAAX,CAAjB,CAAP;AAaD,SAhBI;AAiBLC,QAAAA,aAAa,EAAE,OAAOb,KAAP,EAAyB;AAAEI,UAAAA;AAAF,SAAzB,KAAwD;AACrE,gBAAMH,YAAY,GAAG,MAAMD,KAAK,CAACD,QAAN,CAAe;AAAEK,YAAAA;AAAF,WAAf,CAA3B;AACA,gBAAMU,UAAU,GAAGb,YAAY,CAAC,CAAD,CAA/B;AACA,iBAAO;AACLG,YAAAA,IAAI,EAAEU,UAAU,CAACV,IADZ;AAELC,YAAAA,UAAU,EAAES,UAAU,CAACT,UAFlB;AAGLK,YAAAA,QAAQ,EAAEC,OAAO,CAACG,UAAU,CAACJ,QAAZ;AAHZ,WAAP;AAKD,SAzBI;AA0BLK,QAAAA,kBAAkB,EAAGf,KAAD,IAAsB;AACxC,iBAAOA,KAAK,CAACgB,cAAN,EAAP;AACD,SA5BI;AA6BLC,QAAAA,OAAO,EAAE,OAAOjB,KAAP,EAAyB;AAAEkB,UAAAA,MAAF;AAAUC,UAAAA;AAAV,SAAzB,KAAqG;AAC5G,gBAAMC,cAAc,GAAG,MAAMpB,KAAK,CAACiB,OAAN,CAAcC,MAAd,EAAsBC,OAAtB,CAA7B;AACA,iDACKC,cADL;AAEEC,YAAAA,aAAa,EAAED,cAAc,CAACC,aAAf,CAA6BnB,GAA7B,CAAkCoB,IAAD,oCAAgBA,IAAhB;AAAsBf,cAAAA,EAAE,EAAEe,IAAI,CAACf,EAAL,CAAQgB,QAAR;AAA1B,cAAjC;AAFjB;AAID;AAnCI,OADE;AAsCTC,MAAAA,KAAK,EAAE;AACLxB,QAAAA,KAAK,EAAE,MAAML;AADR;AAtCE;AArDN,GAAP;AAgGD","sourcesContent":["import { Schema } from '@teambit/graphql';\nimport gql from 'graphql-tag';\nimport { LanesMain } from './lanes.main.runtime';\n\nexport function lanesSchema(lanesMain: LanesMain): Schema {\n return {\n typeDefs: gql`\n type CompLaneData {\n id: ComponentID!\n head: String!\n }\n\n type LanesData {\n name: String!\n components: [CompLaneData]\n isMerged: Boolean\n remote: String\n }\n\n type FileDiff {\n filePath: String!\n diffOutput: String\n }\n\n type FieldsDiff {\n fieldName: String!\n diffOutput: String\n }\n\n type DiffResults {\n id: String\n hasDiff: Boolean\n filesDiff: [FileDiff]\n fieldsDiff: [FieldsDiff]\n }\n\n type GetDiffResult {\n newComps: [String]\n compsWithNoChanges: [String]\n toLaneName: String\n compsWithDiff: [DiffResults]\n }\n\n input DiffOptions {\n color: Boolean\n }\n\n type Lanes {\n getLanes: [LanesData]\n getLaneByName(name: String): LanesData\n getCurrentLaneName: String\n getDiff(values: [String], options: DiffOptions): GetDiffResult\n }\n\n type Query {\n lanes: Lanes\n }\n `,\n resolvers: {\n Lanes: {\n getLanes: async (lanes: LanesMain) => {\n const lanesResults = await lanes.getLanes({});\n return lanesResults.map((lane) => ({\n name: lane.name,\n components: lane.components.map((component) => ({\n ...component,\n /**\n * make sure the BitId has the version mapped,\n * otherwise graphql will cache the lane component response across different lanes with the same component id\n */\n id: { ...component.id, version: component.head },\n })),\n isMerged: Boolean(lane.isMerged),\n remote: lane.remote,\n }));\n },\n getLaneByName: async (lanes: LanesMain, { name }: { name: string }) => {\n const lanesResults = await lanes.getLanes({ name });\n const laneResult = lanesResults[0];\n return {\n name: laneResult.name,\n components: laneResult.components,\n isMerged: Boolean(laneResult.isMerged),\n };\n },\n getCurrentLaneName: (lanes: LanesMain) => {\n return lanes.getCurrentLane();\n },\n getDiff: async (lanes: LanesMain, { values, options }: { values: string[]; options: { color?: boolean } }) => {\n const getDiffResults = await lanes.getDiff(values, options);\n return {\n ...getDiffResults,\n compsWithDiff: getDiffResults.compsWithDiff.map((item) => ({ ...item, id: item.id.toString() })),\n };\n },\n },\n Query: {\n lanes: () => lanesMain,\n },\n },\n };\n}\n"]}
1
+ {"version":3,"sources":["lanes.graphql.ts"],"names":["lanesSchema","lanesMainRuntime","typeDefs","resolvers","Lanes","id","list","lanesMain","ids","limit","offset","lanes","length","getLanes","Promise","all","map","name","current","currentLaneId","getCurrentLane","undefined","currentLane","diff","from","to","options","getDiffResults","getDiff","compsWithDiff","item","toString","Lane","lane","isMerged","remote","components","laneComponents","getLaneComponentModels","Query"],"mappings":"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","sourcesContent":["import { Schema } from '@teambit/graphql';\nimport { LaneData } from '@teambit/legacy/dist/scope/lanes/lanes';\nimport gql from 'graphql-tag';\nimport { flatten, slice } from 'lodash';\n\nimport { LanesMain } from './lanes.main.runtime';\n\nexport function lanesSchema(lanesMainRuntime: LanesMain): Schema {\n return {\n typeDefs: gql`\n type FileDiff {\n filePath: String!\n diffOutput: String\n }\n\n type FieldsDiff {\n fieldName: String!\n diffOutput: String\n }\n\n type DiffResults {\n id: String\n hasDiff: Boolean\n filesDiff: [FileDiff]\n fieldsDiff: [FieldsDiff]\n }\n\n type GetDiffResult {\n newComps: [String]\n compsWithNoChanges: [String]\n toLaneName: String\n compsWithDiff: [DiffResults]\n }\n\n input DiffOptions {\n color: Boolean\n }\n\n type Lane {\n id: String!\n isMerged: Boolean\n remote: String\n components(offset: Int, limit: Int): [Component!]!\n }\n\n # Lane API\n type Lanes {\n id: String!\n list(ids: [String!], offset: Int, limit: Int): [Lane!]!\n diff(from: String!, to: String!, options: DiffOptions): GetDiffResult\n current: Lane\n }\n\n type Query {\n lanes: Lanes\n }\n `,\n resolvers: {\n Lanes: {\n // need this for Apollo InMemory Caching\n id: () => 'lanes',\n list: async (\n lanesMain: LanesMain,\n { ids, limit, offset }: { ids?: string[]; offset?: number; limit?: number }\n ) => {\n let lanes: LaneData[] = [];\n\n if (!ids || ids.length === 0) {\n lanes = await lanesMain.getLanes({});\n } else {\n lanes = flatten(await Promise.all(ids.map((id) => lanesMain.getLanes({ name: id }))));\n }\n\n if (limit || offset) {\n lanes = slice(lanes, offset, limit && limit + (offset || 0));\n }\n\n return lanes;\n },\n current: async (lanesMain: LanesMain) => {\n const currentLaneId = lanesMain.getCurrentLane();\n if (!currentLaneId) return undefined;\n const [currentLane] = await lanesMain.getLanes({ name: currentLaneId });\n return currentLane;\n },\n diff: async (\n lanesMain: LanesMain,\n { from, to, options }: { to: string; from: string; options: { color?: boolean } }\n ) => {\n const getDiffResults = await lanesMain.getDiff([from, to], options);\n return {\n ...getDiffResults,\n compsWithDiff: getDiffResults.compsWithDiff.map((item) => ({ ...item, id: item.id.toString() })),\n };\n },\n },\n Lane: {\n id: (lane: LaneData) => lane.name,\n isMerged: (lane: LaneData) => lane.isMerged,\n remote: (lane: LaneData) => lane.remote,\n components: async (lane: LaneData) => {\n const laneComponents = await lanesMainRuntime.getLaneComponentModels(lane.name);\n return laneComponents;\n },\n },\n Query: {\n lanes: () => lanesMainRuntime,\n },\n },\n };\n}\n"]}
@@ -7,6 +7,7 @@ import { DiffOptions } from '@teambit/legacy/dist/consumer/component-ops/compone
7
7
  import { MergeStrategy, ApplyVersionResults } from '@teambit/legacy/dist/consumer/versions-ops/merge-version';
8
8
  import { TrackLane } from '@teambit/legacy/dist/scope/scope-json';
9
9
  import type { CommunityMain } from '@teambit/community';
10
+ import { Component } from '@teambit/component';
10
11
  import { MergingMain } from '@teambit/merging';
11
12
  export declare type LaneResults = {
12
13
  lanes: LaneData[];
@@ -59,6 +60,7 @@ export declare class LanesMain {
59
60
  compsWithNoChanges: string[];
60
61
  toLaneName: string;
61
62
  }>;
63
+ getLaneComponentModels(name: string): Promise<Component[]>;
62
64
  private getLaneDataOfDefaultLane;
63
65
  static slots: never[];
64
66
  static dependencies: import("@teambit/harmony").Aspect[];
@@ -230,10 +230,15 @@ class LanesMain {
230
230
  return lanes;
231
231
  }
232
232
 
233
+ if (name === _constants().DEFAULT_LANE) {
234
+ const defaultLane = await this.getLaneDataOfDefaultLane();
235
+ return defaultLane ? [defaultLane] : [];
236
+ }
237
+
233
238
  const lanes = await this.scope.legacyScope.lanes.getLanesData(this.scope.legacyScope, name, showMergeData);
234
239
 
235
240
  if (showDefaultLane) {
236
- const defaultLane = this.getLaneDataOfDefaultLane();
241
+ const defaultLane = await this.getLaneDataOfDefaultLane();
237
242
  if (defaultLane) lanes.push(defaultLane);
238
243
  }
239
244
 
@@ -330,12 +335,34 @@ class LanesMain {
330
335
  return laneDiffGenerator.generate(values, diffOptions);
331
336
  }
332
337
 
333
- getLaneDataOfDefaultLane() {
338
+ async getLaneComponentModels(name) {
339
+ if (!name) return [];
340
+ const [lane] = await this.getLanes({
341
+ name
342
+ });
343
+ const laneComponents = lane.components;
344
+ const host = this.workspace || this.scope;
345
+ const laneComponentIds = await Promise.all(laneComponents.map(laneComponent => {
346
+ const legacyIdWithVersion = laneComponent.id.changeVersion(laneComponent.head);
347
+ return host.resolveComponentId(legacyIdWithVersion);
348
+ }));
349
+ const components = await host.getMany(laneComponentIds);
350
+ return components;
351
+ }
352
+
353
+ async getLaneDataOfDefaultLane() {
334
354
  var _this$workspace4;
335
355
 
336
356
  const consumer = (_this$workspace4 = this.workspace) === null || _this$workspace4 === void 0 ? void 0 : _this$workspace4.consumer;
337
- if (!consumer) return null;
338
- const bitIds = consumer.bitMap.getAuthoredAndImportedBitIdsOfDefaultLane();
357
+ let bitIds = [];
358
+
359
+ if (!consumer) {
360
+ const scopeComponents = await this.scope.list();
361
+ bitIds = scopeComponents.filter(component => component.head).map(component => component.id._legacy);
362
+ } else {
363
+ bitIds = consumer.bitMap.getAuthoredAndImportedBitIdsOfDefaultLane();
364
+ }
365
+
339
366
  return {
340
367
  name: _constants().DEFAULT_LANE,
341
368
  remote: null,
@@ -1 +1 @@
1
- {"version":3,"sources":["lanes.main.runtime.ts"],"names":["LanesMain","constructor","workspace","scope","merging","getLanes","name","remote","merged","showDefaultLane","notMerged","showMergeData","Boolean","consumer","remoteObj","lanes","listLanes","legacyScope","getLanesData","defaultLane","getLaneDataOfDefaultLane","push","getCurrentLane","getCurrentLaneName","createLane","remoteScope","remoteName","BitError","setCurrentLane","trackLaneData","localLane","remoteLane","defaultScope","trackLane","onDestroy","localName","lane","loadLane","LaneId","from","beforeTrackData","getRemoteTrackedDataByLocalLane","beforeTrackDataCloned","undefined","afterTrackData","removeLanes","laneNames","force","results","laneResults","mergeLane","laneName","options","mergeResults","getDiff","values","diffOptions","laneDiffGenerator","LaneDiffGenerator","generate","bitIds","bitMap","getAuthoredAndImportedBitIdsOfDefaultLane","DEFAULT_LANE","components","map","bitId","id","head","version","isMerged","provider","cli","graphql","community","lanesMain","isLegacy","switchCmd","SwitchCmd","laneCmd","LaneCmd","getDocsDomain","commands","LaneListCmd","LaneShowCmd","LaneCreateCmd","LaneMergeCmd","LaneRemoveCmd","LaneTrackCmd","LaneDiffCmd","LaneImportCmd","register","CLIAspect","ScopeAspect","WorkspaceAspect","GraphqlAspect","CommunityAspect","MergingAspect","MainRuntime","LanesAspect","addRuntime"],"mappings":"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","sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { ScopeMain, ScopeAspect } from '@teambit/scope';\nimport { GraphqlAspect, GraphqlMain } from '@teambit/graphql';\nimport { Workspace, WorkspaceAspect } from '@teambit/workspace';\nimport getRemoteByName from '@teambit/legacy/dist/remotes/get-remote-by-name';\nimport { LaneDiffCmd, LaneDiffGenerator } from '@teambit/lanes.modules.diff';\nimport { LaneData } from '@teambit/legacy/dist/scope/lanes/lanes';\nimport LaneId from '@teambit/legacy/dist/lane-id/lane-id';\nimport { BitError } from '@teambit/bit-error';\nimport createNewLane from '@teambit/legacy/dist/consumer/lanes/create-lane';\nimport { DEFAULT_LANE } from '@teambit/legacy/dist/constants';\nimport { DiffOptions } from '@teambit/legacy/dist/consumer/component-ops/components-diff';\nimport { MergeStrategy, ApplyVersionResults } from '@teambit/legacy/dist/consumer/versions-ops/merge-version';\nimport { TrackLane } from '@teambit/legacy/dist/scope/scope-json';\nimport { CommunityAspect } from '@teambit/community';\nimport type { CommunityMain } from '@teambit/community';\nimport removeLanes from '@teambit/legacy/dist/consumer/lanes/remove-lanes';\nimport { MergingMain, MergingAspect } from '@teambit/merging';\nimport { LanesAspect } from './lanes.aspect';\nimport {\n LaneCmd,\n LaneCreateCmd,\n LaneImportCmd,\n LaneListCmd,\n LaneMergeCmd,\n LaneRemoveCmd,\n LaneShowCmd,\n LaneTrackCmd,\n} from './lane.cmd';\nimport { lanesSchema } from './lanes.graphql';\nimport { SwitchCmd } from './switch.cmd';\nimport { mergeLanes } from './merge-lanes';\n\nexport type LaneResults = {\n lanes: LaneData[];\n currentLane?: string | null;\n};\n\nexport type MergeLaneOptions = {\n remoteName: string | null;\n mergeStrategy: MergeStrategy;\n noSnap: boolean;\n snapMessage: string;\n existingOnWorkspaceOnly: boolean;\n build: boolean;\n};\n\nexport type CreateLaneOptions = {\n remoteScope?: string; // default to the defaultScope in workspace.jsonc\n remoteName?: string; // default to the local lane\n};\n\nexport class LanesMain {\n constructor(private workspace: Workspace | undefined, private scope: ScopeMain, private merging: MergingMain) {}\n\n async getLanes({\n name,\n remote,\n merged,\n showDefaultLane,\n notMerged,\n }: {\n name?: string;\n remote?: string;\n merged?: boolean;\n showDefaultLane?: boolean;\n notMerged?: boolean;\n }): Promise<LaneData[]> {\n const showMergeData = Boolean(merged || notMerged);\n const consumer = this.workspace?.consumer;\n if (remote) {\n const remoteObj = await getRemoteByName(remote, consumer);\n const lanes = await remoteObj.listLanes(name, showMergeData);\n return lanes;\n }\n const lanes = await this.scope.legacyScope.lanes.getLanesData(this.scope.legacyScope, name, showMergeData);\n\n if (showDefaultLane) {\n const defaultLane = this.getLaneDataOfDefaultLane();\n if (defaultLane) lanes.push(defaultLane);\n }\n\n return lanes;\n }\n\n getCurrentLane(): string | null {\n if (!this.workspace?.consumer) return null;\n return this.scope.legacyScope.lanes.getCurrentLaneName();\n }\n\n async createLane(name: string, { remoteScope, remoteName }: CreateLaneOptions = {}): Promise<TrackLane> {\n if (!this.workspace) {\n throw new BitError(`unable to create a lane outside of Bit workspace`);\n }\n await createNewLane(this.workspace.consumer, name);\n this.scope.legacyScope.lanes.setCurrentLane(name);\n const trackLaneData = {\n localLane: name,\n remoteLane: remoteName || name,\n remoteScope: remoteScope || this.workspace.defaultScope,\n };\n this.scope.legacyScope.lanes.trackLane(trackLaneData);\n await this.workspace.consumer.onDestroy();\n\n return trackLaneData;\n }\n\n async trackLane(\n localName: string,\n remoteScope: string,\n remoteName?: string\n ): Promise<{ beforeTrackData?: TrackLane; afterTrackData: TrackLane }> {\n if (!this.workspace) {\n throw new BitError(`unable to track a lane outside of Bit workspace`);\n }\n const lane = await this.scope.legacyScope.lanes.loadLane(LaneId.from(localName));\n if (!lane) {\n throw new BitError(`unable to find a local lane \"${localName}\"`);\n }\n const beforeTrackData = this.scope.legacyScope.lanes.getRemoteTrackedDataByLocalLane(localName);\n const beforeTrackDataCloned = beforeTrackData ? { ...beforeTrackData } : undefined;\n const afterTrackData = {\n localLane: localName,\n remoteLane: remoteName || beforeTrackData?.remoteLane || localName,\n remoteScope,\n };\n this.scope.legacyScope.lanes.trackLane(afterTrackData);\n await this.workspace.consumer.onDestroy();\n\n return { beforeTrackData: beforeTrackDataCloned, afterTrackData };\n }\n\n async removeLanes(laneNames: string[], { remote, force }: { remote: boolean; force: boolean }): Promise<string[]> {\n const results = await removeLanes(this.workspace?.consumer, laneNames, remote, force);\n if (this.workspace) await this.workspace.consumer.onDestroy();\n\n return results.laneResults;\n }\n\n async mergeLane(laneName: string, options: MergeLaneOptions): Promise<ApplyVersionResults> {\n if (!this.workspace) {\n throw new BitError(`unable to merge a lane outside of Bit workspace`);\n }\n const mergeResults = await mergeLanes({\n merging: this.merging,\n consumer: this.workspace.consumer,\n laneName,\n ...options,\n });\n await this.workspace.consumer.onDestroy();\n\n return mergeResults;\n }\n\n /**\n * the values array may include zero to two values and will be processed as following:\n * [] => diff between the current lane and default lane. (only inside workspace).\n * [to] => diff between the current lane (or default-lane when in scope) and \"to\" lane.\n * [from, to] => diff between \"from\" lane and \"to\" lane.\n */\n public getDiff(values: string[], diffOptions: DiffOptions = {}) {\n const laneDiffGenerator = new LaneDiffGenerator(this.workspace, this.scope);\n return laneDiffGenerator.generate(values, diffOptions);\n }\n\n private getLaneDataOfDefaultLane(): LaneData | null {\n const consumer = this.workspace?.consumer;\n if (!consumer) return null;\n const bitIds = consumer.bitMap.getAuthoredAndImportedBitIdsOfDefaultLane();\n return {\n name: DEFAULT_LANE,\n remote: null,\n components: bitIds.map((bitId) => ({ id: bitId, head: bitId.version as string })),\n isMerged: null,\n };\n }\n\n static slots = [];\n static dependencies = [CLIAspect, ScopeAspect, WorkspaceAspect, GraphqlAspect, CommunityAspect, MergingAspect];\n static runtime = MainRuntime;\n static async provider([cli, scope, workspace, graphql, community, merging]: [\n CLIMain,\n ScopeMain,\n Workspace,\n GraphqlMain,\n CommunityMain,\n MergingMain\n ]) {\n const lanesMain = new LanesMain(workspace, scope, merging);\n const isLegacy = workspace && workspace.consumer.isLegacy;\n const switchCmd = new SwitchCmd();\n if (!isLegacy) {\n const laneCmd = new LaneCmd(lanesMain, workspace, scope, community.getDocsDomain());\n laneCmd.commands = [\n new LaneListCmd(lanesMain, workspace, scope),\n switchCmd,\n new LaneShowCmd(lanesMain, workspace, scope),\n new LaneCreateCmd(lanesMain),\n new LaneMergeCmd(lanesMain),\n new LaneRemoveCmd(lanesMain),\n new LaneTrackCmd(lanesMain),\n new LaneDiffCmd(workspace, scope),\n new LaneImportCmd(switchCmd),\n ];\n cli.register(laneCmd, switchCmd);\n graphql.register(lanesSchema(lanesMain));\n }\n return lanesMain;\n }\n}\n\nLanesAspect.addRuntime(LanesMain);\n\nexport default LanesMain;\n"]}
1
+ {"version":3,"sources":["lanes.main.runtime.ts"],"names":["LanesMain","constructor","workspace","scope","merging","getLanes","name","remote","merged","showDefaultLane","notMerged","showMergeData","Boolean","consumer","remoteObj","lanes","listLanes","DEFAULT_LANE","defaultLane","getLaneDataOfDefaultLane","legacyScope","getLanesData","push","getCurrentLane","getCurrentLaneName","createLane","remoteScope","remoteName","BitError","setCurrentLane","trackLaneData","localLane","remoteLane","defaultScope","trackLane","onDestroy","localName","lane","loadLane","LaneId","from","beforeTrackData","getRemoteTrackedDataByLocalLane","beforeTrackDataCloned","undefined","afterTrackData","removeLanes","laneNames","force","results","laneResults","mergeLane","laneName","options","mergeResults","getDiff","values","diffOptions","laneDiffGenerator","LaneDiffGenerator","generate","getLaneComponentModels","laneComponents","components","host","laneComponentIds","Promise","all","map","laneComponent","legacyIdWithVersion","id","changeVersion","head","resolveComponentId","getMany","bitIds","scopeComponents","list","filter","component","_legacy","bitMap","getAuthoredAndImportedBitIdsOfDefaultLane","bitId","version","isMerged","provider","cli","graphql","community","lanesMain","isLegacy","switchCmd","SwitchCmd","laneCmd","LaneCmd","getDocsDomain","commands","LaneListCmd","LaneShowCmd","LaneCreateCmd","LaneMergeCmd","LaneRemoveCmd","LaneTrackCmd","LaneDiffCmd","LaneImportCmd","register","CLIAspect","ScopeAspect","WorkspaceAspect","GraphqlAspect","CommunityAspect","MergingAspect","MainRuntime","LanesAspect","addRuntime"],"mappings":"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","sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { ScopeMain, ScopeAspect } from '@teambit/scope';\nimport { GraphqlAspect, GraphqlMain } from '@teambit/graphql';\nimport { Workspace, WorkspaceAspect } from '@teambit/workspace';\nimport getRemoteByName from '@teambit/legacy/dist/remotes/get-remote-by-name';\nimport { LaneDiffCmd, LaneDiffGenerator } from '@teambit/lanes.modules.diff';\nimport { LaneData } from '@teambit/legacy/dist/scope/lanes/lanes';\nimport LaneId from '@teambit/legacy/dist/lane-id/lane-id';\nimport { BitError } from '@teambit/bit-error';\nimport createNewLane from '@teambit/legacy/dist/consumer/lanes/create-lane';\nimport { DEFAULT_LANE } from '@teambit/legacy/dist/constants';\nimport { DiffOptions } from '@teambit/legacy/dist/consumer/component-ops/components-diff';\nimport { MergeStrategy, ApplyVersionResults } from '@teambit/legacy/dist/consumer/versions-ops/merge-version';\nimport { TrackLane } from '@teambit/legacy/dist/scope/scope-json';\nimport { CommunityAspect } from '@teambit/community';\nimport type { CommunityMain } from '@teambit/community';\nimport { Component } from '@teambit/component';\nimport removeLanes from '@teambit/legacy/dist/consumer/lanes/remove-lanes';\nimport { BitId } from '@teambit/legacy-bit-id';\nimport { MergingMain, MergingAspect } from '@teambit/merging';\nimport { LanesAspect } from './lanes.aspect';\nimport {\n LaneCmd,\n LaneCreateCmd,\n LaneImportCmd,\n LaneListCmd,\n LaneMergeCmd,\n LaneRemoveCmd,\n LaneShowCmd,\n LaneTrackCmd,\n} from './lane.cmd';\nimport { lanesSchema } from './lanes.graphql';\nimport { SwitchCmd } from './switch.cmd';\nimport { mergeLanes } from './merge-lanes';\n\nexport type LaneResults = {\n lanes: LaneData[];\n currentLane?: string | null;\n};\n\nexport type MergeLaneOptions = {\n remoteName: string | null;\n mergeStrategy: MergeStrategy;\n noSnap: boolean;\n snapMessage: string;\n existingOnWorkspaceOnly: boolean;\n build: boolean;\n};\n\nexport type CreateLaneOptions = {\n remoteScope?: string; // default to the defaultScope in workspace.jsonc\n remoteName?: string; // default to the local lane\n};\n\nexport class LanesMain {\n constructor(private workspace: Workspace | undefined, private scope: ScopeMain, private merging: MergingMain) {}\n\n async getLanes({\n name,\n remote,\n merged,\n showDefaultLane,\n notMerged,\n }: {\n name?: string;\n remote?: string;\n merged?: boolean;\n showDefaultLane?: boolean;\n notMerged?: boolean;\n }): Promise<LaneData[]> {\n const showMergeData = Boolean(merged || notMerged);\n const consumer = this.workspace?.consumer;\n if (remote) {\n const remoteObj = await getRemoteByName(remote, consumer);\n const lanes = await remoteObj.listLanes(name, showMergeData);\n return lanes;\n }\n\n if (name === DEFAULT_LANE) {\n const defaultLane = await this.getLaneDataOfDefaultLane();\n return defaultLane ? [defaultLane] : [];\n }\n\n const lanes = await this.scope.legacyScope.lanes.getLanesData(this.scope.legacyScope, name, showMergeData);\n\n if (showDefaultLane) {\n const defaultLane = await this.getLaneDataOfDefaultLane();\n if (defaultLane) lanes.push(defaultLane);\n }\n\n return lanes;\n }\n\n getCurrentLane(): string | null {\n if (!this.workspace?.consumer) return null;\n return this.scope.legacyScope.lanes.getCurrentLaneName();\n }\n\n async createLane(name: string, { remoteScope, remoteName }: CreateLaneOptions = {}): Promise<TrackLane> {\n if (!this.workspace) {\n throw new BitError(`unable to create a lane outside of Bit workspace`);\n }\n await createNewLane(this.workspace.consumer, name);\n this.scope.legacyScope.lanes.setCurrentLane(name);\n const trackLaneData = {\n localLane: name,\n remoteLane: remoteName || name,\n remoteScope: remoteScope || this.workspace.defaultScope,\n };\n this.scope.legacyScope.lanes.trackLane(trackLaneData);\n await this.workspace.consumer.onDestroy();\n\n return trackLaneData;\n }\n\n async trackLane(\n localName: string,\n remoteScope: string,\n remoteName?: string\n ): Promise<{ beforeTrackData?: TrackLane; afterTrackData: TrackLane }> {\n if (!this.workspace) {\n throw new BitError(`unable to track a lane outside of Bit workspace`);\n }\n const lane = await this.scope.legacyScope.lanes.loadLane(LaneId.from(localName));\n if (!lane) {\n throw new BitError(`unable to find a local lane \"${localName}\"`);\n }\n const beforeTrackData = this.scope.legacyScope.lanes.getRemoteTrackedDataByLocalLane(localName);\n const beforeTrackDataCloned = beforeTrackData ? { ...beforeTrackData } : undefined;\n const afterTrackData = {\n localLane: localName,\n remoteLane: remoteName || beforeTrackData?.remoteLane || localName,\n remoteScope,\n };\n this.scope.legacyScope.lanes.trackLane(afterTrackData);\n await this.workspace.consumer.onDestroy();\n\n return { beforeTrackData: beforeTrackDataCloned, afterTrackData };\n }\n\n async removeLanes(laneNames: string[], { remote, force }: { remote: boolean; force: boolean }): Promise<string[]> {\n const results = await removeLanes(this.workspace?.consumer, laneNames, remote, force);\n if (this.workspace) await this.workspace.consumer.onDestroy();\n\n return results.laneResults;\n }\n\n async mergeLane(laneName: string, options: MergeLaneOptions): Promise<ApplyVersionResults> {\n if (!this.workspace) {\n throw new BitError(`unable to merge a lane outside of Bit workspace`);\n }\n const mergeResults = await mergeLanes({\n merging: this.merging,\n consumer: this.workspace.consumer,\n laneName,\n ...options,\n });\n await this.workspace.consumer.onDestroy();\n\n return mergeResults;\n }\n\n /**\n * the values array may include zero to two values and will be processed as following:\n * [] => diff between the current lane and default lane. (only inside workspace).\n * [to] => diff between the current lane (or default-lane when in scope) and \"to\" lane.\n * [from, to] => diff between \"from\" lane and \"to\" lane.\n */\n public getDiff(values: string[], diffOptions: DiffOptions = {}) {\n const laneDiffGenerator = new LaneDiffGenerator(this.workspace, this.scope);\n return laneDiffGenerator.generate(values, diffOptions);\n }\n\n async getLaneComponentModels(name: string): Promise<Component[]> {\n if (!name) return [];\n\n const [lane] = await this.getLanes({ name });\n const laneComponents = lane.components;\n const host = this.workspace || this.scope;\n const laneComponentIds = await Promise.all(\n laneComponents.map((laneComponent) => {\n const legacyIdWithVersion = laneComponent.id.changeVersion(laneComponent.head);\n return host.resolveComponentId(legacyIdWithVersion);\n })\n );\n const components = await host.getMany(laneComponentIds);\n return components;\n }\n\n private async getLaneDataOfDefaultLane(): Promise<LaneData | null> {\n const consumer = this.workspace?.consumer;\n let bitIds: BitId[] = [];\n if (!consumer) {\n const scopeComponents = await this.scope.list();\n bitIds = scopeComponents.filter((component) => component.head).map((component) => component.id._legacy);\n } else {\n bitIds = consumer.bitMap.getAuthoredAndImportedBitIdsOfDefaultLane();\n }\n\n return {\n name: DEFAULT_LANE,\n remote: null,\n components: bitIds.map((bitId) => ({ id: bitId, head: bitId.version as string })),\n isMerged: null,\n };\n }\n\n static slots = [];\n static dependencies = [CLIAspect, ScopeAspect, WorkspaceAspect, GraphqlAspect, CommunityAspect, MergingAspect];\n static runtime = MainRuntime;\n static async provider([cli, scope, workspace, graphql, community, merging]: [\n CLIMain,\n ScopeMain,\n Workspace,\n GraphqlMain,\n CommunityMain,\n MergingMain\n ]) {\n const lanesMain = new LanesMain(workspace, scope, merging);\n const isLegacy = workspace && workspace.consumer.isLegacy;\n const switchCmd = new SwitchCmd();\n if (!isLegacy) {\n const laneCmd = new LaneCmd(lanesMain, workspace, scope, community.getDocsDomain());\n laneCmd.commands = [\n new LaneListCmd(lanesMain, workspace, scope),\n switchCmd,\n new LaneShowCmd(lanesMain, workspace, scope),\n new LaneCreateCmd(lanesMain),\n new LaneMergeCmd(lanesMain),\n new LaneRemoveCmd(lanesMain),\n new LaneTrackCmd(lanesMain),\n new LaneDiffCmd(workspace, scope),\n new LaneImportCmd(switchCmd),\n ];\n cli.register(laneCmd, switchCmd);\n graphql.register(lanesSchema(lanesMain));\n }\n return lanesMain;\n }\n}\n\nLanesAspect.addRuntime(LanesMain);\n\nexport default LanesMain;\n"]}
@@ -156,7 +156,6 @@ class LanesUI {
156
156
  path: _lanesUi().LanesModel.laneRouteUrlRegex,
157
157
  children: /*#__PURE__*/_react().default.createElement(_lanesUi().LanesOverviewMenu, {
158
158
  navigationSlot: this.navSlot,
159
- host: this.host,
160
159
  widgetSlot: this.menuWidgetSlot
161
160
  })
162
161
  }]);
@@ -1 +1 @@
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 host={lanesUi.lanesHost} />);\n return lanesUi;\n }\n}\n\nexport default LanesUI;\n\nLanesAspect.addRuntime(LanesUI);\n"]}
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} 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 host={lanesUi.lanesHost} />);\n return lanesUi;\n }\n}\n\nexport default LanesUI;\n\nLanesAspect.addRuntime(LanesUI);\n"]}
@@ -73,7 +73,7 @@ export class LanesUI {
73
73
  },
74
74
  {
75
75
  path: LanesModel.laneRouteUrlRegex,
76
- children: <LanesOverviewMenu navigationSlot={this.navSlot} host={this.host} widgetSlot={this.menuWidgetSlot} />,
76
+ children: <LanesOverviewMenu navigationSlot={this.navSlot} widgetSlot={this.menuWidgetSlot} />,
77
77
  },
78
78
  ]);
79
79
  }
package/package.json CHANGED
@@ -1,41 +1,43 @@
1
1
  {
2
2
  "name": "@teambit/lanes",
3
- "version": "0.0.273",
3
+ "version": "0.0.274",
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.273"
9
+ "version": "0.0.274"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "2.4.2",
13
13
  "yn": "2.0.0",
14
14
  "@teambit/harmony": "0.2.11",
15
15
  "graphql-tag": "2.12.1",
16
+ "lodash": "4.17.21",
16
17
  "react-router-dom": "5.2.0",
17
18
  "ramda": "0.27.1",
18
19
  "@babel/runtime": "7.12.18",
19
20
  "core-js": "^3.0.0",
20
21
  "@teambit/bit-error": "0.0.394",
21
- "@teambit/cli": "0.0.465",
22
- "@teambit/merging": "0.0.16",
23
- "@teambit/scope": "0.0.701",
24
- "@teambit/workspace": "0.0.701",
25
- "@teambit/graphql": "0.0.701",
26
- "@teambit/community": "0.0.13",
22
+ "@teambit/cli": "0.0.466",
23
+ "@teambit/merging": "0.0.17",
24
+ "@teambit/scope": "0.0.702",
25
+ "@teambit/workspace": "0.0.702",
26
+ "@teambit/graphql": "0.0.702",
27
+ "@teambit/community": "0.0.14",
28
+ "@teambit/component": "0.0.702",
27
29
  "@teambit/lanes.modules.diff": "0.0.107",
28
- "@teambit/component": "0.0.701",
29
- "@teambit/lanes.ui.lanes": "0.0.31",
30
- "@teambit/react-router": "0.0.701",
31
- "@teambit/sidebar": "0.0.701",
30
+ "@teambit/legacy-bit-id": "0.0.399",
31
+ "@teambit/lanes.ui.lanes": "0.0.32",
32
+ "@teambit/react-router": "0.0.702",
33
+ "@teambit/sidebar": "0.0.702",
32
34
  "@teambit/ui-foundation.ui.menu": "0.0.486",
33
35
  "@teambit/ui-foundation.ui.react-router.slot-router": "0.0.488",
34
- "@teambit/ui": "0.0.701",
35
- "@teambit/legacy-bit-id": "0.0.399"
36
+ "@teambit/ui": "0.0.702"
36
37
  },
37
38
  "devDependencies": {
38
39
  "@types/react": "^17.0.8",
40
+ "@types/lodash": "4.14.165",
39
41
  "@types/react-router-dom": "5.1.7",
40
42
  "@types/mocha": "9.1.0",
41
43
  "@types/testing-library__jest-dom": "5.9.5",
@@ -47,7 +49,7 @@
47
49
  "@teambit/workspace.testing.mock-workspace": "0.0.4"
48
50
  },
49
51
  "peerDependencies": {
50
- "@teambit/legacy": "1.0.243",
52
+ "@teambit/legacy": "1.0.244",
51
53
  "react-dom": "^16.8.0 || ^17.0.0",
52
54
  "react": "^16.8.0 || ^17.0.0"
53
55
  },
@@ -75,7 +77,7 @@
75
77
  "react": "-"
76
78
  },
77
79
  "peerDependencies": {
78
- "@teambit/legacy": "1.0.243",
80
+ "@teambit/legacy": "1.0.244",
79
81
  "react-dom": "^16.8.0 || ^17.0.0",
80
82
  "react": "^16.8.0 || ^17.0.0"
81
83
  }
@@ -1,2 +1,2 @@
1
- export const compositions = [require('/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.lanes_lanes@0.0.273/dist/lanes.composition.js')]
2
- export const overview = [require('/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.lanes_lanes@0.0.273/dist/lanes.docs.mdx')]
1
+ export const compositions = [require('/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.lanes_lanes@0.0.274/dist/lanes.composition.js')]
2
+ export const overview = [require('/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.lanes_lanes@0.0.274/dist/lanes.docs.mdx')]
package/tsconfig.json CHANGED
@@ -10,22 +10,23 @@
10
10
  "target": "es2015",
11
11
  "module": "commonjs",
12
12
  "jsx": "react",
13
+ "allowJs": true,
14
+ "composite": true,
13
15
  "declaration": true,
14
16
  "sourceMap": true,
15
17
  "skipLibCheck": true,
18
+ "outDir": "dist",
16
19
  "moduleResolution": "node",
17
20
  "esModuleInterop": true,
21
+ "rootDir": ".",
18
22
  "resolveJsonModule": true,
19
- "composite": true,
20
23
  "emitDeclarationOnly": true,
21
- "outDir": "dist",
22
24
  "experimentalDecorators": true,
23
25
  "emitDecoratorMetadata": true,
24
26
  "allowSyntheticDefaultImports": true,
25
27
  "strictPropertyInitialization": false,
26
28
  "strict": true,
27
29
  "noImplicitAny": false,
28
- "rootDir": ".",
29
30
  "preserveConstEnums": true
30
31
  },
31
32
  "exclude": [