@teambit/api-server 0.0.175 → 0.0.176
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/api-for-ide.d.ts +15 -0
- package/dist/api-for-ide.js +24 -0
- package/dist/api-for-ide.js.map +1 -1
- package/dist/cli.route.js +30 -5
- package/dist/cli.route.js.map +1 -1
- package/dist/ide.route.js +1 -1
- package/dist/ide.route.js.map +1 -1
- package/package.json +14 -12
- /package/dist/{preview-1694834258227.js → preview-1694920526387.js} +0 -0
package/dist/api-for-ide.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ import { InstallMain } from '@teambit/install';
|
|
|
6
6
|
import { ExportMain } from '@teambit/export';
|
|
7
7
|
import { CheckoutMain } from '@teambit/checkout';
|
|
8
8
|
import { ComponentLogMain, FileHashDiffFromParent } from '@teambit/component-log';
|
|
9
|
+
import { Log } from '@teambit/legacy/dist/scope/models/lane';
|
|
9
10
|
declare type PathFromLastSnap = {
|
|
10
11
|
[relativeToWorkspace: PathLinux]: string;
|
|
11
12
|
};
|
|
@@ -17,6 +18,18 @@ declare type InitSCMEntry = {
|
|
|
17
18
|
declare type DataToInitSCM = {
|
|
18
19
|
[compId: string]: InitSCMEntry;
|
|
19
20
|
};
|
|
21
|
+
declare type LaneObj = {
|
|
22
|
+
name: string;
|
|
23
|
+
scope: string;
|
|
24
|
+
id: string;
|
|
25
|
+
log: Log;
|
|
26
|
+
components: Array<{
|
|
27
|
+
id: string;
|
|
28
|
+
head: string;
|
|
29
|
+
}>;
|
|
30
|
+
isNew: boolean;
|
|
31
|
+
forkedFrom?: string;
|
|
32
|
+
};
|
|
20
33
|
export declare class APIForIDE {
|
|
21
34
|
private workspace;
|
|
22
35
|
private snapping;
|
|
@@ -31,6 +44,7 @@ export declare class APIForIDE {
|
|
|
31
44
|
importLane(laneName: string, { skipDependencyInstallation }: {
|
|
32
45
|
skipDependencyInstallation?: boolean;
|
|
33
46
|
}): Promise<string[]>;
|
|
47
|
+
getCurrentLaneObject(): Promise<LaneObj | undefined>;
|
|
34
48
|
listLanes(): Promise<import("@teambit/legacy/dist/scope/lanes/lanes").LaneData[]>;
|
|
35
49
|
createLane(name: string): Promise<{
|
|
36
50
|
laneId: import("@teambit/lane-id").LaneId;
|
|
@@ -52,6 +66,7 @@ export declare class APIForIDE {
|
|
|
52
66
|
[relativePath: string]: string;
|
|
53
67
|
}>;
|
|
54
68
|
warmWorkspaceCache(): Promise<void>;
|
|
69
|
+
clearCache(): Promise<void>;
|
|
55
70
|
install(): Promise<import("@teambit/component").ComponentMap<string>>;
|
|
56
71
|
export(): Promise<{
|
|
57
72
|
componentsIds: string[];
|
package/dist/api-for-ide.js
CHANGED
|
@@ -71,6 +71,27 @@ class APIForIDE {
|
|
|
71
71
|
});
|
|
72
72
|
return (results.components || []).map(c => c.id.toString());
|
|
73
73
|
}
|
|
74
|
+
async getCurrentLaneObject() {
|
|
75
|
+
var _currentLane$forkedFr;
|
|
76
|
+
const currentLane = await this.lanes.getCurrentLane();
|
|
77
|
+
if (!currentLane) return undefined;
|
|
78
|
+
const components = await Promise.all(currentLane.components.map(async c => {
|
|
79
|
+
const compId = await this.workspace.resolveComponentId(c.id);
|
|
80
|
+
return {
|
|
81
|
+
id: compId.toStringWithoutVersion(),
|
|
82
|
+
head: c.head.toString()
|
|
83
|
+
};
|
|
84
|
+
}));
|
|
85
|
+
return {
|
|
86
|
+
name: currentLane.name,
|
|
87
|
+
scope: currentLane.scope,
|
|
88
|
+
id: currentLane.id(),
|
|
89
|
+
log: currentLane.log,
|
|
90
|
+
components,
|
|
91
|
+
isNew: currentLane.isNew,
|
|
92
|
+
forkedFrom: (_currentLane$forkedFr = currentLane.forkedFrom) === null || _currentLane$forkedFr === void 0 ? void 0 : _currentLane$forkedFr.toString()
|
|
93
|
+
};
|
|
94
|
+
}
|
|
74
95
|
async listLanes() {
|
|
75
96
|
return this.lanes.getLanes({
|
|
76
97
|
showDefaultLane: true
|
|
@@ -151,6 +172,9 @@ class APIForIDE {
|
|
|
151
172
|
async warmWorkspaceCache() {
|
|
152
173
|
await this.workspace.warmCache();
|
|
153
174
|
}
|
|
175
|
+
async clearCache() {
|
|
176
|
+
await this.workspace.clearCache();
|
|
177
|
+
}
|
|
154
178
|
async install() {
|
|
155
179
|
return this.installer.install(undefined, {
|
|
156
180
|
optimizeReportForNonTerminal: true
|
package/dist/api-for-ide.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_path","data","_interopRequireDefault","require","_fsExtra","_path2","_pMap","obj","__esModule","default","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","FILES_HISTORY_DIR","LAST_SNAP_DIR","APIForIDE","constructor","workspace","snapping","lanes","installer","exporter","checkout","componentLog","listIdsWithPaths","ids","listIds","reduce","acc","id","toStringWithoutVersion","componentDir","getMainFilePath","compId","resolveComponentId","comp","get","path","join","state","_consumer","mainFile","importLane","laneName","skipDependencyInstallation","results","switchLanes","getAll","components","map","c","toString","listLanes","getLanes","showDefaultLane","createLane","name","getCompFiles","dirAbs","filesRelative","filesystem","files","file","relative","getCompFilesDirPathFromLastSnap","hasVersion","compDir","ignoreVersion","filePathsRootDir","scope","fs","remove","modelComponent","getBitObjectModelComponent","Error","versionObject","getBitObjectVersion","version","sourceFiles","modelFilesToSourceFiles","legacyScope","objects","Promise","all","filePath","outputFile","contents","pathJoinLinux","catObject","hash","getRawObject","JSON","stringify","content","logFile","getFileHistoryHashes","changedFilesFromParent","getChangedFilesFromParent","setDefaultScope","scopeName","getCompFilesDirPathFromLastSnapUsingCompFiles","compFiles","getHeadFiles","warmWorkspaceCache","warmCache","install","optimizeReportForNonTerminal","export","componentsIds","removedIds","exportedLanes","l","checkoutHead","head","skipNpmInstall","adjustCheckoutResultsToIde","switchLane","output","failedComponents","skipped","f","unchangedLegitimately","failed","succeed","getDataToInitSCM","pMap","getFilesModification","pathsFromLastSnap","idStr","filesStatus","getFilesStatus","concurrency","componentId","getCompFilesDirPathFromLastSnapForAllComps","compResults","getCurrentLaneName","getCurrentLaneId","tagOrSnap","message","params","build","isOnMain","tag","snap","taggedComponents","snappedComponents","exports"],"sources":["api-for-ide.ts"],"sourcesContent":["import path from 'path';\nimport fs from 'fs-extra';\nimport { CompFiles, Workspace, FilesStatus } from '@teambit/workspace';\nimport { PathLinux, PathOsBasedAbsolute, PathOsBasedRelative, pathJoinLinux } from '@teambit/legacy/dist/utils/path';\nimport pMap from 'p-map';\nimport { SnappingMain } from '@teambit/snapping';\nimport { LanesMain } from '@teambit/lanes';\nimport { InstallMain } from '@teambit/install';\nimport { ExportMain } from '@teambit/export';\nimport { CheckoutMain } from '@teambit/checkout';\nimport { ApplyVersionResults } from '@teambit/merging';\nimport { ComponentLogMain, FileHashDiffFromParent } from '@teambit/component-log';\n\nconst FILES_HISTORY_DIR = 'files-history';\nconst LAST_SNAP_DIR = 'last-snap';\n\ntype PathFromLastSnap = { [relativeToWorkspace: PathLinux]: string };\n\ntype InitSCMEntry = {\n filesStatus: FilesStatus;\n pathsFromLastSnap: PathFromLastSnap;\n compDir: PathLinux;\n};\n\ntype DataToInitSCM = { [compId: string]: InitSCMEntry };\n\nexport class APIForIDE {\n constructor(\n private workspace: Workspace,\n private snapping: SnappingMain,\n private lanes: LanesMain,\n private installer: InstallMain,\n private exporter: ExportMain,\n private checkout: CheckoutMain,\n private componentLog: ComponentLogMain\n ) {}\n\n async listIdsWithPaths() {\n const ids = await this.workspace.listIds();\n return ids.reduce((acc, id) => {\n acc[id.toStringWithoutVersion()] = this.workspace.componentDir(id);\n return acc;\n }, {});\n }\n\n async getMainFilePath(id: string): Promise<PathOsBasedAbsolute> {\n const compId = await this.workspace.resolveComponentId(id);\n const comp = await this.workspace.get(compId);\n return path.join(this.workspace.componentDir(compId), comp.state._consumer.mainFile);\n }\n\n async importLane(\n laneName: string,\n { skipDependencyInstallation }: { skipDependencyInstallation?: boolean }\n ): Promise<string[]> {\n const results = await this.lanes.switchLanes(laneName, {\n skipDependencyInstallation,\n getAll: true,\n });\n return (results.components || []).map((c) => c.id.toString());\n }\n\n async listLanes() {\n return this.lanes.getLanes({ showDefaultLane: true });\n }\n\n async createLane(name: string) {\n return this.lanes.createLane(name);\n }\n\n async getCompFiles(id: string): Promise<{ dirAbs: string; filesRelative: PathOsBasedRelative[] }> {\n const compId = await this.workspace.resolveComponentId(id);\n const comp = await this.workspace.get(compId);\n const dirAbs = this.workspace.componentDir(comp.id);\n const filesRelative = comp.state.filesystem.files.map((file) => file.relative);\n return { dirAbs, filesRelative };\n }\n\n async getCompFilesDirPathFromLastSnap(id: string): Promise<{ [relativePath: string]: string }> {\n const compId = await this.workspace.resolveComponentId(id);\n if (!compId.hasVersion()) return {}; // it's a new component.\n const compDir = this.workspace.componentDir(compId, { ignoreVersion: true }, { relative: true });\n // const dirName = filenamify(compId.toString(), { replacement: '_' });\n const filePathsRootDir = path.join(this.workspace.scope.path, FILES_HISTORY_DIR, LAST_SNAP_DIR, compDir);\n await fs.remove(filePathsRootDir); // in case it has old data\n\n const modelComponent = await this.workspace.scope.getBitObjectModelComponent(compId);\n if (!modelComponent) {\n throw new Error(`unable to find ${compId.toString()} in the local scope, please run \"bit import\"`);\n }\n const versionObject = await this.workspace.scope.getBitObjectVersion(modelComponent, compId.version as string);\n if (!versionObject)\n throw new Error(`unable to find the Version object of ${compId.toString()}, please run \"bit import\"`);\n const sourceFiles = await versionObject.modelFilesToSourceFiles(this.workspace.scope.legacyScope.objects);\n const results: { [relativePath: string]: string } = {};\n await Promise.all(\n sourceFiles.map(async (file) => {\n const filePath = path.join(filePathsRootDir, file.relative);\n await fs.outputFile(filePath, file.contents);\n results[pathJoinLinux(compDir, file.relative)] = filePath;\n })\n );\n return results;\n }\n\n async catObject(hash: string) {\n const object = await this.workspace.scope.legacyScope.getRawObject(hash);\n return JSON.stringify(object.content.toString());\n }\n\n async logFile(filePath: string) {\n const results = await this.componentLog.getFileHistoryHashes(filePath);\n return results;\n }\n\n async changedFilesFromParent(id: string): Promise<FileHashDiffFromParent[]> {\n const results = await this.componentLog.getChangedFilesFromParent(id);\n return results;\n }\n\n async setDefaultScope(scopeName: string) {\n await this.workspace.setDefaultScope(scopeName);\n return scopeName;\n }\n\n async getCompFilesDirPathFromLastSnapUsingCompFiles(\n compFiles: CompFiles\n ): Promise<{ [relativePath: string]: string }> {\n const compId = compFiles.id;\n if (!compId.hasVersion()) return {}; // it's a new component.\n const compDir = compFiles.compDir;\n const filePathsRootDir = path.join(this.workspace.scope.path, FILES_HISTORY_DIR, LAST_SNAP_DIR, compDir);\n await fs.remove(filePathsRootDir); // in case it has old data\n\n const sourceFiles = await compFiles.getHeadFiles();\n\n const results: { [relativePath: string]: string } = {};\n await Promise.all(\n sourceFiles.map(async (file) => {\n const filePath = path.join(filePathsRootDir, file.relative);\n await fs.outputFile(filePath, file.contents);\n results[pathJoinLinux(compDir, file.relative)] = filePath;\n })\n );\n return results;\n }\n\n async warmWorkspaceCache() {\n await this.workspace.warmCache();\n }\n\n async install() {\n return this.installer.install(undefined, { optimizeReportForNonTerminal: true });\n }\n\n async export() {\n const { componentsIds, removedIds, exportedLanes } = await this.exporter.export();\n return {\n componentsIds: componentsIds.map((c) => c.toString()),\n removedIds: removedIds.map((c) => c.toString()),\n exportedLanes: exportedLanes.map((l) => l.id()),\n };\n }\n\n async checkoutHead() {\n const results = await this.checkout.checkout({\n head: true,\n skipNpmInstall: true,\n ids: await this.workspace.listIds(),\n });\n return this.adjustCheckoutResultsToIde(results);\n }\n\n async switchLane(name: string) {\n const results = await this.lanes.switchLanes(name, { skipDependencyInstallation: true });\n return this.adjustCheckoutResultsToIde(results);\n }\n\n private adjustCheckoutResultsToIde(output: ApplyVersionResults) {\n const { components, failedComponents } = output;\n const skipped = failedComponents?.filter((f) => f.unchangedLegitimately).map((f) => f.id.toString());\n const failed = failedComponents?.filter((f) => !f.unchangedLegitimately).map((f) => f.id.toString());\n return {\n succeed: components?.map((c) => c.id.toString()),\n skipped,\n failed,\n };\n }\n\n async getDataToInitSCM(): Promise<DataToInitSCM> {\n const ids = await this.workspace.listIds();\n const results: DataToInitSCM = {};\n await pMap(\n ids,\n async (id) => {\n const compFiles = await this.workspace.getFilesModification(id);\n const pathsFromLastSnap = await this.getCompFilesDirPathFromLastSnapUsingCompFiles(compFiles);\n const idStr = id.toStringWithoutVersion();\n results[idStr] = {\n filesStatus: compFiles.getFilesStatus(),\n pathsFromLastSnap,\n compDir: compFiles.compDir,\n };\n },\n { concurrency: 30 }\n );\n\n return results;\n }\n\n async getFilesStatus(id: string): Promise<FilesStatus> {\n const componentId = await this.workspace.resolveComponentId(id);\n const compFiles = await this.workspace.getFilesModification(componentId);\n return compFiles.getFilesStatus();\n }\n\n async getCompFilesDirPathFromLastSnapForAllComps(): Promise<{ [relativePath: string]: string }> {\n const ids = await this.workspace.listIds();\n let results = {};\n await pMap(\n ids,\n async (id) => {\n const idStr = id.toStringWithoutVersion();\n const compResults = await this.getCompFilesDirPathFromLastSnap(idStr);\n results = { ...results, ...compResults };\n },\n { concurrency: 30 }\n );\n return results;\n }\n\n getCurrentLaneName(): string {\n return this.workspace.getCurrentLaneId().name;\n }\n\n async tagOrSnap(message = '') {\n const params = { message, build: false };\n return this.workspace.isOnMain() ? this.snapping.tag(params) : this.snapping.snap(params);\n }\n\n async tag(message = ''): Promise<string[]> {\n const params = { message, build: false };\n const results = await this.snapping.tag(params);\n return (results?.taggedComponents || []).map((c) => c.id.toString());\n }\n\n async snap(message = ''): Promise<string[]> {\n const params = { message, build: false };\n const results = await this.snapping.snap(params);\n return (results?.snappedComponents || []).map((c) => c.id.toString());\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_path","data","_interopRequireDefault","require","_fsExtra","_path2","_pMap","obj","__esModule","default","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","FILES_HISTORY_DIR","LAST_SNAP_DIR","APIForIDE","constructor","workspace","snapping","lanes","installer","exporter","checkout","componentLog","listIdsWithPaths","ids","listIds","reduce","acc","id","toStringWithoutVersion","componentDir","getMainFilePath","compId","resolveComponentId","comp","get","path","join","state","_consumer","mainFile","importLane","laneName","skipDependencyInstallation","results","switchLanes","getAll","components","map","c","toString","getCurrentLaneObject","_currentLane$forkedFr","currentLane","getCurrentLane","Promise","all","head","name","scope","log","isNew","forkedFrom","listLanes","getLanes","showDefaultLane","createLane","getCompFiles","dirAbs","filesRelative","filesystem","files","file","relative","getCompFilesDirPathFromLastSnap","hasVersion","compDir","ignoreVersion","filePathsRootDir","fs","remove","modelComponent","getBitObjectModelComponent","Error","versionObject","getBitObjectVersion","version","sourceFiles","modelFilesToSourceFiles","legacyScope","objects","filePath","outputFile","contents","pathJoinLinux","catObject","hash","getRawObject","JSON","stringify","content","logFile","getFileHistoryHashes","changedFilesFromParent","getChangedFilesFromParent","setDefaultScope","scopeName","getCompFilesDirPathFromLastSnapUsingCompFiles","compFiles","getHeadFiles","warmWorkspaceCache","warmCache","clearCache","install","optimizeReportForNonTerminal","export","componentsIds","removedIds","exportedLanes","l","checkoutHead","skipNpmInstall","adjustCheckoutResultsToIde","switchLane","output","failedComponents","skipped","f","unchangedLegitimately","failed","succeed","getDataToInitSCM","pMap","getFilesModification","pathsFromLastSnap","idStr","filesStatus","getFilesStatus","concurrency","componentId","getCompFilesDirPathFromLastSnapForAllComps","compResults","getCurrentLaneName","getCurrentLaneId","tagOrSnap","message","params","build","isOnMain","tag","snap","taggedComponents","snappedComponents","exports"],"sources":["api-for-ide.ts"],"sourcesContent":["import path from 'path';\nimport fs from 'fs-extra';\nimport { CompFiles, Workspace, FilesStatus } from '@teambit/workspace';\nimport { PathLinux, PathOsBasedAbsolute, PathOsBasedRelative, pathJoinLinux } from '@teambit/legacy/dist/utils/path';\nimport pMap from 'p-map';\nimport { SnappingMain } from '@teambit/snapping';\nimport { LanesMain } from '@teambit/lanes';\nimport { InstallMain } from '@teambit/install';\nimport { ExportMain } from '@teambit/export';\nimport { CheckoutMain } from '@teambit/checkout';\nimport { ApplyVersionResults } from '@teambit/merging';\nimport { ComponentLogMain, FileHashDiffFromParent } from '@teambit/component-log';\nimport { Log } from '@teambit/legacy/dist/scope/models/lane';\n\nconst FILES_HISTORY_DIR = 'files-history';\nconst LAST_SNAP_DIR = 'last-snap';\n\ntype PathFromLastSnap = { [relativeToWorkspace: PathLinux]: string };\n\ntype InitSCMEntry = {\n filesStatus: FilesStatus;\n pathsFromLastSnap: PathFromLastSnap;\n compDir: PathLinux;\n};\n\ntype DataToInitSCM = { [compId: string]: InitSCMEntry };\n\ntype LaneObj = {\n name: string;\n scope: string;\n id: string;\n log: Log;\n components: Array<{ id: string; head: string }>;\n isNew: boolean;\n forkedFrom?: string;\n};\n\nexport class APIForIDE {\n constructor(\n private workspace: Workspace,\n private snapping: SnappingMain,\n private lanes: LanesMain,\n private installer: InstallMain,\n private exporter: ExportMain,\n private checkout: CheckoutMain,\n private componentLog: ComponentLogMain\n ) {}\n\n async listIdsWithPaths() {\n const ids = await this.workspace.listIds();\n return ids.reduce((acc, id) => {\n acc[id.toStringWithoutVersion()] = this.workspace.componentDir(id);\n return acc;\n }, {});\n }\n\n async getMainFilePath(id: string): Promise<PathOsBasedAbsolute> {\n const compId = await this.workspace.resolveComponentId(id);\n const comp = await this.workspace.get(compId);\n return path.join(this.workspace.componentDir(compId), comp.state._consumer.mainFile);\n }\n\n async importLane(\n laneName: string,\n { skipDependencyInstallation }: { skipDependencyInstallation?: boolean }\n ): Promise<string[]> {\n const results = await this.lanes.switchLanes(laneName, {\n skipDependencyInstallation,\n getAll: true,\n });\n return (results.components || []).map((c) => c.id.toString());\n }\n\n async getCurrentLaneObject(): Promise<LaneObj | undefined> {\n const currentLane = await this.lanes.getCurrentLane();\n if (!currentLane) return undefined;\n const components = await Promise.all(\n currentLane.components.map(async (c) => {\n const compId = await this.workspace.resolveComponentId(c.id);\n return {\n id: compId.toStringWithoutVersion(),\n head: c.head.toString(),\n };\n })\n );\n return {\n name: currentLane.name,\n scope: currentLane.scope,\n id: currentLane.id(),\n log: currentLane.log,\n components,\n isNew: currentLane.isNew,\n forkedFrom: currentLane.forkedFrom?.toString(),\n };\n }\n\n async listLanes() {\n return this.lanes.getLanes({ showDefaultLane: true });\n }\n\n async createLane(name: string) {\n return this.lanes.createLane(name);\n }\n\n async getCompFiles(id: string): Promise<{ dirAbs: string; filesRelative: PathOsBasedRelative[] }> {\n const compId = await this.workspace.resolveComponentId(id);\n const comp = await this.workspace.get(compId);\n const dirAbs = this.workspace.componentDir(comp.id);\n const filesRelative = comp.state.filesystem.files.map((file) => file.relative);\n return { dirAbs, filesRelative };\n }\n\n async getCompFilesDirPathFromLastSnap(id: string): Promise<{ [relativePath: string]: string }> {\n const compId = await this.workspace.resolveComponentId(id);\n if (!compId.hasVersion()) return {}; // it's a new component.\n const compDir = this.workspace.componentDir(compId, { ignoreVersion: true }, { relative: true });\n // const dirName = filenamify(compId.toString(), { replacement: '_' });\n const filePathsRootDir = path.join(this.workspace.scope.path, FILES_HISTORY_DIR, LAST_SNAP_DIR, compDir);\n await fs.remove(filePathsRootDir); // in case it has old data\n\n const modelComponent = await this.workspace.scope.getBitObjectModelComponent(compId);\n if (!modelComponent) {\n throw new Error(`unable to find ${compId.toString()} in the local scope, please run \"bit import\"`);\n }\n const versionObject = await this.workspace.scope.getBitObjectVersion(modelComponent, compId.version as string);\n if (!versionObject)\n throw new Error(`unable to find the Version object of ${compId.toString()}, please run \"bit import\"`);\n const sourceFiles = await versionObject.modelFilesToSourceFiles(this.workspace.scope.legacyScope.objects);\n const results: { [relativePath: string]: string } = {};\n await Promise.all(\n sourceFiles.map(async (file) => {\n const filePath = path.join(filePathsRootDir, file.relative);\n await fs.outputFile(filePath, file.contents);\n results[pathJoinLinux(compDir, file.relative)] = filePath;\n })\n );\n return results;\n }\n\n async catObject(hash: string) {\n const object = await this.workspace.scope.legacyScope.getRawObject(hash);\n return JSON.stringify(object.content.toString());\n }\n\n async logFile(filePath: string) {\n const results = await this.componentLog.getFileHistoryHashes(filePath);\n return results;\n }\n\n async changedFilesFromParent(id: string): Promise<FileHashDiffFromParent[]> {\n const results = await this.componentLog.getChangedFilesFromParent(id);\n return results;\n }\n\n async setDefaultScope(scopeName: string) {\n await this.workspace.setDefaultScope(scopeName);\n return scopeName;\n }\n\n async getCompFilesDirPathFromLastSnapUsingCompFiles(\n compFiles: CompFiles\n ): Promise<{ [relativePath: string]: string }> {\n const compId = compFiles.id;\n if (!compId.hasVersion()) return {}; // it's a new component.\n const compDir = compFiles.compDir;\n const filePathsRootDir = path.join(this.workspace.scope.path, FILES_HISTORY_DIR, LAST_SNAP_DIR, compDir);\n await fs.remove(filePathsRootDir); // in case it has old data\n\n const sourceFiles = await compFiles.getHeadFiles();\n\n const results: { [relativePath: string]: string } = {};\n await Promise.all(\n sourceFiles.map(async (file) => {\n const filePath = path.join(filePathsRootDir, file.relative);\n await fs.outputFile(filePath, file.contents);\n results[pathJoinLinux(compDir, file.relative)] = filePath;\n })\n );\n return results;\n }\n\n async warmWorkspaceCache() {\n await this.workspace.warmCache();\n }\n async clearCache() {\n await this.workspace.clearCache();\n }\n\n async install() {\n return this.installer.install(undefined, { optimizeReportForNonTerminal: true });\n }\n\n async export() {\n const { componentsIds, removedIds, exportedLanes } = await this.exporter.export();\n return {\n componentsIds: componentsIds.map((c) => c.toString()),\n removedIds: removedIds.map((c) => c.toString()),\n exportedLanes: exportedLanes.map((l) => l.id()),\n };\n }\n\n async checkoutHead() {\n const results = await this.checkout.checkout({\n head: true,\n skipNpmInstall: true,\n ids: await this.workspace.listIds(),\n });\n return this.adjustCheckoutResultsToIde(results);\n }\n\n async switchLane(name: string) {\n const results = await this.lanes.switchLanes(name, { skipDependencyInstallation: true });\n return this.adjustCheckoutResultsToIde(results);\n }\n\n private adjustCheckoutResultsToIde(output: ApplyVersionResults) {\n const { components, failedComponents } = output;\n const skipped = failedComponents?.filter((f) => f.unchangedLegitimately).map((f) => f.id.toString());\n const failed = failedComponents?.filter((f) => !f.unchangedLegitimately).map((f) => f.id.toString());\n return {\n succeed: components?.map((c) => c.id.toString()),\n skipped,\n failed,\n };\n }\n\n async getDataToInitSCM(): Promise<DataToInitSCM> {\n const ids = await this.workspace.listIds();\n const results: DataToInitSCM = {};\n await pMap(\n ids,\n async (id) => {\n const compFiles = await this.workspace.getFilesModification(id);\n const pathsFromLastSnap = await this.getCompFilesDirPathFromLastSnapUsingCompFiles(compFiles);\n const idStr = id.toStringWithoutVersion();\n results[idStr] = {\n filesStatus: compFiles.getFilesStatus(),\n pathsFromLastSnap,\n compDir: compFiles.compDir,\n };\n },\n { concurrency: 30 }\n );\n\n return results;\n }\n\n async getFilesStatus(id: string): Promise<FilesStatus> {\n const componentId = await this.workspace.resolveComponentId(id);\n const compFiles = await this.workspace.getFilesModification(componentId);\n return compFiles.getFilesStatus();\n }\n\n async getCompFilesDirPathFromLastSnapForAllComps(): Promise<{ [relativePath: string]: string }> {\n const ids = await this.workspace.listIds();\n let results = {};\n await pMap(\n ids,\n async (id) => {\n const idStr = id.toStringWithoutVersion();\n const compResults = await this.getCompFilesDirPathFromLastSnap(idStr);\n results = { ...results, ...compResults };\n },\n { concurrency: 30 }\n );\n return results;\n }\n\n getCurrentLaneName(): string {\n return this.workspace.getCurrentLaneId().name;\n }\n\n async tagOrSnap(message = '') {\n const params = { message, build: false };\n return this.workspace.isOnMain() ? this.snapping.tag(params) : this.snapping.snap(params);\n }\n\n async tag(message = ''): Promise<string[]> {\n const params = { message, build: false };\n const results = await this.snapping.tag(params);\n return (results?.taggedComponents || []).map((c) => c.id.toString());\n }\n\n async snap(message = ''): Promise<string[]> {\n const params = { message, build: false };\n const results = await this.snapping.snap(params);\n return (results?.snappedComponents || []).map((c) => c.id.toString());\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,MAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,KAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,SAAA;EAAA,MAAAH,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAC,QAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAI,OAAA;EAAA,MAAAJ,IAAA,GAAAE,OAAA;EAAAE,MAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,MAAA;EAAA,MAAAL,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAG,KAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAyB,SAAAC,uBAAAK,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,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,IAAAC,eAAA,CAAAP,MAAA,EAAAM,GAAA,EAAAF,MAAA,CAAAE,GAAA,SAAAhB,MAAA,CAAAkB,yBAAA,GAAAlB,MAAA,CAAAmB,gBAAA,CAAAT,MAAA,EAAAV,MAAA,CAAAkB,yBAAA,CAAAJ,MAAA,KAAAlB,OAAA,CAAAI,MAAA,CAAAc,MAAA,GAAAC,OAAA,WAAAC,GAAA,IAAAhB,MAAA,CAAAoB,cAAA,CAAAV,MAAA,EAAAM,GAAA,EAAAhB,MAAA,CAAAK,wBAAA,CAAAS,MAAA,EAAAE,GAAA,iBAAAN,MAAA;AAAA,SAAAO,gBAAAxB,GAAA,EAAAuB,GAAA,EAAAK,KAAA,IAAAL,GAAA,GAAAM,cAAA,CAAAN,GAAA,OAAAA,GAAA,IAAAvB,GAAA,IAAAO,MAAA,CAAAoB,cAAA,CAAA3B,GAAA,EAAAuB,GAAA,IAAAK,KAAA,EAAAA,KAAA,EAAAf,UAAA,QAAAiB,YAAA,QAAAC,QAAA,oBAAA/B,GAAA,CAAAuB,GAAA,IAAAK,KAAA,WAAA5B,GAAA;AAAA,SAAA6B,eAAAG,GAAA,QAAAT,GAAA,GAAAU,YAAA,CAAAD,GAAA,2BAAAT,GAAA,gBAAAA,GAAA,GAAAW,MAAA,CAAAX,GAAA;AAAA,SAAAU,aAAAE,KAAA,EAAAC,IAAA,eAAAD,KAAA,iBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAAG,MAAA,CAAAC,WAAA,OAAAF,IAAA,KAAAG,SAAA,QAAAC,GAAA,GAAAJ,IAAA,CAAAK,IAAA,CAAAP,KAAA,EAAAC,IAAA,2BAAAK,GAAA,sBAAAA,GAAA,YAAAE,SAAA,4DAAAP,IAAA,gBAAAF,MAAA,GAAAU,MAAA,EAAAT,KAAA;AAUzB,MAAMU,iBAAiB,GAAG,eAAe;AACzC,MAAMC,aAAa,GAAG,WAAW;AAsB1B,MAAMC,SAAS,CAAC;EACrBC,WAAWA,CACDC,SAAoB,EACpBC,QAAsB,EACtBC,KAAgB,EAChBC,SAAsB,EACtBC,QAAoB,EACpBC,QAAsB,EACtBC,YAA8B,EACtC;IAAA,KAPQN,SAAoB,GAApBA,SAAoB;IAAA,KACpBC,QAAsB,GAAtBA,QAAsB;IAAA,KACtBC,KAAgB,GAAhBA,KAAgB;IAAA,KAChBC,SAAsB,GAAtBA,SAAsB;IAAA,KACtBC,QAAoB,GAApBA,QAAoB;IAAA,KACpBC,QAAsB,GAAtBA,QAAsB;IAAA,KACtBC,YAA8B,GAA9BA,YAA8B;EACrC;EAEH,MAAMC,gBAAgBA,CAAA,EAAG;IACvB,MAAMC,GAAG,GAAG,MAAM,IAAI,CAACR,SAAS,CAACS,OAAO,CAAC,CAAC;IAC1C,OAAOD,GAAG,CAACE,MAAM,CAAC,CAACC,GAAG,EAAEC,EAAE,KAAK;MAC7BD,GAAG,CAACC,EAAE,CAACC,sBAAsB,CAAC,CAAC,CAAC,GAAG,IAAI,CAACb,SAAS,CAACc,YAAY,CAACF,EAAE,CAAC;MAClE,OAAOD,GAAG;IACZ,CAAC,EAAE,CAAC,CAAC,CAAC;EACR;EAEA,MAAMI,eAAeA,CAACH,EAAU,EAAgC;IAC9D,MAAMI,MAAM,GAAG,MAAM,IAAI,CAAChB,SAAS,CAACiB,kBAAkB,CAACL,EAAE,CAAC;IAC1D,MAAMM,IAAI,GAAG,MAAM,IAAI,CAAClB,SAAS,CAACmB,GAAG,CAACH,MAAM,CAAC;IAC7C,OAAOI,eAAI,CAACC,IAAI,CAAC,IAAI,CAACrB,SAAS,CAACc,YAAY,CAACE,MAAM,CAAC,EAAEE,IAAI,CAACI,KAAK,CAACC,SAAS,CAACC,QAAQ,CAAC;EACtF;EAEA,MAAMC,UAAUA,CACdC,QAAgB,EAChB;IAAEC;EAAqE,CAAC,EACrD;IACnB,MAAMC,OAAO,GAAG,MAAM,IAAI,CAAC1B,KAAK,CAAC2B,WAAW,CAACH,QAAQ,EAAE;MACrDC,0BAA0B;MAC1BG,MAAM,EAAE;IACV,CAAC,CAAC;IACF,OAAO,CAACF,OAAO,CAACG,UAAU,IAAI,EAAE,EAAEC,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACrB,EAAE,CAACsB,QAAQ,CAAC,CAAC,CAAC;EAC/D;EAEA,MAAMC,oBAAoBA,CAAA,EAAiC;IAAA,IAAAC,qBAAA;IACzD,MAAMC,WAAW,GAAG,MAAM,IAAI,CAACnC,KAAK,CAACoC,cAAc,CAAC,CAAC;IACrD,IAAI,CAACD,WAAW,EAAE,OAAO9C,SAAS;IAClC,MAAMwC,UAAU,GAAG,MAAMQ,OAAO,CAACC,GAAG,CAClCH,WAAW,CAACN,UAAU,CAACC,GAAG,CAAC,MAAOC,CAAC,IAAK;MACtC,MAAMjB,MAAM,GAAG,MAAM,IAAI,CAAChB,SAAS,CAACiB,kBAAkB,CAACgB,CAAC,CAACrB,EAAE,CAAC;MAC5D,OAAO;QACLA,EAAE,EAAEI,MAAM,CAACH,sBAAsB,CAAC,CAAC;QACnC4B,IAAI,EAAER,CAAC,CAACQ,IAAI,CAACP,QAAQ,CAAC;MACxB,CAAC;IACH,CAAC,CACH,CAAC;IACD,OAAO;MACLQ,IAAI,EAAEL,WAAW,CAACK,IAAI;MACtBC,KAAK,EAAEN,WAAW,CAACM,KAAK;MACxB/B,EAAE,EAAEyB,WAAW,CAACzB,EAAE,CAAC,CAAC;MACpBgC,GAAG,EAAEP,WAAW,CAACO,GAAG;MACpBb,UAAU;MACVc,KAAK,EAAER,WAAW,CAACQ,KAAK;MACxBC,UAAU,GAAAV,qBAAA,GAAEC,WAAW,CAACS,UAAU,cAAAV,qBAAA,uBAAtBA,qBAAA,CAAwBF,QAAQ,CAAC;IAC/C,CAAC;EACH;EAEA,MAAMa,SAASA,CAAA,EAAG;IAChB,OAAO,IAAI,CAAC7C,KAAK,CAAC8C,QAAQ,CAAC;MAAEC,eAAe,EAAE;IAAK,CAAC,CAAC;EACvD;EAEA,MAAMC,UAAUA,CAACR,IAAY,EAAE;IAC7B,OAAO,IAAI,CAACxC,KAAK,CAACgD,UAAU,CAACR,IAAI,CAAC;EACpC;EAEA,MAAMS,YAAYA,CAACvC,EAAU,EAAqE;IAChG,MAAMI,MAAM,GAAG,MAAM,IAAI,CAAChB,SAAS,CAACiB,kBAAkB,CAACL,EAAE,CAAC;IAC1D,MAAMM,IAAI,GAAG,MAAM,IAAI,CAAClB,SAAS,CAACmB,GAAG,CAACH,MAAM,CAAC;IAC7C,MAAMoC,MAAM,GAAG,IAAI,CAACpD,SAAS,CAACc,YAAY,CAACI,IAAI,CAACN,EAAE,CAAC;IACnD,MAAMyC,aAAa,GAAGnC,IAAI,CAACI,KAAK,CAACgC,UAAU,CAACC,KAAK,CAACvB,GAAG,CAAEwB,IAAI,IAAKA,IAAI,CAACC,QAAQ,CAAC;IAC9E,OAAO;MAAEL,MAAM;MAAEC;IAAc,CAAC;EAClC;EAEA,MAAMK,+BAA+BA,CAAC9C,EAAU,EAA+C;IAC7F,MAAMI,MAAM,GAAG,MAAM,IAAI,CAAChB,SAAS,CAACiB,kBAAkB,CAACL,EAAE,CAAC;IAC1D,IAAI,CAACI,MAAM,CAAC2C,UAAU,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACrC,MAAMC,OAAO,GAAG,IAAI,CAAC5D,SAAS,CAACc,YAAY,CAACE,MAAM,EAAE;MAAE6C,aAAa,EAAE;IAAK,CAAC,EAAE;MAAEJ,QAAQ,EAAE;IAAK,CAAC,CAAC;IAChG;IACA,MAAMK,gBAAgB,GAAG1C,eAAI,CAACC,IAAI,CAAC,IAAI,CAACrB,SAAS,CAAC2C,KAAK,CAACvB,IAAI,EAAExB,iBAAiB,EAAEC,aAAa,EAAE+D,OAAO,CAAC;IACxG,MAAMG,kBAAE,CAACC,MAAM,CAACF,gBAAgB,CAAC,CAAC,CAAC;;IAEnC,MAAMG,cAAc,GAAG,MAAM,IAAI,CAACjE,SAAS,CAAC2C,KAAK,CAACuB,0BAA0B,CAAClD,MAAM,CAAC;IACpF,IAAI,CAACiD,cAAc,EAAE;MACnB,MAAM,IAAIE,KAAK,CAAE,kBAAiBnD,MAAM,CAACkB,QAAQ,CAAC,CAAE,8CAA6C,CAAC;IACpG;IACA,MAAMkC,aAAa,GAAG,MAAM,IAAI,CAACpE,SAAS,CAAC2C,KAAK,CAAC0B,mBAAmB,CAACJ,cAAc,EAAEjD,MAAM,CAACsD,OAAiB,CAAC;IAC9G,IAAI,CAACF,aAAa,EAChB,MAAM,IAAID,KAAK,CAAE,wCAAuCnD,MAAM,CAACkB,QAAQ,CAAC,CAAE,2BAA0B,CAAC;IACvG,MAAMqC,WAAW,GAAG,MAAMH,aAAa,CAACI,uBAAuB,CAAC,IAAI,CAACxE,SAAS,CAAC2C,KAAK,CAAC8B,WAAW,CAACC,OAAO,CAAC;IACzG,MAAM9C,OAA2C,GAAG,CAAC,CAAC;IACtD,MAAMW,OAAO,CAACC,GAAG,CACf+B,WAAW,CAACvC,GAAG,CAAC,MAAOwB,IAAI,IAAK;MAC9B,MAAMmB,QAAQ,GAAGvD,eAAI,CAACC,IAAI,CAACyC,gBAAgB,EAAEN,IAAI,CAACC,QAAQ,CAAC;MAC3D,MAAMM,kBAAE,CAACa,UAAU,CAACD,QAAQ,EAAEnB,IAAI,CAACqB,QAAQ,CAAC;MAC5CjD,OAAO,CAAC,IAAAkD,sBAAa,EAAClB,OAAO,EAAEJ,IAAI,CAACC,QAAQ,CAAC,CAAC,GAAGkB,QAAQ;IAC3D,CAAC,CACH,CAAC;IACD,OAAO/C,OAAO;EAChB;EAEA,MAAMmD,SAASA,CAACC,IAAY,EAAE;IAC5B,MAAM7H,MAAM,GAAG,MAAM,IAAI,CAAC6C,SAAS,CAAC2C,KAAK,CAAC8B,WAAW,CAACQ,YAAY,CAACD,IAAI,CAAC;IACxE,OAAOE,IAAI,CAACC,SAAS,CAAChI,MAAM,CAACiI,OAAO,CAAClD,QAAQ,CAAC,CAAC,CAAC;EAClD;EAEA,MAAMmD,OAAOA,CAACV,QAAgB,EAAE;IAC9B,MAAM/C,OAAO,GAAG,MAAM,IAAI,CAACtB,YAAY,CAACgF,oBAAoB,CAACX,QAAQ,CAAC;IACtE,OAAO/C,OAAO;EAChB;EAEA,MAAM2D,sBAAsBA,CAAC3E,EAAU,EAAqC;IAC1E,MAAMgB,OAAO,GAAG,MAAM,IAAI,CAACtB,YAAY,CAACkF,yBAAyB,CAAC5E,EAAE,CAAC;IACrE,OAAOgB,OAAO;EAChB;EAEA,MAAM6D,eAAeA,CAACC,SAAiB,EAAE;IACvC,MAAM,IAAI,CAAC1F,SAAS,CAACyF,eAAe,CAACC,SAAS,CAAC;IAC/C,OAAOA,SAAS;EAClB;EAEA,MAAMC,6CAA6CA,CACjDC,SAAoB,EACyB;IAC7C,MAAM5E,MAAM,GAAG4E,SAAS,CAAChF,EAAE;IAC3B,IAAI,CAACI,MAAM,CAAC2C,UAAU,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACrC,MAAMC,OAAO,GAAGgC,SAAS,CAAChC,OAAO;IACjC,MAAME,gBAAgB,GAAG1C,eAAI,CAACC,IAAI,CAAC,IAAI,CAACrB,SAAS,CAAC2C,KAAK,CAACvB,IAAI,EAAExB,iBAAiB,EAAEC,aAAa,EAAE+D,OAAO,CAAC;IACxG,MAAMG,kBAAE,CAACC,MAAM,CAACF,gBAAgB,CAAC,CAAC,CAAC;;IAEnC,MAAMS,WAAW,GAAG,MAAMqB,SAAS,CAACC,YAAY,CAAC,CAAC;IAElD,MAAMjE,OAA2C,GAAG,CAAC,CAAC;IACtD,MAAMW,OAAO,CAACC,GAAG,CACf+B,WAAW,CAACvC,GAAG,CAAC,MAAOwB,IAAI,IAAK;MAC9B,MAAMmB,QAAQ,GAAGvD,eAAI,CAACC,IAAI,CAACyC,gBAAgB,EAAEN,IAAI,CAACC,QAAQ,CAAC;MAC3D,MAAMM,kBAAE,CAACa,UAAU,CAACD,QAAQ,EAAEnB,IAAI,CAACqB,QAAQ,CAAC;MAC5CjD,OAAO,CAAC,IAAAkD,sBAAa,EAAClB,OAAO,EAAEJ,IAAI,CAACC,QAAQ,CAAC,CAAC,GAAGkB,QAAQ;IAC3D,CAAC,CACH,CAAC;IACD,OAAO/C,OAAO;EAChB;EAEA,MAAMkE,kBAAkBA,CAAA,EAAG;IACzB,MAAM,IAAI,CAAC9F,SAAS,CAAC+F,SAAS,CAAC,CAAC;EAClC;EACA,MAAMC,UAAUA,CAAA,EAAG;IACjB,MAAM,IAAI,CAAChG,SAAS,CAACgG,UAAU,CAAC,CAAC;EACnC;EAEA,MAAMC,OAAOA,CAAA,EAAG;IACd,OAAO,IAAI,CAAC9F,SAAS,CAAC8F,OAAO,CAAC1G,SAAS,EAAE;MAAE2G,4BAA4B,EAAE;IAAK,CAAC,CAAC;EAClF;EAEA,MAAMC,MAAMA,CAAA,EAAG;IACb,MAAM;MAAEC,aAAa;MAAEC,UAAU;MAAEC;IAAc,CAAC,GAAG,MAAM,IAAI,CAAClG,QAAQ,CAAC+F,MAAM,CAAC,CAAC;IACjF,OAAO;MACLC,aAAa,EAAEA,aAAa,CAACpE,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACC,QAAQ,CAAC,CAAC,CAAC;MACrDmE,UAAU,EAAEA,UAAU,CAACrE,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACC,QAAQ,CAAC,CAAC,CAAC;MAC/CoE,aAAa,EAAEA,aAAa,CAACtE,GAAG,CAAEuE,CAAC,IAAKA,CAAC,CAAC3F,EAAE,CAAC,CAAC;IAChD,CAAC;EACH;EAEA,MAAM4F,YAAYA,CAAA,EAAG;IACnB,MAAM5E,OAAO,GAAG,MAAM,IAAI,CAACvB,QAAQ,CAACA,QAAQ,CAAC;MAC3CoC,IAAI,EAAE,IAAI;MACVgE,cAAc,EAAE,IAAI;MACpBjG,GAAG,EAAE,MAAM,IAAI,CAACR,SAAS,CAACS,OAAO,CAAC;IACpC,CAAC,CAAC;IACF,OAAO,IAAI,CAACiG,0BAA0B,CAAC9E,OAAO,CAAC;EACjD;EAEA,MAAM+E,UAAUA,CAACjE,IAAY,EAAE;IAC7B,MAAMd,OAAO,GAAG,MAAM,IAAI,CAAC1B,KAAK,CAAC2B,WAAW,CAACa,IAAI,EAAE;MAAEf,0BAA0B,EAAE;IAAK,CAAC,CAAC;IACxF,OAAO,IAAI,CAAC+E,0BAA0B,CAAC9E,OAAO,CAAC;EACjD;EAEQ8E,0BAA0BA,CAACE,MAA2B,EAAE;IAC9D,MAAM;MAAE7E,UAAU;MAAE8E;IAAiB,CAAC,GAAGD,MAAM;IAC/C,MAAME,OAAO,GAAGD,gBAAgB,aAAhBA,gBAAgB,uBAAhBA,gBAAgB,CAAEpJ,MAAM,CAAEsJ,CAAC,IAAKA,CAAC,CAACC,qBAAqB,CAAC,CAAChF,GAAG,CAAE+E,CAAC,IAAKA,CAAC,CAACnG,EAAE,CAACsB,QAAQ,CAAC,CAAC,CAAC;IACpG,MAAM+E,MAAM,GAAGJ,gBAAgB,aAAhBA,gBAAgB,uBAAhBA,gBAAgB,CAAEpJ,MAAM,CAAEsJ,CAAC,IAAK,CAACA,CAAC,CAACC,qBAAqB,CAAC,CAAChF,GAAG,CAAE+E,CAAC,IAAKA,CAAC,CAACnG,EAAE,CAACsB,QAAQ,CAAC,CAAC,CAAC;IACpG,OAAO;MACLgF,OAAO,EAAEnF,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEC,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACrB,EAAE,CAACsB,QAAQ,CAAC,CAAC,CAAC;MAChD4E,OAAO;MACPG;IACF,CAAC;EACH;EAEA,MAAME,gBAAgBA,CAAA,EAA2B;IAC/C,MAAM3G,GAAG,GAAG,MAAM,IAAI,CAACR,SAAS,CAACS,OAAO,CAAC,CAAC;IAC1C,MAAMmB,OAAsB,GAAG,CAAC,CAAC;IACjC,MAAM,IAAAwF,eAAI,EACR5G,GAAG,EACH,MAAOI,EAAE,IAAK;MACZ,MAAMgF,SAAS,GAAG,MAAM,IAAI,CAAC5F,SAAS,CAACqH,oBAAoB,CAACzG,EAAE,CAAC;MAC/D,MAAM0G,iBAAiB,GAAG,MAAM,IAAI,CAAC3B,6CAA6C,CAACC,SAAS,CAAC;MAC7F,MAAM2B,KAAK,GAAG3G,EAAE,CAACC,sBAAsB,CAAC,CAAC;MACzCe,OAAO,CAAC2F,KAAK,CAAC,GAAG;QACfC,WAAW,EAAE5B,SAAS,CAAC6B,cAAc,CAAC,CAAC;QACvCH,iBAAiB;QACjB1D,OAAO,EAAEgC,SAAS,CAAChC;MACrB,CAAC;IACH,CAAC,EACD;MAAE8D,WAAW,EAAE;IAAG,CACpB,CAAC;IAED,OAAO9F,OAAO;EAChB;EAEA,MAAM6F,cAAcA,CAAC7G,EAAU,EAAwB;IACrD,MAAM+G,WAAW,GAAG,MAAM,IAAI,CAAC3H,SAAS,CAACiB,kBAAkB,CAACL,EAAE,CAAC;IAC/D,MAAMgF,SAAS,GAAG,MAAM,IAAI,CAAC5F,SAAS,CAACqH,oBAAoB,CAACM,WAAW,CAAC;IACxE,OAAO/B,SAAS,CAAC6B,cAAc,CAAC,CAAC;EACnC;EAEA,MAAMG,0CAA0CA,CAAA,EAAgD;IAC9F,MAAMpH,GAAG,GAAG,MAAM,IAAI,CAACR,SAAS,CAACS,OAAO,CAAC,CAAC;IAC1C,IAAImB,OAAO,GAAG,CAAC,CAAC;IAChB,MAAM,IAAAwF,eAAI,EACR5G,GAAG,EACH,MAAOI,EAAE,IAAK;MACZ,MAAM2G,KAAK,GAAG3G,EAAE,CAACC,sBAAsB,CAAC,CAAC;MACzC,MAAMgH,WAAW,GAAG,MAAM,IAAI,CAACnE,+BAA+B,CAAC6D,KAAK,CAAC;MACrE3F,OAAO,GAAA7D,aAAA,CAAAA,aAAA,KAAQ6D,OAAO,GAAKiG,WAAW,CAAE;IAC1C,CAAC,EACD;MAAEH,WAAW,EAAE;IAAG,CACpB,CAAC;IACD,OAAO9F,OAAO;EAChB;EAEAkG,kBAAkBA,CAAA,EAAW;IAC3B,OAAO,IAAI,CAAC9H,SAAS,CAAC+H,gBAAgB,CAAC,CAAC,CAACrF,IAAI;EAC/C;EAEA,MAAMsF,SAASA,CAACC,OAAO,GAAG,EAAE,EAAE;IAC5B,MAAMC,MAAM,GAAG;MAAED,OAAO;MAAEE,KAAK,EAAE;IAAM,CAAC;IACxC,OAAO,IAAI,CAACnI,SAAS,CAACoI,QAAQ,CAAC,CAAC,GAAG,IAAI,CAACnI,QAAQ,CAACoI,GAAG,CAACH,MAAM,CAAC,GAAG,IAAI,CAACjI,QAAQ,CAACqI,IAAI,CAACJ,MAAM,CAAC;EAC3F;EAEA,MAAMG,GAAGA,CAACJ,OAAO,GAAG,EAAE,EAAqB;IACzC,MAAMC,MAAM,GAAG;MAAED,OAAO;MAAEE,KAAK,EAAE;IAAM,CAAC;IACxC,MAAMvG,OAAO,GAAG,MAAM,IAAI,CAAC3B,QAAQ,CAACoI,GAAG,CAACH,MAAM,CAAC;IAC/C,OAAO,CAAC,CAAAtG,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE2G,gBAAgB,KAAI,EAAE,EAAEvG,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACrB,EAAE,CAACsB,QAAQ,CAAC,CAAC,CAAC;EACtE;EAEA,MAAMoG,IAAIA,CAACL,OAAO,GAAG,EAAE,EAAqB;IAC1C,MAAMC,MAAM,GAAG;MAAED,OAAO;MAAEE,KAAK,EAAE;IAAM,CAAC;IACxC,MAAMvG,OAAO,GAAG,MAAM,IAAI,CAAC3B,QAAQ,CAACqI,IAAI,CAACJ,MAAM,CAAC;IAChD,OAAO,CAAC,CAAAtG,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE4G,iBAAiB,KAAI,EAAE,EAAExG,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACrB,EAAE,CAACsB,QAAQ,CAAC,CAAC,CAAC;EACvE;AACF;AAACuG,OAAA,CAAA3I,SAAA,GAAAA,SAAA"}
|
package/dist/cli.route.js
CHANGED
|
@@ -11,6 +11,13 @@ function _prettyTime() {
|
|
|
11
11
|
};
|
|
12
12
|
return data;
|
|
13
13
|
}
|
|
14
|
+
function _lodash() {
|
|
15
|
+
const data = require("lodash");
|
|
16
|
+
_lodash = function () {
|
|
17
|
+
return data;
|
|
18
|
+
};
|
|
19
|
+
return data;
|
|
20
|
+
}
|
|
14
21
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
22
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
16
23
|
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
@@ -38,19 +45,37 @@ class CLIRoute {
|
|
|
38
45
|
try {
|
|
39
46
|
const command = this.cli.getCommand(req.params.cmd);
|
|
40
47
|
if (!command) throw new Error(`command "${req.params.cmd}" was not found`);
|
|
41
|
-
if (!command.json) throw new Error(`command "${req.params.cmd}" does not have a json method`);
|
|
42
48
|
const body = req.body;
|
|
43
49
|
const {
|
|
44
50
|
args,
|
|
45
|
-
options
|
|
51
|
+
options,
|
|
52
|
+
format
|
|
46
53
|
} = body;
|
|
54
|
+
if (format && format !== 'json' && format !== 'report') throw new Error(`format "${format}" is not supported`);
|
|
55
|
+
const outputMethod = format || 'json';
|
|
56
|
+
if (!command[outputMethod]) throw new Error(`command "${req.params.cmd}" does not have a ${outputMethod} method`);
|
|
47
57
|
const optsToString = Object.keys(options || {}).map(key => `--${key}`).join(' ');
|
|
48
|
-
this.logger.console(`started a new command: ${req.params.cmd} ${(args || []).join(' ')} ${optsToString}`);
|
|
58
|
+
this.logger.console(`started a new ${outputMethod} command: ${req.params.cmd} ${(args || []).join(' ')} ${optsToString}`);
|
|
59
|
+
const optionsAsCamelCase = Object.keys(options || {}).reduce((acc, key) => {
|
|
60
|
+
const camelCaseKey = (0, _lodash().camelCase)(key);
|
|
61
|
+
acc[camelCaseKey] = options[key];
|
|
62
|
+
return acc;
|
|
63
|
+
}, {});
|
|
49
64
|
const startTask = process.hrtime();
|
|
50
|
-
|
|
65
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
66
|
+
const result = await command[outputMethod](args || [], optionsAsCamelCase);
|
|
51
67
|
const duration = (0, _prettyTime().default)(process.hrtime(startTask));
|
|
52
68
|
this.logger.consoleSuccess(`command "${req.params.cmd}" had been completed in ${duration}`);
|
|
53
|
-
|
|
69
|
+
if (outputMethod === 'json') {
|
|
70
|
+
res.json(result);
|
|
71
|
+
} else {
|
|
72
|
+
const data = typeof result === 'string' ? result : result.data;
|
|
73
|
+
const exitCode = typeof result === 'string' ? 0 : result.code;
|
|
74
|
+
res.json({
|
|
75
|
+
data,
|
|
76
|
+
exitCode
|
|
77
|
+
});
|
|
78
|
+
}
|
|
54
79
|
} catch (err) {
|
|
55
80
|
this.logger.error(`command "${req.params.cmd}" had failed`, err);
|
|
56
81
|
this.logger.consoleFailure(`command "${req.params.cmd}" had failed. ${err.message}`);
|
package/dist/cli.route.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_prettyTime","data","_interopRequireDefault","require","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","CLIRoute","constructor","logger","cli","req","debug","params","cmd","command","getCommand","Error","
|
|
1
|
+
{"version":3,"names":["_prettyTime","data","_interopRequireDefault","require","_lodash","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","CLIRoute","constructor","logger","cli","req","debug","params","cmd","command","getCommand","Error","body","args","options","format","outputMethod","optsToString","keys","map","join","console","optionsAsCamelCase","reduce","acc","camelCaseKey","camelCase","startTask","process","hrtime","result","duration","prettyTime","consoleSuccess","json","exitCode","code","err","error","consoleFailure","message","status","jsonp","exports"],"sources":["cli.route.ts"],"sourcesContent":["import { CLIMain } from '@teambit/cli';\nimport prettyTime from 'pretty-time';\nimport { Route, Request, Response } from '@teambit/express';\nimport { Logger } from '@teambit/logger';\nimport { camelCase } from 'lodash';\n\n/**\n * example usage:\n * post to http://localhost:3000/api/cli/list\n * with the following json as the body\n *\n{\n \"args\": [\"teambit.workspace\"],\n \"options\": {\n \"ids\": true\n }\n}\n */\nexport class CLIRoute implements Route {\n constructor(private logger: Logger, private cli: CLIMain) {}\n\n method = 'post';\n route = '/cli/:cmd';\n\n middlewares = [\n async (req: Request, res: Response) => {\n this.logger.debug(`cli server: got request for ${req.params.cmd}`);\n try {\n const command = this.cli.getCommand(req.params.cmd);\n if (!command) throw new Error(`command \"${req.params.cmd}\" was not found`);\n const body = req.body;\n const { args, options, format } = body;\n if (format && format !== 'json' && format !== 'report') throw new Error(`format \"${format}\" is not supported`);\n const outputMethod: 'json' | 'report' = format || 'json';\n if (!command[outputMethod])\n throw new Error(`command \"${req.params.cmd}\" does not have a ${outputMethod} method`);\n const optsToString = Object.keys(options || {})\n .map((key) => `--${key}`)\n .join(' ');\n this.logger.console(\n `started a new ${outputMethod} command: ${req.params.cmd} ${(args || []).join(' ')} ${optsToString}`\n );\n const optionsAsCamelCase = Object.keys(options || {}).reduce((acc, key) => {\n const camelCaseKey = camelCase(key);\n acc[camelCaseKey] = options[key];\n return acc;\n }, {});\n const startTask = process.hrtime();\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const result = await command[outputMethod]!(args || [], optionsAsCamelCase);\n const duration = prettyTime(process.hrtime(startTask));\n this.logger.consoleSuccess(`command \"${req.params.cmd}\" had been completed in ${duration}`);\n if (outputMethod === 'json') {\n res.json(result);\n } else {\n const data = typeof result === 'string' ? result : result.data;\n const exitCode = typeof result === 'string' ? 0 : result.code;\n res.json({ data, exitCode });\n }\n } catch (err: any) {\n this.logger.error(`command \"${req.params.cmd}\" had failed`, err);\n this.logger.consoleFailure(`command \"${req.params.cmd}\" had failed. ${err.message}`);\n res.status(500);\n res.jsonp({\n message: err.message,\n error: err,\n });\n }\n },\n ];\n}\n"],"mappings":"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"}
|
package/dist/ide.route.js
CHANGED
|
@@ -45,7 +45,7 @@ class IDERoute {
|
|
|
45
45
|
const result = await this.apiForIDE[req.params.method](...args);
|
|
46
46
|
const duration = (0, _prettyTime().default)(process.hrtime(startTask));
|
|
47
47
|
this.logger.consoleSuccess(`api-IDE call: ${req.params.method} had been completed in ${duration}`);
|
|
48
|
-
res.json(result);
|
|
48
|
+
res.json(result || {});
|
|
49
49
|
} catch (err) {
|
|
50
50
|
this.logger.error(`api-IDE call: ${req.params.method} had failed`, err);
|
|
51
51
|
this.logger.consoleFailure(`api-IDE call: ${req.params.method} had failed. ${err.message}`);
|
package/dist/ide.route.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_prettyTime","data","_interopRequireDefault","require","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","IDERoute","constructor","logger","apiForIDE","req","debug","params","method","Error","body","args","console","length","startTask","process","hrtime","result","duration","prettyTime","consoleSuccess","json","err","error","consoleFailure","message","status","jsonp","exports"],"sources":["ide.route.ts"],"sourcesContent":["import prettyTime from 'pretty-time';\nimport { Route, Request, Response } from '@teambit/express';\nimport { Logger } from '@teambit/logger';\nimport { APIForIDE } from './api-for-ide';\n\n/**\n * example usage:\n * post to http://localhost:3000/api/ide/list-dirs\n * with the following json as the body\n *\n{\n \"args\": [\"some-args\"]\n}\n */\nexport class IDERoute implements Route {\n constructor(private logger: Logger, private apiForIDE: APIForIDE) {}\n\n method = 'post';\n route = '/ide/:method';\n\n middlewares = [\n async (req: Request, res: Response) => {\n this.logger.debug(`api-IDE: got request for ${req.params.method}`);\n try {\n if (!this.apiForIDE[req.params.method]) {\n throw new Error(`API \"${req.params.method}\" was not found`);\n }\n const body = req.body;\n const { args } = body;\n this.logger.console(`started a new api-IDE call: ${req.params.method}, total: ${args?.length || 0} args`);\n const startTask = process.hrtime();\n const result = await this.apiForIDE[req.params.method](...args);\n const duration = prettyTime(process.hrtime(startTask));\n this.logger.consoleSuccess(`api-IDE call: ${req.params.method} had been completed in ${duration}`);\n res.json(result);\n } catch (err: any) {\n this.logger.error(`api-IDE call: ${req.params.method} had failed`, err);\n this.logger.consoleFailure(`api-IDE call: ${req.params.method} had failed. ${err.message}`);\n res.status(500).jsonp(err.message);\n }\n },\n ];\n}\n"],"mappings":";;;;;;AAAA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAqC,SAAAC,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,gBAAAH,GAAA,EAAAI,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAJ,GAAA,IAAAO,MAAA,CAAAC,cAAA,CAAAR,GAAA,EAAAI,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAI,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAAX,GAAA,CAAAI,GAAA,IAAAC,KAAA,WAAAL,GAAA;AAAA,SAAAM,eAAAM,GAAA,QAAAR,GAAA,GAAAS,YAAA,CAAAD,GAAA,2BAAAR,GAAA,gBAAAA,GAAA,GAAAU,MAAA,CAAAV,GAAA;AAAA,SAAAS,aAAAE,KAAA,EAAAC,IAAA,eAAAD,KAAA,iBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAAG,MAAA,CAAAC,WAAA,OAAAF,IAAA,KAAAG,SAAA,QAAAC,GAAA,GAAAJ,IAAA,CAAAK,IAAA,CAAAP,KAAA,EAAAC,IAAA,2BAAAK,GAAA,sBAAAA,GAAA,YAAAE,SAAA,4DAAAP,IAAA,gBAAAF,MAAA,GAAAU,MAAA,EAAAT,KAAA;AAKrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMU,QAAQ,CAAkB;EACrCC,WAAWA,CAASC,MAAc,EAAUC,SAAoB,EAAE;IAAA,KAA9CD,MAAc,GAAdA,MAAc;IAAA,KAAUC,SAAoB,GAApBA,SAAoB;IAAAzB,eAAA,iBAEvD,MAAM;IAAAA,eAAA,gBACP,cAAc;IAAAA,eAAA,sBAER,CACZ,OAAO0B,GAAY,EAAER,GAAa,KAAK;MACrC,IAAI,CAACM,MAAM,CAACG,KAAK,CAAE,4BAA2BD,GAAG,CAACE,MAAM,CAACC,MAAO,EAAC,CAAC;MAClE,IAAI;QACF,IAAI,CAAC,IAAI,CAACJ,SAAS,CAACC,GAAG,CAACE,MAAM,CAACC,MAAM,CAAC,EAAE;UACtC,MAAM,IAAIC,KAAK,CAAE,QAAOJ,GAAG,CAACE,MAAM,CAACC,MAAO,iBAAgB,CAAC;QAC7D;QACA,MAAME,IAAI,GAAGL,GAAG,CAACK,IAAI;QACrB,MAAM;UAAEC;QAAK,CAAC,GAAGD,IAAI;QACrB,IAAI,CAACP,MAAM,CAACS,OAAO,CAAE,+BAA8BP,GAAG,CAACE,MAAM,CAACC,MAAO,YAAW,CAAAG,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEE,MAAM,KAAI,CAAE,OAAM,CAAC;QACzG,MAAMC,SAAS,GAAGC,OAAO,CAACC,MAAM,CAAC,CAAC;QAClC,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACb,SAAS,CAACC,GAAG,CAACE,MAAM,CAACC,MAAM,CAAC,CAAC,GAAGG,IAAI,CAAC;QAC/D,MAAMO,QAAQ,GAAG,IAAAC,qBAAU,EAACJ,OAAO,CAACC,MAAM,CAACF,SAAS,CAAC,CAAC;QACtD,IAAI,CAACX,MAAM,CAACiB,cAAc,CAAE,iBAAgBf,GAAG,CAACE,MAAM,CAACC,MAAO,0BAAyBU,QAAS,EAAC,CAAC;QAClGrB,GAAG,CAACwB,IAAI,CAACJ,MAAM,CAAC;
|
|
1
|
+
{"version":3,"names":["_prettyTime","data","_interopRequireDefault","require","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","IDERoute","constructor","logger","apiForIDE","req","debug","params","method","Error","body","args","console","length","startTask","process","hrtime","result","duration","prettyTime","consoleSuccess","json","err","error","consoleFailure","message","status","jsonp","exports"],"sources":["ide.route.ts"],"sourcesContent":["import prettyTime from 'pretty-time';\nimport { Route, Request, Response } from '@teambit/express';\nimport { Logger } from '@teambit/logger';\nimport { APIForIDE } from './api-for-ide';\n\n/**\n * example usage:\n * post to http://localhost:3000/api/ide/list-dirs\n * with the following json as the body\n *\n{\n \"args\": [\"some-args\"]\n}\n */\nexport class IDERoute implements Route {\n constructor(private logger: Logger, private apiForIDE: APIForIDE) {}\n\n method = 'post';\n route = '/ide/:method';\n\n middlewares = [\n async (req: Request, res: Response) => {\n this.logger.debug(`api-IDE: got request for ${req.params.method}`);\n try {\n if (!this.apiForIDE[req.params.method]) {\n throw new Error(`API \"${req.params.method}\" was not found`);\n }\n const body = req.body;\n const { args } = body;\n this.logger.console(`started a new api-IDE call: ${req.params.method}, total: ${args?.length || 0} args`);\n const startTask = process.hrtime();\n const result = await this.apiForIDE[req.params.method](...args);\n const duration = prettyTime(process.hrtime(startTask));\n this.logger.consoleSuccess(`api-IDE call: ${req.params.method} had been completed in ${duration}`);\n res.json(result || {});\n } catch (err: any) {\n this.logger.error(`api-IDE call: ${req.params.method} had failed`, err);\n this.logger.consoleFailure(`api-IDE call: ${req.params.method} had failed. ${err.message}`);\n res.status(500).jsonp(err.message);\n }\n },\n ];\n}\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,34 +1,36 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/api-server",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.176",
|
|
4
4
|
"homepage": "https://bit.cloud/teambit/harmony/api-server",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "teambit.harmony",
|
|
8
8
|
"name": "api-server",
|
|
9
|
-
"version": "0.0.
|
|
9
|
+
"version": "0.0.176"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"fs-extra": "10.0.0",
|
|
13
13
|
"p-map": "4.0.0",
|
|
14
|
+
"lodash": "4.17.21",
|
|
14
15
|
"pretty-time": "1.1.0",
|
|
15
16
|
"@teambit/harmony": "0.4.6",
|
|
16
|
-
"@teambit/checkout": "0.0.
|
|
17
|
-
"@teambit/component-log": "0.0.
|
|
18
|
-
"@teambit/export": "0.0.
|
|
19
|
-
"@teambit/install": "0.0.
|
|
20
|
-
"@teambit/lanes": "0.0.
|
|
21
|
-
"@teambit/merging": "0.0.
|
|
22
|
-
"@teambit/snapping": "0.0.
|
|
23
|
-
"@teambit/workspace": "0.0.
|
|
17
|
+
"@teambit/checkout": "0.0.333",
|
|
18
|
+
"@teambit/component-log": "0.0.541",
|
|
19
|
+
"@teambit/export": "0.0.1164",
|
|
20
|
+
"@teambit/install": "0.0.248",
|
|
21
|
+
"@teambit/lanes": "0.0.736",
|
|
22
|
+
"@teambit/merging": "0.0.479",
|
|
23
|
+
"@teambit/snapping": "0.0.479",
|
|
24
|
+
"@teambit/workspace": "0.0.1164",
|
|
24
25
|
"@teambit/cli": "0.0.776",
|
|
25
|
-
"@teambit/component": "0.0.
|
|
26
|
+
"@teambit/component": "0.0.1164",
|
|
26
27
|
"@teambit/express": "0.0.875",
|
|
27
28
|
"@teambit/logger": "0.0.869",
|
|
28
|
-
"@teambit/watcher": "0.0.
|
|
29
|
+
"@teambit/watcher": "0.0.176"
|
|
29
30
|
},
|
|
30
31
|
"devDependencies": {
|
|
31
32
|
"@types/fs-extra": "9.0.7",
|
|
33
|
+
"@types/lodash": "4.14.165",
|
|
32
34
|
"@types/mocha": "9.1.0",
|
|
33
35
|
"@types/node": "12.20.4",
|
|
34
36
|
"@types/react": "^17.0.8",
|
|
File without changes
|