@teambit/api-server 1.0.282 → 1.0.283

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.282" tests="0" failures="0" errors="0" skipped="0"/>
3
+ <testsuite name="teambit.harmony/api-server@1.0.283" tests="0" failures="0" errors="0" skipped="0"/>
4
4
  </testsuites>
@@ -1266,7 +1266,7 @@
1266
1266
  "componentId": {
1267
1267
  "scope": "teambit.harmony",
1268
1268
  "name": "api-server",
1269
- "version": "1.0.282"
1269
+ "version": "1.0.283"
1270
1270
  },
1271
1271
  "taggedModuleExports": []
1272
1272
  }
@@ -53,10 +53,10 @@ function _constants() {
53
53
  };
54
54
  return data;
55
55
  }
56
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
56
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
57
57
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
58
58
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
59
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
59
+ 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; }
60
60
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
61
61
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
62
62
  const FILES_HISTORY_DIR = 'files-history';
@@ -1 +1 @@
1
- {"version":3,"names":["_path","data","_interopRequireDefault","require","_fsExtra","_path2","_pMap","_consumer","_lodash","_constants","obj","__esModule","default","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","FILES_HISTORY_DIR","LAST_SNAP_DIR","CMD_HISTORY","APIForIDE","constructor","workspace","snapping","lanes","installer","exporter","checkout","componentLog","componentCompare","generator","remove","config","logStartCmdHistory","op","str","writeToCmdHistory","logFinishCmdHistory","code","endStr","fs","appendFile","path","join","scope","Date","toISOString","listIdsWithPaths","ids","listIds","reduce","acc","id","toStringWithoutVersion","componentDir","getMainFilePath","compId","resolveComponentId","comp","get","state","mainFile","getWorkspaceHistory","current","bitMap","getPath","bitmapHistoryDir","consumer","getBitmapHistoryDir","historyPaths","readdir","historyMetadata","getParsedBitmapHistoryMetadata","history","map","historyPath","fileName","basename","fileId","replace","reason","historySorted","sort","a","b","fileIdToTimestamp","getConfigHistory","workspaceConfig","Error","configHistoryDir","getBackupHistoryDir","getParsedHistoryMetadata","getBackupMetadataFilePath","importLane","laneName","skipDependencyInstallation","results","switchLanes","components","c","toString","getCurrentLaneObject","currentLane","getCurrentLane","undefined","head","name","log","isNew","forkedFrom","listLanes","getLanes","showDefaultLane","createLane","getCompFiles","dirAbs","filesRelative","filesystem","files","file","relative","getCompFilesDirPathFromLastSnap","hasVersion","compDir","ignoreVersion","filePathsRootDir","modelComponent","getBitObjectModelComponent","versionObject","getBitObjectVersion","version","sourceFiles","modelFilesToSourceFiles","legacyScope","objects","Promise","all","filePath","outputFile","contents","pathJoinLinux","catObject","hash","object","getRawObject","JSON","stringify","content","logFile","getFileHistoryHashes","changedFilesFromParent","getChangedFilesFromParent","getConfigForDiff","getConfigForDiffById","setDefaultScope","scopeName","getCompFilesDirPathFromLastSnapUsingCompFiles","compFiles","getHeadFiles","warmWorkspaceCache","warmCache","clearCache","clearAllComponentsCache","install","options","opts","optimizeReportForNonTerminal","dedupe","updateExisting","import","export","componentsIds","removedIds","exportedLanes","rippleJobs","rippleJobsFullUrls","job","getCloudDomain","l","checkoutHead","skipNpmInstall","adjustCheckoutResultsToIde","getTemplates","templates","listTemplates","createComponent","templateName","idIncludeScope","includes","nameSplit","split","generateComponentTemplate","removeComponent","componentsPattern","force","serializedResults","localResult","serialize","switchLane","output","failedComponents","skipped","f","unchangedLegitimately","failed","succeed","getModifiedByConfig","modifiedComps","modified","wsComp","getConfigForDiffByCompObject","scopeComp","hasSameDeps","dependencies","hasSameAspects","aspects","result","compact","getDataToInitSCM","pMap","getFilesModification","pathsFromLastSnap","idStr","filesStatus","getFilesStatus","concurrency","componentId","getCompFilesDirPathFromLastSnapForAllComps","compResults","getCurrentLaneName","getCurrentLaneId","tagOrSnap","message","params","build","isOnMain","tag","snap","taggedComponents","snappedComponents","exports","dateStr","year","month","day","hours","minutes","seconds","date","getTime"],"sources":["api-for-ide.ts"],"sourcesContent":["import path from 'path';\nimport fs from 'fs-extra';\nimport { CompFiles, Workspace, FilesStatus } from '@teambit/workspace';\nimport { PathOsBasedAbsolute, PathOsBasedRelative, pathJoinLinux } from '@teambit/legacy/dist/utils/path';\nimport pMap from 'p-map';\nimport { SnappingMain } from '@teambit/snapping';\nimport { LanesMain } from '@teambit/lanes';\nimport { InstallMain } from '@teambit/install';\nimport { ExportMain } from '@teambit/export';\nimport { CheckoutMain } from '@teambit/checkout';\nimport { ApplyVersionResults } from '@teambit/merging';\nimport { ComponentLogMain, FileHashDiffFromParent } from '@teambit/component-log';\nimport { Log } from '@teambit/legacy/dist/scope/models/lane';\nimport { ComponentCompareMain } from '@teambit/component-compare';\nimport { GeneratorMain } from '@teambit/generator';\nimport { getParsedHistoryMetadata } from '@teambit/legacy/dist/consumer/consumer';\nimport RemovedObjects from '@teambit/legacy/dist/scope/removed-components';\nimport { RemoveMain } from '@teambit/remove';\nimport { compact } from 'lodash';\nimport { getCloudDomain } from '@teambit/legacy/dist/constants';\nimport { ConfigMain } from '@teambit/config';\n\nconst FILES_HISTORY_DIR = 'files-history';\nconst LAST_SNAP_DIR = 'last-snap';\nconst CMD_HISTORY = 'command-history-ide';\n\ntype PathLinux = string; // problematic to get it from @teambit/legacy/dist/utils/path.\n\ntype PathFromLastSnap = { [relativeToWorkspace: PathLinux]: string };\n\ntype InitSCMEntry = {\n filesStatus: FilesStatus;\n pathsFromLastSnap: PathFromLastSnap;\n compDir: PathLinux;\n};\n\ntype DataToInitSCM = { [compId: string]: InitSCMEntry };\n\ntype LaneObj = {\n name: string;\n scope: string;\n id: string;\n log: Log;\n components: Array<{ id: string; head: string }>;\n isNew: boolean;\n forkedFrom?: string;\n};\n\ntype ModifiedByConfig = {\n id: string;\n version: string;\n dependencies?: { workspace: string[]; scope: string[] };\n aspects?: { workspace: Record<string, any>; scope: Record<string, any> };\n};\n\ntype WorkspaceHistory = {\n current: PathOsBasedAbsolute;\n history: Array<{ path: PathOsBasedAbsolute; fileId: string; reason?: string }>;\n};\n\nexport class APIForIDE {\n constructor(\n private workspace: Workspace,\n private snapping: SnappingMain,\n private lanes: LanesMain,\n private installer: InstallMain,\n private exporter: ExportMain,\n private checkout: CheckoutMain,\n private componentLog: ComponentLogMain,\n private componentCompare: ComponentCompareMain,\n private generator: GeneratorMain,\n private remove: RemoveMain,\n private config: ConfigMain\n ) {}\n\n async logStartCmdHistory(op: string) {\n const str = `${op}, started`;\n await this.writeToCmdHistory(str);\n }\n\n async logFinishCmdHistory(op: string, code: number) {\n const endStr = code === 0 ? 'succeeded' : 'failed';\n const str = `${op}, ${endStr}`;\n await this.writeToCmdHistory(str);\n }\n\n private async writeToCmdHistory(str: string) {\n await fs.appendFile(path.join(this.workspace.scope.path, CMD_HISTORY), `${new Date().toISOString()} ${str}\\n`);\n }\n\n async listIdsWithPaths() {\n const ids = this.workspace.listIds();\n return ids.reduce((acc, id) => {\n acc[id.toStringWithoutVersion()] = this.workspace.componentDir(id);\n return acc;\n }, {});\n }\n\n async getMainFilePath(id: string): Promise<PathOsBasedAbsolute> {\n const compId = await this.workspace.resolveComponentId(id);\n const comp = await this.workspace.get(compId);\n return path.join(this.workspace.componentDir(compId), comp.state._consumer.mainFile);\n }\n\n async getWorkspaceHistory(): Promise<WorkspaceHistory> {\n const current = this.workspace.bitMap.getPath();\n const bitmapHistoryDir = this.workspace.consumer.getBitmapHistoryDir();\n const historyPaths = await fs.readdir(bitmapHistoryDir);\n const historyMetadata = await this.workspace.consumer.getParsedBitmapHistoryMetadata();\n const history = historyPaths.map((historyPath) => {\n const fileName = path.basename(historyPath);\n const fileId = fileName.replace('.bitmap-', '');\n const reason = historyMetadata[fileId];\n return { path: path.join(bitmapHistoryDir, fileName), fileId, reason };\n });\n const historySorted = history.sort((a, b) => fileIdToTimestamp(b.fileId) - fileIdToTimestamp(a.fileId));\n\n return { current, history: historySorted };\n }\n\n async getConfigHistory(): Promise<WorkspaceHistory> {\n const workspaceConfig = this.config.workspaceConfig;\n if (!workspaceConfig) throw new Error('getConfigHistory(), workspace config is missing');\n const current = workspaceConfig.path;\n const configHistoryDir = workspaceConfig.getBackupHistoryDir();\n const historyPaths = await fs.readdir(configHistoryDir);\n const historyMetadata = await getParsedHistoryMetadata(workspaceConfig.getBackupMetadataFilePath());\n const history = historyPaths.map((historyPath) => {\n const fileName = path.basename(historyPath);\n const fileId = fileName;\n const reason = historyMetadata[fileId];\n return { path: path.join(configHistoryDir, fileName), fileId, reason };\n });\n const historySorted = history.sort((a, b) => fileIdToTimestamp(b.fileId) - fileIdToTimestamp(a.fileId));\n\n return { current, history: historySorted };\n }\n\n async importLane(\n laneName: string,\n { skipDependencyInstallation }: { skipDependencyInstallation?: boolean }\n ): Promise<string[]> {\n const results = await this.lanes.switchLanes(laneName, {\n skipDependencyInstallation,\n });\n return (results.components || []).map((c) => c.id.toString());\n }\n\n async getCurrentLaneObject(): Promise<LaneObj | undefined> {\n const currentLane = await this.lanes.getCurrentLane();\n if (!currentLane) return undefined;\n const components = currentLane.components.map((c) => {\n return {\n id: c.id.toStringWithoutVersion(),\n head: c.head.toString(),\n };\n });\n return {\n name: currentLane.name,\n scope: currentLane.scope,\n id: currentLane.id(),\n log: currentLane.log,\n components,\n isNew: currentLane.isNew,\n forkedFrom: currentLane.forkedFrom?.toString(),\n };\n }\n\n async listLanes() {\n return this.lanes.getLanes({ showDefaultLane: true });\n }\n\n async createLane(name: string) {\n return this.lanes.createLane(name);\n }\n\n async getCompFiles(id: string): Promise<{ dirAbs: string; filesRelative: PathOsBasedRelative[] }> {\n const compId = await this.workspace.resolveComponentId(id);\n const comp = await this.workspace.get(compId);\n const dirAbs = this.workspace.componentDir(comp.id);\n const filesRelative = comp.state.filesystem.files.map((file) => file.relative);\n return { dirAbs, filesRelative };\n }\n\n async getCompFilesDirPathFromLastSnap(id: string): Promise<{ [relativePath: string]: string }> {\n const compId = await this.workspace.resolveComponentId(id);\n if (!compId.hasVersion()) return {}; // it's a new component.\n const compDir = this.workspace.componentDir(compId, { ignoreVersion: true }, { relative: true });\n // const dirName = filenamify(compId.toString(), { replacement: '_' });\n const filePathsRootDir = path.join(this.workspace.scope.path, FILES_HISTORY_DIR, LAST_SNAP_DIR, compDir);\n await fs.remove(filePathsRootDir); // in case it has old data\n\n const modelComponent = await this.workspace.scope.getBitObjectModelComponent(compId);\n if (!modelComponent) {\n throw new Error(`unable to find ${compId.toString()} in the local scope, please run \"bit import\"`);\n }\n const versionObject = await this.workspace.scope.getBitObjectVersion(modelComponent, compId.version as string);\n if (!versionObject)\n throw new Error(`unable to find the Version object of ${compId.toString()}, please run \"bit import\"`);\n const sourceFiles = await versionObject.modelFilesToSourceFiles(this.workspace.scope.legacyScope.objects);\n const results: { [relativePath: string]: string } = {};\n await Promise.all(\n sourceFiles.map(async (file) => {\n const filePath = path.join(filePathsRootDir, file.relative);\n await fs.outputFile(filePath, file.contents);\n results[pathJoinLinux(compDir, file.relative)] = filePath;\n })\n );\n return results;\n }\n\n async catObject(hash: string) {\n const object = await this.workspace.scope.legacyScope.getRawObject(hash);\n return JSON.stringify(object.content.toString());\n }\n\n async logFile(filePath: string) {\n const results = await this.componentLog.getFileHistoryHashes(filePath);\n return results;\n }\n\n async changedFilesFromParent(id: string): Promise<FileHashDiffFromParent[]> {\n const results = await this.componentLog.getChangedFilesFromParent(id);\n return results;\n }\n\n async getConfigForDiff(id: string) {\n const results = await this.componentCompare.getConfigForDiffById(id);\n return results;\n }\n\n async setDefaultScope(scopeName: string) {\n await this.workspace.setDefaultScope(scopeName);\n return scopeName;\n }\n\n async getCompFilesDirPathFromLastSnapUsingCompFiles(\n compFiles: CompFiles\n ): Promise<{ [relativePath: string]: string }> {\n const compId = compFiles.id;\n if (!compId.hasVersion()) return {}; // it's a new component.\n const compDir = compFiles.compDir;\n const filePathsRootDir = path.join(this.workspace.scope.path, FILES_HISTORY_DIR, LAST_SNAP_DIR, compDir);\n await fs.remove(filePathsRootDir); // in case it has old data\n\n const sourceFiles = await compFiles.getHeadFiles();\n\n const results: { [relativePath: string]: string } = {};\n await Promise.all(\n sourceFiles.map(async (file) => {\n const filePath = path.join(filePathsRootDir, file.relative);\n await fs.outputFile(filePath, file.contents);\n results[pathJoinLinux(compDir, file.relative)] = filePath;\n })\n );\n return results;\n }\n\n async warmWorkspaceCache() {\n await this.workspace.warmCache();\n }\n async clearCache() {\n await this.workspace.clearCache();\n this.workspace.clearAllComponentsCache();\n }\n\n async install(options = {}) {\n const opts = {\n optimizeReportForNonTerminal: true,\n dedupe: true,\n updateExisting: false,\n import: false,\n ...options,\n };\n\n return this.installer.install(undefined, opts);\n }\n\n async export() {\n const { componentsIds, removedIds, exportedLanes, rippleJobs } = await this.exporter.export();\n const rippleJobsFullUrls = rippleJobs.map((job) => `https://${getCloudDomain()}/ripple-ci/job/${job}`);\n return {\n componentsIds: componentsIds.map((c) => c.toString()),\n removedIds: removedIds.map((c) => c.toString()),\n exportedLanes: exportedLanes.map((l) => l.id()),\n rippleJobs: rippleJobsFullUrls,\n };\n }\n\n async checkoutHead() {\n const results = await this.checkout.checkout({\n head: true,\n skipNpmInstall: true,\n ids: await this.workspace.listIds(),\n });\n return this.adjustCheckoutResultsToIde(results);\n }\n\n async getTemplates() {\n const templates = await this.generator.listTemplates();\n return templates;\n }\n\n async createComponent(templateName: string, idIncludeScope: string) {\n if (!idIncludeScope.includes('/')) {\n throw new Error('id should include the scope name');\n }\n const [scope, ...nameSplit] = idIncludeScope.split('/');\n return this.generator.generateComponentTemplate([nameSplit.join('/')], templateName, { scope });\n }\n\n async removeComponent(id: string) {\n const results = await this.remove.remove({\n componentsPattern: id,\n force: true,\n });\n const serializedResults = (results.localResult as RemovedObjects).serialize();\n return serializedResults;\n }\n\n async switchLane(name: string) {\n const results = await this.lanes.switchLanes(name, { skipDependencyInstallation: true });\n return this.adjustCheckoutResultsToIde(results);\n }\n\n private adjustCheckoutResultsToIde(output: ApplyVersionResults) {\n const { components, failedComponents } = output;\n const skipped = failedComponents?.filter((f) => f.unchangedLegitimately).map((f) => f.id.toString());\n const failed = failedComponents?.filter((f) => !f.unchangedLegitimately).map((f) => f.id.toString());\n return {\n succeed: components?.map((c) => c.id.toString()),\n skipped,\n failed,\n };\n }\n\n async getModifiedByConfig(): Promise<ModifiedByConfig[]> {\n const modifiedComps = await this.workspace.modified();\n const results = await Promise.all(\n modifiedComps.map(async (comp) => {\n const wsComp = await this.componentCompare.getConfigForDiffByCompObject(comp);\n const scopeComp = await this.componentCompare.getConfigForDiffById(comp.id.toString());\n const hasSameDeps = JSON.stringify(wsComp.dependencies) === JSON.stringify(scopeComp.dependencies);\n const hasSameAspects = JSON.stringify(wsComp.aspects) === JSON.stringify(scopeComp.aspects);\n if (hasSameDeps && hasSameAspects) return null;\n const result: ModifiedByConfig = {\n id: comp.id.toStringWithoutVersion(),\n version: comp.id.version as string,\n };\n if (!hasSameDeps) result.dependencies = { workspace: wsComp.dependencies, scope: scopeComp.dependencies || [] };\n if (!hasSameAspects) result.aspects = { workspace: wsComp.aspects, scope: scopeComp.aspects || {} };\n return result;\n })\n );\n\n return compact(results);\n }\n\n async getDataToInitSCM(): Promise<DataToInitSCM> {\n const ids = this.workspace.listIds();\n const results: DataToInitSCM = {};\n await pMap(\n ids,\n async (id) => {\n const compFiles = await this.workspace.getFilesModification(id);\n const pathsFromLastSnap = await this.getCompFilesDirPathFromLastSnapUsingCompFiles(compFiles);\n const idStr = id.toStringWithoutVersion();\n results[idStr] = {\n filesStatus: compFiles.getFilesStatus(),\n pathsFromLastSnap,\n compDir: compFiles.compDir,\n };\n },\n { concurrency: 30 }\n );\n\n return results;\n }\n\n async getFilesStatus(id: string): Promise<FilesStatus> {\n const componentId = await this.workspace.resolveComponentId(id);\n const compFiles = await this.workspace.getFilesModification(componentId);\n return compFiles.getFilesStatus();\n }\n\n async getCompFilesDirPathFromLastSnapForAllComps(): Promise<{ [relativePath: string]: string }> {\n const ids = this.workspace.listIds();\n let results = {};\n await pMap(\n ids,\n async (id) => {\n const idStr = id.toStringWithoutVersion();\n const compResults = await this.getCompFilesDirPathFromLastSnap(idStr);\n results = { ...results, ...compResults };\n },\n { concurrency: 30 }\n );\n return results;\n }\n\n getCurrentLaneName(): string {\n return this.workspace.getCurrentLaneId().name;\n }\n\n async tagOrSnap(message = '') {\n const params = { message, build: false };\n return this.workspace.isOnMain() ? this.snapping.tag(params) : this.snapping.snap(params);\n }\n\n async tag(message = ''): Promise<string[]> {\n const params = { message, build: false };\n const results = await this.snapping.tag(params);\n return (results?.taggedComponents || []).map((c) => c.id.toString());\n }\n\n async snap(message = ''): Promise<string[]> {\n const params = { message, build: false };\n const results = await this.snapping.snap(params);\n return (results?.snappedComponents || []).map((c) => c.id.toString());\n }\n}\n\nfunction fileIdToTimestamp(dateStr: string): number {\n const [year, month, day, hours, minutes, seconds] = dateStr.split('-');\n const date = new Date(Number(year), Number(month) - 1, Number(day), Number(hours), Number(minutes), Number(seconds));\n return date.getTime();\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_path","data","_interopRequireDefault","require","_fsExtra","_path2","_pMap","_consumer","_lodash","_constants","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","FILES_HISTORY_DIR","LAST_SNAP_DIR","CMD_HISTORY","APIForIDE","constructor","workspace","snapping","lanes","installer","exporter","checkout","componentLog","componentCompare","generator","remove","config","logStartCmdHistory","op","str","writeToCmdHistory","logFinishCmdHistory","code","endStr","fs","appendFile","path","join","scope","Date","toISOString","listIdsWithPaths","ids","listIds","reduce","acc","id","toStringWithoutVersion","componentDir","getMainFilePath","compId","resolveComponentId","comp","get","state","mainFile","getWorkspaceHistory","current","bitMap","getPath","bitmapHistoryDir","consumer","getBitmapHistoryDir","historyPaths","readdir","historyMetadata","getParsedBitmapHistoryMetadata","history","map","historyPath","fileName","basename","fileId","replace","reason","historySorted","sort","a","b","fileIdToTimestamp","getConfigHistory","workspaceConfig","Error","configHistoryDir","getBackupHistoryDir","getParsedHistoryMetadata","getBackupMetadataFilePath","importLane","laneName","skipDependencyInstallation","results","switchLanes","components","c","toString","getCurrentLaneObject","currentLane","getCurrentLane","undefined","head","name","log","isNew","forkedFrom","listLanes","getLanes","showDefaultLane","createLane","getCompFiles","dirAbs","filesRelative","filesystem","files","file","relative","getCompFilesDirPathFromLastSnap","hasVersion","compDir","ignoreVersion","filePathsRootDir","modelComponent","getBitObjectModelComponent","versionObject","getBitObjectVersion","version","sourceFiles","modelFilesToSourceFiles","legacyScope","objects","Promise","all","filePath","outputFile","contents","pathJoinLinux","catObject","hash","object","getRawObject","JSON","stringify","content","logFile","getFileHistoryHashes","changedFilesFromParent","getChangedFilesFromParent","getConfigForDiff","getConfigForDiffById","setDefaultScope","scopeName","getCompFilesDirPathFromLastSnapUsingCompFiles","compFiles","getHeadFiles","warmWorkspaceCache","warmCache","clearCache","clearAllComponentsCache","install","options","opts","optimizeReportForNonTerminal","dedupe","updateExisting","import","export","componentsIds","removedIds","exportedLanes","rippleJobs","rippleJobsFullUrls","job","getCloudDomain","l","checkoutHead","skipNpmInstall","adjustCheckoutResultsToIde","getTemplates","templates","listTemplates","createComponent","templateName","idIncludeScope","includes","nameSplit","split","generateComponentTemplate","removeComponent","componentsPattern","force","serializedResults","localResult","serialize","switchLane","output","failedComponents","skipped","f","unchangedLegitimately","failed","succeed","getModifiedByConfig","modifiedComps","modified","wsComp","getConfigForDiffByCompObject","scopeComp","hasSameDeps","dependencies","hasSameAspects","aspects","result","compact","getDataToInitSCM","pMap","getFilesModification","pathsFromLastSnap","idStr","filesStatus","getFilesStatus","concurrency","componentId","getCompFilesDirPathFromLastSnapForAllComps","compResults","getCurrentLaneName","getCurrentLaneId","tagOrSnap","message","params","build","isOnMain","tag","snap","taggedComponents","snappedComponents","exports","dateStr","year","month","day","hours","minutes","seconds","date","getTime"],"sources":["api-for-ide.ts"],"sourcesContent":["import path from 'path';\nimport fs from 'fs-extra';\nimport { CompFiles, Workspace, FilesStatus } from '@teambit/workspace';\nimport { PathOsBasedAbsolute, PathOsBasedRelative, pathJoinLinux } from '@teambit/legacy/dist/utils/path';\nimport pMap from 'p-map';\nimport { SnappingMain } from '@teambit/snapping';\nimport { LanesMain } from '@teambit/lanes';\nimport { InstallMain } from '@teambit/install';\nimport { ExportMain } from '@teambit/export';\nimport { CheckoutMain } from '@teambit/checkout';\nimport { ApplyVersionResults } from '@teambit/merging';\nimport { ComponentLogMain, FileHashDiffFromParent } from '@teambit/component-log';\nimport { Log } from '@teambit/legacy/dist/scope/models/lane';\nimport { ComponentCompareMain } from '@teambit/component-compare';\nimport { GeneratorMain } from '@teambit/generator';\nimport { getParsedHistoryMetadata } from '@teambit/legacy/dist/consumer/consumer';\nimport RemovedObjects from '@teambit/legacy/dist/scope/removed-components';\nimport { RemoveMain } from '@teambit/remove';\nimport { compact } from 'lodash';\nimport { getCloudDomain } from '@teambit/legacy/dist/constants';\nimport { ConfigMain } from '@teambit/config';\n\nconst FILES_HISTORY_DIR = 'files-history';\nconst LAST_SNAP_DIR = 'last-snap';\nconst CMD_HISTORY = 'command-history-ide';\n\ntype PathLinux = string; // problematic to get it from @teambit/legacy/dist/utils/path.\n\ntype PathFromLastSnap = { [relativeToWorkspace: PathLinux]: string };\n\ntype InitSCMEntry = {\n filesStatus: FilesStatus;\n pathsFromLastSnap: PathFromLastSnap;\n compDir: PathLinux;\n};\n\ntype DataToInitSCM = { [compId: string]: InitSCMEntry };\n\ntype LaneObj = {\n name: string;\n scope: string;\n id: string;\n log: Log;\n components: Array<{ id: string; head: string }>;\n isNew: boolean;\n forkedFrom?: string;\n};\n\ntype ModifiedByConfig = {\n id: string;\n version: string;\n dependencies?: { workspace: string[]; scope: string[] };\n aspects?: { workspace: Record<string, any>; scope: Record<string, any> };\n};\n\ntype WorkspaceHistory = {\n current: PathOsBasedAbsolute;\n history: Array<{ path: PathOsBasedAbsolute; fileId: string; reason?: string }>;\n};\n\nexport class APIForIDE {\n constructor(\n private workspace: Workspace,\n private snapping: SnappingMain,\n private lanes: LanesMain,\n private installer: InstallMain,\n private exporter: ExportMain,\n private checkout: CheckoutMain,\n private componentLog: ComponentLogMain,\n private componentCompare: ComponentCompareMain,\n private generator: GeneratorMain,\n private remove: RemoveMain,\n private config: ConfigMain\n ) {}\n\n async logStartCmdHistory(op: string) {\n const str = `${op}, started`;\n await this.writeToCmdHistory(str);\n }\n\n async logFinishCmdHistory(op: string, code: number) {\n const endStr = code === 0 ? 'succeeded' : 'failed';\n const str = `${op}, ${endStr}`;\n await this.writeToCmdHistory(str);\n }\n\n private async writeToCmdHistory(str: string) {\n await fs.appendFile(path.join(this.workspace.scope.path, CMD_HISTORY), `${new Date().toISOString()} ${str}\\n`);\n }\n\n async listIdsWithPaths() {\n const ids = this.workspace.listIds();\n return ids.reduce((acc, id) => {\n acc[id.toStringWithoutVersion()] = this.workspace.componentDir(id);\n return acc;\n }, {});\n }\n\n async getMainFilePath(id: string): Promise<PathOsBasedAbsolute> {\n const compId = await this.workspace.resolveComponentId(id);\n const comp = await this.workspace.get(compId);\n return path.join(this.workspace.componentDir(compId), comp.state._consumer.mainFile);\n }\n\n async getWorkspaceHistory(): Promise<WorkspaceHistory> {\n const current = this.workspace.bitMap.getPath();\n const bitmapHistoryDir = this.workspace.consumer.getBitmapHistoryDir();\n const historyPaths = await fs.readdir(bitmapHistoryDir);\n const historyMetadata = await this.workspace.consumer.getParsedBitmapHistoryMetadata();\n const history = historyPaths.map((historyPath) => {\n const fileName = path.basename(historyPath);\n const fileId = fileName.replace('.bitmap-', '');\n const reason = historyMetadata[fileId];\n return { path: path.join(bitmapHistoryDir, fileName), fileId, reason };\n });\n const historySorted = history.sort((a, b) => fileIdToTimestamp(b.fileId) - fileIdToTimestamp(a.fileId));\n\n return { current, history: historySorted };\n }\n\n async getConfigHistory(): Promise<WorkspaceHistory> {\n const workspaceConfig = this.config.workspaceConfig;\n if (!workspaceConfig) throw new Error('getConfigHistory(), workspace config is missing');\n const current = workspaceConfig.path;\n const configHistoryDir = workspaceConfig.getBackupHistoryDir();\n const historyPaths = await fs.readdir(configHistoryDir);\n const historyMetadata = await getParsedHistoryMetadata(workspaceConfig.getBackupMetadataFilePath());\n const history = historyPaths.map((historyPath) => {\n const fileName = path.basename(historyPath);\n const fileId = fileName;\n const reason = historyMetadata[fileId];\n return { path: path.join(configHistoryDir, fileName), fileId, reason };\n });\n const historySorted = history.sort((a, b) => fileIdToTimestamp(b.fileId) - fileIdToTimestamp(a.fileId));\n\n return { current, history: historySorted };\n }\n\n async importLane(\n laneName: string,\n { skipDependencyInstallation }: { skipDependencyInstallation?: boolean }\n ): Promise<string[]> {\n const results = await this.lanes.switchLanes(laneName, {\n skipDependencyInstallation,\n });\n return (results.components || []).map((c) => c.id.toString());\n }\n\n async getCurrentLaneObject(): Promise<LaneObj | undefined> {\n const currentLane = await this.lanes.getCurrentLane();\n if (!currentLane) return undefined;\n const components = currentLane.components.map((c) => {\n return {\n id: c.id.toStringWithoutVersion(),\n head: c.head.toString(),\n };\n });\n return {\n name: currentLane.name,\n scope: currentLane.scope,\n id: currentLane.id(),\n log: currentLane.log,\n components,\n isNew: currentLane.isNew,\n forkedFrom: currentLane.forkedFrom?.toString(),\n };\n }\n\n async listLanes() {\n return this.lanes.getLanes({ showDefaultLane: true });\n }\n\n async createLane(name: string) {\n return this.lanes.createLane(name);\n }\n\n async getCompFiles(id: string): Promise<{ dirAbs: string; filesRelative: PathOsBasedRelative[] }> {\n const compId = await this.workspace.resolveComponentId(id);\n const comp = await this.workspace.get(compId);\n const dirAbs = this.workspace.componentDir(comp.id);\n const filesRelative = comp.state.filesystem.files.map((file) => file.relative);\n return { dirAbs, filesRelative };\n }\n\n async getCompFilesDirPathFromLastSnap(id: string): Promise<{ [relativePath: string]: string }> {\n const compId = await this.workspace.resolveComponentId(id);\n if (!compId.hasVersion()) return {}; // it's a new component.\n const compDir = this.workspace.componentDir(compId, { ignoreVersion: true }, { relative: true });\n // const dirName = filenamify(compId.toString(), { replacement: '_' });\n const filePathsRootDir = path.join(this.workspace.scope.path, FILES_HISTORY_DIR, LAST_SNAP_DIR, compDir);\n await fs.remove(filePathsRootDir); // in case it has old data\n\n const modelComponent = await this.workspace.scope.getBitObjectModelComponent(compId);\n if (!modelComponent) {\n throw new Error(`unable to find ${compId.toString()} in the local scope, please run \"bit import\"`);\n }\n const versionObject = await this.workspace.scope.getBitObjectVersion(modelComponent, compId.version as string);\n if (!versionObject)\n throw new Error(`unable to find the Version object of ${compId.toString()}, please run \"bit import\"`);\n const sourceFiles = await versionObject.modelFilesToSourceFiles(this.workspace.scope.legacyScope.objects);\n const results: { [relativePath: string]: string } = {};\n await Promise.all(\n sourceFiles.map(async (file) => {\n const filePath = path.join(filePathsRootDir, file.relative);\n await fs.outputFile(filePath, file.contents);\n results[pathJoinLinux(compDir, file.relative)] = filePath;\n })\n );\n return results;\n }\n\n async catObject(hash: string) {\n const object = await this.workspace.scope.legacyScope.getRawObject(hash);\n return JSON.stringify(object.content.toString());\n }\n\n async logFile(filePath: string) {\n const results = await this.componentLog.getFileHistoryHashes(filePath);\n return results;\n }\n\n async changedFilesFromParent(id: string): Promise<FileHashDiffFromParent[]> {\n const results = await this.componentLog.getChangedFilesFromParent(id);\n return results;\n }\n\n async getConfigForDiff(id: string) {\n const results = await this.componentCompare.getConfigForDiffById(id);\n return results;\n }\n\n async setDefaultScope(scopeName: string) {\n await this.workspace.setDefaultScope(scopeName);\n return scopeName;\n }\n\n async getCompFilesDirPathFromLastSnapUsingCompFiles(\n compFiles: CompFiles\n ): Promise<{ [relativePath: string]: string }> {\n const compId = compFiles.id;\n if (!compId.hasVersion()) return {}; // it's a new component.\n const compDir = compFiles.compDir;\n const filePathsRootDir = path.join(this.workspace.scope.path, FILES_HISTORY_DIR, LAST_SNAP_DIR, compDir);\n await fs.remove(filePathsRootDir); // in case it has old data\n\n const sourceFiles = await compFiles.getHeadFiles();\n\n const results: { [relativePath: string]: string } = {};\n await Promise.all(\n sourceFiles.map(async (file) => {\n const filePath = path.join(filePathsRootDir, file.relative);\n await fs.outputFile(filePath, file.contents);\n results[pathJoinLinux(compDir, file.relative)] = filePath;\n })\n );\n return results;\n }\n\n async warmWorkspaceCache() {\n await this.workspace.warmCache();\n }\n async clearCache() {\n await this.workspace.clearCache();\n this.workspace.clearAllComponentsCache();\n }\n\n async install(options = {}) {\n const opts = {\n optimizeReportForNonTerminal: true,\n dedupe: true,\n updateExisting: false,\n import: false,\n ...options,\n };\n\n return this.installer.install(undefined, opts);\n }\n\n async export() {\n const { componentsIds, removedIds, exportedLanes, rippleJobs } = await this.exporter.export();\n const rippleJobsFullUrls = rippleJobs.map((job) => `https://${getCloudDomain()}/ripple-ci/job/${job}`);\n return {\n componentsIds: componentsIds.map((c) => c.toString()),\n removedIds: removedIds.map((c) => c.toString()),\n exportedLanes: exportedLanes.map((l) => l.id()),\n rippleJobs: rippleJobsFullUrls,\n };\n }\n\n async checkoutHead() {\n const results = await this.checkout.checkout({\n head: true,\n skipNpmInstall: true,\n ids: await this.workspace.listIds(),\n });\n return this.adjustCheckoutResultsToIde(results);\n }\n\n async getTemplates() {\n const templates = await this.generator.listTemplates();\n return templates;\n }\n\n async createComponent(templateName: string, idIncludeScope: string) {\n if (!idIncludeScope.includes('/')) {\n throw new Error('id should include the scope name');\n }\n const [scope, ...nameSplit] = idIncludeScope.split('/');\n return this.generator.generateComponentTemplate([nameSplit.join('/')], templateName, { scope });\n }\n\n async removeComponent(id: string) {\n const results = await this.remove.remove({\n componentsPattern: id,\n force: true,\n });\n const serializedResults = (results.localResult as RemovedObjects).serialize();\n return serializedResults;\n }\n\n async switchLane(name: string) {\n const results = await this.lanes.switchLanes(name, { skipDependencyInstallation: true });\n return this.adjustCheckoutResultsToIde(results);\n }\n\n private adjustCheckoutResultsToIde(output: ApplyVersionResults) {\n const { components, failedComponents } = output;\n const skipped = failedComponents?.filter((f) => f.unchangedLegitimately).map((f) => f.id.toString());\n const failed = failedComponents?.filter((f) => !f.unchangedLegitimately).map((f) => f.id.toString());\n return {\n succeed: components?.map((c) => c.id.toString()),\n skipped,\n failed,\n };\n }\n\n async getModifiedByConfig(): Promise<ModifiedByConfig[]> {\n const modifiedComps = await this.workspace.modified();\n const results = await Promise.all(\n modifiedComps.map(async (comp) => {\n const wsComp = await this.componentCompare.getConfigForDiffByCompObject(comp);\n const scopeComp = await this.componentCompare.getConfigForDiffById(comp.id.toString());\n const hasSameDeps = JSON.stringify(wsComp.dependencies) === JSON.stringify(scopeComp.dependencies);\n const hasSameAspects = JSON.stringify(wsComp.aspects) === JSON.stringify(scopeComp.aspects);\n if (hasSameDeps && hasSameAspects) return null;\n const result: ModifiedByConfig = {\n id: comp.id.toStringWithoutVersion(),\n version: comp.id.version as string,\n };\n if (!hasSameDeps) result.dependencies = { workspace: wsComp.dependencies, scope: scopeComp.dependencies || [] };\n if (!hasSameAspects) result.aspects = { workspace: wsComp.aspects, scope: scopeComp.aspects || {} };\n return result;\n })\n );\n\n return compact(results);\n }\n\n async getDataToInitSCM(): Promise<DataToInitSCM> {\n const ids = this.workspace.listIds();\n const results: DataToInitSCM = {};\n await pMap(\n ids,\n async (id) => {\n const compFiles = await this.workspace.getFilesModification(id);\n const pathsFromLastSnap = await this.getCompFilesDirPathFromLastSnapUsingCompFiles(compFiles);\n const idStr = id.toStringWithoutVersion();\n results[idStr] = {\n filesStatus: compFiles.getFilesStatus(),\n pathsFromLastSnap,\n compDir: compFiles.compDir,\n };\n },\n { concurrency: 30 }\n );\n\n return results;\n }\n\n async getFilesStatus(id: string): Promise<FilesStatus> {\n const componentId = await this.workspace.resolveComponentId(id);\n const compFiles = await this.workspace.getFilesModification(componentId);\n return compFiles.getFilesStatus();\n }\n\n async getCompFilesDirPathFromLastSnapForAllComps(): Promise<{ [relativePath: string]: string }> {\n const ids = this.workspace.listIds();\n let results = {};\n await pMap(\n ids,\n async (id) => {\n const idStr = id.toStringWithoutVersion();\n const compResults = await this.getCompFilesDirPathFromLastSnap(idStr);\n results = { ...results, ...compResults };\n },\n { concurrency: 30 }\n );\n return results;\n }\n\n getCurrentLaneName(): string {\n return this.workspace.getCurrentLaneId().name;\n }\n\n async tagOrSnap(message = '') {\n const params = { message, build: false };\n return this.workspace.isOnMain() ? this.snapping.tag(params) : this.snapping.snap(params);\n }\n\n async tag(message = ''): Promise<string[]> {\n const params = { message, build: false };\n const results = await this.snapping.tag(params);\n return (results?.taggedComponents || []).map((c) => c.id.toString());\n }\n\n async snap(message = ''): Promise<string[]> {\n const params = { message, build: false };\n const results = await this.snapping.snap(params);\n return (results?.snappedComponents || []).map((c) => c.id.toString());\n }\n}\n\nfunction fileIdToTimestamp(dateStr: string): number {\n const [year, month, day, hours, minutes, seconds] = dateStr.split('-');\n const date = new Date(Number(year), Number(month) - 1, Number(day), Number(hours), Number(minutes), Number(seconds));\n return date.getTime();\n}\n"],"mappings":"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","ignoreList":[]}
@@ -158,7 +158,7 @@ function _sseEvents() {
158
158
  };
