@rsdoctor/sdk 1.5.11 → 2.0.0-alpha.0
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/index.cjs +238 -110
- package/dist/index.js +237 -110
- package/dist/sdk/multiple/primary.d.cts +3 -3
- package/dist/sdk/multiple/primary.d.ts +3 -3
- package/dist/sdk/sdk/index.d.cts +2 -2
- package/dist/sdk/sdk/index.d.ts +2 -2
- package/dist/sdk/sdk/types.d.cts +1 -1
- package/dist/sdk/sdk/types.d.ts +1 -1
- package/dist/sdk/server/apis/index.d.cts +1 -0
- package/dist/sdk/server/apis/index.d.ts +1 -0
- package/dist/sdk/server/socket/api.d.cts +1 -1
- package/dist/sdk/server/socket/api.d.ts +1 -1
- package/dist/sdk/server/socket/index.d.cts +28 -7
- package/dist/sdk/server/socket/index.d.ts +28 -7
- package/package.json +9 -8
package/dist/sdk/sdk/index.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { Manifest, SDK } from '@rsdoctor/types';
|
|
2
2
|
import { RawSourceMap, SourceMapConsumer } from 'source-map';
|
|
3
3
|
import { RsdoctorServer } from '../server/index.js';
|
|
4
|
-
import {
|
|
4
|
+
import { RsdoctorRspackSDKOptions } from './types.js';
|
|
5
5
|
import { SDKCore } from './core.js';
|
|
6
6
|
export * from '../utils/openBrowser.js';
|
|
7
7
|
export * from '../utils/base.js';
|
|
8
|
-
export declare class RsdoctorSDK<T extends
|
|
8
|
+
export declare class RsdoctorSDK<T extends RsdoctorRspackSDKOptions = RsdoctorRspackSDKOptions> extends SDKCore<T> implements SDK.RsdoctorBuilderSDKInstance {
|
|
9
9
|
server: RsdoctorServer;
|
|
10
10
|
extraConfig: SDK.SDKOptionsType | undefined;
|
|
11
11
|
type: SDK.ToDataType;
|
package/dist/sdk/sdk/types.d.cts
CHANGED
|
@@ -22,7 +22,7 @@ export interface RsdoctorBuilderSDK extends RsdoctorSDKOptions {
|
|
|
22
22
|
port?: number;
|
|
23
23
|
config?: SDK.SDKOptionsType;
|
|
24
24
|
}
|
|
25
|
-
export interface
|
|
25
|
+
export interface RsdoctorRspackSDKOptions extends RsdoctorBuilderSDK {
|
|
26
26
|
}
|
|
27
27
|
export interface RsdoctorEMOSDKOptions extends RsdoctorSDKOptions {
|
|
28
28
|
}
|
package/dist/sdk/sdk/types.d.ts
CHANGED
|
@@ -22,7 +22,7 @@ export interface RsdoctorBuilderSDK extends RsdoctorSDKOptions {
|
|
|
22
22
|
port?: number;
|
|
23
23
|
config?: SDK.SDKOptionsType;
|
|
24
24
|
}
|
|
25
|
-
export interface
|
|
25
|
+
export interface RsdoctorRspackSDKOptions extends RsdoctorBuilderSDK {
|
|
26
26
|
}
|
|
27
27
|
export interface RsdoctorEMOSDKOptions extends RsdoctorSDKOptions {
|
|
28
28
|
}
|
|
@@ -10,6 +10,6 @@ export declare class SocketAPILoader implements Manifest.ManifestDataLoader {
|
|
|
10
10
|
loadManifest(): Promise<Manifest.RsdoctorManifestWithShardingFiles>;
|
|
11
11
|
loadData<T extends Manifest.RsdoctorManifestMappingKeys>(key: T): Promise<Manifest.InferManifestDataValue<T>>;
|
|
12
12
|
loadData(key: string): Promise<void>;
|
|
13
|
-
get loadAPIData(): <T extends SDK.ServerAPI.API
|
|
13
|
+
get loadAPIData(): <T extends SDK.ServerAPI.API | SDK.ServerAPI.APIExtends>(api: T, body: SDK.ServerAPI.InferRequestBodyType<T>) => Promise<SDK.ServerAPI.InferResponseType<T>>;
|
|
14
14
|
}
|
|
15
15
|
export {};
|
|
@@ -10,6 +10,6 @@ export declare class SocketAPILoader implements Manifest.ManifestDataLoader {
|
|
|
10
10
|
loadManifest(): Promise<Manifest.RsdoctorManifestWithShardingFiles>;
|
|
11
11
|
loadData<T extends Manifest.RsdoctorManifestMappingKeys>(key: T): Promise<Manifest.InferManifestDataValue<T>>;
|
|
12
12
|
loadData(key: string): Promise<void>;
|
|
13
|
-
get loadAPIData(): <T extends SDK.ServerAPI.API
|
|
13
|
+
get loadAPIData(): <T extends SDK.ServerAPI.API | SDK.ServerAPI.APIExtends>(api: T, body: SDK.ServerAPI.InferRequestBodyType<T>) => Promise<SDK.ServerAPI.InferResponseType<T>>;
|
|
14
14
|
}
|
|
15
15
|
export {};
|
|
@@ -1,26 +1,47 @@
|
|
|
1
1
|
import { Common, SDK } from '@rsdoctor/types';
|
|
2
2
|
import type { Server } from 'http';
|
|
3
|
-
import
|
|
3
|
+
import WebSocket, { WebSocketServer } from 'ws';
|
|
4
4
|
import { SocketAPILoader } from './api';
|
|
5
5
|
interface SocketOptions {
|
|
6
6
|
sdk: SDK.RsdoctorBuilderSDKInstance;
|
|
7
7
|
server: Server;
|
|
8
8
|
port: number;
|
|
9
|
-
socketOptions?: SocketServerOptions;
|
|
10
9
|
}
|
|
10
|
+
type Subscription = {
|
|
11
|
+
api: SDK.ServerAPI.API;
|
|
12
|
+
body: Common.PlainObject | null;
|
|
13
|
+
};
|
|
14
|
+
type SubscriptionRecord = Subscription & {
|
|
15
|
+
count: number;
|
|
16
|
+
};
|
|
17
|
+
type ClientMessage = {
|
|
18
|
+
type?: string;
|
|
19
|
+
id?: string;
|
|
20
|
+
api?: SDK.ServerAPI.API;
|
|
21
|
+
body?: Common.PlainObject | null;
|
|
22
|
+
};
|
|
11
23
|
export declare class Socket {
|
|
12
24
|
protected options: SocketOptions;
|
|
13
|
-
protected
|
|
25
|
+
protected server?: WebSocketServer;
|
|
26
|
+
protected clients: Set<WebSocket>;
|
|
14
27
|
protected loader: SocketAPILoader;
|
|
15
|
-
protected map: Map<
|
|
28
|
+
protected map: Map<string, SubscriptionRecord>;
|
|
29
|
+
protected clientSubscriptions: Map<WebSocket, Set<string>>;
|
|
16
30
|
constructor(options: SocketOptions);
|
|
17
31
|
bootstrap(): void;
|
|
18
|
-
|
|
19
|
-
|
|
32
|
+
attachClient(client: WebSocket): void;
|
|
33
|
+
handleClientMessage(raw: string, client?: WebSocket): Promise<void>;
|
|
34
|
+
protected handleAPIRequestMessage(message: ClientMessage, client?: WebSocket): Promise<void>;
|
|
35
|
+
getSubscriptions(): Subscription[];
|
|
36
|
+
protected saveRequestToMap<T extends SDK.ServerAPI.API>(api: T, body?: SDK.ServerAPI.InferRequestBodyType<T, null> | null, client?: WebSocket): void;
|
|
37
|
+
protected removeRequestFromMap<T extends SDK.ServerAPI.API>(api: T, body?: SDK.ServerAPI.InferRequestBodyType<T, null> | null, client?: WebSocket): void;
|
|
38
|
+
protected removeClientSubscriptions(client: WebSocket): void;
|
|
39
|
+
protected removeSubscriptionKey(key: string): void;
|
|
40
|
+
protected getSubscriptionKey(api: SDK.ServerAPI.API, body: Common.PlainObject | null): string;
|
|
20
41
|
protected getAPIResponse<T extends SDK.ServerAPI.API>(api: T, body: SDK.ServerAPI.InferRequestBodyType<T>): Promise<SDK.ServerAPI.SocketResponseType<SDK.ServerAPI.API>>;
|
|
21
42
|
protected timer: NodeJS.Immediate | undefined;
|
|
22
43
|
broadcast(): Promise<void>;
|
|
23
|
-
sendAPIData<T extends SDK.ServerAPI.API | SDK.ServerAPI.APIExtends>(api: T,
|
|
44
|
+
sendAPIData<T extends SDK.ServerAPI.API | SDK.ServerAPI.APIExtends>(api: T, payload: SDK.ServerAPI.SocketResponseType<T>): void;
|
|
24
45
|
dispose(): void;
|
|
25
46
|
}
|
|
26
47
|
export {};
|
|
@@ -1,26 +1,47 @@
|
|
|
1
1
|
import { Common, SDK } from '@rsdoctor/types';
|
|
2
2
|
import type { Server } from 'http';
|
|
3
|
-
import
|
|
3
|
+
import WebSocket, { WebSocketServer } from 'ws';
|
|
4
4
|
import { SocketAPILoader } from './api.js';
|
|
5
5
|
interface SocketOptions {
|
|
6
6
|
sdk: SDK.RsdoctorBuilderSDKInstance;
|
|
7
7
|
server: Server;
|
|
8
8
|
port: number;
|
|
9
|
-
socketOptions?: SocketServerOptions;
|
|
10
9
|
}
|
|
10
|
+
type Subscription = {
|
|
11
|
+
api: SDK.ServerAPI.API;
|
|
12
|
+
body: Common.PlainObject | null;
|
|
13
|
+
};
|
|
14
|
+
type SubscriptionRecord = Subscription & {
|
|
15
|
+
count: number;
|
|
16
|
+
};
|
|
17
|
+
type ClientMessage = {
|
|
18
|
+
type?: string;
|
|
19
|
+
id?: string;
|
|
20
|
+
api?: SDK.ServerAPI.API;
|
|
21
|
+
body?: Common.PlainObject | null;
|
|
22
|
+
};
|
|
11
23
|
export declare class Socket {
|
|
12
24
|
protected options: SocketOptions;
|
|
13
|
-
protected
|
|
25
|
+
protected server?: WebSocketServer;
|
|
26
|
+
protected clients: Set<WebSocket>;
|
|
14
27
|
protected loader: SocketAPILoader;
|
|
15
|
-
protected map: Map<
|
|
28
|
+
protected map: Map<string, SubscriptionRecord>;
|
|
29
|
+
protected clientSubscriptions: Map<WebSocket, Set<string>>;
|
|
16
30
|
constructor(options: SocketOptions);
|
|
17
31
|
bootstrap(): void;
|
|
18
|
-
|
|
19
|
-
|
|
32
|
+
attachClient(client: WebSocket): void;
|
|
33
|
+
handleClientMessage(raw: string, client?: WebSocket): Promise<void>;
|
|
34
|
+
protected handleAPIRequestMessage(message: ClientMessage, client?: WebSocket): Promise<void>;
|
|
35
|
+
getSubscriptions(): Subscription[];
|
|
36
|
+
protected saveRequestToMap<T extends SDK.ServerAPI.API>(api: T, body?: SDK.ServerAPI.InferRequestBodyType<T, null> | null, client?: WebSocket): void;
|
|
37
|
+
protected removeRequestFromMap<T extends SDK.ServerAPI.API>(api: T, body?: SDK.ServerAPI.InferRequestBodyType<T, null> | null, client?: WebSocket): void;
|
|
38
|
+
protected removeClientSubscriptions(client: WebSocket): void;
|
|
39
|
+
protected removeSubscriptionKey(key: string): void;
|
|
40
|
+
protected getSubscriptionKey(api: SDK.ServerAPI.API, body: Common.PlainObject | null): string;
|
|
20
41
|
protected getAPIResponse<T extends SDK.ServerAPI.API>(api: T, body: SDK.ServerAPI.InferRequestBodyType<T>): Promise<SDK.ServerAPI.SocketResponseType<SDK.ServerAPI.API>>;
|
|
21
42
|
protected timer: NodeJS.Immediate | undefined;
|
|
22
43
|
broadcast(): Promise<void>;
|
|
23
|
-
sendAPIData<T extends SDK.ServerAPI.API | SDK.ServerAPI.APIExtends>(api: T,
|
|
44
|
+
sendAPIData<T extends SDK.ServerAPI.API | SDK.ServerAPI.APIExtends>(api: T, payload: SDK.ServerAPI.SocketResponseType<T>): void;
|
|
24
45
|
dispose(): void;
|
|
25
46
|
}
|
|
26
47
|
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rsdoctor/sdk",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0-alpha.0",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/web-infra-dev/rsdoctor",
|
|
@@ -30,19 +30,20 @@
|
|
|
30
30
|
"dependencies": {
|
|
31
31
|
"launch-editor": "^2.13.2",
|
|
32
32
|
"safer-buffer": "2.1.2",
|
|
33
|
-
"socket.io": "4.8.1",
|
|
34
33
|
"tapable": "2.3.3",
|
|
35
|
-
"
|
|
36
|
-
"@rsdoctor/graph": "
|
|
37
|
-
"@rsdoctor/types": "
|
|
38
|
-
"@rsdoctor/utils": "
|
|
34
|
+
"ws": "8.20.1",
|
|
35
|
+
"@rsdoctor/graph": "2.0.0-alpha.0",
|
|
36
|
+
"@rsdoctor/types": "2.0.0-alpha.0",
|
|
37
|
+
"@rsdoctor/utils": "2.0.0-alpha.0",
|
|
38
|
+
"@rsdoctor/client": "2.0.0-alpha.0"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
41
|
"@types/body-parser": "1.19.6",
|
|
42
42
|
"@types/connect": "3.4.38",
|
|
43
43
|
"@types/cors": "2.8.19",
|
|
44
44
|
"@types/fs-extra": "^11.0.4",
|
|
45
|
-
"@types/node": "^
|
|
45
|
+
"@types/node": "^24.12.3",
|
|
46
|
+
"@types/ws": "^8.18.1",
|
|
46
47
|
"body-parser": "2.2.2",
|
|
47
48
|
"cors": "2.8.6",
|
|
48
49
|
"dayjs": "1.11.20",
|
|
@@ -52,7 +53,7 @@
|
|
|
52
53
|
"source-map": "^0.7.6",
|
|
53
54
|
"prebundle": "1.6.4",
|
|
54
55
|
"tslib": "2.8.1",
|
|
55
|
-
"typescript": "^
|
|
56
|
+
"typescript": "^6.0.3"
|
|
56
57
|
},
|
|
57
58
|
"publishConfig": {
|
|
58
59
|
"access": "public",
|