miqro 7.0.10 → 7.2.0
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 +92 -24
- package/build/esm/editor/auth.js +1 -0
- package/build/esm/editor/auth.js.map +1 -0
- package/build/esm/editor/common/admin-interface.js +1 -0
- package/build/esm/editor/common/admin-interface.js.map +1 -0
- package/build/esm/editor/common/constants.js +1 -0
- package/build/esm/editor/common/constants.js.map +1 -0
- package/build/esm/editor/common/constants.server.js +1 -0
- package/build/esm/editor/common/constants.server.js.map +1 -0
- package/build/esm/editor/common/editor-index.js +1 -0
- package/build/esm/editor/common/editor-index.js.map +1 -0
- package/build/esm/editor/common/html-encode.js +1 -0
- package/build/esm/editor/common/html-encode.js.map +1 -0
- package/build/esm/editor/common/log-socket.js +1 -0
- package/build/esm/editor/common/log-socket.js.map +1 -0
- package/build/esm/editor/common/templates.js +1 -0
- package/build/esm/editor/common/templates.js.map +1 -0
- package/build/esm/editor/components/api-preview.js +1 -0
- package/build/esm/editor/components/api-preview.js.map +1 -0
- package/build/esm/editor/components/editor.js +1 -0
- package/build/esm/editor/components/editor.js.map +1 -0
- package/build/esm/editor/components/file-browser.js +1 -0
- package/build/esm/editor/components/file-browser.js.map +1 -0
- package/build/esm/editor/components/file-editor-toolbar.js +1 -0
- package/build/esm/editor/components/file-editor-toolbar.js.map +1 -0
- package/build/esm/editor/components/file-editor.js +1 -0
- package/build/esm/editor/components/file-editor.js.map +1 -0
- package/build/esm/editor/components/filter-query.js +1 -0
- package/build/esm/editor/components/filter-query.js.map +1 -0
- package/build/esm/editor/components/highlight-text-area.js +1 -0
- package/build/esm/editor/components/highlight-text-area.js.map +1 -0
- package/build/esm/editor/components/log-viewer.js +1 -0
- package/build/esm/editor/components/log-viewer.js.map +1 -0
- package/build/esm/editor/components/new-file.js +1 -0
- package/build/esm/editor/components/new-file.js.map +1 -0
- package/build/esm/editor/components/scroll-query.js +1 -0
- package/build/esm/editor/components/scroll-query.js.map +1 -0
- package/build/esm/editor/components/start-page.js +1 -0
- package/build/esm/editor/components/start-page.js.map +1 -0
- package/build/esm/editor/http/admin/editor/api/fs/delete.api.js +1 -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.js +1 -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.js +1 -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.js +1 -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.js +1 -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.js +1 -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.js +1 -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 +1 -0
- package/build/esm/editor/http/admin/editor/editor.js.map +1 -0
- package/build/esm/editor/http/admin/editor/index.api.js +1 -0
- package/build/esm/editor/http/admin/editor/index.api.js.map +1 -0
- package/build/esm/editor/server.js +1 -0
- package/build/esm/editor/server.js.map +1 -0
- package/build/esm/editor/ws.js +1 -0
- package/build/esm/editor/ws.js.map +1 -0
- package/build/esm/src/bin/compile.js +1 -0
- package/build/esm/src/bin/compile.js.map +1 -0
- package/build/esm/src/bin/doc-md.js +1 -0
- package/build/esm/src/bin/doc-md.js.map +1 -0
- package/build/esm/src/bin/generate-doc.js +1 -0
- package/build/esm/src/bin/generate-doc.js.map +1 -0
- package/build/esm/src/bin/test.d.ts +2 -1
- package/build/esm/src/bin/test.js +3 -2
- package/build/esm/src/bin/test.js.map +1 -0
- package/build/esm/src/bin/types.js +1 -0
- package/build/esm/src/bin/types.js.map +1 -0
- package/build/esm/src/cluster.js +1 -0
- package/build/esm/src/cluster.js.map +1 -0
- package/build/esm/src/common/arguments.d.ts +8 -0
- package/build/esm/src/common/arguments.js +78 -1
- package/build/esm/src/common/arguments.js.map +1 -0
- package/build/esm/src/common/assets.d.ts +1 -1
- package/build/esm/src/common/assets.js +2 -1
- package/build/esm/src/common/assets.js.map +1 -0
- package/build/esm/src/common/checksum.js +1 -0
- package/build/esm/src/common/checksum.js.map +1 -0
- package/build/esm/src/common/constants.d.ts +1 -0
- package/build/esm/src/common/constants.js +2 -0
- package/build/esm/src/common/constants.js.map +1 -0
- package/build/esm/src/common/content-type.js +1 -0
- package/build/esm/src/common/content-type.js.map +1 -0
- package/build/esm/src/common/esbuild.js +1 -0
- package/build/esm/src/common/esbuild.js.map +1 -0
- package/build/esm/src/common/exit.js +1 -0
- package/build/esm/src/common/exit.js.map +1 -0
- package/build/esm/src/common/fs.js +1 -0
- package/build/esm/src/common/fs.js.map +1 -0
- package/build/esm/src/common/help.d.ts +1 -1
- package/build/esm/src/common/help.js +7 -1
- package/build/esm/src/common/help.js.map +1 -0
- package/build/esm/src/common/jsx.d.ts +20 -16
- package/build/esm/src/common/jsx.js +34 -29
- package/build/esm/src/common/jsx.js.map +1 -0
- package/build/esm/src/common/jwt.js +1 -0
- package/build/esm/src/common/jwt.js.map +1 -0
- package/build/esm/src/common/paths.js +1 -0
- package/build/esm/src/common/paths.js.map +1 -0
- package/build/esm/src/common/watch.js +1 -0
- package/build/esm/src/common/watch.js.map +1 -0
- package/build/esm/src/inflate/inflate-sea.js +16 -15
- package/build/esm/src/inflate/inflate-sea.js.map +1 -0
- package/build/esm/src/inflate/inflate.d.ts +5 -1
- package/build/esm/src/inflate/inflate.js +6 -5
- package/build/esm/src/inflate/inflate.js.map +1 -0
- package/build/esm/src/inflate/md.js +1 -0
- package/build/esm/src/inflate/md.js.map +1 -0
- package/build/esm/src/inflate/setup-auth.d.ts +2 -2
- package/build/esm/src/inflate/setup-auth.js +3 -2
- package/build/esm/src/inflate/setup-auth.js.map +1 -0
- package/build/esm/src/inflate/setup-cors.d.ts +2 -2
- package/build/esm/src/inflate/setup-cors.js +3 -2
- package/build/esm/src/inflate/setup-cors.js.map +1 -0
- package/build/esm/src/inflate/setup-db.d.ts +3 -3
- package/build/esm/src/inflate/setup-db.js +6 -5
- package/build/esm/src/inflate/setup-db.js.map +1 -0
- package/build/esm/src/inflate/setup-error.d.ts +2 -2
- package/build/esm/src/inflate/setup-error.js +3 -2
- package/build/esm/src/inflate/setup-error.js.map +1 -0
- package/build/esm/src/inflate/setup-http.d.ts +7 -2
- package/build/esm/src/inflate/setup-http.js +54 -45
- package/build/esm/src/inflate/setup-http.js.map +1 -0
- package/build/esm/src/inflate/setup-log.d.ts +2 -2
- package/build/esm/src/inflate/setup-log.js +3 -2
- package/build/esm/src/inflate/setup-log.js.map +1 -0
- package/build/esm/src/inflate/setup-middleware.d.ts +2 -2
- package/build/esm/src/inflate/setup-middleware.js +3 -2
- package/build/esm/src/inflate/setup-middleware.js.map +1 -0
- package/build/esm/src/inflate/setup-server-config.d.ts +2 -2
- package/build/esm/src/inflate/setup-server-config.js +3 -2
- package/build/esm/src/inflate/setup-server-config.js.map +1 -0
- package/build/esm/src/inflate/setup-test.d.ts +2 -1
- package/build/esm/src/inflate/setup-test.js +3 -2
- package/build/esm/src/inflate/setup-test.js.map +1 -0
- package/build/esm/src/inflate/setup-ws.d.ts +2 -2
- package/build/esm/src/inflate/setup-ws.js +3 -2
- package/build/esm/src/inflate/setup-ws.js.map +1 -0
- package/build/esm/src/inflate/setup.doc.d.ts +2 -2
- package/build/esm/src/inflate/setup.doc.js +5 -4
- package/build/esm/src/inflate/setup.doc.js.map +1 -0
- package/build/esm/src/inflate/utils/sea-utils.js +1 -0
- package/build/esm/src/inflate/utils/sea-utils.js.map +1 -0
- package/build/esm/src/lib.js +1 -0
- package/build/esm/src/lib.js.map +1 -0
- package/build/esm/src/main.js +9 -2
- package/build/esm/src/main.js.map +1 -0
- package/build/esm/src/services/app.d.ts +5 -2
- package/build/esm/src/services/app.js +19 -6
- package/build/esm/src/services/app.js.map +1 -0
- package/build/esm/src/services/editor.js +1 -0
- package/build/esm/src/services/editor.js.map +1 -0
- package/build/esm/src/services/hot-reload.d.ts +1 -0
- package/build/esm/src/services/hot-reload.js +9 -5
- package/build/esm/src/services/hot-reload.js.map +1 -0
- package/build/esm/src/services/migrations.d.ts +3 -2
- package/build/esm/src/services/migrations.js +5 -4
- package/build/esm/src/services/migrations.js.map +1 -0
- package/build/esm/src/services/utils/admin-interface.js +1 -0
- package/build/esm/src/services/utils/admin-interface.js.map +1 -0
- package/build/esm/src/services/utils/cache.js +1 -0
- package/build/esm/src/services/utils/cache.js.map +1 -0
- package/build/esm/src/services/utils/cluster-cache.js +1 -0
- package/build/esm/src/services/utils/cluster-cache.js.map +1 -0
- package/build/esm/src/services/utils/cluster-ws.js +1 -0
- package/build/esm/src/services/utils/cluster-ws.js.map +1 -0
- package/build/esm/src/services/utils/db-manager.js +1 -0
- package/build/esm/src/services/utils/db-manager.js.map +1 -0
- package/build/esm/src/services/utils/get-route.js +1 -0
- package/build/esm/src/services/utils/get-route.js.map +1 -0
- package/build/esm/src/services/utils/jwt.js +1 -0
- package/build/esm/src/services/utils/jwt.js.map +1 -0
- package/build/esm/src/services/utils/log-transport.js +1 -0
- package/build/esm/src/services/utils/log-transport.js.map +1 -0
- package/build/esm/src/services/utils/log.js +1 -0
- package/build/esm/src/services/utils/log.js.map +1 -0
- package/build/esm/src/services/utils/middleware.js +1 -0
- package/build/esm/src/services/utils/middleware.js.map +1 -0
- package/build/esm/src/services/utils/server-interface.js +1 -0
- package/build/esm/src/services/utils/server-interface.js.map +1 -0
- package/build/esm/src/services/utils/websocketmanager.js +1 -0
- package/build/esm/src/services/utils/websocketmanager.js.map +1 -0
- package/build/esm/src/types.js +1 -0
- package/build/esm/src/types.js.map +1 -0
- package/build/lib.cjs +239 -150
- package/package.json +5 -5
- package/sea/install-esbuild.sh +1 -1
- package/sea/install-nodejs.sh +1 -1
- package/sea/node.version.tag +1 -1
- package/src/bin/test.ts +3 -2
- package/src/common/arguments.ts +92 -1
- package/src/common/assets.ts +2 -2
- package/src/common/constants.ts +1 -0
- package/src/common/help.ts +6 -1
- package/src/common/jsx.ts +41 -30
- package/src/inflate/inflate-sea.ts +15 -15
- package/src/inflate/inflate.ts +9 -5
- package/src/inflate/setup-auth.ts +3 -3
- package/src/inflate/setup-cors.ts +4 -3
- package/src/inflate/setup-db.ts +6 -6
- package/src/inflate/setup-error.ts +3 -3
- package/src/inflate/setup-http.ts +61 -45
- package/src/inflate/setup-log.ts +3 -3
- package/src/inflate/setup-middleware.ts +3 -3
- package/src/inflate/setup-server-config.ts +3 -3
- package/src/inflate/setup-test.ts +3 -3
- package/src/inflate/setup-ws.ts +3 -3
- package/src/inflate/setup.doc.ts +5 -5
- package/src/main.ts +8 -2
- package/src/services/app.ts +24 -9
- package/src/services/hot-reload.ts +9 -5
- package/src/services/migrations.ts +5 -5
package/src/services/app.ts
CHANGED
|
@@ -4,8 +4,8 @@ import { migration } from "@miqro/query";
|
|
|
4
4
|
import { WebSocketManager } from "./utils/websocketmanager.js";
|
|
5
5
|
import { DBManager } from "./utils/db-manager.js";
|
|
6
6
|
import { inflateApp } from "../inflate/inflate.js";
|
|
7
|
-
import { InflateError } from "../common/jsx.js";
|
|
8
|
-
import { DBConfig, MigrateOptions, ServerInterface, ServerRequest, WSConfig } from "../types.js";
|
|
7
|
+
import { ImportJSXFileOptions, InflateError } from "../common/jsx.js";
|
|
8
|
+
import { DBConfig, MigrateOptions, ServerInterface, ServerRequest, ServerResponse, WSConfig } from "../types.js";
|
|
9
9
|
import { RouteFileMap } from "../inflate/setup-http.js";
|
|
10
10
|
import { ServerConfigMap, setupServerConfig } from "../inflate/setup-server-config.js";
|
|
11
11
|
import { BASEEDITOR_PATH, LOG_SOCKET_PATH, LOG_WRITE_EVENT } from "../../editor/common/constants.js";
|
|
@@ -14,7 +14,7 @@ import editorServerConfig from "../../editor/server.js";
|
|
|
14
14
|
|
|
15
15
|
import { ClusterCache } from "./utils/cluster-cache.js";
|
|
16
16
|
import { createEditorRouter } from "./editor.js";
|
|
17
|
-
import { EDITOR_CONFIG_KEY, HOT_RELOAD_PATH } from "../common/constants.js";
|
|
17
|
+
import { EDITOR_CONFIG_KEY, HOT_RELOAD_PATH, HOT_RELOAD_SCRIPT_PATH } from "../common/constants.js";
|
|
18
18
|
import { watchAndServer } from "../common/watch.js";
|
|
19
19
|
import { LocalCache } from "./utils/cache.js";
|
|
20
20
|
// import { initGlobals } from "./globals.js";
|
|
@@ -32,8 +32,9 @@ import { createAdminInterface } from "./utils/admin-interface.js";
|
|
|
32
32
|
import { dirname, join, relative, resolve } from "node:path";
|
|
33
33
|
import { cwd } from "node:process";
|
|
34
34
|
import { ServerOptions } from "node:https";
|
|
35
|
+
import { HOT_RELOAD_JS_SCRIPT } from "./hot-reload.js";
|
|
35
36
|
|
|
36
|
-
export interface MiqroOptions {
|
|
37
|
+
export interface MiqroOptions extends ImportJSXFileOptions {
|
|
37
38
|
name: string;
|
|
38
39
|
logger?: Logger;
|
|
39
40
|
logProviderOptions?: LogProviderOptions;
|
|
@@ -47,12 +48,15 @@ export interface MiqroOptions {
|
|
|
47
48
|
serverOptions?: ServerOptions<any, any>;
|
|
48
49
|
https?: boolean;
|
|
49
50
|
httpRedirect?: number;
|
|
51
|
+
noMinify?: boolean;
|
|
50
52
|
}
|
|
51
53
|
|
|
52
54
|
export interface InflateOptions {
|
|
53
55
|
inflateDir?: string;
|
|
54
56
|
inflateSea?: boolean;
|
|
57
|
+
inflateOnlyAssets?: boolean;
|
|
55
58
|
inflateParallel?: number;
|
|
59
|
+
inflateFlat?: boolean;
|
|
56
60
|
}
|
|
57
61
|
|
|
58
62
|
export interface InflatedResult {
|
|
@@ -101,8 +105,10 @@ export class Miqro {
|
|
|
101
105
|
|
|
102
106
|
constructor(options?: Partial<MiqroOptions>) {
|
|
103
107
|
this.options = {
|
|
108
|
+
noMinify: false,
|
|
104
109
|
editor: false,
|
|
105
110
|
name: "server",
|
|
111
|
+
noBuild: false,
|
|
106
112
|
port: getPORT(),
|
|
107
113
|
services: [],
|
|
108
114
|
...(options ? options : {})
|
|
@@ -187,6 +193,7 @@ export class Miqro {
|
|
|
187
193
|
name: miqroJSON.name ? miqroJSON.name : undefined,
|
|
188
194
|
port: miqroJSON.port ? String(miqroJSON.port) : undefined,
|
|
189
195
|
services: miqroJSON.services ? miqroJSON.services.map(s => join(relative(cwd(), miqroJSONDir), s)) : undefined,
|
|
196
|
+
noBuild: miqroJSON.noBuild !== undefined ? miqroJSON.noBuild : false,
|
|
190
197
|
...(options ? options : {}),
|
|
191
198
|
});
|
|
192
199
|
await app.inflate({
|
|
@@ -244,7 +251,7 @@ export class Miqro {
|
|
|
244
251
|
const errors: InflateError[] = [];
|
|
245
252
|
for (const service of this.options.services) {
|
|
246
253
|
const servicePath = getServicePath(service);
|
|
247
|
-
await setupServerConfig(this.logger, servicePath, service, serverConfigMap, options && options.inflateSea ? options.inflateDir : undefined, errors);
|
|
254
|
+
await setupServerConfig(this.logger, servicePath, service, serverConfigMap, options && options.inflateSea ? options.inflateDir : undefined, errors, this.options);
|
|
248
255
|
}
|
|
249
256
|
return {
|
|
250
257
|
serverConfigMap,
|
|
@@ -267,9 +274,9 @@ export class Miqro {
|
|
|
267
274
|
}[] = [];
|
|
268
275
|
const dbConfigListALL: DBConfig[] = [];
|
|
269
276
|
for (const service of this.options.services) {
|
|
270
|
-
const dbConfig = await inflateDBConfig(this.logger, service, dbConfigListALL, options?.inflateSea ? options?.inflateDir : undefined, errors);
|
|
277
|
+
const dbConfig = await inflateDBConfig(this.logger, service, dbConfigListALL, options?.inflateSea ? options?.inflateDir : undefined, this.options, errors);
|
|
271
278
|
if (dbConfig) {
|
|
272
|
-
const migrations = await inflateDBMigrations(this.logger, service, dbConfig.name, options?.inflateSea ? options?.inflateDir : undefined, errors);
|
|
279
|
+
const migrations = await inflateDBMigrations(this.logger, service, dbConfig.name, options?.inflateSea ? options?.inflateDir : undefined, this.options, errors);
|
|
273
280
|
dbList.push({
|
|
274
281
|
service,
|
|
275
282
|
dbConfig,
|
|
@@ -330,7 +337,7 @@ export class Miqro {
|
|
|
330
337
|
// block others from inflating while inflateApp is running
|
|
331
338
|
this.inflated = undefined;
|
|
332
339
|
// init assets only once for all ApplicationServer's
|
|
333
|
-
if (Miqro.initAssetsPromise === null) {
|
|
340
|
+
if (Miqro.initAssetsPromise === null && (this.options.noBuild === false || this.options.noMinify === false)) {
|
|
334
341
|
// init globals only once for all inflations
|
|
335
342
|
// initGlobals();
|
|
336
343
|
Miqro.initAssetsPromise = initAssets(this.logger);
|
|
@@ -363,6 +370,10 @@ export class Miqro {
|
|
|
363
370
|
wsConfigList.push({
|
|
364
371
|
path: HOT_RELOAD_PATH
|
|
365
372
|
});
|
|
373
|
+
this.logger?.debug("setting up hot-reload script on [%s]", HOT_RELOAD_SCRIPT_PATH);
|
|
374
|
+
const hotReloadScriptRouter = new Router();
|
|
375
|
+
hotReloadScriptRouter.get(HOT_RELOAD_SCRIPT_PATH, async (req, res) => res.js(HOT_RELOAD_JS_SCRIPT));
|
|
376
|
+
router.use(hotReloadScriptRouter);
|
|
366
377
|
}
|
|
367
378
|
|
|
368
379
|
await notifiyServerConfig(this.logger, this.serverInterface, this.adminInterface, serverConfigMap, "preload");
|
|
@@ -378,7 +389,11 @@ export class Miqro {
|
|
|
378
389
|
inflateSea: options?.inflateSea ? true : false,
|
|
379
390
|
//inflateTests: options?.inflateTests ? true : false,
|
|
380
391
|
hotreload: this.options?.hotreload ? true : false,
|
|
381
|
-
inflateParallel: options?.inflateParallel
|
|
392
|
+
inflateParallel: options?.inflateParallel,
|
|
393
|
+
noBuild: this.options?.noBuild,
|
|
394
|
+
noMinify: this.options?.noMinify,
|
|
395
|
+
inflateOnlyAssets: options?.inflateOnlyAssets,
|
|
396
|
+
inflateFlat: options?.inflateFlat
|
|
382
397
|
});
|
|
383
398
|
|
|
384
399
|
wsConfigList.push(...serviceWSConfigList);
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
//import { checkEnvVariable } from "@miqro/core";
|
|
2
2
|
|
|
3
|
-
import { HOT_RELOAD_PATH } from "../common/constants.js";
|
|
3
|
+
import { HOT_RELOAD_PATH, HOT_RELOAD_SCRIPT_PATH } from "../common/constants.js";
|
|
4
4
|
|
|
5
|
-
export
|
|
6
|
-
const HOT_RELOAD_JS_SCRIPT = `
|
|
5
|
+
export const HOT_RELOAD_JS_SCRIPT = `
|
|
7
6
|
// Create WebSocket connection.
|
|
8
7
|
|
|
9
8
|
function getSocket() {
|
|
@@ -13,13 +12,14 @@ function getSocket() {
|
|
|
13
12
|
const socket = getSocket();
|
|
14
13
|
|
|
15
14
|
let timeout;
|
|
15
|
+
let reloadtimeout;
|
|
16
16
|
|
|
17
17
|
function tryConnection() {
|
|
18
18
|
try {
|
|
19
19
|
const newSocket = getSocket();
|
|
20
20
|
newSocket.addEventListener("open", (event) => {
|
|
21
21
|
console.log("reloading");
|
|
22
|
-
setTimeout(()=>{
|
|
22
|
+
reloadtimeout = setTimeout(()=>{
|
|
23
23
|
window.location.reload();
|
|
24
24
|
}, 500);
|
|
25
25
|
|
|
@@ -37,13 +37,17 @@ function tryConnection() {
|
|
|
37
37
|
// Connection closed
|
|
38
38
|
socket.addEventListener("close", (event) => {
|
|
39
39
|
clearTimeout(timeout);
|
|
40
|
+
clearTimeout(reloadtimeout);
|
|
40
41
|
timeout = setTimeout(tryConnection, 500);
|
|
41
42
|
});
|
|
42
43
|
|
|
43
44
|
socket.addEventListener("error", (err) => {
|
|
45
|
+
clearTimeout(reloadtimeout);
|
|
44
46
|
console.error(err);
|
|
45
47
|
});`;
|
|
46
|
-
|
|
48
|
+
|
|
49
|
+
export function getHotReloadScript() {
|
|
50
|
+
return `<script src="${HOT_RELOAD_SCRIPT_PATH}"></script>`;
|
|
47
51
|
}
|
|
48
52
|
|
|
49
53
|
/*export function isHotReloadEnabled() {
|
|
@@ -5,16 +5,16 @@ import { mkdirSync, writeFileSync } from "node:fs";
|
|
|
5
5
|
import { cwd } from "node:process";
|
|
6
6
|
|
|
7
7
|
import { getMigrationsPath } from "../common/paths.js";
|
|
8
|
-
import { importJSXFile, inflateJSX } from "../common/jsx.js";
|
|
8
|
+
import { importJSXFile, ImportJSXFileOptions, inflateJSX } from "../common/jsx.js";
|
|
9
9
|
|
|
10
|
-
export async function runMigrations(logger: Logger | undefined, db: Database | null, servicePath: string, service: string, inflateDir: string | undefined | false, migrations: string[]) {
|
|
10
|
+
export async function runMigrations(logger: Logger | undefined, db: Database | null, servicePath: string, service: string, inflateDir: string | undefined | false, migrations: string[], options: ImportJSXFileOptions) {
|
|
11
11
|
const migrationsFolderPath = getMigrationsPath(servicePath);
|
|
12
12
|
if (migrationsFolderPath) {
|
|
13
13
|
logger?.debug("running migrations from [%s]", service);
|
|
14
14
|
if (!db) {
|
|
15
15
|
throw new Error("cannot run migrations with the database disabled!");
|
|
16
16
|
}
|
|
17
|
-
const serviceMigrations = await migration.up.folder(db as any, migrationsFolderPath, logger as DatabaseLogger, (inFile: string) => importJSXFile(inFile, logger));
|
|
17
|
+
const serviceMigrations = await migration.up.folder(db as any, migrationsFolderPath, logger as DatabaseLogger, (inFile: string) => importJSXFile(inFile, options, logger));
|
|
18
18
|
migrations.push(...serviceMigrations);
|
|
19
19
|
|
|
20
20
|
if (inflateDir) {
|
|
@@ -37,14 +37,14 @@ export async function runMigrations(logger: Logger | undefined, db: Database | n
|
|
|
37
37
|
return migrations;
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
-
export async function runMigrationsDown(logger: Logger | Console | undefined, db: Database | null, servicePath: string, service: string, inflateDir: string | undefined, migrations: string[]) {
|
|
40
|
+
export async function runMigrationsDown(logger: Logger | Console | undefined, db: Database | null, servicePath: string, service: string, inflateDir: string | undefined, migrations: string[], options: ImportJSXFileOptions) {
|
|
41
41
|
const migrationsFolderPath = getMigrationsPath(servicePath)
|
|
42
42
|
if (migrationsFolderPath) {
|
|
43
43
|
logger?.debug("running migrations from [%s]", service);
|
|
44
44
|
if (!db) {
|
|
45
45
|
throw new Error("cannot run migrations with the database disabled!");
|
|
46
46
|
}
|
|
47
|
-
const serviceMigrations = await migration.down.folder(db as any, migrationsFolderPath, logger as DatabaseLogger, (inFile: string) => importJSXFile(inFile, logger));
|
|
47
|
+
const serviceMigrations = await migration.down.folder(db as any, migrationsFolderPath, logger as DatabaseLogger, (inFile: string) => importJSXFile(inFile, options, logger));
|
|
48
48
|
migrations.push(...serviceMigrations);
|
|
49
49
|
|
|
50
50
|
if (inflateDir) {
|