@teambit/lanes 0.0.686 → 0.0.687
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/create-lane.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lane.cmd.js.map +1 -1
- package/dist/lanes.aspect.js.map +1 -1
- package/dist/lanes.composition.js.map +1 -1
- package/dist/lanes.create.route.js.map +1 -1
- package/dist/lanes.delete.route.js.map +1 -1
- package/dist/lanes.graphql.js.map +1 -1
- package/dist/lanes.main.runtime.js.map +1 -1
- package/dist/lanes.restore.route.js.map +1 -1
- package/dist/lanes.spec.js.map +1 -1
- package/dist/lanes.ui.runtime.js.map +1 -1
- package/dist/{preview-1690168610397.js → preview-1690254961496.js} +2 -2
- package/dist/switch-lanes.js +1 -1
- package/dist/switch-lanes.js.map +1 -1
- package/dist/switch.cmd.js.map +1 -1
- package/package-tar/teambit-lanes-0.0.687.tgz +0 -0
- package/package.json +19 -19
- package/package-tar/teambit-lanes-0.0.686.tgz +0 -0
package/dist/create-lane.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["MAX_LANE_NAME_LENGTH","createLane","workspace","laneName","scopeName","remoteLane","consumer","lanes","scope","listLanes","find","lane","name","BitError","bitCloudUser","getBitCloudUser","throwForInvalidLaneName","throwForStagedComponents","getDataToPopulateLaneObjectIfNeeded","components","currentLaneObject","getCurrentLaneObject","laneComponents","workspaceIds","bitMap","getAllBitIds","laneComponentWithBitmapHead","Promise","all","map","id","head","compId","resolveComponentId","changeVersion","toString","isRemoved","isComponentRemoved","bitmapHead","searchWithoutVersion","isHash","version","Ref","from","compact","forkedFrom","getLaneOrigin","newLane","Lane","hash","log","create","dataToPopulate","setLaneComponents","saveLane","createLaneInScope","legacyScope","currentLaneId","laneId","undefined","isLaneExported","currentLane","isValidLaneName","componentList","ComponentsList","stagedComponents","listExportPendingComponentsIds","length","join","val","test"],"sources":["create-lane.ts"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\nimport { LaneId } from '@teambit/lane-id';\nimport { Consumer } from '@teambit/legacy/dist/consumer';\nimport { ScopeMain } from '@teambit/scope';\n// import { BitIds } from '@teambit/legacy/dist/bit-id';\nimport Lane, { LaneComponent } from '@teambit/legacy/dist/scope/models/lane';\nimport { isHash } from '@teambit/component-version';\nimport { getBitCloudUser } from '@teambit/snapping';\nimport ComponentsList from '@teambit/legacy/dist/consumer/component/components-list';\nimport { Ref } from '@teambit/legacy/dist/scope/objects';\nimport { Workspace } from '@teambit/workspace';\nimport { compact } from 'lodash';\n\nconst MAX_LANE_NAME_LENGTH = 800;\n\nexport async function createLane(\n workspace: Workspace,\n laneName: string,\n scopeName: string,\n remoteLane?: Lane\n): Promise<Lane> {\n const consumer = workspace.consumer;\n const lanes = await consumer.scope.listLanes();\n if (lanes.find((lane) => lane.name === laneName)) {\n throw new BitError(`lane \"${laneName}\" already exists, to switch to this lane, please use \"bit switch\" command`);\n }\n const bitCloudUser = await getBitCloudUser();\n throwForInvalidLaneName(laneName);\n await throwForStagedComponents(consumer);\n const getDataToPopulateLaneObjectIfNeeded = async (): Promise<LaneComponent[]> => {\n if (remoteLane) return remoteLane.components;\n // when branching from one lane to another, copy components from the origin lane\n // when branching from main, no need to copy anything\n const currentLaneObject = await consumer.getCurrentLaneObject();\n if (!currentLaneObject) return [];\n const laneComponents = currentLaneObject.components;\n const workspaceIds = consumer.bitMap.getAllBitIds();\n const laneComponentWithBitmapHead = await Promise.all(\n laneComponents.map(async ({ id, head }) => {\n const compId = await workspace.resolveComponentId(id.changeVersion(head.toString()));\n const isRemoved = await workspace.scope.isComponentRemoved(compId);\n if (isRemoved) return null;\n const bitmapHead = workspaceIds.searchWithoutVersion(id);\n if (bitmapHead && isHash(bitmapHead.version)) {\n return { id, head: Ref.from(bitmapHead.version as string) };\n }\n return { id, head };\n })\n );\n return compact(laneComponentWithBitmapHead);\n };\n\n const forkedFrom = await getLaneOrigin(consumer);\n const newLane = remoteLane\n ? Lane.from({\n name: laneName,\n hash: remoteLane.hash().toString(),\n log: remoteLane.log,\n scope: remoteLane.scope,\n forkedFrom,\n })\n : Lane.create(laneName, scopeName, forkedFrom, bitCloudUser);\n const dataToPopulate = await getDataToPopulateLaneObjectIfNeeded();\n newLane.setLaneComponents(dataToPopulate);\n\n await consumer.scope.lanes.saveLane(newLane);\n\n return newLane;\n}\n\nexport async function createLaneInScope(laneName: string, scope: ScopeMain): Promise<Lane> {\n const lanes = await scope.legacyScope.listLanes();\n if (lanes.find((lane) => lane.name === laneName)) {\n throw new BitError(`lane \"${laneName}\" already exists`);\n }\n throwForInvalidLaneName(laneName);\n const newLane = Lane.create(laneName, scope.name);\n await scope.legacyScope.lanes.saveLane(newLane);\n return newLane;\n}\n\nasync function getLaneOrigin(consumer: Consumer): Promise<LaneId | undefined> {\n const currentLaneId = consumer.bitMap.laneId;\n if (!currentLaneId) return undefined;\n if (consumer.bitMap.isLaneExported) {\n return currentLaneId;\n }\n // current lane is new.\n const currentLane = await consumer.getCurrentLaneObject();\n return currentLane?.forkedFrom;\n}\n\nexport function throwForInvalidLaneName(laneName: string) {\n if (!isValidLaneName(laneName)) {\n throw new BitError(\n `lane \"${laneName}\" has invalid characters. lane name can only contain alphanumeric, lowercase characters, and the following [\"-\", \"_\", \"$\", \"!\"]`\n );\n }\n}\n\nexport async function throwForStagedComponents(consumer: Consumer) {\n const componentList = new ComponentsList(consumer);\n const stagedComponents = await componentList.listExportPendingComponentsIds();\n if (stagedComponents.length) {\n throw new BitError(\n `unable to switch/create a new lane, please export or reset the following components first: ${stagedComponents.join(\n ', '\n )}`\n );\n }\n}\n\nfunction isValidLaneName(val: unknown): boolean {\n if (typeof val !== 'string') return false;\n if (val.length > MAX_LANE_NAME_LENGTH) return false;\n // @todo: should we allow slash? if so, we should probably replace the lane-delimiter with something else. (maybe \":\")\n return /^[$\\-_!a-z0-9]+$/.test(val);\n}\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["_bitError","data","require","_lane","_interopRequireDefault","_componentVersion","_snapping","_componentsList","_objects","_lodash","MAX_LANE_NAME_LENGTH","createLane","workspace","laneName","scopeName","remoteLane","consumer","lanes","scope","listLanes","find","lane","name","BitError","bitCloudUser","getBitCloudUser","throwForInvalidLaneName","throwForStagedComponents","getDataToPopulateLaneObjectIfNeeded","components","currentLaneObject","getCurrentLaneObject","laneComponents","workspaceIds","bitMap","getAllBitIds","laneComponentWithBitmapHead","Promise","all","map","id","head","compId","resolveComponentId","changeVersion","toString","isRemoved","isComponentRemoved","bitmapHead","searchWithoutVersion","isHash","version","Ref","from","compact","forkedFrom","getLaneOrigin","newLane","Lane","hash","log","create","dataToPopulate","setLaneComponents","saveLane","createLaneInScope","legacyScope","currentLaneId","laneId","undefined","isLaneExported","currentLane","isValidLaneName","componentList","ComponentsList","stagedComponents","listExportPendingComponentsIds","length","join","val","test"],"sources":["create-lane.ts"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\nimport { LaneId } from '@teambit/lane-id';\nimport { Consumer } from '@teambit/legacy/dist/consumer';\nimport { ScopeMain } from '@teambit/scope';\n// import { BitIds } from '@teambit/legacy/dist/bit-id';\nimport Lane, { LaneComponent } from '@teambit/legacy/dist/scope/models/lane';\nimport { isHash } from '@teambit/component-version';\nimport { getBitCloudUser } from '@teambit/snapping';\nimport ComponentsList from '@teambit/legacy/dist/consumer/component/components-list';\nimport { Ref } from '@teambit/legacy/dist/scope/objects';\nimport { Workspace } from '@teambit/workspace';\nimport { compact } from 'lodash';\n\nconst MAX_LANE_NAME_LENGTH = 800;\n\nexport async function createLane(\n workspace: Workspace,\n laneName: string,\n scopeName: string,\n remoteLane?: Lane\n): Promise<Lane> {\n const consumer = workspace.consumer;\n const lanes = await consumer.scope.listLanes();\n if (lanes.find((lane) => lane.name === laneName)) {\n throw new BitError(`lane \"${laneName}\" already exists, to switch to this lane, please use \"bit switch\" command`);\n }\n const bitCloudUser = await getBitCloudUser();\n throwForInvalidLaneName(laneName);\n await throwForStagedComponents(consumer);\n const getDataToPopulateLaneObjectIfNeeded = async (): Promise<LaneComponent[]> => {\n if (remoteLane) return remoteLane.components;\n // when branching from one lane to another, copy components from the origin lane\n // when branching from main, no need to copy anything\n const currentLaneObject = await consumer.getCurrentLaneObject();\n if (!currentLaneObject) return [];\n const laneComponents = currentLaneObject.components;\n const workspaceIds = consumer.bitMap.getAllBitIds();\n const laneComponentWithBitmapHead = await Promise.all(\n laneComponents.map(async ({ id, head }) => {\n const compId = await workspace.resolveComponentId(id.changeVersion(head.toString()));\n const isRemoved = await workspace.scope.isComponentRemoved(compId);\n if (isRemoved) return null;\n const bitmapHead = workspaceIds.searchWithoutVersion(id);\n if (bitmapHead && isHash(bitmapHead.version)) {\n return { id, head: Ref.from(bitmapHead.version as string) };\n }\n return { id, head };\n })\n );\n return compact(laneComponentWithBitmapHead);\n };\n\n const forkedFrom = await getLaneOrigin(consumer);\n const newLane = remoteLane\n ? Lane.from({\n name: laneName,\n hash: remoteLane.hash().toString(),\n log: remoteLane.log,\n scope: remoteLane.scope,\n forkedFrom,\n })\n : Lane.create(laneName, scopeName, forkedFrom, bitCloudUser);\n const dataToPopulate = await getDataToPopulateLaneObjectIfNeeded();\n newLane.setLaneComponents(dataToPopulate);\n\n await consumer.scope.lanes.saveLane(newLane);\n\n return newLane;\n}\n\nexport async function createLaneInScope(laneName: string, scope: ScopeMain): Promise<Lane> {\n const lanes = await scope.legacyScope.listLanes();\n if (lanes.find((lane) => lane.name === laneName)) {\n throw new BitError(`lane \"${laneName}\" already exists`);\n }\n throwForInvalidLaneName(laneName);\n const newLane = Lane.create(laneName, scope.name);\n await scope.legacyScope.lanes.saveLane(newLane);\n return newLane;\n}\n\nasync function getLaneOrigin(consumer: Consumer): Promise<LaneId | undefined> {\n const currentLaneId = consumer.bitMap.laneId;\n if (!currentLaneId) return undefined;\n if (consumer.bitMap.isLaneExported) {\n return currentLaneId;\n }\n // current lane is new.\n const currentLane = await consumer.getCurrentLaneObject();\n return currentLane?.forkedFrom;\n}\n\nexport function throwForInvalidLaneName(laneName: string) {\n if (!isValidLaneName(laneName)) {\n throw new BitError(\n `lane \"${laneName}\" has invalid characters. lane name can only contain alphanumeric, lowercase characters, and the following [\"-\", \"_\", \"$\", \"!\"]`\n );\n }\n}\n\nexport async function throwForStagedComponents(consumer: Consumer) {\n const componentList = new ComponentsList(consumer);\n const stagedComponents = await componentList.listExportPendingComponentsIds();\n if (stagedComponents.length) {\n throw new BitError(\n `unable to switch/create a new lane, please export or reset the following components first: ${stagedComponents.join(\n ', '\n )}`\n );\n }\n}\n\nfunction isValidLaneName(val: unknown): boolean {\n if (typeof val !== 'string') return false;\n if (val.length > MAX_LANE_NAME_LENGTH) return false;\n // @todo: should we allow slash? if so, we should probably replace the lane-delimiter with something else. (maybe \":\")\n return /^[$\\-_!a-z0-9]+$/.test(val);\n}\n"],"mappings":";;;;;;;;;;;;AAAA,SAAAA,UAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,SAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAKA,SAAAE,MAAA;EAAA,MAAAF,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAC,KAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,kBAAA;EAAA,MAAAJ,IAAA,GAAAC,OAAA;EAAAG,iBAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,UAAA;EAAA,MAAAL,IAAA,GAAAC,OAAA;EAAAI,SAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAM,gBAAA;EAAA,MAAAN,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAK,eAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAO,SAAA;EAAA,MAAAP,IAAA,GAAAC,OAAA;EAAAM,QAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAQ,QAAA;EAAA,MAAAR,IAAA,GAAAC,OAAA;EAAAO,OAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAPA;;AASA,MAAMS,oBAAoB,GAAG,GAAG;AAEzB,eAAeC,UAAUA,CAC9BC,SAAoB,EACpBC,QAAgB,EAChBC,SAAiB,EACjBC,UAAiB,EACF;EACf,MAAMC,QAAQ,GAAGJ,SAAS,CAACI,QAAQ;EACnC,MAAMC,KAAK,GAAG,MAAMD,QAAQ,CAACE,KAAK,CAACC,SAAS,CAAC,CAAC;EAC9C,IAAIF,KAAK,CAACG,IAAI,CAAEC,IAAI,IAAKA,IAAI,CAACC,IAAI,KAAKT,QAAQ,CAAC,EAAE;IAChD,MAAM,KAAIU,oBAAQ,EAAE,SAAQV,QAAS,2EAA0E,CAAC;EAClH;EACA,MAAMW,YAAY,GAAG,MAAM,IAAAC,2BAAe,EAAC,CAAC;EAC5CC,uBAAuB,CAACb,QAAQ,CAAC;EACjC,MAAMc,wBAAwB,CAACX,QAAQ,CAAC;EACxC,MAAMY,mCAAmC,GAAG,MAAAA,CAAA,KAAsC;IAChF,IAAIb,UAAU,EAAE,OAAOA,UAAU,CAACc,UAAU;IAC5C;IACA;IACA,MAAMC,iBAAiB,GAAG,MAAMd,QAAQ,CAACe,oBAAoB,CAAC,CAAC;IAC/D,IAAI,CAACD,iBAAiB,EAAE,OAAO,EAAE;IACjC,MAAME,cAAc,GAAGF,iBAAiB,CAACD,UAAU;IACnD,MAAMI,YAAY,GAAGjB,QAAQ,CAACkB,MAAM,CAACC,YAAY,CAAC,CAAC;IACnD,MAAMC,2BAA2B,GAAG,MAAMC,OAAO,CAACC,GAAG,CACnDN,cAAc,CAACO,GAAG,CAAC,OAAO;MAAEC,EAAE;MAAEC;IAAK,CAAC,KAAK;MACzC,MAAMC,MAAM,GAAG,MAAM9B,SAAS,CAAC+B,kBAAkB,CAACH,EAAE,CAACI,aAAa,CAACH,IAAI,CAACI,QAAQ,CAAC,CAAC,CAAC,CAAC;MACpF,MAAMC,SAAS,GAAG,MAAMlC,SAAS,CAACM,KAAK,CAAC6B,kBAAkB,CAACL,MAAM,CAAC;MAClE,IAAII,SAAS,EAAE,OAAO,IAAI;MAC1B,MAAME,UAAU,GAAGf,YAAY,CAACgB,oBAAoB,CAACT,EAAE,CAAC;MACxD,IAAIQ,UAAU,IAAI,IAAAE,0BAAM,EAACF,UAAU,CAACG,OAAO,CAAC,EAAE;QAC5C,OAAO;UAAEX,EAAE;UAAEC,IAAI,EAAEW,cAAG,CAACC,IAAI,CAACL,UAAU,CAACG,OAAiB;QAAE,CAAC;MAC7D;MACA,OAAO;QAAEX,EAAE;QAAEC;MAAK,CAAC;IACrB,CAAC,CACH,CAAC;IACD,OAAO,IAAAa,iBAAO,EAAClB,2BAA2B,CAAC;EAC7C,CAAC;EAED,MAAMmB,UAAU,GAAG,MAAMC,aAAa,CAACxC,QAAQ,CAAC;EAChD,MAAMyC,OAAO,GAAG1C,UAAU,GACtB2C,eAAI,CAACL,IAAI,CAAC;IACR/B,IAAI,EAAET,QAAQ;IACd8C,IAAI,EAAE5C,UAAU,CAAC4C,IAAI,CAAC,CAAC,CAACd,QAAQ,CAAC,CAAC;IAClCe,GAAG,EAAE7C,UAAU,CAAC6C,GAAG;IACnB1C,KAAK,EAAEH,UAAU,CAACG,KAAK;IACvBqC;EACF,CAAC,CAAC,GACFG,eAAI,CAACG,MAAM,CAAChD,QAAQ,EAAEC,SAAS,EAAEyC,UAAU,EAAE/B,YAAY,CAAC;EAC9D,MAAMsC,cAAc,GAAG,MAAMlC,mCAAmC,CAAC,CAAC;EAClE6B,OAAO,CAACM,iBAAiB,CAACD,cAAc,CAAC;EAEzC,MAAM9C,QAAQ,CAACE,KAAK,CAACD,KAAK,CAAC+C,QAAQ,CAACP,OAAO,CAAC;EAE5C,OAAOA,OAAO;AAChB;AAEO,eAAeQ,iBAAiBA,CAACpD,QAAgB,EAAEK,KAAgB,EAAiB;EACzF,MAAMD,KAAK,GAAG,MAAMC,KAAK,CAACgD,WAAW,CAAC/C,SAAS,CAAC,CAAC;EACjD,IAAIF,KAAK,CAACG,IAAI,CAAEC,IAAI,IAAKA,IAAI,CAACC,IAAI,KAAKT,QAAQ,CAAC,EAAE;IAChD,MAAM,KAAIU,oBAAQ,EAAE,SAAQV,QAAS,kBAAiB,CAAC;EACzD;EACAa,uBAAuB,CAACb,QAAQ,CAAC;EACjC,MAAM4C,OAAO,GAAGC,eAAI,CAACG,MAAM,CAAChD,QAAQ,EAAEK,KAAK,CAACI,IAAI,CAAC;EACjD,MAAMJ,KAAK,CAACgD,WAAW,CAACjD,KAAK,CAAC+C,QAAQ,CAACP,OAAO,CAAC;EAC/C,OAAOA,OAAO;AAChB;AAEA,eAAeD,aAAaA,CAACxC,QAAkB,EAA+B;EAC5E,MAAMmD,aAAa,GAAGnD,QAAQ,CAACkB,MAAM,CAACkC,MAAM;EAC5C,IAAI,CAACD,aAAa,EAAE,OAAOE,SAAS;EACpC,IAAIrD,QAAQ,CAACkB,MAAM,CAACoC,cAAc,EAAE;IAClC,OAAOH,aAAa;EACtB;EACA;EACA,MAAMI,WAAW,GAAG,MAAMvD,QAAQ,CAACe,oBAAoB,CAAC,CAAC;EACzD,OAAOwC,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEhB,UAAU;AAChC;AAEO,SAAS7B,uBAAuBA,CAACb,QAAgB,EAAE;EACxD,IAAI,CAAC2D,eAAe,CAAC3D,QAAQ,CAAC,EAAE;IAC9B,MAAM,KAAIU,oBAAQ,EACf,SAAQV,QAAS,iIACpB,CAAC;EACH;AACF;AAEO,eAAec,wBAAwBA,CAACX,QAAkB,EAAE;EACjE,MAAMyD,aAAa,GAAG,KAAIC,yBAAc,EAAC1D,QAAQ,CAAC;EAClD,MAAM2D,gBAAgB,GAAG,MAAMF,aAAa,CAACG,8BAA8B,CAAC,CAAC;EAC7E,IAAID,gBAAgB,CAACE,MAAM,EAAE;IAC3B,MAAM,KAAItD,oBAAQ,EACf,8FAA6FoD,gBAAgB,CAACG,IAAI,CACjH,IACF,CAAE,EACJ,CAAC;EACH;AACF;AAEA,SAASN,eAAeA,CAACO,GAAY,EAAW;EAC9C,IAAI,OAAOA,GAAG,KAAK,QAAQ,EAAE,OAAO,KAAK;EACzC,IAAIA,GAAG,CAACF,MAAM,GAAGnE,oBAAoB,EAAE,OAAO,KAAK;EACnD;EACA,OAAO,kBAAkB,CAACsE,IAAI,CAACD,GAAG,CAAC;AACrC"}
|
package/dist/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["LanesAspect"],"sources":["index.ts"],"sourcesContent":["import { LanesAspect } from './lanes.aspect';\n\nexport type { LanesMain, Lane } from './lanes.main.runtime';\nexport { LanesModel, LanesQuery } from '@teambit/lanes.ui.models.lanes-model';\nexport type { LanesUI, LaneCompareProps, LaneProviderIgnoreSlot } from './lanes.ui.runtime';\nexport default LanesAspect;\nexport { LanesAspect };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA;EAAA;
|
1
|
+
{"version":3,"names":["_lanes","data","require","_lanesUiModels","_default","LanesAspect","exports","default"],"sources":["index.ts"],"sourcesContent":["import { LanesAspect } from './lanes.aspect';\n\nexport type { LanesMain, Lane } from './lanes.main.runtime';\nexport { LanesModel, LanesQuery } from '@teambit/lanes.ui.models.lanes-model';\nexport type { LanesUI, LaneCompareProps, LaneProviderIgnoreSlot } from './lanes.ui.runtime';\nexport default LanesAspect;\nexport { LanesAspect };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAE,eAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,cAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA8E,IAAAG,QAAA,GAE/DC,oBAAW;AAAAC,OAAA,CAAAC,OAAA,GAAAH,QAAA"}
|
package/dist/lane.cmd.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["LaneListCmd","constructor","lanes","workspace","scope","report","args","laneOptions","details","remote","merged","notMerged","laneIdStr","laneId","alias","isDefault","name","toString","getLanes","showDefaultLane","mergedLanes","filter","l","isMerged","length","chalk","green","map","m","join","unmergedLanes","currentLane","getCurrentLaneId","getDefaultLaneId","laneDataOfCurrentLane","find","isEqual","id","undefined","currentAlias","currentLaneReadmeComponentStr","outputReadmeComponent","readmeComponent","currentLaneStr","currentLaneComponents","outputComponents","components","availableLanes","laneData","readmeComponentStr","laneTitle","bold","concat","outputFooter","footer","outputCurrentLane","outputAvailableLanes","json","getCurrentLaneNameOrAlias","LaneShowCmd","getCurrentLaneName","DEFAULT_LANE","Error","parseLaneId","onlyLane","title","author","log","username","email","date","Date","parseInt","toLocaleString","LaneCreateCmd","description","createLaneOptions","getCurrentLane","remoteScope","result","createLane","remoteScopeOrDefaultScope","yellow","remoteScopeOutput","LaneAliasCmd","laneName","aliasLane","LaneChangeScopeCmd","localName","remoteScopeBefore","changeScope","LaneRenameCmd","currentName","newName","exported","exportErr","rename","exportedStr","message","LaneRemoveCmd","names","force","silent","removePromptResult","approveOperation","yn","shouldProceed","BitError","laneResults","removeLanes","LaneRemoveCompCmd","COMPONENT_PATTERN_HELP","componentsPattern","removeCompsOpts","updateMain","OutsideWorkspaceError","isOnMain","removedFromWs","markedRemoved","removeComps","getMarkedRemovedStr","getRemovedFromWsStr","LaneImportCmd","switchCmd","lane","skipDependencyInstallation","pattern","getAll","LaneCmd","LaneRemoveReadmeCmd","removeLaneReadme","red","LaneAddReadmeCmd","componentId","addLaneReadme","componentsTitle","componentsStr","c","head","component"],"sources":["lane.cmd.ts"],"sourcesContent":["// eslint-disable-next-line max-classes-per-file\nimport chalk from 'chalk';\nimport yn from 'yn';\nimport { ScopeMain } from '@teambit/scope';\nimport { DEFAULT_LANE, LaneId } from '@teambit/lane-id';\nimport { OutsideWorkspaceError, Workspace } from '@teambit/workspace';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { LaneData } from '@teambit/legacy/dist/scope/lanes/lanes';\nimport { BitError } from '@teambit/bit-error';\nimport { approveOperation } from '@teambit/legacy/dist/prompts';\nimport { COMPONENT_PATTERN_HELP } from '@teambit/legacy/dist/constants';\nimport { CreateLaneOptions, LanesMain } from './lanes.main.runtime';\nimport { SwitchCmd } from './switch.cmd';\n\ntype LaneOptions = {\n details?: boolean;\n remote?: string;\n merged?: boolean;\n notMerged?: boolean;\n json?: boolean;\n};\n\nexport class LaneListCmd implements Command {\n name = 'list';\n description = `list lanes`;\n alias = '';\n options = [\n ['d', 'details', 'show more details on the state of each component in each lane'],\n ['j', 'json', 'show lanes details in a json format'],\n ['r', 'remote <remote-scope-name>', 'show remote lanes'],\n ['', 'merged', 'show merged lanes'],\n ['', 'not-merged', 'show lanes that are not merged'],\n ] as CommandOptions;\n loader = true;\n migration = true;\n remoteOp = true;\n skipWorkspace = true;\n\n constructor(private lanes: LanesMain, private workspace: Workspace, private scope: ScopeMain) {}\n\n async report(args, laneOptions: LaneOptions): Promise<string> {\n const { details, remote, merged, notMerged } = laneOptions;\n const laneIdStr = (laneId: LaneId, alias?: string | null) => {\n if (laneId.isDefault()) return laneId.name;\n if (alias) return `${laneId.toString()} (${alias})`;\n return laneId.toString();\n };\n const lanes = await this.lanes.getLanes({\n remote,\n merged,\n notMerged,\n showDefaultLane: true,\n });\n if (merged) {\n const mergedLanes = lanes.filter((l) => l.isMerged);\n if (!mergedLanes.length) return chalk.green('None of the lanes is merged');\n return chalk.green(mergedLanes.map((m) => m.name).join('\\n'));\n }\n if (notMerged) {\n const unmergedLanes = lanes.filter((l) => !l.isMerged);\n if (!unmergedLanes.length) return chalk.green('All lanes are merged');\n return chalk.green(unmergedLanes.map((m) => m.name).join('\\n'));\n }\n const currentLane = this.lanes.getCurrentLaneId() || this.lanes.getDefaultLaneId();\n const laneDataOfCurrentLane = currentLane ? lanes.find((l) => currentLane.isEqual(l.id)) : undefined;\n const currentAlias = laneDataOfCurrentLane ? laneDataOfCurrentLane.alias : undefined;\n const currentLaneReadmeComponentStr = outputReadmeComponent(laneDataOfCurrentLane?.readmeComponent);\n let currentLaneStr = `current lane - ${chalk.green.green(laneIdStr(currentLane, currentAlias))}`;\n currentLaneStr += currentLaneReadmeComponentStr;\n\n if (details) {\n const currentLaneComponents = laneDataOfCurrentLane ? outputComponents(laneDataOfCurrentLane.components) : '';\n if (currentLaneStr) {\n currentLaneStr += `\\n${currentLaneComponents}`;\n }\n }\n\n const availableLanes = lanes\n .filter((l) => !currentLane.isEqual(l.id))\n .map((laneData) => {\n const readmeComponentStr = outputReadmeComponent(laneData.readmeComponent);\n if (details) {\n const laneTitle = `> ${chalk.bold(laneIdStr(laneData.id, laneData.alias))}\\n`;\n const components = outputComponents(laneData.components);\n return laneTitle + readmeComponentStr.concat('\\n') + components;\n }\n return ` > ${chalk.green(laneIdStr(laneData.id, laneData.alias))} (${\n laneData.components.length\n } components)${readmeComponentStr}`;\n })\n .join('\\n');\n\n const outputFooter = () => {\n let footer = '\\n';\n if (details) {\n footer += 'You can use --merged and --not-merged to see which of the lanes is fully merged.';\n } else {\n footer +=\n \"to get more info on all lanes in workspace use 'bit lane list --details' or 'bit lane show <lane-name>' for a specific lane.\";\n }\n if (!remote && this.workspace) footer += `\\nswitch lanes using 'bit switch <name>'.`;\n\n return footer;\n };\n\n return outputCurrentLane() + outputAvailableLanes() + outputFooter();\n\n function outputCurrentLane() {\n return currentLaneStr ? `${currentLaneStr}\\n` : '';\n }\n\n function outputAvailableLanes() {\n if (!availableLanes) return '';\n return remote ? `${availableLanes}\\n` : `\\nAvailable lanes:\\n${availableLanes}\\n`;\n }\n }\n async json(args, laneOptions: LaneOptions) {\n const { remote, merged = false, notMerged = false } = laneOptions;\n\n const lanes = await this.lanes.getLanes({\n remote,\n showDefaultLane: true,\n merged,\n notMerged,\n });\n const currentLane = this.lanes.getCurrentLaneNameOrAlias();\n return { lanes, currentLane };\n }\n}\n\nexport class LaneShowCmd implements Command {\n name = 'show [lane-name]';\n description = `show lane details. if no lane specified, show the current lane`;\n alias = '';\n options = [\n ['j', 'json', 'show the lane details in json format'],\n ['r', 'remote', 'show the lane from remote'],\n ] as CommandOptions;\n loader = true;\n migration = true;\n remoteOp = true;\n skipWorkspace = true;\n\n constructor(private lanes: LanesMain, private workspace: Workspace, private scope: ScopeMain) {}\n\n async report([name]: [string], laneOptions: LaneOptions): Promise<string> {\n const { remote } = laneOptions;\n\n if (!name) {\n name = this.lanes.getCurrentLaneName() || DEFAULT_LANE;\n }\n\n if (!name && remote) {\n throw new Error('remote flag is not supported without lane name');\n }\n\n const laneId = await this.lanes.parseLaneId(name);\n\n const lanes = await this.lanes.getLanes({\n name: laneId.name,\n remote: remote ? laneId.scope : undefined,\n });\n\n const onlyLane = lanes[0];\n const title = `showing information for ${chalk.bold(onlyLane.id.toString())}\\n`;\n const author = `author: ${onlyLane.log?.username || 'N/A'} <${onlyLane.log?.email || 'N/A'}>\\n`;\n const date = onlyLane.log?.date\n ? `created: ${new Date(parseInt(onlyLane.log.date)).toLocaleString()}\\n`\n : undefined;\n return title + author + date + outputComponents(onlyLane.components);\n }\n\n async json([name]: [string], laneOptions: LaneOptions) {\n const { remote } = laneOptions;\n\n const lanes = await this.lanes.getLanes({\n name,\n remote,\n });\n\n return lanes[0];\n }\n}\n\nexport class LaneCreateCmd implements Command {\n name = 'create <lane-name>';\n arguments = [\n {\n name: 'lane-name',\n description: 'the name for the new lane',\n },\n ];\n description = `creates a new lane and switches to it`;\n extendedDescription = `a lane created from main (default-lane) is empty until components are snapped.\na lane created from another lane has all the components of the original lane.`;\n alias = '';\n options = [\n [\n 's',\n 'scope <scope-name>',\n 'remote scope where this lane will be exported to, default to the defaultScope (can be changed later with \"bit lane change-scope\")',\n ],\n ['', 'remote-scope <scope-name>', 'DEPRECATED. use --scope'],\n [\n '',\n 'alias <name>',\n 'a local alias to refer to this lane, defaults to the `<lane-name>` (can be added later with \"bit lane alias\")',\n ],\n ['', 'fork-lane-new-scope', 'allow forking a lane into a different scope than the original lane'],\n ] as CommandOptions;\n loader = true;\n migration = true;\n\n constructor(private lanes: LanesMain) {}\n\n async report([name]: [string], createLaneOptions: CreateLaneOptions & { remoteScope?: string }): Promise<string> {\n const currentLane = await this.lanes.getCurrentLane();\n if (createLaneOptions.remoteScope) createLaneOptions.scope = createLaneOptions.remoteScope;\n const result = await this.lanes.createLane(name, createLaneOptions);\n const remoteScopeOrDefaultScope = createLaneOptions.scope\n ? `the remote scope ${chalk.bold(createLaneOptions.scope)}`\n : `the default-scope ${chalk.bold(\n result.laneId.scope\n )}. to change it, please run \"bit lane change-scope\" command`;\n const title = chalk.green(\n `successfully added and checked out to a new lane ${chalk.bold(result.alias || result.laneId.name)}\n ${currentLane !== null ? chalk.yellow(`\\nnote - your new lane will be based on lane ${currentLane.name}`) : ''}\n `\n );\n const remoteScopeOutput = `this lane will be exported to ${remoteScopeOrDefaultScope}`;\n return `${title}\\n${remoteScopeOutput}`;\n }\n}\n\nexport class LaneAliasCmd implements Command {\n name = 'alias <lane-name> <alias>';\n description = 'adds an alias to a lane';\n extendedDescription = `an alias is a name that can be used to refer to a lane. it is saved locally and never reach the remote.\nit is useful when having multiple lanes with the same name, but with different remote scopes.`;\n alias = '';\n options = [] as CommandOptions;\n loader = true;\n migration = true;\n\n constructor(private lanes: LanesMain) {}\n\n async report([laneName, alias]: [string, string, string]): Promise<string> {\n const { laneId } = await this.lanes.aliasLane(laneName, alias);\n return `successfully added the alias ${chalk.bold(alias)} to the lane ${chalk.bold(laneId.toString())}`;\n }\n}\n\nexport class LaneChangeScopeCmd implements Command {\n name = 'change-scope <lane-name> <remote-scope-name>';\n description = `changes the remote scope of a lane`;\n alias = '';\n options = [] as CommandOptions;\n loader = true;\n migration = true;\n\n constructor(private lanes: LanesMain) {}\n\n async report([localName, remoteScope]: [string, string]): Promise<string> {\n const { remoteScopeBefore } = await this.lanes.changeScope(localName, remoteScope);\n return `the remote-scope of ${chalk.bold(localName)} has been changed from ${chalk.bold(\n remoteScopeBefore\n )} to ${chalk.bold(remoteScope)}`;\n }\n}\n\nexport class LaneRenameCmd implements Command {\n name = 'rename <current-name> <new-name>';\n description = `EXPERIMENTAL. change the lane-name locally and on the remote (if exported)`;\n alias = '';\n options = [] as CommandOptions;\n loader = true;\n migration = true;\n constructor(private lanes: LanesMain) {}\n\n async report([currentName, newName]: [string, string]): Promise<string> {\n const { exported, exportErr } = await this.lanes.rename(currentName, newName);\n const exportedStr = exported\n ? `and have been exported successfully to the remote`\n : `however if failed to export the renamed lane to the remote, due to an error: ${\n exportErr?.message || 'unknown'\n }`;\n return `the lane ${chalk.bold(currentName)} has been changed to ${chalk.bold(newName)}, ${exportedStr}`;\n }\n}\n\nexport class LaneRemoveCmd implements Command {\n name = 'remove <lanes...>';\n arguments = [{ name: 'lanes...', description: 'A list of lane names, separated by spaces' }];\n description = `remove lanes`;\n group = 'collaborate';\n alias = '';\n options = [\n ['r', 'remote', 'remove a remote lane (in the lane arg, use remote/lane-id syntax)'],\n ['f', 'force', 'removes the lane even when the lane was not merged yet'],\n ['s', 'silent', 'skip confirmation'],\n ] as CommandOptions;\n loader = true;\n migration = true;\n\n constructor(private lanes: LanesMain) {}\n\n async report(\n [names]: [string[]],\n {\n remote = false,\n force = false,\n silent = false,\n }: {\n remote: boolean;\n force: boolean;\n silent: boolean;\n }\n ): Promise<string> {\n if (!silent) {\n const removePromptResult = await approveOperation();\n // @ts-ignore\n if (!yn(removePromptResult.shouldProceed)) {\n throw new BitError('the operation has been canceled');\n }\n }\n const laneResults = await this.lanes.removeLanes(names, { remote, force });\n return chalk.green(`successfully removed the following lane(s): ${chalk.bold(laneResults.join(', '))}`);\n }\n}\n\nexport type RemoveCompsOpts = { workspaceOnly?: boolean; updateMain?: boolean };\n\nexport class LaneRemoveCompCmd implements Command {\n name = 'remove-comp <component-pattern>';\n arguments = [\n {\n name: 'component-pattern',\n description: COMPONENT_PATTERN_HELP,\n },\n ];\n description = `remove components when on a lane`;\n extendedDescription = `in case the components are part of the lane and the lane is exported, it marks the components as removed,\nand then after snap+export, the remote-lane gets updated as well. upon lane-merge, these components are skipped.\n\nin case the components are not part of the lane or the lane is new, it simply removes the components from the workspace`;\n group = 'collaborate';\n alias = 'rc';\n options = [\n ['', 'workspace-only', 'do not mark the components as removed. instead, remove them from the workspace only'],\n ['', 'update-main', 'NOT IMPLEMENTED YET. mark as removed on main after merging this lane into main'],\n ] as CommandOptions;\n loader = true;\n migration = true;\n\n constructor(private workspace: Workspace, private lanes: LanesMain) {}\n\n async report([componentsPattern]: [string], removeCompsOpts: RemoveCompsOpts): Promise<string> {\n if (removeCompsOpts.updateMain) throw new Error('not implemented yet');\n if (!this.workspace) throw new OutsideWorkspaceError();\n if (this.workspace.isOnMain()) {\n throw new Error(`error: you're checked out to main, please use \"bit remove\" instead`);\n }\n const { removedFromWs, markedRemoved } = await this.lanes.removeComps(componentsPattern, removeCompsOpts);\n const getMarkedRemovedStr = () => {\n if (!markedRemoved.length) return '';\n return `${chalk.green('successfully marked the following components as removed:')}\n${markedRemoved.join('\\n')}\n\n${chalk.bold('to update the remote, please snap and then export. to revert, please use \"bit recover\"')}\n`;\n };\n const getRemovedFromWsStr = () => {\n if (!removedFromWs.length) return '';\n return `\\n${chalk.green('successfully removed the following components from the workspace:')}\n(either: these components were not part of the lane, so there was no need to mark them as removed or --workspace-only was used)\n${removedFromWs.join('\\n')}`;\n };\n return getMarkedRemovedStr() + getRemovedFromWsStr();\n }\n}\n\nexport class LaneImportCmd implements Command {\n name = 'import <lane>';\n description = `import a remote lane to your workspace`;\n arguments = [{ name: 'lane', description: 'the remote lane name' }];\n alias = '';\n options = [\n ['x', 'skip-dependency-installation', 'do not install packages of the imported components'],\n [\n 'p',\n 'pattern <component-pattern>',\n 'switch only the specified component-pattern. works only when the workspace is empty',\n ],\n ] as CommandOptions;\n loader = true;\n migration = true;\n\n constructor(private switchCmd: SwitchCmd) {}\n\n async report(\n [lane]: [string],\n { skipDependencyInstallation = false, pattern }: { skipDependencyInstallation: boolean; pattern?: string }\n ): Promise<string> {\n return this.switchCmd.report([lane], { getAll: true, skipDependencyInstallation, pattern });\n }\n}\n\nexport class LaneCmd implements Command {\n name = 'lane [lane-name]';\n description = 'manage lanes';\n alias = 'l';\n options = [\n ['d', 'details', 'show more details on the state of each component in each lane'],\n ['j', 'json', 'show lanes details in json format'],\n ['r', 'remote <string>', 'show remote lanes'],\n ['', 'merged', 'show merged lanes'],\n ['', 'not-merged', 'show not merged lanes'],\n ] as CommandOptions;\n loader = true;\n migration = true;\n group = 'collaborate';\n remoteOp = true;\n skipWorkspace = true;\n helpUrl = 'docs/components/lanes';\n commands: Command[] = [];\n\n constructor(private lanes: LanesMain, private workspace: Workspace, private scope: ScopeMain) {}\n\n async report([name]: [string], laneOptions: LaneOptions): Promise<string> {\n return new LaneListCmd(this.lanes, this.workspace, this.scope).report([name], laneOptions);\n }\n}\n\nexport class LaneRemoveReadmeCmd implements Command {\n name = 'remove-readme [laneName]';\n description = 'EXPERIMENTAL. remove lane readme component';\n options = [] as CommandOptions;\n loader = true;\n skipWorkspace = false;\n\n constructor(private lanes: LanesMain) {}\n\n async report([laneName]: [string]): Promise<string> {\n const { result, message } = await this.lanes.removeLaneReadme(laneName);\n\n if (result) {\n return chalk.green(\n `the readme component has been successfully removed from the lane ${\n laneName || this.lanes.getCurrentLaneName()\n }`\n );\n }\n\n return chalk.red(`${message}\\n`);\n }\n}\n\nexport class LaneAddReadmeCmd implements Command {\n name = 'add-readme <component-name> [lane-name]';\n description = 'EXPERIMENTAL. adds a readme component to a lane';\n arguments = [\n { name: 'component-id', description: \"the component name or id of the component to use as the lane's readme\" },\n { name: 'lane-name', description: 'the lane to attach the readme to (defaults to the current lane)' },\n ];\n options = [] as CommandOptions;\n loader = true;\n skipWorkspace = false;\n\n constructor(private lanes: LanesMain) {}\n\n async report([componentId, laneName]: [string, string]): Promise<string> {\n const { result, message } = await this.lanes.addLaneReadme(componentId, laneName);\n\n if (result)\n return chalk.green(\n `the component ${componentId} has been successfully added as the readme component for the lane ${\n laneName || this.lanes.getCurrentLaneName()\n }`\n );\n\n return chalk.red(\n `${message || ''}\\nthe component ${componentId} could not be added as a readme component for the lane ${\n laneName || this.lanes.getCurrentLaneName()\n }`\n );\n }\n}\n\nfunction outputComponents(components: LaneData['components']): string {\n const componentsTitle = `\\t${chalk.bold(`components (${components.length})`)}\\n`;\n const componentsStr = components.map((c) => `\\t ${c.id.toString()} - ${c.head}`).join('\\n');\n return componentsTitle + componentsStr;\n}\n\nfunction outputReadmeComponent(component: LaneData['readmeComponent']): string {\n if (!component) return '';\n return `\\n\\t${`${chalk.yellow('readme component')}\\n\\t ${component.id} - ${\n component.head ||\n `(unsnapped)\\n\\t(\"use bit snap ${component.id.name}\" to snap the readme component on the lane before exporting)`\n }`}\\n`;\n}\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["_chalk","data","_interopRequireDefault","require","_yn","_laneId","_workspace","_bitError","_prompts","_constants","LaneListCmd","constructor","lanes","workspace","scope","_defineProperty2","default","report","args","laneOptions","details","remote","merged","notMerged","laneIdStr","laneId","alias","isDefault","name","toString","getLanes","showDefaultLane","mergedLanes","filter","l","isMerged","length","chalk","green","map","m","join","unmergedLanes","currentLane","getCurrentLaneId","getDefaultLaneId","laneDataOfCurrentLane","find","isEqual","id","undefined","currentAlias","currentLaneReadmeComponentStr","outputReadmeComponent","readmeComponent","currentLaneStr","currentLaneComponents","outputComponents","components","availableLanes","laneData","readmeComponentStr","laneTitle","bold","concat","outputFooter","footer","outputCurrentLane","outputAvailableLanes","json","getCurrentLaneNameOrAlias","exports","LaneShowCmd","_onlyLane$log","_onlyLane$log2","_onlyLane$log3","getCurrentLaneName","DEFAULT_LANE","Error","parseLaneId","onlyLane","title","author","log","username","email","date","Date","parseInt","toLocaleString","LaneCreateCmd","description","createLaneOptions","getCurrentLane","remoteScope","result","createLane","remoteScopeOrDefaultScope","yellow","remoteScopeOutput","LaneAliasCmd","laneName","aliasLane","LaneChangeScopeCmd","localName","remoteScopeBefore","changeScope","LaneRenameCmd","currentName","newName","exported","exportErr","rename","exportedStr","message","LaneRemoveCmd","names","force","silent","removePromptResult","approveOperation","yn","shouldProceed","BitError","laneResults","removeLanes","LaneRemoveCompCmd","COMPONENT_PATTERN_HELP","componentsPattern","removeCompsOpts","updateMain","OutsideWorkspaceError","isOnMain","removedFromWs","markedRemoved","removeComps","getMarkedRemovedStr","getRemovedFromWsStr","LaneImportCmd","switchCmd","lane","skipDependencyInstallation","pattern","getAll","LaneCmd","LaneRemoveReadmeCmd","removeLaneReadme","red","LaneAddReadmeCmd","componentId","addLaneReadme","componentsTitle","componentsStr","c","head","component"],"sources":["lane.cmd.ts"],"sourcesContent":["// eslint-disable-next-line max-classes-per-file\nimport chalk from 'chalk';\nimport yn from 'yn';\nimport { ScopeMain } from '@teambit/scope';\nimport { DEFAULT_LANE, LaneId } from '@teambit/lane-id';\nimport { OutsideWorkspaceError, Workspace } from '@teambit/workspace';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { LaneData } from '@teambit/legacy/dist/scope/lanes/lanes';\nimport { BitError } from '@teambit/bit-error';\nimport { approveOperation } from '@teambit/legacy/dist/prompts';\nimport { COMPONENT_PATTERN_HELP } from '@teambit/legacy/dist/constants';\nimport { CreateLaneOptions, LanesMain } from './lanes.main.runtime';\nimport { SwitchCmd } from './switch.cmd';\n\ntype LaneOptions = {\n details?: boolean;\n remote?: string;\n merged?: boolean;\n notMerged?: boolean;\n json?: boolean;\n};\n\nexport class LaneListCmd implements Command {\n name = 'list';\n description = `list lanes`;\n alias = '';\n options = [\n ['d', 'details', 'show more details on the state of each component in each lane'],\n ['j', 'json', 'show lanes details in a json format'],\n ['r', 'remote <remote-scope-name>', 'show remote lanes'],\n ['', 'merged', 'show merged lanes'],\n ['', 'not-merged', 'show lanes that are not merged'],\n ] as CommandOptions;\n loader = true;\n migration = true;\n remoteOp = true;\n skipWorkspace = true;\n\n constructor(private lanes: LanesMain, private workspace: Workspace, private scope: ScopeMain) {}\n\n async report(args, laneOptions: LaneOptions): Promise<string> {\n const { details, remote, merged, notMerged } = laneOptions;\n const laneIdStr = (laneId: LaneId, alias?: string | null) => {\n if (laneId.isDefault()) return laneId.name;\n if (alias) return `${laneId.toString()} (${alias})`;\n return laneId.toString();\n };\n const lanes = await this.lanes.getLanes({\n remote,\n merged,\n notMerged,\n showDefaultLane: true,\n });\n if (merged) {\n const mergedLanes = lanes.filter((l) => l.isMerged);\n if (!mergedLanes.length) return chalk.green('None of the lanes is merged');\n return chalk.green(mergedLanes.map((m) => m.name).join('\\n'));\n }\n if (notMerged) {\n const unmergedLanes = lanes.filter((l) => !l.isMerged);\n if (!unmergedLanes.length) return chalk.green('All lanes are merged');\n return chalk.green(unmergedLanes.map((m) => m.name).join('\\n'));\n }\n const currentLane = this.lanes.getCurrentLaneId() || this.lanes.getDefaultLaneId();\n const laneDataOfCurrentLane = currentLane ? lanes.find((l) => currentLane.isEqual(l.id)) : undefined;\n const currentAlias = laneDataOfCurrentLane ? laneDataOfCurrentLane.alias : undefined;\n const currentLaneReadmeComponentStr = outputReadmeComponent(laneDataOfCurrentLane?.readmeComponent);\n let currentLaneStr = `current lane - ${chalk.green.green(laneIdStr(currentLane, currentAlias))}`;\n currentLaneStr += currentLaneReadmeComponentStr;\n\n if (details) {\n const currentLaneComponents = laneDataOfCurrentLane ? outputComponents(laneDataOfCurrentLane.components) : '';\n if (currentLaneStr) {\n currentLaneStr += `\\n${currentLaneComponents}`;\n }\n }\n\n const availableLanes = lanes\n .filter((l) => !currentLane.isEqual(l.id))\n .map((laneData) => {\n const readmeComponentStr = outputReadmeComponent(laneData.readmeComponent);\n if (details) {\n const laneTitle = `> ${chalk.bold(laneIdStr(laneData.id, laneData.alias))}\\n`;\n const components = outputComponents(laneData.components);\n return laneTitle + readmeComponentStr.concat('\\n') + components;\n }\n return ` > ${chalk.green(laneIdStr(laneData.id, laneData.alias))} (${\n laneData.components.length\n } components)${readmeComponentStr}`;\n })\n .join('\\n');\n\n const outputFooter = () => {\n let footer = '\\n';\n if (details) {\n footer += 'You can use --merged and --not-merged to see which of the lanes is fully merged.';\n } else {\n footer +=\n \"to get more info on all lanes in workspace use 'bit lane list --details' or 'bit lane show <lane-name>' for a specific lane.\";\n }\n if (!remote && this.workspace) footer += `\\nswitch lanes using 'bit switch <name>'.`;\n\n return footer;\n };\n\n return outputCurrentLane() + outputAvailableLanes() + outputFooter();\n\n function outputCurrentLane() {\n return currentLaneStr ? `${currentLaneStr}\\n` : '';\n }\n\n function outputAvailableLanes() {\n if (!availableLanes) return '';\n return remote ? `${availableLanes}\\n` : `\\nAvailable lanes:\\n${availableLanes}\\n`;\n }\n }\n async json(args, laneOptions: LaneOptions) {\n const { remote, merged = false, notMerged = false } = laneOptions;\n\n const lanes = await this.lanes.getLanes({\n remote,\n showDefaultLane: true,\n merged,\n notMerged,\n });\n const currentLane = this.lanes.getCurrentLaneNameOrAlias();\n return { lanes, currentLane };\n }\n}\n\nexport class LaneShowCmd implements Command {\n name = 'show [lane-name]';\n description = `show lane details. if no lane specified, show the current lane`;\n alias = '';\n options = [\n ['j', 'json', 'show the lane details in json format'],\n ['r', 'remote', 'show the lane from remote'],\n ] as CommandOptions;\n loader = true;\n migration = true;\n remoteOp = true;\n skipWorkspace = true;\n\n constructor(private lanes: LanesMain, private workspace: Workspace, private scope: ScopeMain) {}\n\n async report([name]: [string], laneOptions: LaneOptions): Promise<string> {\n const { remote } = laneOptions;\n\n if (!name) {\n name = this.lanes.getCurrentLaneName() || DEFAULT_LANE;\n }\n\n if (!name && remote) {\n throw new Error('remote flag is not supported without lane name');\n }\n\n const laneId = await this.lanes.parseLaneId(name);\n\n const lanes = await this.lanes.getLanes({\n name: laneId.name,\n remote: remote ? laneId.scope : undefined,\n });\n\n const onlyLane = lanes[0];\n const title = `showing information for ${chalk.bold(onlyLane.id.toString())}\\n`;\n const author = `author: ${onlyLane.log?.username || 'N/A'} <${onlyLane.log?.email || 'N/A'}>\\n`;\n const date = onlyLane.log?.date\n ? `created: ${new Date(parseInt(onlyLane.log.date)).toLocaleString()}\\n`\n : undefined;\n return title + author + date + outputComponents(onlyLane.components);\n }\n\n async json([name]: [string], laneOptions: LaneOptions) {\n const { remote } = laneOptions;\n\n const lanes = await this.lanes.getLanes({\n name,\n remote,\n });\n\n return lanes[0];\n }\n}\n\nexport class LaneCreateCmd implements Command {\n name = 'create <lane-name>';\n arguments = [\n {\n name: 'lane-name',\n description: 'the name for the new lane',\n },\n ];\n description = `creates a new lane and switches to it`;\n extendedDescription = `a lane created from main (default-lane) is empty until components are snapped.\na lane created from another lane has all the components of the original lane.`;\n alias = '';\n options = [\n [\n 's',\n 'scope <scope-name>',\n 'remote scope where this lane will be exported to, default to the defaultScope (can be changed later with \"bit lane change-scope\")',\n ],\n ['', 'remote-scope <scope-name>', 'DEPRECATED. use --scope'],\n [\n '',\n 'alias <name>',\n 'a local alias to refer to this lane, defaults to the `<lane-name>` (can be added later with \"bit lane alias\")',\n ],\n ['', 'fork-lane-new-scope', 'allow forking a lane into a different scope than the original lane'],\n ] as CommandOptions;\n loader = true;\n migration = true;\n\n constructor(private lanes: LanesMain) {}\n\n async report([name]: [string], createLaneOptions: CreateLaneOptions & { remoteScope?: string }): Promise<string> {\n const currentLane = await this.lanes.getCurrentLane();\n if (createLaneOptions.remoteScope) createLaneOptions.scope = createLaneOptions.remoteScope;\n const result = await this.lanes.createLane(name, createLaneOptions);\n const remoteScopeOrDefaultScope = createLaneOptions.scope\n ? `the remote scope ${chalk.bold(createLaneOptions.scope)}`\n : `the default-scope ${chalk.bold(\n result.laneId.scope\n )}. to change it, please run \"bit lane change-scope\" command`;\n const title = chalk.green(\n `successfully added and checked out to a new lane ${chalk.bold(result.alias || result.laneId.name)}\n ${currentLane !== null ? chalk.yellow(`\\nnote - your new lane will be based on lane ${currentLane.name}`) : ''}\n `\n );\n const remoteScopeOutput = `this lane will be exported to ${remoteScopeOrDefaultScope}`;\n return `${title}\\n${remoteScopeOutput}`;\n }\n}\n\nexport class LaneAliasCmd implements Command {\n name = 'alias <lane-name> <alias>';\n description = 'adds an alias to a lane';\n extendedDescription = `an alias is a name that can be used to refer to a lane. it is saved locally and never reach the remote.\nit is useful when having multiple lanes with the same name, but with different remote scopes.`;\n alias = '';\n options = [] as CommandOptions;\n loader = true;\n migration = true;\n\n constructor(private lanes: LanesMain) {}\n\n async report([laneName, alias]: [string, string, string]): Promise<string> {\n const { laneId } = await this.lanes.aliasLane(laneName, alias);\n return `successfully added the alias ${chalk.bold(alias)} to the lane ${chalk.bold(laneId.toString())}`;\n }\n}\n\nexport class LaneChangeScopeCmd implements Command {\n name = 'change-scope <lane-name> <remote-scope-name>';\n description = `changes the remote scope of a lane`;\n alias = '';\n options = [] as CommandOptions;\n loader = true;\n migration = true;\n\n constructor(private lanes: LanesMain) {}\n\n async report([localName, remoteScope]: [string, string]): Promise<string> {\n const { remoteScopeBefore } = await this.lanes.changeScope(localName, remoteScope);\n return `the remote-scope of ${chalk.bold(localName)} has been changed from ${chalk.bold(\n remoteScopeBefore\n )} to ${chalk.bold(remoteScope)}`;\n }\n}\n\nexport class LaneRenameCmd implements Command {\n name = 'rename <current-name> <new-name>';\n description = `EXPERIMENTAL. change the lane-name locally and on the remote (if exported)`;\n alias = '';\n options = [] as CommandOptions;\n loader = true;\n migration = true;\n constructor(private lanes: LanesMain) {}\n\n async report([currentName, newName]: [string, string]): Promise<string> {\n const { exported, exportErr } = await this.lanes.rename(currentName, newName);\n const exportedStr = exported\n ? `and have been exported successfully to the remote`\n : `however if failed to export the renamed lane to the remote, due to an error: ${\n exportErr?.message || 'unknown'\n }`;\n return `the lane ${chalk.bold(currentName)} has been changed to ${chalk.bold(newName)}, ${exportedStr}`;\n }\n}\n\nexport class LaneRemoveCmd implements Command {\n name = 'remove <lanes...>';\n arguments = [{ name: 'lanes...', description: 'A list of lane names, separated by spaces' }];\n description = `remove lanes`;\n group = 'collaborate';\n alias = '';\n options = [\n ['r', 'remote', 'remove a remote lane (in the lane arg, use remote/lane-id syntax)'],\n ['f', 'force', 'removes the lane even when the lane was not merged yet'],\n ['s', 'silent', 'skip confirmation'],\n ] as CommandOptions;\n loader = true;\n migration = true;\n\n constructor(private lanes: LanesMain) {}\n\n async report(\n [names]: [string[]],\n {\n remote = false,\n force = false,\n silent = false,\n }: {\n remote: boolean;\n force: boolean;\n silent: boolean;\n }\n ): Promise<string> {\n if (!silent) {\n const removePromptResult = await approveOperation();\n // @ts-ignore\n if (!yn(removePromptResult.shouldProceed)) {\n throw new BitError('the operation has been canceled');\n }\n }\n const laneResults = await this.lanes.removeLanes(names, { remote, force });\n return chalk.green(`successfully removed the following lane(s): ${chalk.bold(laneResults.join(', '))}`);\n }\n}\n\nexport type RemoveCompsOpts = { workspaceOnly?: boolean; updateMain?: boolean };\n\nexport class LaneRemoveCompCmd implements Command {\n name = 'remove-comp <component-pattern>';\n arguments = [\n {\n name: 'component-pattern',\n description: COMPONENT_PATTERN_HELP,\n },\n ];\n description = `remove components when on a lane`;\n extendedDescription = `in case the components are part of the lane and the lane is exported, it marks the components as removed,\nand then after snap+export, the remote-lane gets updated as well. upon lane-merge, these components are skipped.\n\nin case the components are not part of the lane or the lane is new, it simply removes the components from the workspace`;\n group = 'collaborate';\n alias = 'rc';\n options = [\n ['', 'workspace-only', 'do not mark the components as removed. instead, remove them from the workspace only'],\n ['', 'update-main', 'NOT IMPLEMENTED YET. mark as removed on main after merging this lane into main'],\n ] as CommandOptions;\n loader = true;\n migration = true;\n\n constructor(private workspace: Workspace, private lanes: LanesMain) {}\n\n async report([componentsPattern]: [string], removeCompsOpts: RemoveCompsOpts): Promise<string> {\n if (removeCompsOpts.updateMain) throw new Error('not implemented yet');\n if (!this.workspace) throw new OutsideWorkspaceError();\n if (this.workspace.isOnMain()) {\n throw new Error(`error: you're checked out to main, please use \"bit remove\" instead`);\n }\n const { removedFromWs, markedRemoved } = await this.lanes.removeComps(componentsPattern, removeCompsOpts);\n const getMarkedRemovedStr = () => {\n if (!markedRemoved.length) return '';\n return `${chalk.green('successfully marked the following components as removed:')}\n${markedRemoved.join('\\n')}\n\n${chalk.bold('to update the remote, please snap and then export. to revert, please use \"bit recover\"')}\n`;\n };\n const getRemovedFromWsStr = () => {\n if (!removedFromWs.length) return '';\n return `\\n${chalk.green('successfully removed the following components from the workspace:')}\n(either: these components were not part of the lane, so there was no need to mark them as removed or --workspace-only was used)\n${removedFromWs.join('\\n')}`;\n };\n return getMarkedRemovedStr() + getRemovedFromWsStr();\n }\n}\n\nexport class LaneImportCmd implements Command {\n name = 'import <lane>';\n description = `import a remote lane to your workspace`;\n arguments = [{ name: 'lane', description: 'the remote lane name' }];\n alias = '';\n options = [\n ['x', 'skip-dependency-installation', 'do not install packages of the imported components'],\n [\n 'p',\n 'pattern <component-pattern>',\n 'switch only the specified component-pattern. works only when the workspace is empty',\n ],\n ] as CommandOptions;\n loader = true;\n migration = true;\n\n constructor(private switchCmd: SwitchCmd) {}\n\n async report(\n [lane]: [string],\n { skipDependencyInstallation = false, pattern }: { skipDependencyInstallation: boolean; pattern?: string }\n ): Promise<string> {\n return this.switchCmd.report([lane], { getAll: true, skipDependencyInstallation, pattern });\n }\n}\n\nexport class LaneCmd implements Command {\n name = 'lane [lane-name]';\n description = 'manage lanes';\n alias = 'l';\n options = [\n ['d', 'details', 'show more details on the state of each component in each lane'],\n ['j', 'json', 'show lanes details in json format'],\n ['r', 'remote <string>', 'show remote lanes'],\n ['', 'merged', 'show merged lanes'],\n ['', 'not-merged', 'show not merged lanes'],\n ] as CommandOptions;\n loader = true;\n migration = true;\n group = 'collaborate';\n remoteOp = true;\n skipWorkspace = true;\n helpUrl = 'docs/components/lanes';\n commands: Command[] = [];\n\n constructor(private lanes: LanesMain, private workspace: Workspace, private scope: ScopeMain) {}\n\n async report([name]: [string], laneOptions: LaneOptions): Promise<string> {\n return new LaneListCmd(this.lanes, this.workspace, this.scope).report([name], laneOptions);\n }\n}\n\nexport class LaneRemoveReadmeCmd implements Command {\n name = 'remove-readme [laneName]';\n description = 'EXPERIMENTAL. remove lane readme component';\n options = [] as CommandOptions;\n loader = true;\n skipWorkspace = false;\n\n constructor(private lanes: LanesMain) {}\n\n async report([laneName]: [string]): Promise<string> {\n const { result, message } = await this.lanes.removeLaneReadme(laneName);\n\n if (result) {\n return chalk.green(\n `the readme component has been successfully removed from the lane ${\n laneName || this.lanes.getCurrentLaneName()\n }`\n );\n }\n\n return chalk.red(`${message}\\n`);\n }\n}\n\nexport class LaneAddReadmeCmd implements Command {\n name = 'add-readme <component-name> [lane-name]';\n description = 'EXPERIMENTAL. adds a readme component to a lane';\n arguments = [\n { name: 'component-id', description: \"the component name or id of the component to use as the lane's readme\" },\n { name: 'lane-name', description: 'the lane to attach the readme to (defaults to the current lane)' },\n ];\n options = [] as CommandOptions;\n loader = true;\n skipWorkspace = false;\n\n constructor(private lanes: LanesMain) {}\n\n async report([componentId, laneName]: [string, string]): Promise<string> {\n const { result, message } = await this.lanes.addLaneReadme(componentId, laneName);\n\n if (result)\n return chalk.green(\n `the component ${componentId} has been successfully added as the readme component for the lane ${\n laneName || this.lanes.getCurrentLaneName()\n }`\n );\n\n return chalk.red(\n `${message || ''}\\nthe component ${componentId} could not be added as a readme component for the lane ${\n laneName || this.lanes.getCurrentLaneName()\n }`\n );\n }\n}\n\nfunction outputComponents(components: LaneData['components']): string {\n const componentsTitle = `\\t${chalk.bold(`components (${components.length})`)}\\n`;\n const componentsStr = components.map((c) => `\\t ${c.id.toString()} - ${c.head}`).join('\\n');\n return componentsTitle + componentsStr;\n}\n\nfunction outputReadmeComponent(component: LaneData['readmeComponent']): string {\n if (!component) return '';\n return `\\n\\t${`${chalk.yellow('readme component')}\\n\\t ${component.id} - ${\n component.head ||\n `(unsnapped)\\n\\t(\"use bit snap ${component.id.name}\" to snap the readme component on the lane before exporting)`\n }`}\\n`;\n}\n"],"mappings":"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"}
|
package/dist/lanes.aspect.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["LanesAspect","Aspect","create","id"],"sources":["lanes.aspect.ts"],"sourcesContent":["import { Aspect } from '@teambit/harmony';\n\nexport const LanesAspect = Aspect.create({\n id: 'teambit.lanes/lanes',\n});\n\nexport default LanesAspect;\n"],"mappings":";;;;;;AAAA;EAAA;
|
1
|
+
{"version":3,"names":["_harmony","data","require","LanesAspect","Aspect","create","id","exports","_default","default"],"sources":["lanes.aspect.ts"],"sourcesContent":["import { Aspect } from '@teambit/harmony';\n\nexport const LanesAspect = Aspect.create({\n id: 'teambit.lanes/lanes',\n});\n\nexport default LanesAspect;\n"],"mappings":";;;;;;AAAA,SAAAA,SAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,QAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAME,WAAW,GAAGC,iBAAM,CAACC,MAAM,CAAC;EACvCC,EAAE,EAAE;AACN,CAAC,CAAC;AAACC,OAAA,CAAAJ,WAAA,GAAAA,WAAA;AAAA,IAAAK,QAAA,GAEYL,WAAW;AAAAI,OAAA,CAAAE,OAAA,GAAAD,QAAA"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["Logo","height","display","justifyContent","width"],"sources":["lanes.composition.tsx"],"sourcesContent":["import React from 'react';\n\nexport const Logo = () => (\n <div style={{ height: '100%', display: 'flex', justifyContent: 'center' }}>\n <img style={{ width: 70 }} src=\"https://static.bit.dev/extensions-icons/lanes.svg\" />\n </div>\n);\n"],"mappings":";;;;;;;AAAA;EAAA;
|
1
|
+
{"version":3,"names":["_react","data","_interopRequireDefault","require","Logo","default","createElement","style","height","display","justifyContent","width","src","exports"],"sources":["lanes.composition.tsx"],"sourcesContent":["import React from 'react';\n\nexport const Logo = () => (\n <div style={{ height: '100%', display: 'flex', justifyContent: 'center' }}>\n <img style={{ width: 70 }} src=\"https://static.bit.dev/extensions-icons/lanes.svg\" />\n </div>\n);\n"],"mappings":";;;;;;;AAAA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAMG,IAAI,GAAGA,CAAA,kBAClBJ,MAAA,GAAAK,OAAA,CAAAC,aAAA;EAAKC,KAAK,EAAE;IAAEC,MAAM,EAAE,MAAM;IAAEC,OAAO,EAAE,MAAM;IAAEC,cAAc,EAAE;EAAS;AAAE,gBACxEV,MAAA,GAAAK,OAAA,CAAAC,aAAA;EAAKC,KAAK,EAAE;IAAEI,KAAK,EAAE;EAAG,CAAE;EAACC,GAAG,EAAC;AAAmD,CAAE,CACjF,CACN;AAACC,OAAA,CAAAT,IAAA,GAAAA,IAAA"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["LanesCreateRoute","constructor","lanes","logger","createRoutePath","Verb","WRITE","req","res","body","laneName","name","status","send","result","createLane","json","e","error","toString"],"sources":["lanes.create.route.ts"],"sourcesContent":["import { Route, Verb, Request, Response } from '@teambit/express';\nimport { Logger } from '@teambit/logger';\nimport { LanesMain } from './lanes.main.runtime';\n\nexport class LanesCreateRoute implements Route {\n constructor(private lanes: LanesMain, private logger: Logger) {}\n\n method = 'post';\n route = this.lanes.createRoutePath;\n verb = Verb.WRITE;\n\n middlewares = [\n async (req: Request, res: Response) => {\n const { body } = req;\n const laneName = body.name;\n if (!laneName) {\n return res.status(400).send('Missing laneName in body');\n }\n try {\n const result = await this.lanes.createLane(laneName);\n return res.json(result);\n } catch (e: any) {\n this.logger.error(e.toString());\n return res.status(500).send(e.toString());\n }\n },\n ];\n}\n"],"mappings":";;;;;;;;;;;;;;;AAAA;EAAA;
|
1
|
+
{"version":3,"names":["_express","data","require","LanesCreateRoute","constructor","lanes","logger","_defineProperty2","default","createRoutePath","Verb","WRITE","req","res","body","laneName","name","status","send","result","createLane","json","e","error","toString","exports"],"sources":["lanes.create.route.ts"],"sourcesContent":["import { Route, Verb, Request, Response } from '@teambit/express';\nimport { Logger } from '@teambit/logger';\nimport { LanesMain } from './lanes.main.runtime';\n\nexport class LanesCreateRoute implements Route {\n constructor(private lanes: LanesMain, private logger: Logger) {}\n\n method = 'post';\n route = this.lanes.createRoutePath;\n verb = Verb.WRITE;\n\n middlewares = [\n async (req: Request, res: Response) => {\n const { body } = req;\n const laneName = body.name;\n if (!laneName) {\n return res.status(400).send('Missing laneName in body');\n }\n try {\n const result = await this.lanes.createLane(laneName);\n return res.json(result);\n } catch (e: any) {\n this.logger.error(e.toString());\n return res.status(500).send(e.toString());\n }\n },\n ];\n}\n"],"mappings":";;;;;;;;;;;;;;;AAAA,SAAAA,SAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,QAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAIO,MAAME,gBAAgB,CAAkB;EAC7CC,WAAWA,CAASC,KAAgB,EAAUC,MAAc,EAAE;IAAA,KAA1CD,KAAgB,GAAhBA,KAAgB;IAAA,KAAUC,MAAc,GAAdA,MAAc;IAAA,IAAAC,gBAAA,GAAAC,OAAA,kBAEnD,MAAM;IAAA,IAAAD,gBAAA,GAAAC,OAAA,iBACP,IAAI,CAACH,KAAK,CAACI,eAAe;IAAA,IAAAF,gBAAA,GAAAC,OAAA,gBAC3BE,eAAI,CAACC,KAAK;IAAA,IAAAJ,gBAAA,GAAAC,OAAA,uBAEH,CACZ,OAAOI,GAAY,EAAEC,GAAa,KAAK;MACrC,MAAM;QAAEC;MAAK,CAAC,GAAGF,GAAG;MACpB,MAAMG,QAAQ,GAAGD,IAAI,CAACE,IAAI;MAC1B,IAAI,CAACD,QAAQ,EAAE;QACb,OAAOF,GAAG,CAACI,MAAM,CAAC,GAAG,CAAC,CAACC,IAAI,CAAC,0BAA0B,CAAC;MACzD;MACA,IAAI;QACF,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACd,KAAK,CAACe,UAAU,CAACL,QAAQ,CAAC;QACpD,OAAOF,GAAG,CAACQ,IAAI,CAACF,MAAM,CAAC;MACzB,CAAC,CAAC,OAAOG,CAAM,EAAE;QACf,IAAI,CAAChB,MAAM,CAACiB,KAAK,CAACD,CAAC,CAACE,QAAQ,CAAC,CAAC,CAAC;QAC/B,OAAOX,GAAG,CAACI,MAAM,CAAC,GAAG,CAAC,CAACC,IAAI,CAACI,CAAC,CAACE,QAAQ,CAAC,CAAC,CAAC;MAC3C;IACF,CAAC,CACF;EArB8D;AAsBjE;AAACC,OAAA,CAAAtB,gBAAA,GAAAA,gBAAA"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["LanesDeleteRoute","constructor","lanes","logger","deleteRoutePath","Verb","WRITE","req","res","body","laneNames","names","status","send","length","result","removeLanes","json","e","error","toString"],"sources":["lanes.delete.route.ts"],"sourcesContent":["import { Route, Verb, Request, Response } from '@teambit/express';\nimport { Logger } from '@teambit/logger';\nimport { LanesMain } from './lanes.main.runtime';\n\nexport class LanesDeleteRoute implements Route {\n constructor(private lanes: LanesMain, private logger: Logger) {}\n\n method = 'post';\n route = this.lanes.deleteRoutePath;\n verb = Verb.WRITE;\n\n middlewares = [\n async (req: Request, res: Response) => {\n const { body } = req;\n const laneNames = body.names;\n if (!laneNames) {\n return res.status(400).send('Missing laneNames in body');\n }\n if (laneNames.length === 0) {\n return res.status(204).send('No laneNames provided to delete');\n }\n try {\n const result = await this.lanes.removeLanes(laneNames);\n return res.json(result);\n } catch (e: any) {\n this.logger.error(e.toString());\n return res.status(500).send(e.toString());\n }\n },\n ];\n}\n"],"mappings":";;;;;;;;;;;;;;;AAAA;EAAA;
|
1
|
+
{"version":3,"names":["_express","data","require","LanesDeleteRoute","constructor","lanes","logger","_defineProperty2","default","deleteRoutePath","Verb","WRITE","req","res","body","laneNames","names","status","send","length","result","removeLanes","json","e","error","toString","exports"],"sources":["lanes.delete.route.ts"],"sourcesContent":["import { Route, Verb, Request, Response } from '@teambit/express';\nimport { Logger } from '@teambit/logger';\nimport { LanesMain } from './lanes.main.runtime';\n\nexport class LanesDeleteRoute implements Route {\n constructor(private lanes: LanesMain, private logger: Logger) {}\n\n method = 'post';\n route = this.lanes.deleteRoutePath;\n verb = Verb.WRITE;\n\n middlewares = [\n async (req: Request, res: Response) => {\n const { body } = req;\n const laneNames = body.names;\n if (!laneNames) {\n return res.status(400).send('Missing laneNames in body');\n }\n if (laneNames.length === 0) {\n return res.status(204).send('No laneNames provided to delete');\n }\n try {\n const result = await this.lanes.removeLanes(laneNames);\n return res.json(result);\n } catch (e: any) {\n this.logger.error(e.toString());\n return res.status(500).send(e.toString());\n }\n },\n ];\n}\n"],"mappings":";;;;;;;;;;;;;;;AAAA,SAAAA,SAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,QAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAIO,MAAME,gBAAgB,CAAkB;EAC7CC,WAAWA,CAASC,KAAgB,EAAUC,MAAc,EAAE;IAAA,KAA1CD,KAAgB,GAAhBA,KAAgB;IAAA,KAAUC,MAAc,GAAdA,MAAc;IAAA,IAAAC,gBAAA,GAAAC,OAAA,kBAEnD,MAAM;IAAA,IAAAD,gBAAA,GAAAC,OAAA,iBACP,IAAI,CAACH,KAAK,CAACI,eAAe;IAAA,IAAAF,gBAAA,GAAAC,OAAA,gBAC3BE,eAAI,CAACC,KAAK;IAAA,IAAAJ,gBAAA,GAAAC,OAAA,uBAEH,CACZ,OAAOI,GAAY,EAAEC,GAAa,KAAK;MACrC,MAAM;QAAEC;MAAK,CAAC,GAAGF,GAAG;MACpB,MAAMG,SAAS,GAAGD,IAAI,CAACE,KAAK;MAC5B,IAAI,CAACD,SAAS,EAAE;QACd,OAAOF,GAAG,CAACI,MAAM,CAAC,GAAG,CAAC,CAACC,IAAI,CAAC,2BAA2B,CAAC;MAC1D;MACA,IAAIH,SAAS,CAACI,MAAM,KAAK,CAAC,EAAE;QAC1B,OAAON,GAAG,CAACI,MAAM,CAAC,GAAG,CAAC,CAACC,IAAI,CAAC,iCAAiC,CAAC;MAChE;MACA,IAAI;QACF,MAAME,MAAM,GAAG,MAAM,IAAI,CAACf,KAAK,CAACgB,WAAW,CAACN,SAAS,CAAC;QACtD,OAAOF,GAAG,CAACS,IAAI,CAACF,MAAM,CAAC;MACzB,CAAC,CAAC,OAAOG,CAAM,EAAE;QACf,IAAI,CAACjB,MAAM,CAACkB,KAAK,CAACD,CAAC,CAACE,QAAQ,CAAC,CAAC,CAAC;QAC/B,OAAOZ,GAAG,CAACI,MAAM,CAAC,GAAG,CAAC,CAACC,IAAI,CAACK,CAAC,CAACE,QAAQ,CAAC,CAAC,CAAC;MAC3C;IACF,CAAC,CACF;EAxB8D;AAyBjE;AAACC,OAAA,CAAAvB,gBAAA,GAAAA,gBAAA"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["lanesSchema","lanesMainRuntime","typeDefs","gql","resolvers","Lanes","id","list","lanesMain","ids","limit","offset","sort","by","direction","search","lanes","length","getLanes","showDefaultLane","flatten","Promise","all","map","getDefaultLaneId","name","LaneId","parse","fuseOptions","keys","threshold","findAllMatches","location","distance","minMatchCharLength","ignoreLocation","shouldSort","includeScore","fuse","Fuse","result","item","a","b","aDate","log","date","bDate","aId","toString","bId","slice","default","defaultLane","current","currentLaneName","getCurrentLaneName","undefined","currentLane","diff","from","to","options","getDiffResults","getDiff","compsWithDiff","diffStatus","source","target","sourceLaneId","targetLaneId","LaneDiffStatus","LaneComponentDiffStatus","diffCompStatus","componentId","toStringWithoutVersion","sourceHead","targetHead","toObject","Lane","lane","laneComponentIds","componentIds","getLaneComponentIds","components","laneComponents","getLaneComponentModels","readmeComponent","laneReadmeComponent","getLaneReadmeComponent","createdAt","createdBy","username","email","profileImage","displayName","Query"],"sources":["lanes.graphql.ts"],"sourcesContent":["import { Schema } from '@teambit/graphql';\nimport { LaneId } from '@teambit/lane-id';\nimport Fuse from 'fuse.js';\nimport { LaneData } from '@teambit/legacy/dist/scope/lanes/lanes';\nimport gql from 'graphql-tag';\nimport { flatten, slice } from 'lodash';\nimport { LaneComponentDiffStatus, LaneDiffStatus, LaneDiffStatusOptions, 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 SnapDistance {\n onSource: [String!]!\n onTarget: [String!]!\n common: 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 input DiffStatusOptions {\n skipChanges: Boolean\n skipUpToDate: Boolean\n }\n\n type LaneId {\n name: String!\n scope: String!\n }\n\n type LaneComponentDiffStatus {\n \"\"\"\n for apollo caching - component id\n \"\"\"\n id: String!\n sourceHead: String!\n targetHead: String\n componentId: ComponentID!\n changeType: String @deprecated(reason: \"Use changes\")\n \"\"\"\n list of all change types - Source Code, Dependency, Aspects, etc\n \"\"\"\n changes: [String!]\n upToDate: Boolean\n snapsDistance: SnapDistance\n unrelated: Boolean\n }\n\n type LaneDiffStatus {\n \"\"\"\n for apollo caching - source + target\n \"\"\"\n id: String!\n source: LaneId!\n target: LaneId!\n componentsStatus: [LaneComponentDiffStatus!]!\n }\n\n type LaneOwner {\n name: String\n username: String\n displayName: String\n email: String\n profileImage: String\n }\n\n type Lane {\n id: LaneId!\n hash: String\n laneComponentIds: [ComponentID!]!\n components(offset: Int, limit: Int): [Component!]!\n readmeComponent: Component\n createdBy: LaneOwner\n createdAt: String\n updatedBy: LaneOwner\n updatedAt: String\n }\n\n input LaneSort {\n by: String\n direction: String\n }\n\n # Lane API\n type Lanes {\n id: String!\n list(ids: [String!], offset: Int, limit: Int, sort: LaneSort, search: String): [Lane!]!\n default: Lane\n diff(from: String!, to: String!, options: DiffOptions): GetDiffResult\n diffStatus(source: String!, target: String, options: DiffStatusOptions): LaneDiffStatus!\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 {\n ids,\n limit,\n offset,\n sort: { by = 'createdAt', direction = 'desc' } = { by: 'createdAt', direction: 'desc' },\n search,\n }: {\n ids?: string[];\n offset?: number;\n limit?: number;\n sort?: {\n by?: string;\n direction?: string;\n };\n search?: string;\n }\n ) => {\n let lanes: LaneData[] = [];\n\n if (!ids || ids.length === 0) {\n lanes = await lanesMain.getLanes({ showDefaultLane: true });\n } else {\n lanes = flatten(\n await Promise.all(\n ids.map((id) => {\n if (id === lanesMain.getDefaultLaneId().name) {\n return lanesMain.getLanes({ showDefaultLane: true, name: id });\n }\n return lanesMain.getLanes({ name: LaneId.parse(id).name });\n })\n )\n );\n }\n\n if (search) {\n const fuseOptions = {\n keys: ['id.name', 'id.scope', 'log.username', 'log.email', 'log.displayName'],\n threshold: search.length === 1 ? 0 : 0.3,\n findAllMatches: true,\n location: 0,\n distance: search.length === 1 ? 0 : 100,\n minMatchCharLength: 1,\n ignoreLocation: true,\n shouldSort: false,\n includeScore: true,\n };\n const fuse = new Fuse(lanes, fuseOptions);\n lanes = fuse.search(search).map((result) => result.item);\n }\n\n lanes = lanes.sort((a, b) => {\n switch (by) {\n default: {\n if (!a[by] || !b[by]) return 0;\n\n if (a[by] < b[by]) return direction === 'asc' ? -1 : 1;\n if (a[by] > b[by]) return direction === 'asc' ? -1 : 1;\n return 0;\n }\n case 'createdAt':\n case 'updatedAt': {\n const aDate = a.log?.date;\n const bDate = b.log?.date;\n\n if (!aDate || !bDate) return 0;\n\n if (+aDate < +bDate) return direction === 'asc' ? -1 : 1;\n if (+aDate > +bDate) return direction === 'asc' ? 1 : -1;\n return 0;\n }\n case 'id': {\n const aId = a[by].toString();\n const bId = b[by].toString();\n\n if (aId < bId) return direction === 'asc' ? -1 : 1;\n if (aId > bId) return direction === 'asc' ? -1 : 1;\n return 0;\n }\n }\n });\n\n if (limit || offset) {\n lanes = slice(lanes, offset, limit && limit + (offset || 0));\n }\n\n return lanes;\n },\n default: async (lanesMain: LanesMain) => {\n const [defaultLane] = await lanesMain.getLanes({\n showDefaultLane: true,\n name: lanesMain.getDefaultLaneId().name,\n });\n return defaultLane;\n },\n current: async (lanesMain: LanesMain) => {\n const currentLaneName = lanesMain.getCurrentLaneName();\n if (!currentLaneName) return undefined;\n const [currentLane] = await lanesMain.getLanes({ name: currentLaneName });\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 diffStatus: async (\n lanesMain: LanesMain,\n { source, target, options }: { source: string; target?: string; options?: LaneDiffStatusOptions }\n ) => {\n const sourceLaneId = LaneId.parse(source);\n const targetLaneId = target ? LaneId.parse(target) : undefined;\n return lanesMain.diffStatus(sourceLaneId, targetLaneId, options);\n },\n },\n LaneDiffStatus: {\n id: (diffStatus: LaneDiffStatus) => `${diffStatus.source.toString()}-${diffStatus.target.toString()}`,\n },\n LaneComponentDiffStatus: {\n id: (diffCompStatus: LaneComponentDiffStatus) =>\n `${diffCompStatus.componentId.toStringWithoutVersion()}-${diffCompStatus.sourceHead}-${\n diffCompStatus.targetHead\n }`,\n componentId: (diffCompStatus: LaneComponentDiffStatus) => diffCompStatus.componentId.toObject(),\n },\n Lane: {\n id: (lane: LaneData) => lane.id.toObject(),\n laneComponentIds: async (lane: LaneData) => {\n const componentIds = await lanesMainRuntime.getLaneComponentIds(lane);\n return componentIds.map((componentId) => componentId.toObject());\n },\n components: async (lane: LaneData) => {\n const laneComponents = await lanesMainRuntime.getLaneComponentModels(lane);\n return laneComponents;\n },\n readmeComponent: async (lane: LaneData) => {\n const laneReadmeComponent = await lanesMainRuntime.getLaneReadmeComponent(lane);\n return laneReadmeComponent;\n },\n createdAt: async (lane: LaneData) => {\n return lane.log?.date;\n },\n createdBy: async (lane: LaneData) => {\n return {\n name: lane.log?.username,\n email: lane.log?.email,\n profileImage: lane.log?.profileImage,\n displayName: lane.log?.username,\n username: lane.log?.username,\n };\n },\n },\n Query: {\n lanes: () => lanesMainRuntime,\n },\n },\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAAwC;AAAA;AAGjC,SAASA,WAAW,CAACC,gBAA2B,EAAU;EAC/D,OAAO;IACLC,QAAQ,EAAE,IAAAC,qBAAG,CAAC;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;IACDC,SAAS,EAAE;MACTC,KAAK,EAAE;QACL;QACAC,EAAE,EAAE,MAAM,OAAO;QACjBC,IAAI,EAAE,OACJC,SAAoB,EACpB;UACEC,GAAG;UACHC,KAAK;UACLC,MAAM;UACNC,IAAI,EAAE;YAAEC,EAAE,GAAG,WAAW;YAAEC,SAAS,GAAG;UAAO,CAAC,GAAG;YAAED,EAAE,EAAE,WAAW;YAAEC,SAAS,EAAE;UAAO,CAAC;UACvFC;QAUF,CAAC,KACE;UACH,IAAIC,KAAiB,GAAG,EAAE;UAE1B,IAAI,CAACP,GAAG,IAAIA,GAAG,CAACQ,MAAM,KAAK,CAAC,EAAE;YAC5BD,KAAK,GAAG,MAAMR,SAAS,CAACU,QAA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"}
|
1
|
+
{"version":3,"names":["_laneId","data","require","_fuse","_interopRequireDefault","_graphqlTag","_lodash","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","lanesSchema","lanesMainRuntime","typeDefs","gql","resolvers","Lanes","id","list","lanesMain","ids","limit","offset","sort","by","direction","search","lanes","getLanes","showDefaultLane","flatten","Promise","all","map","getDefaultLaneId","name","LaneId","parse","fuseOptions","threshold","findAllMatches","location","distance","minMatchCharLength","ignoreLocation","shouldSort","includeScore","fuse","Fuse","result","item","a","b","_a$log","_b$log","aDate","log","date","bDate","aId","toString","bId","slice","defaultLane","current","currentLaneName","getCurrentLaneName","undefined","currentLane","diff","from","to","options","getDiffResults","getDiff","compsWithDiff","diffStatus","sourceLaneId","targetLaneId","LaneDiffStatus","LaneComponentDiffStatus","diffCompStatus","componentId","toStringWithoutVersion","sourceHead","targetHead","toObject","Lane","lane","laneComponentIds","componentIds","getLaneComponentIds","components","laneComponents","getLaneComponentModels","readmeComponent","laneReadmeComponent","getLaneReadmeComponent","createdAt","_lane$log","createdBy","_lane$log2","_lane$log3","_lane$log4","_lane$log5","_lane$log6","username","email","profileImage","displayName","Query"],"sources":["lanes.graphql.ts"],"sourcesContent":["import { Schema } from '@teambit/graphql';\nimport { LaneId } from '@teambit/lane-id';\nimport Fuse from 'fuse.js';\nimport { LaneData } from '@teambit/legacy/dist/scope/lanes/lanes';\nimport gql from 'graphql-tag';\nimport { flatten, slice } from 'lodash';\nimport { LaneComponentDiffStatus, LaneDiffStatus, LaneDiffStatusOptions, 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 SnapDistance {\n onSource: [String!]!\n onTarget: [String!]!\n common: 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 input DiffStatusOptions {\n skipChanges: Boolean\n skipUpToDate: Boolean\n }\n\n type LaneId {\n name: String!\n scope: String!\n }\n\n type LaneComponentDiffStatus {\n \"\"\"\n for apollo caching - component id\n \"\"\"\n id: String!\n sourceHead: String!\n targetHead: String\n componentId: ComponentID!\n changeType: String @deprecated(reason: \"Use changes\")\n \"\"\"\n list of all change types - Source Code, Dependency, Aspects, etc\n \"\"\"\n changes: [String!]\n upToDate: Boolean\n snapsDistance: SnapDistance\n unrelated: Boolean\n }\n\n type LaneDiffStatus {\n \"\"\"\n for apollo caching - source + target\n \"\"\"\n id: String!\n source: LaneId!\n target: LaneId!\n componentsStatus: [LaneComponentDiffStatus!]!\n }\n\n type LaneOwner {\n name: String\n username: String\n displayName: String\n email: String\n profileImage: String\n }\n\n type Lane {\n id: LaneId!\n hash: String\n laneComponentIds: [ComponentID!]!\n components(offset: Int, limit: Int): [Component!]!\n readmeComponent: Component\n createdBy: LaneOwner\n createdAt: String\n updatedBy: LaneOwner\n updatedAt: String\n }\n\n input LaneSort {\n by: String\n direction: String\n }\n\n # Lane API\n type Lanes {\n id: String!\n list(ids: [String!], offset: Int, limit: Int, sort: LaneSort, search: String): [Lane!]!\n default: Lane\n diff(from: String!, to: String!, options: DiffOptions): GetDiffResult\n diffStatus(source: String!, target: String, options: DiffStatusOptions): LaneDiffStatus!\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 {\n ids,\n limit,\n offset,\n sort: { by = 'createdAt', direction = 'desc' } = { by: 'createdAt', direction: 'desc' },\n search,\n }: {\n ids?: string[];\n offset?: number;\n limit?: number;\n sort?: {\n by?: string;\n direction?: string;\n };\n search?: string;\n }\n ) => {\n let lanes: LaneData[] = [];\n\n if (!ids || ids.length === 0) {\n lanes = await lanesMain.getLanes({ showDefaultLane: true });\n } else {\n lanes = flatten(\n await Promise.all(\n ids.map((id) => {\n if (id === lanesMain.getDefaultLaneId().name) {\n return lanesMain.getLanes({ showDefaultLane: true, name: id });\n }\n return lanesMain.getLanes({ name: LaneId.parse(id).name });\n })\n )\n );\n }\n\n if (search) {\n const fuseOptions = {\n keys: ['id.name', 'id.scope', 'log.username', 'log.email', 'log.displayName'],\n threshold: search.length === 1 ? 0 : 0.3,\n findAllMatches: true,\n location: 0,\n distance: search.length === 1 ? 0 : 100,\n minMatchCharLength: 1,\n ignoreLocation: true,\n shouldSort: false,\n includeScore: true,\n };\n const fuse = new Fuse(lanes, fuseOptions);\n lanes = fuse.search(search).map((result) => result.item);\n }\n\n lanes = lanes.sort((a, b) => {\n switch (by) {\n default: {\n if (!a[by] || !b[by]) return 0;\n\n if (a[by] < b[by]) return direction === 'asc' ? -1 : 1;\n if (a[by] > b[by]) return direction === 'asc' ? -1 : 1;\n return 0;\n }\n case 'createdAt':\n case 'updatedAt': {\n const aDate = a.log?.date;\n const bDate = b.log?.date;\n\n if (!aDate || !bDate) return 0;\n\n if (+aDate < +bDate) return direction === 'asc' ? -1 : 1;\n if (+aDate > +bDate) return direction === 'asc' ? 1 : -1;\n return 0;\n }\n case 'id': {\n const aId = a[by].toString();\n const bId = b[by].toString();\n\n if (aId < bId) return direction === 'asc' ? -1 : 1;\n if (aId > bId) return direction === 'asc' ? -1 : 1;\n return 0;\n }\n }\n });\n\n if (limit || offset) {\n lanes = slice(lanes, offset, limit && limit + (offset || 0));\n }\n\n return lanes;\n },\n default: async (lanesMain: LanesMain) => {\n const [defaultLane] = await lanesMain.getLanes({\n showDefaultLane: true,\n name: lanesMain.getDefaultLaneId().name,\n });\n return defaultLane;\n },\n current: async (lanesMain: LanesMain) => {\n const currentLaneName = lanesMain.getCurrentLaneName();\n if (!currentLaneName) return undefined;\n const [currentLane] = await lanesMain.getLanes({ name: currentLaneName });\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 diffStatus: async (\n lanesMain: LanesMain,\n { source, target, options }: { source: string; target?: string; options?: LaneDiffStatusOptions }\n ) => {\n const sourceLaneId = LaneId.parse(source);\n const targetLaneId = target ? LaneId.parse(target) : undefined;\n return lanesMain.diffStatus(sourceLaneId, targetLaneId, options);\n },\n },\n LaneDiffStatus: {\n id: (diffStatus: LaneDiffStatus) => `${diffStatus.source.toString()}-${diffStatus.target.toString()}`,\n },\n LaneComponentDiffStatus: {\n id: (diffCompStatus: LaneComponentDiffStatus) =>\n `${diffCompStatus.componentId.toStringWithoutVersion()}-${diffCompStatus.sourceHead}-${\n diffCompStatus.targetHead\n }`,\n componentId: (diffCompStatus: LaneComponentDiffStatus) => diffCompStatus.componentId.toObject(),\n },\n Lane: {\n id: (lane: LaneData) => lane.id.toObject(),\n laneComponentIds: async (lane: LaneData) => {\n const componentIds = await lanesMainRuntime.getLaneComponentIds(lane);\n return componentIds.map((componentId) => componentId.toObject());\n },\n components: async (lane: LaneData) => {\n const laneComponents = await lanesMainRuntime.getLaneComponentModels(lane);\n return laneComponents;\n },\n readmeComponent: async (lane: LaneData) => {\n const laneReadmeComponent = await lanesMainRuntime.getLaneReadmeComponent(lane);\n return laneReadmeComponent;\n },\n createdAt: async (lane: LaneData) => {\n return lane.log?.date;\n },\n createdBy: async (lane: LaneData) => {\n return {\n name: lane.log?.username,\n email: lane.log?.email,\n profileImage: lane.log?.profileImage,\n displayName: lane.log?.username,\n username: lane.log?.username,\n };\n },\n },\n Query: {\n lanes: () => lanesMainRuntime,\n },\n },\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AACA,SAAAA,QAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,OAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,MAAA;EAAA,MAAAF,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAC,KAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAI,YAAA;EAAA,MAAAJ,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAG,WAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,QAAA;EAAA,MAAAL,IAAA,GAAAC,OAAA;EAAAI,OAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAwC,SAAAM,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAAC,MAAA,CAAAD,IAAA,CAAAF,MAAA,OAAAG,MAAA,CAAAC,qBAAA,QAAAC,OAAA,GAAAF,MAAA,CAAAC,qBAAA,CAAAJ,MAAA,GAAAC,cAAA,KAAAI,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAAJ,MAAA,CAAAK,wBAAA,CAAAR,MAAA,EAAAO,GAAA,EAAAE,UAAA,OAAAP,IAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,IAAA,EAAAG,OAAA,YAAAH,IAAA;AAAA,SAAAU,cAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAf,OAAA,CAAAI,MAAA,CAAAc,MAAA,OAAAC,OAAA,WAAAC,GAAA,QAAAC,gBAAA,GAAAC,OAAA,EAAAR,MAAA,EAAAM,GAAA,EAAAF,MAAA,CAAAE,GAAA,SAAAhB,MAAA,CAAAmB,yBAAA,GAAAnB,MAAA,CAAAoB,gBAAA,CAAAV,MAAA,EAAAV,MAAA,CAAAmB,yBAAA,CAAAL,MAAA,KAAAlB,OAAA,CAAAI,MAAA,CAAAc,MAAA,GAAAC,OAAA,WAAAC,GAAA,IAAAhB,MAAA,CAAAqB,cAAA,CAAAX,MAAA,EAAAM,GAAA,EAAAhB,MAAA,CAAAK,wBAAA,CAAAS,MAAA,EAAAE,GAAA,iBAAAN,MAAA;AAGjC,SAASY,WAAWA,CAACC,gBAA2B,EAAU;EAC/D,OAAO;IACLC,QAAQ,EAAE,IAAAC,qBAAG,CAAC;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;IACDC,SAAS,EAAE;MACTC,KAAK,EAAE;QACL;QACAC,EAAE,EAAEA,CAAA,KAAM,OAAO;QACjBC,IAAI,EAAE,MAAAA,CACJC,SAAoB,EACpB;UACEC,GAAG;UACHC,KAAK;UACLC,MAAM;UACNC,IAAI,EAAE;YAAEC,EAAE,GAAG,WAAW;YAAEC,SAAS,GAAG;UAAO,CAAC,GAAG;YAAED,EAAE,EAAE,WAAW;YAAEC,SAAS,EAAE;UAAO,CAAC;UACvFC;QAUF,CAAC,KACE;UACH,IAAIC,KAAiB,GAAG,EAAE;UAE1B,IAAI,CAACP,GAAG,IAAIA,GAAG,CAAClB,MAAM,KAAK,CAAC,EAAE;YAC5ByB,KAAK,GAAG,MAAMR,SAAS,CAACS,QAAQ,CAAC;cAAEC,eAAe,EAAE;YAAK,CAAC,CAAC;UA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"}
|