miqro 5.0.5 → 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
package/build/cmd-map.d.ts
DELETED
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
export declare const usage = "npx miqro <command> [args]\n";
|
|
2
|
-
export declare const CMD_MAP: {
|
|
3
|
-
"new:api": {
|
|
4
|
-
cb: () => void;
|
|
5
|
-
tabs: number;
|
|
6
|
-
description: string;
|
|
7
|
-
};
|
|
8
|
-
"new:api:main": {
|
|
9
|
-
cb: () => void;
|
|
10
|
-
tabs: number;
|
|
11
|
-
description: string;
|
|
12
|
-
};
|
|
13
|
-
"new:api:route": {
|
|
14
|
-
cb: () => void;
|
|
15
|
-
tabs: number;
|
|
16
|
-
description: string;
|
|
17
|
-
};
|
|
18
|
-
"new:api:route:test": {
|
|
19
|
-
cb: () => void;
|
|
20
|
-
tabs: number;
|
|
21
|
-
description: string;
|
|
22
|
-
};
|
|
23
|
-
config: {
|
|
24
|
-
cb: () => void;
|
|
25
|
-
tabs: number;
|
|
26
|
-
description: string;
|
|
27
|
-
};
|
|
28
|
-
"config:bash": {
|
|
29
|
-
cb: () => void;
|
|
30
|
-
tabs: number;
|
|
31
|
-
description: string;
|
|
32
|
-
};
|
|
33
|
-
"config:env": {
|
|
34
|
-
cb: () => void;
|
|
35
|
-
tabs: number;
|
|
36
|
-
description: string;
|
|
37
|
-
};
|
|
38
|
-
"config:init": {
|
|
39
|
-
cb: () => void;
|
|
40
|
-
tabs: number;
|
|
41
|
-
description: string;
|
|
42
|
-
};
|
|
43
|
-
doc: {
|
|
44
|
-
tabs: number;
|
|
45
|
-
cb: () => Promise<void>;
|
|
46
|
-
description: string;
|
|
47
|
-
};
|
|
48
|
-
"doc:md": {
|
|
49
|
-
cb: () => Promise<void>;
|
|
50
|
-
tabs: number;
|
|
51
|
-
description: string;
|
|
52
|
-
};
|
|
53
|
-
start: {
|
|
54
|
-
tabs: number;
|
|
55
|
-
cb: typeof start;
|
|
56
|
-
description: string;
|
|
57
|
-
};
|
|
58
|
-
cluster: {
|
|
59
|
-
tabs: number;
|
|
60
|
-
cb: typeof start;
|
|
61
|
-
description: string;
|
|
62
|
-
};
|
|
63
|
-
watch: {
|
|
64
|
-
cb: () => void;
|
|
65
|
-
tabs: number;
|
|
66
|
-
description: string;
|
|
67
|
-
};
|
|
68
|
-
serve: {
|
|
69
|
-
tabs: number;
|
|
70
|
-
cb: () => Promise<void>;
|
|
71
|
-
description: string;
|
|
72
|
-
};
|
|
73
|
-
"migration:up": {
|
|
74
|
-
tabs: number;
|
|
75
|
-
description: string;
|
|
76
|
-
cb: () => Promise<void>;
|
|
77
|
-
};
|
|
78
|
-
"migration:down": {
|
|
79
|
-
tabs: number;
|
|
80
|
-
description: string;
|
|
81
|
-
cb: () => Promise<void>;
|
|
82
|
-
};
|
|
83
|
-
help: {
|
|
84
|
-
cb: () => void;
|
|
85
|
-
tabs: number;
|
|
86
|
-
description: string;
|
|
87
|
-
};
|
|
88
|
-
};
|
|
89
|
-
declare function start(): void;
|
|
90
|
-
export {};
|
package/build/cmd-map.js
DELETED
|
@@ -1,460 +0,0 @@
|
|
|
1
|
-
import { resolve } from "path";
|
|
2
|
-
import { existsSync, lstatSync, mkdirSync, statSync, writeFileSync } from "fs";
|
|
3
|
-
import { apiRouteTemplate, gitignoreTemplate, mainTemplates, packageTemplate, templates, testTemplates } from "./utils/templates.js";
|
|
4
|
-
import { App, ConfigPathResolver, LoggerHandler, Proxy, ReadBuffer, Static, getLogger, loadConfig, normalizePath } from "@miqro/core";
|
|
5
|
-
import { getDOCJSON } from "./utils/doc/json.js";
|
|
6
|
-
import { getMDDoc } from "./utils/doc/md.js";
|
|
7
|
-
import { mainPath } from "@miqro/runner";
|
|
8
|
-
import { setupWatch } from "./utils/watch.js";
|
|
9
|
-
import { extractFlags, getUsage, execSync } from "./utils/exec.js";
|
|
10
|
-
import { migration } from "@miqro/query";
|
|
11
|
-
export const usage = "npx miqro <command> [args]\n";
|
|
12
|
-
export const CMD_MAP = {
|
|
13
|
-
["new:api"]: {
|
|
14
|
-
//section: "api development",
|
|
15
|
-
cb: () => {
|
|
16
|
-
const usageTS = `usage: npx miqro new:api <identifier ex: NEW_APP>`;
|
|
17
|
-
if (process.argv.length !== 4 || process.argv[3].length < 1) {
|
|
18
|
-
throw new Error(usageTS);
|
|
19
|
-
}
|
|
20
|
-
const identifier = process.argv[3].toLocaleLowerCase();
|
|
21
|
-
const appFolder = resolve(process.cwd(), identifier);
|
|
22
|
-
if (existsSync(appFolder)) {
|
|
23
|
-
throw new Error(`${appFolder} already exists!`);
|
|
24
|
-
}
|
|
25
|
-
console.log(`creating ${appFolder}`);
|
|
26
|
-
mkdirSync(appFolder, {
|
|
27
|
-
recursive: true
|
|
28
|
-
});
|
|
29
|
-
writeFileSync(resolve(appFolder, "package.json"), packageTemplate["ts"](identifier));
|
|
30
|
-
execSync(`npm install miqro --save-dev`, {
|
|
31
|
-
cwd: appFolder
|
|
32
|
-
});
|
|
33
|
-
execSync(`npm install @miqro/core --save`, {
|
|
34
|
-
cwd: appFolder
|
|
35
|
-
});
|
|
36
|
-
writeFileSync(resolve(appFolder, "tsconfig.json"), `{
|
|
37
|
-
"compileOnSave": true,
|
|
38
|
-
"compilerOptions": {
|
|
39
|
-
"lib": ["es2021"],
|
|
40
|
-
"module": "Node16",
|
|
41
|
-
"moduleResolution": "Node16",
|
|
42
|
-
"target": "es2021",
|
|
43
|
-
"strict": false,
|
|
44
|
-
"outDir": "./build/",
|
|
45
|
-
"removeComments": true,
|
|
46
|
-
"noImplicitAny": false,
|
|
47
|
-
"preserveConstEnums": true,
|
|
48
|
-
"sourceMap": true,
|
|
49
|
-
"esModuleInterop": true,
|
|
50
|
-
"declaration": true
|
|
51
|
-
},
|
|
52
|
-
"exclude": [
|
|
53
|
-
"node_modules",
|
|
54
|
-
"test"
|
|
55
|
-
],
|
|
56
|
-
"include": [
|
|
57
|
-
"src"
|
|
58
|
-
]
|
|
59
|
-
}`);
|
|
60
|
-
execSync(`npm install typescript --save-dev`, {
|
|
61
|
-
cwd: appFolder
|
|
62
|
-
});
|
|
63
|
-
execSync(`npm install @types/node --save-dev`, {
|
|
64
|
-
cwd: appFolder
|
|
65
|
-
});
|
|
66
|
-
writeFileSync(resolve(appFolder, ".gitignore"), gitignoreTemplate.ts());
|
|
67
|
-
execSync(`npm install @miqro/test-http --save-dev`, {
|
|
68
|
-
cwd: appFolder
|
|
69
|
-
});
|
|
70
|
-
execSync(`npx miqro new:api:main src_main`, {
|
|
71
|
-
cwd: appFolder
|
|
72
|
-
});
|
|
73
|
-
execSync(`npx miqro new:api:route src_api_health`, {
|
|
74
|
-
cwd: appFolder
|
|
75
|
-
});
|
|
76
|
-
mkdirSync(resolve(appFolder, "test"), {
|
|
77
|
-
recursive: true
|
|
78
|
-
});
|
|
79
|
-
execSync(`npx miqro new:api:route:test test_api_health`, {
|
|
80
|
-
cwd: appFolder
|
|
81
|
-
});
|
|
82
|
-
console.log("");
|
|
83
|
-
console.log("");
|
|
84
|
-
console.log(`new project created on ${appFolder}`);
|
|
85
|
-
console.log(`cd ${identifier}`);
|
|
86
|
-
console.log(`npm run start`);
|
|
87
|
-
console.log("");
|
|
88
|
-
}, tabs: 4, description: `create a new project.`
|
|
89
|
-
},
|
|
90
|
-
["new:api:main"]: {
|
|
91
|
-
//section: "http scaffolding",
|
|
92
|
-
cb: () => {
|
|
93
|
-
if (process.argv.length !== 4 || process.argv[3].length < 1) {
|
|
94
|
-
throw new Error(`usage: [NODE_ENV=development] npx miqro new:api:main <identifier ex: NEW_APP>`);
|
|
95
|
-
}
|
|
96
|
-
const identifier = process.argv[3].toLocaleLowerCase();
|
|
97
|
-
const split = identifier.split("_");
|
|
98
|
-
const dots = split.filter(s => s.indexOf(".") !== -1);
|
|
99
|
-
if (dots.length > 0) {
|
|
100
|
-
throw new Error(`identifier cannot contain dots\narguments: <identifier ex: SRC_MAIN>`);
|
|
101
|
-
}
|
|
102
|
-
loadConfig();
|
|
103
|
-
const path = resolve(ConfigPathResolver.getBaseDirname(), ...split.splice(0, split.length - 1));
|
|
104
|
-
const ext = existsSync(resolve(ConfigPathResolver.getBaseDirname(), "tsconfig.json")) ? "ts" : "js";
|
|
105
|
-
const filePath = resolve(path, `${split[0]}.${ext}`);
|
|
106
|
-
if (existsSync(filePath)) {
|
|
107
|
-
throw new Error(`file ${filePath} already exists! doing nothing`);
|
|
108
|
-
}
|
|
109
|
-
console.log(`creating ${filePath}`);
|
|
110
|
-
mkdirSync(path, {
|
|
111
|
-
recursive: true
|
|
112
|
-
});
|
|
113
|
-
writeFileSync(filePath, mainTemplates[ext]());
|
|
114
|
-
console.log(`file ${filePath} created`);
|
|
115
|
-
},
|
|
116
|
-
tabs: 3,
|
|
117
|
-
description: `creates a new main file.`
|
|
118
|
-
},
|
|
119
|
-
["new:api:route"]: {
|
|
120
|
-
cb: () => {
|
|
121
|
-
const nUsage = `usage: [NODE_ENV=development] npx miqro new:api:main <identifier ex: NEW_APP>`;
|
|
122
|
-
if (process.argv.length !== 4 || process.argv[3].length < 1) {
|
|
123
|
-
throw new Error(nUsage);
|
|
124
|
-
}
|
|
125
|
-
const identifier = process.argv[3].toLocaleLowerCase();
|
|
126
|
-
const split = identifier.split("_").map(s => s.trim()).filter(s => s);
|
|
127
|
-
const dots = split.filter(s => s.indexOf(".") !== -1);
|
|
128
|
-
if (dots.length > 0) {
|
|
129
|
-
throw new Error(`identifier cannot contain dots\n${nUsage}`);
|
|
130
|
-
}
|
|
131
|
-
loadConfig();
|
|
132
|
-
const path = resolve(ConfigPathResolver.getBaseDirname(), ...split.splice(0, split.length - 1));
|
|
133
|
-
const ext = existsSync(resolve(ConfigPathResolver.getBaseDirname(), "tsconfig.json")) ? "ts" : "js";
|
|
134
|
-
const noMethod = ["post", "get", "put", "delete", "patch", "options"].indexOf(split[0].toLocaleLowerCase()) === -1;
|
|
135
|
-
const filePath = resolve(path, `${split[0]}.${ext}`);
|
|
136
|
-
if (existsSync(filePath)) {
|
|
137
|
-
throw new Error(`file ${filePath} already exists! doing nothing`);
|
|
138
|
-
}
|
|
139
|
-
console.log(`creating ${filePath}`);
|
|
140
|
-
mkdirSync(path, {
|
|
141
|
-
recursive: true
|
|
142
|
-
});
|
|
143
|
-
writeFileSync(filePath, apiRouteTemplate[ext](noMethod));
|
|
144
|
-
}, tabs: 3, description: `creates a new route.`
|
|
145
|
-
},
|
|
146
|
-
["new:api:route:test"]: {
|
|
147
|
-
cb: () => {
|
|
148
|
-
if (process.argv.length !== 4 || process.argv[3].length < 1) {
|
|
149
|
-
throw new Error(`usage: [NODE_ENV=development] npx miqro new:test <identifier ex: TEST_SOMEFILE>`);
|
|
150
|
-
}
|
|
151
|
-
const identifier = process.argv[3].toLocaleLowerCase();
|
|
152
|
-
const split = identifier.split("_");
|
|
153
|
-
const dots = split.filter(s => s.indexOf(".") !== -1);
|
|
154
|
-
if (dots.length > 0) {
|
|
155
|
-
throw new Error(`identifier cannot contain dots\narguments: <identifier ex: TEST_SOMETEST>`);
|
|
156
|
-
}
|
|
157
|
-
loadConfig();
|
|
158
|
-
const path = resolve(ConfigPathResolver.getBaseDirname(), ...split.splice(0, split.length - 1));
|
|
159
|
-
const filePath = resolve(path, `${split[0]}.test.js`);
|
|
160
|
-
if (existsSync(filePath)) {
|
|
161
|
-
throw new Error(`file ${filePath} already exists! doing nothing`);
|
|
162
|
-
}
|
|
163
|
-
console.log(`creating ${filePath}`);
|
|
164
|
-
mkdirSync(path, {
|
|
165
|
-
recursive: true
|
|
166
|
-
});
|
|
167
|
-
writeFileSync(filePath, testTemplates.js(split[0]));
|
|
168
|
-
console.log(`file ${filePath} created`);
|
|
169
|
-
}, tabs: 2, description: `create new test.js file for an APIRouter.`
|
|
170
|
-
},
|
|
171
|
-
["config"]: {
|
|
172
|
-
//section: "config management",
|
|
173
|
-
cb: () => {
|
|
174
|
-
const logger = console;
|
|
175
|
-
if (process.argv.length !== 3) {
|
|
176
|
-
throw new Error(`invalid number of args. ${"usage: [NODE_ENV=development] npx miqro config"}`);
|
|
177
|
-
}
|
|
178
|
-
const configOut = loadConfig();
|
|
179
|
-
const config = configOut.combined;
|
|
180
|
-
logger.info(JSON.stringify(config, undefined, 2));
|
|
181
|
-
},
|
|
182
|
-
tabs: 4,
|
|
183
|
-
description: `print config as a json.`
|
|
184
|
-
},
|
|
185
|
-
["config:bash"]: {
|
|
186
|
-
cb: () => {
|
|
187
|
-
const logger = console;
|
|
188
|
-
if (process.argv.length !== 3) {
|
|
189
|
-
throw new Error(`invalid number of args. usage: [NODE_ENV=development] npx miqro config:bash`);
|
|
190
|
-
}
|
|
191
|
-
const configOut = loadConfig();
|
|
192
|
-
const config = configOut.combined;
|
|
193
|
-
const keys = Object.keys(config);
|
|
194
|
-
for (const key of keys) {
|
|
195
|
-
logger.info(`export ${key}=${config[key]}`);
|
|
196
|
-
}
|
|
197
|
-
},
|
|
198
|
-
tabs: 3,
|
|
199
|
-
description: `print config as a bash script.`
|
|
200
|
-
},
|
|
201
|
-
["config:env"]: {
|
|
202
|
-
cb: () => {
|
|
203
|
-
const logger = console;
|
|
204
|
-
if (process.argv.length !== 3) {
|
|
205
|
-
throw new Error(`invalid number of args. usage: [NODE_ENV=development] npx miqro config:env`);
|
|
206
|
-
}
|
|
207
|
-
const configOut = loadConfig();
|
|
208
|
-
const config = configOut.combined;
|
|
209
|
-
const keys = Object.keys(config);
|
|
210
|
-
for (const key of keys) {
|
|
211
|
-
logger.info(`${key}=${config[key]}`);
|
|
212
|
-
}
|
|
213
|
-
},
|
|
214
|
-
tabs: 3,
|
|
215
|
-
description: `print config as a env file.`
|
|
216
|
-
},
|
|
217
|
-
["config:init"]: {
|
|
218
|
-
cb: () => {
|
|
219
|
-
const logger = console;
|
|
220
|
-
if (process.argv.length !== 3) {
|
|
221
|
-
throw new Error(`invalid number of args. usage: [NODE_ENV=development] npx miqro config:init`);
|
|
222
|
-
}
|
|
223
|
-
loadConfig();
|
|
224
|
-
const configPath = ConfigPathResolver.getConfigDirname();
|
|
225
|
-
const initEnvFile = (path, template) => {
|
|
226
|
-
if (!existsSync(path)) {
|
|
227
|
-
logger.warn(`creating ${path} env file`);
|
|
228
|
-
writeFileSync(path, template);
|
|
229
|
-
}
|
|
230
|
-
else {
|
|
231
|
-
logger.warn(`${path} already exists!. init will not create it.`);
|
|
232
|
-
}
|
|
233
|
-
};
|
|
234
|
-
if (!existsSync(configPath)) {
|
|
235
|
-
logger.warn(`[${configPath}] doesnt exists!`);
|
|
236
|
-
mkdirSync(configPath, {
|
|
237
|
-
recursive: true
|
|
238
|
-
});
|
|
239
|
-
}
|
|
240
|
-
initEnvFile(resolve(configPath, `log.env`), templates.logEnvFile);
|
|
241
|
-
initEnvFile(resolve(configPath, `auth.env`), templates.authEnvFile);
|
|
242
|
-
initEnvFile(resolve(configPath, `features.env`), templates.featuresEnvFile);
|
|
243
|
-
}, tabs: 3, description: `inits your config folder.`
|
|
244
|
-
},
|
|
245
|
-
["doc"]: {
|
|
246
|
-
//section: "api documentation",
|
|
247
|
-
tabs: 4,
|
|
248
|
-
cb: async () => {
|
|
249
|
-
if (process.argv.length < 5 || process.argv.length > 7) {
|
|
250
|
-
throw new Error(`usage: [NODE_ENV=development] npx miqro doc <api_folder> <subPath> [apiName] [ignore]`);
|
|
251
|
-
}
|
|
252
|
-
const dirname = process.argv[3];
|
|
253
|
-
const subPath = process.argv[4];
|
|
254
|
-
const apiName = process.argv[5];
|
|
255
|
-
const ignore = process.argv[6];
|
|
256
|
-
loadConfig();
|
|
257
|
-
console.log(JSON.stringify(await getDOCJSON({ dirname, subPath, apiName, ignore: ignore ? ignore.split(",") : undefined }), undefined, 2));
|
|
258
|
-
},
|
|
259
|
-
description: `api folder auto doc as a json.`
|
|
260
|
-
},
|
|
261
|
-
["doc:md"]: {
|
|
262
|
-
cb: async () => {
|
|
263
|
-
if (process.argv.length < 5 || process.argv.length > 7) {
|
|
264
|
-
throw new Error(`usage: [NODE_ENV=development] npx miqro doc <api_folder> <subPath> [apiName] [ignore]`);
|
|
265
|
-
}
|
|
266
|
-
const dirname = process.argv[3];
|
|
267
|
-
const subPath = process.argv[4];
|
|
268
|
-
const apiName = process.argv[5];
|
|
269
|
-
const ignore = process.argv[6];
|
|
270
|
-
loadConfig();
|
|
271
|
-
console.log(await getMDDoc({ dirname, subPath, apiName, ignore: ignore.split(",") }));
|
|
272
|
-
},
|
|
273
|
-
tabs: 4,
|
|
274
|
-
description: `api folder auto doc as a markdown.`
|
|
275
|
-
},
|
|
276
|
-
["start"]: {
|
|
277
|
-
//section: "start helpers",
|
|
278
|
-
tabs: 4,
|
|
279
|
-
cb: start,
|
|
280
|
-
description: `start script in cluster mode.`
|
|
281
|
-
},
|
|
282
|
-
["cluster"]: {
|
|
283
|
-
tabs: 4,
|
|
284
|
-
cb: start,
|
|
285
|
-
description: `alias for start command.`
|
|
286
|
-
},
|
|
287
|
-
["watch"]: {
|
|
288
|
-
//section: "watch",
|
|
289
|
-
cb: () => {
|
|
290
|
-
const usageMessage = (message) => `${message ? `${message}.\n` : ""}usage: npx miqro watch <directory> <cmd>`;
|
|
291
|
-
if (process.argv.length < 5) {
|
|
292
|
-
throw new Error(usageMessage("invalid number of args"));
|
|
293
|
-
}
|
|
294
|
-
const directory = process.argv[3];
|
|
295
|
-
const cmd = process.argv.slice(4).join(" ");
|
|
296
|
-
const timeout = process.env.WATCH_TIMEOUT ? parseInt(process.env.WATCH_TIMEOUT, 10) : undefined;
|
|
297
|
-
if (!existsSync(directory) || !statSync(directory).isDirectory()) {
|
|
298
|
-
throw new Error(usageMessage("directory not found!"));
|
|
299
|
-
}
|
|
300
|
-
console.log(`setting up watch on ${directory} with cmd ${cmd}`);
|
|
301
|
-
setupWatch(directory, cmd, timeout);
|
|
302
|
-
},
|
|
303
|
-
tabs: 4,
|
|
304
|
-
description: `watch folder for changes.`
|
|
305
|
-
},
|
|
306
|
-
["serve"]: {
|
|
307
|
-
//section: "serve static files",
|
|
308
|
-
tabs: 4,
|
|
309
|
-
cb: async () => {
|
|
310
|
-
const nUsage = `usage: [NODE_ENV=development] npx miqro serve [directory=./] [path=/] [--index404 ./index.html] [--proxy-cert-ignore] [--port 8080] [--proxy /api=https://host/api]`;
|
|
311
|
-
const flags = extractFlags(process.argv.slice(3), {
|
|
312
|
-
flags: {
|
|
313
|
-
"help": {
|
|
314
|
-
description: "get help page", hasValue: false
|
|
315
|
-
},
|
|
316
|
-
"index404Status": {
|
|
317
|
-
description: "status to handle index404 status", hasValue: true
|
|
318
|
-
},
|
|
319
|
-
"index404": {
|
|
320
|
-
description: "file to handle 404", hasValue: true
|
|
321
|
-
}, "proxy": {
|
|
322
|
-
description: "proxy", hasValue: true
|
|
323
|
-
}, "proxy-cert-ignore": {
|
|
324
|
-
description: "proxy ignore certs", hasValue: false
|
|
325
|
-
}, "port": {
|
|
326
|
-
description: "port", hasValue: true
|
|
327
|
-
}
|
|
328
|
-
}
|
|
329
|
-
});
|
|
330
|
-
if (flags.flags.help !== undefined) {
|
|
331
|
-
console.log(nUsage);
|
|
332
|
-
process.exit(102);
|
|
333
|
-
}
|
|
334
|
-
if (flags.files.length > 2) {
|
|
335
|
-
throw new Error(`invalid arguments.\n${nUsage}`);
|
|
336
|
-
}
|
|
337
|
-
if (flags.flags.index404 instanceof Array) {
|
|
338
|
-
throw new Error(`invalid index404!.\n${nUsage}`);
|
|
339
|
-
}
|
|
340
|
-
if (flags.flags.port instanceof Array) {
|
|
341
|
-
throw new Error(`invalid port!.\n${nUsage}`);
|
|
342
|
-
}
|
|
343
|
-
let [directory, path] = flags.files;
|
|
344
|
-
path = path ? path : "/";
|
|
345
|
-
directory = directory ? directory : process.cwd();
|
|
346
|
-
loadConfig();
|
|
347
|
-
const PORT = flags.flags.port ? flags.flags.port : (process.env.PORT ? process.env.PORT : 8080);
|
|
348
|
-
if (PORT === undefined) {
|
|
349
|
-
throw new Error(`invalid port!.\n${nUsage}`);
|
|
350
|
-
}
|
|
351
|
-
if (!existsSync(directory) || !statSync(directory).isDirectory()) {
|
|
352
|
-
throw new Error(`${directory} directory not found!\n${nUsage}`);
|
|
353
|
-
}
|
|
354
|
-
const app = new App();
|
|
355
|
-
app.use(LoggerHandler());
|
|
356
|
-
const proxyList = flags.flags.proxy instanceof Array ? flags.flags.proxy : [flags.flags.proxy];
|
|
357
|
-
for (const proxy of proxyList) {
|
|
358
|
-
if (proxy) {
|
|
359
|
-
const proxySplit = proxy.split("=");
|
|
360
|
-
if (proxySplit.length !== 2) {
|
|
361
|
-
throw new Error("proxy must be in the form. /path=proxy");
|
|
362
|
-
}
|
|
363
|
-
const proxyPath = normalizePath(proxySplit[0]);
|
|
364
|
-
const proxyURL = new URL(proxySplit[1]);
|
|
365
|
-
proxyURL.pathname = normalizePath(proxyURL.pathname);
|
|
366
|
-
const proxyRouter = Proxy({
|
|
367
|
-
url: proxyURL.toString(), rejectUnauthorized: flags.flags["proxy-cert-ignore"] ? true : false
|
|
368
|
-
});
|
|
369
|
-
console.log("setting up proxy to %s on %s", proxyURL.toString(), proxyPath);
|
|
370
|
-
proxyRouter.use(ReadBuffer());
|
|
371
|
-
app.use(proxyRouter, proxyPath);
|
|
372
|
-
}
|
|
373
|
-
}
|
|
374
|
-
app.use(Static({
|
|
375
|
-
directory,
|
|
376
|
-
list: true,
|
|
377
|
-
index404: flags.flags.index404 ? flags.flags.index404 : undefined,
|
|
378
|
-
index404Status: flags.flags.index404Status ? parseInt(flags.flags.index404Status, 10) : undefined
|
|
379
|
-
}), path);
|
|
380
|
-
await app.listen(PORT);
|
|
381
|
-
console.log("serving " + directory + " on http://localhost:%s%s", PORT, path);
|
|
382
|
-
}, description: `serve static files.`
|
|
383
|
-
},
|
|
384
|
-
["migration:up"]: {
|
|
385
|
-
tabs: 3,
|
|
386
|
-
description: "'up' on migrations in order.",
|
|
387
|
-
cb: async () => {
|
|
388
|
-
const usageMessage = (message) => `${message ? `${message}.\n` : ""}usage: npx miqro migration:up <db.js> <migrations-folder|migration-file>`;
|
|
389
|
-
if (process.argv.length < 5) {
|
|
390
|
-
throw new Error(usageMessage("invalid number of args"));
|
|
391
|
-
}
|
|
392
|
-
const dbJSPath = resolve(process.cwd(), process.argv[3]);
|
|
393
|
-
const migrationFolder = resolve(process.cwd(), process.argv[4]);
|
|
394
|
-
if (!existsSync(migrationFolder)) {
|
|
395
|
-
throw new Error(usageMessage(`invalid args. [${migrationFolder}] doesnt exists!`));
|
|
396
|
-
}
|
|
397
|
-
if (lstatSync(migrationFolder).isSymbolicLink()) {
|
|
398
|
-
throw new Error(usageMessage(`invalid args. [${migrationFolder}] simbolic links not supported.`));
|
|
399
|
-
}
|
|
400
|
-
if (!lstatSync(migrationFolder).isDirectory()) {
|
|
401
|
-
const db = (await import(dbJSPath)).default;
|
|
402
|
-
await db.connect();
|
|
403
|
-
await migration.init(db, getLogger("migrationUp"));
|
|
404
|
-
await migration.up.file(db, migrationFolder, getLogger("migrationUp"));
|
|
405
|
-
await db.disconnect();
|
|
406
|
-
}
|
|
407
|
-
else {
|
|
408
|
-
const db = (await import(dbJSPath)).default;
|
|
409
|
-
await db.connect();
|
|
410
|
-
await migration.up.folder(db, migrationFolder, getLogger("migrationUp"));
|
|
411
|
-
await db.disconnect();
|
|
412
|
-
}
|
|
413
|
-
}
|
|
414
|
-
},
|
|
415
|
-
["migration:down"]: {
|
|
416
|
-
tabs: 3,
|
|
417
|
-
description: "'down' on migrations in reverse.",
|
|
418
|
-
cb: async () => {
|
|
419
|
-
const usageMessage = (message) => `${message ? `${message}.\n` : ""}usage: npx miqro migration:down <db.js> <migrations-folder|migration-file>`;
|
|
420
|
-
if (process.argv.length < 5) {
|
|
421
|
-
throw new Error(usageMessage("invalid number of args"));
|
|
422
|
-
}
|
|
423
|
-
const dbJSPath = resolve(process.cwd(), process.argv[3]);
|
|
424
|
-
const migrationFolder = resolve(process.cwd(), process.argv[4]);
|
|
425
|
-
if (!existsSync(migrationFolder)) {
|
|
426
|
-
throw new Error(usageMessage(`invalid args. [${migrationFolder}] doesnt exists!`));
|
|
427
|
-
}
|
|
428
|
-
if (lstatSync(migrationFolder).isSymbolicLink()) {
|
|
429
|
-
throw new Error(usageMessage(`invalid args. [${migrationFolder}] simbolic links not supported.`));
|
|
430
|
-
}
|
|
431
|
-
if (!lstatSync(migrationFolder).isDirectory()) {
|
|
432
|
-
const db = (await import(dbJSPath)).default;
|
|
433
|
-
await db.connect();
|
|
434
|
-
await migration.init(db, getLogger("migrationDown"));
|
|
435
|
-
await migration.down.file(db, migrationFolder, getLogger("migrationDown"));
|
|
436
|
-
await db.disconnect();
|
|
437
|
-
}
|
|
438
|
-
else {
|
|
439
|
-
const db = (await import(dbJSPath)).default;
|
|
440
|
-
await db.connect();
|
|
441
|
-
await migration.down.folder(db, migrationFolder, getLogger("migrationDown"));
|
|
442
|
-
await db.disconnect();
|
|
443
|
-
}
|
|
444
|
-
}
|
|
445
|
-
},
|
|
446
|
-
["help"]: {
|
|
447
|
-
//section: "help",
|
|
448
|
-
cb: () => {
|
|
449
|
-
console.log(getUsage(CMD_MAP, usage));
|
|
450
|
-
},
|
|
451
|
-
tabs: 4, description: "prints this page"
|
|
452
|
-
}
|
|
453
|
-
};
|
|
454
|
-
function start() {
|
|
455
|
-
if (process.argv.length <= 3) {
|
|
456
|
-
throw new Error(`invalid number of args\nusage: CLUSTER_COUNT=os.cpus().length [CLUSTER_AUTO_BROADCAST=true|false] [CLUSTER_DISABLE_RESTART=true|false] npx miqro start <script> [...args]`);
|
|
457
|
-
}
|
|
458
|
-
loadConfig();
|
|
459
|
-
execSync(`${process.argv[0]} ${mainPath()} ${process.argv.slice(3).join(" ")}`);
|
|
460
|
-
}
|
package/build/index.js
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { Logger, RouterJSONDoc } from "@miqro/core";
|
|
2
|
-
export declare const getDOCJSON: ({ dirname, subPath, apiName, ignore }: {
|
|
3
|
-
ignore?: string[] | undefined;
|
|
4
|
-
apiName?: string | undefined;
|
|
5
|
-
dirname: string;
|
|
6
|
-
subPath: string;
|
|
7
|
-
}, logger?: Logger) => Promise<RouterJSONDoc>;
|
package/build/utils/doc/json.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { APIRouter, ConfigPathResolver } from "@miqro/core";
|
|
2
|
-
import { resolve } from "path";
|
|
3
|
-
export const getDOCJSON = async ({ dirname, subPath, apiName, ignore }, logger) => {
|
|
4
|
-
//const apiTraverse = traverseAPIRouteDir(basename(dirname).toUpperCase(), resolve(ConfigPathResolver.getBaseDirname(), dirname), subPath, undefined, logger);
|
|
5
|
-
const router = await APIRouter({
|
|
6
|
-
apiName,
|
|
7
|
-
dirname: resolve(ConfigPathResolver.getBaseDirname(), dirname),
|
|
8
|
-
path: subPath,
|
|
9
|
-
ignore
|
|
10
|
-
}, logger);
|
|
11
|
-
return router.getJSONDoc();
|
|
12
|
-
};
|
package/build/utils/doc/md.d.ts
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { Logger, ParserMode, SchemaProperties } from "@miqro/core";
|
|
2
|
-
export declare function getMDDoc(args: {
|
|
3
|
-
ignore?: string[];
|
|
4
|
-
showFilePath?: boolean;
|
|
5
|
-
apiName?: string;
|
|
6
|
-
dirname: string;
|
|
7
|
-
subPath: string;
|
|
8
|
-
}, logger?: Logger): Promise<string>;
|
|
9
|
-
export declare function parserToString(parser: {
|
|
10
|
-
status?: number | number[];
|
|
11
|
-
headers?: string | SchemaProperties | SchemaProperties[];
|
|
12
|
-
headersMode?: ParserMode;
|
|
13
|
-
query?: string | SchemaProperties | boolean | SchemaProperties[];
|
|
14
|
-
queryMode?: ParserMode;
|
|
15
|
-
params?: string | SchemaProperties | boolean | SchemaProperties[];
|
|
16
|
-
paramsMode?: ParserMode;
|
|
17
|
-
body?: string | SchemaProperties | boolean | SchemaProperties[];
|
|
18
|
-
bodyMode?: ParserMode;
|
|
19
|
-
}): string;
|