159
159
  return data;
160
160
  }
161
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
161
+ 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; }
162
162
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
163
163
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
164
164
  class ApiServerMain {
@@ -1 +1 @@
1
- {"version":3,"names":["_cli","data","require","_express","_logger","_lanes","_remove","_snapping","_generator","_componentCompare","_componentLog","_watcher","_config","_export","_checkout","_install","_importer","_workspace","_apiServer","_cli2","_server","_ide","_apiForIde","_sseEvents","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","r","e","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","registerPostInstall","watch","preCompile","compile","catch","err","error","port","server","listen","Promise","resolve","reject","on","consoleSuccess","provider","cli","loggerMain","snapping","lanes","exporter","checkout","componentLog","componentCompare","generator","remove","config","createLogger","ApiServerAspect","apiServer","register","ServerCmd","apiForIDE","APIForIDE","cliRoute","CLIRoute","vscodeRoute","IDERoute","sseEventsRoute","SSEEventsRoute","exports","CLIAspect","WorkspaceAspect","LoggerAspect","ExpressAspect","WatcherAspect","SnappingAspect","LanesAspect","InstallAspect","ExportAspect","CheckoutAspect","ComponentLogAspect","ImporterAspect","ComponentCompareAspect","GeneratorAspect","RemoveAspect","ConfigAspect","MainRuntime","addRuntime","_default","default"],"sources":["api-server.main.runtime.ts"],"sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\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 { 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, sendEventsToClients } from './sse-events.route';\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.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 || 3000;\n const server = await this.express.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 resolve(true);\n });\n });\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 ];\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 ]: [\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 ]) {\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 );\n const cliRoute = new CLIRoute(logger, cli, apiForIDE);\n const vscodeRoute = 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, vscodeRoute, sseEventsRoute]);\n }\n\n return apiServer;\n }\n}\n\nApiServerAspect.addRuntime(ApiServerMain);\n\nexport default ApiServerMain;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_cli","data","require","_express","_logger","_lanes","_remove","_snapping","_generator","_componentCompare","_componentLog","_watcher","_config","_export","_checkout","_install","_importer","_workspace","_apiServer","_cli2","_server","_ide","_apiForIde","_sseEvents","_defineProperty","e","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","registerPostInstall","watch","preCompile","compile","catch","err","error","port","server","listen","Promise","resolve","reject","on","consoleSuccess","provider","cli","loggerMain","snapping","lanes","exporter","checkout","componentLog","componentCompare","generator","remove","config","createLogger","ApiServerAspect","apiServer","register","ServerCmd","apiForIDE","APIForIDE","cliRoute","CLIRoute","vscodeRoute","IDERoute","sseEventsRoute","SSEEventsRoute","exports","CLIAspect","WorkspaceAspect","LoggerAspect","ExpressAspect","WatcherAspect","SnappingAspect","LanesAspect","InstallAspect","ExportAspect","CheckoutAspect","ComponentLogAspect","ImporterAspect","ComponentCompareAspect","GeneratorAspect","RemoveAspect","ConfigAspect","MainRuntime","addRuntime","_default","default"],"sources":["api-server.main.runtime.ts"],"sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\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 { 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, sendEventsToClients } from './sse-events.route';\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.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 || 3000;\n const server = await this.express.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 resolve(true);\n });\n });\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 ];\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 ]: [\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 ]) {\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 );\n const cliRoute = new CLIRoute(logger, cli, apiForIDE);\n const vscodeRoute = 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, vscodeRoute, sseEventsRoute]);\n }\n\n return apiServer;\n }\n}\n\nApiServerAspect.addRuntime(ApiServerMain);\n\nexport default ApiServerMain;\n"],"mappings":"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","ignoreList":[]}
package/dist/cli.route.js CHANGED
@@ -18,8 +18,8 @@ function _lodash() {
18
18
  };
