@teambit/api-server 1.0.486 → 1.0.488

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.486" tests="0" failures="0" errors="0" skipped="0"/>
3
+ <testsuite name="teambit.harmony/api-server@1.0.488" tests="0" failures="0" errors="0" skipped="0"/>
4
4
  </testsuites>
@@ -1382,7 +1382,7 @@
1382
1382
  "componentId": {
1383
1383
  "scope": "teambit.harmony",
1384
1384
  "name": "api-server",
1385
- "version": "1.0.486"
1385
+ "version": "1.0.488"
1386
1386
  },
1387
1387
  "taggedModuleExports": []
1388
1388
  }
@@ -6,7 +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
+ import { LaneLog } from '@teambit/scope.objects';
10
10
  import { ComponentCompareMain } from '@teambit/component-compare';
11
11
  import { GeneratorMain } from '@teambit/generator';
12
12
  import { RemoveMain } from '@teambit/remove';
@@ -30,7 +30,7 @@ type LaneObj = {
30
30
  name: string;
31
31
  scope: string;
32
32
  id: string;
33
- log: Log;
33
+ log: LaneLog;
34
34
  components: Array<{
35
35
  id: string;
36
36
  head: string;
@@ -98,7 +98,7 @@ export declare class APIForIDE {
98
98
  skipDependencyInstallation?: boolean;
99
99
  }): Promise<string[]>;
100
100
  getCurrentLaneObject(): Promise<LaneObj | undefined>;
101
- listLanes(): Promise<import("@teambit/legacy/dist/scope/lanes/lanes").LaneData[]>;
101
+ listLanes(): Promise<import("@teambit/legacy.scope").LaneData[]>;
102
102
  createLane(name: string): Promise<import("@teambit/lanes").CreateLaneResult>;
103
103
  getCompsMetadata(): Promise<CompMetadata[]>;
104
104
  private getEnvIconsFullPath;
@@ -142,7 +142,7 @@ export declare class APIForIDE {
142
142
  }>;
143
143
  getTemplates(): Promise<import("@teambit/generator/generator.main.runtime").TemplateDescriptor[]>;
144
144
  createComponent(templateName: string, idIncludeScope: string): Promise<import("@teambit/generator").GenerateResult[]>;
145
- removeComponent(componentsPattern: string): Promise<import("@teambit/legacy/dist/scope/removed-components").RemovedObjectSerialized>;
145
+ removeComponent(componentsPattern: string): Promise<import("@teambit/legacy.scope").RemovedObjectSerialized>;
146
146
  deleteComponents(componentsPattern: string, opts: any): Promise<string[]>;
147
147
  deprecateComponent(id: string, newId?: string, range?: string): Promise<boolean>;
148
148
  undeprecateComponent(id: string): Promise<boolean>;
@@ -159,7 +159,7 @@ export declare class APIForIDE {
159
159
  [relativePath: string]: string;
160
160
  }>;
161
161
  getCurrentLaneName(): string;
162
- tagOrSnap(message?: string): Promise<import("@teambit/snapping").SnapResults | import("@teambit/snapping").TagResults | null>;
162
+ tagOrSnap(message?: string): Promise<import("@teambit/snapping").TagResults | import("@teambit/snapping").SnapResults | null>;
163
163
  tag(message?: string): Promise<string[]>;
164
164
  snap(message?: string): Promise<string[]>;
165
165
  }
@@ -39,9 +39,9 @@ function _pMap() {
39
39
  };
40
40
  return data;
41
41
  }
