miqro 6.0.9 → 6.0.11

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 (78) hide show
  1. package/build/editor.bundle.js +29 -12
  2. package/build/esm/editor/common/log-socket.d.ts +3 -1
  3. package/build/esm/editor/common/log-socket.js +4 -1
  4. package/build/esm/editor/common/log-socket.js.map +1 -1
  5. package/build/esm/editor/common/templates.js +5 -5
  6. package/build/esm/editor/components/editor.js +4 -1
  7. package/build/esm/editor/components/editor.js.map +1 -1
  8. package/build/esm/editor/components/file-browser.js +28 -23
  9. package/build/esm/editor/components/file-browser.js.map +1 -1
  10. package/build/esm/editor/components/file-editor-toolbar.js +4 -4
  11. package/build/esm/editor/components/file-editor-toolbar.js.map +1 -1
  12. package/build/esm/editor/http/admin/editor/api/server/reload.api.js +2 -1
  13. package/build/esm/editor/http/admin/editor/api/server/reload.api.js.map +1 -1
  14. package/build/esm/editor/http/admin/editor/index.api.js +1 -1
  15. package/build/esm/src/cluster.js +0 -0
  16. package/build/esm/src/common/arguments.js +12 -7
  17. package/build/esm/src/common/arguments.js.map +1 -1
  18. package/build/esm/src/common/assets.d.ts +1 -0
  19. package/build/esm/src/common/assets.js +1 -1
  20. package/build/esm/src/common/assets.js.map +1 -1
  21. package/build/esm/src/common/jsx.d.ts +3 -3
  22. package/build/esm/src/common/jsx.js +36 -22
  23. package/build/esm/src/common/jsx.js.map +1 -1
  24. package/build/esm/src/common/watch.d.ts +3 -1
  25. package/build/esm/src/common/watch.js +5 -0
  26. package/build/esm/src/common/watch.js.map +1 -1
  27. package/build/esm/src/main.js +0 -0
  28. package/build/esm/src/services/app.d.ts +6 -1
  29. package/build/esm/src/services/app.js +36 -117
  30. package/build/esm/src/services/app.js.map +1 -1
  31. package/build/esm/src/services/utils/admin-interface.d.ts +3 -0
  32. package/build/esm/src/services/utils/admin-interface.js +34 -0
  33. package/build/esm/src/services/utils/admin-interface.js.map +1 -0
  34. package/build/esm/src/services/utils/cluster-cache.d.ts +2 -1
  35. package/build/esm/src/services/utils/cluster-cache.js +5 -1
  36. package/build/esm/src/services/utils/cluster-cache.js.map +1 -1
  37. package/build/esm/src/services/utils/cluster-ws.d.ts +1 -0
  38. package/build/esm/src/services/utils/cluster-ws.js +4 -0
  39. package/build/esm/src/services/utils/cluster-ws.js.map +1 -1
  40. package/build/esm/src/services/utils/db-manager.d.ts +1 -0
  41. package/build/esm/src/services/utils/db-manager.js +12 -0
  42. package/build/esm/src/services/utils/db-manager.js.map +1 -1
  43. package/build/esm/src/services/utils/log-transport.d.ts +7 -0
  44. package/build/esm/src/services/utils/log-transport.js +75 -0
  45. package/build/esm/src/services/utils/log-transport.js.map +1 -0
  46. package/build/esm/src/services/utils/websocketmanager.d.ts +1 -0
  47. package/build/esm/src/services/utils/websocketmanager.js +11 -3
  48. package/build/esm/src/services/utils/websocketmanager.js.map +1 -1
  49. package/build/esm/src/types.d.ts +2 -0
  50. package/build/lib.cjs +1268 -1195
  51. package/editor/common/log-socket.tsx +4 -1
  52. package/editor/common/templates.ts +5 -5
  53. package/editor/components/editor.tsx +4 -1
  54. package/editor/components/file-browser.tsx +48 -35
  55. package/editor/components/file-editor-toolbar.tsx +4 -0
  56. package/editor/http/admin/editor/api/server/reload.api.ts +2 -1
  57. package/editor/http/admin/editor/index.api.tsx +4 -4
  58. package/package.json +9 -7
  59. package/sea/compile.sh +8 -5
  60. package/sea/install-esbuild.sh +1 -1
  61. package/sea/install-nodejs.sh +1 -1
  62. package/sea/node.version.tag +1 -1
  63. package/sea/types.json +1 -1
  64. package/sea/version.tag.js +11 -0
  65. package/src/common/arguments.ts +11 -7
  66. package/src/common/assets.ts +1 -1
  67. package/src/common/jsx.ts +35 -23
  68. package/src/common/watch.ts +5 -0
  69. package/src/services/app.ts +37 -115
  70. package/src/services/utils/admin-interface.ts +37 -0
  71. package/src/services/utils/cluster-cache.ts +6 -1
  72. package/src/services/utils/cluster-ws.ts +6 -1
  73. package/src/services/utils/db-manager.ts +13 -0
  74. package/src/services/utils/log-transport.ts +75 -0
  75. package/src/services/utils/websocketmanager.ts +13 -3
  76. package/src/types/miqro.d.ts +2 -2
  77. package/src/types.ts +3 -0
  78. package/package.json--OLD +0 -36
