miqro 6.1.2 → 6.1.3

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 (157) hide show
  1. package/build/esm/editor/auth.d.ts +6 -0
  2. package/build/esm/editor/auth.js +41 -0
  3. package/build/esm/editor/common/admin-interface.d.ts +36 -0
  4. package/build/esm/editor/common/admin-interface.js +44 -0
  5. package/build/esm/editor/common/constants.d.ts +4 -0
  6. package/build/esm/editor/common/constants.js +20 -0
  7. package/build/esm/editor/common/constants.server.d.ts +2 -0
  8. package/build/esm/editor/common/constants.server.js +4 -0
  9. package/build/esm/editor/common/editor-index.d.ts +2 -0
  10. package/build/esm/editor/common/editor-index.js +14 -0
  11. package/build/esm/editor/common/html-encode.d.ts +1 -0
  12. package/build/esm/editor/common/html-encode.js +14 -0
  13. package/build/esm/editor/common/log-socket.d.ts +15 -0
  14. package/build/esm/editor/common/log-socket.js +70 -0
  15. package/build/esm/editor/common/templates.d.ts +11 -0
  16. package/build/esm/editor/common/templates.js +461 -0
  17. package/build/esm/editor/components/api-preview.d.ts +11 -0
  18. package/build/esm/editor/components/api-preview.js +90 -0
  19. package/build/esm/editor/components/editor.d.ts +16 -0
  20. package/build/esm/editor/components/editor.js +357 -0
  21. package/build/esm/editor/components/file-browser.d.ts +37 -0
  22. package/build/esm/editor/components/file-browser.js +126 -0
  23. package/build/esm/editor/components/file-editor-toolbar.d.ts +22 -0
  24. package/build/esm/editor/components/file-editor-toolbar.js +93 -0
  25. package/build/esm/editor/components/file-editor.d.ts +32 -0
  26. package/build/esm/editor/components/file-editor.js +59 -0
  27. package/build/esm/editor/components/filter-query.d.ts +1 -0
  28. package/build/esm/editor/components/filter-query.js +22 -0
  29. package/build/esm/editor/components/highlight-text-area.d.ts +11 -0
  30. package/build/esm/editor/components/highlight-text-area.js +124 -0
  31. package/build/esm/editor/components/log-viewer.d.ts +6 -0
  32. package/build/esm/editor/components/log-viewer.js +69 -0
  33. package/build/esm/editor/components/new-file.d.ts +10 -0
  34. package/build/esm/editor/components/new-file.js +117 -0
  35. package/build/esm/editor/components/scroll-query.d.ts +7 -0
  36. package/build/esm/editor/components/scroll-query.js +21 -0
  37. package/build/esm/editor/components/start-page.d.ts +13 -0
  38. package/build/esm/editor/components/start-page.js +30 -0
  39. package/build/esm/editor/http/admin/editor/api/fs/delete.api.d.ts +3 -0
  40. package/build/esm/editor/http/admin/editor/api/fs/delete.api.js +29 -0
  41. package/build/esm/editor/http/admin/editor/api/fs/read.api.d.ts +5 -0
  42. package/build/esm/editor/http/admin/editor/api/fs/read.api.js +49 -0
  43. package/build/esm/editor/http/admin/editor/api/fs/rename.api.d.ts +4 -0
  44. package/build/esm/editor/http/admin/editor/api/fs/rename.api.js +39 -0
  45. package/build/esm/editor/http/admin/editor/api/fs/scan.api.d.ts +26 -0
  46. package/build/esm/editor/http/admin/editor/api/fs/scan.api.js +149 -0
  47. package/build/esm/editor/http/admin/editor/api/fs/write.api.d.ts +3 -0
  48. package/build/esm/editor/http/admin/editor/api/fs/write.api.js +38 -0
  49. package/build/esm/editor/http/admin/editor/api/server/reload.api.d.ts +10 -0
  50. package/build/esm/editor/http/admin/editor/api/server/reload.api.js +46 -0
  51. package/build/esm/editor/http/admin/editor/api/server/restart.api.d.ts +10 -0
  52. package/build/esm/editor/http/admin/editor/api/server/restart.api.js +45 -0
  53. package/build/esm/editor/http/admin/editor/editor.d.ts +1 -0
  54. package/build/esm/editor/http/admin/editor/editor.js +7 -0
  55. package/build/esm/editor/http/admin/editor/index.api.d.ts +3 -0
  56. package/build/esm/editor/http/admin/editor/index.api.js +21 -0
  57. package/build/esm/editor/server.d.ts +3 -0
  58. package/build/esm/editor/server.js +49 -0
  59. package/build/esm/editor/ws.d.ts +3 -0
  60. package/build/esm/editor/ws.js +11 -0
  61. package/editor/auth.ts +51 -0
  62. package/editor/common/admin-interface.ts +84 -0
  63. package/editor/common/constants.server.ts +5 -0
  64. package/editor/common/constants.ts +21 -0
  65. package/editor/common/editor-index.tsx +17 -0
  66. package/editor/common/html-encode.ts +14 -0
  67. package/editor/common/log-socket.tsx +85 -0
  68. package/editor/common/templates.ts +466 -0
  69. package/editor/components/api-preview.tsx +116 -0
  70. package/editor/components/editor.tsx +486 -0
  71. package/editor/components/file-browser.tsx +308 -0
  72. package/editor/components/file-editor-toolbar.tsx +191 -0
  73. package/editor/components/file-editor.tsx +122 -0
  74. package/editor/components/filter-query.tsx +22 -0
  75. package/editor/components/highlight-text-area.tsx +144 -0
  76. package/editor/components/log-viewer.tsx +110 -0
  77. package/editor/components/new-file.tsx +169 -0
  78. package/editor/components/scroll-query.tsx +22 -0
  79. package/editor/components/start-page.tsx +49 -0
  80. package/editor/http/admin/editor/api/fs/delete.api.tsx +32 -0
  81. package/editor/http/admin/editor/api/fs/read.api.tsx +55 -0
  82. package/editor/http/admin/editor/api/fs/rename.api.tsx +41 -0
  83. package/editor/http/admin/editor/api/fs/scan.api.tsx +181 -0
  84. package/editor/http/admin/editor/api/fs/write.api.tsx +41 -0
  85. package/editor/http/admin/editor/api/server/reload.api.ts +53 -0
  86. package/editor/http/admin/editor/api/server/restart.api.tsx +52 -0
  87. package/editor/http/admin/editor/editor.tsx +8 -0
  88. package/editor/http/admin/editor/index.api.tsx +39 -0
  89. package/editor/server.ts +57 -0
  90. package/editor/ws.ts +15 -0
  91. package/package.json +1 -1
  92. package/src/bin/compile.ts +35 -0
  93. package/src/bin/doc-md.ts +210 -0
  94. package/src/bin/generate-doc.ts +64 -0
  95. package/src/bin/test.ts +92 -0
  96. package/src/bin/types.ts +22 -0
  97. package/src/cluster.ts +27 -0
  98. package/src/common/arguments.ts +503 -0
  99. package/src/common/assets.ts +128 -0
  100. package/src/common/checksum.ts +58 -0
  101. package/src/common/constants.ts +18 -0
  102. package/src/common/content-type.ts +84 -0
  103. package/src/common/esbuild.ts +94 -0
  104. package/src/common/exit.ts +91 -0
  105. package/src/common/fs.ts +17 -0
  106. package/src/common/help.ts +51 -0
  107. package/src/common/jsx.ts +512 -0
  108. package/src/common/paths.ts +158 -0
  109. package/src/common/watch.ts +85 -0
  110. package/src/inflate/inflate-sea.ts +206 -0
  111. package/src/inflate/inflate.ts +99 -0
  112. package/src/inflate/md.ts +25 -0
  113. package/src/inflate/setup-auth.ts +40 -0
  114. package/src/inflate/setup-cors.ts +40 -0
  115. package/src/inflate/setup-db.ts +113 -0
  116. package/src/inflate/setup-error.ts +43 -0
  117. package/src/inflate/setup-http.ts +655 -0
  118. package/src/inflate/setup-log.ts +44 -0
  119. package/src/inflate/setup-middleware.ts +46 -0
  120. package/src/inflate/setup-server-config.ts +47 -0
  121. package/src/inflate/setup-test.ts +23 -0
  122. package/src/inflate/setup-ws.ts +48 -0
  123. package/src/inflate/setup.doc.ts +68 -0
  124. package/src/inflate/utils/sea-utils.ts +14 -0
  125. package/src/lib.ts +19 -0
  126. package/src/main.ts +87 -0
  127. package/src/services/app.ts +658 -0
  128. package/src/services/editor.tsx +101 -0
  129. package/src/services/globals.ts +143 -0
  130. package/src/services/hot-reload.ts +48 -0
  131. package/src/services/migrations.ts +66 -0
  132. package/src/services/utils/admin-interface.ts +37 -0
  133. package/src/services/utils/cache.ts +88 -0
  134. package/src/services/utils/cluster-cache.ts +230 -0
  135. package/src/services/utils/cluster-ws.ts +197 -0
  136. package/src/services/utils/db-manager.ts +92 -0
  137. package/src/services/utils/get-route.ts +70 -0
  138. package/src/services/utils/log-transport.ts +75 -0
  139. package/src/services/utils/log.ts +92 -0
  140. package/src/services/utils/server-interface.ts +172 -0
  141. package/src/services/utils/websocketmanager.ts +149 -0
  142. package/src/types/@esbuild.d.ts +1 -0
  143. package/src/types/@miqro/core.d.ts +2 -0
  144. package/src/types/@miqro/jsx.d.ts +2 -0
  145. package/src/types/@miqro/parser.d.ts +2 -0
  146. package/src/types/@miqro/query.d.ts +2 -0
  147. package/src/types/@miqro/request.d.ts +2 -0
  148. package/src/types/@miqro/test.d.ts +2 -0
  149. package/src/types/@miqro.d.ts +1 -0
  150. package/src/types/@types.d.ts +1 -0
  151. package/src/types/browser.globals.d.ts +9 -0
  152. package/src/types/globals.d.ts +2 -0
  153. package/src/types/jsx.globals.d.ts +37 -0
  154. package/src/types/miqro.d.ts +129 -0
  155. package/src/types/postject.d.ts +1 -0
  156. package/src/types/server.globals.d.ts +72 -0
  157. package/src/types.ts +222 -0
