@teambit/api-server 1.0.383 → 1.0.385

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <testsuites tests="0" failures="0" errors="0" skipped="0">
3
- <testsuite name="teambit.harmony/api-server@1.0.383" tests="0" failures="0" errors="0" skipped="0"/>
3
+ <testsuite name="teambit.harmony/api-server@1.0.385" tests="0" failures="0" errors="0" skipped="0"/>
4
4
  </testsuites>
@@ -1326,7 +1326,7 @@
1326
1326
  "componentId": {
1327
1327
  "scope": "teambit.harmony",
1328
1328
  "name": "api-server",
1329
- "version": "1.0.383"
1329
+ "version": "1.0.385"
1330
1330
  },
1331
1331
  "taggedModuleExports": []
1332
1332
  }
@@ -216,7 +216,7 @@ class APIForIDE {
216
216
  // const dirName = filenamify(compId.toString(), { replacement: '_' });
217
217
  const filePathsRootDir = _path().default.join(this.workspace.scope.path, FILES_HISTORY_DIR, LAST_SNAP_DIR, compDir);
218
218
  await _fsExtra().default.remove(filePathsRootDir); // in case it has old data
219
-
219
+ await _fsExtra().default.ensureDir(filePathsRootDir);
220
220
  const modelComponent = await this.workspace.scope.getBitObjectModelComponent(compId);
221
221
  if (!modelComponent) {
222
222
  throw new Error(`unable to find ${compId.toString()} in the local scope, please run "bit import"`);
@@ -1 +1 @@
1
- {"version":3,"names":["_path","data","_interopRequireDefault","require","_fsExtra","_legacy","_pMap","_consumer","_lodash","_constants","_laneId","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","FILES_HISTORY_DIR","LAST_SNAP_DIR","CMD_HISTORY","APIForIDE","constructor","workspace","snapping","lanes","installer","exporter","checkout","componentLog","componentCompare","generator","remove","config","logStartCmdHistory","op","str","writeToCmdHistory","logFinishCmdHistory","code","endStr","fs","appendFile","path","join","scope","Date","toISOString","listIdsWithPaths","ids","listIds","reduce","acc","id","toStringWithoutVersion","componentDir","getMainFilePath","compId","resolveComponentId","comp","get","state","mainFile","getWorkspaceHistory","current","bitMap","getPath","bitmapHistoryDir","consumer","getBitmapHistoryDir","historyPaths","readdir","historyMetadata","getParsedBitmapHistoryMetadata","history","map","historyPath","fileName","basename","fileId","replace","reason","historySorted","sort","a","b","fileIdToTimestamp","getConfigHistory","workspaceConfig","Error","configHistoryDir","getBackupHistoryDir","getParsedHistoryMetadata","getBackupMetadataFilePath","importLane","laneName","skipDependencyInstallation","results","switchLanes","components","c","toString","getCurrentLaneObject","currentLane","getCurrentLane","undefined","head","name","log","isNew","forkedFrom","listLanes","getLanes","showDefaultLane","createLane","includes","LANE_REMOTE_DELIMITER","laneId","LaneId","parse","getCompFiles","dirAbs","filesRelative","filesystem","files","file","relative","getCompFilesDirPathFromLastSnap","hasVersion","compDir","ignoreVersion","filePathsRootDir","modelComponent","getBitObjectModelComponent","versionObject","getBitObjectVersion","version","sourceFiles","modelFilesToSourceFiles","legacyScope","objects","Promise","all","filePath","outputFile","contents","pathJoinLinux","catObject","hash","object","getRawObject","JSON","stringify","content","logFile","getFileHistoryHashes","changedFilesFromParent","getChangedFilesFromParent","getConfigForDiff","getConfigForDiffById","setDefaultScope","scopeName","getDefaultScope","defaultScope","getCompFilesDirPathFromLastSnapUsingCompFiles","compFiles","getHeadFiles","warmWorkspaceCache","warmCache","clearCache","clearAllComponentsCache","install","options","opts","optimizeReportForNonTerminal","dedupe","updateExisting","import","export","componentsIds","removedIds","exportedLanes","rippleJobs","rippleJobsFullUrls","job","getCloudDomain","l","checkoutHead","skipNpmInstall","adjustCheckoutResultsToIde","getTemplates","templates","listTemplates","createComponent","templateName","idIncludeScope","nameSplit","split","generateComponentTemplate","removeComponent","componentsPattern","force","serializedResults","localResult","serialize","switchLane","output","failedComponents","skipped","f","unchangedLegitimately","failed","succeed","getModifiedByConfig","modifiedComps","modified","wsComp","getConfigForDiffByCompObject","scopeComp","hasSameDeps","dependencies","hasSameAspects","aspects","result","compact","getDataToInitSCM","pMap","getFilesModification","pathsFromLastSnap","idStr","filesStatus","getFilesStatus","concurrency","componentId","getCompFilesDirPathFromLastSnapForAllComps","compResults","getCurrentLaneName","getCurrentLaneId","tagOrSnap","message","params","build","isOnMain","tag","snap","taggedComponents","snappedComponents","exports","dateStr","year","month","day","hours","minutes","seconds","date","getTime"],"sources":["api-for-ide.ts"],"sourcesContent":["import path from 'path';\nimport fs from 'fs-extra';\nimport { CompFiles, Workspace, FilesStatus } from '@teambit/workspace';\nimport { PathOsBasedAbsolute, PathOsBasedRelative, pathJoinLinux } from '@teambit/legacy.utils';\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';\nimport { ComponentCompareMain } from '@teambit/component-compare';\nimport { GeneratorMain } from '@teambit/generator';\nimport { getParsedHistoryMetadata } from '@teambit/legacy/dist/consumer/consumer';\nimport RemovedObjects from '@teambit/legacy/dist/scope/removed-components';\nimport { RemoveMain } from '@teambit/remove';\nimport { compact } from 'lodash';\nimport { getCloudDomain } from '@teambit/legacy/dist/constants';\nimport { ConfigMain } from '@teambit/config';\nimport { LANE_REMOTE_DELIMITER, LaneId } from '@teambit/lane-id';\n\nconst FILES_HISTORY_DIR = 'files-history';\nconst LAST_SNAP_DIR = 'last-snap';\nconst CMD_HISTORY = 'command-history-ide';\n\ntype PathLinux = string; // problematic to get it from @teambit/legacy/dist/utils/path.\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\ntype ModifiedByConfig = {\n id: string;\n version: string;\n dependencies?: { workspace: string[]; scope: string[] };\n aspects?: { workspace: Record<string, any>; scope: Record<string, any> };\n};\n\ntype WorkspaceHistory = {\n current: PathOsBasedAbsolute;\n history: Array<{ path: PathOsBasedAbsolute; fileId: string; reason?: 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 private componentCompare: ComponentCompareMain,\n private generator: GeneratorMain,\n private remove: RemoveMain,\n private config: ConfigMain\n ) {}\n\n async logStartCmdHistory(op: string) {\n const str = `${op}, started`;\n await this.writeToCmdHistory(str);\n }\n\n async logFinishCmdHistory(op: string, code: number) {\n const endStr = code === 0 ? 'succeeded' : 'failed';\n const str = `${op}, ${endStr}`;\n await this.writeToCmdHistory(str);\n }\n\n private async writeToCmdHistory(str: string) {\n await fs.appendFile(path.join(this.workspace.scope.path, CMD_HISTORY), `${new Date().toISOString()} ${str}\\n`);\n }\n\n async listIdsWithPaths() {\n const ids = 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 getWorkspaceHistory(): Promise<WorkspaceHistory> {\n const current = this.workspace.bitMap.getPath();\n const bitmapHistoryDir = this.workspace.consumer.getBitmapHistoryDir();\n const historyPaths = await fs.readdir(bitmapHistoryDir);\n const historyMetadata = await this.workspace.consumer.getParsedBitmapHistoryMetadata();\n const history = historyPaths.map((historyPath) => {\n const fileName = path.basename(historyPath);\n const fileId = fileName.replace('.bitmap-', '');\n const reason = historyMetadata[fileId];\n return { path: path.join(bitmapHistoryDir, fileName), fileId, reason };\n });\n const historySorted = history.sort((a, b) => fileIdToTimestamp(b.fileId) - fileIdToTimestamp(a.fileId));\n\n return { current, history: historySorted };\n }\n\n async getConfigHistory(): Promise<WorkspaceHistory> {\n const workspaceConfig = this.config.workspaceConfig;\n if (!workspaceConfig) throw new Error('getConfigHistory(), workspace config is missing');\n const current = workspaceConfig.path;\n const configHistoryDir = workspaceConfig.getBackupHistoryDir();\n const historyPaths = await fs.readdir(configHistoryDir);\n const historyMetadata = await getParsedHistoryMetadata(workspaceConfig.getBackupMetadataFilePath());\n const history = historyPaths.map((historyPath) => {\n const fileName = path.basename(historyPath);\n const fileId = fileName;\n const reason = historyMetadata[fileId];\n return { path: path.join(configHistoryDir, fileName), fileId, reason };\n });\n const historySorted = history.sort((a, b) => fileIdToTimestamp(b.fileId) - fileIdToTimestamp(a.fileId));\n\n return { current, history: historySorted };\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 });\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 = currentLane.components.map((c) => {\n return {\n id: c.id.toStringWithoutVersion(),\n head: c.head.toString(),\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 if (name.includes(LANE_REMOTE_DELIMITER)) {\n const laneId = LaneId.parse(name);\n return this.lanes.createLane(laneId.name, { scope: laneId.scope });\n }\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 getConfigForDiff(id: string) {\n const results = await this.componentCompare.getConfigForDiffById(id);\n return results;\n }\n\n async setDefaultScope(scopeName: string) {\n await this.workspace.setDefaultScope(scopeName);\n return scopeName;\n }\n\n getDefaultScope() {\n return this.workspace.defaultScope;\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 this.workspace.clearAllComponentsCache();\n }\n\n async install(options = {}) {\n const opts = {\n optimizeReportForNonTerminal: true,\n dedupe: true,\n updateExisting: false,\n import: false,\n ...options,\n };\n\n return this.installer.install(undefined, opts);\n }\n\n async export() {\n const { componentsIds, removedIds, exportedLanes, rippleJobs } = await this.exporter.export();\n const rippleJobsFullUrls = rippleJobs.map((job) => `https://${getCloudDomain()}/ripple-ci/job/${job}`);\n return {\n componentsIds: componentsIds.map((c) => c.toString()),\n removedIds: removedIds.map((c) => c.toString()),\n exportedLanes: exportedLanes.map((l) => l.id()),\n rippleJobs: rippleJobsFullUrls,\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 getTemplates() {\n const templates = await this.generator.listTemplates();\n return templates;\n }\n\n async createComponent(templateName: string, idIncludeScope: string) {\n if (!idIncludeScope.includes('/')) {\n throw new Error('id should include the scope name');\n }\n const [scope, ...nameSplit] = idIncludeScope.split('/');\n return this.generator.generateComponentTemplate([nameSplit.join('/')], templateName, { scope });\n }\n\n async removeComponent(id: string) {\n const results = await this.remove.remove({\n componentsPattern: id,\n force: true,\n });\n const serializedResults = (results.localResult as RemovedObjects).serialize();\n return serializedResults;\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 getModifiedByConfig(): Promise<ModifiedByConfig[]> {\n const modifiedComps = await this.workspace.modified();\n const results = await Promise.all(\n modifiedComps.map(async (comp) => {\n const wsComp = await this.componentCompare.getConfigForDiffByCompObject(comp);\n const scopeComp = await this.componentCompare.getConfigForDiffById(comp.id.toString());\n const hasSameDeps = JSON.stringify(wsComp.dependencies) === JSON.stringify(scopeComp.dependencies);\n const hasSameAspects = JSON.stringify(wsComp.aspects) === JSON.stringify(scopeComp.aspects);\n if (hasSameDeps && hasSameAspects) return null;\n const result: ModifiedByConfig = {\n id: comp.id.toStringWithoutVersion(),\n version: comp.id.version as string,\n };\n if (!hasSameDeps) result.dependencies = { workspace: wsComp.dependencies, scope: scopeComp.dependencies || [] };\n if (!hasSameAspects) result.aspects = { workspace: wsComp.aspects, scope: scopeComp.aspects || {} };\n return result;\n })\n );\n\n return compact(results);\n }\n\n async getDataToInitSCM(): Promise<DataToInitSCM> {\n const ids = 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 = 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\nfunction fileIdToTimestamp(dateStr: string): number {\n const [year, month, day, hours, minutes, seconds] = dateStr.split('-');\n const date = new Date(Number(year), Number(month) - 1, Number(day), Number(hours), Number(minutes), Number(seconds));\n return date.getTime();\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_path","data","_interopRequireDefault","require","_fsExtra","_legacy","_pMap","_consumer","_lodash","_constants","_laneId","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","FILES_HISTORY_DIR","LAST_SNAP_DIR","CMD_HISTORY","APIForIDE","constructor","workspace","snapping","lanes","installer","exporter","checkout","componentLog","componentCompare","generator","remove","config","logStartCmdHistory","op","str","writeToCmdHistory","logFinishCmdHistory","code","endStr","fs","appendFile","path","join","scope","Date","toISOString","listIdsWithPaths","ids","listIds","reduce","acc","id","toStringWithoutVersion","componentDir","getMainFilePath","compId","resolveComponentId","comp","get","state","mainFile","getWorkspaceHistory","current","bitMap","getPath","bitmapHistoryDir","consumer","getBitmapHistoryDir","historyPaths","readdir","historyMetadata","getParsedBitmapHistoryMetadata","history","map","historyPath","fileName","basename","fileId","replace","reason","historySorted","sort","a","b","fileIdToTimestamp","getConfigHistory","workspaceConfig","Error","configHistoryDir","getBackupHistoryDir","getParsedHistoryMetadata","getBackupMetadataFilePath","importLane","laneName","skipDependencyInstallation","results","switchLanes","components","c","toString","getCurrentLaneObject","currentLane","getCurrentLane","undefined","head","name","log","isNew","forkedFrom","listLanes","getLanes","showDefaultLane","createLane","includes","LANE_REMOTE_DELIMITER","laneId","LaneId","parse","getCompFiles","dirAbs","filesRelative","filesystem","files","file","relative","getCompFilesDirPathFromLastSnap","hasVersion","compDir","ignoreVersion","filePathsRootDir","ensureDir","modelComponent","getBitObjectModelComponent","versionObject","getBitObjectVersion","version","sourceFiles","modelFilesToSourceFiles","legacyScope","objects","Promise","all","filePath","outputFile","contents","pathJoinLinux","catObject","hash","object","getRawObject","JSON","stringify","content","logFile","getFileHistoryHashes","changedFilesFromParent","getChangedFilesFromParent","getConfigForDiff","getConfigForDiffById","setDefaultScope","scopeName","getDefaultScope","defaultScope","getCompFilesDirPathFromLastSnapUsingCompFiles","compFiles","getHeadFiles","warmWorkspaceCache","warmCache","clearCache","clearAllComponentsCache","install","options","opts","optimizeReportForNonTerminal","dedupe","updateExisting","import","export","componentsIds","removedIds","exportedLanes","rippleJobs","rippleJobsFullUrls","job","getCloudDomain","l","checkoutHead","skipNpmInstall","adjustCheckoutResultsToIde","getTemplates","templates","listTemplates","createComponent","templateName","idIncludeScope","nameSplit","split","generateComponentTemplate","removeComponent","componentsPattern","force","serializedResults","localResult","serialize","switchLane","output","failedComponents","skipped","f","unchangedLegitimately","failed","succeed","getModifiedByConfig","modifiedComps","modified","wsComp","getConfigForDiffByCompObject","scopeComp","hasSameDeps","dependencies","hasSameAspects","aspects","result","compact","getDataToInitSCM","pMap","getFilesModification","pathsFromLastSnap","idStr","filesStatus","getFilesStatus","concurrency","componentId","getCompFilesDirPathFromLastSnapForAllComps","compResults","getCurrentLaneName","getCurrentLaneId","tagOrSnap","message","params","build","isOnMain","tag","snap","taggedComponents","snappedComponents","exports","dateStr","year","month","day","hours","minutes","seconds","date","getTime"],"sources":["api-for-ide.ts"],"sourcesContent":["import path from 'path';\nimport fs from 'fs-extra';\nimport { CompFiles, Workspace, FilesStatus } from '@teambit/workspace';\nimport { PathOsBasedAbsolute, PathOsBasedRelative, pathJoinLinux } from '@teambit/legacy.utils';\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';\nimport { ComponentCompareMain } from '@teambit/component-compare';\nimport { GeneratorMain } from '@teambit/generator';\nimport { getParsedHistoryMetadata } from '@teambit/legacy/dist/consumer/consumer';\nimport RemovedObjects from '@teambit/legacy/dist/scope/removed-components';\nimport { RemoveMain } from '@teambit/remove';\nimport { compact } from 'lodash';\nimport { getCloudDomain } from '@teambit/legacy/dist/constants';\nimport { ConfigMain } from '@teambit/config';\nimport { LANE_REMOTE_DELIMITER, LaneId } from '@teambit/lane-id';\n\nconst FILES_HISTORY_DIR = 'files-history';\nconst LAST_SNAP_DIR = 'last-snap';\nconst CMD_HISTORY = 'command-history-ide';\n\ntype PathLinux = string; // problematic to get it from @teambit/legacy/dist/utils/path.\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\ntype ModifiedByConfig = {\n id: string;\n version: string;\n dependencies?: { workspace: string[]; scope: string[] };\n aspects?: { workspace: Record<string, any>; scope: Record<string, any> };\n};\n\ntype WorkspaceHistory = {\n current: PathOsBasedAbsolute;\n history: Array<{ path: PathOsBasedAbsolute; fileId: string; reason?: 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 private componentCompare: ComponentCompareMain,\n private generator: GeneratorMain,\n private remove: RemoveMain,\n private config: ConfigMain\n ) {}\n\n async logStartCmdHistory(op: string) {\n const str = `${op}, started`;\n await this.writeToCmdHistory(str);\n }\n\n async logFinishCmdHistory(op: string, code: number) {\n const endStr = code === 0 ? 'succeeded' : 'failed';\n const str = `${op}, ${endStr}`;\n await this.writeToCmdHistory(str);\n }\n\n private async writeToCmdHistory(str: string) {\n await fs.appendFile(path.join(this.workspace.scope.path, CMD_HISTORY), `${new Date().toISOString()} ${str}\\n`);\n }\n\n async listIdsWithPaths() {\n const ids = 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 getWorkspaceHistory(): Promise<WorkspaceHistory> {\n const current = this.workspace.bitMap.getPath();\n const bitmapHistoryDir = this.workspace.consumer.getBitmapHistoryDir();\n const historyPaths = await fs.readdir(bitmapHistoryDir);\n const historyMetadata = await this.workspace.consumer.getParsedBitmapHistoryMetadata();\n const history = historyPaths.map((historyPath) => {\n const fileName = path.basename(historyPath);\n const fileId = fileName.replace('.bitmap-', '');\n const reason = historyMetadata[fileId];\n return { path: path.join(bitmapHistoryDir, fileName), fileId, reason };\n });\n const historySorted = history.sort((a, b) => fileIdToTimestamp(b.fileId) - fileIdToTimestamp(a.fileId));\n\n return { current, history: historySorted };\n }\n\n async getConfigHistory(): Promise<WorkspaceHistory> {\n const workspaceConfig = this.config.workspaceConfig;\n if (!workspaceConfig) throw new Error('getConfigHistory(), workspace config is missing');\n const current = workspaceConfig.path;\n const configHistoryDir = workspaceConfig.getBackupHistoryDir();\n const historyPaths = await fs.readdir(configHistoryDir);\n const historyMetadata = await getParsedHistoryMetadata(workspaceConfig.getBackupMetadataFilePath());\n const history = historyPaths.map((historyPath) => {\n const fileName = path.basename(historyPath);\n const fileId = fileName;\n const reason = historyMetadata[fileId];\n return { path: path.join(configHistoryDir, fileName), fileId, reason };\n });\n const historySorted = history.sort((a, b) => fileIdToTimestamp(b.fileId) - fileIdToTimestamp(a.fileId));\n\n return { current, history: historySorted };\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 });\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 = currentLane.components.map((c) => {\n return {\n id: c.id.toStringWithoutVersion(),\n head: c.head.toString(),\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 if (name.includes(LANE_REMOTE_DELIMITER)) {\n const laneId = LaneId.parse(name);\n return this.lanes.createLane(laneId.name, { scope: laneId.scope });\n }\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 await fs.ensureDir(filePathsRootDir);\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 getConfigForDiff(id: string) {\n const results = await this.componentCompare.getConfigForDiffById(id);\n return results;\n }\n\n async setDefaultScope(scopeName: string) {\n await this.workspace.setDefaultScope(scopeName);\n return scopeName;\n }\n\n getDefaultScope() {\n return this.workspace.defaultScope;\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 this.workspace.clearAllComponentsCache();\n }\n\n async install(options = {}) {\n const opts = {\n optimizeReportForNonTerminal: true,\n dedupe: true,\n updateExisting: false,\n import: false,\n ...options,\n };\n\n return this.installer.install(undefined, opts);\n }\n\n async export() {\n const { componentsIds, removedIds, exportedLanes, rippleJobs } = await this.exporter.export();\n const rippleJobsFullUrls = rippleJobs.map((job) => `https://${getCloudDomain()}/ripple-ci/job/${job}`);\n return {\n componentsIds: componentsIds.map((c) => c.toString()),\n removedIds: removedIds.map((c) => c.toString()),\n exportedLanes: exportedLanes.map((l) => l.id()),\n rippleJobs: rippleJobsFullUrls,\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 getTemplates() {\n const templates = await this.generator.listTemplates();\n return templates;\n }\n\n async createComponent(templateName: string, idIncludeScope: string) {\n if (!idIncludeScope.includes('/')) {\n throw new Error('id should include the scope name');\n }\n const [scope, ...nameSplit] = idIncludeScope.split('/');\n return this.generator.generateComponentTemplate([nameSplit.join('/')], templateName, { scope });\n }\n\n async removeComponent(id: string) {\n const results = await this.remove.remove({\n componentsPattern: id,\n force: true,\n });\n const serializedResults = (results.localResult as RemovedObjects).serialize();\n return serializedResults;\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 getModifiedByConfig(): Promise<ModifiedByConfig[]> {\n const modifiedComps = await this.workspace.modified();\n const results = await Promise.all(\n modifiedComps.map(async (comp) => {\n const wsComp = await this.componentCompare.getConfigForDiffByCompObject(comp);\n const scopeComp = await this.componentCompare.getConfigForDiffById(comp.id.toString());\n const hasSameDeps = JSON.stringify(wsComp.dependencies) === JSON.stringify(scopeComp.dependencies);\n const hasSameAspects = JSON.stringify(wsComp.aspects) === JSON.stringify(scopeComp.aspects);\n if (hasSameDeps && hasSameAspects) return null;\n const result: ModifiedByConfig = {\n id: comp.id.toStringWithoutVersion(),\n version: comp.id.version as string,\n };\n if (!hasSameDeps) result.dependencies = { workspace: wsComp.dependencies, scope: scopeComp.dependencies || [] };\n if (!hasSameAspects) result.aspects = { workspace: wsComp.aspects, scope: scopeComp.aspects || {} };\n return result;\n })\n );\n\n return compact(results);\n }\n\n async getDataToInitSCM(): Promise<DataToInitSCM> {\n const ids = 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 = 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\nfunction fileIdToTimestamp(dateStr: string): number {\n const [year, month, day, hours, minutes, seconds] = dateStr.split('-');\n const date = new Date(Number(year), Number(month) - 1, Number(day), Number(hours), Number(minutes), Number(seconds));\n return date.getTime();\n}\n"],"mappings":"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","ignoreList":[]}
package/dist/ide.route.js CHANGED
@@ -44,7 +44,7 @@ class IDERoute {
44
44
  // don't use "logger.console" here, we don't want these message to pollute cli-raw output
45
45
  const msgStart = `[*] started a new api-IDE call: ${req.params.method}, total: ${args?.length || 0} args`;
46
46
  this.logger.info(msgStart);
47
- console.log(); // eslint-disable-line no-console
47
+ console.log(msgStart); // eslint-disable-line no-console
48
48
  const randomNumber = Math.floor(Math.random() * 10000); // helps to distinguish between commands in the log
49
49
  ideCallLog = `${randomNumber} ${req.params.method}(${getArgsAsString(args)})`;
50
50
  await this.apiForIDE.logStartCmdHistory(ideCallLog);
@@ -1 +1 @@
1
- {"version":3,"names":["_prettyTime","data","_interopRequireDefault","require","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","IDERoute","constructor","logger","apiForIDE","req","res","debug","params","method","ideCallLog","Error","body","args","msgStart","length","info","console","log","randomNumber","Math","floor","random","getArgsAsString","logStartCmdHistory","startTask","process","hrtime","result","duration","prettyTime","msgEnd","logFinishCmdHistory","json","err","msgErr","error","message","status","jsonp","exports","map","arg","toString","JSON","stringify","join"],"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 let ideCallLog: string | undefined;\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 // don't use \"logger.console\" here, we don't want these message to pollute cli-raw output\n const msgStart = `[*] started a new api-IDE call: ${req.params.method}, total: ${args?.length || 0} args`;\n this.logger.info(msgStart);\n console.log(); // eslint-disable-line no-console\n const randomNumber = Math.floor(Math.random() * 10000); // helps to distinguish between commands in the log\n ideCallLog = `${randomNumber} ${req.params.method}(${getArgsAsString(args)})`;\n await this.apiForIDE.logStartCmdHistory(ideCallLog);\n const startTask = process.hrtime();\n const result = await this.apiForIDE[req.params.method](...args);\n const duration = prettyTime(process.hrtime(startTask));\n const msgEnd = `✔ api-IDE call: ${req.params.method} had been completed in ${duration}`;\n this.logger.info(msgEnd);\n console.log(msgEnd); // eslint-disable-line no-console\n await this.apiForIDE.logFinishCmdHistory(ideCallLog, 0);\n res.json(result);\n } catch (err: any) {\n const msgErr = `api-IDE call: ${req.params.method} had failed`;\n this.logger.error(msgErr, err);\n console.error(`api-IDE call: ${req.params.method} had failed. ${err.message}`); // eslint-disable-line no-console\n if (ideCallLog) await this.apiForIDE.logFinishCmdHistory(ideCallLog, 1);\n res.status(500).jsonp(err.message);\n }\n },\n ];\n}\n\nfunction getArgsAsString(args?: any[]) {\n if (!args) return '';\n return args\n .map((arg) => {\n if (typeof arg === 'string') return arg;\n if (typeof arg === 'number') return arg.toString();\n return JSON.stringify(arg);\n })\n .join(' ');\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_prettyTime","data","_interopRequireDefault","require","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","IDERoute","constructor","logger","apiForIDE","req","res","debug","params","method","ideCallLog","Error","body","args","msgStart","length","info","console","log","randomNumber","Math","floor","random","getArgsAsString","logStartCmdHistory","startTask","process","hrtime","result","duration","prettyTime","msgEnd","logFinishCmdHistory","json","err","msgErr","error","message","status","jsonp","exports","map","arg","toString","JSON","stringify","join"],"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 let ideCallLog: string | undefined;\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 // don't use \"logger.console\" here, we don't want these message to pollute cli-raw output\n const msgStart = `[*] started a new api-IDE call: ${req.params.method}, total: ${args?.length || 0} args`;\n this.logger.info(msgStart);\n console.log(msgStart); // eslint-disable-line no-console\n const randomNumber = Math.floor(Math.random() * 10000); // helps to distinguish between commands in the log\n ideCallLog = `${randomNumber} ${req.params.method}(${getArgsAsString(args)})`;\n await this.apiForIDE.logStartCmdHistory(ideCallLog);\n const startTask = process.hrtime();\n const result = await this.apiForIDE[req.params.method](...args);\n const duration = prettyTime(process.hrtime(startTask));\n const msgEnd = `✔ api-IDE call: ${req.params.method} had been completed in ${duration}`;\n this.logger.info(msgEnd);\n console.log(msgEnd); // eslint-disable-line no-console\n await this.apiForIDE.logFinishCmdHistory(ideCallLog, 0);\n res.json(result);\n } catch (err: any) {\n const msgErr = `api-IDE call: ${req.params.method} had failed`;\n this.logger.error(msgErr, err);\n console.error(`api-IDE call: ${req.params.method} had failed. ${err.message}`); // eslint-disable-line no-console\n if (ideCallLog) await this.apiForIDE.logFinishCmdHistory(ideCallLog, 1);\n res.status(500).jsonp(err.message);\n }\n },\n ];\n}\n\nfunction getArgsAsString(args?: any[]) {\n if (!args) return '';\n return args\n .map((arg) => {\n if (typeof arg === 'string') return arg;\n if (typeof arg === 'number') return arg.toString();\n return JSON.stringify(arg);\n })\n .join(' ');\n}\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/api-server",
3
- "version": "1.0.383",
3
+ "version": "1.0.385",
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": "1.0.383"
9
+ "version": "1.0.385"
10
10
  },
11
11
  "dependencies": {
12
12
  "fs-extra": "10.0.0",
@@ -18,27 +18,27 @@
18
18
  "pretty-time": "1.1.0",
19
19
  "@teambit/lane-id": "0.0.311",
20
20
  "@teambit/harmony": "0.4.6",
21
- "@teambit/checkout": "1.0.383",
22
- "@teambit/component-compare": "1.0.383",
23
- "@teambit/component-log": "1.0.383",
24
- "@teambit/config": "0.0.1134",
25
- "@teambit/export": "1.0.383",
26
- "@teambit/generator": "1.0.384",
27
- "@teambit/install": "1.0.383",
28
- "@teambit/lanes": "1.0.383",
21
+ "@teambit/checkout": "1.0.385",
22
+ "@teambit/component-compare": "1.0.385",
23
+ "@teambit/component-log": "1.0.385",
24
+ "@teambit/config": "0.0.1136",
25
+ "@teambit/export": "1.0.385",
26
+ "@teambit/generator": "1.0.386",
27
+ "@teambit/install": "1.0.385",
28
+ "@teambit/lanes": "1.0.385",
29
29
  "@teambit/legacy.utils": "0.0.4",
30
- "@teambit/merging": "1.0.383",
31
- "@teambit/remove": "1.0.383",
32
- "@teambit/snapping": "1.0.383",
33
- "@teambit/workspace": "1.0.383",
34
- "@teambit/cli": "0.0.960",
35
- "@teambit/component": "1.0.383",
36
- "@teambit/express": "0.0.1059",
30
+ "@teambit/merging": "1.0.385",
31
+ "@teambit/remove": "1.0.385",
32
+ "@teambit/snapping": "1.0.385",
33
+ "@teambit/workspace": "1.0.385",
34
+ "@teambit/cli": "0.0.962",
35
+ "@teambit/component": "1.0.385",
36
+ "@teambit/express": "0.0.1061",
37
37
  "@teambit/harmony.modules.send-server-sent-events": "0.0.3",
38
- "@teambit/importer": "1.0.383",
39
- "@teambit/logger": "0.0.1053",
38
+ "@teambit/importer": "1.0.385",
39
+ "@teambit/logger": "0.0.1055",
40
40
  "@teambit/toolbox.network.get-port": "1.0.6",
41
- "@teambit/watcher": "1.0.383",
41
+ "@teambit/watcher": "1.0.385",
42
42
  "@teambit/harmony.modules.feature-toggle": "0.0.5"
43
43
  },
44
44
  "devDependencies": {