@teambit/api-server 0.0.113 → 0.0.115
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-vscode.d.ts → api-for-ide.d.ts} +7 -2
- package/dist/{api-for-vscode.js → api-for-ide.js} +15 -5
- package/dist/api-for-ide.js.map +1 -0
- package/dist/api-server.main.runtime.d.ts +4 -2
- package/dist/api-server.main.runtime.js +17 -10
- package/dist/api-server.main.runtime.js.map +1 -1
- package/dist/{vscode.route.d.ts → ide.route.d.ts} +5 -5
- package/dist/{vscode.route.js → ide.route.js} +15 -15
- package/dist/ide.route.js.map +1 -0
- package/package-tar/teambit-api-server-0.0.115.tgz +0 -0
- package/package.json +11 -10
- package/dist/api-for-vscode.js.map +0 -1
- package/dist/vscode.route.js.map +0 -1
- package/package-tar/teambit-api-server-0.0.113.tgz +0 -0
- /package/dist/{preview-1688959062567.js → preview-1689131730552.js} +0 -0
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { CompFiles, Workspace, FilesStatus } from '@teambit/workspace';
|
|
2
2
|
import { PathLinux, PathOsBasedAbsolute, PathOsBasedRelative } from '@teambit/legacy/dist/utils/path';
|
|
3
3
|
import { SnappingMain } from '@teambit/snapping';
|
|
4
|
+
import { LanesMain } from '@teambit/lanes';
|
|
4
5
|
declare type PathFromLastSnap = {
|
|
5
6
|
[relativeToWorkspace: PathLinux]: string;
|
|
6
7
|
};
|
|
@@ -12,12 +13,16 @@ declare type InitSCMEntry = {
|
|
|
12
13
|
declare type DataToInitSCM = {
|
|
13
14
|
[compId: string]: InitSCMEntry;
|
|
14
15
|
};
|
|
15
|
-
export declare class
|
|
16
|
+
export declare class APIForIDE {
|
|
16
17
|
private workspace;
|
|
17
18
|
private snapping;
|
|
18
|
-
|
|
19
|
+
private lanes;
|
|
20
|
+
constructor(workspace: Workspace, snapping: SnappingMain, lanes: LanesMain);
|
|
19
21
|
listIdsWithPaths(): Promise<{}>;
|
|
20
22
|
getMainFilePath(id: string): Promise<PathOsBasedAbsolute>;
|
|
23
|
+
importLane(laneName: string, { skipDependencyInstallation }: {
|
|
24
|
+
skipDependencyInstallation?: boolean;
|
|
25
|
+
}): Promise<string[]>;
|
|
21
26
|
getCompFiles(id: string): Promise<{
|
|
22
27
|
dirAbs: string;
|
|
23
28
|
filesRelative: PathOsBasedRelative[];
|
|
@@ -6,7 +6,7 @@ require("core-js/modules/es.promise.js");
|
|
|
6
6
|
Object.defineProperty(exports, "__esModule", {
|
|
7
7
|
value: true
|
|
8
8
|
});
|
|
9
|
-
exports.
|
|
9
|
+
exports.APIForIDE = void 0;
|
|
10
10
|
function _defineProperty2() {
|
|
11
11
|
const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
12
12
|
_defineProperty2 = function () {
|
|
@@ -46,10 +46,11 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
|
|
|
46
46
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2().default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
47
47
|
const FILES_HISTORY_DIR = 'files-history';
|
|
48
48
|
const LAST_SNAP_DIR = 'last-snap';
|
|
49
|
-
class
|
|
50
|
-
constructor(workspace, snapping) {
|
|
49
|
+
class APIForIDE {
|
|
50
|
+
constructor(workspace, snapping, lanes) {
|
|
51
51
|
this.workspace = workspace;
|
|
52
52
|
this.snapping = snapping;
|
|
53
|
+
this.lanes = lanes;
|
|
53
54
|
}
|
|
54
55
|
async listIdsWithPaths() {
|
|
55
56
|
const ids = await this.workspace.listIds();
|
|
@@ -63,6 +64,15 @@ class APIForVSCode {
|
|
|
63
64
|
const comp = await this.workspace.get(compId);
|
|
64
65
|
return _path().default.join(this.workspace.componentDir(compId), comp.state._consumer.mainFile);
|
|
65
66
|
}
|
|
67
|
+
async importLane(laneName, {
|
|
68
|
+
skipDependencyInstallation
|
|
69
|
+
}) {
|
|
70
|
+
const results = await this.lanes.switchLanes(laneName, {
|
|
71
|
+
skipDependencyInstallation,
|
|
72
|
+
getAll: true
|
|
73
|
+
});
|
|
74
|
+
return (results.components || []).map(c => c.id.toString());
|
|
75
|
+
}
|
|
66
76
|
async getCompFiles(id) {
|
|
67
77
|
const compId = await this.workspace.resolveComponentId(id);
|
|
68
78
|
const comp = await this.workspace.get(compId);
|
|
@@ -172,6 +182,6 @@ class APIForVSCode {
|
|
|
172
182
|
return ((results === null || results === void 0 ? void 0 : results.snappedComponents) || []).map(c => c.id.toString());
|
|
173
183
|
}
|
|
174
184
|
}
|
|
175
|
-
exports.
|
|
185
|
+
exports.APIForIDE = APIForIDE;
|
|
176
186
|
|
|
177
|
-
//# sourceMappingURL=api-for-
|
|
187
|
+
//# sourceMappingURL=api-for-ide.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["FILES_HISTORY_DIR","LAST_SNAP_DIR","APIForIDE","constructor","workspace","snapping","lanes","listIdsWithPaths","ids","listIds","reduce","acc","id","toStringWithoutVersion","componentDir","getMainFilePath","compId","resolveComponentId","comp","get","path","join","state","_consumer","mainFile","importLane","laneName","skipDependencyInstallation","results","switchLanes","getAll","components","map","c","toString","getCompFiles","dirAbs","filesRelative","filesystem","files","file","relative","getCompFilesDirPathFromLastSnap","hasVersion","compDir","ignoreVersion","filePathsRootDir","scope","fs","remove","modelComponent","getBitObjectModelComponent","Error","versionObject","getBitObjectVersion","version","sourceFiles","modelFilesToSourceFiles","legacyScope","objects","Promise","all","filePath","outputFile","contents","pathJoinLinux","getCompFilesDirPathFromLastSnapUsingCompFiles","compFiles","getHeadFiles","getDataToInitSCM","pMap","getFilesModification","pathsFromLastSnap","idStr","filesStatus","getFilesStatus","concurrency","getCompFilesDirPathFromLastSnapForAllComps","compResults","getCurrentLaneName","getCurrentLaneId","name","tagOrSnap","message","params","build","isOnMain","tag","snap","taggedComponents","snappedComponents"],"sources":["api-for-ide.ts"],"sourcesContent":["import path from 'path';\nimport fs from 'fs-extra';\nimport { CompFiles, Workspace, FilesStatus } from '@teambit/workspace';\nimport { PathLinux, PathOsBasedAbsolute, PathOsBasedRelative, pathJoinLinux } from '@teambit/legacy/dist/utils/path';\nimport pMap from 'p-map';\nimport { SnappingMain } from '@teambit/snapping';\nimport { LanesMain } from '@teambit/lanes';\n\nconst FILES_HISTORY_DIR = 'files-history';\nconst LAST_SNAP_DIR = 'last-snap';\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\nexport class APIForIDE {\n constructor(private workspace: Workspace, private snapping: SnappingMain, private lanes: LanesMain) {}\n\n async listIdsWithPaths() {\n const ids = await 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 importLane(\n laneName: string,\n { skipDependencyInstallation }: { skipDependencyInstallation?: boolean }\n ): Promise<string[]> {\n const results = await this.lanes.switchLanes(laneName, {\n skipDependencyInstallation,\n getAll: true,\n });\n return (results.components || []).map((c) => c.id.toString());\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(compId);\n const filesRelative = comp.state.filesystem.files.map((file) => file.relative);\n return { dirAbs, filesRelative };\n }\n\n async getCompFilesDirPathFromLastSnap(id: string): Promise<{ [relativePath: string]: string }> {\n const compId = await this.workspace.resolveComponentId(id);\n if (!compId.hasVersion()) return {}; // it's a new component.\n const compDir = this.workspace.componentDir(compId, { ignoreVersion: true }, { relative: true });\n // const dirName = filenamify(compId.toString(), { replacement: '_' });\n const filePathsRootDir = path.join(this.workspace.scope.path, FILES_HISTORY_DIR, LAST_SNAP_DIR, compDir);\n await fs.remove(filePathsRootDir); // in case it has old data\n\n const modelComponent = await this.workspace.scope.getBitObjectModelComponent(compId);\n if (!modelComponent) {\n throw new Error(`unable to find ${compId.toString()} in the local scope, please run \"bit import\"`);\n }\n const versionObject = await this.workspace.scope.getBitObjectVersion(modelComponent, compId.version as string);\n if (!versionObject)\n throw new Error(`unable to find the Version object of ${compId.toString()}, please run \"bit import\"`);\n const sourceFiles = await versionObject.modelFilesToSourceFiles(this.workspace.scope.legacyScope.objects);\n const results: { [relativePath: string]: string } = {};\n await Promise.all(\n sourceFiles.map(async (file) => {\n const filePath = path.join(filePathsRootDir, file.relative);\n await fs.outputFile(filePath, file.contents);\n results[pathJoinLinux(compDir, file.relative)] = filePath;\n })\n );\n return results;\n }\n\n async 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 getDataToInitSCM(): Promise<DataToInitSCM> {\n const ids = await 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 getCompFilesDirPathFromLastSnapForAllComps(): Promise<{ [relativePath: string]: string }> {\n const ids = await 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"],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { CLIMain } from '@teambit/cli';
|
|
2
2
|
import { ExpressMain } from '@teambit/express';
|
|
3
3
|
import { Logger, LoggerMain } from '@teambit/logger';
|
|
4
|
+
import { LanesMain } from '@teambit/lanes';
|
|
4
5
|
import { SnappingMain } from '@teambit/snapping';
|
|
5
6
|
import { WatcherMain } from '@teambit/watcher';
|
|
6
7
|
import { Workspace } from '@teambit/workspace';
|
|
@@ -15,13 +16,14 @@ export declare class ApiServerMain {
|
|
|
15
16
|
}): Promise<unknown>;
|
|
16
17
|
static dependencies: import("@teambit/harmony").Aspect[];
|
|
17
18
|
static runtime: import("@teambit/harmony").RuntimeDefinition;
|
|
18
|
-
static provider([cli, workspace, loggerMain, express, watcher, snapping]: [
|
|
19
|
+
static provider([cli, workspace, loggerMain, express, watcher, snapping, lanes]: [
|
|
19
20
|
CLIMain,
|
|
20
21
|
Workspace,
|
|
21
22
|
LoggerMain,
|
|
22
23
|
ExpressMain,
|
|
23
24
|
WatcherMain,
|
|
24
|
-
SnappingMain
|
|
25
|
+
SnappingMain,
|
|
26
|
+
LanesMain
|
|
25
27
|
]): Promise<ApiServerMain>;
|
|
26
28
|
}
|
|
27
29
|
export default ApiServerMain;
|
|
@@ -35,6 +35,13 @@ function _logger() {
|
|
|
35
35
|
};
|
|
36
36
|
return data;
|
|
37
37
|
}
|
|
38
|
+
function _lanes() {
|
|
39
|
+
const data = _interopRequireDefault(require("@teambit/lanes"));
|
|
40
|
+
_lanes = function () {
|
|
41
|
+
return data;
|
|
42
|
+
};
|
|
43
|
+
return data;
|
|
44
|
+
}
|
|
38
45
|
function _snapping() {
|
|
39
46
|
const data = _interopRequireDefault(require("@teambit/snapping"));
|
|
40
47
|
_snapping = function () {
|
|
@@ -77,16 +84,16 @@ function _server() {
|
|
|
77
84
|
};
|
|
78
85
|
return data;
|
|
79
86
|
}
|
|
80
|
-
function
|
|
81
|
-
const data = require("./
|
|
82
|
-
|
|
87
|
+
function _ide() {
|
|
88
|
+
const data = require("./ide.route");
|
|
89
|
+
_ide = function () {
|
|
83
90
|
return data;
|
|
84
91
|
};
|
|
85
92
|
return data;
|
|
86
93
|
}
|
|
87
|
-
function
|
|
88
|
-
const data = require("./api-for-
|
|
89
|
-
|
|
94
|
+
function _apiForIde() {
|
|
95
|
+
const data = require("./api-for-ide");
|
|
96
|
+
_apiForIde = function () {
|
|
90
97
|
return data;
|
|
91
98
|
};
|
|
92
99
|
return data;
|
|
@@ -133,13 +140,13 @@ class ApiServerMain {
|
|
|
133
140
|
this.logger.consoleSuccess(`Bit Server is listening on port ${port}`);
|
|
134
141
|
});
|
|
135
142
|
}
|
|
136
|
-
static async provider([cli, workspace, loggerMain, express, watcher, snapping]) {
|
|
143
|
+
static async provider([cli, workspace, loggerMain, express, watcher, snapping, lanes]) {
|
|
137
144
|
const logger = loggerMain.createLogger(_apiServer().ApiServerAspect.id);
|
|
138
145
|
const apiServer = new ApiServerMain(workspace, logger, express, watcher);
|
|
139
146
|
cli.register(new (_server().ServerCmd)(apiServer));
|
|
140
147
|
const cliRoute = new (_cli2().CLIRoute)(logger, cli);
|
|
141
|
-
const
|
|
142
|
-
const vscodeRoute = new (
|
|
148
|
+
const apiForIDE = new (_apiForIde().APIForIDE)(workspace, snapping, lanes);
|
|
149
|
+
const vscodeRoute = new (_ide().IDERoute)(logger, apiForIDE);
|
|
143
150
|
const sseEventsRoute = new (_sseEvents().SSEEventsRoute)(logger, cli);
|
|
144
151
|
// register only when the workspace is available. don't register this on a remote-scope, for security reasons.
|
|
145
152
|
if (workspace) {
|
|
@@ -149,7 +156,7 @@ class ApiServerMain {
|
|
|
149
156
|
}
|
|
150
157
|
}
|
|
151
158
|
exports.ApiServerMain = ApiServerMain;
|
|
152
|
-
(0, _defineProperty2().default)(ApiServerMain, "dependencies", [_cli().CLIAspect, _workspace().default, _logger().LoggerAspect, _express().ExpressAspect, _watcher().default, _snapping().default]);
|
|
159
|
+
(0, _defineProperty2().default)(ApiServerMain, "dependencies", [_cli().CLIAspect, _workspace().default, _logger().LoggerAspect, _express().ExpressAspect, _watcher().default, _snapping().default, _lanes().default]);
|
|
153
160
|
(0, _defineProperty2().default)(ApiServerMain, "runtime", _cli().MainRuntime);
|
|
154
161
|
_apiServer().ApiServerAspect.addRuntime(ApiServerMain);
|
|
155
162
|
var _default = ApiServerMain;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ApiServerMain","constructor","workspace","logger","express","watcher","runApiServer","options","port","listen","Error","process","cwd","registerOnComponentChange","component","files","removedFiles","sendEventsToClients","id","toStringWithoutVersion","registerOnBitmapChange","watch","preCompile","catch","err","error","Promise","consoleSuccess","provider","cli","loggerMain","snapping","createLogger","ApiServerAspect","apiServer","register","ServerCmd","cliRoute","CLIRoute","
|
|
1
|
+
{"version":3,"names":["ApiServerMain","constructor","workspace","logger","express","watcher","runApiServer","options","port","listen","Error","process","cwd","registerOnComponentChange","component","files","removedFiles","sendEventsToClients","id","toStringWithoutVersion","registerOnBitmapChange","watch","preCompile","catch","err","error","Promise","consoleSuccess","provider","cli","loggerMain","snapping","lanes","createLogger","ApiServerAspect","apiServer","register","ServerCmd","cliRoute","CLIRoute","apiForIDE","APIForIDE","vscodeRoute","IDERoute","sseEventsRoute","SSEEventsRoute","CLIAspect","WorkspaceAspect","LoggerAspect","ExpressAspect","WatcherAspect","SnappingAspect","LanesAspect","MainRuntime","addRuntime"],"sources":["api-server.main.runtime.ts"],"sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { ExpressAspect, ExpressMain } from '@teambit/express';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport LanesAspect, { LanesMain } from '@teambit/lanes';\nimport SnappingAspect, { SnappingMain } from '@teambit/snapping';\nimport WatcherAspect, { WatcherMain } from '@teambit/watcher';\nimport { Component } from '@teambit/component';\nimport WorkspaceAspect, { Workspace } from '@teambit/workspace';\nimport { ApiServerAspect } from './api-server.aspect';\nimport { CLIRoute } from './cli.route';\nimport { ServerCmd } from './server.cmd';\nimport { IDERoute } from './ide.route';\nimport { APIForIDE } from './api-for-ide';\nimport { SSEEventsRoute, sendEventsToClients } from './sse-events.route';\n\nexport class ApiServerMain {\n constructor(\n private workspace: Workspace,\n private logger: Logger,\n private express: ExpressMain,\n private watcher: WatcherMain\n ) {}\n\n async runApiServer(options: { port: number }) {\n const port = options.port || 3000;\n await this.express.listen(port);\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 sendEventsToClients('onBitmapChange', {});\n });\n\n this.watcher\n .watch({\n preCompile: false,\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 // never ending promise to not exit the process (is there a better way?)\n return new Promise(() => {\n this.logger.consoleSuccess(`Bit Server is listening on port ${port}`);\n });\n }\n\n static dependencies = [\n CLIAspect,\n WorkspaceAspect,\n LoggerAspect,\n ExpressAspect,\n WatcherAspect,\n SnappingAspect,\n LanesAspect,\n ];\n static runtime = MainRuntime;\n static async provider([cli, workspace, loggerMain, express, watcher, snapping, lanes]: [\n CLIMain,\n Workspace,\n LoggerMain,\n ExpressMain,\n WatcherMain,\n SnappingMain,\n LanesMain\n ]) {\n const logger = loggerMain.createLogger(ApiServerAspect.id);\n const apiServer = new ApiServerMain(workspace, logger, express, watcher);\n cli.register(new ServerCmd(apiServer));\n\n const cliRoute = new CLIRoute(logger, cli);\n const apiForIDE = new APIForIDE(workspace, snapping, lanes);\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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"}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import { Route, Request, Response } from '@teambit/express';
|
|
2
2
|
import { Logger } from '@teambit/logger';
|
|
3
|
-
import {
|
|
3
|
+
import { APIForIDE } from './api-for-ide';
|
|
4
4
|
/**
|
|
5
5
|
* example usage:
|
|
6
|
-
* post to http://localhost:3000/api/
|
|
6
|
+
* post to http://localhost:3000/api/ide/list-dirs
|
|
7
7
|
* with the following json as the body
|
|
8
8
|
*
|
|
9
9
|
{
|
|
10
10
|
"args": ["some-args"]
|
|
11
11
|
}
|
|
12
12
|
*/
|
|
13
|
-
export declare class
|
|
13
|
+
export declare class IDERoute implements Route {
|
|
14
14
|
private logger;
|
|
15
|
-
private
|
|
16
|
-
constructor(logger: Logger,
|
|
15
|
+
private apiForIDE;
|
|
16
|
+
constructor(logger: Logger, apiForIDE: APIForIDE);
|
|
17
17
|
method: string;
|
|
18
18
|
route: string;
|
|
19
19
|
middlewares: ((req: Request, res: Response) => Promise<void>)[];
|
|
@@ -6,7 +6,7 @@ require("core-js/modules/es.promise.js");
|
|
|
6
6
|
Object.defineProperty(exports, "__esModule", {
|
|
7
7
|
value: true
|
|
8
8
|
});
|
|
9
|
-
exports.
|
|
9
|
+
exports.IDERoute = void 0;
|
|
10
10
|
function _defineProperty2() {
|
|
11
11
|
const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
12
12
|
_defineProperty2 = function () {
|
|
@@ -23,43 +23,43 @@ function _prettyTime() {
|
|
|
23
23
|
}
|
|
24
24
|
/**
|
|
25
25
|
* example usage:
|
|
26
|
-
* post to http://localhost:3000/api/
|
|
26
|
+
* post to http://localhost:3000/api/ide/list-dirs
|
|
27
27
|
* with the following json as the body
|
|
28
28
|
*
|
|
29
29
|
{
|
|
30
30
|
"args": ["some-args"]
|
|
31
31
|
}
|
|
32
32
|
*/
|
|
33
|
-
class
|
|
34
|
-
constructor(logger,
|
|
33
|
+
class IDERoute {
|
|
34
|
+
constructor(logger, apiForIDE) {
|
|
35
35
|
this.logger = logger;
|
|
36
|
-
this.
|
|
36
|
+
this.apiForIDE = apiForIDE;
|
|
37
37
|
(0, _defineProperty2().default)(this, "method", 'post');
|
|
38
|
-
(0, _defineProperty2().default)(this, "route", '/
|
|
38
|
+
(0, _defineProperty2().default)(this, "route", '/ide/:method');
|
|
39
39
|
(0, _defineProperty2().default)(this, "middlewares", [async (req, res) => {
|
|
40
|
-
this.logger.debug(`api-
|
|
40
|
+
this.logger.debug(`api-IDE: got request for ${req.params.method}`);
|
|
41
41
|
try {
|
|
42
|
-
if (!this.
|
|
42
|
+
if (!this.apiForIDE[req.params.method]) {
|
|
43
43
|
throw new Error(`API "${req.params.method}" was not found`);
|
|
44
44
|
}
|
|
45
45
|
const body = req.body;
|
|
46
46
|
const {
|
|
47
47
|
args
|
|
48
48
|
} = body;
|
|
49
|
-
this.logger.console(`started a new api-
|
|
49
|
+
this.logger.console(`started a new api-IDE call: ${req.params.method}, total: ${(args === null || args === void 0 ? void 0 : args.length) || 0} args`);
|
|
50
50
|
const startTask = process.hrtime();
|
|
51
|
-
const result = await this.
|
|
51
|
+
const result = await this.apiForIDE[req.params.method](...args);
|
|
52
52
|
const duration = (0, _prettyTime().default)(process.hrtime(startTask));
|
|
53
|
-
this.logger.consoleSuccess(`api-
|
|
53
|
+
this.logger.consoleSuccess(`api-IDE call: ${req.params.method} had been completed in ${duration}`);
|
|
54
54
|
res.json(result);
|
|
55
55
|
} catch (err) {
|
|
56
|
-
this.logger.error(`api-
|
|
57
|
-
this.logger.consoleFailure(`api-
|
|
56
|
+
this.logger.error(`api-IDE call: ${req.params.method} had failed`, err);
|
|
57
|
+
this.logger.consoleFailure(`api-IDE call: ${req.params.method} had failed. ${err.message}`);
|
|
58
58
|
res.status(500).jsonp(err.message);
|
|
59
59
|
}
|
|
60
60
|
}]);
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
|
-
exports.
|
|
63
|
+
exports.IDERoute = IDERoute;
|
|
64
64
|
|
|
65
|
-
//# sourceMappingURL=
|
|
65
|
+
//# sourceMappingURL=ide.route.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["IDERoute","constructor","logger","apiForIDE","req","res","debug","params","method","Error","body","args","console","length","startTask","process","hrtime","result","duration","prettyTime","consoleSuccess","json","err","error","consoleFailure","message","status","jsonp"],"sources":["ide.route.ts"],"sourcesContent":["import prettyTime from 'pretty-time';\nimport { Route, Request, Response } from '@teambit/express';\nimport { Logger } from '@teambit/logger';\nimport { APIForIDE } from './api-for-ide';\n\n/**\n * example usage:\n * post to http://localhost:3000/api/ide/list-dirs\n * with the following json as the body\n *\n{\n \"args\": [\"some-args\"]\n}\n */\nexport class IDERoute implements Route {\n constructor(private logger: Logger, private apiForIDE: APIForIDE) {}\n\n method = 'post';\n route = '/ide/:method';\n\n middlewares = [\n async (req: Request, res: Response) => {\n this.logger.debug(`api-IDE: got request for ${req.params.method}`);\n try {\n if (!this.apiForIDE[req.params.method]) {\n throw new Error(`API \"${req.params.method}\" was not found`);\n }\n const body = req.body;\n const { args } = body;\n this.logger.console(`started a new api-IDE call: ${req.params.method}, total: ${args?.length || 0} args`);\n const startTask = process.hrtime();\n const result = await this.apiForIDE[req.params.method](...args);\n const duration = prettyTime(process.hrtime(startTask));\n this.logger.consoleSuccess(`api-IDE call: ${req.params.method} had been completed in ${duration}`);\n res.json(result);\n } catch (err: any) {\n this.logger.error(`api-IDE call: ${req.params.method} had failed`, err);\n this.logger.consoleFailure(`api-IDE call: ${req.params.method} had failed. ${err.message}`);\n res.status(500).jsonp(err.message);\n }\n },\n ];\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,QAAQ,CAAkB;EACrCC,WAAW,CAASC,MAAc,EAAUC,SAAoB,EAAE;IAAA,KAA9CD,MAAc,GAAdA,MAAc;IAAA,KAAUC,SAAoB,GAApBA,SAAoB;IAAA,gDAEvD,MAAM;IAAA,+CACP,cAAc;IAAA,qDAER,CACZ,OAAOC,GAAY,EAAEC,GAAa,KAAK;MACrC,IAAI,CAACH,MAAM,CAACI,KAAK,CAAE,4BAA2BF,GAAG,CAACG,MAAM,CAACC,MAAO,EAAC,CAAC;MAClE,IAAI;QACF,IAAI,CAAC,IAAI,CAACL,SAAS,CAACC,GAAG,CAACG,MAAM,CAACC,MAAM,CAAC,EAAE;UACtC,MAAM,IAAIC,KAAK,CAAE,QAAOL,GAAG,CAACG,MAAM,CAACC,MAAO,iBAAgB,CAAC;QAC7D;QACA,MAAME,IAAI,GAAGN,GAAG,CAACM,IAAI;QACrB,MAAM;UAAEC;QAAK,CAAC,GAAGD,IAAI;QACrB,IAAI,CAACR,MAAM,CAACU,OAAO,CAAE,+BAA8BR,GAAG,CAACG,MAAM,CAACC,MAAO,YAAW,CAAAG,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEE,MAAM,KAAI,CAAE,OAAM,CAAC;QACzG,MAAMC,SAAS,GAAGC,OAAO,CAACC,MAAM,EAAE;QAClC,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACd,SAAS,CAACC,GAAG,CAACG,MAAM,CAACC,MAAM,CAAC,CAAC,GAAGG,IAAI,CAAC;QAC/D,MAAMO,QAAQ,GAAG,IAAAC,qBAAU,EAACJ,OAAO,CAACC,MAAM,CAACF,SAAS,CAAC,CAAC;QACtD,IAAI,CAACZ,MAAM,CAACkB,cAAc,CAAE,iBAAgBhB,GAAG,CAACG,MAAM,CAACC,MAAO,0BAAyBU,QAAS,EAAC,CAAC;QAClGb,GAAG,CAACgB,IAAI,CAACJ,MAAM,CAAC;MAClB,CAAC,CAAC,OAAOK,GAAQ,EAAE;QACjB,IAAI,CAACpB,MAAM,CAACqB,KAAK,CAAE,iBAAgBnB,GAAG,CAACG,MAAM,CAACC,MAAO,aAAY,EAAEc,GAAG,CAAC;QACvE,IAAI,CAACpB,MAAM,CAACsB,cAAc,CAAE,iBAAgBpB,GAAG,CAACG,MAAM,CAACC,MAAO,gBAAec,GAAG,CAACG,OAAQ,EAAC,CAAC;QAC3FpB,GAAG,CAACqB,MAAM,CAAC,GAAG,CAAC,CAACC,KAAK,CAACL,GAAG,CAACG,OAAO,CAAC;MACpC;IACF,CAAC,CACF;EA1BkE;AA2BrE;AAAC"}
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/api-server",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.115",
|
|
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": "0.0.
|
|
9
|
+
"version": "0.0.115"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"fs-extra": "10.0.0",
|
|
@@ -15,13 +15,14 @@
|
|
|
15
15
|
"core-js": "^3.0.0",
|
|
16
16
|
"@babel/runtime": "7.20.0",
|
|
17
17
|
"@teambit/harmony": "0.4.6",
|
|
18
|
-
"@teambit/
|
|
19
|
-
"@teambit/
|
|
20
|
-
"@teambit/
|
|
21
|
-
"@teambit/
|
|
22
|
-
"@teambit/
|
|
23
|
-
"@teambit/
|
|
24
|
-
"@teambit/
|
|
18
|
+
"@teambit/lanes": "0.0.675",
|
|
19
|
+
"@teambit/snapping": "0.0.418",
|
|
20
|
+
"@teambit/workspace": "0.0.1103",
|
|
21
|
+
"@teambit/cli": "0.0.739",
|
|
22
|
+
"@teambit/component": "0.0.1103",
|
|
23
|
+
"@teambit/express": "0.0.837",
|
|
24
|
+
"@teambit/logger": "0.0.832",
|
|
25
|
+
"@teambit/watcher": "0.0.115"
|
|
25
26
|
},
|
|
26
27
|
"devDependencies": {
|
|
27
28
|
"@types/fs-extra": "9.0.7",
|
|
@@ -33,7 +34,7 @@
|
|
|
33
34
|
"@types/testing-library__jest-dom": "5.9.5"
|
|
34
35
|
},
|
|
35
36
|
"peerDependencies": {
|
|
36
|
-
"@teambit/legacy": "1.0.
|
|
37
|
+
"@teambit/legacy": "1.0.520",
|
|
37
38
|
"react": "^16.8.0 || ^17.0.0",
|
|
38
39
|
"react-dom": "^16.8.0 || ^17.0.0"
|
|
39
40
|
},
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["FILES_HISTORY_DIR","LAST_SNAP_DIR","APIForVSCode","constructor","workspace","snapping","listIdsWithPaths","ids","listIds","reduce","acc","id","toStringWithoutVersion","componentDir","getMainFilePath","compId","resolveComponentId","comp","get","path","join","state","_consumer","mainFile","getCompFiles","dirAbs","filesRelative","filesystem","files","map","file","relative","getCompFilesDirPathFromLastSnap","hasVersion","compDir","ignoreVersion","filePathsRootDir","scope","fs","remove","modelComponent","getBitObjectModelComponent","Error","toString","versionObject","getBitObjectVersion","version","sourceFiles","modelFilesToSourceFiles","legacyScope","objects","results","Promise","all","filePath","outputFile","contents","pathJoinLinux","getCompFilesDirPathFromLastSnapUsingCompFiles","compFiles","getHeadFiles","getDataToInitSCM","pMap","getFilesModification","pathsFromLastSnap","idStr","filesStatus","getFilesStatus","concurrency","getCompFilesDirPathFromLastSnapForAllComps","compResults","getCurrentLaneName","getCurrentLaneId","name","tagOrSnap","message","params","build","isOnMain","tag","snap","taggedComponents","c","snappedComponents"],"sources":["api-for-vscode.ts"],"sourcesContent":["import path from 'path';\nimport fs from 'fs-extra';\nimport { CompFiles, Workspace, FilesStatus } from '@teambit/workspace';\nimport { PathLinux, PathOsBasedAbsolute, PathOsBasedRelative, pathJoinLinux } from '@teambit/legacy/dist/utils/path';\nimport pMap from 'p-map';\nimport { SnappingMain } from '@teambit/snapping';\n\nconst FILES_HISTORY_DIR = 'files-history';\nconst LAST_SNAP_DIR = 'last-snap';\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\nexport class APIForVSCode {\n constructor(private workspace: Workspace, private snapping: SnappingMain) {}\n\n async listIdsWithPaths() {\n const ids = await 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 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(compId);\n const filesRelative = comp.state.filesystem.files.map((file) => file.relative);\n return { dirAbs, filesRelative };\n }\n\n async getCompFilesDirPathFromLastSnap(id: string): Promise<{ [relativePath: string]: string }> {\n const compId = await this.workspace.resolveComponentId(id);\n if (!compId.hasVersion()) return {}; // it's a new component.\n const compDir = this.workspace.componentDir(compId, { ignoreVersion: true }, { relative: true });\n // const dirName = filenamify(compId.toString(), { replacement: '_' });\n const filePathsRootDir = path.join(this.workspace.scope.path, FILES_HISTORY_DIR, LAST_SNAP_DIR, compDir);\n await fs.remove(filePathsRootDir); // in case it has old data\n\n const modelComponent = await this.workspace.scope.getBitObjectModelComponent(compId);\n if (!modelComponent) {\n throw new Error(`unable to find ${compId.toString()} in the local scope, please run \"bit import\"`);\n }\n const versionObject = await this.workspace.scope.getBitObjectVersion(modelComponent, compId.version as string);\n if (!versionObject)\n throw new Error(`unable to find the Version object of ${compId.toString()}, please run \"bit import\"`);\n const sourceFiles = await versionObject.modelFilesToSourceFiles(this.workspace.scope.legacyScope.objects);\n const results: { [relativePath: string]: string } = {};\n await Promise.all(\n sourceFiles.map(async (file) => {\n const filePath = path.join(filePathsRootDir, file.relative);\n await fs.outputFile(filePath, file.contents);\n results[pathJoinLinux(compDir, file.relative)] = filePath;\n })\n );\n return results;\n }\n\n async 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 getDataToInitSCM(): Promise<DataToInitSCM> {\n const ids = await 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 getCompFilesDirPathFromLastSnapForAllComps(): Promise<{ [relativePath: string]: string }> {\n const ids = await 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"],"mappings":"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"}
|
package/dist/vscode.route.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["VSCodeRoute","constructor","logger","apiForVscode","req","res","debug","params","method","Error","body","args","console","length","startTask","process","hrtime","result","duration","prettyTime","consoleSuccess","json","err","error","consoleFailure","message","status","jsonp"],"sources":["vscode.route.ts"],"sourcesContent":["import prettyTime from 'pretty-time';\nimport { Route, Request, Response } from '@teambit/express';\nimport { Logger } from '@teambit/logger';\nimport { APIForVSCode } from './api-for-vscode';\n\n/**\n * example usage:\n * post to http://localhost:3000/api/vscode/list-dirs\n * with the following json as the body\n *\n{\n \"args\": [\"some-args\"]\n}\n */\nexport class VSCodeRoute implements Route {\n constructor(private logger: Logger, private apiForVscode: APIForVSCode) {}\n\n method = 'post';\n route = '/vscode/:method';\n\n middlewares = [\n async (req: Request, res: Response) => {\n this.logger.debug(`api-vscode: got request for ${req.params.method}`);\n try {\n if (!this.apiForVscode[req.params.method]) {\n throw new Error(`API \"${req.params.method}\" was not found`);\n }\n const body = req.body;\n const { args } = body;\n this.logger.console(`started a new api-vscode call: ${req.params.method}, total: ${args?.length || 0} args`);\n const startTask = process.hrtime();\n const result = await this.apiForVscode[req.params.method](...args);\n const duration = prettyTime(process.hrtime(startTask));\n this.logger.consoleSuccess(`api-vscode call: ${req.params.method} had been completed in ${duration}`);\n res.json(result);\n } catch (err: any) {\n this.logger.error(`api-vscode call: ${req.params.method} had failed`, err);\n this.logger.consoleFailure(`api-vscode call: ${req.params.method} had failed. ${err.message}`);\n res.status(500).jsonp(err.message);\n }\n },\n ];\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,WAAW,CAAkB;EACxCC,WAAW,CAASC,MAAc,EAAUC,YAA0B,EAAE;IAAA,KAApDD,MAAc,GAAdA,MAAc;IAAA,KAAUC,YAA0B,GAA1BA,YAA0B;IAAA,gDAE7D,MAAM;IAAA,+CACP,iBAAiB;IAAA,qDAEX,CACZ,OAAOC,GAAY,EAAEC,GAAa,KAAK;MACrC,IAAI,CAACH,MAAM,CAACI,KAAK,CAAE,+BAA8BF,GAAG,CAACG,MAAM,CAACC,MAAO,EAAC,CAAC;MACrE,IAAI;QACF,IAAI,CAAC,IAAI,CAACL,YAAY,CAACC,GAAG,CAACG,MAAM,CAACC,MAAM,CAAC,EAAE;UACzC,MAAM,IAAIC,KAAK,CAAE,QAAOL,GAAG,CAACG,MAAM,CAACC,MAAO,iBAAgB,CAAC;QAC7D;QACA,MAAME,IAAI,GAAGN,GAAG,CAACM,IAAI;QACrB,MAAM;UAAEC;QAAK,CAAC,GAAGD,IAAI;QACrB,IAAI,CAACR,MAAM,CAACU,OAAO,CAAE,kCAAiCR,GAAG,CAACG,MAAM,CAACC,MAAO,YAAW,CAAAG,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEE,MAAM,KAAI,CAAE,OAAM,CAAC;QAC5G,MAAMC,SAAS,GAAGC,OAAO,CAACC,MAAM,EAAE;QAClC,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACd,YAAY,CAACC,GAAG,CAACG,MAAM,CAACC,MAAM,CAAC,CAAC,GAAGG,IAAI,CAAC;QAClE,MAAMO,QAAQ,GAAG,IAAAC,qBAAU,EAACJ,OAAO,CAACC,MAAM,CAACF,SAAS,CAAC,CAAC;QACtD,IAAI,CAACZ,MAAM,CAACkB,cAAc,CAAE,oBAAmBhB,GAAG,CAACG,MAAM,CAACC,MAAO,0BAAyBU,QAAS,EAAC,CAAC;QACrGb,GAAG,CAACgB,IAAI,CAACJ,MAAM,CAAC;MAClB,CAAC,CAAC,OAAOK,GAAQ,EAAE;QACjB,IAAI,CAACpB,MAAM,CAACqB,KAAK,CAAE,oBAAmBnB,GAAG,CAACG,MAAM,CAACC,MAAO,aAAY,EAAEc,GAAG,CAAC;QAC1E,IAAI,CAACpB,MAAM,CAACsB,cAAc,CAAE,oBAAmBpB,GAAG,CAACG,MAAM,CAACC,MAAO,gBAAec,GAAG,CAACG,OAAQ,EAAC,CAAC;QAC9FpB,GAAG,CAACqB,MAAM,CAAC,GAAG,CAAC,CAACC,KAAK,CAACL,GAAG,CAACG,OAAO,CAAC;MACpC;IACF,CAAC,CACF;EA1BwE;AA2B3E;AAAC"}
|
|
Binary file
|
|
File without changes
|