@@ -0,0 +1,75 @@
1
+ import { ConsoleTransport, FileTransport, LoggerTransportWriteArgs, LogLevel, WriteArgs } from "@miqro/core";
2
+ import { format } from "node:util";
3
+ import { LOG_SOCKET_PATH, LOG_WRITE_EVENT } from "../../../editor/common/constants.js";
4
+ import { Miqro } from "../app.js";
5
+
6
+ export function createLogProviderOptions(app: Miqro) {
7
+ const defaultConsole = ConsoleTransport();
8
+ const defaultFile = FileTransport();
9
+ const defaultWrite = async (args: LoggerTransportWriteArgs, level?: LogLevel) => {
10
+ try {
11
+ const serviceNamesWithLogConfigReplaceConsole = level === undefined && app.inflated ?
12
+ Object.keys(app.inflated.logConfigMap).filter(serviceName => app.inflated.logConfigMap[serviceName].replaceConsoleTransport) : [];
13
+ const serviceNamesWithLogConfigReplaceFile = level === undefined && app.inflated ?
14
+ Object.keys(app.inflated.logConfigMap).filter(serviceName => app.inflated.logConfigMap[serviceName].replaceFileTransport) : [];
15
+ await Promise.allSettled((level === undefined ?
16
+ [
17
+ level === undefined && serviceNamesWithLogConfigReplaceConsole.length === 0 ?
18
+ defaultConsole.write(args) : Promise.resolve(),
19
+ level === undefined && serviceNamesWithLogConfigReplaceFile.length === 0 ?
20
+ defaultFile.write(args) : Promise.resolve()
21
+ ] : []).concat(app.inflated ?
22
+ Object.keys(app.inflated.logConfigMap).map(serviceName => app.inflated.logConfigMap[serviceName]).filter(c => c.level === level).map(c => c.write(args)) : []
23
+ ));
24
+ } catch (e) {
25
+ console.error(e);
26
+ }
27
+ }
28
+ return {
29
+ name: app.options.name,
30
+ formatter: (args: WriteArgs) => {
31
+ const params: string[] = args.optionalParams;
32
+ return format(
33
+ `${new Date().toISOString()} PID[${process.pid}] ${args.identifier ? `[${args.identifier}] ` : ""}${args.level !== "info" ? (args.level === "error" || args.level === "warn" ? `[${args.level.toUpperCase()}] ` : `[${args.level}] `) : ""}${args.message}`,
34
+ ...params)
35
+ },
36
+ transports: [
37
+ ...(([undefined, "error", "warn", "info", "debug", "trace"] as LogLevel[]).map(level => {
38
+ return level ? {
39
+ level,
40
+ write: async (args) => {
41
+ await defaultWrite(args, level);
42
+ }
43
+ } : {
44
+ write: async (args) => {
45
+ await defaultWrite(args, undefined);
46
+ }
47
+ }
48
+ })), {
49
+ level: "trace" as LogLevel,
50
+ write: async (args) => {
51
+ try {
52
+ if (app.options.editor) {
53
+ try {
54
+ const ws = app.webSocketManager.getWS(LOG_SOCKET_PATH);
55
+ if (ws) {
56
+ //console.log("\n\n" + process.pid + " broadcasting " + LOG_SOCKET_PATH + "\n\n\n")
57
+ await ws.broadcast(JSON.stringify({
58
+ type: LOG_WRITE_EVENT,
59
+ level: args.level,
60
+ identifier: args.identifier,
61
+ out: args.out
62
+ }));
63
+ }
64
+ } catch (e) {
65
+ console.error(e);
66
+ }
67
+ }
68
+ } catch (e) {
69
+ console.error(e);
70
+ }
71
+ }
72
+ }],
73
+ ...(app.options.logProviderOptions ? app.options.logProviderOptions : {})
74
+ };
75
+ }
@@ -20,8 +20,18 @@ export class WebSocketManager {
20
20
  this.name = options && options.name ? options.name : "WebSocketManager";
21
21
  this.avoidLogSocket = options && options.avoidLogSocket ? options.avoidLogSocket : false;
22
22
  }
