@teambit/api-server 1.0.356 → 1.0.358
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/artifacts/__bit_junit.xml +1 -1
- package/artifacts/schema.json +115 -115
- package/dist/api-server.main.runtime.js +10 -2
- package/dist/api-server.main.runtime.js.map +1 -1
- package/dist/cli-raw.route.d.ts +22 -0
- package/dist/cli-raw.route.js +103 -0
- package/dist/cli-raw.route.js.map +1 -0
- package/dist/cli.route.js +4 -22
- package/dist/cli.route.js.map +1 -1
- package/package.json +20 -20
- /package/dist/{preview-1722396002906.js → preview-1722530524104.js} +0 -0
|
@@ -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
|
|
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,
|
|
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,103 @@
|
|
|
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
|
+
if (err instanceof _cli().YargsExitWorkaround) {
|
|
70
|
+
res.json({
|
|
71
|
+
data: err.helpMsg,
|
|
72
|
+
exitCode: err.exitCode
|
|
73
|
+
});
|
|
74
|
+
} else {
|
|
75
|
+
this.logger.error(`cli-raw server: got an error for ${command}`, err);
|
|
76
|
+
await this.apiForIDE.logFinishCmdHistory(cmdStrLog, 1);
|
|
77
|
+
res.status(500);
|
|
78
|
+
res.jsonp({
|
|
79
|
+
message: err.message,
|
|
80
|
+
error: err
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
} finally {
|
|
84
|
+
this.logger.clearStatusLine();
|
|
85
|
+
// change chalk back to false, otherwise, the IDE will have colors. (this is a global setting)
|
|
86
|
+
_chalk().default.enabled = false;
|
|
87
|
+
}
|
|
88
|
+
}]);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* because this gets called from the express server, which gets spawn from a script, chalk defaults to false.
|
|
94
|
+
* changing only the "level" is not enough, it must be enabled as well.
|
|
95
|
+
* only when calling this route from the terminal, we want colors. on the IDE, we don't want colors.
|
|
96
|
+
*/
|
|
97
|
+
exports.CLIRawRoute = CLIRawRoute;
|
|
98
|
+
function enableChalk() {
|
|
99
|
+
_chalk().default.enabled = true;
|
|
100
|
+
_chalk().default.level = 3;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
//# 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","YargsExitWorkaround","helpMsg","exitCode","error","status","jsonp","message","clearStatusLine","chalk","enabled","exports","level"],"sources":["cli-raw.route.ts"],"sourcesContent":["import { CLIMain, CLIParser, YargsExitWorkaround } 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 if (err instanceof YargsExitWorkaround) {\n res.json({ data: err.helpMsg, exitCode: err.exitCode });\n } else {\n this.logger.error(`cli-raw server: got an error for ${command}`, err);\n await this.apiForIDE.logFinishCmdHistory(cmdStrLog, 1);\n res.status(500);\n res.jsonp({\n message: err.message,\n error: err,\n });\n }\n } finally {\n 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":"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","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.
|
|
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
|
-
|
|
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
|
-
|
|
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,
|
package/dist/cli.route.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_prettyTime","data","_interopRequireDefault","require","
|
|
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":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/api-server",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.358",
|
|
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.358"
|
|
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.
|
|
22
|
-
"@teambit/component-compare": "1.0.
|
|
23
|
-
"@teambit/component-log": "1.0.
|
|
24
|
-
"@teambit/config": "0.0.
|
|
25
|
-
"@teambit/export": "1.0.
|
|
26
|
-
"@teambit/generator": "1.0.
|
|
27
|
-
"@teambit/install": "1.0.
|
|
28
|
-
"@teambit/lanes": "1.0.
|
|
21
|
+
"@teambit/checkout": "1.0.358",
|
|
22
|
+
"@teambit/component-compare": "1.0.358",
|
|
23
|
+
"@teambit/component-log": "1.0.358",
|
|
24
|
+
"@teambit/config": "0.0.1109",
|
|
25
|
+
"@teambit/export": "1.0.358",
|
|
26
|
+
"@teambit/generator": "1.0.359",
|
|
27
|
+
"@teambit/install": "1.0.358",
|
|
28
|
+
"@teambit/lanes": "1.0.358",
|
|
29
29
|
"@teambit/legacy.utils": "0.0.4",
|
|
30
|
-
"@teambit/merging": "1.0.
|
|
31
|
-
"@teambit/remove": "1.0.
|
|
32
|
-
"@teambit/snapping": "1.0.
|
|
33
|
-
"@teambit/workspace": "1.0.
|
|
34
|
-
"@teambit/cli": "0.0.
|
|
35
|
-
"@teambit/component": "1.0.
|
|
36
|
-
"@teambit/express": "0.0.
|
|
30
|
+
"@teambit/merging": "1.0.358",
|
|
31
|
+
"@teambit/remove": "1.0.358",
|
|
32
|
+
"@teambit/snapping": "1.0.358",
|
|
33
|
+
"@teambit/workspace": "1.0.358",
|
|
34
|
+
"@teambit/cli": "0.0.935",
|
|
35
|
+
"@teambit/component": "1.0.358",
|
|
36
|
+
"@teambit/express": "0.0.1034",
|
|
37
37
|
"@teambit/harmony.modules.send-server-sent-events": "0.0.1",
|
|
38
|
-
"@teambit/importer": "1.0.
|
|
39
|
-
"@teambit/logger": "0.0.
|
|
40
|
-
"@teambit/watcher": "1.0.
|
|
38
|
+
"@teambit/importer": "1.0.358",
|
|
39
|
+
"@teambit/logger": "0.0.1028",
|
|
40
|
+
"@teambit/watcher": "1.0.358"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
43
|
"@types/fs-extra": "9.0.7",
|
|
File without changes
|