miqro 5.0.4 → 6.0.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 (353) hide show
  1. package/.eslintrc +15 -0
  2. package/README.md +618 -20
  3. package/build/editor.bundle.js +61154 -0
  4. package/build/esm/editor/auth.d.ts +6 -0
  5. package/build/esm/editor/auth.js +42 -0
  6. package/build/esm/editor/auth.js.map +1 -0
  7. package/build/esm/editor/common/admin-interface.d.ts +36 -0
  8. package/build/esm/editor/common/admin-interface.js +45 -0
  9. package/build/esm/editor/common/admin-interface.js.map +1 -0
  10. package/build/esm/editor/common/constants.d.ts +4 -0
  11. package/build/esm/editor/common/constants.js +21 -0
  12. package/build/esm/editor/common/constants.js.map +1 -0
  13. package/build/esm/editor/common/constants.server.d.ts +2 -0
  14. package/build/esm/editor/common/constants.server.js +5 -0
  15. package/build/esm/editor/common/constants.server.js.map +1 -0
  16. package/build/esm/editor/common/editor-index.d.ts +2 -0
  17. package/build/esm/editor/common/editor-index.js +15 -0
  18. package/build/esm/editor/common/editor-index.js.map +1 -0
  19. package/build/esm/editor/common/html-encode.d.ts +1 -0
  20. package/build/esm/editor/common/html-encode.js +15 -0
  21. package/build/esm/editor/common/html-encode.js.map +1 -0
  22. package/build/esm/editor/common/log-socket.d.ts +13 -0
  23. package/build/esm/editor/common/log-socket.js +68 -0
  24. package/build/esm/editor/common/log-socket.js.map +1 -0
  25. package/build/esm/editor/common/templates.d.ts +11 -0
  26. package/build/esm/editor/common/templates.js +444 -0
  27. package/build/esm/editor/common/templates.js.map +1 -0
  28. package/build/esm/editor/components/api-preview.d.ts +11 -0
  29. package/build/esm/editor/components/api-preview.js +91 -0
  30. package/build/esm/editor/components/api-preview.js.map +1 -0
  31. package/build/esm/editor/components/editor.d.ts +16 -0
  32. package/build/esm/editor/components/editor.js +355 -0
  33. package/build/esm/editor/components/editor.js.map +1 -0
  34. package/build/esm/editor/components/file-browser.d.ts +37 -0
  35. package/build/esm/editor/components/file-browser.js +122 -0
  36. package/build/esm/editor/components/file-browser.js.map +1 -0
  37. package/build/esm/editor/components/file-editor-toolbar.d.ts +22 -0
  38. package/build/esm/editor/components/file-editor-toolbar.js +94 -0
  39. package/build/esm/editor/components/file-editor-toolbar.js.map +1 -0
  40. package/build/esm/editor/components/file-editor.d.ts +32 -0
  41. package/build/esm/editor/components/file-editor.js +60 -0
  42. package/build/esm/editor/components/file-editor.js.map +1 -0
  43. package/build/esm/editor/components/filter-query.d.ts +1 -0
  44. package/build/esm/editor/components/filter-query.js +23 -0
  45. package/build/esm/editor/components/filter-query.js.map +1 -0
  46. package/build/esm/editor/components/highlight-text-area.d.ts +11 -0
  47. package/build/esm/editor/components/highlight-text-area.js +139 -0
  48. package/build/esm/editor/components/highlight-text-area.js.map +1 -0
  49. package/build/esm/editor/components/log-viewer.d.ts +6 -0
  50. package/build/esm/editor/components/log-viewer.js +70 -0
  51. package/build/esm/editor/components/log-viewer.js.map +1 -0
  52. package/build/esm/editor/components/new-file.d.ts +10 -0
  53. package/build/esm/editor/components/new-file.js +118 -0
  54. package/build/esm/editor/components/new-file.js.map +1 -0
  55. package/build/esm/editor/components/scroll-query.d.ts +7 -0
  56. package/build/esm/editor/components/scroll-query.js +22 -0
  57. package/build/esm/editor/components/scroll-query.js.map +1 -0
  58. package/build/esm/editor/components/start-page.d.ts +13 -0
  59. package/build/esm/editor/components/start-page.js +31 -0
  60. package/build/esm/editor/components/start-page.js.map +1 -0
  61. package/build/esm/editor/http/admin/editor/api/fs/delete.api.d.ts +3 -0
  62. package/build/esm/editor/http/admin/editor/api/fs/delete.api.js +30 -0
  63. package/build/esm/editor/http/admin/editor/api/fs/delete.api.js.map +1 -0
  64. package/build/esm/editor/http/admin/editor/api/fs/read.api.d.ts +5 -0
  65. package/build/esm/editor/http/admin/editor/api/fs/read.api.js +50 -0
  66. package/build/esm/editor/http/admin/editor/api/fs/read.api.js.map +1 -0
  67. package/build/esm/editor/http/admin/editor/api/fs/rename.api.d.ts +4 -0
  68. package/build/esm/editor/http/admin/editor/api/fs/rename.api.js +40 -0
  69. package/build/esm/editor/http/admin/editor/api/fs/rename.api.js.map +1 -0
  70. package/build/esm/editor/http/admin/editor/api/fs/scan.api.d.ts +26 -0
  71. package/build/esm/editor/http/admin/editor/api/fs/scan.api.js +150 -0
  72. package/build/esm/editor/http/admin/editor/api/fs/scan.api.js.map +1 -0
  73. package/build/esm/editor/http/admin/editor/api/fs/write.api.d.ts +3 -0
  74. package/build/esm/editor/http/admin/editor/api/fs/write.api.js +39 -0
  75. package/build/esm/editor/http/admin/editor/api/fs/write.api.js.map +1 -0
  76. package/build/esm/editor/http/admin/editor/api/server/reload.api.d.ts +10 -0
  77. package/build/esm/editor/http/admin/editor/api/server/reload.api.js +46 -0
  78. package/build/esm/editor/http/admin/editor/api/server/reload.api.js.map +1 -0
  79. package/build/esm/editor/http/admin/editor/api/server/restart.api.d.ts +10 -0
  80. package/build/esm/editor/http/admin/editor/api/server/restart.api.js +46 -0
  81. package/build/esm/editor/http/admin/editor/api/server/restart.api.js.map +1 -0
  82. package/build/esm/editor/http/admin/editor/editor.js +8 -0
  83. package/build/esm/editor/http/admin/editor/editor.js.map +1 -0
  84. package/build/esm/editor/http/admin/editor/index.api.d.ts +3 -0
  85. package/build/esm/editor/http/admin/editor/index.api.js +22 -0
  86. package/build/esm/editor/http/admin/editor/index.api.js.map +1 -0
  87. package/build/esm/editor/server.d.ts +3 -0
  88. package/build/esm/editor/server.js +50 -0
  89. package/build/esm/editor/server.js.map +1 -0
  90. package/build/esm/editor/ws.d.ts +3 -0
  91. package/build/esm/editor/ws.js +12 -0
  92. package/build/esm/editor/ws.js.map +1 -0
  93. package/build/esm/src/cluster.js +11 -0
  94. package/build/esm/src/cluster.js.map +1 -0
  95. package/build/esm/src/common/arguments.d.ts +22 -0
  96. package/build/esm/src/common/arguments.js +310 -0
  97. package/build/esm/src/common/arguments.js.map +1 -0
  98. package/build/esm/src/common/assets.d.ts +11 -0
  99. package/build/esm/src/common/assets.js +121 -0
  100. package/build/esm/src/common/assets.js.map +1 -0
  101. package/build/esm/src/common/checksum.d.ts +19 -0
  102. package/build/esm/src/common/checksum.js +57 -0
  103. package/build/esm/src/common/checksum.js.map +1 -0
  104. package/build/esm/src/common/constants.d.ts +10 -0
  105. package/build/esm/src/common/constants.js +14 -0
  106. package/build/esm/src/common/constants.js.map +1 -0
  107. package/build/esm/src/common/content-type.d.ts +4 -0
  108. package/build/esm/src/common/content-type.js +82 -0
  109. package/build/esm/src/common/content-type.js.map +1 -0
  110. package/build/esm/src/common/esbuild.d.ts +17 -0
  111. package/build/esm/src/common/esbuild.js +79 -0
  112. package/build/esm/src/common/esbuild.js.map +1 -0
  113. package/build/esm/src/common/exit.d.ts +2 -0
  114. package/build/esm/src/common/exit.js +84 -0
  115. package/build/esm/src/common/exit.js.map +1 -0
  116. package/build/esm/src/common/fs.d.ts +8 -0
  117. package/build/esm/src/common/fs.js +17 -0
  118. package/build/esm/src/common/fs.js.map +1 -0
  119. package/build/esm/src/common/help.d.ts +3 -0
  120. package/build/esm/src/common/help.js +44 -0
  121. package/build/esm/src/common/help.js.map +1 -0
  122. package/build/esm/src/common/jsx.d.ts +52 -0
  123. package/build/esm/src/common/jsx.js +365 -0
  124. package/build/esm/src/common/jsx.js.map +1 -0
  125. package/build/esm/src/common/paths.d.ts +14 -0
  126. package/build/esm/src/common/paths.js +110 -0
  127. package/build/esm/src/common/paths.js.map +1 -0
  128. package/build/esm/src/common/watch.d.ts +3 -0
  129. package/build/esm/src/common/watch.js +74 -0
  130. package/build/esm/src/common/watch.js.map +1 -0
  131. package/build/esm/src/inflate/inflate-sea.d.ts +5 -0
  132. package/build/esm/src/inflate/inflate-sea.js +175 -0
  133. package/build/esm/src/inflate/inflate-sea.js.map +1 -0
  134. package/build/esm/src/inflate/inflate.d.ts +14 -0
  135. package/build/esm/src/inflate/inflate.js +65 -0
  136. package/build/esm/src/inflate/inflate.js.map +1 -0
  137. package/build/esm/src/inflate/md.d.ts +2 -0
  138. package/build/esm/src/inflate/md.js +19 -0
  139. package/build/esm/src/inflate/md.js.map +1 -0
  140. package/build/esm/src/inflate/setup-auth.d.ts +3 -0
  141. package/build/esm/src/inflate/setup-auth.js +38 -0
  142. package/build/esm/src/inflate/setup-auth.js.map +1 -0
  143. package/build/esm/src/inflate/setup-cors.d.ts +3 -0
  144. package/build/esm/src/inflate/setup-cors.js +38 -0
  145. package/build/esm/src/inflate/setup-cors.js.map +1 -0
  146. package/build/esm/src/inflate/setup-db.d.ts +8 -0
  147. package/build/esm/src/inflate/setup-db.js +99 -0
  148. package/build/esm/src/inflate/setup-db.js.map +1 -0
  149. package/build/esm/src/inflate/setup-http.d.ts +37 -0
  150. package/build/esm/src/inflate/setup-http.js +543 -0
  151. package/build/esm/src/inflate/setup-http.js.map +1 -0
  152. package/build/esm/src/inflate/setup-log.d.ts +7 -0
  153. package/build/esm/src/inflate/setup-log.js +37 -0
  154. package/build/esm/src/inflate/setup-log.js.map +1 -0
  155. package/build/esm/src/inflate/setup-server-config.d.ts +7 -0
  156. package/build/esm/src/inflate/setup-server-config.js +37 -0
  157. package/build/esm/src/inflate/setup-server-config.js.map +1 -0
  158. package/build/esm/src/inflate/setup-test.d.ts +2 -0
  159. package/build/esm/src/inflate/setup-test.js +22 -0
  160. package/build/esm/src/inflate/setup-test.js.map +1 -0
  161. package/build/esm/src/inflate/setup-ws.d.ts +4 -0
  162. package/build/esm/src/inflate/setup-ws.js +46 -0
  163. package/build/esm/src/inflate/setup-ws.js.map +1 -0
  164. package/build/esm/src/inflate/utils/sea-utils.d.ts +2 -0
  165. package/build/esm/src/inflate/utils/sea-utils.js +13 -0
  166. package/build/esm/src/inflate/utils/sea-utils.js.map +1 -0
  167. package/build/esm/src/lib.d.ts +13 -0
  168. package/build/esm/src/lib.js +17 -0
  169. package/build/esm/src/lib.js.map +1 -0
  170. package/build/esm/src/main.d.ts +2 -0
  171. package/build/esm/src/main.js +92 -0
  172. package/build/esm/src/main.js.map +1 -0
  173. package/build/esm/src/services/app.d.ts +88 -0
  174. package/build/esm/src/services/app.js +619 -0
  175. package/build/esm/src/services/app.js.map +1 -0
  176. package/build/esm/src/services/editor.d.ts +3 -0
  177. package/build/esm/src/services/editor.js +61 -0
  178. package/build/esm/src/services/editor.js.map +1 -0
  179. package/build/esm/src/services/globals.d.ts +3 -0
  180. package/build/esm/src/services/globals.js +139 -0
  181. package/build/esm/src/services/globals.js.map +1 -0
  182. package/build/esm/src/services/hot-reload.d.ts +1 -0
  183. package/build/esm/src/services/hot-reload.js +45 -0
  184. package/build/esm/src/services/hot-reload.js.map +1 -0
  185. package/build/esm/src/services/migrations.d.ts +4 -0
  186. package/build/esm/src/services/migrations.js +61 -0
  187. package/build/esm/src/services/migrations.js.map +1 -0
  188. package/build/esm/src/services/utils/cache.d.ts +19 -0
  189. package/build/esm/src/services/utils/cache.js +85 -0
  190. package/build/esm/src/services/utils/cache.js.map +1 -0
  191. package/build/esm/src/services/utils/cluster-cache.d.ts +20 -0
  192. package/build/esm/src/services/utils/cluster-cache.js +211 -0
  193. package/build/esm/src/services/utils/cluster-cache.js.map +1 -0
  194. package/build/esm/src/services/utils/cluster-ws.d.ts +24 -0
  195. package/build/esm/src/services/utils/cluster-ws.js +176 -0
  196. package/build/esm/src/services/utils/cluster-ws.js.map +1 -0
  197. package/build/esm/src/services/utils/db-manager.d.ts +20 -0
  198. package/build/esm/src/services/utils/db-manager.js +59 -0
  199. package/build/esm/src/services/utils/db-manager.js.map +1 -0
  200. package/build/esm/src/services/utils/get-route.d.ts +9 -0
  201. package/build/esm/src/services/utils/get-route.js +58 -0
  202. package/build/esm/src/services/utils/get-route.js.map +1 -0
  203. package/build/esm/src/services/utils/log.d.ts +17 -0
  204. package/build/esm/src/services/utils/log.js +74 -0
  205. package/build/esm/src/services/utils/log.js.map +1 -0
  206. package/build/esm/src/services/utils/server-interface.d.ts +41 -0
  207. package/build/esm/src/services/utils/server-interface.js +74 -0
  208. package/build/esm/src/services/utils/server-interface.js.map +1 -0
  209. package/build/esm/src/services/utils/websocketmanager.d.ts +23 -0
  210. package/build/esm/src/services/utils/websocketmanager.js +128 -0
  211. package/build/esm/src/services/utils/websocketmanager.js.map +1 -0
  212. package/build/esm/src/types.d.ts +166 -0
  213. package/build/esm/src/types.js +2 -0
  214. package/build/esm/src/types.js.map +1 -0
  215. package/build/jsx.dom.js +1585 -0
  216. package/build/lib.cjs +14009 -0
  217. package/build/postject.base64.cjs +1 -0
  218. package/editor/auth.ts +51 -0
  219. package/editor/common/admin-interface.ts +84 -0
  220. package/editor/common/constants.server.ts +5 -0
  221. package/editor/common/constants.ts +21 -0
  222. package/editor/common/editor-index.tsx +17 -0
  223. package/editor/common/html-encode.ts +14 -0
  224. package/editor/common/log-socket.tsx +82 -0
  225. package/editor/common/templates.ts +448 -0
  226. package/editor/components/api-preview.tsx +116 -0
  227. package/editor/components/editor.tsx +483 -0
  228. package/editor/components/file-browser.tsx +295 -0
  229. package/editor/components/file-editor-toolbar.tsx +187 -0
  230. package/editor/components/file-editor.tsx +122 -0
  231. package/editor/components/filter-query.tsx +22 -0
  232. package/editor/components/highlight-text-area.tsx +159 -0
  233. package/editor/components/log-viewer.tsx +110 -0
  234. package/editor/components/new-file.tsx +169 -0
  235. package/editor/components/scroll-query.tsx +22 -0
  236. package/editor/components/start-page.tsx +49 -0
  237. package/editor/http/admin/editor/api/fs/delete.api.tsx +32 -0
  238. package/editor/http/admin/editor/api/fs/read.api.tsx +55 -0
  239. package/editor/http/admin/editor/api/fs/rename.api.tsx +41 -0
  240. package/editor/http/admin/editor/api/fs/scan.api.tsx +181 -0
  241. package/editor/http/admin/editor/api/fs/write.api.tsx +41 -0
  242. package/editor/http/admin/editor/api/server/reload.api.ts +52 -0
  243. package/editor/http/admin/editor/api/server/restart.api.tsx +52 -0
  244. package/editor/http/admin/editor/editor.tsx +8 -0
  245. package/editor/http/admin/editor/font.ttf +0 -0
  246. package/editor/http/admin/editor/index.api.tsx +39 -0
  247. package/editor/http/admin/editor/style.css +620 -0
  248. package/editor/server.ts +57 -0
  249. package/editor/static/android-chrome-192x192.png +0 -0
  250. package/editor/static/android-chrome-512x512.png +0 -0
  251. package/editor/static/apple-touch-icon.png +0 -0
  252. package/editor/static/editor.bundle.in.mjs +20 -0
  253. package/editor/static/favicon-16x16.png +0 -0
  254. package/editor/static/favicon-32x32.png +0 -0
  255. package/editor/static/favicon.ico +0 -0
  256. package/editor/static/site.webmanifest +19 -0
  257. package/editor/ws.ts +15 -0
  258. package/package.json +43 -24
  259. package/package.json--OLD +36 -0
  260. package/sea/app.sh +33 -0
  261. package/sea/base64.js +3 -0
  262. package/sea/basic-compile.base64.sh +1 -0
  263. package/sea/basic-compile.sh +73 -0
  264. package/sea/basic-config.json +9 -0
  265. package/sea/compile.sh +124 -0
  266. package/sea/copy-types.sh +46 -0
  267. package/sea/editor-assets/editor.bundle.in.mjs +19 -0
  268. package/sea/esbuild.sh +31 -0
  269. package/sea/generate-global-types-asset-json.js +34 -0
  270. package/sea/install-esbuild.sh +53 -0
  271. package/sea/install-nodejs.sh +49 -0
  272. package/sea/main.sh +34 -0
  273. package/sea/node.sh +33 -0
  274. package/sea/node.version.tag +1 -0
  275. package/sea/precompile.sh +7 -0
  276. package/sea/release-tar.sh +5 -0
  277. package/sea/sign-add.sh +22 -0
  278. package/sea/sign-remove.sh +22 -0
  279. package/sea/tsc.sh +1 -0
  280. package/sea/types.json +1 -0
  281. package/src/cluster.ts +16 -0
  282. package/src/common/arguments.ts +366 -0
  283. package/src/common/assets.ts +124 -0
  284. package/src/common/checksum.ts +58 -0
  285. package/src/common/constants.ts +18 -0
  286. package/src/common/content-type.ts +84 -0
  287. package/src/common/esbuild.ts +94 -0
  288. package/src/common/exit.ts +91 -0
  289. package/src/common/fs.ts +17 -0
  290. package/src/common/help.ts +46 -0
  291. package/src/common/jsx.ts +414 -0
  292. package/src/common/paths.ts +117 -0
  293. package/src/common/watch.ts +80 -0
  294. package/src/inflate/inflate-sea.ts +193 -0
  295. package/src/inflate/inflate.ts +96 -0
  296. package/src/inflate/md.ts +20 -0
  297. package/src/inflate/setup-auth.ts +40 -0
  298. package/src/inflate/setup-cors.ts +40 -0
  299. package/src/inflate/setup-db.ts +113 -0
  300. package/src/inflate/setup-http.ts +643 -0
  301. package/src/inflate/setup-log.ts +44 -0
  302. package/src/inflate/setup-server-config.ts +47 -0
  303. package/src/inflate/setup-test.ts +23 -0
  304. package/src/inflate/setup-ws.ts +48 -0
  305. package/src/inflate/utils/sea-utils.ts +14 -0
  306. package/src/lib.ts +19 -0
  307. package/src/main.ts +87 -0
  308. package/src/services/app.ts +718 -0
  309. package/src/services/editor.tsx +93 -0
  310. package/src/services/globals.ts +143 -0
  311. package/src/services/hot-reload.ts +46 -0
  312. package/src/services/migrations.ts +66 -0
  313. package/src/services/utils/cache.ts +88 -0
  314. package/src/services/utils/cluster-cache.ts +225 -0
  315. package/src/services/utils/cluster-ws.ts +192 -0
  316. package/src/services/utils/db-manager.ts +79 -0
  317. package/src/services/utils/get-route.ts +70 -0
  318. package/src/services/utils/log.ts +91 -0
  319. package/src/services/utils/server-interface.ts +166 -0
  320. package/src/services/utils/websocketmanager.ts +139 -0
  321. package/src/types/@esbuild.d.ts +1 -0
  322. package/src/types/@miqro/core.d.ts +2 -0
  323. package/src/types/@miqro/jsx.d.ts +2 -0
  324. package/src/types/@miqro/parser.d.ts +2 -0
  325. package/src/types/@miqro/query.d.ts +2 -0
  326. package/src/types/@miqro/request.d.ts +2 -0
  327. package/src/types/@miqro/test.d.ts +2 -0
  328. package/src/types/@miqro.d.ts +1 -0
  329. package/src/types/@types.d.ts +1 -0
  330. package/src/types/browser.globals.d.ts +9 -0
  331. package/src/types/globals.d.ts +2 -0
  332. package/src/types/jsx.globals.d.ts +37 -0
  333. package/src/types/miqro.d.ts +109 -0
  334. package/src/types/postject.d.ts +1 -0
  335. package/src/types/server.globals.d.ts +72 -0
  336. package/src/types.ts +199 -0
  337. package/tsconfig.json +35 -0
  338. package/build/cli.js +0 -4
  339. package/build/cmd-map.d.ts +0 -90
  340. package/build/cmd-map.js +0 -460
  341. package/build/index.js +0 -2
  342. package/build/utils/doc/json.d.ts +0 -7
  343. package/build/utils/doc/json.js +0 -12
  344. package/build/utils/doc/md.d.ts +0 -19
  345. package/build/utils/doc/md.js +0 -173
  346. package/build/utils/exec.d.ts +0 -32
  347. package/build/utils/exec.js +0 -102
  348. package/build/utils/templates.d.ts +0 -33
  349. package/build/utils/templates.js +0 -302
  350. package/build/utils/watch.d.ts +0 -1
  351. package/build/utils/watch.js +0 -35
  352. /package/build/{index.d.ts → esm/editor/http/admin/editor/editor.d.ts} +0 -0
  353. /package/build/{cli.d.ts → esm/src/cluster.d.ts} +0 -0
