@rsdoctor/components 1.5.15 → 1.5.16
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.
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Common, Manifest, SDK } from '@rsdoctor/types';
|
|
2
|
+
import type { Socket } from 'socket.io-client';
|
|
2
3
|
import { BaseDataLoader } from './base.js';
|
|
3
4
|
export declare class LocalServerDataLoader extends BaseDataLoader {
|
|
4
5
|
protected events: Map<SDK.ServerAPI.API | SDK.ServerAPI.APIExtends, Set<Common.Function>>;
|
|
@@ -11,4 +12,5 @@ export declare class LocalServerDataLoader extends BaseDataLoader {
|
|
|
11
12
|
*/
|
|
12
13
|
onDataUpdate<T extends SDK.ServerAPI.API | SDK.ServerAPI.APIExtends>(api: T, fn: (response: SDK.ServerAPI.SocketResponseType<T>) => void): void;
|
|
13
14
|
removeOnDataUpdate<T extends SDK.ServerAPI.API | SDK.ServerAPI.APIExtends>(api: T, fn: (response: SDK.ServerAPI.SocketResponseType<T>) => void): void;
|
|
15
|
+
protected getSocket(): Socket;
|
|
14
16
|
}
|
|
@@ -26,7 +26,7 @@ class LocalServerDataLoader extends BaseDataLoader {
|
|
|
26
26
|
if (Manifest.isShardingData(res)) {
|
|
27
27
|
if (!this.shardingDataMap.has(key)) {
|
|
28
28
|
const task = new Promise((resolve)=>{
|
|
29
|
-
getSocket().emit(SDK.ServerAPI.API.LoadDataByKey, {
|
|
29
|
+
this.getSocket().emit(SDK.ServerAPI.API.LoadDataByKey, {
|
|
30
30
|
key
|
|
31
31
|
}, (res)=>{
|
|
32
32
|
resolve(res.res);
|
|
@@ -44,9 +44,8 @@ class LocalServerDataLoader extends BaseDataLoader {
|
|
|
44
44
|
async loadAPI(...args) {
|
|
45
45
|
const [api, body] = args;
|
|
46
46
|
const key = body ? `${api}_${JSON.stringify(body)}` : `${api}`;
|
|
47
|
-
const socketPort = this.get('__SOCKET__PORT__') ?? '';
|
|
48
47
|
return this.limit(key, async ()=>new Promise((resolve)=>{
|
|
49
|
-
getSocket(
|
|
48
|
+
this.getSocket().emit(api, body, (res)=>{
|
|
50
49
|
resolve(res.res);
|
|
51
50
|
});
|
|
52
51
|
}));
|
|
@@ -65,12 +64,17 @@ class LocalServerDataLoader extends BaseDataLoader {
|
|
|
65
64
|
if (!this.events.has(api)) this.events.set(api, new Set());
|
|
66
65
|
if (this.events.get(api).has(fn)) return;
|
|
67
66
|
this.events.get(api).add(fn);
|
|
68
|
-
getSocket().on(api, fn);
|
|
67
|
+
this.getSocket().on(api, fn);
|
|
69
68
|
}
|
|
70
69
|
removeOnDataUpdate(api, fn) {
|
|
71
|
-
getSocket().off(api, fn);
|
|
70
|
+
this.getSocket().off(api, fn);
|
|
72
71
|
this.events.get(api).delete(fn);
|
|
73
72
|
}
|
|
73
|
+
getSocket() {
|
|
74
|
+
const socketPort = this.get('__SOCKET__PORT__') ?? '';
|
|
75
|
+
const socketUrl = this.get('__SOCKET__URL__') ?? '';
|
|
76
|
+
return getSocket(socketPort, socketUrl);
|
|
77
|
+
}
|
|
74
78
|
constructor(...args){
|
|
75
79
|
super(...args), _define_property(this, "events", new Map());
|
|
76
80
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils/data/local.mjs","sources":["../../../src/utils/data/local.ts"],"sourcesContent":["import { Manifest as ManifestShared } from '@rsdoctor/utils/common';\nimport { Common, Manifest, SDK } from '@rsdoctor/types';\nimport { get } from 'es-toolkit/compat';\nimport { BaseDataLoader } from './base';\nimport { getSocket } from '../socket';\n\nexport class LocalServerDataLoader extends BaseDataLoader {\n protected events: Map<\n SDK.ServerAPI.API | SDK.ServerAPI.APIExtends,\n Set<Common.Function>\n > = new Map();\n\n public isLocal() {\n return true;\n }\n\n public async loadData<T extends keyof Manifest.RsdoctorManifestData>(\n key: T,\n ): Promise<void | Manifest.RsdoctorManifestData[T]>;\n\n public async loadData(key: string): Promise<unknown> {\n return this.limit(key, async () => {\n const [scope, ...rest] = this.getKeys(key);\n const data = this.getData(scope as keyof Manifest.RsdoctorManifestData);\n\n if (!data) return;\n\n let res: unknown = data;\n\n // sharding files\n if (ManifestShared.isShardingData(res)) {\n if (!this.shardingDataMap.has(key)) {\n const task = new Promise((resolve) => {\n getSocket().emit(\n SDK.ServerAPI.API.LoadDataByKey,\n { key },\n (\n res: SDK.ServerAPI.SocketResponseType<SDK.ServerAPI.API.LoadDataByKey>,\n ) => {\n resolve(res.res);\n },\n );\n });\n // const task = postServerAPI(SDK.ServerAPI.API.LoadDataByKey, { key }).catch((err) => {\n // this.log(`loadData error: `, res, key);\n // throw err;\n // });\n // save with every key\n this.shardingDataMap.set(key, task);\n }\n\n res = await this.shardingDataMap.get(key);\n this.shardingDataMap.delete(key);\n return res;\n }\n\n return rest.length > 0 ? get(res, this.joinKeys(rest)) : res;\n });\n }\n\n public async loadAPI<\n T extends SDK.ServerAPI.API,\n B extends
|
|
1
|
+
{"version":3,"file":"utils/data/local.mjs","sources":["../../../src/utils/data/local.ts"],"sourcesContent":["import { Manifest as ManifestShared } from '@rsdoctor/utils/common';\nimport { Common, Manifest, SDK } from '@rsdoctor/types';\nimport { get } from 'es-toolkit/compat';\nimport type { Socket } from 'socket.io-client';\nimport { BaseDataLoader } from './base';\nimport { getSocket } from '../socket';\n\nexport class LocalServerDataLoader extends BaseDataLoader {\n protected events: Map<\n SDK.ServerAPI.API | SDK.ServerAPI.APIExtends,\n Set<Common.Function>\n > = new Map();\n\n public isLocal() {\n return true;\n }\n\n public async loadData<T extends keyof Manifest.RsdoctorManifestData>(\n key: T,\n ): Promise<void | Manifest.RsdoctorManifestData[T]>;\n\n public async loadData(key: string): Promise<unknown> {\n return this.limit(key, async () => {\n const [scope, ...rest] = this.getKeys(key);\n const data = this.getData(scope as keyof Manifest.RsdoctorManifestData);\n\n if (!data) return;\n\n let res: unknown = data;\n\n // sharding files\n if (ManifestShared.isShardingData(res)) {\n if (!this.shardingDataMap.has(key)) {\n const task = new Promise((resolve) => {\n this.getSocket().emit(\n SDK.ServerAPI.API.LoadDataByKey,\n { key },\n (\n res: SDK.ServerAPI.SocketResponseType<SDK.ServerAPI.API.LoadDataByKey>,\n ) => {\n resolve(res.res);\n },\n );\n });\n // const task = postServerAPI(SDK.ServerAPI.API.LoadDataByKey, { key }).catch((err) => {\n // this.log(`loadData error: `, res, key);\n // throw err;\n // });\n // save with every key\n this.shardingDataMap.set(key, task);\n }\n\n res = await this.shardingDataMap.get(key);\n this.shardingDataMap.delete(key);\n return res;\n }\n\n return rest.length > 0 ? get(res, this.joinKeys(rest)) : res;\n });\n }\n\n public async loadAPI<\n T extends SDK.ServerAPI.API,\n B extends SDK.ServerAPI.InferRequestBodyType<T> =\n SDK.ServerAPI.InferRequestBodyType<T>,\n R extends SDK.ServerAPI.InferResponseType<T> =\n SDK.ServerAPI.InferResponseType<T>,\n >(...args: B extends void ? [api: T] : [api: T, body: B]): Promise<R> {\n const [api, body] = args;\n // request limitation key\n const key = body ? `${api}_${JSON.stringify(body)}` : `${api}`;\n\n return this.limit(key, async () => {\n return new Promise((resolve) => {\n this.getSocket().emit(\n api,\n body,\n (res: SDK.ServerAPI.SocketResponseType<T>) => {\n resolve(res.res as R);\n },\n );\n });\n // const res = await postServerAPI(...args).catch((err) => {\n // this.log(`loadAPI error: `, key);\n // throw err;\n // });\n\n // return res as R;\n });\n }\n\n public dispose() {\n super.dispose();\n this.events.forEach((evs, api) => {\n evs.forEach((ev) => {\n this.removeOnDataUpdate(api, ev);\n });\n evs.clear();\n });\n this.events.clear();\n }\n\n /**\n * add event listener when received data from server.\n */\n public onDataUpdate<T extends SDK.ServerAPI.API | SDK.ServerAPI.APIExtends>(\n api: T,\n fn: (response: SDK.ServerAPI.SocketResponseType<T>) => void,\n ) {\n if (!this.events.has(api)) {\n this.events.set(api, new Set());\n }\n\n if (this.events.get(api)!.has(fn)) {\n return;\n }\n\n this.events.get(api)!.add(fn);\n this.getSocket().on(api as string, fn);\n }\n\n public removeOnDataUpdate<\n T extends SDK.ServerAPI.API | SDK.ServerAPI.APIExtends,\n >(api: T, fn: (response: SDK.ServerAPI.SocketResponseType<T>) => void) {\n this.getSocket().off(api as string, fn);\n this.events.get(api)!.delete(fn);\n }\n\n protected getSocket(): Socket {\n const socketPort = this.get('__SOCKET__PORT__') ?? '';\n const socketUrl = this.get('__SOCKET__URL__') ?? '';\n return getSocket(socketPort, socketUrl);\n }\n}\n"],"names":["LocalServerDataLoader","BaseDataLoader","key","scope","rest","data","res","ManifestShared","task","Promise","resolve","SDK","get","args","api","body","JSON","evs","ev","fn","Set","socketPort","socketUrl","getSocket","Map"],"mappings":";;;;;;;;;;;;;;;AAOO,MAAMA,8BAA8BC;IAMlC,UAAU;QACf,OAAO;IACT;IAMA,MAAa,SAASC,GAAW,EAAoB;QACnD,OAAO,IAAI,CAAC,KAAK,CAACA,KAAK;YACrB,MAAM,CAACC,OAAO,GAAGC,KAAK,GAAG,IAAI,CAAC,OAAO,CAACF;YACtC,MAAMG,OAAO,IAAI,CAAC,OAAO,CAACF;YAE1B,IAAI,CAACE,MAAM;YAEX,IAAIC,MAAeD;YAGnB,IAAIE,SAAAA,cAA6B,CAACD,MAAM;gBACtC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAACJ,MAAM;oBAClC,MAAMM,OAAO,IAAIC,QAAQ,CAACC;wBACxB,IAAI,CAAC,SAAS,GAAG,IAAI,CACnBC,IAAI,SAAS,CAAC,GAAG,CAAC,aAAa,EAC/B;4BAAET;wBAAI,GACN,CACEI;4BAEAI,QAAQJ,IAAI,GAAG;wBACjB;oBAEJ;oBAMA,IAAI,CAAC,eAAe,CAAC,GAAG,CAACJ,KAAKM;gBAChC;gBAEAF,MAAM,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,CAACJ;gBACrC,IAAI,CAAC,eAAe,CAAC,MAAM,CAACA;gBAC5B,OAAOI;YACT;YAEA,OAAOF,KAAK,MAAM,GAAG,IAAIQ,IAAIN,KAAK,IAAI,CAAC,QAAQ,CAACF,SAASE;QAC3D;IACF;IAEA,MAAa,QAMX,GAAGO,IAAmD,EAAc;QACpE,MAAM,CAACC,KAAKC,KAAK,GAAGF;QAEpB,MAAMX,MAAMa,OAAO,GAAGD,IAAI,CAAC,EAAEE,KAAK,SAAS,CAACD,OAAO,GAAG,GAAGD,KAAK;QAE9D,OAAO,IAAI,CAAC,KAAK,CAACZ,KAAK,UACd,IAAIO,QAAQ,CAACC;gBAClB,IAAI,CAAC,SAAS,GAAG,IAAI,CACnBI,KACAC,MACA,CAACT;oBACCI,QAAQJ,IAAI,GAAG;gBACjB;YAEJ;IAQJ;IAEO,UAAU;QACf,KAAK,CAAC;QACN,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAACW,KAAKH;YACxBG,IAAI,OAAO,CAAC,CAACC;gBACX,IAAI,CAAC,kBAAkB,CAACJ,KAAKI;YAC/B;YACAD,IAAI,KAAK;QACX;QACA,IAAI,CAAC,MAAM,CAAC,KAAK;IACnB;IAKO,aACLH,GAAM,EACNK,EAA2D,EAC3D;QACA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAACL,MACnB,IAAI,CAAC,MAAM,CAAC,GAAG,CAACA,KAAK,IAAIM;QAG3B,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAACN,KAAM,GAAG,CAACK,KAC5B;QAGF,IAAI,CAAC,MAAM,CAAC,GAAG,CAACL,KAAM,GAAG,CAACK;QAC1B,IAAI,CAAC,SAAS,GAAG,EAAE,CAACL,KAAeK;IACrC;IAEO,mBAELL,GAAM,EAAEK,EAA2D,EAAE;QACrE,IAAI,CAAC,SAAS,GAAG,GAAG,CAACL,KAAeK;QACpC,IAAI,CAAC,MAAM,CAAC,GAAG,CAACL,KAAM,MAAM,CAACK;IAC/B;IAEU,YAAoB;QAC5B,MAAME,aAAa,IAAI,CAAC,GAAG,CAAC,uBAAuB;QACnD,MAAMC,YAAY,IAAI,CAAC,GAAG,CAAC,sBAAsB;QACjD,OAAOC,UAAUF,YAAYC;IAC/B;;QA7HK,gBACL,uBAAU,UAGN,IAAIE;;AA0HV"}
|
package/dist/utils/socket.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Socket } from 'socket.io-client';
|
|
2
|
-
export declare function getSocket(socketPort?: string): Socket;
|
|
2
|
+
export declare function getSocket(socketPort?: string, socketUrl?: string): Socket;
|
|
3
3
|
export declare function formatURL({ port, protocol, hostname, }: {
|
|
4
4
|
port?: string;
|
|
5
5
|
protocol: string;
|
package/dist/utils/socket.mjs
CHANGED
|
@@ -3,23 +3,26 @@ const map = new Map();
|
|
|
3
3
|
const socketProtocol = location.protocol.includes('https') ? 'wss' : 'ws';
|
|
4
4
|
const defaultSocketUrl = 'development' === process.env.NODE_ENV ? `${socketProtocol}://${location.hostname}:${process.env.LOCAL_CLI_PORT}` : `${socketProtocol}://${location.host}`;
|
|
5
5
|
const ipv4Pattern = /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;
|
|
6
|
+
function redactSocketToken(socketUrl) {
|
|
7
|
+
return socketUrl.replace(/([?&]token=)[^&]+/, '$1<redacted>');
|
|
8
|
+
}
|
|
6
9
|
function ensureSocket(socketUrl = defaultSocketUrl) {
|
|
7
10
|
if (!map.has(socketUrl)) {
|
|
8
11
|
const socket = io(socketUrl, {});
|
|
9
12
|
socket.on('connect', ()=>{
|
|
10
|
-
console.log(`Socket Connect ${socketUrl}`);
|
|
13
|
+
console.log(`Socket Connect ${redactSocketToken(socketUrl)}`);
|
|
11
14
|
});
|
|
12
15
|
map.set(socketUrl, socket);
|
|
13
16
|
}
|
|
14
17
|
return map.get(socketUrl);
|
|
15
18
|
}
|
|
16
|
-
function getSocket(socketPort) {
|
|
17
|
-
const
|
|
19
|
+
function getSocket(socketPort, socketUrl) {
|
|
20
|
+
const resolvedSocketUrl = socketUrl || formatURL({
|
|
18
21
|
port: socketPort,
|
|
19
22
|
hostname: location.hostname,
|
|
20
23
|
protocol: location.protocol
|
|
21
24
|
});
|
|
22
|
-
const socket = ensureSocket(socketPort
|
|
25
|
+
const socket = ensureSocket(socketPort || socketUrl ? resolvedSocketUrl : defaultSocketUrl);
|
|
23
26
|
return socket;
|
|
24
27
|
}
|
|
25
28
|
function formatURL({ port, protocol, hostname }) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils/socket.mjs","sources":["../../src/utils/socket.ts"],"sourcesContent":["/* rslint-disable no-restricted-globals */\nimport { io, Socket } from 'socket.io-client';\n\nconst map = new Map<string, Socket>();\nconst socketProtocol = location.protocol.includes('https') ? 'wss' : 'ws';\nconst defaultSocketUrl =\n process.env.NODE_ENV === 'development'\n ? `${socketProtocol}://${location.hostname}:${process.env.LOCAL_CLI_PORT}`\n : `${socketProtocol}://${location.host}`;\n\nconst ipv4Pattern =\n /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;\n\nfunction ensureSocket(socketUrl: string = defaultSocketUrl) {\n if (!map.has(socketUrl)) {\n const socket = io(socketUrl, {});\n socket.on('connect', () => {\n console.log(`Socket Connect ${socketUrl}`);\n });\n map.set(socketUrl, socket);\n }\n return map.get(socketUrl)!;\n}\n\nexport function getSocket(socketPort?: string): Socket {\n const socketUrl
|
|
1
|
+
{"version":3,"file":"utils/socket.mjs","sources":["../../src/utils/socket.ts"],"sourcesContent":["/* rslint-disable no-restricted-globals */\nimport { io, Socket } from 'socket.io-client';\n\nconst map = new Map<string, Socket>();\nconst socketProtocol = location.protocol.includes('https') ? 'wss' : 'ws';\nconst defaultSocketUrl =\n process.env.NODE_ENV === 'development'\n ? `${socketProtocol}://${location.hostname}:${process.env.LOCAL_CLI_PORT}`\n : `${socketProtocol}://${location.host}`;\n\nconst ipv4Pattern =\n /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;\n\nfunction redactSocketToken(socketUrl: string) {\n return socketUrl.replace(/([?&]token=)[^&]+/, '$1<redacted>');\n}\n\nfunction ensureSocket(socketUrl: string = defaultSocketUrl) {\n if (!map.has(socketUrl)) {\n const socket = io(socketUrl, {});\n socket.on('connect', () => {\n console.log(`Socket Connect ${redactSocketToken(socketUrl)}`);\n });\n map.set(socketUrl, socket);\n }\n return map.get(socketUrl)!;\n}\n\nexport function getSocket(socketPort?: string, socketUrl?: string): Socket {\n const resolvedSocketUrl =\n socketUrl ||\n formatURL({\n port: socketPort,\n hostname: location.hostname,\n protocol: location.protocol,\n });\n const socket = ensureSocket(\n socketPort || socketUrl ? resolvedSocketUrl : defaultSocketUrl,\n );\n return socket;\n}\n\nexport function formatURL({\n port,\n protocol,\n hostname,\n}: {\n port?: string;\n protocol: string;\n hostname: string;\n}) {\n if (typeof URL !== 'undefined') {\n const url = new URL('http://localhost');\n url.port = String(port);\n url.hostname = hostname;\n url.protocol = location.protocol.includes('https') ? 'wss' : 'ws';\n return ipv4Pattern.test(hostname) || hostname.includes('localhost')\n ? url.toString()\n : `${protocol}//${hostname}`;\n }\n\n // compatible with IE11\n const colon = protocol.indexOf(':') === -1 ? ':' : '';\n return `${protocol}${colon}//${hostname}:${port}`;\n}\n"],"names":["map","Map","socketProtocol","location","defaultSocketUrl","process","ipv4Pattern","redactSocketToken","socketUrl","ensureSocket","socket","io","console","getSocket","socketPort","resolvedSocketUrl","formatURL","port","protocol","hostname","URL","url","String","colon"],"mappings":";AAGA,MAAMA,MAAM,IAAIC;AAChB,MAAMC,iBAAiBC,SAAS,QAAQ,CAAC,QAAQ,CAAC,WAAW,QAAQ;AACrE,MAAMC,mBACJC,AAAyB,kBAAzBA,QAAQ,GAAG,CAAC,QAAQ,GAChB,GAAGH,eAAe,GAAG,EAAEC,SAAS,QAAQ,CAAC,CAAC,EAAEE,QAAQ,GAAG,CAAC,cAAc,EAAE,GACxE,GAAGH,eAAe,GAAG,EAAEC,SAAS,IAAI,EAAE;AAE5C,MAAMG,cACJ;AAEF,SAASC,kBAAkBC,SAAiB;IAC1C,OAAOA,UAAU,OAAO,CAAC,qBAAqB;AAChD;AAEA,SAASC,aAAaD,YAAoBJ,gBAAgB;IACxD,IAAI,CAACJ,IAAI,GAAG,CAACQ,YAAY;QACvB,MAAME,SAASC,GAAGH,WAAW,CAAC;QAC9BE,OAAO,EAAE,CAAC,WAAW;YACnBE,QAAQ,GAAG,CAAC,CAAC,eAAe,EAAEL,kBAAkBC,YAAY;QAC9D;QACAR,IAAI,GAAG,CAACQ,WAAWE;IACrB;IACA,OAAOV,IAAI,GAAG,CAACQ;AACjB;AAEO,SAASK,UAAUC,UAAmB,EAAEN,SAAkB;IAC/D,MAAMO,oBACJP,aACAQ,UAAU;QACR,MAAMF;QACN,UAAUX,SAAS,QAAQ;QAC3B,UAAUA,SAAS,QAAQ;IAC7B;IACF,MAAMO,SAASD,aACbK,cAAcN,YAAYO,oBAAoBX;IAEhD,OAAOM;AACT;AAEO,SAASM,UAAU,EACxBC,IAAI,EACJC,QAAQ,EACRC,QAAQ,EAKT;IACC,IAAI,AAAe,MAAf,OAAOC,KAAqB;QAC9B,MAAMC,MAAM,IAAID,IAAI;QACpBC,IAAI,IAAI,GAAGC,OAAOL;QAClBI,IAAI,QAAQ,GAAGF;QACfE,IAAI,QAAQ,GAAGlB,SAAS,QAAQ,CAAC,QAAQ,CAAC,WAAW,QAAQ;QAC7D,OAAOG,YAAY,IAAI,CAACa,aAAaA,SAAS,QAAQ,CAAC,eACnDE,IAAI,QAAQ,KACZ,GAAGH,SAAS,EAAE,EAAEC,UAAU;IAChC;IAGA,MAAMI,QAAQL,AAA0B,OAA1BA,SAAS,OAAO,CAAC,OAAc,MAAM;IACnD,OAAO,GAAGA,WAAWK,MAAM,EAAE,EAAEJ,SAAS,CAAC,EAAEF,MAAM;AACnD"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rsdoctor/components",
|
|
3
|
-
"version": "1.5.
|
|
3
|
+
"version": "1.5.16",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"repository": {
|
|
@@ -74,9 +74,9 @@
|
|
|
74
74
|
"react-markdown": "^9.1.0",
|
|
75
75
|
"socket.io-client": "4.8.1",
|
|
76
76
|
"url-parse": "1.5.10",
|
|
77
|
-
"@rsdoctor/
|
|
78
|
-
"@rsdoctor/
|
|
79
|
-
"@rsdoctor/
|
|
77
|
+
"@rsdoctor/graph": "1.5.16",
|
|
78
|
+
"@rsdoctor/types": "1.5.16",
|
|
79
|
+
"@rsdoctor/utils": "1.5.16"
|
|
80
80
|
},
|
|
81
81
|
"peerDependencies": {
|
|
82
82
|
"react": ">=19",
|