@@ -0,0 +1,72 @@
1
+ import "./jsx.globals.js";
2
+
3
+ import { Logger, WebSocketServer, ReadBuffer, URLEncodedParser, JSONParser, TextParser, CORS, SessionHandler } from "@miqro/core/lib.js";
4
+ import { request } from "./@miqro/request.js";
5
+ import { RuntimeHTMLElement, Runtime, RuntimeContainer, RuntimeURL, RuntimeOptions, RuntimeShadowRootInit } from "./@miqro/jsx.js";
6
+
7
+ declare global {
8
+ // only available server side
9
+ var server: {
10
+ /*// null values are if the feature has been disabled
11
+ db: {
12
+ get(name: string): Database | null;
13
+ },
14
+ ws: {
15
+ get(path: string): WebSocketServer | undefined;
16
+ disconnectAll(path: string): void;
17
+ };
18
+ cache: {
19
+ get: (key: string) => any;
20
+ set: (key: string, value: unknown) => void;
21
+ delete: (key: string) => void;
22
+ has: (key: string) => boolean;
23
+ };
24
+ logger: Logger;*/
25
+ middleware: {
26
+ buffer: typeof ReadBuffer;
27
+ url: typeof URLEncodedParser;
28
+ json: typeof JSONParser;
29
+ text: typeof TextParser;
30
+ cors: typeof CORS;
31
+ session: typeof SessionHandler;
32
+ }
33
+ encodeHTML: (str: string) => string;
34
+ inflateMDtoHTML: (str: string) => string;
35
+ }
36
+
37
+ var test: {
38
+ PORT: string;
39
+ request: typeof request,
40
+ logger: Logger,
41
+ sleep: (ms: number) => Promise<void>,
42
+ jsx: {
43
+ createRuntime: (args?: {
44
+ basePath?: string | null;
45
+ url?: RuntimeURL;
46
+ logger?: {
47
+ log: Function,
48
+ error: Function
49
+ }
50
+ }) => Runtime;
51
+ test: (cb: (container: RuntimeContainer, root: RuntimeHTMLElement, runtime: Runtime) => (Promise<void> | void), args?: {
52
+ runtimeOptions?: {
53
+ basePath?: string | null;
54
+ url?: RuntimeURL;
55
+ logger?: {
56
+ log: Function;
57
+ error: Function;
58
+ };
59
+ },
60
+ containerOptions?: {
61
+ runtimeOptions?: RuntimeOptions;
62
+ shadowInit?: boolean | RuntimeShadowRootInit;
63
+ };
64
+ }) => () => Promise<void>;
65
+ }
66
+ }
67
+
68
+ var it: Function;
69
+ var describe: Function;
70
+ var before: Function;
71
+ var after: Function;
72
+ }
package/src/types.ts ADDED
@@ -0,0 +1,222 @@
1
+ import { Database } from "@miqro/query";
2
+ import { WebSocketServerOptions, SessionHandlerOptions, Logger, WebSocketServer, ReadBuffer, URLEncodedParser, JSONParser, TextParser, CORS, SessionHandler, RouteOptions, Handler, Request, Response, LogLevel, LoggerTransportWriteArgs, CORSOptions, HandlerWithOptions, ErrorHandler } from "@miqro/core";
3
+ import { request } from "@miqro/request";
4
+ import { ParserInterface } from "@miqro/parser";
5
+ import { RuntimeHTMLElement, Runtime, RuntimeContainer, RuntimeURL, RuntimeOptions, RuntimeShadowRootInit } from "@miqro/jsx";
6
+ import {
7
+ RuntimeElementDefinitionOptions,
8
+ Component,
9
+ createElement,
10
+ Fragment,
11
+ enableDebugLog
12
+ } from "@miqro/jsx";
13
+ import * as jsxLib from "@miqro/jsx";
14
+
15
+ declare global {
16
+ // jsx only for the default value of tsconfig.json
17
+ //var React: {};
18
+ var JSX: {
19
+ createElement: typeof createElement;
20
+ Fragment: typeof Fragment;
21
+ enableDebugLog: typeof enableDebugLog;
22
+ }
23
+ }
24
+
25
+ declare global {
26
+ // only available browser side
27
+ var jsx: {
28
+ define: (tagName: string, component: Component, options?: RuntimeElementDefinitionOptions) => void;
29
+ useRuntime: typeof jsxLib.useRuntime;
30
+ usePathname: typeof jsxLib.usePathname;
31
+ Link: typeof jsxLib.Link;
32
+ Router: typeof jsxLib.Router;
33
+ createContext: typeof jsxLib.createContext;
34
+ useContext: typeof jsxLib.useContext;
35
+ useState: typeof jsxLib.useState;
36
+ useEffect: typeof jsxLib.useEffect;
37
+ useQuery: typeof jsxLib.useQuery;
38
+ useRef: typeof jsxLib.useRef;
39
+ useElement: typeof jsxLib.useElement;
40
+ useRefresh: typeof jsxLib.useRefresh;
41
+ }
42
+ }
43
+
44
+ export { APIRoute } from "@miqro/core";
45
+ export { Migration } from "@miqro/query";
46
+
47
+ export interface ServerGlobal {
48
+ encodeHTML: (str: string) => string;
49
+ inflateMDtoHTML: (str: string) => string;
50
+ middleware: {
51
+ buffer: typeof ReadBuffer;
52
+ url: typeof URLEncodedParser;
53
+ json: typeof JSONParser;
54
+ text: typeof TextParser;
55
+ cors: typeof CORS;
56
+ session: typeof SessionHandler;
57
+ };
58
+ }
59
+
60
+ export interface CacheInterface {
61
+ get<T = any>(key: string): T | undefined;
62
+ set: (key: string, value: unknown) => void;
63
+ unset: (key: string) => void;
64
+ has: (key: string) => boolean;
65
+
66
+ set_add: (key: string, value: unknown) => void;
67
+ set_delete: (key: string, value: unknown) => void;
68
+ set_has: (key: string, value: unknown) => boolean;
69
+ set_clear: (key: string) => void;
70
+
71
+ array_push: (key: string, value: unknown) => void;
72
+ array_clear: (key: string) => void;
73
+ }
74
+
75
+ export interface NamedMigration {
76
+ name: string;
77
+ service: string;
78
+ dbName: string;
79
+ }
80
+
81
+ export interface MigrateOptions {
82
+ direction: "up" | "down";
83
+ service?: string;
84
+ dbName?: string;
85
+ name?: string;
86
+ }
87
+
88
+ export interface LogConfig {
89
+ level?: LogLevel;
90
+ replaceConsoleTransport?: boolean;
91
+ replaceFileTransport?: boolean;
92
+ write: (args: LoggerTransportWriteArgs) => Promise<void> | void;
93
+ }
94
+
95
+ export interface ServerInterface {
96
+ // null values are if the feature has been disabled
97
+ db: {
98
+ get(name: string): Database | null;
99
+ getMigrations(): NamedMigration[];
100
+ migrate(options: MigrateOptions): Promise<void>;
101
+ },
102
+ ws: {
103
+ get(path: string): WebSocketServer | undefined;
104
+ disconnectAll(path: string): void;
105
+ };
106
+ cache: CacheInterface;
107
+ localCache: CacheInterface;
108
+ logger?: Logger;
109
+ isPrimaryWorker: () => boolean;
110
+ getWorkerNumber: () => number;
111
+ getWorkerCount: () => number;
112
+ openBrowser: (path: string) => void;
113
+ getLogger: (identifier: string, options?: { level?: any; transports?: any[]; formatter?: any; }) => Logger;
114
+ }
115
+
116
+ export interface ServerRequest extends Request {
117
+ server?: ServerInterface;
118
+ }
119
+
120
+ export interface ServerResponse extends Response {
121
+ }
122
+
123
+ export interface TestHelperGlobal {
124
+ PORT: string;
125
+ request: typeof request,
126
+ logger: Logger,
127
+ sleep: (ms: number) => Promise<void>,
128
+ jsx: {
129
+ createRuntime: (args?: {
130
+ basePath?: string | null;
131
+ url?: RuntimeURL;
132
+ logger?: {
133
+ log: Function,
134
+ error: Function
135
+ }
136
+ }) => Runtime;
137
+ test: (cb: (container: RuntimeContainer, root: RuntimeHTMLElement, runtime: Runtime) => (Promise<void> | void), args?: {
138
+ runtimeOptions?: {
139
+ basePath?: string | null;
140
+ url?: RuntimeURL;
141
+ logger?: {
142
+ log: Function;
143
+ error: Function;
144
+ };
145
+ },
146
+ containerOptions?: {
147
+ runtimeOptions?: RuntimeOptions;
148
+ shadowInit?: boolean | RuntimeShadowRootInit;
149
+ };
150
+ }) => () => Promise<void>;
151
+ }
152
+ }
153
+
154
+ declare global {
155
+ // only available server side
156
+ var server: ServerGlobal;
157
+
158
+ //var utils: UtilsGlobal;
159
+
160
+ var test: TestHelperGlobal;
161
+
162
+ var it: Function;
163
+ var describe: Function;
164
+ var before: Function;
165
+ var after: Function;
166
+ }
167
+
168
+ export interface AuthConfig extends SessionHandlerOptions {
169
+
170
+ }
171
+
172
+ export interface MiddlewareConfig {
173
+ middleware?: Array<HandlerWithOptions | Handler>;
174
+ post?: Array<HandlerWithOptions | Handler>;
175
+ }
176
+
177
+ export interface ErrorConfig {
178
+ catch?: Array<ErrorHandler>;
179
+ }
180
+
181
+ export interface DocConfig {
182
+ publish: {
183
+ [path: string]: {
184
+ type?: "HTML" | "MD" | "JSON",
185
+ all?: boolean;
186
+ }
187
+ }
188
+ }
189
+
190
+ export interface WSConfig extends WebSocketServerOptions {
191
+ path: string;
192
+ disabled?: boolean;
193
+ }
194
+
195
+ export interface CORSConfig extends CORSOptions {
196
+
197
+ }
198
+
199
+ export interface ServerConfig {
200
+ preload?: (server: ServerInterface) => Promise<void> | void;
201
+ start?: (server: ServerInterface) => Promise<void> | void;
202
+ load?: (server: ServerInterface) => Promise<void> | void;
203
+ unload?: (server: ServerInterface) => void;
204
+ stop?: (server: ServerInterface) => void;
205
+ }
206
+
207
+ export interface DBConfig {
208
+ dialect?: string;
209
+ storage?: string;
210
+ url?: string;
211
+ disabled?: boolean;
212
+ name: string;
213
+ }
214
+
215
+ export interface APIOptions extends Partial<RouteOptions> {
216
+ basePath?: string;
217
+ path?: string | string[];
218
+ method?: string | string[];
219
+ parser?: ParserInterface;
220
+ middleware?: Handler | Handler[];
221
+ session?: SessionHandlerOptions | Handler;
222
+ }