19
19
  return data;
20
20
  }
21
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
22
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
21
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
22
+ 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; }
23
23
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
24
24
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
25
25
  /**
@@ -1 +1 @@
1
- {"version":3,"names":["_prettyTime","data","_interopRequireDefault","require","_lodash","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","r","e","Symbol","toPrimitive","call","TypeError","String","Number","CLIRoute","constructor","logger","cli","apiForIDE","req","res","debug","params","cmd","cmdStrLog","command","getCommand","Error","body","args","options","format","outputMethod","optsToString","keys","map","join","argsStr","optsStr","cmdStr","console","randomNumber","Math","floor","random","logStartCmdHistory","optionsAsCamelCase","reduce","acc","camelCaseKey","camelCase","startTask","process","hrtime","result","duration","prettyTime","consoleSuccess","logFinishCmdHistory","json","exitCode","code","err","error","consoleFailure","message","status","jsonp","exports"],"sources":["cli.route.ts"],"sourcesContent":["import { CLIMain } from '@teambit/cli';\nimport prettyTime from 'pretty-time';\nimport { Route, Request, Response } from '@teambit/express';\nimport { Logger } from '@teambit/logger';\nimport { camelCase } from 'lodash';\nimport { APIForIDE } from './api-for-ide';\n\n/**\n * example usage:\n * post to http://localhost:3000/api/cli/list\n * with the following json as the body\n *\n{\n \"args\": [\"teambit.workspace\"],\n \"options\": {\n \"ids\": true\n }\n}\n */\nexport class CLIRoute implements Route {\n constructor(private logger: Logger, private cli: CLIMain, private apiForIDE: APIForIDE) {}\n\n method = 'post';\n route = '/cli/:cmd';\n\n middlewares = [\n async (req: Request, res: Response) => {\n this.logger.debug(`cli server: got request for ${req.params.cmd}`);\n let cmdStrLog: string | undefined;\n try {\n const command = this.cli.getCommand(req.params.cmd);\n if (!command) throw new Error(`command \"${req.params.cmd}\" was not found`);\n const body = req.body;\n const { args, options, format } = body;\n if (format && format !== 'json' && format !== 'report') throw new Error(`format \"${format}\" is not supported`);\n const outputMethod: 'json' | 'report' = format || 'json';\n if (!command[outputMethod])\n throw new Error(`command \"${req.params.cmd}\" does not have a ${outputMethod} method`);\n const optsToString = Object.keys(options || {})\n .map((key) => `--${key}`)\n .join(' ');\n const argsStr = args ? ` ${args.join(' ')}` : '';\n const optsStr = optsToString ? ` ${optsToString}` : '';\n const cmdStr = req.params.cmd + argsStr + optsStr;\n this.logger.console(`[*] started a new ${outputMethod} command: ${cmdStr}`);\n const randomNumber = Math.floor(Math.random() * 10000); // helps to distinguish between commands in the log\n cmdStrLog = `${randomNumber} ${cmdStr}`;\n await this.apiForIDE.logStartCmdHistory(cmdStrLog);\n const optionsAsCamelCase = Object.keys(options || {}).reduce((acc, key) => {\n const camelCaseKey = camelCase(key);\n acc[camelCaseKey] = options[key];\n return acc;\n }, {});\n const startTask = process.hrtime();\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const result = await command[outputMethod]!(args || [], optionsAsCamelCase);\n const duration = prettyTime(process.hrtime(startTask));\n this.logger.consoleSuccess(`command \"${req.params.cmd}\" had been completed in ${duration}`);\n await this.apiForIDE.logFinishCmdHistory(cmdStrLog, 0);\n if (outputMethod === 'json') {\n res.json(result);\n } else {\n const data = typeof result === 'string' ? result : result.data;\n const exitCode = typeof result === 'string' ? 0 : result.code;\n res.json({ data, exitCode });\n }\n } catch (err: any) {\n this.logger.error(`command \"${req.params.cmd}\" had failed`, err);\n this.logger.consoleFailure(`command \"${req.params.cmd}\" had failed. ${err.message}`);\n if (cmdStrLog) await this.apiForIDE.logFinishCmdHistory(cmdStrLog, 1);\n res.status(500);\n res.jsonp({\n message: err.message,\n error: err,\n });\n }\n },\n ];\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_prettyTime","data","_interopRequireDefault","require","_lodash","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","CLIRoute","constructor","logger","cli","apiForIDE","req","res","debug","params","cmd","cmdStrLog","command","getCommand","Error","body","args","options","format","outputMethod","optsToString","keys","map","key","join","argsStr","optsStr","cmdStr","console","randomNumber","Math","floor","random","logStartCmdHistory","optionsAsCamelCase","reduce","acc","camelCaseKey","camelCase","startTask","process","hrtime","result","duration","prettyTime","consoleSuccess","logFinishCmdHistory","json","exitCode","code","err","error","consoleFailure","message","status","jsonp","exports"],"sources":["cli.route.ts"],"sourcesContent":["import { CLIMain } from '@teambit/cli';\nimport prettyTime from 'pretty-time';\nimport { Route, Request, Response } from '@teambit/express';\nimport { Logger } from '@teambit/logger';\nimport { camelCase } from 'lodash';\nimport { APIForIDE } from './api-for-ide';\n\n/**\n * example usage:\n * post to http://localhost:3000/api/cli/list\n * with the following json as the body\n *\n{\n \"args\": [\"teambit.workspace\"],\n \"options\": {\n \"ids\": true\n }\n}\n */\nexport class CLIRoute implements Route {\n constructor(private logger: Logger, private cli: CLIMain, private apiForIDE: APIForIDE) {}\n\n method = 'post';\n route = '/cli/:cmd';\n\n middlewares = [\n async (req: Request, res: Response) => {\n this.logger.debug(`cli server: got request for ${req.params.cmd}`);\n let cmdStrLog: string | undefined;\n try {\n const command = this.cli.getCommand(req.params.cmd);\n if (!command) throw new Error(`command \"${req.params.cmd}\" was not found`);\n const body = req.body;\n const { args, options, format } = body;\n if (format && format !== 'json' && format !== 'report') throw new Error(`format \"${format}\" is not supported`);\n const outputMethod: 'json' | 'report' = format || 'json';\n if (!command[outputMethod])\n throw new Error(`command \"${req.params.cmd}\" does not have a ${outputMethod} method`);\n const optsToString = Object.keys(options || {})\n .map((key) => `--${key}`)\n .join(' ');\n const argsStr = args ? ` ${args.join(' ')}` : '';\n const optsStr = optsToString ? ` ${optsToString}` : '';\n const cmdStr = req.params.cmd + argsStr + optsStr;\n this.logger.console(`[*] started a new ${outputMethod} command: ${cmdStr}`);\n const randomNumber = Math.floor(Math.random() * 10000); // helps to distinguish between commands in the log\n cmdStrLog = `${randomNumber} ${cmdStr}`;\n await this.apiForIDE.logStartCmdHistory(cmdStrLog);\n const optionsAsCamelCase = Object.keys(options || {}).reduce((acc, key) => {\n const camelCaseKey = camelCase(key);\n acc[camelCaseKey] = options[key];\n return acc;\n }, {});\n const startTask = process.hrtime();\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const result = await command[outputMethod]!(args || [], optionsAsCamelCase);\n const duration = prettyTime(process.hrtime(startTask));\n this.logger.consoleSuccess(`command \"${req.params.cmd}\" had been completed in ${duration}`);\n await this.apiForIDE.logFinishCmdHistory(cmdStrLog, 0);\n if (outputMethod === 'json') {\n res.json(result);\n } else {\n const data = typeof result === 'string' ? result : result.data;\n const exitCode = typeof result === 'string' ? 0 : result.code;\n res.json({ data, exitCode });\n }\n } catch (err: any) {\n this.logger.error(`command \"${req.params.cmd}\" had failed`, err);\n this.logger.consoleFailure(`command \"${req.params.cmd}\" had failed. ${err.message}`);\n if (cmdStrLog) await this.apiForIDE.logFinishCmdHistory(cmdStrLog, 1);\n res.status(500);\n res.jsonp({\n message: err.message,\n error: err,\n });\n }\n },\n ];\n}\n"],"mappings":"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","ignoreList":[]}
package/dist/ide.route.js CHANGED
@@ -11,8 +11,8 @@ function _prettyTime() {
11
11
  };
12
12
  return data;
13
13
  }
14
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
14
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
+ 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; }
16
16
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
17
17
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
18
18
  /**
@@ -1 +1 @@
1
- {"version":3,"names":["_prettyTime","data","_interopRequireDefault","require","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","r","e","Symbol","toPrimitive","call","TypeError","String","Number","IDERoute","constructor","logger","apiForIDE","req","res","debug","params","method","ideCallLog","Error","body","args","console","length","randomNumber","Math","floor","random","getArgsAsString","logStartCmdHistory","startTask","process","hrtime","result","duration","prettyTime","consoleSuccess","logFinishCmdHistory","json","err","error","consoleFailure","message","status","jsonp","exports","map","arg","toString","JSON","stringify","join"],"sources":["ide.route.ts"],"sourcesContent":["import prettyTime from 'pretty-time';\nimport { Route, Request, Response } from '@teambit/express';\nimport { Logger } from '@teambit/logger';\nimport { APIForIDE } from './api-for-ide';\n\n/**\n * example usage:\n * post to http://localhost:3000/api/ide/list-dirs\n * with the following json as the body\n *\n{\n \"args\": [\"some-args\"]\n}\n */\nexport class IDERoute implements Route {\n constructor(private logger: Logger, private apiForIDE: APIForIDE) {}\n\n method = 'post';\n route = '/ide/:method';\n\n middlewares = [\n async (req: Request, res: Response) => {\n this.logger.debug(`api-IDE: got request for ${req.params.method}`);\n let ideCallLog: string | undefined;\n try {\n if (!this.apiForIDE[req.params.method]) {\n throw new Error(`API \"${req.params.method}\" was not found`);\n }\n const body = req.body;\n const { args } = body;\n this.logger.console(`[*] started a new api-IDE call: ${req.params.method}, total: ${args?.length || 0} args`);\n const randomNumber = Math.floor(Math.random() * 10000); // helps to distinguish between commands in the log\n ideCallLog = `${randomNumber} ${req.params.method}(${getArgsAsString(args)})`;\n await this.apiForIDE.logStartCmdHistory(ideCallLog);\n const startTask = process.hrtime();\n const result = await this.apiForIDE[req.params.method](...args);\n const duration = prettyTime(process.hrtime(startTask));\n this.logger.consoleSuccess(`api-IDE call: ${req.params.method} had been completed in ${duration}`);\n await this.apiForIDE.logFinishCmdHistory(ideCallLog, 0);\n res.json(result);\n } catch (err: any) {\n this.logger.error(`api-IDE call: ${req.params.method} had failed`, err);\n this.logger.consoleFailure(`api-IDE call: ${req.params.method} had failed. ${err.message}`);\n if (ideCallLog) await this.apiForIDE.logFinishCmdHistory(ideCallLog, 1);\n res.status(500).jsonp(err.message);\n }\n },\n ];\n}\n\nfunction getArgsAsString(args?: any[]) {\n if (!args) return '';\n return args\n .map((arg) => {\n if (typeof arg === 'string') return arg;\n if (typeof arg === 'number') return arg.toString();\n return JSON.stringify(arg);\n })\n .join(' ');\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_prettyTime","data","_interopRequireDefault","require","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","IDERoute","constructor","logger","apiForIDE","req","res","debug","params","method","ideCallLog","Error","body","args","console","length","randomNumber","Math","floor","random","getArgsAsString","logStartCmdHistory","startTask","process","hrtime","result","duration","prettyTime","consoleSuccess","logFinishCmdHistory","json","err","error","consoleFailure","message","status","jsonp","exports","map","arg","toString","JSON","stringify","join"],"sources":["ide.route.ts"],"sourcesContent":["import prettyTime from 'pretty-time';\nimport { Route, Request, Response } from '@teambit/express';\nimport { Logger } from '@teambit/logger';\nimport { APIForIDE } from './api-for-ide';\n\n/**\n * example usage:\n * post to http://localhost:3000/api/ide/list-dirs\n * with the following json as the body\n *\n{\n \"args\": [\"some-args\"]\n}\n */\nexport class IDERoute implements Route {\n constructor(private logger: Logger, private apiForIDE: APIForIDE) {}\n\n method = 'post';\n route = '/ide/:method';\n\n middlewares = [\n async (req: Request, res: Response) => {\n this.logger.debug(`api-IDE: got request for ${req.params.method}`);\n let ideCallLog: string | undefined;\n try {\n if (!this.apiForIDE[req.params.method]) {\n throw new Error(`API \"${req.params.method}\" was not found`);\n }\n const body = req.body;\n const { args } = body;\n this.logger.console(`[*] started a new api-IDE call: ${req.params.method}, total: ${args?.length || 0} args`);\n const randomNumber = Math.floor(Math.random() * 10000); // helps to distinguish between commands in the log\n ideCallLog = `${randomNumber} ${req.params.method}(${getArgsAsString(args)})`;\n await this.apiForIDE.logStartCmdHistory(ideCallLog);\n const startTask = process.hrtime();\n const result = await this.apiForIDE[req.params.method](...args);\n const duration = prettyTime(process.hrtime(startTask));\n this.logger.consoleSuccess(`api-IDE call: ${req.params.method} had been completed in ${duration}`);\n await this.apiForIDE.logFinishCmdHistory(ideCallLog, 0);\n res.json(result);\n } catch (err: any) {\n this.logger.error(`api-IDE call: ${req.params.method} had failed`, err);\n this.logger.consoleFailure(`api-IDE call: ${req.params.method} had failed. ${err.message}`);\n if (ideCallLog) await this.apiForIDE.logFinishCmdHistory(ideCallLog, 1);\n res.status(500).jsonp(err.message);\n }\n },\n ];\n}\n\nfunction getArgsAsString(args?: any[]) {\n if (!args) return '';\n return args\n .map((arg) => {\n if (typeof arg === 'string') return arg;\n if (typeof arg === 'number') return arg.toString();\n return JSON.stringify(arg);\n })\n .join(' ');\n}\n"],"mappings":"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","ignoreList":[]}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.ServerCmd = void 0;
7
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
7
+ 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; }
8
8
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
9
9
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
10
10
  // eslint-disable-next-line max-classes-per-file
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.SSEEventsRoute = void 0;
7
7
  exports.sendEventsToClients = sendEventsToClients;
8
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
8
+ 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; }
9
9
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
10
10
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
11
11
  let clients = [];
@@ -1 +1 @@
1
- {"version":3,"names":["clients","sendEventsToClients","eventName","data","forEach","client","response","write","JSON","stringify","SSEEventsRoute","constructor","logger","cli","_defineProperty","request","debug","params","headers","Connection","writeHead","clientId","Date","now","newClient","id","push","on","filter","exports"],"sources":["sse-events.route.ts"],"sourcesContent":["import { CLIMain } from '@teambit/cli';\nimport { Route, Request, Response } from '@teambit/express';\nimport { Logger } from '@teambit/logger';\n\ntype CLIENT = {\n id: number;\n response: Response;\n};\n\nlet clients: CLIENT[] = [];\n\ntype EventName = 'onComponentChange' | 'onBitmapChange' | 'onWorkspaceConfigChange' | 'onPostInstall';\n\nexport function sendEventsToClients(eventName: EventName, data: any) {\n clients.forEach((client) => client.response.write(`event:${eventName}\\ndata: ${JSON.stringify(data)}\\n\\n`));\n}\n\n/**\n * Server-Sent Events (SSE).\n */\nexport class SSEEventsRoute implements Route {\n constructor(private logger: Logger, private cli: CLIMain) {}\n\n method = 'get';\n route = '/sse-events';\n\n middlewares = [\n async (request: Request, response: Response) => {\n this.logger.debug(`sse-events: got request for ${request.params}`);\n const headers = {\n 'Content-Type': 'text/event-stream',\n Connection: 'keep-alive',\n 'Cache-Control': 'no-cache',\n };\n response.writeHead(200, headers);\n\n const clientId = Date.now();\n\n const newClient = {\n id: clientId,\n response,\n };\n\n clients.push(newClient);\n\n request.on('close', () => {\n this.logger.debug(`${clientId} SSE Connection closed`);\n clients = clients.filter((client) => client.id !== clientId);\n });\n },\n ];\n}\n"],"mappings":";;;;;;;;;;AASA,IAAIA,OAAiB,GAAG,EAAE;AAInB,SAASC,mBAAmBA,CAACC,SAAoB,EAAEC,IAAS,EAAE;EACnEH,OAAO,CAACI,OAAO,CAAEC,MAAM,IAAKA,MAAM,CAACC,QAAQ,CAACC,KAAK,CAAE,SAAQL,SAAU,WAAUM,IAAI,CAACC,SAAS,CAACN,IAAI,CAAE,MAAK,CAAC,CAAC;AAC7G;;AAEA;AACA;AACA;AACO,MAAMO,cAAc,CAAkB;EAC3CC,WAAWA,CAASC,MAAc,EAAUC,GAAY,EAAE;IAAA,KAAtCD,MAAc,GAAdA,MAAc;IAAA,KAAUC,GAAY,GAAZA,GAAY;IAAAC,eAAA,iBAE/C,KAAK;IAAAA,eAAA,gBACN,aAAa;IAAAA,eAAA,sBAEP,CACZ,OAAOC,OAAgB,EAAET,QAAkB,KAAK;MAC9C,IAAI,CAACM,MAAM,CAACI,KAAK,CAAE,+BAA8BD,OAAO,CAACE,MAAO,EAAC,CAAC;MAClE,MAAMC,OAAO,GAAG;QACd,cAAc,EAAE,mBAAmB;QACnCC,UAAU,EAAE,YAAY;QACxB,eAAe,EAAE;MACnB,CAAC;MACDb,QAAQ,CAACc,SAAS,CAAC,GAAG,EAAEF,OAAO,CAAC;MAEhC,MAAMG,QAAQ,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC;MAE3B,MAAMC,SAAS,GAAG;QAChBC,EAAE,EAAEJ,QAAQ;QACZf;MACF,CAAC;MAEDN,OAAO,CAAC0B,IAAI,CAACF,SAAS,CAAC;MAEvBT,OAAO,CAACY,EAAE,CAAC,OAAO,EAAE,MAAM;QACxB,IAAI,CAACf,MAAM,CAACI,KAAK,CAAE,GAAEK,QAAS,wBAAuB,CAAC;QACtDrB,OAAO,GAAGA,OAAO,CAAC4B,MAAM,CAAEvB,MAAM,IAAKA,MAAM,CAACoB,EAAE,KAAKJ,QAAQ,CAAC;MAC9D,CAAC,CAAC;IACJ,CAAC,CACF;EA7B0D;AA8B7D;AAACQ,OAAA,CAAAnB,cAAA,GAAAA,cAAA","ignoreList":[]}
1
+ {"version":3,"names":["clients","sendEventsToClients","eventName","data","forEach","client","response","write","JSON","stringify","SSEEventsRoute","constructor","logger","cli","_defineProperty","request","debug","params","headers","Connection","writeHead","clientId","Date","now","newClient","id","push","on","filter","exports"],"sources":["sse-events.route.ts"],"sourcesContent":["import { CLIMain } from '@teambit/cli';\nimport { Route, Request, Response } from '@teambit/express';\nimport { Logger } from '@teambit/logger';\n\ntype CLIENT = {\n id: number;\n response: Response;\n};\n\nlet clients: CLIENT[] = [];\n\ntype EventName = 'onComponentChange' | 'onBitmapChange' | 'onWorkspaceConfigChange' | 'onPostInstall';\n\nexport function sendEventsToClients(eventName: EventName, data: any) {\n clients.forEach((client) => client.response.write(`event:${eventName}\\ndata: ${JSON.stringify(data)}\\n\\n`));\n}\n\n/**\n * Server-Sent Events (SSE).\n */\nexport class SSEEventsRoute implements Route {\n constructor(private logger: Logger, private cli: CLIMain) {}\n\n method = 'get';\n route = '/sse-events';\n\n middlewares = [\n async (request: Request, response: Response) => {\n this.logger.debug(`sse-events: got request for ${request.params}`);\n const headers = {\n 'Content-Type': 'text/event-stream',\n Connection: 'keep-alive',\n 'Cache-Control': 'no-cache',\n };\n response.writeHead(200, headers);\n\n const clientId = Date.now();\n\n const newClient = {\n id: clientId,\n response,\n };\n\n clients.push(newClient);\n\n request.on('close', () => {\n this.logger.debug(`${clientId} SSE Connection closed`);\n clients = clients.filter((client) => client.id !== clientId);\n });\n },\n ];\n}\n"],"mappings":";;;;;;;;;;AASA,IAAIA,OAAiB,GAAG,EAAE;AAInB,SAASC,mBAAmBA,CAACC,SAAoB,EAAEC,IAAS,EAAE;EACnEH,OAAO,CAACI,OAAO,CAAEC,MAAM,IAAKA,MAAM,CAACC,QAAQ,CAACC,KAAK,CAAC,SAASL,SAAS,WAAWM,IAAI,CAACC,SAAS,CAACN,IAAI,CAAC,MAAM,CAAC,CAAC;AAC7G;;AAEA;AACA;AACA;AACO,MAAMO,cAAc,CAAkB;EAC3CC,WAAWA,CAASC,MAAc,EAAUC,GAAY,EAAE;IAAA,KAAtCD,MAAc,GAAdA,MAAc;IAAA,KAAUC,GAAY,GAAZA,GAAY;IAAAC,eAAA,iBAE/C,KAAK;IAAAA,eAAA,gBACN,aAAa;IAAAA,eAAA,sBAEP,CACZ,OAAOC,OAAgB,EAAET,QAAkB,KAAK;MAC9C,IAAI,CAACM,MAAM,CAACI,KAAK,CAAC,+BAA+BD,OAAO,CAACE,MAAM,EAAE,CAAC;MAClE,MAAMC,OAAO,GAAG;QACd,cAAc,EAAE,mBAAmB;QACnCC,UAAU,EAAE,YAAY;QACxB,eAAe,EAAE;MACnB,CAAC;MACDb,QAAQ,CAACc,SAAS,CAAC,GAAG,EAAEF,OAAO,CAAC;MAEhC,MAAMG,QAAQ,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC;MAE3B,MAAMC,SAAS,GAAG;QAChBC,EAAE,EAAEJ,QAAQ;QACZf;MACF,CAAC;MAEDN,OAAO,CAAC0B,IAAI,CAACF,SAAS,CAAC;MAEvBT,OAAO,CAACY,EAAE,CAAC,OAAO,EAAE,MAAM;QACxB,IAAI,CAACf,MAAM,CAACI,KAAK,CAAC,GAAGK,QAAQ,wBAAwB,CAAC;QACtDrB,OAAO,GAAGA,OAAO,CAAC4B,MAAM,CAAEvB,MAAM,IAAKA,MAAM,CAACoB,EAAE,KAAKJ,QAAQ,CAAC;MAC9D,CAAC,CAAC;IACJ,CAAC,CACF;EA7B0D;AA8B7D;AAACQ,OAAA,CAAAnB,cAAA,GAAAA,cAAA","ignoreList":[]}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/api-server",
3
- "version": "1.0.282",
3
+ "version": "1.0.283",
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.282"
9
+ "version": "1.0.283"
10
10
  },
11
11
  "dependencies": {
12
12
  "fs-extra": "10.0.0",
@@ -14,24 +14,24 @@
14
14
  "p-map": "4.0.0",
15
15
  "pretty-time": "1.1.0",
16
16
  "@teambit/harmony": "0.4.6",
17
- "@teambit/checkout": "1.0.282",
18
- "@teambit/component-compare": "1.0.282",
19
- "@teambit/component-log": "1.0.282",
20
- "@teambit/config": "0.0.1033",
21
- "@teambit/export": "1.0.282",
22
- "@teambit/generator": "1.0.283",
23
- "@teambit/install": "1.0.282",
24
- "@teambit/lanes": "1.0.282",
25
- "@teambit/merging": "1.0.282",
26
- "@teambit/remove": "1.0.282",
27
- "@teambit/snapping": "1.0.282",
28
- "@teambit/workspace": "1.0.282",
17
+ "@teambit/checkout": "1.0.283",
18
+ "@teambit/component-compare": "1.0.283",
19
+ "@teambit/component-log": "1.0.283",
20
+ "@teambit/config": "0.0.1034",
21
+ "@teambit/export": "1.0.283",
22
+ "@teambit/generator": "1.0.284",
23
+ "@teambit/install": "1.0.283",
24
+ "@teambit/lanes": "1.0.283",
25
+ "@teambit/merging": "1.0.283",
26
+ "@teambit/remove": "1.0.283",
27
+ "@teambit/snapping": "1.0.283",
28
+ "@teambit/workspace": "1.0.283",
29
29
  "@teambit/cli": "0.0.865",
30
- "@teambit/component": "1.0.282",
30
+ "@teambit/component": "1.0.283",
31
31
  "@teambit/express": "0.0.964",
32
- "@teambit/importer": "1.0.282",
32
+ "@teambit/importer": "1.0.283",
33
33
  "@teambit/logger": "0.0.958",
34
- "@teambit/watcher": "1.0.282"
34
+ "@teambit/watcher": "1.0.283"
35
35
  },
36
36
  "devDependencies": {
37
37
  "@types/fs-extra": "9.0.7",