@teambit/api-server 1.0.356 → 1.0.357

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.
@@ -193,6 +193,13 @@ function _path() {
193
193
  };
194
194
  return data;
195
195
  }
196
+ function _cliRaw() {
197
+ const data = require("./cli-raw.route");
198
+ _cliRaw = function () {
199
+ return data;
200
+ };
201
+ return data;
202
+ }
196
203
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
197
204
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
198
205
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
@@ -304,11 +311,12 @@ class ApiServerMain {
304
311
  cli.register(new (_server().ServerCmd)(apiServer));
305
312
  const apiForIDE = new (_apiForIde().APIForIDE)(workspace, snapping, lanes, installer, exporter, checkout, componentLog, componentCompare, generator, remove, config);
306
313
  const cliRoute = new (_cli2().CLIRoute)(logger, cli, apiForIDE);
307
- const vscodeRoute = new (_ide().IDERoute)(logger, apiForIDE);
314
+ const cliRawRoute = new (_cliRaw().CLIRawRoute)(logger, cli, apiForIDE);
315
+ const ideRoute = new (_ide().IDERoute)(logger, apiForIDE);
308
316
  const sseEventsRoute = new (_sseEvents().SSEEventsRoute)(logger, cli);
309
317
  // register only when the workspace is available. don't register this on a remote-scope, for security reasons.
310
318
  if (workspace) {
311
- express.register([cliRoute, vscodeRoute, sseEventsRoute]);
319
+ express.register([cliRoute, cliRawRoute, ideRoute, sseEventsRoute]);
312
320
  }
313
321
  return apiServer;
314
322
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_cli","data","require","_fsExtra","_interopRequireDefault","_express","_logger","_lanes","_remove","_snapping","_generator","_componentCompare","_componentLog","_watcher","_config","_export","_checkout","_install","_importer","_workspace","_harmonyModules","_cors","_httpProxyMiddleware","_apiServer","_cli2","_server","_ide","_apiForIde","_sseEvents","_path","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","registerPostInstall","watch","preCompile","compile","catch","err","error","port","app","createApp","use","cors","origin","callback","credentials","createProxyMiddleware","target","changeOrigin","on","req","res","writeHead","end","proxyReq","fixRequestBody","server","listen","Promise","resolve","reject","consoleSuccess","writeUsedPort","filePath","getServerPortFilePath","fs","writeFileSync","toString","getExistingUsedPort","fileContent","readFile","parseInt","code","undefined","join","scope","path","provider","cli","loggerMain","snapping","lanes","exporter","checkout","componentLog","componentCompare","generator","remove","config","createLogger","ApiServerAspect","apiServer","register","ServerCmd","apiForIDE","APIForIDE","cliRoute","CLIRoute","vscodeRoute","IDERoute","sseEventsRoute","SSEEventsRoute","exports","CLIAspect","WorkspaceAspect","LoggerAspect","ExpressAspect","WatcherAspect","SnappingAspect","LanesAspect","InstallAspect","ExportAspect","CheckoutAspect","ComponentLogAspect","ImporterAspect","ComponentCompareAspect","GeneratorAspect","RemoveAspect","ConfigAspect","MainRuntime","addRuntime","_default"],"sources":["api-server.main.runtime.ts"],"sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport fs from 'fs-extra';\nimport { ExpressAspect, ExpressMain } from '@teambit/express';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { LanesAspect, LanesMain } from '@teambit/lanes';\nimport { RemoveAspect, RemoveMain } from '@teambit/remove';\nimport { SnappingAspect, SnappingMain } from '@teambit/snapping';\nimport { GeneratorAspect, GeneratorMain } from '@teambit/generator';\nimport { ComponentCompareAspect, ComponentCompareMain } from '@teambit/component-compare';\nimport { ComponentLogAspect, ComponentLogMain } from '@teambit/component-log';\nimport { WatcherAspect, WatcherMain } from '@teambit/watcher';\nimport { ConfigAspect, ConfigMain } from '@teambit/config';\nimport { ExportAspect, ExportMain } from '@teambit/export';\nimport { CheckoutAspect, CheckoutMain } from '@teambit/checkout';\nimport { InstallAspect, InstallMain } from '@teambit/install';\nimport { ImporterAspect, ImporterMain } from '@teambit/importer';\nimport { Component } from '@teambit/component';\nimport { WorkspaceAspect, Workspace } from '@teambit/workspace';\nimport { sendEventsToClients } from '@teambit/harmony.modules.send-server-sent-events';\nimport cors from 'cors';\nimport { createProxyMiddleware, fixRequestBody } from 'http-proxy-middleware';\nimport { ApiServerAspect } from './api-server.aspect';\nimport { CLIRoute } from './cli.route';\nimport { ServerCmd } from './server.cmd';\nimport { IDERoute } from './ide.route';\nimport { APIForIDE } from './api-for-ide';\nimport { SSEEventsRoute } from './sse-events.route';\nimport { join } from 'path';\n\nexport class ApiServerMain {\n constructor(\n private workspace: Workspace,\n private logger: Logger,\n private express: ExpressMain,\n private watcher: WatcherMain,\n private installer: InstallMain,\n private importer: ImporterMain\n ) {}\n\n async runApiServer(options: { port: number; compile: boolean }) {\n if (!this.workspace) {\n throw new Error(`unable to run bit-server, the current directory ${process.cwd()} is not a workspace`);\n }\n\n this.workspace.registerOnComponentChange(\n async (\n component: Component,\n files: string[], // os absolute paths\n removedFiles?: string[] // os absolute paths\n ) => {\n sendEventsToClients('onComponentChange', {\n id: component.id.toStringWithoutVersion(),\n files,\n removedFiles,\n });\n }\n );\n\n this.workspace.registerOnBitmapChange(async () => {\n const lastModifiedTimestamp = await this.workspace.bitMap.getLastModifiedBitmapThroughBit();\n const secondsPassedSinceLastModified = lastModifiedTimestamp && (Date.now() - lastModifiedTimestamp) / 1000;\n if (secondsPassedSinceLastModified && secondsPassedSinceLastModified > 1) {\n // changes by bit were done more than a second ago, so probably this .bitmap change was done by \"git pull\"\n this.logger.debug(\n `running import because we assume the .bitmap file has changed due to \"git pull\", last time it was modified by bit was ${secondsPassedSinceLastModified} seconds ago`\n );\n await this.importer.importCurrentObjects();\n }\n sendEventsToClients('onBitmapChange', {});\n });\n\n this.workspace.registerOnWorkspaceConfigChange(async () => {\n sendEventsToClients('onWorkspaceConfigChange', {});\n });\n\n this.installer.registerPostInstall(async () => {\n sendEventsToClients('onPostInstall', {});\n });\n\n this.watcher\n .watch({\n preCompile: false,\n compile: options.compile,\n })\n .catch((err) => {\n // don't throw an error, we don't want to break the \"run\" process\n this.logger.error('watcher found an error', err);\n });\n\n const port = options.port || 3000;\n\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 app.use(\n '/api/cloud-graphql',\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n createProxyMiddleware({\n target: 'https://api.main.lanes.bit.cloud/graphql',\n changeOrigin: true,\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 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 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 ];\n static runtime = MainRuntime;\n static async provider([\n cli,\n workspace,\n loggerMain,\n express,\n watcher,\n snapping,\n lanes,\n installer,\n exporter,\n checkout,\n componentLog,\n importer,\n componentCompare,\n generator,\n remove,\n config,\n ]: [\n CLIMain,\n Workspace,\n LoggerMain,\n ExpressMain,\n WatcherMain,\n SnappingMain,\n LanesMain,\n InstallMain,\n ExportMain,\n CheckoutMain,\n ComponentLogMain,\n ImporterMain,\n ComponentCompareMain,\n GeneratorMain,\n RemoveMain,\n ConfigMain\n ]) {\n const logger = loggerMain.createLogger(ApiServerAspect.id);\n const apiServer = new ApiServerMain(workspace, logger, express, watcher, installer, importer);\n cli.register(new ServerCmd(apiServer));\n\n const apiForIDE = new APIForIDE(\n workspace,\n snapping,\n lanes,\n installer,\n exporter,\n checkout,\n componentLog,\n componentCompare,\n generator,\n remove,\n config\n );\n const cliRoute = new CLIRoute(logger, cli, apiForIDE);\n const vscodeRoute = new IDERoute(logger, apiForIDE);\n const sseEventsRoute = new SSEEventsRoute(logger, cli);\n // register only when the workspace is available. don't register this on a remote-scope, for security reasons.\n if (workspace) {\n express.register([cliRoute, vscodeRoute, sseEventsRoute]);\n }\n\n return apiServer;\n }\n}\n\nApiServerAspect.addRuntime(ApiServerMain);\n\nexport default ApiServerMain;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_cli","data","require","_fsExtra","_interopRequireDefault","_express","_logger","_lanes","_remove","_snapping","_generator","_componentCompare","_componentLog","_watcher","_config","_export","_checkout","_install","_importer","_workspace","_harmonyModules","_cors","_httpProxyMiddleware","_apiServer","_cli2","_server","_ide","_apiForIde","_sseEvents","_path","_cliRaw","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","registerPostInstall","watch","preCompile","compile","catch","err","error","port","app","createApp","use","cors","origin","callback","credentials","createProxyMiddleware","target","changeOrigin","on","req","res","writeHead","end","proxyReq","fixRequestBody","server","listen","Promise","resolve","reject","consoleSuccess","writeUsedPort","filePath","getServerPortFilePath","fs","writeFileSync","toString","getExistingUsedPort","fileContent","readFile","parseInt","code","undefined","join","scope","path","provider","cli","loggerMain","snapping","lanes","exporter","checkout","componentLog","componentCompare","generator","remove","config","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","MainRuntime","addRuntime","_default"],"sources":["api-server.main.runtime.ts"],"sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport fs from 'fs-extra';\nimport { ExpressAspect, ExpressMain } from '@teambit/express';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { LanesAspect, LanesMain } from '@teambit/lanes';\nimport { RemoveAspect, RemoveMain } from '@teambit/remove';\nimport { SnappingAspect, SnappingMain } from '@teambit/snapping';\nimport { GeneratorAspect, GeneratorMain } from '@teambit/generator';\nimport { ComponentCompareAspect, ComponentCompareMain } from '@teambit/component-compare';\nimport { ComponentLogAspect, ComponentLogMain } from '@teambit/component-log';\nimport { WatcherAspect, WatcherMain } from '@teambit/watcher';\nimport { ConfigAspect, ConfigMain } from '@teambit/config';\nimport { ExportAspect, ExportMain } from '@teambit/export';\nimport { CheckoutAspect, CheckoutMain } from '@teambit/checkout';\nimport { InstallAspect, InstallMain } from '@teambit/install';\nimport { ImporterAspect, ImporterMain } from '@teambit/importer';\nimport { Component } from '@teambit/component';\nimport { WorkspaceAspect, Workspace } from '@teambit/workspace';\nimport { sendEventsToClients } from '@teambit/harmony.modules.send-server-sent-events';\nimport cors from 'cors';\nimport { createProxyMiddleware, fixRequestBody } from 'http-proxy-middleware';\nimport { ApiServerAspect } from './api-server.aspect';\nimport { CLIRoute } from './cli.route';\nimport { ServerCmd } from './server.cmd';\nimport { IDERoute } from './ide.route';\nimport { APIForIDE } from './api-for-ide';\nimport { SSEEventsRoute } from './sse-events.route';\nimport { join } from 'path';\nimport { CLIRawRoute } from './cli-raw.route';\n\nexport class ApiServerMain {\n constructor(\n private workspace: Workspace,\n private logger: Logger,\n private express: ExpressMain,\n private watcher: WatcherMain,\n private installer: InstallMain,\n private importer: ImporterMain\n ) {}\n\n async runApiServer(options: { port: number; compile: boolean }) {\n if (!this.workspace) {\n throw new Error(`unable to run bit-server, the current directory ${process.cwd()} is not a workspace`);\n }\n\n this.workspace.registerOnComponentChange(\n async (\n component: Component,\n files: string[], // os absolute paths\n removedFiles?: string[] // os absolute paths\n ) => {\n sendEventsToClients('onComponentChange', {\n id: component.id.toStringWithoutVersion(),\n files,\n removedFiles,\n });\n }\n );\n\n this.workspace.registerOnBitmapChange(async () => {\n const lastModifiedTimestamp = await this.workspace.bitMap.getLastModifiedBitmapThroughBit();\n const secondsPassedSinceLastModified = lastModifiedTimestamp && (Date.now() - lastModifiedTimestamp) / 1000;\n if (secondsPassedSinceLastModified && secondsPassedSinceLastModified > 1) {\n // changes by bit were done more than a second ago, so probably this .bitmap change was done by \"git pull\"\n this.logger.debug(\n `running import because we assume the .bitmap file has changed due to \"git pull\", last time it was modified by bit was ${secondsPassedSinceLastModified} seconds ago`\n );\n await this.importer.importCurrentObjects();\n }\n sendEventsToClients('onBitmapChange', {});\n });\n\n this.workspace.registerOnWorkspaceConfigChange(async () => {\n sendEventsToClients('onWorkspaceConfigChange', {});\n });\n\n this.installer.registerPostInstall(async () => {\n sendEventsToClients('onPostInstall', {});\n });\n\n this.watcher\n .watch({\n preCompile: false,\n compile: options.compile,\n })\n .catch((err) => {\n // don't throw an error, we don't want to break the \"run\" process\n this.logger.error('watcher found an error', err);\n });\n\n const port = options.port || 3000;\n\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 app.use(\n '/api/cloud-graphql',\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n createProxyMiddleware({\n target: 'https://api.main.lanes.bit.cloud/graphql',\n changeOrigin: true,\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 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 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 ];\n static runtime = MainRuntime;\n static async provider([\n cli,\n workspace,\n loggerMain,\n express,\n watcher,\n snapping,\n lanes,\n installer,\n exporter,\n checkout,\n componentLog,\n importer,\n componentCompare,\n generator,\n remove,\n config,\n ]: [\n CLIMain,\n Workspace,\n LoggerMain,\n ExpressMain,\n WatcherMain,\n SnappingMain,\n LanesMain,\n InstallMain,\n ExportMain,\n CheckoutMain,\n ComponentLogMain,\n ImporterMain,\n ComponentCompareMain,\n GeneratorMain,\n RemoveMain,\n ConfigMain\n ]) {\n const logger = loggerMain.createLogger(ApiServerAspect.id);\n const apiServer = new ApiServerMain(workspace, logger, express, watcher, installer, importer);\n cli.register(new ServerCmd(apiServer));\n\n const apiForIDE = new APIForIDE(\n workspace,\n snapping,\n lanes,\n installer,\n exporter,\n checkout,\n componentLog,\n componentCompare,\n generator,\n remove,\n config\n );\n const cliRoute = new CLIRoute(logger, cli, apiForIDE);\n const 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":[]}
@@ -0,0 +1,22 @@
1
+ import { CLIMain } from '@teambit/cli';
2
+ import { Route, Request, Response } from '@teambit/express';
3
+ import { Logger } from '@teambit/logger';
4
+ import { APIForIDE } from './api-for-ide';
5
+ /**
6
+ * example usage:
7
+ * post to http://localhost:3000/api/cli
8
+ * with the following json as the body
9
+ *
10
+ {
11
+ "command": ["tag comp1 --build"]
12
+ }
13
+ */
14
+ export declare class CLIRawRoute implements Route {
15
+ private logger;
16
+ private cli;
17
+ private apiForIDE;
18
+ constructor(logger: Logger, cli: CLIMain, apiForIDE: APIForIDE);
19
+ method: string;
20
+ route: string;
21
+ middlewares: ((req: Request, res: Response) => Promise<void>)[];
22
+ }
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.CLIRawRoute = void 0;
7
+ function _cli() {
8
+ const data = require("@teambit/cli");
9
+ _cli = function () {
10
+ return data;
11
+ };
12
+ return data;
13
+ }
14
+ function _chalk() {
15
+ const data = _interopRequireDefault(require("chalk"));
16
+ _chalk = function () {
17
+ return data;
18
+ };
19
+ return data;
20
+ }
21
+ function _logger() {
22
+ const data = _interopRequireDefault(require("@teambit/legacy/dist/logger/logger"));
23
+ _logger = function () {
24
+ return data;
25
+ };
26
+ return data;
27
+ }
28
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
29
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
30
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
31
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
32
+ /**
33
+ * example usage:
34
+ * post to http://localhost:3000/api/cli
35
+ * with the following json as the body
36
+ *
37
+ {
38
+ "command": ["tag comp1 --build"]
39
+ }
40
+ */
41
+ class CLIRawRoute {
42
+ constructor(logger, cli, apiForIDE) {
43
+ this.logger = logger;
44
+ this.cli = cli;
45
+ this.apiForIDE = apiForIDE;
46
+ _defineProperty(this, "method", 'post');
47
+ _defineProperty(this, "route", '/cli-raw');
48
+ _defineProperty(this, "middlewares", [async (req, res) => {
49
+ const {
50
+ command,
51
+ pwd
52
+ } = req.body;
53
+ this.logger.debug(`cli-raw server: got request for ${command}`);
54
+ if (pwd && !process.cwd().startsWith(pwd)) {
55
+ throw new Error(`bit-server is running on a different directory. bit-server: ${process.cwd()}, pwd: ${pwd}`);
56
+ }
57
+ const randomNumber = Math.floor(Math.random() * 10000); // helps to distinguish between commands in the log
58
+ const cmdStrLog = `${randomNumber} ${command}`;
59
+ await this.apiForIDE.logStartCmdHistory(cmdStrLog);
60
+ _logger().default.isDaemon = true;
61
+ enableChalk();
62
+ const cliParser = new (_cli().CLIParser)(this.cli.commands, this.cli.groups, this.cli.onCommandStartSlot);
63
+ try {
64
+ const commandRunner = await cliParser.parse(command.split(' '));
65
+ const result = await commandRunner.runCommand(true);
66
+ await this.apiForIDE.logFinishCmdHistory(cmdStrLog, 0);
67
+ res.json(result);
68
+ } catch (err) {
69
+ await this.apiForIDE.logFinishCmdHistory(cmdStrLog, 1);
70
+ res.status(500);
71
+ res.jsonp({
72
+ message: err.message,
73
+ error: err
74
+ });
75
+ } finally {
76
+ this.logger.clearStatusLine();
77
+ // change chalk back to false, otherwise, the IDE will have colors. (this is a global setting)
78
+ _chalk().default.enabled = false;
79
+ }
80
+ }]);
81
+ }
82
+ }
83
+
84
+ /**
85
+ * because this gets called from the express server, which gets spawn from a script, chalk defaults to false.
86
+ * changing only the "level" is not enough, it must be enabled as well.
87
+ * only when calling this route from the terminal, we want colors. on the IDE, we don't want colors.
88
+ */
89
+ exports.CLIRawRoute = CLIRawRoute;
90
+ function enableChalk() {
91
+ _chalk().default.enabled = true;
92
+ _chalk().default.level = 3;
93
+ }
94
+
95
+ //# sourceMappingURL=cli-raw.route.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_cli","data","require","_chalk","_interopRequireDefault","_logger","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","CLIRawRoute","constructor","logger","cli","apiForIDE","req","res","command","pwd","body","debug","process","cwd","startsWith","Error","randomNumber","Math","floor","random","cmdStrLog","logStartCmdHistory","legacyLogger","isDaemon","enableChalk","cliParser","CLIParser","commands","groups","onCommandStartSlot","commandRunner","parse","split","result","runCommand","logFinishCmdHistory","json","err","status","jsonp","message","error","clearStatusLine","chalk","enabled","exports","level"],"sources":["cli-raw.route.ts"],"sourcesContent":["import { CLIMain, CLIParser } from '@teambit/cli';\nimport chalk from 'chalk';\nimport { Route, Request, Response } from '@teambit/express';\nimport { Logger } from '@teambit/logger';\nimport legacyLogger from '@teambit/legacy/dist/logger/logger';\nimport { APIForIDE } from './api-for-ide';\n\n/**\n * example usage:\n * post to http://localhost:3000/api/cli\n * with the following json as the body\n *\n{\n \"command\": [\"tag comp1 --build\"]\n}\n */\nexport class CLIRawRoute implements Route {\n constructor(private logger: Logger, private cli: CLIMain, private apiForIDE: APIForIDE) {}\n\n method = 'post';\n route = '/cli-raw';\n\n middlewares = [\n async (req: Request, res: Response) => {\n const { command, pwd } = req.body;\n this.logger.debug(`cli-raw server: got request for ${command}`);\n if (pwd && !process.cwd().startsWith(pwd)) {\n throw new Error(`bit-server is running on a different directory. bit-server: ${process.cwd()}, pwd: ${pwd}`);\n }\n\n const randomNumber = Math.floor(Math.random() * 10000); // helps to distinguish between commands in the log\n const cmdStrLog = `${randomNumber} ${command}`;\n await this.apiForIDE.logStartCmdHistory(cmdStrLog);\n legacyLogger.isDaemon = true;\n enableChalk();\n const cliParser = new CLIParser(this.cli.commands, this.cli.groups, this.cli.onCommandStartSlot);\n try {\n const commandRunner = await cliParser.parse(command.split(' '));\n const result = await commandRunner.runCommand(true);\n await this.apiForIDE.logFinishCmdHistory(cmdStrLog, 0);\n res.json(result);\n } catch (err: any) {\n await this.apiForIDE.logFinishCmdHistory(cmdStrLog, 1);\n res.status(500);\n res.jsonp({\n message: err.message,\n error: err,\n });\n } finally {\n this.logger.clearStatusLine();\n // change chalk back to false, otherwise, the IDE will have colors. (this is a global setting)\n chalk.enabled = false;\n }\n },\n ];\n}\n\n/**\n * because this gets called from the express server, which gets spawn from a script, chalk defaults to false.\n * changing only the \"level\" is not enough, it must be enabled as well.\n * only when calling this route from the terminal, we want colors. on the IDE, we don't want colors.\n */\nfunction enableChalk() {\n chalk.enabled = true;\n chalk.level = 3;\n}\n"],"mappings":";;;;;;AAAA,SAAAA,KAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,IAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,OAAA;EAAA,MAAAF,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAC,MAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAI,QAAA;EAAA,MAAAJ,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAG,OAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA8D,SAAAG,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,gBAAAH,CAAA,EAAAI,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAE,cAAA,CAAAF,CAAA,MAAAJ,CAAA,GAAAO,MAAA,CAAAC,cAAA,CAAAR,CAAA,EAAAI,CAAA,IAAAK,KAAA,EAAAJ,CAAA,EAAAK,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAAZ,CAAA,CAAAI,CAAA,IAAAC,CAAA,EAAAL,CAAA;AAAA,SAAAM,eAAAD,CAAA,QAAAQ,CAAA,GAAAC,YAAA,CAAAT,CAAA,uCAAAQ,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAT,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAL,CAAA,GAAAK,CAAA,CAAAU,MAAA,CAAAC,WAAA,kBAAAhB,CAAA,QAAAa,CAAA,GAAAb,CAAA,CAAAiB,IAAA,CAAAZ,CAAA,EAAAD,CAAA,uCAAAS,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAAd,CAAA,GAAAe,MAAA,GAAAC,MAAA,EAAAf,CAAA;AAG9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMgB,WAAW,CAAkB;EACxCC,WAAWA,CAASC,MAAc,EAAUC,GAAY,EAAUC,SAAoB,EAAE;IAAA,KAApEF,MAAc,GAAdA,MAAc;IAAA,KAAUC,GAAY,GAAZA,GAAY;IAAA,KAAUC,SAAoB,GAApBA,SAAoB;IAAAtB,eAAA,iBAE7E,MAAM;IAAAA,eAAA,gBACP,UAAU;IAAAA,eAAA,sBAEJ,CACZ,OAAOuB,GAAY,EAAEC,GAAa,KAAK;MACrC,MAAM;QAAEC,OAAO;QAAEC;MAAI,CAAC,GAAGH,GAAG,CAACI,IAAI;MACjC,IAAI,CAACP,MAAM,CAACQ,KAAK,CAAC,mCAAmCH,OAAO,EAAE,CAAC;MAC/D,IAAIC,GAAG,IAAI,CAACG,OAAO,CAACC,GAAG,CAAC,CAAC,CAACC,UAAU,CAACL,GAAG,CAAC,EAAE;QACzC,MAAM,IAAIM,KAAK,CAAC,+DAA+DH,OAAO,CAACC,GAAG,CAAC,CAAC,UAAUJ,GAAG,EAAE,CAAC;MAC9G;MAEA,MAAMO,YAAY,GAAGC,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;MACxD,MAAMC,SAAS,GAAG,GAAGJ,YAAY,IAAIR,OAAO,EAAE;MAC9C,MAAM,IAAI,CAACH,SAAS,CAACgB,kBAAkB,CAACD,SAAS,CAAC;MAClDE,iBAAY,CAACC,QAAQ,GAAG,IAAI;MAC5BC,WAAW,CAAC,CAAC;MACb,MAAMC,SAAS,GAAG,KAAIC,gBAAS,EAAC,IAAI,CAACtB,GAAG,CAACuB,QAAQ,EAAE,IAAI,CAACvB,GAAG,CAACwB,MAAM,EAAE,IAAI,CAACxB,GAAG,CAACyB,kBAAkB,CAAC;MAChG,IAAI;QACF,MAAMC,aAAa,GAAG,MAAML,SAAS,CAACM,KAAK,CAACvB,OAAO,CAACwB,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/D,MAAMC,MAAM,GAAG,MAAMH,aAAa,CAACI,UAAU,CAAC,IAAI,CAAC;QACnD,MAAM,IAAI,CAAC7B,SAAS,CAAC8B,mBAAmB,CAACf,SAAS,EAAE,CAAC,CAAC;QACtDb,GAAG,CAAC6B,IAAI,CAACH,MAAM,CAAC;MAClB,CAAC,CAAC,OAAOI,GAAQ,EAAE;QACjB,MAAM,IAAI,CAAChC,SAAS,CAAC8B,mBAAmB,CAACf,SAAS,EAAE,CAAC,CAAC;QACtDb,GAAG,CAAC+B,MAAM,CAAC,GAAG,CAAC;QACf/B,GAAG,CAACgC,KAAK,CAAC;UACRC,OAAO,EAAEH,GAAG,CAACG,OAAO;UACpBC,KAAK,EAAEJ;QACT,CAAC,CAAC;MACJ,CAAC,SAAS;QACR,IAAI,CAAClC,MAAM,CAACuC,eAAe,CAAC,CAAC;QAC7B;QACAC,gBAAK,CAACC,OAAO,GAAG,KAAK;MACvB;IACF,CAAC,CACF;EArCwF;AAsC3F;;AAEA;AACA;AACA;AACA;AACA;AAJAC,OAAA,CAAA5C,WAAA,GAAAA,WAAA;AAKA,SAASuB,WAAWA,CAAA,EAAG;EACrBmB,gBAAK,CAACC,OAAO,GAAG,IAAI;EACpBD,gBAAK,CAACG,KAAK,GAAG,CAAC;AACjB","ignoreList":[]}
package/dist/cli.route.js CHANGED
@@ -11,13 +11,6 @@ function _prettyTime() {
11
11
  };
12
12
  return data;
13
13
  }
14
- function _chalk() {
15
- const data = _interopRequireDefault(require("chalk"));
16
- _chalk = function () {
17
- return data;
18
- };
19
- return data;
20
- }
21
14
  function _lodash() {
22
15
  const data = require("lodash");
23
16
  _lodash = function () {
@@ -52,14 +45,13 @@ class CLIRoute {
52
45
  this.logger.debug(`cli server: got request for ${req.params.cmd}`);
53
46
  let cmdStrLog;
54
47
  try {
55
- const command = this.cli.getCommand(req.params.cmd);
48
+ const command = this.cli.getCommandByNameOrAlias(req.params.cmd);
56
49
  if (!command) throw new Error(`command "${req.params.cmd}" was not found`);
57
50
  const body = req.body;
58
51
  const {
59
52
  args,
60
53
  options,
61
- format,
62
- isTerminal
54
+ format
63
55
  } = body;
64
56
  if (format && format !== 'json' && format !== 'report') throw new Error(`format "${format}" is not supported`);
65
57
  const outputMethod = format || 'json';
@@ -68,7 +60,7 @@ class CLIRoute {
68
60
  const argsStr = args ? ` ${args.join(' ')}` : '';
69
61
  const optsStr = optsToString ? ` ${optsToString}` : '';
70
62
  const cmdStr = req.params.cmd + argsStr + optsStr;
71
- if (!isTerminal) this.logger.console(`[*] started a new ${outputMethod} command: ${cmdStr}`);
63
+ this.logger.console(`[*] started a new ${outputMethod} command: ${cmdStr}`);
72
64
  const randomNumber = Math.floor(Math.random() * 10000); // helps to distinguish between commands in the log
73
65
  cmdStrLog = `${randomNumber} ${cmdStr}`;
74
66
  await this.apiForIDE.logStartCmdHistory(cmdStrLog);
@@ -78,21 +70,12 @@ class CLIRoute {
78
70
  return acc;
79
71
  }, {});
80
72
  const startTask = process.hrtime();
81
- // because this gets called from the express server, which gets spawn from a script, chalk defaults to false.
82
- // changing only the "level" is not enough, it must be enabled as well.
83
- // only when calling this route from the terminal, we want colors. on the IDE, we don't want colors.
84
- if (isTerminal) {
85
- _chalk().default.enabled = true;
86
- _chalk().default.level = 3;
87
- }
88
73
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
89
74
  const result = await command[outputMethod](args || [], optionsAsCamelCase);
90
75
  this.logger.clearStatusLine();
91
76
  const duration = (0, _prettyTime().default)(process.hrtime(startTask));
92
- if (!isTerminal) this.logger.consoleSuccess(`command "${req.params.cmd}" had been completed in ${duration}`);
77
+ this.logger.consoleSuccess(`command "${req.params.cmd}" had been completed in ${duration}`);
93
78
  await this.apiForIDE.logFinishCmdHistory(cmdStrLog, 0);
94
- // change chalk back to false, otherwise, the IDE will have colors. (this is a global setting)
95
- _chalk().default.enabled = false;
96
79
  if (outputMethod === 'json') {
97
80
  res.json(result);
98
81
  } else {
@@ -107,7 +90,6 @@ class CLIRoute {
107
90
  this.logger.error(`command "${req.params.cmd}" had failed`, err);
108
91
  this.logger.consoleFailure(`command "${req.params.cmd}" had failed. ${err.message}`);
109
92
  if (cmdStrLog) await this.apiForIDE.logFinishCmdHistory(cmdStrLog, 1);
110
- _chalk().default.enabled = false;
111
93
  res.status(500);
112
94
  res.jsonp({
113
95
  message: err.message,
@@ -1 +1 @@
1
- {"version":3,"names":["_prettyTime","data","_interopRequireDefault","require","_chalk","_lodash","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","CLIRoute","constructor","logger","cli","apiForIDE","req","res","debug","params","cmd","cmdStrLog","command","getCommand","Error","body","args","options","format","isTerminal","outputMethod","optsToString","keys","map","key","join","argsStr","optsStr","cmdStr","console","randomNumber","Math","floor","random","logStartCmdHistory","optionsAsCamelCase","reduce","acc","camelCaseKey","camelCase","startTask","process","hrtime","chalk","enabled","level","result","clearStatusLine","duration","prettyTime","consoleSuccess","logFinishCmdHistory","json","exitCode","code","err","error","consoleFailure","message","status","jsonp","exports"],"sources":["cli.route.ts"],"sourcesContent":["import { CLIMain } from '@teambit/cli';\nimport prettyTime from 'pretty-time';\nimport chalk from 'chalk';\nimport { Route, Request, Response } from '@teambit/express';\nimport { Logger } from '@teambit/logger';\nimport { camelCase } from 'lodash';\nimport { APIForIDE } from './api-for-ide';\n\n/**\n * example usage:\n * post to http://localhost:3000/api/cli/list\n * with the following json as the body\n *\n{\n \"args\": [\"teambit.workspace\"],\n \"options\": {\n \"ids\": true\n }\n}\n */\nexport class CLIRoute implements Route {\n constructor(private logger: Logger, private cli: CLIMain, private apiForIDE: APIForIDE) {}\n\n method = 'post';\n route = '/cli/:cmd';\n\n middlewares = [\n async (req: Request, res: Response) => {\n this.logger.debug(`cli server: got request for ${req.params.cmd}`);\n let cmdStrLog: string | undefined;\n try {\n const command = this.cli.getCommand(req.params.cmd);\n if (!command) throw new Error(`command \"${req.params.cmd}\" was not found`);\n const body = req.body;\n const { args, options, format, isTerminal } = body;\n if (format && format !== 'json' && format !== 'report') throw new Error(`format \"${format}\" is not supported`);\n const outputMethod: 'json' | 'report' = format || 'json';\n if (!command[outputMethod])\n throw new Error(`command \"${req.params.cmd}\" does not have a ${outputMethod} method`);\n const optsToString = Object.keys(options || {})\n .map((key) => `--${key}`)\n .join(' ');\n const argsStr = args ? ` ${args.join(' ')}` : '';\n const optsStr = optsToString ? ` ${optsToString}` : '';\n const cmdStr = req.params.cmd + argsStr + optsStr;\n if (!isTerminal) this.logger.console(`[*] started a new ${outputMethod} command: ${cmdStr}`);\n const randomNumber = Math.floor(Math.random() * 10000); // helps to distinguish between commands in the log\n cmdStrLog = `${randomNumber} ${cmdStr}`;\n await this.apiForIDE.logStartCmdHistory(cmdStrLog);\n const optionsAsCamelCase = Object.keys(options || {}).reduce((acc, key) => {\n const camelCaseKey = camelCase(key);\n acc[camelCaseKey] = options[key];\n return acc;\n }, {});\n const startTask = process.hrtime();\n // because this gets called from the express server, which gets spawn from a script, chalk defaults to false.\n // changing only the \"level\" is not enough, it must be enabled as well.\n // only when calling this route from the terminal, we want colors. on the IDE, we don't want colors.\n if (isTerminal) {\n chalk.enabled = true;\n chalk.level = 3;\n }\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const result = await command[outputMethod]!(args || [], optionsAsCamelCase);\n this.logger.clearStatusLine();\n const duration = prettyTime(process.hrtime(startTask));\n if (!isTerminal) this.logger.consoleSuccess(`command \"${req.params.cmd}\" had been completed in ${duration}`);\n await this.apiForIDE.logFinishCmdHistory(cmdStrLog, 0);\n // change chalk back to false, otherwise, the IDE will have colors. (this is a global setting)\n chalk.enabled = false;\n if (outputMethod === 'json') {\n res.json(result);\n } else {\n const data = typeof result === 'string' ? result : result.data;\n const exitCode = typeof result === 'string' ? 0 : result.code;\n res.json({ data, exitCode });\n }\n } catch (err: any) {\n this.logger.error(`command \"${req.params.cmd}\" had failed`, err);\n this.logger.consoleFailure(`command \"${req.params.cmd}\" had failed. ${err.message}`);\n if (cmdStrLog) await this.apiForIDE.logFinishCmdHistory(cmdStrLog, 1);\n chalk.enabled = false;\n res.status(500);\n res.jsonp({\n message: err.message,\n error: err,\n });\n }\n },\n ];\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_prettyTime","data","_interopRequireDefault","require","_lodash","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","CLIRoute","constructor","logger","cli","apiForIDE","req","res","debug","params","cmd","cmdStrLog","command","getCommandByNameOrAlias","Error","body","args","options","format","outputMethod","optsToString","keys","map","key","join","argsStr","optsStr","cmdStr","console","randomNumber","Math","floor","random","logStartCmdHistory","optionsAsCamelCase","reduce","acc","camelCaseKey","camelCase","startTask","process","hrtime","result","clearStatusLine","duration","prettyTime","consoleSuccess","logFinishCmdHistory","json","exitCode","code","err","error","consoleFailure","message","status","jsonp","exports"],"sources":["cli.route.ts"],"sourcesContent":["import { CLIMain } from '@teambit/cli';\nimport prettyTime from 'pretty-time';\nimport { Route, Request, Response } from '@teambit/express';\nimport { Logger } from '@teambit/logger';\nimport { camelCase } from 'lodash';\nimport { APIForIDE } from './api-for-ide';\n\n/**\n * example usage:\n * post to http://localhost:3000/api/cli/list\n * with the following json as the body\n *\n{\n \"args\": [\"teambit.workspace\"],\n \"options\": {\n \"ids\": true\n }\n}\n */\nexport class CLIRoute implements Route {\n constructor(private logger: Logger, private cli: CLIMain, private apiForIDE: APIForIDE) {}\n\n method = 'post';\n route = '/cli/:cmd';\n\n middlewares = [\n async (req: Request, res: Response) => {\n this.logger.debug(`cli server: got request for ${req.params.cmd}`);\n let cmdStrLog: string | undefined;\n try {\n const command = this.cli.getCommandByNameOrAlias(req.params.cmd);\n if (!command) throw new Error(`command \"${req.params.cmd}\" was not found`);\n const body = req.body;\n const { args, options, format } = body;\n if (format && format !== 'json' && format !== 'report') throw new Error(`format \"${format}\" is not supported`);\n const outputMethod: 'json' | 'report' = format || 'json';\n if (!command[outputMethod])\n throw new Error(`command \"${req.params.cmd}\" does not have a ${outputMethod} method`);\n const optsToString = Object.keys(options || {})\n .map((key) => `--${key}`)\n .join(' ');\n const argsStr = args ? ` ${args.join(' ')}` : '';\n const optsStr = optsToString ? ` ${optsToString}` : '';\n const cmdStr = req.params.cmd + argsStr + optsStr;\n this.logger.console(`[*] started a new ${outputMethod} command: ${cmdStr}`);\n const randomNumber = Math.floor(Math.random() * 10000); // helps to distinguish between commands in the log\n cmdStrLog = `${randomNumber} ${cmdStr}`;\n await this.apiForIDE.logStartCmdHistory(cmdStrLog);\n const optionsAsCamelCase = Object.keys(options || {}).reduce((acc, key) => {\n const camelCaseKey = camelCase(key);\n acc[camelCaseKey] = options[key];\n return acc;\n }, {});\n const startTask = process.hrtime();\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const result = await command[outputMethod]!(args || [], optionsAsCamelCase);\n this.logger.clearStatusLine();\n const duration = prettyTime(process.hrtime(startTask));\n this.logger.consoleSuccess(`command \"${req.params.cmd}\" had been completed in ${duration}`);\n await this.apiForIDE.logFinishCmdHistory(cmdStrLog, 0);\n if (outputMethod === 'json') {\n res.json(result);\n } else {\n const data = typeof result === 'string' ? result : result.data;\n const exitCode = typeof result === 'string' ? 0 : result.code;\n res.json({ data, exitCode });\n }\n } catch (err: any) {\n this.logger.error(`command \"${req.params.cmd}\" had failed`, err);\n this.logger.consoleFailure(`command \"${req.params.cmd}\" had failed. ${err.message}`);\n if (cmdStrLog) await this.apiForIDE.logFinishCmdHistory(cmdStrLog, 1);\n res.status(500);\n res.jsonp({\n message: err.message,\n error: err,\n });\n }\n },\n ];\n}\n"],"mappings":";;;;;;AACA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAG,QAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,OAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAmC,SAAAC,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,gBAAAH,CAAA,EAAAI,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAE,cAAA,CAAAF,CAAA,MAAAJ,CAAA,GAAAO,MAAA,CAAAC,cAAA,CAAAR,CAAA,EAAAI,CAAA,IAAAK,KAAA,EAAAJ,CAAA,EAAAK,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAAZ,CAAA,CAAAI,CAAA,IAAAC,CAAA,EAAAL,CAAA;AAAA,SAAAM,eAAAD,CAAA,QAAAQ,CAAA,GAAAC,YAAA,CAAAT,CAAA,uCAAAQ,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAT,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAL,CAAA,GAAAK,CAAA,CAAAU,MAAA,CAAAC,WAAA,kBAAAhB,CAAA,QAAAa,CAAA,GAAAb,CAAA,CAAAiB,IAAA,CAAAZ,CAAA,EAAAD,CAAA,uCAAAS,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAAd,CAAA,GAAAe,MAAA,GAAAC,MAAA,EAAAf,CAAA;AAGnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMgB,QAAQ,CAAkB;EACrCC,WAAWA,CAASC,MAAc,EAAUC,GAAY,EAAUC,SAAoB,EAAE;IAAA,KAApEF,MAAc,GAAdA,MAAc;IAAA,KAAUC,GAAY,GAAZA,GAAY;IAAA,KAAUC,SAAoB,GAApBA,SAAoB;IAAAtB,eAAA,iBAE7E,MAAM;IAAAA,eAAA,gBACP,WAAW;IAAAA,eAAA,sBAEL,CACZ,OAAOuB,GAAY,EAAEC,GAAa,KAAK;MACrC,IAAI,CAACJ,MAAM,CAACK,KAAK,CAAC,+BAA+BF,GAAG,CAACG,MAAM,CAACC,GAAG,EAAE,CAAC;MAClE,IAAIC,SAA6B;MACjC,IAAI;QACF,MAAMC,OAAO,GAAG,IAAI,CAACR,GAAG,CAACS,uBAAuB,CAACP,GAAG,CAACG,MAAM,CAACC,GAAG,CAAC;QAChE,IAAI,CAACE,OAAO,EAAE,MAAM,IAAIE,KAAK,CAAC,YAAYR,GAAG,CAACG,MAAM,CAACC,GAAG,iBAAiB,CAAC;QAC1E,MAAMK,IAAI,GAAGT,GAAG,CAACS,IAAI;QACrB,MAAM;UAAEC,IAAI;UAAEC,OAAO;UAAEC;QAAO,CAAC,GAAGH,IAAI;QACtC,IAAIG,MAAM,IAAIA,MAAM,KAAK,MAAM,IAAIA,MAAM,KAAK,QAAQ,EAAE,MAAM,IAAIJ,KAAK,CAAC,WAAWI,MAAM,oBAAoB,CAAC;QAC9G,MAAMC,YAA+B,GAAGD,MAAM,IAAI,MAAM;QACxD,IAAI,CAACN,OAAO,CAACO,YAAY,CAAC,EACxB,MAAM,IAAIL,KAAK,CAAC,YAAYR,GAAG,CAACG,MAAM,CAACC,GAAG,qBAAqBS,YAAY,SAAS,CAAC;QACvF,MAAMC,YAAY,GAAGjC,MAAM,CAACkC,IAAI,CAACJ,OAAO,IAAI,CAAC,CAAC,CAAC,CAC5CK,GAAG,CAAEC,GAAG,IAAK,KAAKA,GAAG,EAAE,CAAC,CACxBC,IAAI,CAAC,GAAG,CAAC;QACZ,MAAMC,OAAO,GAAGT,IAAI,GAAG,IAAIA,IAAI,CAACQ,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE;QAChD,MAAME,OAAO,GAAGN,YAAY,GAAG,IAAIA,YAAY,EAAE,GAAG,EAAE;QACtD,MAAMO,MAAM,GAAGrB,GAAG,CAACG,MAAM,CAACC,GAAG,GAAGe,OAAO,GAAGC,OAAO;QACjD,IAAI,CAACvB,MAAM,CAACyB,OAAO,CAAC,qBAAqBT,YAAY,aAAaQ,MAAM,EAAE,CAAC;QAC3E,MAAME,YAAY,GAAGC,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;QACxDrB,SAAS,GAAG,GAAGkB,YAAY,IAAIF,MAAM,EAAE;QACvC,MAAM,IAAI,CAACtB,SAAS,CAAC4B,kBAAkB,CAACtB,SAAS,CAAC;QAClD,MAAMuB,kBAAkB,GAAG/C,MAAM,CAACkC,IAAI,CAACJ,OAAO,IAAI,CAAC,CAAC,CAAC,CAACkB,MAAM,CAAC,CAACC,GAAG,EAAEb,GAAG,KAAK;UACzE,MAAMc,YAAY,GAAG,IAAAC,mBAAS,EAACf,GAAG,CAAC;UACnCa,GAAG,CAACC,YAAY,CAAC,GAAGpB,OAAO,CAACM,GAAG,CAAC;UAChC,OAAOa,GAAG;QACZ,CAAC,EAAE,CAAC,CAAC,CAAC;QACN,MAAMG,SAAS,GAAGC,OAAO,CAACC,MAAM,CAAC,CAAC;QAClC;QACA,MAAMC,MAAM,GAAG,MAAM9B,OAAO,CAACO,YAAY,CAAC,CAAEH,IAAI,IAAI,EAAE,EAAEkB,kBAAkB,CAAC;QAC3E,IAAI,CAAC/B,MAAM,CAACwC,eAAe,CAAC,CAAC;QAC7B,MAAMC,QAAQ,GAAG,IAAAC,qBAAU,EAACL,OAAO,CAACC,MAAM,CAACF,SAAS,CAAC,CAAC;QACtD,IAAI,CAACpC,MAAM,CAAC2C,cAAc,CAAC,YAAYxC,GAAG,CAACG,MAAM,CAACC,GAAG,2BAA2BkC,QAAQ,EAAE,CAAC;QAC3F,MAAM,IAAI,CAACvC,SAAS,CAAC0C,mBAAmB,CAACpC,SAAS,EAAE,CAAC,CAAC;QACtD,IAAIQ,YAAY,KAAK,MAAM,EAAE;UAC3BZ,GAAG,CAACyC,IAAI,CAACN,MAAM,CAAC;QAClB,CAAC,MAAM;UACL,MAAMlE,IAAI,GAAG,OAAOkE,MAAM,KAAK,QAAQ,GAAGA,MAAM,GAAGA,MAAM,CAAClE,IAAI;UAC9D,MAAMyE,QAAQ,GAAG,OAAOP,MAAM,KAAK,QAAQ,GAAG,CAAC,GAAGA,MAAM,CAACQ,IAAI;UAC7D3C,GAAG,CAACyC,IAAI,CAAC;YAAExE,IAAI;YAAEyE;UAAS,CAAC,CAAC;QAC9B;MACF,CAAC,CAAC,OAAOE,GAAQ,EAAE;QACjB,IAAI,CAAChD,MAAM,CAACiD,KAAK,CAAC,YAAY9C,GAAG,CAACG,MAAM,CAACC,GAAG,cAAc,EAAEyC,GAAG,CAAC;QAChE,IAAI,CAAChD,MAAM,CAACkD,cAAc,CAAC,YAAY/C,GAAG,CAACG,MAAM,CAACC,GAAG,iBAAiByC,GAAG,CAACG,OAAO,EAAE,CAAC;QACpF,IAAI3C,SAAS,EAAE,MAAM,IAAI,CAACN,SAAS,CAAC0C,mBAAmB,CAACpC,SAAS,EAAE,CAAC,CAAC;QACrEJ,GAAG,CAACgD,MAAM,CAAC,GAAG,CAAC;QACfhD,GAAG,CAACiD,KAAK,CAAC;UACRF,OAAO,EAAEH,GAAG,CAACG,OAAO;UACpBF,KAAK,EAAED;QACT,CAAC,CAAC;MACJ;IACF,CAAC,CACF;EA1DwF;AA2D3F;AAACM,OAAA,CAAAxD,QAAA,GAAAA,QAAA","ignoreList":[]}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/api-server",
3
- "version": "1.0.356",
3
+ "version": "1.0.357",
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.356"
9
+ "version": "1.0.357"
10
10
  },
11
11
  "dependencies": {
12
12
  "fs-extra": "10.0.0",
@@ -18,26 +18,26 @@
18
18
  "pretty-time": "1.1.0",
19
19
  "@teambit/lane-id": "0.0.311",
20
20
  "@teambit/harmony": "0.4.6",
21
- "@teambit/checkout": "1.0.356",
22
- "@teambit/component-compare": "1.0.356",
23
- "@teambit/component-log": "1.0.356",
24
- "@teambit/config": "0.0.1107",
25
- "@teambit/export": "1.0.356",
26
- "@teambit/generator": "1.0.357",
27
- "@teambit/install": "1.0.356",
28
- "@teambit/lanes": "1.0.356",
21
+ "@teambit/checkout": "1.0.357",
22
+ "@teambit/component-compare": "1.0.357",
23
+ "@teambit/component-log": "1.0.357",
24
+ "@teambit/config": "0.0.1108",
25
+ "@teambit/export": "1.0.357",
26
+ "@teambit/generator": "1.0.358",
27
+ "@teambit/install": "1.0.357",
28
+ "@teambit/lanes": "1.0.357",
29
29
  "@teambit/legacy.utils": "0.0.4",
30
- "@teambit/merging": "1.0.356",
31
- "@teambit/remove": "1.0.356",
32
- "@teambit/snapping": "1.0.356",
33
- "@teambit/workspace": "1.0.356",
34
- "@teambit/cli": "0.0.933",
35
- "@teambit/component": "1.0.356",
36
- "@teambit/express": "0.0.1032",
30
+ "@teambit/merging": "1.0.357",
31
+ "@teambit/remove": "1.0.357",
32
+ "@teambit/snapping": "1.0.357",
33
+ "@teambit/workspace": "1.0.357",
34
+ "@teambit/cli": "0.0.934",
35
+ "@teambit/component": "1.0.357",
36
+ "@teambit/express": "0.0.1033",
37
37
  "@teambit/harmony.modules.send-server-sent-events": "0.0.1",
38
- "@teambit/importer": "1.0.356",
39
- "@teambit/logger": "0.0.1026",
40
- "@teambit/watcher": "1.0.356"
38
+ "@teambit/importer": "1.0.357",
39
+ "@teambit/logger": "0.0.1027",
40
+ "@teambit/watcher": "1.0.357"
41
41
  },
42
42
  "devDependencies": {
43
43
  "@types/fs-extra": "9.0.7",