@paroicms/internal-server-lib 1.9.1 → 1.10.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/dist/cron-like.d.ts +3 -3
- package/dist/cron-like.js +4 -4
- package/dist/pino-app-log.d.ts +11 -17
- package/dist/pino-app-log.js +30 -24
- package/dist/pino-app-log.js.map +1 -1
- package/dist/public.types.d.ts +1 -1
- package/dist/sql-logger.d.ts +3 -3
- package/dist/sql-logger.js +3 -3
- package/dist/sql-logger.js.map +1 -1
- package/dist/sqlite-db-init.d.ts +3 -3
- package/dist/sqlite-db-init.js +4 -4
- package/dist/sqlite-db-init.js.map +1 -1
- package/package.json +8 -8
package/dist/cron-like.d.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { BasicAppLogger } from "./public.types";
|
|
2
2
|
export interface CronLikeOptions {
|
|
3
3
|
shouldExecute: ShouldExecuteFn;
|
|
4
4
|
immediate?: boolean;
|
|
5
|
-
|
|
5
|
+
logger: BasicAppLogger;
|
|
6
6
|
}
|
|
7
7
|
export type ShouldExecuteFn = (lastTime: Date) => boolean;
|
|
8
8
|
/**
|
|
9
9
|
* @returns A function to stop the cron-like process.
|
|
10
10
|
*/
|
|
11
|
-
export declare function startCronLike(task: () => Promise<void>, { shouldExecute, immediate,
|
|
11
|
+
export declare function startCronLike(task: () => Promise<void>, { shouldExecute, immediate, logger }: CronLikeOptions): () => Promise<void>;
|
|
12
12
|
export declare function eachDay({ hours }: {
|
|
13
13
|
hours: number;
|
|
14
14
|
}): ShouldExecuteFn;
|
package/dist/cron-like.js
CHANGED
|
@@ -5,7 +5,7 @@ exports.eachDay = eachDay;
|
|
|
5
5
|
/**
|
|
6
6
|
* @returns A function to stop the cron-like process.
|
|
7
7
|
*/
|
|
8
|
-
function startCronLike(task, { shouldExecute, immediate,
|
|
8
|
+
function startCronLike(task, { shouldExecute, immediate, logger }) {
|
|
9
9
|
const intervalMs = 15 * 60 * 1000;
|
|
10
10
|
let lastTime;
|
|
11
11
|
let taskPromise;
|
|
@@ -20,11 +20,11 @@ function startCronLike(task, { shouldExecute, immediate, appLog }) {
|
|
|
20
20
|
await taskPromise;
|
|
21
21
|
}
|
|
22
22
|
catch (error) {
|
|
23
|
-
|
|
23
|
+
logger.error(error);
|
|
24
24
|
}
|
|
25
25
|
taskPromise = undefined;
|
|
26
26
|
}, intervalMs);
|
|
27
|
-
|
|
27
|
+
logger.debug("Cron-like is started.");
|
|
28
28
|
return async () => {
|
|
29
29
|
clearInterval(intervalId);
|
|
30
30
|
if (taskPromise) {
|
|
@@ -35,7 +35,7 @@ function startCronLike(task, { shouldExecute, immediate, appLog }) {
|
|
|
35
35
|
// The error is already logged in the 'setInterval' callback.
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
|
-
|
|
38
|
+
logger.debug("Cron-like is stopped.");
|
|
39
39
|
};
|
|
40
40
|
}
|
|
41
41
|
function eachDay({ hours }) {
|
package/dist/pino-app-log.d.ts
CHANGED
|
@@ -1,27 +1,24 @@
|
|
|
1
1
|
import type { Obj } from "@paroi/data-formatters-lib";
|
|
2
2
|
import { type LoggerOptions } from "pino";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
warn(...messages: any[]): void;
|
|
6
|
-
info(...messages: any[]): void;
|
|
3
|
+
import type { BasicAppLogger } from "./public.types";
|
|
4
|
+
export interface AppLogger extends BasicAppLogger {
|
|
7
5
|
stats(...messages: any[]): void;
|
|
8
|
-
debug(...messages: any[]): void;
|
|
9
6
|
trace(...messages: any[]): void;
|
|
10
7
|
}
|
|
11
|
-
export type
|
|
12
|
-
export interface PlatformLog extends
|
|
13
|
-
createChildLog(properties: Obj):
|
|
14
|
-
on(level:
|
|
8
|
+
export type AppLoggerLevel = keyof AppLogger;
|
|
9
|
+
export interface PlatformLog extends AppLogger {
|
|
10
|
+
createChildLog(properties: Obj): AppLogger;
|
|
11
|
+
on(level: AppLoggerLevel, listener: (ev: AppLoggerEvent) => void): void;
|
|
15
12
|
untilReady: Promise<void>;
|
|
16
13
|
flushSync(): void;
|
|
17
14
|
}
|
|
18
|
-
export interface
|
|
19
|
-
level:
|
|
15
|
+
export interface AppLoggerEvent {
|
|
16
|
+
level: AppLoggerLevel;
|
|
20
17
|
textMessage: string;
|
|
21
18
|
originalMessages: any[];
|
|
22
19
|
}
|
|
23
|
-
export interface
|
|
24
|
-
level: "silent" |
|
|
20
|
+
export interface AppLoggerOptions {
|
|
21
|
+
level: "silent" | AppLoggerLevel;
|
|
25
22
|
/**
|
|
26
23
|
* Omit for stdout.
|
|
27
24
|
*/
|
|
@@ -29,7 +26,4 @@ export interface AppLogOptions {
|
|
|
29
26
|
transport?: LoggerOptions["transport"];
|
|
30
27
|
reportMessage?: boolean;
|
|
31
28
|
}
|
|
32
|
-
|
|
33
|
-
* Warning: install pino-pretty in development mode only.
|
|
34
|
-
*/
|
|
35
|
-
export declare function createPlatformLog({ file, level, transport, reportMessage, }: AppLogOptions): PlatformLog;
|
|
29
|
+
export declare function createPlatformLog({ file, level, transport, reportMessage, }: AppLoggerOptions): PlatformLog;
|
package/dist/pino-app-log.js
CHANGED
|
@@ -9,36 +9,28 @@ const node_events_1 = require("node:events");
|
|
|
9
9
|
const pino_1 = __importDefault(require("pino"));
|
|
10
10
|
const levels = ["error", "warn", "info", "stats", "debug", "trace"];
|
|
11
11
|
const levelIndexes = new Map(levels.map((l, index) => [l, index]));
|
|
12
|
-
/**
|
|
13
|
-
* Warning: install pino-pretty in development mode only.
|
|
14
|
-
*/
|
|
15
12
|
function createPlatformLog({ file, level, transport, reportMessage, }) {
|
|
16
|
-
const destination =
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
13
|
+
const destination = file
|
|
14
|
+
? pino_1.default.destination({
|
|
15
|
+
dest: file,
|
|
16
|
+
sync: false,
|
|
17
|
+
})
|
|
18
|
+
: undefined;
|
|
21
19
|
const emitter = new node_events_1.EventEmitter();
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
destination.on("ready", () => {
|
|
26
|
-
ready = true;
|
|
27
|
-
destination.off("error", reject);
|
|
28
|
-
destination.on("error", (error) => console.error("[Error in Pino]", error));
|
|
29
|
-
resolve();
|
|
30
|
-
});
|
|
20
|
+
const readyState = destination
|
|
21
|
+
? createReadyState(destination)
|
|
22
|
+
: { ready: true, untilReady: Promise.resolve() };
|
|
31
23
|
let waitingMessages;
|
|
32
24
|
function makeLogFn(level, logger) {
|
|
33
25
|
return (...messages) => {
|
|
34
26
|
const textMessage = messagesToString(messages);
|
|
35
|
-
if (ready)
|
|
27
|
+
if (readyState.ready)
|
|
36
28
|
logger[level](textMessage);
|
|
37
29
|
else {
|
|
38
30
|
if (!waitingMessages) {
|
|
39
31
|
waitingMessages = [];
|
|
40
32
|
console.warn("There is something to log before the logger is ready");
|
|
41
|
-
void untilReady.then(() => {
|
|
33
|
+
void readyState.untilReady.then(() => {
|
|
42
34
|
if (waitingMessages) {
|
|
43
35
|
if (file) {
|
|
44
36
|
waitingMessages.forEach((wMessages) => logger[level](messagesToString(wMessages)));
|
|
@@ -55,14 +47,14 @@ function createPlatformLog({ file, level, transport, reportMessage, }) {
|
|
|
55
47
|
waitingMessages.push(messages);
|
|
56
48
|
}
|
|
57
49
|
try {
|
|
58
|
-
|
|
50
|
+
emitAppLoggerEvent({
|
|
59
51
|
level,
|
|
60
52
|
textMessage,
|
|
61
53
|
originalMessages: messages,
|
|
62
54
|
}, emitter);
|
|
63
55
|
}
|
|
64
56
|
catch (error) {
|
|
65
|
-
if (ready)
|
|
57
|
+
if (readyState.ready)
|
|
66
58
|
logger.error(messagesToString(["Error in app log listener:", error]));
|
|
67
59
|
else
|
|
68
60
|
console.error("Error in app log listener:", error);
|
|
@@ -98,9 +90,11 @@ function createPlatformLog({ file, level, transport, reportMessage, }) {
|
|
|
98
90
|
debug: makeLogFn("debug", mainLogger),
|
|
99
91
|
trace: makeLogFn("trace", mainLogger),
|
|
100
92
|
on: (level, listener) => emitter.on(`on-${level}`, listener),
|
|
101
|
-
untilReady,
|
|
93
|
+
untilReady: readyState.untilReady,
|
|
102
94
|
flushSync() {
|
|
103
|
-
if (
|
|
95
|
+
if (!destination)
|
|
96
|
+
return;
|
|
97
|
+
if (readyState.ready)
|
|
104
98
|
destination.flushSync();
|
|
105
99
|
else
|
|
106
100
|
console.warn("Flush is called before the logger is ready.");
|
|
@@ -141,7 +135,7 @@ function messageToString(msg, parents = []) {
|
|
|
141
135
|
return `Unexpected message type: ${typeof msg}`;
|
|
142
136
|
}
|
|
143
137
|
}
|
|
144
|
-
function
|
|
138
|
+
function emitAppLoggerEvent(ev, emitter) {
|
|
145
139
|
let index = levelIndexes.get(ev.level);
|
|
146
140
|
if (index === undefined)
|
|
147
141
|
throw new Error(`Invalid level '${ev.level}'`);
|
|
@@ -149,4 +143,16 @@ function emitAppLogEvent(ev, emitter) {
|
|
|
149
143
|
emitter.emit(`on-${levels[index]}`, ev);
|
|
150
144
|
} while (++index < levels.length);
|
|
151
145
|
}
|
|
146
|
+
function createReadyState(destination) {
|
|
147
|
+
let ready = false;
|
|
148
|
+
const { promise: untilReady, resolve, reject } = (0, async_lib_1.promiseToHandle)();
|
|
149
|
+
destination.on("error", reject);
|
|
150
|
+
destination.on("ready", () => {
|
|
151
|
+
ready = true;
|
|
152
|
+
destination.off("error", reject);
|
|
153
|
+
destination.on("error", (error) => console.error("[Error in Pino]", error));
|
|
154
|
+
resolve();
|
|
155
|
+
});
|
|
156
|
+
return { ready, untilReady };
|
|
157
|
+
}
|
|
152
158
|
//# sourceMappingURL=pino-app-log.js.map
|
package/dist/pino-app-log.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pino-app-log.js","sourceRoot":"","sources":["../src/pino-app-log.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"pino-app-log.js","sourceRoot":"","sources":["../src/pino-app-log.ts"],"names":[],"mappings":"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"}
|
package/dist/public.types.d.ts
CHANGED
package/dist/sql-logger.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { Logger } from "typeorm";
|
|
2
|
-
import type {
|
|
2
|
+
import type { BasicAppLogger } from "./public.types";
|
|
3
3
|
export interface SqlLogger {
|
|
4
4
|
typeOrmLogger: Logger;
|
|
5
5
|
logNextQuery: (count?: number) => void;
|
|
6
6
|
}
|
|
7
|
-
export declare function createSqlLogger({
|
|
8
|
-
|
|
7
|
+
export declare function createSqlLogger({ logger, dbSchemaName, }: {
|
|
8
|
+
logger: BasicAppLogger;
|
|
9
9
|
dbSchemaName: string;
|
|
10
10
|
}): SqlLogger;
|
package/dist/sql-logger.js
CHANGED
|
@@ -4,18 +4,18 @@ exports.createSqlLogger = createSqlLogger;
|
|
|
4
4
|
const noOp = () => {
|
|
5
5
|
// nothing to do
|
|
6
6
|
};
|
|
7
|
-
function createSqlLogger({
|
|
7
|
+
function createSqlLogger({ logger, dbSchemaName, }) {
|
|
8
8
|
let debugCount = 0;
|
|
9
9
|
const typeOrmLogger = {
|
|
10
10
|
logQuery(query, parameters) {
|
|
11
11
|
if (debugCount <= 0)
|
|
12
12
|
return;
|
|
13
13
|
--debugCount;
|
|
14
|
-
|
|
14
|
+
logger.debug(`[${dbSchemaName}] ${formatSqlQuery(query)}
|
|
15
15
|
parameters: ${parameters?.map(parameterToString)}`);
|
|
16
16
|
},
|
|
17
17
|
logQueryError(error, query, parameters) {
|
|
18
|
-
|
|
18
|
+
logger.error(`[${dbSchemaName}] sql error:`, error, query, parameters);
|
|
19
19
|
},
|
|
20
20
|
logQuerySlow: noOp,
|
|
21
21
|
logSchemaBuild: noOp,
|
package/dist/sql-logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sql-logger.js","sourceRoot":"","sources":["../src/sql-logger.ts"],"names":[],"mappings":";;AAYA,0CAgCC;AAzCD,MAAM,IAAI,GAAG,GAAG,EAAE;IAChB,gBAAgB;AAClB,CAAC,CAAC;AAOF,SAAgB,eAAe,CAAC,EAC9B,MAAM,EACN,YAAY,
|
|
1
|
+
{"version":3,"file":"sql-logger.js","sourceRoot":"","sources":["../src/sql-logger.ts"],"names":[],"mappings":";;AAYA,0CAgCC;AAzCD,MAAM,IAAI,GAAG,GAAG,EAAE;IAChB,gBAAgB;AAClB,CAAC,CAAC;AAOF,SAAgB,eAAe,CAAC,EAC9B,MAAM,EACN,YAAY,GACqC;IACjD,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,MAAM,aAAa,GAAW;QAC5B,QAAQ,CAAC,KAAK,EAAE,UAAU;YACxB,IAAI,UAAU,IAAI,CAAC;gBAAE,OAAO;YAC5B,EAAE,UAAU,CAAC;YACb,MAAM,CAAC,KAAK,CACV,IAAI,YAAY,KAAK,cAAc,CAAC,KAAK,CAAC;gBAClC,UAAU,EAAE,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAC7C,CAAC;QACJ,CAAC;QAED,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU;YACpC,MAAM,CAAC,KAAK,CAAC,IAAI,YAAY,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QACzE,CAAC;QAED,YAAY,EAAE,IAAI;QAClB,cAAc,EAAE,IAAI;QACpB,YAAY,EAAE,IAAI;QAClB,GAAG,EAAE,IAAI;KACV,CAAC;IAEF,OAAO;QACL,aAAa;QACb,YAAY,CAAC,KAAK,GAAG,CAAC;YACpB,UAAU,IAAI,KAAK,CAAC;QACtB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,GAAW;IACjC,OAAO,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,iBAAiB,CAAC,SAAc;IACvC,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,WAAW,CAAC;IAChD,IAAI,SAAS,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC;IACtC,MAAM,CAAC,GAAG,OAAO,SAAS,CAAC;IAC3B,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC,QAAQ,EAAE,CAAC;IACrF,IAAI,CAAC,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC,QAAQ,EAAE,CAAC;IAChD,IAAI,CAAC,KAAK,QAAQ;QAChB,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC9F,OAAO,CAAC,CAAC,CAAC,yBAAyB;AACrC,CAAC"}
|
package/dist/sqlite-db-init.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DataSource, type DataSourceOptions, type Logger, type SelectQueryBuilder } from "typeorm";
|
|
2
|
-
import type {
|
|
2
|
+
import type { BasicAppLogger } from "./public.types";
|
|
3
3
|
export declare const METADATA_TABLE_NAME = "PaMetadata";
|
|
4
4
|
export declare const DB_SCHEMA_VERSION_KEY = "dbSchemaVersion";
|
|
5
5
|
export type DbMigrationReport = MigratedDbReport | NotMigratedDbReport;
|
|
@@ -20,10 +20,10 @@ export declare function createOrOpenSqliteConnection(options: {
|
|
|
20
20
|
ddlFile: string;
|
|
21
21
|
dbSchemaName: string;
|
|
22
22
|
canCreate: boolean;
|
|
23
|
-
|
|
23
|
+
typeOrmLogger: Logger;
|
|
24
24
|
entities: DataSourceOptions["entities"];
|
|
25
25
|
migrateDb: (cn: DataSource) => Promise<DbMigrationReport>;
|
|
26
|
-
|
|
26
|
+
logger: BasicAppLogger;
|
|
27
27
|
}): Promise<{
|
|
28
28
|
cn: DataSource;
|
|
29
29
|
isNewDb: boolean;
|
package/dist/sqlite-db-init.js
CHANGED
|
@@ -7,14 +7,14 @@ exports.getMetadataValue = getMetadataValue;
|
|
|
7
7
|
exports.setMetadataValue = setMetadataValue;
|
|
8
8
|
exports.getMetadataDbSchemaVersion = getMetadataDbSchemaVersion;
|
|
9
9
|
exports.setMetadataDbSchemaVersion = setMetadataDbSchemaVersion;
|
|
10
|
-
const promises_1 = require("node:fs/promises");
|
|
11
10
|
const data_formatters_lib_1 = require("@paroi/data-formatters-lib");
|
|
11
|
+
const promises_1 = require("node:fs/promises");
|
|
12
12
|
const typeorm_1 = require("typeorm");
|
|
13
13
|
const fs_utils_1 = require("./fs-utils");
|
|
14
14
|
exports.METADATA_TABLE_NAME = "PaMetadata";
|
|
15
15
|
exports.DB_SCHEMA_VERSION_KEY = "dbSchemaVersion";
|
|
16
16
|
async function createOrOpenSqliteConnection(options) {
|
|
17
|
-
const { sqliteFile, ddlFile, dbSchemaName, canCreate,
|
|
17
|
+
const { sqliteFile, ddlFile, dbSchemaName, canCreate, typeOrmLogger, entities, migrateDb, logger, } = options;
|
|
18
18
|
const isNewDb = !(await (0, fs_utils_1.pathExists)(sqliteFile));
|
|
19
19
|
if (isNewDb && !canCreate) {
|
|
20
20
|
throw new Error(`missing '${dbSchemaName}' database`);
|
|
@@ -26,11 +26,11 @@ async function createOrOpenSqliteConnection(options) {
|
|
|
26
26
|
synchronize: false, // for relations test
|
|
27
27
|
logging: true,
|
|
28
28
|
entities,
|
|
29
|
-
logger,
|
|
29
|
+
logger: typeOrmLogger,
|
|
30
30
|
}).initialize();
|
|
31
31
|
if (isNewDb) {
|
|
32
32
|
await executeDdl(cn, ddlFile);
|
|
33
|
-
|
|
33
|
+
logger.info(`created '${dbSchemaName}' database`);
|
|
34
34
|
}
|
|
35
35
|
const migrationReport = await migrateDb(cn);
|
|
36
36
|
await cn.query("PRAGMA foreign_keys = 1"); // after migration scripts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite-db-init.js","sourceRoot":"","sources":["../src/sqlite-db-init.ts"],"names":[],"mappings":";;;AA0BA,
|
|
1
|
+
{"version":3,"file":"sqlite-db-init.js","sourceRoot":"","sources":["../src/sqlite-db-init.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@paroicms/internal-server-lib",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.10.0",
|
|
4
4
|
"description": "Common utilitaries for the paroicms server.",
|
|
5
5
|
"author": "Paroi Team",
|
|
6
6
|
"keywords": [
|
|
@@ -26,19 +26,19 @@
|
|
|
26
26
|
"@typeonly/validator": "~0.6.0",
|
|
27
27
|
"@paroi/async-lib": "~0.3.1",
|
|
28
28
|
"@paroi/data-formatters-lib": "~0.4.0",
|
|
29
|
-
"@paroicms/internal-anywhere-lib": "1.
|
|
30
|
-
"@paroicms/public-anywhere-lib": "0.
|
|
31
|
-
"@paroicms/public-server-lib": "0.
|
|
32
|
-
"nanoid": "~3.3.
|
|
33
|
-
"pino": "~9.
|
|
29
|
+
"@paroicms/internal-anywhere-lib": "1.21.0",
|
|
30
|
+
"@paroicms/public-anywhere-lib": "0.14.0",
|
|
31
|
+
"@paroicms/public-server-lib": "0.22.0",
|
|
32
|
+
"nanoid": "~3.3.8",
|
|
33
|
+
"pino": "~9.6.0",
|
|
34
34
|
"reflect-metadata": "~0.2.2",
|
|
35
35
|
"typeorm": "~0.3.20",
|
|
36
36
|
"sqlite3": "~5.1.7"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
|
-
"@types/node": "~
|
|
39
|
+
"@types/node": "~22.10.7",
|
|
40
40
|
"rimraf": "~6.0.1",
|
|
41
|
-
"typescript": "~5.7.
|
|
41
|
+
"typescript": "~5.7.3"
|
|
42
42
|
},
|
|
43
43
|
"files": [
|
|
44
44
|
"dist"
|