miqro 7.3.5 → 8.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 (203) hide show
  1. package/README.md +3 -7
  2. package/build/esm/{src/bin → bin}/types.js +1 -2
  3. package/build/esm/{src/common → common}/arguments.d.ts +0 -2
  4. package/build/esm/{src/common → common}/arguments.js +5 -38
  5. package/build/esm/{src/common → common}/assets.js +1 -1
  6. package/build/esm/{src/common → common}/constants.d.ts +11 -0
  7. package/build/esm/{editor/common/templates.js → common/constants.js} +14 -0
  8. package/build/esm/{src/common → common}/esbuild.js +0 -1
  9. package/build/esm/common/help.d.ts +3 -0
  10. package/build/esm/{src/common → common}/help.js +0 -1
  11. package/build/esm/{src/inflate → inflate}/inflate-sea.js +3 -0
  12. package/build/esm/inflate/md.d.ts +1 -0
  13. package/build/esm/inflate/md.js +4 -0
  14. package/build/esm/{src/inflate → inflate}/setup-http.js +2 -3
  15. package/build/esm/{src/main.js → main.js} +0 -1
  16. package/build/esm/{src/services → services}/app.d.ts +0 -1
  17. package/build/esm/{src/services → services}/app.js +1 -53
  18. package/build/esm/{src/services → services}/utils/server-interface.js +18 -3
  19. package/build/esm/{src/services → services}/utils/websocketmanager.d.ts +0 -1
  20. package/build/esm/{src/services → services}/utils/websocketmanager.js +10 -20
  21. package/build/esm/{src/types.d.ts → types.d.ts} +2 -1
  22. package/build/lib.cjs +8297 -11619
  23. package/package.json +11 -23
  24. package/build/editor.bundle.js +0 -12329
  25. package/build/esm/editor/auth.d.ts +0 -6
  26. package/build/esm/editor/auth.js +0 -44
  27. package/build/esm/editor/common/constants.d.ts +0 -4
  28. package/build/esm/editor/common/constants.js +0 -20
  29. package/build/esm/editor/common/constants.server.d.ts +0 -2
  30. package/build/esm/editor/common/constants.server.js +0 -4
  31. package/build/esm/editor/common/editor-index.d.ts +0 -2
  32. package/build/esm/editor/common/editor-index.js +0 -14
  33. package/build/esm/editor/common/html-encode.d.ts +0 -1
  34. package/build/esm/editor/common/html-encode.js +0 -14
  35. package/build/esm/editor/common/log-socket.d.ts +0 -15
  36. package/build/esm/editor/common/log-socket.js +0 -71
  37. package/build/esm/editor/common/templates.d.ts +0 -11
  38. package/build/esm/editor/components/api-preview.d.ts +0 -11
  39. package/build/esm/editor/components/api-preview.js +0 -92
  40. package/build/esm/editor/components/editor.d.ts +0 -16
  41. package/build/esm/editor/components/editor.js +0 -367
  42. package/build/esm/editor/components/file-browser.d.ts +0 -37
  43. package/build/esm/editor/components/file-browser.js +0 -127
  44. package/build/esm/editor/components/file-editor-toolbar.d.ts +0 -22
  45. package/build/esm/editor/components/file-editor-toolbar.js +0 -95
  46. package/build/esm/editor/components/file-editor.d.ts +0 -32
  47. package/build/esm/editor/components/file-editor.js +0 -61
  48. package/build/esm/editor/components/filter-query.d.ts +0 -1
  49. package/build/esm/editor/components/filter-query.js +0 -23
  50. package/build/esm/editor/components/highlight-text-area.d.ts +0 -11
  51. package/build/esm/editor/components/highlight-text-area.js +0 -127
  52. package/build/esm/editor/components/log-viewer.d.ts +0 -6
  53. package/build/esm/editor/components/log-viewer.js +0 -71
  54. package/build/esm/editor/components/new-file.d.ts +0 -10
  55. package/build/esm/editor/components/new-file.js +0 -119
  56. package/build/esm/editor/components/scroll-query.d.ts +0 -7
  57. package/build/esm/editor/components/scroll-query.js +0 -22
  58. package/build/esm/editor/components/start-page.d.ts +0 -13
  59. package/build/esm/editor/components/start-page.js +0 -32
  60. package/build/esm/editor/http/admin/editor/api/fs/delete.api.d.ts +0 -4
  61. package/build/esm/editor/http/admin/editor/api/fs/delete.api.js +0 -30
  62. package/build/esm/editor/http/admin/editor/api/fs/read.api.d.ts +0 -7
  63. package/build/esm/editor/http/admin/editor/api/fs/read.api.js +0 -50
  64. package/build/esm/editor/http/admin/editor/api/fs/rename.api.d.ts +0 -7
  65. package/build/esm/editor/http/admin/editor/api/fs/rename.api.js +0 -40
  66. package/build/esm/editor/http/admin/editor/api/fs/scan.api.d.ts +0 -26
  67. package/build/esm/editor/http/admin/editor/api/fs/scan.api.js +0 -150
  68. package/build/esm/editor/http/admin/editor/api/fs/write.api.d.ts +0 -3
  69. package/build/esm/editor/http/admin/editor/api/fs/write.api.js +0 -39
  70. package/build/esm/editor/http/admin/editor/api/server/reload.api.d.ts +0 -10
  71. package/build/esm/editor/http/admin/editor/api/server/reload.api.js +0 -46
  72. package/build/esm/editor/http/admin/editor/api/server/restart.api.d.ts +0 -10
  73. package/build/esm/editor/http/admin/editor/api/server/restart.api.js +0 -46
  74. package/build/esm/editor/http/admin/editor/editor.d.ts +0 -1
  75. package/build/esm/editor/http/admin/editor/editor.js +0 -8
  76. package/build/esm/editor/http/admin/editor/index.api.d.ts +0 -3
  77. package/build/esm/editor/http/admin/editor/index.api.js +0 -23
  78. package/build/esm/editor/server.d.ts +0 -3
  79. package/build/esm/editor/server.js +0 -49
  80. package/build/esm/editor/ws.d.ts +0 -3
  81. package/build/esm/editor/ws.js +0 -12
  82. package/build/esm/src/common/constants.js +0 -14
  83. package/build/esm/src/common/help.d.ts +0 -3
  84. package/build/esm/src/inflate/md.d.ts +0 -3
  85. package/build/esm/src/inflate/md.js +0 -22
  86. package/build/esm/src/services/editor.d.ts +0 -3
  87. package/build/esm/src/services/editor.js +0 -66
  88. package/build/esm/src/services/utils/admin-interface.d.ts +0 -3
  89. package/build/esm/src/services/utils/admin-interface.js +0 -33
  90. package/build/style.css +0 -620
  91. package/editor/auth.ts +0 -53
  92. package/editor/common/constants.server.ts +0 -5
  93. package/editor/common/constants.ts +0 -21
  94. package/editor/common/editor-index.tsx +0 -17
  95. package/editor/common/html-encode.ts +0 -14
  96. package/editor/common/log-socket.tsx +0 -87
  97. package/editor/common/templates.ts +0 -481
  98. package/editor/components/api-preview.tsx +0 -118
  99. package/editor/components/editor.tsx +0 -496
  100. package/editor/components/file-browser.tsx +0 -311
  101. package/editor/components/file-editor-toolbar.tsx +0 -194
  102. package/editor/components/file-editor.tsx +0 -125
  103. package/editor/components/filter-query.tsx +0 -26
  104. package/editor/components/highlight-text-area.tsx +0 -148
  105. package/editor/components/log-viewer.tsx +0 -113
  106. package/editor/components/new-file.tsx +0 -172
  107. package/editor/components/scroll-query.tsx +0 -25
  108. package/editor/components/start-page.tsx +0 -52
  109. package/editor/http/admin/editor/api/fs/delete.api.tsx +0 -32
  110. package/editor/http/admin/editor/api/fs/read.api.tsx +0 -55
  111. package/editor/http/admin/editor/api/fs/rename.api.tsx +0 -41
  112. package/editor/http/admin/editor/api/fs/scan.api.tsx +0 -181
  113. package/editor/http/admin/editor/api/fs/write.api.tsx +0 -41
  114. package/editor/http/admin/editor/api/server/reload.api.ts +0 -53
  115. package/editor/http/admin/editor/api/server/restart.api.tsx +0 -52
  116. package/editor/http/admin/editor/editor.tsx +0 -10
  117. package/editor/http/admin/editor/index.api.tsx +0 -43
  118. package/editor/server.ts +0 -57
  119. package/editor/ws.ts +0 -17
  120. /package/build/esm/{src/bin → bin}/compile.d.ts +0 -0
  121. /package/build/esm/{src/bin → bin}/compile.js +0 -0
  122. /package/build/esm/{src/bin → bin}/doc-md.d.ts +0 -0
  123. /package/build/esm/{src/bin → bin}/doc-md.js +0 -0
  124. /package/build/esm/{src/bin → bin}/generate-doc.d.ts +0 -0
  125. /package/build/esm/{src/bin → bin}/generate-doc.js +0 -0
  126. /package/build/esm/{src/bin → bin}/test.d.ts +0 -0
  127. /package/build/esm/{src/bin → bin}/test.js +0 -0
  128. /package/build/esm/{src/bin → bin}/types.d.ts +0 -0
  129. /package/build/esm/{src/cluster.d.ts → cluster.d.ts} +0 -0
  130. /package/build/esm/{src/cluster.js → cluster.js} +0 -0
  131. /package/build/esm/{src/common → common}/admin-interface.d.ts +0 -0
  132. /package/build/esm/{src/common → common}/admin-interface.js +0 -0
  133. /package/build/esm/{src/common → common}/assets.d.ts +0 -0
  134. /package/build/esm/{src/common → common}/checksum.d.ts +0 -0
  135. /package/build/esm/{src/common → common}/checksum.js +0 -0
  136. /package/build/esm/{src/common → common}/content-type.d.ts +0 -0
  137. /package/build/esm/{src/common → common}/content-type.js +0 -0
  138. /package/build/esm/{src/common → common}/esbuild.d.ts +0 -0
  139. /package/build/esm/{src/common → common}/exit.d.ts +0 -0
  140. /package/build/esm/{src/common → common}/exit.js +0 -0
  141. /package/build/esm/{src/common → common}/fs.d.ts +0 -0
  142. /package/build/esm/{src/common → common}/fs.js +0 -0
  143. /package/build/esm/{src/common → common}/jsx.d.ts +0 -0
  144. /package/build/esm/{src/common → common}/jsx.js +0 -0
  145. /package/build/esm/{src/common → common}/jwt.d.ts +0 -0
  146. /package/build/esm/{src/common → common}/jwt.js +0 -0
  147. /package/build/esm/{src/common → common}/paths.d.ts +0 -0
  148. /package/build/esm/{src/common → common}/paths.js +0 -0
  149. /package/build/esm/{src/common → common}/watch.d.ts +0 -0
  150. /package/build/esm/{src/common → common}/watch.js +0 -0
  151. /package/build/esm/{src/inflate → inflate}/inflate-sea.d.ts +0 -0
  152. /package/build/esm/{src/inflate → inflate}/inflate.d.ts +0 -0
  153. /package/build/esm/{src/inflate → inflate}/inflate.js +0 -0
  154. /package/build/esm/{src/inflate → inflate}/setup-auth.d.ts +0 -0
  155. /package/build/esm/{src/inflate → inflate}/setup-auth.js +0 -0
  156. /package/build/esm/{src/inflate → inflate}/setup-cors.d.ts +0 -0
  157. /package/build/esm/{src/inflate → inflate}/setup-cors.js +0 -0
  158. /package/build/esm/{src/inflate → inflate}/setup-db.d.ts +0 -0
  159. /package/build/esm/{src/inflate → inflate}/setup-db.js +0 -0
  160. /package/build/esm/{src/inflate → inflate}/setup-error.d.ts +0 -0
  161. /package/build/esm/{src/inflate → inflate}/setup-error.js +0 -0
  162. /package/build/esm/{src/inflate → inflate}/setup-http.d.ts +0 -0
  163. /package/build/esm/{src/inflate → inflate}/setup-log.d.ts +0 -0
  164. /package/build/esm/{src/inflate → inflate}/setup-log.js +0 -0
  165. /package/build/esm/{src/inflate → inflate}/setup-middleware.d.ts +0 -0
  166. /package/build/esm/{src/inflate → inflate}/setup-middleware.js +0 -0
  167. /package/build/esm/{src/inflate → inflate}/setup-server-config.d.ts +0 -0
  168. /package/build/esm/{src/inflate → inflate}/setup-server-config.js +0 -0
  169. /package/build/esm/{src/inflate → inflate}/setup-test.d.ts +0 -0
  170. /package/build/esm/{src/inflate → inflate}/setup-test.js +0 -0
  171. /package/build/esm/{src/inflate → inflate}/setup-ws.d.ts +0 -0
  172. /package/build/esm/{src/inflate → inflate}/setup-ws.js +0 -0
  173. /package/build/esm/{src/inflate → inflate}/setup.doc.d.ts +0 -0
  174. /package/build/esm/{src/inflate → inflate}/setup.doc.js +0 -0
  175. /package/build/esm/{src/inflate → inflate}/utils/sea-utils.d.ts +0 -0
  176. /package/build/esm/{src/inflate → inflate}/utils/sea-utils.js +0 -0
  177. /package/build/esm/{src/lib.d.ts → lib.d.ts} +0 -0
  178. /package/build/esm/{src/lib.js → lib.js} +0 -0
  179. /package/build/esm/{src/main.d.ts → main.d.ts} +0 -0
  180. /package/build/esm/{src/services → services}/hot-reload.d.ts +0 -0
  181. /package/build/esm/{src/services → services}/hot-reload.js +0 -0
  182. /package/build/esm/{src/services → services}/migrations.d.ts +0 -0
  183. /package/build/esm/{src/services → services}/migrations.js +0 -0
  184. /package/build/esm/{src/services → services}/utils/cache.d.ts +0 -0
  185. /package/build/esm/{src/services → services}/utils/cache.js +0 -0
  186. /package/build/esm/{src/services → services}/utils/cluster-cache.d.ts +0 -0
  187. /package/build/esm/{src/services → services}/utils/cluster-cache.js +0 -0
  188. /package/build/esm/{src/services → services}/utils/cluster-ws.d.ts +0 -0
  189. /package/build/esm/{src/services → services}/utils/cluster-ws.js +0 -0
  190. /package/build/esm/{src/services → services}/utils/db-manager.d.ts +0 -0
  191. /package/build/esm/{src/services → services}/utils/db-manager.js +0 -0
  192. /package/build/esm/{src/services → services}/utils/get-route.d.ts +0 -0
  193. /package/build/esm/{src/services → services}/utils/get-route.js +0 -0
  194. /package/build/esm/{src/services → services}/utils/jwt.d.ts +0 -0
  195. /package/build/esm/{src/services → services}/utils/jwt.js +0 -0
  196. /package/build/esm/{src/services → services}/utils/log-transport.d.ts +0 -0
  197. /package/build/esm/{src/services → services}/utils/log-transport.js +0 -0
  198. /package/build/esm/{src/services → services}/utils/log.d.ts +0 -0
  199. /package/build/esm/{src/services → services}/utils/log.js +0 -0
  200. /package/build/esm/{src/services → services}/utils/middleware.d.ts +0 -0
  201. /package/build/esm/{src/services → services}/utils/middleware.js +0 -0
  202. /package/build/esm/{src/services → services}/utils/server-interface.d.ts +0 -0
  203. /package/build/esm/{src/types.js → types.js} +0 -0
