miqro 6.3.0 → 7.0.2
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/README.md +9 -17
- package/build/editor.bundle.js +11601 -10129
- package/build/esm/editor/common/log-socket.js +1 -0
- package/build/esm/editor/common/templates.js +90 -90
- package/build/esm/editor/components/api-preview.js +2 -0
- package/build/esm/editor/components/editor.js +2 -0
- package/build/esm/editor/components/file-browser.js +1 -0
- package/build/esm/editor/components/file-editor-toolbar.js +2 -0
- package/build/esm/editor/components/file-editor.js +2 -0
- package/build/esm/editor/components/filter-query.js +1 -0
- package/build/esm/editor/components/highlight-text-area.js +2 -0
- package/build/esm/editor/components/log-viewer.js +2 -0
- package/build/esm/editor/components/new-file.js +2 -0
- package/build/esm/editor/components/scroll-query.js +1 -0
- package/build/esm/editor/components/start-page.js +2 -0
- package/build/esm/editor/http/admin/editor/api/fs/delete.api.js +2 -1
- package/build/esm/editor/http/admin/editor/api/fs/read.api.js +2 -1
- package/build/esm/editor/http/admin/editor/api/fs/rename.api.js +2 -1
- package/build/esm/editor/http/admin/editor/api/fs/scan.api.js +2 -1
- package/build/esm/editor/http/admin/editor/api/fs/write.api.js +2 -1
- package/build/esm/editor/http/admin/editor/api/server/restart.api.js +2 -1
- package/build/esm/editor/http/admin/editor/editor.js +2 -1
- package/build/esm/editor/http/admin/editor/index.api.js +1 -0
- package/build/esm/src/bin/types.js +10 -5
- package/build/esm/src/cluster.js +1 -1
- package/build/esm/src/common/arguments.d.ts +1 -1
- package/build/esm/src/common/arguments.js +28 -14
- package/build/esm/src/common/assets.d.ts +1 -1
- package/build/esm/src/common/assets.js +34 -13
- package/build/esm/src/common/esbuild.d.ts +4 -1
- package/build/esm/src/common/esbuild.js +31 -26
- package/build/esm/src/common/exit.js +4 -4
- package/build/esm/src/common/help.d.ts +1 -1
- package/build/esm/src/common/help.js +0 -1
- package/build/esm/src/common/jsx.d.ts +2 -3
- package/build/esm/src/common/jsx.js +70 -75
- package/build/esm/src/common/paths.d.ts +0 -1
- package/build/esm/src/common/paths.js +3 -3
- package/build/esm/src/common/watch.d.ts +0 -1
- package/build/esm/src/common/watch.js +1 -1
- package/build/esm/src/inflate/inflate-sea.js +35 -24
- package/build/esm/src/inflate/inflate.js +4 -4
- package/build/esm/src/inflate/setup-auth.js +1 -1
- package/build/esm/src/inflate/setup-cors.js +1 -1
- package/build/esm/src/inflate/setup-db.js +2 -2
- package/build/esm/src/inflate/setup-error.js +1 -1
- package/build/esm/src/inflate/setup-http.js +16 -16
- package/build/esm/src/inflate/setup-log.js +1 -1
- package/build/esm/src/inflate/setup-middleware.js +1 -1
- package/build/esm/src/inflate/setup-server-config.js +1 -1
- package/build/esm/src/inflate/setup-ws.js +1 -1
- package/build/esm/src/inflate/setup.doc.d.ts +2 -2
- package/build/esm/src/inflate/setup.doc.js +23 -2
- package/build/esm/src/inflate/utils/sea-utils.js +2 -2
- package/build/esm/src/lib.d.ts +10 -1
- package/build/esm/src/lib.js +16 -1
- package/build/esm/src/main.js +1 -1
- package/build/esm/src/services/app.js +3 -4
- package/build/esm/src/services/migrations.js +2 -2
- package/build/esm/src/services/utils/jwt.d.ts +2 -0
- package/build/esm/src/services/utils/jwt.js +23 -0
- package/build/esm/src/services/utils/middleware.d.ts +9 -0
- package/build/esm/src/services/utils/middleware.js +9 -0
- package/build/esm/src/services/utils/server-interface.js +33 -4
- package/build/esm/src/types.d.ts +50 -83
- package/build/lib.cjs +15684 -15612
- package/editor/common/log-socket.tsx +2 -0
- package/editor/common/templates.ts +12 -12
- package/editor/components/api-preview.tsx +2 -0
- package/editor/components/editor.tsx +2 -0
- package/editor/components/file-browser.tsx +3 -0
- package/editor/components/file-editor-toolbar.tsx +3 -0
- package/editor/components/file-editor.tsx +3 -0
- package/editor/components/filter-query.tsx +4 -0
- package/editor/components/highlight-text-area.tsx +3 -0
- package/editor/components/log-viewer.tsx +3 -0
- package/editor/components/new-file.tsx +3 -0
- package/editor/components/scroll-query.tsx +3 -0
- package/editor/components/start-page.tsx +3 -0
- package/editor/http/admin/editor/api/fs/delete.api.tsx +2 -2
- package/editor/http/admin/editor/api/fs/read.api.tsx +2 -2
- package/editor/http/admin/editor/api/fs/rename.api.tsx +2 -2
- package/editor/http/admin/editor/api/fs/scan.api.tsx +2 -2
- package/editor/http/admin/editor/api/fs/write.api.tsx +2 -2
- package/editor/http/admin/editor/api/server/restart.api.tsx +2 -2
- package/editor/http/admin/editor/editor.tsx +3 -1
- package/editor/http/admin/editor/index.api.tsx +3 -0
- package/package.json +6 -8
- package/sea/basic-compile.base64.sh +1 -1
- package/sea/basic-compile.sh +1 -1
- package/sea/install-nodejs.sh +1 -1
- package/sea/node.version.tag +1 -1
- package/src/bin/types.ts +7 -2
- package/src/cluster.ts +1 -1
- package/src/common/arguments.ts +27 -10
- package/src/common/assets.ts +32 -12
- package/src/common/esbuild.ts +11 -3
- package/src/common/exit.ts +3 -3
- package/src/common/help.ts +0 -1
- package/src/common/jsx.ts +50 -35
- package/src/common/paths.ts +2 -2
- package/src/common/watch.ts +1 -1
- package/src/inflate/inflate-sea.ts +35 -24
- package/src/inflate/inflate.ts +4 -4
- package/src/inflate/setup-auth.ts +1 -1
- package/src/inflate/setup-cors.ts +1 -1
- package/src/inflate/setup-db.ts +2 -2
- package/src/inflate/setup-error.ts +1 -1
- package/src/inflate/setup-http.ts +16 -16
- package/src/inflate/setup-log.ts +1 -1
- package/src/inflate/setup-middleware.ts +1 -1
- package/src/inflate/setup-server-config.ts +1 -1
- package/src/inflate/setup-ws.ts +1 -1
- package/src/inflate/setup.doc.ts +27 -3
- package/src/inflate/utils/sea-utils.ts +2 -2
- package/src/lib.ts +17 -2
- package/src/main.ts +1 -1
- package/src/services/app.ts +4 -4
- package/src/services/migrations.ts +2 -2
- package/src/services/utils/jwt.ts +25 -0
- package/src/services/utils/middleware.ts +10 -0
- package/src/services/utils/server-interface.ts +37 -7
- package/src/types.ts +56 -53
- package/.eslintrc +0 -15
- package/build/esm/src/services/globals.d.ts +0 -3
- package/build/esm/src/services/globals.js +0 -182
- package/build/jsx.dom.js +0 -1587
- package/build/postject.base64.cjs +0 -1
- package/sea/types.json +0 -1
- package/src/types/@esbuild.d.ts +0 -1
- package/src/types/@miqro/core.d.ts +0 -2
- package/src/types/@miqro/jsx.d.ts +0 -2
- package/src/types/@miqro/parser.d.ts +0 -2
- package/src/types/@miqro/query.d.ts +0 -2
- package/src/types/@miqro/request.d.ts +0 -2
- package/src/types/@miqro/test.d.ts +0 -2
- package/src/types/@miqro.d.ts +0 -1
- package/src/types/@types.d.ts +0 -1
- package/src/types/browser.globals.d.ts +0 -1
- package/src/types/cookie.d.ts +0 -2
- package/src/types/globals.d.ts +0 -2
- package/src/types/jose.d.ts +0 -2
- package/src/types/jsx.globals.d.ts +0 -38
- package/src/types/miqro.d.ts +0 -228
- package/src/types/postject.d.ts +0 -1
- package/src/types/server.globals.d.ts +0 -47
- package/tsconfig.json +0 -35
- /package/src/services/{globals.ts → globals.ts.ignore} +0 -0
|
@@ -110,7 +110,7 @@ export default {
|
|
|
110
110
|
sufix: ".test.tsx",
|
|
111
111
|
displayName: "a test file",
|
|
112
112
|
language: "typescript",
|
|
113
|
-
template: () => `import
|
|
113
|
+
template: () => `import JSX from "@miqro/jsx";
|
|
114
114
|
import { strictEqual } from "node:assert";
|
|
115
115
|
|
|
116
116
|
describe("test group", () => {
|
|
@@ -138,7 +138,8 @@ describe("test group", () => {
|
|
|
138
138
|
sufix: ".html.tsx",
|
|
139
139
|
displayName: ".html.tsx file",
|
|
140
140
|
language: "typescript",
|
|
141
|
-
template: () => `import
|
|
141
|
+
template: () => `import JSX from "@miqro/jsx";
|
|
142
|
+
import { ServerRequest, ServerResponse, APIOptions } from "miqro";
|
|
142
143
|
|
|
143
144
|
/*export const apiOptions: APIOptions = {
|
|
144
145
|
path: ["/", "/index.html"],
|
|
@@ -284,10 +285,7 @@ export default {
|
|
|
284
285
|
"lib": ["es2021", "dom"],
|
|
285
286
|
"jsx": "react",
|
|
286
287
|
"jsxFactory": "JSX.createElement",
|
|
287
|
-
"jsxFragmentFactory": "JSX.Fragment"
|
|
288
|
-
"typeRoots": [
|
|
289
|
-
"./.types"
|
|
290
|
-
]
|
|
288
|
+
"jsxFragmentFactory": "JSX.Fragment"
|
|
291
289
|
}
|
|
292
290
|
}
|
|
293
291
|
`},
|
|
@@ -311,13 +309,14 @@ export default {
|
|
|
311
309
|
sufix: ".min.tsx",
|
|
312
310
|
displayName: "min.tsx file",
|
|
313
311
|
language: "typescript",
|
|
314
|
-
template: () => `import
|
|
312
|
+
template: () => `import JSX from "@miqro/jsx";
|
|
313
|
+
import { define } from "@miqro/jsx-dom";
|
|
315
314
|
|
|
316
315
|
export function MyComponent() {
|
|
317
316
|
return <p>HelloWorld</p>
|
|
318
317
|
}
|
|
319
318
|
window.addEventListener("load", (event) => {
|
|
320
|
-
|
|
319
|
+
define("my-tag", MyComponent, {
|
|
321
320
|
shadowInit: false,
|
|
322
321
|
observedAttributes: []
|
|
323
322
|
});
|
|
@@ -328,19 +327,20 @@ window.addEventListener("load", (event) => {
|
|
|
328
327
|
sufix: ".tsx",
|
|
329
328
|
displayName: ".tsx file",
|
|
330
329
|
language: "typescript",
|
|
331
|
-
template: () => `import
|
|
330
|
+
template: () => `import JSX from "@miqro/jsx";
|
|
331
|
+
import { define } from "@miqro/jsx-dom";
|
|
332
332
|
|
|
333
333
|
export function MyComponent() {
|
|
334
334
|
return <p>HelloWorld</p>
|
|
335
335
|
}
|
|
336
336
|
window.addEventListener("load", (event) => {
|
|
337
|
-
|
|
337
|
+
define("my-tag", MyComponent, {
|
|
338
338
|
shadowInit: false,
|
|
339
339
|
observedAttributes: []
|
|
340
340
|
});
|
|
341
341
|
});
|
|
342
342
|
`},
|
|
343
|
-
SSRTSX: {
|
|
343
|
+
/*SSRTSX: {
|
|
344
344
|
prefix: "http",
|
|
345
345
|
sufix: ".tsx",
|
|
346
346
|
displayName: "an ssr component example using webcomponents",
|
|
@@ -423,7 +423,7 @@ export function SSRComponent(props, children) {
|
|
|
423
423
|
);
|
|
424
424
|
}
|
|
425
425
|
`
|
|
426
|
-
}
|
|
426
|
+
},*/
|
|
427
427
|
JS: {
|
|
428
428
|
prefix: "http",
|
|
429
429
|
sufix: ".js",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { APIRoute } from "@miqro/core";
|
|
1
|
+
import { APIRoute, JSONParser } from "@miqro/core";
|
|
2
2
|
import { unlinkSync } from "node:fs";
|
|
3
3
|
import { getPath } from "./read.api.js";
|
|
4
4
|
|
|
@@ -6,7 +6,7 @@ export default {
|
|
|
6
6
|
description: "admin editor file deletion endpoint",
|
|
7
7
|
method: "POST",
|
|
8
8
|
path: "/delete",
|
|
9
|
-
middleware: [
|
|
9
|
+
middleware: [JSONParser()],
|
|
10
10
|
request: {
|
|
11
11
|
body: {
|
|
12
12
|
path: "string"
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { APIRoute } from "@miqro/core";
|
|
1
|
+
import { APIRoute, JSONParser } from "@miqro/core";
|
|
2
2
|
import { readFileSync } from "node:fs";
|
|
3
3
|
import { SUPPORTED_LANGUAGES } from "../../../../../common/constants.js";
|
|
4
4
|
import { relative, resolve } from "node:path";
|
|
@@ -9,7 +9,7 @@ export default {
|
|
|
9
9
|
method: "POST",
|
|
10
10
|
path: "/read",
|
|
11
11
|
description: "admin editor file read endpoint",
|
|
12
|
-
middleware: [
|
|
12
|
+
middleware: [JSONParser()],
|
|
13
13
|
request: {
|
|
14
14
|
body: {
|
|
15
15
|
path: "string"
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { APIRoute } from "@miqro/core";
|
|
1
|
+
import { APIRoute, JSONParser } from "@miqro/core";
|
|
2
2
|
import { existsSync, mkdirSync, renameSync } from "node:fs";
|
|
3
3
|
import { getPath } from "./read.api.js";
|
|
4
4
|
import { dirname } from "node:path";
|
|
5
5
|
|
|
6
6
|
export default {
|
|
7
|
-
middleware: [
|
|
7
|
+
middleware: [JSONParser()],
|
|
8
8
|
method: "POST",
|
|
9
9
|
description: "admin editor file rename endpoint",
|
|
10
10
|
path: "/rename",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { APIRoute } from "@miqro/core";
|
|
1
|
+
import { APIRoute, JSONParser } from "@miqro/core";
|
|
2
2
|
import { existsSync, readdirSync, statSync } from "node:fs";
|
|
3
3
|
import { basename, dirname, extname, join, relative, resolve, sep } from "node:path";
|
|
4
4
|
import { BASE_PATH } from "../../../../../common/constants.server.js";
|
|
@@ -24,7 +24,7 @@ export default {
|
|
|
24
24
|
method: "GET",
|
|
25
25
|
path: "/scan",
|
|
26
26
|
description: "admin editor file scan endpoint",
|
|
27
|
-
middleware: [
|
|
27
|
+
middleware: [JSONParser()],
|
|
28
28
|
request: {
|
|
29
29
|
body: false
|
|
30
30
|
},
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { APIRoute } from "@miqro/core";
|
|
1
|
+
import { APIRoute, JSONParser } from "@miqro/core";
|
|
2
2
|
import { existsSync, mkdirSync, writeFileSync } from "node:fs";
|
|
3
3
|
import { getPath } from "./read.api.js";
|
|
4
4
|
import { dirname } from "node:path";
|
|
5
5
|
|
|
6
6
|
export default {
|
|
7
|
-
middleware: [
|
|
7
|
+
middleware: [JSONParser()],
|
|
8
8
|
method: "POST",
|
|
9
9
|
path: "/write",
|
|
10
10
|
description: "admin editor file write endpoint",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { APIRoute } from "@miqro/core";
|
|
1
|
+
import { APIRoute, JSONParser } from "@miqro/core";
|
|
2
2
|
import { relative } from "node:path";
|
|
3
3
|
import { BASE_PATH } from "../../../../../common/constants.server.js";
|
|
4
4
|
import { AdminRequest } from "../../../../../common/admin-interface.js";
|
|
@@ -7,7 +7,7 @@ export default {
|
|
|
7
7
|
method: "POST",
|
|
8
8
|
path: "/restart",
|
|
9
9
|
description: "admin editor server restart endpoint",
|
|
10
|
-
middleware: [
|
|
10
|
+
middleware: [JSONParser()],
|
|
11
11
|
request: {
|
|
12
12
|
body: false
|
|
13
13
|
},
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
+
import { define } from "@miqro/jsx-dom";
|
|
2
|
+
|
|
1
3
|
//import "../../../../.types/browser.globals";
|
|
2
4
|
import { Editor } from "../../../components/editor.js";
|
|
3
5
|
|
|
4
6
|
window.addEventListener("load", async (event) => {
|
|
5
|
-
|
|
7
|
+
define("editor-component", Editor, {
|
|
6
8
|
shadowInit: false
|
|
7
9
|
});
|
|
8
10
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "miqro",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "7.0.2",
|
|
4
4
|
"description": "",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "build/esm/src/lib.js",
|
|
@@ -16,15 +16,13 @@
|
|
|
16
16
|
"prerelease:package": "npm run compile",
|
|
17
17
|
"prebuild": "rm -Rf build/;",
|
|
18
18
|
"build": "tsc",
|
|
19
|
-
"postbuild": "npm run postbuild:lib && npm run postbuild:
|
|
19
|
+
"postbuild": "npm run postbuild:lib && npm run postbuild:sh && npm run postbuild:assets && npm run postbuild:editor && npm run postbuild:editor-assets && npm run postbuild:versiontag",
|
|
20
20
|
"postbuild:versiontag": "node sea/version.tag.js",
|
|
21
|
-
"postbuild:types": "sh sea/copy-types.sh && node sea/generate-global-types-asset-json.js",
|
|
22
21
|
"postbuild:editor-assets": "cp sea/editor-assets/font.ttf build/font.ttf && cp sea/editor-assets/style.css build/style.css",
|
|
23
|
-
"postbuild:editor": "esbuild --
|
|
24
|
-
"postbuild:
|
|
22
|
+
"postbuild:editor": "esbuild --external:node:process --external:node:path --bundle --loader:.js=jsx --jsx-factory=jsx.createElement --jsx-fragment=jsx.Fragment sea/editor-assets/editor.bundle.in.mjs --outfile=build/editor.bundle.js",
|
|
23
|
+
"postbuild:assets": "node sea/assets.js",
|
|
25
24
|
"postbuild:sh": "node sea/base64.js sea/basic-compile.sh > sea/basic-compile.base64.sh",
|
|
26
|
-
"postbuild:
|
|
27
|
-
"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",
|
|
25
|
+
"postbuild:lib": "esbuild src/lib.ts --bundle --platform=node --outfile=build/lib.cjs --external:sqlite3 --external:pg --external:esbuild --external:node:assert --external:node:util --external:node:path",
|
|
28
26
|
"compile": "npm run build && sh sea/compile.sh",
|
|
29
27
|
"start:editor": "node --enable-source-maps --disable-warning=ExperimentalWarning build/esm/src/main.js --service editor/",
|
|
30
28
|
"compile:editor": "node --enable-source-maps --disable-warning=ExperimentalWarning build/esm/src/main.js --compile --service editor/",
|
|
@@ -39,10 +37,10 @@
|
|
|
39
37
|
"@types/node": "^22.10.2",
|
|
40
38
|
"@types/showdown": "2.0.6",
|
|
41
39
|
"highlight.js": "11.11.1",
|
|
42
|
-
"postject": "1.0.0-alpha.6",
|
|
43
40
|
"typescript": "^5.7.2"
|
|
44
41
|
},
|
|
45
42
|
"dependencies": {
|
|
43
|
+
"postject": "1.0.0-alpha.6",
|
|
46
44
|
"@miqro/core": "^5.0.15",
|
|
47
45
|
"@miqro/jsx": "^1.0.1",
|
|
48
46
|
"@miqro/jsx-dom": "^1.0.4",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
IyEvdXNyL2Jpbi9lbnYgc2gKCnJtIC1SZiBiaW47Cm1rZGlyIC1wIGJpbi87CgpzaCAuL2luc3RhbGwtbm9kZWpzLnNoCgpOT0RFX0JJTj0ic2ggc2VhL25vZGUuc2giClNJR05fUkVNT1ZFX0JJTj0ic2ggc2VhL3NpZ24tcmVtb3ZlLnNoIgpTSUdOX0FERF9CSU49InNoIHNlYS9zaWduLWFkZC5zaCIKUE9TVEpFQ1RfQklOPSIke05PREVfQklOfSAuLi9ub2RlX21vZHVsZXMvcG9zdGplY3QvZGlzdC9jbGkuanMiCkVTQlVJTERfQklOPSJzZWEvZXNidWlsZCIKCiMkRVNCVUlMRF9CSU4gc2VhL2FwcC5janMgLS1idW5kbGUgLS1wbGF0Zm9ybT1ub2RlIC0tZXh0ZXJuYWw6c3FsaXRlMyAtLWV4dGVybmFsOnBnIC0tZXh0ZXJuYWw6ZXNidWlsZCAtLW91dGZpbGU9c2VhL2FwcC5idW5kbGUuY2pzCgokTk9ERV9CSU4gLS1leHBlcmltZW50YWwtc2VhLWNvbmZpZyBzZWEvY29uZmlnLmpzb24KClRBUkdFVF9CSU5fTkFNRT0iYXBwIgoKVEFSR0VUX0xJTlVYX1g2ND0iYmluL2xpbnV4LXg2NC8ke1RBUkdFVF9CSU5fTkFNRX0iClRBUkdFVF9MSU5VWF9BUk02ND0iYmluL2xpbnV4LWFybTY0LyR7VEFSR0VUX0JJTl9OQU1FfSIKClRBUkdFVF9EQVJXSU5fQVJNNjQ9ImJpbi9kYXJ3aW4tYXJtNjQvJHtUQVJHRVRfQklOX05BTUV9IgpUQVJHRVRfREFSV0lOX1g2ND0iYmluL2Rhcndpbi14NjQvJHtUQVJHRVRfQklOX05BTUV9IgoKI1RBUkdFVF9XSU5fWDY0PSJiaW4vd2luLXg2NC8ke1RBUkdFVF9CSU5fTkFNRX0uZXhlIgojVEFSR0VUX1dJTl9BUk02ND0iYmluL3dpbi1hcm02NC8ke1RBUkdFVF9CSU5fTkFNRX0uZXhlIgoKbWtkaXIgLXAgYmluL2xpbnV4LXg2NApta2RpciAtcCBiaW4vbGludXgtYXJtNjQKCm1rZGlyIC1wIGJpbi9kYXJ3aW4teDY0Cm1rZGlyIC1wIGJpbi9kYXJ3aW4tYXJtNjQKCiNta2RpciAtcCBiaW4vd2luLXg2NAojbWtkaXIgLXAgYmluL3dpbi1hcm02NAoKY3Agc2VhL2RlcHMvbm9kZWpzL2Rhcndpbi9hcm02NC9ub2RlICIke1RBUkdFVF9EQVJXSU5fQVJNNjR9IgpjcCBzZWEvZGVwcy9ub2RlanMvZGFyd2luL3g2NC9ub2RlICIke1RBUkdFVF9EQVJXSU5fWDY0fSIKCmNwIHNlYS9kZXBzL25vZGVqcy9saW51eC94NjQvbm9kZSAiJHtUQVJHRVRfTElOVVhfWDY0fSIKY3Agc2VhL2RlcHMvbm9kZWpzL2xpbnV4L2FybTY0L25vZGUgIiR7VEFSR0VUX0xJTlVYX0FSTTY0fSIKCiNjcCBzZWEvZGVwcy9ub2RlanMvd2luL3g2NC9ub2RlLmV4ZSAiJHtUQVJHRVRfV0lOX1g2NH0iCiNjcCBzZWEvZGVwcy9ub2RlanMvd2luL3g2NC9ub2RlLmV4ZSAiJHtUQVJHRVRfV0lOX0FSTTY0fSIKCiRTSUdOX1JFTU9WRV9CSU4gIiR7VEFSR0VUX0RBUldJTl9BUk02NH0iCiRTSUdOX1JFTU9WRV9CSU4gIiR7VEFSR0VUX0RBUldJTl9YNjR9IgoKY2htb2QgK3cgIiR7VEFSR0VUX0xJTlVYX0FSTTY0fSIKY2htb2QgK3cgIiR7VEFSR0VUX0xJTlVYX1g2NH0iCgpjaG1vZCArdyAiJHtUQVJHRVRfREFSV0lOX0FSTTY0fSIKY2htb2QgK3cgIiR7VEFSR0VUX0RBUldJTl9YNjR9IgoKI2NobW9kICt3ICIke1RBUkdFVF9XSU5fWDY0fSIKI2NobW9kICt3ICIke1RBUkdFVF9XSU5fQVJNNjR9IgoKQkxPQj0ic2VhL2FwcC5idW5kbGUuYmxvYiIKCmNwIHNlYS9ydW4uc2ggYmluL2FwcC5zaApjaG1vZCAreCBiaW4vYXBwLnNoCgokUE9TVEpFQ1RfQklOICIke1RBUkdFVF9EQVJXSU5fQVJNNjR9IiBOT0RFX1NFQV9CTE9CICR7QkxPQn0gLS1zZW50aW5lbC1mdXNlIE5PREVfU0VBX0ZVU0VfZmNlNjgwYWIyY2M0NjdiNmUwNzJiOGI1ZGYxOTk2YjIgLS1tYWNoby1zZWdtZW50LW5hbWUgTk9ERV9TRUEKJFNJR05fQUREX0JJTiAiJHtUQVJHRVRfREFSV0lOX0FSTTY0fSIKJFBPU1RKRUNUX0JJTiAiJHtUQVJHRVRfREFSV0lOX1g2NH0iIE5PREVfU0VBX0JMT0IgJHtCTE9CfSAtLXNlbnRpbmVsLWZ1c2UgTk9ERV9TRUFfRlVTRV9mY2U2ODBhYjJjYzQ2N2I2ZTA3MmI4YjVkZjE5OTZiMiAtLW1hY2hvLXNlZ21lbnQtbmFtZSBOT0RFX1NFQQokU0lHTl9BRERfQklOICIke1RBUkdFVF9EQVJXSU5fWDY0fSIKCiRQT1NUSkVDVF9CSU4gIiR7VEFSR0VUX0xJTlVYX0FSTTY0fSIgTk9ERV9TRUFfQkxPQiAke0JMT0J9IC0tc2VudGluZWwtZnVzZSBOT0RFX1NFQV9GVVNFX2ZjZTY4MGFiMmNjNDY3YjZlMDcyYjhiNWRmMTk5NmIyCiRQT1NUSkVDVF9CSU4gIiR7VEFSR0VUX0xJTlVYX1g2NH0iIE5PREVfU0VBX0JMT0IgJHtCTE9CfSAtLXNlbnRpbmVsLWZ1c2UgTk9ERV9TRUFfRlVTRV9mY2U2ODBhYjJjYzQ2N2I2ZTA3MmI4YjVkZjE5OTZiMgoKIyRQT1NUSkVDVF9CSU4gIiR7VEFSR0VUX1dJTl9YNjR9IiBOT0RFX1NFQV9CTE9CICR7QkxPQn0gLS1zZW50aW5lbC1mdXNlIE5PREVfU0VBX0ZVU0VfZmNlNjgwYWIyY2M0NjdiNmUwNzJiOGI1ZGYxOTk2YjIKIyRQT1NUSkVDVF9CSU4gIiR7VEFSR0VUX1dJTl9BUk02NH0iIE5PREVfU0VBX0JMT0IgJHtCTE9CfSAtLXNlbnRpbmVsLWZ1c2UgTk9ERV9TRUFfRlVTRV9mY2U2ODBhYjJjYzQ2N2I2ZTA3MmI4YjVkZjE5OTZiMgo=
|
package/sea/basic-compile.sh
CHANGED
|
@@ -8,7 +8,7 @@ sh ./install-nodejs.sh
|
|
|
8
8
|
NODE_BIN="sh sea/node.sh"
|
|
9
9
|
SIGN_REMOVE_BIN="sh sea/sign-remove.sh"
|
|
10
10
|
SIGN_ADD_BIN="sh sea/sign-add.sh"
|
|
11
|
-
POSTJECT_BIN="${NODE_BIN}
|
|
11
|
+
POSTJECT_BIN="${NODE_BIN} ../node_modules/postject/dist/cli.js"
|
|
12
12
|
ESBUILD_BIN="sea/esbuild"
|
|
13
13
|
|
|
14
14
|
#$ESBUILD_BIN sea/app.cjs --bundle --platform=node --external:sqlite3 --external:pg --external:esbuild --outfile=sea/app.bundle.cjs
|
package/sea/install-nodejs.sh
CHANGED
package/sea/node.version.tag
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
24.
|
|
1
|
+
24.3.0
|
package/src/bin/types.ts
CHANGED
|
@@ -1,15 +1,20 @@
|
|
|
1
1
|
import { MinimalLogger } from "@miqro/core";
|
|
2
2
|
import { Arguments } from "../common/arguments.js";
|
|
3
|
-
import { initTypes } from "../common/assets.js";
|
|
3
|
+
// import { initTypes } from "../common/assets.js";
|
|
4
4
|
import { existsSync, writeFileSync } from "node:fs";
|
|
5
5
|
import { TEMPLATES } from "../../editor/common/templates.js";
|
|
6
6
|
import { EXIT_CODES } from "../common/constants.js";
|
|
7
|
+
import { installAsset } from "../common/assets.js";
|
|
7
8
|
|
|
8
9
|
export async function installTypings(args: Arguments, logger: MinimalLogger) {
|
|
9
|
-
if (args.installTypes) {
|
|
10
|
+
/*if (args.installTypes) {
|
|
10
11
|
logger.debug("writing types");
|
|
11
12
|
// install typing for typescript only if argument --install-types is set
|
|
12
13
|
await initTypes(logger);
|
|
14
|
+
}*/
|
|
15
|
+
if (args.install) {
|
|
16
|
+
logger.debug("writing node_modules");
|
|
17
|
+
await installAsset(logger, ["node_modules/"]);
|
|
13
18
|
}
|
|
14
19
|
if (args.installTSConfig && !existsSync("tsconfig.json")) {
|
|
15
20
|
logger.info("writing tsconfig.json");
|
package/src/cluster.ts
CHANGED
|
@@ -16,7 +16,7 @@ const CLUSTER_COUNT = checkEnvVariable("CLUSTER_COUNT", String(cpus().length));
|
|
|
16
16
|
|
|
17
17
|
const args = parseArguments();
|
|
18
18
|
|
|
19
|
-
if (args.inflate || args.test || args.compile || args.installTSConfig || args.installTypes || args.migrateDown || args.migrateUp) {
|
|
19
|
+
if (args.inflate || args.test || args.compile || args.installTSConfig/* || args.installTypes */ || args.migrateDown || args.migrateUp) {
|
|
20
20
|
await import("./main.js");
|
|
21
21
|
} else {
|
|
22
22
|
const CMD = `CLUSTER_COUNT=${CLUSTER_COUNT} CLUSTER_AUTO_BROADCAST=true ${process.argv[0]} ${mainPath()} ${resolve(__package_dirname, "main.js")} ${process.argv.slice(2).join(" ")}`;
|
package/src/common/arguments.ts
CHANGED
|
@@ -65,9 +65,10 @@ export interface Arguments {
|
|
|
65
65
|
name?: string;
|
|
66
66
|
browser?: string | boolean;
|
|
67
67
|
logFile?: string | boolean;
|
|
68
|
-
installTypes: boolean;
|
|
68
|
+
// installTypes: boolean;
|
|
69
69
|
installMiqroJSON: boolean;
|
|
70
70
|
installTSConfig: boolean;
|
|
71
|
+
install: boolean;
|
|
71
72
|
test: boolean;
|
|
72
73
|
port: string;
|
|
73
74
|
inflate: boolean;
|
|
@@ -108,9 +109,10 @@ export function parseArguments(): Arguments {
|
|
|
108
109
|
logFile: string | boolean | null;
|
|
109
110
|
browser: string | boolean | null;
|
|
110
111
|
name: string | null;
|
|
111
|
-
installTypes: boolean | null;
|
|
112
|
+
// installTypes: boolean | null;
|
|
112
113
|
installMiqroJSON: boolean | null;
|
|
113
114
|
installTSConfig: boolean | null;
|
|
115
|
+
install: boolean | null;
|
|
114
116
|
inflate: boolean | null;
|
|
115
117
|
port: string | null;
|
|
116
118
|
generateDoc: boolean | null;
|
|
@@ -140,8 +142,9 @@ export function parseArguments(): Arguments {
|
|
|
140
142
|
watch: null,
|
|
141
143
|
miqroJSONPath: null,
|
|
142
144
|
installMiqroJSON: null,
|
|
145
|
+
install: null,
|
|
143
146
|
disableMiqroJSON: null,
|
|
144
|
-
installTypes: null,
|
|
147
|
+
// installTypes: null,
|
|
145
148
|
port: null,
|
|
146
149
|
installTSConfig: null,
|
|
147
150
|
migrateUp: null,
|
|
@@ -213,6 +216,14 @@ export function parseArguments(): Arguments {
|
|
|
213
216
|
}
|
|
214
217
|
flags.installTSConfig = true;
|
|
215
218
|
continue;
|
|
219
|
+
case "--install":
|
|
220
|
+
if (flags.inflate !== null || flags.installTSConfig !== null) {
|
|
221
|
+
console.error("bad arguments.");
|
|
222
|
+
console.error(usage);
|
|
223
|
+
process.exit(EXIT_CODES.BAD_ARGUMENTS);
|
|
224
|
+
}
|
|
225
|
+
flags.install = true;
|
|
226
|
+
continue;
|
|
216
227
|
case "--watch":
|
|
217
228
|
if (flags.watch !== null) {
|
|
218
229
|
console.error("bad arguments.");
|
|
@@ -407,14 +418,14 @@ export function parseArguments(): Arguments {
|
|
|
407
418
|
flags.inflateSEA = true;
|
|
408
419
|
flags.inflate = true;
|
|
409
420
|
continue;
|
|
410
|
-
case "--install-types":
|
|
421
|
+
/*case "--install-types":
|
|
411
422
|
if (flags.inflate !== null || flags.installTypes !== null) {
|
|
412
423
|
console.error("bad arguments.");
|
|
413
424
|
console.error(usage);
|
|
414
425
|
process.exit(EXIT_CODES.BAD_ARGUMENTS);
|
|
415
426
|
}
|
|
416
427
|
flags.installTypes = true;
|
|
417
|
-
continue
|
|
428
|
+
continue;*/
|
|
418
429
|
case "--editor":
|
|
419
430
|
if (flags.editor !== null) {
|
|
420
431
|
console.error("bad arguments.");
|
|
@@ -618,7 +629,7 @@ export function parseArguments(): Arguments {
|
|
|
618
629
|
|
|
619
630
|
flags.editor = flags.editor ? flags.editor : false;
|
|
620
631
|
|
|
621
|
-
if (services.length === 0 && (!flags.installTSConfig && !flags.installTypes && !flags.installMiqroJSON)) {
|
|
632
|
+
if (services.length === 0 && (!flags.installTSConfig/* && !flags.installTypes*/ && !flags.installMiqroJSON)) {
|
|
622
633
|
flags.inflateDir = flags.inflateDir ? flags.inflateDir : undefined;
|
|
623
634
|
console.error(`bad arguments. missing --service argument`);
|
|
624
635
|
console.error(usage);
|
|
@@ -650,13 +661,18 @@ export function parseArguments(): Arguments {
|
|
|
650
661
|
process.exit(EXIT_CODES.BAD_ARGUMENTS);
|
|
651
662
|
}
|
|
652
663
|
|
|
664
|
+
if (flags.install && flags.inflate) {
|
|
665
|
+
console.error("bad arguments. cannot use --install with --inflate");
|
|
666
|
+
process.exit(EXIT_CODES.BAD_ARGUMENTS);
|
|
667
|
+
}
|
|
668
|
+
|
|
653
669
|
if (flags.inflate && flags.editor) {
|
|
654
670
|
console.error("bad arguments. cannot use --inflate with --editor");
|
|
655
671
|
process.exit(EXIT_CODES.BAD_ARGUMENTS);
|
|
656
672
|
}
|
|
657
673
|
|
|
658
|
-
if (flags.inflate && (flags.installTypes || flags.installTSConfig || flags.installMiqroJSON)) {
|
|
659
|
-
console.error("bad arguments. cannot use --inflate with --install
|
|
674
|
+
if (flags.inflate && (/*flags.installTypes || */flags.installTSConfig || flags.installMiqroJSON || flags.install)) {
|
|
675
|
+
console.error("bad arguments. cannot use --inflate with --install, --install-tsconfig or --install-miqrojson");
|
|
660
676
|
process.exit(EXIT_CODES.BAD_ARGUMENTS);
|
|
661
677
|
}
|
|
662
678
|
|
|
@@ -665,7 +681,7 @@ export function parseArguments(): Arguments {
|
|
|
665
681
|
process.exit(EXIT_CODES.BAD_ARGUMENTS);
|
|
666
682
|
}
|
|
667
683
|
|
|
668
|
-
if (flags.editor && (flags.installTypes || flags.installTSConfig || flags.installMiqroJSON)) {
|
|
684
|
+
if (flags.editor && (/*flags.installTypes || */flags.installTSConfig || flags.installMiqroJSON)) {
|
|
669
685
|
console.error("bad arguments. cannot use --editor with--install-types, --install-tsconfig or --install-miqrojson");
|
|
670
686
|
process.exit(EXIT_CODES.BAD_ARGUMENTS);
|
|
671
687
|
}
|
|
@@ -722,9 +738,10 @@ export function parseArguments(): Arguments {
|
|
|
722
738
|
watch: flags.watch ? true : false,
|
|
723
739
|
disableMiqroJSON: flags.disableMiqroJSON !== null ? flags.disableMiqroJSON : false,
|
|
724
740
|
miqroJSONPath: miqroJSONPath ? miqroJSONPath : false,
|
|
725
|
-
installTypes: flags.installTypes ? true : false,
|
|
741
|
+
// installTypes: flags.installTypes ? true : false,
|
|
726
742
|
installMiqroJSON: flags.installMiqroJSON ? true : false,
|
|
727
743
|
installTSConfig: flags.installTSConfig ? true : false,
|
|
744
|
+
install: flags.install,
|
|
728
745
|
inflate: flags.inflate,
|
|
729
746
|
port: flags.port ? flags.port : getPORT(),
|
|
730
747
|
migrateUp: flags.migrateUp ? true : false,
|
package/src/common/assets.ts
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
//import { createRequire } from 'node:module';
|
|
2
2
|
import { Logger, MinimalLogger } from "@miqro/core";
|
|
3
|
-
import { chmodSync, constants, existsSync, mkdirSync, readFileSync, unlinkSync, writeFileSync } from "node:fs";
|
|
3
|
+
import { chmodSync, constants, existsSync, lstatSync, mkdirSync, readFileSync, statSync, unlinkSync, writeFileSync } from "node:fs";
|
|
4
4
|
import { getAsset as seaGetAsset, isSea } from "node:sea";
|
|
5
|
-
import { dirname, resolve } from "node:path";
|
|
5
|
+
import { dirname, join, resolve } from "node:path";
|
|
6
6
|
import { calculateChecksum, calculateChecksumFromBuffer } from "./checksum.js";
|
|
7
7
|
import { arch, cwd, platform } from "node:process";
|
|
8
8
|
import { fileURLToPath } from 'node:url';
|
|
9
|
-
import { initESBuild } from "./esbuild.js";
|
|
10
|
-
import {
|
|
9
|
+
import { esBuild, initESBuild } from "./esbuild.js";
|
|
10
|
+
import { mkdirASync, unlinkASync, writeFileASync } from "./fs.js";
|
|
11
|
+
// import { initJSXJS } from "./jsx.js";
|
|
11
12
|
//const require = createRequire(import.meta.url);
|
|
12
13
|
|
|
13
14
|
export const __package_dirname = import.meta.url ? resolve(dirname(fileURLToPath(import.meta.url)), "..", "..", "..", "..") : null;
|
|
@@ -17,7 +18,7 @@ const ASSETS_ROUTER = {
|
|
|
17
18
|
"version.tag": "sea/version.tag",
|
|
18
19
|
"node.version.tag": "sea/node.version.tag",
|
|
19
20
|
"esbuild.version.tag": "sea/esbuild.version.tag",
|
|
20
|
-
"postject.base64.cjs": "build/postject.base64.cjs",
|
|
21
|
+
// "postject.base64.cjs": "build/postject.base64.cjs",
|
|
21
22
|
"sea.basic.config.json": "sea/basic-config.json",
|
|
22
23
|
"node.sh": "sea/node.sh",
|
|
23
24
|
"install-nodejs.sh": "sea/install-nodejs.sh",
|
|
@@ -25,8 +26,9 @@ const ASSETS_ROUTER = {
|
|
|
25
26
|
"sign-remove.sh": "sea/sign-remove.sh",
|
|
26
27
|
"sign-add.sh": "sea/sign-add.sh",
|
|
27
28
|
"app.sh": "sea/app.sh",
|
|
28
|
-
"jsx.dom.js": "build/jsx.dom.js",
|
|
29
|
-
"types.json": "sea/types.json",
|
|
29
|
+
// "jsx.dom.js": "build/jsx.dom.js",
|
|
30
|
+
// "types.json": "sea/types.json",
|
|
31
|
+
"assets.base64.json": "sea/assets.base64.json",
|
|
30
32
|
"editor-assets/editor.bundle.js": "build/editor.bundle.js",
|
|
31
33
|
"editor-assets/style.css": "build/style.css",
|
|
32
34
|
"editor-assets/font.ttf": "build/font.ttf"
|
|
@@ -72,14 +74,27 @@ export async function initAssets(logger: Logger) {
|
|
|
72
74
|
logger.debug("esbuild version [%s]", ESBUILD_VERSION);
|
|
73
75
|
}
|
|
74
76
|
logger.debug("platform [%s-%s]", platform, arch);
|
|
75
|
-
await Promise.all([initJSXJS(logger), initESBuild(logger)]);
|
|
77
|
+
// await Promise.all([initJSXJS(logger), initESBuild(logger)]);
|
|
78
|
+
await Promise.all([initESBuild(logger)]);
|
|
76
79
|
}
|
|
77
80
|
|
|
78
|
-
export async function initTypes(logger: MinimalLogger) {
|
|
81
|
+
/*export async function initTypes(logger: MinimalLogger) {
|
|
79
82
|
const typesJSON = JSON.parse(Buffer.from(getAsset("types.json")).toString("utf-8"));
|
|
80
83
|
await Promise.all(Object.keys(typesJSON).map(typeFile =>
|
|
81
84
|
initAsset(logger, resolve(cwd(), "." + typeFile), Buffer.from(typesJSON[typeFile], "base64"))
|
|
82
85
|
));
|
|
86
|
+
}*/
|
|
87
|
+
|
|
88
|
+
export async function installAsset(logger: MinimalLogger, include: string[]) {
|
|
89
|
+
const assetsJSON = JSON.parse(Buffer.from(getAsset("assets.base64.json")).toString("utf-8"));
|
|
90
|
+
await Promise.all(assetsJSON.map(asset => {
|
|
91
|
+
for (const i of include) {
|
|
92
|
+
if (asset.path.indexOf(i) === 0) {
|
|
93
|
+
return initAsset(logger, join(cwd(), asset.path), Buffer.from(asset.content, "base64"))
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
return Promise.resolve();
|
|
97
|
+
}));
|
|
83
98
|
}
|
|
84
99
|
|
|
85
100
|
export async function validateAsset(logger: MinimalLogger | undefined, path: string, internalChecksum: string): Promise<boolean> {
|
|
@@ -108,8 +123,13 @@ export async function initAsset(logger: MinimalLogger, path: string, buffer: Buf
|
|
|
108
123
|
if (existsSync(path)) {
|
|
109
124
|
if (!valid) {
|
|
110
125
|
logger.info("updating [%s]", path);
|
|
111
|
-
|
|
112
|
-
|
|
126
|
+
await unlinkASync(path);
|
|
127
|
+
if (!statSync(dirname(path)).isDirectory()) {
|
|
128
|
+
await mkdirASync(dirname(path), {
|
|
129
|
+
recursive: true
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
await writeFileASync(path, buffer);
|
|
113
133
|
if (executable) {
|
|
114
134
|
chmodSync(path, constants.S_IXUSR | constants.S_IRUSR | constants.S_IWUSR);
|
|
115
135
|
}
|
|
@@ -120,7 +140,7 @@ export async function initAsset(logger: MinimalLogger, path: string, buffer: Buf
|
|
|
120
140
|
} else {
|
|
121
141
|
logger.info("installing [%s]", path);
|
|
122
142
|
}
|
|
123
|
-
|
|
143
|
+
await writeFileASync(path, buffer);
|
|
124
144
|
if (executable) {
|
|
125
145
|
chmodSync(path, constants.S_IXUSR | constants.S_IRUSR | constants.S_IWUSR);
|
|
126
146
|
}
|