miqro 6.3.0 → 7.0.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.
Files changed (216) hide show
  1. package/README.md +9 -17
  2. package/build/editor.bundle.js +11601 -10129
  3. package/build/esm/src/bin/types.js +10 -5
  4. package/build/esm/src/cluster.js +1 -1
  5. package/build/esm/src/common/arguments.d.ts +1 -1
  6. package/build/esm/src/common/arguments.js +28 -14
  7. package/build/esm/src/common/assets.d.ts +1 -1
  8. package/build/esm/src/common/assets.js +34 -13
  9. package/build/esm/src/common/esbuild.d.ts +4 -1
  10. package/build/esm/src/common/esbuild.js +31 -26
  11. package/build/esm/src/common/exit.js +4 -4
  12. package/build/esm/src/common/help.d.ts +1 -1
  13. package/build/esm/src/common/help.js +0 -1
  14. package/build/esm/src/common/jsx.d.ts +2 -3
  15. package/build/esm/src/common/jsx.js +70 -75
  16. package/build/esm/src/common/paths.d.ts +0 -1
  17. package/build/esm/src/common/paths.js +3 -3
  18. package/build/esm/src/common/watch.d.ts +0 -1
  19. package/build/esm/src/common/watch.js +1 -1
  20. package/build/esm/src/inflate/inflate-sea.js +35 -24
  21. package/build/esm/src/inflate/inflate.js +4 -4
  22. package/build/esm/src/inflate/setup-auth.js +1 -1
  23. package/build/esm/src/inflate/setup-cors.js +1 -1
  24. package/build/esm/src/inflate/setup-db.js +2 -2
  25. package/build/esm/src/inflate/setup-error.js +1 -1
  26. package/build/esm/src/inflate/setup-http.js +16 -16
  27. package/build/esm/src/inflate/setup-log.js +1 -1
  28. package/build/esm/src/inflate/setup-middleware.js +1 -1
  29. package/build/esm/src/inflate/setup-server-config.js +1 -1
  30. package/build/esm/src/inflate/setup-ws.js +1 -1
  31. package/build/esm/src/inflate/setup.doc.d.ts +2 -2
  32. package/build/esm/src/inflate/setup.doc.js +23 -2
  33. package/build/esm/src/inflate/utils/sea-utils.js +2 -2
  34. package/build/esm/src/lib.d.ts +10 -1
  35. package/build/esm/src/lib.js +16 -1
  36. package/build/esm/src/main.js +1 -1
  37. package/build/esm/src/services/app.js +3 -4
  38. package/build/esm/src/services/migrations.js +2 -2
  39. package/build/esm/src/services/utils/jwt.d.ts +2 -0
  40. package/build/esm/src/services/utils/jwt.js +23 -0
  41. package/build/esm/src/services/utils/middleware.d.ts +9 -0
  42. package/build/esm/src/services/utils/middleware.js +9 -0
  43. package/build/esm/src/services/utils/server-interface.js +33 -4
  44. package/build/esm/src/types.d.ts +50 -83
  45. package/build/lib.cjs +15684 -15612
  46. package/package.json +6 -8
  47. package/sea/basic-compile.base64.sh +1 -1
  48. package/sea/basic-compile.sh +1 -1
  49. package/sea/install-nodejs.sh +1 -1
  50. package/sea/node.version.tag +1 -1
  51. package/.eslintrc +0 -15
  52. package/build/esm/editor/auth.d.ts +0 -6
  53. package/build/esm/editor/auth.js +0 -41
  54. package/build/esm/editor/common/admin-interface.d.ts +0 -36
  55. package/build/esm/editor/common/admin-interface.js +0 -44
  56. package/build/esm/editor/common/constants.d.ts +0 -4
  57. package/build/esm/editor/common/constants.js +0 -20
  58. package/build/esm/editor/common/constants.server.d.ts +0 -2
  59. package/build/esm/editor/common/constants.server.js +0 -4
  60. package/build/esm/editor/common/editor-index.d.ts +0 -2
  61. package/build/esm/editor/common/editor-index.js +0 -14
  62. package/build/esm/editor/common/html-encode.d.ts +0 -1
  63. package/build/esm/editor/common/html-encode.js +0 -14
  64. package/build/esm/editor/common/log-socket.d.ts +0 -15
  65. package/build/esm/editor/common/log-socket.js +0 -70
  66. package/build/esm/editor/common/templates.d.ts +0 -11
  67. package/build/esm/editor/common/templates.js +0 -477
  68. package/build/esm/editor/components/api-preview.d.ts +0 -11
  69. package/build/esm/editor/components/api-preview.js +0 -90
  70. package/build/esm/editor/components/editor.d.ts +0 -16
  71. package/build/esm/editor/components/editor.js +0 -365
  72. package/build/esm/editor/components/file-browser.d.ts +0 -37
  73. package/build/esm/editor/components/file-browser.js +0 -126
  74. package/build/esm/editor/components/file-editor-toolbar.d.ts +0 -22
  75. package/build/esm/editor/components/file-editor-toolbar.js +0 -93
  76. package/build/esm/editor/components/file-editor.d.ts +0 -32
  77. package/build/esm/editor/components/file-editor.js +0 -59
  78. package/build/esm/editor/components/filter-query.d.ts +0 -1
  79. package/build/esm/editor/components/filter-query.js +0 -22
  80. package/build/esm/editor/components/highlight-text-area.d.ts +0 -11
  81. package/build/esm/editor/components/highlight-text-area.js +0 -125
  82. package/build/esm/editor/components/log-viewer.d.ts +0 -6
  83. package/build/esm/editor/components/log-viewer.js +0 -69
  84. package/build/esm/editor/components/new-file.d.ts +0 -10
  85. package/build/esm/editor/components/new-file.js +0 -117
  86. package/build/esm/editor/components/scroll-query.d.ts +0 -7
  87. package/build/esm/editor/components/scroll-query.js +0 -21
  88. package/build/esm/editor/components/start-page.d.ts +0 -13
  89. package/build/esm/editor/components/start-page.js +0 -30
  90. package/build/esm/editor/http/admin/editor/api/fs/delete.api.d.ts +0 -3
  91. package/build/esm/editor/http/admin/editor/api/fs/delete.api.js +0 -29
  92. package/build/esm/editor/http/admin/editor/api/fs/read.api.d.ts +0 -5
  93. package/build/esm/editor/http/admin/editor/api/fs/read.api.js +0 -49
  94. package/build/esm/editor/http/admin/editor/api/fs/rename.api.d.ts +0 -4
  95. package/build/esm/editor/http/admin/editor/api/fs/rename.api.js +0 -39
  96. package/build/esm/editor/http/admin/editor/api/fs/scan.api.d.ts +0 -26
  97. package/build/esm/editor/http/admin/editor/api/fs/scan.api.js +0 -149
  98. package/build/esm/editor/http/admin/editor/api/fs/write.api.d.ts +0 -3
  99. package/build/esm/editor/http/admin/editor/api/fs/write.api.js +0 -38
  100. package/build/esm/editor/http/admin/editor/api/server/reload.api.d.ts +0 -10
  101. package/build/esm/editor/http/admin/editor/api/server/reload.api.js +0 -46
  102. package/build/esm/editor/http/admin/editor/api/server/restart.api.d.ts +0 -10
  103. package/build/esm/editor/http/admin/editor/api/server/restart.api.js +0 -45
  104. package/build/esm/editor/http/admin/editor/editor.d.ts +0 -1
  105. package/build/esm/editor/http/admin/editor/editor.js +0 -7
  106. package/build/esm/editor/http/admin/editor/index.api.d.ts +0 -3
  107. package/build/esm/editor/http/admin/editor/index.api.js +0 -21
  108. package/build/esm/editor/server.d.ts +0 -3
  109. package/build/esm/editor/server.js +0 -49
  110. package/build/esm/editor/ws.d.ts +0 -3
  111. package/build/esm/editor/ws.js +0 -11
  112. package/build/esm/src/services/globals.d.ts +0 -3
  113. package/build/esm/src/services/globals.js +0 -182
  114. package/build/jsx.dom.js +0 -1587
  115. package/build/postject.base64.cjs +0 -1
  116. package/editor/auth.ts +0 -51
  117. package/editor/common/admin-interface.ts +0 -84
  118. package/editor/common/constants.server.ts +0 -5
  119. package/editor/common/constants.ts +0 -21
  120. package/editor/common/editor-index.tsx +0 -17
  121. package/editor/common/html-encode.ts +0 -14
  122. package/editor/common/log-socket.tsx +0 -85
  123. package/editor/common/templates.ts +0 -481
  124. package/editor/components/api-preview.tsx +0 -116
  125. package/editor/components/editor.tsx +0 -494
  126. package/editor/components/file-browser.tsx +0 -308
  127. package/editor/components/file-editor-toolbar.tsx +0 -191
  128. package/editor/components/file-editor.tsx +0 -122
  129. package/editor/components/filter-query.tsx +0 -22
  130. package/editor/components/highlight-text-area.tsx +0 -145
  131. package/editor/components/log-viewer.tsx +0 -110
  132. package/editor/components/new-file.tsx +0 -169
  133. package/editor/components/scroll-query.tsx +0 -22
  134. package/editor/components/start-page.tsx +0 -49
  135. package/editor/http/admin/editor/api/fs/delete.api.tsx +0 -32
  136. package/editor/http/admin/editor/api/fs/read.api.tsx +0 -55
  137. package/editor/http/admin/editor/api/fs/rename.api.tsx +0 -41
  138. package/editor/http/admin/editor/api/fs/scan.api.tsx +0 -181
  139. package/editor/http/admin/editor/api/fs/write.api.tsx +0 -41
  140. package/editor/http/admin/editor/api/server/reload.api.ts +0 -53
  141. package/editor/http/admin/editor/api/server/restart.api.tsx +0 -52
  142. package/editor/http/admin/editor/editor.tsx +0 -8
  143. package/editor/http/admin/editor/index.api.tsx +0 -39
  144. package/editor/server.ts +0 -57
  145. package/editor/ws.ts +0 -15
  146. package/sea/types.json +0 -1
  147. package/src/bin/compile.ts +0 -35
  148. package/src/bin/doc-md.ts +0 -210
  149. package/src/bin/generate-doc.ts +0 -64
  150. package/src/bin/test.ts +0 -92
  151. package/src/bin/types.ts +0 -29
  152. package/src/cluster.ts +0 -27
  153. package/src/common/arguments.ts +0 -745
  154. package/src/common/assets.ts +0 -128
  155. package/src/common/checksum.ts +0 -58
  156. package/src/common/constants.ts +0 -18
  157. package/src/common/content-type.ts +0 -84
  158. package/src/common/esbuild.ts +0 -94
  159. package/src/common/exit.ts +0 -91
  160. package/src/common/fs.ts +0 -82
  161. package/src/common/help.ts +0 -61
  162. package/src/common/jsx.ts +0 -547
  163. package/src/common/jwt.ts +0 -85
  164. package/src/common/paths.ts +0 -107
  165. package/src/common/watch.ts +0 -88
  166. package/src/inflate/inflate-sea.ts +0 -226
  167. package/src/inflate/inflate.ts +0 -101
  168. package/src/inflate/md.ts +0 -25
  169. package/src/inflate/setup-auth.ts +0 -41
  170. package/src/inflate/setup-cors.ts +0 -41
  171. package/src/inflate/setup-db.ts +0 -117
  172. package/src/inflate/setup-error.ts +0 -44
  173. package/src/inflate/setup-http.ts +0 -704
  174. package/src/inflate/setup-log.ts +0 -45
  175. package/src/inflate/setup-middleware.ts +0 -47
  176. package/src/inflate/setup-server-config.ts +0 -48
  177. package/src/inflate/setup-test.ts +0 -23
  178. package/src/inflate/setup-ws.ts +0 -50
  179. package/src/inflate/setup.doc.ts +0 -68
  180. package/src/inflate/utils/sea-utils.ts +0 -14
  181. package/src/lib.ts +0 -19
  182. package/src/main.ts +0 -101
  183. package/src/services/app.ts +0 -699
  184. package/src/services/editor.tsx +0 -101
  185. package/src/services/globals.ts +0 -186
  186. package/src/services/hot-reload.ts +0 -51
  187. package/src/services/migrations.ts +0 -68
  188. package/src/services/utils/admin-interface.ts +0 -37
  189. package/src/services/utils/cache.ts +0 -88
  190. package/src/services/utils/cluster-cache.ts +0 -230
  191. package/src/services/utils/cluster-ws.ts +0 -202
  192. package/src/services/utils/db-manager.ts +0 -92
  193. package/src/services/utils/get-route.ts +0 -70
  194. package/src/services/utils/log-transport.ts +0 -81
  195. package/src/services/utils/log.ts +0 -92
  196. package/src/services/utils/server-interface.ts +0 -92
  197. package/src/services/utils/websocketmanager.ts +0 -157
  198. package/src/types/@esbuild.d.ts +0 -1
  199. package/src/types/@miqro/core.d.ts +0 -2
  200. package/src/types/@miqro/jsx.d.ts +0 -2
  201. package/src/types/@miqro/parser.d.ts +0 -2
  202. package/src/types/@miqro/query.d.ts +0 -2
  203. package/src/types/@miqro/request.d.ts +0 -2
  204. package/src/types/@miqro/test.d.ts +0 -2
  205. package/src/types/@miqro.d.ts +0 -1
  206. package/src/types/@types.d.ts +0 -1
  207. package/src/types/browser.globals.d.ts +0 -1
  208. package/src/types/cookie.d.ts +0 -2
  209. package/src/types/globals.d.ts +0 -2
  210. package/src/types/jose.d.ts +0 -2
  211. package/src/types/jsx.globals.d.ts +0 -38
  212. package/src/types/miqro.d.ts +0 -228
  213. package/src/types/postject.d.ts +0 -1
  214. package/src/types/server.globals.d.ts +0 -47
  215. package/src/types.ts +0 -304
  216. package/tsconfig.json +0 -35
