@rsdoctor/sdk 0.0.2-beta.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.
Files changed (96) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +15 -0
  3. package/dist/cjs/index.js +22 -0
  4. package/dist/cjs/sdk/index.js +24 -0
  5. package/dist/cjs/sdk/multiple/controller.js +72 -0
  6. package/dist/cjs/sdk/multiple/index.js +24 -0
  7. package/dist/cjs/sdk/multiple/server.js +41 -0
  8. package/dist/cjs/sdk/multiple/slave.js +98 -0
  9. package/dist/cjs/sdk/sdk/core.js +185 -0
  10. package/dist/cjs/sdk/sdk/index.js +31 -0
  11. package/dist/cjs/sdk/sdk/types.js +16 -0
  12. package/dist/cjs/sdk/sdk/webpack.js +373 -0
  13. package/dist/cjs/sdk/server/apis/alerts.js +52 -0
  14. package/dist/cjs/sdk/server/apis/base.js +46 -0
  15. package/dist/cjs/sdk/server/apis/bundle-diff.js +79 -0
  16. package/dist/cjs/sdk/server/apis/data.js +66 -0
  17. package/dist/cjs/sdk/server/apis/fs.js +50 -0
  18. package/dist/cjs/sdk/server/apis/graph.js +117 -0
  19. package/dist/cjs/sdk/server/apis/index.js +38 -0
  20. package/dist/cjs/sdk/server/apis/loader.js +127 -0
  21. package/dist/cjs/sdk/server/apis/plugin.js +58 -0
  22. package/dist/cjs/sdk/server/apis/project.js +82 -0
  23. package/dist/cjs/sdk/server/apis/renderer.js +74 -0
  24. package/dist/cjs/sdk/server/apis/resolver.js +57 -0
  25. package/dist/cjs/sdk/server/fakeServer.js +38 -0
  26. package/dist/cjs/sdk/server/index.js +184 -0
  27. package/dist/cjs/sdk/server/router.js +116 -0
  28. package/dist/cjs/sdk/server/socket/api.js +49 -0
  29. package/dist/cjs/sdk/server/socket/index.js +104 -0
  30. package/dist/cjs/sdk/server/utils.js +38 -0
  31. package/dist/cjs/sdk/utils/constant.js +41 -0
  32. package/dist/cjs/sdk/utils/index.js +24 -0
  33. package/dist/cjs/sdk/utils/upload.js +33 -0
  34. package/dist/esm/index.js +1 -0
  35. package/dist/esm/sdk/index.js +2 -0
  36. package/dist/esm/sdk/multiple/controller.js +48 -0
  37. package/dist/esm/sdk/multiple/index.js +2 -0
  38. package/dist/esm/sdk/multiple/server.js +17 -0
  39. package/dist/esm/sdk/multiple/slave.js +64 -0
  40. package/dist/esm/sdk/sdk/core.js +151 -0
  41. package/dist/esm/sdk/sdk/index.js +5 -0
  42. package/dist/esm/sdk/sdk/types.js +0 -0
  43. package/dist/esm/sdk/sdk/webpack.js +349 -0
  44. package/dist/esm/sdk/server/apis/alerts.js +30 -0
  45. package/dist/esm/sdk/server/apis/base.js +22 -0
  46. package/dist/esm/sdk/server/apis/bundle-diff.js +57 -0
  47. package/dist/esm/sdk/server/apis/data.js +44 -0
  48. package/dist/esm/sdk/server/apis/fs.js +28 -0
  49. package/dist/esm/sdk/server/apis/graph.js +95 -0
  50. package/dist/esm/sdk/server/apis/index.js +9 -0
  51. package/dist/esm/sdk/server/apis/loader.js +105 -0
  52. package/dist/esm/sdk/server/apis/plugin.js +36 -0
  53. package/dist/esm/sdk/server/apis/project.js +50 -0
  54. package/dist/esm/sdk/server/apis/renderer.js +42 -0
  55. package/dist/esm/sdk/server/apis/resolver.js +35 -0
  56. package/dist/esm/sdk/server/fakeServer.js +14 -0
  57. package/dist/esm/sdk/server/index.js +148 -0
  58. package/dist/esm/sdk/server/router.js +92 -0
  59. package/dist/esm/sdk/server/socket/api.js +25 -0
  60. package/dist/esm/sdk/server/socket/index.js +82 -0
  61. package/dist/esm/sdk/server/utils.js +14 -0
  62. package/dist/esm/sdk/utils/constant.js +7 -0
  63. package/dist/esm/sdk/utils/index.js +2 -0
  64. package/dist/esm/sdk/utils/upload.js +9 -0
  65. package/dist/type/index.d.ts +1 -0
  66. package/dist/type/sdk/index.d.ts +2 -0
  67. package/dist/type/sdk/multiple/controller.d.ts +16 -0
  68. package/dist/type/sdk/multiple/index.d.ts +2 -0
  69. package/dist/type/sdk/multiple/server.d.ts +7 -0
  70. package/dist/type/sdk/multiple/slave.d.ts +35 -0
  71. package/dist/type/sdk/sdk/core.d.ts +35 -0
  72. package/dist/type/sdk/sdk/index.d.ts +2 -0
  73. package/dist/type/sdk/sdk/types.d.ts +28 -0
  74. package/dist/type/sdk/sdk/webpack.d.ts +47 -0
  75. package/dist/type/sdk/server/apis/alerts.d.ts +5 -0
  76. package/dist/type/sdk/server/apis/base.d.ts +11 -0
  77. package/dist/type/sdk/server/apis/bundle-diff.d.ts +6 -0
  78. package/dist/type/sdk/server/apis/data.d.ts +6 -0
  79. package/dist/type/sdk/server/apis/fs.d.ts +5 -0
  80. package/dist/type/sdk/server/apis/graph.d.ts +12 -0
  81. package/dist/type/sdk/server/apis/index.d.ts +9 -0
  82. package/dist/type/sdk/server/apis/loader.d.ts +16 -0
  83. package/dist/type/sdk/server/apis/plugin.d.ts +6 -0
  84. package/dist/type/sdk/server/apis/project.d.ts +8 -0
  85. package/dist/type/sdk/server/apis/renderer.d.ts +7 -0
  86. package/dist/type/sdk/server/apis/resolver.d.ts +6 -0
  87. package/dist/type/sdk/server/fakeServer.d.ts +7 -0
  88. package/dist/type/sdk/server/index.d.ts +27 -0
  89. package/dist/type/sdk/server/router.d.ts +25 -0
  90. package/dist/type/sdk/server/socket/api.d.ts +15 -0
  91. package/dist/type/sdk/server/socket/index.d.ts +28 -0
  92. package/dist/type/sdk/server/utils.d.ts +5 -0
  93. package/dist/type/sdk/utils/constant.d.ts +1 -0
  94. package/dist/type/sdk/utils/index.d.ts +2 -0
  95. package/dist/type/sdk/utils/upload.d.ts +2 -0
  96. package/package.json +51 -0
