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.
- package/.eslintrc +15 -0
- package/README.md +618 -20
- package/build/editor.bundle.js +61154 -0
- package/build/esm/editor/auth.d.ts +6 -0
- package/build/esm/editor/auth.js +42 -0
- package/build/esm/editor/auth.js.map +1 -0
- package/build/esm/editor/common/admin-interface.d.ts +36 -0
- package/build/esm/editor/common/admin-interface.js +45 -0
- package/build/esm/editor/common/admin-interface.js.map +1 -0
- package/build/esm/editor/common/constants.d.ts +4 -0
- package/build/esm/editor/common/constants.js +21 -0
- package/build/esm/editor/common/constants.js.map +1 -0
- package/build/esm/editor/common/constants.server.d.ts +2 -0
- package/build/esm/editor/common/constants.server.js +5 -0
- package/build/esm/editor/common/constants.server.js.map +1 -0
- package/build/esm/editor/common/editor-index.d.ts +2 -0
- package/build/esm/editor/common/editor-index.js +15 -0
- package/build/esm/editor/common/editor-index.js.map +1 -0
- package/build/esm/editor/common/html-encode.d.ts +1 -0
- package/build/esm/editor/common/html-encode.js +15 -0
- package/build/esm/editor/common/html-encode.js.map +1 -0
- package/build/esm/editor/common/log-socket.d.ts +13 -0
- package/build/esm/editor/common/log-socket.js +68 -0
- package/build/esm/editor/common/log-socket.js.map +1 -0
- package/build/esm/editor/common/templates.d.ts +11 -0
- package/build/esm/editor/common/templates.js +444 -0
- package/build/esm/editor/common/templates.js.map +1 -0
- package/build/esm/editor/components/api-preview.d.ts +11 -0
- package/build/esm/editor/components/api-preview.js +91 -0
- package/build/esm/editor/components/api-preview.js.map +1 -0
- package/build/esm/editor/components/editor.d.ts +16 -0
- package/build/esm/editor/components/editor.js +355 -0
- package/build/esm/editor/components/editor.js.map +1 -0
- package/build/esm/editor/components/file-browser.d.ts +37 -0
- package/build/esm/editor/components/file-browser.js +122 -0
- package/build/esm/editor/components/file-browser.js.map +1 -0
- package/build/esm/editor/components/file-editor-toolbar.d.ts +22 -0
- package/build/esm/editor/components/file-editor-toolbar.js +94 -0
- package/build/esm/editor/components/file-editor-toolbar.js.map +1 -0
- package/build/esm/editor/components/file-editor.d.ts +32 -0
- package/build/esm/editor/components/file-editor.js +60 -0
- package/build/esm/editor/components/file-editor.js.map +1 -0
- package/build/esm/editor/components/filter-query.d.ts +1 -0
- package/build/esm/editor/components/filter-query.js +23 -0
- package/build/esm/editor/components/filter-query.js.map +1 -0
- package/build/esm/editor/components/highlight-text-area.d.ts +11 -0
- package/build/esm/editor/components/highlight-text-area.js +139 -0
- package/build/esm/editor/components/highlight-text-area.js.map +1 -0
- package/build/esm/editor/components/log-viewer.d.ts +6 -0
- package/build/esm/editor/components/log-viewer.js +70 -0
- package/build/esm/editor/components/log-viewer.js.map +1 -0
- package/build/esm/editor/components/new-file.d.ts +10 -0
- package/build/esm/editor/components/new-file.js +118 -0
- package/build/esm/editor/components/new-file.js.map +1 -0
- package/build/esm/editor/components/scroll-query.d.ts +7 -0
- package/build/esm/editor/components/scroll-query.js +22 -0
- package/build/esm/editor/components/scroll-query.js.map +1 -0
- package/build/esm/editor/components/start-page.d.ts +13 -0
- package/build/esm/editor/components/start-page.js +31 -0
- package/build/esm/editor/components/start-page.js.map +1 -0
- package/build/esm/editor/http/admin/editor/api/fs/delete.api.d.ts +3 -0
- package/build/esm/editor/http/admin/editor/api/fs/delete.api.js +30 -0
- package/build/esm/editor/http/admin/editor/api/fs/delete.api.js.map +1 -0
- package/build/esm/editor/http/admin/editor/api/fs/read.api.d.ts +5 -0
- package/build/esm/editor/http/admin/editor/api/fs/read.api.js +50 -0
- package/build/esm/editor/http/admin/editor/api/fs/read.api.js.map +1 -0
- package/build/esm/editor/http/admin/editor/api/fs/rename.api.d.ts +4 -0
- package/build/esm/editor/http/admin/editor/api/fs/rename.api.js +40 -0
- package/build/esm/editor/http/admin/editor/api/fs/rename.api.js.map +1 -0
- package/build/esm/editor/http/admin/editor/api/fs/scan.api.d.ts +26 -0
- package/build/esm/editor/http/admin/editor/api/fs/scan.api.js +150 -0
- package/build/esm/editor/http/admin/editor/api/fs/scan.api.js.map +1 -0
- package/build/esm/editor/http/admin/editor/api/fs/write.api.d.ts +3 -0
- package/build/esm/editor/http/admin/editor/api/fs/write.api.js +39 -0
- package/build/esm/editor/http/admin/editor/api/fs/write.api.js.map +1 -0
- package/build/esm/editor/http/admin/editor/api/server/reload.api.d.ts +10 -0
- package/build/esm/editor/http/admin/editor/api/server/reload.api.js +46 -0
- package/build/esm/editor/http/admin/editor/api/server/reload.api.js.map +1 -0
- package/build/esm/editor/http/admin/editor/api/server/restart.api.d.ts +10 -0
- package/build/esm/editor/http/admin/editor/api/server/restart.api.js +46 -0
- package/build/esm/editor/http/admin/editor/api/server/restart.api.js.map +1 -0
- package/build/esm/editor/http/admin/editor/editor.js +8 -0
- package/build/esm/editor/http/admin/editor/editor.js.map +1 -0
- package/build/esm/editor/http/admin/editor/index.api.d.ts +3 -0
- package/build/esm/editor/http/admin/editor/index.api.js +22 -0
- package/build/esm/editor/http/admin/editor/index.api.js.map +1 -0
- package/build/esm/editor/server.d.ts +3 -0
- package/build/esm/editor/server.js +50 -0
- package/build/esm/editor/server.js.map +1 -0
- package/build/esm/editor/ws.d.ts +3 -0
- package/build/esm/editor/ws.js +12 -0
- package/build/esm/editor/ws.js.map +1 -0
- package/build/esm/src/cluster.js +11 -0
- package/build/esm/src/cluster.js.map +1 -0
- package/build/esm/src/common/arguments.d.ts +22 -0
- package/build/esm/src/common/arguments.js +310 -0
- package/build/esm/src/common/arguments.js.map +1 -0
- package/build/esm/src/common/assets.d.ts +11 -0
- package/build/esm/src/common/assets.js +121 -0
- package/build/esm/src/common/assets.js.map +1 -0
- package/build/esm/src/common/checksum.d.ts +19 -0
- package/build/esm/src/common/checksum.js +57 -0
- package/build/esm/src/common/checksum.js.map +1 -0
- package/build/esm/src/common/constants.d.ts +10 -0
- package/build/esm/src/common/constants.js +14 -0
- package/build/esm/src/common/constants.js.map +1 -0
- package/build/esm/src/common/content-type.d.ts +4 -0
- package/build/esm/src/common/content-type.js +82 -0
- package/build/esm/src/common/content-type.js.map +1 -0
- package/build/esm/src/common/esbuild.d.ts +17 -0
- package/build/esm/src/common/esbuild.js +79 -0
- package/build/esm/src/common/esbuild.js.map +1 -0
- package/build/esm/src/common/exit.d.ts +2 -0
- package/build/esm/src/common/exit.js +84 -0
- package/build/esm/src/common/exit.js.map +1 -0
- package/build/esm/src/common/fs.d.ts +8 -0
- package/build/esm/src/common/fs.js +17 -0
- package/build/esm/src/common/fs.js.map +1 -0
- package/build/esm/src/common/help.d.ts +3 -0
- package/build/esm/src/common/help.js +44 -0
- package/build/esm/src/common/help.js.map +1 -0
- package/build/esm/src/common/jsx.d.ts +52 -0
- package/build/esm/src/common/jsx.js +365 -0
- package/build/esm/src/common/jsx.js.map +1 -0
- package/build/esm/src/common/paths.d.ts +14 -0
- package/build/esm/src/common/paths.js +110 -0
- package/build/esm/src/common/paths.js.map +1 -0
- package/build/esm/src/common/watch.d.ts +3 -0
- package/build/esm/src/common/watch.js +74 -0
- package/build/esm/src/common/watch.js.map +1 -0
- package/build/esm/src/inflate/inflate-sea.d.ts +5 -0
- package/build/esm/src/inflate/inflate-sea.js +175 -0
- package/build/esm/src/inflate/inflate-sea.js.map +1 -0
- package/build/esm/src/inflate/inflate.d.ts +14 -0
- package/build/esm/src/inflate/inflate.js +65 -0
- package/build/esm/src/inflate/inflate.js.map +1 -0
- package/build/esm/src/inflate/md.d.ts +2 -0
- package/build/esm/src/inflate/md.js +19 -0
- package/build/esm/src/inflate/md.js.map +1 -0
- package/build/esm/src/inflate/setup-auth.d.ts +3 -0
- package/build/esm/src/inflate/setup-auth.js +38 -0
- package/build/esm/src/inflate/setup-auth.js.map +1 -0
- package/build/esm/src/inflate/setup-cors.d.ts +3 -0
- package/build/esm/src/inflate/setup-cors.js +38 -0
- package/build/esm/src/inflate/setup-cors.js.map +1 -0
- package/build/esm/src/inflate/setup-db.d.ts +8 -0
- package/build/esm/src/inflate/setup-db.js +99 -0
- package/build/esm/src/inflate/setup-db.js.map +1 -0
- package/build/esm/src/inflate/setup-http.d.ts +37 -0
- package/build/esm/src/inflate/setup-http.js +543 -0
- package/build/esm/src/inflate/setup-http.js.map +1 -0
- package/build/esm/src/inflate/setup-log.d.ts +7 -0
- package/build/esm/src/inflate/setup-log.js +37 -0
- package/build/esm/src/inflate/setup-log.js.map +1 -0
- package/build/esm/src/inflate/setup-server-config.d.ts +7 -0
- package/build/esm/src/inflate/setup-server-config.js +37 -0
- package/build/esm/src/inflate/setup-server-config.js.map +1 -0
- package/build/esm/src/inflate/setup-test.d.ts +2 -0
- package/build/esm/src/inflate/setup-test.js +22 -0
- package/build/esm/src/inflate/setup-test.js.map +1 -0
- package/build/esm/src/inflate/setup-ws.d.ts +4 -0
- package/build/esm/src/inflate/setup-ws.js +46 -0
- package/build/esm/src/inflate/setup-ws.js.map +1 -0
- package/build/esm/src/inflate/utils/sea-utils.d.ts +2 -0
- package/build/esm/src/inflate/utils/sea-utils.js +13 -0
- package/build/esm/src/inflate/utils/sea-utils.js.map +1 -0
- package/build/esm/src/lib.d.ts +13 -0
- package/build/esm/src/lib.js +17 -0
- package/build/esm/src/lib.js.map +1 -0
- package/build/esm/src/main.d.ts +2 -0
- package/build/esm/src/main.js +92 -0
- package/build/esm/src/main.js.map +1 -0
- package/build/esm/src/services/app.d.ts +88 -0
- package/build/esm/src/services/app.js +619 -0
- package/build/esm/src/services/app.js.map +1 -0
- package/build/esm/src/services/editor.d.ts +3 -0
- package/build/esm/src/services/editor.js +61 -0
- package/build/esm/src/services/editor.js.map +1 -0
- package/build/esm/src/services/globals.d.ts +3 -0
- package/build/esm/src/services/globals.js +139 -0
- package/build/esm/src/services/globals.js.map +1 -0
- package/build/esm/src/services/hot-reload.d.ts +1 -0
- package/build/esm/src/services/hot-reload.js +45 -0
- package/build/esm/src/services/hot-reload.js.map +1 -0
- package/build/esm/src/services/migrations.d.ts +4 -0
- package/build/esm/src/services/migrations.js +61 -0
- package/build/esm/src/services/migrations.js.map +1 -0
- package/build/esm/src/services/utils/cache.d.ts +19 -0
- package/build/esm/src/services/utils/cache.js +85 -0
- package/build/esm/src/services/utils/cache.js.map +1 -0
- package/build/esm/src/services/utils/cluster-cache.d.ts +20 -0
- package/build/esm/src/services/utils/cluster-cache.js +211 -0
- package/build/esm/src/services/utils/cluster-cache.js.map +1 -0
- package/build/esm/src/services/utils/cluster-ws.d.ts +24 -0
- package/build/esm/src/services/utils/cluster-ws.js +176 -0
- package/build/esm/src/services/utils/cluster-ws.js.map +1 -0
- package/build/esm/src/services/utils/db-manager.d.ts +20 -0
- package/build/esm/src/services/utils/db-manager.js +59 -0
- package/build/esm/src/services/utils/db-manager.js.map +1 -0
- package/build/esm/src/services/utils/get-route.d.ts +9 -0
- package/build/esm/src/services/utils/get-route.js +58 -0
- package/build/esm/src/services/utils/get-route.js.map +1 -0
- package/build/esm/src/services/utils/log.d.ts +17 -0
- package/build/esm/src/services/utils/log.js +74 -0
- package/build/esm/src/services/utils/log.js.map +1 -0
- package/build/esm/src/services/utils/server-interface.d.ts +41 -0
- package/build/esm/src/services/utils/server-interface.js +74 -0
- package/build/esm/src/services/utils/server-interface.js.map +1 -0
- package/build/esm/src/services/utils/websocketmanager.d.ts +23 -0
- package/build/esm/src/services/utils/websocketmanager.js +128 -0
- package/build/esm/src/services/utils/websocketmanager.js.map +1 -0
- package/build/esm/src/types.d.ts +166 -0
- package/build/esm/src/types.js +2 -0
- package/build/esm/src/types.js.map +1 -0
- package/build/jsx.dom.js +1585 -0
- package/build/lib.cjs +14009 -0
- package/build/postject.base64.cjs +1 -0
- package/editor/auth.ts +51 -0
- package/editor/common/admin-interface.ts +84 -0
- package/editor/common/constants.server.ts +5 -0
- package/editor/common/constants.ts +21 -0
- package/editor/common/editor-index.tsx +17 -0
- package/editor/common/html-encode.ts +14 -0
- package/editor/common/log-socket.tsx +82 -0
- package/editor/common/templates.ts +448 -0
- package/editor/components/api-preview.tsx +116 -0
- package/editor/components/editor.tsx +483 -0
- package/editor/components/file-browser.tsx +295 -0
- package/editor/components/file-editor-toolbar.tsx +187 -0
- package/editor/components/file-editor.tsx +122 -0
- package/editor/components/filter-query.tsx +22 -0
- package/editor/components/highlight-text-area.tsx +159 -0
- package/editor/components/log-viewer.tsx +110 -0
- package/editor/components/new-file.tsx +169 -0
- package/editor/components/scroll-query.tsx +22 -0
- package/editor/components/start-page.tsx +49 -0
- package/editor/http/admin/editor/api/fs/delete.api.tsx +32 -0
- package/editor/http/admin/editor/api/fs/read.api.tsx +55 -0
- package/editor/http/admin/editor/api/fs/rename.api.tsx +41 -0
- package/editor/http/admin/editor/api/fs/scan.api.tsx +181 -0
- package/editor/http/admin/editor/api/fs/write.api.tsx +41 -0
- package/editor/http/admin/editor/api/server/reload.api.ts +52 -0
- package/editor/http/admin/editor/api/server/restart.api.tsx +52 -0
- package/editor/http/admin/editor/editor.tsx +8 -0
- package/editor/http/admin/editor/font.ttf +0 -0
- package/editor/http/admin/editor/index.api.tsx +39 -0
- package/editor/http/admin/editor/style.css +620 -0
- package/editor/server.ts +57 -0
- package/editor/static/android-chrome-192x192.png +0 -0
- package/editor/static/android-chrome-512x512.png +0 -0
- package/editor/static/apple-touch-icon.png +0 -0
- package/editor/static/editor.bundle.in.mjs +20 -0
- package/editor/static/favicon-16x16.png +0 -0
- package/editor/static/favicon-32x32.png +0 -0
- package/editor/static/favicon.ico +0 -0
- package/editor/static/site.webmanifest +19 -0
- package/editor/ws.ts +15 -0
- package/package.json +43 -24
- package/package.json--OLD +36 -0
- package/sea/app.sh +33 -0
- package/sea/base64.js +3 -0
- package/sea/basic-compile.base64.sh +1 -0
- package/sea/basic-compile.sh +73 -0
- package/sea/basic-config.json +9 -0
- package/sea/compile.sh +124 -0
- package/sea/copy-types.sh +46 -0
- package/sea/editor-assets/editor.bundle.in.mjs +19 -0
- package/sea/esbuild.sh +31 -0
- package/sea/generate-global-types-asset-json.js +34 -0
- package/sea/install-esbuild.sh +53 -0
- package/sea/install-nodejs.sh +49 -0
- package/sea/main.sh +34 -0
- package/sea/node.sh +33 -0
- package/sea/node.version.tag +1 -0
- package/sea/precompile.sh +7 -0
- package/sea/release-tar.sh +5 -0
- package/sea/sign-add.sh +22 -0
- package/sea/sign-remove.sh +22 -0
- package/sea/tsc.sh +1 -0
- package/sea/types.json +1 -0
- package/src/cluster.ts +16 -0
- package/src/common/arguments.ts +366 -0
- package/src/common/assets.ts +124 -0
- package/src/common/checksum.ts +58 -0
- package/src/common/constants.ts +18 -0
- package/src/common/content-type.ts +84 -0
- package/src/common/esbuild.ts +94 -0
- package/src/common/exit.ts +91 -0
- package/src/common/fs.ts +17 -0
- package/src/common/help.ts +46 -0
- package/src/common/jsx.ts +414 -0
- package/src/common/paths.ts +117 -0
- package/src/common/watch.ts +80 -0
- package/src/inflate/inflate-sea.ts +193 -0
- package/src/inflate/inflate.ts +96 -0
- package/src/inflate/md.ts +20 -0
- package/src/inflate/setup-auth.ts +40 -0
- package/src/inflate/setup-cors.ts +40 -0
- package/src/inflate/setup-db.ts +113 -0
- package/src/inflate/setup-http.ts +643 -0
- package/src/inflate/setup-log.ts +44 -0
- package/src/inflate/setup-server-config.ts +47 -0
- package/src/inflate/setup-test.ts +23 -0
- package/src/inflate/setup-ws.ts +48 -0
- package/src/inflate/utils/sea-utils.ts +14 -0
- package/src/lib.ts +19 -0
- package/src/main.ts +87 -0
- package/src/services/app.ts +718 -0
- package/src/services/editor.tsx +93 -0
- package/src/services/globals.ts +143 -0
- package/src/services/hot-reload.ts +46 -0
- package/src/services/migrations.ts +66 -0
- package/src/services/utils/cache.ts +88 -0
- package/src/services/utils/cluster-cache.ts +225 -0
- package/src/services/utils/cluster-ws.ts +192 -0
- package/src/services/utils/db-manager.ts +79 -0
- package/src/services/utils/get-route.ts +70 -0
- package/src/services/utils/log.ts +91 -0
- package/src/services/utils/server-interface.ts +166 -0
- package/src/services/utils/websocketmanager.ts +139 -0
- package/src/types/@esbuild.d.ts +1 -0
- package/src/types/@miqro/core.d.ts +2 -0
- package/src/types/@miqro/jsx.d.ts +2 -0
- package/src/types/@miqro/parser.d.ts +2 -0
- package/src/types/@miqro/query.d.ts +2 -0
- package/src/types/@miqro/request.d.ts +2 -0
- package/src/types/@miqro/test.d.ts +2 -0
- package/src/types/@miqro.d.ts +1 -0
- package/src/types/@types.d.ts +1 -0
- package/src/types/browser.globals.d.ts +9 -0
- package/src/types/globals.d.ts +2 -0
- package/src/types/jsx.globals.d.ts +37 -0
- package/src/types/miqro.d.ts +109 -0
- package/src/types/postject.d.ts +1 -0
- package/src/types/server.globals.d.ts +72 -0
- package/src/types.ts +199 -0
- package/tsconfig.json +35 -0
- package/build/cli.js +0 -4
- package/build/cmd-map.d.ts +0 -90
- package/build/cmd-map.js +0 -460
- package/build/index.js +0 -2
- package/build/utils/doc/json.d.ts +0 -7
- package/build/utils/doc/json.js +0 -12
- package/build/utils/doc/md.d.ts +0 -19
- package/build/utils/doc/md.js +0 -173
- package/build/utils/exec.d.ts +0 -32
- package/build/utils/exec.js +0 -102
- package/build/utils/templates.d.ts +0 -33
- package/build/utils/templates.js +0 -302
- package/build/utils/watch.d.ts +0 -1
- package/build/utils/watch.js +0 -35
- /package/build/{index.d.ts → esm/editor/http/admin/editor/editor.d.ts} +0 -0
- /package/build/{cli.d.ts → esm/src/cluster.d.ts} +0 -0
|
@@ -0,0 +1,365 @@
|
|
|
1
|
+
import { createNodeRuntime } from "@miqro/jsx-node";
|
|
2
|
+
import { basename, dirname, relative, resolve } from "node:path";
|
|
3
|
+
import { randomUUID } from "node:crypto";
|
|
4
|
+
import { mkdirSync, rmdirSync, unlinkSync, writeFileSync } from "node:fs";
|
|
5
|
+
import { Parser } from "@miqro/parser";
|
|
6
|
+
import { APIRouteSchema, SessionHandlerOptionsSchema } from "@miqro/core";
|
|
7
|
+
import { cwd } from "node:process";
|
|
8
|
+
import { esBuild } from "./esbuild.js";
|
|
9
|
+
import { assertGlobalTampered, browserJSXGlobals } from "../services/globals.js";
|
|
10
|
+
import { getJSXJSPath, JSX_TMP_DIR } from "./paths.js";
|
|
11
|
+
import { CLEAR_JSX_CACHE } from "./constants.js";
|
|
12
|
+
import { getAsset, initAsset, validateAsset } from "./assets.js";
|
|
13
|
+
import { calculateChecksumFromBuffer } from "./checksum.js";
|
|
14
|
+
import { RouteOptionsSchema } from "@miqro/core/build/types.js";
|
|
15
|
+
let jsxJSBuffer = null; // Buffer.from(getAsset("jsx.dom.js"));
|
|
16
|
+
let jsxJSBufferChecksumPromise = null; // calculateChecksumFromBuffer(jsxJSBuffer);
|
|
17
|
+
export async function initJSXJS(logger) {
|
|
18
|
+
jsxJSBuffer = jsxJSBuffer ? jsxJSBuffer : Buffer.from(getAsset("jsx.dom.js"));
|
|
19
|
+
jsxJSBufferChecksumPromise = jsxJSBufferChecksumPromise ? jsxJSBufferChecksumPromise : calculateChecksumFromBuffer(jsxJSBuffer);
|
|
20
|
+
return initAsset(logger, getJSXJSPath(), jsxJSBuffer, true, jsxJSBufferChecksumPromise, false);
|
|
21
|
+
}
|
|
22
|
+
export async function validateJSXJS(logger) {
|
|
23
|
+
const checksum = await jsxJSBufferChecksumPromise;
|
|
24
|
+
if (!checksum) {
|
|
25
|
+
throw new Error("error calculating checksum");
|
|
26
|
+
}
|
|
27
|
+
return validateAsset(logger, getJSXJSPath(), checksum);
|
|
28
|
+
}
|
|
29
|
+
const parser = new Parser();
|
|
30
|
+
const DEFAULT_ESOPTION = {
|
|
31
|
+
platform: "neutral",
|
|
32
|
+
bundle: true,
|
|
33
|
+
jsxFactory: "JSX.createElement",
|
|
34
|
+
jsxFragment: "JSX.Fragment"
|
|
35
|
+
};
|
|
36
|
+
export async function inflateJSX(inFile, options) {
|
|
37
|
+
const tmpBuildDir = resolve(JSX_TMP_DIR, String(process.pid), "build", Date.now() + "-" + randomUUID());
|
|
38
|
+
const inFileTmp = resolve(tmpBuildDir, basename(inFile) + ".mjs");
|
|
39
|
+
const jsxJSPath = getJSXJSPath(); //resolve(tmpBuildDir, "jsx.js");
|
|
40
|
+
const logger = options.logger; //getLogger(`${SERVER_IDENTIFIER}_JSX`);
|
|
41
|
+
try {
|
|
42
|
+
if (!options.embemedJSX) {
|
|
43
|
+
mkdirSync(tmpBuildDir, {
|
|
44
|
+
recursive: true
|
|
45
|
+
});
|
|
46
|
+
writeFileSync(inFileTmp, browserJSXGlobals(inFile, false, options.useExport));
|
|
47
|
+
//writeFileSync(inFileTmp, browserJSXGlobals(relative(tmpBuildDir, inFile), false));
|
|
48
|
+
logger?.trace("inflating [%s] from [%s]. to change the import folder set JSX_TMP", relative(cwd(), inFile), dirname(relative(JSX_TMP_DIR, inFileTmp)));
|
|
49
|
+
const { outputFiles: [{ contents }] } = await esBuild({
|
|
50
|
+
...DEFAULT_ESOPTION,
|
|
51
|
+
entryPoints: [inFileTmp],
|
|
52
|
+
minify: options.minify
|
|
53
|
+
});
|
|
54
|
+
if (CLEAR_JSX_CACHE) {
|
|
55
|
+
logger?.trace("clearing cache at [%s] to change this behaivor set CLEAR_JSX_CACHE to 0", tmpBuildDir);
|
|
56
|
+
unlinkSync(inFileTmp);
|
|
57
|
+
rmdirSync(tmpBuildDir);
|
|
58
|
+
}
|
|
59
|
+
return contents;
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
mkdirSync(tmpBuildDir, {
|
|
63
|
+
recursive: true
|
|
64
|
+
});
|
|
65
|
+
//writeFileSync(jsxJSPath, Buffer.from(getAsset("jsx-dom-bundle")));
|
|
66
|
+
writeFileSync(inFileTmp, browserJSXGlobals(inFile, jsxJSPath));
|
|
67
|
+
//writeFileSync(inFileTmp, browserJSXGlobals(relative(tmpBuildDir, inFile), relative(tmpBuildDir, jsxJSPath)));
|
|
68
|
+
logger?.trace("inflating [%s] from [%s] with jsx.js embedded. to change the import folder set JSX_TMP", relative(cwd(), inFile), dirname(relative(JSX_TMP_DIR, inFileTmp)));
|
|
69
|
+
const { outputFiles: [{ contents }] } = await esBuild({
|
|
70
|
+
...DEFAULT_ESOPTION,
|
|
71
|
+
entryPoints: [inFileTmp],
|
|
72
|
+
minify: options.minify
|
|
73
|
+
});
|
|
74
|
+
if (CLEAR_JSX_CACHE) {
|
|
75
|
+
logger?.trace("clearing cache at [%s] to change this behaivor set CLEAR_JSX_CACHE to 0", tmpBuildDir);
|
|
76
|
+
unlinkSync(inFileTmp);
|
|
77
|
+
//unlinkSync(jsxJSPath);
|
|
78
|
+
rmdirSync(tmpBuildDir);
|
|
79
|
+
}
|
|
80
|
+
return contents;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
catch (e) {
|
|
84
|
+
logger?.error("error with: " + inFile);
|
|
85
|
+
logger?.error(e);
|
|
86
|
+
if (options.embemedJSX) {
|
|
87
|
+
if (CLEAR_JSX_CACHE) {
|
|
88
|
+
logger?.trace("clearing cache at [%s] to change this behaivor set CLEAR_JSX_CACHE to 0", tmpBuildDir);
|
|
89
|
+
unlinkSync(inFileTmp);
|
|
90
|
+
//unlinkSync(jsxJSPath);
|
|
91
|
+
rmdirSync(tmpBuildDir);
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
//console.error("errors on: " + tmpBuildDir);
|
|
95
|
+
logger?.error("error with: %s", inFileTmp);
|
|
96
|
+
logger?.trace("NOT clearing cache. to change this behaivor set CLEAR_JSX_CACHE to 1", tmpBuildDir);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
throw e;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
export async function importAPIRoute(inFile, logger) {
|
|
103
|
+
const mod = (await importJSXFile(inFile, logger)).default;
|
|
104
|
+
const module = typeof mod === "function" ? { handler: mod } : parser.parse(mod, APIRouteSchema, basename(inFile));
|
|
105
|
+
if (module !== undefined) {
|
|
106
|
+
return module;
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
throw new Error(`error with module [${inFile}] undefined`);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
export const APIOptionsSchema = {
|
|
113
|
+
type: "object?",
|
|
114
|
+
properties: {
|
|
115
|
+
basePath: "string?",
|
|
116
|
+
path: "string?|string[]?",
|
|
117
|
+
method: "string?|string[]?",
|
|
118
|
+
parser: {
|
|
119
|
+
type: "object?",
|
|
120
|
+
properties: {
|
|
121
|
+
parse: "function"
|
|
122
|
+
},
|
|
123
|
+
mode: "add_extra"
|
|
124
|
+
},
|
|
125
|
+
middleware: "function[]!?",
|
|
126
|
+
session: {
|
|
127
|
+
type: "object?|function?",
|
|
128
|
+
properties: SessionHandlerOptionsSchema.properties
|
|
129
|
+
},
|
|
130
|
+
...RouteOptionsSchema.properties
|
|
131
|
+
}
|
|
132
|
+
};
|
|
133
|
+
export const HTMLModuleSchema = {
|
|
134
|
+
type: "object",
|
|
135
|
+
properties: {
|
|
136
|
+
default: {
|
|
137
|
+
type: "function|object"
|
|
138
|
+
},
|
|
139
|
+
apiOptions: APIOptionsSchema
|
|
140
|
+
}
|
|
141
|
+
};
|
|
142
|
+
export const JSONModuleSchema = {
|
|
143
|
+
type: "object",
|
|
144
|
+
properties: {
|
|
145
|
+
default: {
|
|
146
|
+
type: "function|object|string"
|
|
147
|
+
},
|
|
148
|
+
apiOptions: APIOptionsSchema
|
|
149
|
+
}
|
|
150
|
+
};
|
|
151
|
+
export const MigrationSchema = {
|
|
152
|
+
type: "object",
|
|
153
|
+
properties: {
|
|
154
|
+
up: "function",
|
|
155
|
+
down: "function"
|
|
156
|
+
}
|
|
157
|
+
};
|
|
158
|
+
export const CORSOptionsSchema = {
|
|
159
|
+
type: "object",
|
|
160
|
+
properties: {
|
|
161
|
+
origins: "string[]?|string?",
|
|
162
|
+
validate: "function?",
|
|
163
|
+
methods: "string?",
|
|
164
|
+
preflightContinue: "boolean?"
|
|
165
|
+
}
|
|
166
|
+
};
|
|
167
|
+
export const WSConfigSchema = {
|
|
168
|
+
type: "object",
|
|
169
|
+
properties: {
|
|
170
|
+
path: "string",
|
|
171
|
+
disabled: "boolean?",
|
|
172
|
+
maxConnections: "number?",
|
|
173
|
+
validate: "function?",
|
|
174
|
+
onConnection: "function?",
|
|
175
|
+
onMessage: "function?",
|
|
176
|
+
onDisconnect: "function?"
|
|
177
|
+
}
|
|
178
|
+
};
|
|
179
|
+
export const DBConfigSchema = {
|
|
180
|
+
type: "object",
|
|
181
|
+
properties: {
|
|
182
|
+
url: "string?",
|
|
183
|
+
disabled: "boolean?",
|
|
184
|
+
storage: "string?",
|
|
185
|
+
dialect: "string?",
|
|
186
|
+
name: "string"
|
|
187
|
+
}
|
|
188
|
+
};
|
|
189
|
+
export const ServerConfigSchema = {
|
|
190
|
+
type: "object",
|
|
191
|
+
properties: {
|
|
192
|
+
preload: "function?",
|
|
193
|
+
unload: "function?",
|
|
194
|
+
stop: "function?",
|
|
195
|
+
start: "function?",
|
|
196
|
+
load: "function?"
|
|
197
|
+
}
|
|
198
|
+
};
|
|
199
|
+
export const LogConfigSchema = {
|
|
200
|
+
type: "object",
|
|
201
|
+
properties: {
|
|
202
|
+
level: {
|
|
203
|
+
type: "enum?",
|
|
204
|
+
enumValues: ["error", "warn", "info", "debug", "trace", "none"]
|
|
205
|
+
},
|
|
206
|
+
replaceConsoleTransport: "boolean?",
|
|
207
|
+
replaceFileTransport: "boolean?",
|
|
208
|
+
write: "function"
|
|
209
|
+
}
|
|
210
|
+
};
|
|
211
|
+
export const AuthConfigSchema = {
|
|
212
|
+
type: "object",
|
|
213
|
+
properties: {
|
|
214
|
+
...SessionHandlerOptionsSchema.properties
|
|
215
|
+
}
|
|
216
|
+
};
|
|
217
|
+
export async function importMigrationModule(inFile, logger) {
|
|
218
|
+
const module = parser.parse((await importJSXFile(inFile, logger)).default, MigrationSchema, basename(inFile));
|
|
219
|
+
if (module !== undefined) {
|
|
220
|
+
return module;
|
|
221
|
+
}
|
|
222
|
+
else {
|
|
223
|
+
throw new Error(`error with module [${inFile}] undefined`);
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
export async function importHTMLModule(inFile, logger) {
|
|
227
|
+
const module = parser.parse((await importJSXFile(inFile, logger)), HTMLModuleSchema, basename(inFile));
|
|
228
|
+
if (module !== undefined) {
|
|
229
|
+
return module;
|
|
230
|
+
}
|
|
231
|
+
else {
|
|
232
|
+
throw new Error(`error with module [${inFile}] undefined`);
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
export async function importJSONModule(inFile, logger) {
|
|
236
|
+
const module = parser.parse((await importJSXFile(inFile, logger)), JSONModuleSchema, basename(inFile));
|
|
237
|
+
if (module !== undefined) {
|
|
238
|
+
return module;
|
|
239
|
+
}
|
|
240
|
+
else {
|
|
241
|
+
throw new Error(`error with module [${inFile}] undefined`);
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
export async function importAuthModule(inFile, logger) {
|
|
245
|
+
const module = parser.parse((await importJSXFile(inFile, logger)).default, AuthConfigSchema, basename(inFile));
|
|
246
|
+
if (module !== undefined) {
|
|
247
|
+
return module;
|
|
248
|
+
}
|
|
249
|
+
else {
|
|
250
|
+
throw new Error(`error with module [${inFile}] undefined`);
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
export async function importCORSModule(inFile, logger) {
|
|
254
|
+
const module = parser.parse((await importJSXFile(inFile, logger)).default, CORSOptionsSchema, basename(inFile));
|
|
255
|
+
if (module !== undefined) {
|
|
256
|
+
return module;
|
|
257
|
+
}
|
|
258
|
+
else {
|
|
259
|
+
throw new Error(`error with module [${inFile}] undefined`);
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
export async function importWSConfigModule(inFile, logger) {
|
|
263
|
+
const module = parser.parse((await importJSXFile(inFile, logger)).default, WSConfigSchema, basename(inFile));
|
|
264
|
+
if (module !== undefined) {
|
|
265
|
+
return module;
|
|
266
|
+
}
|
|
267
|
+
else {
|
|
268
|
+
throw new Error(`error with module [${inFile}] undefined`);
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
export async function importDBConfigModule(inFile, logger) {
|
|
272
|
+
const module = parser.parse((await importJSXFile(inFile, logger)).default, DBConfigSchema, basename(inFile));
|
|
273
|
+
if (module !== undefined) {
|
|
274
|
+
return module;
|
|
275
|
+
}
|
|
276
|
+
else {
|
|
277
|
+
throw new Error(`error with module [${inFile}] undefined`);
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
export async function importLogConfigModule(inFile, logger) {
|
|
281
|
+
const module = parser.parse((await importJSXFile(inFile, logger)).default, LogConfigSchema, basename(inFile));
|
|
282
|
+
if (module !== undefined) {
|
|
283
|
+
return module;
|
|
284
|
+
}
|
|
285
|
+
else {
|
|
286
|
+
throw new Error(`error with module [${inFile}] undefined`);
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
export async function importServerConfigModule(inFile, logger) {
|
|
290
|
+
const module = parser.parse((await importJSXFile(inFile, logger)).default, ServerConfigSchema, basename(inFile));
|
|
291
|
+
if (module !== undefined) {
|
|
292
|
+
return module;
|
|
293
|
+
}
|
|
294
|
+
else {
|
|
295
|
+
throw new Error(`error with module [${inFile}] undefined`);
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
export async function importJSXFile(inFile, logger) {
|
|
299
|
+
const inflatedCode = await inflateJSX(inFile, {
|
|
300
|
+
embemedJSX: false,
|
|
301
|
+
minify: false,
|
|
302
|
+
useExport: true,
|
|
303
|
+
logger
|
|
304
|
+
});
|
|
305
|
+
const tmpBuildDir = resolve(JSX_TMP_DIR, String(process.pid), "import", Date.now() + "-" + randomUUID());
|
|
306
|
+
const inFileTmp = resolve(tmpBuildDir, basename(inFile) + ".mjs");
|
|
307
|
+
//const logger = getLogger(`${SERVER_IDENTIFIER}_JSX`);
|
|
308
|
+
mkdirSync(tmpBuildDir, {
|
|
309
|
+
recursive: true
|
|
310
|
+
});
|
|
311
|
+
try {
|
|
312
|
+
writeFileSync(inFileTmp, inflatedCode);
|
|
313
|
+
assertGlobalTampered();
|
|
314
|
+
logger?.trace("importing [%s] from [%s]. to change the import folder set JSX_TMP", relative(cwd(), inFile), dirname(relative(JSX_TMP_DIR, inFileTmp)));
|
|
315
|
+
logger?.debug("importing [%s]", relative(cwd(), inFile));
|
|
316
|
+
const module = await import(inFileTmp);
|
|
317
|
+
assertGlobalTampered();
|
|
318
|
+
if (CLEAR_JSX_CACHE) {
|
|
319
|
+
logger?.trace("clearing cache at [%s]. to change this behaivor set CLEAR_JSX_CACHE to 0", tmpBuildDir);
|
|
320
|
+
unlinkSync(inFileTmp);
|
|
321
|
+
rmdirSync(tmpBuildDir);
|
|
322
|
+
}
|
|
323
|
+
return module;
|
|
324
|
+
}
|
|
325
|
+
catch (e) {
|
|
326
|
+
logger?.error(e);
|
|
327
|
+
logger?.error("error with: " + inFile);
|
|
328
|
+
if (CLEAR_JSX_CACHE) {
|
|
329
|
+
logger?.trace("clearing cache at [%s] to change this behaivor set CLEAR_JSX_CACHE to 0", tmpBuildDir);
|
|
330
|
+
unlinkSync(inFileTmp);
|
|
331
|
+
rmdirSync(tmpBuildDir);
|
|
332
|
+
}
|
|
333
|
+
else {
|
|
334
|
+
//console.error("errors on: " + tmpBuildDir);
|
|
335
|
+
logger?.error("error with: %s", inFileTmp);
|
|
336
|
+
logger?.trace("NOT clearing cache. to change this behaivor set CLEAR_JSX_CACHE to 1", tmpBuildDir);
|
|
337
|
+
}
|
|
338
|
+
throw e;
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
export function jsx2HTML(out, runtime) {
|
|
342
|
+
runtime = runtime ? runtime : createNodeRuntime();
|
|
343
|
+
const element = runtime.createElement("root");
|
|
344
|
+
const container = runtime.createContainer(element, {
|
|
345
|
+
shadowInit: false, runtimeOptions: {
|
|
346
|
+
disableEffects: true,
|
|
347
|
+
disableEvents: true,
|
|
348
|
+
disableRefListener: true,
|
|
349
|
+
disableRefresh: true
|
|
350
|
+
}
|
|
351
|
+
});
|
|
352
|
+
container.render(out);
|
|
353
|
+
//console.log("jsx2HTML [%s]", element);
|
|
354
|
+
let HTML = "";
|
|
355
|
+
for (let i = 0; i < element.childNodes.length; i++) {
|
|
356
|
+
const child = element.childNodes[i];
|
|
357
|
+
//console.log("jsx2HTML child [%s]", child);
|
|
358
|
+
//console.log("jsx2HTML child [%s]", (child as any).toString(" ", -1));
|
|
359
|
+
HTML += child.toString(" ", -1);
|
|
360
|
+
}
|
|
361
|
+
container.disconnect();
|
|
362
|
+
//console.log("jsx2HTML [%s]", HTML);
|
|
363
|
+
return HTML;
|
|
364
|
+
}
|
|
365
|
+
//# sourceMappingURL=jsx.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsx.js","sourceRoot":"","sources":["../../../../src/common/jsx.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare const JSX_TMP_DIR: string;
|
|
2
|
+
export declare const TEST_SOCKET: string;
|
|
3
|
+
export declare function getServicePath(service: string): string;
|
|
4
|
+
export declare function getLogConfigPath(servicePath: string): string | false;
|
|
5
|
+
export declare function getCORSConfigPath(servicePath: string): string | false;
|
|
6
|
+
export declare function getServerConfigPath(servicePath: string): string | false;
|
|
7
|
+
export declare function getWSConfigPath(servicePath: string): string | false;
|
|
8
|
+
export declare function getDBConfigPath(servicePath: string): string | false;
|
|
9
|
+
export declare function getStaticFilesPath(servicePath: string): string | false;
|
|
10
|
+
export declare function getAuthConfigPath(servicePath: string): string | false;
|
|
11
|
+
export declare function getHTTPRouterPath(servicePath: string): string | false;
|
|
12
|
+
export declare function getMigrationsPath(servicePath: string): string | false;
|
|
13
|
+
export declare function getESBuildBinaryPath(): string;
|
|
14
|
+
export declare function getJSXJSPath(): string;
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { checkEnvVariable } from "@miqro/core";
|
|
2
|
+
import { randomUUID } from "node:crypto";
|
|
3
|
+
import { existsSync, statSync } from "node:fs";
|
|
4
|
+
import { tmpdir } from "node:os";
|
|
5
|
+
import { resolve } from "node:path";
|
|
6
|
+
import { cwd, platform } from "node:process";
|
|
7
|
+
export const JSX_TMP_DIR = checkEnvVariable(`JSX_TMP`, resolve(tmpdir(), "jsx_tmp"));
|
|
8
|
+
export const TEST_SOCKET = resolve(JSX_TMP_DIR, `test.${randomUUID()}.sock`);
|
|
9
|
+
export function getServicePath(service) {
|
|
10
|
+
return resolve(cwd(), service);
|
|
11
|
+
}
|
|
12
|
+
export function getLogConfigPath(servicePath) {
|
|
13
|
+
const logConfigPath = resolve(servicePath, "log.ts");
|
|
14
|
+
const logConfigPathJS = resolve(servicePath, "log.js");
|
|
15
|
+
if (existsSync(logConfigPath) && !statSync(logConfigPath).isDirectory()) {
|
|
16
|
+
return logConfigPath;
|
|
17
|
+
}
|
|
18
|
+
else if (existsSync(logConfigPathJS) && !statSync(logConfigPathJS).isDirectory()) {
|
|
19
|
+
return logConfigPathJS;
|
|
20
|
+
}
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
export function getCORSConfigPath(servicePath) {
|
|
24
|
+
const corsPath = resolve(servicePath, "cors.ts");
|
|
25
|
+
const corsPathJS = resolve(servicePath, "cors.js");
|
|
26
|
+
if (existsSync(corsPath) && !statSync(corsPath).isDirectory()) {
|
|
27
|
+
return corsPath;
|
|
28
|
+
}
|
|
29
|
+
else if (existsSync(corsPathJS) && !statSync(corsPathJS).isDirectory()) {
|
|
30
|
+
return corsPathJS;
|
|
31
|
+
}
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
export function getServerConfigPath(servicePath) {
|
|
35
|
+
const serverPath = resolve(servicePath, "server.ts");
|
|
36
|
+
const serverPathJS = resolve(servicePath, "server.js");
|
|
37
|
+
if (existsSync(serverPath)) {
|
|
38
|
+
return serverPath;
|
|
39
|
+
}
|
|
40
|
+
else if (existsSync(serverPathJS)) {
|
|
41
|
+
return serverPathJS;
|
|
42
|
+
}
|
|
43
|
+
return false;
|
|
44
|
+
}
|
|
45
|
+
export function getWSConfigPath(servicePath) {
|
|
46
|
+
const wsPath = resolve(servicePath, "ws.ts");
|
|
47
|
+
const wsPathJS = resolve(servicePath, "ws.js");
|
|
48
|
+
if (existsSync(wsPath)) {
|
|
49
|
+
return wsPath;
|
|
50
|
+
}
|
|
51
|
+
else if (existsSync(wsPathJS)) {
|
|
52
|
+
return wsPathJS;
|
|
53
|
+
}
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
export function getDBConfigPath(servicePath) {
|
|
57
|
+
const dbPath = resolve(servicePath, "db.ts");
|
|
58
|
+
const dbPathJS = resolve(servicePath, "db.js");
|
|
59
|
+
if (existsSync(dbPath)) {
|
|
60
|
+
return dbPath;
|
|
61
|
+
}
|
|
62
|
+
else if (existsSync(dbPathJS)) {
|
|
63
|
+
return dbPathJS;
|
|
64
|
+
}
|
|
65
|
+
return false;
|
|
66
|
+
}
|
|
67
|
+
export function getStaticFilesPath(servicePath) {
|
|
68
|
+
const staticFilesPath = resolve(servicePath, "static");
|
|
69
|
+
if (existsSync(staticFilesPath) && statSync(staticFilesPath).isDirectory()) {
|
|
70
|
+
return staticFilesPath;
|
|
71
|
+
}
|
|
72
|
+
return false;
|
|
73
|
+
}
|
|
74
|
+
export function getAuthConfigPath(servicePath) {
|
|
75
|
+
const authPath = resolve(servicePath, "auth.ts");
|
|
76
|
+
const authPathJS = resolve(servicePath, "auth.js");
|
|
77
|
+
if (existsSync(authPath) && !statSync(authPath).isDirectory()) {
|
|
78
|
+
return authPath;
|
|
79
|
+
}
|
|
80
|
+
else if (existsSync(authPath) && !statSync(authPath).isDirectory()) {
|
|
81
|
+
return authPathJS;
|
|
82
|
+
}
|
|
83
|
+
return false;
|
|
84
|
+
}
|
|
85
|
+
export function getHTTPRouterPath(servicePath) {
|
|
86
|
+
const apiRouterPath = resolve(servicePath, "http");
|
|
87
|
+
if (existsSync(apiRouterPath) && statSync(apiRouterPath).isDirectory()) {
|
|
88
|
+
return apiRouterPath;
|
|
89
|
+
}
|
|
90
|
+
return false;
|
|
91
|
+
}
|
|
92
|
+
export function getMigrationsPath(servicePath) {
|
|
93
|
+
const migrationsFolderPath = resolve(servicePath, "migration");
|
|
94
|
+
if (existsSync(migrationsFolderPath) && statSync(migrationsFolderPath).isDirectory()) {
|
|
95
|
+
return migrationsFolderPath;
|
|
96
|
+
}
|
|
97
|
+
return false;
|
|
98
|
+
}
|
|
99
|
+
export function getESBuildBinaryPath() {
|
|
100
|
+
if (platform === "win32") {
|
|
101
|
+
return resolve(JSX_TMP_DIR, String(process.pid), "esbuild.exe");
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
return resolve(JSX_TMP_DIR, String(process.pid), "esbuild");
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
export function getJSXJSPath() {
|
|
108
|
+
return resolve(JSX_TMP_DIR, String(process.pid), "jsx.js");
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=paths.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../../../src/common/paths.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import "../services/globals.js";
|
|
2
|
+
import { existsSync, readdirSync, statSync, watch } from "node:fs";
|
|
3
|
+
import { resolve } from "node:path";
|
|
4
|
+
export async function watchAndServer(app) {
|
|
5
|
+
let timeout;
|
|
6
|
+
const watchLogger = app.logger;
|
|
7
|
+
const watchers = [];
|
|
8
|
+
/*await start({
|
|
9
|
+
logger,
|
|
10
|
+
webSocketManager,
|
|
11
|
+
dbManager,
|
|
12
|
+
services,
|
|
13
|
+
editor,
|
|
14
|
+
inflateTests: false,
|
|
15
|
+
inflateDir: false,
|
|
16
|
+
inflateSea: false,
|
|
17
|
+
runOnTestPort: false
|
|
18
|
+
});*/
|
|
19
|
+
//await app.start();
|
|
20
|
+
function watchHandler(eventType, filename) {
|
|
21
|
+
stopWatch();
|
|
22
|
+
watchLogger?.debug(`event type is: ${eventType}`);
|
|
23
|
+
if (filename) {
|
|
24
|
+
watchLogger?.debug(`filename provided: ${filename}`);
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
watchLogger?.debug('filename not provided');
|
|
28
|
+
}
|
|
29
|
+
watchLogger?.info(`${eventType} on ${filename}`);
|
|
30
|
+
clearTimeout(timeout);
|
|
31
|
+
timeout = setTimeout(async () => {
|
|
32
|
+
try {
|
|
33
|
+
stopWatch();
|
|
34
|
+
setTimeout(async () => {
|
|
35
|
+
watchLogger?.debug("closed");
|
|
36
|
+
await app.reload();
|
|
37
|
+
reWatch();
|
|
38
|
+
}, 500);
|
|
39
|
+
}
|
|
40
|
+
catch (e) {
|
|
41
|
+
watchLogger?.error(e);
|
|
42
|
+
}
|
|
43
|
+
}, 2000);
|
|
44
|
+
}
|
|
45
|
+
function watchDir(toWatch) {
|
|
46
|
+
const files = existsSync(toWatch) ? readdirSync(toWatch) : [];
|
|
47
|
+
for (const file of files) {
|
|
48
|
+
const filePath = resolve(toWatch, file);
|
|
49
|
+
if (statSync(filePath).isDirectory()) {
|
|
50
|
+
watchDir(filePath);
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
//console.log("toWatch=" + filePath);
|
|
54
|
+
watchers.push(watch(filePath, watchHandler));
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
function stopWatch() {
|
|
59
|
+
const toClose = watchers.splice(0, watchers.length);
|
|
60
|
+
for (const watcher of toClose) {
|
|
61
|
+
watcher.close();
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
function reWatch() {
|
|
65
|
+
stopWatch();
|
|
66
|
+
for (const service of app.options.services) {
|
|
67
|
+
const toWatch = resolve(process.cwd(), service);
|
|
68
|
+
watchDir(toWatch);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
watchLogger?.info("watching for changes on [%s]", app.options.services.join(","));
|
|
72
|
+
reWatch();
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=watch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"watch.js","sourceRoot":"","sources":["../../../../src/common/watch.ts"],"names":[],"mappings":"AAAA,OAAO,wBAAwB,CAAC;AAChC,OAAO,EAAa,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,GAAU;IAC7C,IAAI,OAAY,CAAC;IACjB,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC;IAC/B,MAAM,QAAQ,GAAgB,EAAE,CAAC;IAEjC;;;;;;;;;;SAUK;IAEL,oBAAoB;IAEpB,SAAS,YAAY,CAAC,SAAc,EAAE,QAAa;QACjD,SAAS,EAAE,CAAC;QACZ,WAAW,EAAE,KAAK,CAAC,kBAAkB,SAAS,EAAE,CAAC,CAAC;QAClD,IAAI,QAAQ,EAAE,CAAC;YACb,WAAW,EAAE,KAAK,CAAC,sBAAsB,QAAQ,EAAE,CAAC,CAAC;QACvD,CAAC;aAAM,CAAC;YACN,WAAW,EAAE,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC9C,CAAC;QACD,WAAW,EAAE,IAAI,CAAC,GAAG,SAAS,OAAO,QAAQ,EAAE,CAAC,CAAC;QACjD,YAAY,CAAC,OAAO,CAAC,CAAC;QACtB,OAAO,GAAG,UAAU,CAAC,KAAK,IAAI,EAAE;YAC9B,IAAI,CAAC;gBACH,SAAS,EAAE,CAAC;gBACZ,UAAU,CAAC,KAAK,IAAI,EAAE;oBACpB,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;oBAC7B,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC;oBACnB,OAAO,EAAE,CAAC;gBACZ,CAAC,EAAE,GAAG,CAAC,CAAC;YACV,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;YACxB,CAAC;QACH,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC;IAED,SAAS,QAAQ,CAAC,OAAe;QAC/B,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACxC,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;gBACrC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACN,qCAAqC;gBACrC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;IACH,CAAC;IAED,SAAS,SAAS;QAChB,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QACpD,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE,CAAC;YAC9B,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC;IACH,CAAC;IAGD,SAAS,OAAO;QACd,SAAS,EAAE,CAAC;QACZ,KAAK,MAAM,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC3C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;YAChD,QAAQ,CAAC,OAAO,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAED,WAAW,EAAE,IAAI,CAAC,8BAA8B,EAAE,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAClF,OAAO,EAAE,CAAC;AACZ,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Logger } from "@miqro/core";
|
|
2
|
+
import { RouteFileMap, StaticFileMap } from "./setup-http.js";
|
|
3
|
+
export declare function inflateSeaAssets(logger: Logger, inflateDir: string): Promise<void>;
|
|
4
|
+
export declare function inflateAppForSea(logger: Logger, inflateDir: string, services: string[]): Promise<void>;
|
|
5
|
+
export declare function inflateServiceForSea(logger: Logger, inflateDir: string, service: string, servicePath: string, serviceRouteFileMap: RouteFileMap, serviceStaticFileMap: StaticFileMap): Promise<void>;
|