@@ -1,45 +0,0 @@
1
- import { Logger } from "@miqro/core";
2
- import { importLogConfigModule, InflateError, inflateJSX } from "../common/jsx.js";
3
- import { getLogConfigPath } from "../common/paths.js";
4
- import { dirname, relative, resolve } from "node:path";
5
- import { mkdirSync, writeFileSync } from "node:fs";
6
- import { cwd } from "node:process";
7
- import { LogConfig } from "../types.js";
8
-
9
- export interface LogConfigMap {
10
- [service: string]: LogConfig | undefined;
11
- }
12
-
13
- export async function setupLogConfig(logger: Logger, servicePath: string, service: string, logConfigMap: LogConfigMap, inflateDir: string | undefined | false, errors: InflateError[]) {
14
- const logPath = getLogConfigPath(servicePath); // resolve(process.cwd(), service, "server.ts");
15
- if (logPath) {
16
- try {
17
- //logger.debug("setting up server config from [%s]", join(service, basename(serverPath)));
18
-
19
- const logConfig = await importLogConfigModule(logPath, logger);
20
- logConfigMap[service] = logConfig;
21
-
22
- if (inflateDir) {
23
- const inflatePath = resolve(inflateDir, service, "log.cjs");
24
- mkdirSync(dirname(inflatePath), {
25
- recursive: true
26
- });
27
- logger.log("writing [%s]", relative(cwd(), inflatePath));
28
- writeFileSync(inflatePath, await inflateJSX(logPath, {
29
- embemedJSX: false,
30
- minify: false,
31
- useExport: true,
32
- platform: "node",
33
- logger
34
- }));
35
- }
36
- } catch (e) {
37
- errors.push({
38
- filePath: logPath,
39
- error: e
40
- });
41
- logger.error("error with " + logPath);
42
- logger.error(e);
43
- }
44
- }
45
- }
@@ -1,47 +0,0 @@
1
- import { Logger, Router } from "@miqro/core";
2
- import { importMiddlewareConfigModule, InflateError, inflateJSX } from "../common/jsx.js";
3
- import { getMiddlewareConfigPath } from "../common/paths.js";
4
- import { basename, dirname, join, relative, resolve } from "node:path";
5
- import { mkdirSync, writeFileSync } from "node:fs";
6
- import { cwd } from "node:process";
7
- import { MiddlewareConfig } from "../types.js";
8
-
9
- export async function setupMiddleware(logger: Logger, servicePath: string, service: string, mainRouter: Router, inflateDir: string | undefined | false, inflateSea: boolean, errors: InflateError[]): Promise<MiddlewareConfig | null> {
10
- const middlewarePath = getMiddlewareConfigPath(servicePath); //resolve(process.cwd(), service, "auth.ts");
11
-
12
- if (middlewarePath) {
13
- try {
14
- const middewareModule = await importMiddlewareConfigModule(middlewarePath, logger);
15
- logger.debug("setting up middleware from [%s]", join(service, basename(middlewarePath)));
16
- if (middewareModule && middewareModule.middleware) {
17
- for (const m of middewareModule.middleware) {
18
- mainRouter.use(m);
19
- }
20
- }
21
- if (inflateDir && inflateSea) {
22
- const inflatePath = resolve(inflateDir, service, "middleware.cjs");
23
- mkdirSync(dirname(inflatePath), {
24
- recursive: true
25
- });
26
- logger.log("writing [%s]", relative(cwd(), inflatePath));
27
- writeFileSync(inflatePath, await inflateJSX(middlewarePath, {
28
- embemedJSX: false,
29
- minify: false,
30
- platform: "node",
31
- useExport: true,
32
- logger
33
- }));
34
- }
35
- return middewareModule;
36
-
37
- } catch (e) {
38
- errors.push({
39
- filePath: middlewarePath,
40
- error: e
41
- });
42
- logger.error("error with " + middlewarePath);
43
- logger.error(e);
44
- }
45
- }
46
- return null;
47
- }
@@ -1,48 +0,0 @@
1
- import { mkdirSync, writeFileSync } from "node:fs";
2
- import { Logger } from "@miqro/core";
3
- import { dirname, relative, resolve } from "node:path";
4
- import { cwd } from "node:process";
5
-
6
- import { importServerConfigModule, InflateError, inflateJSX } from "../common/jsx.js";
7
- import { getServerConfigPath } from "../common/paths.js";
8
- import { ServerConfig } from "../types.js";
9
-
10
- export interface ServerConfigMap {
11
- [service: string]: ServerConfig | undefined;
12
- }
13
-
14
- export async function setupServerConfig(logger: Logger, servicePath: string, service: string, serverConfigMap: ServerConfigMap, inflateDir: string | undefined | false, errors: InflateError[]) {
15
-
16
- const serverPath = getServerConfigPath(servicePath); // resolve(process.cwd(), service, "server.ts");
17
- if (serverPath) {
18
- try {
19
- //logger.debug("setting up server config from [%s]", join(service, basename(serverPath)));
20
-
21
- const serverConfig = await importServerConfigModule(serverPath, logger);
22
- serverConfigMap[service] = serverConfig;
23
-
24
-
25
- if (inflateDir) {
26
- const inflatePath = resolve(inflateDir, service, "server.cjs");
27
- mkdirSync(dirname(inflatePath), {
28
- recursive: true
29
- });
30
- logger.log("writing [%s]", relative(cwd(), inflatePath));
31
- writeFileSync(inflatePath, await inflateJSX(serverPath, {
32
- embemedJSX: false,
33
- minify: false,
34
- platform: "node",
35
- useExport: true,
36
- logger
37
- }));
38
- }
39
- } catch (e) {
40
- errors.push({
41
- filePath: serverPath,
42
- error: e
43
- });
44
- logger.error("error with " + serverPath);
45
- logger.error(e);
46
- }
47
- }
48
- }
@@ -1,23 +0,0 @@
1
- import { importJSXFile } from "../common/jsx.js";
2
- import { Logger } from "@miqro/core";
3
- import { scanFiles } from "./setup-http.js";
4
- import { resolve } from "node:path";
5
-
6
- export async function setupTests(logger: Logger, servicePath: string) {
7
- logger.debug("setting up tests from [%s]", servicePath);
8
- const files = scanFiles(resolve(servicePath));
9
- await Promise.allSettled(files.map((file) => {
10
- switch (file.ext) {
11
- case ".jsx":
12
- case ".js":
13
- case ".ts":
14
- case ".tsx": {
15
- switch (file.subExt) {
16
- case ".test":
17
- return importJSXFile(file.filePath, logger);
18
- }
19
- }
20
- }
21
- return Promise.resolve();
22
- }));
23
- }
@@ -1,50 +0,0 @@
1
- import { Logger } from "@miqro/core";
2
- import { dirname, join, relative, resolve } from "node:path";
3
- import { cwd } from "node:process";
4
- import { mkdirSync, writeFileSync } from "node:fs";
5
-
6
- import { importWSConfigModule, InflateError, inflateJSX } from "../common/jsx.js";
7
- import { getWSConfigPath } from "../common/paths.js";
8
- import { WSConfig } from "../types.js";
9
-
10
- export async function inflateWSConfig(logger: Logger, servicePath: string, service: string, wsConfigList: WSConfig[] | undefined, inflateDir: string | undefined | false, errors: InflateError[]): Promise<void> {
11
- const wsPath = getWSConfigPath(servicePath); // resolve(process.cwd(), service, "ws.ts");
12
-
13
- if (wsPath) {
14
- try {
15
- logger.debug("importing websocket socket for service [%s]", service);
16
- const wsConfig = await importWSConfigModule(wsPath, logger);
17
- if (wsConfig && wsConfigList.filter(c => c.path === wsConfig.path).length > 0) {
18
- throw new Error(`ws path [${wsConfig.path}] already defined! from [${wsPath}]`);
19
- } else if (wsConfigList) {
20
- logger.debug("importing websocket on path [%s] from [%s]", wsConfig.path, join(service, "ws.ts"));
21
- wsConfigList.push(wsConfig);
22
- //wsMap[wsConfig.path] = { name: service, options: wsConfig };
23
- }
24
-
25
- if (inflateDir) {
26
- const inflatePath = resolve(inflateDir, service, "ws.cjs");
27
- mkdirSync(dirname(inflatePath), {
28
- recursive: true
29
- });
30
- logger.log("writing [%s]", relative(cwd(), inflatePath));
31
- writeFileSync(inflatePath, await inflateJSX(wsPath, {
32
- embemedJSX: false,
33
- minify: false,
34
- platform: "node",
35
- useExport: true,
36
- logger
37
- }));
38
- }
39
- //return wsConfigList;
40
- } catch (e) {
41
- errors.push({
42
- filePath: wsPath,
43
- error: e
44
- });
45
- logger.error("error with " + wsPath);
46
- logger.error(e);
47
- //return false;
48
- }
49
- }
50
- }
@@ -1,68 +0,0 @@
1
- import { Logger, Router } from "@miqro/core";
2
- import { importDocConfigModule, InflateError, inflateJSX } from "../common/jsx.js";
3
- import { getDocConfigPath } from "../common/paths.js";
4
- import { basename, dirname, join, relative, resolve } from "node:path";
5
- import { mkdirSync, writeFileSync } from "node:fs";
6
- import { cwd } from "node:process";
7
- import { getDocOutput } from "../bin/generate-doc.js";
8
- import { RouteFileMap } from "./setup-http.js";
9
- import { CONTENT_TYPE_MAP } from "../common/content-type.js";
10
-
11
- export async function setupDoc(logger: Logger, servicePath: string, service: string, mainRouter: Router, fileMap: RouteFileMap, inflateDir: string | undefined | false, errors: InflateError[]) {
12
- const docPath = getDocConfigPath(servicePath); //resolve(process.cwd(), service, "auth.ts");
13
-
14
- if (docPath) {
15
- try {
16
- const docModule = await importDocConfigModule(docPath, logger);
17
- logger.debug("setting up error handling from [%s]", join(service, basename(docPath)));
18
- if (docModule && docModule.publish) {
19
- const paths = Object.keys(docModule.publish);
20
- for (const path of paths) {
21
- const config = docModule.publish[path];
22
-
23
- const body = await getDocOutput(mainRouter, fileMap, config.all, config.type);
24
- mainRouter.get(path, async (_, res) => {
25
- switch (config.type) {
26
- case "MD": {
27
- const contentType = CONTENT_TYPE_MAP[".md"];
28
- return await res.asyncEnd({
29
- headers: {
30
- "content-type": contentType
31
- },
32
- status: 200,
33
- body
34
- });
35
- }
36
- case "JSON": {
37
- return await res.json(body);
38
- }
39
- case "HTML": {
40
- return await res.html(body);
41
- }
42
- default:
43
- return true;
44
- }
45
- });
46
-
47
- if (inflateDir) {
48
- const inflatePath = join(inflateDir, service, "static", path);
49
- mkdirSync(dirname(inflatePath), {
50
- recursive: true
51
- });
52
- logger.log("writing [%s]", relative(cwd(), inflatePath));
53
- writeFileSync(inflatePath, body);
54
- }
55
- }
56
- }
57
-
58
- } catch (e) {
59
- errors.push({
60
- filePath: docPath,
61
- error: e
62
- });
63
- logger.error("error with " + docPath);
64
- logger.error(e);
65
- }
66
- }
67
- return null;
68
- }
@@ -1,14 +0,0 @@
1
- import { Router } from "@miqro/core";
2
- import { describeFilePath } from "../../common/fs.js";
3
- import { getRoutes } from "../../services/utils/get-route.js";
4
- import { assertGlobalTampered } from "../../services/globals.js";
5
- import { dirname, join, relative } from "node:path";
6
-
7
- export async function appendAPIModule(router: Router, dir: string, filePath: string, module: any) {
8
- const file = describeFilePath(filePath);
9
- const routes = getRoutes(join("/", dirname(relative(dir, file.filePath))), file.subName, module);
10
- for (const r of routes) {
11
- router.use(assertGlobalTampered);
12
- router.use(module.handler, r.path, r.method as any, r.options);
13
- }
14
- }
package/src/lib.ts DELETED
@@ -1,19 +0,0 @@
1
- /*export * from "@miqro/core";
2
- export * from "@miqro/query";*/
3
- export * from "./types.js";
4
-
5
- export { ClusterWebSocketServer2 } from "./services/utils/cluster-ws.js";
6
- export { ClusterCache } from "./services/utils/cluster-cache.js";
7
- export { LocalCache } from "./services/utils/cache.js";
8
- export { WebSocketManager, WebSocketManagerOptions } from "./services/utils/websocketmanager.js";
9
- export { DBManager } from "./services/utils/db-manager.js";
10
- export { LogProvider, LogProviderOptions } from "./services/utils/log.js";
11
- export { Miqro, MiqroOptions, ServerRequestHandler } from "./services/app.js";
12
- export { initGlobals, assertGlobalTampered } from "./services/globals.js";
13
-
14
- //exported for --inflate-sea
15
- export { appendAPIModule } from "./inflate/utils/sea-utils.js";
16
- export { createServerInterface, ServerInterfaceImplOptions } from "./services/utils/server-interface.js";
17
- export { App, LoggerHandler, Router } from "@miqro/core";
18
- export { migration } from "@miqro/query";
19
-
package/src/main.ts DELETED
@@ -1,101 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- import { Arguments, parseArguments } from "./common/arguments.js";
4
- import { EXIT_CODES } from "./common/constants.js";
5
- import { testMain } from "./bin/test.js";
6
- import { compileSH } from "./bin/compile.js";
7
- import { installTypings } from "./bin/types.js";
8
- import { generateDocs } from "./bin/generate-doc.js";
9
- import { Miqro } from "./services/app.js";
10
- import { TEST_SOCKET } from "./common/paths.js";
11
- import { Logger } from "@miqro/core";
12
-
13
- async function main(args: Arguments) {
14
- if (args.installTypes || args.installTSConfig || args.installMiqroJSON) {
15
- await installTypings(args, new Logger(""));
16
- process.exit(EXIT_CODES.NORMAL_EXIT);
17
- } else {
18
- const app = new Miqro({
19
- editor: args.editor,
20
- name: args.name ? args.name : undefined,
21
- port: args.test ? TEST_SOCKET : args.port,
22
- services: args.services,
23
- browser: args.browser,
24
- logFile: args.logFile,
25
- hotreload: args.test ? false : args.hotreload,
26
- watch: args.test ? false : args.watch,
27
- https: args.test ? false : args.https,
28
- serverOptions: args.serverOptions,
29
- httpRedirect: args.test ? undefined : args.httpsRedirect
30
- });
31
- // check arguments
32
- if (args.generateDoc) {
33
- // --generate-doc
34
- const inflated = await app.inflate({
35
- inflateParallel: args.inflateParallel
36
- });
37
- await generateDocs(args, app.logger, inflated);
38
- process.exit(EXIT_CODES.NORMAL_EXIT);
39
- } else if (args.migrateUp || args.migrateDown) {
40
- // --migration-up and --migradtion-down
41
- await app.migrate({
42
- direction: args.migrateUp ? "up" : "down"
43
- });
44
- await app.dbManager.closeAll();
45
- await app.dbManager.deleteAll();
46
- await app.webSocketManager.disconnectAll();
47
- process.exit(EXIT_CODES.NORMAL_EXIT);
48
- } else if (args.test) {
49
- // --test
50
- await app.inflate({
51
- inflateParallel: args.inflateParallel
52
- });
53
- await app.start();
54
- await testMain(app);
55
- await app.stop();
56
- await app.dbManager.closeAll();
57
- await app.webSocketManager.disconnectAll();
58
- process.exit(EXIT_CODES.NORMAL_EXIT);
59
- } else if (args.compile) {
60
- // --compile
61
- await app.inflate({
62
- inflateDir: args.inflateDir,
63
- inflateSea: true,
64
- inflateParallel: args.inflateParallel
65
- });
66
- await app.dbManager.closeAll();
67
- await app.webSocketManager.disconnectAll();
68
- await compileSH(args);
69
- process.exit(EXIT_CODES.NORMAL_EXIT);
70
- } else if (args.inflate) {
71
- // --inflate and --inflate-sea
72
- // loadApp with inflateDir arg to inflate inflatable files
73
- await app.inflate({
74
- inflateDir: args.inflateDir,
75
- inflateSea: args.inflateSEA,
76
- inflateParallel: args.inflateParallel
77
- });
78
- await app.dbManager.closeAll();
79
- await app.webSocketManager.disconnectAll();
80
- process.exit(EXIT_CODES.NORMAL_EXIT);
81
- } else {
82
- // server
83
- await app.inflate({
84
- inflateParallel: args.inflateParallel
85
- });
86
- await app.start();
87
- }
88
- }
89
- }
90
-
91
- try {
92
- // parse args
93
- main(parseArguments()).catch(e => {
94
- console.error(e);
95
- process.exit(EXIT_CODES.ABNORMAL);
96
- });
97
- } catch (e) {
98
- console.error(e);
99
- console.error(e.message);
100
- process.exit(EXIT_CODES.ABNORMAL);
101
- }