@@ -0,0 +1,19 @@
1
+ {
2
+ "name": "editor",
3
+ "short_name": "editor",
4
+ "icons": [
5
+ {
6
+ "src": "/android-chrome-192x192.png",
7
+ "sizes": "192x192",
8
+ "type": "image/png"
9
+ },
10
+ {
11
+ "src": "/android-chrome-512x512.png",
12
+ "sizes": "512x512",
13
+ "type": "image/png"
14
+ }
15
+ ],
16
+ "theme_color": "#ffffff",
17
+ "background_color": "#ffffff",
18
+ "display": "standalone"
19
+ }
package/editor/ws.ts ADDED
@@ -0,0 +1,15 @@
1
+ import { WSConfig } from "../src/types.js";
2
+ import { LOG_SOCKET_PATH } from "./common/constants.js";
3
+ import { AdminRequest } from "./common/admin-interface.js";
4
+
5
+ export default {
6
+ path: LOG_SOCKET_PATH,
7
+ validate(req: AdminRequest) {
8
+ const admin = req.editor;
9
+ const cache = (admin ? admin.getCache() : req.server.cache);
10
+
11
+ const KEY = cache.get("AUTH_KEY");
12
+ const cookieToken = req.cookies["auth"];
13
+ return cookieToken === KEY ? true : false;
14
+ },
15
+ } as WSConfig;
package/package.json CHANGED
@@ -1,36 +1,55 @@
1
1
  {
2
2
  "name": "miqro",
3
- "version": "5.0.4",
3
+ "version": "6.0.3",
4
4
  "description": "",
5
- "main": "build/index.js",
6
- "types": "build/index.d.ts",
7
5
  "type": "module",
8
- "bin": {
9
- "miqro": "build/cli.js"
10
- },
6
+ "main": "build/esm/src/lib.js",
7
+ "types": "build/esm/src/lib.d.ts",
8
+ "author": "claukers",
9
+ "license": "ISC",
11
10
  "scripts": {
12
- "prepare2": "npm run build",
13
- "prebuild": "rm -Rf build;",
11
+ "test": "node --enable-source-maps --test test/cases/*.test.js",
12
+ "coverage": "node --enable-source-maps --experimental-test-coverage --test test/cases/*.test.js",
13
+ "prepare": "npm run build",
14
+ "release:package": "sh sea/release-tar.sh",
15
+ "prerelease:package": "npm run compile",
14
16
  "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"
17
+ "postbuild": "npm run postbuild:lib && npm run postbuild:postject && npm run postbuild:sh && npm run postbuild:jsxdom && npm run postbuild:editor && npm run postbuild:types",
18
+ "postbuild:types": "sh sea/copy-types.sh && node sea/generate-global-types-asset-json.js",
19
+ "postbuild:editor": "esbuild --log-level=silent --external:node:process --external:node:path --platform=neutral --bundle --loader:.js=jsx --jsx-factory=jsx.createElement --jsx-fragment=jsx.Fragment sea/editor-assets/editor.bundle.in.mjs --outfile=build/editor.bundle.js",
20
+ "postbuild:jsxdom": "cp node_modules/@miqro/jsx-dom/build/jsx-dom.esm.bundle.js build/jsx.dom.js",
21
+ "postbuild:sh": "node sea/base64.js sea/basic-compile.sh > sea/basic-compile.base64.sh",
22
+ "postbuild:postject": "esbuild node_modules/postject/dist/cli.js --log-level=silent --bundle --platform=node --outfile=build/postject.cjs && node sea/base64.js build/postject.cjs > build/postject.base64.cjs",
23
+ "postbuild:lib": "esbuild src/lib.ts --log-level=silent --bundle --platform=node --outfile=build/lib.cjs --external:sqlite3 --external:pg --external:esbuild --external:node:assert --external:node:util --external:node:path",
24
+ "compile": "npm run build && sh sea/compile.sh",
25
+ "start:editor": "node --enable-source-maps --disable-warning=ExperimentalWarning build/esm/src/main.js --service editor/",
26
+ "compile:editor": "node --enable-source-maps --disable-warning=ExperimentalWarning build/esm/src/main.js --compile --service editor/",
27
+ "inflate:editor": "node --enable-source-maps --disable-warning=ExperimentalWarning build/esm/src/main.js --inflate --inflate-sea --service editor/",
28
+ "start:editor:cluster": "node --enable-source-maps --disable-warning=ExperimentalWarning build/esm/src/cluster.js --service editor/"
18
29
  },
19
- "author": "claukers",
20
- "license": "ISC",
21
- "dependencies": {
22
- "@miqro/core": "^5.0.11",
23
- "@miqro/query": "^0.0.1",
24
- "@miqro/parser": "^2.0.4",
25
- "@miqro/runner": "^2.0.1"
30
+ "bin": {
31
+ "miqro": "build/esm/src/main.js",
32
+ "miqro-cluster": "build/esm/src/cluster.js"
26
33
  },
27
34
  "devDependencies": {
28
- "@types/cookie": "0.6.0",
29
- "@types/node": "^20.4.5",
30
- "typescript": "5.3.3"
35
+ "@types/cookie": "^0.6.0",
36
+ "@types/node": "^22.10.2",
37
+ "postject": "1.0.0-alpha.6",
38
+ "typescript": "^5.7.2"
31
39
  },
32
- "engines": {
33
- "node": ">=18.0.0",
34
- "npm": ">=6.0.0"
40
+ "dependencies": {
41
+ "@miqro/core": "^5.0.13",
42
+ "@miqro/jsx": "^1.0.0",
43
+ "@miqro/jsx-dom": "^1.0.3",
44
+ "@miqro/jsx-node": "^1.0.4",
45
+ "@miqro/parser": "^2.0.4",
46
+ "@miqro/query": "^0.0.4",
47
+ "@miqro/runner": "^2.0.1",
48
+ "@miqro/test": "^0.2.9",
49
+ "@miqro/test-http": "^0.1.2",
50
+ "@types/showdown": "2.0.6",
51
+ "esbuild": "0.25.2",
52
+ "highlight.js": "11.11.1",
53
+ "showdown": "2.1.0"
35
54
  }
36
55
  }
@@ -0,0 +1,36 @@
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
+ }
package/sea/app.sh ADDED
@@ -0,0 +1,33 @@
1
+ #!/usr/bin/env sh
2
+
3
+ SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
4
+ BIN_NAME="app"
5
+ ARGS="$@"
6
+
7
+ #export NODE_OPTIONS="--experimental-sqlite --disable-warning=ExperimentalWarning"
8
+
9
+ case $(uname -s) in
10
+ Linux)
11
+ case $(uname -m) in
12
+ aarch64)
13
+ ${SCRIPT_DIR}/linux-arm64/${BIN_NAME} ${ARGS}
14
+ ;;
15
+ x64)
16
+ ${SCRIPT_DIR}/linux-x64/${BIN_NAME} ${ARGS}
17
+ ;;
18
+ *) echo "unsopported architecture"; exit 99; ;;
19
+ esac
20
+ ;;
21
+ Darwin)
22
+ case $(uname -m) in
23
+ arm64)
24
+ ${SCRIPT_DIR}/darwin-arm64/${BIN_NAME} ${ARGS}
25
+ ;;
26
+ x64)
27
+ ${SCRIPT_DIR}/darwin-arm64/${BIN_NAME} ${ARGS}
28
+ ;;
29
+ *) echo "unsopported architecture"; exit 99; ;;
30
+ esac
31
+ ;;
32
+ *) echo "unsopported architecture"; exit 99; ;;
33
+ esac
package/sea/base64.js ADDED
@@ -0,0 +1,3 @@
1
+ import { readFileSync } from "node:fs";
2
+
3
+ console.log(Buffer.from(readFileSync(process.argv[2])).toString("base64"));
@@ -0,0 +1 @@
1
+ IyEvdXNyL2Jpbi9lbnYgc2gKCnJtIC1SZiBiaW47Cm1rZGlyIC1wIGJpbi87CgpzaCAuL2luc3RhbGwtbm9kZWpzLnNoCgpOT0RFX0JJTj0ic2ggc2VhL25vZGUuc2giClNJR05fUkVNT1ZFX0JJTj0ic2ggc2VhL3NpZ24tcmVtb3ZlLnNoIgpTSUdOX0FERF9CSU49InNoIHNlYS9zaWduLWFkZC5zaCIKUE9TVEpFQ1RfQklOPSIke05PREVfQklOfSBzZWEvcG9zdGplY3QuY2pzIgpFU0JVSUxEX0JJTj0ic2VhL2VzYnVpbGQiCgokRVNCVUlMRF9CSU4gc2VhL2FwcC5janMgLS1idW5kbGUgLS1wbGF0Zm9ybT1ub2RlIC0tZXh0ZXJuYWw6c3FsaXRlMyAtLWV4dGVybmFsOnBnIC0tZXh0ZXJuYWw6ZXNidWlsZCAtLW91dGZpbGU9c2VhL2FwcC5idW5kbGUuY2pzCgokTk9ERV9CSU4gLS1leHBlcmltZW50YWwtc2VhLWNvbmZpZyBzZWEvY29uZmlnLmpzb24KClRBUkdFVF9CSU5fTkFNRT0iYXBwIgoKVEFSR0VUX0xJTlVYX1g2ND0iYmluL2xpbnV4LXg2NC8ke1RBUkdFVF9CSU5fTkFNRX0iClRBUkdFVF9MSU5VWF9BUk02ND0iYmluL2xpbnV4LWFybTY0LyR7VEFSR0VUX0JJTl9OQU1FfSIKClRBUkdFVF9EQVJXSU5fQVJNNjQ9ImJpbi9kYXJ3aW4tYXJtNjQvJHtUQVJHRVRfQklOX05BTUV9IgpUQVJHRVRfREFSV0lOX1g2ND0iYmluL2Rhcndpbi14NjQvJHtUQVJHRVRfQklOX05BTUV9IgoKI1RBUkdFVF9XSU5fWDY0PSJiaW4vd2luLXg2NC8ke1RBUkdFVF9CSU5fTkFNRX0uZXhlIgojVEFSR0VUX1dJTl9BUk02ND0iYmluL3dpbi1hcm02NC8ke1RBUkdFVF9CSU5fTkFNRX0uZXhlIgoKbWtkaXIgLXAgYmluL2xpbnV4LXg2NApta2RpciAtcCBiaW4vbGludXgtYXJtNjQKCm1rZGlyIC1wIGJpbi9kYXJ3aW4teDY0Cm1rZGlyIC1wIGJpbi9kYXJ3aW4tYXJtNjQKCiNta2RpciAtcCBiaW4vd2luLXg2NAojbWtkaXIgLXAgYmluL3dpbi1hcm02NAoKY3Agc2VhL2RlcHMvbm9kZWpzL2Rhcndpbi9hcm02NC9ub2RlICIke1RBUkdFVF9EQVJXSU5fQVJNNjR9IgpjcCBzZWEvZGVwcy9ub2RlanMvZGFyd2luL3g2NC9ub2RlICIke1RBUkdFVF9EQVJXSU5fWDY0fSIKCmNwIHNlYS9kZXBzL25vZGVqcy9saW51eC94NjQvbm9kZSAiJHtUQVJHRVRfTElOVVhfWDY0fSIKY3Agc2VhL2RlcHMvbm9kZWpzL2xpbnV4L2FybTY0L25vZGUgIiR7VEFSR0VUX0xJTlVYX0FSTTY0fSIKCiNjcCBzZWEvZGVwcy9ub2RlanMvd2luL3g2NC9ub2RlLmV4ZSAiJHtUQVJHRVRfV0lOX1g2NH0iCiNjcCBzZWEvZGVwcy9ub2RlanMvd2luL3g2NC9ub2RlLmV4ZSAiJHtUQVJHRVRfV0lOX0FSTTY0fSIKCiRTSUdOX1JFTU9WRV9CSU4gIiR7VEFSR0VUX0RBUldJTl9BUk02NH0iCiRTSUdOX1JFTU9WRV9CSU4gIiR7VEFSR0VUX0RBUldJTl9YNjR9IgoKY2htb2QgK3cgIiR7VEFSR0VUX0xJTlVYX0FSTTY0fSIKY2htb2QgK3cgIiR7VEFSR0VUX0xJTlVYX1g2NH0iCgpjaG1vZCArdyAiJHtUQVJHRVRfREFSV0lOX0FSTTY0fSIKY2htb2QgK3cgIiR7VEFSR0VUX0RBUldJTl9YNjR9IgoKI2NobW9kICt3ICIke1RBUkdFVF9XSU5fWDY0fSIKI2NobW9kICt3ICIke1RBUkdFVF9XSU5fQVJNNjR9IgoKQkxPQj0ic2VhL2FwcC5idW5kbGUuYmxvYiIKCmNwIHNlYS9ydW4uc2ggYmluL2FwcC5zaApjaG1vZCAreCBiaW4vYXBwLnNoCgokUE9TVEpFQ1RfQklOICIke1RBUkdFVF9EQVJXSU5fQVJNNjR9IiBOT0RFX1NFQV9CTE9CICR7QkxPQn0gLS1zZW50aW5lbC1mdXNlIE5PREVfU0VBX0ZVU0VfZmNlNjgwYWIyY2M0NjdiNmUwNzJiOGI1ZGYxOTk2YjIgLS1tYWNoby1zZWdtZW50LW5hbWUgTk9ERV9TRUEKJFNJR05fQUREX0JJTiAiJHtUQVJHRVRfREFSV0lOX0FSTTY0fSIKJFBPU1RKRUNUX0JJTiAiJHtUQVJHRVRfREFSV0lOX1g2NH0iIE5PREVfU0VBX0JMT0IgJHtCTE9CfSAtLXNlbnRpbmVsLWZ1c2UgTk9ERV9TRUFfRlVTRV9mY2U2ODBhYjJjYzQ2N2I2ZTA3MmI4YjVkZjE5OTZiMiAtLW1hY2hvLXNlZ21lbnQtbmFtZSBOT0RFX1NFQQokU0lHTl9BRERfQklOICIke1RBUkdFVF9EQVJXSU5fWDY0fSIKCiRQT1NUSkVDVF9CSU4gIiR7VEFSR0VUX0xJTlVYX0FSTTY0fSIgTk9ERV9TRUFfQkxPQiAke0JMT0J9IC0tc2VudGluZWwtZnVzZSBOT0RFX1NFQV9GVVNFX2ZjZTY4MGFiMmNjNDY3YjZlMDcyYjhiNWRmMTk5NmIyCiRQT1NUSkVDVF9CSU4gIiR7VEFSR0VUX0xJTlVYX1g2NH0iIE5PREVfU0VBX0JMT0IgJHtCTE9CfSAtLXNlbnRpbmVsLWZ1c2UgTk9ERV9TRUFfRlVTRV9mY2U2ODBhYjJjYzQ2N2I2ZTA3MmI4YjVkZjE5OTZiMgoKIyRQT1NUSkVDVF9CSU4gIiR7VEFSR0VUX1dJTl9YNjR9IiBOT0RFX1NFQV9CTE9CICR7QkxPQn0gLS1zZW50aW5lbC1mdXNlIE5PREVfU0VBX0ZVU0VfZmNlNjgwYWIyY2M0NjdiNmUwNzJiOGI1ZGYxOTk2YjIKIyRQT1NUSkVDVF9CSU4gIiR7VEFSR0VUX1dJTl9BUk02NH0iIE5PREVfU0VBX0JMT0IgJHtCTE9CfSAtLXNlbnRpbmVsLWZ1c2UgTk9ERV9TRUFfRlVTRV9mY2U2ODBhYjJjYzQ2N2I2ZTA3MmI4YjVkZjE5OTZiMgo=
@@ -0,0 +1,73 @@
1
+ #!/usr/bin/env sh
2
+
3
+ rm -Rf bin;
4
+ mkdir -p bin/;
5
+
6
+ sh ./install-nodejs.sh
7
+
8
+ NODE_BIN="sh sea/node.sh"
9
+ SIGN_REMOVE_BIN="sh sea/sign-remove.sh"
10
+ SIGN_ADD_BIN="sh sea/sign-add.sh"
11
+ POSTJECT_BIN="${NODE_BIN} sea/postject.cjs"
12
+ ESBUILD_BIN="sea/esbuild"
13
+
14
+ $ESBUILD_BIN sea/app.cjs --bundle --platform=node --external:sqlite3 --external:pg --external:esbuild --outfile=sea/app.bundle.cjs
15
+
16
+ $NODE_BIN --experimental-sea-config sea/config.json
17
+
18
+ TARGET_BIN_NAME="app"
19
+
20
+ TARGET_LINUX_X64="bin/linux-x64/${TARGET_BIN_NAME}"
21
+ TARGET_LINUX_ARM64="bin/linux-arm64/${TARGET_BIN_NAME}"
22
+
23
+ TARGET_DARWIN_ARM64="bin/darwin-arm64/${TARGET_BIN_NAME}"
24
+ TARGET_DARWIN_X64="bin/darwin-x64/${TARGET_BIN_NAME}"
25
+
26
+ #TARGET_WIN_X64="bin/win-x64/${TARGET_BIN_NAME}.exe"
27
+ #TARGET_WIN_ARM64="bin/win-arm64/${TARGET_BIN_NAME}.exe"
28
+
29
+ mkdir -p bin/linux-x64
30
+ mkdir -p bin/linux-arm64
31
+
32
+ mkdir -p bin/darwin-x64
33
+ mkdir -p bin/darwin-arm64
34
+
35
+ #mkdir -p bin/win-x64
36
+ #mkdir -p bin/win-arm64
37
+
38
+ cp sea/deps/nodejs/darwin/arm64/node "${TARGET_DARWIN_ARM64}"
39
+ cp sea/deps/nodejs/darwin/x64/node "${TARGET_DARWIN_X64}"
40
+
41
+ cp sea/deps/nodejs/linux/x64/node "${TARGET_LINUX_X64}"
42
+ cp sea/deps/nodejs/linux/arm64/node "${TARGET_LINUX_ARM64}"
43
+
44
+ #cp sea/deps/nodejs/win/x64/node.exe "${TARGET_WIN_X64}"
45
+ #cp sea/deps/nodejs/win/x64/node.exe "${TARGET_WIN_ARM64}"
46
+
47
+ $SIGN_REMOVE_BIN "${TARGET_DARWIN_ARM64}"
48
+ $SIGN_REMOVE_BIN "${TARGET_DARWIN_X64}"
49
+
50
+ chmod +w "${TARGET_LINUX_ARM64}"
51
+ chmod +w "${TARGET_LINUX_X64}"
52
+
53
+ chmod +w "${TARGET_DARWIN_ARM64}"
54
+ chmod +w "${TARGET_DARWIN_X64}"
55
+
56
+ #chmod +w "${TARGET_WIN_X64}"
57
+ #chmod +w "${TARGET_WIN_ARM64}"
58
+
59
+ BLOB="sea/app.bundle.blob"
60
+
61
+ cp sea/run.sh bin/app.sh
62
+ chmod +x bin/app.sh
63
+
64
+ $POSTJECT_BIN "${TARGET_DARWIN_ARM64}" NODE_SEA_BLOB ${BLOB} --sentinel-fuse NODE_SEA_FUSE_fce680ab2cc467b6e072b8b5df1996b2 --macho-segment-name NODE_SEA
65
+ $SIGN_ADD_BIN "${TARGET_DARWIN_ARM64}"
66
+ $POSTJECT_BIN "${TARGET_DARWIN_X64}" NODE_SEA_BLOB ${BLOB} --sentinel-fuse NODE_SEA_FUSE_fce680ab2cc467b6e072b8b5df1996b2 --macho-segment-name NODE_SEA
67
+ $SIGN_ADD_BIN "${TARGET_DARWIN_X64}"
68
+
69
+ $POSTJECT_BIN "${TARGET_LINUX_ARM64}" NODE_SEA_BLOB ${BLOB} --sentinel-fuse NODE_SEA_FUSE_fce680ab2cc467b6e072b8b5df1996b2
70
+ $POSTJECT_BIN "${TARGET_LINUX_X64}" NODE_SEA_BLOB ${BLOB} --sentinel-fuse NODE_SEA_FUSE_fce680ab2cc467b6e072b8b5df1996b2
71
+
72
+ #$POSTJECT_BIN "${TARGET_WIN_X64}" NODE_SEA_BLOB ${BLOB} --sentinel-fuse NODE_SEA_FUSE_fce680ab2cc467b6e072b8b5df1996b2
73
+ #$POSTJECT_BIN "${TARGET_WIN_ARM64}" NODE_SEA_BLOB ${BLOB} --sentinel-fuse NODE_SEA_FUSE_fce680ab2cc467b6e072b8b5df1996b2
@@ -0,0 +1,9 @@
1
+ {
2
+ "main": "sea/app.bundle.cjs",
3
+ "output": "sea/app.bundle.blob",
4
+ "disableExperimentalSEAWarning": true,
5
+ "useCodeCache": false,
6
+ "useSnapshot": false,
7
+ "assets": {
8
+ }
9
+ }
package/sea/compile.sh ADDED
@@ -0,0 +1,124 @@
1
+ #!/usr/bin/env sh
2
+
3
+ export NODE_OPTIONS="--experimental-sqlite"
4
+
5
+ sh sea/precompile.sh
6
+
7
+ NODE_BIN="sh sea/node.sh"
8
+ SIGN_REMOVE_BIN="sh sea/sign-remove.sh"
9
+ SIGN_ADD_BIN="sh sea/sign-add.sh"
10
+ ESBUILD_BIN="sh sea/esbuild.sh"
11
+ TSC_BIN="sh sea/tsc.sh"
12
+
13
+ #types.json
14
+ sh sea/copy-types.sh
15
+ $NODE_BIN sea/generate-global-types-asset-json.js
16
+
17
+ rm -Rf bin;
18
+ mkdir -p bin/;
19
+ rm -Rf build;
20
+ mkdir -p build/;
21
+
22
+ #check source code with tsc
23
+ echo $TSC_BIN
24
+ $TSC_BIN
25
+
26
+ CURRENT_GIT_BRANCH=`git rev-parse --abbrev-ref HEAD`
27
+ CURRENT_GIT_SHORT_HASH=`git rev-parse --short HEAD`
28
+ CURRENT_DATE=`date +"%y-%m-%d"`
29
+ VERSION_TAG="${CURRENT_DATE}_${CURRENT_GIT_SHORT_HASH}_${CURRENT_GIT_BRANCH}"
30
+
31
+ echo $VERSION_TAG > sea/version.tag
32
+
33
+ # jsx.js
34
+ cp node_modules/@miqro/jsx-dom/build/jsx-dom.esm.bundle.js build/jsx.dom.js
35
+
36
+ # postject.js
37
+ $ESBUILD_BIN node_modules/postject/dist/cli.js --log-level=silent --bundle --platform=node --outfile=build/postject.cjs
38
+ $NODE_BIN sea/base64.js build/postject.cjs > build/postject.base64.cjs
39
+ $NODE_BIN sea/base64.js sea/basic-compile.sh > sea/basic-compile.base64.sh
40
+ POSTJECT_BIN="${NODE_BIN} build/postject.cjs"
41
+
42
+ # editor.bundle.js
43
+ $ESBUILD_BIN --log-level=silent --external:node:process --external:node:path --platform=neutral --bundle --loader:.js=jsx --jsx-factory=jsx.createElement --jsx-fragment=jsx.Fragment sea/editor-assets/editor.bundle.in.mjs --outfile=build/editor.bundle.js
44
+
45
+ # main.js
46
+ $ESBUILD_BIN src/main.ts --log-level=silent --bundle --platform=node --outfile=build/main.js --external:sqlite3 --external:pg --external:esbuild
47
+ #cp build/main.js build/main.bundle.cjs
48
+
49
+ #lib.js
50
+ $ESBUILD_BIN src/lib.ts --log-level=silent --bundle --platform=node --outfile=build/lib.cjs --external:sqlite3 --external:pg --external:esbuild --external:node:assert --external:node:util --external:node:path
51
+
52
+ # sea-config.blob
53
+
54
+ $NODE_BIN --experimental-sqlite --experimental-sea-config sea/config/sea-config-darwin-arm64.json
55
+ $NODE_BIN --experimental-sea-config sea/config/sea-config-darwin-x64.json
56
+
57
+ $NODE_BIN --experimental-sea-config sea/config/sea-config-linux-arm64.json
58
+ $NODE_BIN --experimental-sea-config sea/config/sea-config-linux-x64.json
59
+
60
+ #$NODE_BIN --experimental-sea-config sea/config/sea-config-win-arm64.json
61
+ #$NODE_BIN --experimental-sea-config sea/config/sea-config-win-x64.json
62
+
63
+ # bin/
64
+
65
+ TARGET_BIN_NAME="miqro"
66
+
67
+ TARGET_LINUX_X64="bin/linux-x64/${TARGET_BIN_NAME}"
68
+ TARGET_LINUX_ARM64="bin/linux-arm64/${TARGET_BIN_NAME}"
69
+
70
+ TARGET_DARWIN_ARM64="bin/darwin-arm64/${TARGET_BIN_NAME}"
71
+ TARGET_DARWIN_X64="bin/darwin-x64/${TARGET_BIN_NAME}"
72
+
73
+ #TARGET_WIN_X64="bin/win-x64/${TARGET_BIN_NAME}.exe"
74
+ #TARGET_WIN_ARM64="bin/win-arm64/${TARGET_BIN_NAME}.exe"
75
+
76
+ mkdir -p bin/linux-x64
77
+ mkdir -p bin/linux-arm64
78
+
79
+ mkdir -p bin/darwin-x64
80
+ mkdir -p bin/darwin-arm64
81
+
82
+ #mkdir -p bin/win-x64
83
+ #mkdir -p bin/win-arm64
84
+
85
+ cp sea/deps/nodejs/darwin/arm64/node "${TARGET_DARWIN_ARM64}"
86
+ cp sea/deps/nodejs/darwin/x64/node "${TARGET_DARWIN_X64}"
87
+
88
+ cp sea/deps/nodejs/linux/x64/node "${TARGET_LINUX_X64}"
89
+ cp sea/deps/nodejs/linux/arm64/node "${TARGET_LINUX_ARM64}"
90
+
91
+ #cp sea/deps/nodejs/win/x64/node.exe "${TARGET_WIN_X64}"
92
+ #cp sea/deps/nodejs/win/x64/node.exe "${TARGET_WIN_ARM64}"
93
+
94
+ $SIGN_REMOVE_BIN "${TARGET_DARWIN_ARM64}"
95
+ $SIGN_REMOVE_BIN "${TARGET_DARWIN_X64}"
96
+
97
+ chmod +w "${TARGET_LINUX_ARM64}"
98
+ chmod +w "${TARGET_LINUX_X64}"
99
+
100
+ chmod +w "${TARGET_DARWIN_ARM64}"
101
+ chmod +w "${TARGET_DARWIN_X64}"
102
+
103
+ #chmod +w "${TARGET_WIN_X64}"
104
+ #chmod +w "${TARGET_WIN_ARM64}"
105
+
106
+ # copy main script
107
+
108
+ cp sea/main.sh bin/$TARGET_BIN_NAME
109
+ chmod +x bin/$TARGET_BIN_NAME
110
+
111
+ # inject blob
112
+
113
+ $POSTJECT_BIN "${TARGET_DARWIN_ARM64}" NODE_SEA_BLOB build/sea-prep-darwin-arm64.blob --sentinel-fuse NODE_SEA_FUSE_fce680ab2cc467b6e072b8b5df1996b2 --macho-segment-name NODE_SEA
114
+ $SIGN_ADD_BIN "${TARGET_DARWIN_ARM64}"
115
+ $POSTJECT_BIN "${TARGET_DARWIN_X64}" NODE_SEA_BLOB build/sea-prep-darwin-x64.blob --sentinel-fuse NODE_SEA_FUSE_fce680ab2cc467b6e072b8b5df1996b2 --macho-segment-name NODE_SEA
116
+ $SIGN_ADD_BIN "${TARGET_DARWIN_X64}"
117
+
118
+ $POSTJECT_BIN "${TARGET_LINUX_ARM64}" NODE_SEA_BLOB build/sea-prep-linux-arm64.blob --sentinel-fuse NODE_SEA_FUSE_fce680ab2cc467b6e072b8b5df1996b2
119
+ $POSTJECT_BIN "${TARGET_LINUX_X64}" NODE_SEA_BLOB build/sea-prep-linux-x64.blob --sentinel-fuse NODE_SEA_FUSE_fce680ab2cc467b6e072b8b5df1996b2
120
+
121
+ #$POSTJECT_BIN "${TARGET_WIN_X64}" NODE_SEA_BLOB build/sea-prep-win-x64.blob --sentinel-fuse NODE_SEA_FUSE_fce680ab2cc467b6e072b8b5df1996b2
122
+ #$POSTJECT_BIN "${TARGET_WIN_ARM64}" NODE_SEA_BLOB build/sea-prep-win-arm64.blob --sentinel-fuse NODE_SEA_FUSE_fce680ab2cc467b6e072b8b5df1996b2
123
+
124
+
@@ -0,0 +1,46 @@
1
+ rm -Rf sea/types;
2
+
3
+ mkdir -p sea/types/@miqro/query
4
+ cp -R ./node_modules/@miqro/query/build/ ./sea/types/@miqro/query
5
+
6
+ mkdir -p sea/types/@miqro/core
7
+ cp -R ./node_modules/@miqro/core/build/ ./sea/types/@miqro/core
8
+
9
+ mkdir -p sea/types/@miqro/parser
10
+ cp -R ./node_modules/@miqro/parser/build/ ./sea/types/@miqro/parser
11
+
12
+ mkdir -p sea/types/@miqro/request
13
+ cp -R ./node_modules/@miqro/request/build/ ./sea/types/@miqro/request
14
+
15
+ mkdir -p sea/types/@miqro/jsx
16
+ cp -R ./node_modules/@miqro/jsx/build/ ./sea/types/@miqro/jsx
17
+
18
+ mkdir -p sea/types/@miqro/test/dist
19
+ cp -R ./node_modules/@miqro/test/dist/ ./sea/types/@miqro/test/dist
20
+
21
+ rm ./sea/types/@miqro/**/*.js
22
+ rm ./sea/types/@miqro/**/**/*.js
23
+ rm ./sea/types/@miqro/**/**/**/*.js
24
+ rm ./sea/types/@miqro/**/**/**/**/*.js
25
+ rm ./sea/types/@miqro/**/*.map
26
+ rm ./sea/types/@miqro/**/**/*.map
27
+ rm ./sea/types/@miqro/**/**/**/*.map
28
+ #rm ./sea/types/@miqro/**/**/**/**/*.map
29
+
30
+ cp src/types/@miqro/core.d.ts sea/types/@miqro/core.d.ts
31
+ cp src/types/@miqro/jsx.d.ts sea/types/@miqro/jsx.d.ts
32
+ cp src/types/@miqro/parser.d.ts sea/types/@miqro/parser.d.ts
33
+ cp src/types/@miqro/request.d.ts sea/types/@miqro/request.d.ts
34
+ cp src/types/@miqro/query.d.ts sea/types/@miqro/query.d.ts
35
+ cp src/types/@miqro/test.d.ts sea/types/@miqro/test.d.ts
36
+
37
+ cp src/types/@miqro.d.ts sea/types/@miqro.d.ts
38
+ cp src/types/@types.d.ts sea/types/@types.d.ts
39
+ cp src/types/postject.d.ts sea/types/postject.d.ts
40
+ cp src/types/@esbuild.d.ts sea/types/@esbuild.d.ts
41
+
42
+ cp src/types/miqro.d.ts sea/types/miqro.d.ts
43
+ cp src/types/globals.d.ts sea/types/globals.d.ts
44
+ cp src/types/server.globals.d.ts sea/types/server.globals.d.ts
45
+ cp src/types/browser.globals.d.ts sea/types/browser.globals.d.ts
46
+ cp src/types/jsx.globals.d.ts sea/types/jsx.globals.d.ts
@@ -0,0 +1,19 @@
1
+ import { useElement, useRefresh, useQuery, define, useState, useEffect, useRef, createElement, Fragment } from "../../node_modules/@miqro/jsx-dom/build/jsx-dom.esm.bundle.js";
2
+ globalThis.JSX = Object.freeze({
3
+ createElement,
4
+ Fragment
5
+ });
6
+
7
+ globalThis.jsx = Object.freeze({
8
+ define,
9
+ useState,
10
+ useEffect,
11
+ useQuery,
12
+ useRef,
13
+ useElement,
14
+ useRefresh
15
+ });
16
+
17
+ import * as lib from "../../editor/http/admin/editor/editor.js";
18
+
19
+ export const editor = lib;
package/sea/esbuild.sh ADDED
@@ -0,0 +1,31 @@
1
+ #!/usr/bin/env sh
2
+
3
+ SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
4
+ BIN_NAME="esbuild"
5
+ ARGS="$@"
6
+
7
+ case $(uname -s) in
8
+ Linux)
9
+ case $(uname -m) in
10
+ aarch64)
11
+ ${SCRIPT_DIR}/deps/esbuild/linux/arm64/${BIN_NAME} ${ARGS}
12
+ ;;
13
+ x64)
14
+ ${SCRIPT_DIR}/deps/esbuild/linux/x64/${BIN_NAME} ${ARGS}
15
+ ;;
16
+ *) echo "unsopported architecture"; exit 99; ;;
17
+ esac
18
+ ;;
19
+ Darwin)
20
+ case $(uname -m) in
21
+ arm64)
22
+ ${SCRIPT_DIR}/deps/esbuild/darwin/arm64/${BIN_NAME} ${ARGS}
23
+ ;;
24
+ x64)
25
+ ${SCRIPT_DIR}/deps/esbuild/darwin/arm64/${BIN_NAME} ${ARGS}
26
+ ;;
27
+ *) echo "unsopported architecture"; exit 99; ;;
28
+ esac
29
+ ;;
30
+ *) echo "unsopported architecture"; exit 99; ;;
31
+ esac
@@ -0,0 +1,34 @@
1
+ import { readFileSync, readdirSync, statSync, writeFileSync } from "fs";
2
+ import { extname, relative, resolve } from "path";
3
+
4
+ function getTypeFiles(dir, ret = []) {
5
+ const files = readdirSync(dir);
6
+ for (const file of files) {
7
+ const filePath = resolve(dir, file);
8
+ if (statSync(filePath).isDirectory()) {
9
+ getTypeFiles(filePath, ret);
10
+ } else {
11
+ if (extname(file) === ".ts") {
12
+ const subName = file.substring(0, file.length - ".ts".length);
13
+ if (extname(subName) === ".d") {
14
+ ret.push(relative(resolve(process.cwd(), "sea"), filePath));
15
+ }
16
+ }
17
+ }
18
+ }
19
+ return ret;
20
+ }
21
+
22
+ const typeFiles = getTypeFiles("./sea/types");
23
+
24
+ const typesJson = {}
25
+ function addFile(filePath, installPath) {
26
+ const typeFilePath = resolve(process.cwd(), "sea", filePath);
27
+ typesJson[installPath ? installPath : filePath] = readFileSync(typeFilePath).toString("base64");
28
+ }
29
+
30
+ for (const typeFile of typeFiles) {
31
+ addFile(typeFile);
32
+ }
33
+
34
+ writeFileSync(resolve(process.cwd(), "sea", "types.json"), JSON.stringify(typesJson));
@@ -0,0 +1,53 @@
1
+ #!/usr/bin/env sh
2
+
3
+ TARGET="${PWD}/sea/deps/esbuild"
4
+ VERSION="0.25.2"
5
+
6
+ if [ -d "$TARGET" ]; then
7
+ echo "$TARGET already exists exist."
8
+ else
9
+ echo $VERSION > sea/esbuild.version.tag
10
+ rm -Rf /tmp/node-download-tmp/
11
+ mkdir -p /tmp/node-download-tmp
12
+
13
+ cd /tmp/node-download-tmp
14
+
15
+ curl "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-${VERSION}.tgz" -o esbuild-darwin-arm64.tgz
16
+ curl "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-${VERSION}.tgz" -o esbuild-darwin-x64.tgz
17
+
18
+ curl "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-${VERSION}.tgz" -o esbuild-linux-x64.tgz
19
+ curl "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-${VERSION}.tgz" -o esbuild-linux-arm64.tgz
20
+
21
+ #curl "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-${VERSION}.tgz" -o esbuild-win-x64.tgz
22
+ #curl "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-${VERSION}.tgz" -o esbuild-win-arm64.tgz
23
+
24
+ mkdir -p esbuild-darwin-arm64
25
+ tar -xvf esbuild-darwin-arm64.tgz -C esbuild-darwin-arm64
26
+ mkdir -p esbuild-darwin-x64
27
+ tar -xvf esbuild-darwin-x64.tgz -C esbuild-darwin-x64
28
+
29
+ mkdir -p esbuild-linux-arm64
30
+ tar -xvf esbuild-linux-arm64.tgz -C esbuild-linux-arm64
31
+ mkdir -p esbuild-linux-x64
32
+ tar -xvf esbuild-linux-x64.tgz -C esbuild-linux-x64
33
+
34
+ #mkdir -p esbuild-win-arm64
35
+ #tar -xvf esbuild-win-arm64.tgz -C esbuild-win-arm64
36
+ #mkdir -p esbuild-win-x64
37
+ #tar -xvf esbuild-win-x64.tgz -C esbuild-win-x64
38
+
39
+ mkdir -p "${TARGET}/darwin/arm64/"
40
+ cp "esbuild-darwin-arm64/package/bin/esbuild" "${TARGET}/darwin/arm64/esbuild"
41
+ mkdir -p "${TARGET}/darwin/x64/"
42
+ cp "esbuild-darwin-x64/package/bin/esbuild" "${TARGET}/darwin/x64/esbuild"
43
+
44
+ mkdir -p "${TARGET}/linux/arm64/"
45
+ cp "esbuild-linux-arm64/package/bin/esbuild" "${TARGET}/linux/arm64/esbuild"
46
+ mkdir -p "${TARGET}/linux/x64/"
47
+ cp "esbuild-linux-x64/package/bin/esbuild" "${TARGET}/linux/x64/esbuild"
48
+
49
+ #mkdir -p "${TARGET}/win/arm64/"
50
+ #cp "esbuild-win-arm64/package/esbuild.exe" "${TARGET}/win/arm64/esbuild.exe"
51
+ #mkdir -p "${TARGET}/win/x64/"
52
+ #cp "esbuild-win-x64/package/esbuild.exe" "${TARGET}/win/x64/esbuild.exe"
53
+ fi
@@ -0,0 +1,49 @@
1
+ #!/usr/bin/env sh
2
+
3
+ TARGET="${PWD}/sea/deps/nodejs"
4
+ VERSION="23.11.0"
5
+
6
+ if [ -d "$TARGET" ]; then
7
+ echo "$TARGET already exists exist."
8
+ else
9
+ echo $VERSION > sea/node.version.tag
10
+ rm -Rf /tmp/node-download-tmp/
11
+ mkdir -p /tmp/node-download-tmp
12
+
13
+ cd /tmp/node-download-tmp
14
+
15
+ curl https://nodejs.org/dist/v${VERSION}/node-v${VERSION}-darwin-arm64.tar.gz -o node-darwin-arm64.tar.gz
16
+ curl https://nodejs.org/dist/v${VERSION}/node-v${VERSION}-darwin-x64.tar.gz -o node-darwin-x64.tar.gz
17
+
18
+ curl https://nodejs.org/dist/v${VERSION}/node-v${VERSION}-linux-x64.tar.gz -o node-linux-x64.tar.gz
19
+ curl https://nodejs.org/dist/v${VERSION}/node-v${VERSION}-linux-arm64.tar.gz -o node-linux-arm64.tar.gz
20
+
21
+ #curl https://nodejs.org/dist/v${VERSION}/node-v${VERSION}-win-arm64.zip -o node-win-arm64.zip
22
+ #curl https://nodejs.org/dist/v${VERSION}/node-v${VERSION}-win-x64.zip -o node-win-x64.zip
23
+
24
+ tar -xvf node-darwin-arm64.tar.gz
25
+ tar -xvf node-darwin-x64.tar.gz
26
+
27
+ tar -xvf node-linux-x64.tar.gz
28
+ tar -xvf node-linux-arm64.tar.gz
29
+
30
+ #unzip node-win-arm64.zip
31
+ #unzip node-win-x64.zip
32
+
33
+ mkdir -p $TARGET
34
+
35
+ mkdir -p "${TARGET}/darwin/arm64/"
36
+ cp "node-v${VERSION}-darwin-arm64/bin/node" "${TARGET}/darwin/arm64/node"
37
+ mkdir -p "${TARGET}/darwin/x64"
38
+ cp "node-v${VERSION}-darwin-x64/bin/node" "${TARGET}/darwin/x64/node"
39
+
40
+ mkdir -p "${TARGET}/linux/arm64"
41
+ cp "node-v${VERSION}-linux-arm64/bin/node" "${TARGET}/linux/arm64/node"
42
+ mkdir -p "${TARGET}/linux/x64"
43
+ cp "node-v${VERSION}-linux-x64/bin/node" "${TARGET}/linux/x64/node"
44
+
45
+ #mkdir -p "${TARGET}/win/arm64"
46
+ #cp "node-v${VERSION}-win-arm64/node.exe" "${TARGET}/win/arm64/node.exe"
47
+ #mkdir -p "${TARGET}/win/x64"
48
+ #cp "node-v${VERSION}-win-x64/node.exe" "${TARGET}/win/x64/node.exe"
49
+ fi