@@ -1,33 +0,0 @@
1
- import { getHotReloadScript } from "../hot-reload.js";
2
- import { ClusterCache } from "./cluster-cache.js";
3
- export function createAdminInterface(app) {
4
- const adminCache = new ClusterCache("EditorCache[" + app.options.name + "]");
5
- return {
6
- getCache: () => adminCache,
7
- stop: () => app.stop(),
8
- restart: () => app.restart(),
9
- reload: () => app.reload(),
10
- getHotReloadHTML: getHotReloadScript,
11
- getMigrations: () => {
12
- if (app.inflated) {
13
- const ret = [];
14
- for (const db of app.inflated.dbList) {
15
- for (const m of db.migrations) {
16
- ret.push(m);
17
- }
18
- }
19
- return ret;
20
- }
21
- return [];
22
- },
23
- getServices: () => {
24
- return app.options.services;
25
- },
26
- getRouteFileMap: () => {
27
- return app.inflated ? app.inflated.fileMap : {};
28
- },
29
- getInflateErrors: () => {
30
- return app.inflated ? app.inflated.errors : [];
31
- }
32
- };
33
- }
package/build/style.css DELETED
@@ -1,620 +0,0 @@
1
- /*@font-face {
2
- font-family: 'EditorFont';
3
- src: url('/admin/editor/font.ttf');
4
- }*/
5
-
6
- * {
7
- font-family: "monospace" !important;
8
- font-size: 14px;
9
- }
10
-
11
- :root {
12
- /*--file-editor-bottom-panel-height: 380px;*/
13
- --file-editor-bottom-panel-height: 40%;
14
- --file-editor-toolbar-height: 30px;
15
- --file-browser-width: 260px;
16
- /*--file-browser-width: 10%;*/
17
- --file-browser-file-open-color: blue;
18
- --file-browser-file-selected-color: green;
19
- --file-browser-file-warning-color: yellow;
20
- --file-browser-file-danger-color: red;
21
- --file-browser-file-info-color: cyan;
22
- --file-browser-separation: 1px;
23
- --file-browser-separation-file: 5px;
24
- }
25
-
26
- @media only screen and (max-width: 980px) {
27
-
28
- * {
29
- font-size: 22px;
30
- }
31
-
32
- :root {
33
- --file-editor-toolbar-height: 80px;
34
- --file-browser-width: 300px;
35
- }
36
- }
37
-
38
- btn {
39
- font-size: 13px !important;
40
- font-weight: 400;
41
- }
42
-
43
- body {
44
- /*background-color: #1e1e1e;*/
45
- background-color: #000000;
46
- color: #ffffff;
47
- }
48
-
49
- body {
50
- height: 100%;
51
- width: 100%;
52
- padding: 0;
53
- margin: 0;
54
- }
55
-
56
- /*body {
57
- background-color: black;
58
- }
59
-
60
- code {
61
- background-color: black !important;
62
- }*/
63
-
64
- .info-danger {
65
- background-color: var(--file-browser-file-danger-color);
66
- color: black;
67
- padding: 20px;
68
- border-radius: 10px;
69
- /*border-color: white;
70
- border-width: 1px;*/
71
- border-width: 0;
72
- border-style: solid;
73
- }
74
-
75
- .info-warn {
76
- background-color: var(--file-browser-file-warning-color);
77
- color: black;
78
- padding: 20px;
79
- border-radius: 10px;
80
- /*border-color: white;
81
- border-width: 1px;*/
82
- border-width: 0;
83
- border-style: solid;
84
- }
85
-
86
- .info-info {
87
- background-color: var(--file-browser-file-info-color);
88
- color: black;
89
- padding: 20px;
90
- border-radius: 10px;
91
- /*border-color: white;
92
- border-width: 1px;*/
93
- border-width: 0;
94
- border-style: solid;
95
- }
96
-
97
- .info-success {
98
- background-color: var(--file-browser-file-open-color);
99
- color: black;
100
- padding: 20px;
101
- border-radius: 10px;
102
- /*border-color: white;
103
- border-width: 1px;*/
104
- border-width: 0;
105
- border-style: solid;
106
- }
107
-
108
- .main-container {
109
- display: inline-block;
110
- padding: 0;
111
- margin: 0;
112
- height: 100%;
113
- width: 100%;
114
- }
115
-
116
- html {
117
- padding: 0;
118
- margin: 0;
119
- height: 100%;
120
- width: 100%;
121
- /*overflow: hidden;*/
122
- }
123
-
124
- .editor {
125
- padding: 0;
126
- margin: 0;
127
- height: 100%;
128
- width: 100%;
129
- }
130
-
131
- .editor-firstrow {
132
- display: flex;
133
- height: calc(100% - var(--file-editor-bottom-panel-height) - 2 * var(--file-browser-separation));
134
- width: 100%;
135
- padding: 0;
136
- margin: 0;
137
- /*resize: vertical;
138
- border-right: 10px;
139
- overflow: auto;*/
140
- }
141
-
142
- .editor-firstrow.bottom-panel-hidden {
143
- height: calc(100% - 1 * var(--file-browser-separation));
144
- }
145
-
146
- .file-browser {
147
- padding: 0;
148
- margin: 0;
149
- /*height: calc(100% - var(--file-editor-bottom-panel-height));*/
150
- height: 100%;
151
- width: var(--file-browser-width);
152
- /*min-width: var(--file-browser-width);*/
153
- /*resize: horizontal;*/
154
- border-right: 1px solid darkgray;
155
- }
156
-
157
- .file-browser ul {
158
- list-style-type: none;
159
- }
160
-
161
- .file-browser input {
162
- /*height: 80%;
163
- height: calc(0.8 * (var(--file-editor-toolbar-height) - var(--file-browser-separation)));*/
164
- height: var(--file-editor-toolbar-height);
165
- border: none;
166
- padding: 0;
167
- }
168
-
169
- .file-browser-toolbar {
170
- padding: 0;
171
- padding: var(--file-browser-separation);
172
- margin: 0;
173
- /*display: flex;*/
174
- justify-content: flex-start;
175
- align-items: center;
176
- /*width: 100%;*/
177
- height: calc(3 * var(--file-editor-toolbar-height));
178
- /*border-top: 1px solid darkgray;*/
179
- border-bottom: 1px solid darkgray;
180
- }
181
-
182
- .file-browser-file {
183
- /*padding-left: 20px;*/
184
- width: fit-content;
185
- /*padding-right: 20px;*/
186
- /*height: var(--file-browser-separation);*/
187
- /*min-height: var(--file-editor-toolbar-height);*/
188
- }
189
-
190
- .file-browser-file p {
191
- word-wrap: break-word;
192
- padding: 0;
193
- margin: 0;
194
- /*height: 100%;*/
195
- }
196
-
197
- .file-browser-file.open {
198
- background-color: var(--file-browser-file-open-color);
199
- color: white;
200
- }
201
-
202
- /*.file-browser-file.changed {
203
- background-color: var(--file-browser-file-warning-color);
204
- color: black;
205
- }*/
206
-
207
- .file-browser-file.active {
208
- background-color: var(--file-browser-file-selected-color);
209
- color: white;
210
- }
211
-
212
- .file-browser-file.error {
213
- background-color: var(--file-browser-file-danger-color);
214
- color: black;
215
- }
216
-
217
- .file-browser-files ul {
218
- padding: 0;
219
- margin: 0;
220
- }
221
-
222
- .file-browser-dir {
223
- /*min-height: var(--file-editor-toolbar-height);*/
224
- word-wrap: break-word;
225
- height: 100%;
226
- /*padding: 20px;*/
227
- padding: 0;
228
- justify-content: start;
229
- align-items: center;
230
- display: flex;
231
- }
232
-
233
- .file-browser-files {
234
- padding: 0;
235
- margin: 0;
236
- overflow: auto;
237
- height: calc(100% - 3 * var(--file-editor-toolbar-height) - var(--file-browser-separation) - var(--file-browser-separation));
238
- /*padding-bottom: var(--file-browser-separation);*/
239
- }
240
-
241
- .file-editor-list {
242
- padding: 0;
243
- margin: 0;
244
-
245
- width: calc(100% - var(--file-browser-width));
246
-
247
- height: 100%;
248
- /*height: calc(100% - var(--file-editor-bottom-panel-height));*/
249
-
250
- /*resize: horizontal;*/
251
- /*resize: horizontal;
252
- overflow: auto;*/
253
- }
254
-
255
- .file-editor-list.left-panel-hidden {
256
- width: 100%;
257
- }
258
-
259
- .file-editor-list.bottom-panel-hidden {
260
- height: 100%;
261
- }
262
-
263
- .start-page {
264
- /*display: flex;
265
- /*justify-content: center;
266
- align-items: center;*/
267
- height: 100%;
268
- width: 100%;
269
- }
270
-
271
- .file-editor-container {
272
- padding: 0;
273
- margin: 0;
274
- /*min-width: 100%;*/
275
- min-height: 100%;
276
- height: 100%;
277
- }
278
-
279
- .file-editor-toolbar {
280
- padding: 0;
281
- padding-left: var(--file-browser-separation);
282
- padding-bottom: var(--file-browser-separation);
283
- padding-top: var(--file-browser-separation);
284
- margin: 0;
285
- /*width: 100%;*/
286
- height: calc(2*var(--file-editor-toolbar-height));
287
- }
288
-
289
- .file-editor-toolbar-row {
290
- padding: 0;
291
- margin: 0;
292
- height: calc(var(--file-editor-toolbar-height));
293
- display: flex;
294
- justify-content: flex-start;
295
- align-items: center;
296
- width: 100%;
297
- }
298
-
299
- .btn {
300
- height: var(--file-editor-toolbar-height);
301
- padding: 0px;
302
- margin: 0;
303
- border: 0;
304
- padding-left: 10px;
305
- padding-right: 10px;
306
- }
307
-
308
- .btn-small {
309
- /*height: var(--file-browser-separation);*/
310
- padding: 0;
311
- margin: 0;
312
- border: 0;
313
- color: white;
314
- background: none;
315
- }
316
-
317
- .btn.info {
318
- background-color: var(--file-browser-file-info-color);
319
- color: black;
320
- }
321
-
322
- .btn.success {
323
- background-color: var(--file-browser-file-selected-color);
324
- color: #ffffff;
325
- word-wrap: break-word;
326
- }
327
-
328
- .btn.active {
329
- background-color: var(--file-browser-file-open-color);
330
- color: #ffffff;
331
- word-wrap: break-word;
332
- }
333
-
334
- .btn.warning {
335
- background-color: var(--file-browser-file-warning-color);
336
- color: black;
337
- }
338
-
339
- .btn.danger {
340
- background-color: var(--file-browser-file-danger-color);
341
- color: black;
342
- }
343
-
344
- button:disabled,
345
- button[disabled] {
346
- background-color: grey !important;
347
- color: darkgrey !important;
348
- }
349
-
350
- .file-editor {
351
- height: 100%;
352
- /*height: calc(100% - var(--file-browser-separation) - var(--file-browser-separation));*/
353
- /*border-top: 1px solid darkgray;*/
354
- }
355
-
356
- .file-editor-content {
357
- height: calc(100% - 2 * var(--file-editor-toolbar-height) - var(--file-browser-separation) - var(--file-browser-separation) - 1px);
358
- border-top: 1px solid darkgray;
359
- display: flex;
360
- margin: 0;
361
- padding: 0;
362
- /*padding: var(--file-browser-separation);*/
363
- }
364
-
365
- .file-editor-text-editor {
366
- /*padding-left: var(--file-browser-separation);*/
367
- padding: 0;
368
- margin: 0;
369
- width: calc(100% - var(--file-browser-separation));
370
- width: 100%;
371
- /*min-width: calc(100% - var(--file-browser-separation));*/
372
- /*resize: horizontal;*/
373
-
374
- height: 100%;
375
- height: calc(100% - 2 * var(--file-browser-separation));
376
- overflow: auto;
377
- overflow: scroll;
378
- padding: var(--file-browser-separation);
379
- }
380
-
381
- .file-editor-text-editor code[contenteditable="false"] {
382
- color: grey !important;
383
- }
384
-
385
- .file-editor-text-editor code[contenteditable="false"] * {
386
- color: grey !important;
387
- }
388
-
389
- .file-editor-text-editor.split {
390
- /*width: 50%;*/
391
- /*min-width: 50%;*/
392
- border-right: 1px solid darkgray;
393
- }
394
-
395
- .file-editor-preview {
396
- background-color: #ffffff;
397
- color: black;
398
- /*padding-left: var(--file-browser-separation);*/
399
- margin: 0;
400
- /*width: 50%;*/
401
- height: 100%;
402
- width: 100%;
403
- }
404
-
405
- .file-editor-preview iframe {
406
- padding: 0;
407
- margin: 0;
408
- border: 0;
409
- border-width: 0;
410
- width: 100%;
411
- height: calc(100% - 10px - var(--file-editor-toolbar-height));
412
- }
413
-
414
- .file-editor-preview-path {
415
- height: var(--file-editor-toolbar-height);
416
- background-color: black;
417
- color: white;
418
- display: flex;
419
- justify-content: center;
420
- align-items: center;
421
- /*border-style: solid;
422
- border-color: white;
423
- border-width: 1px;
424
- border-radius: 10px;*/
425
- }
426
-
427
- .new-dialog {
428
- position: absolute;
429
- top: 15%;
430
- }
431
-
432
- .dialog-header {
433
- height: var(--file-editor-toolbar-height);
434
- display: flex;
435
- }
436
-
437
- .dialog-footer {
438
- height: var(--file-editor-toolbar-height);
439
- display: flex;
440
- }
441
-
442
- .dialog-body {
443
- /*height: calc(100% - var(--file-editor-toolbar-height) - var(--file-editor-toolbar-height));*/
444
- margin-bottom: var(--file-browser-separation);
445
- }
446
-
447
-
448
- dialog {
449
- /*animation: fade-out 0.7s ease-out;*/
450
- animation: fade-out 0.1s ease-out;
451
- }
452
-
453
- dialog[open] {
454
- /*animation: fade-in 0.7s ease-out;*/
455
- animation: fade-in 0.1s ease-out;
456
- }
457
-
458
- dialog[open]::backdrop {
459
- /*animation: backdrop-fade-in 0.7s ease-out forwards;*/
460
- animation: backdrop-fade-in 0.1s ease-out forwards;
461
- }
462
-
463
- /* Animation keyframes */
464
-
465
- @keyframes fade-in {
466
- 0% {
467
- opacity: 0;
468
- transform: scaleY(0);
469
- display: none;
470
- }
471
-
472
- 100% {
473
- opacity: 1;
474
- transform: scaleY(1);
475
- display: block;
476
- }
477
- }
478
-
479
- @keyframes fade-out {
480
- 0% {
481
- opacity: 1;
482
- transform: scaleY(1);
483
- display: block;
484
- }
485
-
486
- 100% {
487
- opacity: 0;
488
- transform: scaleY(0);
489
- display: none;
490
- }
491
- }
492
-
493
- @keyframes backdrop-fade-in {
494
- 0% {
495
- background-color: rgb(0 0 0 / 0%);
496
- }
497
-
498
- 100% {
499
- background-color: rgb(0 0 0 / 25%);
500
- }
501
- }
502
-
503
- pre {
504
- min-height: 10%;
505
- }
506
-
507
- .file-editor-content-error {
508
- background-color: var(--file-browser-file-danger-color);
509
- color: black;
510
- padding: 20px;
511
- border-radius: 10px;
512
- border-color: white;
513
- border-width: 1px;
514
- border-style: solid;
515
- }
516
-
517
- .new-dialog-preview {
518
- /*height: 512px;*/
519
- /*width: 512px;*/
520
- background-color: black;
521
- padding: 20px;
522
- border-radius: 15px;
523
- margin-top: var(--file-browser-separation)
524
- }
525
-
526
-
527
- .editor-bottom-panel {
528
- padding: 0;
529
- margin: 0;
530
- height: calc(var(--file-editor-bottom-panel-height) - var(--file-editor-toolbar-height));
531
- width: 100%;
532
- /*background-color: white;*/
533
- /*border-style: solid;*/
534
- border-top-style: solid;
535
- border-color: grey;
536
- border-width: 1px;
537
- position: absolute;
538
- top: calc(100% - var(--file-editor-bottom-panel-height) - 2 * var(--file-browser-separation));
539
- left: 0;
540
- }
541
-
542
- .log-viewer {
543
- height: 100%;
544
- width: 100%;
545
- padding: 0;
546
- margin: 0;
547
- }
548
-
549
- .log-viewer-log {
550
- overflow: auto;
551
- height: 100%;
552
- width: 100%;
553
- padding: 0;
554
- margin: 0;
555
- display: flex;
556
- flex-direction: column-reverse;
557
- }
558
-
559
- .log-viewer-toolbar {
560
- display: flex;
561
- justify-content: flex-start;
562
- align-items: center;
563
- width: 100%;
564
- overflow: auto;
565
- margin: 0;
566
- padding: 0;
567
- }
568
-
569
- .file-browser-opened-files {
570
- margin: 0;
571
- overflow: auto;
572
- padding: var(--file-browser-separation);
573
- border-bottom: 1px solid darkgray;
574
- }
575
-
576
- .row {
577
- display: flex;
578
- }
579
-
580
- .row.center {
581
- justify-content: center;
582
- align-items: center;
583
- }
584
-
585
- .toggle-panel-button {
586
- border-color: grey;
587
- background-color: black;
588
- }
589
-
590
- .toggle-panel-button.active {
591
- border-color: white;
592
- background-color: black;
593
- }
594
-
595
- .left-side-panel-button {
596
- border-width: 1px;
597
- border-left-width: 5px;
598
- border-style: solid;
599
- height: 14px;
600
- width: 10px;
601
- margin-right: 10px;
602
- }
603
-
604
- .right-side-panel-button {
605
- border-width: 1px;
606
- border-right-width: 5px;
607
- border-style: solid;
608
- height: 14px;
609
- width: 10px;
610
- margin-right: 10px;
611
- }
612
-
613
- .bottom-side-panel-button {
614
- border-width: 1px;
615
- border-bottom-width: 5px;
616
- border-style: solid;
617
- height: 10px;
618
- width: 14px;
619
- margin-right: 10px;
620
- }
package/editor/auth.ts DELETED
@@ -1,53 +0,0 @@
1
- import { timingSafeEqual } from "node:crypto";
2
- import { AuthConfig, ServerRequest } from "../src/types.js";
3
- import { AdminRequest } from "../src/common/admin-interface.js";
4
-
5
- export const ADMIN_EDITOR_AUTH_KEY = "$$ADMIN_EDITOR_AUTH_KEY$$";
6
-
7
- export const ADMIN_EDITOR_AUTH_QUERY = "key";
8
- export const ADMIN_EDITOR_AUTH_COOKIE = ADMIN_EDITOR_AUTH_KEY;
9
-
10
- export default {
11
- authService: {
12
- verify: async (args) => {
13
-
14
- const adminInterface = (args.req as AdminRequest).editor;
15
- const serverInterface = (args.req as any as ServerRequest).server;
16
- const KEY = (adminInterface ? adminInterface.getCache() : serverInterface.cache).get<string>(ADMIN_EDITOR_AUTH_KEY);
17
-
18
- const validSesson = {
19
- username: "username",
20
- account: "account",
21
- groups: [],
22
- token: args.token
23
- };
24
-
25
- const queryToken = args.req.query[ADMIN_EDITOR_AUTH_QUERY];
26
- const cookieToken = args.req.cookies[ADMIN_EDITOR_AUTH_COOKIE];
27
-
28
- //console.log("\n\nqueryToken[%s] cookieToken[%s] KEY[%s]\n\n", queryToken, cookieToken, KEY);
29
-
30
- if (queryToken) {
31
- const queryBuf = Buffer.from(String(queryToken));
32
- const keyBuf = Buffer.from(KEY);
33
- if (typeof queryToken === "string" && queryBuf.length === keyBuf.length && timingSafeEqual(queryBuf, keyBuf)) {
34
- args.res.setCookie(ADMIN_EDITOR_AUTH_COOKIE, KEY, {
35
- expires: new Date(Date.now() + 1000 * 60 * 60 * 24),
36
- httpOnly: true,
37
- //secure: args.req.secure,
38
- sameSite: "strict",
39
- path: "/",
40
- });
41
- args.req.searchParams.delete(ADMIN_EDITOR_AUTH_QUERY);
42
- const queryString = args.req.searchParams.toString();
43
- const redirect = args.req.path + (queryString ? "?" + queryString : "");
44
- await args.res.redirect(redirect);
45
- return validSesson;
46
- }
47
- } else if (cookieToken) {
48
- return cookieToken === KEY ? validSesson : null;
49
- }
50
- return null;
51
- },
52
- }
53
- } as AuthConfig;
@@ -1,5 +0,0 @@
1
- import { resolve } from "node:path";
2
- import { cwd } from "node:process";
3
-
4
- export const PORT = process.env["PORT"] ? process.env["PORT"] : "8080";
5
- export const BASE_PATH = resolve(cwd());
@@ -1,21 +0,0 @@
1
- export const BASEEDITOR_PATH = "/admin/editor";
2
- export const LOG_SOCKET_PATH = "/admin/socket";
3
- export const LOG_WRITE_EVENT = "LogWrite";
4
-
5
- export const SUPPORTED_LANGUAGES = [
6
- "text",
7
- "json",
8
- "javascript",
9
- "typescript",
10
- "dockerfile",
11
- "yaml",
12
- "xml",
13
- "html",
14
- "css",
15
- "scss",
16
- "markdown",
17
- "c",
18
- "cpp",
19
- "bash",
20
- "python"
21
- ];