@@ -0,0 +1,184 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
21
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
22
+ // If the importer is in node compatibility mode or this is not an ESM
23
+ // file that has been converted to a CommonJS file using a Babel-
24
+ // compatible transform (i.e. "__esModule" has not been set), then set
25
+ // "default" to the CommonJS "module.exports" for node compatibility.
26
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
27
+ mod
28
+ ));
29
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
30
+ var server_exports = {};
31
+ __export(server_exports, {
32
+ DoctorServer: () => DoctorServer
33
+ });
34
+ module.exports = __toCommonJS(server_exports);
35
+ var import_types = require("@rsdoctor/types");
36
+ var import_build = require("@rsdoctor/utils/build");
37
+ var import_common = require("@rsdoctor/utils/common");
38
+ var import_assert = __toESM(require("assert"));
39
+ var import_body_parser = __toESM(require("body-parser"));
40
+ var import_open = __toESM(require("open"));
41
+ var import_ip = __toESM(require("ip"));
42
+ var import_cors = __toESM(require("cors"));
43
+ var import_stream = require("stream");
44
+ var import_socket = require("./socket");
45
+ var import_router = require("./router");
46
+ var APIs = __toESM(require("./apis"));
47
+ __reExport(server_exports, require("./utils"), module.exports);
48
+ class DoctorServer {
49
+ constructor(sdk, port = import_build.Server.defaultPort) {
50
+ this.sdk = sdk;
51
+ this.disposed = true;
52
+ this.get = (route, cb) => {
53
+ const { app } = this;
54
+ app.use(route, this.wrapNextHandleFunction("GET", cb));
55
+ return app;
56
+ };
57
+ this.post = (route, cb) => {
58
+ const { app } = this;
59
+ app.use(route, this.wrapNextHandleFunction("POST", cb));
60
+ return app;
61
+ };
62
+ this.dispose = async () => {
63
+ if (this.disposed)
64
+ return;
65
+ this.disposed = true;
66
+ if (this._server) {
67
+ await this._server.close();
68
+ }
69
+ if (this._socket) {
70
+ this._socket.dispose();
71
+ }
72
+ };
73
+ (0, import_assert.default)(typeof port === "number");
74
+ this.port = port;
75
+ this._router = new import_router.Router({ sdk, server: this, apis: Object.values(APIs) });
76
+ }
77
+ get app() {
78
+ return this._server.app;
79
+ }
80
+ get origin() {
81
+ const host = import_ip.default.address();
82
+ return `http://${host}:${this.port}`;
83
+ }
84
+ get socketUrl() {
85
+ return `ws://${import_ip.default.address()}:${this.port}`;
86
+ }
87
+ async bootstrap() {
88
+ if (!this.disposed) {
89
+ return;
90
+ }
91
+ const port = import_build.Server.getPortSync(this.port);
92
+ this.port = port;
93
+ this._server = await import_build.Server.createServer(port);
94
+ this._socket = new import_socket.Socket({
95
+ sdk: this.sdk,
96
+ server: this._server.server,
97
+ port: this.port
98
+ });
99
+ await this._socket.bootstrap();
100
+ this.disposed = false;
101
+ this.app.use((0, import_cors.default)());
102
+ this.app.use(import_body_parser.default.json({ limit: "500mb" }));
103
+ await this._router.setup();
104
+ process.once("exit", this.dispose);
105
+ process.once("SIGINT", this.dispose);
106
+ process.once("SIGTERM", this.dispose);
107
+ process.once("unhandledRejection", this.dispose);
108
+ process.once("uncaughtException", this.dispose);
109
+ }
110
+ wrapNextHandleFunction(method, cb) {
111
+ return async (req, res, next) => {
112
+ const m = req.method?.toUpperCase();
113
+ if (m === method) {
114
+ try {
115
+ const body = await cb(req, res, next);
116
+ res.setHeader("Access-Control-Allow-Origin", "*");
117
+ res.setHeader("Access-Control-Allow-Credentials", "true");
118
+ res.statusCode = 200;
119
+ if (Buffer.isBuffer(body)) {
120
+ res.setHeader("Content-Length", body.byteLength);
121
+ const ps = new import_stream.PassThrough();
122
+ ps.write(body);
123
+ ps.end();
124
+ ps.pipe(res);
125
+ } else if (body && typeof body === "object") {
126
+ res.writeHead(200, {
127
+ "Content-Type": "application/json;utf-8"
128
+ });
129
+ res.write(JSON.stringify(body));
130
+ res.end();
131
+ } else {
132
+ res.writeHead(200).end(body);
133
+ }
134
+ } catch (error) {
135
+ res.statusCode = 500;
136
+ res.end(error.message);
137
+ return next(error);
138
+ }
139
+ return;
140
+ }
141
+ await next();
142
+ };
143
+ }
144
+ proxy(api, method, cb) {
145
+ let idx = this.app.stack.findIndex((e) => e.route === api);
146
+ if (idx === -1) {
147
+ idx = this.app.stack.length - 1;
148
+ }
149
+ this.app.stack.splice(idx, 0, {
150
+ route: api,
151
+ handle: this.wrapNextHandleFunction(method, cb)
152
+ });
153
+ }
154
+ getClientUrl(route = "homepage", ...args) {
155
+ const url = `${this.origin}${import_types.SDK.ServerAPI.API.EntryHtml}`;
156
+ switch (route) {
157
+ case import_types.Client.DoctorClientRoutes.BundleDiff: {
158
+ const [baseline, current] = args;
159
+ const qs = import_common.Bundle.getBundleDiffPageQueryString([baseline, current]);
160
+ return `${url}${qs}#${import_types.Client.DoctorClientRoutes.BundleDiff}`;
161
+ }
162
+ default:
163
+ return url;
164
+ }
165
+ }
166
+ async openClientPage(...args) {
167
+ const url = this.getClientUrl(
168
+ ...args
169
+ );
170
+ await (0, import_open.default)(url);
171
+ console.log(`Rsdoctor analyze run at: ${url}`);
172
+ }
173
+ sendAPIDataToClient(api, msg) {
174
+ this._socket?.sendAPIData(api, msg);
175
+ }
176
+ async broadcast() {
177
+ await this._socket?.broadcast();
178
+ }
179
+ }
180
+ // Annotate the CommonJS export names for ESM import in node:
181
+ 0 && (module.exports = {
182
+ DoctorServer,
183
+ ...require("./utils")
184
+ });
@@ -0,0 +1,116 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var router_exports = {};
20
+ __export(router_exports, {
21
+ Router: () => Router
22
+ });
23
+ module.exports = __toCommonJS(router_exports);
24
+ const _Router = class _Router {
25
+ constructor(options) {
26
+ this.options = options;
27
+ }
28
+ static get(pathname) {
29
+ return (target, propertyKey, descriptor) => {
30
+ const routes = _Router.routes.get;
31
+ if (!routes.has(target.constructor)) {
32
+ routes.set(target.constructor, []);
33
+ }
34
+ routes.get(target.constructor).push([propertyKey, pathname]);
35
+ return descriptor;
36
+ };
37
+ }
38
+ static post(pathname) {
39
+ return (target, propertyKey, descriptor) => {
40
+ const routes = _Router.routes.post;
41
+ if (!routes.has(target.constructor)) {
42
+ routes.set(target.constructor, []);
43
+ }
44
+ routes.get(target.constructor).push([propertyKey, pathname]);
45
+ return descriptor;
46
+ };
47
+ }
48
+ async setup() {
49
+ const { apis, sdk, server } = this.options;
50
+ apis.forEach((API) => {
51
+ const obj = new API(sdk, server);
52
+ _Router.routes.get.forEach((v, cons) => {
53
+ v.forEach(([key, pathname]) => {
54
+ if (cons === API) {
55
+ server.get(pathname, this.wrapAPIFunction(obj, key));
56
+ }
57
+ });
58
+ });
59
+ _Router.routes.post.forEach((v, cons) => {
60
+ v.forEach(([key, pathname]) => {
61
+ if (cons === API) {
62
+ server.post(pathname, this.wrapAPIFunction(obj, key));
63
+ }
64
+ });
65
+ });
66
+ });
67
+ }
68
+ wrapAPIFunction(api, key) {
69
+ const { sdk, server } = this.options;
70
+ return async (req, res) => {
71
+ const ctx = {
72
+ req,
73
+ res,
74
+ sdk,
75
+ server
76
+ };
77
+ const trap = new Proxy(api, {
78
+ get(target, key2, receiver) {
79
+ switch (key2) {
80
+ case "ctx":
81
+ return ctx;
82
+ default:
83
+ return Reflect.get(target, key2, receiver);
84
+ }
85
+ },
86
+ set(target, key2, value, receiver) {
87
+ return Reflect.set(target, key2, value, receiver);
88
+ },
89
+ defineProperty(target, p, attrs) {
90
+ return Reflect.defineProperty(target, p, attrs);
91
+ }
92
+ });
93
+ const fn = api[key];
94
+ const result = await fn.call(trap, trap);
95
+ if (typeof result === "string") {
96
+ return Buffer.from(result, "utf-8");
97
+ }
98
+ if (result && typeof result === "object") {
99
+ return Buffer.from(JSON.stringify(result), "utf-8");
100
+ }
101
+ return result;
102
+ };
103
+ }
104
+ };
105
+ _Router.routes = {
106
+ /**
107
+ * - `key` is the constuctor of object which used to match the API class
108
+ */
109
+ get: /* @__PURE__ */ new Map(),
110
+ post: /* @__PURE__ */ new Map()
111
+ };
112
+ let Router = _Router;
113
+ // Annotate the CommonJS export names for ESM import in node:
114
+ 0 && (module.exports = {
115
+ Router
116
+ });
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var api_exports = {};
20
+ __export(api_exports, {
21
+ SocketAPILoader: () => SocketAPILoader
22
+ });
23
+ module.exports = __toCommonJS(api_exports);
24
+ var import_common = require("@rsdoctor/utils/common");
25
+ class SocketAPILoader {
26
+ constructor(options) {
27
+ this.options = options;
28
+ this.dataLoader = new import_common.Data.APIDataLoader(this);
29
+ }
30
+ async loadManifest() {
31
+ return this.options.sdk.getManifestData();
32
+ }
33
+ async loadData(key) {
34
+ const data = this.options.sdk.getStoreData();
35
+ const sep = ".";
36
+ let res = data[key];
37
+ if (key.includes(sep)) {
38
+ res = key.split(sep).reduce((t, k) => t[k], data);
39
+ }
40
+ return res;
41
+ }
42
+ get loadAPIData() {
43
+ return this.dataLoader.loadAPI;
44
+ }
45
+ }
46
+ // Annotate the CommonJS export names for ESM import in node:
47
+ 0 && (module.exports = {
48
+ SocketAPILoader
49
+ });
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var socket_exports = {};
20
+ __export(socket_exports, {
21
+ Socket: () => Socket
22
+ });
23
+ module.exports = __toCommonJS(socket_exports);
24
+ var import_types = require("@rsdoctor/types");
25
+ var import_socket = require("socket.io");
26
+ var import_util = require("util");
27
+ var import_api = require("./api");
28
+ class Socket {
29
+ constructor(options) {
30
+ this.options = options;
31
+ this.map = /* @__PURE__ */ new Map();
32
+ this.loader = new import_api.SocketAPILoader({ sdk: options.sdk });
33
+ }
34
+ bootstrap() {
35
+ this.io = new import_socket.Server(this.options.server, {
36
+ cors: {
37
+ origin: "*"
38
+ },
39
+ ...this.options.socketOptions
40
+ });
41
+ this.io.on("connection", (socket) => {
42
+ this.setupSocket(socket);
43
+ });
44
+ }
45
+ setupSocket(socket) {
46
+ Object.values(import_types.SDK.ServerAPI.API).forEach((api) => {
47
+ socket.on(api, async (body, callback) => {
48
+ this.saveRequestToMap(api, body);
49
+ callback(await this.getAPIResponse(api, body));
50
+ });
51
+ });
52
+ }
53
+ saveRequestToMap(api, body = null) {
54
+ if (!this.map.has(api)) {
55
+ this.map.set(api, []);
56
+ }
57
+ const list = this.map.get(api);
58
+ if (!list.some((e) => e === body || (0, import_util.isDeepStrictEqual)(e, body))) {
59
+ list.push(body);
60
+ }
61
+ }
62
+ async getAPIResponse(api, body) {
63
+ const data = await this.loader.loadAPIData(
64
+ api,
65
+ body
66
+ );
67
+ const response = {
68
+ req: {
69
+ api,
70
+ body
71
+ },
72
+ res: data
73
+ };
74
+ return response;
75
+ }
76
+ async broadcast() {
77
+ clearImmediate(this.timer);
78
+ this.timer = setImmediate(async () => {
79
+ const promises = [];
80
+ this.map.forEach((bodies, api) => {
81
+ bodies.forEach((body) => {
82
+ promises.push(
83
+ (async () => {
84
+ const res = await this.getAPIResponse(api, body);
85
+ this.io.emit(api, res);
86
+ })()
87
+ );
88
+ });
89
+ });
90
+ await Promise.all(promises);
91
+ });
92
+ }
93
+ sendAPIData(api, msg) {
94
+ this.io.sockets.emit(api, msg);
95
+ }
96
+ dispose() {
97
+ this.io.disconnectSockets();
98
+ this.io.close();
99
+ }
100
+ }
101
+ // Annotate the CommonJS export names for ESM import in node:
102
+ 0 && (module.exports = {
103
+ Socket
104
+ });
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var utils_exports = {};
20
+ __export(utils_exports, {
21
+ getDataByPagination: () => getDataByPagination
22
+ });
23
+ module.exports = __toCommonJS(utils_exports);
24
+ function getDataByPagination(data, pagination) {
25
+ const { page = 1, pageSize = 1e3 } = pagination;
26
+ return {
27
+ data: data.slice((page - 1) * pageSize, page * pageSize),
28
+ pagination: {
29
+ page,
30
+ pageSize,
31
+ hasNextPage: page <= 0 ? false : page * pageSize < data.length
32
+ }
33
+ };
34
+ }
35
+ // Annotate the CommonJS export names for ESM import in node:
36
+ 0 && (module.exports = {
37
+ getDataByPagination
38
+ });
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var constant_exports = {};
30
+ __export(constant_exports, {
31
+ CLOUD_DIR: () => CLOUD_DIR
32
+ });
33
+ module.exports = __toCommonJS(constant_exports);
34
+ var import_dayjs = __toESM(require("dayjs"));
35
+ const CLOUD_DIR = `rsdoctor/manifests/${(0, import_dayjs.default)().format(
36
+ "YYYYMMDD"
37
+ )}`;
38
+ // Annotate the CommonJS export names for ESM import in node:
39
+ 0 && (module.exports = {
40
+ CLOUD_DIR
41
+ });
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
16
+ var utils_exports = {};
17
+ module.exports = __toCommonJS(utils_exports);
18
+ __reExport(utils_exports, require("./constant"), module.exports);
19
+ __reExport(utils_exports, require("./upload"), module.exports);
20
+ // Annotate the CommonJS export names for ESM import in node:
21
+ 0 && (module.exports = {
22
+ ...require("./constant"),
23
+ ...require("./upload")
24
+ });
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var upload_exports = {};
20
+ __export(upload_exports, {
21
+ transformDataUrls: () => transformDataUrls
22
+ });
23
+ module.exports = __toCommonJS(upload_exports);
24
+ const transformDataUrls = (d) => {
25
+ return d.reduce((t, item) => {
26
+ t[item.name] = Array.isArray(item.files) ? item.files.map((e) => e.path) : item.files;
27
+ return t;
28
+ }, {});
29
+ };
30
+ // Annotate the CommonJS export names for ESM import in node:
31
+ 0 && (module.exports = {
32
+ transformDataUrls
33
+ });
@@ -0,0 +1 @@
1
+ export * from "./sdk";
@@ -0,0 +1,2 @@
1
+ export * from "./sdk";
2
+ export * from "./multiple";
@@ -0,0 +1,48 @@
1
+ import { DoctorSlaveSDK } from "./slave";
2
+ class DoctorSDKController {
3
+ constructor(root = process.cwd()) {
4
+ this.slaves = [];
5
+ this.root = "";
6
+ this.root = root;
7
+ }
8
+ get master() {
9
+ return this.slaves[0];
10
+ }
11
+ getLastSdk() {
12
+ return this.slaves[this.slaves.length - 1];
13
+ }
14
+ hasName(name) {
15
+ return Boolean(this.slaves.find((item) => item.name === name));
16
+ }
17
+ getSeriesData(serverUrl = false) {
18
+ return this.slaves.map((item) => {
19
+ const data = {
20
+ name: item.name,
21
+ path: item.diskManifestPath,
22
+ stage: item.stage
23
+ };
24
+ if (serverUrl) {
25
+ data.origin = item.server.origin;
26
+ }
27
+ return data;
28
+ });
29
+ }
30
+ createSlave({
31
+ name,
32
+ stage,
33
+ extraConfig
34
+ }) {
35
+ const slave = new DoctorSlaveSDK({
36
+ name,
37
+ stage,
38
+ controller: this,
39
+ extraConfig
40
+ });
41
+ this.slaves.push(slave);
42
+ this.slaves.sort((a, b) => a.stage - b.stage);
43
+ return slave;
44
+ }
45
+ }
46
+ export {
47
+ DoctorSDKController
48
+ };
@@ -0,0 +1,2 @@
1
+ export * from "./controller";
2
+ export * from "./slave";
@@ -0,0 +1,17 @@
1
+ import { Server } from "@rsdoctor/utils/build";
2
+ import { DoctorServer } from "../server";
3
+ class DoctorSlaveServer extends DoctorServer {
4
+ constructor(sdk, port = Server.defaultPort) {
5
+ super(sdk, port);
6
+ this.sdk = sdk;
7
+ }
8
+ async openClientPage(...args) {
9
+ if (this.sdk.isMaster) {
10
+ return super.openClientPage(...args);
11
+ }
12
+ return Promise.resolve();
13
+ }
14
+ }
15
+ export {
16
+ DoctorSlaveServer
17
+ };