@teambit/api-server 1.0.630 → 1.0.632
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api-for-ide.d.ts +4 -2
- package/dist/api-for-ide.js +56 -4
- package/dist/api-for-ide.js.map +1 -1
- package/dist/api-server.main.runtime.js +1 -1
- package/dist/api-server.main.runtime.js.map +1 -1
- package/dist/server.cmd.d.ts +1 -0
- package/dist/server.cmd.js +1 -0
- package/dist/server.cmd.js.map +1 -1
- package/package.json +28 -27
- /package/dist/{preview-1749179914034.js → preview-1749525637445.js} +0 -0
package/dist/api-for-ide.d.ts
CHANGED
|
@@ -18,6 +18,7 @@ import { GraphMain } from '@teambit/graph';
|
|
|
18
18
|
import { ScopeMain } from '@teambit/scope';
|
|
19
19
|
import { ComponentMain } from '@teambit/component';
|
|
20
20
|
import { SchemaMain } from '@teambit/schema';
|
|
21
|
+
import { Logger } from '@teambit/logger';
|
|
21
22
|
type PathLinux = string;
|
|
22
23
|
type PathFromLastSnap = {
|
|
23
24
|
[relativeToWorkspace: PathLinux]: string;
|
|
@@ -92,8 +93,9 @@ export declare class APIForIDE {
|
|
|
92
93
|
private scope;
|
|
93
94
|
private component;
|
|
94
95
|
private schema;
|
|
96
|
+
private logger;
|
|
95
97
|
private existingEnvIcons;
|
|
96
|
-
constructor(workspace: Workspace, snapping: SnappingMain, lanes: LanesMain, installer: InstallMain, exporter: ExportMain, checkout: CheckoutMain, componentLog: ComponentLogMain, componentCompare: ComponentCompareMain, generator: GeneratorMain, remove: RemoveMain, config: ConfigMain, application: ApplicationMain, deprecation: DeprecationMain, envs: EnvsMain, graph: GraphMain, scope: ScopeMain, component: ComponentMain, schema: SchemaMain);
|
|
98
|
+
constructor(workspace: Workspace, snapping: SnappingMain, lanes: LanesMain, installer: InstallMain, exporter: ExportMain, checkout: CheckoutMain, componentLog: ComponentLogMain, componentCompare: ComponentCompareMain, generator: GeneratorMain, remove: RemoveMain, config: ConfigMain, application: ApplicationMain, deprecation: DeprecationMain, envs: EnvsMain, graph: GraphMain, scope: ScopeMain, component: ComponentMain, schema: SchemaMain, logger: Logger);
|
|
97
99
|
logStartCmdHistory(op: string): Promise<void>;
|
|
98
100
|
logFinishCmdHistory(op: string, code: number): Promise<void>;
|
|
99
101
|
getProcessPid(): number;
|
|
@@ -173,7 +175,7 @@ export declare class APIForIDE {
|
|
|
173
175
|
getCompFilesDirPathFromLastSnapForAllComps(): Promise<{
|
|
174
176
|
[relativePath: string]: string;
|
|
175
177
|
}>;
|
|
176
|
-
getCurrentLaneName(): string;
|
|
178
|
+
getCurrentLaneName(includeScope?: boolean): string;
|
|
177
179
|
tagOrSnap(message?: string): Promise<import("@teambit/snapping").TagResults | import("@teambit/snapping").SnapResults | null>;
|
|
178
180
|
tag(message?: string): Promise<string[]>;
|
|
179
181
|
snap(message?: string): Promise<string[]>;
|
package/dist/api-for-ide.js
CHANGED
|
@@ -74,6 +74,13 @@ function _scope() {
|
|
|
74
74
|
};
|
|
75
75
|
return data;
|
|
76
76
|
}
|
|
77
|
+
function _componentModules() {
|
|
78
|
+
const data = require("@teambit/component.modules.component-url");
|
|
79
|
+
_componentModules = function () {
|
|
80
|
+
return data;
|
|
81
|
+
};
|
|
82
|
+
return data;
|
|
83
|
+
}
|
|
77
84
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
78
85
|
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; }
|
|
79
86
|
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; }
|
|
@@ -88,7 +95,7 @@ const CMD_HISTORY = 'command-history-ide';
|
|
|
88
95
|
// problematic to get it from @teambit/legacy/dist/utils/path.
|
|
89
96
|
|
|
90
97
|
class APIForIDE {
|
|
91
|
-
constructor(workspace, snapping, lanes, installer, exporter, checkout, componentLog, componentCompare, generator, remove, config, application, deprecation, envs, graph, scope, component, schema) {
|
|
98
|
+
constructor(workspace, snapping, lanes, installer, exporter, checkout, componentLog, componentCompare, generator, remove, config, application, deprecation, envs, graph, scope, component, schema, logger) {
|
|
92
99
|
this.workspace = workspace;
|
|
93
100
|
this.snapping = snapping;
|
|
94
101
|
this.lanes = lanes;
|
|
@@ -107,6 +114,7 @@ class APIForIDE {
|
|
|
107
114
|
this.scope = scope;
|
|
108
115
|
this.component = component;
|
|
109
116
|
this.schema = schema;
|
|
117
|
+
this.logger = logger;
|
|
110
118
|
_defineProperty(this, "existingEnvIcons", void 0);
|
|
111
119
|
}
|
|
112
120
|
async logStartCmdHistory(op) {
|
|
@@ -543,8 +551,11 @@ class APIForIDE {
|
|
|
543
551
|
});
|
|
544
552
|
return results;
|
|
545
553
|
}
|
|
546
|
-
getCurrentLaneName() {
|
|
547
|
-
|
|
554
|
+
getCurrentLaneName(includeScope = false) {
|
|
555
|
+
const currentLaneId = this.workspace.getCurrentLaneId();
|
|
556
|
+
if (!includeScope) return currentLaneId.name;
|
|
557
|
+
if (currentLaneId.isDefault()) return currentLaneId.name;
|
|
558
|
+
return currentLaneId.toString();
|
|
548
559
|
}
|
|
549
560
|
async tagOrSnap(message = '') {
|
|
550
561
|
const params = {
|
|
@@ -570,6 +581,7 @@ class APIForIDE {
|
|
|
570
581
|
return (results?.snappedComponents || []).map(c => c.id.toString());
|
|
571
582
|
}
|
|
572
583
|
async getCompDetails(id, includeSchema = false) {
|
|
584
|
+
this.logger.debug(`getCompDetails(${id}, ${includeSchema})`);
|
|
573
585
|
const compId = await this.workspace.resolveComponentId(id);
|
|
574
586
|
const existsLocally = this.workspace.hasId(compId);
|
|
575
587
|
const getComp = async () => {
|
|
@@ -582,13 +594,21 @@ class APIForIDE {
|
|
|
582
594
|
};
|
|
583
595
|
const comp = await getComp();
|
|
584
596
|
const fragments = this.component.getShowFragments();
|
|
585
|
-
const titlesToInclude = ['id', 'env', 'package name', 'files', 'dev files', '
|
|
597
|
+
const titlesToInclude = ['id', 'env', 'package name', 'files', 'dev files', 'deprecated'];
|
|
586
598
|
const showResults = {};
|
|
587
599
|
await Promise.all(fragments.map(async fragment => {
|
|
588
600
|
const result = fragment.json ? await fragment.json(comp) : undefined;
|
|
589
601
|
if (!result || !titlesToInclude.includes(result.title)) return;
|
|
602
|
+
if (result.title === 'deprecated' && !result.json.isDeprecate) return; // skip if not deprecated
|
|
590
603
|
showResults[result.title] = result.json;
|
|
591
604
|
}));
|
|
605
|
+
const deps = comp.getDependencies();
|
|
606
|
+
showResults.dependencies = deps.map(dep => {
|
|
607
|
+
const pkg = dep.getPackageName?.() || dep.id;
|
|
608
|
+
const pkgWithVer = `${pkg}@${dep.version}`;
|
|
609
|
+
const compIdStr = dep.type === 'component' ? `, component-id: ${dep.id}` : '';
|
|
610
|
+
return `${pkgWithVer} (lifecycle: ${dep.lifecycle}, type: ${dep.type}, source: ${dep.source}${compIdStr})`;
|
|
611
|
+
});
|
|
592
612
|
if (includeSchema) {
|
|
593
613
|
try {
|
|
594
614
|
const schema = existsLocally ? await this.schema.getSchema(comp) : await this.schema.getSchemaFromRemote(comp.id.toString());
|
|
@@ -633,6 +653,38 @@ class APIForIDE {
|
|
|
633
653
|
// If composition extraction fails, add error info but don't crash
|
|
634
654
|
showResults.usageExamples = `Error fetching usage examples: ${error.message}`;
|
|
635
655
|
}
|
|
656
|
+
showResults.url = _componentModules().ComponentUrl.toUrl(compId, {
|
|
657
|
+
includeVersion: false
|
|
658
|
+
});
|
|
659
|
+
|
|
660
|
+
// Add component location status
|
|
661
|
+
// Check if component exists as a package by looking it up in the pnpm lock file
|
|
662
|
+
const packageName = comp.getPackageName();
|
|
663
|
+
let componentLocation;
|
|
664
|
+
if (existsLocally) {
|
|
665
|
+
const compDir = this.workspace.componentDir(compId, {
|
|
666
|
+
ignoreVersion: true
|
|
667
|
+
}, {
|
|
668
|
+
relative: true
|
|
669
|
+
});
|
|
670
|
+
componentLocation = `exists locally in the workspace at '${compDir}'`;
|
|
671
|
+
} else {
|
|
672
|
+
let isInstalledAsPackage = false;
|
|
673
|
+
try {
|
|
674
|
+
const lockFilePath = _path().default.join(this.workspace.path, 'node_modules', '.pnpm', 'lock.yaml');
|
|
675
|
+
if (await _fsExtra().default.pathExists(lockFilePath)) {
|
|
676
|
+
const lockFileContent = await _fsExtra().default.readFile(lockFilePath, 'utf8');
|
|
677
|
+
// Check if the package name exists in the lock file
|
|
678
|
+
isInstalledAsPackage = lockFileContent.includes(packageName);
|
|
679
|
+
}
|
|
680
|
+
} catch (error) {
|
|
681
|
+
this.logger.warn(`Error checking package existence for ${packageName}: ${error.message}`);
|
|
682
|
+
// If error occurs during package check, default to false
|
|
683
|
+
isInstalledAsPackage = false;
|
|
684
|
+
}
|
|
685
|
+
componentLocation = isInstalledAsPackage ? 'installed as a package' : 'a remote component';
|
|
686
|
+
}
|
|
687
|
+
showResults.componentLocation = componentLocation;
|
|
636
688
|
return showResults;
|
|
637
689
|
}
|
|
638
690
|
}
|
package/dist/api-for-ide.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_path","data","_interopRequireDefault","require","_fsExtra","_filenamify","_legacy","_pMap","_legacy2","_lodash","_laneId","_nodeFetch","_scope","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","graph","scope","component","schema","logStartCmdHistory","op","str","writeToCmdHistory","logFinishCmdHistory","code","endStr","getProcessPid","process","pid","fs","appendFile","path","join","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","getGraphIdsAsSVG","opts","visualGraph","getVisualGraphIds","svg","getAsSVGString","getWorkspaceDependencies","allDeps","getAllDedupedDirectDependencies","allDepsObj","dep","currentRange","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","packages","optimizeReportForNonTerminal","dedupe","updateExisting","import","export","componentsIds","removedIds","exportedLanes","rippleJobUrls","l","rippleJobs","checkoutHead","skipNpmInstall","adjustCheckoutResultsToIde","getTemplates","templates","listTemplates","getPromptOptionsForTemplate","templateName","template","getTemplateWithId","promptOptions","createComponent","idIncludeScope","promptResults","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","getCompDetails","includeSchema","existsLocally","hasId","getComp","ComponentNotFound","fragments","getShowFragments","titlesToInclude","showResults","fragment","json","title","getSchema","getSchemaFromRemote","publicAPI","toStringPerType","error","docsAspectFiles","Array","isArray","docs","relativePath","compositionsAspectFiles","usageExamples","fileContent","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/objects';\nimport { ComponentCompareMain } from '@teambit/component-compare';\nimport { GeneratorMain, PromptOption, PromptResults } 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';\nimport { GraphMain } from '@teambit/graph';\nimport { ComponentNotFound, ScopeMain } from '@teambit/scope';\nimport { ComponentMain } from '@teambit/component';\nimport { SchemaMain } from '@teambit/schema';\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 private graph: GraphMain,\n private scope: ScopeMain,\n private component: ComponentMain,\n private schema: SchemaMain\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 getGraphIdsAsSVG(id?: string, opts: { includeLocalOnly?: boolean } = {}): Promise<string> {\n const compId = id ? await this.workspace.resolveComponentId(id) : undefined;\n const visualGraph = await this.graph.getVisualGraphIds(compId ? [compId] : undefined, opts);\n const svg = await visualGraph.getAsSVGString();\n if (!svg) throw new Error('failed to render the graph');\n return svg;\n }\n\n async getWorkspaceDependencies(): Promise<{ [pkgName: string]: string }> {\n const allDeps = await this.workspace.getAllDedupedDirectDependencies();\n const allDepsObj = {};\n for (const dep of allDeps) {\n allDepsObj[dep.name] = dep.currentRange;\n }\n\n return allDepsObj;\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 = {}, packages?: string[]) {\n const opts = {\n optimizeReportForNonTerminal: true,\n dedupe: true,\n updateExisting: false,\n import: false,\n ...options,\n };\n\n return this.installer.install(packages, 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 getPromptOptionsForTemplate(templateName: string): Promise<PromptOption[] | undefined> {\n const template = await this.generator.getTemplateWithId(templateName);\n return template.template.promptOptions?.();\n }\n\n async createComponent(templateName: string, idIncludeScope: string, promptResults?: PromptResults) {\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 promptResults\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 async getCompDetails(id: string, includeSchema = false) {\n const compId = await this.workspace.resolveComponentId(id);\n const existsLocally = this.workspace.hasId(compId);\n const getComp = async () => {\n if (existsLocally) {\n return this.workspace.get(compId);\n }\n const comp = await this.scope.get(compId);\n if (comp) return comp;\n throw new ComponentNotFound(compId);\n };\n const comp = await getComp();\n\n const fragments = this.component.getShowFragments();\n const titlesToInclude = ['id', 'env', 'package name', 'files', 'dev files', 'dependencies', 'deprecated'];\n const showResults: Record<string, any> = {};\n await Promise.all(\n fragments.map(async (fragment) => {\n const result = fragment.json ? await fragment.json(comp) : undefined;\n if (!result || !titlesToInclude.includes(result.title)) return;\n showResults[result.title] = result.json;\n })\n );\n\n if (includeSchema) {\n try {\n const schema = existsLocally\n ? await this.schema.getSchema(comp)\n : await this.schema.getSchemaFromRemote(comp.id.toString());\n showResults.publicAPI = schema.toStringPerType();\n } catch (error) {\n // If schema fails, add error info instead of crashing\n showResults.publicAPI = `Error fetching schema: ${(error as Error).message}`;\n }\n }\n\n // Add docs content if available from teambit.docs/docs aspect\n try {\n const docsAspectFiles = showResults['dev files']?.[`teambit.docs/docs`];\n if (docsAspectFiles && Array.isArray(docsAspectFiles) && docsAspectFiles.length > 0) {\n showResults.docs = {};\n docsAspectFiles.forEach((relativePath: string) => {\n const file = comp.filesystem.files.find((f) => f.relative === relativePath);\n if (file) {\n showResults.docs[relativePath] = file.contents.toString();\n }\n });\n }\n } catch (error) {\n // If docs extraction fails, add error info but don't crash\n showResults.docs = `Error fetching docs: ${(error as Error).message}`;\n }\n\n // Add usage examples from teambit.compositions/compositions aspect\n try {\n const compositionsAspectFiles = showResults['dev files']?.[`teambit.compositions/compositions`];\n if (compositionsAspectFiles && Array.isArray(compositionsAspectFiles) && compositionsAspectFiles.length > 0) {\n showResults.usageExamples = {};\n compositionsAspectFiles.forEach((relativePath: string) => {\n const file = comp.filesystem.files.find((f) => f.relative === relativePath);\n if (file) {\n const fileContent = file.contents.toString();\n showResults.usageExamples[relativePath] = fileContent;\n }\n });\n }\n } catch (error) {\n // If composition extraction fails, add error info but don't crash\n showResults.usageExamples = `Error fetching usage examples: ${(error as Error).message}`;\n }\n\n return showResults;\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","_scope","_componentModules","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","graph","scope","component","schema","logger","logStartCmdHistory","op","str","writeToCmdHistory","logFinishCmdHistory","code","endStr","getProcessPid","process","pid","fs","appendFile","path","join","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","getGraphIdsAsSVG","opts","visualGraph","getVisualGraphIds","svg","getAsSVGString","getWorkspaceDependencies","allDeps","getAllDedupedDirectDependencies","allDepsObj","dep","currentRange","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","packages","optimizeReportForNonTerminal","dedupe","updateExisting","import","export","componentsIds","removedIds","exportedLanes","rippleJobUrls","l","rippleJobs","checkoutHead","skipNpmInstall","adjustCheckoutResultsToIde","getTemplates","templates","listTemplates","getPromptOptionsForTemplate","templateName","template","getTemplateWithId","promptOptions","createComponent","idIncludeScope","promptResults","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","includeScope","currentLaneId","getCurrentLaneId","isDefault","tagOrSnap","params","build","isOnMain","tag","snap","taggedComponents","snappedComponents","getCompDetails","includeSchema","debug","existsLocally","hasId","getComp","ComponentNotFound","fragments","getShowFragments","titlesToInclude","showResults","fragment","json","title","deps","getDependencies","pkg","getPackageName","pkgWithVer","compIdStr","type","lifecycle","source","getSchema","getSchemaFromRemote","publicAPI","toStringPerType","error","docsAspectFiles","Array","isArray","docs","relativePath","compositionsAspectFiles","usageExamples","fileContent","url","ComponentUrl","toUrl","includeVersion","packageName","componentLocation","isInstalledAsPackage","lockFilePath","pathExists","lockFileContent","readFile","warn","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/objects';\nimport { ComponentCompareMain } from '@teambit/component-compare';\nimport { GeneratorMain, PromptOption, PromptResults } 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';\nimport { GraphMain } from '@teambit/graph';\nimport { ComponentNotFound, ScopeMain } from '@teambit/scope';\nimport { ComponentMain } from '@teambit/component';\nimport { SchemaMain } from '@teambit/schema';\nimport { ComponentUrl } from '@teambit/component.modules.component-url';\nimport { Logger } from '@teambit/logger';\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 private graph: GraphMain,\n private scope: ScopeMain,\n private component: ComponentMain,\n private schema: SchemaMain,\n private logger: Logger\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 getGraphIdsAsSVG(id?: string, opts: { includeLocalOnly?: boolean } = {}): Promise<string> {\n const compId = id ? await this.workspace.resolveComponentId(id) : undefined;\n const visualGraph = await this.graph.getVisualGraphIds(compId ? [compId] : undefined, opts);\n const svg = await visualGraph.getAsSVGString();\n if (!svg) throw new Error('failed to render the graph');\n return svg;\n }\n\n async getWorkspaceDependencies(): Promise<{ [pkgName: string]: string }> {\n const allDeps = await this.workspace.getAllDedupedDirectDependencies();\n const allDepsObj = {};\n for (const dep of allDeps) {\n allDepsObj[dep.name] = dep.currentRange;\n }\n\n return allDepsObj;\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 = {}, packages?: string[]) {\n const opts = {\n optimizeReportForNonTerminal: true,\n dedupe: true,\n updateExisting: false,\n import: false,\n ...options,\n };\n\n return this.installer.install(packages, 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 getPromptOptionsForTemplate(templateName: string): Promise<PromptOption[] | undefined> {\n const template = await this.generator.getTemplateWithId(templateName);\n return template.template.promptOptions?.();\n }\n\n async createComponent(templateName: string, idIncludeScope: string, promptResults?: PromptResults) {\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 promptResults\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(includeScope = false): string {\n const currentLaneId = this.workspace.getCurrentLaneId();\n if (!includeScope) return currentLaneId.name;\n if (currentLaneId.isDefault()) return currentLaneId.name;\n return currentLaneId.toString();\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 async getCompDetails(id: string, includeSchema = false) {\n this.logger.debug(`getCompDetails(${id}, ${includeSchema})`);\n const compId = await this.workspace.resolveComponentId(id);\n const existsLocally = this.workspace.hasId(compId);\n const getComp = async () => {\n if (existsLocally) {\n return this.workspace.get(compId);\n }\n const comp = await this.scope.get(compId);\n if (comp) return comp;\n throw new ComponentNotFound(compId);\n };\n const comp = await getComp();\n\n const fragments = this.component.getShowFragments();\n const titlesToInclude = ['id', 'env', 'package name', 'files', 'dev files', 'deprecated'];\n const showResults: Record<string, any> = {};\n await Promise.all(\n fragments.map(async (fragment) => {\n const result = fragment.json ? await fragment.json(comp) : undefined;\n if (!result || !titlesToInclude.includes(result.title)) return;\n if (result.title === 'deprecated' && !result.json.isDeprecate) return; // skip if not deprecated\n showResults[result.title] = result.json;\n })\n );\n\n const deps = comp.getDependencies();\n showResults.dependencies = deps.map((dep) => {\n const pkg = dep.getPackageName?.() || dep.id;\n const pkgWithVer = `${pkg}@${dep.version}`;\n const compIdStr = dep.type === 'component' ? `, component-id: ${dep.id}` : '';\n return `${pkgWithVer} (lifecycle: ${dep.lifecycle}, type: ${dep.type}, source: ${dep.source}${compIdStr})`;\n });\n\n if (includeSchema) {\n try {\n const schema = existsLocally\n ? await this.schema.getSchema(comp)\n : await this.schema.getSchemaFromRemote(comp.id.toString());\n showResults.publicAPI = schema.toStringPerType();\n } catch (error) {\n // If schema fails, add error info instead of crashing\n showResults.publicAPI = `Error fetching schema: ${(error as Error).message}`;\n }\n }\n\n // Add docs content if available from teambit.docs/docs aspect\n try {\n const docsAspectFiles = showResults['dev files']?.[`teambit.docs/docs`];\n if (docsAspectFiles && Array.isArray(docsAspectFiles) && docsAspectFiles.length > 0) {\n showResults.docs = {};\n docsAspectFiles.forEach((relativePath: string) => {\n const file = comp.filesystem.files.find((f) => f.relative === relativePath);\n if (file) {\n showResults.docs[relativePath] = file.contents.toString();\n }\n });\n }\n } catch (error) {\n // If docs extraction fails, add error info but don't crash\n showResults.docs = `Error fetching docs: ${(error as Error).message}`;\n }\n\n // Add usage examples from teambit.compositions/compositions aspect\n try {\n const compositionsAspectFiles = showResults['dev files']?.[`teambit.compositions/compositions`];\n if (compositionsAspectFiles && Array.isArray(compositionsAspectFiles) && compositionsAspectFiles.length > 0) {\n showResults.usageExamples = {};\n compositionsAspectFiles.forEach((relativePath: string) => {\n const file = comp.filesystem.files.find((f) => f.relative === relativePath);\n if (file) {\n const fileContent = file.contents.toString();\n showResults.usageExamples[relativePath] = fileContent;\n }\n });\n }\n } catch (error) {\n // If composition extraction fails, add error info but don't crash\n showResults.usageExamples = `Error fetching usage examples: ${(error as Error).message}`;\n }\n\n showResults.url = ComponentUrl.toUrl(compId, { includeVersion: false });\n\n // Add component location status\n // Check if component exists as a package by looking it up in the pnpm lock file\n const packageName = comp.getPackageName();\n let componentLocation: string;\n\n if (existsLocally) {\n const compDir = this.workspace.componentDir(compId, { ignoreVersion: true }, { relative: true });\n componentLocation = `exists locally in the workspace at '${compDir}'`;\n } else {\n let isInstalledAsPackage = false;\n\n try {\n const lockFilePath = path.join(this.workspace.path, 'node_modules', '.pnpm', 'lock.yaml');\n if (await fs.pathExists(lockFilePath)) {\n const lockFileContent = await fs.readFile(lockFilePath, 'utf8');\n // Check if the package name exists in the lock file\n isInstalledAsPackage = lockFileContent.includes(packageName);\n }\n } catch (error) {\n this.logger.warn(`Error checking package existence for ${packageName}: ${(error as Error).message}`);\n // If error occurs during package check, default to false\n isInstalledAsPackage = false;\n }\n\n componentLocation = isInstalledAsPackage ? 'installed as a package' : 'a remote component';\n }\n\n showResults.componentLocation = componentLocation;\n\n return showResults;\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":[]}
|
|
@@ -417,7 +417,7 @@ class ApiServerMain {
|
|
|
417
417
|
const logger = loggerMain.createLogger(_apiServer().ApiServerAspect.id);
|
|
418
418
|
const apiServer = new ApiServerMain(workspace, logger, express, watcher, installer, importer);
|
|
419
419
|
cli.register(new (_server().ServerCmd)(apiServer));
|
|
420
|
-
const apiForIDE = new (_apiForIde().APIForIDE)(workspace, snapping, lanes, installer, exporter, checkout, componentLog, componentCompare, generator, remove, config, application, deprecation, envs, graph, scope, component, schema);
|
|
420
|
+
const apiForIDE = new (_apiForIde().APIForIDE)(workspace, snapping, lanes, installer, exporter, checkout, componentLog, componentCompare, generator, remove, config, application, deprecation, envs, graph, scope, component, schema, logger);
|
|
421
421
|
const cliRoute = new (_cli2().CLIRoute)(logger, cli, apiForIDE);
|
|
422
422
|
const cliRawRoute = new (_cliRaw().CLIRawRoute)(logger, cli, apiForIDE);
|
|
423
423
|
const ideRoute = new (_ide().IDERoute)(logger, apiForIDE);
|
|
@@ -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","_component","_workspace","_harmonyModules","_cors","_httpProxyMiddleware","_apiServer","_cli2","_server","_ide","_apiForIde","_sseEvents","_path","_cliRaw","_application","_deprecation","_envs","_scope","_legacy","_graph","_scope2","_schema","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","graph","schema","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","GraphAspect","ScopeAspect","ComponentAspect","SchemaAspect","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 { ComponentAspect, Component, ComponentMain } 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';\nimport { GraphAspect, GraphMain } from '@teambit/graph';\nimport { ScopeAspect, ScopeMain } from '@teambit/scope';\nimport { SchemaAspect, SchemaMain } from '@teambit/schema';\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 GraphAspect,\n ScopeAspect,\n ComponentAspect,\n SchemaAspect,\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 graph,\n scope,\n component,\n schema,\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 GraphMain,\n ScopeMain,\n ComponentMain,\n SchemaMain,\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 graph,\n scope,\n component,\n schema\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":[]}
|
|
1
|
+
{"version":3,"names":["_cli","data","require","_toolboxNetwork","_fsExtra","_interopRequireDefault","_express","_logger","_lanes","_remove","_snapping","_generator","_componentCompare","_componentLog","_watcher","_config","_export","_checkout","_install","_importer","_component","_workspace","_harmonyModules","_cors","_httpProxyMiddleware","_apiServer","_cli2","_server","_ide","_apiForIde","_sseEvents","_path","_cliRaw","_application","_deprecation","_envs","_scope","_legacy","_graph","_scope2","_schema","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","graph","schema","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","GraphAspect","ScopeAspect","ComponentAspect","SchemaAspect","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 { ComponentAspect, Component, ComponentMain } 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';\nimport { GraphAspect, GraphMain } from '@teambit/graph';\nimport { ScopeAspect, ScopeMain } from '@teambit/scope';\nimport { SchemaAspect, SchemaMain } from '@teambit/schema';\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 GraphAspect,\n ScopeAspect,\n ComponentAspect,\n SchemaAspect,\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 graph,\n scope,\n component,\n schema,\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 GraphMain,\n ScopeMain,\n ComponentMain,\n SchemaMain,\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 graph,\n scope,\n component,\n schema,\n logger\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":[]}
|
package/dist/server.cmd.d.ts
CHANGED
package/dist/server.cmd.js
CHANGED
|
@@ -18,6 +18,7 @@ class ServerCmd {
|
|
|
18
18
|
_defineProperty(this, "commands", []);
|
|
19
19
|
_defineProperty(this, "group", 'workspace-setup');
|
|
20
20
|
_defineProperty(this, "options", [['p', 'port [port]', 'port to run the server on'], ['c', 'compile', 'compile components during the watch process']]);
|
|
21
|
+
_defineProperty(this, "private", true);
|
|
21
22
|
}
|
|
22
23
|
async wait(args, options) {
|
|
23
24
|
await this.apiServer.runApiServer(options);
|
package/dist/server.cmd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ServerCmd","constructor","apiServer","_defineProperty","wait","args","options","runApiServer","exports"],"sources":["server.cmd.ts"],"sourcesContent":["// eslint-disable-next-line max-classes-per-file\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { ApiServerMain } from './api-server.main.runtime';\n\nexport class ServerCmd implements Command {\n name = 'server';\n description = 'communicate with bit cli program via http requests';\n alias = '';\n commands: Command[] = [];\n group = 'workspace-setup';\n options = [\n ['p', 'port [port]', 'port to run the server on'],\n ['c', 'compile', 'compile components during the watch process'],\n ] as CommandOptions;\n\n constructor(private apiServer: ApiServerMain) {}\n\n async wait(args, options: { port: number; compile: boolean }) {\n await this.apiServer.runApiServer(options);\n }\n}\n"],"mappings":";;;;;;;;;AAAA;;AAIO,MAAMA,SAAS,CAAoB;
|
|
1
|
+
{"version":3,"names":["ServerCmd","constructor","apiServer","_defineProperty","wait","args","options","runApiServer","exports"],"sources":["server.cmd.ts"],"sourcesContent":["// eslint-disable-next-line max-classes-per-file\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { ApiServerMain } from './api-server.main.runtime';\n\nexport class ServerCmd implements Command {\n name = 'server';\n description = 'communicate with bit cli program via http requests';\n alias = '';\n commands: Command[] = [];\n group = 'workspace-setup';\n options = [\n ['p', 'port [port]', 'port to run the server on'],\n ['c', 'compile', 'compile components during the watch process'],\n ] as CommandOptions;\n private = true;\n\n constructor(private apiServer: ApiServerMain) {}\n\n async wait(args, options: { port: number; compile: boolean }) {\n await this.apiServer.runApiServer(options);\n }\n}\n"],"mappings":";;;;;;;;;AAAA;;AAIO,MAAMA,SAAS,CAAoB;EAYxCC,WAAWA,CAASC,SAAwB,EAAE;IAAA,KAA1BA,SAAwB,GAAxBA,SAAwB;IAAAC,eAAA,eAXrC,QAAQ;IAAAA,eAAA,sBACD,oDAAoD;IAAAA,eAAA,gBAC1D,EAAE;IAAAA,eAAA,mBACY,EAAE;IAAAA,eAAA,gBAChB,iBAAiB;IAAAA,eAAA,kBACf,CACR,CAAC,GAAG,EAAE,aAAa,EAAE,2BAA2B,CAAC,EACjD,CAAC,GAAG,EAAE,SAAS,EAAE,6CAA6C,CAAC,CAChE;IAAAA,eAAA,kBACS,IAAI;EAEiC;EAE/C,MAAMC,IAAIA,CAACC,IAAI,EAAEC,OAA2C,EAAE;IAC5D,MAAM,IAAI,CAACJ,SAAS,CAACK,YAAY,CAACD,OAAO,CAAC;EAC5C;AACF;AAACE,OAAA,CAAAR,SAAA,GAAAA,SAAA","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/api-server",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.632",
|
|
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.
|
|
9
|
+
"version": "1.0.632"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"filenamify": "4.2.0",
|
|
@@ -20,38 +20,39 @@
|
|
|
20
20
|
"pretty-time": "1.1.0",
|
|
21
21
|
"@teambit/lane-id": "0.0.312",
|
|
22
22
|
"@teambit/harmony": "0.4.7",
|
|
23
|
-
"@teambit/application": "1.0.
|
|
24
|
-
"@teambit/checkout": "1.0.
|
|
25
|
-
"@teambit/component-compare": "1.0.
|
|
26
|
-
"@teambit/component-log": "1.0.
|
|
27
|
-
"@teambit/component": "
|
|
28
|
-
"@teambit/
|
|
29
|
-
"@teambit/
|
|
30
|
-
"@teambit/
|
|
31
|
-
"@teambit/
|
|
32
|
-
"@teambit/
|
|
33
|
-
"@teambit/
|
|
34
|
-
"@teambit/
|
|
35
|
-
"@teambit/
|
|
23
|
+
"@teambit/application": "1.0.629",
|
|
24
|
+
"@teambit/checkout": "1.0.629",
|
|
25
|
+
"@teambit/component-compare": "1.0.629",
|
|
26
|
+
"@teambit/component-log": "1.0.629",
|
|
27
|
+
"@teambit/component.modules.component-url": "0.0.176",
|
|
28
|
+
"@teambit/component": "1.0.629",
|
|
29
|
+
"@teambit/config": "0.0.1380",
|
|
30
|
+
"@teambit/deprecation": "1.0.629",
|
|
31
|
+
"@teambit/envs": "1.0.629",
|
|
32
|
+
"@teambit/export": "1.0.629",
|
|
33
|
+
"@teambit/generator": "1.0.630",
|
|
34
|
+
"@teambit/graph": "1.0.629",
|
|
35
|
+
"@teambit/install": "1.0.629",
|
|
36
|
+
"@teambit/lanes": "1.0.630",
|
|
36
37
|
"@teambit/legacy.consumer": "0.0.51",
|
|
37
38
|
"@teambit/legacy.scope": "0.0.51",
|
|
38
39
|
"@teambit/legacy.utils": "0.0.21",
|
|
39
|
-
"@teambit/
|
|
40
|
-
"@teambit/
|
|
41
|
-
"@teambit/
|
|
42
|
-
"@teambit/
|
|
43
|
-
"@teambit/
|
|
44
|
-
"@teambit/
|
|
45
|
-
"@teambit/
|
|
46
|
-
"@teambit/
|
|
47
|
-
"@teambit/
|
|
40
|
+
"@teambit/logger": "0.0.1299",
|
|
41
|
+
"@teambit/merging": "1.0.629",
|
|
42
|
+
"@teambit/objects": "0.0.136",
|
|
43
|
+
"@teambit/remove": "1.0.629",
|
|
44
|
+
"@teambit/schema": "1.0.629",
|
|
45
|
+
"@teambit/scope": "1.0.629",
|
|
46
|
+
"@teambit/snapping": "1.0.629",
|
|
47
|
+
"@teambit/workspace": "1.0.629",
|
|
48
|
+
"@teambit/cli": "0.0.1206",
|
|
49
|
+
"@teambit/express": "0.0.1305",
|
|
48
50
|
"@teambit/harmony.modules.send-server-sent-events": "0.0.7",
|
|
49
|
-
"@teambit/importer": "1.0.
|
|
51
|
+
"@teambit/importer": "1.0.629",
|
|
50
52
|
"@teambit/legacy.constants": "0.0.11",
|
|
51
|
-
"@teambit/logger": "0.0.1297",
|
|
52
53
|
"@teambit/scope.network": "0.0.51",
|
|
53
54
|
"@teambit/toolbox.network.get-port": "1.0.10",
|
|
54
|
-
"@teambit/watcher": "1.0.
|
|
55
|
+
"@teambit/watcher": "1.0.629",
|
|
55
56
|
"@teambit/harmony.modules.feature-toggle": "0.0.19",
|
|
56
57
|
"@teambit/legacy.loader": "0.0.7",
|
|
57
58
|
"@teambit/legacy.logger": "0.0.19"
|
|
File without changes
|