42
- function _consumer() {
43
- const data = require("@teambit/legacy/dist/consumer/consumer");
44
- _consumer = function () {
42
+ function _legacy2() {
43
+ const data = require("@teambit/legacy.consumer");
44
+ _legacy2 = function () {
45
45
  return data;
46
46
  };
47
47
  return data;
@@ -152,7 +152,7 @@ class APIForIDE {
152
152
  const current = workspaceConfig.path;
153
153
  const configHistoryDir = workspaceConfig.getBackupHistoryDir();
154
154
  const historyPaths = await _fsExtra().default.readdir(configHistoryDir);
155
- const historyMetadata = await (0, _consumer().getParsedHistoryMetadata)(workspaceConfig.getBackupMetadataFilePath());
155
+ const historyMetadata = await (0, _legacy2().getParsedHistoryMetadata)(workspaceConfig.getBackupMetadataFilePath());
156
156
  const history = historyPaths.map(historyPath => {
157
157
  const fileName = _path().default.basename(historyPath);
158
158
  const fileId = fileName;
@@ -1 +1 @@
1
- {"version":3,"names":["_path","data","_interopRequireDefault","require","_fsExtra","_filenamify","_legacy","_pMap","_consumer","_lodash","_laneId","_nodeFetch","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","ENV_ICONS_DIR","LAST_SNAP_DIR","CMD_HISTORY","APIForIDE","constructor","workspace","snapping","lanes","installer","exporter","checkout","componentLog","componentCompare","generator","remove","config","application","deprecation","envs","logStartCmdHistory","op","str","writeToCmdHistory","logFinishCmdHistory","code","endStr","getProcessPid","process","pid","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","getCompsMetadata","comps","list","apps","listAppsIdsAndNames","pMap","deprecationInfo","getDeprecationInfo","foundApp","find","app","env","getEnv","isDeprecated","isDeprecate","appName","icon","concurrency","allIcons","uniq","compact","iconsMap","getEnvIconsMapFetchIfMissing","localIconPath","getEnvIconsFullPath","getExistingEnvIcons","existingEnvIcons","envIconsDir","ensureDir","existingIcons","icons","Promise","all","iconFileName","filenamify","replacement","fullIconPath","res","fetch","err","message","svgText","text","outputFile","getCompFiles","dirAbs","filesRelative","filesystem","files","file","relative","getCompFilesDirPathFromLastSnap","hasVersion","compDir","ignoreVersion","filePathsRootDir","modelComponent","getBitObjectModelComponent","versionObject","getBitObjectVersion","version","sourceFiles","modelFilesToSourceFiles","legacyScope","objects","filePath","contents","pathJoinLinux","catObject","hash","object","getRawObject","JSON","stringify","content","logFile","getFileHistoryHashes","blame","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","rippleJobUrls","l","rippleJobs","checkoutHead","skipNpmInstall","adjustCheckoutResultsToIde","getTemplates","templates","listTemplates","createComponent","templateName","idIncludeScope","nameSplit","split","generateComponentTemplate","removeComponent","componentsPattern","force","serializedResults","localResult","serialize","deleteComponents","deleteComps","deprecateComponent","newId","range","deprecateByCLIValues","undeprecateComponent","unDeprecateByCLIValues","switchLane","output","failedComponents","skipped","f","unchangedLegitimately","failed","succeed","getModifiedByConfig","modifiedComps","modified","autoTagIds","listAutoTagPendingComponentIds","autoTagComps","getMany","locallyDeletedIds","locallyDeletedComps","allComps","allIds","wsComp","getConfigForDiffByCompObject","scopeComp","hasSameDeps","dependencies","hasSameAspects","aspects","result","getDataToInitSCM","getFilesModification","pathsFromLastSnap","idStr","filesStatus","getFilesStatus","componentId","getCompFilesDirPathFromLastSnapForAllComps","compResults","getCurrentLaneName","getCurrentLaneId","tagOrSnap","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 filenamify from 'filenamify';\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, uniq } from 'lodash';\nimport { ConfigMain } from '@teambit/config';\nimport { LANE_REMOTE_DELIMITER, LaneId } from '@teambit/lane-id';\nimport { ApplicationMain } from '@teambit/application';\nimport { DeprecationMain } from '@teambit/deprecation';\nimport { EnvsMain } from '@teambit/envs';\nimport fetch from 'node-fetch';\n\nconst FILES_HISTORY_DIR = 'files-history';\nconst ENV_ICONS_DIR = 'env-icons';\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\ntype CompMetadata = {\n id: string;\n isDeprecated: boolean;\n appName?: string; // in case it's an app\n env: {\n id: string;\n name?: string;\n icon: string;\n localIconPath?: string;\n };\n};\n\nexport class APIForIDE {\n private existingEnvIcons: string[] | undefined;\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 private application: ApplicationMain,\n private deprecation: DeprecationMain,\n private envs: EnvsMain\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 getProcessPid() {\n return process.pid;\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 getCompsMetadata(): Promise<CompMetadata[]> {\n const comps = await this.workspace.list();\n const apps = await this.application.listAppsIdsAndNames();\n const results: CompMetadata[] = await pMap(\n comps,\n async (comp) => {\n const id = comp.id;\n const deprecationInfo = await this.deprecation.getDeprecationInfo(comp);\n const foundApp = apps.find((app) => app.id === id.toString());\n const env = this.envs.getEnv(comp);\n return {\n id: id.toStringWithoutVersion(),\n isDeprecated: deprecationInfo.isDeprecate,\n appName: foundApp?.name,\n env: {\n id: env.id,\n name: env.name,\n icon: env.icon,\n },\n };\n },\n { concurrency: 30 }\n );\n const allIcons = uniq(compact(results.map((r) => r.env.icon)));\n const iconsMap = await this.getEnvIconsMapFetchIfMissing(allIcons);\n results.forEach((r) => {\n r.env.localIconPath = iconsMap[r.env.icon];\n });\n return results;\n }\n\n private getEnvIconsFullPath() {\n return path.join(this.workspace.scope.path, ENV_ICONS_DIR);\n }\n\n private async getExistingEnvIcons(): Promise<string[]> {\n if (!this.existingEnvIcons) {\n const envIconsDir = this.getEnvIconsFullPath();\n await fs.ensureDir(envIconsDir);\n const existingIcons = await fs.readdir(envIconsDir);\n this.existingEnvIcons = existingIcons;\n }\n return this.existingEnvIcons;\n }\n\n private async getEnvIconsMapFetchIfMissing(icons: string[]): Promise<{ [iconHttpUrl: string]: string }> {\n const existingIcons = await this.getExistingEnvIcons();\n const iconsMap: Record<string, string> = {};\n await Promise.all(\n icons.map(async (icon) => {\n const iconFileName = filenamify(icon, { replacement: '-' });\n const fullIconPath = path.join(this.workspace.scope.path, ENV_ICONS_DIR, iconFileName);\n if (existingIcons.includes(iconFileName)) {\n iconsMap[icon] = fullIconPath;\n return;\n }\n let res;\n // download the icon from the url and save it locally.\n try {\n res = await fetch(icon);\n } catch (err: any) {\n throw new Error(`failed to get the icon from ${icon}, error: ${err.message}`);\n }\n const svgText = await res.text();\n await fs.outputFile(fullIconPath, svgText);\n iconsMap[icon] = fullIconPath;\n this.existingEnvIcons?.push(iconFileName);\n })\n );\n return iconsMap;\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 blame(filePath: string) {\n const results = await this.componentLog.blame(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, rippleJobUrls } = 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 rippleJobs: rippleJobUrls, // for backward compatibility. bit-extension until 1.1.52 expects rippleJobs.\n rippleJobUrls,\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(\n [nameSplit.join('/')],\n templateName,\n { scope },\n { optimizeReportForNonTerminal: true }\n );\n }\n\n async removeComponent(componentsPattern: string) {\n const results = await this.remove.remove({\n componentsPattern,\n force: true,\n });\n const serializedResults = (results.localResult as RemovedObjects).serialize();\n return serializedResults;\n }\n\n async deleteComponents(componentsPattern: string, opts): Promise<string[]> {\n const results = await this.remove.deleteComps(componentsPattern, opts);\n const serializedResults = results.map((c) => c.id.toString());\n return serializedResults;\n }\n\n async deprecateComponent(id: string, newId?: string, range?: string): Promise<boolean> {\n return this.deprecation.deprecateByCLIValues(id, newId, range);\n }\n async undeprecateComponent(id: string): Promise<boolean> {\n return this.deprecation.unDeprecateByCLIValues(id);\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 autoTagIds = await this.workspace.listAutoTagPendingComponentIds();\n const autoTagComps = await this.workspace.getMany(autoTagIds);\n const locallyDeletedIds = await this.workspace.locallyDeletedIds();\n const locallyDeletedComps = await this.workspace.getMany(locallyDeletedIds);\n const allComps = [...modifiedComps, ...autoTagComps, ...locallyDeletedComps];\n const allIds = allComps.map((c) => c.id);\n const results = await Promise.all(\n allComps.map(async (comp) => {\n const wsComp = await this.componentCompare.getConfigForDiffByCompObject(comp, allIds);\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","_filenamify","_legacy","_pMap","_legacy2","_lodash","_laneId","_nodeFetch","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","ENV_ICONS_DIR","LAST_SNAP_DIR","CMD_HISTORY","APIForIDE","constructor","workspace","snapping","lanes","installer","exporter","checkout","componentLog","componentCompare","generator","remove","config","application","deprecation","envs","logStartCmdHistory","op","str","writeToCmdHistory","logFinishCmdHistory","code","endStr","getProcessPid","process","pid","fs","appendFile","path","join","scope","Date","toISOString","listIdsWithPaths","ids","listIds","reduce","acc","id","toStringWithoutVersion","componentDir","getMainFilePath","compId","resolveComponentId","comp","get","state","_consumer","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","getCompsMetadata","comps","list","apps","listAppsIdsAndNames","pMap","deprecationInfo","getDeprecationInfo","foundApp","find","app","env","getEnv","isDeprecated","isDeprecate","appName","icon","concurrency","allIcons","uniq","compact","iconsMap","getEnvIconsMapFetchIfMissing","localIconPath","getEnvIconsFullPath","getExistingEnvIcons","existingEnvIcons","envIconsDir","ensureDir","existingIcons","icons","Promise","all","iconFileName","filenamify","replacement","fullIconPath","res","fetch","err","message","svgText","text","outputFile","getCompFiles","dirAbs","filesRelative","filesystem","files","file","relative","getCompFilesDirPathFromLastSnap","hasVersion","compDir","ignoreVersion","filePathsRootDir","modelComponent","getBitObjectModelComponent","versionObject","getBitObjectVersion","version","sourceFiles","modelFilesToSourceFiles","legacyScope","objects","filePath","contents","pathJoinLinux","catObject","hash","object","getRawObject","JSON","stringify","content","logFile","getFileHistoryHashes","blame","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","rippleJobUrls","l","rippleJobs","checkoutHead","skipNpmInstall","adjustCheckoutResultsToIde","getTemplates","templates","listTemplates","createComponent","templateName","idIncludeScope","nameSplit","split","generateComponentTemplate","removeComponent","componentsPattern","force","serializedResults","localResult","serialize","deleteComponents","deleteComps","deprecateComponent","newId","range","deprecateByCLIValues","undeprecateComponent","unDeprecateByCLIValues","switchLane","output","failedComponents","skipped","f","unchangedLegitimately","failed","succeed","getModifiedByConfig","modifiedComps","modified","autoTagIds","listAutoTagPendingComponentIds","autoTagComps","getMany","locallyDeletedIds","locallyDeletedComps","allComps","allIds","wsComp","getConfigForDiffByCompObject","scopeComp","hasSameDeps","dependencies","hasSameAspects","aspects","result","getDataToInitSCM","getFilesModification","pathsFromLastSnap","idStr","filesStatus","getFilesStatus","componentId","getCompFilesDirPathFromLastSnapForAllComps","compResults","getCurrentLaneName","getCurrentLaneId","tagOrSnap","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 filenamify from 'filenamify';\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 { LaneLog } from '@teambit/scope.objects';\nimport { ComponentCompareMain } from '@teambit/component-compare';\nimport { GeneratorMain } from '@teambit/generator';\nimport { getParsedHistoryMetadata } from '@teambit/legacy.consumer';\nimport { RemovedObjects } from '@teambit/legacy.scope';\nimport { RemoveMain } from '@teambit/remove';\nimport { compact, uniq } from 'lodash';\nimport { ConfigMain } from '@teambit/config';\nimport { LANE_REMOTE_DELIMITER, LaneId } from '@teambit/lane-id';\nimport { ApplicationMain } from '@teambit/application';\nimport { DeprecationMain } from '@teambit/deprecation';\nimport { EnvsMain } from '@teambit/envs';\nimport fetch from 'node-fetch';\n\nconst FILES_HISTORY_DIR = 'files-history';\nconst ENV_ICONS_DIR = 'env-icons';\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: LaneLog;\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\ntype CompMetadata = {\n id: string;\n isDeprecated: boolean;\n appName?: string; // in case it's an app\n env: {\n id: string;\n name?: string;\n icon: string;\n localIconPath?: string;\n };\n};\n\nexport class APIForIDE {\n private existingEnvIcons: string[] | undefined;\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 private application: ApplicationMain,\n private deprecation: DeprecationMain,\n private envs: EnvsMain\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 getProcessPid() {\n return process.pid;\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 getCompsMetadata(): Promise<CompMetadata[]> {\n const comps = await this.workspace.list();\n const apps = await this.application.listAppsIdsAndNames();\n const results: CompMetadata[] = await pMap(\n comps,\n async (comp) => {\n const id = comp.id;\n const deprecationInfo = await this.deprecation.getDeprecationInfo(comp);\n const foundApp = apps.find((app) => app.id === id.toString());\n const env = this.envs.getEnv(comp);\n return {\n id: id.toStringWithoutVersion(),\n isDeprecated: deprecationInfo.isDeprecate,\n appName: foundApp?.name,\n env: {\n id: env.id,\n name: env.name,\n icon: env.icon,\n },\n };\n },\n { concurrency: 30 }\n );\n const allIcons = uniq(compact(results.map((r) => r.env.icon)));\n const iconsMap = await this.getEnvIconsMapFetchIfMissing(allIcons);\n results.forEach((r) => {\n r.env.localIconPath = iconsMap[r.env.icon];\n });\n return results;\n }\n\n private getEnvIconsFullPath() {\n return path.join(this.workspace.scope.path, ENV_ICONS_DIR);\n }\n\n private async getExistingEnvIcons(): Promise<string[]> {\n if (!this.existingEnvIcons) {\n const envIconsDir = this.getEnvIconsFullPath();\n await fs.ensureDir(envIconsDir);\n const existingIcons = await fs.readdir(envIconsDir);\n this.existingEnvIcons = existingIcons;\n }\n return this.existingEnvIcons;\n }\n\n private async getEnvIconsMapFetchIfMissing(icons: string[]): Promise<{ [iconHttpUrl: string]: string }> {\n const existingIcons = await this.getExistingEnvIcons();\n const iconsMap: Record<string, string> = {};\n await Promise.all(\n icons.map(async (icon) => {\n const iconFileName = filenamify(icon, { replacement: '-' });\n const fullIconPath = path.join(this.workspace.scope.path, ENV_ICONS_DIR, iconFileName);\n if (existingIcons.includes(iconFileName)) {\n iconsMap[icon] = fullIconPath;\n return;\n }\n let res;\n // download the icon from the url and save it locally.\n try {\n res = await fetch(icon);\n } catch (err: any) {\n throw new Error(`failed to get the icon from ${icon}, error: ${err.message}`);\n }\n const svgText = await res.text();\n await fs.outputFile(fullIconPath, svgText);\n iconsMap[icon] = fullIconPath;\n this.existingEnvIcons?.push(iconFileName);\n })\n );\n return iconsMap;\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 blame(filePath: string) {\n const results = await this.componentLog.blame(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, rippleJobUrls } = 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 rippleJobs: rippleJobUrls, // for backward compatibility. bit-extension until 1.1.52 expects rippleJobs.\n rippleJobUrls,\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(\n [nameSplit.join('/')],\n templateName,\n { scope },\n { optimizeReportForNonTerminal: true }\n );\n }\n\n async removeComponent(componentsPattern: string) {\n const results = await this.remove.remove({\n componentsPattern,\n force: true,\n });\n const serializedResults = (results.localResult as RemovedObjects).serialize();\n return serializedResults;\n }\n\n async deleteComponents(componentsPattern: string, opts): Promise<string[]> {\n const results = await this.remove.deleteComps(componentsPattern, opts);\n const serializedResults = results.map((c) => c.id.toString());\n return serializedResults;\n }\n\n async deprecateComponent(id: string, newId?: string, range?: string): Promise<boolean> {\n return this.deprecation.deprecateByCLIValues(id, newId, range);\n }\n async undeprecateComponent(id: string): Promise<boolean> {\n return this.deprecation.unDeprecateByCLIValues(id);\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 autoTagIds = await this.workspace.listAutoTagPendingComponentIds();\n const autoTagComps = await this.workspace.getMany(autoTagIds);\n const locallyDeletedIds = await this.workspace.locallyDeletedIds();\n const locallyDeletedComps = await this.workspace.getMany(locallyDeletedIds);\n const allComps = [...modifiedComps, ...autoTagComps, ...locallyDeletedComps];\n const allIds = allComps.map((c) => c.id);\n const results = await Promise.all(\n allComps.map(async (comp) => {\n const wsComp = await this.componentCompare.getConfigForDiffByCompObject(comp, allIds);\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":[]}
@@ -228,16 +228,16 @@ function _envs() {
228
228
  };
229
229
  return data;
230
230
  }
231
- function _http() {
232
- const data = require("@teambit/legacy/dist/scope/network/http/http");
233
- _http = function () {
231
+ function _scope() {
232
+ const data = require("@teambit/scope.network");
233
+ _scope = function () {
234
234
  return data;
235
235
  };
236
236
  return data;
237
237
  }
238
- function _constants() {
239
- const data = require("@teambit/legacy/dist/constants");
240
- _constants = function () {
238
+ function _legacy() {
239
+ const data = require("@teambit/legacy.constants");
240
+ _legacy = function () {
241
241
  return data;
242
242
  };
243
243
  return data;
@@ -303,11 +303,11 @@ class ApiServerMain {
303
303
  credentials: true
304
304
  }));
305
305
  const proxyHeaders = {
306
- Authorization: `${_http().DEFAULT_AUTH_TYPE} ${_http().Http.getToken()}`,
306
+ Authorization: `${_scope().DEFAULT_AUTH_TYPE} ${_scope().Http.getToken()}`,
307
307
  origin: '',
308
308
  'user-agent': 'bit-vscode-proxy'
309
309
  };
310
- const symphonyUrl = (0, _constants().getSymphonyUrl)();
310
+ const symphonyUrl = (0, _legacy().getSymphonyUrl)();
311
311
  app.use('/api/cloud-graphql',
312
312
  // eslint-disable-next-line @typescript-eslint/no-misused-promises
313
313
  (0, _httpProxyMiddleware().createProxyMiddleware)({
@@ -1 +1 @@
1
- {"version":3,"names":["_cli","data","require","_toolboxNetwork","_fsExtra","_interopRequireDefault","_express","_logger","_lanes","_remove","_snapping","_generator","_componentCompare","_componentLog","_watcher","_config","_export","_checkout","_install","_importer","_workspace","_harmonyModules","_cors","_httpProxyMiddleware","_apiServer","_cli2","_server","_ide","_apiForIde","_sseEvents","_path","_cliRaw","_application","_deprecation","_envs","_http","_constants","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","ApiServerMain","constructor","workspace","logger","express","watcher","installer","importer","runApiServer","options","Error","process","cwd","registerOnComponentChange","component","files","removedFiles","sendEventsToClients","id","toStringWithoutVersion","registerOnBitmapChange","lastModifiedTimestamp","bitMap","getLastModifiedBitmapThroughBit","secondsPassedSinceLastModified","Date","now","debug","importCurrentObjects","registerOnWorkspaceConfigChange","scope","registerOnPostExport","registerPostInstall","watch","preCompile","compile","catch","err","error","port","getRandomPort","app","createApp","use","cors","origin","callback","credentials","proxyHeaders","Authorization","DEFAULT_AUTH_TYPE","Http","getToken","symphonyUrl","getSymphonyUrl","createProxyMiddleware","target","changeOrigin","headers","on","req","res","writeHead","end","proxyReq","fixRequestBody","proxyRes","server","listen","Promise","resolve","reject","consoleSuccess","writeUsedPort","filePath","getServerPortFilePath","fs","writeFileSync","toString","startingPort","randomNumber","Math","floor","random","Port","getPort","getExistingUsedPort","fileContent","readFile","parseInt","code","undefined","join","path","provider","cli","loggerMain","snapping","lanes","exporter","checkout","componentLog","componentCompare","generator","remove","config","application","deprecation","envs","createLogger","ApiServerAspect","apiServer","register","ServerCmd","apiForIDE","APIForIDE","cliRoute","CLIRoute","cliRawRoute","CLIRawRoute","ideRoute","IDERoute","sseEventsRoute","SSEEventsRoute","exports","CLIAspect","WorkspaceAspect","LoggerAspect","ExpressAspect","WatcherAspect","SnappingAspect","LanesAspect","InstallAspect","ExportAspect","CheckoutAspect","ComponentLogAspect","ImporterAspect","ComponentCompareAspect","GeneratorAspect","RemoveAspect","ConfigAspect","ApplicationAspect","DeprecationAspect","EnvsAspect","MainRuntime","addRuntime","_default"],"sources":["api-server.main.runtime.ts"],"sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { Port } from '@teambit/toolbox.network.get-port';\nimport fs from 'fs-extra';\nimport { ExpressAspect, ExpressMain } from '@teambit/express';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { LanesAspect, LanesMain } from '@teambit/lanes';\nimport { RemoveAspect, RemoveMain } from '@teambit/remove';\nimport { SnappingAspect, SnappingMain } from '@teambit/snapping';\nimport { GeneratorAspect, GeneratorMain } from '@teambit/generator';\nimport { ComponentCompareAspect, ComponentCompareMain } from '@teambit/component-compare';\nimport { ComponentLogAspect, ComponentLogMain } from '@teambit/component-log';\nimport { WatcherAspect, WatcherMain } from '@teambit/watcher';\nimport { ConfigAspect, ConfigMain } from '@teambit/config';\nimport { ExportAspect, ExportMain } from '@teambit/export';\nimport { CheckoutAspect, CheckoutMain } from '@teambit/checkout';\nimport { InstallAspect, InstallMain } from '@teambit/install';\nimport { ImporterAspect, ImporterMain } from '@teambit/importer';\nimport { Component } from '@teambit/component';\nimport { WorkspaceAspect, Workspace } from '@teambit/workspace';\nimport { sendEventsToClients } from '@teambit/harmony.modules.send-server-sent-events';\nimport cors from 'cors';\nimport { createProxyMiddleware, fixRequestBody } from 'http-proxy-middleware';\nimport { ApiServerAspect } from './api-server.aspect';\nimport { CLIRoute } from './cli.route';\nimport { ServerCmd } from './server.cmd';\nimport { IDERoute } from './ide.route';\nimport { APIForIDE } from './api-for-ide';\nimport { SSEEventsRoute } from './sse-events.route';\nimport { join } from 'path';\nimport { CLIRawRoute } from './cli-raw.route';\nimport { ApplicationAspect, ApplicationMain } from '@teambit/application';\nimport { DeprecationAspect, DeprecationMain } from '@teambit/deprecation';\nimport { EnvsAspect, EnvsMain } from '@teambit/envs';\nimport { DEFAULT_AUTH_TYPE, Http } from '@teambit/legacy/dist/scope/network/http/http';\nimport { getSymphonyUrl } from '@teambit/legacy/dist/constants';\n\nexport class ApiServerMain {\n constructor(\n private workspace: Workspace,\n private logger: Logger,\n private express: ExpressMain,\n private watcher: WatcherMain,\n private installer: InstallMain,\n private importer: ImporterMain\n ) {}\n\n async runApiServer(options: { port: number; compile: boolean }) {\n if (!this.workspace) {\n throw new Error(`unable to run bit-server, the current directory ${process.cwd()} is not a workspace`);\n }\n\n this.workspace.registerOnComponentChange(\n async (\n component: Component,\n files: string[], // os absolute paths\n removedFiles?: string[] // os absolute paths\n ) => {\n sendEventsToClients('onComponentChange', {\n id: component.id.toStringWithoutVersion(),\n files,\n removedFiles,\n });\n }\n );\n\n this.workspace.registerOnBitmapChange(async () => {\n const lastModifiedTimestamp = await this.workspace.bitMap.getLastModifiedBitmapThroughBit();\n const secondsPassedSinceLastModified = lastModifiedTimestamp && (Date.now() - lastModifiedTimestamp) / 1000;\n if (secondsPassedSinceLastModified && secondsPassedSinceLastModified > 1) {\n // changes by bit were done more than a second ago, so probably this .bitmap change was done by \"git pull\"\n this.logger.debug(\n `running import because we assume the .bitmap file has changed due to \"git pull\", last time it was modified by bit was ${secondsPassedSinceLastModified} seconds ago`\n );\n await this.importer.importCurrentObjects();\n }\n sendEventsToClients('onBitmapChange', {});\n });\n\n this.workspace.registerOnWorkspaceConfigChange(async () => {\n sendEventsToClients('onWorkspaceConfigChange', {});\n });\n\n this.workspace.scope.registerOnPostExport(async () => {\n sendEventsToClients('onPostExport', {});\n });\n\n this.installer.registerPostInstall(async () => {\n sendEventsToClients('onPostInstall', {});\n });\n\n this.watcher\n .watch({\n preCompile: false,\n compile: options.compile,\n })\n .catch((err) => {\n // don't throw an error, we don't want to break the \"run\" process\n this.logger.error('watcher found an error', err);\n });\n\n const port = options.port || (await this.getRandomPort());\n\n const app = this.express.createApp();\n\n app.use(\n // @ts-ignore todo: it's not clear what's the issue.\n cors({\n origin(origin, callback) {\n callback(null, true);\n },\n credentials: true,\n })\n );\n const proxyHeaders = {\n Authorization: `${DEFAULT_AUTH_TYPE} ${Http.getToken()}`,\n origin: '',\n 'user-agent': 'bit-vscode-proxy',\n };\n const symphonyUrl = getSymphonyUrl();\n app.use(\n '/api/cloud-graphql',\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n createProxyMiddleware({\n target: `https://${symphonyUrl}/graphql`,\n changeOrigin: true,\n headers: proxyHeaders,\n on: {\n error: (err, req, res) => {\n this.logger.error('graphql cloud proxy error', err);\n // @ts-ignore\n res.writeHead(500, {\n 'Content-Type': 'text/plain',\n });\n res.end('Something went wrong with the proxy server of bit cloud graphql');\n },\n proxyReq: fixRequestBody,\n },\n })\n );\n\n app.use(\n '/api/cloud-rest',\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n createProxyMiddleware({\n target: `https://${symphonyUrl}`,\n changeOrigin: true,\n headers: proxyHeaders,\n on: {\n proxyRes: (proxyRes) => {\n proxyRes.headers['Access-Control-Allow-Credentials'] = 'true';\n },\n error: (err, req, res) => {\n this.logger.error('rest cloud proxy error', err);\n // @ts-ignore\n res.writeHead(500, {\n 'Content-Type': 'text/plain',\n });\n res.end('Something went wrong with the proxy server of bit cloud rest');\n },\n proxyReq: fixRequestBody,\n },\n })\n );\n\n const server = await app.listen(port);\n\n return new Promise((resolve, reject) => {\n server.on('error', (err) => {\n reject(err);\n });\n server.on('listening', () => {\n this.logger.consoleSuccess(`Bit Server is listening on port ${port}`);\n this.writeUsedPort(port);\n resolve(port);\n });\n });\n }\n\n writeUsedPort(port: number) {\n const filePath = this.getServerPortFilePath();\n fs.writeFileSync(filePath, port.toString());\n }\n\n async getRandomPort() {\n const startingPort = 4000; // we prefer to have the ports between 4000 and 4999.\n // get random number in the range of [startingPort, 4999].\n const randomNumber = Math.floor(Math.random() * (4999 - startingPort + 1) + startingPort);\n const port = await Port.getPort(randomNumber, 65500);\n return port;\n }\n\n async getExistingUsedPort(): Promise<number | undefined> {\n const filePath = this.getServerPortFilePath();\n try {\n const fileContent = await fs.readFile(filePath, 'utf8');\n return parseInt(fileContent, 10);\n } catch (err: any) {\n if (err.code === 'ENOENT') {\n return undefined;\n }\n throw err;\n }\n }\n\n private getServerPortFilePath() {\n return join(this.workspace.scope.path, 'server-port.txt');\n }\n\n static dependencies = [\n CLIAspect,\n WorkspaceAspect,\n LoggerAspect,\n ExpressAspect,\n WatcherAspect,\n SnappingAspect,\n LanesAspect,\n InstallAspect,\n ExportAspect,\n CheckoutAspect,\n ComponentLogAspect,\n ImporterAspect,\n ComponentCompareAspect,\n GeneratorAspect,\n RemoveAspect,\n ConfigAspect,\n ApplicationAspect,\n DeprecationAspect,\n EnvsAspect,\n ];\n static runtime = MainRuntime;\n static async provider([\n cli,\n workspace,\n loggerMain,\n express,\n watcher,\n snapping,\n lanes,\n installer,\n exporter,\n checkout,\n componentLog,\n importer,\n componentCompare,\n generator,\n remove,\n config,\n application,\n deprecation,\n envs,\n ]: [\n CLIMain,\n Workspace,\n LoggerMain,\n ExpressMain,\n WatcherMain,\n SnappingMain,\n LanesMain,\n InstallMain,\n ExportMain,\n CheckoutMain,\n ComponentLogMain,\n ImporterMain,\n ComponentCompareMain,\n GeneratorMain,\n RemoveMain,\n ConfigMain,\n ApplicationMain,\n DeprecationMain,\n EnvsMain,\n ]) {\n const logger = loggerMain.createLogger(ApiServerAspect.id);\n const apiServer = new ApiServerMain(workspace, logger, express, watcher, installer, importer);\n cli.register(new ServerCmd(apiServer));\n\n const apiForIDE = new APIForIDE(\n workspace,\n snapping,\n lanes,\n installer,\n exporter,\n checkout,\n componentLog,\n componentCompare,\n generator,\n remove,\n config,\n application,\n deprecation,\n envs\n );\n const cliRoute = new CLIRoute(logger, cli, apiForIDE);\n const cliRawRoute = new CLIRawRoute(logger, cli, apiForIDE);\n const ideRoute = new IDERoute(logger, apiForIDE);\n const sseEventsRoute = new SSEEventsRoute(logger, cli);\n // register only when the workspace is available. don't register this on a remote-scope, for security reasons.\n if (workspace) {\n express.register([cliRoute, cliRawRoute, ideRoute, sseEventsRoute]);\n }\n\n return apiServer;\n }\n}\n\nApiServerAspect.addRuntime(ApiServerMain);\n\nexport default ApiServerMain;\n"],"mappings":";;;;;;AAAA,SAAAA,KAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,IAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,gBAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,eAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,SAAA;EAAA,MAAAH,IAAA,GAAAI,sBAAA,CAAAH,OAAA;EAAAE,QAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,SAAA;EAAA,MAAAL,IAAA,GAAAC,OAAA;EAAAI,QAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAM,QAAA;EAAA,MAAAN,IAAA,GAAAC,OAAA;EAAAK,OAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAO,OAAA;EAAA,MAAAP,IAAA,GAAAC,OAAA;EAAAM,MAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAQ,QAAA;EAAA,MAAAR,IAAA,GAAAC,OAAA;EAAAO,OAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAS,UAAA;EAAA,MAAAT,IAAA,GAAAC,OAAA;EAAAQ,SAAA,YAAAA,CAAA;IAAA,OAAAT,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAU,WAAA;EAAA,MAAAV,IAAA,GAAAC,OAAA;EAAAS,UAAA,YAAAA,CAAA;IAAA,OAAAV,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAW,kBAAA;EAAA,MAAAX,IAAA,GAAAC,OAAA;EAAAU,iBAAA,YAAAA,CAAA;IAAA,OAAAX,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAY,cAAA;EAAA,MAAAZ,IAAA,GAAAC,OAAA;EAAAW,aAAA,YAAAA,CAAA;IAAA,OAAAZ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAa,SAAA;EAAA,MAAAb,IAAA,GAAAC,OAAA;EAAAY,QAAA,YAAAA,CAAA;IAAA,OAAAb,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAc,QAAA;EAAA,MAAAd,IAAA,GAAAC,OAAA;EAAAa,OAAA,YAAAA,CAAA;IAAA,OAAAd,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAe,QAAA;EAAA,MAAAf,IAAA,GAAAC,OAAA;EAAAc,OAAA,YAAAA,CAAA;IAAA,OAAAf,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAgB,UAAA;EAAA,MAAAhB,IAAA,GAAAC,OAAA;EAAAe,SAAA,YAAAA,CAAA;IAAA,OAAAhB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAiB,SAAA;EAAA,MAAAjB,IAAA,GAAAC,OAAA;EAAAgB,QAAA,YAAAA,CAAA;IAAA,OAAAjB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAkB,UAAA;EAAA,MAAAlB,IAAA,GAAAC,OAAA;EAAAiB,SAAA,YAAAA,CAAA;IAAA,OAAAlB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAmB,WAAA;EAAA,MAAAnB,IAAA,GAAAC,OAAA;EAAAkB,UAAA,YAAAA,CAAA;IAAA,OAAAnB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAoB,gBAAA;EAAA,MAAApB,IAAA,GAAAC,OAAA;EAAAmB,eAAA,YAAAA,CAAA;IAAA,OAAApB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAqB,MAAA;EAAA,MAAArB,IAAA,GAAAI,sBAAA,CAAAH,OAAA;EAAAoB,KAAA,YAAAA,CAAA;IAAA,OAAArB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAsB,qBAAA;EAAA,MAAAtB,IAAA,GAAAC,OAAA;EAAAqB,oBAAA,YAAAA,CAAA;IAAA,OAAAtB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAuB,WAAA;EAAA,MAAAvB,IAAA,GAAAC,OAAA;EAAAsB,UAAA,YAAAA,CAAA;IAAA,OAAAvB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAwB,MAAA;EAAA,MAAAxB,IAAA,GAAAC,OAAA;EAAAuB,KAAA,YAAAA,CAAA;IAAA,OAAAxB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAyB,QAAA;EAAA,MAAAzB,IAAA,GAAAC,OAAA;EAAAwB,OAAA,YAAAA,CAAA;IAAA,OAAAzB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA0B,KAAA;EAAA,MAAA1B,IAAA,GAAAC,OAAA;EAAAyB,IAAA,YAAAA,CAAA;IAAA,OAAA1B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA2B,WAAA;EAAA,MAAA3B,IAAA,GAAAC,OAAA;EAAA0B,UAAA,YAAAA,CAAA;IAAA,OAAA3B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA4B,WAAA;EAAA,MAAA5B,IAAA,GAAAC,OAAA;EAAA2B,UAAA,YAAAA,CAAA;IAAA,OAAA5B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA6B,MAAA;EAAA,MAAA7B,IAAA,GAAAC,OAAA;EAAA4B,KAAA,YAAAA,CAAA;IAAA,OAAA7B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA8B,QAAA;EAAA,MAAA9B,IAAA,GAAAC,OAAA;EAAA6B,OAAA,YAAAA,CAAA;IAAA,OAAA9B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA+B,aAAA;EAAA,MAAA/B,IAAA,GAAAC,OAAA;EAAA8B,YAAA,YAAAA,CAAA;IAAA,OAAA/B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAgC,aAAA;EAAA,MAAAhC,IAAA,GAAAC,OAAA;EAAA+B,YAAA,YAAAA,CAAA;IAAA,OAAAhC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAiC,MAAA;EAAA,MAAAjC,IAAA,GAAAC,OAAA;EAAAgC,KAAA,YAAAA,CAAA;IAAA,OAAAjC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAkC,MAAA;EAAA,MAAAlC,IAAA,GAAAC,OAAA;EAAAiC,KAAA,YAAAA,CAAA;IAAA,OAAAlC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAmC,WAAA;EAAA,MAAAnC,IAAA,GAAAC,OAAA;EAAAkC,UAAA,YAAAA,CAAA;IAAA,OAAAnC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAgE,SAAAI,uBAAAgC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,gBAAAH,CAAA,EAAAI,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAE,cAAA,CAAAF,CAAA,MAAAJ,CAAA,GAAAO,MAAA,CAAAC,cAAA,CAAAR,CAAA,EAAAI,CAAA,IAAAK,KAAA,EAAAJ,CAAA,EAAAK,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAAZ,CAAA,CAAAI,CAAA,IAAAC,CAAA,EAAAL,CAAA;AAAA,SAAAM,eAAAD,CAAA,QAAAQ,CAAA,GAAAC,YAAA,CAAAT,CAAA,uCAAAQ,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAT,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAL,CAAA,GAAAK,CAAA,CAAAU,MAAA,CAAAC,WAAA,kBAAAhB,CAAA,QAAAa,CAAA,GAAAb,CAAA,CAAAiB,IAAA,CAAAZ,CAAA,EAAAD,CAAA,uCAAAS,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAAd,CAAA,GAAAe,MAAA,GAAAC,MAAA,EAAAf,CAAA;AAEzD,MAAMgB,aAAa,CAAC;EACzBC,WAAWA,CACDC,SAAoB,EACpBC,MAAc,EACdC,OAAoB,EACpBC,OAAoB,EACpBC,SAAsB,EACtBC,QAAsB,EAC9B;IAAA,KANQL,SAAoB,GAApBA,SAAoB;IAAA,KACpBC,MAAc,GAAdA,MAAc;IAAA,KACdC,OAAoB,GAApBA,OAAoB;IAAA,KACpBC,OAAoB,GAApBA,OAAoB;IAAA,KACpBC,SAAsB,GAAtBA,SAAsB;IAAA,KACtBC,QAAsB,GAAtBA,QAAsB;EAC7B;EAEH,MAAMC,YAAYA,CAACC,OAA2C,EAAE;IAC9D,IAAI,CAAC,IAAI,CAACP,SAAS,EAAE;MACnB,MAAM,IAAIQ,KAAK,CAAC,mDAAmDC,OAAO,CAACC,GAAG,CAAC,CAAC,qBAAqB,CAAC;IACxG;IAEA,IAAI,CAACV,SAAS,CAACW,yBAAyB,CACtC,OACEC,SAAoB,EACpBC,KAAe,EACfC,YAAuB,KACpB;MACH,IAAAC,qCAAmB,EAAC,mBAAmB,EAAE;QACvCC,EAAE,EAAEJ,SAAS,CAACI,EAAE,CAACC,sBAAsB,CAAC,CAAC;QACzCJ,KAAK;QACLC;MACF,CAAC,CAAC;IACJ,CACF,CAAC;IAED,IAAI,CAACd,SAAS,CAACkB,sBAAsB,CAAC,YAAY;MAChD,MAAMC,qBAAqB,GAAG,MAAM,IAAI,CAACnB,SAAS,CAACoB,MAAM,CAACC,+BAA+B,CAAC,CAAC;MAC3F,MAAMC,8BAA8B,GAAGH,qBAAqB,IAAI,CAACI,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGL,qBAAqB,IAAI,IAAI;MAC3G,IAAIG,8BAA8B,IAAIA,8BAA8B,GAAG,CAAC,EAAE;QACxE;QACA,IAAI,CAACrB,MAAM,CAACwB,KAAK,CACf,yHAAyHH,8BAA8B,cACzJ,CAAC;QACD,MAAM,IAAI,CAACjB,QAAQ,CAACqB,oBAAoB,CAAC,CAAC;MAC5C;MACA,IAAAX,qCAAmB,EAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC;IAEF,IAAI,CAACf,SAAS,CAAC2B,+BAA+B,CAAC,YAAY;MACzD,IAAAZ,qCAAmB,EAAC,yBAAyB,EAAE,CAAC,CAAC,CAAC;IACpD,CAAC,CAAC;IAEF,IAAI,CAACf,SAAS,CAAC4B,KAAK,CAACC,oBAAoB,CAAC,YAAY;MACpD,IAAAd,qCAAmB,EAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC;IAEF,IAAI,CAACX,SAAS,CAAC0B,mBAAmB,CAAC,YAAY;MAC7C,IAAAf,qCAAmB,EAAC,eAAe,EAAE,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC;IAEF,IAAI,CAACZ,OAAO,CACT4B,KAAK,CAAC;MACLC,UAAU,EAAE,KAAK;MACjBC,OAAO,EAAE1B,OAAO,CAAC0B;IACnB,CAAC,CAAC,CACDC,KAAK,CAAEC,GAAG,IAAK;MACd;MACA,IAAI,CAAClC,MAAM,CAACmC,KAAK,CAAC,wBAAwB,EAAED,GAAG,CAAC;IAClD,CAAC,CAAC;IAEJ,MAAME,IAAI,GAAG9B,OAAO,CAAC8B,IAAI,KAAK,MAAM,IAAI,CAACC,aAAa,CAAC,CAAC,CAAC;IAEzD,MAAMC,GAAG,GAAG,IAAI,CAACrC,OAAO,CAACsC,SAAS,CAAC,CAAC;IAEpCD,GAAG,CAACE,GAAG;IACL;IACA,IAAAC,eAAI,EAAC;MACHC,MAAMA,CAACA,MAAM,EAAEC,QAAQ,EAAE;QACvBA,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;MACtB,CAAC;MACDC,WAAW,EAAE;IACf,CAAC,CACH,CAAC;IACD,MAAMC,YAAY,GAAG;MACnBC,aAAa,EAAE,GAAGC,yBAAiB,IAAIC,YAAI,CAACC,QAAQ,CAAC,CAAC,EAAE;MACxDP,MAAM,EAAE,EAAE;MACV,YAAY,EAAE;IAChB,CAAC;IACD,MAAMQ,WAAW,GAAG,IAAAC,2BAAc,EAAC,CAAC;IACpCb,GAAG,CAACE,GAAG,CACL,oBAAoB;IACpB;IACA,IAAAY,4CAAqB,EAAC;MACpBC,MAAM,EAAE,WAAWH,WAAW,UAAU;MACxCI,YAAY,EAAE,IAAI;MAClBC,OAAO,EAAEV,YAAY;MACrBW,EAAE,EAAE;QACFrB,KAAK,EAAEA,CAACD,GAAG,EAAEuB,GAAG,EAAEC,GAAG,KAAK;UACxB,IAAI,CAAC1D,MAAM,CAACmC,KAAK,CAAC,2BAA2B,EAAED,GAAG,CAAC;UACnD;UACAwB,GAAG,CAACC,SAAS,CAAC,GAAG,EAAE;YACjB,cAAc,EAAE;UAClB,CAAC,CAAC;UACFD,GAAG,CAACE,GAAG,CAAC,iEAAiE,CAAC;QAC5E,CAAC;QACDC,QAAQ,EAAEC;MACZ;IACF,CAAC,CACH,CAAC;IAEDxB,GAAG,CAACE,GAAG,CACL,iBAAiB;IACjB;IACA,IAAAY,4CAAqB,EAAC;MACpBC,MAAM,EAAE,WAAWH,WAAW,EAAE;MAChCI,YAAY,EAAE,IAAI;MAClBC,OAAO,EAAEV,YAAY;MACrBW,EAAE,EAAE;QACFO,QAAQ,EAAGA,QAAQ,IAAK;UACtBA,QAAQ,CAACR,OAAO,CAAC,kCAAkC,CAAC,GAAG,MAAM;QAC/D,CAAC;QACDpB,KAAK,EAAEA,CAACD,GAAG,EAAEuB,GAAG,EAAEC,GAAG,KAAK;UACxB,IAAI,CAAC1D,MAAM,CAACmC,KAAK,CAAC,wBAAwB,EAAED,GAAG,CAAC;UAChD;UACAwB,GAAG,CAACC,SAAS,CAAC,GAAG,EAAE;YACjB,cAAc,EAAE;UAClB,CAAC,CAAC;UACFD,GAAG,CAACE,GAAG,CAAC,8DAA8D,CAAC;QACzE,CAAC;QACDC,QAAQ,EAAEC;MACZ;IACF,CAAC,CACH,CAAC;IAED,MAAME,MAAM,GAAG,MAAM1B,GAAG,CAAC2B,MAAM,CAAC7B,IAAI,CAAC;IAErC,OAAO,IAAI8B,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;MACtCJ,MAAM,CAACR,EAAE,CAAC,OAAO,EAAGtB,GAAG,IAAK;QAC1BkC,MAAM,CAAClC,GAAG,CAAC;MACb,CAAC,CAAC;MACF8B,MAAM,CAACR,EAAE,CAAC,WAAW,EAAE,MAAM;QAC3B,IAAI,CAACxD,MAAM,CAACqE,cAAc,CAAC,mCAAmCjC,IAAI,EAAE,CAAC;QACrE,IAAI,CAACkC,aAAa,CAAClC,IAAI,CAAC;QACxB+B,OAAO,CAAC/B,IAAI,CAAC;MACf,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ;EAEAkC,aAAaA,CAAClC,IAAY,EAAE;IAC1B,MAAMmC,QAAQ,GAAG,IAAI,CAACC,qBAAqB,CAAC,CAAC;IAC7CC,kBAAE,CAACC,aAAa,CAACH,QAAQ,EAAEnC,IAAI,CAACuC,QAAQ,CAAC,CAAC,CAAC;EAC7C;EAEA,MAAMtC,aAAaA,CAAA,EAAG;IACpB,MAAMuC,YAAY,GAAG,IAAI,CAAC,CAAC;IAC3B;IACA,MAAMC,YAAY,GAAGC,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,MAAM,CAAC,CAAC,IAAI,IAAI,GAAGJ,YAAY,GAAG,CAAC,CAAC,GAAGA,YAAY,CAAC;IACzF,MAAMxC,IAAI,GAAG,MAAM6C,sBAAI,CAACC,OAAO,CAACL,YAAY,EAAE,KAAK,CAAC;IACpD,OAAOzC,IAAI;EACb;EAEA,MAAM+C,mBAAmBA,CAAA,EAAgC;IACvD,MAAMZ,QAAQ,GAAG,IAAI,CAACC,qBAAqB,CAAC,CAAC;IAC7C,IAAI;MACF,MAAMY,WAAW,GAAG,MAAMX,kBAAE,CAACY,QAAQ,CAACd,QAAQ,EAAE,MAAM,CAAC;MACvD,OAAOe,QAAQ,CAACF,WAAW,EAAE,EAAE,CAAC;IAClC,CAAC,CAAC,OAAOlD,GAAQ,EAAE;MACjB,IAAIA,GAAG,CAACqD,IAAI,KAAK,QAAQ,EAAE;QACzB,OAAOC,SAAS;MAClB;MACA,MAAMtD,GAAG;IACX;EACF;EAEQsC,qBAAqBA,CAAA,EAAG;IAC9B,OAAO,IAAAiB,YAAI,EAAC,IAAI,CAAC1F,SAAS,CAAC4B,KAAK,CAAC+D,IAAI,EAAE,iBAAiB,CAAC;EAC3D;EAwBA,aAAaC,QAAQA,CAAC,CACpBC,GAAG,EACH7F,SAAS,EACT8F,UAAU,EACV5F,OAAO,EACPC,OAAO,EACP4F,QAAQ,EACRC,KAAK,EACL5F,SAAS,EACT6F,QAAQ,EACRC,QAAQ,EACRC,YAAY,EACZ9F,QAAQ,EACR+F,gBAAgB,EAChBC,SAAS,EACTC,MAAM,EACNC,MAAM,EACNC,WAAW,EACXC,WAAW,EACXC,IAAI,CAqBL,EAAE;IACD,MAAMzG,MAAM,GAAG6F,UAAU,CAACa,YAAY,CAACC,4BAAe,CAAC5F,EAAE,CAAC;IAC1D,MAAM6F,SAAS,GAAG,IAAI/G,aAAa,CAACE,SAAS,EAAEC,MAAM,EAAEC,OAAO,EAAEC,OAAO,EAAEC,SAAS,EAAEC,QAAQ,CAAC;IAC7FwF,GAAG,CAACiB,QAAQ,CAAC,KAAIC,mBAAS,EAACF,SAAS,CAAC,CAAC;IAEtC,MAAMG,SAAS,GAAG,KAAIC,sBAAS,EAC7BjH,SAAS,EACT+F,QAAQ,EACRC,KAAK,EACL5F,SAAS,EACT6F,QAAQ,EACRC,QAAQ,EACRC,YAAY,EACZC,gBAAgB,EAChBC,SAAS,EACTC,MAAM,EACNC,MAAM,EACNC,WAAW,EACXC,WAAW,EACXC,IACF,CAAC;IACD,MAAMQ,QAAQ,GAAG,KAAIC,gBAAQ,EAAClH,MAAM,EAAE4F,GAAG,EAAEmB,SAAS,CAAC;IACrD,MAAMI,WAAW,GAAG,KAAIC,qBAAW,EAACpH,MAAM,EAAE4F,GAAG,EAAEmB,SAAS,CAAC;IAC3D,MAAMM,QAAQ,GAAG,KAAIC,eAAQ,EAACtH,MAAM,EAAE+G,SAAS,CAAC;IAChD,MAAMQ,cAAc,GAAG,KAAIC,2BAAc,EAACxH,MAAM,EAAE4F,GAAG,CAAC;IACtD;IACA,IAAI7F,SAAS,EAAE;MACbE,OAAO,CAAC4G,QAAQ,CAAC,CAACI,QAAQ,EAAEE,WAAW,EAAEE,QAAQ,EAAEE,cAAc,CAAC,CAAC;IACrE;IAEA,OAAOX,SAAS;EAClB;AACF;AAACa,OAAA,CAAA5H,aAAA,GAAAA,aAAA;AAAAlB,eAAA,CA1QYkB,aAAa,kBA4KF,CACpB6H,gBAAS,EACTC,4BAAe,EACfC,sBAAY,EACZC,wBAAa,EACbC,wBAAa,EACbC,0BAAc,EACdC,oBAAW,EACXC,wBAAa,EACbC,sBAAY,EACZC,0BAAc,EACdC,kCAAkB,EAClBC,0BAAc,EACdC,0CAAsB,EACtBC,4BAAe,EACfC,sBAAY,EACZC,sBAAY,EACZC,gCAAiB,EACjBC,gCAAiB,EACjBC,kBAAU,CACX;AAAAjK,eAAA,CAhMUkB,aAAa,aAiMPgJ,kBAAW;AA2E9BlC,4BAAe,CAACmC,UAAU,CAACjJ,aAAa,CAAC;AAAC,IAAAkJ,QAAA,GAAAtB,OAAA,CAAA/I,OAAA,GAE3BmB,aAAa","ignoreList":[]}
1
+ {"version":3,"names":["_cli","data","require","_toolboxNetwork","_fsExtra","_interopRequireDefault","_express","_logger","_lanes","_remove","_snapping","_generator","_componentCompare","_componentLog","_watcher","_config","_export","_checkout","_install","_importer","_workspace","_harmonyModules","_cors","_httpProxyMiddleware","_apiServer","_cli2","_server","_ide","_apiForIde","_sseEvents","_path","_cliRaw","_application","_deprecation","_envs","_scope","_legacy","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","ApiServerMain","constructor","workspace","logger","express","watcher","installer","importer","runApiServer","options","Error","process","cwd","registerOnComponentChange","component","files","removedFiles","sendEventsToClients","id","toStringWithoutVersion","registerOnBitmapChange","lastModifiedTimestamp","bitMap","getLastModifiedBitmapThroughBit","secondsPassedSinceLastModified","Date","now","debug","importCurrentObjects","registerOnWorkspaceConfigChange","scope","registerOnPostExport","registerPostInstall","watch","preCompile","compile","catch","err","error","port","getRandomPort","app","createApp","use","cors","origin","callback","credentials","proxyHeaders","Authorization","DEFAULT_AUTH_TYPE","Http","getToken","symphonyUrl","getSymphonyUrl","createProxyMiddleware","target","changeOrigin","headers","on","req","res","writeHead","end","proxyReq","fixRequestBody","proxyRes","server","listen","Promise","resolve","reject","consoleSuccess","writeUsedPort","filePath","getServerPortFilePath","fs","writeFileSync","toString","startingPort","randomNumber","Math","floor","random","Port","getPort","getExistingUsedPort","fileContent","readFile","parseInt","code","undefined","join","path","provider","cli","loggerMain","snapping","lanes","exporter","checkout","componentLog","componentCompare","generator","remove","config","application","deprecation","envs","createLogger","ApiServerAspect","apiServer","register","ServerCmd","apiForIDE","APIForIDE","cliRoute","CLIRoute","cliRawRoute","CLIRawRoute","ideRoute","IDERoute","sseEventsRoute","SSEEventsRoute","exports","CLIAspect","WorkspaceAspect","LoggerAspect","ExpressAspect","WatcherAspect","SnappingAspect","LanesAspect","InstallAspect","ExportAspect","CheckoutAspect","ComponentLogAspect","ImporterAspect","ComponentCompareAspect","GeneratorAspect","RemoveAspect","ConfigAspect","ApplicationAspect","DeprecationAspect","EnvsAspect","MainRuntime","addRuntime","_default"],"sources":["api-server.main.runtime.ts"],"sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { Port } from '@teambit/toolbox.network.get-port';\nimport fs from 'fs-extra';\nimport { ExpressAspect, ExpressMain } from '@teambit/express';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { LanesAspect, LanesMain } from '@teambit/lanes';\nimport { RemoveAspect, RemoveMain } from '@teambit/remove';\nimport { SnappingAspect, SnappingMain } from '@teambit/snapping';\nimport { GeneratorAspect, GeneratorMain } from '@teambit/generator';\nimport { ComponentCompareAspect, ComponentCompareMain } from '@teambit/component-compare';\nimport { ComponentLogAspect, ComponentLogMain } from '@teambit/component-log';\nimport { WatcherAspect, WatcherMain } from '@teambit/watcher';\nimport { ConfigAspect, ConfigMain } from '@teambit/config';\nimport { ExportAspect, ExportMain } from '@teambit/export';\nimport { CheckoutAspect, CheckoutMain } from '@teambit/checkout';\nimport { InstallAspect, InstallMain } from '@teambit/install';\nimport { ImporterAspect, ImporterMain } from '@teambit/importer';\nimport { Component } from '@teambit/component';\nimport { WorkspaceAspect, Workspace } from '@teambit/workspace';\nimport { sendEventsToClients } from '@teambit/harmony.modules.send-server-sent-events';\nimport cors from 'cors';\nimport { createProxyMiddleware, fixRequestBody } from 'http-proxy-middleware';\nimport { ApiServerAspect } from './api-server.aspect';\nimport { CLIRoute } from './cli.route';\nimport { ServerCmd } from './server.cmd';\nimport { IDERoute } from './ide.route';\nimport { APIForIDE } from './api-for-ide';\nimport { SSEEventsRoute } from './sse-events.route';\nimport { join } from 'path';\nimport { CLIRawRoute } from './cli-raw.route';\nimport { ApplicationAspect, ApplicationMain } from '@teambit/application';\nimport { DeprecationAspect, DeprecationMain } from '@teambit/deprecation';\nimport { EnvsAspect, EnvsMain } from '@teambit/envs';\nimport { DEFAULT_AUTH_TYPE, Http } from '@teambit/scope.network';\nimport { getSymphonyUrl } from '@teambit/legacy.constants';\n\nexport class ApiServerMain {\n constructor(\n private workspace: Workspace,\n private logger: Logger,\n private express: ExpressMain,\n private watcher: WatcherMain,\n private installer: InstallMain,\n private importer: ImporterMain\n ) {}\n\n async runApiServer(options: { port: number; compile: boolean }) {\n if (!this.workspace) {\n throw new Error(`unable to run bit-server, the current directory ${process.cwd()} is not a workspace`);\n }\n\n this.workspace.registerOnComponentChange(\n async (\n component: Component,\n files: string[], // os absolute paths\n removedFiles?: string[] // os absolute paths\n ) => {\n sendEventsToClients('onComponentChange', {\n id: component.id.toStringWithoutVersion(),\n files,\n removedFiles,\n });\n }\n );\n\n this.workspace.registerOnBitmapChange(async () => {\n const lastModifiedTimestamp = await this.workspace.bitMap.getLastModifiedBitmapThroughBit();\n const secondsPassedSinceLastModified = lastModifiedTimestamp && (Date.now() - lastModifiedTimestamp) / 1000;\n if (secondsPassedSinceLastModified && secondsPassedSinceLastModified > 1) {\n // changes by bit were done more than a second ago, so probably this .bitmap change was done by \"git pull\"\n this.logger.debug(\n `running import because we assume the .bitmap file has changed due to \"git pull\", last time it was modified by bit was ${secondsPassedSinceLastModified} seconds ago`\n );\n await this.importer.importCurrentObjects();\n }\n sendEventsToClients('onBitmapChange', {});\n });\n\n this.workspace.registerOnWorkspaceConfigChange(async () => {\n sendEventsToClients('onWorkspaceConfigChange', {});\n });\n\n this.workspace.scope.registerOnPostExport(async () => {\n sendEventsToClients('onPostExport', {});\n });\n\n this.installer.registerPostInstall(async () => {\n sendEventsToClients('onPostInstall', {});\n });\n\n this.watcher\n .watch({\n preCompile: false,\n compile: options.compile,\n })\n .catch((err) => {\n // don't throw an error, we don't want to break the \"run\" process\n this.logger.error('watcher found an error', err);\n });\n\n const port = options.port || (await this.getRandomPort());\n\n const app = this.express.createApp();\n\n app.use(\n // @ts-ignore todo: it's not clear what's the issue.\n cors({\n origin(origin, callback) {\n callback(null, true);\n },\n credentials: true,\n })\n );\n const proxyHeaders = {\n Authorization: `${DEFAULT_AUTH_TYPE} ${Http.getToken()}`,\n origin: '',\n 'user-agent': 'bit-vscode-proxy',\n };\n const symphonyUrl = getSymphonyUrl();\n app.use(\n '/api/cloud-graphql',\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n createProxyMiddleware({\n target: `https://${symphonyUrl}/graphql`,\n changeOrigin: true,\n headers: proxyHeaders,\n on: {\n error: (err, req, res) => {\n this.logger.error('graphql cloud proxy error', err);\n // @ts-ignore\n res.writeHead(500, {\n 'Content-Type': 'text/plain',\n });\n res.end('Something went wrong with the proxy server of bit cloud graphql');\n },\n proxyReq: fixRequestBody,\n },\n })\n );\n\n app.use(\n '/api/cloud-rest',\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n createProxyMiddleware({\n target: `https://${symphonyUrl}`,\n changeOrigin: true,\n headers: proxyHeaders,\n on: {\n proxyRes: (proxyRes) => {\n proxyRes.headers['Access-Control-Allow-Credentials'] = 'true';\n },\n error: (err, req, res) => {\n this.logger.error('rest cloud proxy error', err);\n // @ts-ignore\n res.writeHead(500, {\n 'Content-Type': 'text/plain',\n });\n res.end('Something went wrong with the proxy server of bit cloud rest');\n },\n proxyReq: fixRequestBody,\n },\n })\n );\n\n const server = await app.listen(port);\n\n return new Promise((resolve, reject) => {\n server.on('error', (err) => {\n reject(err);\n });\n server.on('listening', () => {\n this.logger.consoleSuccess(`Bit Server is listening on port ${port}`);\n this.writeUsedPort(port);\n resolve(port);\n });\n });\n }\n\n writeUsedPort(port: number) {\n const filePath = this.getServerPortFilePath();\n fs.writeFileSync(filePath, port.toString());\n }\n\n async getRandomPort() {\n const startingPort = 4000; // we prefer to have the ports between 4000 and 4999.\n // get random number in the range of [startingPort, 4999].\n const randomNumber = Math.floor(Math.random() * (4999 - startingPort + 1) + startingPort);\n const port = await Port.getPort(randomNumber, 65500);\n return port;\n }\n\n async getExistingUsedPort(): Promise<number | undefined> {\n const filePath = this.getServerPortFilePath();\n try {\n const fileContent = await fs.readFile(filePath, 'utf8');\n return parseInt(fileContent, 10);\n } catch (err: any) {\n if (err.code === 'ENOENT') {\n return undefined;\n }\n throw err;\n }\n }\n\n private getServerPortFilePath() {\n return join(this.workspace.scope.path, 'server-port.txt');\n }\n\n static dependencies = [\n CLIAspect,\n WorkspaceAspect,\n LoggerAspect,\n ExpressAspect,\n WatcherAspect,\n SnappingAspect,\n LanesAspect,\n InstallAspect,\n ExportAspect,\n CheckoutAspect,\n ComponentLogAspect,\n ImporterAspect,\n ComponentCompareAspect,\n GeneratorAspect,\n RemoveAspect,\n ConfigAspect,\n ApplicationAspect,\n DeprecationAspect,\n EnvsAspect,\n ];\n static runtime = MainRuntime;\n static async provider([\n cli,\n workspace,\n loggerMain,\n express,\n watcher,\n snapping,\n lanes,\n installer,\n exporter,\n checkout,\n componentLog,\n importer,\n componentCompare,\n generator,\n remove,\n config,\n application,\n deprecation,\n envs,\n ]: [\n CLIMain,\n Workspace,\n LoggerMain,\n ExpressMain,\n WatcherMain,\n SnappingMain,\n LanesMain,\n InstallMain,\n ExportMain,\n CheckoutMain,\n ComponentLogMain,\n ImporterMain,\n ComponentCompareMain,\n GeneratorMain,\n RemoveMain,\n ConfigMain,\n ApplicationMain,\n DeprecationMain,\n EnvsMain,\n ]) {\n const logger = loggerMain.createLogger(ApiServerAspect.id);\n const apiServer = new ApiServerMain(workspace, logger, express, watcher, installer, importer);\n cli.register(new ServerCmd(apiServer));\n\n const apiForIDE = new APIForIDE(\n workspace,\n snapping,\n lanes,\n installer,\n exporter,\n checkout,\n componentLog,\n componentCompare,\n generator,\n remove,\n config,\n application,\n deprecation,\n envs\n );\n const cliRoute = new CLIRoute(logger, cli, apiForIDE);\n const cliRawRoute = new CLIRawRoute(logger, cli, apiForIDE);\n const ideRoute = new IDERoute(logger, apiForIDE);\n const sseEventsRoute = new SSEEventsRoute(logger, cli);\n // register only when the workspace is available. don't register this on a remote-scope, for security reasons.\n if (workspace) {\n express.register([cliRoute, cliRawRoute, ideRoute, sseEventsRoute]);\n }\n\n return apiServer;\n }\n}\n\nApiServerAspect.addRuntime(ApiServerMain);\n\nexport default ApiServerMain;\n"],"mappings":"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","ignoreList":[]}
@@ -25,9 +25,9 @@ function _chalk() {
25
25
  };
26
26
  return data;
27
27
  }
28
- function _logger() {
29
- const data = _interopRequireWildcard(require("@teambit/legacy/dist/logger/logger"));
30
- _logger = function () {
28
+ function _legacy() {
29
+ const data = require("@teambit/legacy.logger");
30
+ _legacy = function () {
31
31
  return data;
32
32
  };
33
33
  return data;
@@ -39,15 +39,13 @@ function _harmonyModules() {
39
39
  };
40
40
  return data;
41
41
  }
42
- function _legacy() {
42
+ function _legacy2() {
43
43
  const data = require("@teambit/legacy.loader");
44
- _legacy = function () {
44
+ _legacy2 = function () {
45
45
  return data;
46
46
  };
47
47
  return data;
48
48
  }
49
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
50
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
51
49
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
52
50
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
53
51
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
@@ -101,17 +99,17 @@ class CLIRawRoute {
101
99
  }
102
100
  if (isSSE) {
103
101
  process.env.BIT_CLI_SERVER_NO_TTY = 'true';
104
- _legacy().loader.shouldSendServerEvents = true;
102
+ _legacy2().loader.shouldSendServerEvents = true;
105
103
  }
106
104
  let currentLogger;
107
- const levelFromArgv = (0, _logger().getLevelFromArgv)(command);
105
+ const levelFromArgv = (0, _legacy().getLevelFromArgv)(command);
108
106
  if (levelFromArgv) {
109
- currentLogger = _logger().default.logger;
107
+ currentLogger = _legacy().logger.logger;
110
108
  if (ttyPath || isPty) {
111
- _logger().default.switchToConsoleLogger(levelFromArgv);
109
+ _legacy().logger.switchToConsoleLogger(levelFromArgv);
112
110
  }
113
111
  if (isSSE) {
114
- _logger().default.switchToSSELogger(levelFromArgv);
112
+ _legacy().logger.switchToSSELogger(levelFromArgv);
115
113
  }
116
114
  }
117
115
  const currentBitFeatures = process.env.BIT_FEATURES;
@@ -124,7 +122,7 @@ class CLIRawRoute {
124
122
  const commandStr = command.join(' ');
125
123
  const cmdStrLog = `${randomNumber} ${commandStr}`;
126
124
  await this.apiForIDE.logStartCmdHistory(cmdStrLog);
127
- _logger().default.isDaemon = true;
125
+ _legacy().logger.isDaemon = true;
128
126
  enableChalk();
129
127
  const cliParser = new (_cli().CLIParser)(this.cli.commands, this.cli.groups, this.cli.onCommandStartSlot);
130
128
  try {
@@ -158,7 +156,7 @@ class CLIRawRoute {
158
156
  }
159
157
  if (isSSE) {
160
158
  delete process.env.BIT_CLI_SERVER_NO_TTY;
161
- _legacy().loader.shouldSendServerEvents = false;
159
+ _legacy2().loader.shouldSendServerEvents = false;
162
160
  }
163
161
  // change chalk back to false, otherwise, the IDE will have colors. (this is a global setting)
164
162
  _chalk().default.enabled = false;
@@ -167,7 +165,7 @@ class CLIRawRoute {
167
165
  (0, _harmonyModules().reloadFeatureToggle)();
168
166
  }
169
167
  if (currentLogger) {
170
- _logger().default.switchToLogger(currentLogger);
168
+ _legacy().logger.switchToLogger(currentLogger);
171
169
  }
172
170
  }
173
171
  }]);
@@ -1 +1 @@
1
- {"version":3,"names":["_cli","data","require","_fsExtra","_interopRequireDefault","_chalk","_logger","_interopRequireWildcard","_harmonyModules","_legacy","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_defineProperty","_toPropertyKey","value","enumerable","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","CLIRawRoute","constructor","logger","cli","apiForIDE","req","res","command","pwd","envBitFeatures","ttyPath","isPty","body","debug","startsWith","process","cwd","Error","isSSE","originalStdoutWrite","stdout","write","originalStderrWrite","stderr","fileHandle","fs","open","chunk","encoding","callback","writeSync","toString","env","BIT_CLI_SERVER_NO_TTY","loader","shouldSendServerEvents","currentLogger","levelFromArgv","getLevelFromArgv","legacyLogger","switchToConsoleLogger","switchToSSELogger","currentBitFeatures","BIT_FEATURES","shouldReloadFeatureToggle","reloadFeatureToggle","randomNumber","Math","floor","random","commandStr","join","cmdStrLog","logStartCmdHistory","isDaemon","enableChalk","cliParser","CLIParser","commands","groups","onCommandStartSlot","commandRunner","parse","result","runCommand","logFinishCmdHistory","clearStatusLine","json","err","YargsExitWorkaround","helpMsg","exitCode","error","status","jsonp","message","chalk","enabled","switchToLogger","exports","level"],"sources":["cli-raw.route.ts"],"sourcesContent":["import { CLIMain, CLIParser, YargsExitWorkaround } from '@teambit/cli';\nimport fs from 'fs-extra';\nimport chalk from 'chalk';\nimport { Route, Request, Response } from '@teambit/express';\nimport { Logger } from '@teambit/logger';\nimport legacyLogger, { getLevelFromArgv } from '@teambit/legacy/dist/logger/logger';\nimport { reloadFeatureToggle } from '@teambit/harmony.modules.feature-toggle';\nimport { loader } from '@teambit/legacy.loader';\nimport { APIForIDE } from './api-for-ide';\n\n/**\n * example usage:\n * post to http://localhost:3000/api/cli\n * with the following json as the body\n *\n{\n \"command\": [\"tag comp1 --build\"]\n}\n */\nexport class CLIRawRoute implements Route {\n constructor(\n private logger: Logger,\n private cli: CLIMain,\n private apiForIDE: APIForIDE\n ) {}\n\n method = 'post';\n route = '/cli-raw';\n\n middlewares = [\n async (req: Request, res: Response) => {\n const { command, pwd, envBitFeatures, ttyPath, isPty } = req.body;\n this.logger.debug(`cli-raw server: got request for ${command}`);\n if (pwd && !pwd.startsWith(process.cwd())) {\n throw new Error(`bit-server is running on a different directory. bit-server: ${process.cwd()}, pwd: ${pwd}`);\n }\n // there are 3 methods to interact with bit-server: 1) SSE, 2) TTY, 3) PTY. See server-commander.ts for more info.\n const isSSE = !ttyPath && !isPty;\n\n // save the original process.stdout.write method\n const originalStdoutWrite = process.stdout.write;\n const originalStderrWrite = process.stderr.write;\n\n if (ttyPath) {\n const fileHandle = await fs.open(ttyPath, 'w');\n // @ts-ignore monkey patch the process stdout write method\n process.stdout.write = (chunk, encoding, callback) => {\n fs.writeSync(fileHandle, chunk.toString());\n return originalStdoutWrite.call(process.stdout, chunk, encoding, callback);\n };\n // @ts-ignore monkey patch the process stderr write method\n process.stderr.write = (chunk, encoding, callback) => {\n fs.writeSync(fileHandle, chunk.toString());\n return originalStderrWrite.call(process.stdout, chunk, encoding, callback);\n };\n }\n if (isSSE) {\n process.env.BIT_CLI_SERVER_NO_TTY = 'true';\n loader.shouldSendServerEvents = true;\n }\n\n let currentLogger;\n const levelFromArgv = getLevelFromArgv(command);\n if (levelFromArgv) {\n currentLogger = legacyLogger.logger;\n if (ttyPath || isPty) {\n legacyLogger.switchToConsoleLogger(levelFromArgv);\n }\n if (isSSE) {\n legacyLogger.switchToSSELogger(levelFromArgv);\n }\n }\n\n const currentBitFeatures = process.env.BIT_FEATURES;\n const shouldReloadFeatureToggle = currentBitFeatures !== envBitFeatures;\n if (shouldReloadFeatureToggle) {\n process.env.BIT_FEATURES = envBitFeatures;\n reloadFeatureToggle();\n }\n\n const randomNumber = Math.floor(Math.random() * 10000); // helps to distinguish between commands in the log\n const commandStr = command.join(' ');\n const cmdStrLog = `${randomNumber} ${commandStr}`;\n await this.apiForIDE.logStartCmdHistory(cmdStrLog);\n legacyLogger.isDaemon = true;\n enableChalk();\n const cliParser = new CLIParser(this.cli.commands, this.cli.groups, this.cli.onCommandStartSlot);\n try {\n const commandRunner = await cliParser.parse(command);\n const result = await commandRunner.runCommand(true);\n await this.apiForIDE.logFinishCmdHistory(cmdStrLog, 0);\n this.logger.clearStatusLine();\n res.json(result);\n } catch (err: any) {\n this.logger.clearStatusLine();\n if (err instanceof YargsExitWorkaround) {\n res.json({ data: err.helpMsg, exitCode: err.exitCode });\n } else {\n this.logger.error(`cli-raw server: got an error for ${commandStr}`, err);\n await this.apiForIDE.logFinishCmdHistory(cmdStrLog, 1);\n res.status(500);\n res.jsonp({\n message: err.message,\n error: err,\n });\n }\n } finally {\n // important! at this stage, don't write to stdout/stderr anymore, e.g. don't do \"this.logger.clearStatusLine()\"\n // because the socket (for pty) is already closed.\n if (ttyPath) {\n process.stdout.write = originalStdoutWrite;\n process.stderr.write = originalStderrWrite;\n }\n if (isSSE) {\n delete process.env.BIT_CLI_SERVER_NO_TTY;\n loader.shouldSendServerEvents = false;\n }\n // change chalk back to false, otherwise, the IDE will have colors. (this is a global setting)\n chalk.enabled = false;\n if (shouldReloadFeatureToggle) {\n process.env.BIT_FEATURES = currentBitFeatures;\n reloadFeatureToggle();\n }\n if (currentLogger) {\n legacyLogger.switchToLogger(currentLogger);\n }\n }\n },\n ];\n}\n\n/**\n * because this gets called from the express server, which gets spawn from a script, chalk defaults to false.\n * changing only the \"level\" is not enough, it must be enabled as well.\n * only when calling this route from the terminal, we want colors. on the IDE, we don't want colors.\n */\nfunction enableChalk() {\n chalk.enabled = true;\n chalk.level = 3;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_cli","data","require","_fsExtra","_interopRequireDefault","_chalk","_legacy","_harmonyModules","_legacy2","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","CLIRawRoute","constructor","logger","cli","apiForIDE","req","res","command","pwd","envBitFeatures","ttyPath","isPty","body","debug","startsWith","process","cwd","Error","isSSE","originalStdoutWrite","stdout","write","originalStderrWrite","stderr","fileHandle","fs","open","chunk","encoding","callback","writeSync","toString","env","BIT_CLI_SERVER_NO_TTY","loader","shouldSendServerEvents","currentLogger","levelFromArgv","getLevelFromArgv","legacyLogger","switchToConsoleLogger","switchToSSELogger","currentBitFeatures","BIT_FEATURES","shouldReloadFeatureToggle","reloadFeatureToggle","randomNumber","Math","floor","random","commandStr","join","cmdStrLog","logStartCmdHistory","isDaemon","enableChalk","cliParser","CLIParser","commands","groups","onCommandStartSlot","commandRunner","parse","result","runCommand","logFinishCmdHistory","clearStatusLine","json","err","YargsExitWorkaround","helpMsg","exitCode","error","status","jsonp","message","chalk","enabled","switchToLogger","exports","level"],"sources":["cli-raw.route.ts"],"sourcesContent":["import { CLIMain, CLIParser, YargsExitWorkaround } from '@teambit/cli';\nimport fs from 'fs-extra';\nimport chalk from 'chalk';\nimport { Route, Request, Response } from '@teambit/express';\nimport { Logger } from '@teambit/logger';\nimport { logger as legacyLogger, getLevelFromArgv } from '@teambit/legacy.logger';\nimport { reloadFeatureToggle } from '@teambit/harmony.modules.feature-toggle';\nimport { loader } from '@teambit/legacy.loader';\nimport { APIForIDE } from './api-for-ide';\n\n/**\n * example usage:\n * post to http://localhost:3000/api/cli\n * with the following json as the body\n *\n{\n \"command\": [\"tag comp1 --build\"]\n}\n */\nexport class CLIRawRoute implements Route {\n constructor(\n private logger: Logger,\n private cli: CLIMain,\n private apiForIDE: APIForIDE\n ) {}\n\n method = 'post';\n route = '/cli-raw';\n\n middlewares = [\n async (req: Request, res: Response) => {\n const { command, pwd, envBitFeatures, ttyPath, isPty } = req.body;\n this.logger.debug(`cli-raw server: got request for ${command}`);\n if (pwd && !pwd.startsWith(process.cwd())) {\n throw new Error(`bit-server is running on a different directory. bit-server: ${process.cwd()}, pwd: ${pwd}`);\n }\n // there are 3 methods to interact with bit-server: 1) SSE, 2) TTY, 3) PTY. See server-commander.ts for more info.\n const isSSE = !ttyPath && !isPty;\n\n // save the original process.stdout.write method\n const originalStdoutWrite = process.stdout.write;\n const originalStderrWrite = process.stderr.write;\n\n if (ttyPath) {\n const fileHandle = await fs.open(ttyPath, 'w');\n // @ts-ignore monkey patch the process stdout write method\n process.stdout.write = (chunk, encoding, callback) => {\n fs.writeSync(fileHandle, chunk.toString());\n return originalStdoutWrite.call(process.stdout, chunk, encoding, callback);\n };\n // @ts-ignore monkey patch the process stderr write method\n process.stderr.write = (chunk, encoding, callback) => {\n fs.writeSync(fileHandle, chunk.toString());\n return originalStderrWrite.call(process.stdout, chunk, encoding, callback);\n };\n }\n if (isSSE) {\n process.env.BIT_CLI_SERVER_NO_TTY = 'true';\n loader.shouldSendServerEvents = true;\n }\n\n let currentLogger;\n const levelFromArgv = getLevelFromArgv(command);\n if (levelFromArgv) {\n currentLogger = legacyLogger.logger;\n if (ttyPath || isPty) {\n legacyLogger.switchToConsoleLogger(levelFromArgv);\n }\n if (isSSE) {\n legacyLogger.switchToSSELogger(levelFromArgv);\n }\n }\n\n const currentBitFeatures = process.env.BIT_FEATURES;\n const shouldReloadFeatureToggle = currentBitFeatures !== envBitFeatures;\n if (shouldReloadFeatureToggle) {\n process.env.BIT_FEATURES = envBitFeatures;\n reloadFeatureToggle();\n }\n\n const randomNumber = Math.floor(Math.random() * 10000); // helps to distinguish between commands in the log\n const commandStr = command.join(' ');\n const cmdStrLog = `${randomNumber} ${commandStr}`;\n await this.apiForIDE.logStartCmdHistory(cmdStrLog);\n legacyLogger.isDaemon = true;\n enableChalk();\n const cliParser = new CLIParser(this.cli.commands, this.cli.groups, this.cli.onCommandStartSlot);\n try {\n const commandRunner = await cliParser.parse(command);\n const result = await commandRunner.runCommand(true);\n await this.apiForIDE.logFinishCmdHistory(cmdStrLog, 0);\n this.logger.clearStatusLine();\n res.json(result);\n } catch (err: any) {\n this.logger.clearStatusLine();\n if (err instanceof YargsExitWorkaround) {\n res.json({ data: err.helpMsg, exitCode: err.exitCode });\n } else {\n this.logger.error(`cli-raw server: got an error for ${commandStr}`, err);\n await this.apiForIDE.logFinishCmdHistory(cmdStrLog, 1);\n res.status(500);\n res.jsonp({\n message: err.message,\n error: err,\n });\n }\n } finally {\n // important! at this stage, don't write to stdout/stderr anymore, e.g. don't do \"this.logger.clearStatusLine()\"\n // because the socket (for pty) is already closed.\n if (ttyPath) {\n process.stdout.write = originalStdoutWrite;\n process.stderr.write = originalStderrWrite;\n }\n if (isSSE) {\n delete process.env.BIT_CLI_SERVER_NO_TTY;\n loader.shouldSendServerEvents = false;\n }\n // change chalk back to false, otherwise, the IDE will have colors. (this is a global setting)\n chalk.enabled = false;\n if (shouldReloadFeatureToggle) {\n process.env.BIT_FEATURES = currentBitFeatures;\n reloadFeatureToggle();\n }\n if (currentLogger) {\n legacyLogger.switchToLogger(currentLogger);\n }\n }\n },\n ];\n}\n\n/**\n * because this gets called from the express server, which gets spawn from a script, chalk defaults to false.\n * changing only the \"level\" is not enough, it must be enabled as well.\n * only when calling this route from the terminal, we want colors. on the IDE, we don't want colors.\n */\nfunction enableChalk() {\n chalk.enabled = true;\n chalk.level = 3;\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.486",
3
+ "version": "1.0.488",
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.486"
9
+ "version": "1.0.488"
10
10
  },
11
11
  "dependencies": {
12
12
  "filenamify": "4.2.0",
@@ -20,32 +20,38 @@
20
20
  "pretty-time": "1.1.0",
21
21
  "@teambit/lane-id": "0.0.311",
22
22
  "@teambit/harmony": "0.4.6",
23
- "@teambit/application": "1.0.486",
24
- "@teambit/checkout": "1.0.486",
25
- "@teambit/component-compare": "1.0.486",
26
- "@teambit/component-log": "1.0.486",
27
- "@teambit/config": "0.0.1237",
28
- "@teambit/deprecation": "1.0.486",
29
- "@teambit/envs": "1.0.486",
30
- "@teambit/export": "1.0.486",
31
- "@teambit/generator": "1.0.487",
32
- "@teambit/install": "1.0.486",
33
- "@teambit/lanes": "1.0.486",
34
- "@teambit/legacy.utils": "0.0.7",
35
- "@teambit/merging": "1.0.486",
36
- "@teambit/remove": "1.0.486",
37
- "@teambit/snapping": "1.0.486",
38
- "@teambit/workspace": "1.0.486",
39
- "@teambit/cli": "0.0.1063",
40
- "@teambit/component": "1.0.486",
41
- "@teambit/express": "0.0.1162",
23
+ "@teambit/application": "1.0.488",
24
+ "@teambit/checkout": "1.0.488",
25
+ "@teambit/component-compare": "1.0.488",
26
+ "@teambit/component-log": "1.0.488",
27
+ "@teambit/config": "0.0.1239",
28
+ "@teambit/deprecation": "1.0.488",
29
+ "@teambit/envs": "1.0.488",
30
+ "@teambit/export": "1.0.488",
31
+ "@teambit/generator": "1.0.489",
32
+ "@teambit/install": "1.0.488",
33
+ "@teambit/lanes": "1.0.488",
34
+ "@teambit/legacy.consumer": "0.0.1",
35
+ "@teambit/legacy.scope": "0.0.1",
36
+ "@teambit/legacy.utils": "0.0.8",
37
+ "@teambit/merging": "1.0.488",
38
+ "@teambit/remove": "1.0.488",
39
+ "@teambit/scope.objects": "0.0.1",
40
+ "@teambit/snapping": "1.0.488",
41
+ "@teambit/workspace": "1.0.488",
42
+ "@teambit/cli": "0.0.1065",
43
+ "@teambit/component": "1.0.488",
44
+ "@teambit/express": "0.0.1164",
42
45
  "@teambit/harmony.modules.send-server-sent-events": "0.0.3",
43
- "@teambit/importer": "1.0.486",
44
- "@teambit/logger": "0.0.1156",
46
+ "@teambit/importer": "1.0.488",
47
+ "@teambit/legacy.constants": "0.0.1",
48
+ "@teambit/logger": "0.0.1158",
49
+ "@teambit/scope.network": "0.0.1",
45
50
  "@teambit/toolbox.network.get-port": "1.0.6",
46
- "@teambit/watcher": "1.0.486",
47
- "@teambit/harmony.modules.feature-toggle": "0.0.7",
48
- "@teambit/legacy.loader": "0.0.3"
51
+ "@teambit/watcher": "1.0.488",
52
+ "@teambit/harmony.modules.feature-toggle": "0.0.8",
53
+ "@teambit/legacy.loader": "0.0.3",
54
+ "@teambit/legacy.logger": "0.0.1"
49
55
  },
50
56
  "devDependencies": {
51
57
  "@types/fs-extra": "9.0.7",