23
+
24
+ public deleteWS(path: string) {
25
+ const ws = this.runningGlobalWSMap.get(path);
26
+ this.disconnectAllFrom(path);
27
+ ws.dispose();
28
+ this.runningGlobalWSMap.delete(path);
29
+ }
30
+
23
31
  public deleteAllWS() {
24
- this.runningGlobalWSMap.clear();
32
+ for (const path of this.runningGlobalWSMap.keys()) {
33
+ this.deleteWS(path);
34
+ }
25
35
  }
26
36
 
27
37
  public getWS(path: string): ClusterWebSocketServer2 | undefined {
@@ -45,7 +55,7 @@ export class WebSocketManager {
45
55
  public replaceALLWSBuLOGSocket(list: WSConfig[]) {
46
56
  for (const path of this.runningGlobalWSMap.keys()) {
47
57
  if (path !== LOG_SOCKET_PATH || !this.avoidLogSocket) {
48
- this.runningGlobalWSMap.delete(path);
58
+ this.deleteWS(path);
49
59
  }
50
60
  }
51
61
  for (const wsConfig of list) {
@@ -85,7 +95,7 @@ export class WebSocketManager {
85
95
  }
86
96
  }
87
97
  }
88
- ws.dispose();
98
+ //ws.dispose();
89
99
  }
90
100
  } catch (e) {
91
101
  this.logger?.error("error disconnecting web socket clients");
@@ -105,5 +105,5 @@ export interface ServerRequest extends Request {
105
105
  export interface ServerResponse extends Response {
106
106
  }
107
107
 
108
- export { App, LoggerHandler, Router } from "@miqro/core/lib.js";
109
- export { migration } from "@miqro/query/lib.js";
108
+ export { App, LoggerHandler, Router, APIRoute } from "@miqro/core/lib.js";
109
+ export { migration, Migration } from "@miqro/query/lib.js";
package/src/types.ts CHANGED
@@ -41,6 +41,9 @@ declare global {
41
41
  }
42
42
  }
43
43
 
44
+ export { APIRoute } from "@miqro/core";
45
+ export { Migration } from "@miqro/query";
46
+
44
47
  export interface ServerGlobal {
45
48
  encodeHTML: (str: string) => string;
46
49
  inflateMDtoHTML: (str: string) => string;
package/package.json--OLD DELETED
@@ -1,36 +0,0 @@
1
- {
2
- "name": "miqro",
3
- "version": "5.0.5",
4
- "description": "",
5
- "main": "build/index.js",
6
- "types": "build/index.d.ts",
7
- "type": "module",
8
- "bin": {
9
- "miqro": "build/cli.js"
10
- },
11
- "scripts": {
12
- "prepare2": "npm run build",
13
- "prebuild": "rm -Rf build;",
14
- "build": "tsc",
15
- "pretest": "npm run build",
16
- "test": "node --enable-source-maps --test test/**.test.js",
17
- "coverage": "node --enable-source-maps --experimental-test-coverage --test test/**.test.js"
18
- },
19
- "author": "claukers",
20
- "license": "ISC",
21
- "dependencies": {
22
- "@miqro/core": "^5.0.12",
23
- "@miqro/query": "^0.0.3",
24
- "@miqro/parser": "^2.0.4",
25
- "@miqro/runner": "^2.0.1"
26
- },
27
- "devDependencies": {
28
- "@types/cookie": "0.6.0",
29
- "@types/node": "^20.4.5",
30
- "typescript": "5.3.3"
31
- },
32
- "engines": {
33
- "node": ">=18.0.0",
34
- "npm": ">=6.0.0"
35
- }
36
- }