@aalis/runtime 0.19.0 → 0.20.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 +1 -1
- package/dist/config-store.d.ts +9 -1
- package/dist/config-store.d.ts.map +1 -1
- package/dist/config-store.js +76 -25
- package/dist/config-store.js.map +1 -1
- package/dist/config-sync.d.ts +9 -15
- package/dist/config-sync.d.ts.map +1 -1
- package/dist/config-sync.js +45 -50
- package/dist/config-sync.js.map +1 -1
- package/dist/console-sink.d.ts +1 -1
- package/dist/console-sink.d.ts.map +1 -1
- package/dist/console-sink.js +1 -5
- package/dist/console-sink.js.map +1 -1
- package/dist/data-dir.d.ts +2 -2
- package/dist/data-dir.d.ts.map +1 -1
- package/dist/data-dir.js +1 -1
- package/dist/file-logger.d.ts +2 -2
- package/dist/file-logger.d.ts.map +1 -1
- package/dist/file-logger.js +12 -9
- package/dist/file-logger.js.map +1 -1
- package/dist/host-logs.d.ts +1 -1
- package/dist/host-logs.js +1 -1
- package/dist/index.d.ts +1 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -4
- package/dist/index.js.map +1 -1
- package/dist/instance-lock.js +2 -2
- package/dist/instance-lock.js.map +1 -1
- package/dist/locales/en.d.ts +4 -0
- package/dist/locales/en.d.ts.map +1 -1
- package/dist/locales/en.js +4 -0
- package/dist/locales/en.js.map +1 -1
- package/dist/node-modules-loader.d.ts +4 -7
- package/dist/node-modules-loader.d.ts.map +1 -1
- package/dist/node-modules-loader.js +17 -24
- package/dist/node-modules-loader.js.map +1 -1
- package/dist/plugin-discovery.d.ts +10 -3
- package/dist/plugin-discovery.d.ts.map +1 -1
- package/dist/plugin-discovery.js +64 -30
- package/dist/plugin-discovery.js.map +1 -1
- package/dist/providers.d.ts +10 -10
- package/dist/providers.d.ts.map +1 -1
- package/dist/providers.js +19 -32
- package/dist/providers.js.map +1 -1
- package/dist/start.d.ts +2 -4
- package/dist/start.d.ts.map +1 -1
- package/dist/start.js +78 -53
- package/dist/start.js.map +1 -1
- package/dist/subcommand.d.ts +1 -1
- package/dist/subcommand.js +1 -1
- package/dist/texts.d.ts +8 -0
- package/dist/texts.d.ts.map +1 -1
- package/dist/texts.js +4 -0
- package/dist/texts.js.map +1 -1
- package/dist/yaml-file.d.ts +4 -2
- package/dist/yaml-file.d.ts.map +1 -1
- package/dist/yaml-file.js +9 -5
- package/dist/yaml-file.js.map +1 -1
- package/package.json +5 -5
- package/dist/bootstrap-buffer.d.ts +0 -34
- package/dist/bootstrap-buffer.d.ts.map +0 -1
- package/dist/bootstrap-buffer.js +0 -42
- package/dist/bootstrap-buffer.js.map +0 -1
- package/dist/terminal.d.ts +0 -16
- package/dist/terminal.d.ts.map +0 -1
- package/dist/terminal.js +0 -43
- package/dist/terminal.js.map +0 -1
package/dist/console-sink.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { LogHub } from '@aalis/core';
|
|
2
2
|
import chalk from 'chalk';
|
|
3
|
-
import { getBootstrapBuffer } from './bootstrap-buffer.js';
|
|
4
3
|
/**
|
|
5
4
|
* Console sink —— 运行时层的 stdout 输出(按需染色)。
|
|
6
5
|
*
|
|
@@ -59,7 +58,7 @@ function formatEntry(entry) {
|
|
|
59
58
|
return `${prefix} ${entry.message}`;
|
|
60
59
|
}
|
|
61
60
|
/**
|
|
62
|
-
* 安装 console sink
|
|
61
|
+
* 安装 console sink:订阅 LogEntry,按需染色写到 stdout(或 stderr)。
|
|
63
62
|
*
|
|
64
63
|
* 与 CLI/TUI 等"独占终端 UI"的协调通过事件 `terminal:claimed/released` 完成,
|
|
65
64
|
* sink 自己根据事件决定是否写 stdout——UI 不直接干预 sink。
|
|
@@ -78,9 +77,6 @@ export function installConsoleSink(opts = {}) {
|
|
|
78
77
|
return;
|
|
79
78
|
log(formatEntry(entry));
|
|
80
79
|
};
|
|
81
|
-
// 冲洗启动期 bootstrap buffer
|
|
82
|
-
for (const entry of getBootstrapBuffer().snapshot())
|
|
83
|
-
write(entry);
|
|
84
80
|
let paused = false;
|
|
85
81
|
const off = hub.onEntry(entry => {
|
|
86
82
|
if (paused)
|
package/dist/console-sink.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"console-sink.js","sourceRoot":"","sources":["../src/console-sink.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"console-sink.js","sourceRoot":"","sources":["../src/console-sink.ts"],"names":[],"mappings":"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"}
|
package/dist/data-dir.d.ts
CHANGED
|
@@ -15,14 +15,14 @@ export interface HostArgs {
|
|
|
15
15
|
profile?: string;
|
|
16
16
|
/** `--init`:初始化数据目录后退出 */
|
|
17
17
|
init: boolean;
|
|
18
|
-
/** `--service
|
|
18
|
+
/** `--service`:由服务管理器启动进程;实例锁被占时按正常退出,免得被服务管理器反复重新启动 */
|
|
19
19
|
service: boolean;
|
|
20
20
|
/** 余下的 argv:非空即子命令 */
|
|
21
21
|
rest: string[];
|
|
22
22
|
}
|
|
23
23
|
/**
|
|
24
24
|
* 只认开头的宿主参数(`--data <dir>`、`--data=<dir>`、`--profile`、`--init`、`--service`),遇到第一个别的参数即停:
|
|
25
|
-
*
|
|
25
|
+
* 之后的都属于子命令,子命令自己的参数里出现同名写法也不会被当成宿主参数。
|
|
26
26
|
* 开头这一段里的 `--` 跳过:`pnpm dev -- --init` 会把 `--` 原样传进来。开头这一段里不认识的 `--` 参数报错:子命令名
|
|
27
27
|
* 不以 `--` 开头,把它当成子命令会在缺省的数据目录上读写,打错或写了改过名的参数时落进不该进的实例。
|
|
28
28
|
*/
|
package/dist/data-dir.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-dir.d.ts","sourceRoot":"","sources":["../src/data-dir.ts"],"names":[],"mappings":"AAGA,OAAO,EAAiB,KAAK,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAYtE,qDAAqD;AACrD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAE5D;AAqBD;;GAEG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAAG,OAAO,CAEhG;AAED,sDAAsD;AACtD,qBAAa,aAAc,SAAQ,KAAK;IAC7B,IAAI,SAAmB;CACjC;AAED,qBAAqB;AACrB,MAAM,WAAW,QAAQ;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0BAA0B;IAC1B,IAAI,EAAE,OAAO,CAAC;IACd
|
|
1
|
+
{"version":3,"file":"data-dir.d.ts","sourceRoot":"","sources":["../src/data-dir.ts"],"names":[],"mappings":"AAGA,OAAO,EAAiB,KAAK,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAYtE,qDAAqD;AACrD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAE5D;AAqBD;;GAEG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAAG,OAAO,CAEhG;AAED,sDAAsD;AACtD,qBAAa,aAAc,SAAQ,KAAK;IAC7B,IAAI,SAAmB;CACjC;AAED,qBAAqB;AACrB,MAAM,WAAW,QAAQ;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0BAA0B;IAC1B,IAAI,EAAE,OAAO,CAAC;IACd,wDAAwD;IACxD,OAAO,EAAE,OAAO,CAAC;IACjB,sBAAsB;IACtB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,QAAQ,CAwB/D;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACzC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;IAClD,uCAAuC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,8DAA8D;IAC9D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAoB5F;AAyBD,2CAA2C;AAC3C,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAgBlF;AAED,sBAAsB;AACtB,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAE9D;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAyBlD"}
|
package/dist/data-dir.js
CHANGED
|
@@ -44,7 +44,7 @@ export class HostArgsError extends Error {
|
|
|
44
44
|
}
|
|
45
45
|
/**
|
|
46
46
|
* 只认开头的宿主参数(`--data <dir>`、`--data=<dir>`、`--profile`、`--init`、`--service`),遇到第一个别的参数即停:
|
|
47
|
-
*
|
|
47
|
+
* 之后的都属于子命令,子命令自己的参数里出现同名写法也不会被当成宿主参数。
|
|
48
48
|
* 开头这一段里的 `--` 跳过:`pnpm dev -- --init` 会把 `--` 原样传进来。开头这一段里不认识的 `--` 参数报错:子命令名
|
|
49
49
|
* 不以 `--` 开头,把它当成子命令会在缺省的数据目录上读写,打错或写了改过名的参数时落进不该进的实例。
|
|
50
50
|
*/
|
package/dist/file-logger.d.ts
CHANGED
|
@@ -10,9 +10,9 @@ export interface FileLoggerHandle {
|
|
|
10
10
|
}
|
|
11
11
|
export declare function appendCrashLog(label: string, err: unknown, logFile: string): Promise<void>;
|
|
12
12
|
/**
|
|
13
|
-
* 装文件日志:先把上一轮的日志改名保留(见 rotateLogs
|
|
13
|
+
* 装文件日志:先把上一轮的日志改名保留(见 rotateLogs),再清空 logFile,之后实时追加。
|
|
14
14
|
* 轮转失败不拦启动:照旧覆盖写 logFile,并记一条告警写明原因。不接在原内容后面写:一个文件只装一轮,
|
|
15
|
-
* seq 从 0 起随文件位置单调递增,webui 的历史分页与 CLI
|
|
15
|
+
* seq 从 0 起随文件位置单调递增,webui 的历史分页与 CLI 的启动恢复都以此为前提。清空写不成时以拒绝传出、不留订阅。
|
|
16
16
|
*/
|
|
17
17
|
export declare function setupFileLogger(logFile: string): Promise<FileLoggerHandle>;
|
|
18
18
|
//# sourceMappingURL=file-logger.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-logger.d.ts","sourceRoot":"","sources":["../src/file-logger.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"file-logger.d.ts","sourceRoot":"","sources":["../src/file-logger.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,gBAAgB;IAC/B,gBAAgB;IAChB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB;;;OAGG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAOD,wBAAsB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAYhG;AAsBD;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAqChF"}
|
package/dist/file-logger.js
CHANGED
|
@@ -2,7 +2,6 @@ import { appendFile, mkdir, rename, writeFile } from 'node:fs/promises';
|
|
|
2
2
|
import { dirname, extname } from 'node:path';
|
|
3
3
|
import { DefaultLogger, LogHub } from '@aalis/core';
|
|
4
4
|
import { formatLogLine } from '@aalis/schema-log';
|
|
5
|
-
import { getBootstrapBuffer } from './bootstrap-buffer.js';
|
|
6
5
|
import { assertAbsolute } from './data-dir.js';
|
|
7
6
|
const RUNTIME_SCOPE = 'aalis:runtime';
|
|
8
7
|
/** 启动时保留的上几轮日志份数:latest.1.log(上一轮)到 latest.5.log,更早的被挤掉。 */
|
|
@@ -43,13 +42,12 @@ async function rotateLogs(logFile) {
|
|
|
43
42
|
}
|
|
44
43
|
}
|
|
45
44
|
/**
|
|
46
|
-
* 装文件日志:先把上一轮的日志改名保留(见 rotateLogs
|
|
45
|
+
* 装文件日志:先把上一轮的日志改名保留(见 rotateLogs),再清空 logFile,之后实时追加。
|
|
47
46
|
* 轮转失败不拦启动:照旧覆盖写 logFile,并记一条告警写明原因。不接在原内容后面写:一个文件只装一轮,
|
|
48
|
-
* seq 从 0 起随文件位置单调递增,webui 的历史分页与 CLI
|
|
47
|
+
* seq 从 0 起随文件位置单调递增,webui 的历史分页与 CLI 的启动恢复都以此为前提。清空写不成时以拒绝传出、不留订阅。
|
|
49
48
|
*/
|
|
50
49
|
export async function setupFileLogger(logFile) {
|
|
51
50
|
assertAbsolute('Log file path', logFile);
|
|
52
|
-
let queue = Promise.resolve();
|
|
53
51
|
await mkdir(dirname(logFile), { recursive: true });
|
|
54
52
|
let rotateError;
|
|
55
53
|
try {
|
|
@@ -58,13 +56,18 @@ export async function setupFileLogger(logFile) {
|
|
|
58
56
|
catch (err) {
|
|
59
57
|
rotateError = err instanceof Error ? err.message : String(err);
|
|
60
58
|
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
const
|
|
64
|
-
await writeFile(logFile, initial);
|
|
65
|
-
const off = hub.onEntry(entry => {
|
|
59
|
+
// 清空是队列里的第一次写入,紧接着订阅:此后到的条目都排在清空之后写,等清空的这段时间里也不丢
|
|
60
|
+
let queue = writeFile(logFile, '');
|
|
61
|
+
const off = LogHub.default.onEntry(entry => {
|
|
66
62
|
queue = queue.then(() => appendFile(logFile, formatLogLine(entry))).catch(() => { });
|
|
67
63
|
});
|
|
64
|
+
try {
|
|
65
|
+
await queue;
|
|
66
|
+
}
|
|
67
|
+
catch (err) {
|
|
68
|
+
off();
|
|
69
|
+
throw err;
|
|
70
|
+
}
|
|
68
71
|
// 订阅之后再记:告警经 LogHub 同时进控制台与本文件。
|
|
69
72
|
if (rotateError !== undefined) {
|
|
70
73
|
new DefaultLogger(RUNTIME_SCOPE).warn(`上一轮的日志没能改名保留(${rotateError}),本轮已覆盖写入 ${logFile}`);
|
package/dist/file-logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-logger.js","sourceRoot":"","sources":["../src/file-logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"file-logger.js","sourceRoot":"","sources":["../src/file-logger.ts"],"names":[],"mappings":"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"}
|
package/dist/host-logs.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import type { Logger, LogHub } from '@aalis/core';
|
|
|
3
3
|
import type { FileLoggerHandle } from './file-logger.js';
|
|
4
4
|
/**
|
|
5
5
|
* host-logs 服务的实现:历史读文件日志(先等它把已记下的写完),实时接中枢。`file` 不给时没有历史。
|
|
6
|
-
*
|
|
6
|
+
* 订阅带历史时先暂存实时的,历史送完再接着送比它新的,之后直通;补发途中 listener 抛错只丢掉那一条,与中枢同一规则
|
|
7
7
|
*/
|
|
8
8
|
export declare function createHostLogs(hub: LogHub, file: Pick<FileLoggerHandle, 'path' | 'flush'> | undefined, logger: Logger): HostLogs;
|
|
9
9
|
//# sourceMappingURL=host-logs.d.ts.map
|
package/dist/host-logs.js
CHANGED
|
@@ -53,7 +53,7 @@ async function readTail(path, limit, accept) {
|
|
|
53
53
|
}
|
|
54
54
|
/**
|
|
55
55
|
* host-logs 服务的实现:历史读文件日志(先等它把已记下的写完),实时接中枢。`file` 不给时没有历史。
|
|
56
|
-
*
|
|
56
|
+
* 订阅带历史时先暂存实时的,历史送完再接着送比它新的,之后直通;补发途中 listener 抛错只丢掉那一条,与中枢同一规则
|
|
57
57
|
*/
|
|
58
58
|
export function createHostLogs(hub, file, logger) {
|
|
59
59
|
const recent = async (limit, options = {}) => {
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
export { getBootstrapBuffer, installBootstrapBuffer } from './bootstrap-buffer.js';
|
|
2
1
|
export { type ConfigProvider, type ConfigStore, createConfigStore, installHostConfig, type SecretProvider, type SecretStoreInit, } from './config-store.js';
|
|
3
2
|
export { type ConfigSyncOptions, handleConfigChanged, installConfigHotReload, syncPluginDefaults, withPluginConfigSync, } from './config-sync.js';
|
|
4
3
|
export { type ConsoleSinkHandle, installConsoleSink } from './console-sink.js';
|
|
@@ -6,9 +5,8 @@ export { derivePaths, type HostArgs, HostArgsError, initDataDir, isDataDirInitia
|
|
|
6
5
|
export { appendCrashLog, type FileLoggerHandle, setupFileLogger } from './file-logger.js';
|
|
7
6
|
export { createHostLogs } from './host-logs.js';
|
|
8
7
|
export { createNodeModulesPluginLoader } from './node-modules-loader.js';
|
|
9
|
-
export { createPluginDiscovery, type PluginDescriptor, type PluginDiscovery, type PluginLoader, } from './plugin-discovery.js';
|
|
8
|
+
export { createPluginDiscovery, type PluginDescriptor, type PluginDiscovery, type PluginDiscoveryOptions, type PluginLoader, } from './plugin-discovery.js';
|
|
10
9
|
export { buildRespawnCommand, createFsPluginLoader, createFsSecretsProvider, createFsYamlConfigProvider, createProcessRespawnStrategy, createServiceRestartStrategy, isRestartRollback, READY_MESSAGE, type RespawnOptions, type RestartRollback, SERVICE_RESTART_EXIT_CODE, } from './providers.js';
|
|
11
10
|
export { type StartAalisOptions, startAalis } from './start.js';
|
|
12
11
|
export { tryDispatchSubcommand } from './subcommand.js';
|
|
13
|
-
export { installTerminalStateRestorer, restoreTerminalState } from './terminal.js';
|
|
14
12
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAcA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAcA,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,KAAK,cAAc,EACnB,KAAK,eAAe,GACrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,KAAK,iBAAiB,EACtB,mBAAmB,EACnB,sBAAsB,EACtB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,KAAK,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EACL,WAAW,EACX,KAAK,QAAQ,EACb,aAAa,EACb,WAAW,EACX,oBAAoB,EACpB,aAAa,EACb,KAAK,mBAAmB,EACxB,cAAc,GACf,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,cAAc,EAAE,KAAK,gBAAgB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC1F,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EACL,qBAAqB,EACrB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,YAAY,GAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,0BAA0B,EAC1B,4BAA4B,EAC5B,4BAA4B,EAC5B,iBAAiB,EACjB,aAAa,EACb,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,yBAAyB,GAC1B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,KAAK,iBAAiB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
// @aalis/runtime —— Aalis 默认 Node 宿主层(独立部署与 monorepo 自托管共用)
|
|
2
2
|
//
|
|
3
3
|
// 两种部署模型的加载器 + YAML 配置/重启策略 + 一行启动 startAalis,以及可移植宿主件
|
|
4
|
-
// (日志 sink /
|
|
4
|
+
// (日志 sink / 子命令分发)。core 只产生 LogEntry,染色/TTY/文件落盘全在本层。
|
|
5
5
|
// - createNodeModulesPluginLoader:纯 npm 独立部署(从 node_modules 解析插件)
|
|
6
6
|
// - createFsPluginLoader:monorepo 自托管(扫描 packages/ 目录)
|
|
7
7
|
// - createPluginDiscovery:把加载器发现的插件整批交给 core,并提供热扫描(plugin-source 服务的实现)
|
|
8
8
|
// - createConfigStore / installHostConfig:配置文档与 host-config 服务(core 只持运行态)
|
|
9
9
|
// - createHostLogs:host-logs 服务(读日志:文件日志里的历史 + 中枢的实时)
|
|
10
|
-
// - withPluginConfigSync
|
|
10
|
+
// - withPluginConfigSync:发现驱动每批定下要登记的定义后、登记前把 schema 派生默认值深合并进文档(经 createPluginDiscovery 的 prepare)
|
|
11
11
|
// - createFsYamlConfigProvider / createFsSecretsProvider / createProcessRespawnStrategy:YAML 配置与密钥文件 + 进程级重启
|
|
12
12
|
// - startAalis:组装以上 + 宿主件为实例并启动(带 options 开关,默认独立部署)
|
|
13
13
|
// - install*/setup*/tryDispatchSubcommand:宿主件,供高级 opt-in 组装
|
|
14
|
-
export { getBootstrapBuffer, installBootstrapBuffer } from './bootstrap-buffer.js';
|
|
15
14
|
export { createConfigStore, installHostConfig, } from './config-store.js';
|
|
16
15
|
export { handleConfigChanged, installConfigHotReload, syncPluginDefaults, withPluginConfigSync, } from './config-sync.js';
|
|
17
16
|
export { installConsoleSink } from './console-sink.js';
|
|
@@ -23,5 +22,4 @@ export { createPluginDiscovery, } from './plugin-discovery.js';
|
|
|
23
22
|
export { buildRespawnCommand, createFsPluginLoader, createFsSecretsProvider, createFsYamlConfigProvider, createProcessRespawnStrategy, createServiceRestartStrategy, isRestartRollback, READY_MESSAGE, SERVICE_RESTART_EXIT_CODE, } from './providers.js';
|
|
24
23
|
export { startAalis } from './start.js';
|
|
25
24
|
export { tryDispatchSubcommand } from './subcommand.js';
|
|
26
|
-
export { installTerminalStateRestorer, restoreTerminalState } from './terminal.js';
|
|
27
25
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,EAAE;AACF,uDAAuD;AACvD,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,EAAE;AACF,uDAAuD;AACvD,uDAAuD;AACvD,oEAAoE;AACpE,yDAAyD;AACzD,2EAA2E;AAC3E,6EAA6E;AAC7E,wDAAwD;AACxD,sGAAsG;AACtG,+GAA+G;AAC/G,uDAAuD;AACvD,8DAA8D;AAE9D,OAAO,EAGL,iBAAiB,EACjB,iBAAiB,GAGlB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAEL,mBAAmB,EACnB,sBAAsB,EACtB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAA0B,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EACL,WAAW,EAEX,aAAa,EACb,WAAW,EACX,oBAAoB,EACpB,aAAa,EAEb,cAAc,GACf,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,cAAc,EAAyB,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC1F,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EACL,qBAAqB,GAKtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,0BAA0B,EAC1B,4BAA4B,EAC5B,4BAA4B,EAC5B,iBAAiB,EACjB,aAAa,EAGb,yBAAyB,GAC1B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAA0B,UAAU,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC"}
|
package/dist/instance-lock.js
CHANGED
|
@@ -6,7 +6,7 @@ import { join } from 'node:path';
|
|
|
6
6
|
// 实例锁:同一数据目录只许一个实例
|
|
7
7
|
// ============================================================
|
|
8
8
|
//
|
|
9
|
-
//
|
|
9
|
+
// 没有锁时,手动在终端另行启动一个实例会与服务并存,每条消息回两遍。锁是 `run/instance.<n>.lock`,代号 n 最大的那份是现行锁:
|
|
10
10
|
// - 取锁时先把完整内容写进临时文件,再 link 成下一个代号。link 在目标已存在时原子失败,同一代号只有一个进程拿得到;
|
|
11
11
|
// 内容在建出时就是完整的,读不到半截。所以数据目录所在的文件系统要支持硬链接。
|
|
12
12
|
// - 不删、不改名活着的锁。link 成功后再看一遍更低的代号:还有活着的持有者(读到的「残留」其实已经被人接手,
|
|
@@ -15,7 +15,7 @@ import { join } from 'node:path';
|
|
|
15
15
|
// - 释放时只删内容仍是自己那份的锁文件:同名的锁可能已经是别的实例的。
|
|
16
16
|
// - 锁内容建出后不再改写。前台 respawn 的交接靠取锁时生成的令牌:锁里只记它的哈希,令牌经环境变量交给新进程,
|
|
17
17
|
// 新进程看到锁里的哈希与令牌对得上,就照常 link 出下一个代号接手。不核对父进程 pid:开发模式经 tsx 包装进程
|
|
18
|
-
//
|
|
18
|
+
// 启动新实例,新实例的父进程是 tsx,不是旧实例;令牌只在交给新进程的环境变量里,拿得到它就是被交接的那个。
|
|
19
19
|
//
|
|
20
20
|
// 判活只用与墙上时钟无关的标识(时钟被 NTP 步进、夏令时回拨都不影响):
|
|
21
21
|
// - 本次开机的标识不同(重启过)判残留;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instance-lock.js","sourceRoot":"","sources":["../src/instance-lock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EACL,QAAQ,EACR,SAAS,EACT,SAAS,EACT,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,UAAU,EACV,aAAa,GACd,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,+DAA+D;AAC/D,mBAAmB;AACnB,+DAA+D;AAC/D,EAAE;AACF,
|
|
1
|
+
{"version":3,"file":"instance-lock.js","sourceRoot":"","sources":["../src/instance-lock.ts"],"names":[],"mappings":"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"}
|
package/dist/locales/en.d.ts
CHANGED
|
@@ -5,6 +5,10 @@ declare const _default: {
|
|
|
5
5
|
readonly yamlPosition: "{code} (line {line}, column {col})";
|
|
6
6
|
readonly saveRefused: "The {file} has external changes that have not taken effect yet; this save was refused so they are not overwritten ({path})";
|
|
7
7
|
readonly unsafePluginId: "Invalid plugin id: {id}";
|
|
8
|
+
readonly notMapping: "The config of plugin {instance} must be a mapping, not null, an array or a scalar";
|
|
9
|
+
readonly sectionNotMapping: "{at} in the config document is not a mapping (got {kind})";
|
|
10
|
+
readonly sectionNotList: "{at} in the config document is not a list (got {kind})";
|
|
11
|
+
readonly entryNotString: "{at} in the config document is not a string (got {kind})";
|
|
8
12
|
readonly noDefinition: "Plugin {instance} does not exist, and no definition of the same module is available to create it (the module must be registered and declare reusable)";
|
|
9
13
|
readonly plainSecret: "setPluginConfig only accepts the document form: raw values cannot be written to the secret fields of {instance} ({paths, list}); use applyPluginConfig to change the config";
|
|
10
14
|
readonly secretAt: "{path} (key {key})";
|
package/dist/locales/en.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/locales/en.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/locales/en.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAGA,wBAsBG"}
|
package/dist/locales/en.js
CHANGED
|
@@ -6,6 +6,10 @@ export default defineLocale()({
|
|
|
6
6
|
yamlPosition: '{code} (line {line}, column {col})',
|
|
7
7
|
saveRefused: 'The {file} has external changes that have not taken effect yet; this save was refused so they are not overwritten ({path})',
|
|
8
8
|
unsafePluginId: 'Invalid plugin id: {id}',
|
|
9
|
+
notMapping: 'The config of plugin {instance} must be a mapping, not null, an array or a scalar',
|
|
10
|
+
sectionNotMapping: '{at} in the config document is not a mapping (got {kind})',
|
|
11
|
+
sectionNotList: '{at} in the config document is not a list (got {kind})',
|
|
12
|
+
entryNotString: '{at} in the config document is not a string (got {kind})',
|
|
9
13
|
noDefinition: 'Plugin {instance} does not exist, and no definition of the same module is available to create it (the module must be registered and declare reusable)',
|
|
10
14
|
plainSecret: 'setPluginConfig only accepts the document form: raw values cannot be written to the secret fields of {instance} ({paths, list}); use applyPluginConfig to change the config',
|
|
11
15
|
secretAt: '{path} (key {key})',
|
package/dist/locales/en.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"en.js","sourceRoot":"","sources":["../../src/locales/en.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,eAAe,YAAY,EAAU,CAAC;IACpC,UAAU,EAAE,aAAa;IACzB,WAAW,EAAE,cAAc;IAC3B,UAAU,EAAE,cAAc;IAC1B,YAAY,EAAE,oCAAoC;IAClD,WAAW,EACT,4HAA4H;IAC9H,cAAc,EAAE,yBAAyB;IACzC,YAAY,EACV,uJAAuJ;IACzJ,WAAW,EACT,6KAA6K;IAC/K,QAAQ,EAAE,oBAAoB;IAC9B,gBAAgB,EACd,yIAAyI;IAC3I,QAAQ,EACN,kNAAkN;IACpN,eAAe,EAAE,0DAA0D;CAC5E,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"en.js","sourceRoot":"","sources":["../../src/locales/en.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,eAAe,YAAY,EAAU,CAAC;IACpC,UAAU,EAAE,aAAa;IACzB,WAAW,EAAE,cAAc;IAC3B,UAAU,EAAE,cAAc;IAC1B,YAAY,EAAE,oCAAoC;IAClD,WAAW,EACT,4HAA4H;IAC9H,cAAc,EAAE,yBAAyB;IACzC,UAAU,EAAE,mFAAmF;IAC/F,iBAAiB,EAAE,2DAA2D;IAC9E,cAAc,EAAE,wDAAwD;IACxE,cAAc,EAAE,0DAA0D;IAC1E,YAAY,EACV,uJAAuJ;IACzJ,WAAW,EACT,6KAA6K;IAC/K,QAAQ,EAAE,oBAAoB;IAC9B,gBAAgB,EACd,yIAAyI;IAC3I,QAAQ,EACN,kNAAkN;IACpN,eAAe,EAAE,0DAA0D;CAC5E,CAAC,CAAC"}
|
|
@@ -1,15 +1,12 @@
|
|
|
1
1
|
import type { Logger, PluginDefinition } from '@aalis/core';
|
|
2
2
|
import type { PluginDescriptor, PluginLoader } from './plugin-discovery.js';
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
5
|
-
* 唯一标准:keywords 含 'aalis-plugin'(真插件均带;契约/前端/核心/工具库带各自类型词,自然排除)。
|
|
6
|
-
*/
|
|
7
|
-
export declare function isLoadablePlugin(meta: Record<string, unknown>): boolean;
|
|
8
|
-
/**
|
|
9
|
-
* 从已导入模块取出定义,并按加载器政策出声:形状不对必须 warn;定义 name 与包名不一致也必须点名。
|
|
4
|
+
* 从已导入模块取出定义,形状不对必须 warn(定义 name 与包名不一致由发现驱动拒载)。
|
|
10
5
|
* 判定本身在 `@aalis/api-plugin-source` 的 `pluginDefinitionOf`;两加载器共用本包装,告警文案只有这一份。
|
|
11
6
|
*/
|
|
12
7
|
export declare function loadPluginDefinition(ns: unknown, pkgName: string, logger: Logger): PluginDefinition | null;
|
|
8
|
+
/** 插件包的入口({@link packageEntry}),解不出时 warn 点名、返回 undefined。两加载器共用,入口规则与告警只有这一份 */
|
|
9
|
+
export declare function pluginEntry(logger: Logger, name: string, dir: string, meta: Record<string, unknown>): string | undefined;
|
|
13
10
|
/**
|
|
14
11
|
* 宿主那份 @aalis/core:runtime 用它创建 App,从本文件所在目录按同一规则算一次。
|
|
15
12
|
* 算不到(如被打包内联、import.meta.url 不是文件 URL)为 undefined,检测随之跳过,不误报。
|
|
@@ -32,7 +29,7 @@ export declare function warnLikelyPluginMissingKeyword(logger: Logger, name: str
|
|
|
32
29
|
* @param opts.hostCoreDir 宿主那份 @aalis/core 的包目录,默认 {@link HOST_CORE_DIR};插件解析到的 core 与它不同即拒绝加载
|
|
33
30
|
*
|
|
34
31
|
* - `discover()`:读 projectDir/package.json 的 dependencies + optionalDependencies,
|
|
35
|
-
* 按 node_modules 上溯定位每个依赖的包目录并读其 package.json
|
|
32
|
+
* 按 node_modules 上溯定位每个依赖的包目录并读其 package.json,按 declaresPlugin 过滤出插件;入口见 {@link pluginEntry}。
|
|
36
33
|
* - `load()`:先经 {@link assertSameCore} 核对 core 是宿主那份,再用 `pathToFileURL(entry).href` 动态 import。
|
|
37
34
|
* - `reload()`:用入口文件 mtime 作 import URL query 强制 ESM 缓存失效。
|
|
38
35
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-modules-loader.d.ts","sourceRoot":"","sources":["../src/node-modules-loader.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAG5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"node-modules-loader.d.ts","sourceRoot":"","sources":["../src/node-modules-loader.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAG5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAuB5E;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAS1G;AAuDD,iFAAiF;AACjF,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,MAAM,GAAG,SAAS,CAQpB;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,GAAG,SAMjC,CAAC;AA0BL;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,gBAAgB,EACtB,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAWlC;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAMhH;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,6BAA6B,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,GAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,YAAY,CAuCnH"}
|
|
@@ -2,7 +2,7 @@ import { existsSync, readFileSync, realpathSync, statSync } from 'node:fs';
|
|
|
2
2
|
import { stat } from 'node:fs/promises';
|
|
3
3
|
import { dirname, join, resolve } from 'node:path';
|
|
4
4
|
import { fileURLToPath, pathToFileURL } from 'node:url';
|
|
5
|
-
import { pluginDefinitionOf } from '@aalis/api-plugin-source';
|
|
5
|
+
import { declaresPlugin, pluginDefinitionOf } from '@aalis/api-plugin-source';
|
|
6
6
|
import { DefaultLogger } from '@aalis/core';
|
|
7
7
|
import { assertAbsolute } from './data-dir.js';
|
|
8
8
|
// ============================================================
|
|
@@ -14,11 +14,9 @@ import { assertAbsolute } from './data-dir.js';
|
|
|
14
14
|
// 入口取 import 条件)找到已装的插件并 dynamic import。与 monorepo 的 createFsPluginLoader 是
|
|
15
15
|
// 「两种部署模型的两个加载器」,非重复:前者扫目录,后者走 node 解析。
|
|
16
16
|
//
|
|
17
|
-
//
|
|
18
|
-
//
|
|
19
|
-
//
|
|
20
|
-
// 核心 aalis-core / 工具链 aalis-runtime,后几类均不带 aalis-plugin),所以 @aalis/core、各 *-api、webui-client、
|
|
21
|
-
// @aalis/runtime、各 util-* 与 express/yaml 等普通依赖都因不带 aalis-plugin 而自然不被加载——无需 marker 特判或名前缀/service 回退。
|
|
17
|
+
// 插件识别(纯正向关键词门):@aalis/api-plugin-source 的 declaresPlugin,keywords 含 'aalis-plugin' 才收。
|
|
18
|
+
// @aalis/core、各 *-api、webui-client、@aalis/runtime、各 util-* 与 express/yaml 等普通依赖都因不带 aalis-plugin
|
|
19
|
+
// 而自然不被加载——无需 marker 特判或名前缀/service 回退。
|
|
22
20
|
function readJson(path) {
|
|
23
21
|
try {
|
|
24
22
|
return JSON.parse(readFileSync(path, 'utf-8'));
|
|
@@ -28,15 +26,7 @@ function readJson(path) {
|
|
|
28
26
|
}
|
|
29
27
|
}
|
|
30
28
|
/**
|
|
31
|
-
*
|
|
32
|
-
* 唯一标准:keywords 含 'aalis-plugin'(真插件均带;契约/前端/核心/工具库带各自类型词,自然排除)。
|
|
33
|
-
*/
|
|
34
|
-
export function isLoadablePlugin(meta) {
|
|
35
|
-
const keywords = Array.isArray(meta.keywords) ? meta.keywords : [];
|
|
36
|
-
return keywords.includes('aalis-plugin');
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* 从已导入模块取出定义,并按加载器政策出声:形状不对必须 warn;定义 name 与包名不一致也必须点名。
|
|
29
|
+
* 从已导入模块取出定义,形状不对必须 warn(定义 name 与包名不一致由发现驱动拒载)。
|
|
40
30
|
* 判定本身在 `@aalis/api-plugin-source` 的 `pluginDefinitionOf`;两加载器共用本包装,告警文案只有这一份。
|
|
41
31
|
*/
|
|
42
32
|
export function loadPluginDefinition(ns, pkgName, logger) {
|
|
@@ -45,9 +35,6 @@ export function loadPluginDefinition(ns, pkgName, logger) {
|
|
|
45
35
|
logger.warn(`插件 "${pkgName}" 的入口没有默认导出插件定义,将被跳过——入口须 \`export default definePlugin({ … })\``);
|
|
46
36
|
return null;
|
|
47
37
|
}
|
|
48
|
-
if (def.name !== pkgName) {
|
|
49
|
-
logger.warn(`插件包 "${pkgName}" 的定义 name 为 "${def.name}"——配置键/热扫描/卸载均以定义的 name 为准,二者应一致`);
|
|
50
|
-
}
|
|
51
38
|
return def;
|
|
52
39
|
}
|
|
53
40
|
/**
|
|
@@ -102,6 +89,14 @@ function packageEntry(dir, meta) {
|
|
|
102
89
|
const guesses = typeof main === 'string' && main ? [main, `${main}.js`, join(main, 'index.js')] : [];
|
|
103
90
|
return [...guesses, 'index.js'].map(file => join(dir, file)).find(isFile);
|
|
104
91
|
}
|
|
92
|
+
/** 插件包的入口({@link packageEntry}),解不出时 warn 点名、返回 undefined。两加载器共用,入口规则与告警只有这一份 */
|
|
93
|
+
export function pluginEntry(logger, name, dir, meta) {
|
|
94
|
+
const entry = packageEntry(dir, meta);
|
|
95
|
+
if (!entry) {
|
|
96
|
+
logger.warn(`插件 "${name}" 入口无法解析(exports 的 "." 没有 import 条件可用的目标,或入口文件不存在:main 写错、没有构建、产物未打进 files),跳过`);
|
|
97
|
+
}
|
|
98
|
+
return entry;
|
|
99
|
+
}
|
|
105
100
|
/**
|
|
106
101
|
* 宿主那份 @aalis/core:runtime 用它创建 App,从本文件所在目录按同一规则算一次。
|
|
107
102
|
* 算不到(如被打包内联、import.meta.url 不是文件 URL)为 undefined,检测随之跳过,不误报。
|
|
@@ -172,7 +167,7 @@ export function warnLikelyPluginMissingKeyword(logger, name, meta) {
|
|
|
172
167
|
* @param opts.hostCoreDir 宿主那份 @aalis/core 的包目录,默认 {@link HOST_CORE_DIR};插件解析到的 core 与它不同即拒绝加载
|
|
173
168
|
*
|
|
174
169
|
* - `discover()`:读 projectDir/package.json 的 dependencies + optionalDependencies,
|
|
175
|
-
* 按 node_modules 上溯定位每个依赖的包目录并读其 package.json
|
|
170
|
+
* 按 node_modules 上溯定位每个依赖的包目录并读其 package.json,按 declaresPlugin 过滤出插件;入口见 {@link pluginEntry}。
|
|
176
171
|
* - `load()`:先经 {@link assertSameCore} 核对 core 是宿主那份,再用 `pathToFileURL(entry).href` 动态 import。
|
|
177
172
|
* - `reload()`:用入口文件 mtime 作 import URL query 强制 ESM 缓存失效。
|
|
178
173
|
*/
|
|
@@ -201,15 +196,13 @@ export function createNodeModulesPluginLoader(projectDir, opts = {}) {
|
|
|
201
196
|
const meta = readJson(join(dir, 'package.json'));
|
|
202
197
|
if (!meta)
|
|
203
198
|
continue;
|
|
204
|
-
if (!
|
|
199
|
+
if (!declaresPlugin(meta)) {
|
|
205
200
|
warnLikelyPluginMissingKeyword(logger, dep, meta);
|
|
206
201
|
continue;
|
|
207
202
|
}
|
|
208
|
-
const entry =
|
|
209
|
-
if (!entry)
|
|
210
|
-
logger.warn(`插件 "${dep}" 入口无法解析(exports 的 "." 没有 import 条件可用的目标,或入口文件不存在:main 写错、产物未打进 files),跳过`);
|
|
203
|
+
const entry = pluginEntry(logger, dep, dir, meta);
|
|
204
|
+
if (!entry)
|
|
211
205
|
continue;
|
|
212
|
-
}
|
|
213
206
|
discovered.push({ name: meta.name ?? dep, source: entry, metadata: { dir } });
|
|
214
207
|
}
|
|
215
208
|
return discovered;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-modules-loader.js","sourceRoot":"","sources":["../src/node-modules-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC3E,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"node-modules-loader.js","sourceRoot":"","sources":["../src/node-modules-loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import type { ConfigStore } from './config-store.js';
|
|
|
6
6
|
* (fs loader 用绝对路径,URL loader 用 URL,内存 loader 用 module 别名)。
|
|
7
7
|
*/
|
|
8
8
|
export interface PluginDescriptor {
|
|
9
|
-
/**
|
|
9
|
+
/** 插件名,等于包名:这个条目导出的定义 `name` 必须与它相同,不一致的拒载;按它去重、认出已登记的 */
|
|
10
10
|
name: string;
|
|
11
11
|
/** 给 loader 自己用的不透明定位串 */
|
|
12
12
|
source: string;
|
|
@@ -25,6 +25,13 @@ export interface PluginLoader {
|
|
|
25
25
|
load(descriptor: PluginDescriptor): Promise<PluginDefinition | null>;
|
|
26
26
|
reload?(descriptor: PluginDescriptor): Promise<PluginDefinition | null>;
|
|
27
27
|
}
|
|
28
|
+
export interface PluginDiscoveryOptions {
|
|
29
|
+
/**
|
|
30
|
+
* 每一批(冷启动一批、每次热扫描一批)定下要登记的定义后、交给 core 之前调用一次(宿主的配置同步政策 withPluginConfigSync
|
|
31
|
+
* 挂在这里),返回其中准备好的;没准备好的由它记下,不登记。被拒载、去重或已登记而跳过的不经过它
|
|
32
|
+
*/
|
|
33
|
+
prepare(definitions: PluginDefinition[]): PluginDefinition[];
|
|
34
|
+
}
|
|
28
35
|
export interface PluginDiscovery extends PluginSourceService {
|
|
29
36
|
/** 冷启动:发现并导入全部插件,整批注册,返回时已静置 */
|
|
30
37
|
loadAll(): Promise<void>;
|
|
@@ -41,7 +48,7 @@ export interface PluginDiscovery extends PluginSourceService {
|
|
|
41
48
|
export declare function moduleDefinitionOf(app: App, moduleName: string): PluginDefinition | undefined;
|
|
42
49
|
/**
|
|
43
50
|
* @param doc 配置文档:登记时按实例 id 取配置(解析密钥引用后交给 core)与禁用标记,并从中枚举 `name:suffix` 实例。
|
|
44
|
-
*
|
|
51
|
+
* 默认值回填与密钥拆出由 `options.prepare`(宿主的配置同步政策)先写进文档。
|
|
45
52
|
*/
|
|
46
|
-
export declare function createPluginDiscovery(app: App, loader: PluginLoader, doc: Pick<ConfigStore, 'get' | 'isPluginDisabled' | 'resolvePluginConfig'
|
|
53
|
+
export declare function createPluginDiscovery(app: App, loader: PluginLoader, doc: Pick<ConfigStore, 'get' | 'isPluginDisabled' | 'resolvePluginConfig'>, options?: PluginDiscoveryOptions): PluginDiscovery;
|
|
47
54
|
//# sourceMappingURL=plugin-discovery.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-discovery.d.ts","sourceRoot":"","sources":["../src/plugin-discovery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,gBAAgB,EAA4C,MAAM,aAAa,CAAC;AACxG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAarD;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,
|
|
1
|
+
{"version":3,"file":"plugin-discovery.d.ts","sourceRoot":"","sources":["../src/plugin-discovery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,gBAAgB,EAA4C,MAAM,aAAa,CAAC;AACxG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAarD;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC;IACb,0BAA0B;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACxC,IAAI,CAAC,UAAU,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IACrE,MAAM,CAAC,CAAC,UAAU,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;CACzE;AAED,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,OAAO,CAAC,WAAW,EAAE,gBAAgB,EAAE,GAAG,gBAAgB,EAAE,CAAC;CAC9D;AAED,MAAM,WAAW,eAAgB,SAAQ,mBAAmB;IAC1D,gCAAgC;IAChC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB;;;OAGG;IACH,2BAA2B,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9C;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAS7F;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,YAAY,EACpB,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,GAAG,kBAAkB,GAAG,qBAAqB,CAAC,EAC1E,OAAO,CAAC,EAAE,sBAAsB,GAC/B,eAAe,CA8HjB"}
|