@opensumi/ide-core-node 3.3.4-next-1727344885.0 → 3.4.1
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/lib/bootstrap/app.d.ts.map +1 -1
- package/lib/bootstrap/app.js +2 -1
- package/lib/bootstrap/app.js.map +1 -1
- package/lib/connection.d.ts +2 -1
- package/lib/connection.d.ts.map +1 -1
- package/lib/connection.js +66 -39
- package/lib/connection.js.map +1 -1
- package/lib/types.d.ts +2 -4
- package/lib/types.d.ts.map +1 -1
- package/lib/types.js +2 -4
- package/lib/types.js.map +1 -1
- package/package.json +6 -6
- package/src/bootstrap/app.ts +5 -1
- package/src/connection.ts +81 -47
- package/src/types.ts +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/bootstrap/app.ts"],"names":[],"mappings":";;;AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AAItB,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAGxC,OAAO,EACL,oBAAoB,
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/bootstrap/app.ts"],"names":[],"mappings":";;;AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AAItB,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAGxC,OAAO,EACL,oBAAoB,EAUrB,MAAM,2BAA2B,CAAC;AAInC,OAAO,EAAE,gBAAgB,EAAsD,MAAM,eAAe,CAAC;AAErG,OAAO,EAAa,UAAU,EAAE,cAAc,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAI3G,qBAAa,SAAU,YAAW,UAAU;IAuB9B,OAAO,CAAC,IAAI;IAtBxB,OAAO,CAAC,SAAS,CAAW;IAE5B,OAAO,CAAC,MAAM,CAAiB;IAE/B,OAAO,CAAC,MAAM,CAAwD;IAEtE,OAAO,CAAC,gBAAgB,CAAqB;IAE7C,OAAO,CAAC,gBAAgB,CAAe;IAEvC,GAAG,EAAE,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,oBAAoB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC;IAE9E,SAAS,CAAC,qBAAqB,EAAE,oBAAoB,CAAC,qBAAqB,CAAC,CAAC;IAE7E;;;;;;;OAOG;gBACiB,IAAI,EAAE,cAAc;IAkCxC,IAAI,QAAQ,aAEX;IAED;;OAEG;IACI,iBAAiB,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,OAAO,EAAE,GAAG,EAAE;IAW7E,OAAO,KAAK,aAAa,GAExB;IAED,OAAO,CAAC,gBAAgB;YAYV,sBAAsB;YAYtB,iBAAiB;IAYzB,KAAK,CACT,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,EAC/C,cAAc,CAAC,EAAE,CAAC,aAAa,EAAE,gBAAgB,KAAK,IAAI;YAkB9C,MAAM;IAYpB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAiC1B;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;CA2B1B"}
|
package/lib/bootstrap/app.js
CHANGED
|
@@ -52,7 +52,7 @@ class ServerApp {
|
|
|
52
52
|
* 将被依赖但未被加入modules的模块加入到待加载模块最后
|
|
53
53
|
*/
|
|
54
54
|
resolveModuleDeps(moduleConstructor, modules) {
|
|
55
|
-
const dependencies =
|
|
55
|
+
const dependencies = (0, ide_core_common_1.getModuleDependencies)(moduleConstructor);
|
|
56
56
|
if (dependencies) {
|
|
57
57
|
dependencies.forEach((dep) => {
|
|
58
58
|
if (modules.indexOf(dep) === -1) {
|
|
@@ -166,6 +166,7 @@ class ServerApp {
|
|
|
166
166
|
* @param modules
|
|
167
167
|
*/
|
|
168
168
|
createNodeModules(Constructors = [], modules = []) {
|
|
169
|
+
(0, ide_core_common_1.injectGDataStores)(this.injector);
|
|
169
170
|
const allModules = [...modules];
|
|
170
171
|
Constructors.forEach((c) => {
|
|
171
172
|
this.resolveModuleDeps(c, Constructors);
|
package/lib/bootstrap/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/bootstrap/app.ts"],"names":[],"mappings":";;;;AAAA,wDAAwB;AACxB,0DAA0B;AAC1B,sDAAsB;AACtB,oDAAoB;AACpB,wDAAwB;AAIxB,qCAAwC;AACxC,uFAA+F;AAE/F,+
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/bootstrap/app.ts"],"names":[],"mappings":"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"}
|
package/lib/connection.d.ts
CHANGED
|
@@ -5,10 +5,11 @@ import net from 'net';
|
|
|
5
5
|
import { Injector } from '@opensumi/di';
|
|
6
6
|
import { RPCServiceCenter } from '@opensumi/ide-connection';
|
|
7
7
|
import { WebSocketHandler } from '@opensumi/ide-connection/lib/node';
|
|
8
|
+
import { INodeLogger } from './logger/node-logger';
|
|
8
9
|
import { NodeModule } from './node-module';
|
|
9
10
|
import { IServerAppOpts } from './types';
|
|
10
11
|
export { RPCServiceCenter };
|
|
11
12
|
export declare function createServerConnection2(server: http.Server, injector: Injector, modulesInstances: NodeModule[], handlerArr: WebSocketHandler[], serverAppOpts: IServerAppOpts): void;
|
|
12
13
|
export declare function createNetServerConnection(server: net.Server, injector: Injector, modulesInstances: NodeModule[]): void;
|
|
13
|
-
export declare function bindModuleBackService(injector: Injector, modules: NodeModule[], serviceCenter: RPCServiceCenter, clientId
|
|
14
|
+
export declare function bindModuleBackService(injector: Injector, modules: NodeModule[], serviceCenter: RPCServiceCenter, clientId: string, logger: INodeLogger): Injector;
|
|
14
15
|
//# sourceMappingURL=connection.d.ts.map
|
package/lib/connection.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":";;AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,OAAO,EAAgC,QAAQ,EAAmB,MAAM,cAAc,CAAC;AACvF,OAAO,EAAE,gBAAgB,EAA6B,MAAM,0BAA0B,CAAC;AAGvF,OAAO,EAAwB,gBAAgB,EAAwB,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":";;AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,OAAO,EAAgC,QAAQ,EAAmB,MAAM,cAAc,CAAC;AACvF,OAAO,EAAE,gBAAgB,EAA6B,MAAM,0BAA0B,CAAC;AAGvF,OAAO,EAAwB,gBAAgB,EAAwB,MAAM,mCAAmC,CAAC;AASjH,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAyB5B,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,QAAQ,EAAE,QAAQ,EAClB,gBAAgB,EAAE,UAAU,EAAE,EAC9B,UAAU,EAAE,gBAAgB,EAAE,EAC9B,aAAa,EAAE,cAAc,QAyB9B;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,EAAE,UAAU,EAAE,QAc/G;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,UAAU,EAAE,EACrB,aAAa,EAAE,gBAAgB,EAC/B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,WAAW,YAkFpB"}
|
package/lib/connection.js
CHANGED
|
@@ -6,11 +6,12 @@ Object.defineProperty(exports, "RPCServiceCenter", { enumerable: true, get: func
|
|
|
6
6
|
const server_handler_1 = require("@opensumi/ide-connection/lib/common/server-handler");
|
|
7
7
|
const electron_1 = require("@opensumi/ide-connection/lib/electron");
|
|
8
8
|
const node_1 = require("@opensumi/ide-connection/lib/node");
|
|
9
|
+
const ide_core_common_1 = require("@opensumi/ide-core-common");
|
|
9
10
|
const node_logger_1 = require("./logger/node-logger");
|
|
10
11
|
function handleClientChannel(injector, modulesInstances, channel, clientId, logger) {
|
|
11
12
|
logger.log(`New RPC connection ${clientId}`);
|
|
12
13
|
const serviceCenter = new ide_connection_1.RPCServiceCenter(undefined, logger);
|
|
13
|
-
const serviceChildInjector = bindModuleBackService(injector, modulesInstances, serviceCenter, clientId);
|
|
14
|
+
const serviceChildInjector = bindModuleBackService(injector, modulesInstances, serviceCenter, clientId, logger);
|
|
14
15
|
const remove = serviceCenter.setSumiConnection(channel.createSumiConnection());
|
|
15
16
|
channel.onceClose(() => {
|
|
16
17
|
remove.dispose();
|
|
@@ -57,49 +58,75 @@ function createNetServerConnection(server, injector, modulesInstances) {
|
|
|
57
58
|
handler.listen();
|
|
58
59
|
}
|
|
59
60
|
exports.createNetServerConnection = createNetServerConnection;
|
|
60
|
-
function bindModuleBackService(injector, modules, serviceCenter, clientId) {
|
|
61
|
+
function bindModuleBackService(injector, modules, serviceCenter, clientId, logger) {
|
|
61
62
|
const { createRPCService } = (0, ide_connection_1.initRPCService)(serviceCenter);
|
|
62
63
|
const childInjector = injector.createChild();
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
64
|
+
(0, ide_core_common_1.runInRemoteServiceContext)(childInjector, () => {
|
|
65
|
+
(0, ide_core_common_1.injectSessionDataStores)(childInjector);
|
|
66
|
+
childInjector.addProviders({
|
|
67
|
+
token: ide_core_common_1.CLIENT_ID_TOKEN,
|
|
68
|
+
useValue: clientId,
|
|
69
|
+
});
|
|
70
|
+
for (const m of modules) {
|
|
71
|
+
if (m.backServices) {
|
|
72
|
+
for (const service of m.backServices) {
|
|
73
|
+
if (!service.token) {
|
|
74
|
+
continue;
|
|
75
|
+
}
|
|
76
|
+
if (service.protocol) {
|
|
77
|
+
serviceCenter.loadProtocol(service.protocol);
|
|
78
|
+
}
|
|
79
|
+
const serviceToken = service.token;
|
|
80
|
+
const creator = injector.creatorMap.get(serviceToken);
|
|
81
|
+
if (!creator) {
|
|
82
|
+
continue;
|
|
83
|
+
}
|
|
84
|
+
if (creator.useFactory) {
|
|
85
|
+
const serviceFactory = creator.useFactory;
|
|
86
|
+
childInjector.addProviders({
|
|
87
|
+
token: serviceToken,
|
|
88
|
+
useValue: serviceFactory(childInjector),
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
const serviceClass = creator.useClass;
|
|
93
|
+
childInjector.addProviders({
|
|
94
|
+
token: serviceToken,
|
|
95
|
+
useClass: serviceClass,
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
const serviceInstance = childInjector.get(serviceToken);
|
|
99
|
+
if (serviceInstance.setConnectionClientId) {
|
|
100
|
+
serviceInstance.setConnectionClientId(clientId);
|
|
101
|
+
}
|
|
102
|
+
const stub = createRPCService(service.servicePath, serviceInstance);
|
|
103
|
+
if (!serviceInstance.rpcClient) {
|
|
104
|
+
serviceInstance.rpcClient = [stub];
|
|
105
|
+
}
|
|
106
|
+
}
|
|
85
107
|
}
|
|
86
|
-
|
|
87
|
-
const
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
108
|
+
if (m.remoteServices) {
|
|
109
|
+
for (const service of m.remoteServices) {
|
|
110
|
+
const serviceInstance = childInjector.get(service);
|
|
111
|
+
const data = (0, ide_core_common_1.getRemoteServiceData)(service);
|
|
112
|
+
if (!data || !data.servicePath) {
|
|
113
|
+
logger.error(`Remote service ${ide_core_common_1.RemoteService.getName(service)} must have servicePath`);
|
|
114
|
+
continue;
|
|
115
|
+
}
|
|
116
|
+
if (data.protocol) {
|
|
117
|
+
serviceCenter.loadProtocol(data.protocol);
|
|
118
|
+
}
|
|
119
|
+
if (serviceInstance.setConnectionClientId) {
|
|
120
|
+
serviceInstance.setConnectionClientId(clientId);
|
|
121
|
+
}
|
|
122
|
+
const stub = createRPCService(data.servicePath, serviceInstance);
|
|
123
|
+
if (!serviceInstance.rpcClient) {
|
|
124
|
+
serviceInstance.rpcClient = [stub];
|
|
125
|
+
}
|
|
126
|
+
}
|
|
100
127
|
}
|
|
101
128
|
}
|
|
102
|
-
}
|
|
129
|
+
});
|
|
103
130
|
return childInjector;
|
|
104
131
|
}
|
|
105
132
|
exports.bindModuleBackService = bindModuleBackService;
|
package/lib/connection.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":";;;AAIA,6DAAuF;
|
|
1
|
+
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"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"}
|
package/lib/types.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
/// <reference types="node" />
|
|
3
3
|
/// <reference types="node" />
|
|
4
|
-
import {
|
|
4
|
+
import { NodeModule } from './node-module';
|
|
5
5
|
import type { Injector } from '@opensumi/di';
|
|
6
6
|
import type { WebSocketHandler } from '@opensumi/ide-connection/lib/node';
|
|
7
7
|
import type { ConstructorOf, ILogService, LogLevel, MaybePromise } from '@opensumi/ide-core-common';
|
|
@@ -10,8 +10,7 @@ import type http from 'http';
|
|
|
10
10
|
import type https from 'https';
|
|
11
11
|
import type Koa from 'koa';
|
|
12
12
|
import type ws from 'ws';
|
|
13
|
-
export
|
|
14
|
-
}
|
|
13
|
+
export { NodeModule };
|
|
15
14
|
export type ModuleConstructor = ConstructorOf<NodeModule>;
|
|
16
15
|
export type ContributionConstructor = ConstructorOf<ServerAppContribution>;
|
|
17
16
|
export declare const AppConfig: unique symbol;
|
|
@@ -134,5 +133,4 @@ export interface IServerApp {
|
|
|
134
133
|
use(middleware: Koa.Middleware<Koa.ParameterizedContext<any, any>>): void;
|
|
135
134
|
start(server: http.Server | https.Server): Promise<void>;
|
|
136
135
|
}
|
|
137
|
-
export {};
|
|
138
136
|
//# sourceMappingURL=types.d.ts.map
|
package/lib/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACpG,OAAO,KAAK,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,OAAO,EAAE,UAAU,EAAE,CAAC;AAEtB,MAAM,MAAM,iBAAiB,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;AAC1D,MAAM,MAAM,uBAAuB,GAAG,aAAa,CAAC,qBAAqB,CAAC,CAAC;AAE3E,eAAO,MAAM,SAAS,eAAsB,CAAC;AAE7C,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE;QACR,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;KACjD,CAAC;CACH;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IAEjB,YAAY,EAAE,MAAM,CAAC;IAErB,qBAAqB,EAAE,OAAO,CAAC;IAE/B,SAAS,EAAE,MAAM,CAAC;IAElB,SAAS,EAAE,MAAM,CAAC;IAElB,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,kBAAkB,CAAC;IAEvE,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,UAAU,MAAM;IACd;;OAEG;IACH,QAAQ,EAAE,QAAQ,CAAC;IACnB;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,eAAe,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IAC7C;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;OAEG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC;;OAEG;IACH,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC;;OAEG;IACH,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB;;;OAGG;IACH,+BAA+B,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,YAAY,KAAK,IAAI,CAAC;IAChE;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;IAC7C;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oBAAoB,CAAC,EAAE,wBAAwB,CAAC;CACjD;AAED,MAAM,WAAW,SAAU,SAAQ,OAAO,CAAC,MAAM,CAAC;IAChD,WAAW,EAAE,iBAAiB,CAAC;CAChC;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAe,SAAQ,OAAO,CAAC,MAAM,CAAC;IACrD,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC9B,aAAa,CAAC,EAAE,uBAAuB,EAAE,CAAC;IAC1C,gBAAgB,CAAC,EAAE,UAAU,EAAE,CAAC;IAChC,gBAAgB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACtC,eAAe,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC;IACnC,gBAAgB,CAAC,EAAE;QAEjB,GAAG,CAAC,EAAE,OAAO,CAAC;KACf,CAAC;IACF,WAAW,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACzC,GAAG,CAAC,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,oBAAoB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;CAC5E;AAED,eAAO,MAAM,qBAAqB,eAAkC,CAAC;AAErE,MAAM,WAAW,qBAAqB;IACpC,UAAU,CAAC,CAAC,GAAG,EAAE,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACjD,OAAO,CAAC,CAAC,GAAG,EAAE,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,CAAC,CAAC,GAAG,EAAE,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAC7C,qBAAqB,CAAC,IAAI,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,oBAAoB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;IAC1E,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1D"}
|
package/lib/types.js
CHANGED
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ServerAppContribution = exports.AppConfig = exports.NodeModule = void 0;
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
}
|
|
7
|
-
exports.NodeModule = NodeModule;
|
|
4
|
+
const node_module_1 = require("./node-module");
|
|
5
|
+
Object.defineProperty(exports, "NodeModule", { enumerable: true, get: function () { return node_module_1.NodeModule; } });
|
|
8
6
|
exports.AppConfig = Symbol('AppConfig');
|
|
9
7
|
exports.ServerAppContribution = Symbol('ServerAppContribution');
|
|
10
8
|
//# sourceMappingURL=types.js.map
|
package/lib/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAAA,+
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAAA,+CAA2C;AAWlC,2FAXA,wBAAU,OAWA;AAKN,QAAA,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;AA2HhC,QAAA,qBAAqB,GAAG,MAAM,CAAC,uBAAuB,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opensumi/ide-core-node",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.4.1",
|
|
4
4
|
"description": "@opensumi/ide-core-node",
|
|
5
5
|
"files": [
|
|
6
6
|
"lib",
|
|
@@ -18,13 +18,13 @@
|
|
|
18
18
|
"url": "git@github.com:opensumi/core.git"
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@opensumi/ide-connection": "3.
|
|
22
|
-
"@opensumi/ide-core-common": "3.
|
|
23
|
-
"@opensumi/ide-utils": "3.
|
|
21
|
+
"@opensumi/ide-connection": "3.4.1",
|
|
22
|
+
"@opensumi/ide-core-common": "3.4.1",
|
|
23
|
+
"@opensumi/ide-utils": "3.4.1",
|
|
24
24
|
"keytar": "^7.7.0"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
|
-
"@opensumi/ide-dev-tool": "3.
|
|
27
|
+
"@opensumi/ide-dev-tool": "3.4.1"
|
|
28
28
|
},
|
|
29
|
-
"gitHead": "
|
|
29
|
+
"gitHead": "334dfe2219c51a64771704cfda5628d2d54d1b57"
|
|
30
30
|
}
|
package/src/bootstrap/app.ts
CHANGED
|
@@ -17,6 +17,8 @@ import {
|
|
|
17
17
|
SupportLogNamespace,
|
|
18
18
|
createContributionProvider,
|
|
19
19
|
getDebugLogger,
|
|
20
|
+
getModuleDependencies,
|
|
21
|
+
injectGDataStores,
|
|
20
22
|
isWindows,
|
|
21
23
|
} from '@opensumi/ide-core-common';
|
|
22
24
|
import { DEFAULT_ALIPAY_CLOUD_REGISTRY } from '@opensumi/ide-core-common/lib/const';
|
|
@@ -93,7 +95,7 @@ export class ServerApp implements IServerApp {
|
|
|
93
95
|
* 将被依赖但未被加入modules的模块加入到待加载模块最后
|
|
94
96
|
*/
|
|
95
97
|
public resolveModuleDeps(moduleConstructor: ModuleConstructor, modules: any[]) {
|
|
96
|
-
const dependencies =
|
|
98
|
+
const dependencies = getModuleDependencies(moduleConstructor);
|
|
97
99
|
if (dependencies) {
|
|
98
100
|
dependencies.forEach((dep) => {
|
|
99
101
|
if (modules.indexOf(dep) === -1) {
|
|
@@ -217,6 +219,8 @@ export class ServerApp implements IServerApp {
|
|
|
217
219
|
* @param modules
|
|
218
220
|
*/
|
|
219
221
|
private createNodeModules(Constructors: ModuleConstructor[] = [], modules: NodeModule[] = []) {
|
|
222
|
+
injectGDataStores(this.injector);
|
|
223
|
+
|
|
220
224
|
const allModules = [...modules];
|
|
221
225
|
Constructors.forEach((c) => {
|
|
222
226
|
this.resolveModuleDeps(c, Constructors);
|
package/src/connection.ts
CHANGED
|
@@ -6,6 +6,13 @@ import { RPCServiceCenter, WSChannel, initRPCService } from '@opensumi/ide-conne
|
|
|
6
6
|
import { CommonChannelPathHandler, RPCServiceChannelPath } from '@opensumi/ide-connection/lib/common/server-handler';
|
|
7
7
|
import { ElectronChannelHandler } from '@opensumi/ide-connection/lib/electron';
|
|
8
8
|
import { CommonChannelHandler, WebSocketHandler, WebSocketServerRoute } from '@opensumi/ide-connection/lib/node';
|
|
9
|
+
import {
|
|
10
|
+
CLIENT_ID_TOKEN,
|
|
11
|
+
RemoteService,
|
|
12
|
+
getRemoteServiceData,
|
|
13
|
+
injectSessionDataStores,
|
|
14
|
+
runInRemoteServiceContext,
|
|
15
|
+
} from '@opensumi/ide-core-common';
|
|
9
16
|
|
|
10
17
|
import { INodeLogger } from './logger/node-logger';
|
|
11
18
|
import { NodeModule } from './node-module';
|
|
@@ -23,7 +30,7 @@ function handleClientChannel(
|
|
|
23
30
|
logger.log(`New RPC connection ${clientId}`);
|
|
24
31
|
|
|
25
32
|
const serviceCenter = new RPCServiceCenter(undefined, logger);
|
|
26
|
-
const serviceChildInjector = bindModuleBackService(injector, modulesInstances, serviceCenter, clientId);
|
|
33
|
+
const serviceChildInjector = bindModuleBackService(injector, modulesInstances, serviceCenter, clientId, logger);
|
|
27
34
|
|
|
28
35
|
const remove = serviceCenter.setSumiConnection(channel.createSumiConnection());
|
|
29
36
|
|
|
@@ -88,60 +95,87 @@ export function bindModuleBackService(
|
|
|
88
95
|
injector: Injector,
|
|
89
96
|
modules: NodeModule[],
|
|
90
97
|
serviceCenter: RPCServiceCenter,
|
|
91
|
-
clientId
|
|
98
|
+
clientId: string,
|
|
99
|
+
logger: INodeLogger,
|
|
92
100
|
) {
|
|
93
101
|
const { createRPCService } = initRPCService(serviceCenter);
|
|
94
|
-
|
|
95
102
|
const childInjector = injector.createChild();
|
|
96
|
-
for (const m of modules) {
|
|
97
|
-
if (!m.backServices) {
|
|
98
|
-
continue;
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
for (const service of m.backServices) {
|
|
102
|
-
if (!service.token) {
|
|
103
|
-
continue;
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
if (service.protocol) {
|
|
107
|
-
serviceCenter.loadProtocol(service.protocol);
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
const serviceToken = service.token;
|
|
111
103
|
|
|
112
|
-
|
|
113
|
-
|
|
104
|
+
runInRemoteServiceContext(childInjector, () => {
|
|
105
|
+
injectSessionDataStores(childInjector);
|
|
106
|
+
childInjector.addProviders({
|
|
107
|
+
token: CLIENT_ID_TOKEN,
|
|
108
|
+
useValue: clientId,
|
|
109
|
+
});
|
|
110
|
+
|
|
111
|
+
for (const m of modules) {
|
|
112
|
+
if (m.backServices) {
|
|
113
|
+
for (const service of m.backServices) {
|
|
114
|
+
if (!service.token) {
|
|
115
|
+
continue;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
if (service.protocol) {
|
|
119
|
+
serviceCenter.loadProtocol(service.protocol);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
const serviceToken = service.token;
|
|
123
|
+
|
|
124
|
+
const creator = injector.creatorMap.get(serviceToken) as InstanceCreator;
|
|
125
|
+
if (!creator) {
|
|
126
|
+
continue;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
if ((creator as FactoryCreator).useFactory) {
|
|
130
|
+
const serviceFactory = (creator as FactoryCreator).useFactory;
|
|
131
|
+
childInjector.addProviders({
|
|
132
|
+
token: serviceToken,
|
|
133
|
+
useValue: serviceFactory(childInjector),
|
|
134
|
+
});
|
|
135
|
+
} else {
|
|
136
|
+
const serviceClass = (creator as ClassCreator).useClass;
|
|
137
|
+
childInjector.addProviders({
|
|
138
|
+
token: serviceToken,
|
|
139
|
+
useClass: serviceClass,
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
const serviceInstance = childInjector.get(serviceToken);
|
|
144
|
+
|
|
145
|
+
if (serviceInstance.setConnectionClientId) {
|
|
146
|
+
serviceInstance.setConnectionClientId(clientId);
|
|
147
|
+
}
|
|
148
|
+
const stub = createRPCService(service.servicePath, serviceInstance);
|
|
149
|
+
if (!serviceInstance.rpcClient) {
|
|
150
|
+
serviceInstance.rpcClient = [stub];
|
|
151
|
+
}
|
|
152
|
+
}
|
|
114
153
|
}
|
|
115
154
|
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
const stub = createRPCService(service.servicePath, serviceInstance);
|
|
139
|
-
|
|
140
|
-
if (!serviceInstance.rpcClient) {
|
|
141
|
-
serviceInstance.rpcClient = [stub];
|
|
155
|
+
if (m.remoteServices) {
|
|
156
|
+
for (const service of m.remoteServices) {
|
|
157
|
+
const serviceInstance = childInjector.get(service);
|
|
158
|
+
const data = getRemoteServiceData(service);
|
|
159
|
+
if (!data || !data.servicePath) {
|
|
160
|
+
logger.error(`Remote service ${RemoteService.getName(service)} must have servicePath`);
|
|
161
|
+
continue;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
if (data.protocol) {
|
|
165
|
+
serviceCenter.loadProtocol(data.protocol);
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
if (serviceInstance.setConnectionClientId) {
|
|
169
|
+
serviceInstance.setConnectionClientId(clientId);
|
|
170
|
+
}
|
|
171
|
+
const stub = createRPCService(data.servicePath, serviceInstance);
|
|
172
|
+
if (!serviceInstance.rpcClient) {
|
|
173
|
+
serviceInstance.rpcClient = [stub];
|
|
174
|
+
}
|
|
175
|
+
}
|
|
142
176
|
}
|
|
143
177
|
}
|
|
144
|
-
}
|
|
178
|
+
});
|
|
145
179
|
|
|
146
180
|
return childInjector;
|
|
147
181
|
}
|
package/src/types.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { NodeModule } from './node-module';
|
|
2
2
|
|
|
3
3
|
import type { Injector } from '@opensumi/di';
|
|
4
4
|
import type { WebSocketHandler } from '@opensumi/ide-connection/lib/node';
|
|
@@ -9,7 +9,7 @@ import type https from 'https';
|
|
|
9
9
|
import type Koa from 'koa';
|
|
10
10
|
import type ws from 'ws';
|
|
11
11
|
|
|
12
|
-
export
|
|
12
|
+
export { NodeModule };
|
|
13
13
|
|
|
14
14
|
export type ModuleConstructor = ConstructorOf<NodeModule>;
|
|
15
15
|
export type ContributionConstructor = ConstructorOf<ServerAppContribution>;
|